html,body{width:100%;height:100%;margin:0;padding:0}body{color:#111827;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{color:#111827;margin:0;font-weight:700}p{margin:0}button{font-family:inherit}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.auth-bg{background:linear-gradient(160deg,#d9e8ff 0%,#edf2ff 45%,#f3f6ff 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:flex}.auth-card{background:#fff;border-radius:18px;width:100%;max-width:420px;animation:.25s authCardIn;overflow:hidden;box-shadow:0 8px 40px #1250c421,0 2px 8px #0000000f}.auth-card--narrow{max-width:400px}@keyframes authCardIn{0%{opacity:0;transform:translateY(-16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-card-header{background:linear-gradient(135deg,#1250c4 0%,#0a3fa0 100%);flex-direction:column;align-items:center;gap:6px;padding:26px 24px 22px;display:flex}.auth-logo{background:#fff;border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:4px;display:flex;overflow:hidden}.auth-logo-icon{font-size:26px;line-height:1}.auth-logo-img{object-fit:contain;width:100%;height:100%;padding:4px}.auth-brand-name{color:#fff;letter-spacing:-.3px;font-size:20px;font-weight:700}.auth-brand-sub{color:#ffffffb8;margin-top:-2px;font-size:12px}.auth-card-body{flex-direction:column;padding:24px 24px 28px;display:flex}.auth-title{color:#111827;text-align:center;margin:0 0 4px;font-size:20px;font-weight:700}.auth-subtitle{color:#6b7280;text-align:center;margin:0 0 20px;font-size:13px;line-height:1.4}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-field-group{flex-direction:column;gap:5px;display:flex}.auth-field-group label{color:#374151;font-size:12px;font-weight:600}.auth-field{position:relative}.auth-field input{color:#111827;box-sizing:border-box;background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.auth-field input::placeholder{color:#9ca3af}.auth-field input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.auth-field--icon-left input{padding-left:36px}.auth-field--icon-both input{padding-left:36px;padding-right:38px}.auth-field-icon-left{color:#9ca3af;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.auth-pwd-toggle{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:4px;transition:color .15s;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.auth-pwd-toggle:hover{color:#374151}.auth-forgot-link{color:#2563eb;cursor:pointer;text-align:left;background:0 0;border:none;align-self:flex-start;margin-top:-4px;padding:0;font-family:inherit;font-size:13px;font-weight:500;transition:color .15s}.auth-forgot-link:hover{color:#1d4ed8;text-decoration:underline}.auth-btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1250c4 0%,#2563eb 100%);border:none;border-radius:11px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:4px;padding:12px;font-family:inherit;font-size:14px;font-weight:700;transition:opacity .15s,box-shadow .15s;display:flex;box-shadow:0 4px 14px #2563eb59}.auth-btn-primary:hover:not(:disabled){opacity:.9;box-shadow:0 6px 18px #2563eb73}.auth-btn-primary:disabled{opacity:.65;cursor:not-allowed}.auth-back-link{color:#6b7280;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:5px;margin-top:4px;padding:10px 0 0;font-family:inherit;font-size:13px;font-weight:500;transition:color .15s;display:flex}.auth-back-link:hover{color:#374151}.auth-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 12px;font-size:13px}.auth-success{color:#16a34a;text-align:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin-bottom:4px;padding:12px 14px;font-size:13px;font-weight:500}@media (width<=400px){.auth-bg{align-items:flex-start;padding:40px 16px 16px}.auth-card{max-width:100%}}.segn-overlay{z-index:1100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.segn-box{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:460px;max-height:92vh;animation:.2s segnIn;display:flex;overflow-y:auto;box-shadow:0 24px 60px #0003}@keyframes segnIn{0%{opacity:0;transform:translateY(-14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.segn-header{border-bottom:1px solid #f0f0f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.segn-header h2{color:#1e1e2d;align-items:center;gap:8px;margin:0;font-size:17px;font-weight:700;display:flex}.segn-close{cursor:pointer;color:#4b5563;background:#f3f4f6;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:background .15s;display:flex}.segn-close:hover{background:#e5e7eb}.segn-body{flex-direction:column;gap:10px;padding:20px 22px 22px;display:flex}.segn-label{color:#374151;font-size:13px;font-weight:600}.segn-textarea{color:#1e1e2d;resize:vertical;border:1px solid #d1d5db;border-radius:10px;width:100%;min-height:110px;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .15s}.segn-textarea:focus{border-color:#1250c4;outline:none;box-shadow:0 0 0 3px #1250c41f}.segn-textarea:disabled{cursor:not-allowed;background:#f9fafb}.segn-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:13px}.segn-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.segn-btn{cursor:pointer;border:none;border-radius:12px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .15s,filter .15s}.segn-btn:disabled{opacity:.6;cursor:not-allowed}.segn-btn--cancel{color:#374151;background:#f3f4f6;font-weight:500}.segn-btn--cancel:hover:not(:disabled){background:#e5e7eb}.segn-btn--submit{color:#fff;background:#1250c4}.segn-btn--submit:hover:not(:disabled){filter:brightness(1.08)}@media (width<=640px){.segn-overlay{align-items:flex-end;padding:0}.segn-box{border-radius:20px 20px 0 0;max-width:100%}}.btn-segnalazione{color:#ffffffd9;cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;align-items:center;gap:8px;width:100%;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s;display:flex}.btn-segnalazione:hover{background:#fff3}@media (width<=1024px){.btn-segnalazione{border-radius:50%;justify-content:center;align-self:center;gap:0;width:40px;height:40px;padding:9px}}@media (width<=640px){.btn-segnalazione{border-radius:8px;justify-content:flex-start;align-self:stretch;gap:8px;width:100%;height:auto;padding:8px 12px}}.osmodal-overlay{z-index:1100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.osmodal-box{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:400px;max-height:80vh;animation:.2s osModalIn;display:flex;overflow-y:auto;box-shadow:0 24px 60px #0003}@keyframes osModalIn{0%{opacity:0;transform:translateY(-14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.osmodal-header{border-bottom:1px solid #f0f0f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.osmodal-title{color:#1e1e2d;margin:0;font-size:17px;font-weight:700}.osmodal-close{cursor:pointer;color:#4b5563;background:#f3f4f6;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:background .15s;display:flex}.osmodal-close:hover{background:#e5e7eb}.osmodal-body{padding:14px 18px 20px}.osmodal-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.osmodal-item{color:#b91c1c;background:#fef2f2;border-radius:9px;align-items:center;gap:9px;padding:10px 12px;font-size:13.5px;font-weight:600;display:flex}.osmodal-item svg{flex-shrink:0}.osmodal-empty{text-align:center;color:#9ca3af;padding:20px;font-size:13px}.ph-overlay{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ph-box{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:760px;max-height:90vh;animation:.2s phIn;display:flex;overflow:hidden;box-shadow:0 24px 60px #0003}@keyframes phIn{0%{opacity:0;transform:translateY(-14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.ph-header{background:linear-gradient(135deg,#1250c4 0%,#0a3fa0 100%);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:22px 24px 20px;display:flex}.ph-header-left{align-items:flex-start;gap:14px;display:flex}.ph-header-icon{color:#fff;background:#ffffff2e;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.ph-title{color:#fff;letter-spacing:-.3px;margin:0;font-size:20px;font-weight:700}.ph-subtitle{color:#ffffffc7;margin:4px 0 0;font-size:13px}.ph-close{cursor:pointer;color:#fff;background:#ffffff26;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:7px;transition:background .15s;display:flex}.ph-close:hover{background:#ffffff47}.ph-body{flex:1;min-height:0;overflow-y:auto}.ph-status-msg{text-align:center;color:#6b7280;padding:32px;font-size:14px}.ph-status-msg.error{color:#dc2626}.ph-table-wrap{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f3f4f6;overflow-x:auto}.ph-table-wrap::-webkit-scrollbar{height:8px}.ph-table-wrap::-webkit-scrollbar-track{background:#f3f4f6}.ph-table-wrap::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.ph-table-wrap::-webkit-scrollbar-thumb:hover{background:#94a3b8}.ph-table{border-collapse:collapse;width:100%;font-size:13px}.ph-table thead th{text-align:left;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;background:#fafafa;border-bottom:1px solid #f0f0f0;padding:12px 15px;font-size:11px;font-weight:600}.ph-table tbody td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:14px 15px}.ph-table tbody tr:last-child td{border-bottom:none}.ph-table tbody tr:hover{background:#f9fafb}.ph-table th.ph-col-actions,.ph-col-actions,.ph-table th.ph-col-amount,.ph-col-amount{text-align:right}.ph-date{color:#374151;white-space:nowrap;font-weight:600}.ph-amount{color:#111827;font-weight:600}.ph-due{color:#6b7280;white-space:nowrap}.ph-empty{text-align:center;color:#9ca3af;padding:32px;font-size:13px}.ph-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:12px;font-weight:600;display:inline-flex}.ph-status-paid{color:#059669;background:#ecfdf5}.ph-status-pending{color:#d97706;background:#fffbeb}.ph-status-topay{color:#2563eb;background:#eff6ff}.ph-status-late{color:#ea580c;background:#fff7ed}.ph-badge-annual{color:#7e22ce;background:#f3e8ff;margin-left:6px}.ph-status-cell{flex-wrap:wrap;align-items:center;gap:4px 6px;display:inline-flex}.ph-status-cell .ph-badge-annual{margin-left:0}.ph-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.ph-btn{cursor:pointer;white-space:nowrap;border:1.5px solid #0000;border-radius:7px;align-items:center;gap:5px;padding:5px 11px;font-family:inherit;font-size:12px;font-weight:600;transition:opacity .15s;display:inline-flex}.ph-btn:hover{opacity:.82}.ph-btn-download{color:#374151;background:#f3f4f6;border-color:#e5e7eb}.ph-btn-approve{color:#059669;background:#ecfdf5;border-color:#a7f3d0}.ph-btn-reject{color:#dc2626;background:#fef2f2;border-color:#fecaca}.ph-btn-manual{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.ph-footer{background:#fafafa;border-top:1px solid #f3f4f6;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.ph-total{color:#374151;font-size:14px;font-weight:600}.ph-btn-close{color:#fff;cursor:pointer;background:#374151;border:none;border-radius:9px;padding:9px 22px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s}.ph-btn-close:hover{background:#1f2937}.ph-manual-overlay{z-index:1200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ph-manual-box{background:#fff;border-radius:16px;width:100%;max-width:440px;animation:.18s phIn;overflow:hidden;box-shadow:0 24px 60px #00000038}.ph-manual-header{background:linear-gradient(135deg,#1250c4 0%,#0a3fa0 100%);justify-content:space-between;align-items:flex-start;padding:18px 20px;display:flex}.ph-manual-title{color:#fff;font-size:16px;font-weight:700}.ph-manual-sub{color:#ffffffc7;margin-top:3px;font-size:12px}.ph-manual-body{flex-direction:column;gap:16px;padding:18px 20px;display:flex}.ph-manual-field{flex-direction:column;gap:6px;display:flex}.ph-manual-field>span{color:#374151;font-size:13px;font-weight:600}.ph-manual-field textarea,.ph-manual-field input[type=date]{resize:vertical;border:1px solid #e5e7eb;border-radius:9px;outline:none;padding:9px 11px;font-family:inherit;font-size:13px;transition:border-color .15s}.ph-manual-field textarea:focus,.ph-manual-field input[type=date]:focus{border-color:#2563eb}.ph-manual-hint{color:#6b7280;margin-top:-4px;font-size:12px}.ph-file-btn{color:#475569;cursor:pointer;word-break:break-all;background:#f8fafc;border:1.5px dashed #cbd5e1;border-radius:9px;align-items:center;gap:8px;padding:9px 12px;font-size:13px;transition:border-color .15s,background .15s;display:inline-flex}.ph-file-btn:hover{background:#eff6ff;border-color:#2563eb}.ph-manual-footer{background:#fafafa;border-top:1px solid #f3f4f6;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.ph-manual-confirm{color:#fff;cursor:pointer;background:#059669;border:none;border-radius:9px;align-items:center;gap:7px;padding:9px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s;display:inline-flex}.ph-manual-confirm:hover:not(:disabled){background:#047857}.ph-manual-confirm:disabled,.ph-btn-close:disabled{opacity:.6;cursor:default}@media (width<=640px){.ph-overlay{align-items:flex-end;padding:0}.ph-box{border-radius:20px 20px 0 0;max-width:100%;max-height:96dvh}.ph-actions{flex-direction:column;justify-content:flex-start;align-items:stretch}.ph-btn{justify-content:center;width:100%;padding:8px 11px}.ph-badge-annual{width:fit-content;margin-top:4px;margin-left:0;display:block}.ph-table{font-size:12.5px}.ph-manual-overlay{align-items:flex-end;padding:0}.ph-manual-box{border-radius:20px 20px 0 0;max-width:100%;max-height:96dvh;overflow-y:auto}.ph-table-wrap{overflow-x:visible}.ph-table thead{display:none}.ph-table,.ph-table tbody{width:100%;display:block}.ph-table tbody tr{border:1px solid #f0f1f3;border-radius:14px;grid-template-columns:1fr auto;grid-template-areas:"amount status""date due""actions actions";gap:8px 12px;margin-bottom:10px;padding:14px;display:grid}.ph-table tbody tr:last-child{margin-bottom:0}.ph-table tbody tr:hover{background:0 0}.ph-table tbody td{border-bottom:none;padding:0;display:block}.ph-table tbody td:first-child{grid-area:date}.ph-table tbody td:nth-child(2){grid-area:amount}.ph-table tbody td:nth-child(3){text-align:right;grid-area:due}.ph-table tbody td:nth-child(4){grid-area:status;justify-self:end}.ph-table tbody td:nth-child(5){grid-area:actions}.ph-amount{font-size:15px}.ph-date:before,.ph-due:before{content:attr(data-label) ": ";color:#9ca3af;text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:600}.ph-status-cell{justify-content:flex-end}.ph-empty{padding:24px 4px}}.ph-btn:disabled{opacity:.5;cursor:not-allowed}.ph-manual-check{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.tpp-table .tpp-stat{color:#374151;white-space:nowrap}.tpp-table .tpp-stat--empty{color:#d1d5db}.tpp-link{color:#2563eb;cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:0;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.tpp-link:hover{text-decoration:underline}.tpp-link--card{color:#fff;align-self:flex-start;margin-top:10px;padding:4px 0}.tpp-link-gap{margin-top:8px}@media (width<=640px){.ph-table.tpp-table tbody tr{grid-template-columns:1fr auto;grid-template-areas:"mese totale""singole singole""gruppo gruppo""corsi corsi";row-gap:6px}.ph-table.tpp-table tbody td:first-child{grid-area:mese}.ph-table.tpp-table tbody td:nth-child(2){grid-area:singole}.ph-table.tpp-table tbody td:nth-child(3){grid-area:gruppo}.ph-table.tpp-table tbody td:nth-child(4){grid-area:corsi}.ph-table.tpp-table tbody td:nth-child(5){text-align:right;grid-area:totale}.tpp-table .tpp-month{font-size:14px}.tpp-table .ph-amount{font-size:16px}.tpp-table .tpp-stat{color:#6b7280;white-space:normal;justify-content:space-between;gap:12px;font-size:12.5px;display:flex}.tpp-table .tpp-stat:before{content:attr(data-label);color:#9ca3af;text-transform:uppercase;letter-spacing:.4px;align-self:center;font-size:10px;font-weight:600}.tpp-table .tpp-stat--empty{display:none}.ph-footer{flex-wrap:wrap;gap:10px}}.ndmodal-overlay{z-index:1100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ndmodal-box{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:520px;max-height:80vh;animation:.2s ndModalIn;display:flex;overflow-y:auto;box-shadow:0 24px 60px #0003}@keyframes ndModalIn{0%{opacity:0;transform:translateY(-14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.ndmodal-header{border-bottom:1px solid #f0f0f0;flex-shrink:0;align-items:flex-start;gap:12px;padding:18px 22px;display:flex}.ndmodal-icon{color:#1d4ed8;background:#dbeafe;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.ndmodal-icon--importante{color:#c2410c;background:#fed7aa}.ndmodal-header-text{flex:1;min-width:0}.ndmodal-title{color:#1e1e2d;overflow-wrap:anywhere;word-break:break-word;margin:0;font-size:16.5px;font-weight:700;line-height:1.3}.ndmodal-date{color:#9ca3af;align-items:center;gap:5px;margin-top:5px;font-size:11.5px;display:flex}.ndmodal-badge{color:#c2410c;background:#fed7aa;border-radius:999px;margin-left:6px;padding:3px 9px;font-size:10.5px;font-weight:700}.ndmodal-close{cursor:pointer;color:#4b5563;background:#f3f4f6;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:6px;transition:background .15s;display:flex}.ndmodal-close:hover{background:#e5e7eb}.ndmodal-body{color:#374151;overflow-wrap:anywhere;word-break:break-word;padding:18px 22px 22px;font-size:13.5px;line-height:1.55}.ndmodal-body p{margin:0 0 10px}.ndmodal-body p:last-child{margin-bottom:0}.ndmodal-body ul,.ndmodal-body ol{margin:0 0 10px;padding-left:20px}.pamodal-overlay{z-index:1200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.pamodal-box{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:420px;max-height:92vh;animation:.18s paIn;display:flex;overflow-y:auto;box-shadow:0 24px 60px #00000038}@keyframes paIn{0%{opacity:0;transform:translateY(-14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.pamodal-header{background:linear-gradient(135deg,#1250c4 0%,#0a3fa0 100%);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px;display:flex}.pamodal-header-left{align-items:center;gap:11px;min-width:0;display:flex}.pamodal-header-icon{color:#fff;background:#ffffff38;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.pamodal-title{color:#fff;font-size:16px;font-weight:700}.pamodal-subtitle{color:#ffffffc7;margin-top:3px;font-size:12px}.pamodal-close{cursor:pointer;color:#fff;background:#fff3;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s;display:flex}.pamodal-close:hover{background:#ffffff59}.pamodal-body{flex-direction:column;gap:12px;padding:18px 20px;display:flex}.pamodal-count-box{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;align-items:center;gap:13px;padding:14px 16px;display:flex}.pamodal-count-num{color:#b45309;flex-shrink:0;font-size:30px;font-weight:800;line-height:1}.pamodal-count-label{color:#92400e;font-size:13.5px;font-weight:600;line-height:1.4}.pamodal-hint{color:#6b7280;margin:0;font-size:12.5px;line-height:1.5}.pamodal-footer{background:#fafafa;border-top:1px solid #f3f4f6;flex-shrink:0;justify-content:flex-end;padding:14px 20px;display:flex}.pamodal-btn{cursor:pointer;color:#fff;background:#1250c4;border:none;border-radius:9px;justify-content:center;align-items:center;min-width:96px;padding:9px 18px;font-family:inherit;font-size:13px;font-weight:700;transition:background .15s;display:inline-flex}.pamodal-btn:hover{background:#0a3fa0}@media (width<=640px){.pamodal-overlay{align-items:flex-end;padding:0}.pamodal-box{border-radius:20px 20px 0 0;max-width:100%;max-height:94dvh;animation:.25s paInMobile}.pamodal-header{border-radius:20px 20px 0 0}.pamodal-btn{flex:1}}@keyframes paInMobile{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}*,:before,:after{box-sizing:border-box}.lessons-page-root{color:#111827;background:#f7fafc;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;display:flex}.sidebar{color:#fff;background:linear-gradient(#1250c4 0%,#0a3fa0 100%);flex-direction:column;justify-content:space-between;width:230px;min-width:230px;height:100vh;padding:24px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-top{flex-direction:column;gap:0;display:flex}.brand{margin-bottom:28px}.brand-logo{align-items:center;gap:10px;display:flex}.brand-icon{font-size:26px;line-height:1}.brand-icon-img{object-fit:contain;background:#fff;border-radius:6px;width:32px;height:32px;padding:2px}.brand-name{letter-spacing:-.3px;font-size:18px;font-weight:700}.brand-sub{opacity:.75;margin-top:1px;font-size:11px}.nav{flex-direction:column;gap:4px;display:flex}.nav-item{color:#fffc;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-item:hover{color:#fff;background:#ffffff1a}.nav-item.active{color:#fff;background:#ffffff26;font-weight:600}.nav-icon{flex-shrink:0}.sidebar-bottom{border-top:1px solid #ffffff26;flex-direction:column;gap:10px;padding-top:16px;display:flex}.sidebar-profile{align-items:center;gap:10px;display:flex}.profile-avatar{object-fit:cover;background:#fff3;border-radius:50%;flex-shrink:0;width:38px;height:38px}.profile-avatar--initials{color:#fff;letter-spacing:.5px;-webkit-user-select:none;user-select:none;border:1.5px solid #ffffff59;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.profile-name{color:#fff;font-size:13px;font-weight:600}.profile-role{color:#ffffffb3;margin-top:1px;font-size:11px}.btn-logout{color:#ffffffd9;cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;align-items:center;gap:8px;width:100%;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s;display:flex}.btn-logout:hover{background:#fff3}.main-column{flex:1;min-width:0;padding:28px 36px}.header-bar{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.header-bar h1{color:#111827;margin:0;font-size:22px;font-weight:700}.header-sub{color:#6b7280;margin:4px 0 0;font-size:14px}.btn-new-lesson{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:none;border-radius:10px;align-items:center;gap:7px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,box-shadow .15s;display:flex;box-shadow:0 2px 8px #2563eb40}.btn-new-lesson:hover{background:#1d4ed8;box-shadow:0 4px 12px #2563eb59}.header-right{align-items:center;gap:10px;display:flex}.new-course-btn{color:#2563eb;cursor:pointer;white-space:nowrap;background:#fff;border:2px solid #2563eb;border-radius:10px;align-items:center;gap:7px;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,box-shadow .15s;display:flex}.new-course-btn:hover{background:#eff6ff;box-shadow:0 2px 8px #2563eb26}.new-trial-btn{color:#2563eb;cursor:pointer;white-space:nowrap;background:#fff;border:2px solid #2563eb;border-radius:10px;align-items:center;gap:7px;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,box-shadow .15s;display:flex}.new-trial-btn:hover{background:#eff6ff;box-shadow:0 2px 8px #2563eb26}.header-recovery-btn{color:#ea580c;cursor:pointer;white-space:nowrap;background:#fff7ed;border:2px solid #f97316;border-radius:10px;align-items:center;gap:7px;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,box-shadow .15s;display:flex}.header-recovery-btn:hover{background:#ffedd5;box-shadow:0 2px 8px #f9731633}.page-content{margin-top:18px}.filters-bar{justify-content:space-between;align-items:center;gap:12px;padding:12px 0 16px;display:flex}.filters-left{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.filter-label{color:#374151;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.filter-label .search-select-root{min-width:180px}.filter-label .search-select-trigger{color:#374151;border:1px solid #e5e7eb;border-radius:8px;padding:7px 10px;font-size:13px;font-weight:400}.filter-label .search-select-trigger span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.filter-label .search-select-panel{min-width:220px;right:auto}.btn-reset{color:#2563eb;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 10px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s;display:flex}.btn-reset:hover{background:#eff6ff}.calendar-root{background:#fff;border:1px solid #f0f0f0;border-radius:16px;padding:20px;box-shadow:0 1px 4px #1018280f}.calendar-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.month-nav{align-items:center;gap:10px;display:flex}.month-btn{cursor:pointer;color:#3730a3;background:#eef2ff;border:none;border-radius:8px;justify-content:center;align-items:center;padding:7px 9px;transition:background .15s;display:flex}.month-btn:hover{background:#e0e7ff}.month-label{color:#fff;letter-spacing:-.2px;text-align:center;background:linear-gradient(90deg,#1e40af,#2563eb);border-radius:10px;min-width:160px;padding:8px 18px;font-size:15px;font-weight:600}.calendar-legend{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.legend-recovery-btn{cursor:pointer;color:#0f766e;background:#f0fdfa;border:1.5px solid #14b8a6;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:background .15s,color .15s}.legend-recovery-btn.active{color:#fff;background:#14b8a6}.legend-recovery-btn:hover:not(.active){background:#ccfbf1}.legend-item{color:#374151;align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.calendar-status{text-align:center;color:#6b7280;border-radius:8px;margin-bottom:8px;padding:10px;font-size:13px}.calendar-status.error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.calendar-weekdays{text-align:center;color:#6b7280;letter-spacing:.3px;text-transform:uppercase;border-bottom:1px solid #f3f4f6;grid-template-columns:repeat(7,1fr);padding:8px 0;font-size:12px;font-weight:600;display:grid}.calendar-cells{background:#f3f4f6;border-radius:8px;grid-template-columns:repeat(7,1fr);grid-auto-rows:120px;gap:1px;margin-top:1px;display:grid;overflow:hidden}.calendar-cell{background:#fff;flex-direction:column;height:120px;padding:8px 6px 4px;display:flex;position:relative;overflow:hidden}.calendar-cell.other-month{background:#fafafa}.calendar-cell.other-month .cell-day{color:#d1d5db}.calendar-cell.today .cell-day{color:#fff;background:#2563eb;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-weight:700;display:flex}.calendar-cell.day-closed{background:#f3f4f6 repeating-linear-gradient(135deg,#0000,#0000 7px,#11182709 7px 14px)}.calendar-cell.day-closed .cell-day{color:#9ca3af}.cell-closed-label{letter-spacing:.3px;text-transform:uppercase;color:#9ca3af;pointer-events:none;background:#ffffffb3;border-radius:999px;padding:1px 5px;font-size:9px;font-weight:600;position:absolute;top:8px;right:6px}.legend-swatch{border-radius:3px;width:12px;height:12px;display:inline-block}.legend-swatch--closed{background:#f3f4f6 repeating-linear-gradient(135deg,#0000,#0000 3px,#1118271f 3px 6px);border:1px solid #e5e7eb}.cell-day{color:#374151;margin-bottom:4px;font-size:12px;font-weight:500;line-height:1}.cell-events{flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;overflow:hidden}.cell-more-btn{color:#2563eb;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;flex-shrink:0;margin-top:1px;padding:1px 4px;font-family:inherit;font-size:11px;font-weight:600;transition:background .12s}.cell-more-btn:hover{background:#eff6ff}.day-popup-overlay{z-index:500;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000059;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.day-popup{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:400px;max-height:80vh;animation:.18s popupIn;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000002e}@keyframes popupIn{0%{opacity:0;transform:scale(.94)translateY(-8px)}to{opacity:1;transform:scale(1)translateY(0)}}.day-popup-header{border-bottom:1px solid #f3f4f6;flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:20px 20px 16px;display:flex}.day-popup-weekday{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px;font-size:12px;font-weight:500}.day-popup-date{color:#111827;font-size:18px;font-weight:700}.day-popup-close{cursor:pointer;color:#6b7280;background:#f3f4f6;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:6px;transition:background .12s,color .12s;display:flex}.day-popup-close:hover{color:#111827;background:#e5e7eb}.day-popup-body{flex-direction:column;gap:8px;padding:12px 16px 20px;display:flex;overflow-y:auto}.day-popup-event{background:#f9fafb;border:1px solid #f0f0f0;border-radius:10px;align-items:stretch;gap:10px;padding:10px 12px;transition:background .12s;display:flex}.day-popup-event:hover{background:#f3f4f6}.day-popup-status-bar{border-radius:4px;flex-shrink:0;width:4px}.day-popup-status-bar.status-completed{background:#22c55e}.day-popup-status-bar.status-scheduled{background:#3b82f6}.day-popup-status-bar.status-cancelled{background:#ef4444}.day-popup-status-bar.status-recovery{background:#14b8a6}.day-popup-event-info{flex-direction:column;gap:4px;min-width:0;display:flex}.day-popup-event-title{color:#111827;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.day-popup-group-badge{color:#7c3aed;background:#ede9fe;border-radius:999px;align-items:center;gap:2px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-flex}.day-popup-event-meta{color:#6b7280;flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.day-popup-event-meta span{align-items:center;gap:3px;display:flex}.event-card{cursor:default;white-space:nowrap;text-overflow:ellipsis;border-radius:5px;align-items:center;gap:5px;padding:3px 6px;font-size:11px;display:flex;overflow:hidden}.event-time{opacity:.75;flex-shrink:0;font-size:10px;font-weight:700}.event-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.event-group-badge{opacity:.85;flex-shrink:0;align-items:center;gap:1px;font-size:9px;font-weight:700;display:inline-flex}.mobile-topbar,.sidebar-close-btn{display:none}@media (width<=1024px){.sidebar{width:66px;min-width:66px;padding:20px 8px}.brand-text{display:none}.brand-icon{font-size:22px}.brand{margin-bottom:20px}.nav-label{display:none}.nav-item{justify-content:center;gap:0;padding:10px}.sidebar-profile{display:none}.btn-logout{border-radius:50%;justify-content:center;align-self:center;gap:0;width:40px;height:40px;padding:9px}.main-column{padding:20px 24px}.calendar-cells{grid-auto-rows:88px}.calendar-cell{height:88px;padding:4px 3px 2px}.event-card{padding:2px 4px;font-size:10px}.cell-more-btn{font-size:10px}}@media (width<=640px){.sidebar{z-index:200;width:260px;min-width:260px;height:100dvh;padding:20px 14px;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar--open{transform:translate(0)}.brand-text{display:block}.brand-icon{font-size:26px}.nav-label{display:inline}.nav-item{justify-content:flex-start;gap:10px;padding:10px 12px}.sidebar-profile{display:flex}.btn-logout{border-radius:8px;justify-content:flex-start;align-self:stretch;gap:8px;width:100%;height:auto;padding:8px 12px}.sidebar-close-btn{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:8px;align-self:flex-end;margin-bottom:12px;padding:6px 8px;display:flex}.sidebar-overlay{z-index:199;background:#00000073;position:fixed;inset:0}.mobile-topbar{z-index:100;background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.mobile-menu-btn{cursor:pointer;color:#374151;background:#f3f4f6;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:8px;display:flex}.mobile-brand{color:#111827;text-align:center;flex:1;justify-content:center;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.mobile-brand-logo{object-fit:contain;border-radius:6px;flex-shrink:0;width:24px;height:24px}.mobile-new-btn{cursor:pointer;color:#fff;background:#2563eb;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:8px;display:flex;box-shadow:0 2px 6px #2563eb4d}.mobile-topbar-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.mobile-course-btn,.mobile-trial-btn,.mobile-recovery-btn{cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:8px;display:flex}.mobile-course-btn,.mobile-trial-btn{color:#2563eb;background:#fff;border:1px solid #2563eb}.mobile-recovery-btn{color:#ea580c;background:#fff7ed;border:1px solid #f97316}.lessons-page-root{flex-direction:column}.main-column{padding:16px 14px}.header-bar{flex-direction:column;align-items:stretch;gap:12px}.btn-new-lesson{justify-content:center}.filters-bar{flex-wrap:nowrap;align-items:center;gap:6px}.filters-left{flex-flow:row;flex:1;gap:6px;min-width:0}.filter-label{flex:1;align-items:stretch;min-width:0}.filter-label-text{display:none}.filter-label .search-select-root{width:100%;min-width:0}.filter-label .search-select-trigger{padding:7px 6px;font-size:12px}.filter-label:last-child .search-select-panel{left:auto;right:0}.filters-right{flex-shrink:0}.btn-reset{padding:7px 8px}.btn-reset span{display:none}.calendar-root{border-radius:12px;padding:14px 10px}.calendar-top{flex-direction:column;align-items:flex-start;gap:10px}.month-label{min-width:unset;text-align:center;width:100%;font-size:14px}.month-nav{justify-content:space-between;width:100%}.calendar-legend{gap:8px}.legend-item{font-size:11px}.calendar-cells{grid-auto-rows:100px}.calendar-cell{height:100px;min-height:unset;padding:4px 3px 2px}.cell-day{margin-bottom:2px;font-size:10px}.event-card{border-radius:3px;gap:3px;padding:2px 4px;font-size:10px}.event-time{font-size:9px}.event-title{font-size:10px}.cell-more-btn{padding:0 2px;font-size:10px}.header-bar .btn-new-lesson,.header-right .new-course-btn,.header-right .new-trial-btn,.header-right .header-recovery-btn{display:none}.day-popup-overlay{padding:16px}.day-popup{max-width:100%}}@media (width<=380px){.main-column{padding:12px 10px}.calendar-cells{grid-auto-rows:88px}.calendar-cell{height:88px}.event-card{padding:1px 3px;font-size:9px}.event-time{font-size:8px}}.home-page-root{height:100vh;overflow:hidden}.home-page-main{flex-direction:column;min-height:0;display:flex;overflow-y:auto}.home-header{flex-shrink:0;justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.home-title{color:#111827;letter-spacing:-.5px;margin:0;font-size:26px;font-weight:800}.home-date-box{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.home-date-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.home-date-value{color:#374151;font-size:13px;font-weight:500}.home-grid{flex:1;grid-template:"studenti pagamenti prossima"1fr"lezioni lezioni statistiche"1fr/1fr 1fr 1fr;gap:18px;min-height:0;display:grid}.home-grid-span2{grid-area:lezioni}.hcard{border-radius:18px;flex-direction:column;gap:10px;min-height:230px;padding:22px;display:flex;box-shadow:0 10px 24px -8px #1018282e,0 2px 6px #10182814}.home-grid-studenti{flex-direction:column;grid-area:studenti;gap:18px;min-width:0;display:flex}.home-grid-studenti>.hcard{flex:auto}.hcard--blue{color:#fff;background:linear-gradient(145deg,#1a56d4 0%,#0a3fa0 100%)}.hcard--green{color:#fff;background:linear-gradient(145deg,#059669 0%,#065f46 100%)}.hcard-num-row{display:contents}.hcard.hcard--compact{justify-content:space-between;gap:8px;min-width:0;min-height:auto;padding:16px 18px;container-type:inline-size}.hcard--compact .hcard-top-row{gap:8px}.hcard--compact .hcard-label{overflow-wrap:anywhere;min-width:0;line-height:1.3}.hcard--compact .hcard-icon-box{border-radius:10px;width:32px;height:32px}.hcard--compact .hcard-num-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:4px 10px;min-width:0;display:flex}.hcard--compact .hcard-big-num{letter-spacing:-1.5px;white-space:nowrap;font-size:clamp(24px,15cqi,34px)}.hcard--compact .hcard-variation{align-items:flex-start;min-width:0;margin-top:0;padding-bottom:3px;line-height:1.35}.hcard--compact .hcard-variation svg{flex-shrink:0;margin-top:2px}.hcard-variation-note{opacity:.8;font-weight:500}.hcard-goal{color:#fff;background:#ffffff24;border-radius:10px;flex-direction:column;gap:5px;margin-top:2px;padding:8px 10px;display:flex}.hcard-goal-row{align-items:center;gap:5px;font-size:12px;font-weight:500;display:flex}.hcard-goal-row strong{letter-spacing:-.3px;font-size:14px;font-weight:800}.hcard-goal-arrow{animation:1.4s ease-in-out infinite hcardGoalBounce}.hcard-goal-bar{background:#ffffff40;border-radius:999px;height:5px;overflow:hidden}.hcard-goal-fill{background:#fff;border-radius:999px;height:100%;transition:width .6s}.hcard-goal-note{opacity:.85;font-size:11px}@keyframes hcardGoalBounce{0%,to{transform:translateY(1px)}50%{transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.hcard-goal-arrow{animation:none}}.hcard-motto{white-space:nowrap;color:#fff;background:#fff3;border-radius:999px;flex-shrink:0;align-self:center;margin-left:auto;padding:4px 9px;font-size:11px;font-weight:700;line-height:1}.hcard--compact .hcard-top-row:has(.hcard-motto) .hcard-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hcard--compact .tpp-link--card{flex-shrink:0}.hcard--white{background:#fff;border:1px solid #f0f0f0;grid-area:pagamenti;min-height:auto}.hcard--purple{color:#fff;background:linear-gradient(145deg,#7c3aed 0%,#4c1d95 100%);grid-area:prossima}.hcard-label{letter-spacing:1px;text-transform:uppercase;opacity:.8;color:inherit;font-size:10.5px;font-weight:700}.hcard-label--dark{color:#9ca3af}.hcard-top-row{justify-content:space-between;align-items:flex-start;display:flex}.hcard-big-num{color:#fff;letter-spacing:-2.5px;font-size:52px;font-weight:800;line-height:1}.hcard-big-num--dark{color:#111827;letter-spacing:-2px}.hcard-icon-box{border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.hcard-icon-box--tint{color:#fff;background:#ffffff38}.hcard-icon-box--green{color:#16a34a;background:#dcfce7}.hcard-icon-box--red{color:#dc2626;background:#fee2e2}.hcard-variation{color:#ffffffe0;align-items:center;gap:4px;margin-top:auto;font-size:12px;font-weight:600;display:flex}.hcard-pay-pills{flex-wrap:wrap;gap:8px;display:flex}.hcard-pay-pill{border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:600;display:flex}.hcard-pay-pill--green{color:#15803d;background:#dcfce7}.hcard-pay-pill--red{color:#b91c1c;background:#fee2e2}.hcard-overdue-box{background:#f3f4f6;border-radius:12px;flex:1;min-height:88px;margin-top:2px;position:relative;overflow:hidden}.hcard-overdue-inner{flex-direction:column;display:flex;position:absolute;inset:12px 14px;overflow:hidden}.hcard-overdue-title{color:#6b7280;margin-bottom:6px;font-size:11.5px;font-weight:600}.hcard-overdue-list{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.hcard-overdue-list li{color:#ef4444;align-items:center;gap:5px;font-size:12.5px;font-weight:500;display:flex}.hcard-overdue-list li:before{content:"•";color:#ef4444;font-size:10px}.hcard-overdue-list li.hcard-list-none{color:#9ca3af;font-style:italic}.hcard-overdue-list li.hcard-list-none:before{display:none}.hcard-overdue-more{color:#6b7280;cursor:pointer;background:0 0;border:none;align-self:flex-start;margin-top:6px;padding:0;font-family:inherit;font-size:11.5px;font-weight:600;text-decoration:underline}.hcard-overdue-more:hover{color:#374151}.hcard-lesson-name{color:#fff;letter-spacing:-.5px;font-size:28px;font-weight:800;line-height:1.1}.hcard-lesson-student{color:#ffffffc7;margin-top:-4px;font-size:13px}.hcard-lesson-datetime{background:#ffffff26;border-radius:12px;gap:20px;margin-top:4px;padding:12px 14px;display:flex}.hcard-dt-col{flex-direction:column;gap:3px;display:flex}.hcard-dt-label{letter-spacing:.6px;color:#ffffffa6;text-transform:uppercase;font-size:9.5px;font-weight:700}.hcard-dt-value{color:#fff;font-size:13px;font-weight:700}.hcard-lesson-room{color:#ffffffb8;align-items:center;gap:5px;margin-top:auto;font-size:12px;display:flex}.hcard-lesson-empty{color:#fff9;margin-top:8px;font-size:13px;font-style:italic}.shcard-status{letter-spacing:-1px;font-size:30px;font-weight:800;line-height:1}.shcard-status--green{color:#16a34a}.shcard-status--red{color:#dc2626}.shcard-status-box{border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.shcard-status-box--green{color:#15803d;background:#dcfce7}.shcard-status-box--red{color:#b91c1c;background:#fee2e2}.shcard-next-pay{background:#eff6ff;border-radius:12px;flex-direction:column;flex:1;gap:6px;padding:12px 14px;display:flex}.shcard-next-pay--empty{color:#9ca3af;justify-content:center;align-items:center;font-size:13px;font-style:italic}.shcard-next-pay-top{justify-content:space-between;align-items:center;display:flex}.shcard-next-pay-label{color:#6b7280;font-size:12px;font-weight:600}.shcard-next-pay-amount{color:#1d4ed8;letter-spacing:-.5px;font-size:19px;font-weight:800}.shcard-next-pay-row{justify-content:space-between;align-items:center;font-size:12.5px;display:flex}.shcard-next-pay-key{color:#6b7280;font-weight:500}.shcard-next-pay-value{color:#111827;font-weight:700}.shcard-next-pay-days{color:#1d4ed8;align-items:center;gap:5px;margin-top:auto;font-size:11.5px;font-weight:600;display:flex}.shome-news-header{justify-content:space-between;align-items:center;display:flex}.shome-news-icon-box{color:#1d4ed8;background:#dbeafe;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.shome-news-row{border-bottom:1px solid #f3f4f6;border-left:3px solid #3b82f6;align-items:flex-start;gap:12px;padding:14px 18px;display:flex}.shome-news-row:last-child{border-bottom:none}.shome-news-row--importante{border-left-color:#f97316}.shome-news-icon{color:#1d4ed8;background:#dbeafe;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-top:1px;display:flex}.shome-news-row--importante .shome-news-icon{color:#c2410c;background:#fed7aa}.shome-news-info{flex:1;min-width:0}.shome-news-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.shome-news-title{color:#111827;overflow-wrap:anywhere;word-break:break-word;min-width:0;font-size:14px;font-weight:700}.shome-news-badge{border-radius:999px;flex-shrink:0;padding:3px 9px;font-size:10.5px;font-weight:700}.shome-news-badge--nuovo{color:#1d4ed8;background:#dbeafe}.shome-news-badge--importante{color:#c2410c;background:#fed7aa}.shome-news-excerpt{color:#6b7280;-webkit-line-clamp:2;overflow-wrap:anywhere;word-break:break-word;-webkit-box-orient:vertical;margin-top:3px;font-size:12.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.shome-news-excerpt p{margin:0 0 4px}.shome-news-excerpt p:last-child{margin-bottom:0}.shome-news-excerpt ul,.shome-news-excerpt ol{margin:0 0 4px;padding-left:18px}.shome-news-bottom{justify-content:space-between;align-items:center;gap:10px;margin-top:6px;display:flex}.shome-news-date{color:#9ca3af;align-items:center;gap:5px;font-size:11px;display:flex}.shome-news-toggle{color:#2563eb;cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;gap:3px;padding:0;font-family:inherit;font-size:11.5px;font-weight:700;display:flex}.shome-news-toggle:hover{color:#1d4ed8}.home-section-title{color:#111827;margin-bottom:2px;font-size:16px;font-weight:700}.home-section-sub{color:#9ca3af;font-size:12px}.home-card{background:#fff;border:1px solid #f0f0f0;border-radius:16px;overflow:hidden;box-shadow:0 10px 24px -8px #1018282e,0 2px 6px #10182814}.home-grid-span2,.home-grid-stats{flex-direction:column;min-height:0;display:flex}.home-grid-stats{grid-area:statistiche}.home-card--lessons{flex-direction:column;flex:1;min-height:0;display:flex}.home-card-header{border-bottom:1px solid #f3f4f6;flex-shrink:0;padding:18px 20px 14px}.home-card-scroll{flex:1;min-height:0;overflow-y:auto}.hstats-card{flex:1}.home-empty{text-align:center;color:#9ca3af;padding:28px;font-size:13px}.home-empty--error{color:#dc2626}.ls-row{border-bottom:1px solid #f3f4f6;border-left:4px solid #0000;align-items:center;gap:14px;padding:14px 18px;display:flex}.ls-row:last-child{border-bottom:none}.ls-row--green{border-left-color:#22c55e}.ls-row--blue{border-left-color:#3b82f6}.ls-row--gray{border-left-color:#d1d5db}.ls-row--teal{border-left-color:#14b8a6}.ls-row--red{border-left-color:#ef4444}.ls-time{color:#374151;flex-shrink:0;min-width:44px;font-size:13px;font-weight:700}.ls-info{flex:1;min-width:0}.ls-subject{color:#111827;font-size:14px;font-weight:600}.ls-meta{color:#9ca3af;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:12px;overflow:hidden}.ls-badge{border-radius:999px;flex-shrink:0;padding:4px 12px;font-size:12px;font-weight:600}.ls-badge--green{color:#15803d;background:#dcfce7}.ls-badge--gray{color:#6b7280;background:#f3f4f6}.ls-badge--blue{color:#1d4ed8;background:#dbeafe}.ls-badge--teal{color:#0f766e;background:#ccfbf1}.ls-badge--red{color:#b91c1c;background:#fee2e2}.hstats-card{color:#fff;background:linear-gradient(145deg,#f97316 0%,#ea580c 100%);border-radius:18px;flex-direction:column;gap:10px;min-height:230px;padding:20px;display:flex;box-shadow:0 10px 24px -8px #1018282e,0 2px 6px #10182814}.hstats-top-row{flex-shrink:0;justify-content:space-between;align-items:flex-start;margin-bottom:4px;display:flex}.hstats-title{letter-spacing:1px;text-transform:uppercase;opacity:.85;font-size:10.5px;font-weight:700}.hstats-icon-box{background:#ffffff38;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.hstats-box{background:#ffffff29;border-radius:12px;flex:1;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.hstats-label{opacity:.95;font-size:12.5px;font-weight:600;line-height:1.3}.hstats-value{letter-spacing:-1px;flex-shrink:0;font-size:26px;font-weight:800;line-height:1}@media (width<=1100px){.home-grid{grid-template:"studenti pagamenti""prossima statistiche""lezioni lezioni"1fr/1fr 1fr;gap:14px}.hcard,.hstats-card{min-height:160px;padding:16px}.hcard--white{min-height:auto}.home-grid-studenti{gap:14px}.hcard.hcard--compact{min-height:auto;padding:12px 16px}.hcard-big-num{font-size:38px}.hcard--compact .hcard-big-num{font-size:clamp(22px,12cqi,30px)}.hcard-lesson-name{font-size:22px}.hcard-icon-box,.hstats-icon-box{border-radius:11px;width:36px;height:36px}.hstats-box{padding:10px 14px}.hstats-value{font-size:22px}.home-card-header{padding:12px 16px 10px}.home-section-title{font-size:14px}.home-section-sub{font-size:11px}.ls-row{padding:10px 16px}}@media (width<=640px){.home-page-root{height:auto;overflow:visible}.home-page-main{overflow:visible}.home-grid{flex-direction:column;gap:12px;display:flex}.home-grid-span2,.home-grid-stats{flex:none}.home-grid-studenti{gap:12px}.hcard.hcard--compact{min-height:auto;padding:14px 16px}.hcard--compact .hcard-big-num{font-size:clamp(26px,10cqi,34px)}.hcard,.hstats-card{min-height:0}.hcard-overdue-box{min-height:0;padding:12px 14px;overflow:visible}.hcard-overdue-inner{position:static}.home-card--lessons{flex:none;max-height:360px}.home-header{flex-direction:column;gap:4px}.home-date-box{align-items:flex-start}.hcard-big-num{font-size:40px}.hcard-lesson-name{font-size:24px}}.home-grid.home-grid--student{grid-template:"pagamenti prossima"1fr"lezioni lezioni"1fr/1fr 1fr}@media (width<=1100px){.home-grid.home-grid--student{grid-template:"pagamenti prossima"1fr"lezioni lezioni"1fr/1fr 1fr}}@media (width<=640px){.home-grid.home-grid--student{flex-direction:column;display:flex}}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-box{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:480px;max-height:90vh;animation:.2s modalIn;display:flex;position:relative;overflow-y:auto;box-shadow:0 24px 60px #0003}@keyframes modalIn{0%{opacity:0;transform:translateY(-14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{z-index:5;background:linear-gradient(135deg,#1250c4 0%,#0a3fa0 100%);border-radius:16px 16px 0 0;flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:22px 24px 20px;display:flex;position:sticky;top:0}.modal-title{color:#fff;letter-spacing:-.3px;flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:20px;font-weight:700;display:flex}.paid-badge{color:#166534;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;background:#dcfce7;border:1px solid #86efac;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.modal-subtitle{color:#ffffffbf;margin:4px 0 0;font-size:13px}.modal-close{cursor:pointer;color:#fff;background:#ffffff26;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;padding:7px;transition:background .15s;display:flex}.modal-close:hover{background:#ffffff40}.modal-form{flex-direction:column;gap:16px;padding:24px;display:flex}.form-row{gap:14px;display:flex}.form-row.two-col>*{flex:1;min-width:0}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:#6b7280;text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:600}.form-group input,.form-group select{color:#111827;box-sizing:border-box;background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.studio-row{align-items:center;gap:8px;display:flex}.studio-row select{flex:1}.studio-check-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:background .15s;display:flex}.studio-check-btn:hover{background:#1d4ed8}.recovery-checkbox{cursor:pointer;color:#374151;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.recovery-checkbox input[type=checkbox]{appearance:none;cursor:pointer;background:#fff;border:2px solid #d1d5db;border-radius:5px;flex-shrink:0;width:18px;height:18px;transition:background .15s,border-color .15s;position:relative}.recovery-checkbox input[type=checkbox]:checked{background:#2563eb;border-color:#2563eb}.recovery-checkbox input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-top:none;border-left:none;width:6px;height:10px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.recovery-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.6;background:#f3f4f6;border-color:#e5e7eb}.recovery-checkbox:has(input[type=checkbox]:disabled){cursor:not-allowed;color:#9ca3af}.form-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:13px}.form-hint{color:#6b7280;margin:-10px 0 0;font-size:12px}.cancelled-banner{color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:500}.cancel-confirm-overlay{z-index:1100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.cancel-confirm-box{background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:420px;max-height:calc(100vh - 48px);animation:.18s modalIn;display:flex;overflow:hidden;box-shadow:0 16px 40px #0003}.cancel-confirm-header{background:linear-gradient(135deg,#1250c4 0%,#0a3fa0 100%);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 18px 16px;display:flex}.cancel-confirm-title{color:#fff;font-size:17px;font-weight:700}.cancel-confirm-sub{color:#ffffffbf;margin-top:3px;font-size:12px}.cancel-confirm-actions{flex-wrap:wrap;gap:10px;padding:16px;display:flex;overflow-y:auto}.cancel-confirm-actions .btn-action{text-align:center;flex:140px;min-width:0;padding:11px 10px;font-size:13px;line-height:1.25}.assign-box{max-width:320px}.assign-teacher-list{flex-direction:column;gap:6px;padding:12px 14px 16px;display:flex;overflow-y:auto}.assign-empty{color:#9ca3af;text-align:center;margin:0;padding:8px 0;font-size:13px}.assign-teacher-btn{cursor:pointer;text-align:left;background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-family:inherit;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.assign-teacher-btn:hover:not(:disabled){background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.assign-teacher-btn:disabled{opacity:.6;cursor:not-allowed}.assign-teacher-avatar{color:#fff;background:linear-gradient(135deg,#1250c4,#2563eb);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.assign-teacher-info{flex-direction:column;gap:2px;min-width:0;display:flex}.assign-teacher-name{color:#111827;font-size:14px;font-weight:600}.assign-teacher-subject{color:#6b7280;font-size:11px}.assign-spinner{color:#9ca3af;margin-left:auto;font-size:13px}.form-group textarea{color:#111827;box-sizing:border-box;resize:vertical;background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;outline:none;width:100%;min-height:80px;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-group textarea::placeholder{color:#9ca3af}.edit-actions{z-index:5;background:#fff;border-top:1px solid #f0f0f0;gap:10px;margin:8px -24px -24px;padding:12px 24px 20px;display:flex;position:sticky;bottom:0}.btn-action{cursor:pointer;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:7px;padding:13px 8px;font-family:inherit;font-size:14px;font-weight:700;transition:opacity .15s,box-shadow .15s;display:flex}.btn-action:disabled{opacity:.6;cursor:not-allowed}.btn-save{color:#fff;background:#16a34a;box-shadow:0 3px 10px #16a34a4d}.btn-save:hover:not(:disabled){opacity:.88;box-shadow:0 4px 14px #16a34a66}.btn-annulla{color:#fff;background:#dc2626;box-shadow:0 3px 10px #dc26264d}.btn-annulla:hover:not(:disabled){opacity:.88;box-shadow:0 4px 14px #dc262666}.btn-assegna{color:#fff;background:#ea580c;box-shadow:0 3px 10px #ea580c4d}.btn-assegna:hover:not(:disabled){opacity:.88;box-shadow:0 4px 14px #ea580c66}.btn-delete-rec{color:#fff;background:#7c3aed;box-shadow:0 3px 10px #7c3aed4d}.btn-delete-rec:hover:not(:disabled){opacity:.88;box-shadow:0 4px 14px #7c3aed66}.input-readonly{color:#6b7280;cursor:default;background:#f3f4f6;border:1.5px solid #e5e7eb!important}.modal-footer{z-index:5;background:#fff;border-top:1px solid #f0f0f0;margin:8px -24px -24px;padding:12px 24px 20px;position:sticky;bottom:0}.btn-create{color:#fff;cursor:pointer;letter-spacing:-.1px;background:linear-gradient(135deg,#1250c4 0%,#2563eb 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-family:inherit;font-size:15px;font-weight:700;transition:opacity .15s,box-shadow .15s;display:flex;box-shadow:0 4px 14px #2563eb59}.btn-create:hover:not(:disabled){opacity:.92;box-shadow:0 6px 18px #2563eb73}.btn-create:disabled{opacity:.65;cursor:not-allowed}.btn-create-sm{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1250c4 0%,#2563eb 100%);border:none;border-radius:10px;align-items:center;gap:7px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:opacity .15s,box-shadow .15s;display:flex;box-shadow:0 2px 8px #2563eb4d}.btn-create-sm:hover:not(:disabled){opacity:.9}.btn-create-sm:disabled{opacity:.65;cursor:not-allowed}.group-notice{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:12.5px;line-height:1.4;display:flex}.group-notice svg{flex-shrink:0;margin-top:1px}.group-mode-toggle{margin:-2px 0 2px}.group-student-item{cursor:default;justify-content:space-between}.group-student-label{cursor:pointer;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.group-payer-btn{color:#9ca3af;cursor:pointer;background:#fff;border:1.5px solid #e5e7eb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;transition:background .15s,border-color .15s,color .15s;display:flex}.group-payer-btn:hover:not(:disabled){color:#f59e0b;border-color:#f59e0b}.group-payer-btn.active{color:#d97706;background:#fef3c7;border-color:#f59e0b}.group-payer-btn:disabled{opacity:.4;cursor:not-allowed}.group-roster-readonly{background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:10px;flex-wrap:wrap;gap:6px;padding:9px 10px;display:flex}.group-roster-chip{color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:12.5px;display:inline-flex}.group-roster-chip.is-payer{color:#92400e;background:#fef3c7;border-color:#f59e0b;font-weight:600}.course-students-box{border:1.5px solid #e5e7eb;border-radius:10px;overflow:hidden}.course-students-search{color:#9ca3af;border-bottom:1px solid #e5e7eb;align-items:center;gap:8px;padding:8px 12px;display:flex}.course-students-search input{outline:none;flex:1;font-size:13px;box-shadow:none!important;border:none!important;padding:4px 0!important}.course-students-list{max-height:150px;padding:6px 0;overflow-y:auto}.course-student-item{cursor:pointer;color:#374151;align-items:center;gap:10px;padding:8px 14px;font-size:14px;transition:background .1s;display:flex}.course-student-item:hover{background:#f3f4f6}.course-student-item input[type=checkbox]{appearance:none;box-sizing:border-box;cursor:pointer;background:#fff;border:2px solid #d1d5db;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin:0;padding:0;transition:background .15s,border-color .15s;display:inline-flex}.course-student-item input[type=checkbox]:checked{background:#2563eb;border-color:#2563eb}.course-student-item input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;transform:rotate(45deg)translate(-1px,-1px)}.search-select-root{position:relative}.search-select-disabled{opacity:.65;pointer-events:none}.search-select-trigger{color:#111827;cursor:pointer;text-align:left;background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 12px;font-size:14px;display:flex}.search-select-trigger:focus{border-color:#2563eb;outline:none}.search-select-placeholder{color:#9ca3af}.search-select-chevron{color:#9ca3af;flex-shrink:0;transition:transform .15s}.search-select-chevron.open{transform:rotate(180deg)}.search-select-panel{z-index:30;background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}.search-select-empty{color:#9ca3af;padding:10px 14px;font-size:13px}.search-select-option.selected{color:#2563eb;background:#eff6ff;font-weight:500}.cost-input-row{border:1.5px solid #e5e7eb;border-radius:10px;align-items:center;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.cost-input-row:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.cost-currency{color:#6b7280;padding:10px 0 10px 12px;font-size:14px;font-weight:600}.cost-input-row input{flex:1;min-width:0;box-shadow:none!important;border:none!important;padding:10px 12px 10px 6px!important}@media (width<=640px){.modal-overlay{align-items:flex-end;padding:0}.modal-box{border-radius:20px 20px 0 0;max-width:100%;max-height:94dvh;animation:.25s modalInMobile}.modal-header{border-radius:20px 20px 0 0;padding:20px 20px 18px}.modal-form{gap:14px;padding:20px 20px 32px}.form-row.two-col{flex-direction:column;gap:14px}.edit-actions,.modal-footer{margin:8px -20px -32px;padding:12px 20px 20px}.cancel-confirm-overlay{align-items:flex-end;padding:0}.cancel-confirm-box{border-radius:20px 20px 0 0;width:100%;max-width:100%;max-height:90dvh;animation:.25s modalInMobile}.cancel-confirm-header{padding:18px 20px 16px}.cancel-confirm-actions{padding:16px 20px calc(20px + env(safe-area-inset-bottom));flex-flow:column}.cancel-confirm-actions .btn-action{flex:none;width:100%;padding:13px 12px}}@keyframes modalInMobile{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.recovery-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.recovery-modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:480px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000002e}.recovery-header{color:#fff;background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.recovery-header-left{align-items:center;gap:10px;display:flex}.recovery-header-icon{background:#ffffff40;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.recovery-header-title{letter-spacing:-.2px;font-size:17px;font-weight:700}.recovery-close{cursor:pointer;color:#fff;background:#fff3;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:flex}.recovery-close:hover{background:#ffffff59}.recovery-body{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.recovery-empty{text-align:center;color:#9ca3af;padding:32px 0;font-size:14px}.recovery-group{border:1.5px solid;border-radius:12px;overflow:hidden}.recovery-group-header{align-items:center;gap:10px;padding:12px 14px;display:flex}.recovery-group-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.recovery-group-name{color:#111827;flex:1;font-size:15px;font-weight:700}.recovery-group-badge{color:#fff;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600}.recovery-group-students{border-top:1px solid #0000000f;flex-direction:column;display:flex}.recovery-student-row{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.recovery-student-row:last-child{border-bottom:none}.recovery-student-name{color:#1f2937;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.recovery-group-tag{text-transform:uppercase;letter-spacing:.02em;color:#7c3aed;background:#ede9fe;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:700}.recovery-student-sub{color:#6b7280;margin-top:1px;font-size:12px}.recovery-schedule-btn{cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:none}.recovery-schedule-btn:hover{text-decoration:underline}.recovery-footer{color:#fff;background:#1e293b;flex-shrink:0;align-items:center;gap:12px;padding:14px 20px;display:flex}.recovery-footer-icon{background:#f97316;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.recovery-footer-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:500}.recovery-footer-total{color:#fff;font-size:20px;font-weight:800;line-height:1.2}@media (width<=640px){.recovery-overlay{align-items:flex-end;padding:0}.recovery-modal{border-radius:20px 20px 0 0;max-width:100%;max-height:94dvh;animation:.25s recoveryModalInMobile}.recovery-header{border-radius:20px 20px 0 0}}@keyframes recoveryModalInMobile{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.bsm-overlay{z-index:1100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.bsm-modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:440px;max-height:90vh;animation:.2s bsmModalIn;display:flex;overflow:hidden;box-shadow:0 24px 60px #0003}@keyframes bsmModalIn{0%{opacity:0;transform:translateY(-14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.bsm-header{background:linear-gradient(135deg,#1250c4 0%,#0a3fa0 100%);border-radius:16px 16px 0 0;flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:22px 24px 20px;display:flex}.bsm-header h2{color:#fff;letter-spacing:-.3px;margin:0;font-size:20px;font-weight:700}.bsm-close{cursor:pointer;color:#fff;background:#ffffff26;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;padding:7px;transition:background .15s;display:flex}.bsm-close:hover{background:#ffffff40}.bsm-body{flex-direction:column;flex:1;gap:16px;min-height:0;padding:24px;display:flex;overflow-y:auto}.bsm-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:13px}.bsm-field{flex-direction:column;flex:1;gap:6px;display:flex}.bsm-field label{color:#6b7280;text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:600}.bsm-field input,.bsm-field select,.bsm-field textarea{color:#111827;resize:vertical;box-sizing:border-box;border:1.5px solid #e5e7eb;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.bsm-field input:focus,.bsm-field select:focus,.bsm-field textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.bsm-field-row{gap:12px;display:flex}.bsm-hint{color:#6b7280;margin:-8px 0 0;font-size:12px}.bsm-footer{z-index:5;background:#fff;border-top:1px solid #f0f0f0;justify-content:flex-end;gap:10px;margin:14px -24px -24px;padding:14px 24px 18px;display:flex;position:sticky;bottom:0}.bsm-footer--center{display:block}.bsm-footer--center .btn-save-modal{letter-spacing:-.1px;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:15px;font-weight:700;display:flex;box-shadow:0 4px 14px #2563eb59}.bsm-footer--center .btn-save-modal:hover:not(:disabled){box-shadow:0 6px 18px #2563eb73}.bsm-footer .btn-cancel-modal{color:#374151;cursor:pointer;background:#f3f4f6;border:none;border-radius:12px;padding:10px 20px;font-size:14px;font-weight:500;transition:background .15s}.bsm-footer .btn-cancel-modal:hover{background:#e5e7eb}.bsm-footer .btn-save-modal{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1250c4 0%,#2563eb 100%);border:none;border-radius:12px;padding:10px 22px;font-size:14px;font-weight:600;transition:filter .15s}.bsm-footer .btn-save-modal:hover:not(:disabled){filter:brightness(1.08)}.bsm-footer .btn-save-modal:disabled{opacity:.6;cursor:not-allowed}@media (width<=640px){.bsm-overlay{align-items:flex-end;padding:0}.bsm-modal{border-radius:20px 20px 0 0;max-width:100%;max-height:94dvh;animation:.25s bsmModalInMobile}.bsm-header{border-radius:20px 20px 0 0;padding:20px 20px 18px}.bsm-body{padding:20px 20px 32px}.bsm-footer{margin:14px -20px -32px;padding:14px 20px 20px}}@keyframes bsmModalInMobile{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.sav-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.sav-modal{background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:900px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 8px 40px #0000002e}.sav-header{color:#fff;background:linear-gradient(135deg,#1250c4 0%,#0a3fa0 100%);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;display:flex}.sav-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.sav-new-event-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#fff3;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:600;transition:background .15s;display:flex}.sav-new-event-btn:hover{background:#ffffff59}.sav-header h2{color:#fff;margin:0 0 4px;font-size:20px;font-weight:700}.sav-header p{opacity:.85;margin:0;font-size:13px}.sav-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:8px;flex-shrink:0;align-items:center;margin-left:12px;padding:6px;display:flex}.sav-close:hover{background:#ffffff59}.sav-body{flex:1;padding:16px 20px 20px;overflow-y:auto}.sav-nav{background:#3b82f6;border-radius:10px;align-items:center;gap:12px;margin-bottom:16px;padding:10px 16px;display:flex}.sav-nav-btn{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:6px;align-items:center;padding:4px 8px;transition:background .15s;display:flex}.sav-nav-btn:hover{background:#ffffff59}.sav-month-label{color:#fff;text-align:center;flex:1;font-size:16px;font-weight:700}.sav-loading{text-align:center;color:#6b7280;padding:40px;font-size:14px}.sav-grid{border:1px solid #e5e7eb;border-radius:10px;grid-template-columns:repeat(7,1fr);display:grid;overflow:hidden}.sav-weekday{text-align:center;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:8px 4px;font-size:12px;font-weight:600}.sav-cell{vertical-align:top;cursor:pointer;background:#fff;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;min-height:90px;padding:6px 4px 4px;transition:background .15s}.sav-cell:hover{background:#f8fafc}.sav-cell:nth-child(7n){border-right:none}.sav-cell--other{background:#f9fafb}.sav-cell--other .sav-day-num{color:#d1d5db}.sav-cell--today .sav-day-num{color:#fff;background:#3b82f6;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.sav-day-num{color:#374151;justify-content:center;align-items:center;width:22px;height:22px;margin-bottom:2px;font-size:12px;font-weight:600;display:inline-flex}.sav-events{flex-direction:column;gap:2px;display:flex}.sav-event{text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border:none;border-radius:4px;width:100%;padding:2px 6px;font-size:11px;font-weight:500;transition:opacity .15s;display:block;overflow:hidden}.sav-event:hover{opacity:.8}.sav-event--lezione{color:#1d4ed8;background:#dbeafe}.sav-event--corso{color:#92400e;background:#fef3c7}.sav-event--evento{color:#991b1b;background:#fee2e2;align-items:center;gap:4px;display:flex}.sav-popup{z-index:2000;background:#fff;border:1px solid #e5e7eb;border-radius:10px;min-width:200px;max-width:260px;padding:12px 14px;position:fixed;box-shadow:0 4px 24px #0000002e}.sav-popup-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.sav-popup-header button{cursor:pointer;color:#6b7280;background:0 0;border:none;align-items:center;padding:2px;display:flex}.sav-popup-tipo{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.sav-popup-tipo--lezione{color:#1d4ed8;background:#dbeafe}.sav-popup-tipo--corso{color:#92400e;background:#fef3c7}.sav-popup-tipo--evento{color:#991b1b;background:#fee2e2}.sav-popup-delete{color:#dc2626;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:8px;padding:7px 10px;font-size:13px;font-weight:600;transition:background .15s;display:flex}.sav-popup-delete:hover:not(:disabled){background:#fee2e2}.sav-popup-delete:disabled{opacity:.6;cursor:not-allowed}.sav-popup-row{color:#374151;align-items:center;gap:6px;margin-bottom:4px;font-size:13px;display:flex}.sav-popup-label{color:#6b7280;font-size:12px;font-weight:600}.sav-dayview-overlay{z-index:1500;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.sav-dayview{background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:560px;max-height:88vh;animation:.18s dayViewIn;display:flex;overflow:hidden;box-shadow:0 8px 40px #00000038}@keyframes dayViewIn{0%{opacity:0;transform:scale(.96)translateY(-6px)}to{opacity:1;transform:scale(1)translateY(0)}}.sav-dayview-header{border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.sav-dayview-weekday{color:#6b7280;text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600;display:block}.sav-dayview-date{color:#111827;margin-top:2px;font-size:17px;font-weight:700;display:block}.sav-dayview-close{color:#4b5563;cursor:pointer;background:#f3f4f6;border:none;border-radius:8px;flex-shrink:0;align-items:center;padding:6px;display:flex}.sav-dayview-close:hover{background:#e5e7eb}.sav-dayview-allday{border-bottom:1px solid #e5e7eb;flex-wrap:wrap;flex-shrink:0;gap:6px;padding:10px 20px;display:flex}.sav-dayview-allday-event{cursor:pointer;border:none;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;transition:opacity .15s}.sav-dayview-allday-event:hover{opacity:.8}.sav-dayview-body{flex:1;overflow-y:auto}.sav-dayview-row{display:flex;position:relative}.sav-dayview-gutter{border-right:1px solid #e5e7eb;flex-shrink:0;width:52px}.sav-dayview-hour-label{color:#9ca3af;text-align:right;box-sizing:border-box;padding-right:8px;font-size:11px;transform:translateY(-7px)}.sav-dayview-hour-label:first-child{transform:translateY(0)}.sav-dayview-track{flex:1;position:relative}.sav-dayview-hour-cell{box-sizing:border-box;background:#ecfdf3;border-top:1px solid #d1fae5;position:absolute;left:0;right:0}.sav-dayview-hour-cell:first-child{border-top:none}.sav-dayview-event{text-align:left;cursor:pointer;z-index:1;border:1px solid #ffffffa6;border-radius:6px;flex-direction:column;gap:1px;padding:3px 8px;font-size:11px;transition:opacity .15s;display:flex;position:absolute;overflow:hidden;box-shadow:0 1px 3px #0000001f}.sav-dayview-event:hover{opacity:.85}.sav-dayview-event-time{opacity:.85;white-space:nowrap;font-size:10px;font-weight:700}.sav-dayview-event-title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}@media (width<=640px){.sav-overlay{align-items:flex-end;padding:0}.sav-modal{border-radius:20px 20px 0 0;max-width:100%;max-height:94dvh;animation:.25s savModalInMobile}.sav-header{border-radius:20px 20px 0 0;padding:18px 18px 14px}.sav-body{padding:12px 14px 18px}.sav-cell{min-height:64px;padding:4px 2px 2px}.sav-day-num{width:18px;height:18px;font-size:11px}.sav-event{padding:1px 4px;font-size:10px}.sav-weekday{padding:6px 2px;font-size:10px}.sav-dayview-overlay{align-items:flex-end;padding:0}.sav-dayview{border-radius:20px 20px 0 0;max-width:100%;max-height:92dvh;animation:.25s savModalInMobile}.sav-dayview-header{padding:14px 16px}.sav-dayview-gutter{width:42px}.sav-dayview-hour-label{padding-right:6px;font-size:10px}}@keyframes savModalInMobile{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.dumodal-overlay{z-index:1100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dumodal-box{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:480px;max-height:92vh;animation:.2s duModalIn;display:flex;overflow-y:auto;box-shadow:0 24px 60px #0003}@keyframes duModalIn{0%{opacity:0;transform:translateY(-14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.dumodal-header{border-bottom:1px solid #f0f0f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.dumodal-title{color:#1e1e2d;margin:0;font-size:17px;font-weight:700}.dumodal-close{cursor:pointer;color:#4b5563;background:#f3f4f6;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:background .15s;display:flex}.dumodal-close:hover{background:#e5e7eb}.dumodal-body{flex-direction:column;gap:14px;padding:20px 22px 24px;display:flex}.dumodal-subtitle{color:#4b5563;margin:0;font-size:14px}.dumodal-option{border:1px solid #e5e7eb;border-radius:12px;align-items:flex-start;gap:12px;padding:14px;display:flex}.dumodal-option-icon{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.dumodal-option-icon--suspend{color:#2563eb;background:#eff6ff}.dumodal-option-icon--delete{color:#dc2626;background:#fef2f2}.dumodal-option-text{flex:1}.dumodal-option-text h3{color:#1e1e2d;margin:0 0 3px;font-size:14px;font-weight:700}.dumodal-option-text p{color:#6b7280;margin:0;font-size:12.5px;line-height:1.4}.dumodal-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:9px;flex-shrink:0;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:700;transition:opacity .15s}.dumodal-btn:disabled{opacity:.6;cursor:not-allowed}.dumodal-btn:hover:not(:disabled){opacity:.88}.dumodal-btn--suspend{color:#fff;background:#2563eb}.dumodal-btn--delete{color:#fff;background:#dc2626}.dumodal-btn--cancel{color:#374151;background:#f3f4f6;flex:1}.dumodal-warning{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;gap:10px;padding:12px 14px;display:flex}.dumodal-warning svg{flex-shrink:0;margin-top:2px}.dumodal-warning p{margin:0;font-size:13px;line-height:1.5}.dumodal-confirm-label{color:#374151;font-size:13px}.dumodal-confirm-input{border:1px solid #d1d5db;border-radius:9px;padding:10px 12px;font-family:inherit;font-size:14px}.dumodal-confirm-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.dumodal-confirm-actions{gap:10px;display:flex}.dumodal-confirm-actions .dumodal-btn--delete{flex:1}.dumodal-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:13px}.rcmodal-overlay{z-index:1300;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.rcmodal-box{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:460px;max-height:92dvh;animation:.2s rcModalIn;display:flex;overflow:hidden;box-shadow:0 24px 60px #0000004d}@keyframes rcModalIn{0%{opacity:0;transform:translateY(-14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.rcmodal-header{background:linear-gradient(135deg,#1250c4 0%,#0a3fa0 100%);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px 18px;display:flex}.rcmodal-header-left{align-items:flex-start;gap:14px;min-width:0;display:flex}.rcmodal-header-text{min-width:0}.rcmodal-icon{color:#fff;background:#fff3;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.rcmodal-title{color:#fff;margin:0;font-size:18px;font-weight:700;line-height:1.2}.rcmodal-subtitle{color:#fffc;overflow-wrap:anywhere;margin:3px 0 0;font-size:13px}.rcmodal-close{cursor:pointer;color:#fff;background:#fff3;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:7px;transition:background .15s;display:flex}.rcmodal-close:hover:not(:disabled){background:#ffffff52}.rcmodal-close:disabled{opacity:.5;cursor:not-allowed}.rcmodal-body{flex-direction:column;gap:14px;min-height:0;padding:20px 22px;display:flex;overflow-y:auto}.rcmodal-question{color:#1e1e2d;margin:0;font-size:15px;font-weight:700}.rcmodal-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;gap:10px;padding:12px 14px;display:flex}.rcmodal-warning svg{flex-shrink:0;margin-top:2px}.rcmodal-warning p{margin:0;font-size:13px;line-height:1.5}.rcmodal-footer{background:#fafafa;border-top:1px solid #f3f4f6;flex-direction:column;flex-shrink:0;gap:8px;padding:14px 22px 18px;display:flex}.rcmodal-btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:12px 14px;font-family:inherit;font-size:14px;font-weight:700;transition:opacity .15s;display:flex}.rcmodal-btn:disabled{opacity:.6;cursor:not-allowed}.rcmodal-btn:hover:not(:disabled){opacity:.88}.rcmodal-btn--yes{color:#fff;background:#16a34a;box-shadow:0 3px 10px #16a34a4d}.rcmodal-btn--no{color:#2563eb;background:#eff6ff;border:1.5px solid #bfdbfe}.rcmodal-btn--cancel{color:#6b7280;background:#fff;border:1.5px solid #e5e7eb}.rcmodal-btn--cancel:hover:not(:disabled){opacity:1;background:#f3f4f6}@media (width<=640px){.rcmodal-overlay{padding:16px}.rcmodal-box{max-width:100%;max-height:calc(100dvh - 32px)}.rcmodal-header{padding:18px 16px 16px}.rcmodal-body{padding:18px 16px}.rcmodal-footer{padding:14px 16px calc(16px + env(safe-area-inset-bottom,0px))}.rcmodal-btn{padding:14px}}@media (height<=480px){.rcmodal-overlay{padding:8px}.rcmodal-box{max-height:calc(100dvh - 16px)}.rcmodal-header{padding:12px 16px}.rcmodal-body{gap:10px;padding:12px 16px}.rcmodal-footer{flex-flow:wrap;padding:10px 16px}.rcmodal-btn{flex:auto;padding:10px}}.smodal-overlay{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.smodal-box{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:520px;max-height:92vh;animation:.2s sModalIn;display:flex;overflow-y:auto;box-shadow:0 24px 60px #0003}@keyframes sModalIn{0%{opacity:0;transform:translateY(-14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.smodal-header{z-index:5;background:linear-gradient(135deg,#1250c4 0%,#0a3fa0 100%);border-radius:16px 16px 0 0;flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:22px 22px 18px;display:flex;position:sticky;top:0}.smodal-header-left{align-items:flex-start;gap:14px;display:flex}.smodal-icon{color:#fff;background:#fff3;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.smodal-title{color:#fff;margin:0;font-size:18px;font-weight:700;line-height:1.2}.smodal-subtitle{color:#fffc;margin:3px 0 0;font-size:13px}.smodal-close{cursor:pointer;color:#fff;background:#fff3;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:7px;transition:background .15s;display:flex}.smodal-close:hover{background:#ffffff59}.smodal-form{flex-direction:column;gap:16px;padding:20px 22px 24px;display:flex}.sform-row{gap:14px;display:flex}.sform-row>*{flex:1;min-width:0}.sform-group{flex-direction:column;gap:6px;display:flex}.sform-group label{color:#374151;font-size:12px;font-weight:600}.sfield{position:relative}.sfield-icon{color:#9ca3af;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.sfield input{color:#111827;box-sizing:border-box;background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;outline:none;width:100%;padding:10px 12px 10px 34px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.sfield input::placeholder{color:#9ca3af}.sfield input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.sfield--invalid input{border-color:#dc2626}.sfield--invalid input:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261f}.sfield-error{color:#dc2626;font-size:12px}.sfield-select{position:relative}.sfield-select-btn{color:#111827;cursor:pointer;text-align:left;box-sizing:border-box;background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;align-items:center;gap:8px;width:100%;padding:10px 12px 10px 34px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.sfield-select-btn.open{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.sfield-select-btn .placeholder{color:#9ca3af}.sfield-select-btn span:first-of-type{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sfield-icon-abs{color:#9ca3af;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.chevron{color:#9ca3af;flex-shrink:0;transition:transform .15s}.chevron.open{transform:rotate(180deg)}.sfield-dropdown{z-index:50;background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;max-height:200px;padding:6px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001a}.sdropdown-item{cursor:pointer;color:#374151;border-radius:7px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;transition:background .12s;display:flex}.sdropdown-item:hover{background:#f3f4f6}.sdropdown-item input[type=checkbox]{accent-color:#2563eb;cursor:pointer;flex-shrink:0;width:16px;height:16px}.sminor-checkbox{cursor:pointer;color:#374151;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.sminor-checkbox input[type=checkbox]{appearance:none;cursor:pointer;background:#fff;border:2px solid #d1d5db;border-radius:5px;flex-shrink:0;width:18px;height:18px;transition:background .15s,border-color .15s;position:relative}.sminor-checkbox input[type=checkbox]:checked{background:#2563eb;border-color:#2563eb}.sminor-checkbox input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-top:none;border-left:none;width:6px;height:10px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.sguardian-section{background:#f8faff;border:1.5px solid #dbeafe;border-radius:12px;flex-direction:column;gap:14px;padding:16px;display:flex}.sguardian-header{color:#1e40af;align-items:center;gap:10px;font-size:14px;font-weight:700;display:flex}.sguardian-icon{color:#fff;background:linear-gradient(135deg,#1250c4,#2563eb);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.sguardian-section .sfield input{background:#fff}.sbilling-section{background:#f6fdf9;border-color:#bbf7d0}.sbilling-section .sguardian-header{color:#166534}.sbilling-section .sguardian-icon{background:linear-gradient(135deg,#15803d,#16a34a)}.sbilling-hint{color:#4b5563;margin:-6px 0 0;font-size:12.5px;line-height:1.4}.sminor-checkbox--green input[type=checkbox]:checked{background:#16a34a;border-color:#16a34a}.sform-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:13px}.sform-fieldset{border:0;margin:0;padding:0;display:contents}.sform-fieldset:disabled{opacity:.65}.sform-fieldset:disabled .sfield-select-btn,.sform-fieldset:disabled input,.sform-fieldset:disabled select{cursor:not-allowed}.ssuspended-banner{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.4;display:flex}.ssuspended-banner svg{flex-shrink:0;margin-top:1px}.smodal-footer{z-index:5;background:#fff;border-top:1px solid #f0f0f0;margin:8px -22px -24px;padding:12px 22px 20px;position:sticky;bottom:0}.sbtn-create{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1250c4 0%,#2563eb 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-family:inherit;font-size:15px;font-weight:700;transition:opacity .15s,box-shadow .15s;display:flex;box-shadow:0 4px 14px #2563eb59}.sbtn-create:hover:not(:disabled){opacity:.9;box-shadow:0 6px 18px #2563eb73}.sbtn-create:disabled{opacity:.6;cursor:not-allowed}.sedit-actions{z-index:5;background:#fff;border-top:1px solid #f0f0f0;gap:10px;margin:8px -22px -24px;padding:12px 22px 20px;display:flex;position:sticky;bottom:0}.sbtn-save,.sbtn-delete{cursor:pointer;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:7px;padding:13px 8px;font-family:inherit;font-size:14px;font-weight:700;transition:opacity .15s,box-shadow .15s;display:flex}.sbtn-save:disabled,.sbtn-delete:disabled{opacity:.6;cursor:not-allowed}.sbtn-save{color:#fff;background:#16a34a;box-shadow:0 3px 10px #16a34a4d}.sbtn-save:hover:not(:disabled){opacity:.88}.sbtn-delete{color:#fff;background:#dc2626;box-shadow:0 3px 10px #dc26264d}.sbtn-delete:hover:not(:disabled){opacity:.88}@media (width<=640px){.smodal-overlay{align-items:flex-end;padding:0}.smodal-box{border-radius:20px 20px 0 0;max-width:100%;max-height:96dvh;animation:.25s sModalInMobile}.smodal-header{border-radius:20px 20px 0 0}.sform-row{flex-direction:column;gap:14px}.smodal-form{padding:18px 18px 32px}.sedit-actions,.smodal-footer{margin:8px -18px -32px;padding:12px 18px 20px}}@keyframes sModalInMobile{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.fp-overlay{z-index:1100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.fp-box{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:820px;height:90vh;max-height:90vh;animation:.2s fpIn;display:flex;overflow:hidden;box-shadow:0 24px 60px #00000040}@keyframes fpIn{0%{opacity:0;transform:translateY(-14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.fp-header{background:linear-gradient(135deg,#1250c4 0%,#0a3fa0 100%);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:20px 24px;display:flex}.fp-header-left{align-items:flex-start;gap:14px;display:flex}.fp-header-icon{color:#fff;background:#ffffff2e;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.fp-title{color:#fff;letter-spacing:-.3px;margin:0;font-size:19px;font-weight:700}.fp-subtitle{color:#ffffffc7;margin:4px 0 0;font-size:13px}.fp-close{cursor:pointer;color:#fff;background:#ffffff26;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:7px;transition:background .15s;display:flex}.fp-close:hover{background:#ffffff47}.fp-body{background:#525659;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:auto}.fp-frame{border:none;width:100%;height:100%}.fp-image{object-fit:contain;max-width:100%;max-height:100%}.fp-status{color:#e5e7eb;text-align:center;padding:32px;font-size:14px}.fp-status.error{color:#fca5a5}.fp-footer{background:#fafafa;border-top:1px solid #f3f4f6;flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.fp-btn{cursor:pointer;white-space:nowrap;border:1.5px solid #0000;border-radius:9px;align-items:center;gap:6px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:opacity .15s,background .15s;display:inline-flex}.fp-btn:hover:not(:disabled){opacity:.85}.fp-btn:disabled{opacity:.55;cursor:default}.fp-btn-default{color:#374151;background:#f3f4f6;border-color:#e5e7eb}.fp-btn-primary{color:#fff;background:#2563eb}.fp-btn-approve{color:#fff;background:#059669}.fp-btn-reject{color:#dc2626;background:#fef2f2;border-color:#fecaca}@media (width<=640px){.fp-overlay{padding:0}.fp-box{border-radius:0;max-width:100%;height:100dvh;max-height:100dvh}.fp-footer{justify-content:stretch}.fp-btn{flex:1;justify-content:center}}.students-card{background:#fff;border:1px solid #f0f0f0;border-radius:16px;overflow:hidden;box-shadow:0 1px 4px #1018280f}.students-toolbar{border-bottom:1px solid #f3f4f6;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 18px;display:flex}.students-search{flex:1;min-width:220px;position:relative}.students-search-icon{color:#9ca3af;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.students-search input{color:#374151;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;outline:none;width:100%;padding:9px 12px 9px 36px;font-family:inherit;font-size:13px;transition:border-color .15s,background .15s}.students-search input::placeholder{color:#9ca3af}.students-search input:focus{background:#fff;border-color:#2563eb}.students-select{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;outline:none;min-width:150px;padding:9px 12px;font-family:inherit;font-size:13px;transition:border-color .15s}.students-select:focus{border-color:#2563eb}.students-own-filter{color:#374151;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:6px;padding:9px 12px;font-family:inherit;font-size:13px;display:flex}.students-own-filter input{cursor:pointer}.students-status{text-align:center;color:#6b7280;padding:24px;font-size:13px}.students-status.error{color:#dc2626}.students-table-wrap{overflow-x:auto}.students-table{border-collapse:collapse;width:100%;font-size:13px}.students-table thead th{text-align:left;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;background:#fafafa;border-bottom:1px solid #f0f0f0;padding:12px 18px;font-size:11px;font-weight:600}.students-table tbody td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:14px 18px}.students-table tbody tr:last-child td{border-bottom:none}.students-table tbody tr:hover{background:#f9fafb}.col-actions{text-align:right;width:70px}.student-name{color:#111827;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.student-card-nr{color:#9ca3af;margin-top:2px;font-size:12px}.user-status-badge{color:#dc2626;white-space:nowrap;background:#fef2f2;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.course-pills{flex-wrap:wrap;gap:6px;display:flex}.course-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.course-piano{color:#2563eb;background:#eff6ff}.course-guitar{color:#7c3aed;background:#f5f3ff}.course-canto{color:#db2777;background:#fdf2f8}.course-batteria{color:#ea580c;background:#fff7ed}.course-teoria{color:#059669;background:#ecfdf5}.course-default{color:#4b5563;background:#f3f4f6}.contact-email{color:#111827}.contact-phone{color:#9ca3af;margin-top:2px;font-size:12px}.payment-amount{color:#111827;font-size:13px;font-weight:600}.payment-breakdown{color:#9ca3af;margin-top:2px;font-size:12px}.pay-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:12px;font-weight:600;display:inline-flex}.pay-ok{color:#059669;background:#ecfdf5}.pay-pending{color:#b45309;background:#fffbeb}.pay-late,.pay-suspended{color:#dc2626;background:#fef2f2}.history-link{color:#2563eb;cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:0;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.history-link:hover{text-decoration:underline}.action-btn{cursor:pointer;color:#2563eb;background:#eff6ff;border:none;border-radius:8px;justify-content:center;align-items:center;padding:7px;transition:background .15s;display:inline-flex}.action-btn:hover{background:#dbeafe}.students-empty{text-align:center;color:#9ca3af;padding:32px;font-size:13px}.students-footer{border-top:1px solid #f3f4f6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.students-count{color:#6b7280;font-size:13px}.students-pagination{align-items:center;gap:6px;display:flex}.students-mobile-list{display:none}.student-mobile-card{border-bottom:1px solid #f3f4f6}.student-mobile-card:last-child{border-bottom:none}.student-mobile-row{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.student-mobile-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.student-mobile-main .pay-badge{align-self:flex-start}.mobile-chevron-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:4px;display:flex}.student-mobile-details{flex-direction:column;gap:12px;padding:0 16px 16px;display:flex}.mobile-detail-row{color:#111827;flex-direction:column;gap:4px;font-size:13px;display:flex}.mobile-detail-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.mobile-detail-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:2px;display:flex}@media (width<=640px){.students-toolbar{flex-direction:column;align-items:stretch}.students-select{width:100%}.header-bar .btn-new-lesson,.students-table-wrap{display:none}.students-mobile-list{display:block}}.pwd-strength{align-items:center;gap:10px;margin-top:8px;display:flex}.pwd-strength-bar{flex:1;gap:4px;display:flex}.pwd-strength-segment{background:#e5e7eb;border-radius:99px;flex:1;height:4px;transition:background .25s}.pwd-strength-segment--very-weak{background:#ef4444}.pwd-strength-segment--weak{background:#f97316}.pwd-strength-segment--fair{background:#eab308}.pwd-strength-segment--strong{background:#22c55e}.pwd-strength-segment--very-strong{background:#16a34a}.pwd-strength-label{white-space:nowrap;text-align:right;min-width:80px;font-size:12px;font-weight:600}.pwd-strength-label--very-weak{color:#ef4444}.pwd-strength-label--weak{color:#f97316}.pwd-strength-label--fair{color:#eab308}.pwd-strength-label--strong{color:#22c55e}.pwd-strength-label--very-strong{color:#16a34a}.settings-layout{align-items:flex-start;gap:24px;padding:24px;display:flex}.settings-nav{background:#fff;border:1px solid #f0f0f0;border-radius:14px;flex-direction:column;gap:2px;width:220px;min-width:220px;padding:8px;display:flex;position:sticky;top:24px;box-shadow:0 1px 4px #1018280f}.settings-nav-item{color:#374151;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.settings-nav-item:hover{color:#1250c4;background:#f3f6ff}.settings-nav-item.active{color:#1250c4;background:#eef2ff;font-weight:600}.subject-desc{color:#6b7280;margin-top:2px;font-size:12px}.settings-nav-chevron{opacity:.4;flex-shrink:0;margin-left:auto}.settings-nav-item.active .settings-nav-chevron{opacity:.7}.settings-content{flex:1;min-width:0}.settings-card{background:#fff;border:1px solid #f0f0f0;border-radius:16px;padding:28px;box-shadow:0 1px 4px #1018280f}.settings-card-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.settings-card-title{color:#111827;margin:0 0 4px;font-size:17px;font-weight:700}.settings-card-desc{color:#6b7280;margin:0;font-size:13px}.btn-primary{color:#fff;cursor:pointer;white-space:nowrap;background:#1250c4;border:none;border-radius:9px;flex-shrink:0;align-items:center;gap:6px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.btn-primary:hover{background:#0e42a8}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.settings-alert{border-radius:9px;margin-bottom:16px;padding:10px 14px;font-size:13px;font-weight:500}.settings-alert--error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.settings-alert--success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.settings-loading,.settings-empty{color:#9ca3af;text-align:center;padding:20px 0;font-size:13px}.subjects-list{flex-direction:column;gap:6px;display:flex}.subject-row{background:#fafafa;border:1px solid #f0f0f0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;transition:border-color .15s;display:flex}.subject-row:hover{border-color:#e0e7ff}.subject-row--new{background:#f5f7ff;border-color:#c7d2fe}.subject-info{align-items:center;gap:10px;display:flex}.subject-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.subject-name{color:#111827;font-size:14px;font-weight:500}.subject-row-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.icon-btn{cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;font-family:inherit;transition:background .15s,color .15s;display:flex}.icon-btn--edit{color:#374151;background:#f3f4f6}.icon-btn--edit:hover{color:#1250c4;background:#e0e7ff}.icon-btn--delete{color:#374151;background:#f3f4f6}.icon-btn--delete:hover{color:#dc2626;background:#fee2e2}.icon-btn--confirm{color:#15803d;background:#dcfce7}.icon-btn--confirm:hover{background:#bbf7d0}.icon-btn--cancel{color:#6b7280;background:#f3f4f6}.icon-btn--cancel:hover{color:#dc2626;background:#fee2e2}.subject-edit-fields{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.color-picker-wrap{flex-shrink:0;align-items:center;gap:8px;display:flex}.color-preview{border:2px solid #0000001a;border-radius:50%;flex-shrink:0;width:22px;height:22px}.color-swatches{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:18px;height:18px;padding:0;transition:transform .1s,border-color .1s}.color-swatch:hover{transform:scale(1.2)}.color-swatch.selected{border-color:#111827;transform:scale(1.15)}.color-input-custom{cursor:pointer;background:0 0;border:2px solid #e5e7eb;border-radius:50%;width:22px;height:22px;padding:0;overflow:hidden}.settings-form{flex-direction:column;gap:18px;max-width:420px;display:flex}.settings-field{flex-direction:column;gap:6px;display:flex}.settings-label{color:#374151;font-size:13px;font-weight:600}.settings-input{color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:9px;outline:none;width:100%;padding:9px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.settings-input:focus{border-color:#1250c4;box-shadow:0 0 0 3px #1250c41a}.settings-form-footer{padding-top:4px}.chiusura-fields{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.chiusura-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;width:fit-content;display:inline-flex}.chiusura-toggle-switch{flex-shrink:0;width:36px;height:20px;position:relative}.chiusura-toggle-switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.chiusura-toggle-track{background:#d1d5db;border-radius:999px;transition:background .15s;position:absolute;inset:0}.chiusura-toggle-track:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #10182840}.chiusura-toggle-switch input:checked+.chiusura-toggle-track{background:#1250c4}.chiusura-toggle-switch input:checked+.chiusura-toggle-track:before{transform:translate(16px)}.chiusura-toggle-switch input:focus-visible+.chiusura-toggle-track{box-shadow:0 0 0 3px #1250c433}.chiusura-toggle-label{color:#374151;font-size:13px;font-weight:500}.chiusura-dates{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.chiusura-date-input{color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:9px;outline:none;flex:150px;min-width:0;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.chiusura-date-input:focus{border-color:#1250c4;box-shadow:0 0 0 3px #1250c41a}.chiusura-date-separator{color:#9ca3af;flex-shrink:0}.chiusura-desc-input{color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:9px;outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.chiusura-desc-input:focus{border-color:#1250c4;box-shadow:0 0 0 3px #1250c41a}.chiusura-summary-dates{color:#111827;font-size:14px;font-weight:500}.chiusura-summary-desc{color:#6b7280;margin-left:8px;font-size:13px}.admin-list{flex-direction:column;gap:6px;display:flex}.admin-row{background:#fafafa;border:1px solid #f0f0f0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;transition:border-color .15s;display:flex}.admin-row:hover{border-color:#e0e7ff}.admin-info{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.admin-avatar{color:#1250c4;background:#eef2ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:flex}.admin-details{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-name{color:#111827;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex;overflow:hidden}.admin-email{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.admin-badge{border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600}.admin-badge--suspended{color:#b45309;background:#fef3c7}.admin-badge--self{color:#1250c4;background:#eef2ff}.icon-btn--delete:disabled{opacity:.4;cursor:not-allowed}.icon-btn--delete:disabled:hover{color:#374151;background:#f3f4f6}.notifiche-list{flex-direction:column;gap:6px;display:flex}.notifica-row{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#fafafa;border:1px solid #f0f0f0;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.notifica-row:hover{border-color:#e0e7ff}.notifica-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.notifica-label{color:#111827;font-size:14px;font-weight:500;line-height:1.3}.notifica-desc{color:#6b7280;font-size:12px;line-height:1.4}.notifica-row .chiusura-toggle-switch input:disabled{cursor:progress}.settings-nav-select{display:none}@media (width<=700px){.settings-layout{flex-direction:column;gap:16px;padding:16px}.settings-nav-select{color:#111827;appearance:none;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23374151' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>") right 12px center no-repeat;border:1px solid #e5e7eb;border-radius:10px;outline:none;width:100%;padding:11px 14px;font-family:inherit;font-size:14px;font-weight:600;display:block}.settings-nav-select:focus{border-color:#1250c4;box-shadow:0 0 0 3px #1250c41a}.settings-nav{display:none}.settings-content{width:100%}.settings-card{box-sizing:border-box;width:100%;padding:18px}.settings-card-header{text-align:center;flex-direction:column;align-items:stretch}.settings-card-header .btn-primary{justify-content:center;width:100%}.admin-row{flex-wrap:wrap}.admin-info{width:100%}.admin-name{white-space:normal}.admin-row .subject-row-actions{margin-left:auto}.settings-form{max-width:100%}.subject-edit-fields,.color-swatches{flex-wrap:wrap}.chiusura-dates{flex-direction:column;align-items:stretch}.chiusura-date-input{flex:none;width:100%}.chiusura-date-separator{text-align:center;display:block;transform:rotate(90deg)}.subject-row--editing{flex-direction:column;align-items:stretch}.subject-row--editing .subject-edit-fields,.subject-row--editing .chiusura-fields{width:100%}.subject-row--editing .subject-row-actions{justify-content:flex-end;width:100%}.notifica-row{align-items:center;gap:12px;padding:14px 12px}.notifica-row:active{background:#f3f6ff}.notifica-row .chiusura-toggle-switch{width:44px;height:26px}.notifica-row .chiusura-toggle-track:before{width:22px;height:22px}.notifica-row .chiusura-toggle-switch input:checked+.chiusura-toggle-track:before{transform:translate(18px)}}.studio-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.studio-modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:480px;max-height:90vh;animation:.2s studioModalIn;display:flex;overflow:hidden;box-shadow:0 24px 60px #0003}@keyframes studioModalIn{0%{opacity:0;transform:translateY(-14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.studio-modal-header{background:linear-gradient(135deg,#1250c4 0%,#0a3fa0 100%);border-radius:16px 16px 0 0;flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:22px 24px 20px;display:flex}.studio-modal-header h2{color:#fff;letter-spacing:-.3px;margin:0;font-size:20px;font-weight:700}.studio-modal-close{cursor:pointer;color:#fff;background:#ffffff26;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;padding:7px;transition:background .15s;display:flex}.studio-modal-close:hover{background:#ffffff40}.studio-modal-body{flex-direction:column;flex:1;gap:16px;min-height:0;padding:24px;display:flex;overflow-y:auto}.studio-modal-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:13px}.studio-field{flex-direction:column;gap:6px;display:flex}.studio-field label{color:#6b7280;text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:600}.studio-field input,.studio-field select{color:#111827;box-sizing:border-box;background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.studio-field input:focus,.studio-field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.studio-colore-row{align-items:center;gap:8px;display:flex}.studio-colore-picker{cursor:pointer;flex-shrink:0;height:40px;width:44px!important;padding:2px!important}.studio-colore-hex{text-transform:uppercase;flex:1}.studio-colore-presets{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.studio-colore-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;padding:0;transition:transform .1s,border-color .15s}.studio-colore-swatch:hover{transform:scale(1.1)}.studio-colore-swatch--active{border-color:#111827}.studio-strumenti-list{flex-wrap:wrap;gap:6px;display:flex}.studio-strumenti-list:empty{display:none}.studio-strumento-tag{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;align-items:center;gap:4px;padding:3px 10px 3px 12px;font-size:13px;font-weight:500;display:inline-flex}.studio-strumento-tag button{cursor:pointer;color:#93c5fd;background:0 0;border:none;align-items:center;padding:0;line-height:1;display:flex}.studio-strumento-tag button:hover{color:#1d4ed8}.studio-strumento-input-row{gap:8px;display:flex}.studio-strumento-input-row input{flex:1}.btn-add-strumento{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;align-items:center;padding:0 14px;font-size:14px;transition:background .15s;display:flex}.btn-add-strumento:hover{background:#2563eb}.studio-modal-footer{z-index:5;background:#fff;border-top:1px solid #f0f0f0;justify-content:flex-end;gap:10px;margin:14px -24px -24px;padding:14px 24px 18px;display:flex;position:sticky;bottom:0}.studio-modal-footer--center{display:block}.studio-modal-footer--center .btn-save-modal{letter-spacing:-.1px;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:15px;font-weight:700;display:flex;box-shadow:0 4px 14px #2563eb59}.studio-modal-footer--center .btn-save-modal:hover:not(:disabled){box-shadow:0 6px 18px #2563eb73}@media (width<=640px){.studio-modal-overlay{align-items:flex-end;padding:0}.studio-modal{border-radius:20px 20px 0 0;max-width:100%;max-height:94dvh;animation:.25s studioModalInMobile}.studio-modal-header{border-radius:20px 20px 0 0;padding:20px 20px 18px}.studio-modal-body{padding:20px 20px 32px}.studio-strumento-input-row{flex-wrap:wrap}.studio-modal-footer{margin:14px -20px -32px;padding:14px 20px 20px}}@keyframes studioModalInMobile{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.studios-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.studios-header h1{color:#111827;margin:0;font-size:22px;font-weight:700}.studios-header p{color:#6b7280;margin:4px 0 0;font-size:14px}.studios-header-right{align-items:center;gap:10px;display:flex}.btn-new-studio{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:none;border-radius:10px;align-items:center;gap:7px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,box-shadow .15s;display:flex;box-shadow:0 2px 8px #2563eb40}.btn-new-studio:hover{background:#1d4ed8;box-shadow:0 4px 12px #2563eb59}@media (width<=640px){.studios-header{flex-direction:column;align-items:flex-start;gap:12px}.studios-header-right{display:none}}.studios-loading,.studios-error{text-align:center;color:#6b7280;padding:40px;font-size:14px}.studios-error{color:#dc2626}.studios-empty{color:#9ca3af;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;font-size:14px;display:flex}.studios-list{flex-direction:column;gap:16px;margin-top:24px;display:flex}.studio-card{border-left:4px solid var(--studio-color,transparent);background:#fff;border-radius:14px;flex-direction:column;gap:0;padding:20px 24px 16px;display:flex;box-shadow:0 1px 4px #00000012}.studio-card-top{align-items:center;gap:16px;margin-bottom:14px;display:flex}.studio-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.studio-card-info{flex:1;min-width:0}.studio-card-name{color:#111827;margin:0;font-size:16px;font-weight:700;line-height:1.3}.studio-card-sub{color:#6b7280;margin:2px 0 0;font-size:13px}.studio-card-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.studio-stato{border-radius:20px;padding:3px 12px;font-size:12px;font-weight:600}.studio-stato--attivo{color:#16a34a;background:#dcfce7}.studio-stato--disattivo{color:#dc2626;background:#fee2e2}.studio-edit-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:8px;align-items:center;padding:6px;transition:background .15s,color .15s;display:flex}.studio-edit-btn:hover{color:#111827;background:#f3f4f6}.studio-strumenti-section{border-top:1px solid #f3f4f6;flex-direction:column;gap:8px;padding:14px 0;display:flex}.studio-strumenti-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.studio-strumenti-tags{flex-wrap:wrap;gap:8px;display:flex}.studio-strumento-pill{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;padding:4px 14px;font-size:12px;font-weight:500}.studio-card-footer{border-top:1px solid #f3f4f6;padding-top:12px}.studio-avail-btn{cursor:pointer;color:#2563eb;background:0 0;border:none;align-items:center;gap:6px;padding:4px 0;font-family:inherit;font-size:13px;font-weight:600;transition:color .15s;display:inline-flex}.studio-avail-btn:hover{color:#1d4ed8}.sp-next-card{--sp-from:#eff6ff;--sp-to:#dbeafe;--sp-border:#bfdbfe;--sp-icon-bg:#2563eb24;--sp-icon-fg:#2563eb;--sp-strong:#1e40af;--sp-mid:#1d4ed8;--sp-deep:#1e3a8a;background:linear-gradient(120deg, var(--sp-from) 0%, var(--sp-to) 100%);border:1px solid var(--sp-border);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;padding:22px 24px;display:flex;box-shadow:0 1px 4px #1018280d}.sp-next-card--overdue{--sp-from:#fef2f2;--sp-to:#fee2e2;--sp-border:#fecaca;--sp-icon-bg:#dc262624;--sp-icon-fg:#dc2626;--sp-strong:#991b1b;--sp-mid:#b91c1c;--sp-deep:#7f1d1d}.sp-next-card--approval{--sp-from:#fffbeb;--sp-to:#fef3c7;--sp-border:#fde68a;--sp-icon-bg:#d9770624;--sp-icon-fg:#d97706;--sp-strong:#92400e;--sp-mid:#b45309;--sp-deep:#78350f}.sp-next-card--ok{--sp-from:#ecfdf5;--sp-to:#d1fae5;--sp-border:#a7f3d0;--sp-icon-bg:#05966924;--sp-icon-fg:#059669;--sp-strong:#065f46;--sp-mid:#047857;--sp-deep:#064e3b}.sp-next-card--muted{--sp-from:#f9fafb;--sp-to:#f3f4f6;--sp-border:#e5e7eb;color:#6b7280}.sp-annual-card{--sp-from:#faf5ff;--sp-to:#f3e8ff;--sp-border:#e9d5ff;--sp-icon-bg:#9333ea24;--sp-icon-fg:#9333ea;--sp-strong:#6b21a8;--sp-mid:#7e22ce;--sp-deep:#581c87;background:linear-gradient(120deg, var(--sp-from) 0%, var(--sp-to) 100%);border:1px solid var(--sp-border);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin-top:16px;padding:22px 24px;display:flex;box-shadow:0 1px 4px #1018280d}.sp-annual-card--approval{--sp-from:#fffbeb;--sp-to:#fef3c7;--sp-border:#fde68a;--sp-icon-bg:#d9770624;--sp-icon-fg:#d97706;--sp-strong:#92400e;--sp-mid:#b45309;--sp-deep:#78350f}.sp-annual-badge-discount{color:#fff;vertical-align:middle;background:#9333ea;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.sp-annual-full-price{color:var(--sp-mid);margin-top:2px;font-size:12px;text-decoration:line-through}.sp-upload-btn--annual{background:#9333ea;box-shadow:0 2px 8px #9333ea4d}.sp-upload-btn--annual:hover:not(:disabled){background:#7e22ce}.sp-badge-annual{color:#7e22ce;white-space:nowrap;vertical-align:middle;background:#f3e8ff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.sp-periodo-cell{flex-wrap:wrap;align-items:center;gap:4px 8px;display:inline-flex}.sp-next-main{flex:1;min-width:260px}.sp-next-head{align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.sp-next-icon{background:var(--sp-icon-bg);width:38px;height:38px;color:var(--sp-icon-fg);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sp-next-title{color:var(--sp-strong);font-size:16px;font-weight:700}.sp-next-hint{color:var(--sp-mid);max-width:420px;margin-top:2px;font-size:13px}.sp-next-fields{flex-wrap:wrap;gap:40px;display:flex}.sp-field{flex-direction:column;gap:4px;display:flex}.sp-field-label{text-transform:uppercase;letter-spacing:.5px;color:var(--sp-mid);font-size:11px;font-weight:600}.sp-field-amount{color:var(--sp-strong);flex-wrap:wrap;align-items:center;gap:8px;font-size:24px;font-weight:800;display:flex}.sp-field-value{color:var(--sp-deep);flex-direction:column;font-size:15px;font-weight:600;display:flex}.sp-course-line{display:block}.sp-badge-late{color:#fff;background:#dc2626;border-radius:999px;align-self:flex-start;margin-top:4px;padding:2px 10px;font-size:11px;font-weight:700}.sp-badge-approval{color:#92400e;white-space:nowrap;background:#d9770624;border:1px solid #fcd34d;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:700;display:inline-flex}.sp-next-action{flex-direction:column;align-items:flex-end;gap:8px;min-width:200px;display:flex}.sp-upload-btn{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:10px;align-items:center;gap:8px;padding:11px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s;display:inline-flex;box-shadow:0 2px 8px #16a34a4d}.sp-upload-btn:hover:not(:disabled){background:#15803d}.sp-upload-btn:disabled{opacity:.6;cursor:default}.sp-upload-hint{color:var(--sp-mid);text-align:right;max-width:200px;font-size:12px}.sp-history-card{background:#fff;border:1px solid #f0f0f0;border-radius:16px;margin-top:20px;overflow:hidden;box-shadow:0 1px 4px #1018280f}.sp-history-head{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.sp-history-title{color:#111827;margin:0;font-size:17px;font-weight:700}.sp-history-count{color:#6b7280;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.sp-status{text-align:center;color:#6b7280;padding:28px;font-size:14px}.sp-status.error{color:#dc2626}.sp-table-wrap{overflow-x:auto}.sp-table{border-collapse:collapse;width:100%;font-size:14px}.sp-table thead th{text-align:left;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;background:#fafafa;border-bottom:1px solid #f0f0f0;padding:12px 22px;font-size:11px;font-weight:600}.sp-table tbody td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:14px 22px}.sp-table tbody tr:last-child td{border-bottom:none}.sp-table tbody tr:hover{background:#f9fafb}.sp-table th.sp-col-right,.sp-col-right{text-align:right}.sp-date{color:#374151;white-space:nowrap;align-items:center;gap:8px;font-weight:600;display:flex}.sp-date-icon{color:#9ca3af;flex-shrink:0}.sp-num-pill{color:#2563eb;background:#eff6ff;border-radius:6px;padding:3px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:600;display:inline-block}.sp-amount{color:#059669;font-weight:700}.sp-dl-btn{color:#2563eb;cursor:pointer;background:#dbeafe;border:none;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;transition:background .15s;display:inline-flex}.sp-dl-btn:hover:not(:disabled){background:#bfdbfe}.sp-dl-btn:disabled{opacity:.45;cursor:default}.sp-empty{text-align:center;color:#9ca3af;padding:32px;font-size:14px}.sp-footer{border-top:1px solid #f3f4f6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 22px;display:flex}.sp-footer-count{color:#6b7280;font-size:13px}.sp-pagination{gap:6px;display:flex}.page-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;min-width:32px;height:32px;padding:0 8px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.page-btn:hover:not(:disabled):not(.page-btn--active){background:#f3f4f6}.page-btn:disabled{opacity:.4;cursor:default}.page-btn--active{color:#fff;background:#2563eb;border-color:#2563eb}@media (width<=1024px){.sp-next-card,.sp-annual-card{gap:18px;padding:20px}.sp-next-fields{gap:24px}.sp-next-action{min-width:180px}.sp-next-hint{max-width:none}}@media (width<=640px){.sp-next-card,.sp-annual-card{flex-direction:column}.sp-next-main{width:100%;min-width:0}.sp-next-action{align-items:stretch;width:100%}.sp-upload-btn,.sp-badge-approval{justify-content:center;width:100%}.sp-upload-hint{text-align:center;max-width:none}.sp-next-fields{gap:18px 28px}.sp-next-head{gap:10px}.sp-next-title{font-size:15px}.sp-field-amount{font-size:21px}.sp-history-head{flex-wrap:wrap;gap:8px}.sp-table thead th,.sp-table tbody td{padding:10px 12px}.sp-table{font-size:13px}.sp-badge-annual{width:fit-content;margin-top:4px;display:block}}@media (width<=400px){.sp-next-icon{width:32px;height:32px}.sp-field-amount{font-size:19px}.sp-annual-badge-discount{padding:1px 6px;font-size:10px}}.sp-bank-info{background:#fff9;border:1.5px solid #00000014;border-radius:12px;flex-direction:column;gap:12px;margin-top:16px;padding:16px 18px;display:flex}.sp-bank-row{grid-template-columns:110px 1fr;align-items:center;gap:12px;display:grid}.sp-bank-row--wrap{align-items:flex-start}.sp-bank-label{text-transform:uppercase;letter-spacing:.5px;color:var(--sp-mid);font-size:11px;font-weight:700}.sp-bank-value-wrapper{align-items:center;gap:8px;min-width:0;display:flex}.sp-bank-value{color:var(--sp-deep);word-break:break-word;flex:1;min-width:0;font-family:SF Mono,Menlo,Monaco,Courier New,monospace;font-size:13px;font-weight:600;line-height:1.5}.sp-copy-btn{cursor:pointer;width:28px;height:28px;color:var(--sp-mid);background:#ffffffe6;border:1px solid #0000001f;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.sp-copy-btn:hover{border-color:var(--sp-border);background:#fff;transform:scale(1.05)}.sp-copy-btn:active{transform:scale(.95)}@media (width<=640px){.sp-bank-row{grid-template-columns:1fr;gap:4px}.sp-bank-info{gap:14px;padding:14px 16px}.sp-bank-value{font-size:12px}.sp-copy-btn{width:26px;height:26px}}.inv-zip-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#16a34a;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s;display:inline-flex;box-shadow:0 2px 8px #16a34a4d}.inv-zip-btn:hover:not(:disabled){background:#15803d}.inv-zip-btn:disabled{opacity:.55;cursor:default}.inv-toolbar{border-bottom:1px solid #f3f4f6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 22px;display:flex}.inv-toolbar-left{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.inv-month-select{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:9px;outline:none;padding:8px 14px;font-family:inherit;font-size:14px;font-weight:600;transition:border-color .15s}.inv-month-select:focus{border-color:#2563eb}.inv-total{color:#374151;align-items:center;gap:6px;font-size:14px;display:inline-flex}.inv-total strong{color:#059669}.inv-student{color:#111827;font-weight:600}.inv-course{color:#6b7280}.inv-mobile-list{display:none}.inv-mobile-card{border-bottom:1px solid #f3f4f6}.inv-mobile-card:last-child{border-bottom:none}.inv-mobile-row{cursor:pointer;align-items:center;gap:10px;padding:14px 16px;display:flex}.inv-mobile-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.inv-mobile-chevron{color:#6b7280;flex-shrink:0;display:flex}.inv-mobile-details{flex-direction:column;gap:12px;padding:0 16px 16px;display:flex}.inv-detail-row{color:#111827;flex-direction:column;align-items:flex-start;gap:4px;font-size:13px;display:flex}.inv-detail-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}@media (width<=640px){.inv-table-wrap{display:none}.inv-mobile-list{display:block}.inv-toolbar{flex-direction:column;align-items:stretch}.inv-toolbar-left{justify-content:space-between}.inv-course{flex-direction:column;align-items:flex-start;gap:4px;display:flex}}.ru-overlay{z-index:1200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ru-box{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:440px;max-height:92vh;animation:.18s ruIn;display:flex;overflow-y:auto;box-shadow:0 24px 60px #00000038}@keyframes ruIn{0%{opacity:0;transform:translateY(-14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.ru-header{background:linear-gradient(135deg,#1250c4 0%,#0a3fa0 100%);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px;display:flex}.ru-header-left{align-items:center;gap:11px;min-width:0;display:flex}.ru-header-icon{color:#fff;background:#ffffff38;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.ru-title{color:#fff;font-size:16px;font-weight:700}.ru-subtitle{color:#ffffffc7;margin-top:3px;font-size:12px}.ru-close{cursor:pointer;color:#fff;background:#fff3;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s;display:flex}.ru-close:hover:not(:disabled){background:#ffffff59}.ru-close:disabled{opacity:.6;cursor:default}.ru-body{flex-direction:column;gap:12px;padding:18px 20px;display:flex}.ru-file{background:#f8fafc;border:1.5px dashed #cbd5e1;border-radius:10px;align-items:center;gap:11px;min-width:0;padding:12px 14px;display:flex}.ru-file-icon{color:#2563eb;background:#eff6ff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.ru-file-info{min-width:0}.ru-file-name{color:#1e1e2d;word-break:break-all;font-size:13.5px;font-weight:600}.ru-file-size{color:#6b7280;margin-top:2px;font-size:12px}.ru-hint{color:#6b7280;margin:0;font-size:12.5px;line-height:1.5}.ru-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:13px}.ru-footer{background:#fafafa;border-top:1px solid #f3f4f6;flex-shrink:0;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.ru-btn{cursor:pointer;border:none;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:9px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s;display:inline-flex}.ru-btn:disabled{opacity:.6;cursor:default}.ru-btn--cancel{color:#374151;background:#f3f4f6}.ru-btn--cancel:hover:not(:disabled){background:#e5e7eb}.ru-btn--confirm{color:#fff;background:#059669}.ru-btn--confirm:hover:not(:disabled){background:#047857}@media (width<=640px){.ru-overlay{align-items:flex-end;padding:0}.ru-box{border-radius:20px 20px 0 0;max-width:100%;max-height:94dvh;animation:.25s ruInMobile}.ru-header{border-radius:20px 20px 0 0}.ru-footer{flex-direction:row}.ru-btn{flex:1}}@keyframes ruInMobile{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.ql-container{box-sizing:border-box;height:100%;margin:0;font-family:Helvetica,Arial,sans-serif;font-size:13px;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{height:1px;position:absolute;top:50%;left:-100000px;overflow-y:hidden}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word;outline:none;height:100%;padding:12px 15px;line-height:1.42;overflow-y:auto}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{padding-left:1.5em;list-style-type:none;position:relative}.ql-editor li>.ql-ui:before{text-align:right;white-space:nowrap;width:1.2em;margin-left:-1.5em;margin-right:.3em;display:inline-block}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0, decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3, decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6, decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9, decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{text-align:left;margin-left:.3em;margin-right:-1.5em}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{max-width:100%;display:block}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{text-align:inherit;direction:rtl}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);pointer-events:none;font-style:italic;position:absolute;left:15px;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{cursor:pointer;float:left;background:0 0;border:none;width:28px;height:24px;padding:3px 5px;display:inline-block}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{vertical-align:middle;display:inline-block}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2px}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1px}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-top:5px;margin-bottom:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-top:5px;margin-bottom:5px;padding:5px 10px}.ql-snow .ql-editor code{padding:2px 4px;font-size:85%}.ql-snow .ql-editor .ql-code-block-container{color:#f8f8f2;background-color:#23241f;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;float:left;vertical-align:middle;height:24px;font-size:14px;font-weight:500;display:inline-block;position:relative}.ql-snow .ql-picker-label{cursor:pointer;width:100%;height:100%;padding-left:8px;padding-right:2px;display:inline-block;position:relative}.ql-snow .ql-picker-label:before{line-height:22px;display:inline-block}.ql-snow .ql-picker-options{white-space:nowrap;background-color:#fff;min-width:100%;padding:4px 8px;display:none;position:absolute}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;padding-top:5px;padding-bottom:5px;display:block}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{z-index:1;margin-top:-1px;display:block;top:100%}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{width:24px;height:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{width:152px;padding:3px 5px}.ql-snow .ql-color-picker .ql-picker-item{float:left;border:1px solid #0000;width:16px;height:16px;margin:2px;padding:0}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{width:18px;margin-top:-9px;position:absolute;top:50%;right:0}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{top:5px;right:5px}.ql-toolbar.ql-snow{box-sizing:border-box;border:1px solid #ccc;padding:8px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid #0000}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid #0000;box-shadow:0 2px 8px #0003}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{color:#444;white-space:nowrap;background-color:#fff;border:1px solid #ccc;padding:5px 12px;box-shadow:0 0 5px #ddd}.ql-snow .ql-tooltip:before{content:"Visit URL:";margin-right:8px;line-height:26px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;width:170px;height:26px;margin:0;padding:3px 5px;font-size:13px;display:none}.ql-snow .ql-tooltip a.ql-preview{text-overflow:ellipsis;vertical-align:top;max-width:200px;display:inline-block;overflow-x:hidden}.ql-snow .ql-tooltip a.ql-action:after{content:"Edit";border-right:1px solid #ccc;margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{content:"Save";border-right:0;padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.rte-wrapper{background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;font-family:inherit;transition:border-color .15s,box-shadow .15s;overflow:hidden}.rte-wrapper:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.rte-wrapper .ql-toolbar.ql-snow{background:#f9fafb;border:none;border-bottom:1.5px solid #e5e7eb;border-radius:10px 10px 0 0;padding:8px 10px}.rte-wrapper .ql-container.ql-snow{color:#111827;border:none;font-family:inherit;font-size:14px}.rte-wrapper .ql-editor{min-height:160px;max-height:360px;line-height:1.55;overflow-y:auto}.rte-wrapper .ql-editor.ql-blank:before{color:#9ca3af;font-size:14px;font-style:normal}.rte-wrapper .ql-snow .ql-stroke{stroke:#4b5563}.rte-wrapper .ql-snow .ql-fill{fill:#4b5563}.rte-wrapper .ql-snow .ql-picker{color:#4b5563}.rte-wrapper .ql-snow.ql-toolbar button:hover,.rte-wrapper .ql-snow .ql-toolbar button:hover,.rte-wrapper .ql-snow.ql-toolbar button.ql-active,.rte-wrapper .ql-snow .ql-toolbar button.ql-active,.rte-wrapper .ql-snow.ql-toolbar .ql-picker-label:hover,.rte-wrapper .ql-snow .ql-toolbar .ql-picker-label:hover,.rte-wrapper .ql-snow.ql-toolbar .ql-picker-label.ql-active,.rte-wrapper .ql-snow .ql-toolbar .ql-picker-label.ql-active{color:#2563eb}.rte-wrapper .ql-snow.ql-toolbar button:hover .ql-stroke,.rte-wrapper .ql-snow .ql-toolbar button:hover .ql-stroke,.rte-wrapper .ql-snow.ql-toolbar button.ql-active .ql-stroke,.rte-wrapper .ql-snow .ql-toolbar button.ql-active .ql-stroke{stroke:#2563eb}.rte-wrapper .ql-snow.ql-toolbar button:hover .ql-fill,.rte-wrapper .ql-snow .ql-toolbar button:hover .ql-fill,.rte-wrapper .ql-snow.ql-toolbar button.ql-active .ql-fill,.rte-wrapper .ql-snow .ql-toolbar button.ql-active .ql-fill{fill:#2563eb}.rte-wrapper .ql-snow .ql-picker-options{border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 24px #0000001f}.rte-wrapper--readonly .ql-toolbar{display:none}.rte-wrapper--readonly .ql-container.ql-snow{border:none}@media (width<=640px){.rte-wrapper .ql-toolbar.ql-snow{padding:6px 8px}.rte-wrapper .ql-editor{min-height:120px;font-size:15px}}.news-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.news-modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:620px;max-height:90vh;animation:.2s newsModalIn;display:flex;overflow:hidden;box-shadow:0 24px 60px #0003}@keyframes newsModalIn{0%{opacity:0;transform:translateY(-14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.news-modal-header{background:linear-gradient(135deg,#1250c4 0%,#0a3fa0 100%);border-radius:16px 16px 0 0;flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:22px 24px 20px;display:flex}.news-modal-header h2{color:#fff;letter-spacing:-.3px;margin:0;font-size:20px;font-weight:700}.news-modal-close{cursor:pointer;color:#fff;background:#ffffff26;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;padding:7px;transition:background .15s;display:flex}.news-modal-close:hover{background:#ffffff40}.news-modal-body{flex-direction:column;flex:1;gap:16px;min-height:0;padding:24px;display:flex;overflow-y:auto}.news-modal-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:13px}.news-field{flex-direction:column;gap:6px;display:flex}.news-field label{color:#6b7280;text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:600}.news-field input{color:#111827;box-sizing:border-box;background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.news-field input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.news-important-toggle{color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.news-important-toggle input{accent-color:#2563eb;cursor:pointer;width:16px;height:16px}.news-modal-footer{z-index:5;background:#fff;border-top:1px solid #f0f0f0;justify-content:flex-end;gap:10px;margin:14px -24px -24px;padding:14px 24px 18px;display:flex;position:sticky;bottom:0}.news-modal-footer--center{display:block}.news-modal-footer--center .btn-save-modal{letter-spacing:-.1px;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:15px;font-weight:700;display:flex;box-shadow:0 4px 14px #2563eb59}.news-modal-footer--center .btn-save-modal:hover:not(:disabled){box-shadow:0 6px 18px #2563eb73}.btn-cancel-modal{color:#374151;cursor:pointer;background:#f3f4f6;border:none;border-radius:12px;padding:10px 20px;font-size:14px;font-weight:500;transition:background .15s}.btn-cancel-modal:hover{background:#e5e7eb}.btn-save-modal{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1250c4 0%,#2563eb 100%);border:none;border-radius:12px;padding:10px 22px;font-size:14px;font-weight:600;transition:filter .15s}.btn-save-modal:hover:not(:disabled){filter:brightness(1.08)}.btn-save-modal:disabled{opacity:.6;cursor:not-allowed}@media (width<=640px){.news-modal-overlay{align-items:flex-end;padding:0}.news-modal{border-radius:20px 20px 0 0;max-width:100%;max-height:94dvh;animation:.25s newsModalInMobile}.news-modal-header{border-radius:20px 20px 0 0;padding:20px 20px 18px}.news-modal-body{padding:20px 20px 32px}.news-modal-footer{margin:14px -20px -32px;padding:14px 20px 20px}}@keyframes newsModalInMobile{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.news-del-overlay{z-index:1100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.news-del-box{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:440px;max-height:92vh;animation:.2s newsDelIn;display:flex;overflow-y:auto;box-shadow:0 24px 60px #0003}@keyframes newsDelIn{0%{opacity:0;transform:translateY(-14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.news-del-header{border-bottom:1px solid #f0f0f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.news-del-header h2{color:#1e1e2d;margin:0;font-size:17px;font-weight:700}.news-del-close{cursor:pointer;color:#4b5563;background:#f3f4f6;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:background .15s;display:flex}.news-del-close:hover{background:#e5e7eb}.news-del-body{flex-direction:column;gap:14px;padding:20px 22px 22px;display:flex}.news-del-warning{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.news-del-warning svg{color:#dc2626;flex-shrink:0;margin-top:1px}.news-del-warning p{margin:0}.news-del-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:13px}.news-del-actions{justify-content:flex-end;gap:10px;display:flex}.news-del-btn{cursor:pointer;border:none;border-radius:12px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .15s,filter .15s}.news-del-btn:disabled{opacity:.6;cursor:not-allowed}.news-del-btn--cancel{color:#374151;background:#f3f4f6;font-weight:500}.news-del-btn--cancel:hover:not(:disabled){background:#e5e7eb}.news-del-btn--delete{color:#fff;background:#dc2626}.news-del-btn--delete:hover:not(:disabled){filter:brightness(1.08)}@media (width<=640px){.news-del-overlay{align-items:flex-end;padding:0}.news-del-box{border-radius:20px 20px 0 0;max-width:100%}}.news-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.news-header h1{color:#111827;margin:0;font-size:22px;font-weight:700}.news-header p{color:#6b7280;margin:4px 0 0;font-size:14px}.news-header-right{align-items:center;gap:10px;display:flex}.btn-new-news{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:none;border-radius:10px;align-items:center;gap:7px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,box-shadow .15s;display:flex;box-shadow:0 2px 8px #2563eb40}.btn-new-news:hover{background:#1d4ed8;box-shadow:0 4px 12px #2563eb59}@media (width<=640px){.news-header{flex-direction:column;align-items:flex-start;gap:12px}.news-header-right{display:none}}.news-loading,.news-error{text-align:center;color:#6b7280;padding:40px;font-size:14px}.news-error{color:#dc2626}.news-empty{color:#9ca3af;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;font-size:14px;display:flex}.news-list{flex-direction:column;gap:16px;margin-top:24px;display:flex}.news-card{background:#fff;border:1.5px solid #0000;border-radius:14px;flex-direction:column;gap:10px;padding:20px 24px 22px;transition:box-shadow .15s,border-color .15s;display:flex;box-shadow:0 1px 4px #00000012}.news-card--evidenza{background:linear-gradient(#fffbeb 0%,#fff 90px);border-color:#fde68a;box-shadow:0 2px 10px #f59e0b1f}.news-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.news-card-badges{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.news-badge-importante{color:#b45309;white-space:nowrap;background:#fef3c7;border:1px solid #fde68a;border-radius:20px;align-items:center;gap:5px;padding:3px 12px;font-size:12px;font-weight:700;display:inline-flex}.news-card-data{color:#9ca3af;text-transform:capitalize;white-space:nowrap;font-size:12px;font-weight:600}.news-card-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.news-action-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:8px;align-items:center;padding:6px;transition:background .15s,color .15s;display:flex}.news-action-btn:hover{color:#111827;background:#f3f4f6}.news-action-btn--delete:hover{color:#dc2626;background:#fef2f2}.news-card-title{color:#111827;margin:0;font-size:17px;font-weight:700;line-height:1.35}.news-card-contenuto{color:#374151;word-break:break-word;font-size:14px;line-height:1.6}.news-card-contenuto p{margin:0 0 8px}.news-card-contenuto p:last-child{margin-bottom:0}.news-card-contenuto ul,.news-card-contenuto ol{margin:0 0 8px;padding-left:22px}.news-card-contenuto a{color:#2563eb;text-decoration:underline}.news-card-contenuto blockquote{color:#6b7280;border-left:3px solid #d1d5db;margin:8px 0;padding:6px 14px;font-style:italic}.news-card-contenuto h1,.news-card-contenuto h2,.news-card-contenuto h3{color:#111827;margin:4px 0 8px;line-height:1.3}.news-card-contenuto strong{font-weight:700}@media (width<=900px){.news-card{padding:18px 20px 20px}}@media (width<=640px){.news-card{border-radius:12px;padding:16px 16px 18px}.news-card-title{font-size:16px}.news-card-contenuto{font-size:14px}.news-card-top{flex-wrap:wrap}}.toast-container{z-index:9999;flex-direction:column;gap:.5rem;max-width:360px;display:flex;position:fixed;top:1rem;right:1rem}.toast{color:#fff;border-radius:8px;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;font-size:.9rem;line-height:1.35;animation:.2s ease-out toast-in;display:flex;box-shadow:0 4px 12px #00000026}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.toast--success{background:#2e7d32}.toast--error{background:#c62828}.toast--warning{background:#ef6c00}.toast--info{background:#1565c0}.toast__message{word-break:break-word;flex:1}.toast__close{color:inherit;cursor:pointer;opacity:.8;background:0 0;border:none;padding:0;font-size:1.1rem;line-height:1}.toast__close:hover{opacity:1}
