:root{--bg:#f7f8fa;--surface:#fff;--border:#dfe3e8;--text:#1c2126;--text-secondary:#5b6672;--primary:#16607a;--warning:#b45309;--danger:#b91c1c;--radius:8px;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--control-height:2.55rem;--control-line-height:1.5}@media (prefers-color-scheme:dark){:root{--bg:#14181c;--surface:#1b2026;--border:#2c333b;--text:#e8ecef;--text-secondary:#9aa5b1;--primary:#4bb3d4;--warning:#e0a34a;--danger:#f28b82}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}body,h1{margin:0}h1{font-size:1.35rem}h2{font-size:1rem;margin:var(--space-5) 0 var(--space-2)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.admin-shell{min-height:100vh;display:flex;flex-direction:column}.admin-bar{display:flex;align-items:baseline;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border);background:var(--surface)}.admin-brand{font-weight:600}.admin-scope{margin:0;font-size:.85rem;color:var(--text-secondary)}.admin-bar .text-button{margin-left:auto}.admin-body{display:flex;flex:1 1;align-items:flex-start}.admin-main{flex:1 1;min-width:0;padding:var(--space-6)}.admin-waiting{padding:var(--space-6);color:var(--text-secondary)}.sidebar{width:15rem;flex:0 0 auto;padding:var(--space-5) var(--space-4);border-right:1px solid var(--border);background:var(--surface);min-height:calc(100vh - 4rem)}@media (max-width:800px){.admin-body{flex-direction:column}.sidebar{width:100%;min-height:0;border-right:0;border-bottom:1px solid var(--border)}}.nav-group h2{margin:0 0 var(--space-2);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.nav-group ul{list-style:none;margin:0 0 var(--space-5);padding:0;display:flex;flex-direction:column;gap:2px}.nav-item{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:var(--text);text-decoration:none;font-size:.92rem}.nav-item.is-active,.nav-item:hover{background:var(--bg)}.nav-item.is-active{font-weight:600}.nav-item.is-disabled{color:var(--text-secondary);opacity:.55;cursor:default}.nav-selected{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem}.nav-selected-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.page-header{margin-bottom:var(--space-5)}.subtitle{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:.9rem}:where(button,input,select){font:inherit;line-height:var(--control-line-height);color:inherit}button.primary,button.secondary{min-height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius);border:1px solid var(--border);cursor:pointer}button.primary{background:var(--primary);border-color:var(--primary);color:#fff}button.secondary{background:var(--surface)}button.secondary.is-current{border-color:var(--primary);font-weight:600}button[disabled]{opacity:.55;cursor:default}.text-button{background:none;border:0;padding:0;color:var(--primary);cursor:pointer;text-decoration:underline;font-size:.9rem}input[type=email],input[type=password],input[type=search]{width:100%;min-height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}label{display:flex;flex-direction:column;gap:var(--space-1);font-size:.9rem}label.checkbox-row{flex-direction:row;align-items:flex-start;gap:var(--space-3);font-size:.9rem;color:var(--text)}.search{margin-bottom:var(--space-4)}.estate{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:0 0 var(--space-5);padding:0}.estate>div{flex:1 1 6rem;padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.estate dt{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.estate dd{margin:var(--space-1) 0 0;font-size:1.5rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.estate .is-attention dd{color:var(--warning)}.clinics,.staff{list-style:none;margin:0;padding:0}.clinic,.clinics,.staff{display:flex;flex-direction:column;gap:var(--space-2)}.clinic{width:100%;padding:var(--space-3) var(--space-4);text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text)}.clinic:hover{border-color:var(--primary)}.clinic-name{font-weight:600}.clinic-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:.85rem;color:var(--text-secondary)}.plan{font-weight:600;color:var(--text)}.use.use-dormant,.use.use-never{color:var(--warning)}.staff li{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:space-between;padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.staff-who{display:flex;flex-direction:column}.staff-meta{font-size:.85rem;color:var(--text-secondary)}.plans,.staff-meta{display:flex;gap:var(--space-2)}.plans,.seat-form{flex-wrap:wrap}.seat-form{display:flex;align-items:flex-end;gap:var(--space-2)}.confirm{margin-top:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.confirm p{margin:0 0 var(--space-2);font-size:.9rem}.confirm-actions{display:flex;gap:var(--space-3);align-items:center}.warning{color:var(--warning);font-weight:500}.notice{margin:var(--space-3) 0 0;padding:var(--space-3);border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);font-size:.9rem}.failure{padding:var(--space-4);border:1px solid var(--danger);border-radius:var(--radius);color:var(--danger)}.empty{padding:var(--space-5);color:var(--text-secondary)}.login{min-height:100vh;display:grid;place-items:center;padding:var(--space-5)}.login-card{width:min(24rem,100%);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.plan-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem;font-size:.9rem}.plan-history li{padding:.4rem 0;border-top:1px solid var(--border,#e4e4dc)}.plan-history li:first-child{border-top:0}.plan-history-when{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-secondary)}.plan-history-lost{font-weight:600}.card{margin:0 0 var(--space-5);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.card>h2{margin:0 0 var(--space-2);font-size:1.1rem}.card>h3{margin:var(--space-5) 0 var(--space-2);font-size:.95rem}.muted{margin:0 0 var(--space-3);color:var(--text-secondary);font-size:.9rem}.error{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);color:var(--danger);background:var(--surface);border:1px solid var(--danger);border-radius:var(--radius)}.table-wrap{overflow-x:auto}.practice-list{margin:0 0 var(--space-4);padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-1)}.practice-add{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-2)}.practice-add label{display:flex;flex-direction:column;gap:var(--space-1);font-size:.85rem;color:var(--text-secondary)}table{width:100%;border-collapse:collapse;font-size:.92rem}thead th{padding:var(--space-2) var(--space-3);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);white-space:nowrap}tbody td,tbody th,thead th{text-align:left;border-bottom:1px solid var(--border)}tbody td,tbody th{padding:var(--space-3);vertical-align:middle}tbody th[scope=row]{font-weight:500}tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}.estate dd,tbody td:has(>input),td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}tbody tr:hover td,tbody tr:hover th{background:var(--bg)}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius)}h1{font-size:1.6rem;letter-spacing:-.01em}h1,h2{font-weight:650}h2{font-size:1.05rem}h3{font-size:.95rem;font-weight:600;margin:var(--space-5) 0 var(--space-2)}button.primary:hover:not([disabled]){filter:brightness(1.08)}button.secondary:hover:not([disabled]){border-color:var(--text-secondary)}.text-button:hover{text-decoration-thickness:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important}}:where(input:not([type]),input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],input[type=date],input[type=time],input[type=tel],input[type=url],select,textarea){width:100%;min-height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:inherit;font:inherit;line-height:var(--control-line-height)}:where(select){-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--space-6);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235b6672' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center}td :where(select){width:auto;min-width:12rem}:root{--measure:72ch}.muted,.subtitle{max-width:var(--measure)}label:has(>input[type=checkbox]),label:has(>input[type=radio]){flex-direction:row;align-items:center;gap:var(--space-2)}label>input[type=checkbox],label>input[type=radio]{width:auto;min-height:0;flex:none}.admin-main>p,.card>p{max-width:var(--measure)}.list-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin:0 0 var(--space-3)}.list-search{flex:1 1 18rem;max-width:26rem}.list-pager{display:flex;align-items:center;gap:var(--space-2)}.list-count{font-size:.85rem;color:var(--text-secondary);white-space:nowrap}.list-count,.numeric{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.numeric{text-align:right}.price-diverged{color:var(--warning)}.price-form{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.price-form h3{margin:0;font-size:1rem}.price-consequence{margin:0;max-width:60ch;color:var(--text-secondary)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.price-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.coach-totals{margin:var(--space-3) 0}.coach-flag{color:var(--danger);font-weight:600}