.access-gate { position:fixed; z-index:100; inset:0; display:grid; grid-template-columns:1.12fr .88fr; background:#fff; }
.access-visual { position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; padding:45px 10%; background:linear-gradient(145deg,#061c3b 0%,#092c59 52%,#0d4c87 100%); color:#fff; }
.access-visual::before { content:""; position:absolute; width:530px; height:530px; top:-230px; right:-160px; border:1px solid rgba(137,207,255,.22); border-radius:50%; box-shadow:0 0 0 58px rgba(137,207,255,.035),0 0 0 122px rgba(137,207,255,.025); }
.visual-brand { position:relative; z-index:1; display:flex; align-items:center; gap:12px; color:#d9e9fb; font-size:10px; font-weight:800; line-height:1.1; letter-spacing:1.1px; }
.visual-brand img { width:52px; height:52px; object-fit:contain; mix-blend-mode:screen; }
.visual-copy { position:relative; z-index:1; max-width:540px; margin:72px 0; }
.eyebrow.light { color:#9cd3ff; }
.visual-copy h1 { max-width:520px; margin:12px 0 17px; color:#fff; font-size:clamp(36px,4.4vw,61px); line-height:1.03; letter-spacing:-2px; }
.visual-copy p { max-width:450px; margin:0; color:#bdd4ed; font-size:16px; }
.visual-orbits { position:absolute; right:3%; bottom:7%; width:260px; height:260px; }
.visual-orbits span { position:absolute; inset:0; border:1px solid rgba(166,213,255,.18); border-radius:50%; }
.visual-orbits span:nth-child(2){inset:34px}.visual-orbits span:nth-child(3){inset:70px;background:rgba(99,187,255,.1)}
.access-form-area { display:grid; place-items:center; padding:32px; background:#fbfcff; }
.login-panel,.entry-loader { width:min(390px,100%); }
.login-panel h1 { margin:12px 0 7px; color:var(--ink); font-size:28px; letter-spacing:-.7px; }
.login-panel>p { margin:0 0 27px; color:var(--muted); }
.login-panel form { display:grid; gap:15px; }
.login-panel label { display:grid; gap:6px; color:#536b86; font-size:11px; font-weight:800; letter-spacing:.2px; }
.auth-lock { width:max-content; display:flex; align-items:center; gap:6px; margin-top:13px; padding:5px 8px; border:1px solid #d7e4f3; border-radius:6px; background:#f7fbff; color:#416686; font-size:10px; font-weight:800; letter-spacing:.3px; text-transform:uppercase; }
.auth-input { position:relative; display:block; }
.auth-input>svg { position:absolute; left:12px; top:13px; width:17px; height:17px; color:#7890a8; }
.login-panel input { width:100%; height:43px; padding:0 42px 0 38px; border:1px solid #dbe4ef; border-radius:8px; background:#fff; color:var(--ink); outline:0; transition:.18s; }
.login-panel input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(36,123,242,.1); }
.auth-input button { position:absolute; top:4px; right:5px; width:34px; height:34px; display:grid; place-items:center; border:0; border-radius:6px; background:transparent; color:#7189a0; }
.access-button { width:100%; height:44px; margin-top:5px; font-size:13px; }
.mock-note { display:flex; align-items:flex-start; gap:7px; margin-top:20px; color:#7b8da2; font-size:10px; line-height:1.4; }
.access-error { display:flex; align-items:center; gap:6px; margin:-3px 0 -1px; color:#c83239; font-size:11px; font-weight:800; }
.entry-loader { text-align:center; }
.hud-loader { position:relative; width:88px; height:88px; margin:0 auto 17px; display:grid; place-items:center; }
.hud-loader::before,.hud-loader::after { content:""; position:absolute; inset:0; border:1.5px solid #bad7fa; border-top-color:var(--blue); border-radius:50%; animation:spin 1.25s linear infinite; }
.hud-loader::after { inset:12px; border-color:#d6e8fb; border-bottom-color:#58a2fc; animation-direction:reverse; animation-duration:.9s; }
.entry-loader-icon { position:relative; z-index:1; width:48px; height:48px; display:grid; place-items:center; border-radius:18px; background:#eaf3ff; color:var(--blue); }
.entry-progress { height:7px; margin:26px 0 8px; overflow:hidden; border-radius:20px; background:#e5edf5; }
.entry-progress>div { width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#247bf2,#5ba4ff); transition:width .18s ease; }
.hud-stages { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-top:18px; }
.hud-stage { padding:6px 3px; border-top:1px solid #dbe7f3; color:#8194aa; font-size:9px; font-weight:700; }
.hud-stage.active { border-top-color:var(--blue); color:var(--blue); }
