:root{--navy: #2c3e50;--navy-deep: #23313f;--teal: #75a293;--teal-dark: #5d8a7c;--teal-bright: #1aa6b7;--coral: #e58a6a;--coral-dark: #d07555;--cream: #faf7f2;--cream-dark: #f5ede4;--sand: #e8e0d5;--surface: #ffffff;--bg: #fffcf5;--text: #3d3d3d;--text-light: #6b6b6b;--text-muted: #8b8b8b;--teal-soft: #75a29318;--coral-soft: #e58a6a18;--line: #2c3e5012;--line-2: #2c3e5022;--line-strong: #2c3e5040;--r-sm: 4px;--r: 6px;--r-md: 8px;--r-lg: 12px;--r-pill: 999px;--sh-sm: 0 1px 2px #2c3e5012, 0 1px 1px #2c3e500a;--sh: 0 2px 6px #2c3e5012, 0 1px 2px #2c3e500a;--sh-md: 0 6px 16px #2c3e5012, 0 2px 6px #2c3e500a;--sh-lg: 0 10px 24px #2c3e5018, 0 2px 6px #2c3e500c;--font-sans: "Asap", system-ui, -apple-system, sans-serif;--font-cond: "Asap Condensed", "Asap", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;font-family:var(--font-sans);color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:grid;place-items:center;background:var(--bg);color:var(--text)}h1,h2,h3{font-family:var(--font-cond);font-weight:700;color:var(--navy);letter-spacing:-.01em;margin-top:0}.muted{color:var(--text-muted)}.eyebrow{font-family:var(--font-cond);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--text-muted)}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--sand);background:var(--surface);color:var(--navy);font-family:var(--font-sans);font-weight:600;font-size:13px;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:var(--sh-sm);transition:all .2s}.btn:hover:not(:disabled),button:hover:not(:disabled){background:var(--cream);border-color:var(--line-strong);transform:translateY(-1px)}.btn:disabled,button:disabled{opacity:.5;pointer-events:none}.btn.primary,button.primary{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 2px 6px #75a29340,inset 0 1px #ffffff24}.btn.primary:hover:not(:disabled),button.primary:hover:not(:disabled){background:var(--teal-dark);border-color:var(--teal-dark)}.btn.coral,button.coral{background:var(--coral);color:#fff;border-color:var(--coral);box-shadow:0 2px 6px #e58a6a40,inset 0 1px #ffffff26}.btn.coral:hover:not(:disabled),button.coral:hover:not(:disabled){background:var(--coral-dark);border-color:var(--coral-dark)}.btn.ghost,button.ghost{background:transparent;color:var(--text-light);border-color:transparent;box-shadow:none}.btn.ghost:hover:not(:disabled),button.ghost:hover:not(:disabled){background:var(--cream);color:var(--navy);border-color:transparent}.btn.danger,button.danger{background:var(--cream);color:var(--coral-dark);border-color:#e58a6a80;box-shadow:none}.btn.danger:hover:not(:disabled),button.danger:hover:not(:disabled){background:var(--coral-soft);border-color:var(--coral)}.btn.sm,button.sm{height:30px;padding:0 12px;font-size:12px}.card{background:var(--surface);border:1px solid var(--sand);border-radius:var(--r-lg);box-shadow:var(--sh-md);padding:2rem 2.25rem;width:100%;max-width:440px}.panel{background:var(--surface);border:1px solid var(--sand);border-radius:var(--r-lg);box-shadow:var(--sh-md);width:min(960px,92vw);align-self:start;margin:4vh 0;padding:1.75rem 2rem}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.panel-head h1{margin:.25rem 0 0;font-size:24px}dl{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem}dt{font-family:var(--font-cond);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:var(--text-muted)}dd{margin:0;color:var(--navy);font-size:13.5px}.brand{display:flex;flex-direction:column;align-items:center}.brand-swirl{width:48px;height:42px;margin-bottom:8px}.brand-wordmark{margin:0;font-family:var(--font-cond);font-weight:700;color:var(--navy);font-size:18px;line-height:1;letter-spacing:-.01em}.nav{display:flex;gap:.75rem;margin:1.25rem 0}.nav a{font-family:var(--font-cond);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:var(--teal-dark);text-decoration:none;padding:.5rem .9rem;border:1px solid var(--sand);border-radius:var(--r-pill);background:var(--surface);transition:all .16s}.nav a:hover{background:var(--cream);border-color:var(--line-strong);color:var(--navy)}.error{background:var(--coral-soft);color:var(--coral-dark);border:1px solid #e58a6a66;padding:.6rem .9rem;border-radius:var(--r-md);margin:1rem 0 0;font-size:12.5px}table.grid{width:100%;border-collapse:collapse;margin-top:1.25rem;font-family:var(--font-sans)}.grid th{text-align:left;font-family:var(--font-cond);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--text-light);background:var(--cream);border-top:1px solid var(--sand);border-bottom:1px solid var(--sand);padding:11px 12px}.grid td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line);color:var(--navy);font-size:13.5px;vertical-align:middle}.grid tbody tr{transition:background .15s}.grid tbody tr:hover td{background:var(--cream)}.grid code{font-family:var(--font-mono);background:var(--cream);border:1px solid var(--sand);padding:.1rem .4rem;border-radius:var(--r-sm);font-size:12.5px}.row-actions{display:flex;gap:.5rem;justify-content:flex-end}.pill{display:inline-flex;align-items:center;font-family:var(--font-cond);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:10px;border-radius:var(--r-pill);padding:.15rem .5rem}.pill.green{background:var(--teal-dark);color:#fff}.pill.gray{background:#595959;color:#fff}.form{display:grid;gap:1rem;margin-top:1.25rem;max-width:520px}.form label{display:grid;gap:.35rem}.form label>span{font-family:var(--font-cond);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:var(--text-light)}.form input[type=text],.form input[type=number],.form select{width:100%;padding:9px 12px;border:1px solid var(--sand);border-radius:var(--r-md);background:var(--cream);font-family:inherit;font-size:13.5px;color:var(--navy);outline:none;transition:all .16s ease}.form input:focus,.form select:focus{background:var(--surface);border-color:var(--teal);box-shadow:0 0 0 4px var(--teal-soft)}.form label.check{grid-auto-flow:column;justify-content:start;align-items:center;gap:.5rem}.form label.check>span{font-family:var(--font-sans);font-weight:600;text-transform:none;letter-spacing:0;font-size:13.5px;color:var(--text)}.actions{display:flex;gap:.75rem;margin-top:.5rem}.login-bg{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:auto;padding:1.5rem;background-color:var(--bg);background-image:radial-gradient(ellipse 60% 50% at 20% 30%,#fbe7de,transparent 60%),radial-gradient(ellipse 50% 50% at 80% 70%,#e5f0ec,transparent 65%)}.login-card{width:100%;max-width:448px;background:var(--surface);border:1px solid var(--sand);border-radius:var(--r-lg);padding:36px 36px 28px;box-shadow:0 20px 50px #2c3e5014}.login-brand{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.login-swirl{width:64px;height:56px;margin-bottom:12px}.login-wordmark{margin:0;font-family:var(--font-cond);font-weight:700;color:var(--navy);font-size:22px;line-height:1;letter-spacing:-.02em}.login-eyebrow{margin:4px 0 0;font-family:var(--font-cond);font-weight:600;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.login-hero{text-align:center;margin-bottom:24px}.login-hero h2{margin:0;font-size:24px;line-height:1.25;letter-spacing:-.02em}.login-hero h2 em{font-style:italic;color:var(--coral)}.login-hero p{margin:6px 0 0;color:var(--text-light);font-size:13.5px}.login-error{margin-bottom:16px;padding:8px 12px;border-radius:var(--r);background:var(--coral-soft);border:1px solid #e58a6a66;color:var(--coral-dark);font-size:12.5px}.login-btn{width:100%;height:48px;gap:10px;font-size:15px;display:flex;align-items:center;justify-content:center;background:var(--surface);color:var(--navy);border:1px solid var(--sand);border-radius:var(--r-pill);font-family:var(--font-sans);font-weight:600;box-shadow:var(--sh-sm);transition:all .2s;cursor:pointer}.login-btn:hover:not(:disabled){background:var(--cream);border-color:var(--line-strong);transform:translateY(-1px)}.login-help{margin:12px 0 0;text-align:center;color:var(--text-muted);font-size:11.5px}.login-help strong{color:var(--navy);font-weight:600}
