/* Public sign-in page. Shared brand tokens and fonts come from shell.css. */
body.wc-login { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; background: var(--wc-midnight); }
.wc-login-header { min-height: 88px; display: flex; flex-wrap: wrap; align-items: center; gap: 24px; padding: 20px 32px; border-bottom: 1px solid rgba(255,203,5,.3); }
.wc-login-header .wc-tagline { display: block; }
.wc-login-main { flex: 1; display: grid; place-items: center; padding: 16px 20px; }
.wc-login .wc-login-card { width: min(100%,440px); padding: 28px; border: 1px solid var(--wc-line); border-top: 3px solid var(--wc-gold); border-radius: 8px; background: var(--wc-surface); box-shadow: 0 16px 48px #0002; }
.wc-login-symbol { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 16px; border: 1px solid rgba(255,203,5,.3); border-radius: 8px; color: var(--wc-gold); background: rgba(255,203,5,.07); font-size: 18px; }
.wc-login-card h1 { margin: 0; color: var(--wc-fog); font-size: 28px; line-height: 1.25; font-weight: 600; letter-spacing: -.75px; }
.wc-login-intro { margin: 8px 0 22px; font-size: 14px; line-height: 1.6; color: var(--wc-muted); }
.wc-login-field { margin-bottom: 18px; }
.wc-login .form-label { margin-bottom: 9px; font-size: 13px; font-weight: 500; }
.wc-login .form-control { min-height: 48px; padding: 12px 14px; border: 1px solid rgba(234,232,231,.24); border-radius: 4px; background: var(--wc-midnight); color: var(--wc-fog); font-size: 16px; line-height: 1.45; }
.wc-login .form-control::placeholder { color: #949b96; font-size: 13px; opacity: 1; }
.wc-login .form-control:hover { border-color: rgba(234,232,231,.45); }
.wc-login .form-control:focus { background: var(--wc-midnight); border-color: var(--wc-gold); color: var(--wc-fog); }
.wc-login input:-webkit-autofill { -webkit-text-fill-color: var(--wc-fog); caret-color: var(--wc-fog); box-shadow: 0 0 0 1000px var(--wc-midnight) inset; }
.wc-password-field { position: relative; }
.wc-password-field .form-control { padding-right: 54px; }
.wc-password-toggle { position: absolute; inset: 3px 3px 3px auto; display: grid; place-items: center; width: 42px; padding: 0; border: 0; border-radius: 3px; color: var(--wc-muted); background: transparent; }
.wc-password-toggle:hover { color: var(--wc-gold); background: rgba(255,203,5,.07); }
.wc-login .wc-login-submit { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 12px 16px; font-weight: 600; color: var(--wc-midnight); background: var(--wc-gold); border: 1px solid var(--wc-gold); border-radius: 4px; }
.wc-login .wc-login-submit:hover:not(:disabled) { background: #e8b900; border-color: #e8b900; }
.wc-login .wc-login-submit:disabled { opacity: .75; }
.wc-login-help { margin: 20px 0 0; padding-top: 16px; border-top: 1px solid var(--wc-line); color: var(--wc-muted); font-size: 12px; line-height: 1.7; text-align: center; }
.wc-login-error { display: flex; gap: 10px; margin: 0 0 24px; padding: 12px 14px; border: 1px solid #e38c8c70; border-radius: 4px; background: #63323233; color: #f3bcbc; font-size: 13px; line-height: 1.6; }
.wc-login-error > i { margin-top: 4px; }
.wc-caps-lock { display: flex; gap: 8px; margin: 9px 0 0; color: var(--wc-gold); font-size: 12px; }
.wc-login-footer { width: 100%; padding: 12px 32px 22px; }
.wc-login .wc-footer { align-items: center; gap: 16px; font-size: 11px; padding-top: 14px; border-top: 1px solid var(--wc-line); }
.wc-login .wc-footer a:hover,.wc-login-privacy a:hover { color: var(--wc-gold); text-decoration: underline; }
.wc-login-privacy { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 22px; margin-top: 14px; color: var(--wc-muted); font-size: 10px; line-height: 1.6; }
@media(max-width:767px) {
    .wc-login-header { min-height: 78px; padding: 18px 20px; gap: 12px; }
    .wc-login-header .wc-brand-mark { width: 35px; height: 35px; }
    .wc-login-header .wc-brand-name { width: 222px; }
    .wc-login-header .wc-tagline { display: none; }
    .wc-login-main { padding: 24px 16px; }
    .wc-login .wc-login-card { padding: 28px 24px; }
    .wc-login-footer { padding: 8px 20px 22px; }
    .wc-login .wc-footer { flex-wrap: wrap; }
    .wc-login .wc-footer > div { flex-wrap: wrap; gap: 16px; }
    .wc-login-privacy { justify-content: flex-start; }
}
@media(max-width:359px) {
    .wc-login-header { padding-inline: 16px; }
    .wc-login-header .wc-brand-name { width: 208px; }
    .wc-login .wc-login-card { padding: 24px 20px; }
    .wc-login-card h1 { font-size: 25px; }
}
@media(prefers-reduced-motion:reduce) {
    .wc-login * { transition: none !important; animation: none !important; }
}
