:root{--bg:#f4f6f8;--surface:#fff;--border:#dde3e9;--text:#1c2833;--muted:#5d6d7e;--brand:#297aba;--brand-dark:#1f5f91;--danger:#c0392b;--radius:8px;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:var(--brand)}.center-page{place-items:center;min-height:100vh;padding:24px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px}.login-card{width:100%;max-width:380px}.login-card h1{margin:0 0 4px;font-size:1.4rem}.login-card p.sub{color:var(--muted);margin:0 0 20px}label{margin:14px 0 6px;font-size:.9rem;font-weight:600;display:block}input{width:100%;font:inherit;border:1px solid var(--border);background:#fff;border-radius:6px;padding:10px 12px}input:focus{outline:2px solid var(--brand);outline-offset:-1px;border-color:#0000}button{font:inherit;cursor:pointer;border:1px solid var(--brand);background:var(--brand);color:#fff;border-radius:6px;padding:10px 16px;font-weight:600}button:hover:not(:disabled){background:var(--brand-dark)}button:disabled{opacity:.6;cursor:default}button.secondary{color:var(--brand);background:0 0}button.block{width:100%;margin-top:20px}.error{color:var(--danger);background:#fdf0ef;border-radius:6px;margin-top:16px;padding:8px 12px;font-size:.9rem}.layout{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.sidebar{color:#d5dde5;background:#1c2833;padding:20px 0}.sidebar .brand{color:#fff;padding:0 20px 20px;font-size:1.1rem;font-weight:700}.sidebar nav a,.sidebar nav .soon{color:inherit;padding:8px 20px;text-decoration:none;display:block}.sidebar nav a.active,.sidebar nav a:hover{color:#fff;background:#ffffff14}.sidebar nav .soon{opacity:.45;cursor:default}.main{padding:0}.topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:flex-end;align-items:center;gap:12px;padding:12px 24px;display:flex}.content{padding:24px}.content h1{margin-top:0;font-size:1.4rem}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{color:var(--brand-dark);background:#eaf2f9;border-radius:999px;padding:2px 10px;font-size:.85rem}.muted{color:var(--muted)}@media (width<=760px){.layout{grid-template-columns:1fr}.sidebar{display:none}}
