/* ── RESET & TOKENS ─────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
    --navy:#0B1426;--navy-800:#152238;--navy-700:#1E3356;--navy-600:#264573;
    --accent:#F97316;--accent-hover:#EA6C10;--accent-light:rgba(249,115,22,.12);
    --white:#fff;--gray-50:#F8FAFC;--gray-100:#F1F5F9;--gray-200:#E2E8F0;
    --gray-400:#94A3B8;--gray-500:#64748B;--gray-600:#475569;--text:#0F172A;
    --success:#10B981;--error:#EF4444;--info:#0891B2;--warning:#F59E0B;
    --font-display:'Sora',sans-serif;--font-body:'Plus Jakarta Sans',sans-serif;
    --ease:.25s ease;
}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--text);background:var(--white);overflow-x:hidden}

/* ── NAV ─────────────────────────────────────────────────────────────────────── */
.pub-nav{
    position:fixed;top:0;width:100%;z-index:1000;
    padding:0 5%;height:70px;
    display:flex;align-items:center;justify-content:space-between;
    background:rgba(11,20,38,.88);backdrop-filter:blur(20px);
    border-bottom:1px solid rgba(255,255,255,.06);
    transition:background var(--ease),box-shadow var(--ease);
}
.pub-nav.scrolled{background:rgba(11,20,38,.98);box-shadow:0 4px 32px rgba(0,0,0,.3)}
.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-mark{
    width:36px;height:36px;border-radius:10px;flex-shrink:0;
    background:linear-gradient(135deg,var(--accent),#FB923C);
    display:flex;align-items:center;justify-content:center;
    font-family:var(--font-display);font-weight:800;font-size:16px;color:#fff;
}
.brand-name{font-family:var(--font-display);font-weight:700;font-size:18px;color:#fff;letter-spacing:-.3px}
.nav-links{display:flex;align-items:center;gap:32px}
.nav-links a{font-size:14px;font-weight:500;color:rgba(255,255,255,.65);text-decoration:none;transition:color var(--ease)}
.nav-links a:hover{color:#fff}
.nav-ctas{display:flex;align-items:center;gap:10px}
.btn-ghost-nav{font-family:var(--font-body);font-size:14px;font-weight:500;color:rgba(255,255,255,.75);text-decoration:none;padding:8px 16px;border-radius:8px;transition:all var(--ease)}
.btn-ghost-nav:hover{color:#fff;background:rgba(255,255,255,.08)}
.btn-accent{font-family:var(--font-body);font-size:14px;font-weight:600;color:#fff;background:var(--accent);text-decoration:none;padding:9px 22px;border-radius:8px;transition:all var(--ease);border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.btn-accent:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 6px 20px rgba(249,115,22,.35)}

/* ── HERO ────────────────────────────────────────────────────────────────────── */
.hero{
    position:relative;min-height:100vh;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    padding:140px 5% 80px;
    background:var(--navy);overflow:hidden;
}
.hero-bg-glow{
    position:absolute;inset:0;pointer-events:none;
    background:
            radial-gradient(ellipse 80% 50% at 50% -5%,rgba(249,115,22,.18) 0%,transparent 60%),
            radial-gradient(ellipse 50% 50% at 80% 70%,rgba(8,145,178,.12) 0%,transparent 50%),
            radial-gradient(ellipse 40% 60% at 10% 80%,rgba(30,51,86,.9) 0%,transparent 50%);
}
.hero-grid{
    position:absolute;inset:0;
    background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
    background-size:60px 60px;
}
.hero-content{position:relative;z-index:2;text-align:center;max-width:860px;width:100%}
.hero-pill{
    display:inline-flex;align-items:center;gap:8px;
    background:rgba(249,115,22,.12);border:1px solid rgba(249,115,22,.28);
    border-radius:50px;padding:6px 16px;margin-bottom:28px;
    font-size:13px;font-weight:500;color:var(--accent);
    animation:fadeDown .6s ease both;
}
.hero-pill-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero-h1{
    font-family:var(--font-display);font-size:clamp(38px,3vw,50px);font-weight:800;
    color:#fff;line-height:1.08;letter-spacing:-2px;margin-bottom:22px;
    animation:fadeUp .7s .1s ease both;
}
.hero-h1 span{
    background:linear-gradient(135deg,var(--accent) 0%,#FB923C 50%,#FBBF24 100%);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero-sub{
    font-size:18px;font-weight:400;color:rgba(255,255,255,.58);
    line-height:1.75;max-width:540px;margin:0 auto 36px;
    animation:fadeUp .7s .2s ease both;
}
.hero-btns{display:flex;align-items:center;gap:14px;justify-content:center;flex-wrap:wrap;animation:fadeUp .7s .3s ease both}
.btn-hero-primary{
    font-family:var(--font-body);font-size:15px;font-weight:700;
    background:var(--accent);color:#fff;text-decoration:none;
    padding:14px 30px;border-radius:12px;display:inline-flex;align-items:center;gap:8px;
    transition:all var(--ease);box-shadow:0 8px 28px rgba(249,115,22,.32);
}
.btn-hero-primary:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 12px 36px rgba(249,115,22,.42)}
.btn-hero-outline{
    font-family:var(--font-body);font-size:15px;font-weight:500;
    color:#fff;text-decoration:none;background:transparent;
    padding:13px 28px;border-radius:12px;border:1px solid rgba(255,255,255,.2);
    display:inline-flex;align-items:center;gap:8px;transition:all var(--ease);
}
.btn-hero-outline:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.4)}
.hero-stats{
    display:flex;justify-content:center;gap:48px;
    margin-top:56px;border-top:1px solid rgba(255,255,255,.07);
    padding-top:40px;animation:fadeUp .7s .45s ease both;flex-wrap:wrap;
}
.hero-stat .n{font-family:var(--font-display);font-size:30px;font-weight:800;color:#fff}
.hero-stat .l{font-size:12px;color:rgba(255,255,255,.42);margin-top:3px}

/* ── DASHBOARD PREVIEW ────────────────────────────────────────────────────────── */
.preview-wrap{
    position:relative;z-index:2;width:100%;max-width:1080px;
    margin:52px auto 0;animation:fadeUp .8s .55s ease both;
}
.preview-card{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;overflow:hidden;
    box-shadow:0 40px 120px rgba(0,0,0,.48);padding:20px;
}
.preview-chrome{display:flex;align-items:center;gap:7px;margin-bottom:18px}
.chrome-dot{width:12px;height:12px;border-radius:50%}
.chrome-dot.r{background:#FF5F57}.chrome-dot.y{background:#FEBC2E}.chrome-dot.g{background:#28C840}
.preview-label{font-size:11px;color:rgba(255,255,255,.22);margin-left:8px}
.preview-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px}
.p-kpi{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:14px}
.p-kpi-label{font-size:10px;color:rgba(255,255,255,.38);font-weight:600;text-transform:uppercase;letter-spacing:.7px}
.p-kpi-val{font-family:var(--font-display);font-size:26px;font-weight:800;color:#fff;margin:5px 0 2px}
.p-kpi-delta{font-size:11px;color:var(--success)}
.preview-bottom{display:grid;grid-template-columns:1.5fr 1fr;gap:10px}
.p-chart{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:14px;height:130px;display:flex;flex-direction:column;justify-content:space-between}
.p-chart-label{font-size:11px;color:rgba(255,255,255,.4);font-weight:500}
.p-bars{display:flex;align-items:flex-end;gap:3px;height:72px;margin-top:6px}
.p-bar{flex:1;background:rgba(249,115,22,.22);border-radius:3px 3px 0 0}
.p-bar.hi{background:var(--accent)}
.p-list{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:14px}
.p-list-title{font-size:11px;color:rgba(255,255,255,.4);font-weight:500;margin-bottom:8px}
.p-row{display:flex;align-items:center;justify-content:space-between;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.04)}
.p-row:last-child{border:none}
.p-row-name{font-size:11px;color:rgba(255,255,255,.65)}
.p-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px}
.p-pending{background:rgba(249,115,22,.15);color:var(--accent)}
.p-approved{background:rgba(16,185,129,.15);color:var(--success)}
.p-review{background:rgba(8,145,178,.15);color:var(--info)}

/* ── SECTIONS ────────────────────────────────────────────────────────────────── */
section.pub{padding:96px 5%}
.max-w{max-width:1100px;margin:0 auto}
.sec-tag{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.sec-h2{font-family:var(--font-display);font-size:clamp(26px,4vw,42px);font-weight:800;color:var(--navy);letter-spacing:-1px;line-height:1.15;margin-bottom:14px}
.sec-sub{font-size:16px;color:var(--gray-600);line-height:1.75;max-width:520px}
.tc{text-align:center}.tc .sec-sub{margin:0 auto}

/* Features */
.features-bg{background:var(--gray-50)}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px}
.feat-card{
    background:var(--white);border:1px solid var(--gray-200);border-radius:16px;padding:30px;
    transition:all .3s;position:relative;overflow:hidden;
}
.feat-card::after{
    content:'';position:absolute;top:0;left:0;right:0;height:3px;
    background:linear-gradient(90deg,var(--accent),#FB923C);
    transform:scaleX(0);transform-origin:left;transition:transform .3s;
}
.feat-card:hover{transform:translateY(-5px);box-shadow:0 16px 48px rgba(0,0,0,.1);border-color:transparent}
.feat-card:hover::after{transform:scaleX(1)}
.feat-icon{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;font-size:22px}
.feat-card h3{font-family:var(--font-display);font-size:17px;font-weight:700;color:var(--navy);margin-bottom:8px}
.feat-card p{font-size:13.5px;color:var(--gray-600);line-height:1.7}
.fi-o{background:rgba(249,115,22,.1)}.fi-t{background:rgba(8,145,178,.1)}.fi-g{background:rgba(16,185,129,.1)}
.fi-p{background:rgba(139,92,246,.1)}.fi-a{background:rgba(245,158,11,.1)}.fi-b{background:rgba(59,130,246,.1)}

/* How it works */
.how-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;margin-top:56px}
.steps-list{display:flex;flex-direction:column;gap:0}
.step-item{display:flex;gap:20px;position:relative;padding-bottom:36px}
.step-item:last-child{padding-bottom:0}
.step-item::after{content:'';position:absolute;left:19px;top:40px;bottom:0;width:1px;background:linear-gradient(var(--gray-200),transparent)}
.step-item:last-child::after{display:none}
.step-num{width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:13px;flex-shrink:0;position:relative;z-index:1}
.step-item.active .step-num{background:var(--accent)}
.step-body h4{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--navy);margin-bottom:5px}
.step-body p{font-size:13.5px;color:var(--gray-600);line-height:1.65}
.how-visual{background:var(--navy);border-radius:20px;padding:28px;box-shadow:0 24px 64px rgba(0,0,0,.15);position:relative;overflow:hidden}
.how-visual::before{content:'';position:absolute;top:-40px;right:-40px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(249,115,22,.18),transparent 70%)}
.wf-head{font-size:10px;color:rgba(255,255,255,.35);font-weight:700;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:14px}
.wf-node{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);border-radius:10px;padding:12px 16px;margin-bottom:8px;display:flex;align-items:center;gap:10px}
.wf-node.active{background:rgba(249,115,22,.14);border-color:rgba(249,115,22,.35)}
.wf-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.18);flex-shrink:0}
.wf-node.active .wf-dot{background:var(--accent)}
.wf-txt{font-size:12px;color:rgba(255,255,255,.6)}
.wf-node.active .wf-txt{color:#fff;font-weight:500}
.wf-arrow{text-align:center;color:rgba(255,255,255,.18);font-size:16px;margin:3px 0}
.wf-alert{margin-top:16px;padding:10px 14px;background:rgba(249,115,22,.1);border:1px solid rgba(249,115,22,.2);border-radius:8px}
.wf-alert-title{font-size:10px;color:var(--accent);font-weight:700;margin-bottom:3px}
.wf-alert-body{font-size:11px;color:rgba(255,255,255,.5)}

/* Stats */
.stats-band{background:linear-gradient(135deg,var(--navy) 0%,#1E3356 100%);padding:72px 5%}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;text-align:center;max-width:1100px;margin:0 auto}
.stat-n{font-family:var(--font-display);font-size:46px;font-weight:800;color:#fff}
.stat-n span{color:var(--accent)}
.stat-l{font-size:13px;color:rgba(255,255,255,.45);margin-top:6px}

/* Pricing */
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:56px}
.plan{background:var(--white);border:1px solid var(--gray-200);border-radius:16px;padding:28px;position:relative;transition:all .3s}
.plan:hover{box-shadow:0 12px 40px rgba(0,0,0,.07)}
.plan.featured{background:var(--navy);border-color:var(--navy);transform:scale(1.04);box-shadow:0 20px 56px rgba(11,20,38,.22)}
.plan-top-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;font-size:10px;font-weight:700;padding:3px 14px;border-radius:20px;text-transform:uppercase;letter-spacing:.8px;white-space:nowrap}
.plan-name{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--navy);margin-bottom:6px}
.plan.featured .plan-name{color:rgba(255,255,255,.65)}
.plan-price{font-family:var(--font-display);font-size:34px;font-weight:800;color:var(--navy);line-height:1}
.plan.featured .plan-price{color:#fff}
.plan-price sup{font-size:16px;font-weight:500;vertical-align:super}
.plan-price small{font-size:13px;font-weight:400;color:var(--gray-400)}
.plan-sep{height:1px;background:var(--gray-100);margin:20px 0}
.plan.featured .plan-sep{background:rgba(255,255,255,.1)}
.plan-feats{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:24px}
.plan-feats li{font-size:13px;color:var(--gray-600);display:flex;align-items:center;gap:7px}
.plan.featured .plan-feats li{color:rgba(255,255,255,.68)}
.plan-feats li::before{content:'✓';color:var(--success);font-weight:700;flex-shrink:0}
.btn-plan{width:100%;padding:11px;border-radius:8px;font-family:var(--font-body);font-size:13px;font-weight:700;cursor:pointer;border:none;text-decoration:none;display:block;text-align:center;transition:all .2s}
.btn-plan-outline{background:transparent;border:1.5px solid var(--gray-200);color:var(--navy)}
.btn-plan-outline:hover{border-color:var(--accent);color:var(--accent)}
.btn-plan-filled{background:var(--accent);color:#fff}
.btn-plan-filled:hover{background:var(--accent-hover)}

/* CTA */
.cta-section{background:var(--navy);text-align:center;padding:96px 5%;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:560px;height:560px;background:radial-gradient(circle,rgba(249,115,22,.1),transparent 70%)}
.cta-section .sec-h2{color:#fff;position:relative}
.cta-section .cta-sub{font-size:16px;color:rgba(255,255,255,.48);position:relative;margin:14px auto 36px;max-width:480px;line-height:1.7}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative}

/* Footer */
footer.pub-footer{background:var(--navy);border-top:1px solid rgba(255,255,255,.06);padding:60px 5% 36px}
.footer-cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;margin-bottom:44px;max-width:1100px;margin-left:auto;margin-right:auto}
.footer-brand-name{font-family:var(--font-display);font-weight:700;font-size:18px;color:#fff}
.footer-brand p{font-size:13px;color:rgba(255,255,255,.38);margin-top:10px;line-height:1.65;max-width:260px}
.footer-col h5{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:rgba(255,255,255,.3);margin-bottom:14px}
.footer-col a{display:block;font-size:13px;color:rgba(255,255,255,.48);text-decoration:none;margin-bottom:9px;transition:color var(--ease)}
.footer-col a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:22px;display:flex;justify-content:space-between;max-width:1100px;margin:0 auto}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,.28)}

