.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg);background-image:radial-gradient(circle at 12% 18%, rgba(194, 163, 102, 0.14), transparent 46%),
    radial-gradient(circle at 88% 82%, rgba(45, 114, 121, 0.12), transparent 46%)}.auth-card{width:100%;max-width:420px;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px 34px 32px;box-shadow:var(--shadow-lg)}.auth-head{text-align:center;margin-bottom:22px}.auth-logo{width:78px;height:78px;object-fit:contain;margin:0 auto 14px;display:block}.auth-title{font-family:var(--font-serif);font-size:24px;font-weight:700;color:var(--text-primary);margin:0}.auth-sub{font-size:14px;color:var(--text-secondary);margin-top:6px}.segmented{display:flex;padding:4px;gap:4px;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-full)}.segmented__item{border:none;background:none;cursor:pointer;padding:9px 16px;border-radius:var(--radius-full);font-size:13.5px;font-weight:700;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-sans);transition:background 0.15s, color 0.15s, box-shadow 0.15s;white-space:nowrap}.segmented__item:hover{color:var(--text-primary)}.segmented__item--active{background:var(--surface-raised);color:var(--brand);box-shadow:var(--shadow-sm)}.auth-methods{display:flex;width:100%;margin-bottom:22px}.auth-methods .segmented__item{flex:1}.auth-form{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px;width:100%;max-width:none}.field-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:0.06em}.input{width:100%;font-family:var(--font-sans);font-size:15px;color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-full);padding:12px 18px;transition:border-color 0.15s, box-shadow 0.15s}.input::placeholder{color:var(--text-tertiary)}.input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.input:disabled{background:var(--surface);color:var(--text-tertiary);cursor:not-allowed}.input--code{text-align:center;font-size:22px;font-family:ui-monospace, Menlo, Consolas, monospace;letter-spacing:0.24em}.check-row{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-primary);cursor:pointer}.check{appearance:none;-webkit-appearance:none;width:20px;height:20px;border:1.6px solid var(--border-strong);background:var(--surface-raised);cursor:pointer;border-radius:6px;position:relative;flex-shrink:0}.check:checked{background:var(--brand);border-color:var(--brand)}.check:checked::after{content:'';position:absolute;left:5.5px;top:2px;width:5px;height:10px;border:solid #ffffff;border-width:0 2px 2px 0;transform:rotate(45deg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;line-height:1;border-radius:var(--radius-full);border:1px solid transparent;cursor:pointer;padding:0 20px;height:44px;white-space:nowrap;user-select:none;font-family:var(--font-sans);transition:transform 0.15s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease,
    border-color 0.2s ease, opacity 0.2s ease}.btn:active{transform:translateY(1px) scale(0.98)}.btn:disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}.btn--brand{background:var(--brand);color:var(--on-brand)}.btn--brand:hover{background:var(--brand-hover);transform:translateY(-1px)}.btn--dark{background:var(--graphite);color:#ffffff}.btn--dark:hover{background:#2a2b2e;transform:translateY(-1px)}.btn--accent{background:var(--accent);color:var(--on-accent)}.btn--accent:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn--secondary{background:transparent;color:var(--text-primary);border-color:var(--border-strong)}.btn--secondary:hover{border-color:var(--text-tertiary);background:var(--surface)}.btn--ghost{background:transparent;color:var(--text-secondary)}.btn--ghost:hover{background:var(--surface);color:var(--text-primary)}.btn--lg{height:48px;padding:0 26px;font-size:15px}.btn--block{width:100%}.btn--link{background:none;border:none;color:var(--brand);font-weight:700;cursor:pointer;padding:6px 4px}.btn--link:hover{color:var(--brand-hover)}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--text-tertiary);font-size:12.5px;margin:18px 0}.auth-divider::before,
.auth-divider::after{content:'';flex:1;height:1px;background:var(--border)}.auth-error{display:flex;gap:10px;align-items:flex-start;border-radius:14px;padding:12px 16px;font-size:13.5px;line-height:1.5;background:rgba(181, 72, 60, 0.1);border:1px solid rgba(181, 72, 60, 0.28);color:var(--error);margin-top:14px}.auth-code-head{text-align:center;margin-bottom:20px}.auth-code-icon{width:60px;height:60px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:22px}.auth-code-title{font-family:var(--font-serif);font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.auth-code-sub{font-size:14px;color:var(--text-secondary);margin-top:4px}.auth-code-sub strong{color:var(--text-primary)}.auth-footer-note{text-align:center;font-size:12.5px;color:var(--text-tertiary);margin-top:18px}