.login-gate { min-height: 100vh; padding: 32px; display: grid; place-items: center; background: radial-gradient(circle at 15% 10%, rgba(59,130,246,.2), transparent 28rem), linear-gradient(145deg,#111827,#1e2b45); }
.login-gate.progressive { position: fixed; inset: 0; z-index: 1000; min-height: 0; background: rgba(15,23,42,.58); backdrop-filter: blur(3px); }
.login-gate.progressive .login-panel { width: min(720px,calc(100% - 32px)); max-height: calc(100vh - 32px); overflow: auto; box-shadow: 0 28px 90px rgba(15,23,42,.34); }
.login-gate.progressive .login-steps { grid-template-columns: 1fr; }
.login-gate.progressive .login-connector { display: none; }
body[data-authorization-gate="content-pending"] #appShell { pointer-events: none; user-select: none; }
.login-panel { width: min(640px,100%); padding: 34px; border: 1px solid rgba(255,255,255,.12); border-radius: 22px; background: rgba(255,255,255,.97); box-shadow: 0 32px 90px rgba(3,8,20,.35); }
.login-brand span { background: var(--color-primary); }
.login-copy h1 { font-family: inherit; font-size: clamp(28px,4vw,44px); font-weight: 760; }
.login-steps { display: block; }
.login-step[hidden] { display: none; }
.login-step { min-height: 260px; border-color: var(--color-border); border-radius: var(--radius-md); box-shadow: none; animation: login-step-in .24s ease-out; }
.login-connector { display: none; }
.login-step.active { border-color: #a9c3ff; box-shadow: 0 0 0 3px var(--color-primary-soft); }
.login-step.complete { border-color: #b8e4d1; background: #fbfffd; }
.login-step-head > span { background: var(--color-primary-soft); color: var(--color-primary); }
.login-step.complete .login-step-head > span { background: var(--color-success); color: #fff; }
.login-feedback { border-radius: var(--radius-sm); }
@keyframes login-step-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 760px) { .login-gate { padding: 14px; } .login-panel { padding: 22px 17px; } .login-step { min-height: 0; } }