/* Animations */
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease}
.reveal.in{opacity:1;transform:none}

/* Responsive */
@media(max-width:960px){
    .feat-grid,.pricing-grid{grid-template-columns:1fr 1fr}
    .how-grid{grid-template-columns:1fr}
    .stats-grid{grid-template-columns:repeat(2,1fr)}
    .footer-cols{grid-template-columns:1fr 1fr}
    .plan.featured{transform:none}
}
@media(max-width:600px){
    .feat-grid,.pricing-grid,.stats-grid{grid-template-columns:1fr}
    .nav-links{display:none}
    .preview-kpis{grid-template-columns:1fr 1fr}
    .preview-bottom{grid-template-columns:1fr}
}

/* ── AUTH ────────────────────────────────────────────────────────────────────── */
.auth-wrap{min-height:100vh;display:flex}
.auth-left{
    width:42%;min-height:100vh;background:var(--navy);
    display:flex;flex-direction:column;justify-content:space-between;
    padding:44px;position:relative;overflow:hidden;
}
.auth-left::before{content:'';position:absolute;top:-80px;right:-80px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(249,115,22,.18),transparent 65%)}
.auth-left::after{content:'';position:absolute;bottom:-60px;left:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(8,145,178,.14),transparent 65%)}
.auth-left-top{position:relative;z-index:2}
.auth-left-brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-bottom:52px}
.auth-headline{font-family:var(--font-display);font-size:clamp(26px,3.2vw,38px);font-weight:800;color:#fff;line-height:1.15;letter-spacing:-1px;margin-bottom:14px}
.auth-headline span{color:var(--accent)}
.auth-left-sub{font-size:14px;color:rgba(255,255,255,.48);line-height:1.7;max-width:320px}
.auth-pills{display:flex;flex-direction:column;gap:10px;margin-top:40px}
.auth-pill{display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.07);border-radius:11px;padding:12px 16px;transition:all var(--ease)}
.auth-pill:hover{background:rgba(255,255,255,.09)}
.auth-pill-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.ap-o{background:rgba(249,115,22,.14)}.ap-t{background:rgba(8,145,178,.14)}.ap-g{background:rgba(16,185,129,.14)}
.auth-pill-text{font-size:13px;color:rgba(255,255,255,.68);font-weight:500}
.auth-left-foot{position:relative;z-index:2;font-size:11px;color:rgba(255,255,255,.22)}
.auth-right{flex:1;display:flex;align-items:center;justify-content:center;padding:44px 52px;background:var(--white)}
.auth-box{width:100%;max-width:420px}
.auth-box-wide{max-width:500px}
.auth-h1{font-family:var(--font-display);font-size:26px;font-weight:800;color:var(--navy);letter-spacing:-.4px;margin-bottom:4px}
.auth-switch{font-size:13px;color:var(--gray-500);margin-bottom:32px}
.auth-switch a{color:var(--accent);text-decoration:none;font-weight:600}

