.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr);background:var(--color-surf)}.auth-visual{display:none}.auth-main{min-width:0;display:grid;grid-template-rows:auto 1fr;padding:var(--space-5)}@media (min-width:900px){.auth-page{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.auth-visual{display:block;position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden}.auth-visual:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 62%,color-mix(in srgb,var(--color-night) 40%,transparent) 100%),linear-gradient(180deg,color-mix(in srgb,var(--color-night) 28%,transparent) 0,transparent 30%,transparent 70%,color-mix(in srgb,var(--color-night) 45%,transparent) 100%)}}.auth-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);max-width:var(--shell-narrow);margin:0 auto;width:100%}.auth-back,.auth-top .brand{display:inline-flex;align-items:center;min-height:var(--btn-h)}.auth-back{font-size:var(--text-base);color:var(--color-ink-3);gap:var(--space-2);transition:color .2s}.auth-back:hover{color:var(--color-brand)}.auth-back svg{width:14px;height:14px;transform:rotate(180deg)}.auth-wrap{display:grid;place-items:center;padding:calc(var(--space-5) + var(--space-4)) 0}@media (max-width:899px){.auth-page{--auth-band-h:calc(var(--space-8) * 2 + var(--space-5));background:radial-gradient(70% 100% at 14% 0,color-mix(in srgb,var(--color-glow) 16%,transparent),transparent 72%) 0 0 /100% var(--auth-band-h) no-repeat,linear-gradient(180deg,var(--color-night) 0,var(--color-night-2) var(--auth-band-h),var(--color-surf) var(--auth-band-h)) 0 0 /100% 100% no-repeat}.auth-top{--surface-ring:var(--color-on-dark-accent)}.auth-back{color:var(--color-on-dark-2)}.auth-back:hover{color:var(--color-paper)}.auth-wrap{place-items:start center;padding-top:var(--space-5)}}.auth-card{width:100%;max-width:460px;padding:var(--space-6);border-radius:var(--r-lg);border:1px solid var(--color-line);background:var(--color-card);box-shadow:var(--shadow-card)}.auth-card h1{font-size:clamp(1.7rem,3vw,2.1rem);margin-bottom:var(--space-2)}.auth-card .sub{color:var(--color-ink-2);font-size:var(--text-base);line-height:1.55;margin-bottom:var(--space-5)}.auth-card .eyebrow{margin-bottom:var(--space-2)}.auth-card.auth-card-choice{max-width:720px}.auth-choices{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3)}.auth-choice{display:flex;gap:var(--space-3);align-items:flex-start;height:100%;padding:var(--space-4);border:1px solid var(--color-line-strong);border-radius:var(--r-lg);background:var(--color-card);color:var(--color-ink);text-decoration:none;transition:border-color .2s,background .2s}.auth-choice:hover{border-color:var(--color-brand);background:var(--color-b50)}.auth-choice:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px;border-color:var(--color-brand)}.auth-choice-icon{width:28px;height:28px;flex:none;color:var(--color-brand)}.auth-choice-text{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.auth-choice-kicker{font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--color-ink-3)}.auth-choice strong{font-size:var(--text-lg);font-weight:700;letter-spacing:var(--track-tight);color:var(--color-ink)}.auth-choice-body{font-size:var(--text-sm);font-weight:400;line-height:1.5;color:var(--color-ink-2)}.auth-choice-cta{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--color-brand-link)}.auth-choice-cta svg{width:14px;height:14px;flex:none}@media (min-width:640px){.auth-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.auth-choice{transition:none}}.auth-mismatch p{margin:0 0 var(--space-2)}.auth-mismatch a{color:var(--color-coral);font-weight:600;text-decoration:underline;text-underline-offset:3px}.auth-alt.auth-switch{margin-top:var(--space-2);color:var(--color-ink-3);font-size:var(--text-sm)}.check{display:flex;gap:var(--space-2);align-items:flex-start;margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--color-ink-2);line-height:1.5}.check input{margin-top:var(--space-1);accent-color:var(--color-brand);width:16px;height:16px;flex:none}form>p.hint{margin:0 0 var(--space-4);font-weight:400;line-height:1.5;color:var(--color-ink-3)}.form-error,form>p.hint{font-size:var(--text-sm)}.form-error{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-3);border-radius:var(--r-sm);border:1px solid var(--color-coral);background:var(--color-coral-soft);color:var(--color-coral)}.auth-alt{margin-top:var(--space-4);font-size:var(--text-base);color:var(--color-ink-2);text-align:center}.auth-alt a,.check span a{color:var(--color-brand-link);text-decoration:underline;text-underline-offset:3px}.panel-page{min-height:100vh;display:flex;flex-direction:column;background:var(--color-paper-2)}.panel-top{position:sticky;top:0;z-index:20;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-line);background:var(--color-card)}.panel-top,.panel-top .who{display:flex;align-items:center}.panel-top .who{gap:var(--space-3);min-width:0}.panel-top .who strong{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);color:var(--color-ink)}.panel-actions{display:flex;align-items:center;gap:var(--space-2)}.panel-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--space-4);align-items:start}.card{padding:var(--space-5);border-radius:var(--r-lg);border:1px solid var(--color-line);background:var(--color-card);box-shadow:var(--shadow-card)}.card+.card{margin-top:var(--space-4)}.card h2{font-size:var(--text-lg);font-weight:700;letter-spacing:var(--track-tight);margin-bottom:var(--space-1);color:var(--color-ink)}.card .note{font-size:var(--text-sm);color:var(--color-ink-2);line-height:1.55}.card .empty{margin-top:var(--space-3);padding:var(--space-4);border-radius:var(--r-md);border:1px solid var(--color-line);background:var(--color-paper-2);font-size:var(--text-sm);color:var(--color-ink-3);line-height:1.5;display:flex;gap:var(--space-2);align-items:flex-start}.card .empty svg{width:16px;height:16px;flex:none;margin-top:var(--space-1)}.card .note svg{width:15px;height:15px;flex:none;vertical-align:-2px;margin-right:var(--space-1);color:var(--color-brand-link)}.card p svg{max-width:16px;max-height:16px}.kv{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4);margin-top:var(--space-4);font-size:var(--text-base)}.kv dd{margin:0;color:var(--color-ink)}.meter{margin-top:var(--space-4)}.meter-bar{height:8px;background:var(--color-paper-2);overflow:hidden}.meter-bar,.meter-bar i{border-radius:var(--r-sm)}.meter-bar i{display:block;height:100%;background:var(--color-brand)}.meter-value{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2)}.meter-value b{font-family:var(--font-display);font-weight:700;font-size:var(--text-3xl);line-height:1;color:var(--color-ink)}.meter-value span{font-size:var(--text-sm);color:var(--color-ink-3)}.checklist{list-style:none;margin:var(--space-4) 0 0;padding:0;flex-direction:column}.checklist,.checklist li{display:flex;gap:var(--space-2)}.checklist li{align-items:flex-start;font-size:var(--text-sm);line-height:1.45}.checklist svg{width:15px;height:15px;flex:none;margin-top:var(--space-1)}.checklist .done{color:var(--color-ink-3)}.checklist .done svg{color:var(--color-valid)}.checklist .todo{color:var(--color-ink)}.checklist .todo svg{color:var(--color-amber)}.cand-cert{display:inline-flex;flex-direction:column;gap:var(--space-1);align-items:flex-start}.cand-lock{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-ink-3);font-size:var(--text-xs)}.cand-lock svg{width:13px;height:13px}.cand-lock i{display:inline-block;height:10px;width:74px;border-radius:var(--r-sm);background:repeating-linear-gradient(115deg,color-mix(in srgb,var(--color-ink-3) 34%,transparent) 0 7px,color-mix(in srgb,var(--color-ink-3) 14%,transparent) 7px 13px)}@media (max-width:900px){.panel-grid{grid-template-columns:1fr}}@media (max-width:560px){.auth-main{padding:var(--space-4)}.auth-card{padding:var(--space-5)}.panel-top{padding:var(--space-3) var(--space-4)}.kv{grid-template-columns:1fr;gap:var(--space-1)}}.session-repair{margin:var(--space-5) auto;max-width:440px}.signed-in-gate .signed-in-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.signed-in-gate .form-error{margin:var(--space-3) 0 0}