.auth-shell { --auth-green:#25442d; --auth-ink:#203426; --auth-muted:#6e8070; --auth-bg:#f3f6f1; --auth-line:#dbe4d8; display:grid; grid-template-columns:minmax(360px,44%) minmax(0,1fr); width:100%; min-height:100vh; background:var(--auth-bg); color:var(--auth-ink); font-family:var(--font-body,'Plus Jakarta Sans',sans-serif); }
.auth-shell *, .auth-shell *::before, .auth-shell *::after { box-sizing:border-box; }
.auth-shell h1, .auth-shell h2, .auth-shell button, .auth-shell .auth-tabs { font-family:var(--font-heading,'Onest',sans-serif); }
.auth-story { position:relative; min-height:100vh; overflow:hidden; background:var(--auth-green); color:#fff; }
.auth-story-curve { position:absolute; z-index:1; top:0; right:0; width:clamp(110px,12vw,190px); height:100%; color:var(--auth-bg); pointer-events:none; }
.auth-story-lines { position:absolute; inset:0; opacity:.12; pointer-events:none; }
.auth-story-lines svg { width:100%; height:100%; }
.auth-story-lines path { stroke:#c9dbc4; stroke-width:1.5; }
.auth-story-content { position:relative; z-index:2; display:flex; flex-direction:column; min-height:100vh; padding:clamp(28px,3vw,52px) clamp(30px,3vw,58px); padding-right:90px; }
.auth-brand { display:inline-flex; align-items:center; gap:10px; align-self:flex-start; color:#fff; font-size:13px; font-weight:700; text-decoration:none; }
.auth-brand-mark { width:36px; height:36px; display:grid; place-items:center; overflow:hidden; border-radius:8px; color:var(--auth-green); background:#e7efdc; }
.auth-brand-mark img { max-width:100%; max-height:100%; object-fit:contain; }
.auth-brand-mark svg { width:21px; height:21px; }
.auth-story-intro { margin-top:clamp(60px,11vh,130px); max-width:440px; }
.auth-story-intro h1 { font-size:clamp(34px,3vw,52px); line-height:1.06; letter-spacing:-.045em; font-weight:750; }
.auth-story-intro p { max-width:310px; margin-top:18px; color:#c4d5c1; line-height:1.6; font-size:14px; }
.auth-story-steps { display:grid; gap:14px; margin-top:auto; padding-top:60px; font-family:var(--font-heading,'Onest',sans-serif); font-size:13px; font-weight:650; }
.auth-story-steps>div { display:flex; align-items:center; gap:10px; }
.auth-step-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:8px; background:rgba(5,24,10,.22); color:#d1e1cb; }
.auth-step-icon svg { width:18px; height:18px; }
.auth-form-side { position:relative; z-index:3; display:flex; justify-content:center; align-items:center; padding:48px 30px; min-width:0; }
.auth-form-side::before { content:''; position:absolute; top:0; bottom:0; left:-4px; width:5px; background:var(--auth-bg); pointer-events:none; }
.auth-form-wrap { width:min(100%,410px); }
.auth-back { display:inline-flex; align-items:center; gap:8px; margin:0 0 20px 4px; font-size:12px; color:#57715d; font-weight:600; text-decoration:none; }
.auth-back:hover { color:var(--auth-green); }
.auth-card { background:#fff; border-radius:12px; padding:30px; box-shadow:0 20px 48px rgba(28,55,32,.045),0 3px 10px rgba(28,55,32,.025); }
.auth-card-heading { margin-bottom:22px; }
.auth-card-heading h2 { color:#162f20; font-size:25px; line-height:1.2; font-weight:750; letter-spacing:-.035em; }
.auth-card-heading p { margin-top:5px; color:var(--auth-muted); font-size:13px; }
.auth-tabs { display:grid; grid-template-columns:1fr 1fr; gap:3px; margin-bottom:23px; padding:4px; border-radius:12px; background:#e9efe6; font-size:12px; font-weight:650; }
.auth-tabs a { display:grid; place-items:center; min-height:34px; border-radius:8px; color:#617264; text-decoration:none; transition:background .16s ease,color .16s ease; }
.auth-tabs a[aria-current="page"] { color:#fff; background:var(--auth-green); }
.auth-tabs a:not([aria-current="page"]):hover { color:var(--auth-ink); background:#f6f8f4; }
.auth-card form { font-size:12px; }
.auth-card form label { color:var(--auth-ink); font-weight:650; }
.auth-card input:not([type="checkbox"]):not([type="hidden"]), .auth-card select { border-color:var(--auth-line); border-radius:8px; background:#fff; color:var(--auth-ink); font-size:13px; }
.auth-card input:not([type="checkbox"]):not([type="hidden"]):focus, .auth-card select:focus { border-color:#4a7653; box-shadow:0 0 0 3px rgba(74,118,83,.11); }
.auth-card input::placeholder { color:#92a191; }
.auth-card button[type="submit"] { border-radius:8px; background:var(--auth-green); box-shadow:none; font-size:13px; }
.auth-card button[type="submit"]:hover { background:#1b3825; }
.auth-card a:not(.auth-tabs a) { color:var(--auth-green); }
.auth-card .auth-guest-link { border:0; border-radius:8px; background:#e9efe6; color:var(--auth-green); }
.auth-card .auth-guest-link:hover { background:#dde8d9; }
.auth-card .auth-contact-switch { border:0; border-radius:12px; background:#e9efe6; }
.auth-card .auth-contact-switch button { border-radius:8px; }
.auth-card .auth-contact-switch button.auth-contact-active { background:var(--auth-green); color:#fff; box-shadow:none; }
.auth-card .auth-contact-switch button.auth-contact-inactive { color:#617264; background:transparent; box-shadow:none; }
.auth-card .auth-contact-switch button.auth-contact-inactive:hover { color:var(--auth-ink); }
.auth-card .auth-notice { border:0; border-radius:8px; }
@media(max-width:900px) { .auth-shell { grid-template-columns:minmax(280px,38%) minmax(0,1fr); } .auth-story-curve { width:100px; } .auth-story-content { padding-right:65px; } .auth-story-intro h1 { font-size:36px; } }
@media(max-width:700px) { .auth-shell { display:block; min-height:100vh; } .auth-story { min-height:0; } .auth-story-curve { display:none; } .auth-story-content { min-height:0; padding:22px 24px 30px; } .auth-story-intro { margin-top:28px; } .auth-story-intro h1 { font-size:32px; } .auth-story-steps { display:none; } .auth-story-intro p { margin-top:9px; font-size:13px; } .auth-form-side { padding:26px 16px 50px; align-items:flex-start; } .auth-form-side::before { display:none; } .auth-card { padding:25px 22px; } }
@media(max-width:380px) { .auth-card { padding:22px 18px; } .auth-story-intro h1 { font-size:29px; } }
