:root {
  color-scheme: dark;
  --bg: #080b12;
  --panel: rgba(18, 24, 38, 0.86);
  --panel-2: rgba(28, 37, 57, 0.78);
  --text: #eef4ff;
  --muted: #9ca9be;
  --accent: #7dd3fc;
  --accent-2: #a78bfa;
  --danger: #fda4af;
  --line: rgba(255,255,255,0.12);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at top left, rgba(125,211,252,.2), transparent 36%), radial-gradient(circle at 85% 10%, rgba(167,139,250,.18), transparent 30%), var(--bg); color: var(--text); }
a { color: inherit; }
.shell { width: min(1120px, calc(100% - 32px)); margin: 0 auto; padding: 40px 0; }
.card { border: 1px solid var(--line); background: var(--panel); border-radius: 28px; padding: 28px; box-shadow: 0 24px 80px rgba(0,0,0,.24); backdrop-filter: blur(16px); }
.hero { min-height: 320px; display: flex; flex-direction: column; justify-content: center; }
.eyebrow { color: var(--accent); text-transform: uppercase; letter-spacing: .16em; font-size: 12px; font-weight: 800; }
h1 { font-size: clamp(42px, 8vw, 84px); line-height: .92; margin: 14px 0; }
h2 { margin: 0 0 12px; }
p, li { color: var(--muted); line-height: 1.65; }
.lede { max-width: 760px; font-size: 18px; }
.grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 16px 0; }
.columns { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 16px; }
.warning { background: linear-gradient(135deg, rgba(253,164,175,.12), var(--panel)); }
.actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 20px; }
.button { display: inline-flex; justify-content: center; align-items: center; border: 0; border-radius: 999px; padding: 13px 18px; background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #08111d; font-weight: 800; text-decoration: none; cursor: pointer; }
.button.secondary { background: var(--panel-2); color: var(--text); border: 1px solid var(--line); }
.checklist { padding-left: 22px; }
code { background: rgba(255,255,255,.08); border: 1px solid var(--line); padding: 2px 6px; border-radius: 8px; color: #dbeafe; }
.login-body { display: grid; place-items: center; padding: 24px; }
.login-card { width: min(460px, 100%); }
form { display: grid; gap: 12px; margin-top: 20px; }
label { color: var(--muted); font-weight: 700; }
input { width: 100%; border: 1px solid var(--line); border-radius: 16px; padding: 16px; background: rgba(255,255,255,.08); color: var(--text); font-size: 22px; letter-spacing: .2em; }
.error { color: var(--danger); min-height: 22px; }
@media (max-width: 760px) { .shell { width: min(100% - 24px, 1120px); padding: 20px 0; } .grid, .columns { grid-template-columns: 1fr; } .card { border-radius: 22px; padding: 22px; } }

.turnstile-box { min-height: 65px; display: grid; align-items: center; }
