@charset "UTF-8";button{font:inherit;color:inherit;background:none;border:none;padding:0;margin:0;cursor:pointer}:root{--app-font-scale: 1}html[data-font-size=s]{--app-font-scale: .875}html[data-font-size=m]{--app-font-scale: 1}html[data-font-size=l]{--app-font-scale: 1.125}html{font-size:calc(16px * var(--app-font-scale))}@media(max-width:599px){html{font-size:calc(14.5px * var(--app-font-scale))}}.testo-gradiente-logo{background:var(--gradiente-logo);-webkit-background-clip:text;background-clip:text;color:transparent}.material-icons{font-size:1.5rem}:root{--font-family: "DM Sans", sans-serif;--background-color: #f0f2f5;--surface-color: #ffffff;--text-color: rgb(48, 48, 48);--text-color-inverted: #ffffff;--text-secondary: #6b6b6b;--primary-color: rgb(217, 51, 189);--secondary-color: rgb(180, 103, 197);--info-color: rgb(83, 155, 255);--warning-color: rgb(255, 174, 31);--success-color: rgb(19, 222, 185);--error-color: rgb(250, 137, 107);--disabled-color: rgb(205, 205, 205);--accent-color: rgb(255, 0, 225);--accent-color2: rgb(180, 103, 197);--catchy: rgb(0, 170, 255);--shadow: 0 8px 20px rgba(0, 0, 0, .1);--border-color: #dcdcdc;--sidebar-width: 270px;--icon-color: #6b6b6b;--icon-hover: rgba(217, 51, 189, .14);--gradiente-logo: linear-gradient(135deg, #6E1C99 0%, #9A1EAE 30%, #D933BD 65%, #F286E4 100%)}[data-theme=dark]{--background-color: #0d0f1e;--surface-color: #161928;--text-color: rgb(205, 210, 232);--text-color-inverted: #ffffff;--text-secondary: #7a82aa;--primary-color: rgb(232, 99, 214);--secondary-color: rgb(180, 103, 197);--info-color: rgb(83, 155, 255);--warning-color: rgb(255, 174, 31);--success-color: rgb(19, 222, 185);--error-color: rgb(250, 137, 107);--disabled-color: rgb(80, 84, 110);--accent-color: rgb(255, 0, 225);--accent-color2: rgb(180, 103, 197);--catchy: rgb(0, 170, 255);--shadow: 0 8px 20px rgba(0, 0, 0, .6);--border-color: #252840;--icon-color: var(--primary-color);--icon-hover: rgba(232, 99, 214, .15);--gradiente-logo: linear-gradient(135deg, #C24FDE 0%, #D933BD 30%, #E863D9 65%, #F9B3EF 100%)}[data-theme=dark] input::-webkit-calendar-picker-indicator,[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator,[data-theme=dark] input[type=time]::-webkit-calendar-picker-indicator,[data-theme=dark] input[type=datetime-local]::-webkit-calendar-picker-indicator,[data-theme=dark] input[type=month]::-webkit-calendar-picker-indicator,[data-theme=dark] input[type=week]::-webkit-calendar-picker-indicator{filter:invert(1)}[data-theme=dark] input[type=search]::-webkit-search-cancel-button{filter:invert(1)}[data-theme=dark] input[type=number]::-webkit-inner-spin-button,[data-theme=dark] input[type=number]::-webkit-outer-spin-button{filter:invert(1)}*::-webkit-scrollbar{width:10px}*::-webkit-scrollbar-track{background-color:#2e2e2e;border-radius:10px}*::-webkit-scrollbar-thumb{background-color:#555;border-radius:10px}*{scrollbar-width:thin;font-family:var(--font-family);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;box-sizing:border-box!important}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 50px var(--background-color) inset!important;-webkit-text-fill-color:var(--text-color)!important}input:autofill,input:autofill:hover,input:autofill:focus,input:autofill:active{box-shadow:0 0 0 50px var(--background-color) inset!important;-moz-box-shadow:0 0 0 50px var(--background-color) inset!important}input:-moz-placeholder{background-color:var(--background-color)!important;color:var(--text-color)!important}input::placeholder,textarea::placeholder{color:var(--text-secondary);opacity:1}input:autofill{background-color:var(--background-color)!important;color:var(--text-color)!important}input{font-size:1rem}img{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}html,body{margin:0;box-sizing:border-box;background-color:var(--background-color);color:var(--text-color);height:100vh;font-family:var(--font-family);max-width:100%;overflow-x:hidden}.app-section-container{padding:10px 25px 100px!important;max-width:1200px}.app-section-container.board-page{max-width:none}@media(max-width:599px){.app-section-container{padding:12px!important}.toolbar-left .field-group{flex:1 1 140px}}.page-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:24px}.toolbar-left{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-title{margin:0;font-size:1.3rem;font-weight:700}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;text-align:center;color:var(--text-secondary)}.loading-state .spinner{width:36px;height:36px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .7s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;text-align:center;color:var(--text-secondary)}.empty-state>.material-icons{font-size:3rem;opacity:.3}.empty-state h3{margin:0;font-size:1.05rem;font-weight:600;color:var(--text-color)}.empty-state p{margin:0;font-size:.88rem}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;inset:0;background:#00000080;z-index:1200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1201;background:var(--surface-color);border-radius:16px;width:min(560px,95vw);max-height:88vh;overflow-y:auto;box-shadow:var(--shadow);animation:modal-in .18s cubic-bezier(.2,.9,.3,1)}.modal.modal-sm{width:min(400px,95vw)}@keyframes modal-in{0%{opacity:0;transform:translate(-50%,-48%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0;position:sticky;top:0;background:var(--surface-color);z-index:1}.modal-header h3{margin:0;font-size:1.05rem;font-weight:700}.modal-body{padding:16px 24px;display:flex;flex-direction:column;gap:14px}.modal-body p{margin:0;color:var(--text-secondary);font-size:.9rem}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:0 24px 20px;position:sticky;bottom:0;background:var(--surface-color)}.avatar-wrapper{position:relative;width:40px;height:40px;border-radius:50%;overflow:hidden;cursor:pointer;transition:border .3s}.avatar-wrapper:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background:#0000;transition:background .3s}.avatar-wrapper:hover:after{background:#00000015}.avatar-wrapper img.avatar-profilo{width:100%;height:100%;object-fit:cover;display:block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;background:var(--primary-color);color:#fff;border:none;padding:8px 14px;border-radius:8px;font-weight:700;font-size:.875rem;text-decoration:none}.btn .material-icons{font-size:1.15rem}.btn:hover{box-shadow:0 0 0 3px #f0aae64d,0 3px 10px #a0b5e559}.btn:active{box-shadow:0 0 0 2px #d933bd33,0 4px 10px #d933bd40}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.btn-primary{background:var(--primary-color)!important}.btn-elimina{background:var(--error-color)}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;background:transparent;color:var(--primary-color);border:1.5px solid var(--primary-color);padding:7px 14px;border-radius:8px;font-weight:600;font-size:.875rem;text-decoration:none;transition:background .15s,box-shadow .15s}.btn-ghost .material-icons{font-size:1.15rem}.btn-ghost:hover{background:var(--icon-hover);box-shadow:0 0 0 3px #d933bd1f}.btn-ghost:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.btn-logout{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;border-radius:10px;background:transparent;border:1.5px solid var(--error-color);color:var(--error-color);font-weight:600;font-size:.9rem;cursor:pointer;transition:background .15s,box-shadow .15s}.btn-logout .material-icons{font-size:18px;color:var(--error-color)}.btn-logout:hover{background:#fa896b14;box-shadow:0 0 0 3px #fa896b26}.btn-logout:active{background:#fa896b29}.x-close-btn{background:transparent;border:none;font-size:20px;margin:0!important;padding:0!important;cursor:pointer;color:#535353;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.x-close-btn:hover{color:var(--primary-color);background:var(--icon-hover)!important}.x-close-btn.has-nota{color:var(--primary-color)}input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;min-width:18px;border:1.5px solid var(--border-color);border-radius:5px;background:var(--surface-color);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s,border-color .15s;position:relative}input[type=checkbox]:after{content:"";position:absolute;left:5px;top:1px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .1s}input[type=checkbox]:checked{background:var(--primary-color);border-color:var(--primary-color)}input[type=checkbox]:checked:after{transform:rotate(45deg) scale(1)}input[type=checkbox]:disabled{opacity:.6;cursor:not-allowed}input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px #d933bd40}.checkbox-label{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:400;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto;flex-shrink:0}.toggle-switch{position:relative;display:inline-flex;width:38px;height:21px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch .toggle-slider{position:absolute;inset:0;cursor:pointer;background-color:var(--border-color);border-radius:21px;transition:background-color .15s}.toggle-switch .toggle-slider:before{content:"";position:absolute;height:15px;width:15px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:transform .15s}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary-color)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(17px)}.toggle-switch input:disabled+.toggle-slider{opacity:.6;cursor:not-allowed}.field-group{display:flex;flex-direction:column;gap:4px}.field-group label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.field-group input,.field-group select,.field-group textarea{border:1px solid var(--border-color);border-radius:8px;padding:8px 10px;font-size:.9rem;color:var(--text-color);background:var(--background-color);outline:none;transition:border-color .15s,box-shadow .15s;width:100%}.field-group input:focus,.field-group select:focus,.field-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #d933bd1f}.field-group input::placeholder,.field-group select::placeholder,.field-group textarea::placeholder{color:var(--text-secondary);opacity:1}.form-error{font-size:.82rem;color:var(--error-color);margin:0;padding:6px 8px;background:#fa896b1a;border-radius:6px}.autocomplete-wrapper{position:relative}.autocomplete-risultati{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;max-height:240px;overflow-y:auto;background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #0000001f}.autocomplete-risultati .data-table{width:100%}.table-wrapper{overflow-x:auto;border:1px solid var(--border-color);border-radius:12px}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th,.data-table td{text-align:left;padding:12px 16px;white-space:nowrap}.data-table td:last-child:has(.x-close-btn) .x-close-btn+.x-close-btn{margin-left:6px}.data-table thead th{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--surface-color);border-bottom:1px solid var(--border-color)}.data-table tbody tr{border-bottom:1px solid var(--border-color);transition:background .15s}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody tr:hover{background:var(--icon-hover)}.data-table tbody tr.clickable{cursor:pointer}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 0;color:var(--text-secondary);font-size:.85rem}.status-badge,.status-select{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:capitalize}.status-badge.status-attivo,.status-select.status-attivo{background:#2ebf6c26;color:#1e9c53}.status-badge.status-sospeso,.status-select.status-sospeso{background:#f0aa3c2e;color:#b9791f}.status-badge.status-ritirato,.status-select.status-ritirato{background:#9696962e;color:var(--text-secondary)}.status-badge.status-pagata,.status-select.status-pagata{background:#2ebf6c26;color:#1e9c53}.status-badge.status-pagata_parziale,.status-select.status-pagata_parziale{background:#f0aa3c2e;color:#b9791f}.status-badge.status-da_pagare,.status-select.status-da_pagare{background:#e0464626;color:#c23c3c}.status-badge.status-valido,.status-select.status-valido{background:#2ebf6c26;color:#1e9c53}.status-badge.status-in_scadenza,.status-select.status-in_scadenza{background:#f0aa3c2e;color:#b9791f}.status-badge.status-scaduto,.status-select.status-scaduto{background:#e0464626;color:#c23c3c}.status-badge.status-mancante,.status-select.status-mancante{background:#7878782e;color:var(--text-secondary)}.status-select{border:none;cursor:pointer;font-family:inherit}.badge-scadenza-pagamento{text-transform:none;white-space:normal;text-align:left}td.col-pagamento{white-space:normal;max-width:190px}.badge-cartaceo{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:.72rem;font-weight:700}.badge-cartaceo.consegnato{background:#2ebf6c26;color:#1e9c53}.badge-cartaceo.non-consegnato{background:#7878782e;color:var(--text-secondary)}.dettaglio-card{border:1px solid var(--border-color);border-radius:10px;padding:12px;margin-bottom:12px;transition:padding .15s}.dettaglio-card h3{margin:0 0 10px;font-size:.95rem}.dettaglio-card h3:not(:first-child){margin-top:24px}.dettaglio-card.dettaglio-card--collassata{padding-top:8px;padding-bottom:8px;margin-bottom:8px}@media(min-width:600px){.dettaglio-card{border-radius:12px;padding:16px;margin-bottom:16px}.dettaglio-card h3{margin:0 0 14px;font-size:1rem}.dettaglio-card.dettaglio-card--collassata{padding-top:9px;padding-bottom:9px;margin-bottom:9px}}@media(min-width:1024px){.dettaglio-card{padding:20px;margin-bottom:20px}.dettaglio-card h3{margin:0 0 16px}.dettaglio-card.dettaglio-card--collassata{padding-top:10px;padding-bottom:10px;margin-bottom:10px}}.dettaglio-card-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;background:none;border:none;padding:4px 0;margin:0 0 12px;cursor:pointer;color:inherit;font:inherit;text-align:left}.dettaglio-card-toggle h3{margin:0;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--primary-color)}.dettaglio-card-toggle i{color:var(--text-secondary);flex-shrink:0}.dettaglio-card--collassata .dettaglio-card-toggle{margin-bottom:0}.dettaglio-card-azioni{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:16px}.genitori-empty{color:var(--text-secondary);font-size:.9rem}.file-upload-btn{cursor:pointer}.file-upload-btn input[type=file]{display:none}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:16px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.section-hint{font-size:.85rem;color:var(--text-secondary);margin:0 0 1rem}.logo-box{display:flex;align-items:center;gap:1.25rem;margin-top:.75rem}.logo-preview-frame{display:flex;align-items:center;justify-content:center;width:96px;height:96px;flex-shrink:0;border:1px dashed var(--border-color);border-radius:10px;background:var(--background-color)}.logo-preview{max-width:84px;max-height:84px;object-fit:contain}.logo-preview-placeholder{font-size:2rem;color:var(--text-secondary)}.logo-box-azioni{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.btn-rimuovi-logo{color:var(--error-color);border-color:var(--error-color)}.hamburger{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:transparent;border:none;cursor:pointer;padding:0;transition:background .15s ease}.hamburger:hover{background:var(--icon-hover)!important;color:var(--primary-color)!important}.hamburger .material-icons{transition:transform .25s ease,color .18s ease;display:inline-block}.hamburger.rotated .material-icons{transform:rotate(90deg)}.icon-wrapper{position:relative;width:40px;height:40px;overflow:hidden;cursor:pointer;transition:border .3s;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s ease}.icon-wrapper:hover{background:var(--icon-hover);color:var(--primary-color)!important}.icon-wrapper:hover .icon{color:var(--primary-color)!important}.icon-wrapper:active{background:#84848448}.badge-notifiche{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#c23c3c;color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center}.icon{font-size:1.5rem;cursor:pointer!important;color:var(--icon-color)!important;transition:color .15s ease}.icon-in-btn{color:#fff!important;font-size:1.25rem!important}.icon-btn{width:32px;height:32px;border-radius:8px;background:transparent;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background .12s,color .12s}.icon-btn .material-icons{font-size:1.125rem}.icon-btn:hover{background:var(--icon-hover);color:var(--primary-color)}.icon-btn.danger:hover{background:#fa896b1f;color:var(--error-color)}.icon-btn.sm{width:26px;height:26px}
