:root{--bg:#f4f6fb;--surface:#fff;--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--primary:#b91c1c;--primary-dark:#991b1b;--accent:#1e3a8a;--ok:#166534;--ok-bg:#f0fdf4;--danger:#991b1b;--danger-bg:#fef2f2;--shadow:0 16px 40px #0f172a14;--font:"Plus Jakarta Sans", "Segoe UI", sans-serif;color:var(--ink);background:var(--bg);font-family:var(--font);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0, #1e3a8a14, transparent 32%), radial-gradient(circle at 100% 0, #b91c1c14, transparent 28%), var(--bg);min-height:100vh;margin:0}button,input{font:inherit}button{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:10px;padding:.55rem .9rem}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}button.primary:hover:not(:disabled){background:var(--primary-dark)}code{font-family:ui-monospace,Consolas,monospace;font-size:.92em}.login-screen{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow);border-radius:18px;gap:.85rem;padding:1.6rem;display:grid}.login-card h1,.page-head h1,.card h2,.card h3{margin:0}.eyebrow{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.lead,.muted{color:var(--muted)}.lead{margin:.35rem 0 0}.field,.check{gap:.35rem;display:grid}.field span,.check span{font-size:.92rem;font-weight:600}.field small,.check small,.kept{color:var(--muted);font-size:.8rem}.field input{border:1px solid var(--line);background:#f8fafc;border-radius:10px;width:100%;padding:.65rem .75rem}.field input:focus{border-color:var(--accent);background:#fff;outline:2px solid #1e3a8a40}.check{grid-template-columns:auto 1fr;align-items:start;gap:.6rem;padding:.35rem 0}.check small{font-weight:400;display:block}.banner{color:var(--accent);background:#eff6ff;border-radius:12px;margin:0;padding:.75rem .9rem}.banner.ok{background:var(--ok-bg);color:var(--ok)}.banner.error{background:var(--danger-bg);color:var(--danger)}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}aside{color:#fff;background:#0f172a;padding:1.4rem 1rem}.brand{margin:0;font-size:1.2rem;font-weight:700}.brand-sub{color:#94a3b8;margin:.15rem 0 1.4rem}.nav-current{background:#ffffff14;border-radius:10px;padding:.55rem .7rem;font-weight:600;display:block}.workspace{min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fffc;justify-content:flex-end;align-items:center;gap:.8rem;padding:.8rem 1.4rem;display:flex}.page{gap:.9rem;padding:1.4rem;display:grid}.page-head,.page-actions{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-actions{flex-shrink:0}.stack{gap:1rem;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;gap:.8rem;padding:1.1rem 1.15rem 1.2rem;display:grid}.card h3{font-size:1rem}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.checks{flex-wrap:wrap;gap:.4rem 1.2rem;display:flex}.kept{margin:0}@media (width<=860px){.shell{grid-template-columns:1fr}aside{padding-bottom:.8rem}.brand-sub{margin-bottom:.6rem}.page-head,.grid{grid-template-columns:1fr;display:grid}}
