.auth-body { min-height: 100vh; background: #edf1ee; }
.setup-shell, .login-shell { min-height: 100vh; display: grid; }
.setup-shell { grid-template-columns: minmax(300px, .72fr) minmax(620px, 1.28fr); }
.setup-intro, .login-visual { position: relative; display: flex; flex-direction: column; padding: 42px 54px; overflow: hidden; color: #fff; background: radial-gradient(circle at 15% 90%, rgba(201,159,77,.18), transparent 36%), linear-gradient(145deg,#102f2c,#1d514d); }
.setup-intro::after, .login-visual::after { content:""; position:absolute; width:440px; height:440px; right:-260px; top:12%; border:1px solid rgba(255,255,255,.08); border-radius:50%; }
.auth-brand { position:relative; z-index:1; display:flex; align-items:center; gap:13px; color:#fff; }
.auth-brand > span { width:44px; height:44px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.25); border-radius:13px; color:#efd08c; font:700 25px Georgia,serif; background:rgba(255,255,255,.06); }
.auth-brand strong,.auth-brand small { display:block; }
.auth-brand strong { font:600 22px Georgia,serif; }
.auth-brand small { margin-top:2px; color:rgba(255,255,255,.58); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.setup-copy { position:relative; z-index:1; margin:auto 0 55px; max-width:460px; }
.eyebrow.light { color:#e4c781; }
.setup-copy h1,.login-visual h1 { margin:0; font:500 clamp(35px,4vw,55px)/1.06 Georgia,serif; }
.setup-copy > p:last-child { color:rgba(255,255,255,.68); font-size:14px; line-height:1.7; }
.setup-steps { position:relative; z-index:1; display:grid; gap:16px; margin:0; padding:0; list-style:none; }
.setup-steps li { display:flex; align-items:center; gap:13px; color:rgba(255,255,255,.48); }
.setup-steps li.active { color:#fff; }
.setup-steps b { width:30px; height:30px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.18); border-radius:50%; font-size:11px; }
.setup-steps .active b { color:#173e3a; border-color:#e4c781; background:#e4c781; }
.setup-steps strong,.setup-steps small { display:block; }
.setup-steps strong { font-size:12px; }
.setup-steps small { margin-top:2px; color:rgba(255,255,255,.44); font-size:10px; }
.setup-form-panel { padding:48px clamp(35px,7vw,90px); background:#fff; }
.form-heading h2 { margin:0; color:#193330; font:600 32px Georgia,serif; }
.form-heading > p:last-child { margin:7px 0 0; color:#75837f; font-size:12px; }
.setup-form { max-width:760px; margin-top:30px; }
fieldset { margin:0 0 27px; padding:0 0 26px; border:0; border-bottom:1px solid #e5eae7; }
fieldset:last-of-type { border-bottom:0; }
legend { width:100%; margin-bottom:17px; color:#274844; font:600 18px Georgia,serif; }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.field { display:block; margin-bottom:16px; }
.field > span { display:block; margin-bottom:7px; color:#52645f; font-size:11px; font-weight:750; }
.field input { width:100%; min-height:43px; padding:10px 12px; border:1px solid #d9e1dd; border-radius:9px; outline:0; color:#193330; background:#fbfcfb; font:inherit; font-size:13px; transition:.2s ease; }
.field input:focus { border-color:#4c7b73; box-shadow:0 0 0 3px rgba(52,110,99,.1); background:#fff; }
.field small { display:block; margin-top:5px; color:#87938f; font-size:9px; line-height:1.4; }
.choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.choice { position:relative; display:block; }
.choice input { position:absolute; opacity:0; }
.choice span { display:block; height:100%; padding:15px 16px; border:1px solid #dde5e1; border-radius:11px; cursor:pointer; background:#fbfcfb; }
.choice input:checked + span { border-color:#407068; box-shadow:0 0 0 2px rgba(64,112,104,.1); background:#f0f7f4; }
.choice strong,.choice small { display:block; }
.choice strong { color:#284b46; font-size:12px; }
.choice small { margin-top:4px; color:#74827f; font-size:10px; line-height:1.45; }
.submit-button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:16px; padding:11px 19px; border:0; border-radius:10px; color:#fff; cursor:pointer; background:#1d514d; font:700 12px inherit; box-shadow:0 10px 23px rgba(29,81,77,.18); }
.submit-button span { font-size:18px; }
.alert { margin:20px 0; padding:13px 15px; border-radius:10px; font-size:11px; line-height:1.5; }
.alert.error { color:#783f34; border:1px solid #efd4cd; background:#fbedE9; }
.alert ul { margin:7px 0 0; padding-left:18px; }
.login-shell { grid-template-columns:minmax(390px,1.05fr) minmax(420px,.95fr); }
.login-visual { justify-content:space-between; min-height:100vh; }
.login-visual > div:nth-child(2) { position:relative; z-index:1; max-width:610px; }
.login-footnote { position:relative; z-index:1; color:rgba(255,255,255,.48); font-size:11px; }
.login-panel { display:grid; place-items:center; padding:35px; background:#fff; }
.login-form { width:min(100%,400px); }
.login-form .form-heading { margin-bottom:30px; }
.login-form .submit-button { width:100%; margin-top:5px; }
.privacy-note { margin:22px auto 0; max-width:300px; color:#8a9693; font-size:9px; line-height:1.5; text-align:center; }
@media(max-width:900px){.setup-shell,.login-shell{grid-template-columns:1fr}.setup-intro,.login-visual{min-height:auto;padding:28px}.setup-copy{margin:60px 0 35px}.setup-steps{grid-template-columns:repeat(3,1fr)}.setup-form-panel{padding:35px 24px}.login-visual{min-height:340px}.login-panel{padding:55px 25px}}
@media(max-width:560px){.field-grid,.choice-grid{grid-template-columns:1fr}.setup-steps{grid-template-columns:1fr}.setup-copy h1,.login-visual h1{font-size:35px}}
