:root { color-scheme: light; font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif; color: #14233c; background: #edf3f8; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 85% 15%, rgba(221, 49, 70, .14), transparent 30%), linear-gradient(135deg, #f8fafc, #edf3f8); }
.auth-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(420px, 1.2fr) minmax(380px, .8fr); align-items: center; gap: 8vw; max-width: 1260px; margin: auto; padding: 64px 48px; }
.brand-panel img { width: 210px; max-height: 70px; object-fit: contain; object-position: left center; margin-bottom: 54px; }
.eyebrow { color: #df3146; font-size: 13px; font-weight: 800; letter-spacing: .15em; }
.brand-panel h1 { margin: 14px 0 26px; font-size: clamp(46px, 5vw, 72px); line-height: 1.05; letter-spacing: -.04em; }
.brand-panel > p:last-child { max-width: 600px; color: #6a7890; font-size: 18px; line-height: 1.9; }
.auth-card { background: rgba(255,255,255,.96); border: 1px solid #dce4ed; border-radius: 28px; padding: 42px; box-shadow: 0 24px 80px rgba(22,42,70,.13); }
.tabs { display: flex; padding: 5px; margin-bottom: 36px; border-radius: 14px; background: #f1f4f8; }
.tabs button { flex: 1; border: 0; border-radius: 10px; padding: 12px; background: transparent; color: #738097; font: inherit; font-weight: 700; cursor: pointer; }
.tabs button.active { color: #fff; background: #df3146; box-shadow: 0 8px 20px rgba(223,49,70,.24); }
.auth-card h2 { font-size: 32px; margin: 8px 0 10px; }
.hint { color: #7a879c; margin: 0 0 28px; }
form { display: grid; gap: 20px; }
label { display: grid; gap: 9px; font-weight: 700; color: #47566e; }
input { width: 100%; border: 1px solid #d8e0e9; border-radius: 13px; padding: 15px 16px; font: inherit; color: #14233c; outline: none; }
input:focus { border-color: #df3146; box-shadow: 0 0 0 4px rgba(223,49,70,.1); }
.primary { border: 0; border-radius: 13px; padding: 16px; background: #df3146; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.primary:disabled { opacity: .55; cursor: wait; }
.message { padding: 13px 15px; border-radius: 12px; font-weight: 700; line-height: 1.6; }
.message.error { color: #bd2338; background: #fff0f2; }
.message.success { color: #117655; background: #eaf8f2; }
.security-note { color: #8792a5; font-size: 13px; margin: 24px 0 0; line-height: 1.6; }
@media (max-width: 820px) { .auth-shell { grid-template-columns: 1fr; padding: 36px 20px; } .brand-panel h1 { font-size: 42px; } .brand-panel img { margin-bottom: 28px; } }
