:root {
    --bg: #f4f7f3; --panel: #fff; --text: #17221c; --muted: #66736b;
    --line: #d8e2da; --brand: #6da64b; --brand-dark: #456f31; --danger: #b83b3b;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body { background: var(--bg); color: var(--text); margin: 0; }
button, input { font: inherit; }
.auth-shell { display: grid; grid-template-columns: minmax(330px,.85fr) minmax(460px,1.15fr); min-height: 100vh; }
.auth-brand-panel { align-items: center; background: #15241a; color: #fff; display: flex; overflow: hidden; padding: clamp(36px,6vw,92px); position: relative; }
.auth-brand-panel::after { border: 1px solid rgba(172,215,137,.18); border-radius: 50%; content: ""; height: 480px; position: absolute; right: -220px; top: -180px; width: 480px; }
.auth-brand-content { max-width: 520px; position: relative; z-index: 1; }
.auth-logo { display: block; height: auto; margin-bottom: 52px; max-width: min(390px,90%); }
.auth-eyebrow { color: #acd789; font-size: 12px; font-weight: 800; letter-spacing: .12em; margin: 0 0 12px; text-transform: uppercase; }
.auth-brand-panel h1 { font-size: clamp(34px,4vw,58px); letter-spacing: 0; line-height: 1.05; margin: 0 0 18px; max-width: 520px; }
.auth-brand-panel p:last-child { color: #b9c7bd; font-size: 16px; line-height: 1.7; margin: 0; max-width: 460px; }
.auth-form-panel { align-items: center; display: flex; justify-content: center; padding: 32px; }
.auth-card { background: var(--panel); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 24px 70px rgba(26,48,33,.13); padding: clamp(28px,5vw,48px); width: min(100%,470px); }
.auth-mobile-logo { display: none; }
.auth-card h2 { font-size: 30px; letter-spacing: 0; margin: 0 0 8px; }
.auth-intro { color: var(--muted); line-height: 1.6; margin: 0 0 30px; }
.auth-field { display: grid; gap: 7px; margin-bottom: 18px; }
.auth-field label, .auth-card form label { color: #526159; font-size: 13px; font-weight: 750; }
.auth-field input, .auth-card input[type=email], .auth-card input[type=password], .auth-card input[type=text] { background: #fff; border: 1px solid #cdd9d0; border-radius: 7px; color: var(--text); min-height: 46px; outline: none; padding: 0 13px; width: 100%; }
.auth-field input:focus, .auth-card input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(109,166,75,.15); }
.auth-options { align-items: center; display: flex; justify-content: space-between; margin: 4px 0 24px; }
.auth-check { align-items: center; color: var(--muted); display: inline-flex; font-size: 13px; gap: 8px; }
.auth-check input { accent-color: var(--brand-dark); height: 16px; margin: 0; width: 16px; }
.auth-link { color: var(--brand-dark); font-size: 13px; font-weight: 750; text-decoration: none; }
.auth-link:hover { text-decoration: underline; }
.auth-submit, .auth-card button[type=submit] { background: var(--brand-dark); border: 0; border-radius: 7px; color: #fff; cursor: pointer; font-weight: 800; min-height: 46px; padding: 0 18px; width: 100%; }
.auth-submit:hover, .auth-card button[type=submit]:hover { background: #365a27; }
.auth-status { background: #eef7e9; border: 1px solid #cde4bf; border-radius: 7px; color: #3f6e2d; font-size: 13px; margin-bottom: 18px; padding: 11px 13px; }
.auth-errors { color: var(--danger); font-size: 12px; list-style: none; margin: 7px 0 0; padding: 0; }
.auth-card form > div { margin-bottom: 18px; }
@media (max-width:860px) {
    .auth-shell { display: block; } .auth-brand-panel { display: none; }
    .auth-form-panel { min-height: 100vh; padding: 18px; }
    .auth-mobile-logo { display: block; height: auto; margin: 0 auto 28px; max-width: 250px; width: 75%; }
    .auth-card { box-shadow: 0 15px 45px rgba(26,48,33,.1); padding: 28px 22px; }
}
