body.auth{background:var(--canvas)}
@media(max-width:600px){body.auth .auth-side{padding:20px 22px;gap:16px}body.auth .auth-side h1{font-size:1.6rem;margin:8px 0 0}body.auth .perks{display:none}body.auth .auth-main{padding:16px 16px 36px}body.auth .auth-top{margin-bottom:16px}body.auth .card-form{padding:20px;border-radius:20px}}
.auth-grid{display:grid;grid-template-columns:minmax(340px,5fr) 7fr;min-height:100vh;min-height:100dvh}
.auth-side{position:sticky;top:0;height:100vh;height:100dvh;background:var(--forest-deep);color:var(--on-forest);padding:40px clamp(28px,4vw,56px);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.auth-side .brand{color:var(--on-forest)}
.auth-side h1{font-size:clamp(2.2rem,3.6vw,3.4rem);margin:16px 0 28px}.auth-side .eyebrow{color:var(--citron)}
.perks{list-style:none;margin:0;padding:0;display:grid;gap:18px;font-size:16.5px;color:#D5DDD3}.perks li{display:flex;gap:14px;opacity:0;transform:translateX(-14px);animation:slideIn .7s var(--ease) forwards}.perks li:nth-child(1){animation-delay:.25s}.perks li:nth-child(2){animation-delay:.4s}.perks li:nth-child(3){animation-delay:.55s}
.perks b{color:var(--on-forest)}.tick{flex:none;width:22px;height:22px;border-radius:50%;background:var(--citron);position:relative;margin-top:3px}.tick::after{content:"";position:absolute;left:7px;top:4px;width:5px;height:10px;border:solid #17231F;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
@keyframes slideIn{to{opacity:1;transform:none}}
.orbit{width:min(320px,100%);opacity:.95}.orbit-line{stroke-dasharray:420;stroke-dashoffset:420;animation:draw 2.4s .4s var(--ease) forwards}.orbit-dot{fill:#0E3A2D;stroke:#DDEB55;stroke-width:2.5;opacity:0;animation:pop .5s var(--ease) forwards}.orbit-dot:nth-of-type(1){animation-delay:.4s}.orbit-dot:nth-of-type(2){animation-delay:1.1s}.orbit-dot:nth-of-type(3){animation-delay:1.7s}
@keyframes draw{to{stroke-dashoffset:0}}@keyframes pop{from{opacity:0;transform:scale(.4);transform-origin:center;transform-box:fill-box}to{opacity:1;transform:scale(1);transform-origin:center;transform-box:fill-box}}
.auth-main{padding:24px clamp(20px,5vw,72px) 56px;display:flex;flex-direction:column;align-items:center}
.auth-top{width:100%;max-width:640px;display:flex;justify-content:space-between;align-items:center;margin-bottom:clamp(16px,4vh,48px)}.back{text-decoration:none;font-weight:600;color:var(--muted)}.back:hover{color:var(--ink)}
.card-form{width:100%;max-width:640px;background:var(--elevated);border:1px solid var(--line);border-radius:28px;padding:clamp(22px,4vw,40px);box-shadow:var(--shadow);animation:rise .7s var(--ease) both}@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.stepper{list-style:none;display:flex;gap:8px;padding:0;margin:0 0 14px;font-size:14px;font-weight:700;color:var(--muted)}
.stepper li{display:flex;align-items:center;gap:8px;flex:1}.stepper li span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line);font-size:13px;transition:all .35s var(--ease)}
.stepper li.on{color:var(--ink)}.stepper li.on span{background:var(--citron);border-color:var(--citron);color:#17231F}.stepper li.done span{background:var(--forest);border-color:var(--forest);color:var(--on-forest)}[data-theme=dark] .stepper li.done span{color:#17231F}
.bar{height:4px;background:var(--panel);border-radius:4px;overflow:hidden;margin-bottom:28px}.bar i{display:block;height:100%;width:33.3%;background:var(--forest);border-radius:4px;transition:width .6s var(--ease)}[data-theme=dark] .bar i{background:var(--citron)}
fieldset{border:0;margin:0;padding:0;min-width:0}.pane{display:none}.pane.active{display:block;animation:pane .5s var(--ease)}@keyframes pane{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}.pane.back.active{animation-name:paneBack}@keyframes paneBack{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
legend{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;padding:0;margin-bottom:8px}.hint{color:var(--muted);font-size:15.5px;margin:0 0 22px}
.offer-choice{margin:-8px 0 20px;padding:12px 16px;border:1px solid var(--forest);border-radius:14px;background:color-mix(in srgb,var(--forest) 7%,var(--elevated));font-size:14px;font-weight:700;color:var(--forest)}[data-theme=dark] .offer-choice{color:var(--citron);border-color:var(--citron)}
.field{display:grid;gap:7px;margin-bottom:18px}.field label,.lbl{font-weight:650;font-size:15px}.field em,.consent em{color:var(--orange);font-style:normal}
input[type=text],input[type=email],input[type=tel],input:not([type]),select{width:100%;min-height:52px;padding:0 16px;border-radius:14px;border:1.5px solid var(--line);background:var(--canvas);transition:border-color .2s,box-shadow .2s}
input:hover,select:hover{border-color:var(--muted)}input:focus,select:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 4px color-mix(in srgb,var(--forest) 18%,transparent)}[data-theme=dark] input:focus,[data-theme=dark] select:focus{border-color:var(--citron);box-shadow:0 0 0 4px rgba(221,235,85,.2)}
input[aria-invalid=true]{border-color:var(--danger)}.err{color:var(--danger);font-size:14px;min-height:0;font-weight:600}.err:empty{display:none}[data-theme=dark] .err{color:#FFB4AB}.err.global{margin:0 0 14px;padding:12px 16px;border-radius:12px;background:color-mix(in srgb,var(--danger) 10%,transparent)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.chips{display:flex;flex-wrap:wrap;gap:10px}.chips label{cursor:pointer}.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid var(--line);font-weight:600;font-size:15px;transition:all .25s var(--ease)}
.chips label:hover span{border-color:var(--ink);transform:translateY(-1px)}.chips input:checked+span{background:var(--forest);border-color:var(--forest);color:var(--on-forest)}[data-theme=dark] .chips input:checked+span{color:#17231F}
.chips input:checked+span::before{content:"✓";margin-right:8px;font-weight:800}.chips input:focus-visible+span{outline:3px solid var(--forest);outline-offset:3px}[data-theme=dark] .chips input:focus-visible+span{outline-color:var(--citron)}
.chips.big span{min-height:48px}
.consent{display:flex;gap:12px;margin-top:26px;font-size:15px;cursor:pointer;align-items:flex-start}.consent input{flex:none;width:22px;height:22px;margin-top:2px;accent-color:var(--forest)}
.nav-row{display:flex;gap:12px;justify-content:space-between;margin-top:26px}.nav-row .btn.primary{margin-left:auto}
.spin{display:none;width:20px;height:20px;border:3px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.btn.busy .spin{display:inline-block}.btn.busy .label{opacity:.8}@keyframes spin{to{transform:rotate(360deg)}}
.overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--canvas) 78%,transparent);backdrop-filter:blur(10px);display:grid;place-items:center;z-index:200;animation:fade .25s both}@keyframes fade{from{opacity:0}to{opacity:1}}
.loader-card{background:var(--forest-deep);color:var(--on-forest);padding:34px 40px;border-radius:26px;box-shadow:var(--shadow);text-align:center;width:min(380px,calc(100% - 40px))}.loader-card svg{width:200px;margin:0 auto 14px;color:#F2F1E9}.loader-card p{margin:0;font-weight:600}
.ld-line{stroke-dasharray:1;stroke-dashoffset:1;animation:ldDraw 2.2s var(--ease) infinite}.ld-n{fill:#0E3A2D;stroke:#DDEB55;stroke-width:2.5;animation:ldNode 2.2s var(--ease) infinite}.n2{animation-delay:.45s}.n3{animation-delay:.9s}.n4{animation-delay:1.35s}
@keyframes ldDraw{0%{stroke-dashoffset:1}70%,100%{stroke-dashoffset:0}}@keyframes ldNode{0%,10%{fill:#0E3A2D}25%,100%{fill:#DDEB55}}
.auth-main > .done{width:100%;max-width:640px;background:var(--elevated);border:1px solid var(--line);border-radius:28px;padding:clamp(24px,5vw,48px);box-shadow:var(--shadow);display:grid;gap:18px;justify-items:start;animation:rise .7s var(--ease) both}.done[hidden]{display:none}
.check{width:72px;height:72px}.check circle{stroke:var(--forest);stroke-dasharray:152;stroke-dashoffset:152;animation:draw2 .8s var(--ease) forwards}.check path{stroke:var(--forest);stroke-dasharray:40;stroke-dashoffset:40;animation:draw2 .5s .6s var(--ease) forwards}[data-theme=dark] .check circle,[data-theme=dark] .check path{stroke:var(--citron)}@keyframes draw2{to{stroke-dashoffset:0}}
.auth-main > .done h2{font-size:clamp(2rem,5vw,3rem)}
.code-box{width:100%;background:var(--canvas);border:1.5px dashed var(--forest);border-radius:20px;padding:22px;display:grid;gap:10px;justify-items:start}[data-theme=dark] .code-box{border-color:var(--citron)}
.code-box output{font:700 clamp(1.4rem,4.5vw,2rem)/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em;word-break:break-all}
.next-steps{margin:0;padding-left:22px;display:grid;gap:8px;color:var(--muted)}.next-steps b{color:var(--ink)}
@media(max-width:900px){.auth-grid{grid-template-columns:1fr}.auth-side{position:relative;height:auto;padding:24px 22px 28px;gap:20px}.auth-side h1{font-size:2rem;margin-bottom:16px}.perks{gap:10px;font-size:15px}.orbit{display:none}.row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.perks li,.orbit-line,.orbit-dot,.check circle,.check path{opacity:1;transform:none;stroke-dashoffset:0}.ld-line{animation:none;stroke-dashoffset:0}.spin{animation-duration:2s}}

/* Mostly light: the side panel follows the mineral palette; citron stays as the accent. */
.auth-side{background:var(--panel);color:var(--ink);border-right:1px solid var(--line)}.auth-side .brand{color:var(--ink)}.auth-side .eyebrow{color:var(--forest)}
.perks{color:var(--muted)}.perks b{color:var(--ink)}.orbit-line{stroke:var(--forest)}.orbit-dot{fill:var(--panel);stroke:var(--forest)}.orbit circle:last-of-type{fill:var(--citron)}
[data-theme=dark] .auth-side{background:var(--forest-deep)}[data-theme=dark] .auth-side .eyebrow{color:var(--citron)}[data-theme=dark] .orbit-line,[data-theme=dark] .orbit-dot{stroke:var(--citron)}[data-theme=dark] .orbit-dot{fill:#0E3A2D}
