/* Auth-only layout; no legacy skin overrides or changes to validation. */
html, body { min-width: 0; }
.auth, .lg-shell { min-height: 100dvh; }
.lg-shell { display: grid; grid-template-columns: minmax(300px, 42%) minmax(0, 1fr); }
.lg-brand { background: #0f172a; color: #fff; padding: 40px; display: flex; flex-direction: column; justify-content: space-between; gap: 48px; }
.lg-brand .head { display: flex; align-items: center; gap: 12px; font-weight: 800; font-size: 20px; }
.lg-brand .s-logo { padding: 8px 12px; background: #1d4ed8; border-radius: 10px; }
.lg-brand .tag, .lg-brand .foot { font-size: 12px; color: #94a3b8; }
.lg-brand .foot { display: flex; gap: 16px; }
.lg-brand h1 { font-size: 36px; line-height: 1.5; }
.lg-brand em { font-style: normal; color: #60a5fa; }
.lg-brand .sub { line-height: 1.8; color: #cbd5e1; margin-top: 20px; max-width: 400px; }
.lg-form { background: #fff; padding: 48px 32px; display: grid; place-items: center; }
.signup-box { width: 100%; max-width: 640px; }
.signup-box .ttl { font-weight: 800; font-size: 24px; }
.signup-box .dsc { color: #64748b; line-height: 1.6; margin: 12px 0 28px; }
.signup-fields { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px 16px; }
.signup-fields .signup-field-full { grid-column: 1 / -1; }
.signup-fields label { display: block; margin-bottom: 8px; font-weight: 600; }
.signup-fields em { color: #dc2626; font-style: normal; }
.signup-fields .input { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #cbd5e1; border-radius: 6px; background: #fff; color: #0f172a; font: inherit; box-sizing: border-box; }
.signup-fields small { display: block; margin-top: 6px; color: #64748b; line-height: 1.5; }
.auth-button { width: 100%; border: 0; border-radius: 6px; padding: 14px; margin-top: 24px; background: #1d4ed8; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.auth-button:disabled { opacity: .6; cursor: wait; }
.auth-links { margin-top: 18px; text-align: center; }
.alert { padding: 14px; margin-top: 20px; border-radius: 6px; }
.alert-error { background: #fef2f2; color: #b91c1c; }
.alert-success { background: #ecfdf5; color: #047857; }
.hidden { display: none !important; }
@media (max-width: 900px) {
    .auth, .lg-shell { display: block; }
    .auth .brandside, .lg-brand { display: none; }
    .auth .formside, .lg-form { min-height: 100dvh; padding: 32px 20px; box-sizing: border-box; }
}
@media (max-width: 540px) { .signup-fields { grid-template-columns: minmax(0,1fr); } }