/* Alert */
.htmx-alert{padding:11px 16px;border-radius:9px;font-size:13px;display:flex;align-items:center;gap:9px;margin-bottom:18px}
.htmx-alert.err{background:rgba(239,68,68,.07);border:1px solid rgba(239,68,68,.18);color:#B91C1C}
.htmx-alert.ok{background:rgba(16,185,129,.07);border:1px solid rgba(16,185,129,.18);color:#065F46}

/* Form */
.frow{margin-bottom:18px}
.frow-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
label.flabel{display:block;font-size:12.5px;font-weight:600;color:var(--gray-600);margin-bottom:5px;letter-spacing:.1px}
.input-wrap{position:relative}
.iico{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--gray-400);font-size:15px;pointer-events:none;display:flex}
.finput{
    width:100%;padding:11px 13px 11px 40px;
    font-family:var(--font-body);font-size:14px;color:var(--text);
    background:var(--white);border:1.5px solid var(--gray-200);border-radius:9px;
    outline:none;transition:all var(--ease);-webkit-appearance:none;
}
.finput:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(249,115,22,.09)}
.finput::placeholder{color:var(--gray-400)}
.finput.no-ico{padding-left:13px}
.input-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--gray-400);font-size:13px;user-select:none;display:flex}
.fhelp{font-size:11.5px;color:var(--gray-400);margin-top:4px}

