/* Sign-in and access-request pages (open without login). */
:root { --bg: #ffffff; --fg: #1d2330; --muted: #5d6675; --line: #d7dce3; --accent: #1f5fbf; --bad: #c0392b; }
@media (prefers-color-scheme: dark) {
	:root { --bg: #15181e; --fg: #e4e7ec; --muted: #9aa3b2; --line: #333a46; --accent: #7fb0ff; --bad: #ff7b6b; }
}
* { box-sizing: border-box; }
body { margin: 0; padding: 32px 16px; background: var(--bg); color: var(--fg);
	font: 15px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; }
.card { max-width: 460px; margin: 0 auto; }
h1 { font-size: 22px; margin: 0 0 8px; }
h2 { font-size: 17px; margin: 16px 0 4px; }
p { color: var(--muted); }
hr { border: none; border-top: 1px solid var(--line); margin: 24px 0; }
.button { display: inline-block; padding: 8px 16px; border-radius: 6px; background: var(--accent);
	color: #fff; text-decoration: none; font-weight: 600; border: none; font: inherit; cursor: pointer; }
.button.secondary { background: transparent; color: var(--accent); border: 1px solid var(--accent); }
form { display: grid; gap: 12px; }
label { display: grid; gap: 4px; font-weight: 600; }
input, textarea { font: inherit; padding: 6px 8px; border: 1px solid var(--line); border-radius: 4px;
	background: var(--bg); color: var(--fg); width: 100%; }
.err { color: var(--bad); font-weight: 600; }
.hp { position: absolute; left: -9999px; }
