*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--blue-900:var(--ee4k-primary-900,#0d1f3c);--blue-800:var(--ee4k-primary-800,#1a3560);--blue-700:var(--ee4k-primary-700,#1e4080);--blue-600:var(--ee4k-primary-600,#2255a4);--blue-500:var(--ee4k-primary-500,#2d6bc4);--blue-400:var(--ee4k-primary-400,#4d8de0);--blue-300:var(--ee4k-primary-300,#7aaef0);--blue-200:var(--ee4k-primary-200,#b8d4f8);--blue-100:var(--ee4k-primary-100,#deeafc);--blue-50:var(--ee4k-primary-50,#f0f6ff);--accent:var(--ee4k-accent,#f5a623);--white:var(--ee4k-white,#fff);--gray-900:var(--ee4k-gray-900,#111827);--gray-700:var(--ee4k-gray-700,#374151);--gray-500:var(--ee4k-gray-500,#6b7280);--gray-300:var(--ee4k-gray-300,#d1d5db);--gray-200:var(--ee4k-gray-200,#e5e7eb);--gray-100:var(--ee4k-gray-100,#f3f4f6);--bg:var(--ee4k-bg,#f1f5f9);--radius-sm:var(--ee4k-radius-sm,6px);--radius-md:var(--ee4k-radius-md,10px);--radius-lg:var(--ee4k-radius-lg,16px);--shadow-sm:var(--ee4k-shadow-sm,0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.05));--shadow-md:var(--ee4k-shadow-md,0 4px 12px rgba(0,0,0,.1));--red-700:var(--ee4k-red-700,#b91c1c);--red-200:var(--ee4k-red-200,#fecaca);--red-50:var(--ee4k-red-50,#fef2f2);--green-700:var(--ee4k-green-700,#15803d);--green-300:var(--ee4k-green-300,#86efac);--green-50:var(--ee4k-green-50,#f0fdf4);--amber-600:var(--ee4k-amber-600,#d97706);--amber-300:var(--ee4k-amber-300,#fcd34d);--amber-200:var(--ee4k-amber-200,#fde68a);--amber-50:var(--ee4k-amber-50,#fffbeb);--gray-800:var(--ee4k-gray-800,#1f2937);--gray-600:var(--ee4k-gray-600,#4b5563);--gray-50:var(--ee4k-gray-50,#f9fafb)}body,html{height:100%}body{font-family:var(--font-sora),sans-serif;background:var(--bg);color:var(--gray-900);line-height:1.6;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}.login-page{min-height:100vh;background:linear-gradient(160deg,#0a1628 0,var(--blue-800) 100%);display:flex;align-items:center;justify-content:center;padding:2rem}.login-card{background:var(--white);border-radius:var(--radius-lg);padding:2.5rem;width:100%;max-width:400px;box-shadow:0 20px 60px rgba(0,0,0,.3)}.login-logo{text-align:center;margin-bottom:2rem}.login-logo img{border-radius:50%;background:var(--blue-900);padding:5px;box-shadow:0 4px 20px rgba(0,0,0,.2);display:inline-block}.login-logo-title{font-family:var(--font-sora),sans-serif;font-size:1.05rem;font-weight:900;color:var(--blue-900);line-height:1.2}.login-logo-title span{color:var(--blue-500)}.login-logo-sub{font-size:.75rem;color:var(--gray-500);margin-top:.3rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em}.login-title{font-family:var(--font-sora),sans-serif;font-size:1.4rem;font-weight:800;color:var(--blue-900);margin-bottom:.25rem}.login-subtitle{font-size:.875rem;color:var(--gray-500);margin-bottom:1.75rem}.form-group{margin-bottom:1rem}.form-label{display:block;font-size:.8rem;font-weight:600;color:var(--gray-700);margin-bottom:.4rem}.form-input{width:100%;padding:.65rem .9rem;border:1.5px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.95rem;font-family:var(--font-sora),sans-serif;color:var(--gray-900);background:var(--white);transition:border-color .2s,box-shadow .2s;outline:none}.form-input:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(45,107,196,.15)}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='%236b7280'%3E%3Cpath d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:10px;padding-right:2.25rem;cursor:pointer}.form-error{font-size:.82rem;color:#dc2626;margin-top:.6rem;padding:.5rem .75rem;background:#fef2f2;border-left:3px solid #dc2626}.btn,.form-error{border-radius:var(--radius-sm)}.btn{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-sora),sans-serif;font-size:.875rem;font-weight:600;padding:.55rem 1.1rem;border:none;cursor:pointer;transition:all .18s;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--blue-700);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--blue-600)}.btn-full{width:100%;justify-content:center;padding:.75rem;font-size:.95rem;margin-top:.5rem}.btn-sm{font-size:.78rem;padding:.3rem .7rem}.btn-ghost{background:var(--gray-100);color:var(--gray-700)}.btn-ghost:hover{background:var(--gray-200)}.btn-secondary{background:var(--blue-50);color:var(--blue-700);border:1px solid var(--blue-200)}.btn-secondary:hover{background:var(--blue-100)}.btn-danger{background:var(--ee4k-danger-bg,#fee2e2);color:var(--ee4k-danger,#dc2626)}.btn-danger:hover{background:var(--ee4k-danger-hover,#fca5a5)}.btn-danger-ghost{background:var(--gray-100);color:var(--ee4k-danger,#dc2626)}.btn-danger-ghost:hover:not(:disabled){background:var(--gray-200)}.lesson-modal .modal-header{padding:calc(10px + env(safe-area-inset-top, 0px)) 12px 10px;background:linear-gradient(135deg,var(--ee4k-primary-900) 0,var(--ee4k-primary-700) 100%)}.lesson-modal .modal-title{flex:1 1;min-width:0}.lesson-modal .modal-close{flex-shrink:0;margin-left:8px;width:32px;height:32px;padding:0;border-radius:8px;background:hsla(0,0%,100%,.15);color:var(--ee4k-white)}.lesson-modal .modal-close:hover{background:hsla(0,0%,100%,.25);color:var(--ee4k-white)}.lesson-modal .modal-body{padding:14px 18px}.lesson-modal .modal-footer{padding:12px 18px;border-top:1px solid rgba(0,0,0,.06);align-items:center;justify-content:flex-start;flex-wrap:wrap}.lm-testata{display:flex;align-items:center;gap:8px}.lm-titoli{flex:1 1;min-width:0;display:flex;flex-direction:column;text-align:center}.lm-nome,.lm-sopra{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lm-sopra{font-size:.7rem;color:hsla(0,0%,100%,.6);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.lm-nome{font-size:.95rem;color:var(--ee4k-white);font-weight:700;margin-top:2px}.btn-signout{background:hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.75);font-size:.78rem;padding:.35rem .85rem;border:1px solid hsla(0,0%,100%,.18)}.btn-signout:hover{background:hsla(0,0%,100%,.18);color:var(--white)}.app-shell{display:flex;min-height:100vh}.sidebar{width:252px;flex-shrink:0;background:var(--blue-900);display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:hidden}.sidebar-header{padding:.7rem 1rem .55rem;border-bottom:1px solid hsla(0,0%,100%,.07)}.sidebar-brand{display:flex;align-items:center;gap:.6rem}.sidebar-logo-title{font-family:var(--font-sora),sans-serif;font-weight:800;font-size:.95rem;color:var(--white);line-height:1.18;min-width:0}.sidebar-logo-title span{color:inherit}.sidebar-logo-img{height:40px;width:40px;flex-shrink:0;border-radius:50%;box-shadow:0 2px 10px rgba(0,0,0,.4);display:block}.sidebar-portal-label{display:block;width:100%;font-size:.65rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--blue-400);margin-top:.45rem}.sidebar-nav{flex:1 1;padding:.35rem 0}.sidebar-nav-section{font-size:.63rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-400);padding:.5rem 1.25rem .15rem}.sidebar-link{display:flex;align-items:center;gap:.65rem;padding:.48rem 1.25rem;font-size:.85rem;font-weight:500;color:hsla(0,0%,100%,.6);transition:all .15s;border-left:2px solid transparent}.sidebar-link:hover{color:var(--white);background:hsla(0,0%,100%,.05)}.sidebar-link.active{color:var(--white);background:hsla(0,0%,100%,.15);border-left:3px solid var(--blue-300)}.sidebar-footer{padding:1rem 1.25rem;border-top:1px solid hsla(0,0%,100%,.07)}.sidebar-user-name{font-size:.85rem;font-weight:600;color:var(--white);margin-bottom:.15rem}.sidebar-user-role{font-size:.72rem;color:var(--blue-300);margin-bottom:.75rem}.teacher-shell{flex-direction:column}.teacher-shell .mobile-top-bar{display:flex}.topbar-logo-img{height:32px;width:32px;flex-shrink:0;border-radius:50%;display:block}.gear-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;padding:0;border:none;border-radius:10px;background:hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.85);cursor:pointer;transition:background .15s,color .15s;text-decoration:none}.gear-btn:hover{background:hsla(0,0%,100%,.18);color:#fff}.sidebar-user-link{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:inherit;border-radius:8px;margin:-.35rem -.5rem .75rem;padding:.35rem .5rem;transition:background .15s}.sidebar-user-link:hover{background:hsla(0,0%,100%,.08)}.sidebar-user-testo{flex:1 1;min-width:0}.sidebar-user-link .sidebar-user-role{margin-bottom:0}.sidebar-user-gear{flex-shrink:0;display:flex;align-items:center;justify-content:center;color:hsla(0,0%,100%,.55);transition:color .15s}.sidebar-user-link:hover .sidebar-user-gear{color:#fff}.modal-overlay:has(.imp-popup){align-items:center;padding:16px;background:rgba(9,20,40,.38);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal-overlay:has(.imp-popup) .modal{background:#fff;border:none;border-radius:var(--radius-lg);box-shadow:0 24px 70px rgba(13,31,60,.35);max-height:100%}.modal-overlay:has(.imp-popup) .modal-header{position:relative;padding:16px 52px;background:linear-gradient(135deg,var(--blue-900) 0,var(--blue-700) 100%);border-bottom:3px solid var(--accent)}.modal-overlay:has(.imp-popup) .modal-title{flex:1 1;text-align:center;color:#fff;font-size:1rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.modal-overlay:has(.imp-popup) .modal-close{position:absolute;top:50%;right:12px;transform:translateY(-50%);color:hsla(0,0%,100%,.75);font-size:1.35rem;line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-pill,999px);transition:all .15s}.modal-overlay:has(.imp-popup) .modal-close:hover{color:#fff;background:hsla(0,0%,100%,.18)}.modal-overlay:has(.imp-popup) .modal-body{padding:0}.modal-overlay:has(.imp-popup) .modal-footer{padding:14px 20px;background:var(--gray-50,#f9fafb);border-top:1px solid var(--gray-100)}.modal-overlay:has(.imp-popup) .modal-footer .btn-signout{display:block;width:100%;background:#fff;color:#b91c1c;border:1px solid #fecaca;font-size:.85rem;font-weight:700;padding:.6rem 1.1rem;min-height:42px;border-radius:var(--radius-sm)}.modal-overlay:has(.imp-popup) .modal-footer .btn-signout:hover{background:#fef2f2;color:#991b1b;border-color:#fca5a5}.conto-colonna{max-width:480px;margin-top:40px}.imp-modulo{padding:18px 20px 4px}.imp-gruppo{margin-bottom:14px}.imp-etichetta{display:block;font-size:.78rem;font-weight:700;color:var(--blue-900,#0d1f3c);margin-bottom:6px}.imp-campo{width:100%;font:inherit;font-size:.92rem;color:#1a1a1a;background:#fff;padding:.6rem .75rem;border:1px solid var(--gray-200,#e5e7eb);border-radius:var(--radius-sm);transition:border-color .15s,box-shadow .15s}.imp-campo:focus{outline:none;border-color:var(--blue-700,#1e4d8f);box-shadow:0 0 0 3px rgba(30,77,143,.12)}.imp-campo::placeholder{color:var(--gray-400,#9ca3af)}.imp-nota{margin:6px 0 0;font-size:.75rem;color:var(--gray-500,#6b7280)}.imp-gruppo-prova{margin-top:18px;padding-top:16px;border-top:1px solid var(--gray-100,#f3f4f6)}.imp-messaggio{margin:0 0 12px;font-size:.82rem;line-height:1.45;padding:.55rem .7rem;border-radius:var(--radius-sm)}.imp-messaggio-male{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.imp-messaggio-bene{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.imp-gruppo-azione{margin-bottom:18px}.imp-salva{display:block;width:100%;font:inherit;font-size:.88rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--blue-900) 0,var(--blue-700) 100%);border:none;border-radius:var(--radius-sm);min-height:42px;padding:.6rem 1.1rem;cursor:pointer;transition:filter .15s,opacity .15s}.imp-salva:hover:not(:disabled){filter:brightness(1.12)}.imp-salva:disabled{opacity:.45;cursor:not-allowed}@media (max-width:640px){.modal-overlay:has(.imp-popup){padding:12px}}.teacher-hero{margin-bottom:24px;padding:28px 26px;border-radius:16px;background:hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.9);box-shadow:0 2px 12px rgba(0,0,0,.05)}.teacher-hero-title{font-size:22px;font-weight:800;margin-bottom:6px;color:var(--blue-900)}.teacher-hero-sub{font-size:14px;color:var(--gray-700);line-height:1.6;margin:0}@media (max-width:640px){.teacher-hero{margin-bottom:14px;padding:12px 16px;border-radius:12px}.teacher-hero-title{font-size:17px;margin-bottom:0}.teacher-hero-sub{display:none}}.cal-ambito{--cal-ambito-tinta:#0891b2;display:flex;border:1px solid var(--cal-ambito-tinta);border-radius:8px;overflow:hidden}.cal-ambito button{padding:4px 12px;min-height:44px;font-size:13px;font-weight:700;border:none;cursor:pointer;touch-action:manipulation;background:#fff;color:var(--gray-500)}.cal-ambito button.is-active{background:var(--cal-ambito-tinta);color:#fff}@media (pointer:fine){.cal-ambito button{min-height:34px;padding:4px 10px;font-size:12px}}@media (max-width:480px){.cal-ambito button{padding:4px 8px;font-size:12px}}.cal-legenda{margin-top:12px;font-size:11px;color:var(--gray-500)}.cal-legenda-voci{display:flex;flex-wrap:wrap;gap:10px}.cal-legenda-voce{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.cal-legenda-quad{width:10px;height:10px;border-radius:3px;border:1px solid transparent;flex-shrink:0}.cal-legenda-corto{display:none}@media (max-width:640px){.cal-legenda-lungo{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.cal-legenda-corto{display:inline}.cal-legenda-voci{flex-wrap:nowrap;gap:8px}.cal-legenda-voce{min-width:0}}@media (min-width:900px){.cal-griglia-pos>*{margin-left:auto;margin-right:auto}.cal-legenda .cal-legenda-voci{justify-content:center}}@keyframes portal-float{0%{opacity:0;transform:translateY(100vh) scale(0)}10%{opacity:.5}90%{opacity:.5}to{opacity:0;transform:translateY(-10vh) scale(1)}}.portal-particles{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.portal-particle{position:absolute;border-radius:50%;opacity:0;animation:portal-float linear infinite}.portal-section-title{font-size:1.15rem;font-weight:800;color:#fff;padding:16px 24px;margin-bottom:1.5rem;background:linear-gradient(135deg,var(--blue-900) 0,var(--blue-700) 100%);border-radius:var(--radius-lg);border-bottom:3px solid var(--accent);letter-spacing:.04em;text-align:center;text-transform:uppercase;box-shadow:0 4px 14px rgba(13,31,60,.18)}.app-content{flex:1 1;min-width:0;padding:2rem 2.5rem;overflow-y:auto;background:linear-gradient(180deg,#f0f4fb,#dfe8f5);position:relative}.page-header{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;justify-items:center;text-align:center;grid-row-gap:.75rem;row-gap:.75rem;grid-column-gap:.75rem;column-gap:.75rem;margin-bottom:1.5rem;padding:16px 24px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--blue-900) 0,var(--blue-700) 100%);border-bottom:3px solid var(--accent);box-shadow:0 4px 14px rgba(13,31,60,.18);--gray-500:hsla(0,0%,100%,.74);--gray-700:#fff;--gray-300:hsla(0,0%,100%,.42)}.page-header>*{grid-column:1/-1}.page-header>.back-link{grid-row:1;grid-column:1;justify-self:start;margin-bottom:0}.page-header>.page-header-left{grid-row:1;grid-column:2;min-height:44px;justify-content:center}.page-header>.page-header-right{grid-row:1;grid-column:3;justify-self:end}.page-header-left{display:flex;flex-direction:column;align-items:center;min-width:0;max-width:100%}.page-header>.ph-strip{display:flex;justify-self:stretch;margin:0;padding:0}.ph-seg{display:flex;gap:2px;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.18);border-radius:12px;padding:3px;flex-shrink:0}.ph-seg a,.ph-seg button{font:inherit;border:0;background:none;cursor:pointer;padding:0 14px;min-height:38px;display:flex;align-items:center;border-radius:9px;font-size:.82rem;font-weight:500;color:hsla(0,0%,100%,.72);white-space:nowrap;text-decoration:none}.ph-seg a.on,.ph-seg button.on{background:#fff;color:var(--blue-900);font-weight:700}@media (min-width:769px){.page-header:has(>.ph-strip){grid-template-columns:auto auto minmax(0,1fr) auto;justify-items:start;text-align:left}.page-header:has(>.ph-strip)>.page-header-left{align-items:flex-start}.page-header>.ph-strip{grid-row:1;grid-column:3;justify-self:start}.page-header:has(>.ph-strip)>.page-header-right{grid-column:4}.page-header .ph-seg a,.page-header .ph-seg button{min-height:36px}}@media (max-width:768px){.page-header:has(>.ph-strip){grid-template-columns:auto max-content minmax(0,1fr)}.page-header:has(>.ph-strip) .page-title{white-space:nowrap;overflow-wrap:normal}.page-header:has(>.ph-strip)>.page-header-right:not(:has(>:nth-child(2))){grid-row:1;grid-column:3;justify-self:end}.page-header>.ph-strip{grid-column:1/-1}.ph-seg{flex:1 1}.ph-seg a,.ph-seg button{flex:1 1;justify-content:center;min-height:44px;padding:0 8px}}.lnum-blocco{margin-bottom:1.5rem}.lnum{display:flex;gap:4px}.lnum-voce{font:inherit;color:inherit;cursor:pointer;text-align:left;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-width:150px;min-height:44px;padding:10px 18px;border:1px solid var(--blue-100);border-bottom:0;border-radius:14px 14px 0 0;background:var(--blue-50);position:relative;top:1px;transition:background .15s}.lnum-voce b{font-size:1.55rem;font-weight:800;line-height:1.1;color:var(--gray-900);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lnum-lab{display:flex;align-items:center;flex-wrap:wrap;gap:0 6px;font-size:.74rem;font-weight:600;color:var(--gray-600)}.lnum-lab em{font-style:normal;font-weight:700}.lnum-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0}.lnum--verde .lnum-dot{background:var(--green-700)}.lnum--ambra .lnum-dot{background:var(--amber-600)}.lnum--rosso .lnum-dot{background:var(--red-700)}.lnum--rosso b,.lnum--rosso em{color:var(--red-700)}.lnum-voce:hover{background:var(--white)}.lnum-voce:focus-visible{outline:2px solid var(--blue-500);outline-offset:-2px}.lnum-voce.on{background:var(--white);border-color:var(--white);box-shadow:inset 0 3px 0 var(--blue-700),0 -2px 8px rgba(0,0,0,.04);z-index:1}.lnum-voce.on .lnum-lab{color:var(--gray-900);font-weight:700}.lnum-carta{position:relative;background:var(--white);border-radius:var(--radius-lg);border-top-left-radius:0;box-shadow:0 2px 12px rgba(0,0,0,.05);padding:14px}.lnum-carta .table-wrapper{margin-bottom:0}.lnum--staccate{gap:10px;margin-bottom:1.5rem}.lnum--staccate .lnum-voce{flex:1 1;border:1px solid var(--blue-100);border-radius:14px;top:0;background:var(--white);box-shadow:0 2px 12px rgba(0,0,0,.05)}.lnum--staccate .lnum-voce:hover{background:var(--blue-50)}.lnum--staccate .lnum-lab:after{content:" ›";color:var(--blue-500);font-weight:800}@media (max-width:768px){.lnum-voce{flex:1 1;min-width:0;padding:8px 10px}.lnum-voce:only-child{flex:0 1 auto;min-width:50%}.lnum-voce b{font-size:1.25rem}.lnum-lab,.lnum-lab em{font-size:.66rem;line-height:1.25}.lnum-carta{padding:10px}.lnum--staccate{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.lnum--staccate .lnum-voce:last-child:nth-child(odd){grid-column:1/-1}}.page-header .page-subtitle{max-width:56ch}.page-header-right{display:flex;align-items:center;justify-content:safe flex-end;flex-wrap:nowrap;gap:.5rem;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:thin}.page-header-right>*{flex-shrink:0}.back-link{font-size:.78rem;color:var(--gray-500);display:inline-flex;align-items:center;gap:.25rem;margin-bottom:.3rem;transition:color .15s}.back-link:hover{color:#fff}.page-header>.back-link{justify-content:center;gap:.4rem;padding:0 .8rem;border-radius:12px;background:hsla(0,0%,100%,.16);border:1px solid hsla(0,0%,100%,.38);color:#fff;font-size:.82rem;font-weight:600;text-decoration:none;transition:background .15s;align-items:center}.page-header>.back-link>svg{display:block;flex-shrink:0}.page-header>.back-link:hover{background:hsla(0,0%,100%,.26)}.page-header>.back-link:active{--ee4k-premuto:transparent;background:hsla(0,0%,100%,.32)}.page-header>.back-link:focus-visible{outline:2px solid #fff;outline-offset:2px}@media (max-width:768px){.page-header>.back-link{padding:0;width:44px}}.page-title{font-family:var(--font-sora),sans-serif;font-size:1.15rem;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.04em;overflow-wrap:anywhere}.page-subtitle{font-size:.875rem;color:hsla(0,0%,100%,.74);margin-top:.2rem}.page-header .btn-primary{background:#fff;color:var(--blue-900);border:1px solid hsla(0,0%,100%,.9)}.page-header .btn-primary:hover{background:hsla(0,0%,100%,.88)}.page-header .btn-danger-ghost,.page-header .btn-ghost,.page-header .btn-secondary{background:hsla(0,0%,100%,.16);color:#fff;border:1px solid hsla(0,0%,100%,.38)}.page-header .btn-danger-ghost:hover,.page-header .btn-ghost:hover,.page-header .btn-secondary:hover{background:hsla(0,0%,100%,.26)}.page-header .skeleton{background:linear-gradient(90deg,hsla(0,0%,100%,.12) 25%,hsla(0,0%,100%,.26) 50%,hsla(0,0%,100%,.12) 75%);background-size:600px 100%}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:2rem;position:relative;z-index:1}.stat-card{background:hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-md);padding:1.25rem 1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.04);border:1px solid hsla(0,0%,100%,.9);transition:all .2s}.stat-card:hover{background:hsla(0,0%,100%,.85);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.08)}.stat-card-value{font-family:var(--font-sora),sans-serif;font-size:2rem;font-weight:800;color:var(--blue-900);line-height:1}.stat-card-label{font-size:.78rem;color:var(--gray-500);margin-top:.3rem;font-weight:500}.card{background:#fff;border-radius:var(--radius-lg);box-shadow:0 2px 12px rgba(0,0,0,.05);border:1px solid hsla(0,0%,100%,.9);overflow:hidden;margin-bottom:1.5rem;transition:box-shadow .2s}.card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}.card-header{padding:13px 18px;background:linear-gradient(135deg,var(--blue-900) 0,var(--blue-700) 100%);display:flex;align-items:center;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap}.card-header,.card-title{color:#fff;font-weight:700;font-size:.875rem}.card-title{font-family:var(--font-sora),sans-serif}.card-body{padding:18px}.card-header .btn-primary{background:#fff;color:var(--blue-900);border:1px solid hsla(0,0%,100%,.9)}.card-header .btn-primary:hover{background:hsla(0,0%,100%,.88)}.card-header .btn-danger-ghost,.card-header .btn-ghost,.card-header .btn-secondary{background:hsla(0,0%,100%,.16);color:#fff;border:1px solid hsla(0,0%,100%,.38)}.card-header .btn-danger-ghost:hover,.card-header .btn-ghost:hover,.card-header .btn-secondary:hover{background:hsla(0,0%,100%,.26)}.card-header .program-status-saving{color:hsla(0,0%,100%,.74)}.card-header .program-status-saved{color:#6ee7b7}.card-header .program-status-error{color:#fca5a5}.table-wrapper{background:hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-md);box-shadow:0 2px 8px rgba(0,0,0,.04);border:1px solid hsla(0,0%,100%,.9);overflow-x:auto;overflow-y:hidden;margin-bottom:1.5rem;-webkit-overflow-scrolling:touch}.card-body .table-wrapper,.enroll-student-block .table-wrapper{box-shadow:none;border-radius:var(--radius-sm);margin-bottom:.5rem}table{width:100%;border-collapse:collapse}thead tr{background:var(--gray-100)}th{padding:.7rem 1rem;text-align:left;font-size:.72rem;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}td{padding:.8rem 1rem;font-size:.875rem;color:var(--gray-700);border-top:1px solid var(--gray-200)}tbody tr:hover td{background:var(--blue-50)}.td-actions{display:flex;gap:.4rem;align-items:center}.mgmt-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:2rem}.mgmt-nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:1.25rem 1rem;background:hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.9);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;color:var(--blue-700);box-shadow:0 2px 8px rgba(0,0,0,.04);transition:all .18s;text-align:center}.mgmt-nav-link:hover{background:hsla(0,0%,100%,.85);border-color:var(--blue-300);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.08)}.mgmt-nav-icon{font-size:1.5rem}.class-card{background:hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.9);border-radius:var(--radius-md);padding:1.25rem 1.5rem;margin-bottom:1rem;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:box-shadow .2s}.class-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}.class-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.class-card-name{font-family:var(--font-sora),sans-serif;font-size:1rem;font-weight:700;color:var(--blue-900)}.class-card-meta{font-size:.82rem;color:var(--gray-500);margin-top:.2rem}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem;margin-bottom:1.75rem}.summary-card{border-radius:var(--radius-md);padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center}.summary-card-label{font-weight:600;font-size:.875rem}.summary-card-value{font-size:1.5rem;font-weight:800}.badge{display:inline-block;padding:.2em .65em;border-radius:100px;font-size:.72rem;font-weight:700;white-space:nowrap}.badge-draft{background:#fef3c7;color:#92400e}.badge-sent{background:#dbeafe;color:#1e40af}.badge-paid,.badge-present{background:#dcfce7;color:#15803d}.badge-absent{background:#fee2e2;color:#dc2626}.badge-active{background:var(--blue-100);color:var(--blue-700)}.empty{text-align:center;padding:3rem;color:var(--gray-500);font-size:.9rem}.enroll-section{border:1px solid var(--gray-200);border-radius:var(--radius-md);overflow:hidden;margin-bottom:1rem}.enroll-section-head{background:var(--gray-100);padding:.6rem 1rem;font-size:.78rem;font-weight:700;color:var(--gray-600,var(--gray-700));text-transform:uppercase;letter-spacing:.05em;display:flex;justify-content:space-between;align-items:center}.section-title{font-family:var(--font-sora),sans-serif;font-size:1rem;font-weight:700;color:var(--blue-900);margin-bottom:1rem}.student-block{background:hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.9);border-radius:var(--radius-md);overflow:hidden;margin-bottom:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.04)}.student-block-header{background:linear-gradient(135deg,var(--blue-800) 0,var(--blue-600) 100%);padding:1rem 1.5rem;color:var(--white)}.student-block-name{font-family:var(--font-sora),sans-serif;font-size:1.05rem;font-weight:800}.student-block-body{padding:1.25rem 1.5rem}@media (max-width:768px){.sidebar{display:none}.app-content{padding:1.25rem}.mgmt-nav,.stats-grid,.summary-grid{grid-template-columns:repeat(2,1fr)}.page-title{font-size:1.25rem}.page-header{grid-template-columns:minmax(2.75rem,auto) minmax(0,1fr) minmax(2.75rem,auto)}.back-link .back-label,.page-header .page-header-left .skeleton-line,.page-header .page-subtitle{display:none}.page-header>.page-header-right{grid-row:2;grid-column:1/-1;justify-self:stretch;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}}[role=button],a,button,select{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.add-student-btn,.area-dropdown-item,.back-link,.btn,.menu-link,.mobile-close,.nav-toggle,.sidebar-link,.signup-back,button[type=button],button[type=submit]{min-height:44px;min-width:44px}body,li,p,td,th{color:#1a1a1a}.form-label,.section-title,.summary-key{color:#555}@media (max-width:768px){body{font-size:16px}input,select,textarea{font-size:16px!important}}.badge-paid,.badge-present{background:#dcfce7;color:#16a34a}.badge-absent,.badge-unpaid{background:#fee2e2;color:#dc2626}.badge-draft,.badge-sent{background:#fef3c7;color:#d97706}.mobile-top-bar{display:none;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--blue-900);color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:100}.mobile-top-bar-title{font-weight:800;font-size:.9rem;flex:1 1}.mobile-top-bar-title span{color:#93c5fd}@media (max-width:768px){.mobile-top-bar-title{font-size:.95rem;line-height:1.2;min-width:0}.mobile-top-bar-title span{display:block;font-size:.78rem;font-weight:700;letter-spacing:.01em;margin-top:.1rem}.sidebar{display:none!important}.mobile-top-bar{display:flex}.app-shell{flex-direction:column;min-height:100dvh}.app-content{flex:1 1;padding-bottom:env(safe-area-inset-bottom,0)}}.mobile-menu-btn{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:40px;height:40px;padding:0;background:transparent;border:1px solid hsla(0,0%,100%,.18);border-radius:8px;cursor:pointer;flex-shrink:0}.mobile-menu-btn:hover{background:hsla(0,0%,100%,.06)}.mobile-menu-bar{display:block;width:18px;height:2px;background:#fff;border-radius:2px}.mobile-drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1000;animation:drawerFade .15s ease-out}.mobile-drawer{position:absolute;top:0;left:0;bottom:0;width:min(86vw,320px);background:var(--blue-900,#1e3a8a);color:#fff;display:flex;flex-direction:column;overflow-y:auto;box-shadow:4px 0 24px rgba(0,0,0,.3);animation:drawerSlide .2s ease-out}.mobile-drawer-header{position:relative;display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem .75rem;border-bottom:1px solid hsla(0,0%,100%,.1)}.mobile-drawer-logo{width:40px;height:40px;border-radius:50%;box-shadow:0 2px 10px rgba(0,0,0,.4);flex-shrink:0;display:block}.mobile-drawer-title{font-weight:800;font-size:.85rem;line-height:1.2;flex:1 1}.mobile-drawer-title span{color:inherit;font-weight:inherit}.mobile-drawer-close{position:absolute;top:.5rem;right:.5rem;width:32px;height:32px;background:transparent;color:#fff;border:none;font-size:1.6rem;line-height:1;cursor:pointer;border-radius:6px}.mobile-drawer-close:hover{background:hsla(0,0%,100%,.08)}.mobile-drawer-footer{margin-top:auto;padding:.7rem 1rem;border-top:1px solid hsla(0,0%,100%,.1)}.mobile-drawer .sidebar-nav{padding:.15rem 0}.mobile-drawer .sidebar-nav-section{padding:.3rem 1rem .1rem}.mobile-drawer .sidebar-link{min-height:40px;padding:.38rem 1rem}@keyframes drawerFade{0%{opacity:0}to{opacity:1}}@keyframes drawerSlide{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.global-search{position:relative;width:100%;max-width:640px;margin:0 auto 1.5rem;z-index:100}.global-search-input-wrap{display:flex;align-items:center;gap:.5rem;padding:0 .85rem;background:hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.9);border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:border-color .15s,box-shadow .15s}.global-search-input-wrap:focus-within{border-color:var(--blue-500,#3b82f6);box-shadow:0 0 0 3px rgba(59,130,246,.15)}.global-search-icon{font-size:1rem;opacity:.6;flex-shrink:0}.global-search-input{flex:1 1;min-height:40px;border:none;outline:none;background:transparent;font-size:1rem;color:#1a1a1a;min-width:0}.global-search-input::placeholder{color:#9ca3af}.global-search-kbd{display:inline-block;padding:2px 6px;font-size:.7rem;font-family:var(--font-mono,monospace);color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;flex-shrink:0}@media (max-width:768px){.global-search-kbd{display:none}.global-search{margin-bottom:1rem}}.global-search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;background:hsla(0,0%,100%,.92);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.9);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.12);overflow:hidden;z-index:500;max-height:min(70vh,480px);overflow-y:auto}.global-search-empty{padding:1rem 1.25rem;color:#6b7280;font-size:.9rem}.global-search-hit{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;text-decoration:none;color:inherit;border-bottom:1px solid #f3f4f6;transition:background .1s}.global-search-hit:last-child{border-bottom:none}.global-search-hit.active,.global-search-hit:hover{background:#f3f4f6}.global-search-hit-icon{font-size:1.2rem;flex-shrink:0}.global-search-hit-body{flex:1 1;min-width:0}.global-search-hit-label{font-weight:600;font-size:.95rem;color:#1a1a1a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search-hit-sub{font-size:.78rem;color:#6b7280;margin-top:1px}.global-search-hit-type{font-size:.7rem;color:#6b7280;background:#f3f4f6;padding:2px 8px;border-radius:999px;flex-shrink:0;font-weight:500}.dt-wrap{display:flex;flex-direction:column;gap:1rem}.dt-stats{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.25rem}.dt-stat{background:hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.9);border-radius:var(--radius-md);padding:.9rem 1.25rem;display:flex;flex-direction:column;gap:.15rem;min-width:120px}.dt-stat-danger{border-color:#fca5a5;background:#fff5f5}.dt-stat-val{font-size:1.5rem;font-weight:800;color:var(--blue-800);line-height:1;white-space:nowrap}.dt-stat-danger .dt-stat-val{color:#dc2626}.dt-stat-label{font-size:.72rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em}.dt-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding-bottom:.5rem}.dt-search{flex:1 1;min-width:180px;max-width:380px;padding:.45rem .75rem;font-size:.8rem;height:34px;border:1px solid var(--gray-200);border-radius:var(--radius-md)}.dt-toolbar-filter{flex-shrink:0}.dt-toolbar-end{display:flex;align-items:center;gap:.5rem;margin-left:auto}.dt-mobile-sort,.dt-select.dt-mobile-sort{display:none}.dt-icon-btn{min-width:44px;min-height:44px;padding:0;justify-content:center}.dt-col-panel{position:absolute;top:calc(100% + .4rem);right:0;background:hsla(0,0%,100%,.92);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.9);border-radius:14px;box-shadow:var(--shadow-md);padding:.75rem 1rem;z-index:200;min-width:200px}.dt-col-panel-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--gray-500);margin-bottom:.5rem}.dt-col-check{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--gray-700);padding:.25rem 0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dt-col-check input{cursor:pointer;accent-color:var(--blue-500)}.dt-table{width:100%;border-collapse:collapse;font-size:.875rem}.dt-table td,.dt-table th{padding:.6rem .85rem;text-align:left;border-bottom:1px solid var(--gray-200);white-space:nowrap}@media (min-width:641px){.dt-table td.dt-a-capo{white-space:normal;min-width:8rem}.dt-table thead th{white-space:normal}}@media (min-width:641px) and (max-width:1400px){.dt-table td,.dt-table th{padding-left:.6rem;padding-right:.6rem}}.dt-table thead th{background:var(--gray-100);font-size:.75rem;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative}.dt-th.dt-sortable{cursor:pointer}.dt-th.dt-sortable:hover{background:var(--gray-200);color:var(--gray-700)}.dt-th.dt-sorted{color:var(--blue-600);background:var(--blue-50)}.dt-th[draggable]{cursor:-webkit-grab;cursor:grab}.dt-th[draggable]:active{cursor:-webkit-grabbing;cursor:grabbing;opacity:.75}.dt-sort-arrow{margin-left:.3rem;font-size:.8rem}.dt-table tbody tr:hover{background:var(--blue-50)}.dt-row-link{cursor:pointer}.dt-name-link{font-weight:600;color:var(--blue-700);text-decoration:none}.dt-name-link:hover{text-decoration:underline}.dt-footer{font-size:.8rem;color:var(--gray-500);text-align:right;padding-top:.25rem}@media (max-width:768px){.dt-stats{gap:.5rem}.dt-stat{min-width:calc(50% - .25rem);flex:1 1}.dt-search{max-width:100%}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:640px){.dt-table,.dt-table tbody,.dt-table td,.dt-table th,.dt-table thead,.dt-table tr{display:block}.dt-table thead{display:none}.dt-table tbody tr{border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:.5rem .85rem;margin:.5rem 0}.dt-table tbody tr,.dt-table tbody tr:hover{background:var(--white)}.dt-table tbody tr{content-visibility:auto;contain-intrinsic-size:auto 140px}.dt-table td{border:none;padding:.35rem 0;white-space:normal;display:flex;justify-content:space-between;gap:.75rem;align-items:baseline;text-align:right}.dt-table td:before{content:attr(data-label);font-size:.7rem;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;text-align:left}.dt-table td:first-child{font-size:1rem;font-weight:600;padding:.25rem 0 .5rem;margin-bottom:.35rem;border-bottom:1px solid var(--gray-100);justify-content:flex-start;text-align:left}.dt-table td:first-child:before{display:none}.dt-table td .dt-name-link{font-size:1rem}.dt-col-toggle{display:none!important}.dt-mobile-sort,.dt-select.dt-mobile-sort{display:inline-flex}.dt-toolbar{gap:.5rem}.dt-search{min-width:0;max-width:none;flex-basis:100%;height:44px}.dt-mobile-sort,.dt-toolbar-filter{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - .25rem);min-width:0}.dt-select>.dt-filter-select{min-height:44px}.dt-toolbar-end{margin-left:auto;justify-content:flex-end}.table-wrapper table td,.table-wrapper table th{white-space:normal;word-break:break-word}.table-wrapper table td:first-child,.table-wrapper table th:first-child{position:-webkit-sticky;position:sticky;left:0;background:var(--white);z-index:1}.table-wrapper table thead th:first-child{background:var(--gray-100)}}.dt-m-riga{display:none}@media (max-width:767px){.dt-table.dt-compatta,.dt-table.dt-compatta tbody,.dt-table.dt-compatta tr{display:block}.dt-table.dt-compatta thead{display:none}.dt-table.dt-compatta tbody tr{border:none;border-bottom:1px solid var(--gray-100);border-radius:0;margin:0;padding:0;background:transparent;content-visibility:auto;contain-intrinsic-size:auto 61px}.dt-table.dt-compatta tbody tr:last-child{border-bottom:none}.dt-table.dt-compatta tbody tr:hover{background:transparent}.dt-table.dt-compatta td{display:none}.dt-table.dt-compatta td.dt-m-riga{display:block;padding:0 .25rem 0 .85rem;margin:0;border:none;white-space:normal;text-align:left;font-size:inherit;font-weight:inherit;position:static;background:none}.dt-table.dt-compatta td.dt-m-riga:before{display:none}}.dt-m-testa{display:flex;align-items:center;gap:.5rem;min-height:56px}.dt-m-voce{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:.5rem 0}.dt-m-titolo{font-weight:600;color:var(--gray-800);overflow-wrap:anywhere}.dt-m-titolo,.dt-m-titolo .dt-name-link,.dt-m-titolo .table-link{font-size:.95rem}.dt-m-sotto{font-size:.78rem;color:var(--gray-500);line-height:1.4;overflow-wrap:anywhere}.dt-m-sotto .table-link{font-size:.78rem;font-weight:500}.dt-m-pezzo+.dt-m-pezzo:before{content:"·";margin:0 .35rem;color:var(--gray-400)}.dt-m-pezzo{display:inline-block;max-width:100%}.dt-m-destra{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-size:.9rem;font-weight:700;color:var(--gray-700);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.dt-m-apri{flex:none;width:44px;height:44px;margin-right:-.25rem;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--gray-500);cursor:pointer}.dt-m-apri:active,.dt-m-apri[aria-expanded=true]{--ee4k-premuto:transparent;background:var(--blue-50);color:var(--blue-700)}.dt-m-dettaglio{display:flex;flex-direction:column;gap:.35rem;margin:0 .5rem .7rem .1rem;padding:.1rem 0 .1rem .75rem;border-left:2px solid var(--blue-100,#dbeafe)}.dt-m-campo{display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-size:.85rem;min-height:28px}.dt-m-campo>dt{flex-shrink:0;font-size:.75rem;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em}.dt-m-campo>dd{margin:0;min-width:0;text-align:right;overflow-wrap:anywhere}.dt-m-campo-azione{justify-content:flex-end}.dt-filter-bar{display:flex;gap:.75rem;align-items:center;padding:.5rem 0 .75rem;flex-wrap:wrap}.dt-filter-select{padding:.4rem .7rem;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:var(--gray-50,#f9fafb);font-size:.8rem;color:var(--gray-700);cursor:pointer;transition:border-color .15s,background .15s;height:34px}.dt-filter-select:hover{border-color:var(--gray-400);background:#fff}.dt-filter-select:focus{border-color:var(--indigo-400,#818cf8);outline:none;background:#fff}.dt-select{position:relative;display:inline-flex;min-width:0}.dt-select>.dt-filter-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:auto;min-height:36px;width:100%;min-width:0;padding:.4rem 2rem .4rem .75rem;line-height:1.3;background:var(--white);color:var(--gray-700);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dt-select:after{content:"";position:absolute;right:.8rem;top:50%;width:7px;height:7px;margin-top:-5px;border-right:2px solid var(--gray-500);border-bottom:2px solid var(--gray-500);transform:rotate(45deg);pointer-events:none}.lezioni-sett{display:flex;flex-direction:column;gap:1rem}.lezioni-sett-nav{display:flex;align-items:center;gap:1rem;padding:.75rem 0;flex-wrap:wrap}.lezioni-sett-label{font-weight:600;font-size:.95rem;flex:1 1;text-align:center}.week-day-block{background:hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-md);border:1px solid hsla(0,0%,100%,.9);overflow:hidden}.week-day-header{background:var(--blue-50);border-bottom:1px solid var(--blue-100);padding:.5rem 1rem;font-weight:700;font-size:.875rem;color:var(--blue-700)}.week-class-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--gray-100);gap:1rem}.week-class-row:last-child{border-bottom:none}.week-class-info{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;flex:1 1}.week-class-time{font-family:monospace;font-weight:700;font-size:.875rem;color:var(--blue-700);min-width:3rem}.week-class-name{font-weight:600;font-size:.9rem}.week-class-teacher{font-size:.85rem;color:var(--gray-500)}.week-class-sede{font-size:.8rem;background:var(--blue-50);color:var(--blue-700);padding:.15rem .5rem;border-radius:99px;font-weight:500}.page-section{margin-bottom:3rem;scroll-margin-top:1.5rem}.page-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding:16px 22px;background:linear-gradient(135deg,#0d1f3c,#1e4080);border-radius:14px;color:#fff}.page-section-title{font-family:var(--font-sora),sans-serif;font-size:1rem;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.03em}.muted{color:var(--gray-500);font-size:.875em}.table-link{color:var(--blue-600);font-weight:500;text-decoration:none}.table-link:hover{text-decoration:underline}@media (max-width:600px){.field-row{flex-direction:column;align-items:stretch!important;gap:4px!important}.field-row-label{flex:none!important;padding-top:0!important}}@media (min-width:900px){.cal-griglia-pos .ee4k-cal-card>div{margin-left:auto;margin-right:auto}}@media (min-width:641px){.ledger-tabella td:first-child{white-space:normal;min-width:12rem}}button.table-link{background:none;border:0;padding:0;font:inherit;font-weight:500;color:var(--blue-600);cursor:pointer;text-align:left}.form-card{background:hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-md);box-shadow:0 2px 8px rgba(0,0,0,.04);border:1px solid hsla(0,0%,100%,.9);padding:1.75rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:1rem;gap:1rem}@media (max-width:480px){.form-row:has(.campo-data){grid-template-columns:1fr}}.modal-compatto .modal-header{padding:1rem 1.15rem 0}.modal-compatto .modal-body{padding:.9rem 1.15rem}.modal-compatto .modal-footer{padding:0 1.15rem 1rem}.modal-compatto .form-group{margin-bottom:.6rem}.modal-compatto .form-label{margin-bottom:.25rem}.modal-compatto .form-row{gap:.6rem}.modal-compatto .form-row-corta{grid-template-columns:1fr 1fr}.modal-compatto .modal-body form>p{margin:-.2rem 0 .6rem}.form-actions{gap:.75rem;margin-top:1.5rem;flex-wrap:wrap}.form-actions,.form-check{display:flex;align-items:center}.form-check{gap:.5rem;cursor:pointer;font-size:.9rem;color:var(--gray-700);-webkit-user-select:none;-moz-user-select:none;user-select:none}.form-label-optional{font-weight:400;color:var(--gray-500);font-size:.75rem;margin-left:.25rem}.lesson-content{display:flex;flex-direction:column;gap:.4rem}.lesson-h1{font-size:1.25rem;font-weight:800;color:var(--blue-900);margin-top:1rem}.lesson-h1,.lesson-h2{font-family:var(--font-sora),sans-serif}.lesson-h2{font-size:1rem;font-weight:700;color:var(--blue-700);margin-top:.75rem}.lesson-li,.lesson-p{font-size:.9rem;color:var(--gray-700);line-height:1.65}.lesson-li{padding-left:1rem}.seg-toggle{display:inline-flex;background:hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.9);border-radius:12px;padding:3px;width:-moz-fit-content;width:fit-content;box-shadow:0 2px 8px rgba(0,0,0,.04)}.seg-toggle-btn{padding:.4rem 1rem;font-size:.82rem;font-weight:500;border:none;cursor:pointer;background:transparent;color:var(--gray-700);transition:all .15s;white-space:nowrap;min-height:44px;border-radius:9px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.seg-toggle-btn.active{background:linear-gradient(135deg,#0d1f3c,#1e4080);color:var(--white);font-weight:600;box-shadow:0 2px 8px rgba(13,31,60,.25)}.seg-toggle-btn:hover:not(.active){background:rgba(0,0,0,.04)}.tab-bar{display:flex;gap:0;margin-bottom:1.25rem;background:hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.9);border-radius:14px;padding:4px;box-shadow:0 2px 8px rgba(0,0,0,.04);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tab-bar::-webkit-scrollbar{display:none}.tab-btn{background:none;border:none;cursor:pointer;flex-shrink:0;padding:.6rem 1.25rem;font-size:.875rem;font-weight:500;color:var(--gray-500);border-radius:10px;transition:all .15s;white-space:nowrap;min-height:44px}.tab-btn.active{font-weight:700;color:#fff;background:linear-gradient(135deg,#0d1f3c,#1e4080);box-shadow:0 2px 8px rgba(13,31,60,.25)}.tab-btn:hover:not(.active){color:var(--blue-700);background:rgba(0,0,0,.04)}@media (max-width:480px){.tab-btn{padding-left:.75rem;padding-right:.75rem}}.enroll-student-block{border:1px solid hsla(0,0%,100%,.9);border-radius:var(--radius-md);padding:1rem 1.25rem;margin-bottom:1rem;background:hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.enroll-student-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.enroll-student-name{font-weight:700;font-size:.95rem;color:var(--blue-900)}.enroll-student-meta{font-size:.82rem;color:var(--gray-500);margin-left:.75rem}.enroll-medical-badge{margin-left:.75rem;font-size:.75rem;background:#fef3c7;color:#92400e;padding:.15rem .55rem;border-radius:100px}.enroll-add-link,.enroll-medical-badge{display:inline-flex;align-items:center;gap:.25rem;font-weight:600}.enroll-add-link{font-size:.82rem;color:var(--blue-700);background:none;border:none;cursor:pointer;padding:.25rem 0;text-decoration:none;min-height:44px}.enroll-add-link:hover{text-decoration:underline}.enroll-new-form{border:1.5px dashed var(--gray-300);border-radius:var(--radius-md);padding:1rem 1.25rem;background:var(--gray-100)}.enroll-new-form h3{font-family:var(--font-sora),sans-serif;font-size:.9rem;font-weight:700;color:var(--blue-900);margin-bottom:.75rem}.settings-section{background:hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.9);border-radius:var(--radius-md);padding:1.25rem 1.5rem;margin-bottom:1.25rem}.settings-section-title{font-family:var(--font-sora),sans-serif;font-size:.95rem;font-weight:700;color:var(--blue-900);margin-bottom:1rem}.settings-policy-info{background:var(--blue-50);border-radius:var(--radius-sm);padding:.75rem 1rem;margin-bottom:1.25rem;font-size:.875rem;color:var(--gray-700)}.settings-policy-version{font-size:.82rem;font-weight:600;color:var(--blue-800);margin-bottom:.25rem}.settings-policy-hint{font-size:.78rem;color:var(--gray-500);margin-top:.3rem}.procedure-griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:.7rem;gap:.7rem;margin-bottom:1.25rem}.procedura-porta{display:block;text-decoration:none;background:hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.9);border-left:3px solid var(--accent);border-radius:var(--radius-md);padding:.8rem .95rem;transition:transform .12s ease,box-shadow .12s ease}.procedura-porta:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.07)}.procedura-nome{font-family:var(--font-sora),sans-serif;font-size:.88rem;font-weight:700;color:var(--blue-900);margin:0 0 .15rem}.procedura-cosa{font-size:.76rem;line-height:1.5;color:var(--gray-600);margin:0}.settings-confine{display:flex;align-items:center;gap:.7rem;margin:2.2rem 0 1.1rem}.settings-confine:after,.settings-confine:before{content:"";flex:1 1;height:1px;background:linear-gradient(90deg,transparent,var(--gray-300),transparent)}.settings-confine span{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:var(--gray-500);text-align:center;white-space:nowrap}@media (max-width:560px){.settings-confine:after,.settings-confine:before{display:none}.settings-confine span{white-space:normal;text-align:left}}.conferma-scritta{border-color:var(--red-200)}.conferma-titolo{font-family:var(--font-sora),sans-serif;font-size:1.05rem;font-weight:700;color:var(--blue-900);margin:0 0 .4rem}.conferma-descrizione{font-size:.88rem;line-height:1.65;color:var(--gray-700);margin-bottom:.9rem}.conferma-descrizione p{margin:0 0 .5rem}.conferma-descrizione p:last-child{margin-bottom:0}.conferma-errore,.conferma-motivo{color:var(--red-700);font-size:.88rem;margin:0 0 .7rem}.conferma-etichetta{display:block;font-size:.85rem;color:var(--gray-700);margin-bottom:.35rem}.conferma-riga{display:flex;gap:.6rem;align-items:stretch;flex-wrap:wrap}.conferma-campo{max-width:200px}@media (max-width:520px){.conferma-riga{flex-direction:column;align-items:stretch}.conferma-campo{max-width:none}.conferma-bottone{width:100%}}.elenco-procedura{overflow-x:auto;-webkit-overflow-scrolling:touch}.elenco-procedura table{margin:0;min-width:100%}.elenco-vuoto{font-size:.88rem;color:var(--gray-500);padding:1rem 1.25rem;margin:0}@media (max-width:560px){.elenco-procedura .col-secondaria{display:none}.elenco-procedura table{font-size:.82rem}}.preflight-esito{margin-top:.9rem;border:1px solid var(--gray-200);border-radius:8px;padding:.85rem 1rem}.preflight-esito.is-ok{border-color:var(--green-300);background:var(--green-50)}.preflight-esito.is-ko{border-color:var(--red-200);background:var(--red-50)}.preflight-verdetto{margin:0 0 .6rem;font-size:.9rem;font-weight:700}.is-ok .preflight-verdetto{color:var(--green-700)}.is-ko .preflight-verdetto{color:var(--red-700)}.preflight-elenco{margin:0;padding:0;list-style:none;font-size:.82rem;line-height:1.65;color:var(--gray-800)}.preflight-elenco li{display:grid;grid-template-columns:1.1rem 1fr;grid-gap:.35rem;gap:.35rem;margin-bottom:.35rem}.preflight-elenco li:last-child{margin-bottom:0}.preflight-segno{font-weight:700}.preflight-segno.stato-pass{color:var(--green-700)}.preflight-segno.stato-warn{color:var(--amber-600)}.preflight-segno.stato-fail{color:var(--red-700)}.numeri-procedura{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:.6rem;gap:.6rem}.numero-riquadro{border:1px solid var(--gray-200);border-radius:6px;padding:.55rem .7rem;background:var(--gray-50)}.numero-etichetta{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);font-weight:700}.numero-valore{font-size:1.05rem;font-weight:600;color:var(--gray-900)}.avviso-bacheca-campo{width:100%;min-height:84px;resize:vertical;font-family:inherit;line-height:1.55}.campo-con-unita{display:flex;align-items:center;gap:.45rem}.campo-con-unita .form-input{max-width:120px}.campo-unita{font-size:.9rem;color:var(--gray-600);font-weight:600}.modalita-sola-lettura{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:.6rem;gap:.6rem;margin-top:.3rem}.modalita-riquadro{border:1px solid var(--gray-200);border-radius:6px;padding:.6rem .75rem;background:var(--gray-50)}.modalita-nome{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);font-weight:700}.modalita-valore{font-size:.95rem;font-weight:700;font-family:var(--font-mono,monospace);color:var(--gray-900)}.modalita-valore-vivo{color:var(--red-700)}.modalita-dove{font-size:.74rem;line-height:1.45;color:var(--gray-500);margin:.25rem 0 0}.settings-colonna{max-width:820px}.settings-occhiello{margin:0;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--gray-500)}.settings-allarme{margin:.75rem 0 0;padding:.55rem .75rem;border-left:3px solid var(--amber-600);background:var(--amber-50);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.8rem;line-height:1.55;color:var(--gray-800)}.form-hint{margin:.4rem 0 0;max-width:58ch;font-size:.8rem;line-height:1.6;color:var(--gray-600)}.campo-corto,.campo-data,.campo-tendina{width:100%}@media (min-width:620px){.campo-data{max-width:200px}.campo-tendina{max-width:260px}.campo-corto{max-width:220px}}.campo-tendina{min-height:42px}.campo-patto{width:100%;min-height:320px;resize:vertical;font-family:inherit;line-height:1.6}@media (max-width:560px){.campo-patto{min-height:200px}}.settings-pct-parziale,.settings-pct-piena{margin-left:.4rem;font-weight:700;font-size:.85rem}.settings-pct-piena{color:var(--green-700)}.settings-pct-parziale{color:var(--amber-600)}.settings-salvato{color:var(--green-700);font-weight:600;font-size:.875rem;align-self:center}.family-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media (max-width:600px){.family-form-grid{grid-template-columns:1fr}}.family-form-span2{grid-column:span 2}@media (max-width:600px){.family-form-span2{grid-column:span 1}}.temp-pwd-display{margin-top:.4rem;font-size:.82rem;color:var(--blue-800);font-weight:600;background:var(--blue-50);border-radius:var(--radius-sm);padding:.4rem .75rem}.temp-pwd-display code{font-family:monospace;letter-spacing:.05em}.breadcrumb{display:flex;align-items:center;gap:.4rem;font-size:.78rem;margin-bottom:.4rem}.breadcrumb,.breadcrumb a{color:var(--gray-500)}.breadcrumb a:hover{color:var(--blue-600)}.breadcrumb-sep{color:var(--gray-300)}@media (max-width:480px){.class-card-header{flex-direction:column;align-items:flex-start}.class-card-header>div:last-child{width:100%}.class-card-header>div:last-child .btn{flex:1 1;justify-content:center;min-height:48px;font-size:.875rem}}.page-section{margin-bottom:2.5rem}.section-heading{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}.section-heading-label{font-family:var(--font-sora),sans-serif;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-500)}.section-heading-line{flex:1 1;height:1px;background:var(--gray-200)}.card--blue{border-top:3px solid var(--blue-500)}.card--green{border-top:3px solid #16a34a}.card--amber{border-top:3px solid #d97706}.card--gold{border-top:3px solid #eab308}.card--red{border-top:3px solid #dc2626}.card--purple{border-top:3px solid #7c3aed}.card-header--amber,.card-header--blue,.card-header--gold,.card-header--green,.card-header--red{background:linear-gradient(135deg,var(--blue-900) 0,var(--blue-700) 100%)}.inline-section-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);margin-bottom:.6rem;margin-top:1.25rem;display:block}.inline-section-label:first-child{margin-top:0}@keyframes skeleton-shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton{background:linear-gradient(90deg,var(--gray-100) 25%,#e9ecef 50%,var(--gray-100) 75%);background-size:600px 100%;animation:skeleton-shimmer 1.4s linear infinite;border-radius:6px}.skeleton-line{height:14px;margin-bottom:8px}.skeleton-line.short{width:40%}.skeleton-line.medium{width:65%}.skeleton-line.full{width:100%}.skeleton-title{height:22px;width:35%;margin-bottom:16px}.skeleton-card{background:hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.9);border-radius:14px;padding:1.5rem;margin-bottom:1.5rem}.skeleton-row{display:flex;gap:12px;margin-bottom:10px}.skeleton-cell{height:12px;border-radius:4px;flex:1 1}.skeleton-cell.narrow{flex:0 0 80px}.skeleton-cell.wide{flex:0 0 180px}.dark{--bg:#0f0f1a;--white:#1a1a2e;--gray-900:#e8e6e2;--gray-700:#b8b6b2;--gray-500:#7a7882;--gray-300:#3e3c50;--gray-200:#2e2c44;--gray-100:#242238;--blue-900:#0d1128;--blue-800:#141a3c;--blue-50:#1e1c3a;--blue-100:#2a2858;--blue-200:#3730a3;--red-700:#fca5a5;--red-200:#5b2130;--red-50:#2a1520;--green-700:#86efac;--green-300:#1f5136;--green-50:#12261c;--amber-600:#fcd34d;--amber-300:#6b4f16;--amber-200:#5c4413;--amber-50:#2a2010;--gray-800:#d4d2ce;--gray-600:#9a98a4;--gray-50:#1c1a2e}.dark body{background:var(--bg);color:var(--gray-900)}.dark .app-content{background:linear-gradient(180deg,#0f0f1a,#151528)}.dark .card,.dark .class-card,.dark .dt-col-panel,.dark .dt-stat,.dark .enroll-student-block,.dark .form-card,.dark .global-search-input-wrap,.dark .mgmt-nav-link,.dark .page-header,.dark .seg-toggle,.dark .settings-section,.dark .skeleton-card,.dark .stat-card,.dark .student-block,.dark .tab-bar,.dark .table-wrapper,.dark .week-day-block{background:rgba(26,26,46,.85);border-color:hsla(0,0%,100%,.08)}.dark .global-search-results,.dark .modal{background:rgba(26,26,46,.95);border-color:hsla(0,0%,100%,.08)}.dark .page-section-header,.dark .seg-toggle-btn.active,.dark .tab-btn.active{background:linear-gradient(135deg,#1e3a5f,#2563eb)}.dark .login-card{background:#1a1a2e;box-shadow:0 20px 60px rgba(0,0,0,.6)}.dark input,.dark select,.dark textarea{background:var(--gray-100);color:var(--gray-900);border-color:var(--gray-200)}.dark input::placeholder,.dark textarea::placeholder{color:var(--gray-500)}.dark .btn-ghost{background:var(--gray-100);color:var(--gray-700)}.dark .btn-ghost:hover{background:var(--gray-200)}.dark .btn-secondary{background:var(--blue-50);color:#a5b4fc;border-color:var(--blue-200)}.dark .btn-secondary:hover{background:var(--blue-100)}.dark .btn-danger{background:#3d1010;color:#fca5a5}.dark .btn-danger:hover{background:#5a1a1a}.dark .btn-danger-ghost{background:var(--gray-100);color:#fca5a5}.dark .badge-draft{background:#3a2a00;color:#fcd34d}.dark .badge-sent{background:#1e3a5f;color:#93c5fd}.dark .badge-paid,.dark .badge-present{background:#0a2e1e;color:#6ee7b7}.dark .badge-absent{background:#3d1010;color:#fca5a5}.dark thead tr{background:var(--gray-100)}.dark tbody tr:hover td{background:var(--blue-50)}.dark .modal-overlay{background:rgba(0,0,0,.7)}.dark .modal-content,.dark [class*=modal]{background:#1a1a2e;border-color:var(--gray-200)}.prep-list{list-style:none;padding:0;margin:0}.prep-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .25rem;border-bottom:1px solid var(--gray-100);transition:background .15s}.prep-item:last-child{border-bottom:none}.prep-item:hover{background:var(--blue-50);border-radius:var(--radius-sm)}.prep-check{width:20px;height:20px;flex-shrink:0;border-radius:5px;border:2px solid var(--gray-300);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;color:transparent;font-size:12px}.prep-check:hover{border-color:var(--blue-500)}.prep-check.checked{background:var(--blue-700);border-color:var(--blue-700);color:#fff}.prep-title{flex:1 1;font-size:.875rem;color:var(--gray-700);font-weight:500}.prep-title.checked{text-decoration:line-through;color:var(--gray-400)}.prep-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.prep-item:hover .prep-actions{opacity:1}.prep-add-row{display:flex;gap:.5rem;margin-top:.75rem;align-items:center}.prep-add-input{flex:1 1;padding:.45rem .75rem;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.85rem;font-family:var(--font-sora),sans-serif;background:hsla(0,0%,100%,.6);transition:border-color .15s}.prep-add-input:focus{outline:none;border-color:var(--blue-500)}.prep-progress{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--gray-500);font-weight:600}.prep-progress-bar{width:60px;height:5px;background:var(--gray-200);border-radius:3px;overflow:hidden}.prep-progress-fill{height:100%;background:linear-gradient(90deg,var(--blue-500),var(--blue-700));border-radius:3px;transition:width .3s ease}.fin-net{display:flex;flex-direction:column;gap:2px;padding:1rem 1.25rem;border-radius:var(--radius-md);margin-bottom:1rem}.fin-net--pos{background:#ecfdf5;border:1px solid #a7f3d0}.fin-net--neg{background:#fef2f2;border:1px solid #fecaca}.fin-net-label{font-size:.8rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.fin-net--pos .fin-net-label{color:#047857}.fin-net--neg .fin-net-label{color:#b91c1c}.fin-net-value{font-size:2rem;font-weight:800;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fin-net--pos .fin-net-value{color:#059669}.fin-net--neg .fin-net-value{color:#dc2626}.fin-breakdown{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem;margin-bottom:1.25rem}.fin-stat{display:flex;flex-direction:column;gap:2px;padding:.75rem .9rem;background:var(--gray-50,#f9fafb);border:1px solid var(--gray-100);border-radius:var(--radius-md)}.fin-stat-label{font-size:.75rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.03em}.fin-stat-value{font-size:1.15rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fin-stat-sub{font-size:.72rem;color:var(--gray-400)}.fin-pos{color:#059669}.fin-neg{color:#dc2626}.fin-list{list-style:none;padding:0;margin:0 0 .25rem}.fin-row{display:flex;align-items:stretch;gap:.5rem;border-bottom:1px solid var(--gray-100)}.fin-row:last-child{border-bottom:none}.fin-row-main{flex:1 1;display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:none;border:none;cursor:pointer;padding:.85rem .25rem;text-align:left;font-family:inherit;min-height:48px}.fin-row-main:active{--ee4k-premuto:transparent;background:var(--blue-50)}.fin-row-desc{font-weight:500}.fin-row-amt,.fin-row-desc{font-size:.95rem;color:var(--gray-700)}.fin-row-amt{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.fin-del{flex:none;width:44px;background:none;border:none;cursor:pointer;color:#dc2626;font-size:1.1rem;line-height:1;border-radius:var(--radius-sm)}.fin-del:active{--ee4k-premuto:transparent;background:#fef2f2}.fin-edit{width:100%;display:flex;flex-direction:column;gap:.5rem;padding:.6rem .15rem}.fin-add-bottom,.fin-edit-bottom{display:flex;gap:.5rem;align-items:stretch}.fin-input{flex:1 1;width:100%;padding:.7rem .85rem;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-size:1rem;font-family:inherit;background:#fff}.fin-input:focus{outline:none;border-color:var(--blue-500)}.fin-amt-wrap{display:flex;align-items:center;gap:0;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);background:#fff;padding-left:.7rem;width:130px;flex:none}.fin-amt-wrap:focus-within{border-color:var(--blue-500)}.fin-amt-sym{color:var(--gray-500);font-weight:600}.fin-amt-input{border:none!important;flex:1 1;width:100%;padding-left:.35rem}.fin-amt-input:focus{outline:none}.fin-btn{min-height:44px;padding:0 1rem}.fin-add{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--gray-200)}.fin-add-btn{flex:1 1;min-height:48px;font-weight:700}.fin-notes{margin-top:1rem;padding:.75rem;background:var(--blue-50);border-radius:var(--radius-sm);font-size:.85rem;color:var(--gray-600)}@media (min-width:640px){.fin-net{flex-direction:row;align-items:baseline;justify-content:space-between}}.busta,.busta-sommario{margin-bottom:.75rem}.busta-sommario>.card-body,.busta>.card-body{padding:12px 14px}.busta-sommario .fin-breakdown{margin-bottom:0;gap:.5rem}.busta-sommario .fin-stat{padding:.5rem .7rem}.busta-net{flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .8rem;margin-bottom:.25rem}.busta-net-sx{display:flex;flex-direction:column;gap:1px;min-width:0}.busta-net .fin-net-label{font-size:.72rem}.busta-net .fin-net-value{font-size:1.3rem;font-weight:800;white-space:nowrap}.busta .fin-row-main{padding:.45rem .25rem;min-height:44px}.busta .fin-add{margin-top:.5rem;padding-top:.6rem}.busta-add-persona{padding:.75rem;margin-top:0;border-top:none}.busta-apri{display:block;width:100%;min-height:44px;margin-top:.4rem;background:none;cursor:pointer;border:1px dashed var(--gray-200);border-radius:var(--radius-sm);color:var(--blue-700);font-family:inherit;font-size:.9rem;font-weight:700}.busta-apri:active,.busta-apri:hover{--ee4k-premuto:transparent;background:var(--blue-50)}.busta-sommario~.busta-apri{margin:0 0 .75rem;background:hsla(0,0%,100%,.7)}.fatt-card{padding:1.25rem;margin-bottom:1.25rem;background:var(--ee4k-white);border:1px solid var(--ee4k-gray-200);border-radius:var(--ee4k-radius-lg);box-shadow:var(--ee4k-shadow-sm)}.fatt-card--ambra{background:var(--ee4k-amber-50);border-color:var(--ee4k-amber-200)}.fatt-titolo{margin:0;font-size:1.05rem;font-weight:700;color:var(--ee4k-gray-900)}.fatt-vuoto{margin:.5rem 0 0;font-size:.9rem;line-height:1.6}.fatt-vuoto--ok{color:var(--ee4k-green-700)}.fatt-vuoto--ambra{color:var(--ee4k-amber-700)}.fatt-elenco{display:flex;flex-direction:column;gap:.75rem}.fatt-coda-testa{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem 1rem;margin-bottom:1rem}.fatt-coda-sinistra{flex:1 1 auto;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem}.fatt-schede{flex:1 1 16rem;min-width:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:3px;grid-gap:2px;gap:2px;background:var(--ee4k-gray-100);border-radius:999px}.fatt-scheda{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:32px;padding:.25rem .8rem;border:0;cursor:pointer;border-radius:999px;background:transparent;font:inherit;font-size:.8rem;font-weight:600;color:var(--ee4k-gray-600);transition:background .15s,color .15s,box-shadow .15s}.fatt-scheda:hover{color:var(--ee4k-gray-900)}.fatt-scheda[aria-selected=true]{background:var(--ee4k-white);color:var(--ee4k-primary-700);box-shadow:var(--ee4k-shadow-sm)}.fatt-scheda:focus-visible{outline:2px solid var(--ee4k-primary-300);outline-offset:1px}.fatt-scheda-conto{min-width:1.4rem;padding:0 .35rem;border-radius:999px;text-align:center;font-size:.7rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--ee4k-gray-200);color:var(--ee4k-gray-700)}.fatt-scheda[aria-selected=true] .fatt-scheda-conto{background:var(--ee4k-primary-100);color:var(--ee4k-primary-700)}@media (min-width:769px){.fatt-schede .fatt-scheda{min-height:38px}}.fatt-riga{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.1rem;background:var(--ee4k-white);border:1px solid var(--ee4k-gray-200);border-radius:var(--ee4k-radius-md);box-shadow:var(--ee4k-shadow-sm)}.fatt-riga--linea{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1rem}.fatt-riga--scaduta{background:var(--ee4k-red-50);border-color:var(--ee4k-red-200)}.fatt-testa{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.fatt-testa-titolo{display:flex;align-items:baseline;flex-wrap:wrap;gap:.15rem .75rem;min-width:0}.fatt-famiglia{font-size:1.02rem;font-weight:700;color:var(--ee4k-primary-700);text-decoration:none}.fatt-famiglia:hover{text-decoration:underline}.fatt-cifra{font-size:1.02rem;font-weight:700;color:var(--ee4k-gray-900);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.fatt-meta{margin-top:.15rem;font-size:.8rem;color:var(--ee4k-gray-500);line-height:1.45}.fatt-meta--ambra{color:var(--ee4k-amber-700)}.fatt-meta--piano{margin-top:0}.fatt-riga-corpo{min-width:0}.fatt-testa-badge{flex-shrink:0}.fatt-giorni{display:inline-flex;align-items:center;padding:.15rem .55rem;border:1px solid;border-radius:999px;font-size:.75rem;font-weight:700;line-height:1.4;white-space:nowrap}.fatt-giorni--ok{color:var(--ee4k-green-700);border-color:var(--ee4k-green-200);background:var(--ee4k-green-50)}.fatt-giorni--vicina{color:var(--ee4k-amber-700);border-color:var(--ee4k-amber-200);background:var(--ee4k-amber-50)}.fatt-giorni--urgente{color:var(--ee4k-red-700);border-color:var(--ee4k-red-200);background:var(--ee4k-red-50)}.fatt-giorni--scaduta{color:var(--ee4k-red-900);border-color:var(--ee4k-red-300);background:var(--ee4k-red-50)}.fatt-bottoni{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.fatt-bottoni a.ee4k-btn,.fatt-riga--linea>a.ee4k-btn{text-decoration:none;white-space:nowrap}.fatt-etichetta{display:block;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ee4k-gray-500)}.fatt-prodotti{list-style:none;margin:0;padding:0;border:1px solid var(--ee4k-gray-200);border-radius:var(--ee4k-radius-sm);background:var(--ee4k-slate-50)}.fatt-prodotto{display:grid;grid-template-columns:7.25rem minmax(0,1fr) auto;align-items:center;grid-gap:.75rem;gap:.75rem;padding:.5rem .75rem;font-size:.84rem;color:var(--ee4k-gray-800)}.fatt-prodotto+.fatt-prodotto{border-top:1px solid var(--ee4k-gray-200)}.fatt-copia{width:100%;white-space:nowrap}.fatt-prodotto-testo{min-width:0;overflow-wrap:anywhere;line-height:1.45}.fatt-prodotto-importo{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ee4k-gray-900)}.fatt-pagamento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border:1px solid var(--ee4k-gray-200);border-radius:var(--ee4k-radius-sm);background:var(--ee4k-slate-50)}.fatt-pagamento>div{min-width:0;padding:.5rem .75rem}.fatt-pagamento>div+div{border-left:1px solid var(--ee4k-gray-200)}.fatt-pagamento dt{font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ee4k-gray-500)}.fatt-pagamento dd{margin:.1rem 0 0;font-size:.88rem;font-weight:600;color:var(--ee4k-gray-900);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fatt-note{display:grid;grid-template-columns:7.25rem minmax(0,1fr);align-items:center;grid-gap:.75rem;gap:.75rem;padding:.5rem .75rem;border:1px solid var(--ee4k-gray-200);border-radius:var(--ee4k-radius-sm);background:var(--ee4k-slate-50)}.fatt-note-testo{min-width:0;overflow-wrap:anywhere;font-size:.84rem;line-height:1.45;color:var(--ee4k-gray-800)}.fatt-note-testo .fatt-etichetta{margin-bottom:.1rem}.fatt-azioni{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.5rem .75rem;margin:0;padding-top:.75rem;border-top:1px solid var(--ee4k-gray-100)}.fatt-azioni-avviso{flex:1 1 20rem;min-width:0}.fatt-numero-form{display:flex;align-items:center;gap:.5rem .75rem;margin:0 0 0 auto}.fatt-numero-gruppo{display:inline-flex;align-items:stretch}.fatt-numero{width:7.5rem;padding:.4rem .55rem;font:inherit;font-size:.82rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border:1px solid var(--ee4k-gray-300);border-right:none;border-radius:var(--ee4k-radius-sm) 0 0 var(--ee4k-radius-sm)}.fatt-numero:focus{outline:2px solid var(--ee4k-primary-300);outline-offset:-1px}.fatt-salva{border-radius:0 var(--ee4k-radius-sm) var(--ee4k-radius-sm) 0;white-space:nowrap}.fatt-avviso{padding:.55rem .75rem;border-radius:var(--ee4k-radius-sm);font-size:.8rem;line-height:1.5;border:1px solid}.fatt-avviso ul{margin:.3rem 0 0;padding-left:1.1rem}.fatt-avviso a{color:inherit;font-weight:600}.fatt-avviso--rosso{background:var(--ee4k-red-50);border-color:var(--ee4k-red-200);color:var(--ee4k-red-900)}.fatt-avviso--ambra{background:var(--ee4k-amber-50);border-color:var(--ee4k-amber-200);color:var(--ee4k-amber-900)}.fatt-avviso--verde{background:var(--ee4k-green-50);border-color:var(--ee4k-green-200);color:var(--ee4k-green-800)}.fatt-avviso--xls{margin-bottom:.75rem}.fatt-esito{font-size:.8rem;font-weight:600;margin-top:.25rem}.fatt-esito--ok{color:var(--ee4k-green-600)}.fatt-esito--no{color:var(--ee4k-red-700)}.fatt-stato{flex-shrink:0;font-size:.75rem;font-weight:700;color:var(--ee4k-red-800)}.fatt-spiega-titolo{margin:0 0 .25rem;font-size:.875rem;font-weight:600;color:var(--ee4k-gray-900)}.fatt-spiega-testo{margin:0;font-size:.85rem;line-height:1.6;color:var(--ee4k-gray-600)}.fatt-grezzo{margin:0;font-size:.72rem;color:var(--ee4k-red-900);white-space:pre-wrap;word-break:break-word}.fatt-recupero{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.fatt-dettagli{margin:.1rem 0 .6rem}.fatt-dettagli>summary{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;cursor:pointer;font-size:.8rem;font-weight:600;color:var(--ee4k-gray-500);list-style:none}.fatt-dettagli>summary::-webkit-details-marker{display:none}.fatt-dettagli>summary:before{content:"▸";font-size:.75rem}.fatt-dettagli[open]>summary:before{content:"▾"}.fatt-dettagli-testo{margin:0 0 .4rem;color:var(--ee4k-gray-600);font-size:.85rem;line-height:1.6;max-width:640px}@media (max-width:768px){.fatt-card{padding:.9rem 1rem;margin-bottom:.75rem}.fatt-riga{padding:.75rem .8rem;gap:.6rem}.fatt-prodotto{grid-template-columns:minmax(0,1fr) auto;gap:.35rem .75rem;padding:.55rem .65rem}.fatt-prodotto .fatt-prodotto-testo{grid-column:1/-1;grid-row:1}.fatt-note .fatt-copia,.fatt-prodotto .fatt-copia{width:auto;justify-self:start}.fatt-note{grid-template-columns:minmax(0,1fr)}.fatt-note .fatt-note-testo{grid-row:1}.fatt-pagamento{grid-template-columns:minmax(0,1fr)}.fatt-pagamento>div{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.45rem .65rem}.fatt-pagamento>div+div{border-left:0;border-top:1px solid var(--ee4k-gray-200)}.fatt-pagamento dt{white-space:nowrap}.fatt-pagamento dd{margin:0;font-size:.84rem;text-align:right}.fatt-azioni{justify-content:flex-start}.fatt-numero-form{flex:1 1 100%;flex-wrap:wrap;margin:0}.fatt-numero-form>.fatt-etichetta{flex-basis:100%}.fatt-numero,.fatt-numero-gruppo{flex:1 1;min-width:0}.fatt-numero{width:auto;font-size:1rem}}.program-day-tabs{display:flex;gap:0;background:hsla(0,0%,100%,.7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.9);border-radius:14px;padding:4px;box-shadow:0 2px 8px rgba(0,0,0,.04);margin-bottom:1.25rem;flex-wrap:wrap}.program-day-tab{background:none;border:none;cursor:pointer;padding:.5rem 1rem;font-size:.85rem;font-weight:500;color:var(--gray-500);border-radius:10px;transition:all .15s;white-space:nowrap;font-family:var(--font-sora),sans-serif}.program-day-tab.active{font-weight:700;color:#fff;background:linear-gradient(135deg,#0d1f3c,#1e4080);box-shadow:0 2px 8px rgba(13,31,60,.25)}.program-day-tab:hover:not(.active){color:var(--blue-700);background:rgba(0,0,0,.04)}.program-add-day{background:none;border:2px dashed var(--gray-200);cursor:pointer;padding:.45rem .9rem;font-size:.8rem;font-weight:600;color:var(--gray-400);border-radius:10px;transition:all .15s;font-family:var(--font-sora),sans-serif}.program-add-day:hover{border-color:var(--blue-300);color:var(--blue-600)}.program-empty{text-align:center;padding:2rem 0;color:var(--gray-400);font-size:.875rem}.program-status{display:flex;gap:.5rem;align-items:center;font-size:.75rem}.program-status-text{font-weight:500}.program-status-saved{color:#10b981}.program-status-saving{color:var(--gray-400)}.program-status-error{color:#dc2626}.pb-head-right{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.pb-sync-btn{font-size:.8rem;padding:.4rem .8rem;white-space:nowrap;gap:.35rem}.sync-head{display:flex;gap:.9rem;align-items:center;margin-bottom:1rem}.sync-ico{flex-shrink:0;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:1.2rem;line-height:1}.sync-ico.blue{background:var(--blue-50);color:var(--blue-700);border:1px solid var(--blue-200)}.sync-ico.amber{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.sync-ico.green{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.sync-head-text{min-width:0}.sync-head-text p{margin:0;color:var(--gray-500)}.sync-callout,.sync-head-text p{font-size:.85rem;line-height:1.5}.sync-callout{display:flex;gap:.65rem;align-items:flex-start;padding:.85rem 1rem;border-radius:10px}.sync-callout.amber{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.sync-callout.red{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.sync-callout-ico{flex-shrink:0;font-size:1rem;line-height:1.35}.sync-callout strong{font-weight:700}.pb-apply-list{display:flex;flex-direction:column;gap:.4rem;max-height:340px;overflow-y:auto;padding:.15rem;margin:0 -.15rem}.pb-apply-all{display:flex;align-items:center;gap:.6rem;cursor:pointer;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--gray-500);padding:.1rem .3rem .55rem;border-bottom:1px solid var(--gray-200)}.pb-apply-all input{accent-color:var(--blue-700);width:16px;height:16px;cursor:pointer}.pb-apply-all .pb-apply-count{margin-left:auto;font-weight:600;text-transform:none;letter-spacing:0;color:var(--gray-400)}.pb-apply-row{display:flex;align-items:center;gap:.75rem;padding:.7rem .8rem;border:1px solid var(--gray-200);border-radius:10px;cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s}.pb-apply-row:hover{border-color:var(--blue-300)}.pb-apply-row.checked{border-color:var(--blue-400);background:var(--blue-50);box-shadow:0 0 0 1px var(--blue-200) inset}.pb-apply-row input{accent-color:var(--blue-700);width:17px;height:17px;flex-shrink:0;cursor:pointer}.pb-apply-main{min-width:0;flex:1 1;display:flex;flex-direction:column;gap:.2rem}.pb-apply-title{font-weight:600;font-size:.9rem;color:var(--gray-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pb-apply-meta{font-size:.76rem;color:var(--gray-400)}.pb-apply-tags{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.pb-pill{font-size:.68rem;font-weight:700;padding:.15rem .5rem;border-radius:100px;white-space:nowrap}.pb-pill.open{background:#dcfce7;color:#15803d}.pb-pill.closed{background:var(--gray-100);color:var(--gray-500)}.pb-pill.prog{background:#fef3c7;color:#b45309}.dark .pb-apply-row{border-color:#334155}.dark .pb-apply-row:hover{border-color:var(--blue-500)}.dark .pb-apply-row.checked{background:rgba(34,85,164,.15)}.dark .pb-apply-title{color:#e2e8f0}.dark .pb-apply-all{border-color:#334155}.prog-block-list{display:flex;flex-direction:column;gap:6px;margin-bottom:1rem}.prog-block{display:flex;align-items:stretch;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:hsla(0,0%,100%,.6);border:1px solid var(--gray-100);border-left:4px solid;cursor:pointer;transition:box-shadow .15s,background .15s;position:relative}.prog-block:hover{box-shadow:0 2px 8px rgba(0,0,0,.06);background:hsla(0,0%,100%,.9)}.prog-block-time{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.6rem .75rem;min-width:80px;border-right:1px solid var(--gray-100);flex-shrink:0}.prog-block-range{font-size:.78rem;font-weight:600;color:var(--gray-700);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.prog-block-dur{font-size:.68rem;color:var(--gray-400);font-weight:500;margin-top:1px}.prog-block-body{flex:1 1;padding:.55rem .75rem;min-width:0;display:flex;flex-direction:column;justify-content:center}.prog-block-top{display:flex;align-items:center;gap:.5rem}.prog-block-title{font-weight:600;font-size:.85rem;color:var(--blue-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prog-block-badge{font-size:.62rem;font-weight:700;padding:2px 8px;border-radius:8px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;flex-shrink:0}.prog-block-desc{font-size:.78rem;color:var(--gray-500);line-height:1.35;margin-top:3px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.prog-block-delete{position:absolute;top:50%;right:8px;transform:translateY(-50%);background:hsla(0,0%,100%,.8);border:none;border-radius:4px;padding:4px 6px;font-size:11px;color:#dc2626;cursor:pointer;opacity:0;transition:opacity .12s}.prog-block:hover .prog-block-delete{opacity:1}.prog-block-delete:hover{background:#fee2e2}.prog-add-btn{display:block;width:100%;padding:.6rem;border:2px dashed var(--gray-200);border-radius:var(--radius-sm);background:none;cursor:pointer;font-size:.82rem;font-weight:600;color:var(--gray-400);font-family:var(--font-sora),sans-serif;transition:all .15s}.prog-add-btn:hover{border-color:var(--blue-300);color:var(--blue-600);background:var(--blue-50)}.prog-type-pill{padding:4px 12px;border-radius:16px;font-size:.78rem;font-weight:600;border:2px solid var(--gray-200);background:#fff;color:var(--gray-500);cursor:pointer;transition:all .15s;font-family:var(--font-sora),sans-serif}.prog-type-pill:hover{border-color:var(--gray-300);color:var(--gray-700)}.pb-sub{margin:2px 0 0;font-size:.72rem;color:var(--gray-400);font-weight:500}.pb-list{display:flex;flex-direction:column;gap:6px;margin-bottom:1rem;max-height:460px;overflow-y:auto;padding:2px}.pb-empty{text-align:center;color:var(--gray-400);font-size:.85rem;padding:1.5rem;border:1px dashed var(--gray-200);border-radius:var(--radius-sm)}.pb-card{position:relative;border:1px solid var(--gray-150,#e5e7eb);border-left:4px solid #94a3b8;border-radius:9px;background:#fff;padding:7px 10px;display:flex;flex-direction:column;gap:6px;transition:box-shadow .12s,border-color .12s}.pb-card:hover{box-shadow:0 1px 6px rgba(15,23,42,.07)}.pb-card.empty{background:#fafafa;border-style:dashed}.dark .pb-card{background:#1e293b;border-color:#334155}.dark .pb-card.empty{background:#172033}.pb-top{justify-content:space-between;gap:10px;flex-wrap:wrap}.pb-times,.pb-top{display:flex;align-items:center}.pb-times{gap:6px;flex-shrink:0}.pb-time{font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;color:var(--gray-700,#374151);border:1px solid var(--gray-200,#e5e7eb);border-radius:7px;padding:5px 7px;background:#fff;width:96px}.pb-time:focus{outline:none;border-color:var(--blue-400,#60a5fa);box-shadow:0 0 0 2px rgba(96,165,250,.25)}.dark .pb-time{background:#0f172a;border-color:#334155;color:#e2e8f0}.pb-dash,.pb-dur{color:var(--gray-400);font-weight:700}.pb-dur{font-size:.72rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-left:2px}.pb-tags{display:flex;align-items:center;gap:6px;flex-shrink:0}.pb-cat{font-size:.78rem;font-weight:700;border:1px solid;border-radius:999px;padding:4px 10px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-position:right 7px center}.pb-cat:focus{outline:none;box-shadow:0 0 0 2px rgba(96,165,250,.25)}.pb-subcat{font-size:.72rem;font-weight:600;color:var(--gray-500,#6b7280);border:1px solid var(--gray-200,#e5e7eb);border-radius:999px;padding:4px 8px;cursor:pointer;background:#fff;-moz-appearance:none;appearance:none;-webkit-appearance:none}.dark .pb-subcat{background:#0f172a;border-color:#334155;color:#cbd5e1}.pb-menu-btn{display:grid;grid-template-columns:repeat(2,3px);grid-gap:3px 3px;gap:3px 3px;align-content:center;justify-content:center;width:28px;height:28px;border-radius:7px;border:1px solid transparent;background:transparent;cursor:pointer;padding:0}.pb-menu-btn.open,.pb-menu-btn:hover{background:var(--gray-100,#f3f4f6);border-color:var(--gray-200,#e5e7eb)}.pb-menu-btn span{width:3px;height:3px;border-radius:50%;background:var(--gray-500,#6b7280)}.dark .pb-menu-btn.open,.dark .pb-menu-btn:hover{background:#334155}.pb-title{width:100%;border:none;border-bottom:1px solid transparent;background:transparent;font-size:.92rem;font-weight:600;color:var(--gray-800,#1f2937);padding:1px 2px}.pb-title::placeholder{color:var(--gray-400,#9ca3af);font-weight:500;font-style:italic}.pb-title:focus{outline:none;border-bottom-color:var(--blue-400,#60a5fa)}.dark .pb-title{color:#e2e8f0}.pb-note{width:100%;border:1px solid var(--gray-200,#e5e7eb);border-radius:7px;padding:6px 8px;font-size:.85rem;color:var(--gray-600,#4b5563);resize:vertical;background:#fff}.pb-note:focus{outline:none;border-color:var(--blue-400,#60a5fa);box-shadow:0 0 0 2px rgba(96,165,250,.2)}.dark .pb-note{background:#0f172a;border-color:#334155;color:#cbd5e1}.pb-actions{display:flex;flex-wrap:wrap;gap:6px;padding-top:8px;border-top:1px dashed var(--gray-150,#e5e7eb)}.pb-actions button{font-size:.78rem;font-weight:600;border:1px solid var(--gray-200,#e5e7eb);border-radius:7px;background:#fff;color:var(--gray-600,#4b5563);padding:5px 10px;cursor:pointer}.pb-actions button:hover:not(:disabled){background:var(--gray-50,#f9fafb);border-color:var(--gray-300,#d1d5db)}.pb-actions button:disabled{opacity:.4;cursor:not-allowed}.pb-actions .pb-del{color:#dc2626;border-color:#fecaca}.pb-actions .pb-del:hover{background:#fef2f2}.dark .pb-actions button{background:#0f172a;border-color:#334155;color:#cbd5e1}.pb-time::-webkit-calendar-picker-indicator{margin-left:2px;padding:0;opacity:.55}@media (max-width:640px){.program-day-tabs{gap:3px}.program-day-tab{padding:.5rem .85rem}.pb-time{font-size:16px;width:112px;padding:6px}.pb-top{gap:8px}.pb-times{flex-shrink:1;min-width:0}.pb-tags{width:100%;justify-content:flex-start}.pb-apply-row{flex-wrap:wrap;align-items:flex-start;row-gap:.45rem}.pb-apply-main{flex:1 1 60%}.pb-apply-title{white-space:normal}.pb-apply-meta{white-space:nowrap}.pb-apply-tags{flex-basis:100%;flex-wrap:wrap;padding-left:calc(17px + .75rem)}}.evt-count-pill{margin-left:8px;font-size:12px;font-weight:600;background:#f1f5f9;color:#6b7280;padding:2px 8px;border-radius:12px}.evt-details{margin-bottom:1.25rem}.evt-meta-pill{background:#f1f5f9;color:var(--gray-600,#4b5563);padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap}.evt-meta-pill strong{color:var(--gray-800,#1f2937);font-weight:800}.dark .evt-meta-pill{background:#334155;color:#cbd5e1}.evt-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:.75rem 1rem;gap:.75rem 1rem}.evt-fg{display:flex;flex-direction:column;gap:.35rem;min-width:0}.evt-fg.full{grid-column:1/-1}.evt-fg legend,.evt-fg>label{font-size:.8rem;font-weight:600;color:var(--ee4k-gray-700)}.evt-form-grid .form-input{margin:0;min-height:44px}.evt-form-grid textarea.form-input{line-height:1.5}.evt-details-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--gray-100,#f3f4f6)}.dark .evt-details-foot{border-top-color:#334155}@media (max-width:640px){.evt-form-grid{grid-template-columns:1fr}.evt-form-grid .form-input{font-size:16px}}@media (min-width:1024px){.evt-grid.evt-grid-prog{grid-template-columns:minmax(0,1.6fr) minmax(340px,1fr)}}.evt-table{width:100%;table-layout:auto}.dt-table.evt-table td.dt-a-capo:not(:first-child){min-width:0}.evt-table td,.evt-table th{padding:.6rem .65rem}.evt-table td:first-child,.evt-table th:first-child{padding-left:1rem}.evt-table .evt-loc{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.evt-table .evt-actions-cell{width:40px;text-align:center}.evt-table .evt-del-btn{padding:4px 8px;font-size:13px;line-height:1}.evt-table .evt-del-btn:hover{background:#fee2e2}.evt-table select.form-input{min-width:92px}.evt-inline-wrap{display:inline-flex;align-items:center;gap:4px}.evt-inline-btn{border:1px solid transparent;background:transparent;border-radius:6px;padding:2px 6px;font:inherit;font-size:.875rem;color:inherit;cursor:text;min-width:28px;text-align:left;transition:background .12s,border-color .12s}.evt-inline-btn:hover{background:#f3f4f6;border-color:#e5e7eb}.evt-inline-input{font:inherit;font-size:16px;padding:2px 6px;border:1px solid #6366f1;border-radius:6px;outline:none;background:#fff}@media (min-width:768px){.evt-inline-input{font-size:.875rem}}.evt-vis-toggle{display:inline-block;padding:.2em .7em;border:none;border-radius:100px;font-size:.72rem;font-weight:700;cursor:pointer;transition:filter .12s}.evt-vis-toggle:hover{filter:brightness(.95)}.evt-detail{max-width:1400px}.evt-grid{display:grid;grid-gap:1.25rem;gap:1.25rem;grid-template-columns:1fr;align-items:start}@media (min-width:1024px){.evt-grid:not(.evt-grid-single){grid-template-columns:minmax(0,1.55fr) minmax(340px,1fr)}}.evt-col-main,.evt-col-side{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.evt-col-main>*,.evt-col-side>*{margin-bottom:0!important}.prova-togli:hover:not(:disabled){color:#b91c1c;border-color:#fca5a5;background:#fef2f2}@media (max-width:480px){.appello-titolo-libro{display:none}}.anno-scheda{border-left:3px solid var(--accent)}.anno-scheda-testa{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.anno-scheda-titolo{font-family:var(--font-sora),sans-serif;font-size:1.05rem;font-weight:700;color:var(--blue-900);margin:0}.anno-scheda-sotto{margin:0;max-width:62ch;font-size:.8rem;line-height:1.6;color:var(--gray-600)}.anno-blocco+.anno-blocco{margin-top:1.4rem;padding-top:1.4rem;border-top:1px solid var(--gray-200)}.anno-blocco-titolo{font-family:var(--font-sora),sans-serif;font-size:.9rem;font-weight:700;color:var(--blue-900);margin:0 0 .2rem}.anno-blocco-nota{margin:0 0 .9rem;max-width:62ch;font-size:.8rem;line-height:1.6;color:var(--gray-600)}.anno-finestra{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.anno-campo{display:flex;flex-direction:column;gap:.25rem;flex:1 1 160px;min-width:0}.anno-campo .form-label{margin:0}.anno-campo .form-input{width:100%}@media (min-width:620px){.anno-campo{flex:0 1 190px}}.anno-finestra-azione{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}@media (max-width:619px){.anno-finestra-azione{flex-basis:100%}.anno-finestra-azione .btn{flex:1 1 auto}}.anno-salvato{font-size:.8rem;font-weight:600;color:var(--green-700)}.anno-blocco-aiuto{margin-left:.5rem;font-family:inherit;font-size:.75rem;font-weight:500;color:var(--gray-500)}.anno-calendario{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:532px}.anno-mese{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:.7rem .8rem .6rem;min-width:0;transition:opacity .18s ease}.anno-legenda{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem 1rem;margin-top:.6rem}.anno-legenda-voce{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;color:var(--gray-700)}.anno-legenda-quad{width:13px;height:13px;border-radius:3px;border:1px solid transparent;flex:none}.anno-legenda-conta{margin-left:auto;font-size:.78rem;font-weight:700;color:var(--blue-800)}.anno-vuoto{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;padding:.6rem .8rem;border-left:3px solid var(--amber-600);background:var(--amber-50);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.85rem;font-weight:600;color:var(--gray-900)}.anno-pittura{display:flex;flex-direction:column;gap:.5rem}.anno-pittura-comandi,.anno-pittura-date{display:flex;align-items:center;gap:.5rem}.anno-pittura-date .form-input{flex:1 1;min-width:0;width:auto}.anno-pittura-comandi select.form-input{width:auto;flex:0 0 130px}.anno-pittura-comandi .btn{margin-left:auto}.anno-pittura-freccia{color:var(--gray-500)}.anno-weekend{margin:0;align-items:center;font-size:.85rem}.anno-weekend input[type=checkbox]{width:18px;height:18px;flex:none}@media (max-width:599px){.anno-pittura-comandi{flex-wrap:wrap}.anno-pittura-comandi .btn{flex:1 1 100%;margin-left:0}.anno-mese .ee4k-cal-titolo{font-size:1.05rem}}.anno-patto{border:1px solid var(--gray-200);border-left:3px solid var(--green-700);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:.85rem 1rem;background:var(--white)}.anno-patto-vuoto{border-left-color:var(--amber-600);background:var(--amber-50)}.anno-patto-testa{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.anno-patto-versione{margin:.1rem 0 0;font-family:var(--font-sora),sans-serif;font-size:1.35rem;font-weight:700;line-height:1.1;color:var(--blue-900)}.anno-patto-righe{margin:.7rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.5rem .9rem;gap:.5rem .9rem}.anno-patto-dato{font-size:.8rem;color:var(--gray-700)}.anno-patto-dato strong{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--gray-500)}.anno-patto-estratto{margin:.8rem 0 0;padding:.6rem .75rem;max-height:150px;overflow:hidden;position:relative;background:var(--gray-50);border-radius:var(--radius-sm);font-size:.78rem;line-height:1.6;color:var(--gray-700);white-space:pre-wrap}.anno-patto-estratto:after{content:"";position:absolute;left:0;right:0;bottom:0;height:44px;background:linear-gradient(transparent,var(--gray-50))}.anno-patto-azioni{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.9rem}@media (max-width:480px){.anno-patto-azioni .btn{flex:1 1 100%;justify-content:center;text-align:center;white-space:normal}}.patto-attesa{min-height:15rem}@media (max-width:480px){.patto-attesa{min-height:25rem}}.patto-esito{border-left-color:var(--green-700);background:var(--green-50)}.patto-hash{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;letter-spacing:.02em;color:var(--gray-700)}.patto-elenco{list-style:none;margin:0 0 1rem;padding:0;display:grid;grid-gap:.6rem;gap:.6rem}.patto-riga{border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:.75rem .9rem;background:var(--white)}.patto-riga-testa{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.patto-riga-nome{font-family:var(--font-sora),sans-serif;font-size:.95rem;font-weight:700;color:var(--blue-900)}.patto-tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;padding:.12rem .4rem;border-radius:999px;background:var(--gray-100);color:var(--gray-600)}.patto-tag-storico{background:var(--blue-100);color:var(--blue-800)}.patto-riga-quando{margin:.25rem 0 0;font-size:.78rem;color:var(--gray-500)}.patto-riga-azioni{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}@media (max-width:480px){.patto-riga-azioni .btn{flex:1 1 100%}}.patto-elimina:hover:not(:disabled){color:var(--red-700);border-color:#fca5a5;background:var(--red-50)}.patto-nuova{margin-top:.2rem}.patto-clausole{min-height:140px}@media (max-width:560px){.patto-clausole{min-height:110px}}.settings-legacy>summary{cursor:pointer;list-style:revert;color:var(--gray-500)}.settings-legacy[open]>summary{margin-bottom:1rem}.fresco-attesa{display:flex;flex-direction:column;gap:10px;padding:.25rem 0}.soldi-posto:has(>[data-fresco-attesa]){min-height:100vh}.fresco-cella,.fresco-riga{background:linear-gradient(90deg,var(--gray-100) 25%,#e9ecef 50%,var(--gray-100) 75%);background-size:600px 100%;animation:skeleton-shimmer 1.4s linear infinite;border-radius:6px}.fresco-riga{height:14px}.fresco-cella{display:inline-block;width:4.5em;height:.9em;vertical-align:middle}.fresco-errore{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:.875rem;color:#991b1b}@media (prefers-reduced-motion:reduce){.fresco-cella,.fresco-riga{animation:none}}.scheda-seme-ancora{height:0}.scheda-seme{position:absolute;left:0;right:0;bottom:0;min-height:70vh;z-index:20;background:#f0f4fb}.uscite-mese{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:.75rem}.uscite-mese h2{margin:0;font-size:1.15rem;font-weight:700}.uscite-testata{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin:1rem .15rem .4rem}.uscite-testata h3{margin:0;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500)}.uscite-testata span{font-size:.9rem;font-weight:700;color:var(--gray-700);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:normal;text-align:right}.uscite-testata small{font-weight:500;color:var(--gray-500)}.uscite-voce{display:flex;flex-direction:column;gap:1px;min-width:0;text-align:left}.uscite-voce small{font-size:.75rem;color:var(--gray-500)}.uscite-pagata{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer}.uscite-pagata input{width:20px;height:20px}.uscite-campo{display:flex;flex-direction:column;gap:2px;flex:1 1;font-size:.75rem;font-weight:600;color:var(--gray-500)}.busta-riga{border-bottom:1px solid var(--gray-100)}.busta-riga:last-child{border-bottom:none}.busta-riga-testa{display:flex;align-items:center;gap:.25rem}.busta-riga-testa .fin-row-main{flex:1 1}.busta-riga.aperta .busta-riga-testa .fin-row-desc{font-weight:700}.busta-dettaglio{display:flex;flex-direction:column;gap:.25rem;padding:0 0 .6rem .75rem;border-left:2px solid var(--blue-100,#dbeafe);margin:0 0 .5rem .25rem}.busta-dettaglio .fin-row:last-child{border-bottom:none}.uscite-voce small.fin-neg{color:#dc2626;font-weight:600}.cf-testa{justify-content:space-between;gap:.75rem;flex-wrap:wrap;min-height:50px}.cf-azioni,.cf-testa{display:flex;align-items:center}.cf-azioni{gap:.5rem}.cf-conto{font-size:.78rem;font-weight:600;color:hsla(0,0%,100%,.74)}.cf-griglia{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.25rem 1rem;gap:.25rem 1rem;align-items:start}.cf-griglia .form-group{margin-bottom:.75rem;min-width:0}.cf-griglia .cf-largo{grid-column:span 2}.cf-griglia .cf-tutta{grid-column:1/-1;margin-bottom:0}.cf-griglia .cf-interruttore{align-self:end;padding-bottom:.55rem}.cf-riga-insegnante{display:flex;gap:.5rem;margin-bottom:.4rem}.cf-link{background:none;border:0;padding:.2rem 0;font:inherit;font-size:.78rem;font-weight:700;color:var(--blue-700);cursor:pointer}.cf-link:hover{text-decoration:underline}.cf-cambiato .form-input{background:var(--blue-50);border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(45,107,196,.15)}.cf-era{display:block;margin-top:.25rem;font-size:.74rem}.cf-era,.cf-era s{color:var(--gray-500)}@media (max-width:768px){.cf-griglia{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .75rem}.cf-griglia .cf-largo{grid-column:1/-1}}.lp-piega{font:inherit;font-size:.8rem;font-weight:700;color:#fff;cursor:pointer;background:hsla(0,0%,100%,.16);border:1px solid hsla(0,0%,100%,.38);border-radius:var(--radius-md);min-height:36px;padding:0 .9rem;white-space:nowrap}.lp-piega:hover{background:hsla(0,0%,100%,.26)}.lp-riassunto{flex:1 1 auto}@media (min-width:769px){button.lp-piega{min-height:36px}}@media (max-width:768px){.lp-riassunto{order:3;flex-basis:100%}}.cf-interruttore button[role=switch]{min-height:24px}.cs-colonna{min-width:0;scroll-margin-top:1rem}.cs-riassunto{margin:0 0 .6rem;font-size:.82rem;color:var(--gray-600,#4b5563)}.cs-vuota{margin:.5rem 0;padding:.6rem .9rem;font-size:.875rem;color:var(--gray-500);list-style:none}.cs-aggiungi{margin-bottom:.9rem;padding-bottom:.9rem;border-bottom:1px solid var(--gray-100)}.cs-lista{list-style:none;margin:0;padding:0;border:1px solid var(--gray-100);border-radius:var(--radius-md);overflow:hidden}.cs-riga{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.2rem 1rem;padding:.75rem .9rem;border-top:1px solid var(--gray-100)}.cs-riga:first-child{border-top:0}.cs-nome{font-weight:700;font-size:.95rem;min-width:0;overflow-wrap:anywhere}.cs-gioco{font-size:.84rem;color:var(--gray-500)}.cs-ferma{color:var(--red-700,#b91c1c);font-weight:600}.cs-prove{list-style:none}.cs-prove-titolo{padding:6px 12px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;background:var(--ee4k-orange-800);color:var(--ee4k-white)}.cs-prova{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:.6rem .9rem;background:var(--ee4k-orange-50);border-left:4px solid var(--ee4k-orange-800);border-top:1px solid var(--ee4k-orange-200)}.cs-prova-nome{font-weight:800;color:var(--ee4k-orange-800)}.cs-prova-bollino{font-size:10px;font-weight:900;letter-spacing:.08em;padding:2px 7px;border-radius:999px;background:var(--ee4k-orange-800);color:var(--ee4k-white)}.cs-prova-frase{font-size:12px;color:var(--ee4k-orange-800)}.cs-conto{font-weight:500;opacity:.74;margin-left:.35rem}.cs-parole-lista{list-style:none;margin:0;padding:0}.cs-parole-lista li{display:flex;align-items:center;gap:.6rem;padding:.6rem 1rem;border-top:1px solid var(--gray-100);font-size:.86rem}.cs-parole-lista li:first-child{border-top:0}.cs-parola{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.cs-parola span{color:var(--gray-500);margin-left:.3rem}.cs-lista-nome{font-size:.74rem;color:var(--gray-500);white-space:nowrap}@media (max-width:640px){.cs-riga{flex-direction:column;align-items:flex-start}}.cf-riassunto{display:flex;flex-wrap:wrap;gap:.25rem 0;width:100%;text-align:left;cursor:pointer;padding:14px 18px;background:var(--white);border:0;font:inherit;font-size:.92rem;color:var(--gray-900,#111827)}.cf-riassunto span{white-space:nowrap}.cf-riassunto span:not(:last-child):after{content:"·";margin:0 .5rem;color:var(--gray-400,#9ca3af)}.cf-riassunto:hover{background:var(--blue-50)}.cf-fondo{display:flex;justify-content:flex-end;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--gray-100)}@media (max-width:768px){.btn-piu-testo{display:none}.page-header .btn-piu{width:44px;height:44px;padding:0;justify-content:center;font-size:1.5rem;font-weight:600;line-height:1}.page-header>.page-header-right:has(>.btn-piu:only-child){grid-row:1;grid-column:3;justify-self:end}.page-header:has(>.ph-strip):has(.btn-piu){grid-template-columns:minmax(2.75rem,auto) minmax(0,1fr) minmax(2.75rem,auto)}}.copertina{display:flex;flex-direction:column;gap:.5rem}.copertina-cornice{aspect-ratio:16/9;width:100%;max-width:520px;border-radius:var(--ee4k-radius-lg);background:var(--ee4k-gray-100) center /cover no-repeat;border:1px solid var(--ee4k-gray-200)}.copertina-cornice--vuota{display:flex;align-items:center;justify-content:center;border-style:dashed;border-color:var(--ee4k-gray-300);color:var(--ee4k-gray-500);font-size:.875rem}.copertina-nota{font-size:.8125rem;color:var(--ee4k-gray-500)}.copertina-azioni{display:flex;gap:.5rem;flex-wrap:wrap}.modello{display:flex;flex-direction:column;gap:1rem}.modello--barra{padding-bottom:5rem}.modello .form-hint{margin-bottom:.75rem}.modello .card{margin-bottom:0}.modello-riassunto{margin:0;text-align:center;font-size:.9375rem;font-weight:600;color:var(--ee4k-primary-900)}.modello-riga{display:flex;gap:1rem;align-items:flex-end}.modello-largo{flex:1 1;min-width:0}.modello-colore{width:44px;height:44px;padding:2px;border:1px solid var(--ee4k-gray-300);border-radius:var(--ee4k-radius-sm);background:var(--ee4k-white);cursor:pointer}.modello-coppia{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}@media (max-width:480px){.modello-coppia{grid-template-columns:1fr}}.modello-giorni{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:.25rem;gap:.25rem;max-width:460px}.modello-giorno{min-height:44px;min-width:0!important;padding:0;border-radius:var(--ee4k-radius-sm);border:1px solid var(--ee4k-gray-300);background:var(--ee4k-white);color:var(--ee4k-gray-700);font-weight:600;font-size:.8125rem;cursor:pointer}.modello-giorno--su{background:var(--ee4k-primary-900);border-color:var(--ee4k-primary-900);color:var(--ee4k-white)}.modello-altro{margin-top:.25rem;min-height:44px;padding:0;border:none;background:none;color:var(--ee4k-primary-500);font-weight:600;font-size:.875rem;cursor:pointer}.modello-altro-corpo{padding-top:.5rem}.modello-sottotitolo{margin:1.25rem 0 .75rem;font-size:1rem;font-weight:700;color:var(--ee4k-primary-900)}.modello-invito{font-family:inherit;line-height:1.5}.modello-anteprima{border:1px solid var(--ee4k-gray-200);border-radius:var(--ee4k-radius-lg);padding:1rem;background:var(--ee4k-gray-50);max-width:560px}.modello-due-campi{min-width:0}@media (min-width:1024px){.modello-due{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:1.5rem;gap:1.5rem;align-items:start}.modello-due .modello-anteprima{max-width:none}.invito-colonna-anteprima,.modello-due .modello-anteprima{position:-webkit-sticky;position:sticky;top:1rem}}.modello-anteprima-etichetta{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ee4k-gray-500);margin-bottom:.5rem}.modello-anteprima-oggetto{font-weight:700;color:var(--ee4k-primary-900);margin-bottom:.75rem}.modello-anteprima-copertina{aspect-ratio:16/9;border-radius:var(--ee4k-radius-md);background:50%/cover no-repeat;margin-bottom:.75rem}.modello-anteprima-testo{font-size:.9375rem;line-height:1.6;color:var(--ee4k-gray-700)}.modello-anteprima-bottone{margin:1rem auto 0;width:-moz-fit-content;width:fit-content;padding:.75rem 1.5rem;border-radius:var(--ee4k-radius-md);font-weight:700}.modello-anteprima-bottone,.modello-barra{background:var(--ee4k-primary-900);color:var(--ee4k-white)}.modello-barra{position:fixed;left:50%;bottom:calc(1rem + env(safe-area-inset-bottom, 0px));transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:1rem;justify-content:space-between;width:min(560px,calc(100vw - 2rem));padding:.5rem .5rem .5rem 1rem;border-radius:var(--ee4k-radius-lg);box-shadow:var(--ee4k-shadow-md)}.modello-barra-testo{font-weight:600;font-size:.875rem}.modello-barra-azioni{display:flex;gap:.5rem}.modello-barra .ee4k-btn--ghost{color:var(--ee4k-white);background:transparent;border:1px solid color-mix(in srgb,var(--ee4k-white) 45%,transparent)}.evento-picker-giorno{min-width:0!important;min-height:40px!important;padding:0}.evento-picker-punto{position:absolute;left:50%;bottom:4px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--ee4k-violet-500)}.invito{margin-bottom:1.25rem}.invito .card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.invito-stato{font-size:.75rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;background:hsla(0,0%,100%,.16);color:var(--ee4k-white)}.invito-stato--mandato{background:var(--ee4k-white);color:var(--ee4k-primary-900)}.invito-nota{color:var(--ee4k-gray-500)}.invito-avviso,.invito-nota{margin:0 0 1rem;font-size:.875rem}.invito-avviso{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-radius:var(--ee4k-radius-md);background:var(--ee4k-amber-50);color:var(--ee4k-amber-700)}.invito-avviso--solo{display:block}.invito-chi{font-size:.9375rem;color:var(--ee4k-gray-700)}.invito-chi strong{color:var(--ee4k-primary-900)}.invito-link{margin-left:.5rem;padding:0;min-height:0!important;min-width:0!important;border:none;background:none;color:var(--ee4k-primary-500);font-weight:600;font:inherit;cursor:pointer;text-decoration:underline}.invito-link--blocco{display:block;margin:0 0 .75rem;min-height:44px!important;text-decoration:none}.invito-elenco{margin:.5rem 0 0;padding-left:1.1rem;font-size:.875rem;column-count:2}.invito-altri{color:var(--ee4k-gray-500);list-style:none}.invito-anteprima{width:100%;height:640px;border:1px solid var(--ee4k-gray-200);border-radius:var(--ee4k-radius-lg);background:var(--ee4k-white);margin-bottom:1rem}.invito-esito{margin:0 0 .75rem;font-size:.875rem;font-weight:600}.invito-esito--ok{color:var(--ee4k-green-700)}.invito-esito--errore{color:var(--ee4k-red-600)}.invito-azioni{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}@media (max-width:480px){.invito-azioni>*{flex:1 1 100%;justify-content:center}.invito-elenco{column-count:1}}