/* Account access shares the workspace palette and type, with focused forms. */
:root { --bg:#f4f6fb; --surface:#fff; --ink:#1c293d; --ink-2:#58677d; --border:#e2e7ef; --accent:#3458b8; --accent-soft:#eaf0ff; --body:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
body { min-height:100dvh; background:var(--bg); color:var(--ink); font:16px/1.6 var(--body); -webkit-font-smoothing:antialiased; }
.auth-wrap { min-height:100dvh; display:grid; place-items:center; padding:48px 24px; }
.auth-card { width:100%; max-width:460px; padding:36px; background:var(--surface); border:1px solid var(--border); border-radius:16px; }
.access-brand { display:inline-flex; font-size:24px; text-decoration:none; margin-bottom:32px; }
h1 { font-family:'Cabinet Grotesk',-apple-system,sans-serif; font-size:32px; font-weight:800; letter-spacing:-.035em; line-height:1.2; }
.subtitle { margin:12px 0 28px; color:var(--ink-2); font-size:15px; }
.form-group { display:flex; flex-direction:column; gap:8px; margin-bottom:20px; }
.form-group label { font-size:14px; font-weight:600; }
input,button { font:inherit; }
.form-group input { width:100%; min-height:48px; padding:11px 13px; color:var(--ink); background:white; border:1px solid #cad3e0; border-radius:8px; }
.form-group input::placeholder { color:#66758a; }
.hint { color:var(--ink-2); font-size:13px; }
button { cursor:pointer; }
button:disabled { opacity:.6; cursor:not-allowed; }
.submit-btn { width:100%; min-height:48px; padding:12px 16px; border:0; border-radius:8px; color:white; background:var(--accent); font-size:15px; font-weight:600; }
.submit-btn:hover:not(:disabled) { background:#284897; }
.footer-link { margin-top:16px; text-align:center; }
.footer-link button { min-height:44px; padding:10px; color:var(--accent); border:0; background:transparent; text-decoration:underline; text-underline-offset:3px; font-size:14px; }
.footer-note { margin-top:24px; color:var(--ink-2); font-size:13px; text-align:center; }
a { color:var(--accent); text-underline-offset:3px; }
a:focus-visible,button:focus-visible,input:focus-visible { outline:3px solid #6587e7; outline-offset:3px; }
.banner { display:none; padding:12px 14px; margin:20px 0; border-radius:8px; font-size:14px; overflow-wrap:anywhere; }
.banner.show { display:block; }
.banner.error { background:#fff1ef; color:#8f302a; border:1px solid #efcdc8; }
.banner.success { background:#edf7f0; color:#28643f; border:1px solid #cbe6d4; }
.banner.info { background:var(--accent-soft); color:#3458b8; border:1px solid #d3def7; }
[hidden] { display:none !important; }
@media(max-width:480px) { .auth-wrap { padding:28px 16px; align-items:start; } .auth-card { padding:28px 24px; } h1 { font-size:29px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
