/* Soft gate only — app chrome comes from Neuro-Viewer's app.css. */
#nv-gate { min-height: 100%; display: grid; place-items: center; padding: 24px; background: var(--app, #f6f9fc); }
.gate-card { width: min(360px, 100%); background: var(--surface, #fff); border: 1px solid var(--line, #e1e6ea); border-radius: 10px; padding: 28px 24px; box-shadow: var(--shadow-lg, 0 12px 32px rgba(16, 24, 40, .18)); font: 14px/1.45 var(--font, 'Nunito Sans', sans-serif); color: var(--ink, #2e3438); }
.gate-card h1 { margin: 0 0 4px; font-size: 20px; font-weight: 800; }
.gate-card p { margin: 0 0 20px; color: var(--ink-2, #5c6870); font-size: 13px; }
.gate-card label { display: block; font-size: 12px; font-weight: 600; margin: 0 0 4px; color: var(--ink-2, #5c6870); }
.gate-card input { width: 100%; height: 36px; padding: 0 10px; border: 1px solid var(--line, #e1e6ea); border-radius: 6px; background: #fff; margin-bottom: 12px; font: inherit; box-sizing: border-box; }
.gate-card button { width: 100%; height: 36px; border: 0; border-radius: 6px; background: var(--accent, #00706d); color: #fff; font-weight: 700; cursor: pointer; font: inherit; }
.gate-card button:hover { background: var(--accent-ink, #00605d); }
.gate-error { color: var(--bad, #b42318); font-size: 13px; margin: 0 0 8px; }
[hidden] { display: none !important; }
