/* Route-only login components. Shared Account Center and portal styles stay independent. */
.login-shell{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);align-items:center;gap:clamp(32px,6vw,88px);max-width:1100px;margin:0 auto;padding:32px 28px 24px;color:var(--hrc-color-text)}
.login-shell *{box-sizing:border-box}
.login-intro{max-width:440px;padding-block:20px}
.login-kicker{margin:0 0 20px;color:var(--hrc-color-brand);font-size:12px;font-weight:750;letter-spacing:.1em}
.login-intro h2{margin:0;font-size:clamp(32px,3.6vw,46px);line-height:1.15;letter-spacing:-.035em;font-weight:750}
.login-intro-copy{margin:20px 0 28px;font-size:16px;line-height:1.7;color:var(--hrc-color-text-soft)}
.login-portals{list-style:none;margin:0;padding:0;display:grid;gap:20px}
.login-portals li{display:flex;align-items:flex-start;gap:14px}
.login-portal-icon{flex:0 0 38px;display:grid;place-items:center;height:38px;border:1px solid var(--hrc-color-border);border-radius:12px;background:var(--hrc-color-surface);color:var(--hrc-color-brand);font-size:12px;font-weight:750;font-variant-numeric:tabular-nums}
.login-portals strong{display:block;font-size:15px;margin-bottom:3px}
.login-portals div>span{display:block;font-size:14px;line-height:1.5;color:var(--hrc-color-text-soft)}
.login-card{min-width:0;padding:30px;background:var(--hrc-color-surface);border:1px solid var(--hrc-color-border);border-radius:20px;box-shadow:0 12px 36px rgb(15 23 42 / .035)}
.login-card h1{margin:0 0 10px;font-size:clamp(24px,3vw,29px);line-height:1.25;letter-spacing:-.025em}
.login-context{display:inline-block;max-width:100%;margin:0 0 14px;padding:6px 10px;border-radius:8px;background:var(--hrc-color-surface-soft);color:var(--hrc-color-brand);font-size:12px;line-height:1.5;font-weight:650;overflow-wrap:anywhere}
.login-subtitle{margin:0 0 22px;color:var(--hrc-color-text-soft);font-size:14px;line-height:1.6}
.login-providers{display:grid;gap:10px}
.login-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--hrc-color-border-strong);border-radius:var(--hrc-radius-control,10px);font-family:inherit;line-height:1.5;font-size:15px;font-weight:650;text-align:center;text-decoration:none;cursor:pointer;overflow-wrap:anywhere}
.login-social{background:var(--hrc-color-surface);color:var(--hrc-color-text)}
.login-social:hover{background:var(--hrc-color-surface-soft);border-color:var(--hrc-color-brand)}
.login-provider-mark{display:grid;place-items:center;flex:0 0 24px;height:24px;font-family:Arial,sans-serif;font-weight:750;font-size:22px;line-height:1}
.login-provider-mark--google{color:var(--hrc-color-brand)}
.login-provider-mark--facebook{border-radius:50%;background:#1877f2;color:#fff;font-size:23px;padding-top:3px;overflow:hidden}
.login-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--hrc-color-text-soft);font-size:12px;text-align:center}
.login-divider:before,.login-divider:after{content:"";height:1px;background:var(--hrc-color-border);flex:1}
.login-form{display:grid;gap:16px;margin:0;min-width:0}
.login-field{min-width:0}
.login-field label{display:block;font-size:13px;line-height:1.5;font-weight:650;margin:0 0 7px}
.login-input{display:block;width:100%;min-width:0;min-height:48px;padding:11px 12px;border:1px solid var(--hrc-color-border-strong);border-radius:var(--hrc-radius-control,10px);background:var(--hrc-color-surface);color:var(--hrc-color-text);font:inherit;font-size:16px;line-height:1.5}
.login-input:hover{border-color:var(--hrc-color-text-soft)}
.login-input:focus{border-color:var(--hrc-color-brand)}
.login-password{display:flex;gap:8px;min-width:0}
.login-password .login-input{flex:1 1 0}
.login-reveal{flex:0 0 52px;min-height:48px;padding:8px;border:1px solid var(--hrc-color-border-strong);border-radius:var(--hrc-radius-control,10px);font-family:inherit;line-height:1.5;font-size:13px;font-weight:650;background:var(--hrc-color-surface-soft);color:var(--hrc-color-text);cursor:pointer}
.login-forgot{justify-self:end;display:inline-flex;align-items:center;min-height:44px;margin:-12px 0 -10px;color:var(--hrc-color-brand);font-size:13px;font-weight:650;text-underline-offset:3px}
.login-primary{background:var(--hrc-action-primary);border-color:transparent;color:var(--hrc-action-on-primary)}
.login-primary:hover{background:var(--hrc-action-primary-hover)}
.login-button:disabled{opacity:var(--hrc-opacity-disabled,.6);cursor:wait}
.login-hint{margin:0;color:var(--hrc-color-text-soft);font-size:12px;line-height:1.6}
.login-warning{color:var(--hrc-color-warning);margin-top:6px}
.login-error,.login-notice{padding:12px;margin:0 0 18px;border:1px solid var(--hrc-color-border);border-radius:10px;background:var(--hrc-color-surface-soft);font-size:14px;line-height:1.6}
.login-error{color:var(--hrc-color-danger);border-color:var(--hrc-color-danger)}
.login-error p{margin:0}.login-form .login-error{margin:0}
.login-progress{color:var(--hrc-color-text-soft);text-align:center}
.login-legacy{font-size:12px;color:var(--hrc-color-text-soft);border-bottom:1px solid var(--hrc-color-border);padding-bottom:10px}
.login-legacy summary{min-height:44px;align-content:center;cursor:pointer}
.login-legacy .login-button{margin-top:12px;font-size:13px}
.login-register{margin:18px 0 0;font-size:14px;line-height:1.7;text-align:center;color:var(--hrc-color-text-soft)}
.login-register a{display:inline-block;min-height:44px;align-content:center;color:var(--hrc-color-brand);font-weight:700;text-underline-offset:3px}
.login-signup-note{text-align:center;margin-top:8px}
.login-card [hidden]{display:none}
@media(max-width:820px){.login-shell{display:block;max-width:520px;padding:12px 16px 20px}.login-intro{display:none}.login-card{padding:24px}.login-card h1{font-size:26px}}
@media(max-width:360px){.login-shell{padding-inline:12px}.login-card{padding:20px 16px;border-radius:16px}.login-card h1{font-size:23px}.login-divider{gap:8px;font-size:11px}.login-field label{font-size:12px}}