/* Password strength */
.pw-str{margin-top:7px;display:none}
.pw-bars{display:flex;gap:4px;margin-bottom:3px}
.pw-bar{flex:1;height:3px;background:var(--gray-200);border-radius:2px;transition:all .3s}
.pw-lbl{font-size:11px;color:var(--gray-400)}
.s0 .pw-bar:nth-child(1){background:#EF4444}
.s1 .pw-bar:nth-child(1),.s1 .pw-bar:nth-child(2){background:var(--warning)}
.s2 .pw-bar:nth-child(1),.s2 .pw-bar:nth-child(2),.s2 .pw-bar:nth-child(3){background:var(--accent)}
.s3 .pw-bar{background:var(--success)}

/* Checkbox */
.check-row{display:flex;align-items:center;gap:9px;margin-bottom:20px}
.check-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent)}
.check-row label{font-size:12.5px;color:var(--gray-600);font-weight:400;cursor:pointer}
.check-row label a{color:var(--accent);text-decoration:none}

/* Submit */
.btn-submit{
    width:100%;padding:13px;border-radius:9px;border:none;cursor:pointer;
    font-family:var(--font-body);font-size:14px;font-weight:700;
    background:var(--navy);color:#fff;transition:all var(--ease);
    display:flex;align-items:center;justify-content:center;gap:8px;
}
.btn-submit:hover{background:#1E3356;transform:translateY(-1px);box-shadow:0 8px 22px rgba(11,20,38,.22)}
.btn-submit:disabled{opacity:.65;cursor:not-allowed;transform:none}
.btn-back{flex:1;padding:13px;border-radius:9px;border:1.5px solid var(--gray-200);background:transparent;font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--gray-600);cursor:pointer;transition:all var(--ease)}
.btn-back:hover{background:var(--gray-50);border-color:var(--gray-300)}

