/* The login page. Standalone: it must render for someone with no session, so it
   shares nothing with style.css beyond the palette copied below. */
:root {
  --bg: #0e1014; --panel: #171a20; --panel2: #1e222b;
  --line: #2a2f3a; --text: #e6e8ec; --muted: #8b91a0;
  --accent: #5b8cff; --accent2: #37d6a0; --danger: #ff5d6c;
}
* { box-sizing: border-box; }
body {
  margin: 0; min-height: 100vh; display: grid; place-items: center;
  font: 14px/1.5 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  background: var(--bg); color: var(--text);
  /* the canvas grid, so the page reads as part of the same app */
  background-image: radial-gradient(#191c22 1px, transparent 1px);
  background-size: 22px 22px;
}
form {
  width: min(360px, calc(100vw - 32px));
  background: var(--panel); border: 1px solid var(--line);
  border-radius: 14px; padding: 26px 24px 20px;
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
}
h1 { margin: 0; font-size: 22px; letter-spacing: -.2px; }
h1 span { color: var(--accent); }
.sub { margin: 6px 0 22px; color: var(--muted); font-size: 12.5px; }
label { display: block; font-size: 11px; text-transform: uppercase;
  letter-spacing: .06em; color: var(--muted); margin-bottom: 6px; }
input {
  width: 100%; margin-bottom: 16px; padding: 10px;
  background: var(--panel2); color: var(--text);
  border: 1px solid var(--line); border-radius: 8px;
  font-size: 13.5px; font-family: inherit; outline: none;
}
input:focus { border-color: var(--accent); }
button {
  width: 100%; padding: 11px; border-radius: 9px; cursor: pointer;
  background: var(--accent); border: 1px solid var(--accent); color: #fff;
  font: 600 13.5px inherit;
}
button:hover:not(:disabled) { filter: brightness(1.08); }
button:disabled { opacity: .6; cursor: progress; }
#msg { min-height: 18px; margin-top: 12px; font-size: 12px; }
#msg.err { color: var(--danger); }
#msg.ok { color: var(--accent2); }
.warn { margin: 20px 0 0; padding-top: 14px; border-top: 1px solid var(--line);
  color: var(--muted); font-size: 10.5px; line-height: 1.45; }
