:root{--bg: #f4f7fb;--panel: #ffffff;--text: #0f172a;--muted: #64748B;--ok: #059669;--warn: #D97706;--overdue: #DC2626;--border: #E2E8F0;--cta: #059669;--accent: #059669;--hover: #f1f5f9;--sidebar-w: 178px;--shadow-xs: 0 1px 2px rgba(15,23,42,.04);--shadow-sm: 0 1px 3px rgba(15,23,42,.07), 0 1px 2px rgba(15,23,42,.04);--shadow-md: 0 4px 12px rgba(15,23,42,.1), 0 2px 4px rgba(15,23,42,.06);--shadow-lg: 0 12px 36px rgba(15,23,42,.14), 0 4px 12px rgba(15,23,42,.08);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 999px;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s}[data-color=blue]{--cta: #0b5ed7;--accent: #0b5ed7}[data-color=green]{--cta: #059669;--accent: #059669}[data-color=violet]{--cta: #7c3aed;--accent: #7c3aed}[data-color=orange]{--cta: #ea580c;--accent: #ea580c}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes popFromClickFixed{0%{opacity:0;transform:translate(calc(-50% + var(--click-x, 50vw) - 50vw),calc(-50% + var(--click-y, 50vh) - 50vh)) scale(.15)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes popFromClickCenter{0%{opacity:0;transform:translate(calc(var(--click-x, 50vw) - 50vw),calc(var(--click-y, 50vh) - 50vh)) scale(.15)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes slideInToast{0%{opacity:0;transform:translate(-50%) translateY(16px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes pulseRing{0%{box-shadow:0 0 #0b5ed74d}70%{box-shadow:0 0 0 6px #0b5ed700}to{box-shadow:0 0 #0b5ed700}}[data-theme=dark]{--bg: #0B0F19;--panel: #141A2A;--text: #E8ECF4;--muted: #8893A7;--border: #1E2740;--hover: #1A2236;--ok: #34D399;--warn: #FBBF24;--overdue: #F87171;--shadow-xs: 0 1px 2px rgba(0,0,0,.25);--shadow-sm: 0 1px 4px rgba(0,0,0,.3);--shadow-md: 0 4px 16px rgba(0,0,0,.35);--shadow-lg: 0 12px 40px rgba(0,0,0,.45)}[data-theme=dark][data-color=blue]{--cta: #60A5FA;--accent: #60A5FA}[data-theme=dark][data-color=green]{--cta: #34D399;--accent: #34D399}[data-theme=dark][data-color=violet]{--cta: #A78BFA;--accent: #A78BFA}[data-theme=dark][data-color=orange]{--cta: #FB923C;--accent: #FB923C}[data-theme=dark]:not([data-color]){--cta: #34D399;--accent: #34D399}[data-theme=dark] body{background:#0b0f19}[data-theme=dark] .rental-form input,[data-theme=dark] .rental-form textarea,[data-theme=dark] .rental-form select,[data-theme=dark] .auth-form input,[data-theme=dark] .table-wrap select,[data-theme=dark] .cc__input,[data-theme=dark] .cc__select,[data-theme=dark] .filter-select{background:var(--hover);color:var(--text);border-color:var(--border)}[data-theme=dark] .panel-switch{background:var(--bg)}[data-theme=dark] .panel-tab.active{background:var(--panel);box-shadow:0 1px 3px #0006}[data-theme=dark] .group-picker-list,[data-theme=dark] .member-search-results,[data-theme=dark] .member-fee-summary,[data-theme=dark] .panel-placeholder{background:var(--bg)}[data-theme=dark] th{background:var(--bg);color:var(--muted)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:DM Sans,Segoe UI,system-ui,sans-serif;color:var(--text);background:var(--bg)}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;border:1px solid var(--border);border-radius:8px;padding:.45rem 2rem .45rem .6rem;font:inherit;font-size:.82rem;color:var(--text);background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;background-size:10px 6px;cursor:pointer;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}select:focus{outline:none;border-color:var(--cta);box-shadow:0 0 0 2px color-mix(in srgb,var(--cta) 12%,transparent)}select:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.app-shell{display:flex;height:100vh}.app-body{display:flex;flex:1;overflow:hidden}.sidebar{width:var(--sidebar-w);flex-shrink:0;display:flex;flex-direction:column;background:var(--panel);border-right:1px solid var(--border);overflow:hidden;transition:width .25s var(--ease-out-expo)}.sidebar--collapsed{width:52px}.sidebar-header{display:flex;align-items:center;gap:.5rem;padding:.6rem;border-bottom:1px solid var(--border);flex-shrink:0;min-height:52px}.sidebar-brand{cursor:pointer;display:flex;align-items:center;flex:1;min-width:0}.sidebar-logo-full{height:26px;width:auto}.sidebar-logo--light{display:block}.sidebar-logo--dark,[data-theme=dark] .sidebar-logo--light,[data-theme=forest] .sidebar-logo--light,[data-theme=ocean] .sidebar-logo--light,[data-theme=sunset] .sidebar-logo--light{display:none}[data-theme=dark] .sidebar-logo--dark,[data-theme=forest] .sidebar-logo--dark,[data-theme=ocean] .sidebar-logo--dark,[data-theme=sunset] .sidebar-logo--dark{display:block}.sidebar--collapsed .sidebar-header{justify-content:center;padding:.6rem .35rem}.sidebar--collapsed .sidebar-brand{display:none}.sidebar-items{display:flex;flex-direction:column;gap:2px;flex:1;padding:.5rem;overflow-y:auto;overflow-x:hidden}.nav-separator{border:none;border-top:1px solid var(--border);margin:.35rem .25rem}.nav-button{width:100%;display:flex;align-items:center;gap:.55rem;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-size:.78rem;font-weight:500;letter-spacing:.02em;white-space:nowrap;text-align:left;padding:.5rem .55rem;box-shadow:none;transition:background var(--duration-fast) ease,color var(--duration-fast) ease}.nav-button:hover:not(.active){background:var(--hover);color:var(--text);transform:none;box-shadow:none}.nav-button.active{background:color-mix(in srgb,var(--cta) 10%,transparent);color:var(--cta);font-weight:600;box-shadow:none}.nav-button.active:hover{transform:none;box-shadow:none}.nav-button.active .nav-icon{color:var(--cta)}.nav-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:inherit}.nav-label{overflow:hidden;text-overflow:ellipsis}.sidebar--collapsed .nav-button{justify-content:center;padding:.55rem}.sidebar--collapsed .sidebar-items{padding:.5rem .25rem}.sidebar-footer{padding:.5rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:2px;flex-shrink:0}.sidebar--collapsed .sidebar-footer{padding:.5rem .25rem}.nav-logout{background:transparent;color:var(--muted);box-shadow:none}.nav-logout:hover{background:#dc26260f;color:var(--overdue);box-shadow:none;transform:none}.sidebar-toggle{display:flex;align-items:center;justify-content:center;padding:.35rem;background:transparent;color:var(--muted);border-radius:var(--radius-sm);box-shadow:none;opacity:.5;transition:opacity var(--duration-fast) ease,background var(--duration-fast) ease}.sidebar-toggle:hover{opacity:1;background:var(--hover);box-shadow:none;transform:none}.sidebar--collapsed .sidebar-toggle{align-self:center}.content-area{flex:1;overflow-y:auto;padding:1.25rem;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:var(--radius-lg, 14px);padding:1.5rem;box-shadow:var(--shadow-md)}.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:var(--radius-sm);padding:.55rem;font:inherit}.auth-switch{margin-top:.7rem;background:var(--hover);color:var(--text)}.auth-message{font-size:.9rem}.pill{font-size:.7rem;font-weight:600;padding:3px 10px;border-radius:20px;white-space:nowrap;display:inline-flex;align-items:center;letter-spacing:.02em}.pill--ok{background:#16a34a1a;color:var(--ok)}.pill--warn{background:#f59e0b1a;color:var(--warn)}.pill--error{background:#dc26261a;color:var(--overdue)}.pill--info{background:var(--hover);color:var(--muted)}button{border:0;border-radius:var(--radius-sm);padding:.4rem .85rem;font:inherit;font-size:.78rem;font-weight:600;letter-spacing:.01em;cursor:pointer;background:var(--cta);color:#fff;position:relative;transition:box-shadow var(--duration-fast) var(--ease-out-expo),background var(--duration-fast) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease,opacity var(--duration-fast) ease,filter var(--duration-fast) ease;box-shadow:0 1px 2px color-mix(in srgb,var(--cta) 20%,transparent)}button:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 2px 8px color-mix(in srgb,var(--cta) 25%,transparent)}button:active:not(:disabled){filter:brightness(.95);box-shadow:none;transition-duration:.06s}button:focus-visible{outline:2px solid var(--cta);outline-offset:2px}button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;filter:none}button.secondary{background:var(--panel);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-xs)}button.secondary:hover:not(:disabled){background:var(--hover);border-color:color-mix(in srgb,var(--cta) 35%,var(--border));color:var(--cta);box-shadow:var(--shadow-xs);filter:none}button.secondary:active:not(:disabled){background:var(--border);filter:none}button.danger{background:color-mix(in srgb,var(--overdue) 12%,transparent);color:var(--overdue);border:1px solid color-mix(in srgb,var(--overdue) 25%,transparent);box-shadow:none}button.danger:hover:not(:disabled){background:var(--overdue);color:#fff;border-color:var(--overdue);box-shadow:0 2px 8px color-mix(in srgb,var(--overdue) 25%,transparent);filter:none}.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:var(--radius-lg, 14px);padding:.8rem;transition:transform var(--duration-normal) var(--ease-out-expo),box-shadow var(--duration-normal) var(--ease-out-expo),border-color var(--duration-normal) ease;box-shadow:var(--shadow-xs)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--cta) 20%,var(--border))}.stat-card p{margin:0;color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;font-weight:500}.stat-card h2{margin:.35rem 0 0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.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:var(--radius-lg, 14px);box-shadow:none}.stat-card-action:hover{box-shadow:none;transform:none}.status-pill{padding:.2rem .5rem;border-radius:var(--radius-pill);color:#fff;font-size:.78rem;font-weight:600;letter-spacing:.02em}.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:#0f172a73;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;padding:1rem;z-index:20;animation:fadeIn var(--duration-fast) ease}.modal-card{width:min(480px,100%);max-height:calc(100vh - 2rem);overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg, 14px);padding:1.25rem;box-shadow:var(--shadow-lg);animation:popFromClickCenter var(--duration-normal) var(--ease-out-expo)}.modal-card h3{margin:0 0 .8rem;font-weight:700}.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:var(--radius-sm);list-style:none;margin:3px 0 0;padding:.25rem 0;z-index:50;max-height:210px;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp var(--duration-fast) var(--ease-out-expo)}.country-dropdown li{padding:.42rem .75rem;cursor:pointer;font-size:.88rem;display:flex;align-items:center;gap:.55rem;color:var(--text);transition:background var(--duration-fast) ease;border-radius:var(--radius-sm);margin:0 .25rem}.country-dropdown li:hover{background:var(--hover)}.nested-modal{z-index:30}.group-materials-modal{width:min(560px,100%)}.modal-actions{display:flex;justify-content:flex-end;gap:.4rem;padding-top:.75rem;margin-top:.25rem;border-top:1px solid color-mix(in srgb,var(--border) 50%,transparent)}@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}.detail-page{animation:fadeIn var(--duration-normal) ease}.detail-back{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;color:var(--muted);font-size:.8rem;font-weight:500;padding:.25rem 0;cursor:pointer;margin-bottom:.75rem;box-shadow:none;transition:color var(--duration-fast) ease}.detail-back:hover{color:var(--text);transform:none;box-shadow:none}.detail-back svg{width:14px;height:14px}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.detail-header-left h1{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.01em}.detail-header-sub{margin:.2rem 0 0;font-size:.82rem;color:var(--muted)}.detail-header-right{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media (max-width: 640px){.detail-grid{grid-template-columns:1fr}}.detail-section{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:.85rem 1rem;box-shadow:var(--shadow-xs)}.detail-section--full{grid-column:1 / -1}.detail-section-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .6rem;padding-bottom:.4rem;border-bottom:1px solid var(--border)}.detail-field{display:flex;justify-content:space-between;align-items:baseline;padding:.3rem 0;font-size:.85rem}.detail-field+.detail-field{border-top:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.detail-field-label{color:var(--muted);font-size:.78rem;flex-shrink:0}.detail-field-value{font-weight:500;color:var(--text);text-align:right}.detail-field-value--lg{font-size:1.15rem;font-weight:700}.detail-field-value--ok{color:var(--ok)}.detail-field-value--warn{color:var(--warn)}.detail-field-value--error{color:var(--overdue)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .75rem;margin-bottom:.65rem;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.page-header__left{display:flex;flex-direction:column;gap:.1rem;min-width:0}.page-header__titles{display:flex;align-items:baseline;gap:.4rem}.page-header__title{margin:0;font-size:.95rem;font-weight:700;letter-spacing:-.01em;color:var(--text);white-space:nowrap}.page-header__count{font-size:.68rem;font-weight:600;color:var(--muted);background:var(--hover);padding:.08rem .4rem;border-radius:var(--radius-pill);font-variant-numeric:tabular-nums}.page-header__desc{margin:0;font-size:.72rem;color:var(--muted);line-height:1.3}.page-header__actions{display:flex;align-items:center;gap:.3rem;flex-shrink:0}.page-header__actions button{padding:.3rem .65rem;font-size:.72rem;font-weight:600;background:var(--panel);color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:none;letter-spacing:.01em}.page-header__actions button:hover:not(:disabled){color:var(--text);background:var(--hover);border-color:color-mix(in srgb,var(--text) 20%,var(--border));box-shadow:none;filter:none}.page-header__actions button.primary{background:var(--cta);color:#fff;border-color:var(--cta);box-shadow:0 1px 3px color-mix(in srgb,var(--cta) 20%,transparent)}.page-header__actions button.primary:hover:not(:disabled){filter:brightness(1.1);background:var(--cta);color:#fff;border-color:var(--cta);box-shadow:0 2px 8px color-mix(in srgb,var(--cta) 25%,transparent)}.pfb{display:flex;align-items:center;gap:.35rem;margin-bottom:.5rem;flex-wrap:wrap}.pfb__search{flex:1;min-width:160px;padding:.38rem .65rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);font:inherit;font-size:.78rem}.pfb__search:focus{outline:none;border-color:var(--cta);box-shadow:0 0 0 2px color-mix(in srgb,var(--cta) 12%,transparent)}.pfb__search::placeholder{color:var(--muted);opacity:.7}.pfb__tabs{display:flex;gap:.25rem;flex-wrap:wrap}.pfb__tab{padding:.28rem .6rem;font-size:.72rem;font-weight:600;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--panel);color:var(--muted);cursor:pointer;transition:all var(--duration-fast);box-shadow:none}.pfb__tab:hover:not(.pfb__tab--active){border-color:color-mix(in srgb,var(--cta) 40%,var(--border));color:var(--text);filter:none;box-shadow:none}.pfb__tab--active{background:var(--cta);color:#fff;border-color:var(--cta);box-shadow:0 1px 3px color-mix(in srgb,var(--cta) 20%,transparent)}.pfb__tab--active:hover{filter:brightness(1.08);box-shadow:0 1px 3px color-mix(in srgb,var(--cta) 20%,transparent)}.pfb__select{padding:.38rem 2rem .38rem .55rem;font-size:.78rem}.pfb__filter-wrap{position:relative;flex-shrink:0}.pfb__filter-btn{display:flex;align-items:center;gap:4px;padding:.38rem .55rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--muted);cursor:pointer;transition:all var(--duration-fast);box-shadow:none}.pfb__filter-btn:hover{border-color:color-mix(in srgb,var(--cta) 40%,var(--border));color:var(--cta);box-shadow:none;filter:none}.pfb__filter-btn--active{border-color:var(--cta);color:var(--cta);background:color-mix(in srgb,var(--cta) 6%,var(--panel))}.pfb__filter-btn--open{border-color:var(--cta);color:var(--cta)}.pfb__filter-badge{font-size:9px;font-weight:800;background:var(--cta);color:#fff;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}.pfb__panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:49;animation:fadeIn var(--duration-fast) ease}.pfb__panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;width:min(420px,92vw);max-height:85vh;overflow-y:auto;background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:20px 24px;box-shadow:0 20px 60px #0000002e;animation:popFromClickFixed var(--duration-normal) var(--ease-out-expo)}.pfb__panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.pfb__panel-title{font-size:13px;font-weight:800;color:var(--text)}.pfb__panel-clear{font-size:11px;font-weight:600;color:var(--overdue);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);box-shadow:none}.pfb__panel-clear:hover{background:#dc26260f;box-shadow:none;filter:none}.pfb__panel-section{margin-bottom:12px}.pfb__panel-section:last-child{margin-bottom:4px}.pfb__panel-label{display:block;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.pfb__chips{display:flex;gap:5px;flex-wrap:wrap}.pfb__chip{padding:5px 12px;font-size:11px;font-weight:600;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--panel);color:var(--muted);cursor:pointer;transition:all .12s;box-shadow:none}.pfb__chip:hover:not(.pfb__chip--on){border-color:color-mix(in srgb,var(--cta) 40%,var(--border));color:var(--text);box-shadow:none;filter:none}.pfb__chip--on{background:var(--cta);color:#fff;border-color:var(--cta)}.pfb__chip--on:hover{filter:brightness(1.08);box-shadow:none}.pfb__date-section .pfb__chips{margin-bottom:8px}.pfb__date-range,.pfb__number-range{display:flex;align-items:center;gap:6px}.pfb__date-input,.pfb__number-input{flex:1;padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font:inherit;font-size:11px;min-width:0}.pfb__date-input:focus,.pfb__number-input:focus{outline:none;border-color:var(--cta)}.pfb__date-sep{color:var(--muted);font-size:11px;flex-shrink:0}.pfb__pills{display:flex;gap:5px;flex-wrap:wrap;align-items:center}.pfb__pill{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 8px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--cta) 8%,var(--panel));border:1px solid color-mix(in srgb,var(--cta) 20%,var(--border));font-size:11px;line-height:1.2;animation:fadeIn var(--duration-fast) ease}.pfb__pill-label{font-weight:700;color:var(--cta)}.pfb__pill-value{color:var(--text);font-weight:500}.pfb__pill-x{width:18px;height:18px;border-radius:50%;border:none;background:transparent;color:var(--muted);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:none;transition:all .1s;line-height:1}.pfb__pill-x:hover{background:color-mix(in srgb,var(--overdue) 12%,transparent);color:var(--overdue);box-shadow:none;filter:none}@media (max-width: 640px){.pfb__panel{width:calc(100vw - 32px)}}.page-header__settings-wrap{position:relative}.page-header__settings-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);border:1px solid var(--border);box-shadow:none;cursor:pointer;transition:all var(--duration-fast) ease}.page-header__settings-btn:hover{color:var(--text);background:var(--hover);transform:none;box-shadow:none}.page-header__settings-btn--active{color:var(--cta);border-color:var(--cta);background:color-mix(in srgb,var(--cta) 6%,var(--panel))}.page-header__settings-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:220px;max-width:320px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.6rem .75rem;animation:fadeIn var(--duration-fast) ease}.page-header__settings-panel h4{margin:0 0 .4rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.page-header__settings-panel p{margin:0;font-size:.78rem;color:var(--muted)}.cm__header{margin-bottom:12px}.cm__title{margin:0;font-size:14px;font-weight:800;color:var(--text)}.cm__subtitle{margin:2px 0 0;font-size:11px;color:var(--muted)}.cm__picker{display:flex;gap:0;align-items:stretch;margin-bottom:14px}.cm__card{flex:1;background:var(--panel);border:1px solid var(--border);overflow:hidden}.cm__card--left{border-radius:10px 0 0 10px;border-right:none}.cm__card--right{border-radius:0 10px 10px 0;border-left:none}.cm__card-header{display:flex;align-items:center;gap:6px;padding:8px 14px;border-bottom:1px solid var(--border)}.cm__dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.cm__dot--green{background:var(--ok)}.cm__dot--grey{background:var(--border)}.cm__card-label{font-size:11px;font-weight:700;color:var(--text)}.cm__card-count{font-size:10px;color:var(--muted);margin-left:auto}.cm__card-list{padding:4px;min-height:180px;max-height:260px;overflow-y:auto}.cm__empty{padding:24px;text-align:center;color:var(--muted);font-size:11px}.cm__item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;cursor:pointer;border:1.5px solid transparent;margin-bottom:2px;transition:all .1s ease;font-size:12px;color:var(--text)}.cm__item:hover{background:var(--hover)}.cm__item--sel-left{background:#ecfdf5;border-color:var(--ok)}.cm__item--sel-right{background:#fef2f2;border-color:var(--overdue)}.cm__item--hidden{color:var(--muted)}.cm__item-num{width:18px;height:18px;border-radius:4px;background:var(--ok);color:#fff;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;flex-shrink:0}.cm__item-dash{width:18px;height:18px;border-radius:4px;background:var(--border);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;flex-shrink:0}.cm__item-label{flex:1;font-weight:400}.cm__item--sel-left .cm__item-label,.cm__item--sel-right .cm__item-label{font-weight:600}.cm__item-fix{font-size:8px;font-weight:600;color:var(--ok);background:#ecfdf5;padding:1px 5px;border-radius:4px}.cm__arrows{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0 8px;background:var(--panel);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.cm__arrow{width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--cta);font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:none;padding:0;transition:all .12s ease}.cm__arrow:hover:not(:disabled){background:var(--hover);box-shadow:none;filter:none}.cm__arrow:disabled{color:var(--border);background:var(--bg);cursor:default;border-color:transparent}.cm__section{margin-bottom:10px}.cm__section-label{display:block;font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.cm__rpp{display:flex;gap:4px}.cm__rpp-btn{padding:5px 14px;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--panel);color:var(--muted);box-shadow:none;transition:all .12s}.cm__rpp-btn:hover:not(.cm__rpp-btn--active){border-color:var(--cta);color:var(--text);box-shadow:none;filter:none}.cm__rpp-btn--active{background:var(--cta);color:#fff;border-color:var(--cta)}.cm__rpp-btn--active:hover{filter:brightness(1.08);box-shadow:none}.cm__preview{border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-top:6px;background:var(--panel)}.cm__preview-row{display:grid;gap:0;padding:0 8px}.cm__preview-row--header{background:color-mix(in srgb,var(--bg) 50%,var(--panel));border-bottom:1px solid var(--border)}.cm__preview-row:not(.cm__preview-row--header)+.cm__preview-row{border-top:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.cm__preview-th{padding:5px 4px;font-size:7.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm__preview-td{padding:6px 4px;font-size:9px;color:var(--border);position:relative}.cm__preview-td:before{content:"";display:block;width:60%;height:6px;border-radius:3px;background:color-mix(in srgb,var(--border) 50%,transparent)}.cm__preview-row:nth-child(3) .cm__preview-td:before{width:45%}.cm__preview-row:nth-child(4) .cm__preview-td:before{width:70%}.cm__preview-td.cm__preview-chev{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:10px}.cm__preview-chev:before{display:none}.cm__footer{display:flex;justify-content:flex-end;gap:8px;padding-top:14px;border-top:1px solid var(--border);margin-top:6px}.cm__btn{padding:7px 20px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--border);transition:all .15s ease;box-shadow:none}.cm__btn--cancel{background:var(--panel);color:var(--muted)}.cm__btn--cancel:hover{color:var(--text);background:var(--hover);box-shadow:none;filter:none}.cm__btn--save{background:var(--cta);color:#fff;border-color:var(--cta)}.cm__btn--save:hover:not(:disabled){filter:brightness(1.08);box-shadow:none}.cm__btn--save:disabled{opacity:.4;cursor:default;filter:none}[data-theme=dark] .cm__item--sel-left{background:#0596691a}[data-theme=dark] .cm__item--sel-right{background:#dc26261a}[data-theme=dark] .cm__item-fix{background:#05966926}.action-button{padding:.22rem .5rem;font-size:.72rem;border-radius:var(--radius-sm);font-weight:600;letter-spacing:.02em;box-shadow:none}.action-button:hover:not(:disabled){box-shadow:none}.panel-placeholder{border:1px dashed var(--border);background:color-mix(in srgb,var(--cta) 3%,var(--panel));border-radius:var(--radius-md);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;animation:slideUp var(--duration-fast) var(--ease-out-expo)}.checkin-summary{margin:0 0 .8rem;color:var(--muted);font-size:.9rem}.confirm-message{margin:0 0 .9rem;color:var(--muted);font-size:.92rem}.member-link{background:none;border:none;padding:0;font:inherit;color:var(--cta);text-decoration:none;cursor:pointer;text-align:left;font-weight:600;transition:color var(--duration-fast) ease;box-shadow:none}.member-link:hover{color:color-mix(in srgb,var(--cta) 70%,var(--text));text-decoration:underline}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:var(--text);color:var(--panel);padding:.7rem 1.1rem;border-radius:var(--radius-md);display:flex;align-items:center;gap:.75rem;z-index:1000;box-shadow:var(--shadow-lg);animation:slideInToast var(--duration-normal) var(--ease-spring);font-size:.88rem;max-width:min(420px,90vw)}.toast-close{background:none;border:none;color:inherit;cursor:pointer;font-size:.85rem;padding:.15rem;line-height:1;opacity:.6;transition:opacity var(--duration-fast) ease;box-shadow:none}.toast-close:hover{opacity:1;box-shadow:none;transform:none}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);background:var(--text);color:var(--panel);padding:5px 10px;border-radius:var(--radius-sm);font-size:.72rem;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--duration-fast) ease,transform var(--duration-fast) var(--ease-out-expo);z-index:100;box-shadow:var(--shadow-md);letter-spacing:.01em}[data-tooltip]:before{content:"";position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--text);opacity:0;pointer-events:none;transition:opacity var(--duration-fast) ease;z-index:100}[data-tooltip]:hover:after{opacity:1;transform:translate(-50%) translateY(0)}[data-tooltip]:hover:before{opacity:1}.datatable{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg, 14px);overflow:hidden;box-shadow:var(--shadow-xs);animation:fadeIn var(--duration-normal) ease}.datatable-header{display:grid;padding:0 16px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 50%,var(--panel))}.datatable-header-cell{padding:10px 0;font-size:.7rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;-webkit-user-select:none;user-select:none}.datatable-row{display:grid;padding:0 16px;align-items:center;transition:background var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.datatable-row--clickable{cursor:pointer}.datatable-row--clickable:hover{background:var(--hover)}.datatable-row--clickable:hover .datatable-chevron{transform:translate(2px);color:var(--cta)}.datatable-row--clickable:active{background:color-mix(in srgb,var(--cta) 6%,var(--panel))}.datatable-row+.datatable-row{border-top:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.datatable-cell{padding:11px 0;font-size:.88rem;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.datatable-cell--bold{font-weight:600}.datatable-chevron{color:var(--muted);font-size:16px;display:flex;align-items:center;justify-content:center;width:28px;transition:transform var(--duration-fast) var(--ease-out-expo),color var(--duration-fast) ease}.datatable-header-gear{position:relative;display:flex;align-items:center;justify-content:center}.datatable-gear-btn{width:26px;height:26px;border-radius:50%;border:1px solid transparent;background:none;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:none;transition:all var(--duration-fast)}.datatable-gear-btn:hover{color:var(--cta);background:color-mix(in srgb,var(--cta) 8%,transparent);border-color:color-mix(in srgb,var(--cta) 20%,transparent);box-shadow:none;filter:none}.datatable-gear-btn--active{color:var(--cta);background:color-mix(in srgb,var(--cta) 10%,transparent);border-color:var(--cta)}.datatable-settings-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;width:min(680px,92vw);max-height:85vh;overflow-y:auto;background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:20px 24px;box-shadow:0 20px 60px #0000002e;animation:popFromClickFixed var(--duration-normal) var(--ease-out-expo)}.datatable-settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:49;animation:fadeIn var(--duration-fast) ease}@media (max-width: 640px){.datatable-settings-panel{min-width:0;width:calc(100vw - 32px);right:-8px}.cm__picker{flex-direction:column}.cm__card--left{border-radius:10px 10px 0 0;border-right:1px solid var(--border);border-bottom:none}.cm__card--right{border-radius:0 0 10px 10px;border-left:1px solid var(--border);border-top:none}.cm__arrows{flex-direction:row;border-top:none;border-bottom:none;border-left:1px solid var(--border);border-right:1px solid var(--border);padding:8px 0}}.datatable-empty,.datatable-loading{padding:48px 20px;text-align:center;color:var(--muted);font-size:.88rem}.datatable-pager{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.4rem .75rem;border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg) 30%,var(--panel))}.datatable-pager__btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);border:1px solid var(--border);font-size:.92rem;cursor:pointer;box-shadow:none;transition:all var(--duration-fast) ease}.datatable-pager__btn:hover:not(:disabled){background:var(--hover);border-color:color-mix(in srgb,var(--cta) 25%,var(--border));color:var(--cta);transform:none;box-shadow:none}.datatable-pager__btn:disabled{opacity:.3;cursor:default}.datatable-pager__info{font-size:.75rem;font-weight:600;color:var(--text);min-width:3rem;text-align:center;font-variant-numeric:tabular-nums}.datatable-pager__total{font-size:.68rem;color:var(--muted);margin-left:auto}.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}.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}.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}.guest-quick-layout{display:grid;gap:.45rem}.guest-quick-row{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}.quick-preset-inline{background:var(--hover);color:var(--text);border-radius:var(--radius-pill);font-size:.7rem;padding:.15rem .4rem;box-shadow:none}.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:2px;padding:3px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--hover)}.panel-tab{background:transparent;color:var(--muted);border-radius:5px;padding:.28rem .65rem;font-size:.78rem;font-weight:500;box-shadow:none}.panel-tab:hover:not(.active){color:var(--text);transform:none;box-shadow:none}.panel-tab.active{background:var(--panel);color:var(--text);box-shadow:0 1px 2px #0f172a14}.duration-quick p{margin:0 0 .3rem;font-size:.9rem}.duration-tabs{display:flex;flex-wrap:wrap;gap:.35rem}.duration-tab{background:var(--hover);color:var(--text);border-radius:var(--radius-pill);padding:.25rem .55rem;font-size:.78rem;box-shadow:none}.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}.filter-select{padding:.3rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);font:inherit;font-size:.78rem;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:.25rem .6rem;font-size:.78rem;font-weight:600;border:1px solid var(--border);border-radius:var(--radius-pill);background:transparent;color:var(--text);cursor:pointer;transition:all .15s;box-shadow:none}.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:.25rem .5rem;font-size:.76rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text);cursor:pointer;transition:all .15s;box-shadow:none}.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}.crm-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.crm-title{margin:0;font-size:1rem;font-weight:800;color:var(--text)}.crm-toggle{display:flex;gap:0;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:var(--bg);padding:3px;flex-shrink:0}.crm-toggle__btn{display:flex;align-items:center;gap:5px;padding:6px 16px;border:none;border-radius:8px;background:transparent;color:var(--muted);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s;box-shadow:none}.crm-toggle__btn:hover:not(.crm-toggle__btn--active){color:var(--text);box-shadow:none;filter:none}.crm-toggle__btn--active{background:var(--cta);color:#fff;box-shadow:0 1px 4px color-mix(in srgb,var(--cta) 25%,transparent)}.crm-section{margin-bottom:14px}.crm-label{display:block;font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.crm-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;font-size:.82rem;box-sizing:border-box}.crm-input:focus{outline:none;border-color:var(--cta);box-shadow:0 0 0 2px color-mix(in srgb,var(--cta) 12%,transparent)}.crm-input--sm{width:120px;margin-top:8px}.crm-datetime-row{display:flex;gap:6px}.crm-input--day{flex:0 0 58px}.crm-input--month{flex:1;min-width:0}.crm-input--year,.crm-input--time{flex:0 0 72px}.crm-hint{margin:4px 0 0;font-size:.75rem;color:var(--muted)}.crm-chips{display:flex;gap:5px;flex-wrap:wrap}.crm-chip{display:flex;align-items:center;gap:4px;padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--panel);color:var(--text);font-size:.76rem;font-weight:600;cursor:pointer;transition:all .12s;box-shadow:none}.crm-chip:hover:not(.crm-chip--active){border-color:color-mix(in srgb,var(--cta) 40%,var(--border));color:var(--cta);box-shadow:none;filter:none}.crm-chip--active{background:var(--cta);color:#fff;border-color:var(--cta)}.crm-chip__price{font-weight:700;opacity:.8}.crm-cats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.crm-cat{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .12s;box-shadow:none}.crm-cat:hover:not(:disabled){border-color:var(--cta);color:var(--cta);box-shadow:none;filter:none}.crm-cat:disabled{opacity:.35;cursor:not-allowed}.crm-cat__name{white-space:nowrap}.crm-cat__count{font-size:.68rem;font-weight:700;background:color-mix(in srgb,var(--cta) 10%,transparent);color:var(--cta);padding:1px 6px;border-radius:var(--radius-pill);min-width:18px;text-align:center}.crm-cat__count--zero{background:var(--hover);color:var(--muted)}.crm-empty{font-size:.78rem;color:var(--muted);font-style:italic;padding:10px 0;margin:0}.crm-items{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--panel)}.crm-items__header{display:flex;align-items:center;gap:6px;padding:6px 10px;background:color-mix(in srgb,var(--bg) 50%,var(--panel));border-bottom:1px solid var(--border);font-size:.65rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.crm-item{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:.82rem;border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.crm-item:last-child{border-bottom:none}.crm-item__desc{flex:4;min-width:0;padding:4px 1.6rem 4px 6px;border:1px solid var(--border);border-radius:6px;background-color:var(--bg);color:var(--text);font:inherit;font-size:.8rem}.crm-item__desc--text{border:none;background:transparent;padding:4px 0;font-weight:500}.crm-item__size{flex:0 0 4rem;width:4rem;padding:4px 1.4rem 4px 4px;border:1px solid var(--border);border-radius:6px;background-color:var(--bg);color:var(--text);font:inherit;font-size:.78rem;text-align:center;background-position:right .3rem center;background-size:8px 5px}.crm-item__size--na{border:none;background:transparent;color:var(--muted);text-align:center}.crm-item__size:disabled{opacity:.4;cursor:not-allowed}.crm-item__qty{flex:0 0 3rem;width:3rem;padding:4px 1.2rem 4px 4px;border:1px solid var(--border);border-radius:6px;background-color:var(--bg);color:var(--text);font:inherit;font-size:.78rem;text-align:center;background-position:right .2rem center;background-size:8px 5px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.crm-item__rm{flex:0 0 1.5rem;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:50%;color:var(--muted);font-size:.9rem;cursor:pointer;padding:0;box-shadow:none;transition:all .1s}.crm-item__rm:hover{color:var(--overdue);background:#dc262614;box-shadow:none;filter:none}.crm-price-row{display:flex;align-items:center;gap:6px}.crm-input--price{width:120px;font-size:1.1rem;font-weight:700;text-align:right;padding:8px 12px}.crm-price-currency{font-size:1rem;font-weight:700;color:var(--muted)}.crm-breakdown{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px}.crm-breakdown__line{font-size:.72rem;color:var(--muted)}.crm-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:14px;border-top:1px solid var(--border);margin-top:6px}.crm-footer__cancel{padding:8px 18px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:.82rem;font-weight:600;cursor:pointer;box-shadow:none;transition:all .12s}.crm-footer__cancel:hover{color:var(--text);background:var(--hover);box-shadow:none;filter:none}.crm-footer__submit{padding:8px 24px;border-radius:8px;border:none;background:var(--cta);color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;box-shadow:none;transition:all .12s}.crm-footer__submit:hover:not(:disabled){filter:brightness(1.08);box-shadow:none}.crm-footer__submit:disabled{opacity:.5;cursor:default;filter:none}.crm-step-indicator{display:flex;align-items:center;gap:0;flex-shrink:0}.crm-step{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;border:2px solid var(--border);color:var(--muted);background:var(--panel);transition:all .15s}.crm-step--active{border-color:var(--cta);color:#fff;background:var(--cta)}.crm-step--done{border-color:var(--ok);color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,var(--panel))}.crm-step-line{width:24px;height:2px;background:var(--border)}.crm-summary{display:flex;gap:6px;flex-wrap:wrap}.crm-summary span{padding:4px 10px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--cta) 8%,var(--panel));border:1px solid color-mix(in srgb,var(--cta) 15%,var(--border));font-size:.75rem;font-weight:600;color:var(--text)}.crm-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.crm-check{display:flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;color:var(--muted);cursor:pointer}.crm-check input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--cta)}.cc{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.cc__card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:0;overflow:hidden}.cc__card-header{display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:13px;font-weight:700;color:var(--text);border-bottom:1px solid var(--border)}.cc__card-title{padding:14px 16px 8px;font-size:14px;font-weight:700;color:var(--text)}.cc__kpi-row{display:flex;gap:12px;padding:14px 16px;flex-wrap:wrap}.cc__kpi{flex:1;min-width:100px}.cc__kpi-label{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.cc__kpi-value{font-size:22px;font-weight:600;color:#64748b;letter-spacing:-.02em}.cc__kpi-value--ok{color:#059669}.cc__kpi-sub{font-size:10px;color:#64748b;margin-top:1px}.cc__total-row{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--border);font-size:13px;font-weight:700;color:var(--text)}.cc__total-value{font-size:16px;font-weight:600}.cc__total-value--ok{color:#059669}.cc__total-value--error{color:#dc2626}.cc__list{padding:0 16px}.cc__list-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);font-size:13px}.cc__list-row:last-child{border-bottom:none}.cc__list-name{font-weight:500;color:var(--text);flex:1;min-width:0}.cc__list-sub{font-size:11px;color:var(--muted)}.cc__list-amount{font-size:14px;font-weight:600;color:var(--text);min-width:70px;text-align:right}.cc__remove-btn{width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--muted);border:1px solid transparent;border-radius:6px;font-size:12px;cursor:pointer;box-shadow:none;flex-shrink:0}.cc__remove-btn:hover{color:#dc2626;background:#dc26260f;border-color:#dc262626;box-shadow:none;filter:none}.cc__add-row{display:flex;gap:6px;padding:8px 16px;align-items:center}.cc__select{flex:1;padding:7px 2rem 7px 10px;font-size:12px}.cc__select--sm{flex:0 0 120px}.cc__add-btn{padding:7px 14px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--cta);font-size:12px;font-weight:600;cursor:pointer;box-shadow:none;white-space:nowrap}.cc__add-btn:hover{background:var(--hover);box-shadow:none;filter:none}.cc__add-btn--expense{background:#dc2626;color:#fff;border:none}.cc__add-btn--expense:hover{filter:brightness(1.08);background:#dc2626}.cc__sub-title{padding:8px 16px 0;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.cc__empty{padding:12px 16px;font-size:12px;color:var(--muted)}.cc__input{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;font-size:12px;min-width:0}.cc__input--sm{flex:0 0 100px;text-align:right}.cc__summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 16px 10px}.cc__summary-box{border-radius:10px;padding:14px 16px}.cc__summary-box--ok{background:#ecfdf5}.cc__summary-box--error{background:#fef2f2}.cc__summary-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.cc__summary-box--ok .cc__summary-label{color:#059669}.cc__summary-box--error .cc__summary-label{color:#dc2626}.cc__summary-value{font-size:24px;font-weight:600}.cc__summary-box--ok .cc__summary-value{color:#059669}.cc__summary-box--error .cc__summary-value{color:#dc2626}.cc__breakdown{padding:0 16px}.cc__breakdown-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);font-size:13px;color:var(--text)}.cc__breakdown-row:last-child{border-bottom:none}.cc__breakdown-val{font-weight:600;margin-right:6px}.cc__breakdown-sub{font-size:10px;color:var(--muted)}.cc__net-box{margin:12px 16px 16px;padding:16px 20px;border-radius:12px;display:flex;align-items:center;justify-content:space-between}.cc__net-box--ok{background:#ecfdf5;border:1px solid #A7F3D0}.cc__net-box--error{background:#fef2f2;border:1px solid #FECACA}.cc__net-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.cc__net-box--ok .cc__net-label{color:#059669}.cc__net-box--error .cc__net-label{color:#dc2626}.cc__net-sub{font-size:10px;color:var(--muted);margin-top:2px}.cc__net-value{font-size:28px;font-weight:600}.cc__net-box--ok .cc__net-value{color:#059669}.cc__net-box--error .cc__net-value{color:#dc2626}.cc__btn-close{width:100%;padding:14px;border-radius:12px;border:none;background:#059669;color:#fff;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #0596694d;transition:filter .15s ease,box-shadow .15s ease}.cc__btn-close:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 6px 20px #05966959}.cc__btn-close:disabled{background:var(--border);color:var(--muted);box-shadow:none;cursor:default}.cc__btn-close--done{background:var(--border);color:var(--muted);box-shadow:none}.cc__error{padding:10px 14px;background:#fef2f2;border:1px solid #FECACA;border-radius:8px;color:#dc2626;font-size:12px}.cc__error p{margin:0 0 4px}.cc__error p:last-child{margin:0}.cc__note{text-align:center;font-size:10px;color:#94a3b8;margin-top:4px}.cc__report-wrap{padding:12px 16px;max-height:400px;overflow-y:auto}.cc__report-pre{margin:0;white-space:pre;font-family:Courier New,monospace;font-size:11px;line-height:1.5;color:var(--text)}[data-theme=dark] .cc__summary-box--ok{background:#0596691a}[data-theme=dark] .cc__summary-box--error{background:#dc26261a}[data-theme=dark] .cc__net-box--ok{background:#0596691a;border-color:#05966940}[data-theme=dark] .cc__net-box--error{background:#dc26261a;border-color:#dc262640}[data-theme=dark] .cc__error{background:#dc26261a;border-color:#dc262633}.tl{display:flex;flex-direction:column;gap:3px;width:100%;min-width:80px;padding-right:16px}.tl__track{position:relative;height:6px;border-radius:3px;overflow:hidden}.tl__fill{position:absolute;top:0;left:0;height:100%;border-radius:3px;transition:width 1s linear}.tl__meta{display:flex;justify-content:space-between;align-items:baseline}.tl__start,.tl__end{font-size:.62rem;color:var(--muted);font-variant-numeric:tabular-nums}.tl__dur{font-size:.62rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.dash-widget{margin-top:1rem}.dash-widget .page-header{margin-bottom:0}.dash-section-header{display:flex;align-items:center;gap:8px;margin-bottom:.45rem}.dash-section-title{font-size:.88rem;font-weight:700;color:var(--text)}.dash-section-count{font-size:.7rem;font-weight:700;color:var(--cta);background:color-mix(in srgb,var(--cta) 10%,transparent);padding:2px 8px;border-radius:var(--radius-pill)}.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}.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:var(--hover);color:var(--text);border-radius:var(--radius-sm);padding:.35rem .5rem;font-size:.8rem}.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}}.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:.28rem .55rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text);font:inherit;font-size:.78rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s;box-shadow:none}.databar__btn:hover{background:var(--hover);border-color:color-mix(in srgb,var(--cta) 30%,var(--border));color:var(--cta);transform:none;box-shadow:none}.databar__btn--active{border-color:var(--cta);color:var(--cta);background:color-mix(in srgb,var(--cta) 6%,transparent)}.databar__btn--primary{background:var(--cta);color:#fff;border-color:var(--cta)}.databar__btn--primary:hover{filter:brightness(1.06);background:var(--cta);color:#fff}.databar__btn--icon{font-size:.92rem;padding:.28rem .4rem}.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}.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)}.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}.edit-section-notes__form{display:flex;gap:.5rem;margin-bottom:1rem}.edit-section-notes__form textarea{flex:1;resize:vertical;min-height:2.5rem;padding:.5rem;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text);font-size:.85rem}.edit-section-notes__form button{align-self:flex-end;white-space:nowrap}.edit-section-notes__empty{font-size:.85rem;color:var(--muted);font-style:italic}.edit-section-notes__list{display:flex;flex-direction:column;gap:.5rem}.edit-section-notes__item{padding:.6rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--bg)}.edit-section-notes__meta{display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted);margin-bottom:.25rem}.edit-section-notes__body{font-size:.88rem;color:var(--text);white-space:pre-wrap;margin:0}.edit-section-notes__load-more{margin-top:.5rem;font-size:.82rem;color:var(--cta);background:none;border:none;cursor:pointer;padding:.25rem 0}.edit-section-notes__load-more:hover{text-decoration:underline}.theme-toggle-btn.active{background:var(--panel);color:var(--text);box-shadow:0 1px 4px #0f172a24}.closure-sub-title{font-size:.82rem;font-weight:600;color:var(--muted);margin:0 0 .4rem}.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)}.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}.md{animation:slideUp var(--duration-normal) var(--ease-out-expo)}.md__header{margin-bottom:.6rem}.md__back{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;border-radius:var(--radius-sm);color:var(--muted);font-size:.78rem;font-weight:600;cursor:pointer;padding:.3rem .1rem;transition:color var(--duration-fast)}.md__back:hover{color:var(--cta)}.md__back svg{transition:transform var(--duration-fast)}.md__back:hover svg{transform:translate(-2px)}.md__layout{display:flex;gap:1.75rem;align-items:flex-start}@media (max-width: 768px){.md__layout{flex-direction:column}}.md__sidebar{width:272px;flex-shrink:0;display:flex;flex-direction:column;gap:.55rem;position:sticky;top:1rem}@media (max-width: 768px){.md__sidebar{width:100%;position:static}}.md__profile-hero{display:flex;flex-direction:column;align-items:center;padding:1.25rem .75rem 1rem;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);position:relative;overflow:hidden}.md__profile-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:56px;background:linear-gradient(135deg,color-mix(in srgb,var(--cta) 8%,transparent),color-mix(in srgb,var(--cta) 3%,transparent));border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.md__avatar{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.35rem;font-weight:800;letter-spacing:.02em;position:relative;z-index:1;box-shadow:0 0 0 3px var(--panel),0 0 0 4.5px var(--border),var(--shadow-sm)}.md__avatar--ok{background:color-mix(in srgb,var(--ok) 18%,var(--panel));color:var(--ok)}.md__avatar--warn{background:color-mix(in srgb,var(--warn) 18%,var(--panel));color:var(--warn)}.md__avatar--error{background:color-mix(in srgb,var(--overdue) 18%,var(--panel));color:var(--overdue)}.md__avatar--info{background:color-mix(in srgb,var(--muted) 14%,var(--panel));color:var(--muted)}.md__name{text-align:center;font-size:1.1rem;font-weight:700;margin:.5rem 0 0;letter-spacing:-.015em;color:var(--text)}.md__days-pill{margin-top:.35rem;padding:.15rem .55rem;border-radius:var(--radius-pill);font-size:.62rem;font-weight:700;letter-spacing:.02em}.md__days-pill--ok{background:color-mix(in srgb,var(--ok) 10%,transparent);color:var(--ok)}.md__days-pill--warn{background:color-mix(in srgb,var(--warn) 12%,transparent);color:var(--warn)}.md__days-pill--error{background:color-mix(in srgb,var(--overdue) 10%,transparent);color:var(--overdue)}.md__days-pill--info{background:color-mix(in srgb,var(--muted) 10%,transparent);color:var(--muted)}.md__card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:.65rem .8rem;box-shadow:var(--shadow-xs);transition:box-shadow var(--duration-fast)}.md__card:hover{box-shadow:var(--shadow-sm)}.md__card--membership{border-left-width:3px}.md__card--membership-ok{border-left-color:var(--ok)}.md__card--membership-warn{border-left-color:var(--warn)}.md__card--membership-error{border-left-color:var(--overdue)}.md__card--membership-info{border-left-color:var(--muted)}.md__card-title{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .35rem;padding-bottom:.25rem;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.md__separator{height:1px;background:color-mix(in srgb,var(--border) 50%,transparent);margin:.5rem 0}.md__field{display:flex;justify-content:space-between;align-items:baseline;padding:.22rem 0;font-size:.78rem}.md__field+.md__field{border-top:1px solid color-mix(in srgb,var(--border) 20%,transparent)}.md__field-label{color:var(--muted);font-size:.7rem;flex-shrink:0}.md__field-value{font-weight:500;text-align:right;word-break:break-all;color:var(--text)}.md__field-value--email{font-size:.72rem;color:var(--cta);text-decoration:none}.md__field-value--ok{color:var(--ok);font-weight:600}.md__field-value--warn{color:var(--warn);font-weight:600}.md__field-value--error{color:var(--overdue);font-weight:600}.md__status-badge{display:inline-block;padding:.15rem .55rem;border-radius:var(--radius-pill);font-size:.65rem;font-weight:700;letter-spacing:.02em}.md__status-badge--ok{background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ok)}.md__status-badge--warn{background:color-mix(in srgb,var(--warn) 15%,transparent);color:var(--warn)}.md__status-badge--error{background:color-mix(in srgb,var(--overdue) 12%,transparent);color:var(--overdue)}.md__status-badge--info{background:color-mix(in srgb,var(--muted) 12%,transparent);color:var(--muted)}.md__activities{display:flex;flex-wrap:wrap;gap:.3rem}.md__activity-pill{padding:.2rem .55rem;border-radius:var(--radius-pill);font-size:.65rem;font-weight:700;letter-spacing:.02em;border:1px solid transparent}.md__activity-pill--classi{background:color-mix(in srgb,var(--cta) 8%,transparent);color:var(--cta);border-color:color-mix(in srgb,var(--cta) 18%,transparent)}.md__activity-pill--noleggi{background:color-mix(in srgb,var(--ok) 8%,transparent);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 18%,transparent)}.md__activity-pill--garage{background:color-mix(in srgb,var(--warn) 8%,transparent);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 18%,transparent)}.md__activity-empty{font-size:.74rem;color:var(--muted);font-style:italic}.md__sidebar-actions{display:flex;gap:.5rem;margin-top:.1rem}.md__btn-edit{flex:1;padding:.5rem;border-radius:var(--radius-md);border:none;background:var(--cta);color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:all var(--duration-fast);box-shadow:0 1px 3px color-mix(in srgb,var(--cta) 25%,transparent)}.md__btn-edit:hover{filter:brightness(1.1);box-shadow:0 2px 8px color-mix(in srgb,var(--cta) 30%,transparent)}.md__btn-edit:active{transform:scale(.98)}.md__main{flex:1;min-width:0}.md__tabs{display:flex;gap:.25rem;border-bottom:1.5px solid var(--border);margin-bottom:1.25rem;padding:0 .1rem}.md__tab{padding:.55rem 1rem;border:none;background:none;font-size:.8rem;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1.5px;transition:color var(--duration-fast),border-color var(--duration-fast);position:relative}.md__tab:hover{color:var(--text)}.md__tab--active{color:var(--cta);border-bottom-color:var(--cta)}.md__tab-content{animation:slideUp var(--duration-fast) var(--ease-out-expo)}.md__placeholder{text-align:center;padding:3rem 1.5rem;color:var(--muted);background:color-mix(in srgb,var(--hover) 50%,transparent);border:1.5px dashed color-mix(in srgb,var(--border) 70%,transparent);border-radius:var(--radius-lg)}.md__placeholder-icon{display:block;margin:0 auto .5rem;opacity:.25}.md__placeholder p{margin:0;font-size:.82rem;font-weight:500}.md__placeholder-btn{margin-top:.6rem;padding:.35rem .75rem;font-size:.76rem;background:var(--panel);color:var(--cta);border:1px solid var(--cta);border-radius:var(--radius-sm);cursor:pointer;box-shadow:none}.md__placeholder-btn:hover{background:color-mix(in srgb,var(--cta) 8%,var(--panel));box-shadow:none;filter:none}.md__garage-list{display:flex;flex-direction:column;gap:.5rem}.md__garage-card{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-xs);border-left:4px solid var(--ok)}.md__garage-card--error{border-left-color:var(--overdue)}.md__garage-card-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:color-mix(in srgb,var(--bg) 40%,var(--panel));border-bottom:1px solid var(--border)}.md__garage-card-title{font-size:.85rem;font-weight:700;color:var(--text)}.md__garage-card-body{padding:.5rem .75rem;display:flex;flex-direction:column;gap:.15rem}.md__stats-row{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.md__stat{flex:1;min-width:80px;border-radius:var(--radius-md);padding:.55rem .6rem;text-align:center;background:var(--panel);box-shadow:var(--shadow-xs);position:relative;overflow:hidden;border:1px solid var(--border)}.md__stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px 0 0 3px}.md__stat--done:before{background:var(--ok)}.md__stat--absent:before{background:var(--overdue)}.md__stat--scheduled:before{background:var(--cta)}.md__stat--remaining:before{background:var(--muted)}.md__stat-value{display:block;font-size:1.3rem;font-weight:800}.md__stat-label{display:block;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-top:.1rem}.md__stat--done .md__stat-value,.md__stat--done .md__stat-label{color:var(--ok)}.md__stat--absent .md__stat-value,.md__stat--absent .md__stat-label{color:var(--overdue)}.md__stat--scheduled .md__stat-value,.md__stat--scheduled .md__stat-label{color:var(--cta)}.md__stat--remaining .md__stat-value,.md__stat--remaining .md__stat-label{color:var(--muted)}.md__slots-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.md__slot-chip{display:flex;align-items:center;gap:.5rem;padding:.4rem .7rem;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;box-shadow:var(--shadow-xs)}.md__slot-day{font-weight:700;font-size:.82rem;letter-spacing:-.01em}.md__slot-change{background:none;border:1px solid color-mix(in srgb,var(--cta) 30%,transparent);color:var(--cta);font-size:.72rem;font-weight:600;cursor:pointer;padding:.2rem .5rem;border-radius:var(--radius-sm);transition:all var(--duration-fast)}.md__slot-change:hover{background:color-mix(in srgb,var(--cta) 8%,transparent);border-color:var(--cta)}.md__change-day-form{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.md__change-day-form select,.md__change-day-form input{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.25rem .4rem;font:inherit;font-size:.78rem;background:var(--panel);color:var(--text)}.md__change-day-form button{font-size:.75rem;padding:.25rem .55rem}.md__classi-layout{display:flex;gap:1.25rem;flex-wrap:wrap}.md__classi-left{flex-shrink:0}.md__classi-right{flex:1;min-width:280px}.md__lessons-wrap{max-height:340px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);box-shadow:var(--shadow-xs)}.md__lessons{width:100%;border-collapse:collapse;font-size:.8rem}.md__lessons thead tr{position:sticky;top:0;background:var(--hover);z-index:1}.md__lessons th{text-align:left;padding:.5rem .6rem;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border)}.md__lessons tbody tr{transition:background var(--duration-fast)}.md__lessons tbody tr:hover{background:var(--hover)}.md__lessons tbody tr:nth-child(2n){background:color-mix(in srgb,var(--hover) 40%,transparent)}.md__lessons tbody tr:nth-child(2n):hover{background:var(--hover)}.md__lessons td{padding:.4rem .6rem;border-bottom:1px solid color-mix(in srgb,var(--border) 25%,transparent)}.md__lessons-empty{text-align:center;color:var(--muted);font-style:italic;padding:1.5rem!important}.md__lesson-badge{display:inline-flex;align-items:center;gap:.2rem;font-size:.68rem;font-weight:600;padding:.14rem .45rem;border-radius:var(--radius-pill);white-space:nowrap}.md__lesson-badge--done{background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ok)}.md__lesson-badge--absent{background:color-mix(in srgb,var(--overdue) 12%,transparent);color:var(--overdue)}.md__lesson-badge--scheduled{background:color-mix(in srgb,var(--cta) 12%,transparent);color:var(--cta)}.md__lesson-badge--cancelled{background:color-mix(in srgb,var(--muted) 12%,transparent);color:var(--muted)}.md__lesson-actions{display:flex;gap:.3rem}.md__action-btn{width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel);cursor:pointer;font-size:.82rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;transition:all var(--duration-fast);padding:0}.md__action-btn:hover{background:var(--hover)}.md__action-btn--done{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 30%,transparent);background:color-mix(in srgb,var(--ok) 5%,transparent)}.md__action-btn--done:hover{background:color-mix(in srgb,var(--ok) 18%,transparent);border-color:var(--ok)}.md__action-btn--absent{color:var(--overdue);border-color:color-mix(in srgb,var(--overdue) 30%,transparent);background:color-mix(in srgb,var(--overdue) 5%,transparent)}.md__action-btn--absent:hover{background:color-mix(in srgb,var(--overdue) 18%,transparent);border-color:var(--overdue)}.md__reschedule-form{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.75rem;padding:.6rem .75rem;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.82rem;box-shadow:var(--shadow-xs)}.md__reschedule-form input[type=date]{padding:.3rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--hover);color:var(--text);font-size:.8rem}.md__reschedule-form button{font-size:.78rem;padding:.3rem .6rem}.cal-page{--cal-cyclic: #3b82f6;--cal-cyclic-bg: rgba(59, 130, 246, .08);--cal-oneshot: #f59e0b;--cal-oneshot-bg: rgba(245, 158, 11, .08);--cal-private: #8b5cf6;--cal-private-bg: rgba(139, 92, 246, .08);--cal-done: #16a34a;--cal-absent: #dc2626;--cal-scheduled: #3b82f6;--cal-fill-ok: #16a34a;--cal-fill-warn: #f59e0b;--cal-fill-full: #dc2626}.cal-page{display:flex;flex-direction:column;gap:0}.cal-page__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding-bottom:.6rem;border-bottom:1px solid var(--border);margin-bottom:.6rem}.cal-page__title-group{display:flex;flex-direction:column;gap:.1rem}.cal-page__title{margin:0;font-size:1rem;font-weight:700;color:var(--text);letter-spacing:-.01em}.cal-page__subtitle{font-size:.72rem;color:var(--muted);letter-spacing:.02em}.cal-page__view-switcher{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--hover)}.cal-page__view-btn{padding:.25rem .7rem;font-size:.76rem;font-weight:500;border-radius:4px;background:transparent;color:var(--muted);border:none;cursor:pointer;transition:all var(--duration-fast) ease;box-shadow:none;letter-spacing:.01em}.cal-page__view-btn:hover:not(.cal-page__view-btn--active){color:var(--text);transform:none;box-shadow:none}.cal-page__view-btn--active{background:var(--panel);color:var(--text);font-weight:600;box-shadow:0 1px 2px #0000000f}.cal-page__view-btn--active:hover{transform:none;box-shadow:0 1px 2px #0000000f}.cal-page__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.cal-page__nav{display:flex;align-items:center;gap:.35rem}.cal-page__nav-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);border:1px solid var(--border);font-size:1rem;cursor:pointer;transition:all var(--duration-fast) ease;box-shadow:none}.cal-page__nav-btn:hover{background:var(--hover);color:var(--text);transform:none;box-shadow:none}.cal-page__nav-label{min-width:160px;text-align:center;font-size:.88rem;font-weight:600;color:var(--text);letter-spacing:-.01em}.cal-page__today-btn{padding:.22rem .55rem;font-size:.74rem;font-weight:600;border-radius:var(--radius-sm);background:transparent;color:var(--cta);border:1px solid color-mix(in srgb,var(--cta) 25%,transparent);cursor:pointer;transition:all var(--duration-fast) ease;box-shadow:none}.cal-page__today-btn:hover{background:color-mix(in srgb,var(--cta) 8%,transparent);transform:none;box-shadow:none}.cal-page__filters{display:flex;gap:.3rem}.cal-page__filter-select{padding:.25rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);font:inherit;font-size:.76rem;cursor:pointer}.cal-page__filter-select:focus{outline:none;border-color:var(--cta)}.cal-page__error{padding:.55rem .75rem;background:#dc26260f;border:1px solid rgba(220,38,38,.15);border-radius:var(--radius-sm);color:var(--overdue);font-size:.85rem}.cal-page__loading{text-align:center;padding:3rem;color:var(--muted);font-size:.88rem}.cal-page__content{animation:fadeIn var(--duration-normal) ease}.cal-month{display:flex;flex-direction:column;gap:0}.cal-month__header{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.cal-month__day-label{padding:.4rem 0;text-align:center;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.cal-month__week{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.cal-month__cell{min-height:85px;padding:.4rem;background:var(--panel);border:1px solid color-mix(in srgb,var(--border) 50%,transparent);cursor:pointer;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease;display:flex;flex-direction:column;gap:.3rem}.cal-month__cell:hover{background:var(--hover);border-color:var(--border)}.cal-month__cell--outside{opacity:.3;pointer-events:none}.cal-month__cell--today{border-color:var(--cta);background:color-mix(in srgb,var(--cta) 3%,var(--panel))}.cal-month__day-row{display:flex;align-items:center;justify-content:space-between}.cal-month__day-num{font-size:.78rem;font-weight:500;color:var(--muted)}.cal-month__day-num--today{background:var(--cta);color:#fff;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.72rem}.cal-month__total{font-size:.68rem;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.cal-month__bars{display:flex;flex-direction:column;gap:3px;flex:1}.cal-month__bar{height:5px;border-radius:3px;background:color-mix(in srgb,var(--border) 50%,transparent);overflow:hidden;position:relative}.cal-month__bar--empty{opacity:.3}.cal-month__bar-fill{height:100%;border-radius:3px;transition:width .3s var(--ease-out-expo)}.cal-month__bar--cyclic .cal-month__bar-fill{background:linear-gradient(90deg,var(--cal-cyclic),color-mix(in srgb,var(--cal-cyclic) 60%,#fff))}.cal-month__bar--cyclic.cal-month__bar--warn .cal-month__bar-fill{background:linear-gradient(90deg,var(--cal-fill-warn),color-mix(in srgb,var(--cal-fill-warn) 60%,#fff))}.cal-month__bar--cyclic.cal-month__bar--full .cal-month__bar-fill{background:linear-gradient(90deg,var(--cal-fill-full),color-mix(in srgb,var(--cal-fill-full) 70%,#fff))}.cal-month__bar--oneshot .cal-month__bar-fill{background:linear-gradient(90deg,var(--cal-oneshot),color-mix(in srgb,var(--cal-oneshot) 60%,#fff))}.cal-month__bar--oneshot.cal-month__bar--warn .cal-month__bar-fill{background:linear-gradient(90deg,var(--cal-fill-warn),color-mix(in srgb,var(--cal-fill-warn) 60%,#fff))}.cal-month__bar--oneshot.cal-month__bar--full .cal-month__bar-fill{background:linear-gradient(90deg,var(--cal-fill-full),color-mix(in srgb,var(--cal-fill-full) 70%,#fff))}.cal-month__bar--ok .cal-month__bar-fill{background:linear-gradient(90deg,var(--cal-fill-ok),color-mix(in srgb,var(--cal-fill-ok) 70%,#fff))}.cal-month__bar--warn .cal-month__bar-fill{background:linear-gradient(90deg,var(--cal-fill-warn),color-mix(in srgb,var(--cal-fill-warn) 70%,#fff))}.cal-month__bar--full .cal-month__bar-fill{background:linear-gradient(90deg,var(--cal-fill-full),color-mix(in srgb,var(--cal-fill-full) 80%,#fff))}.cal-month__types{display:flex;gap:4px;align-items:center}.cal-month__type-dot{width:6px;height:6px;border-radius:50%}.cal-month__type-dot--cyclic{background:var(--cal-cyclic)}.cal-month__type-dot--oneshot{background:var(--cal-oneshot)}.cal-month__type-dot--private{background:var(--cal-private)}.cal-month__legend{display:flex;align-items:center;gap:1rem;padding:.5rem 0;margin-top:.25rem;font-size:.7rem;color:var(--muted)}.cal-month__legend-group{display:flex;align-items:center;gap:.3rem}.cal-month__bar-sample{width:18px;height:5px;border-radius:3px}.cal-month__bar-sample--cyclic{background:var(--cal-cyclic)}.cal-month__bar-sample--oneshot{background:var(--cal-oneshot)}.cal-month__bar-sample--ok{background:var(--cal-fill-ok)}.cal-month__bar-sample--warn{background:var(--cal-fill-warn)}.cal-month__bar-sample--full{background:var(--cal-fill-full)}.cal-tl{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--panel)}.cal-tl__header{display:grid;grid-template-columns:52px repeat(7,1fr);border-bottom:1px solid var(--border);flex-shrink:0}.cal-tl__corner{background:var(--panel)}.cal-tl__day-header{padding:.45rem .2rem;text-align:center;cursor:pointer;border-left:1px solid var(--border);transition:background var(--duration-fast) ease}.cal-tl__day-header:hover{background:var(--hover)}.cal-tl__day-header--today{background:color-mix(in srgb,var(--cta) 5%,var(--panel))}.cal-tl__day-label{display:block;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.cal-tl__day-num{font-size:.88rem;font-weight:500;color:var(--text)}.cal-tl__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:.72rem}.cal-tl__body{position:relative;overflow-y:auto;overflow-x:hidden;display:grid;grid-template-columns:52px 1fr}.cal-tl__times{position:relative}.cal-tl__time-row{position:absolute;left:0;right:0;display:flex;align-items:flex-start;border-bottom:1px solid color-mix(in srgb,var(--border) 30%,transparent)}.cal-tl__time-label{font-size:.65rem;font-weight:600;color:var(--muted);padding:2px 6px 0;font-variant-numeric:tabular-nums;white-space:nowrap}.cal-tl__columns{display:grid;grid-template-columns:repeat(7,1fr);position:relative}.cal-tl__col{position:relative;border-left:1px solid var(--border);cursor:default}.cal-tl__col--today{background:color-mix(in srgb,var(--cta) 2%,transparent)}.cal-tl__gridline{position:absolute;left:0;right:0;height:0;border-bottom:1px solid color-mix(in srgb,var(--border) 25%,transparent)}.cal-tl__gridline--hour{border-bottom-color:color-mix(in srgb,var(--border) 60%,transparent)}.cal-tl__ev{position:absolute;left:3px;right:3px;border-radius:6px;border-left:4px solid;padding:4px 8px;overflow:hidden;font-size:.68rem;line-height:1.35;cursor:pointer;display:flex;flex-direction:column;gap:1px;box-shadow:0 1px 4px #0000000f;transition:all .3s cubic-bezier(.4,0,.2,1)}.cal-tl__ev:hover:not(.cal-tl__ev--expanded):not(.cal-tl__ev--collapsed){box-shadow:0 2px 8px #0000001a;filter:brightness(.97)}.cal-tl__ev--cyclic{background:#dbeafe;border-left-color:var(--cal-cyclic);color:var(--cal-cyclic)}.cal-tl__ev--oneshot{background:#fef3c7;border-left-color:var(--cal-oneshot);color:var(--cal-oneshot)}.cal-tl__ev--private{background:#ede9fe;border-left-color:var(--cal-private);color:var(--cal-private)}.cal-tl__ev--expanded{background:#fff!important;box-shadow:0 8px 30px #00000021;border-radius:8px;padding:8px 10px;overflow:visible}.cal-tl__ev--expanded .cal-tl__ev-roster{max-height:none;overflow:visible}.cal-tl__ev--expanded .cal-tl__ev-name{font-size:.78rem}.cal-tl__ev--collapsed{opacity:.85;padding:0 8px;display:flex;align-items:center;border-radius:4px}.cal-tl__ev--collapsed.cal-tl__ev--cyclic{background:#eff6ff}.cal-tl__ev--collapsed.cal-tl__ev--oneshot{background:#fffbeb}.cal-tl__ev--collapsed.cal-tl__ev--private{background:#f5f3ff}.cal-tl__ev-collapsed-line{font-size:.62rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:28px}.cal-tl__ev-collapsed-line strong{font-weight:700;margin-right:3px}.cal-tl__ev-top-row{display:flex;align-items:center;justify-content:space-between;gap:4px}.cal-tl__ev-type-label{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.cal-tl__ev-time{font-size:.58rem;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}.cal-tl__ev-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);font-size:.7rem}.cal-tl__ev-meta{font-size:.58rem;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.cal-tl__ev-roster{display:flex;flex-direction:column;gap:1px;margin-top:2px;overflow:hidden}.cal-tl__ev-roster-item{display:flex;align-items:center;gap:3px;font-size:.58rem;color:var(--text);white-space:nowrap}.cal-tl__ev-roster-more{font-size:.55rem;color:var(--muted);font-weight:600;padding-left:8px}.cal-tl__ev-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.cal-tl__ev-dot--done{background:var(--cal-done)}.cal-tl__ev-dot--absent{background:var(--cal-absent)}.cal-tl__ev-dot--scheduled{background:var(--cal-scheduled)}.cal-tl__ev-dot--cancelled{background:var(--muted)}[data-theme=dark] .cal-tl__ev--cyclic{background:#1e3a5f}[data-theme=dark] .cal-tl__ev--oneshot{background:#422006}[data-theme=dark] .cal-tl__ev--private{background:#2e1065}[data-theme=dark] .cal-tl__ev--collapsed.cal-tl__ev--cyclic{background:#172554}[data-theme=dark] .cal-tl__ev--collapsed.cal-tl__ev--oneshot{background:#351c00}[data-theme=dark] .cal-tl__ev--collapsed.cal-tl__ev--private{background:#1e0a3e}[data-theme=dark] .cal-tl__ev--expanded{background:var(--panel)!important}@media (max-width: 768px){.cal-tl__header{grid-template-columns:40px repeat(7,1fr)}.cal-tl__body{grid-template-columns:40px 1fr}.cal-tl__time-label{font-size:.55rem;padding:2px 3px 0}}.cal-dayv{display:flex;flex-direction:column;gap:.75rem}.cal-dayv__stats{display:flex;gap:.4rem;flex-wrap:wrap}.cal-dayv__stat{display:flex;flex-direction:column;gap:.1rem;padding:.45rem .7rem;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:60px}.cal-dayv__stat-val{font-size:1.15rem;font-weight:800;color:var(--text);letter-spacing:-.02em;line-height:1}.cal-dayv__stat-lbl{font-size:.62rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.cal-dayv__stat--done .cal-dayv__stat-val{color:var(--cal-done)}.cal-dayv__stat--scheduled .cal-dayv__stat-val{color:var(--cal-scheduled)}.cal-dayv__stat--absent .cal-dayv__stat-val{color:var(--cal-absent)}.cal-dayv__stat--wide{flex-direction:row;align-items:center;gap:.5rem;flex:1}.cal-dayv__instr-list{display:flex;gap:.25rem;flex-wrap:wrap}.cal-dayv__instr-chip{display:inline-flex;align-items:center;gap:.2rem;padding:.12rem .4rem;border-radius:var(--radius-pill);background:var(--hover);font-size:.7rem;font-weight:500;color:var(--text)}.cal-dayv__instr-dot{width:5px;height:5px;border-radius:50%;background:var(--cta)}.cal-dh{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel)}.cal-dh__header{display:flex;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 50%,var(--panel))}.cal-dh__header-cell{flex-shrink:0;border-right:1px solid color-mix(in srgb,var(--border) 25%,transparent);padding:.3rem 0;text-align:left}.cal-dh__header-label{font-size:.65rem;font-weight:600;color:var(--muted);padding-left:4px;font-variant-numeric:tabular-nums}.cal-dh__body{position:relative;min-height:70px;margin-top:4px}.cal-dh__vline{position:absolute;top:0;bottom:0;width:0;border-left:1px solid color-mix(in srgb,var(--border) 20%,transparent)}.cal-dh__vline--hour{border-left-color:color-mix(in srgb,var(--border) 50%,transparent)}.cal-dh__ev{position:absolute;border-radius:6px;border-top:3px solid;padding:4px 8px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;gap:1px;font-size:.68rem;line-height:1.3;box-shadow:0 1px 4px #0000000f;transition:all .3s cubic-bezier(.4,0,.2,1)}.cal-dh__ev:hover:not(.cal-dh__ev--expanded){box-shadow:0 2px 8px #0000001a;filter:brightness(.97)}.cal-dh__ev--cyclic{background:#dbeafe;border-top-color:var(--cal-cyclic)}.cal-dh__ev--oneshot{background:#fef3c7;border-top-color:var(--cal-oneshot)}.cal-dh__ev--private{background:#ede9fe;border-top-color:var(--cal-private)}.cal-dh__ev--expanded{background:var(--panel)!important;box-shadow:0 8px 30px #00000021;border-radius:8px;padding:6px 10px;overflow:visible}.cal-dh__ev-top{display:flex;align-items:center;justify-content:space-between;gap:4px}.cal-dh__ev-type{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.cal-dh__ev--cyclic .cal-dh__ev-type{color:var(--cal-cyclic)}.cal-dh__ev--oneshot .cal-dh__ev-type{color:var(--cal-oneshot)}.cal-dh__ev--private .cal-dh__ev-type{color:var(--cal-private)}.cal-dh__ev-time{font-size:.56rem;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}.cal-dh__ev-name{font-weight:600;font-size:.7rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-dh__ev-instr{font-size:.6rem;color:var(--muted)}.cal-dh__ev-roster{display:flex;flex-direction:column;gap:1px;margin-top:3px;padding-top:3px;border-top:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.cal-dh__ev-student{display:flex;align-items:center;gap:3px;font-size:.6rem;color:var(--text);white-space:nowrap}.cal-dh__dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.cal-dh__dot--done{background:var(--cal-done)}.cal-dh__dot--absent{background:var(--cal-absent)}.cal-dh__dot--scheduled{background:var(--cal-scheduled)}.cal-dh__dot--cancelled{background:var(--muted)}[data-theme=dark] .cal-dh__ev--cyclic{background:#1e3a5f}[data-theme=dark] .cal-dh__ev--oneshot{background:#422006}[data-theme=dark] .cal-dh__ev--private{background:#2e1065}[data-theme=dark] .cal-dh__ev--expanded{background:var(--panel)!important}.cal-slot{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--duration-fast) ease}.cal-slot:hover{border-color:color-mix(in srgb,var(--cta) 25%,var(--border))}.cal-slot--full{border-color:#dc26264d;background:color-mix(in srgb,var(--overdue) 2%,var(--panel))}.cal-slot--empty{border-style:dashed;opacity:.5}.cal-slot__header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .65rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 50%,var(--panel))}.cal-slot__time{font-size:.88rem;font-weight:700;color:var(--text);letter-spacing:-.01em}.cal-slot__occupancy{font-size:.7rem;font-weight:600;color:var(--muted);padding:.1rem .4rem;background:var(--hover);border-radius:var(--radius-pill);font-variant-numeric:tabular-nums}.cal-slot__occupancy--full{background:#dc26261a;color:var(--overdue)}.cal-slot__counters{display:flex;gap:.5rem;padding:.35rem .65rem;border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent);font-size:.7rem;font-weight:600}.cal-slot__counter--done{color:var(--cal-done)}.cal-slot__counter--absent{color:var(--cal-absent)}.cal-slot__counter--scheduled{color:var(--cal-scheduled)}.cal-slot__body{padding:.4rem 0}.cal-slot__header .cal-slot__counters{display:flex;gap:.4rem;font-size:.68rem;font-weight:600;margin-left:auto;border-bottom:none;padding:0}.cal-slot__group{padding:.3rem .65rem .35rem;margin:0 .25rem;border-radius:var(--radius-sm)}.cal-slot__group--cyclic{border-left:3px solid var(--cal-cyclic);background:var(--cal-cyclic-bg)}.cal-slot__group+.cal-slot__group,.cal-slot__group+.cal-slot__row,.cal-slot__row+.cal-slot__group{margin-top:.25rem}.cal-slot__group-header{display:flex;align-items:center;justify-content:space-between;gap:.3rem;padding:.15rem 0 .2rem}.cal-slot__group-name{font-size:.78rem;font-weight:600;color:var(--text)}.cal-slot__badge{font-size:.6rem;font-weight:800;padding:.08rem .35rem;border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.06em}.cal-slot__badge--cyclic{background:var(--cal-cyclic-bg);color:var(--cal-cyclic)}.cal-slot__badge--oneshot{background:var(--cal-oneshot-bg);color:var(--cal-oneshot)}.cal-slot__badge--private{background:var(--cal-private-bg);color:var(--cal-private)}.cal-slot__student{display:flex;align-items:center;gap:.35rem;padding:.12rem 0;font-size:.78rem}.cal-slot__dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.cal-slot__dot--done{background:var(--cal-done)}.cal-slot__dot--absent{background:var(--cal-absent)}.cal-slot__dot--scheduled{background:var(--cal-scheduled)}.cal-slot__dot--cancelled{background:var(--muted)}.cal-slot__student-name{color:var(--text);font-weight:400}.cal-slot__students{display:flex;flex-wrap:wrap;gap:3px;margin-top:.2rem}.cal-slot__student-pill{font-size:.68rem;font-weight:500;padding:1px 6px;border-radius:4px}.cal-slot__student-pill--done{background:#16a34a1a;color:var(--cal-done)}.cal-slot__student-pill--absent{background:#dc26261a;color:var(--cal-absent)}.cal-slot__student-pill--scheduled{background:#3b82f61a;color:var(--cal-scheduled)}.cal-slot__student-pill--cancelled{background:var(--hover);color:var(--muted);text-decoration:line-through}.cal-slot__row{display:flex;align-items:center;gap:.35rem;padding:.3rem .65rem;margin:0 .25rem;border-radius:var(--radius-sm);font-size:.8rem}.cal-slot__row--oneshot{border-left:3px solid var(--cal-oneshot);background:var(--cal-oneshot-bg)}.cal-slot__row--private{border-left:3px solid var(--cal-private);background:var(--cal-private-bg)}.cal-slot__row+.cal-slot__row{margin-top:.2rem}.cal-slot__group-size{font-size:.7rem;font-weight:600;color:var(--muted);margin-left:auto}.cal-slot__instr-name{font-size:.72rem;color:var(--muted);font-weight:500}.cal-slot__empty{padding:1rem;text-align:center;font-size:.78rem;color:var(--muted);opacity:.6}@media (max-width: 768px){.cal-week__grid{grid-template-columns:repeat(2,1fr)}.cal-day__slots{grid-template-columns:1fr}.cal-page__header{flex-direction:column;align-items:stretch}.cal-page__view-switcher{align-self:flex-start}.cal-month__cell{min-height:60px;padding:.25rem}}.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}.settings-card__desc{margin:-.4rem 0 .6rem;font-size:.78rem;color:var(--muted)}.settings-card__example{display:block;font-size:.7rem;font-weight:400;color:var(--muted);margin-top:2px}.theme-toggle-btn.active .settings-card__example{color:#ffffffb3}.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:5px;padding:.3rem .85rem;font-size:.8rem;font-weight:500;transition:background .15s,color .15s,box-shadow .15s;box-shadow:none}.theme-toggle-btn:hover:not(.active){color:var(--text);transform:none;box-shadow:none}.theme-toggle-btn.active{background:var(--panel);color:var(--text);box-shadow:var(--shadow-xs)}.color-scheme-picker{display:flex;gap:6px;flex-wrap:wrap}.color-scheme-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:.82rem;font-weight:500;cursor:pointer;box-shadow:none}.color-scheme-btn:hover{border-color:var(--text);color:var(--text);box-shadow:none;filter:none}.color-scheme-btn.active{border-color:var(--cta);color:var(--cta);background:color-mix(in srgb,var(--cta) 6%,var(--panel));font-weight:600}.color-scheme-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.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)}.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)}
