:root{--accent:#1f4fd8;--accent-text:#fff;--bg:#f3f5f9;--surface:#fff;--text:#16202e;--muted:#5d6b80;--border:#d5dbe6;--ok:#1a7f45;--bad:#b42318;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--accent:#6c8cff;--accent-text:#0b1220;--bg:#0e141f;--surface:#161e2c;--text:#e8edf6;--muted:#9aa8bd;--border:#2b3648;--ok:#4cc38a;--bad:#ff8a7a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:14px;width:100%;max-width:400px;padding:28px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand h1{margin:0;font-size:22px}.brand-mark{background:var(--accent);width:36px;height:36px;color:var(--accent-text);border-radius:9px;place-items:center;font-weight:700;display:grid}h2{margin:8px 0 0;font-size:18px}.muted{color:var(--muted);margin:0;font-size:14px}.field{flex-direction:column;gap:6px;font-size:14px;display:flex}.input{border:1px solid var(--border);color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.input:focus-within{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:-1px}.input input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:11px 0}.icon-button{color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:4px;display:grid}.primary{background:var(--accent);color:var(--accent-text);font:inherit;cursor:pointer;border:0;border-radius:8px;padding:12px;font-weight:600}.error{color:var(--bad);margin:0;font-size:14px}.small{font-size:13px}.primary:disabled{opacity:.55;cursor:not-allowed}.secondary{border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:11px}.with-icon{justify-content:center;align-items:center;gap:8px;display:flex}.status{color:var(--muted);align-items:center;gap:6px;margin:4px 0 0;font-size:13px;display:flex}.status-ok{color:var(--ok)}.status-down{color:var(--bad)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spin{animation:none}}