/* Step dots */
.step-dots{display:flex;align-items:center;gap:7px;margin-bottom:28px}
.sdot{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;transition:all .3s}
.sdot.active{background:var(--navy);color:#fff}
.sdot.done{background:var(--success);color:#fff}
.sdot.idle{background:var(--gray-100);color:var(--gray-400)}
.sline{flex:1;height:2px;background:var(--gray-200);border-radius:1px;transition:all .3s}
.sline.done{background:var(--success)}

/* HTMX loading */
.htmx-request .btn-submit{opacity:.7}
.htmx-indicator{display:none}
.htmx-request .htmx-indicator{display:inline-block}
.spin{width:16px;height:16px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Success screen */
.success-scr{text-align:center}
.success-icon{width:68px;height:68px;border-radius:50%;background:rgba(16,185,129,.1);display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 20px}
.success-scr h3{font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--navy);margin-bottom:8px}
.success-scr p{font-size:14px;color:var(--gray-500);line-height:1.7;margin-bottom:24px}

@media(max-width:768px){
    .auth-wrap{flex-direction:column}
    .auth-left{width:100%;min-height:auto;padding:28px;padding-bottom:36px}
    .auth-pills{display:none}
    .auth-right{padding:28px 20px}
    .frow-2{grid-template-columns:1fr}
}
