:root { color-scheme: light; font-family: Inter,"PingFang SC","Microsoft YaHei",sans-serif; color: #26372f; background: #eef4f1; }
* { box-sizing: border-box; }
body { margin: 0; }
.auth-page { min-height: 100vh; background: radial-gradient(circle at 12% 18%,#d8eee3,transparent 32%),linear-gradient(135deg,#edf5f1,#f8faf9 58%,#e5efe9); }
.auth-shell { width: min(920px,calc(100% - 32px)); min-height: 100vh; margin: auto; display: grid; grid-template-columns: 1fr minmax(320px,410px); align-items: center; gap: 70px; }
.auth-shell.single { grid-template-columns: minmax(320px,440px); justify-content: center; }
.auth-brand span,.auth-eyebrow { color: #277653; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.auth-brand h1 { margin: 12px 0 8px; font-size: clamp(40px,7vw,72px); letter-spacing: -.06em; color: #183f2e; }
.auth-brand p,.auth-card > p { color: #65766e; line-height: 1.7; }
.auth-card { padding: 34px; border: 1px solid rgba(45,105,77,.14); border-radius: 20px; background: rgba(255,255,255,.92); box-shadow: 0 24px 70px rgba(24,63,46,.13); backdrop-filter: blur(12px); }
.auth-card h2 { margin: 7px 0 4px; font-size: 27px; }
.auth-card form { display: grid; gap: 16px; margin-top: 25px; }
.auth-card label { display: grid; gap: 7px; color: #41564c; font-size: 13px; font-weight: 700; }
.auth-card input { width: 100%; padding: 13px 14px; border: 1px solid #bfd0c7; border-radius: 10px; background: #fbfdfc; color: #20372c; font: inherit; outline: none; }
.auth-card input:focus { border-color: #2a8059; box-shadow: 0 0 0 3px rgba(42,128,89,.13); }
.auth-card button,.auth-link { display: inline-flex; justify-content: center; padding: 13px 18px; border: 0; border-radius: 10px; background: #216b49; color: #fff; font: inherit; font-weight: 800; text-decoration: none; cursor: pointer; }
.auth-card button:disabled { opacity: .62; cursor: wait; }
.auth-message { min-height: 22px; margin: 14px 0 0 !important; color: #b42318 !important; font-size: 12px; font-weight: 700; }
.auth-status { text-align: center; }
.auth-status-icon { display: grid; width: 58px; height: 58px; margin: 0 auto 18px; place-items: center; border-radius: 18px; background: #e5f3eb; color: #216b49; font-size: 24px; font-weight: 900; }
.auth-link { margin-top: 12px; }.hidden { display: none; }
@media (max-width:760px) { .auth-shell { grid-template-columns: 1fr; align-content: center; gap: 28px; padding: 36px 0; }.auth-brand { text-align: center; }.auth-brand h1 { font-size: 44px; }.auth-card { padding: 26px; } }
