/* Login-only presentation: no dashboard or shared form overrides. */
.portal-login{min-height:100vh;background:radial-gradient(ellipse at 10% 80%,#bd914014,transparent 50%),radial-gradient(ellipse at 90% 10%,#bd914024,transparent 45%),var(--bg)}
.portal-login .topbar{position:relative;height:auto;min-height:76px;padding:16px clamp(16px,4vw,56px);gap:16px;flex-wrap:wrap}
.portal-login .top-actions{flex-wrap:wrap;gap:10px}.portal-login .theme-toggle,.portal-login .lang-switch a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.portal-login .standalone{width:100%;max-width:1120px;padding:24px;margin:clamp(16px,5vh,64px) auto}
.portal-login .login-shell{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);border-radius:28px;box-shadow:0 24px 70px #00000014}
.portal-login .login-identity{padding:clamp(28px,4vw,56px);min-height:560px;background:radial-gradient(ellipse at 0 0,#d8b66327,transparent 70%),linear-gradient(155deg,#222018,#10110f)}
.portal-login .login-identity:before{content:"";position:absolute;inset:20px;border:1px solid #d2ae5830;border-radius:18px;pointer-events:none}
.portal-login .login-identity>*{position:relative;z-index:1}.portal-login .login-logo{width:190px;height:112px;margin-bottom:26px}
.portal-login .login-identity h1{font-size:clamp(28px,3vw,38px);line-height:1.55;letter-spacing:0}.portal-login .login-identity p{line-height:1.95;color:#d0c7b2;max-width:100%}
.portal-login .login-eyebrow{color:var(--gold);overflow-wrap:anywhere}.portal-login .login-identity .login-eyebrow{color:#d6b96f}
.portal-login .login-form{padding:clamp(24px,4vw,52px);min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;background:var(--card)}
.portal-login .login-form h2{margin:10px 0 4px;font-size:30px}.portal-login .login-form>.muted{margin:0;line-height:1.9}
.portal-login .login-form form{margin-top:28px}.portal-login .field{margin-bottom:20px}.portal-login .field input{height:54px;min-height:54px;font-size:16px;direction:ltr;text-align:left}
.portal-login .login-password{position:relative}.portal-login .login-password:has(.password-toggle:not([hidden])) input{padding-right:54px}
.portal-login .password-toggle{position:absolute;right:5px;bottom:5px;width:44px;height:44px;padding:10px;display:grid;place-items:center;background:transparent;border:0;border-radius:8px;color:var(--gold);cursor:pointer}
.portal-login .password-toggle[hidden]{display:none}.portal-login .password-toggle svg{width:22px;height:22px;pointer-events:none}.portal-login .password-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.portal-login .login-submit{min-height:54px;gap:10px;font-size:15px;margin-top:4px}.portal-login .login-submit:disabled{cursor:wait;opacity:.8;transform:none}
.portal-login .login-submit:disabled:before{content:"";width:16px;height:16px;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:login-spin .8s linear infinite}
.portal-login .login-status{font-size:12px;color:var(--muted);line-height:1.8}.portal-login .login-status:not(:empty){margin-top:10px}.portal-login .login-form>p:has(a){margin:16px 0 0;text-align:center}.portal-login .login-form>p a{display:inline-block;padding:8px;min-height:44px}.portal-login .footer-note{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}
@keyframes login-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.portal-login .standalone{padding:16px;margin:12px auto}.portal-login .login-shell{grid-template-columns:minmax(0,1fr);border-radius:20px}.portal-login .login-identity{min-height:0;padding:24px;gap:4px}.portal-login .login-identity:before{inset:10px;border-radius:12px}.portal-login .login-logo{width:128px;height:70px;margin:0 auto 4px}.portal-login .login-identity h1,.portal-login .login-identity p,.portal-login .login-seal{display:none}.portal-login .login-identity .login-eyebrow{display:block;font-size:10px;letter-spacing:1px}.portal-login .login-form{padding:28px 24px}.portal-login .login-form h2{font-size:26px}.portal-login .brand-copy{display:none}.portal-login .topbar{padding:12px 16px;gap:8px}.portal-login .top-actions{gap:6px}.portal-login .theme-toggle{font-size:11px}}
@media(max-width:360px){.portal-login .standalone{padding:10px}.portal-login .login-form{padding:24px 18px}.portal-login .topbar{padding:10px}.portal-login .top-actions{gap:4px}}
@media(prefers-reduced-motion:reduce){.portal-login .login-submit:disabled:before{animation:none}}
.portal-login .login-password{margin-bottom:20px}.portal-login .login-password .field{margin-bottom:0}

/* The password identity is stable when its type toggles to text. */
html[dir] .portal-login .login-form input[name="password"]{direction:ltr!important;text-align:left!important;unicode-bidi:isolate;font-family:Inter,Arial,sans-serif!important}
