:root,[data-theme=light]{--surface:#fff;--surface-sunken:#f7f8f9;--surface-admin:#e9f2ff;--surface-raised:#fff;--surface-overlay:#fff;--surface-hover:#f1f2f4;--surface-pill:#f1f2f4;--fg:#172b4d;--fg-subtle:#626f86;--fg-muted:#758195;--fg-on-shell:#172b4d;--fg-on-shell-subtle:#626f86;--fg-inverse:#fff;--text:var(--fg);--text-subtle:var(--fg-subtle);--text-muted:var(--fg-muted);--text-on-shell:var(--fg-on-shell);--text-on-shell-subtle:var(--fg-on-shell-subtle);--text-inverse:var(--fg-inverse);--border:#dcdfe4;--border-soft:#f1f2f4;--border-bold:#b3b9c4;--border-shell:#dcdfe4;--brand:#0c66e4;--brand-hover:#05c;--brand-text:#0c66e4;--success:#1f845a;--success-hover:#216e4e;--warn:#7f5f01;--warn-strong:#ffc400;--warn-strong-hover:#e1ad00;--warn-strong-on:#172b4d;--danger:#ae2a19;--info:#05c;--terracotta:#c9372c;--success-bg:#dcfff1;--warn-bg:#fff7d6;--danger-bg:#ffedeb;--info-bg:#e9f2ff;--today-bg:#fff7d6;--weekend-bg:#f1f2f4;--holiday-bg:#44546f;--shell-overlay-10:#091e420f;--shell-overlay-20:#091e421f;--backdrop:#091e428a;--tooltip-bg:#172b4d;--tooltip-fg:#fff}[data-theme=dark]{--surface:#1d2125;--surface-sunken:#161a1d;--surface-admin:#0a1b33;--surface-raised:#22272b;--surface-overlay:#282e33;--surface-hover:#2c333a;--surface-pill:#38414a;--fg:#c7d1db;--fg-subtle:#9fadbc;--fg-muted:#8c9bab;--fg-on-shell:#c7d1db;--fg-on-shell-subtle:#9fadbc;--fg-inverse:#1d2125;--text:var(--fg);--text-subtle:var(--fg-subtle);--text-muted:var(--fg-muted);--text-on-shell:var(--fg-on-shell);--text-on-shell-subtle:var(--fg-on-shell-subtle);--text-inverse:var(--fg-inverse);--border:#38414a;--border-soft:#2c333a;--border-bold:#59636f;--border-shell:#38414a;--brand:#579dff;--brand-hover:#85b8ff;--brand-text:#85b8ff;--success:#4bce97;--success-hover:#7ee2b8;--warn:#e2b203;--warn-strong:#ffc400;--warn-strong-hover:#e1ad00;--warn-strong-on:#172b4d;--danger:#f87168;--info:#85b8ff;--terracotta:#f87168;--success-bg:#164b35;--warn-bg:#533f04;--danger-bg:#5d1f1a;--info-bg:#1c2b41;--today-bg:#533f04;--weekend-bg:#2c333a;--holiday-bg:#758195;--shell-overlay-10:#ffffff14;--shell-overlay-20:#ffffff29;--backdrop:#0009;--tooltip-bg:#f4f5f7;--tooltip-fg:#172b4d}:root{--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-10:10px;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--text-4xl:36px;--text-5xl:48px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:9999px;--control-h:2.375rem;--control-h-sm:1.625rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--shadow-menu:0 8px 24px #00000047, 0 2px 6px #00000029;--shadow-tooltip:0 8px 24px #00000038, 0 2px 6px #00000024;--shadow-modal:0 20px 25px -5px #00000040, 0 8px 10px -6px #0003;--focus-ring:0 0 0 2px color-mix(in srgb, var(--brand) 35%, transparent);--t-fast:.12s ease;--t-med:.2s ease}.bg-cream{background-color:var(--surface)}.bg-ink{background-color:var(--surface-sunken)}.bg-ink-light{background-color:var(--surface-raised)}.bg-admin{background-color:var(--surface-admin)}.bg-stone{background-color:var(--surface-pill)}.bg-teal{background-color:var(--brand)}.bg-terracotta{background-color:var(--terracotta)}.bg-danger{background-color:var(--danger)}.bg-success{background-color:var(--success)}.bg-warn-strong{background-color:var(--warn-strong)}.bg-success-bg{background-color:var(--success-bg)}.bg-warn-bg{background-color:var(--warn-bg)}.bg-danger-bg{background-color:var(--danger-bg)}.bg-info-bg{background-color:var(--info-bg)}.text-ink{color:var(--fg)}.text-ink-soft{color:var(--fg-subtle)}.text-muted{color:var(--fg-muted)}.text-cream{color:var(--fg-on-shell)}.text-teal{color:var(--brand-text)}.text-terracotta{color:var(--terracotta)}.text-danger{color:var(--danger)}.text-warn{color:var(--warn)}.text-success{color:var(--success)}.text-info{color:var(--info)}.text-inverse{color:var(--fg-inverse)}.border-stone{border-color:var(--border)}.border-stone-soft{border-color:var(--border-soft)}.border-stone-dark{border-color:var(--border-bold)}.border-teal-real{border-color:var(--brand)}*{box-sizing:border-box}body{background:var(--surface-sunken);color:var(--fg);font-family:var(--font-sans);font-size:var(--text-sm);-webkit-font-smoothing:antialiased;margin:0}.app-center{min-height:100dvh;padding:var(--space-4);place-items:center;display:grid}.card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);width:360px;max-width:100%;box-shadow:var(--shadow-modal);padding:var(--space-8);gap:var(--space-4);display:grid}h1{font-family:var(--font-display);font-weight:600;font-size:var(--text-2xl);color:var(--fg);margin:0}.eyebrow{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);margin:0}label{gap:var(--space-1);font-size:var(--text-xs);color:var(--fg-subtle);display:grid}input,textarea{width:100%;height:var(--control-h);padding:0 var(--space-3);background:var(--surface);color:var(--fg);border:1px solid var(--border-bold);border-radius:var(--radius-md);font:inherit}textarea{height:auto;padding:var(--space-2) var(--space-3);resize:vertical}input:focus,textarea:focus{border-color:var(--brand);box-shadow:var(--focus-ring);outline:none}button{font:inherit;cursor:pointer}.btn{height:var(--control-h);padding:0 var(--space-4);border-radius:var(--radius-md);background:var(--brand);color:var(--fg-inverse);transition:background var(--t-fast);border:1px solid #0000;font-weight:500}.btn:hover:not(:disabled){background:var(--brand-hover)}.btn:disabled{opacity:.6;cursor:default}.btn-secondary{background:var(--surface-pill);color:var(--fg);border-color:var(--border-bold)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover)}.link-btn{color:var(--brand-text);font-size:var(--text-xs);background:0 0;border:none;padding:0}.link-btn:hover{text-decoration:underline}.muted{color:var(--fg-subtle);font-size:var(--text-xs);margin:0}.error{color:var(--danger);font-size:var(--text-sm);margin:0}.members{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.members li{padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);font-size:var(--text-sm)}
