.access-page { background: #0c110e; }
.access-header,.access-footer { max-width: 1280px; margin: auto; padding: 30px 44px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.access-header > a:last-child { font-size:13px; color:var(--muted); }
.access-layout { max-width:1180px; margin:50px auto 70px; padding:0 36px; display:grid; grid-template-columns:1fr 440px; gap:100px; align-items:center; min-height:64vh; }
.access-intro h1 { font-size:clamp(38px,4.6vw,64px); line-height:1.07; letter-spacing:-.055em; font-weight:500; margin:25px 0; }
.access-intro h1 span { color:var(--accent); }
.access-intro > p:not(.eyebrow) { color:var(--muted); font-size:16px; line-height:1.8; }
.access-features { display:grid; gap:19px; margin:44px 0; }
.access-features > span { display:flex; align-items:center; gap:20px; color:var(--accent-dim); font-size:11px; }
.access-features strong { font-size:14px; font-weight:500; color:var(--text-2); }
.access-intro > small,.access-footer { color:var(--faint); font-size:12px; }
.access-card { padding:32px; background:var(--surface); border:1px solid var(--line-strong); border-radius:20px; box-shadow:var(--shadow-lg); min-width:0; }
.access-badge { font-size:9px; letter-spacing:.13em; color:var(--accent); }
.access-card h2 { font-size:29px; letter-spacing:-.035em; font-weight:500; line-height:1.18; margin:18px 0; }
.access-card > p { font-size:13px; color:var(--muted); line-height:1.7; }
.access-card form { display:grid; gap:18px; margin-top:24px; }
.access-card label input { margin-top:8px; min-height:46px; }
.access-card .primary { min-height:47px; width:100%; margin-top:5px; }
.access-card .access-help { font-size:11px; line-height:1.7; color:var(--muted); overflow-wrap:anywhere; }
.access-back { padding:6px; border:0; background:transparent; font-size:12px; }
.access-security { margin-top:26px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; display:flex; gap:9px; align-items:center; }
.access-security span { color:var(--accent); }
#vauth-challenge { text-align:center; margin:24px 0 0; }
#vauth-qr { display:block; width:100%; max-width:320px; height:auto; margin:0 auto 18px; background:#fff; border-radius:8px; }
#vauth-qr[hidden] { display:none; }
#vauth-status { font-size:13px; line-height:1.6; color:var(--text-2); }
#vauth-timer { font-variant-numeric:tabular-nums; }
.access-check { display:flex; gap:10px; align-items:center; }
.access-card .access-check input { width:16px; min-height:16px; height:16px; margin:0; }
#totp-secret { font-family:monospace; font-size:12px; }
.recovery-codes { padding:14px; margin:20px 0; list-style:none; background:var(--bg); border:1px solid var(--line); border-radius:10px; display:grid; gap:9px; text-align:center; font-size:13px; }
@media(max-width:1000px){.access-layout{gap:45px;grid-template-columns:1fr minmax(320px,420px);}.access-intro h1{font-size:43px;}}
@media(max-width:760px){.access-header,.access-footer{padding:24px;}.access-layout{display:block;max-width:500px;margin:22px auto 40px;padding:0 20px;min-height:auto;}.access-intro{margin-bottom:26px;}.access-intro h1{font-size:36px;}.access-intro h1 br{display:none;}.access-intro > p:not(.eyebrow),.access-features,.access-intro>small{display:none;}.access-card{padding:25px;}.access-footer span{display:none;}}
