@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&display=swap";:root{--bg:#0b0d13;--panel:#14171f;--panel-2:#1c202c;--border:#262b3a;--text:#eef0f6;--muted:#98a0b5;--accent:#4dabf7;--accent-strong:#339af0;--accent-2:#339af0;--ok:#2f9e44;--warn:#e8590c;--danger:#e03131;--radius:16px;--radius-sm:10px;--shadow:0 10px 32px #00000061;--grad:var(--accent-strong);font-family:Manrope,Segoe UI,system-ui,sans-serif}[data-theme=light]{--bg:#e6e9ee;--panel:#f2f4f7;--panel-2:#eaedf1;--border:#d6dbe3;--text:#1b2430;--muted:#56606d;--accent:#1864ab;--shadow:0 4px 14px #17202b0f}[data-theme=light] .header{background:#f2f4f7d1}[data-theme=light] .badge.ok{color:#2b8a3e;background:#2f9e441a}[data-theme=light] .badge.ko{color:#c92a2a;background:#e0313114}[data-theme=light] .banner.warn,[data-theme=light] .note-chip{color:#ad3e00;background:#e8590c14}[data-theme=light] .waitlist-line,[data-theme=light] .btn.warn{color:#ad3e00}[data-theme=light] .btn.warn:hover{color:#fff}[data-theme=light] .txt-ok{color:#2b8a3e}[data-theme=light] .txt-warn{color:#d9480f}[data-theme=light] .txt-danger{color:#c92a2a}[data-theme=light] .spots{color:#2b8a3e}[data-theme=light] .spots.low{color:#d9480f}[data-theme=light] .spots.full{color:#c92a2a}[data-theme=light] .client-head:hover{background:#eaeff7}[data-theme=light] .modal-overlay{background:#17202b66}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);min-height:100vh;margin:0;transition:color .2s}.app{max-width:1200px;padding:0 calc(16px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));margin:0 auto}h1,h2,h3,h4{letter-spacing:-.02em;margin:0 0 8px}h2{font-size:1.25rem;font-weight:800}h3{font-size:1rem;font-weight:700}h4{color:var(--muted);margin-top:16px;font-size:.92rem}.muted{color:var(--muted)}.small{font-size:.8rem}.header{z-index:40;padding:calc(14px + env(safe-area-inset-top)) 4px 14px;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:blur(16px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand h1{color:var(--text);font-size:1.45rem;font-weight:800}.logo{color:#fff;background:#000;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.35rem;display:flex}.logo-mark{width:100%;height:100%;display:block}.role-switch{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lang-select{cursor:pointer;vertical-align:middle;border-radius:999px;width:auto;padding:6px 10px;font-size:.8rem;font-weight:600}.user-chip{background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:7px 16px;font-size:.85rem;font-weight:700}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;display:flex}.tabs{background:var(--panel);border:1px solid var(--border);border-radius:999px;flex-wrap:wrap;gap:2px;padding:4px;display:flex}.tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:9px 18px;font-family:inherit;font-size:.9rem;font-weight:600;transition:color .15s,background .15s}.tab:hover{color:var(--text)}.tab.active{background:var(--grad);color:#fff}.btn{border:1px solid var(--border);cursor:pointer;background:var(--panel-2);color:var(--text);border-radius:999px;padding:9px 18px;font-family:inherit;font-size:.85rem;font-weight:700;transition:filter .15s,background .15s}.btn.primary{background:var(--grad);color:#fff;border:none}.btn.primary:hover:not(:disabled){filter:brightness(1.1)}.btn.primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn.danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn.danger:hover{background:var(--danger);color:#fff}.btn.ghost{background:0 0}.btn.ghost:disabled{opacity:.35;cursor:not-allowed}.btn.warn{border-color:var(--warn);color:#ffc9a8;background:0 0}.btn.warn:hover{background:var(--warn);color:#fff}.small-btn{padding:6px 12px;font-size:.78rem}input,select,textarea{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:9px 12px;font-family:inherit;font-size:.85rem;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent-strong);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-strong) 20%, transparent);outline:none}.inline-form{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.inline-form .grow{flex:1;min-width:160px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.banner{border-radius:var(--radius-sm);margin-bottom:12px;padding:11px 15px;font-size:.85rem}.banner.warn{border:1px solid var(--warn);color:#ffc9a8;background:#e8590c1f}.week-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.days{flex-direction:column;gap:8px;display:flex}.day-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.day-summary{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--radius);align-items:center;gap:10px;padding:12px 14px;list-style:none;display:flex}.day-summary::-webkit-details-marker{display:none}.day-summary:hover{background:var(--panel-2)}.day-name{font-weight:700}.day-recap{margin-left:4px}.day-summary:after{content:"▾";color:var(--muted);margin-left:auto;transition:transform .2s}.day-card[open]>.day-summary:after{transform:rotate(180deg)}.day-card[open]>.day-summary{border-radius:var(--radius) var(--radius) 0 0}.day-body{padding:0 14px 12px}.today-badge{background:var(--grad);color:#fff;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:800}.session{background:var(--panel-2);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding:9px 12px;display:flex}.session-info{font-size:.88rem}.spots{color:#69db7c;font-size:.75rem;font-weight:700}.spots.low{color:#ffa94d}.spots.full{color:#ff8787}.badge{white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:.72rem;font-weight:800}.badge.ok{color:#69db7c;border:1px solid var(--ok);background:#2f9e4426}.badge.ko{color:#ffa8a8;border:1px solid var(--danger);background:#e031311f}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px;display:grid}.stat{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);text-align:center;color:var(--muted);padding:16px 14px;font-size:.8rem;font-weight:600}.stat-num{color:var(--text);font-size:2rem;font-weight:800;line-height:1.2}.search-field{width:100%;margin-bottom:10px;padding:11px 14px;font-size:.9rem}.filter-chips{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.chip{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:.8rem;font-weight:700;transition:background .15s,color .15s,border-color .15s}.chip:hover{color:var(--text)}.chip.active{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.empty-state{text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius);padding:26px 16px;font-size:.9rem}.new-client-form{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.stats-note{margin:0 0 4px}.stat.ok-stat{border-color:color-mix(in srgb, var(--ok) 45%, var(--border))}.stat.ko-stat{border-color:color-mix(in srgb, var(--danger) 40%, var(--border))}.stat.warn-stat{border-color:color-mix(in srgb, var(--warn) 45%, var(--border))}.stat.ok-stat .stat-num{color:#69db7c;background:0 0}.stat.ko-stat .stat-num{color:#ff8787;background:0 0}.stat.warn-stat .stat-num{color:#ffa94d;background:0 0}[data-theme=light] .stat.ok-stat .stat-num{color:#2b8a3e}[data-theme=light] .stat.ko-stat .stat-num{color:#c92a2a}[data-theme=light] .stat.warn-stat .stat-num{color:#d9480f}.mini-stats{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);flex-wrap:wrap;gap:16px;margin-bottom:10px;padding:9px 14px;font-size:.83rem;display:flex}.mini-stats b{color:var(--text);font-size:.95rem}.upload-box{border:2px dashed var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:4px;padding:18px;font-size:.9rem;font-weight:600;transition:border-color .15s,background .15s;display:flex}.upload-box:hover{border-color:var(--accent-strong);background:var(--panel-2)}.attachment{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;padding:10px 14px;display:flex}.attachment-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);width:62px;height:62px;display:block}.attachment-pdf{border:1px solid var(--border);color:var(--muted);border-radius:8px;padding:10px 12px;font-size:.75rem;font-weight:800}.error-text{color:#ff8787;margin:8px 0 0;font-size:.85rem}[data-theme=light] .error-text{color:#c92a2a}.banner.info{background:color-mix(in srgb, var(--accent-strong) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent-strong) 45%, transparent);color:var(--text)}.ex-table{border:1px solid var(--border);border-radius:var(--radius-sm);margin:12px 0;overflow:hidden}.ex-row{border-top:1px solid var(--border);grid-template-columns:2fr .7fr .7fr .9fr .9fr auto;align-items:center;gap:6px;padding:6px 8px;display:grid}.ex-row:first-child{border-top:none}.ex-row input{padding:6px 8px;font-size:.8rem}.ex-head{background:var(--panel-2);color:var(--muted);font-size:.7rem;font-weight:800}.ex-actions{gap:4px;display:flex}.ex-extra{background:var(--panel-2);border-top:1px solid var(--border);flex-wrap:wrap;gap:6px;padding:8px;display:flex}.ex-add{margin-top:10px}.ex-card{background:var(--panel-2);border:1px solid var(--border);border-left:4px solid var(--accent-strong);border-radius:var(--radius);margin-bottom:10px;padding:12px 14px}.ex-card-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ex-card-head strong{flex:1;font-size:1rem}.ex-num{background:var(--grad);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:.78rem;font-weight:800;display:flex}.ex-values{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:8px;font-size:.82rem;display:flex}.ex-values b{color:var(--text);font-size:.95rem}.ex-note{margin:8px 0 0}.video-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:12px;display:grid}.video-card{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.video-frame{aspect-ratio:16/9;border-radius:var(--radius-sm);background:#000;width:100%;margin-top:10px;position:relative;overflow:hidden}.video-card .video-frame{border-radius:0;margin-top:0}.video-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.video-meta{justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.video-fallback{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:999px;margin-top:10px;padding:9px 16px;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-block}.table-wrap{overflow-x:auto}.grid-head,.grid-row{grid-template-columns:2.2fr 1.4fr .9fr .9fr .8fr 1.1fr 1fr .9fr;align-items:center;gap:10px;min-width:900px;padding:10px 12px;display:grid}.grid-head{color:var(--muted);border-bottom:1px solid var(--border);font-size:.78rem;font-weight:800}.grid-row{cursor:pointer;background:var(--panel-2);font-size:.85rem;transition:background .15s}.grid-row:hover{background:color-mix(in srgb, var(--accent-strong) 8%, var(--panel-2))}.gr-client{flex-direction:column;gap:2px;min-width:0;display:flex}.gr-client b{font-size:.92rem}.gr-client small{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.gr-chevron{justify-content:flex-end;align-items:center;gap:8px;display:flex}.rev-cell{color:var(--accent)}.revenue-bar{background:var(--panel-2);border:1px solid var(--border);border-left:4px solid var(--ok);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:22px;margin-bottom:14px;padding:12px 16px;display:flex}.revenue-bar>div{flex-direction:column;gap:3px;display:flex}.rev-num{color:#69db7c;font-size:1.5rem;font-weight:800;line-height:1.1}[data-theme=light] .rev-num{color:#2b8a3e}.rev-filtered{text-align:right;margin-left:auto}.revenue-bar b{font-size:1.05rem}.pay-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-2);align-items:center;gap:10px;margin-bottom:6px;padding:7px 12px;font-size:.83rem;display:flex}.pay-row.recent{border-left:3px solid var(--ok)}.pay-row b{color:var(--accent);margin-left:auto}.client-row{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:10px;overflow:hidden}.client-head{cursor:pointer;background:var(--panel-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:13px 15px;transition:background .15s;display:flex}.client-head:hover{background:#242938}.client-head-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.chevron{color:var(--muted)}.client-detail{padding:4px 15px 15px}.note-chip{border:1px solid var(--warn);color:#ffc9a8;white-space:nowrap;text-overflow:ellipsis;background:#e8590c24;border-radius:999px;max-width:240px;padding:4px 12px;font-size:.7rem;font-weight:600;overflow:hidden}.notes-field{resize:vertical;width:100%;margin-bottom:4px}.plan-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.plan-card{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.plan-card .price{color:var(--accent);margin:4px 0;font-size:1.6rem;font-weight:800}.sub-card{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);max-width:480px;padding:16px}.sub-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.section{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;overflow:hidden}.section.open{border-color:color-mix(in srgb, var(--accent-strong) 40%, var(--border))}.section-head{background:var(--panel-2);cursor:pointer;width:100%;color:var(--text);text-align:left;border:none;align-items:center;gap:12px;padding:11px 14px;font-family:inherit;transition:background .15s;display:flex}.section-head:hover{background:color-mix(in srgb, var(--accent-strong) 8%, var(--panel-2))}.section-title{white-space:nowrap;font-size:.95rem;font-weight:800}.section-summary{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.82rem;overflow:hidden}.section-chevron{color:var(--muted);font-size:.9rem}.section-body{border-top:1px solid var(--border);padding:14px}.section-body .stats{margin-bottom:0}.section-body h4:first-child{margin-top:0}.day-summary{background:var(--panel-2);border:1px solid var(--border);border-left:4px solid var(--accent-strong);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:12px;padding:12px 16px;display:flex}.ds-main{align-items:baseline;gap:8px;font-size:.9rem;display:flex}.ds-num{color:var(--text);font-size:1.9rem;font-weight:800;line-height:1}.ds-side{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:.82rem;display:flex}.ds-wait{color:#ffc9a8;font-weight:700}[data-theme=light] .ds-wait{color:#ad3e00}.ds-bar{background:var(--border);border-radius:999px;flex:1;align-items:center;min-width:120px;height:22px;display:flex;position:relative;overflow:hidden}.ds-bar i{background:var(--grad);border-radius:999px;position:absolute;inset:0 auto 0 0}.ds-bar b{margin-left:auto;margin-right:10px;font-size:.72rem;font-weight:800;position:relative}.client-link{font:inherit;color:var(--accent);cursor:pointer;text-align:left;border:none;border-bottom:1px dashed color-mix(in srgb, var(--accent) 50%, transparent);background:0 0;padding:0;font-weight:700}.client-link:hover{color:var(--accent-strong);border-bottom-style:solid}.ingressi{color:var(--muted);background:var(--panel);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:.7rem;font-weight:700}.ingressi.low{color:#ffa94d;border-color:var(--warn)}[data-theme=light] .ingressi.low{color:#d9480f}.client-summary{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;gap:20px;margin-bottom:6px;padding:12px 14px;display:flex}.client-summary>div{flex-direction:column;gap:4px;display:flex}.cs-label{color:var(--muted);font-size:.66rem;font-weight:800}.client-summary b{font-size:.95rem}.client-row.open{border-color:color-mix(in srgb, var(--accent-strong) 55%, var(--border))}.lesson-group{background:var(--panel-2);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-sm);margin-bottom:10px;padding:11px 13px}.lesson-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.enrolled-list{margin:8px 0 0;padding:0;list-style:none}.enrolled-list li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:.85rem;display:flex}.enrolled-list li:first-child{border-top:none}.waitlist-line{color:#ffc9a8;margin:8px 0 0;font-size:.8rem}.add-lesson-btn{margin-top:8px}.add-lesson-form{margin:8px 0 0}.add-lesson-form select{flex:1;min-width:180px}.wait-state{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.badge.warn-badge{color:#ffc9a8;border:1px solid var(--warn);background:#e8590c26}[data-theme=light] .badge.warn-badge{color:#ad3e00;background:#e8590c1a}.login-wrap{max-width:780px;padding:calc(56px + env(safe-area-inset-top)) 20px calc(56px + env(safe-area-inset-bottom));text-align:center;margin:0 auto}.login-brand .logo{border-radius:50%;width:68px;height:68px;margin:0 auto 14px;font-size:2rem}.login-brand h1{color:var(--text);margin:4px 0 2px;font-size:2.4rem;font-weight:800}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;padding:24px;display:flex}.login-card h2{margin:0}.login-card select,.login-card input{width:100%}.login-label{color:var(--muted);margin-top:6px;font-size:.72rem;font-weight:800}.login-btn{margin-top:6px;padding:12px;font-size:.95rem}.login-note{margin-top:28px}.cal-layout{grid-template-columns:390px 1fr;align-items:start;gap:16px;display:grid}.calendar{padding:16px}.cal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cal-head strong{font-size:1.05rem}.cal-grid{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.cal-dow{text-align:center;color:var(--muted);padding:4px 0;font-size:.78rem;font-weight:800}.cal-cell{aspect-ratio:1;background:var(--panel-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;font-family:inherit;font-size:.86rem;font-weight:600;transition:border-color .15s;display:flex;position:relative}.cal-cell:hover:not(:disabled){border-color:var(--accent-strong);transform:scale(1.05)}.cal-cell.off{opacity:.28;cursor:not-allowed}.cal-cell.now{border-color:var(--accent-strong)}.cal-cell.sel{background:var(--grad);color:#fff;border:none;font-weight:800}.cal-cell.closed{border-color:var(--danger);color:var(--danger);background:#e031311f;text-decoration:line-through}.cal-cell.closed.sel{background:var(--danger);color:#fff}.cal-dot{background:var(--warn);border-radius:50%;width:5px;height:5px;position:absolute;bottom:5px}.cal-cell.sel .cal-dot{background:#fff}.cancel-note{margin:12px 2px 0}.day-sessions h3{align-items:center;gap:8px;margin-bottom:10px;display:flex}.session-card{background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);margin-bottom:10px;padding:12px 16px}.sc-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:9px;padding-bottom:7px;display:flex}.sc-body{justify-content:space-between;align-items:center;gap:8px;display:flex}.sc-name{font-weight:700}.sc-price{color:var(--accent);white-space:nowrap;font-weight:800}.sc-actions{margin-top:10px}.txt-ok{color:#69db7c}.txt-warn{color:#ffa94d}.txt-danger{color:#ff8787}.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:50;background:#04060bb8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);width:100%;max-width:470px;max-height:85vh;box-shadow:var(--shadow);border-radius:20px;padding:22px 24px;overflow-y:auto}.detail-list{margin:12px 0}.detail-list dt{color:var(--muted);border-bottom:1px solid var(--border);margin-top:13px;padding-bottom:3px;font-size:.7rem;font-weight:800}.detail-list dd{margin:6px 0 0;font-size:.92rem}.repeat-check{cursor:pointer;align-items:center;gap:8px;margin:12px 0 6px;font-size:.88rem;display:flex}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.toast{bottom:calc(20px + env(safe-area-inset-bottom));background:var(--panel-2);border:1px solid var(--accent-strong);max-width:90vw;box-shadow:var(--shadow);z-index:60;border-radius:14px;padding:13px 20px;font-size:.88rem;font-weight:600;position:fixed;left:50%;transform:translate(-50%)}.course-editor{background:var(--panel-2);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;padding:9px 13px;display:flex}.course-name{min-width:160px;font-weight:800}.ce-field{color:var(--muted);align-items:center;gap:6px;font-size:.75rem;font-weight:600;display:flex}.month-stat{background:var(--panel-2);border:1px solid var(--border);border-left:4px solid var(--accent-strong);border-radius:var(--radius-sm);margin-bottom:14px;padding:11px 15px;font-size:.95rem}.month-stat b{color:var(--accent);font-size:1.25rem}.sub-banner{background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--accent-strong);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:13px 17px;display:flex}.sub-banner.expired{border-left-color:var(--danger)}.credits-box{align-items:center;gap:12px;display:flex}.credits-num{color:var(--accent);font-size:2.1rem;font-weight:800;line-height:1}.credits-num.low{color:var(--warn);background:0 0}.credit-bar{background:var(--border);border-radius:6px;width:150px;height:8px;margin-top:5px;overflow:hidden}.credit-bar i{border-radius:6px;height:100%;display:block}.email-item{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;padding:10px 14px}.email-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.email-body{color:#c3c9d6;margin:6px 0 0;font-size:.85rem}.count-chip{background:var(--accent-strong);color:#fff;border-radius:999px;margin-left:4px;padding:1px 7px;font-size:.65rem;font-weight:800}.print-only{display:none}@media (width<=900px){.cal-layout{grid-template-columns:1fr}}@media (width<=640px){.app{padding:0 10px 24px}.header{gap:8px;padding:8px 4px}.brand h1{font-size:1.2rem}.logo{border-radius:50%;width:38px;height:38px;font-size:1.15rem}.role-switch{justify-content:flex-end;gap:6px;width:100%}.user-chip{text-overflow:ellipsis;white-space:nowrap;max-width:42vw;padding:6px 12px;font-size:.78rem;overflow:hidden}.role-switch .btn{padding:6px 11px;font-size:.75rem}.panel{padding:14px}h2{font-size:1.12rem}.stats{grid-template-columns:1fr 1fr;gap:8px}.stat{padding:12px 8px;font-size:.72rem}.stat-num{font-size:1.6rem}.inline-form input,.inline-form select,.inline-form .btn{width:100%}.week-nav{align-items:stretch}.week-nav .inline-form{width:100%}.client-head-right{justify-content:space-between;width:100%}.note-chip{max-width:100%}.mini-stats{gap:10px;font-size:.78rem}.ex-head{display:none}.ex-row{grid-template-columns:1fr 1fr;gap:5px;padding:10px 8px}.ex-row input:first-child{grid-column:1/-1;font-weight:700}.ex-actions{grid-column:1/-1;justify-content:flex-end}.ex-extra{flex-direction:column}.ex-extra input,.ex-extra select{width:100%}.video-grid{grid-template-columns:1fr}.day-summary{gap:10px;padding:12px}.ds-bar{flex-basis:100%}.client-summary{gap:12px 18px}.enrolled-list li{flex-wrap:wrap}.table-wrap{overflow-x:visible}.grid-head{display:none}.grid-row{border-radius:var(--radius-sm);min-width:0;padding:12px 14px;display:block}.grid-row>span{justify-content:space-between;gap:10px;padding:3px 0;display:flex}.grid-row>span[data-label]:before{content:attr(data-label);color:var(--muted);font-size:.72rem;font-weight:700}.gr-client{border-bottom:1px solid var(--border);margin-bottom:6px;display:block;padding-bottom:8px!important}.gr-client:before{display:none}.gr-client b{font-size:1rem;display:block}.gr-client small{white-space:normal;display:block}.gr-chevron{justify-content:flex-end;padding-top:8px!important}.revenue-bar{gap:14px}.rev-filtered{text-align:left;margin-left:0}.toolbar .tabs{bottom:calc(10px + env(safe-area-inset-bottom));z-index:45;background:color-mix(in srgb, var(--panel) 88%, transparent);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow);border-radius:999px;justify-content:space-around;position:fixed;left:10px;right:10px}.toolbar .tab{text-align:center;flex:1;padding:11px 2px;font-size:.72rem}main{padding-bottom:calc(84px + env(safe-area-inset-bottom))}}@media print{body{color:#000;background:#fff}.header,.toolbar,.btn,.sub-banner,.banner,.toast{display:none!important}.panel:has(.printable-sheet)>:not(.printable-sheet){display:none!important}.printable-sheet>.week-nav{display:none!important}.day-summary{background:#fff;border:1px solid #999}.ds-num,.ds-bar b{-webkit-text-fill-color:#000;color:#000!important}.ds-bar{display:none}.client-link{border:none;color:#000!important}.panel,.lesson-group{box-shadow:none;break-inside:avoid;background:#fff;border:1px solid #999}.print-only{display:block}.print-title{margin-bottom:14px;font-size:1.3rem;font-weight:800}.lesson-group{margin-bottom:12px;border-left-width:1px!important}.enrolled-list li{border-top:1px solid #ccc;padding:10px 8px}.enrolled-list li:after{content:".......................................";color:#aaa;margin-left:auto}.muted,.badge{color:#333!important}h3,h4{color:#000!important}}.mail-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-2);margin-bottom:6px}.mail-head{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:9px 12px;display:flex}.mail-subject{font-size:.86rem;font-weight:600}.mail-to{white-space:nowrap;margin-left:auto}.mail-body{color:var(--muted);border-top:1px solid var(--border);white-space:pre-line;margin:0;padding:9px 12px 11px;font-size:.84rem}.mail-errore{color:var(--danger)}@media (width<=560px){.mail-head{flex-wrap:wrap;gap:4px 10px}.mail-to{order:3;width:100%;margin-left:0}}.login-single{text-align:left;max-width:420px;margin:30px auto 0}.login-single .login-label{margin-top:10px}.login-single .error-text{margin:4px 0 0}.login-links{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:4px;display:flex}.link-btn{cursor:pointer;font:inherit;color:var(--accent);text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:.82rem;text-decoration:underline}.link-btn:hover{color:var(--accent-strong)}.ok-text{color:#69db7c;margin:4px 0 0;font-size:.85rem}[data-theme=light] .ok-text{color:#2b8a3e}.update-bar{z-index:60;background:var(--grad);color:#fff;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;font-size:.88rem;font-weight:600;display:flex;position:sticky;top:0}.update-bar .btn{color:#fff;box-shadow:none;background:#ffffff2e;border:1px solid #ffffff80}.update-bar .btn:hover{background:#ffffff4d}.lesson-group.closed{opacity:.75}.lesson-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.loading-screen{flex-direction:column;align-items:center;gap:14px;padding-top:90px;display:flex}.loading-screen .logo{border-radius:50%;width:64px;height:64px;animation:1.4s ease-in-out infinite respiro}@keyframes respiro{0%,to{opacity:.55}50%{opacity:1;transform:scale(1)}}.banner-closable{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.banner-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;flex:none;padding:2px 4px;font-size:1rem;line-height:1}.banner-close:hover{opacity:1}.empty-state{line-height:1.6}@media (width<=640px){.toolbar .tab{white-space:nowrap;text-overflow:ellipsis;padding:10px 2px;font-size:.78rem;overflow:hidden}.role-switch{gap:5px}.role-switch .btn,.lang-select{padding:5px 9px;font-size:.72rem}}.login-staff{border-color:color-mix(in srgb, var(--warn) 55%, var(--border))}.login-staff h2:before{content:"🔑 "}a.link-btn{display:inline-block}.consenso{color:var(--muted);cursor:pointer;align-items:flex-start;gap:9px;margin-top:6px;font-size:.8rem;line-height:1.45;display:flex}.consenso input{flex:none;width:auto;margin-top:2px}.consenso a{color:var(--accent)}.accesso-box{margin-bottom:14px}.accesso-box .inline-form{margin-top:8px}.accesso-box input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.accesso-box .banner.ok{margin:8px 0;font-size:.86rem;line-height:1.5}.error-text.small{margin-top:6px;font-size:.84rem}.zona-pericolo{border-top:1px dashed var(--border);text-align:right;margin-top:22px;padding-top:14px}.tab-badge{background:var(--warn);color:#fff;border-radius:999px;place-items:center;min-width:19px;height:19px;margin-left:6px;padding:0 6px;font-size:.72rem;font-weight:800;line-height:1;display:inline-grid}.iscrizione{border-bottom:1px solid var(--border);align-items:flex-start;gap:14px;padding:14px 0;display:flex}.iscrizione:last-child{border-bottom:none}.iscrizione .banner{margin:8px 0 0}.iscrizione-azioni{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (width<=560px){.iscrizione{flex-direction:column}.iscrizione-azioni{justify-content:stretch;width:100%}.iscrizione-azioni .btn{flex:1}}.attesa-approvazione{text-align:center;max-width:460px;margin:40px auto}.attesa-approvazione .btn{margin-top:10px}.new-client-form .full-row{flex-basis:100%;margin:0}.new-client-form .password-field{max-width:150px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.plan-card .btn,.plan-card .badge{margin-top:10px}.plan-card.richiesto{border-color:var(--ok)}.richiesta-form{gap:8px;margin-top:10px;display:grid}.richiesta-form textarea{width:100%;font:inherit;resize:vertical;font-size:.86rem}.richiesta-banner{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.nome-cliente{text-align:left;padding:0}.iscrizione-azioni select{min-width:110px}.chip-debito{color:#ad3e00;background:#e8590c1a;border-radius:999px;margin-left:6px;padding:1px 7px;font-weight:700;display:inline-block}:root:not([data-theme=light]) .chip-debito{color:#ffa94d;background:#ffa94d1f}.da-pagare-box{border-radius:var(--radius-sm);background:#e8590c0f;border:1px solid #e8590c59;margin:8px 0 12px;padding:10px 12px}.pay-row.da-pagare{flex-wrap:wrap;align-items:center;gap:8px}.pay-row.da-pagare select{min-width:100px}.notifiche-panel{margin:0 0 16px}.notifiche-panel h2{margin-bottom:6px}.notifiche-azioni{margin:12px 0 0}.notifiche-ridotto{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-block:10px;display:flex}.notifiche-ridotto .error-text,.notifiche-ridotto .ok-text{flex-basis:100%;margin:0}.piano-modifica{gap:8px}.piano-modifica .piano-nome{width:100%;font-weight:700}.piano-modifica textarea{width:100%}.piano-modifica.non-attivo{opacity:.6}.campi-piano{flex-wrap:wrap;gap:8px;display:flex}.campi-piano label{color:var(--muted);flex-direction:column;gap:3px;font-size:.78rem;display:flex}.campi-piano input{width:96px}.campi-piano .campo-categoria{flex:150px}.campi-piano .campo-categoria input{width:100%}.gestione-abbonamento{margin-top:4px}.barra-salva{border:1px solid var(--accent);border-radius:var(--radius-sm);background:#1864ab14;flex-wrap:wrap;align-items:center;gap:8px;width:100%;margin-top:4px;padding:8px 10px;display:flex}.barra-salva .muted{flex:1}.session.fascia{flex-wrap:wrap}.fascia-istruttore{margin-top:6px}.fascia-istruttore input{max-width:220px}
