/* The login page's own CSS (docs/pages-build.md P1). This file is public, so it may not use /css/munin.css, which
   sits behind the login: the few rules it needs are copied from there (W2 Night look, W1q login view). */
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400 800; font-display: swap; src: url("/fonts/inter-latin.woff2") format("woff2"); }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 500 600; font-display: swap; src: url("/fonts/oswald-latin.woff2") format("woff2"); }
:root {
  --bg: #0a0820;
  --surface: #161336;
  --surface-2: #20204e;
  --line: rgba(245, 241, 232, 0.10);
  --line-strong: rgba(245, 241, 232, 0.24);
  --text: #f5f1e8;
  --muted: rgba(237, 229, 211, 0.64);
  --accent: #2d6ee3;
  --accent-hi: #5a8ff0;
  --on-accent: #ffffff;
  --danger: #ff9b9b;
  --focus: #8fb3f5;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-display: "Oswald", "Impact", "Arial Narrow", sans-serif;
  --radius: 14px;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body { background: var(--bg); color: var(--text); font: 15px/1.55 var(--font-body); -webkit-font-smoothing: antialiased; min-height: 100vh; display: flex; flex-direction: column; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 4px; }
button { font: inherit; color: inherit; }
main { flex: 1; padding: 28px 16px 56px; }
.muted { color: var(--muted); }
.small { font-size: 13px; }
.login { max-width: 380px; margin: 6vh auto 0; display: grid; gap: 16px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.login p { margin: 0; }
.brand-big { display: flex; align-items: center; gap: 12px; }
.brand-big .mark { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; background: #20204e; box-shadow: 0 0 0 1px rgba(245, 241, 232, 0.25), 0 10px 28px rgba(45, 110, 227, 0.28); }
.brand-big .name { font: 600 28px/1 var(--font-display); text-transform: uppercase; }
.accounts { display: grid; gap: 10px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 16px; border-radius: 999px; border: 1px solid var(--line-strong); background: var(--surface-2); color: var(--text); font: 600 14px/1 var(--font-body); cursor: pointer; }
.btn:hover { border-color: var(--text); }
.btn.primary { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.btn.primary:hover { background: var(--accent-hi); border-color: var(--accent-hi); }
.btn:disabled { opacity: 0.5; cursor: not-allowed; }
.login-form { display: grid; gap: 14px; }
.field { display: grid; gap: 6px; }
.field label { font-size: 13px; font-weight: 600; color: var(--text); }
.field input { font: inherit; color: var(--text); background: var(--bg); border: 1px solid var(--line-strong); border-radius: 10px; padding: 10px 12px; width: 100%; }
.field input:focus-visible { border-color: var(--focus); outline: 2px solid var(--focus); outline-offset: 1px; }
.field input[aria-invalid="true"] { border-color: var(--danger); }
.dev-accounts { display: grid; gap: 10px; padding-top: 14px; border-top: 1px solid var(--line); }
.dev-accounts[hidden] { display: none; }
.status { min-height: 1.5em; font-size: 13px; color: var(--muted); }
.status.bad { color: var(--danger); }
footer.site { border-top: 1px solid var(--line); padding: 22px 16px 28px; font-size: 13px; color: var(--muted); text-align: center; }
footer.site strong { color: var(--text); font-weight: 600; }
