@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=DM+Serif+Display:ital@0;1&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f9f7f5;--bg-2:#f0ece6;--ink:#1c1a19;--ink-2:#5c5550;--ink-3:#9e9590;--accent:#c0446a;--accent-dk:#8f2e4e;--accent-lt:#fce8ef;--navy:#1e2d52;--navy-lt:#eaecf4;--card:#fff;--line:#e2ddd8;--line-dk:#ccc5bc;--radius-sm:8px;--radius:14px;--radius-lg:20px;--shadow-sm:0 1px 4px #1c1a190f;--shadow:0 4px 16px #1c1a1914;--shadow-lg:0 8px 32px #1c1a191a;--t:.18s ease}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:DM Sans,system-ui,sans-serif;font-size:14px;line-height:1.55}.page{max-width:1280px;margin:0 auto;padding:0 0 80px}.hero{background:linear-gradient(135deg, var(--navy) 0%, #2c4280 100%);color:#fff;z-index:100;justify-content:space-between;align-items:center;gap:28px;padding:24px 32px;display:flex;position:sticky;top:0}.hero .eyebrow{text-transform:uppercase;letter-spacing:.18em;opacity:.65;margin:0 0 4px;font-size:10px;font-weight:500}.hero h1{letter-spacing:-.01em;color:#fff;margin:0;font-family:DM Serif Display,serif;font-size:22px;font-weight:400}.hero-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.hero-user{opacity:.85;align-items:center;gap:8px;font-size:13px;display:flex}.hero-user strong{opacity:1;font-weight:600}.hero select{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:#ffffff1f;border:1px solid #ffffff40;padding:6px 10px;font-size:13px}.hero select option{color:var(--ink);background:#fff}.content-wrap{padding:24px 32px 0}.tabs-bar{border-bottom:1px solid var(--line);background:var(--card);z-index:90;scrollbar-width:none;align-items:center;gap:2px;padding:0 32px;display:flex;position:sticky;top:70px;overflow-x:auto}.tabs-bar::-webkit-scrollbar{display:none}.tabs{flex-wrap:wrap;gap:8px;padding:16px 32px 0;display:flex}.tab{cursor:pointer;color:var(--ink-2);transition:color var(--t), border-color var(--t);white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;border-radius:0;align-items:center;gap:6px;margin-bottom:-1px;padding:12px 18px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.tab:hover{color:var(--accent)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tab-panel{padding:24px 32px}.grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:20px;display:grid}.split-two{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid}.dashboard-grid{grid-template-columns:1fr;margin-bottom:20px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);min-width:0;padding:20px 22px}.audit-list{margin:0;padding:0;list-style:none}.audit-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.audit-list li:last-child{border-bottom:0}.audit-list small{color:var(--ink-2);white-space:nowrap}.audit-details{color:var(--ink-2);margin-top:5px}.audit-details summary{cursor:pointer;font-size:12px}.audit-details pre{border-radius:var(--radius-sm);background:var(--bg);max-height:180px;color:var(--ink-2);white-space:pre-wrap;word-break:break-word;margin:8px 0 0;padding:8px;font-size:11px;overflow:auto}.section-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;display:flex}h2{letter-spacing:-.01em;color:var(--ink);margin:0;font-family:DM Serif Display,serif;font-size:17px;font-weight:400}h3{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin:0 0 10px;font-size:11px;font-weight:600}.form{gap:8px;margin-bottom:16px;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.form-grid>.button{align-self:end;min-height:38px}label.field-label{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);margin-bottom:4px;font-size:11px;font-weight:600;display:block}label.field-label input,label.field-label select,label.field-label textarea{margin-top:4px}input,select,textarea{border:1px solid var(--line-dk);border-radius:var(--radius-sm);width:100%;color:var(--ink);transition:border-color var(--t), box-shadow var(--t);background:#fff;outline:none;padding:9px 12px;font-family:inherit;font-size:13px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c0446a1f}input::placeholder{color:var(--ink-3)}small{color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600}.button{background:var(--accent);color:#fff;border:1px solid var(--accent);cursor:pointer;white-space:nowrap;transition:background var(--t), box-shadow var(--t), opacity var(--t);border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:9px 18px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.button:hover{background:var(--accent-dk);border-color:var(--accent-dk)}.button:active{opacity:.85}.button.secondary{color:var(--accent-dk);border-color:var(--accent-dk);background:0 0}.button.secondary:hover{background:var(--accent-lt)}.button.ghost{color:var(--ink-2);border-color:var(--line-dk);background:0 0;font-weight:500}.button.ghost:hover{background:var(--bg-2);color:var(--ink)}.button.ghost.danger{color:#a1283d;border-color:#e6a5b1}.button.ghost.danger:hover{color:#7d1d2e;background:#fde8ec;border-color:#d77d8e}.button.navy{background:var(--navy);border-color:var(--navy)}.button.navy:hover{background:#15213e}.button.sm{padding:6px 12px;font-size:12px}.actions{flex-wrap:wrap;gap:8px;display:flex}.row-actions{flex-wrap:wrap;flex-shrink:0;gap:6px;display:inline-flex}ul{margin:0;padding:0;list-style:none}ul+ul{margin-top:6px}li{border-radius:var(--radius-sm);transition:background var(--t);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}li:hover{background:var(--bg)}li>span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.grouped-list{gap:16px;display:grid}.group{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.group h3{background:var(--bg-2);border-bottom:1px solid var(--line);margin:0;padding:8px 12px}.group ul{padding:4px}.group li{border-radius:6px}.month-group{border:1px solid var(--line);border-radius:var(--radius-sm);padding:0;display:block;overflow:hidden}.month-title{text-transform:capitalize;letter-spacing:.04em;color:var(--ink-2);background:var(--bg-2);border-bottom:1px solid var(--line);padding:7px 12px;font-size:12px;font-weight:700;display:block}.month-group>ul{padding:4px}.mini-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;margin:0 0 14px;padding-bottom:12px;display:flex}.mini-tab{border:1px solid var(--line-dk);background:var(--bg);cursor:pointer;color:var(--ink-2);transition:all var(--t);border-radius:999px;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:500}.mini-tab:hover{background:var(--accent-lt);border-color:var(--accent);color:var(--accent-dk)}.mini-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}.import-box{border:1.5px dashed var(--line-dk);border-radius:var(--radius);background:var(--bg);margin:4px 0 16px;padding:14px 16px}.import-box-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.import-box-header strong{font-size:13px;font-weight:600}.import-box-header span{text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3);background:var(--bg-2);border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600}.import-box-text{color:var(--ink-2);margin:0 0 12px;font-size:13px}.import-file-name{color:var(--ink-3);margin-top:8px;font-size:12px}.import-file-name strong{color:var(--ink-2)}.import-errors{gap:4px;margin-top:10px;display:grid}.import-errors li{color:#9b2536;background:#fde8ec;border-radius:6px;justify-content:flex-start;font-size:12px}.stats{gap:12px;display:grid}.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.dashboard-stat-card{border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--line);text-align:center;padding:16px}.dashboard-stat-card:first-child{border-left:3px solid var(--accent)}.stat{color:var(--navy);font-family:DM Serif Display,serif;font-size:28px;font-weight:700;line-height:1.1;display:block}.label{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin-top:4px;font-size:11px;font-weight:500;display:block}.status-chip{letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;border-radius:999px;align-items:center;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.status-attiva{color:#1a6130;background:#e3f5e9}.status-in_prova{color:#7a5200;background:#fff6e0}.status-sospesa{color:#2c4a8a;background:#e8edf8}.status-ritirata{color:#8c2030;background:#fde8ec}.error,.success,.info{border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;font-size:13px;display:flex}.error{color:#8c2030;background:#fde8ec;border:1px solid #f5b8c4}.success{color:#1a6130;background:#e3f5e9;border:1px solid #b3e0c2}.info{background:var(--navy-lt);color:var(--navy);border:1px solid #c5cde8}.presence-list{gap:4px;max-height:260px;margin-bottom:12px;padding:4px 0;display:grid;overflow-y:auto}.presence-list label{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--t);align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.presence-list label:hover{background:var(--bg)}.presence-list label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);flex-shrink:0}.presence-list label span{flex:1}.report-toolbar{justify-content:flex-end;align-items:center;gap:10px;margin:0 0 16px;display:flex}.report-stack{gap:16px;display:grid}.report-row{border-radius:var(--radius-sm);grid-template-columns:200px 1fr 140px;align-items:start;gap:10px;padding:10px 12px;display:grid}.report-row:hover{background:var(--bg)}.report-name{font-size:13px;font-weight:600}.report-months{color:var(--ink-2);font-size:13px}.report-total{text-align:right;color:var(--navy);font-size:13px;font-weight:700}.report-students{color:var(--ink-2);margin:0 0 10px;padding:0 0 0 16px;list-style:outside}.report-students li{padding:2px 0;font-size:13px;display:list-item}.report-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;margin-top:6px;padding-top:10px;display:flex}.report-methods{margin:0;padding:0;list-style:none}.report-methods li{color:var(--ink-2);justify-content:space-between;gap:12px;padding:2px 0;font-size:12px;display:flex}.report-methods li:hover{background:0 0}.toggle-btn{border:1px solid var(--line-dk);color:var(--ink-2);cursor:pointer;transition:all var(--t);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex}.toggle-btn:hover{background:var(--bg-2)}.toggle-btn .chevron{transition:transform var(--t);font-size:10px}.toggle-btn.open .chevron{transform:rotate(180deg)}.divider{background:var(--line);height:1px;margin:14px 0}.pwd-strip{background:var(--navy-lt);border-bottom:1px solid var(--line);padding:14px 32px}.pwd-strip .form{grid-template-columns:1fr 1fr auto;gap:8px;margin:0}.login-wrap{background:linear-gradient(135deg, var(--navy) 0%, #2c4280 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-lg);background:#fff;padding:36px 32px}.login-card .eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--ink-3);margin:0 0 6px;font-size:10px;font-weight:600}.login-card h1{color:var(--ink);margin:0 0 24px;font-family:DM Serif Display,serif;font-size:26px;font-weight:400}.login-card .form{gap:10px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-dk);border-radius:999px}@media (width<=860px){.hero{flex-wrap:wrap;padding:16px 20px;position:static}.hero-actions{flex-wrap:wrap;width:100%}.tabs-bar{padding:0 16px;position:static}.tab-panel,.content-wrap{padding:16px}.split-two,.form-row{grid-template-columns:1fr}.pwd-strip{padding:14px 16px}.pwd-strip .form,.report-row{grid-template-columns:1fr}.report-total{text-align:left}.dashboard-stats{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=500px){.hero h1{font-size:18px}.dashboard-stats{grid-template-columns:1fr 1fr}ul:not(.report-students)>li{flex-direction:column;align-items:flex-start}.row-actions{justify-content:flex-end;width:100%}.presence-list label{align-items:flex-start}.form-grid{grid-template-columns:1fr}.audit-list li{flex-direction:column}.audit-list small{white-space:normal}}
