:root{--bg: #f4f7fb;--panel: #ffffff;--text: #0f172a;--muted: #475569;--ok: #16a34a;--warn: #f59e0b;--overdue: #dc2626;--border: #dbe2ea;--cta: #0b5ed7;--accent: #0b5ed7;--hover: #f1f5f9;--sidebar-w: 178px}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:Avenir Next,Segoe UI,sans-serif;color:var(--text);background:linear-gradient(180deg,#ecf4ff 0%,var(--bg) 100%)}.app-shell{display:flex;flex-direction:column;height:100vh}.topbar{flex-shrink:0;display:flex;align-items:center;gap:.85rem;padding:0 1.25rem;background:linear-gradient(135deg,#0c2d70,#1652b8 60%,#2563eb);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 2px 12px #0c2d7059}.topbar-text{flex:1;padding:.7rem 0}.topbar h1{margin:0;font-size:1.35rem;color:#fff;font-weight:700;letter-spacing:.01em;text-shadow:0 1px 3px rgba(0,0,0,.25)}.topbar p{margin:.1rem 0 0;color:#ffffff9e;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase}.topbar-divider{border:none;border-top:1px solid rgba(255,255,255,.18);margin:.5rem 0 0}.hamburger-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:40px;height:40px;padding:.5rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.22);border-radius:9px;flex-shrink:0;transition:background .15s;color:#fff}.hamburger-btn:hover{background:#fff3}.hamburger-btn span{display:block;width:18px;height:2px;background:#fff;border-radius:1px}.app-body{display:flex;flex:1;overflow:hidden}.sidebar-nav{width:var(--sidebar-w);flex-shrink:0;display:flex;flex-direction:column;background:var(--panel);border-right:1px solid var(--border);padding:.6rem .5rem;overflow:hidden;transition:width .22s ease,padding .22s ease}.sidebar-nav.closed{width:0;padding:0}.sidebar-items{display:flex;flex-direction:column;gap:.28rem;flex:1}.nav-separator{border:none;border-top:1px solid var(--border);margin:.3rem 0}.nav-button{width:100%;border-radius:10px;background:#e8eef9;color:#1f2937;font-size:.78rem;letter-spacing:.03em;white-space:nowrap;text-align:left;padding:.55rem .7rem}.nav-button.active{background:var(--cta);color:#fff}.nav-logout{background:transparent;color:var(--muted);border:1px solid var(--border);margin-top:.3rem}.nav-logout:hover{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.content-area{flex:1;overflow-y:auto;padding:1rem;min-width:0}.auth-wrap{display:grid;place-items:center;min-height:45vh}.auth-card{width:min(420px,100%);background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1rem}.auth-card h2{margin:0 0 .2rem}.auth-card p{margin:.2rem 0 .8rem;color:var(--muted)}.auth-form{display:grid;gap:.7rem}.auth-form label{display:grid;gap:.3rem;font-size:.9rem}.auth-form input{width:100%;border:1px solid var(--border);border-radius:8px;padding:.55rem;font:inherit}.auth-switch{margin-top:.7rem;background:#e8eef9;color:#1f2937}.auth-message{font-size:.9rem}button{border:0;border-radius:8px;padding:.55rem .8rem;font:inherit;cursor:pointer;background:var(--cta);color:#fff}button:disabled{opacity:.7;cursor:not-allowed}button.secondary{background:#e8eef9;color:#1f2937}button.danger{background:#dc2626;color:#fff}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;margin-bottom:1rem}.stat-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:.8rem}.stat-card p{margin:0;color:var(--muted);font-size:.85rem}.stat-card h2{margin:.35rem 0 0;font-size:1.4rem}.stat-card small{color:var(--muted);font-size:.78rem}.clickable-stat{padding:0;overflow:hidden}.stat-card-action{width:100%;height:100%;border:0;background:transparent;color:inherit;text-align:left;padding:.8rem;border-radius:12px}.dashboard-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}.dashboard-toolbar h2{margin:0;font-size:1.1rem}.toolbar-actions{display:flex;align-items:center;gap:.45rem}.member-button{height:34px;padding:0 .7rem;border-radius:999px;font-size:.85rem}.plus-button{width:24px;height:24px;padding:0;border-radius:999px;font-size:.9rem;line-height:1}.table-wrap{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow-x:auto}.rental-block{margin-bottom:1rem}.rental-block h3{margin:0 0 .45rem;font-size:1rem}.reception-page .rental-block h3{display:flex;align-items:center;gap:.5rem;margin:0 0 .65rem;padding:.55rem .75rem;border:1px solid #cddbf2;border-radius:10px;background:linear-gradient(135deg,#f6f9ff,#edf4ff);color:#123a86;font-size:.98rem;font-weight:700;letter-spacing:.01em}.reception-page .rental-block h3:before{content:"";width:10px;height:10px;border-radius:999px;background:#2f6fdd;box-shadow:0 0 0 4px #2f6fdd24}.reception-page .rental-block .table-wrap{border-radius:14px;box-shadow:0 6px 16px #0f172a0d}.material-form-wrap{margin-bottom:.9rem;padding:.8rem}.material-form-wrap .rental-form h3{margin:0 0 .5rem;font-size:1rem}table{width:100%;border-collapse:collapse}th,td{padding:.7rem;border-bottom:1px solid var(--border);text-align:left;font-size:.92rem;white-space:nowrap}.table-sort-button{background:transparent;color:inherit;padding:0;border:0;font:inherit;font-weight:600}.status-pill{padding:.2rem .5rem;border-radius:999px;color:#fff;font-size:.8rem;font-weight:600}.status-pill.ok{background:var(--ok)}.status-pill.warning{background:var(--warn)}.status-pill.overdue{background:var(--overdue)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a61;display:grid;place-items:center;padding:1rem;z-index:20}.modal-card{width:min(480px,100%);max-height:calc(100vh - 2rem);overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1rem}.modal-card h3{margin:0 0 .8rem}.modal-step-subtitle{margin:-.3rem 0 .6rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.country-autocomplete{position:relative}.country-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--panel);border:1px solid var(--border);border-radius:8px;list-style:none;margin:3px 0 0;padding:.25rem 0;z-index:50;max-height:210px;overflow-y:auto;box-shadow:0 6px 20px #0000001f}.country-dropdown li{padding:.42rem .75rem;cursor:pointer;font-size:.88rem;display:flex;align-items:center;gap:.55rem;color:var(--text)}.country-dropdown li:hover{background:var(--bg)}.nested-modal{z-index:30}.group-materials-modal{width:min(560px,100%)}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .65s linear infinite;vertical-align:middle;flex-shrink:0}.spinner--sm{width:14px;height:14px}.spinner--md{width:20px;height:20px;border-width:3px}.spinner--lg{width:32px;height:32px;border-width:3px}.rental-form{display:grid;gap:.65rem}.rental-form--cols-2{grid-template-columns:1fr 1fr}.rental-form label{display:grid;gap:.3rem;font-size:.9rem}.rental-form input,.rental-form select,.rental-form textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:.55rem;font:inherit}.rental-form select,.table-wrap select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 3px),calc(100% - 11px) calc(50% - 3px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:2rem}.guest-quick-layout{display:grid;gap:.45rem}.guest-quick-row{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}.quick-preset-inline{background:#e8eef9;color:#1f2937;border-radius:999px;font-size:.72rem;padding:.2rem .5rem}.group-picker{display:grid;gap:.35rem}.group-picker p{margin:0;font-size:.9rem}.group-picker-list{max-height:180px;overflow-y:auto;border:1px solid var(--border);border-radius:10px;background:#f8fbff;padding:.45rem;display:grid;gap:.25rem}.group-picker-readonly p{margin:0;font-size:.86rem}.group-picker-item{display:flex!important;align-items:center;gap:.45rem!important;font-size:.86rem}.group-picker-item input{width:auto}.group-add-button{width:fit-content}.group-picker-line{display:grid;grid-template-columns:1fr 90px;align-items:center;gap:.5rem}.group-picker-line input{width:100%}.panel-switch{display:inline-flex;width:fit-content;gap:.2rem;padding:.2rem;border:1px solid var(--border);border-radius:12px;background:#eef3fa}.panel-tab{background:transparent;color:#1f2937;border-radius:10px;padding:.35rem .8rem}.panel-tab.active{background:#fff;box-shadow:0 1px 3px #0f172a26}.duration-quick p{margin:0 0 .3rem;font-size:.9rem}.duration-tabs{display:flex;flex-wrap:wrap;gap:.35rem}.duration-tab{background:#e8eef9;color:#1f2937;border-radius:999px;padding:.35rem .65rem}.duration-tab.active{background:var(--cta);color:#fff}.inline-check{display:flex!important;align-items:center;gap:.45rem!important;font-size:.9rem}.inline-check input{width:auto}.action-button{padding:.35rem .55rem;font-size:.78rem;border-radius:8px}.closure-error{margin:.75rem auto 0;max-width:36rem;padding:.65rem 1rem;background:color-mix(in srgb,var(--danger, #dc2626) 10%,transparent);border:1px solid var(--danger, #dc2626);border-radius:6px;color:var(--danger, #dc2626)}.closure-error p{margin:0;font-size:.88rem;line-height:1.5}.action-cell{display:flex;gap:.4rem;flex-wrap:wrap}.activity-toggle-row{margin:.6rem 0 .25rem}.activity-toggle-label{display:flex;align-items:center;gap:.5rem;font-weight:600;cursor:pointer}.activity-subform{padding:.6rem 0 .6rem 1.5rem;border-left:3px solid var(--border);margin-bottom:.5rem;display:flex;flex-direction:column;gap:.5rem}.activity-section{margin-bottom:1rem}.activity-section-title{font-size:.9rem;font-weight:700;margin:0 0 .5rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.activity-row{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;padding:.45rem .6rem;border-radius:6px;background:var(--hover);margin-bottom:.35rem;font-size:.88rem}.activity-row--inactive{opacity:.55}.activity-badge-inactive{font-size:.75rem;background:var(--border);padding:.1rem .4rem;border-radius:4px;color:var(--muted)}.activity-days-label{font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem}.activity-days-grid{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.75rem}.activity-day-check{display:flex;flex-direction:column;align-items:center;gap:.2rem;font-size:.78rem;font-weight:500;cursor:pointer;padding:.35rem .5rem;border:1px solid var(--border);border-radius:6px;min-width:2.8rem;text-align:center;transition:background .15s,border-color .15s}.activity-day-check:has(input:checked){background:var(--cta);border-color:var(--cta);color:#fff}.activity-day-check input{display:none}.activity-notes{color:var(--muted);font-style:italic;width:100%}.activity-empty{color:var(--muted);font-size:.88rem;margin:0}.closure-actions{display:flex;justify-content:center;margin-top:.75rem}.closure-extra-actions{margin-top:.7rem;margin-bottom:.7rem}.member-search-results{display:grid;gap:.35rem;max-height:180px;overflow-y:auto;border:1px solid var(--border);border-radius:10px;padding:.4rem;background:#f8fbff}.member-search-results p{margin:0;color:var(--muted);font-size:.88rem}.member-result{text-align:left;background:#e8eef9;color:#1f2937;border-radius:8px;padding:.45rem .55rem;font-size:.85rem}.member-result.active{background:var(--cta);color:#fff}.member-fee-summary{border:1px dashed var(--border);background:#f8fbff;border-radius:10px;padding:.55rem .65rem}.member-fee-summary p{margin:0 0 .2rem;color:var(--muted)}.member-fee-summary strong{display:block}.day-closure-report-wrap{padding:.75rem;max-height:min(420px,55vh);overflow-y:auto}.day-closure-report-wrap pre,.analysis-report-pre{margin:0;white-space:pre;font-family:Courier New,Courier,monospace;font-size:.83rem;line-height:1.5;color:var(--text);overflow-x:auto}.day-closure-report-wrap+.modal-actions{margin-top:1rem}.analysis-filters{margin-bottom:.9rem;padding:.8rem}.analysis-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.analysis-split-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}@media (max-width: 900px){.analysis-filter-grid{grid-template-columns:1fr}}.panel-placeholder{border:1px dashed var(--border);background:#f8fbff;border-radius:10px;padding:.65rem}.panel-placeholder strong{display:block;margin-bottom:.25rem}.panel-placeholder p{margin:0;color:var(--muted)}.page-bottom-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-top:.6rem}.page-bottom-bar-right{display:flex;justify-content:flex-end}.page-bottom-bar button{font-size:.7rem;padding:.38rem .55rem}.pagination-bar{display:flex;align-items:center;justify-content:center;gap:.75rem}.pagination-bar span{font-size:.88rem;color:var(--muted);min-width:90px;text-align:center}.form-error{margin:0;color:var(--overdue);font-size:.88rem}.checkin-summary{margin:0 0 .8rem;color:var(--muted);font-size:.9rem}.confirm-message{margin:0 0 .9rem;color:var(--muted);font-size:.92rem}.settings-card{background:none;border:none;border-radius:0;padding:0;max-width:none;margin-bottom:1.5rem}.settings-card h3{margin:0 0 .75rem;font-size:.95rem}.theme-toggle{display:inline-flex;gap:.25rem;padding:.25rem;background:var(--bg);border:1px solid var(--border);border-radius:10px}.theme-toggle-btn{background:transparent;color:var(--muted);border-radius:8px;padding:.4rem 1.1rem;font-size:.88rem;transition:background .15s,color .15s,box-shadow .15s}.theme-toggle-btn.active{background:var(--panel);color:var(--text);box-shadow:0 1px 4px #0f172a24}[data-theme=dark]{--bg: #0f172a;--panel: #1e293b;--text: #e2e8f0;--muted: #94a3b8;--border: #334155;--cta: #3b82f6;--accent: #3b82f6;--hover: #263550}[data-theme=dark] body{background:linear-gradient(180deg,#0a1628,#0f172a)}[data-theme=dark] .nav-button{background:#263550;color:#cbd5e1}[data-theme=dark] .nav-logout:hover{background:#3b1d1d;color:#fca5a5;border-color:#7f1d1d}[data-theme=dark] .auth-switch,[data-theme=dark] button.secondary,[data-theme=dark] .quick-preset-inline,[data-theme=dark] .duration-tab,[data-theme=dark] .member-result,[data-theme=dark] .panel-tab{background:#263550;color:#cbd5e1}[data-theme=dark] .duration-tab.active{background:var(--cta);color:#fff}[data-theme=dark] .panel-switch{background:#162033}[data-theme=dark] .panel-tab.active{background:#1e293b;box-shadow:0 1px 3px #0006}[data-theme=dark] .reception-page .rental-block h3{background:linear-gradient(135deg,#162033,#1a2d4a);border-color:#2d4a73;color:#93c5fd}[data-theme=dark] .reception-page .rental-block h3:before{background:#3b82f6;box-shadow:0 0 0 4px #3b82f62e}[data-theme=dark] .rental-form input,[data-theme=dark] .rental-form textarea,[data-theme=dark] .auth-form input{background:#1e293b;color:#e2e8f0}[data-theme=dark] .rental-form select,[data-theme=dark] .table-wrap select{background-color:#1e293b;color:#e2e8f0;background-image:linear-gradient(45deg,transparent 50%,#94a3b8 50%),linear-gradient(135deg,#94a3b8 50%,transparent 50%)}[data-theme=dark] .group-picker-list,[data-theme=dark] .member-search-results,[data-theme=dark] .member-fee-summary,[data-theme=dark] .panel-placeholder{background:#162033}[data-theme=dark] th{background:#162033;color:#94a3b8}[data-theme=forest]{--bg: #0e1b11;--panel: #16251a;--text: #d4edda;--muted: #74b383;--border: #253f2e;--cta: #34d058;--accent: #34d058;--hover: #1d3223}[data-theme=forest] body{background:linear-gradient(180deg,#0a1309,#0e1b11)}[data-theme=forest] .topbar{background:linear-gradient(135deg,#072510,#145c28 60%,#1e8c3a)}[data-theme=forest] .nav-button{background:#1d3223;color:#a3d4ae}[data-theme=forest] .nav-logout:hover{background:#1f2f10;color:#86efac;border-color:#2d5a1a}[data-theme=forest] .auth-switch,[data-theme=forest] button.secondary,[data-theme=forest] .quick-preset-inline,[data-theme=forest] .duration-tab,[data-theme=forest] .member-result,[data-theme=forest] .panel-tab{background:#1d3223;color:#a3d4ae}[data-theme=forest] .duration-tab.active{background:var(--cta);color:#fff}[data-theme=forest] .panel-switch{background:#0d1810}[data-theme=forest] .panel-tab.active{background:#16251a;box-shadow:0 1px 3px #0006}[data-theme=forest] .reception-page .rental-block h3{background:linear-gradient(135deg,#0d1810,#152a1a);border-color:#253f2e;color:#86efac}[data-theme=forest] .reception-page .rental-block h3:before{background:#34d058;box-shadow:0 0 0 4px #34d0582e}[data-theme=forest] .rental-form input,[data-theme=forest] .rental-form textarea,[data-theme=forest] .auth-form input{background:#16251a;color:#d4edda}[data-theme=forest] .rental-form select,[data-theme=forest] .table-wrap select{background-color:#16251a;color:#d4edda;background-image:linear-gradient(45deg,transparent 50%,#74b383 50%),linear-gradient(135deg,#74b383 50%,transparent 50%)}[data-theme=forest] .group-picker-list,[data-theme=forest] .member-search-results,[data-theme=forest] .member-fee-summary,[data-theme=forest] .panel-placeholder{background:#0d1810}[data-theme=forest] th{background:#0d1810;color:#74b383}[data-theme=ocean]{--bg: #0b1929;--panel: #0f2540;--text: #cce9ff;--muted: #6ab0d8;--border: #1c3a5c;--cta: #22a8e0;--accent: #22a8e0;--hover: #122d4a}[data-theme=ocean] body{background:linear-gradient(180deg,#060f1c,#0b1929)}[data-theme=ocean] .topbar{background:linear-gradient(135deg,#061428,#0c3462 60%,#1565c0)}[data-theme=ocean] .nav-button{background:#122d4a;color:#90caf9}[data-theme=ocean] .nav-logout:hover{background:#1a1a38;color:#93c5fd;border-color:#2d3a7f}[data-theme=ocean] .auth-switch,[data-theme=ocean] button.secondary,[data-theme=ocean] .quick-preset-inline,[data-theme=ocean] .duration-tab,[data-theme=ocean] .member-result,[data-theme=ocean] .panel-tab{background:#122d4a;color:#90caf9}[data-theme=ocean] .duration-tab.active{background:var(--cta);color:#fff}[data-theme=ocean] .panel-switch{background:#081624}[data-theme=ocean] .panel-tab.active{background:#0f2540;box-shadow:0 1px 3px #0006}[data-theme=ocean] .reception-page .rental-block h3{background:linear-gradient(135deg,#081624,#0d2a45);border-color:#1c3a5c;color:#7dd3fc}[data-theme=ocean] .reception-page .rental-block h3:before{background:#22a8e0;box-shadow:0 0 0 4px #22a8e02e}[data-theme=ocean] .rental-form input,[data-theme=ocean] .rental-form textarea,[data-theme=ocean] .auth-form input{background:#0f2540;color:#cce9ff}[data-theme=ocean] .rental-form select,[data-theme=ocean] .table-wrap select{background-color:#0f2540;color:#cce9ff;background-image:linear-gradient(45deg,transparent 50%,#6ab0d8 50%),linear-gradient(135deg,#6ab0d8 50%,transparent 50%)}[data-theme=ocean] .group-picker-list,[data-theme=ocean] .member-search-results,[data-theme=ocean] .member-fee-summary,[data-theme=ocean] .panel-placeholder{background:#081624}[data-theme=ocean] th{background:#081624;color:#6ab0d8}[data-theme=sunset]{--bg: #1a0d08;--panel: #26150d;--text: #fde8d0;--muted: #c4896a;--border: #41271a;--cta: #f97316;--accent: #f97316;--hover: #33180f}[data-theme=sunset] body{background:linear-gradient(180deg,#110906,#1a0d08)}[data-theme=sunset] .topbar{background:linear-gradient(135deg,#6b1c1c,#b83c10 60%,#ea6820)}[data-theme=sunset] .nav-button{background:#321609;color:#f0c0a0}[data-theme=sunset] .nav-logout:hover{background:#3b1010;color:#fca5a5;border-color:#7f1d1d}[data-theme=sunset] .auth-switch,[data-theme=sunset] button.secondary,[data-theme=sunset] .quick-preset-inline,[data-theme=sunset] .duration-tab,[data-theme=sunset] .member-result,[data-theme=sunset] .panel-tab{background:#321609;color:#f0c0a0}[data-theme=sunset] .duration-tab.active{background:var(--cta);color:#fff}[data-theme=sunset] .panel-switch{background:#180b06}[data-theme=sunset] .panel-tab.active{background:#26150d;box-shadow:0 1px 3px #0006}[data-theme=sunset] .reception-page .rental-block h3{background:linear-gradient(135deg,#180b06,#2d1208);border-color:#5a2a15;color:#fdba74}[data-theme=sunset] .reception-page .rental-block h3:before{background:#f97316;box-shadow:0 0 0 4px #f973162e}[data-theme=sunset] .rental-form input,[data-theme=sunset] .rental-form textarea,[data-theme=sunset] .auth-form input{background:#26150d;color:#fde8d0}[data-theme=sunset] .rental-form select,[data-theme=sunset] .table-wrap select{background-color:#26150d;color:#fde8d0;background-image:linear-gradient(45deg,transparent 50%,#c4896a 50%),linear-gradient(135deg,#c4896a 50%,transparent 50%)}[data-theme=sunset] .group-picker-list,[data-theme=sunset] .member-search-results,[data-theme=sunset] .member-fee-summary,[data-theme=sunset] .panel-placeholder{background:#180b06}[data-theme=sunset] th{background:#180b06;color:#c4896a}.settings-divider{border:none;border-top:1px solid var(--border);margin:.25rem 0 1rem}.settings-input-row{display:flex;gap:.5rem}.settings-hint{margin:0 0 .75rem;font-size:.85rem;color:var(--muted)}.settings-toggle-row{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.settings-toggle-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.settings-toggle-title{display:block;font-weight:600;font-size:.9rem}.settings-toggle-desc{display:block;font-size:.8rem;color:var(--muted);margin-top:.15rem;line-height:1.4}.settings-toggle-switch{position:relative;flex-shrink:0;width:40px;height:22px;margin-top:1px}.settings-toggle-switch input{opacity:0;width:0;height:0;position:absolute}.settings-toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border);border-radius:22px;transition:background .2s}.settings-toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s}.settings-toggle-switch input:checked+.settings-toggle-slider{background:var(--ok)}.settings-toggle-switch input:checked+.settings-toggle-slider:before{transform:translate(18px)}.settings-toggle-switch input:focus-visible+.settings-toggle-slider{outline:2px solid var(--cta);outline-offset:2px}.settings-page{display:flex;flex-direction:column;gap:0}.settings-content{padding-top:.5rem}.settings-tabs__btn{background:none;border:1px solid transparent;border-radius:6px;padding:.25rem .75rem;font-size:.85rem;color:var(--muted);cursor:pointer;transition:color .15s,background .15s}.settings-tabs__btn:hover{color:var(--text);background:var(--bg)}.settings-tabs__btn--active{color:var(--cta);border-color:var(--cta)}.settings-prices-grid{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem}.settings-prices-group{display:flex;flex-direction:column;gap:.5rem;min-width:140px}.settings-prices-section-label{margin:1rem 0 .5rem;font-size:.75rem;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);padding-bottom:.3rem}.settings-prices-group-label{margin:0 0 .25rem;font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.settings-prices-group label{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.9rem}.settings-prices-group input[type=number]{width:70px;text-align:right}.settings-time-slots{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.2rem}.settings-time-slot-chip{display:inline-flex;align-items:center;gap:.3rem;background:color-mix(in srgb,var(--cta) 10%,transparent);color:var(--cta);font-weight:600;font-size:.82rem;padding:.3rem .5rem .3rem .7rem;border-radius:20px}.settings-time-slot-remove{border:none;background:none;color:var(--muted);font-size:.7rem;cursor:pointer;padding:.1rem .2rem;border-radius:50%;line-height:1}.settings-time-slot-remove:hover{color:var(--overdue);background:color-mix(in srgb,var(--overdue) 12%,transparent)}.settings-time-slot-add{display:flex;align-items:center;gap:.3rem}.settings-time-slot-add input{border:1px solid var(--border);border-radius:6px;padding:.3rem .5rem;font:inherit;font-size:.82rem;background:var(--panel);color:var(--text);text-align:center}.settings-class-price-row{display:flex;align-items:center;gap:.5rem}.settings-class-price-row label{flex:1}.settings-class-price-remove{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1rem;padding:.2rem .4rem;border-radius:4px;transition:color .15s,background .15s}.settings-class-price-remove:hover:not(:disabled){color:var(--danger, #e74c3c);background:var(--bg)}.settings-class-price-remove:disabled{opacity:.3;cursor:default}.settings-class-price-add{align-self:flex-start;margin-top:.25rem}.settings-slots-table{width:100%;font-size:.88rem}.settings-slots-table th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:.4rem .5rem;border-bottom:1px solid var(--border)}.settings-slots-table td{padding:.35rem .5rem;vertical-align:middle}.settings-slots-table select,.settings-slots-table input[type=number]{font-size:.85rem;padding:.25rem .4rem}.settings-slot-remove{background:none;border:none;color:var(--danger, #e74c3c);cursor:pointer;font-size:.9rem;padding:.2rem .4rem;border-radius:4px}.settings-slot-remove:hover{background:color-mix(in srgb,var(--danger, #e74c3c) 12%,transparent)}.settings-slots-add-row td{padding-top:.6rem;border-top:1px dashed var(--border)}.settings-cat-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.settings-cat-item{border:1px solid var(--border);border-radius:8px;overflow:hidden}.settings-cat-row,.settings-pkg-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem}.settings-cat-name{flex:1;min-width:0;border:none;background:transparent;font:inherit;font-weight:600;color:var(--text);padding:.2rem .3rem;border-bottom:1px solid transparent;border-radius:0}.settings-cat-name:focus{border-bottom-color:var(--cta);outline:none}.settings-cat-desc{flex:1;min-width:0;border:none;background:transparent;font:inherit;font-size:.85rem;color:var(--muted);padding:.2rem .3rem;border-bottom:1px solid transparent;border-radius:0}.settings-cat-desc:focus{border-bottom-color:var(--cta);outline:none}.settings-cat-toggle{display:flex;align-items:center;gap:.3rem;font-size:.82rem;color:var(--muted);white-space:nowrap;cursor:pointer}.settings-cat-expand{background:none;border:none;cursor:pointer;font-size:.9rem;color:var(--muted);padding:.2rem .4rem}.settings-cat-expand:hover{color:var(--text)}.settings-cat-prices{padding:.5rem .75rem;background:var(--bg);border-top:1px solid var(--border)}.settings-cat-prices-grid{display:flex;gap:.75rem;flex-wrap:wrap}.settings-cat-prices-grid label{display:flex;flex-direction:column;gap:.2rem;font-size:.82rem;color:var(--muted)}.settings-cat-prices-grid input{width:70px}.settings-cat-add{display:flex;gap:.5rem;align-items:center}.settings-cat-add input{flex:1}.settings-pkg-composition{flex:1;font-size:.82rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-pkg-item-row{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.settings-pkg-item-add{margin-top:.4rem}.settings-cat-models{margin-top:.75rem;padding-top:.5rem;border-top:1px dashed var(--border)}.settings-cat-models__label{font-size:.82rem;font-weight:600;color:var(--muted);margin:0 0 .3rem}.settings-cat-models__empty{font-size:.8rem;color:var(--muted);margin:0 0 .3rem}.settings-cat-models__list{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.4rem}.settings-cat-models__tag{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;background:color-mix(in srgb,var(--cta) 10%,transparent);border:1px solid color-mix(in srgb,var(--cta) 25%,transparent);border-radius:12px;font-size:.8rem;color:var(--text)}.settings-cat-models__tag-remove{background:none;border:none;cursor:pointer;font-size:.7rem;color:var(--muted);padding:0;line-height:1}.settings-cat-models__tag-remove:hover{color:var(--overdue)}.settings-cat-models__add{font-size:.82rem;margin-top:.2rem}.settings-model-rows{display:flex;flex-direction:column;gap:.3rem}.settings-model-row{display:flex;align-items:center;gap:.75rem;padding:.25rem 0}.settings-model-row__name{min-width:80px;max-width:120px;font-size:.85rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-model-row__prices{display:flex;gap:.75rem;flex-wrap:nowrap}.settings-model-row__prices input{width:70px}.settings-model-add{display:flex;gap:.4rem;align-items:center;margin-top:.5rem}.settings-model-add input{flex:1}.settings-model-add__btn{background:var(--cta);color:#fff;border:none;border-radius:4px;width:28px;height:28px;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.settings-model-add__btn:hover{background:var(--cta-hover)}.filter-select{padding:.35rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text);font:inherit;font-size:.85rem;cursor:pointer}.filter-select:focus{outline:none;border-color:var(--cta)}.rental-packages-chips{display:flex;gap:.5rem;flex-wrap:wrap;margin:.4rem 0 .2rem}.rental-package-chip{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.45rem .75rem;border:2px dashed var(--border);border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s;background:var(--panel)}.rental-package-chip:hover{border-color:var(--cta)}.rental-package-chip--active{border-style:solid;border-color:var(--cta);background:color-mix(in srgb,var(--cta) 8%,transparent)}.rental-package-chip__name{font-weight:600;font-size:.85rem}.rental-package-chip__price{font-size:.72rem;color:var(--muted)}.rental-package-chip--active .rental-package-chip__price{color:var(--cta);font-weight:600}.rental-items-list{margin:.35rem 0}.rental-items-list>p{font-size:.85rem;font-weight:600;margin-bottom:.3rem}.rental-item-row{display:flex;gap:.35rem;align-items:center;margin-bottom:.3rem}.rental-item-row select{flex:1;min-width:0;font-size:.82rem}.rental-item-row input[type=number]{width:3.2rem;text-align:center}.rental-item-price{font-size:.82rem;font-weight:600;min-width:3rem;text-align:right;color:var(--text)}.rental-item-remove{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1rem;padding:.15rem .3rem;line-height:1}.rental-item-remove:hover{color:var(--danger, #e74c3c)}.rental-item-accessory-label{font-size:.82rem;color:var(--muted);font-style:italic;flex:1}.rental-packages{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.75rem}.rental-packages__chip{padding:.35rem .75rem;font-size:.82rem;font-weight:600;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--text);cursor:pointer;transition:all .15s}.rental-packages__chip:hover{border-color:var(--cta)}.rental-packages__chip--active{background:var(--cta);color:#fff;border-color:var(--cta)}.rental-categories{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.75rem}.rental-categories__btn{padding:.3rem .6rem;font-size:.8rem;border:1px solid var(--border);border-radius:6px;background:var(--panel);cursor:pointer;transition:all .15s}.rental-categories__btn:hover{border-color:var(--cta);color:var(--cta)}.rental-categories__btn:disabled{opacity:.4;cursor:not-allowed}.rental-section-label{font-size:.85rem;font-weight:600;margin:.5rem 0 .3rem}.rental-selected-items{margin-bottom:.75rem}.rental-selected-items__empty{font-size:.82rem;color:var(--muted);font-style:italic}.rental-selected-item-header{display:flex;align-items:center;gap:.35rem;margin-bottom:.2rem}.rental-selected-item-header span{font-size:.7rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.rental-selected-item-header__desc{flex:4;min-width:0}.rental-selected-item-header__size,.rental-selected-item-header__disp{flex:0 0 4rem;text-align:center}.rental-selected-item-header__spacer{flex:0 0 1.25rem}.rental-selected-item-wrap{padding:.2rem 0}.rental-selected-item{display:flex;align-items:center;font-size:.85rem;gap:.35rem}.rental-selected-item__label{flex:3;min-width:0}.rental-selected-item__select{flex:4;min-width:0;font-size:.85rem;padding:.25rem .4rem;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text)}.rental-selected-item__size{flex:0 0 4rem;width:4rem;font-size:.82rem;padding:.2rem;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);text-align:center}.rental-selected-item__size:disabled{opacity:.5;cursor:not-allowed}.rental-selected-item__qty{flex:0 0 4rem;width:4rem;font-size:.82rem;padding:.15rem 0;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);text-align:center;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.rental-selected-item__remove{background:none;border:none;color:var(--overdue);cursor:pointer;font-size:1rem;padding:0 .25rem}.databar{position:relative}.databar__bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 0;flex-wrap:wrap}.databar__left{display:flex;align-items:baseline;gap:.5rem}.databar__title{font-size:1.1rem;font-weight:700;margin:0}.databar__count{font-size:.82rem;color:var(--muted);font-variant-numeric:tabular-nums}.databar__right{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.databar__btn{padding:.3rem .65rem;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text);font:inherit;font-size:.82rem;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s}.databar__btn:hover{background:color-mix(in srgb,var(--cta) 8%,var(--panel));border-color:var(--cta)}.databar__btn--active{border-color:var(--cta);color:var(--cta);background:color-mix(in srgb,var(--cta) 6%,var(--panel))}.databar__btn--primary{background:var(--cta);color:#fff;border-color:var(--cta)}.databar__btn--primary:hover{background:var(--cta-hover, var(--cta))}.databar__btn--icon{font-size:1rem;padding:.3rem .45rem}.databar__chips{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap;padding-bottom:.35rem}.databar__chip{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .45rem;border-radius:10px;font-size:.75rem;background:color-mix(in srgb,var(--cta) 10%,var(--panel));color:var(--text);border:1px solid color-mix(in srgb,var(--cta) 25%,var(--border))}.databar__chip-x{background:none;border:none;cursor:pointer;font-size:.7rem;color:var(--muted);padding:0 .1rem;line-height:1}.databar__chip-x:hover{color:var(--danger, #e74c3c)}.databar__chip-clear{background:none;border:none;cursor:pointer;font-size:.72rem;color:var(--muted);text-decoration:underline;padding:0 .2rem}.databar__chip-clear:hover{color:var(--text)}.databar__table-wrap{overflow-x:auto}.databar__table{width:100%;border-collapse:collapse}.databar__table th{text-align:left;padding:.4rem .5rem;font-size:.78rem;font-weight:600;color:var(--muted);border-bottom:2px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.databar__th--sortable{cursor:pointer}.databar__th--sortable:hover{color:var(--text)}.databar__sort-arrow{font-size:.65rem}.databar__table td{padding:.4rem .5rem;font-size:.85rem;border-bottom:1px solid var(--border)}.databar__tr--clickable{cursor:pointer}.databar__tr--clickable:hover{background:color-mix(in srgb,var(--cta) 4%,transparent)}.databar__pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 0;font-size:.82rem}.databar__pagination button{min-width:2rem}.databar-filter__panel{border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem;margin-bottom:.5rem;background:var(--panel)}.databar-filter__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem .75rem}.databar-filter__field{display:flex;flex-direction:column;gap:.2rem}.databar-filter__field-label{font-size:.75rem;font-weight:600;color:var(--muted)}.databar-filter__chips{display:flex;flex-wrap:wrap;gap:.25rem}.databar-filter__chip{padding:.2rem .5rem;border:1px solid var(--border);border-radius:10px;font-size:.78rem;cursor:pointer;background:var(--panel);transition:all .12s}.databar-filter__chip:hover{border-color:var(--cta)}.databar-filter__chip--active{background:var(--cta);color:#fff;border-color:var(--cta)}.databar-filter__range{display:flex;align-items:center;gap:.3rem}.databar-filter__range input{flex:1;min-width:0}.databar-filter__range-sep{color:var(--muted);font-size:.82rem}.databar-filter__text-wrap{position:relative}.databar-filter__text-wrap input{width:100%}.databar-filter__footer{display:flex;justify-content:flex-end;gap:.4rem;margin-top:.5rem}.databar-settings__panel{border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem;margin-bottom:.5rem;background:var(--panel)}.databar-settings__section{margin-bottom:.6rem}.databar-settings__section:last-of-type{margin-bottom:0}.databar-settings__section-title{font-size:.78rem;font-weight:700;color:var(--muted);margin:0 0 .3rem}.databar-settings__col-list{display:flex;flex-direction:column;gap:.15rem}.databar-settings__col-row{display:flex;align-items:center;justify-content:space-between;padding:.15rem 0}.databar-settings__col-label{display:flex;align-items:center;gap:.3rem;font-size:.82rem;cursor:pointer}.databar-settings__col-label input{width:auto}.databar-settings__col-arrows{display:flex;gap:.15rem}.databar-settings__col-arrows button{background:none;border:1px solid var(--border);border-radius:4px;padding:0 .25rem;font-size:.72rem;cursor:pointer;color:var(--muted)}.databar-settings__col-arrows button:hover:not(:disabled){color:var(--text);border-color:var(--cta)}.databar-settings__col-arrows button:disabled{opacity:.3;cursor:default}.databar-settings__empty{font-size:.82rem;color:var(--muted);margin:0}.databar-settings__saved-list{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.3rem}.databar-settings__saved-row{display:flex;align-items:center;gap:.3rem}.databar-settings__saved-load{background:none;border:none;cursor:pointer;font:inherit;font-size:.82rem;color:var(--cta);text-align:left;padding:.1rem 0}.databar-settings__saved-load:hover{text-decoration:underline}.databar-settings__saved-delete{background:none;border:none;cursor:pointer;color:var(--muted);font-size:.72rem;padding:0 .2rem}.databar-settings__saved-delete:hover{color:var(--danger, #e74c3c)}.databar-settings__save-row{display:flex;gap:.3rem;align-items:center}.databar-settings__save-row input{flex:1;min-width:0;font-size:.82rem}.databar-settings__footer{display:flex;justify-content:flex-end;gap:.4rem;margin-top:.4rem}.settings-columns-list{list-style:none;padding:0;margin:0 0 .75rem}.settings-columns-item{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;border-bottom:1px solid var(--border)}.settings-columns-item:last-child{border-bottom:none}.settings-tabs{display:flex;gap:.25rem;margin-bottom:.75rem;border-bottom:1px solid var(--border);padding-bottom:.4rem}.settings-tab-btn{background:none;border:1px solid transparent;border-radius:6px;padding:.3rem .75rem;font-size:.85rem;color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s}.settings-tab-btn:hover{color:var(--text)}.settings-tab-btn.active{color:var(--cta);border-color:var(--cta)}.widget-edit-panel{display:flex;flex-direction:column;gap:.4rem}.widget-edit-row{display:flex;align-items:center;gap:.6rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.45rem .7rem;font-size:.85rem}.widget-edit-arrows{display:flex;flex-direction:column;gap:.1rem}.widget-edit-label{flex:1;color:var(--text)}.widget-edit-label--hidden{color:var(--muted);text-decoration:line-through}.widget-edit-btn{background:none;border:none;color:var(--muted);padding:0 .2rem;cursor:pointer;font-size:.8rem;line-height:1}.widget-edit-btn:disabled{opacity:.25;cursor:default}.widget-edit-btn--visible{color:var(--cta)}.widget-edit-reset{align-self:flex-start;margin-top:.25rem;font-size:.8rem;color:var(--muted);background:none;border:1px solid var(--border);border-radius:6px;padding:.3rem .75rem;cursor:pointer;transition:color .15s,border-color .15s}.widget-edit-reset:hover{color:var(--text);border-color:var(--muted)}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:var(--cta);color:#fff;padding:.75rem 1.25rem;border-radius:8px;display:flex;align-items:center;gap:.75rem;z-index:1000;box-shadow:0 4px 12px #00000026}.toast-close{background:none;border:none;color:inherit;cursor:pointer;font-size:1rem;padding:0;line-height:1}.configtable-toolbar{display:flex;justify-content:flex-end;margin-bottom:.5rem}.configtable-cols-btn{font-size:.8rem;padding:.25rem .75rem}.configtable-cols-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.col-picker-wrapper{position:relative}.col-picker-wrapper--bottom{display:flex;justify-content:flex-end}.col-picker-wrapper--bottom .col-picker-dropdown:not(.col-picker-dropdown--modal){top:auto;bottom:calc(100% + .4rem)}.col-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:499;background:#00000040}.col-picker-dropdown{position:absolute;top:calc(100% + .4rem);right:0;z-index:200;background:var(--panel);border:1px solid var(--border);border-radius:.5rem;padding:.5rem 0;min-width:14rem;box-shadow:0 4px 16px #0000001f}.col-picker-dropdown--modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:500;min-width:18rem;max-height:80vh;overflow-y:auto;bottom:auto;right:auto}.col-picker-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.6rem .9rem .35rem;border-top:1px solid var(--border);margin-top:.25rem}.col-picker-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .9rem}.col-picker-row:hover{background:var(--hover)}.col-picker-label{display:flex;align-items:center;gap:.4rem;font-size:.85rem;cursor:pointer;white-space:nowrap;flex:1}.col-picker-arrows{display:flex;gap:.2rem}.col-picker-arrows button{background:none;border:1px solid var(--border);border-radius:.25rem;color:var(--text);cursor:pointer;font-size:.7rem;padding:.1rem .35rem;line-height:1.2}.col-picker-arrows button:disabled{opacity:.3;cursor:default}.filter-picker-panel{min-width:22rem}.filter-picker-row{display:grid;grid-template-columns:7rem 1fr;align-items:center;gap:.5rem;padding:.35rem .9rem}.filter-picker-label{font-size:.8rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-picker-input-wrap{position:relative;display:flex;align-items:center}.filter-picker-input{font-size:.82rem;padding:.22rem 1.6rem .22rem .45rem;border:1px solid var(--border);border-radius:.25rem;background:var(--bg);color:var(--text);width:100%;box-sizing:border-box}.filter-picker-input:focus{outline:none;border-color:var(--cta)}.filter-picker-clear{position:absolute;right:.3rem;background:none;border:none;color:var(--muted);cursor:pointer;font-size:.95rem;line-height:1;padding:0 .15rem;display:flex;align-items:center}.filter-picker-clear:hover{color:var(--text)}.date-filter-wrap{display:flex;align-items:center;gap:.35rem}.date-filter-clear{position:static;flex-shrink:0}.configtable-cols-btn.has-filters,.paginator-btn-active{border-color:var(--cta);color:var(--cta)}.page-bottom-bar-right{gap:.4rem}.class-cycle__filters{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap;align-items:center}.class-cycle__settings-link{margin-left:auto;background:none;border:none;color:var(--cta);font-size:.78rem;cursor:pointer;padding:.3rem .5rem;border-radius:6px}.class-cycle__settings-link:hover{background:color-mix(in srgb,var(--cta) 10%,transparent);text-decoration:underline}.class-cycle__filter-btn{padding:.4rem .9rem;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-weight:600;font-size:.82rem;cursor:pointer;transition:all .15s}.class-cycle__filter-btn--active{border:2px solid var(--cta);background:color-mix(in srgb,var(--cta) 10%,transparent);color:var(--cta)}.class-cycle__filter-count{margin-left:.35rem;background:var(--border);color:var(--muted);border-radius:10px;padding:.05rem .45rem;font-size:.72rem;font-weight:700}.class-cycle__filter-btn--active .class-cycle__filter-count{background:var(--cta);color:#fff}.class-cycle__table-wrap{background:var(--panel);border-radius:12px;border:1px solid var(--border);overflow:hidden}.class-cycle__row{display:grid;grid-template-columns:minmax(160px,1.5fr) 1fr 100px 100px 90px 40px;align-items:center;padding:.75rem 1rem}.class-cycle__row--header{background:var(--hover);border-bottom:1px solid var(--border);font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.class-cycle__row--data{border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);cursor:pointer;transition:background .15s}.class-cycle__row--data:hover,.class-cycle__row--expanded{background:var(--hover)}.class-cycle__empty{padding:2.5rem;text-align:center;color:var(--muted);font-size:.88rem}.class-cycle__member-cell{display:flex;align-items:center;gap:.6rem}.class-cycle__avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;flex-shrink:0}.class-cycle__avatar--active,.class-cycle__avatar--expiring{background:color-mix(in srgb,var(--cta) 15%,transparent);color:var(--cta)}.class-cycle__avatar--expired{background:color-mix(in srgb,var(--overdue) 12%,transparent);color:var(--overdue)}.class-cycle__member-name{font-weight:600;font-size:.88rem}.class-cycle__payment-warn{font-size:.68rem;color:var(--overdue);font-weight:700;margin-top:.1rem}.class-cycle__freq{font-size:.82rem;color:var(--muted)}.class-cycle__instructor{font-size:.75rem;color:var(--muted);opacity:.7}.class-cycle__dates{font-size:.78rem;color:var(--muted)}.class-cycle__progress{display:flex;justify-content:center}.class-cycle__chevron{display:flex;justify-content:center;font-size:1rem;color:var(--muted);transition:transform .2s}.class-cycle__chevron--open{transform:rotate(180deg)}.class-cycle-badge{display:inline-block;padding:.15rem .6rem;border-radius:20px;font-size:.7rem;font-weight:700;white-space:nowrap}.class-cycle-badge--ok{background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ok)}.class-cycle-badge--warn{background:color-mix(in srgb,var(--warn) 15%,transparent);color:var(--warn)}.class-cycle-badge--overdue{background:color-mix(in srgb,var(--overdue) 12%,transparent);color:var(--overdue)}.class-cycle-badge--done{background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ok)}.class-cycle-badge--absent{background:color-mix(in srgb,var(--warn) 15%,transparent);color:var(--warn)}.class-cycle-badge--scheduled{background:color-mix(in srgb,var(--cta) 12%,transparent);color:var(--cta)}.class-cycle-badge--cancelled{background:color-mix(in srgb,var(--overdue) 12%,transparent);color:var(--overdue)}.class-cycle-ring{display:block}.class-cycle-ring__track{stroke:var(--border)}.class-cycle-ring__fill{transition:stroke-dashoffset .5s ease}.class-cycle-ring--ok .class-cycle-ring__fill{stroke:var(--ok)}.class-cycle-ring--ok .class-cycle-ring__text{fill:var(--ok)}.class-cycle-ring--cta .class-cycle-ring__fill{stroke:var(--cta)}.class-cycle-ring--cta .class-cycle-ring__text{fill:var(--cta)}.class-cycle-ring--muted .class-cycle-ring__fill{stroke:var(--muted)}.class-cycle-ring--muted .class-cycle-ring__text{fill:var(--muted)}.class-cycle-ring__text{font-size:11px;font-weight:700;font-family:inherit}.class-cycle-detail{padding:0 1rem 1.25rem;background:var(--hover)}.class-cycle-detail__content{display:flex;gap:2rem;flex-wrap:wrap;padding-top:.5rem}.class-cycle-detail__left{flex-shrink:0}.class-cycle-detail__right{flex:1;min-width:260px}.class-cycle-detail__section-title{font-size:.75rem;font-weight:600;color:var(--muted);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.class-cycle-detail__stats{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.class-cycle-detail__stat{border:1px dashed var(--border);border-radius:8px;padding:.45rem .85rem;text-align:center}.class-cycle-detail__stat-value{display:block;font-size:1.2rem;font-weight:800}.class-cycle-detail__stat-label{display:block;font-size:.65rem;font-weight:600}.class-cycle-detail__stat--done .class-cycle-detail__stat-value,.class-cycle-detail__stat--done .class-cycle-detail__stat-label{color:var(--ok)}.class-cycle-detail__stat--absent .class-cycle-detail__stat-value,.class-cycle-detail__stat--absent .class-cycle-detail__stat-label{color:var(--warn)}.class-cycle-detail__stat--scheduled .class-cycle-detail__stat-value,.class-cycle-detail__stat--scheduled .class-cycle-detail__stat-label{color:var(--cta)}.class-cycle-detail__stat--remaining .class-cycle-detail__stat-value,.class-cycle-detail__stat--remaining .class-cycle-detail__stat-label{color:var(--muted)}.class-cycle-detail__lessons-wrap{max-height:220px;overflow-y:auto;background:var(--panel);border-radius:8px;border:1px solid var(--border)}.class-cycle-detail__lessons-table{width:100%;border-collapse:collapse;font-size:.82rem}.class-cycle-detail__lessons-table thead tr{background:var(--hover)}.class-cycle-detail__lessons-table th{text-align:left;padding:.5rem .75rem;font-weight:600;color:var(--muted);font-size:.7rem}.class-cycle-detail__lessons-table td{padding:.4rem .75rem;border-top:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.class-cycle-detail__lessons-table td:first-child{font-weight:500}.class-cycle-detail__actions{display:flex;gap:.3rem}.class-cycle-detail__mark-btn{width:26px;height:26px;border-radius:6px;border:1px solid var(--border);font-size:.82rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;padding:0}.class-cycle-detail__mark-btn--done{background:color-mix(in srgb,var(--ok) 10%,transparent);color:var(--ok);border-color:var(--ok)}.class-cycle-detail__mark-btn--done:hover{background:var(--ok);color:#fff}.class-cycle-detail__mark-btn--absent{background:color-mix(in srgb,var(--warn) 10%,transparent);color:var(--warn);border-color:var(--warn)}.class-cycle-detail__mark-btn--absent:hover{background:var(--warn);color:#fff}.class-cycle-detail__slots{padding-bottom:.75rem;border-bottom:1px solid var(--border);margin-bottom:.5rem}.class-cycle-detail__slot-row{display:flex;align-items:center;gap:.6rem;padding:.35rem 0;flex-wrap:wrap}.class-cycle-detail__slot-day{font-weight:600;font-size:.85rem;min-width:100px}.class-cycle-detail__instructor-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--border);border-radius:8px;padding:.35rem 2rem .35rem .55rem;font:inherit;font-size:.82rem;background-color:var(--panel);color:var(--text);background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% - 3px),calc(100% - 9px) calc(50% - 3px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}.class-cycle-detail__instructor-select:focus{outline:2px solid var(--cta);outline-offset:-1px}.class-cycle-detail__instructor-select--inline{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--border);border-radius:6px;padding:.2rem 1.6rem .2rem .4rem;font:inherit;font-size:.78rem;background-color:var(--panel);color:var(--text);background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 10px) calc(50% - 2px),calc(100% - 6px) calc(50% - 2px);background-size:4px 4px,4px 4px;background-repeat:no-repeat;cursor:pointer}.class-cycle-detail__instructor-select--inline:focus{outline:2px solid var(--cta);outline-offset:-1px}.class-cycle-detail__change-day-form{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.class-cycle-detail__change-day-form select,.class-cycle-detail__change-day-form input{border:1px solid var(--border);border-radius:6px;padding:.3rem .5rem;font:inherit;font-size:.82rem;background:var(--panel);color:var(--text)}.class-cycle-detail__change-day-form button{font-size:.78rem;padding:.3rem .7rem}.class-cycle-detail__slot-select{font-size:.82rem;padding:.2rem .4rem;border:1px solid var(--border);border-radius:4px;background:var(--panel);color:var(--text);min-width:140px}.class-cycle-detail__sost-badge{display:inline-block;background:color-mix(in srgb,var(--warn) 15%,transparent);color:var(--warn);font-size:.62rem;font-weight:700;padding:.1rem .35rem;border-radius:4px;margin-left:.3rem;vertical-align:middle}.class-cycle-detail__instr-cell{position:relative;display:flex;align-items:center;gap:.3rem}.class-cycle-detail__sub-btn{opacity:0;transition:opacity .15s;border:none;background:color-mix(in srgb,var(--cta) 10%,transparent);color:var(--cta);font-size:.78rem;padding:.15rem .4rem;border-radius:4px;cursor:pointer;flex-shrink:0}.class-cycle-detail__lesson-row--hoverable:hover .class-cycle-detail__sub-btn{opacity:1}.class-cycle-detail__sub-btn:hover{background:color-mix(in srgb,var(--cta) 20%,transparent)}.class-cycle-detail__sub-form{display:flex;align-items:center;gap:.3rem}.class-cycle-detail__sub-form select{border:1px solid var(--cta);border-radius:6px;padding:.2rem .4rem;font:inherit;font-size:.78rem;background:var(--panel);color:var(--text)}.class-cycle-detail__sub-form button{font-size:.72rem;padding:.15rem .35rem}.closure-sub-title{font-size:.82rem;font-weight:600;color:var(--muted);margin:0 0 .4rem}.class-cycle-detail__struck{text-decoration:line-through;color:var(--muted);font-size:.78rem}.class-cycle-badge--rescheduled{background:color-mix(in srgb,var(--warn) 12%,transparent);color:var(--warn);font-size:.62rem;margin-left:.3rem}.lesson-reschedule-form{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.6rem .75rem;margin-top:.5rem;background:var(--panel);border:1px solid var(--border);border-radius:8px}.lesson-reschedule-form__label{font-size:.82rem;color:var(--text)}.lesson-reschedule-form__input{border:1px solid var(--border);border-radius:6px;padding:.3rem .5rem;font:inherit;font-size:.82rem;background:var(--panel);color:var(--text)}.lesson-reschedule-form__input:focus{outline:2px solid var(--cta);outline-offset:-1px}.lesson-reschedule-form__actions{display:flex;gap:.35rem}.lesson-reschedule-form__actions button{font-size:.78rem;padding:.3rem .7rem}.class-cycle-calendar{background:var(--panel);border-radius:10px;padding:.75rem;border:1px solid var(--border);display:inline-block}.class-cycle-calendar__month-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;gap:.5rem}.class-cycle-calendar__month-label{font-size:.82rem;font-weight:700;color:var(--text);text-transform:capitalize;-webkit-user-select:none;user-select:none}.class-cycle-calendar__nav-btn{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:1rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s;line-height:1;padding:0}.class-cycle-calendar__nav-btn:hover:not(:disabled){background:var(--cta);color:#fff;border-color:var(--cta)}.class-cycle-calendar__nav-btn:disabled{opacity:.3;cursor:not-allowed}.class-cycle-calendar__header,.class-cycle-calendar__week{display:grid;grid-template-columns:repeat(7,34px);gap:2px}.class-cycle-calendar__header{margin-bottom:.25rem}.class-cycle-calendar__day-label{font-size:.62rem;font-weight:700;color:var(--muted);text-align:center;padding:.1rem 0}.class-cycle-calendar__cell{width:34px;height:34px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.75rem;font-weight:400;color:var(--text);position:relative;border:2px solid transparent;transition:transform .15s}.class-cycle-calendar__cell--outside{color:var(--border)}.class-cycle-calendar__cell--today{border-color:var(--cta)}.class-cycle-calendar__cell--has-lesson{font-weight:700;cursor:pointer}.class-cycle-calendar__cell--done{background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ok)}.class-cycle-calendar__cell--absent{background:color-mix(in srgb,var(--warn) 15%,transparent);color:var(--warn)}.class-cycle-calendar__cell--scheduled{background:color-mix(in srgb,var(--cta) 12%,transparent);color:var(--cta)}.class-cycle-calendar__cell--cancelled{background:color-mix(in srgb,var(--overdue) 12%,transparent);color:var(--overdue)}.class-cycle-calendar__cell--moved-from{opacity:.4;text-decoration:line-through}.class-cycle-calendar__cell--moved-to{border:1.5px dashed var(--warn)}.class-cycle-calendar__dot{width:5px;height:5px;border-radius:50%;background:currentColor;position:absolute;bottom:3px}.class-cycle-calendar__legend{display:flex;gap:.75rem;margin-top:.6rem;flex-wrap:wrap}.class-cycle-calendar__legend-item{display:flex;align-items:center;gap:.25rem;font-size:.62rem;color:var(--muted)}.class-cycle-calendar__legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.class-cycle-calendar__legend-item--done .class-cycle-calendar__legend-dot{background:var(--ok)}.class-cycle-calendar__legend-item--absent .class-cycle-calendar__legend-dot{background:var(--warn)}.class-cycle-calendar__legend-item--scheduled .class-cycle-calendar__legend-dot{background:var(--cta)}.class-cycle-calendar__legend-item--cancelled .class-cycle-calendar__legend-dot{background:var(--overdue)}.class-cycle-link-btn{margin-top:.5rem;padding:.3rem 0;background:none;border:none;color:var(--cta);font-size:.8rem;font-weight:600;cursor:pointer;text-align:left;transition:opacity .15s}.class-cycle-link-btn:hover{opacity:.7}.cal-page{display:flex;flex-direction:column;gap:.75rem}.cal-page__header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.cal-page__title-group{display:flex;flex-direction:column;gap:.15rem}.cal-page__title{margin:0;font-size:1.2rem;font-weight:700;color:var(--text)}.cal-page__subtitle{font-size:.8rem;color:var(--muted)}.cal-page__view-switcher{display:flex;background:var(--hover);border:1px solid var(--border);border-radius:999px;overflow:hidden}.cal-page__view-btn{padding:.4rem .85rem;font-size:.8rem;font-weight:600;border:none;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}.cal-page__view-btn:hover{background:var(--panel);color:var(--text)}.cal-page__view-btn--active,.cal-page__view-btn--active:hover{background:var(--cta);color:#fff}.cal-page__toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:.55rem .75rem}.cal-page__nav{display:flex;align-items:center;gap:.35rem}.cal-page__nav-btn{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:600;border-radius:8px;background:var(--hover);color:var(--text);border:1px solid var(--border);cursor:pointer;transition:background .12s}.cal-page__nav-btn:hover{background:var(--border)}.cal-page__nav-label{font-size:.95rem;font-weight:600;color:var(--text);min-width:180px;text-align:center}.cal-page__today-btn{padding:.3rem .7rem;font-size:.78rem;font-weight:600;border-radius:999px;background:#e8eef9;color:var(--cta);border:1px solid var(--cta);cursor:pointer;transition:background .12s}.cal-page__today-btn:hover{background:var(--cta);color:#fff}.cal-page__filters{display:flex;align-items:center;gap:.4rem}.cal-page__filter-select{padding:.35rem .55rem;font-size:.8rem;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);cursor:pointer}.cal-page__error{background:#fef2f2;color:var(--overdue);border:1px solid #fecaca;border-radius:8px;padding:.6rem .85rem;font-size:.85rem}.cal-page__loading{text-align:center;padding:2rem 0;color:var(--muted);font-size:.9rem}.cal-page__content{min-height:200px}.cal-slot{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:.55rem .65rem;display:flex;flex-direction:column;gap:.35rem;transition:box-shadow .12s}.cal-slot:hover{box-shadow:0 2px 8px #0000000f}.cal-slot--full{border-color:var(--overdue);background:#fef2f2}.cal-slot--empty{background:var(--hover);border:1px dashed var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.8rem;min-height:36px}.cal-slot__header{display:flex;align-items:center;justify-content:space-between}.cal-slot__time{font-size:.85rem;font-weight:700;color:var(--text)}.cal-slot__occupancy{font-size:.75rem;font-weight:600;color:var(--muted);background:var(--hover);padding:.15rem .45rem;border-radius:999px}.cal-slot__occupancy--full{background:var(--overdue);color:#fff}.cal-slot__counters{display:flex;gap:.5rem;font-size:.72rem;font-weight:600}.cal-slot__counter--done{color:var(--ok)}.cal-slot__counter--absent{color:var(--overdue)}.cal-slot__counter--scheduled{color:var(--cta)}.cal-slot__group{border-top:1px solid var(--border);padding-top:.3rem}.cal-slot__group-header{display:flex;align-items:center;justify-content:space-between;gap:.3rem;margin-bottom:.2rem}.cal-slot__group-name{font-size:.78rem;font-weight:600;color:var(--text)}.cal-slot__badge{display:inline-block;padding:.1rem .4rem;border-radius:999px;font-size:.65rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.cal-slot__badge--cyclic{background:#dbeafe;color:#1d4ed8}.cal-slot__badge--oneshot{background:#fef3c7;color:#92400e}.cal-slot__badge--private{background:#ede9fe;color:#6d28d9}.cal-slot__student{display:flex;align-items:center;gap:.3rem;padding:.1rem 0}.cal-slot__dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--muted)}.cal-slot__dot--done{background:var(--ok)}.cal-slot__dot--absent{background:var(--overdue)}.cal-slot__dot--scheduled{background:var(--cta)}.cal-slot__dot--cancelled{background:var(--muted)}.cal-slot__student-name{font-size:.78rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-slot__row{display:flex;align-items:center;gap:.35rem;padding:.15rem 0;border-top:1px solid var(--border)}.cal-slot__group-size{font-size:.72rem;color:var(--muted);font-weight:600}.cal-slot__instr-name{font-size:.72rem;color:var(--muted);margin-left:auto}.cal-slot__empty-label{font-size:.78rem;color:var(--muted);text-align:center;padding:.3rem 0}.cal-day{display:flex;flex-direction:column;gap:.75rem}.cal-day__stats{display:flex;gap:.6rem;flex-wrap:wrap}.cal-day__stat{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:.6rem .85rem;display:flex;flex-direction:column;gap:.1rem;min-width:80px}.cal-day__stat-value{font-size:1.3rem;font-weight:700;color:var(--text)}.cal-day__stat--done .cal-day__stat-value{color:var(--ok)}.cal-day__stat--scheduled .cal-day__stat-value{color:var(--cta)}.cal-day__stat-label{font-size:.75rem;color:var(--muted);font-weight:500}.cal-day__stat--instr{flex:1;min-width:200px}.cal-day__instr-list{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.2rem}.cal-day__instr-chip{display:inline-flex;align-items:center;gap:.25rem;background:var(--hover);border:1px solid var(--border);border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:500;color:var(--text)}.cal-day__instr-dot{width:7px;height:7px;border-radius:50%;background:var(--cta)}.cal-day__instr-empty{font-size:.8rem;color:var(--muted)}.cal-day__slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem}.cal-week{overflow-x:auto}.cal-week__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden}.cal-week__day{display:flex;flex-direction:column;background:var(--panel);cursor:pointer;transition:background .12s;min-height:100px}.cal-week__day:hover{background:var(--hover)}.cal-week__day--today{background:color-mix(in srgb,var(--cta) 8%,var(--panel))}.cal-week__day-header{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.45rem .2rem;background:var(--hover);text-align:center}.cal-week__day--today .cal-week__day-header{background:color-mix(in srgb,var(--cta) 12%,var(--panel))}.cal-week__day-label{font-size:.7rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.cal-week__day-num{font-size:.95rem;font-weight:700;color:var(--text)}.cal-week__day--today .cal-week__day-num{background:var(--cta);color:#fff;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem}.cal-week__day-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .3rem;gap:.4rem}.cal-week__day-body--empty{color:var(--muted);opacity:.4;font-size:.85rem}.cal-week__day-total{font-size:1.5rem;font-weight:800;color:var(--text);line-height:1}.cal-week__day-types{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem}.cal-week__type-count{font-size:.65rem;font-weight:700;padding:.1rem .35rem;border-radius:4px;line-height:1.3}.cal-week__type-count--cyclic{background:color-mix(in srgb,var(--cta) 15%,transparent);color:var(--cta)}.cal-week__type-count--oneshot{background:color-mix(in srgb,#e67e22 15%,transparent);color:#e67e22}.cal-week__type-count--private{background:color-mix(in srgb,#9b59b6 15%,transparent);color:#9b59b6}.cal-month{display:flex;flex-direction:column;gap:0}.cal-month__header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--hover);border:1px solid var(--border);border-radius:10px 10px 0 0}.cal-month__day-label{text-align:center;padding:.45rem 0;font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.cal-month__week{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid var(--border);border-right:1px solid var(--border)}.cal-month__week:last-of-type{border-bottom:1px solid var(--border);border-radius:0 0 10px 10px}.cal-month__cell{position:relative;min-height:80px;padding:.35rem;border-bottom:1px solid var(--border);border-right:1px solid var(--border);background:var(--panel);cursor:pointer;transition:background .12s;display:flex;flex-direction:column;gap:.2rem}.cal-month__cell:last-child{border-right:none}.cal-month__cell:hover{background:var(--hover)}.cal-month__cell--outside{background:var(--hover);opacity:.45;cursor:default}.cal-month__cell--outside:hover{background:var(--hover)}.cal-month__cell--today{background:color-mix(in srgb,var(--cta) 12%,var(--panel))}.cal-month__day-row{display:flex;align-items:center;gap:.35rem}.cal-month__day-num{font-size:.82rem;font-weight:600;color:var(--text)}.cal-month__day-num--today{background:var(--cta);color:#fff;width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem}.cal-month__total{font-size:.82rem;font-weight:700;color:var(--text-secondary, var(--text));opacity:.7}.cal-month__bars{display:flex;flex-direction:column;gap:3px;margin-top:auto}.cal-month__bar{height:5px;border-radius:3px;background:var(--hover);overflow:hidden}.cal-month__bar--empty{background:var(--hover)}.cal-month__bar-fill{height:100%;border-radius:3px;transition:width .2s}.cal-month__bar--ok .cal-month__bar-fill{background:var(--ok)}.cal-month__bar--warn .cal-month__bar-fill{background:var(--warn)}.cal-month__bar--full .cal-month__bar-fill{background:var(--overdue)}.cal-month__types{display:flex;gap:3px}.cal-month__type-dot{width:7px;height:7px;border-radius:50%}.cal-month__type-dot--cyclic{background:#3b82f6}.cal-month__type-dot--oneshot{background:#f59e0b}.cal-month__type-dot--private{background:#8b5cf6}.cal-month__legend{display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap;padding:.65rem .5rem;font-size:.75rem;color:var(--muted);background:var(--panel);border:1px solid var(--border);border-top:none;border-radius:0 0 10px 10px}.cal-month__legend-group{display:flex;align-items:center;gap:.5rem}.cal-month__bar-sample{display:inline-block;width:18px;height:5px;border-radius:3px}.cal-month__bar-sample--ok{background:var(--ok)}.cal-month__bar-sample--warn{background:var(--warn)}.cal-month__bar-sample--full{background:var(--overdue)}.wizard__card{width:min(600px,100%)}.wizard__header{margin:0 0 .6rem}.wizard__content{min-height:8rem}.wizard__footer{display:flex;justify-content:space-between;align-items:center;margin-top:1.2rem;padding-top:.75rem;border-top:1px solid var(--border)}.wizard-step-indicator{display:flex;align-items:flex-start;gap:0;margin-bottom:1.2rem}.wizard-step-indicator__wrapper{display:flex;align-items:flex-start;flex:1}.wizard-step-indicator__wrapper:last-child{flex:0}.wizard-step-indicator__step{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex-shrink:0}.wizard-step-indicator__circle{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:700;color:#fff;transition:background .2s,box-shadow .2s}.wizard-step-indicator__circle--done{background:var(--ok)}.wizard-step-indicator__circle--active{background:var(--cta);box-shadow:0 0 0 3px color-mix(in srgb,var(--cta) 20%,transparent)}.wizard-step-indicator__circle--future{background:var(--border);color:var(--muted)}.wizard-step-indicator__label{font-size:.68rem;color:var(--muted);white-space:nowrap}.wizard-step-indicator__line{flex:1;height:2px;background:var(--border);margin:0 .25rem;margin-top:14px}.wizard-card-toggle{display:flex;gap:.75rem;margin:.5rem 0}.wizard-card-toggle__card{flex:1;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1rem;border:2px dashed var(--border);border-radius:10px;cursor:pointer;transition:all .15s;text-align:center;background:var(--panel)}.wizard-card-toggle__card:hover{border-color:var(--muted)}.wizard-card-toggle__card--selected{border-style:solid}.wizard-card-toggle__card--cyclic.wizard-card-toggle__card--selected{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 8%,transparent)}.wizard-card-toggle__card--rental.wizard-card-toggle__card--selected{border-color:var(--cta);background:color-mix(in srgb,var(--cta) 8%,transparent)}.wizard-card-toggle__card--garage.wizard-card-toggle__card--selected{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 8%,transparent)}.wizard-card-toggle__emoji{font-size:1.8rem}.wizard-card-toggle__label{font-size:.85rem;font-weight:600}.wizard-slot-selector{display:flex;gap:.5rem;margin-bottom:.75rem}.wizard-slot-selector__btn{padding:.4rem .8rem;border:1px solid var(--border);border-radius:6px;cursor:pointer;text-align:center;background:var(--panel);transition:all .15s}.wizard-slot-selector__btn:hover{border-color:var(--cta)}.wizard-slot-selector__btn--active{background:var(--cta);color:#fff;border-color:var(--cta)}.wizard-slot-selector__time{font-weight:600}.wizard-slot-selector__label{font-size:.68rem;color:var(--muted)}.wizard-slot-selector__btn--active .wizard-slot-selector__label{color:#ffffffb3}.wizard-day-selector{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.75rem}.wizard-day-selector__btn{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.4rem .5rem .35rem;border:1px solid var(--border);border-radius:6px;min-width:3.2rem;cursor:pointer;text-align:center;transition:all .15s;background:var(--panel)}.wizard-day-selector__btn:hover:not(.wizard-day-selector__btn--full){border-color:var(--cta)}.wizard-day-selector__btn--selected{background:var(--cta);border-color:var(--cta);color:#fff}.wizard-day-selector__btn--full{opacity:.5;cursor:not-allowed;border-color:var(--overdue)}.wizard-day-selector__name{font-size:.82rem;font-weight:600}.wizard-day-selector__count{font-size:.65rem}.wizard-day-selector__bar{width:100%;height:3px;border-radius:2px;background:var(--border);margin-top:.2rem;overflow:hidden}.wizard-day-selector__bar-fill{height:100%;border-radius:2px;transition:width .2s}.wizard-day-selector__btn--selected .wizard-day-selector__bar{background:#ffffff4d}.wizard-summary{border:1px solid var(--border);border-radius:10px;overflow:hidden}.wizard-summary__payment-toggle{display:flex;gap:.5rem;margin-top:.75rem}.wizard-fee-row{display:flex;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid var(--border)}.wizard-fee-row:last-child{border-bottom:none}.wizard-fee-row--total{font-weight:700;background:color-mix(in srgb,var(--cta) 6%,transparent)}.wizard-fee-row__detail{font-size:.78rem;color:var(--muted);padding:.15rem .75rem .4rem}.modal-card--wide{width:min(600px,100%)}.edit-member__header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.edit-member__name{font-size:1.1rem;font-weight:700}.edit-member__expiry{font-size:.82rem;color:var(--muted)}.edit-member__badge{font-size:.75rem;padding:.15rem .5rem;border-radius:999px;font-weight:600;color:#fff}.edit-member__badge--active{background:var(--ok)}.edit-member__badge--expiring{background:var(--warn)}.edit-member__badge--expired{background:var(--overdue)}.edit-member__section-toggle{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:.5rem 0;border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none}.edit-member__section-toggle h4{margin:0;font-size:.9rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.edit-member__chevron{transition:transform .2s}.edit-member__chevron--open{transform:rotate(180deg)}.edit-member__section-body{padding:.75rem 0}.edit-member__section-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.edit-member__payments-table{width:100%;border-collapse:collapse;font-size:.82rem}.edit-member__payments-table th{text-align:left;padding:.3rem .5rem;border-bottom:1px solid var(--border);color:var(--muted);font-weight:600;font-size:.75rem;text-transform:uppercase}.edit-member__payments-table td{padding:.3rem .5rem;border-bottom:1px solid var(--border)}.edit-member__day-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin:.5rem 0}.edit-member__day-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .5rem;background:var(--hover);border-radius:6px;font-size:.82rem}.edit-member__day-chip button{background:none;border:none;color:var(--overdue);cursor:pointer;font-size:.9rem;padding:0;line-height:1}.edit-member__empty{color:var(--muted);font-size:.88rem;font-style:italic}.edit-member__abbonamento-info{margin-bottom:.75rem}.edit-member__abbonamento-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:.88rem}.edit-member__classi-info{font-size:.88rem;margin-bottom:.5rem}.materials-tabs{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.75rem}.materials-tabs__btn{padding:.35rem .75rem;font-size:.82rem;font-weight:600;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--muted);cursor:pointer;transition:all .15s}.materials-tabs__btn:hover{border-color:var(--cta);color:var(--text)}.materials-tabs__btn--active{background:var(--cta);color:#fff;border-color:var(--cta)}.materials-tabs__btn--active:hover{background:var(--cta-hover, var(--cta))}
