*{box-sizing:border-box}body{font-family:Roboto,Helvetica,Arial,sans-serif;margin:0;padding:0;line-height:1.6;color:#333;overflow-x:hidden}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em;display:inline-block}.arrow-right{display:inline-block;width:0;height:0;border-left:8px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent;vertical-align:middle;margin-top:-4px}.arrow-down{display:inline-block;width:0;height:0;border-top:8px solid currentColor;border-left:6px solid transparent;border-right:6px solid transparent;vertical-align:middle;margin-top:-1px}html{overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:2rem;width:100%;overflow-x:hidden}.app-header{text-align:center;margin-bottom:2rem}.app-header h1{color:#007bff;font-size:2.5rem;margin:0}.app-header h2{color:#007bff;margin-bottom:0}.btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .2s ease}.btn:hover{opacity:.9;transform:translateY(-1px)}.btn{padding:15px 25px;font-weight:700}.btn-primary{background-color:#007bff;color:#fff}.btn-secondary{background-color:#28a745;color:#fff}.btn-danger{background-color:#dc3545;color:#fff}.btn-warning{background-color:#ffc107;color:#3c3c3c}.btn-full-width{width:100%;padding:.75rem}.btn-small{padding:6px 18px;font-size:.875rem}.form-container{padding:2rem;max-width:400px;margin:0 auto}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.25rem;font-weight:500}.form-input{width:100%;padding:.5rem;border:1px solid #dee2e6;border-radius:4px;font-size:1rem}.form-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-input{padding:15px;font-size:14px;font-family:inherit}.form-input::placeholder{color:#333;opacity:1}.form-input::-webkit-input-placeholder{color:#333;opacity:1}.form-input::-moz-placeholder{color:#333;opacity:1}.form-input:-ms-input-placeholder{color:#333;opacity:1}.form-select{width:100%;padding:.5rem;border:1px solid #dee2e6;border-radius:4px;font-size:1rem}.form-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-select{background:#fff;padding:15px;font-size:14px}input::placeholder,textarea::placeholder{color:#333!important;opacity:1!important}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#333!important;opacity:1!important}input::-moz-placeholder,textarea::-moz-placeholder{color:#333!important;opacity:1!important}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#333!important;opacity:1!important}.message{padding:1rem;border-radius:4px;margin-bottom:1rem}.message-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.message-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.message-warning{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.dashboard-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2rem;flex-direction:column;gap:10px}.dashboard-header h1{margin:0;color:#007bff;font-size:600}.dashboard-header .user-info{display:flex;gap:10px;flex-direction:column;padding:20px;background-color:#f0f8ff;border-radius:6px;width:100%;align-items:center}.dashboard-header .user-info .user-actions{display:flex;gap:10px;justify-content:space-between}.dashboard-header .user-info .user-actions .btn{padding:7px 15px;display:flex}.dashboard-header .user-info .user-details{color:#333;font-size:.9rem}.dashboard-header .user-info .user-details h4{margin:0}.dashboard-content{background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 2px 4px #0000001a;padding:2rem}.dashboard-content h2{margin-top:0;color:#333}.dashboard-content p{margin-bottom:1.5rem;color:#333}.dashboard-content .button-row{margin-top:1rem;display:flex;gap:1rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.dashboard-card{background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 2px 4px #0000001a;padding:1.5rem;text-align:center}.dashboard-card h3{margin-top:0;color:#007bff;margin-bottom:-10px}.dashboard-card p{color:#333;margin-bottom:1rem}.dashboard-content h3{margin-top:0}.table-header{padding:8px;border:1px solid #dee2e6;text-align:left;background-color:#f5f5f5;font-weight:600}.table-header.tessera{max-width:80px}.table-header .sort-icon{font-family:monospace;font-size:20px}.table-header .sort-icon.provenienza.UDS-1,.table-header .sort-icon.provenienza.UDS-2,.table-header .sort-icon.provenienza.UDS-3,.table-header .sort-icon.provenienza.UDS-4,.table-header .sort-icon.provenienza.RiBra,.table-header .sort-icon.provenienza.Rif2{font-size:16px;font-family:Roboto,Helvetica,Arial,sans-serif}.table-cell{padding:8px;border:1px solid #dee2e6}.search-container{display:flex;align-items:center;gap:1rem}@media (max-width: 768px){.responsive-table .table-container{display:none}.responsive-table .mobile-cards{display:block}.responsive-table .form-input{width:auto}}@media (min-width: 769px){.responsive-table .table-container{display:block}.responsive-table .mobile-cards{display:none}}.mobile-cards{display:none}.mobile-card{background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 2px 4px #0000001a;margin-bottom:1rem;padding:1rem}.mobile-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid #dee2e6}.mobile-card .card-header .tessera-number{color:#007bff}.mobile-card .card-header .actions{display:flex;gap:.5rem}.mobile-card .card-body{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;font-size:.9rem}.mobile-card .card-body .field{display:flex;flex-direction:column}.mobile-card .card-body .field .label{font-weight:600;color:#333;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.mobile-card .card-body .field .value{color:#333}.mobile-card .card-body .field-full{grid-column:1/-1}.bottom-nav-spacer{height:56px}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding-bottom:56px}.modal .modal-content{background:#fff;border-radius:8px;padding:2rem;max-width:95%;max-height:calc(95% - 56px);width:100%;overflow-y:auto;box-shadow:0 10px 30px #0000004d;position:relative}.modal .modal-content .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #dee2e6}.modal .modal-content .modal-header h3{margin:0;color:#007bff;font-size:1.5rem}.modal .modal-content .modal-header .close-button{background:none;border:none;font-size:2rem;cursor:pointer;color:#333;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.modal .modal-content .modal-header .close-button:hover{background-color:#f8f9fa;color:#333}.modal .modal-content .modal-body .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem}.modal .modal-content .modal-body .button-row{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid #dee2e6}@media (max-width: 768px){.container{padding:1rem}.dashboard-header{flex-direction:column;gap:1rem;text-align:center}.dashboard-grid{grid-template-columns:1fr}.form-container{padding:1rem}.search-container{flex-direction:column;align-items:stretch;width:100%}.search-container input{width:100%!important;margin-right:0!important}.dashboard-header h1{line-height:1.2}.search-container{padding:0!important;border:0px!important;background-color:transparent!important;margin-top:-20px}.search-container input{padding:10px}.search-container div{width:100%!important;text-align:left}}.articoli-ordinated-grid{grid-template-columns:repeat(4,1fr);grid-auto-flow:column}@media (max-width: 1200px){.articoli-ordinated-grid{grid-template-columns:repeat(3,1fr);grid-auto-flow:column}}@media (max-width: 768px){.articoli-ordinated-grid{grid-template-columns:repeat(2,1fr);grid-auto-flow:column}}@media (max-width: 480px){.articoli-ordinated-grid{grid-template-columns:1fr;grid-auto-flow:row}}@media (max-width: 430px){.button-row{flex-direction:column}.modal .modal-content{margin:1rem;padding:1.5rem;max-width:calc(100% - 2rem);max-height:calc(100% - 20px)}.modal .modal-content .modal-header{margin-bottom:1.5rem}.modal .modal-content .modal-header h3{font-size:1.25rem}.modal .modal-content .modal-body .form-grid{grid-template-columns:1fr;gap:.75rem}.modal .modal-content .modal-body .button-row{flex-direction:column;gap:.75rem}}
