:root{--sfondo:#f7f5f1;--superficie:#fff;--superficie-alt:#fbfaf8;--bordo:#e2ded7;--bordo-forte:#cfc9c0;--barra:#171512;--barra-attivo:#262320;--barra-linea:#ffffff14;--accento:#ff5900;--accento-testo:#c43f00;--accento-tenue:#fff1ea;--testo-su-accento:#0a0a0a;--pericolo:#d93025;--pericolo-testo:#b3261e;--pericolo-tenue:#fdecea;--testo:#141210;--testo-secondario:#6b655c;--testo-tenue:#a39c92;--disciplina-0:#ff5900;--disciplina-1:#00897b;--disciplina-2:#3949ab;--disciplina-3:#ad1457;--disciplina-4:#827717;--disciplina-5:#5e35b1;--certificato-ok:var(--bordo-forte);--certificato-scadenza:#ff9459;--certificato-scaduto:#c24a00;--certificato-mancante:#7a2b00;--ombra:0 1px 2px #1412100f;--ombra-alta:0 8px 24px #1412101f;--raggio:8px;--raggio-grande:14px;--controllo-h:40px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--display:"Anton", "Arial Narrow", sans-serif;--testo-font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--sfondo);color:var(--testo);font-family:var(--testo-font);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}:focus-visible{outline:2px solid var(--accento);outline-offset:2px}button,input,select{font:inherit}.card{width:100%;max-width:380px;padding:var(--sp-6);background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-grande);box-shadow:var(--ombra-alta)}.card-title{margin:0;font-size:20px;font-weight:700}.card-subtitle{margin:var(--sp-1) 0 var(--sp-5);color:var(--testo-secondario)}.field{margin-bottom:var(--sp-4);display:block}.field-label{margin-bottom:var(--sp-1);color:var(--testo-secondario);font-size:13px;display:block}.field-input{width:100%;min-height:var(--controllo-h);padding:0 var(--sp-3);background:var(--superficie-alt);border:1px solid var(--bordo-forte);border-radius:var(--raggio);color:var(--testo);font:inherit;font-size:14px}.field-input:focus{border-color:var(--accento);box-shadow:0 0 0 3px var(--accento-tenue);outline:none}.field-control{display:block;position:relative}.field-input-with-eye{padding-right:44px}.field-eye{width:44px;color:var(--testo-secondario);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;bottom:0;right:0}.field-eye:hover{color:var(--testo)}.button{justify-content:center;align-items:center;gap:var(--sp-2);width:100%;min-height:var(--controllo-h);padding:0 var(--sp-5);background:var(--accento);border-radius:var(--raggio);color:var(--testo-su-accento);font:inherit;cursor:pointer;border:none;font-size:14px;font-weight:600;display:inline-flex}.button:disabled{background:var(--bordo-forte);cursor:default}.pill{padding:2px var(--sp-2);background:var(--accento-tenue);border:1px solid var(--accento);color:var(--accento-testo);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;font-size:12px;display:inline-flex}.pill:hover{background:var(--superficie)}.link-button{width:100%;margin-top:var(--sp-3);color:var(--testo-secondario);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline;display:block}.link-button svg{margin-right:var(--sp-2);vertical-align:-3px}.link-button:disabled{color:var(--testo-tenue);cursor:default;text-decoration:none}.error-note{margin:0 0 var(--sp-4);padding:var(--sp-3);background:var(--accento-tenue);border-radius:var(--raggio);color:var(--accento-testo);font-size:14px}.sidebar{background:var(--barra);color:#fff;flex-direction:column;flex-shrink:0;width:232px;display:flex}.sidebar-brand{align-items:center;gap:var(--sp-3);height:64px;padding:0 var(--sp-4);border-bottom:1px solid var(--barra-linea);color:inherit;cursor:pointer;text-decoration:none;display:flex}.sidebar-logo{flex-shrink:0;width:30px;height:30px}.sidebar-brand-name{font-family:var(--display);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:16px;font-weight:700}.sidebar-brand-tagline{color:var(--accento);letter-spacing:.12em;text-transform:uppercase;margin:2px 0 0;font-size:10px}.sidebar-nav{padding:var(--sp-3) var(--sp-2);flex-direction:column;flex:1;gap:2px;display:flex}.sidebar>.sidebar-item{margin:var(--sp-3) var(--sp-2) 0}.sidebar-toggle{align-items:center;gap:var(--sp-3);margin:var(--sp-2);padding:var(--sp-3);border:none;border-top:1px solid var(--barra-linea);border-radius:var(--raggio);color:#ffffff73;cursor:pointer;background:0 0;font-size:13px;display:flex}.sidebar-toggle:hover{color:#ffffffe6}.sidebar-item{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--raggio);color:#fff9;text-align:left;cursor:pointer;background:0 0;border:none;font-size:14px;text-decoration:none;display:flex;position:relative}.sidebar-item:hover{color:#ffffffeb;background:#ffffff0f}.sidebar-item.is-active{background:var(--barra-attivo);color:#fff;font-weight:600}.sidebar-item.is-active:before{content:"";background:var(--accento);border-radius:0 2px 2px 0;width:3px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar-item.is-active .sidebar-icon{color:var(--accento)}.topbar{justify-content:flex-end;align-items:center;gap:var(--sp-3);height:64px;padding:0 var(--sp-6);background:var(--superficie);border-bottom:1px solid var(--bordo);display:flex}.topbar-search{width:360px;max-width:100%;position:relative}.topbar-right .topbar-search.field{margin-bottom:0}.topbar-search-icon{top:50%;left:var(--sp-3);color:var(--testo-tenue);pointer-events:none;position:absolute;transform:translateY(-50%)}.topbar-search .field-input{padding-left:36px}.topbar-search-results{z-index:20;max-height:320px;margin:var(--sp-1) 0 0;padding:var(--sp-1);background:var(--superficie);border:1px solid var(--bordo-forte);border-radius:var(--raggio);box-shadow:var(--ombra-alta);list-style:none;position:absolute;left:0;right:0;overflow-y:auto}.topbar-search-results button{align-items:baseline;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--raggio);color:var(--testo);text-align:left;cursor:pointer;background:0 0;border:none;flex-wrap:wrap;font-size:14px;display:flex}.topbar-search-results button:hover,.topbar-search-results button.is-highlighted{background:var(--accento-tenue);color:var(--accento-testo)}.topbar-search-name{font-weight:600}.topbar-search-match{color:var(--testo-tenue);font-size:13px}.topbar-search-none{padding:var(--sp-2) var(--sp-3);color:var(--testo-tenue);font-size:14px}.topbar-search-error{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);color:var(--testo-tenue);font-size:14px;display:flex}.topbar-search-error .link-button{flex-shrink:0;width:auto;margin-top:0}.topbar-search-more{border-top:1px solid var(--bordo);margin-top:var(--sp-1);padding-top:var(--sp-1)}.topbar-search-more button{width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--raggio);color:var(--accento-testo);text-align:center;cursor:pointer;background:0 0;border:none;font-size:13px}.topbar-search-more button:hover{background:var(--accento-tenue)}@media (width<=900px){.topbar-search{max-width:220px}}.topbar-right{align-items:center;gap:var(--sp-3);display:flex}.topbar-role{padding:2px var(--sp-2);background:var(--accento-tenue);color:var(--accento-testo);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;font-size:11px;font-weight:600}.topbar-user{color:var(--testo-secondario);font-size:14px}.topbar-user-menu{position:relative}.topbar-user{align-items:center;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3);border-radius:var(--raggio);color:var(--testo-secondario);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;font-size:14px;display:flex}.topbar-user:hover,.topbar-user[aria-expanded=true]{border-color:var(--bordo-forte);color:var(--testo)}.topbar-user-caret{font-size:11px}.topbar-user-list{z-index:10;top:calc(100% + var(--sp-1));min-width:200px;padding:var(--sp-1);background:var(--superficie);border:1px solid var(--bordo-forte);border-radius:var(--raggio);box-shadow:var(--ombra-alta);flex-direction:column;display:flex;position:absolute;right:0}.topbar-user-item{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--raggio);color:var(--testo);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;font-size:14px;display:flex}.topbar-user-item:hover{background:var(--superficie-alt)}.sidebar.is-collapsed{width:60px}.sidebar.is-collapsed .sidebar-brand-text,.sidebar.is-collapsed .sidebar-label{display:none}.sidebar.is-collapsed .sidebar-brand,.sidebar.is-collapsed .sidebar-item,.sidebar.is-collapsed .sidebar-toggle{justify-content:center;padding-left:0;padding-right:0}@media (width<=700px){.topbar-user{display:none}}.breadcrumb{padding:var(--sp-3) var(--sp-6);margin:calc(var(--sp-5) * -1) calc(var(--sp-6) * -1) var(--sp-5);background:var(--superficie);border-bottom:1px solid var(--bordo);color:var(--testo-secondario);flex-wrap:wrap;align-items:center;font-size:13px;display:flex}.breadcrumb-item{align-items:center;display:flex}.breadcrumb-sep{margin:0 var(--sp-1);color:var(--testo-tenue)}.breadcrumb a{color:inherit;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb-current{color:var(--testo);font-weight:600}.auth-form{min-height:100%;padding:var(--sp-6);place-items:center;display:grid}.qr{margin-bottom:var(--sp-4);padding:var(--sp-4);border:1px solid var(--bordo);border-radius:var(--raggio);background:#fff;place-items:center;display:grid}.manual-secret-hint{margin:0 0 var(--sp-1);color:var(--testo-secondario);font-size:13px}.manual-secret{margin:0 0 var(--sp-5);letter-spacing:.08em;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}.recovery-codes{gap:var(--sp-2);margin:var(--sp-4) 0 var(--sp-5);padding:var(--sp-4);background:var(--superficie-alt);border:1px solid var(--bordo);border-radius:var(--raggio);text-align:center;grid-template-columns:1fr 1fr;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;list-style:none;display:grid}.switch{align-items:center;gap:var(--sp-3);margin:0 0 var(--sp-2);cursor:pointer;display:flex}.field-hint{margin:0 0 var(--sp-4);color:var(--testo-secondario);font-size:13px}.modal{width:100%;max-width:min(760px, calc(100vw - 2 * var(--sp-5)));max-height:calc(100vh - 2 * var(--sp-5));background:0 0;border:none;padding:0;overflow-y:auto}.modal::backdrop{background:#14121073}.panel{padding:var(--sp-5);background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-grande);box-shadow:var(--ombra-alta)}.panel-pair{gap:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.panel-fixed{margin:0 0 var(--sp-4);padding:var(--sp-3);background:var(--superficie-alt);border-radius:var(--raggio);color:var(--testo-secondario)}.panel-hint.is-warning{color:var(--accento-testo)}.panel-secondary{gap:var(--sp-4);margin-bottom:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--bordo);display:flex}.panel-actions{align-items:center;gap:var(--sp-4);margin-top:var(--sp-5);display:flex}.panel-reason{margin:0 0 var(--sp-4);font-size:15px}.panel-stop{width:100%}.panel-warning{margin:0 0 var(--sp-4);padding:var(--sp-3);background:var(--pericolo-tenue);border-radius:var(--raggio);color:var(--pericolo-testo);font-size:14px}.panel-pill-toggle{gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.panel-pill{padding:var(--sp-1) var(--sp-3);background:var(--superficie-alt);border:1px solid var(--bordo-forte);color:var(--testo-secondario);cursor:pointer;border-radius:999px;font-size:13px}.panel-pill:hover{border-color:var(--accento)}.panel-pill.is-selected{background:var(--accento-tenue);border-color:var(--accento);color:var(--accento-testo);font-weight:600}.panel-actions.is-one-command .button{width:auto;padding-left:var(--sp-6);padding-right:var(--sp-6)}.panel-actions.is-one-command .link-button{width:auto;margin-top:0}.people{flex-direction:column;gap:4px;min-width:0;font-size:13px;display:flex;position:relative}.people-label{color:var(--testo-secondario)}.people-search{width:100%;min-height:var(--controllo-h);padding:0 var(--sp-3);border:1px solid var(--bordo);border-radius:var(--raggio);background:var(--superficie);color:var(--testo);font:inherit;font-size:14px}.people-search:focus-visible{outline:2px solid var(--accento);outline-offset:1px}.people-chosen{gap:var(--sp-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.people-list{z-index:20;max-height:260px;padding:var(--sp-1);background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio);box-shadow:var(--ombra-alta);margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.people-list.is-inline{margin-top:var(--sp-2);position:static}.people-row{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border-radius:var(--raggio);cursor:pointer;display:flex}.people-row:hover{background:var(--superficie-alt)}button.people-row{width:100%;color:var(--testo);font:inherit;text-align:left;background:0 0;border:none}.people-note{color:var(--testo-tenue);margin:0;font-size:12px}.schedule{gap:var(--sp-4);flex-direction:column;height:100%;min-height:0;display:flex}.schedule-tabs{gap:var(--sp-1);border-bottom:1px solid var(--bordo);display:flex}.schedule-tab{padding:var(--sp-3) var(--sp-4);color:var(--testo-secondario);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px}.schedule-tab.is-active{border-bottom-color:var(--accento);color:var(--testo);font-weight:600}.schedule-add{min-height:var(--controllo-h);padding:0 var(--sp-5);background:var(--accento);border-radius:var(--raggio);color:var(--testo-su-accento);font:inherit;cursor:pointer;border:none;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:inline-flex}.schedule-bar{align-items:center;gap:var(--sp-5);display:flex}.schedule-filter{align-items:center;gap:var(--sp-2);color:var(--testo-secondario);font-size:13px;display:flex}.schedule-filter select{padding:var(--sp-1) var(--sp-2);background:var(--superficie);border:1px solid var(--bordo-forte);border-radius:var(--raggio);color:var(--testo)}.schedule-drag{align-items:center;gap:var(--sp-2);color:var(--testo-secondario);cursor:pointer;margin-left:auto;font-size:13px;display:flex}.schedule-notice{padding:var(--sp-3) var(--sp-4);background:var(--accento-tenue);border-radius:var(--raggio);color:var(--accento-testo);margin:0}.schedule-calendar{min-height:0;padding:var(--sp-4);background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-grande);box-shadow:var(--ombra);--fc-border-color:var(--bordo);--fc-page-bg-color:var(--superficie);--fc-neutral-bg-color:var(--superficie-alt);--fc-today-bg-color:var(--accento-tenue);--fc-now-indicator-color:var(--accento);--fc-event-bg-color:var(--accento-tenue);--fc-event-border-color:var(--accento);--fc-event-text-color:var(--testo);--fc-button-bg-color:var(--superficie);--fc-button-border-color:var(--bordo-forte);--fc-button-text-color:var(--testo);--fc-button-hover-bg-color:var(--superficie-alt);--fc-button-hover-border-color:var(--accento);--fc-button-active-bg-color:var(--accento-tenue);--fc-button-active-border-color:var(--accento);--fc-small-font-size:12px;flex:1}.schedule-calendar .fc{height:100%;font-family:var(--testo-font)}.schedule-calendar .fc .fc-toolbar-title{font-size:18px}.schedule-calendar .fc .fc-button{box-shadow:none;text-transform:capitalize}.schedule-calendar .fc .fc-col-header-cell-cushion{padding:var(--sp-2) 0;color:var(--testo-secondario);font-weight:500;text-decoration:none}.schedule-calendar .fc .fc-timegrid-slot-label-cushion{color:var(--testo-tenue)}.schedule-calendar .fc .fc-timegrid-event{border-radius:var(--raggio);box-shadow:none;border-left-width:3px}.schedule-calendar .fc .fc-event.is-course-0{--lezione:var(--disciplina-0)}.schedule-calendar .fc .fc-event.is-course-1{--lezione:var(--disciplina-1)}.schedule-calendar .fc .fc-event.is-course-2{--lezione:var(--disciplina-2)}.schedule-calendar .fc .fc-event.is-course-3{--lezione:var(--disciplina-3)}.schedule-calendar .fc .fc-event.is-course-4{--lezione:var(--disciplina-4)}.schedule-calendar .fc .fc-event.is-course-5{--lezione:var(--disciplina-5)}.schedule-calendar .fc .fc-event[class*=is-course-]{background:color-mix(in srgb, var(--lezione) 12%, #fff);border-color:var(--lezione)}.schedule-calendar .fc .fc-event.is-single{border-style:dashed dashed dashed solid}.schedule-calendar .fc .fc-event.is-cancelled{opacity:.55;border-style:dotted}.schedule-calendar .fc .fc-event.is-cancelled .schedule-event-name{text-decoration:line-through}.schedule-calendar .fc .fc-daygrid-event[class*=is-course-]{background:0 0;border-color:#0000}.schedule-calendar .fc .fc-daygrid-event .schedule-event{border-left:3px solid var(--lezione);padding-left:var(--sp-2)}.schedule-event{padding:1px var(--sp-1);flex-direction:column;display:flex;overflow:hidden}.schedule-event-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.schedule-event-meta{color:var(--testo-secondario);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.schedule-calendar .fc .fc-event.has-attendance .schedule-event-name:after{content:"";width:6px;height:6px;margin-left:var(--sp-1);background:var(--accento);vertical-align:middle;border-radius:999px;display:inline-block}.closures-actions,.closures-form{margin-bottom:var(--sp-5)}.closures-actions .button{width:auto;padding-left:var(--sp-6);padding-right:var(--sp-6)}.closures-form{max-width:520px;padding:var(--sp-4);background:var(--superficie-alt);border-radius:var(--raggio)}.closures-list{border:1px solid var(--bordo);border-radius:var(--raggio);background:var(--superficie);margin:0;padding:0;list-style:none}.closures-row{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--bordo);display:flex}.closures-row:last-child{border-bottom:none}.closures-row .link-button{flex:none;width:auto;margin-top:0}.closures-row>div{flex:1}.closures-days{font-weight:600;display:block}.closures-reason{color:var(--testo-secondario);font-size:13px;display:block}.closures-empty{color:var(--testo-secondario)}.seats{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--bordo)}.seats-title{margin:0 0 var(--sp-2);font-size:15px}.seats-head{justify-content:space-between;align-items:baseline;gap:var(--sp-3);display:flex}.seats-head .seats-title{margin:0}.seats-head .link-button{white-space:nowrap;width:auto;margin-top:0}.seats-head-status{color:var(--testo-secondario);white-space:nowrap;font-size:13px}.seats-actions,.seats-form{margin:var(--sp-3) 0}.seats-actions .button{width:auto;padding-left:var(--sp-6);padding-right:var(--sp-6)}.seats-form{padding:var(--sp-4);background:var(--superficie-alt);border-radius:var(--raggio)}.seats-list{margin:var(--sp-3) 0 0;border:1px solid var(--bordo);border-radius:var(--raggio);background:var(--superficie);padding:0;list-style:none}.seats-row{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--bordo);display:flex}.seats-row:last-child{border-bottom:none}.seats-row.is-open{flex-direction:column;align-items:stretch}.seats-row .link-button{flex:none;width:auto;margin-top:0}.seats-row-info{flex:1}.seats-row .panel-pill-toggle{flex:none;margin-bottom:0}.seats-name{align-items:center;gap:var(--sp-2);flex-wrap:wrap;font-weight:600;display:flex}.seats-person{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.seats-alert-badge{padding:1px var(--sp-2);background:var(--superficie-alt);border:1px solid var(--bordo);white-space:nowrap;border-radius:999px;font-size:11px;font-weight:400}.seats-alert-badge.is-warn{background:var(--accento-tenue);border-color:var(--accento);color:var(--accento-testo)}.seats-alert-badge.is-danger{background:var(--pericolo-tenue);border-color:var(--pericolo);color:var(--pericolo-testo)}.seats-when{color:var(--testo-secondario);font-size:13px;display:block}.seats-empty{margin:var(--sp-3) 0 0;color:var(--testo-secondario)}.seats-subtitle{margin:var(--sp-4) 0 var(--sp-2);color:var(--testo-secondario);font-size:13px;font-weight:600}.waitlist-position{min-width:20px;height:20px;padding:0 var(--sp-1);background:var(--superficie-alt);border:1px solid var(--bordo);color:var(--testo-secondario);border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.seats-alert-badge.is-invite{background:var(--accento-tenue);border-color:var(--accento);color:var(--accento-testo)}.seats-row[draggable=true]{cursor:grab}.seats-row.is-dragging{opacity:.5}.seats-row-actions{align-items:center;gap:var(--sp-3);flex:none;display:flex}.schedule-search{max-width:340px;padding:var(--sp-2) var(--sp-3);background:var(--superficie);border:1px solid var(--bordo-forte);border-radius:var(--raggio);color:var(--testo);flex:1}.schedule-explain{max-width:78ch;color:var(--testo-secondario);margin:0;font-size:13px}.schedule-groups{gap:var(--sp-3);flex-direction:column;display:flex;overflow-y:auto}.schedule-group{background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-grande);box-shadow:var(--ombra)}.schedule-group summary{align-items:center;gap:var(--sp-3);padding:var(--sp-4);cursor:pointer;display:flex}.schedule-group-name{font-weight:600}.schedule-group-count{color:var(--testo-secondario);font-size:13px}.schedule-table{border-collapse:collapse;width:100%}.schedule-table td{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--bordo);color:var(--testo-secondario)}.schedule-table td:first-child{color:var(--testo)}.schedule-table tr{cursor:pointer}.schedule-table tr:hover td{background:var(--superficie-alt)}.panel-days{margin:0 0 var(--sp-4);border:none;padding:0}.panel-days-row{gap:var(--sp-2);margin-bottom:var(--sp-2);flex-wrap:wrap;display:flex}.panel-day{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--superficie-alt);border:1px solid var(--bordo-forte);border-radius:var(--raggio);color:var(--testo-secondario);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.panel-day.is-chosen{background:var(--accento-tenue);border-color:var(--accento);color:var(--accento-testo)}.home{flex-direction:column;display:flex}.tiles{gap:var(--sp-4);margin-bottom:var(--sp-6);grid-template-columns:1fr;display:grid}@media (width>=936px){.tiles{grid-template-columns:repeat(2,1fr)}}@media (width>=1296px){.tiles{grid-template-columns:repeat(3,1fr)}}.tile{gap:var(--sp-2);padding:var(--sp-5);background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-grande);box-shadow:var(--ombra);text-align:left;cursor:pointer;flex-direction:column;display:flex}.tile:hover{border-color:var(--accento)}.tile-value{font-size:32px;font-weight:700;line-height:1}.tile-label,.tile-detail{color:var(--testo-secondario);font-size:13px;line-height:1.4}.tile.is-attention{background:var(--accento-tenue);border-color:var(--accento)}.tile.is-attention .tile-value{color:var(--accento-testo)}.today-lessons{margin-bottom:var(--sp-6);padding:var(--sp-5);background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-grande);box-shadow:var(--ombra)}.today-lessons-header{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);display:flex}.today-lessons-arrow{cursor:pointer;color:var(--testo);background:0 0;border:none;padding:0;font-size:20px}.today-lessons-arrow:hover{color:var(--accento)}.today-lessons-day-input{border:1px solid var(--bordo);border-radius:var(--raggio);background:var(--superficie);color:var(--testo);font:inherit;padding:4px var(--sp-2);font-size:14px}.today-lessons-title{flex:1;margin:0;font-size:16px;font-weight:600}.today-lessons-today-link{margin-left:var(--sp-2);color:var(--accento);cursor:pointer;background:0 0;border:none;font-size:14px;text-decoration:underline}.today-lessons-empty{text-align:center;padding:var(--sp-4);color:var(--testo-secondario);font-size:14px}.today-lessons-list{gap:var(--sp-2);flex-direction:column;display:flex}.lesson-row{align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--sfondo);border:1px solid var(--bordo);border-radius:var(--raggio);cursor:pointer;text-align:left;transition:border-color .2s;display:flex}.lesson-row:hover{border-color:var(--accento)}.lesson-row.is-settled{opacity:.6}.lesson-row.needs-attendance{background:var(--accento-tenue)}.lesson-time{flex-shrink:0;width:50px;font-size:14px;font-weight:600}.lesson-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.lesson-dot.is-course-0{background:var(--disciplina-0)}.lesson-dot.is-course-1{background:var(--disciplina-1)}.lesson-dot.is-course-2{background:var(--disciplina-2)}.lesson-dot.is-course-3{background:var(--disciplina-3)}.lesson-dot.is-course-4{background:var(--disciplina-4)}.lesson-dot.is-course-5{background:var(--disciplina-5)}.lesson-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lesson-name{color:var(--testo);font-size:14px;font-weight:500;display:block}.lesson-teacher{color:var(--testo-secondario);font-size:12px;display:block}.lesson-seats{text-align:right;flex-shrink:0;min-width:80px;font-size:13px}.lesson-seats .is-full{color:var(--accento-testo);font-weight:600}.lesson-cancelled-text{color:var(--testo);font-weight:600}.lesson-attendance-text{color:var(--accento-testo);font-weight:600}.lesson-reason{color:var(--testo-secondario);font-size:13px;display:block}.datalist{flex-direction:column;min-height:0;display:flex}.datalist-bar{gap:var(--sp-3);margin-bottom:var(--sp-4);display:flex}.datalist-search{padding:var(--sp-3) var(--sp-4);background:var(--superficie);border:1px solid var(--bordo-forte);border-radius:var(--raggio);color:var(--testo);flex:1}.datalist-search:focus{border-color:var(--accento);box-shadow:0 0 0 3px var(--accento-tenue);outline:none}.datalist-bar .button{width:auto;padding-left:var(--sp-5);padding-right:var(--sp-5)}.datalist-scroll{background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-grande);box-shadow:var(--ombra);overflow-x:auto}.datalist-table{border-collapse:separate;border-spacing:0;width:100%}.datalist-table th{padding:var(--sp-3) var(--sp-4);background:var(--superficie-alt);border-bottom:1px solid var(--bordo);color:var(--testo-secondario);letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap;font-size:12px;font-weight:600;position:sticky;top:0}.datalist-table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--bordo);font-size:14px}.datalist-table tbody tr:last-child td{border-bottom:none}.datalist-table tbody tr{cursor:pointer}.datalist-table tbody tr:hover{background:var(--accento-tenue)}.datalist-foot{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-top:var(--sp-3);display:flex}.datalist-total{color:var(--testo-tenue);text-align:right;margin:0 0 0 auto;font-size:13px}.datalist-foot:has(.datalist-pages) .datalist-total{text-align:left;margin-left:0}.datalist-pages{align-items:center;gap:var(--sp-2);display:flex}.datalist-page{border:1px solid var(--bordo);border-radius:var(--raggio);background:var(--superficie);color:var(--testo);padding:var(--sp-1) var(--sp-3);font:inherit;cursor:pointer;font-size:13px}.datalist-page:hover:not(:disabled){border-color:var(--bordo-forte)}.datalist-page:disabled{color:var(--testo-tenue);cursor:default}.datalist-page-label{color:var(--testo-tenue);font-size:13px}.datalist-empty{padding:var(--sp-7);background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-grande);color:var(--testo-secondario);text-align:center}.badge{padding:2px var(--sp-2);background:var(--superficie-alt);border:1px solid var(--bordo);color:var(--testo-secondario);white-space:nowrap;border-radius:999px;font-size:12px;display:inline-block}.badge.is-ok{color:var(--testo)}.badge.is-warning{background:var(--accento-tenue);border-color:var(--accento);color:var(--accento-testo);font-weight:600}.datalist-filters{gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.datalist-filter{align-items:center;gap:var(--sp-2);color:var(--testo-secondario);font-size:13px;display:flex}.datalist-filter select{padding:var(--sp-2) var(--sp-3);background:var(--superficie);border:1px solid var(--bordo-forte);border-radius:var(--raggio);color:var(--testo);font-size:13px}.datalist-filter select:focus{border-color:var(--accento);outline:none}.cash{gap:var(--sp-5);flex-direction:column;display:flex}.cash-head{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-5);background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-grande);box-shadow:var(--ombra);flex-wrap:wrap;display:flex}.cash-day-header{align-items:center;gap:var(--sp-3);display:flex}.cash-day-arrow{cursor:pointer;color:var(--testo);background:0 0;border:none;padding:0;font-size:20px}.cash-day-arrow:hover{color:var(--accento)}.cash-day-input{border:1px solid var(--bordo);border-radius:var(--raggio);background:var(--superficie);color:var(--testo);font:inherit;padding:4px var(--sp-2);font-size:14px}.cash-day-title{white-space:nowrap;margin:0;font-size:18px;font-weight:600}.cash-day-today-link{margin-left:var(--sp-3);color:var(--accento);cursor:pointer;background:0 0;border:none;font-size:14px;text-decoration:underline}.cash-period-toggle{gap:var(--sp-2);display:flex}.cash-period-pill{padding:var(--sp-2) var(--sp-4);background:var(--superficie-alt);border:1px solid var(--bordo-forte);color:var(--testo-secondario);cursor:pointer;white-space:nowrap;border-radius:999px;font-size:14px;font-weight:500}.cash-period-pill:hover{border-color:var(--accento)}.cash-period-pill.is-selected{background:var(--accento-tenue);border-color:var(--accento);color:var(--accento-testo);font-weight:600}.cash-tiles{gap:var(--sp-5);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=1279px){.cash-tiles{grid-template-columns:repeat(2,1fr)}}@media (width<=935px){.cash-tiles{grid-template-columns:1fr}}.cash-tile{gap:var(--sp-2);padding:var(--sp-5);background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-grande);box-shadow:var(--ombra);flex-direction:column;display:flex}.cash-tile-value{white-space:nowrap;font-size:32px;font-weight:700;line-height:1}.cash-tile-label,.cash-tile-detail{color:var(--testo-secondario);font-size:13px;line-height:1.4}.cash-voided-line{color:var(--testo-secondario);margin:0;font-size:14px}.cash-who-link{color:var(--accento-testo);text-decoration:underline}.cash-couple-name{white-space:nowrap;display:block}.cash-row.is-voided{opacity:.6}.cash-voided-reason{color:var(--testo-secondario);font-size:12px;display:block}.cash-cell-nowrap{white-space:nowrap}.datalist-table td:has(>.cash-cell-nowrap){white-space:nowrap;width:1%}.openlist{gap:var(--sp-5);flex-direction:column;display:flex}.openlist-head{padding:var(--sp-5);background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-grande);box-shadow:var(--ombra)}.openlist-bar{align-items:flex-start;gap:var(--sp-4);display:flex}.openlist-days-field{max-width:160px}.openlist-search-field{flex:1}.openlist-days.is-overdue{color:var(--pericolo-testo);font-weight:600}.debtor-link{color:var(--accento-testo);text-decoration:underline}.section{gap:var(--sp-6);flex-direction:column;display:flex}.section-tabs{gap:var(--sp-4);border-bottom:1px solid var(--bordo);display:flex}.section-tab{padding:var(--sp-2) 0;color:var(--testo-secondario);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;text-decoration:none}.section-tab:hover{color:var(--testo)}.section-tab.is-active{border-bottom-color:var(--accento);color:var(--testo);font-weight:600}.billing{gap:var(--sp-5);flex-direction:column;display:flex}.billing-head{justify-content:space-between;align-items:flex-end;gap:var(--sp-5);padding:var(--sp-5);background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-grande);box-shadow:var(--ombra);flex-wrap:wrap;display:flex}.billing-name{margin:0;font-size:24px}.billing-figures{gap:var(--sp-6);display:flex}.billing-figure{flex-direction:column;align-items:flex-end;margin:0;display:flex}.billing-figure-value{font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1.1}.billing-figure.is-loud .billing-figure-value{color:var(--accento-testo)}.detail-money{text-align:right;font-variant-numeric:tabular-nums;display:block}.detail-money.is-due{color:var(--accento-testo);font-weight:600}.billing-payments{margin:0;padding:0;list-style:none}.billing-payments li{gap:var(--sp-1);padding:var(--sp-2) 0;border-bottom:1px solid var(--bordo);flex-direction:column;display:flex}.billing-payment-row{justify-content:space-between;align-items:center;gap:var(--sp-4);display:flex}.billing-payments li.is-voided .billing-payment-row{color:var(--testo-secondario);text-decoration:line-through}.billing-payments-title{margin:var(--sp-5) 0 var(--sp-3);font-size:15px}.billing-close{margin-top:var(--sp-5);justify-content:flex-end;display:flex}.billing-close .link-button{width:auto;margin-top:0}.booking-panel{width:min(560px,100%)}.booking-calendar{margin-bottom:var(--sp-4);padding:var(--sp-3);background:var(--superficie-alt);border:1px solid var(--bordo);border-radius:var(--raggio)}.booking-calendar-head{margin-bottom:var(--sp-2);text-transform:capitalize;justify-content:space-between;align-items:center;font-weight:600;display:flex}.booking-calendar-head button{border:1px solid var(--bordo-forte);border-radius:var(--raggio);width:28px;height:28px;color:var(--testo);cursor:pointer;background:0 0;font-size:16px}.booking-calendar-head button:hover{border-color:var(--accento);color:var(--accento-testo)}.booking-calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.booking-calendar-weekday{padding:var(--sp-1) 0;color:var(--testo-tenue);text-align:center;text-transform:uppercase;font-size:11px}.booking-calendar-day{border-radius:var(--raggio);height:40px;color:var(--testo);cursor:pointer;background:0 0;border:none;font-size:13px;position:relative}.booking-calendar-day:hover{background:var(--superficie)}.booking-calendar-day.is-today{color:var(--accento-testo);font-weight:700}.booking-calendar-day.is-selected{background:var(--accento);color:var(--testo-su-accento)}.booking-calendar-dot{opacity:.7;background:currentColor;border-radius:999px;width:4px;height:4px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.booking-pills{gap:var(--sp-3);margin-bottom:var(--sp-4);flex-direction:column;display:flex}.booking-pill-row{gap:var(--sp-2);margin-top:var(--sp-1);flex-wrap:wrap;display:flex}.booking-pill{padding:var(--sp-1) var(--sp-3);background:var(--superficie-alt);border:1px solid var(--bordo-forte);color:var(--testo-secondario);cursor:pointer;border-radius:999px;font-size:13px}.booking-pill:hover{border-color:var(--accento)}.booking-pill.is-selected{background:var(--accento-tenue);border-color:var(--accento);color:var(--accento-testo);font-weight:600}.booking-lessons{margin:0 0 var(--sp-4);padding:0;list-style:none}.booking-lessons li+li{margin-top:var(--sp-2)}.booking-lesson{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3);background:var(--superficie-alt);border:1px solid var(--bordo-forte);border-radius:var(--raggio);color:var(--testo);text-align:left;cursor:pointer;display:flex}.booking-lesson:hover{border-color:var(--accento)}.booking-lesson.is-selected{background:var(--accento-tenue);border-color:var(--accento)}.booking-lesson:disabled{opacity:.5;cursor:not-allowed}.booking-lesson-time{flex:none;width:48px;font-weight:600}.booking-lesson-what{flex:1;min-width:0}.booking-lesson-seats{color:var(--testo-secondario);flex:none;font-size:13px}.booking-upcoming{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--bordo)}.booking-upcoming-list{margin:0;padding:0;font-size:13px;list-style:none}.booking-upcoming-list li{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0;display:flex}.booking-upcoming-list li+li{border-top:1px solid var(--bordo)}.booking-upcoming-list .link-button{width:auto;margin-top:0}.booking-upcoming-confirm{align-items:center;gap:var(--sp-3);display:flex}.booking-upcoming-confirm .button{width:auto;padding:0 var(--sp-4)}.sell-panel{width:min(640px,100%)}.sell-group+.sell-group{margin-top:var(--sp-5)}.sell-group-title{margin:0 0 var(--sp-3);color:var(--testo-secondario);font-size:14px}.sell-cards{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.sell-card{padding:var(--sp-3);background:var(--superficie-alt);border:1px solid var(--bordo-forte);border-radius:var(--raggio);color:var(--testo);text-align:left;cursor:pointer;flex-direction:column;gap:2px;display:flex}.sell-card:hover{background:var(--superficie)}.sell-card.is-selected{background:var(--accento-tenue);border-color:var(--accento)}.sell-card-name{font-weight:600}.sell-card-meta{color:var(--testo-secondario);font-size:13px}.sell-card-price{margin-top:var(--sp-2);font-weight:600}.sell-card-free{cursor:default}.sell-card-free-select{color:var(--accento-testo);text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.sell-free-fields{gap:var(--sp-3);margin-top:var(--sp-3);grid-template-columns:repeat(3,1fr);display:grid}.sell-free-fields .panel-hint{grid-column:1/-1;margin:0}@media (width<=560px){.sell-free-fields{grid-template-columns:1fr}}.detail{gap:var(--sp-3);flex-direction:column;display:flex}.detail-head-sticky{top:calc(var(--sp-5) * -1);z-index:5;margin-top:calc(var(--sp-5) * -1);padding-top:var(--sp-5);padding-bottom:var(--sp-3);background:var(--sfondo);position:sticky}.detail-head{align-items:flex-start;gap:var(--sp-4);display:flex}.detail-head-info{gap:var(--sp-3);flex-direction:column;flex:1;min-width:0;display:flex}.detail-head-actions{align-items:center;gap:var(--sp-3);flex:none;display:flex}.detail-head-actions .button{width:auto;padding:0 var(--sp-6);font-size:15px;font-weight:700}.detail-head-actions .link-button{width:auto;margin-top:0}.detail-menu{position:relative}.detail-menu-trigger{width:var(--controllo-h);height:var(--controllo-h);border:1px solid var(--bordo-forte);border-radius:var(--raggio);color:var(--testo-secondario);cursor:pointer;background:0 0;place-items:center;font-size:18px;line-height:1;display:grid}.detail-menu-trigger:hover{border-color:var(--accento);color:var(--accento-testo)}.detail-menu-list{z-index:10;top:calc(100% + var(--sp-1));min-width:200px;padding:var(--sp-1);background:var(--superficie);border:1px solid var(--bordo-forte);border-radius:var(--raggio);box-shadow:var(--ombra-alta);flex-direction:column;display:flex;position:absolute;right:0}.detail-menu-item,.detail-menu-list .form-cancel{width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--raggio);color:var(--testo);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;font-size:14px;display:block}.detail-menu-item:hover,.detail-menu-list .form-cancel:hover{background:var(--superficie-alt);color:var(--testo)}.detail-menu-item:disabled{color:var(--testo-tenue);cursor:default}.detail-menu-item:disabled:hover{color:var(--testo-tenue);background:0 0}.detail-menu-item svg{margin-right:var(--sp-2);vertical-align:-3px}.detail-name{align-items:baseline;gap:var(--sp-3);margin:0;font-size:24px;display:flex}.detail-name .link-button,.detail-badges .link-button{width:auto;margin-top:0;font-size:13px;font-weight:400;display:inline}.detail-credits-chip{padding:2px var(--sp-3);background:var(--superficie-alt);border:1px solid var(--bordo);color:var(--testo-secondario);white-space:nowrap;border-radius:999px;font-size:13px;font-weight:400}.detail-badges{align-items:center;gap:var(--sp-2);flex-wrap:nowrap;margin:0;display:flex}@media (width<=1279px){.detail-badges{flex-wrap:wrap}}.detail-badge{padding:2px var(--sp-3);background:var(--superficie-alt);border:1px solid var(--bordo);color:var(--testo-secondario);white-space:nowrap;border-radius:999px;font-size:12px}.detail-anchors{flex-wrap:wrap;margin:0;font-size:12px;display:flex}.detail-anchors a{color:var(--testo-secondario);text-decoration:none}.detail-anchors a.is-active{color:var(--accento-testo);font-weight:600}.detail-anchors a:hover{color:var(--accento-testo);text-decoration:underline}.detail-anchors a+a:before{content:"·";margin:0 var(--sp-2);color:var(--testo-tenue)}.detail-note-line{min-height:28px;font-size:13px}.detail-note-line-filled{max-width:480px;padding:var(--sp-3);background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio);align-self:flex-start}.detail-note-line-filled.is-clickable{cursor:pointer}.detail-note-head{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:4px;display:flex}.detail-note-label{color:var(--testo-secondario);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.detail-note-edit{white-space:nowrap;flex:none;width:auto;margin-top:0}.detail-note-edit svg{margin-right:var(--sp-1);vertical-align:-3px}.detail-note-text{-webkit-line-clamp:2;color:var(--testo);-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.detail-badge-link{font:inherit;cursor:pointer}.detail-badge-link:hover{border-color:var(--accento);color:var(--accento-testo)}.detail-badge.is-warn{background:var(--accento-tenue);border-color:var(--accento);color:var(--accento-testo)}.detail-badge.is-danger{background:var(--pericolo-tenue);border-color:var(--pericolo);color:var(--pericolo-testo)}.detail-columns{align-items:start;gap:var(--sp-5);grid-template-columns:7fr 5fr;display:grid}@media (width<=1099px){.detail-columns{grid-template-columns:1fr}}.detail-sections{gap:var(--sp-5);flex-direction:column;display:flex}.detail-story{top:calc(var(--detail-head-height,220px) + var(--sp-4));position:sticky}@media (width<=1099px){.detail-story{position:static;top:auto}}.detail-section+.detail-section{margin-top:var(--sp-5);padding-top:var(--sp-5);border-top:1px solid var(--bordo)}.detail-card{padding:var(--sp-5);background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-grande);box-shadow:var(--ombra);scroll-margin-top:calc(var(--detail-head-height,220px) + var(--sp-5) + var(--sp-3))}.detail-title{margin:0 0 var(--sp-4);font-size:15px;font-weight:600}.detail-row{justify-content:space-between;gap:var(--sp-4);margin:0 0 var(--sp-3);display:flex}.detail-label{color:var(--testo-secondario);font-size:13px}.detail-value{text-align:right;overflow-wrap:anywhere;min-width:0}.detail-value-link{width:auto;color:var(--accento-testo);font-size:inherit;margin-top:0;display:inline}.detail-hint{margin:0 0 var(--sp-4);color:var(--testo-secondario);font-size:13px}.detail-verdict{margin:0 0 var(--sp-3);font-size:22px;font-weight:600}.detail-verdict.is-warn{color:var(--accento-testo)}.detail-tabs{gap:var(--sp-4);margin-bottom:var(--sp-4);border-bottom:1px solid var(--bordo);display:flex}.detail-tab{padding:var(--sp-2) 0;color:var(--testo-secondario);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;font-size:13px}.detail-tab:hover{color:var(--testo)}.detail-tab.is-active{border-bottom-color:var(--accento);color:var(--testo);font-weight:600}.detail-timeline{border-left:2px solid var(--bordo);margin:0;padding:0;list-style:none}.detail-timeline li{align-items:baseline;gap:var(--sp-3);padding:var(--sp-2) 0 var(--sp-2) var(--sp-5);flex-wrap:wrap;display:flex;position:relative}.detail-timeline li:before{content:"";background:var(--bordo-forte);border-radius:999px;width:8px;height:8px;position:absolute;top:14px;left:-5px}.detail-when{min-width:17ch;color:var(--testo-secondario);font-size:13px}.detail-who{color:var(--testo-tenue)}.detail-packages,.detail-payments,.detail-sales,.detail-notifications{margin:0;padding:0;list-style:none}.detail-packages li{padding-top:var(--sp-3);border-top:1px solid var(--bordo)}.detail-packages li+li{margin-top:var(--sp-3)}.detail-package-row{justify-content:space-between;align-items:baseline;gap:var(--sp-1) var(--sp-3);flex-wrap:wrap;display:flex}.detail-package-row .detail-package-name{min-width:0;margin-bottom:0}.detail-package-row .detail-label{white-space:nowrap;flex:none}.detail-package-name{align-items:center;gap:var(--sp-2);margin-bottom:2px;font-weight:600;display:flex}.detail-recovery,.detail-form{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px dashed var(--bordo)}.detail-sale+.detail-sale,.detail-notification+.detail-notification{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--bordo)}.notification-preview{padding:var(--sp-3) var(--sp-4);background:var(--superficie-alt);border:1px solid var(--bordo);border-radius:var(--raggio)}.notification-preview-title{margin:0 0 var(--sp-1);font-weight:600}.notification-preview-body{margin:0 0 var(--sp-2);white-space:pre-wrap}.notification-preview-footer{color:var(--testo-tenue);margin:0;font-size:12px}.detail-sale-head{justify-content:space-between;align-items:center;gap:var(--sp-3);margin:0 0 var(--sp-1);display:flex}.detail-sale.is-void{opacity:.7}.detail-payments{margin:var(--sp-2) 0 0 var(--sp-4)}.detail-payments li+li{margin-top:2px}.detail-due-list{margin:0;padding:0;list-style:none}.detail-due-row{align-items:baseline;gap:var(--sp-1) var(--sp-3);flex-wrap:wrap;display:flex}.detail-due-row+.detail-due-row{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--bordo)}.detail-due-info{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.is-overdue{color:var(--pericolo-testo);font-weight:600}.detail-due-row-amount{white-space:nowrap;align-items:center;gap:var(--sp-3);flex:none;display:flex}.detail-due-pay{padding:var(--sp-1) var(--sp-3);border:1px solid var(--bordo-forte);border-radius:var(--raggio);color:var(--accento-testo);cursor:pointer;background:0 0;flex:none;font-size:12px}.detail-due-pay:hover{border-color:var(--accento)}.detail-due-pay:disabled{color:var(--testo-tenue);cursor:default}.detail-due-pay:disabled:hover{border-color:var(--bordo-forte)}.detail-due-pay svg,.detail-due-void svg{margin-right:var(--sp-1);vertical-align:-3px}.detail-due-payments{padding:0 0 0 var(--sp-3);color:var(--testo-secondario);flex-basis:100%;margin:0;font-size:13px;list-style:none}.detail-due-payments li{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:2px 0;display:flex}.detail-due-payments li.is-voided{flex-direction:column;align-items:flex-start}.detail-due-payments li.is-voided .detail-due-payment-line{text-decoration:line-through}.detail-due-void{color:var(--accento-testo);cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-size:12px;text-decoration:underline}.detail-due-void:disabled{color:var(--testo-tenue);cursor:default;text-decoration:none}.detail-due-payments li.detail-due-remaining{justify-content:flex-end;font-weight:600}.detail-section-head{align-items:baseline;gap:var(--sp-2) var(--sp-3);margin:0 0 var(--sp-4);flex-wrap:wrap;display:flex}.detail-section-head .detail-title{flex:auto;min-width:0;margin:0}.detail-section-head .detail-section-actions{flex:none}.detail-section-head .link-button{white-space:nowrap;width:auto;margin-top:0}.detail-section-actions{align-items:baseline;gap:var(--sp-4);display:flex}.detail-card-footer{align-items:baseline;gap:var(--sp-4);margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--bordo);flex-wrap:wrap;display:flex}.detail-card-footer .link-button{white-space:nowrap;width:auto;margin-top:0}.town-picker{position:relative}.town-chosen{justify-content:space-between;align-items:center;gap:var(--sp-3);min-height:var(--controllo-h);padding:0 var(--sp-3);background:var(--superficie-alt);border:1px solid var(--bordo-forte);border-radius:var(--raggio);font-size:14px;display:flex}.town-clear{color:var(--testo-secondario);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.town-results{z-index:10;max-height:240px;margin:var(--sp-1) 0 0;padding:var(--sp-1);background:var(--superficie);border:1px solid var(--bordo-forte);border-radius:var(--raggio);box-shadow:var(--ombra-alta);list-style:none;position:absolute;left:0;right:0;overflow-y:auto}.town-results button{width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--raggio);color:var(--testo);text-align:left;cursor:pointer;background:0 0;border:none;font-size:14px;display:block}.town-results button:hover,.town-results button.is-highlighted{background:var(--accento-tenue);color:var(--accento-testo)}.town-province{color:var(--testo-tenue)}.town-none{padding:var(--sp-2) var(--sp-3);color:var(--testo-tenue);font-size:14px}.form{flex-direction:column;width:100%;display:flex}.form-body{padding-bottom:var(--sp-4)}.form-title{margin:0 0 var(--sp-2);font-size:20px}.form-hint{margin:0 0 var(--sp-4);color:var(--testo-secondario);font-size:13px}.form-section{margin:0 0 var(--sp-5);padding:var(--sp-5);background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-grande);box-shadow:var(--ombra)}.form-section legend{padding:0 var(--sp-2);color:var(--testo-secondario);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:600}.form-grid{gap:0 var(--sp-5);grid-template-columns:1fr;align-items:start;display:grid}@media (width>=720px){.form-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1200px){.form-grid{grid-template-columns:repeat(3,1fr)}}.form-wide{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:var(--sp-3);padding:var(--sp-4) 0;background:linear-gradient(to top, var(--sfondo) 70%, transparent);display:flex;position:sticky;bottom:0}.form-actions .button{width:auto;padding-left:var(--sp-6);padding-right:var(--sp-6)}.form-cancel{min-height:var(--controllo-h);padding:0 var(--sp-5);background:var(--superficie);border:1px solid var(--bordo-forte);border-radius:var(--raggio);color:var(--testo-secondario);font:inherit;cursor:pointer;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.form-cancel:hover{border-color:var(--accento);color:var(--accento-testo)}.form-cancel:disabled{cursor:default}.form-cancel:disabled:hover{border-color:var(--bordo-forte);color:var(--testo-secondario)}.form-cancel svg{margin-right:var(--sp-2)}.note-warning{color:var(--accento-testo);margin:0;font-size:12px}.privacy-text{max-height:260px;margin:var(--sp-3) 0;padding:var(--sp-4);background:var(--superficie-alt);border:1px solid var(--bordo);border-radius:var(--raggio);white-space:pre-wrap;font-family:inherit;font-size:13px;line-height:1.6;overflow-y:auto}.packages-muted{color:var(--testo-tenue)}.package-formats{margin:0 0 var(--sp-4);border:none;padding:0}.package-course{margin-bottom:var(--sp-3)}.package-course-name{margin:0 0 var(--sp-2);color:var(--testo-secondario);font-size:13px;font-weight:600}.package-course-types{gap:var(--sp-2);margin-bottom:var(--sp-2);flex-wrap:wrap;display:flex}.package-format{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--superficie-alt);border:1px solid var(--bordo-forte);border-radius:var(--raggio);color:var(--testo-secondario);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.package-format.is-chosen{background:var(--accento-tenue);border-color:var(--accento);color:var(--accento-testo)}.figure-cards{gap:var(--sp-4);margin-bottom:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.figure-card{gap:var(--sp-2);padding:var(--sp-5);background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-grande);box-shadow:var(--ombra);text-align:left;cursor:pointer;flex-direction:column;display:flex}.figure-card:hover{border-color:var(--accento)}.figure-name{font-size:16px;font-weight:700}.figure-people{color:var(--testo-tenue);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.figure-permissions{color:var(--testo-secondario);font-size:13px;line-height:1.5}.figures-actions{display:flex}.figures-actions .button{width:auto;padding-left:var(--sp-6);padding-right:var(--sp-6)}.permission-grid{gap:var(--sp-1) var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.panel{width:100%;padding:var(--sp-6);background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-grande);box-shadow:var(--ombra)}.panel-title{margin:0 0 var(--sp-5);font-size:20px}.panel-section{margin:0 0 var(--sp-3);font-size:15px}.panel-rows{gap:var(--sp-2) var(--sp-5);margin:0 0 var(--sp-5);grid-template-columns:auto minmax(0,480px);display:grid}.panel-rows dt{color:var(--testo-secondario);font-size:14px}.panel-rows dd{margin:0;font-size:14px}.panel-hint{margin:0 0 var(--sp-4);color:var(--testo-secondario);font-size:13px}.panel-notice{margin:0 0 var(--sp-4);padding:var(--sp-3);background:var(--superficie-alt);border:1px solid var(--bordo);border-radius:var(--raggio);font-size:14px}.switch{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-2);cursor:pointer;display:flex}.switch input{width:18px;height:18px;accent-color:var(--accento)}.privacy-editor{resize:vertical;font-family:inherit;font-size:13px;line-height:1.6}.device-list{margin:0 0 var(--sp-3);border:1px solid var(--bordo);border-radius:var(--raggio);background:var(--superficie);padding:0;list-style:none}.device-row{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--bordo);display:flex}.device-row:last-child{border-bottom:none}.device-row .link-button{flex:none;width:auto;margin-top:0}.device-name{font-weight:600;display:block}.device-used{color:var(--testo-secondario);font-size:13px;display:block}.device-empty{margin:0 0 var(--sp-3);color:var(--testo-secondario)}.reminders{gap:var(--sp-4);flex-direction:column;display:flex}.reminder-list{border:1px solid var(--bordo);border-radius:var(--raggio-grande);background:var(--superficie);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.reminder-row{align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);display:flex}.reminder-row+.reminder-row{border-top:1px solid var(--bordo)}.reminder-row .switch{margin-bottom:0}.reminder-sentence{color:var(--testo);flex:1;line-height:1.5}.reminder-actions{align-items:center;gap:var(--sp-4);white-space:nowrap;flex-shrink:0;display:flex}.reminder-locked{color:var(--testo-tenue);font-size:13px}.reminders-actions{display:flex}.reminders-actions .button{width:auto;padding-left:var(--sp-6);padding-right:var(--sp-6)}.reminder-duration{gap:var(--sp-4);grid-template-columns:1fr 1fr 1fr;display:grid}.reminder-channels{gap:var(--sp-5);margin-bottom:var(--sp-4);display:flex}.reminder-channels .switch{margin-bottom:0}.reminder-body{resize:vertical;font-family:inherit}.reminder-placeholders{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-direction:column;display:flex}.reminder-placeholder-row{align-items:center;gap:var(--sp-3);display:flex}.reminder-placeholder-meaning{color:var(--testo-secondario);font-size:13px}.reminder-sample{gap:var(--sp-1);color:var(--testo);flex-direction:column;display:flex}.reminder-sample-title{margin:0;font-weight:600}.reminder-sample-body{margin:0}.field-error{margin:calc(var(--sp-1) * -1) 0 var(--sp-3);color:var(--accento-testo);font-size:13px}.settings-section+.settings-section{margin-top:var(--sp-6)}.settings-section-intro{margin:0 0 var(--sp-4);color:var(--testo-secondario);font-size:13px}.settings-field{margin-bottom:var(--sp-4)}.settings-field-row{align-items:flex-end;gap:var(--sp-4);flex-wrap:wrap;display:flex}.settings-field-row .field-label{white-space:nowrap}.settings-field-row .field-control{max-width:240px}.settings-recommended{align-items:center;gap:var(--sp-2);color:var(--testo-secondario);white-space:nowrap;padding-bottom:10px;font-size:13px;display:flex}.settings-recommended .link-button{flex:none;width:auto;margin-top:0}.settings-explain{max-width:640px;margin:var(--sp-1) 0 0;color:var(--testo-secondario);font-size:13px;line-height:1.5}.settings-savebar{z-index:1;justify-content:space-between;align-items:center;gap:var(--sp-4);margin:var(--sp-6) calc(var(--sp-6) * -1) calc(var(--sp-6) * -1);padding:var(--sp-4) var(--sp-6);background:var(--superficie);border-top:1px solid var(--bordo);border-radius:0 0 var(--raggio-grande) var(--raggio-grande);display:flex;position:sticky;bottom:0}.settings-savebar-text p{margin:0;font-size:14px}.settings-savebar-text p+p{margin-top:var(--sp-1)}.settings-savebar-error{color:var(--accento-testo)}.settings-savebar .button{width:auto;padding-left:var(--sp-6);padding-right:var(--sp-6);flex:none}.jobs{gap:var(--sp-4);flex-direction:column;display:flex}.jobs-table{border-collapse:collapse;background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-grande);width:100%;overflow:hidden}.jobs-table th{padding:var(--sp-3) var(--sp-4);color:var(--testo-secondario);letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap;font-size:12px;font-weight:600}.jobs-table td{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--bordo);font-size:14px}.badge.is-late{background:var(--pericolo-tenue);border-color:var(--pericolo);color:var(--pericolo-testo);font-weight:600}.technical{flex-direction:column;display:flex}.tech-status{gap:var(--sp-3);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.tech-tile{gap:var(--sp-1);min-width:150px;padding:var(--sp-3) var(--sp-4);background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-grande);box-shadow:var(--ombra);flex-direction:column;display:flex}.tech-tile.is-bad{border-color:var(--accento);background:var(--accento-tenue)}.tech-tile-label{color:var(--testo-secondario);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.tech-tile-value{font-size:18px;font-weight:700}.tech-tile.is-bad .tech-tile-value{color:var(--accento-testo)}.tech-message-inline{max-width:520px;color:var(--testo-secondario);text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.tech-detail{min-width:min(720px, calc(100vw - 2 * var(--sp-5)))}.tech-detail-head{justify-content:space-between;align-items:center;gap:var(--sp-4);display:flex}.tech-detail-head .panel-title{word-break:break-all;margin:0}.tech-message{margin:var(--sp-3) 0;font-size:14px}.tech-trace{max-height:60vh;margin:var(--sp-3) 0 0;padding:var(--sp-4);background:var(--barra);border-radius:var(--raggio);color:#ffffffd9;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.6;overflow:auto}.app-shell{height:100%;display:flex}.app-work{flex-direction:column;flex:1;min-width:0;display:flex}.app-main{min-height:0;padding:var(--sp-5) var(--sp-6);scroll-behavior:smooth;flex-direction:column;flex:1;display:flex;overflow-y:auto}@media (prefers-reduced-motion:reduce){.app-main{scroll-behavior:auto}}.app-empty{max-width:420px;margin:var(--sp-7) 0 0;padding:var(--sp-6);text-align:center;background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--raggio-grande);box-shadow:var(--ombra)}.app-empty h2{margin:0 0 var(--sp-2);font-size:17px}.app-empty p{color:var(--testo-secondario);margin:0}.app-empty>.button{margin-top:var(--sp-4)}.app-loading{height:100%;color:var(--testo-tenue);place-items:center;margin:0;display:grid}
