.auth-section { background: #f0f1eb; padding: 72px 24px 88px; min-height: 72vh; }
.auth-layout { display: grid; grid-template-columns: 1fr 440px; gap: 90px; align-items: center; max-width: 1080px; margin: auto; }
.auth-intro h1 { font-size: clamp(38px, 4.5vw, 64px); letter-spacing: -0.045em; line-height: 1.03; margin: 20px 0; }
.auth-intro p:not(.eyebrow) { font-size: 17px; color: #585c59; line-height: 1.65; max-width: 400px; }
.auth-card { background: white; padding: 36px; border: 1px solid #d8dbd3; border-radius: 12px; box-shadow: 0 14px 50px #14151508; }
.auth-card h2 { font-size: 26px; margin: 0 0 8px; }
.auth-card .intro { margin: 0 0 28px; color: #656963; font-size: 14px; }
.auth-card form { display: grid; gap: 18px; }
.auth-card label { display: grid; gap: 7px; font-size: 13px; font-weight: 650; }
.auth-card input:not([type="checkbox"]) { width: 100%; box-sizing: border-box; border: 1px solid #c9cec4; border-radius: 5px; background: #fafbf8; min-height: 46px; padding: 11px 12px; font: inherit; font-size: 16px; color: #141515; }
.auth-card input:focus-visible { outline: 2px solid #8a7a00; outline-offset: 2px; }
.auth-card label.show-password { display: flex; align-items: center; gap: 8px; font-weight: 400; }
.auth-card small { color: #666b63; font-weight: 400; line-height: 1.5; }
.auth-card .button { width: 100%; justify-content: center; cursor: pointer; border: 0; }
.auth-card .button:disabled { opacity: .65; cursor: wait; }
.auth-switch { font-size: 14px; margin: 24px 0 0; text-align: center; }
.auth-switch a { text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.auth-error { color: #96251b; background: #fff0ed; border: 1px solid #eab3aa; border-radius: 5px; padding: 12px; font-size: 14px; }
.auth-note { font-size: 12px; line-height: 1.6; color: #676c63; margin: 20px 0 0; }
[hidden] { display: none !important; }
@media(max-width: 800px) { .auth-section { padding: 36px 20px 48px; } .auth-layout { grid-template-columns: 1fr; gap: 26px; max-width: 480px; } .auth-intro h1 { font-size: 36px; } .auth-intro p:not(.eyebrow) { font-size: 15px; } .auth-card { padding: 26px; } }
.auth-section, .auth-intro h1, .auth-card, .auth-card h2, .auth-card label, .auth-switch, .auth-switch a { color: #141515; }
.auth-intro .eyebrow { color: #62695d; }
