@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');
:root{--bg:#070910;--bg2:#0d101b;--card:#111522;--card2:#161b2c;--ink:#eef1fb;--muted:#8a91ab;--line:#232a40;--a:#7c5cff;--b:#22d3ee;--g:#2ee59d;--warn:#f5b84b;--bad:#ff6b7d;--grad:linear-gradient(120deg,#7c5cff,#22d3ee);--shadow:0 20px 60px #0008;--glass:#111522cc}
[data-theme=light]{--bg:#f3f5fb;--bg2:#fff;--card:#fff;--card2:#f7f8fd;--ink:#141829;--muted:#6f7791;--line:#e4e8f3;--shadow:0 14px 40px #2a346514;--glass:#ffffffcc}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 'Plus Jakarta Sans',sans-serif;-webkit-font-smoothing:antialiased;background-image:radial-gradient(900px 500px at 85% -10%,#7c5cff22,transparent 60%),radial-gradient(700px 400px at 0% 100%,#22d3ee14,transparent 60%);background-attachment:fixed}
.app{min-height:100vh}.hidden{display:none!important}
/* sidebar */
.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--bg2);border-right:1px solid var(--line);padding:26px 16px;display:flex;flex-direction:column;z-index:5}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;padding:0 10px 34px;font:700 20px 'Space Grotesk',sans-serif;letter-spacing:-.5px}
.brand-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--grad);color:#fff;box-shadow:0 8px 28px #7c5cff66;font-size:20px;font-weight:700}
.brand-light{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand small{display:block;color:var(--muted);font:600 8px 'Plus Jakarta Sans';letter-spacing:1.8px;margin-top:3px}
.eyebrow,.nav-label{font-size:10px;font-weight:700;letter-spacing:1.6px;color:var(--muted);text-transform:uppercase}
.nav-label{padding:0 14px 12px}
.nav{border:0;background:transparent;color:var(--muted);display:flex;gap:13px;align-items:center;text-align:left;padding:12px 14px;border-radius:12px;margin-bottom:4px;font-size:17px;cursor:pointer;transition:.2s;position:relative}
.nav span{font-size:13px;font-weight:600}
.nav:hover{background:var(--card2);color:var(--ink)}
.nav.active{background:linear-gradient(90deg,#7c5cff2e,#22d3ee0f);color:var(--ink);box-shadow:inset 0 0 0 1px #7c5cff44}
.nav.active::before{content:"";position:absolute;left:-16px;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0;background:var(--grad)}
.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:11px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px;font-size:12px}
.sidebar-bottom small{display:block;color:var(--muted);margin-top:2px;font-size:10px}
.status-dot,.pill i,.status-line i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--g);box-shadow:0 0 0 4px #2ee59d22;flex:none}
/* main */
.main{margin-left:250px;padding:0 40px 56px;max-width:1650px}
.topbar{height:96px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:4;background:var(--glass);backdrop-filter:blur(14px);margin:0 -40px 28px;padding:0 40px;border-bottom:1px solid var(--line)}
.topbar .eyebrow{margin-bottom:6px;font-size:9px}
.topbar h1{font:700 26px 'Space Grotesk';margin:0;letter-spacing:-.6px}
.top-actions{display:flex;align-items:center;gap:12px}
.pill{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--card);border-radius:30px;padding:9px 14px;font-size:11px;color:var(--muted)}
.icon-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:16px;cursor:pointer;transition:.2s}
.icon-btn:hover{border-color:var(--a);transform:translateY(-1px)}
.avatar{width:40px;height:40px;border-radius:12px;border:0;background:var(--grad);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 6px 20px #7c5cff55}
/* auth */
.auth-card{display:grid;grid-template-columns:1.05fr 1fr;min-height:560px;background:var(--card);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.auth-art{position:relative;overflow:hidden;background:linear-gradient(150deg,#0e1030,#1d1650 60%,#0f4a63);padding:56px 50px;color:#fff;display:flex;flex-direction:column;justify-content:center}
.auth-art .eyebrow{color:#a5b4ff}
.auth-art h2{font:700 clamp(36px,4vw,54px)/1.1 'Space Grotesk';letter-spacing:-2px;margin:22px 0 16px;position:relative;z-index:1}
.auth-art h2 span{background:linear-gradient(120deg,#a99bff,#5eead4);-webkit-background-clip:text;background-clip:text;color:transparent}
.auth-art>p{max-width:350px;color:#c4c9ea;line-height:1.8;position:relative;z-index:1}
.orb{position:absolute;border-radius:50%;pointer-events:none}
.orb1{width:320px;height:320px;right:-100px;top:-90px;background:radial-gradient(circle at 35% 35%,#8b7bff99,transparent 70%);border:1px solid #ffffff22}
.orb2{width:260px;height:260px;right:30px;bottom:-140px;background:radial-gradient(circle,#22d3ee66,transparent 70%)}
.mini-stats{display:flex;gap:14px;margin-top:38px;position:relative;z-index:1}
.mini-stats>div{background:#ffffff12;border:1px solid #ffffff1f;border-radius:14px;padding:14px 18px;backdrop-filter:blur(8px)}
.mini-stats b{font-size:12px;letter-spacing:1px}.mini-stats small{display:block;color:#b3b9e0;margin-top:5px;font-size:10px}
.auth-form{padding:54px clamp(28px,5vw,70px);align-self:center}
.tabs{display:inline-flex;background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:4px;gap:4px;margin-bottom:30px}
.tab{background:none;border:0;padding:9px 16px;border-radius:9px;color:var(--muted);font:600 12px 'Plus Jakarta Sans';cursor:pointer;transition:.2s}
.tab.selected{background:var(--grad);color:#fff;box-shadow:0 4px 14px #7c5cff55}
.auth-form h3{font:700 26px 'Space Grotesk';letter-spacing:-.6px;margin:0 0 8px}
.muted{color:var(--muted);font-size:12px;line-height:1.7}
.auth-form form{margin-top:24px}
.auth-form label,.field-label{display:block;font-weight:700;font-size:11px;margin:18px 0 8px;color:var(--ink)}
.auth-form input,.field{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:12px;outline:none;background:var(--card2);font:13px 'Plus Jakarta Sans';color:var(--ink);transition:.2s}
input:focus,.field:focus{border-color:var(--a);box-shadow:0 0 0 4px #7c5cff22}
.primary,.secondary{border:0;border-radius:12px;padding:12px 18px;font:700 12px 'Plus Jakarta Sans';cursor:pointer;transition:.2s}
.primary{background:var(--grad);color:#fff;box-shadow:0 8px 24px #7c5cff44}
.primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px #7c5cff66}
.primary span{float:right;font-size:17px;margin-top:-3px}
.secondary{background:#7c5cff1f;color:#a99bff}.secondary:hover{background:#7c5cff33}
.full{width:100%;margin-top:24px}
.fineprint{display:block;color:var(--muted);font-size:10px;margin-top:22px}
.message{font-size:12px;color:var(--bad);margin-top:10px;min-height:16px}
/* dashboard */
.welcome-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px}
.welcome-row h2{font:700 25px 'Space Grotesk';margin:8px 0 4px;letter-spacing:-.6px}.welcome-row p{margin:0}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}
.stat-card,.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.stat-card{padding:20px;min-height:170px;position:relative;overflow:hidden;transition:.25s}
.stat-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad);opacity:.9}
.stat-card:nth-child(2)::before{background:linear-gradient(90deg,#2ee59d,#22d3ee)}
.stat-card:nth-child(3)::before{background:linear-gradient(90deg,#ff7ab6,#7c5cff)}
.stat-card:nth-child(4)::before{background:linear-gradient(90deg,#f5b84b,#ff7a59)}
.stat-card:hover,.panel:hover{border-color:#7c5cff66}.stat-card:hover{transform:translateY(-3px)}
.stat-head{font-size:12px;color:var(--muted);font-weight:600;display:flex;justify-content:space-between;align-items:center}
.stat-head span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#7c5cff1f;color:#a99bff;font-size:15px}
.stat-card strong{display:block;font:700 29px 'Space Grotesk';letter-spacing:-1px;margin:16px 0 6px}
.stat-card small{font-size:11px}.positive{color:var(--g)}
.sparkline{display:flex;align-items:flex-end;gap:5px;height:28px;margin-top:12px}
.sparkline i{flex:1;border-radius:3px;background:linear-gradient(180deg,#7c5cff,#22d3ee55)}
.progress{height:6px;border-radius:6px;background:var(--card2);margin-top:16px;overflow:hidden}
.progress i{display:block;height:100%;background:linear-gradient(90deg,#2ee59d,#22d3ee);border-radius:6px}
.progress.purple i{background:linear-gradient(90deg,#ff7ab6,#7c5cff)}
.api-status{font-size:22px!important}
.status-line{font-size:11px;color:var(--muted);margin-top:14px}
.status-line i{width:7px;height:7px;background:var(--warn);box-shadow:none;margin-right:6px}
.content-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}
.panel{padding:24px;margin-bottom:20px}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.panel-heading h3,.panel>h3{font:700 16px 'Space Grotesk';margin:0 0 5px}.panel-heading p{margin:0;font-size:11px}
.text-btn{border:0;background:none;color:#a99bff;font:700 11px 'Plus Jakarta Sans';cursor:pointer;white-space:nowrap}.text-btn:hover{color:var(--b)}
.tag{font-size:10px;font-weight:700;color:var(--b);background:#22d3ee1a;padding:6px 10px;border-radius:20px}
.empty{text-align:center;padding:34px 10px;color:var(--muted)}
.empty-icon{display:grid;place-items:center;margin:0 auto 13px;width:48px;height:48px;background:#7c5cff1f;border-radius:14px;color:#a99bff;font-size:21px}
.empty b{display:block;color:var(--ink);font-size:13px}.empty p{font-size:11px;margin:7px 0 15px}
.compact{padding:24px 0 4px;font-size:12px}
.check-list{margin-top:22px}
.check-list>div{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px dashed var(--line)}.check-list>div:last-child{border:0}
.check{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--card2);border:1px solid var(--line);color:#a99bff;font-weight:800;font-size:11px}
.check-list b{font-size:12px}.check-list small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.done{margin-left:auto;color:var(--g);font-weight:800}
.table-wrap{overflow:auto;margin-top:20px;border-radius:12px}
table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}
th{font-size:10px;letter-spacing:.8px;color:var(--muted);font-weight:700;background:var(--card2);padding:12px}
th:first-child{border-radius:10px 0 0 10px}th:last-child{border-radius:0 10px 10px 0}
td{padding:14px 12px;border-bottom:1px solid var(--line);font-size:12px}tbody tr{transition:.15s}tbody tr:hover{background:#7c5cff0f}
td:first-child,th:first-child{padding-left:14px}
.badge{display:inline-block;padding:5px 10px;border-radius:20px;background:#7c5cff1f;color:#a99bff;font-size:10px;font-weight:700}
.badge.approved,.badge.paid{background:#2ee59d1f;color:var(--g)}.badge.pending{background:#f5b84b1f;color:var(--warn)}.badge.rejected{background:#ff6b7d1f;color:var(--bad)}
.form-panel{max-width:700px}.form-panel h3{font:700 18px 'Space Grotesk';margin-top:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-grid .wide{grid-column:1/-1}
select.field{appearance:none}
.toast{position:fixed;bottom:26px;right:26px;background:var(--card2);color:var(--ink);border:1px solid var(--a);padding:13px 18px;border-radius:12px;box-shadow:var(--shadow);font-size:12px;font-weight:600;z-index:20;opacity:0;transform:translateY(10px);transition:.25s;pointer-events:none}
.toast.show{opacity:1;transform:none}
.modal{position:fixed;inset:0;background:#05070dcc;backdrop-filter:blur(6px);z-index:30;display:grid;place-items:center;padding:18px}
.modal-box{width:min(520px,100%);background:var(--card);border:1px solid var(--line);border-radius:20px;padding:30px;position:relative;box-shadow:0 30px 90px #000a}
.modal-close{position:absolute;right:16px;top:14px;border:0;background:var(--card2);color:var(--ink);border-radius:10px;width:32px;height:32px;font-size:20px;cursor:pointer}
.modal-box h3{font:700 21px 'Space Grotesk';margin:0 0 7px}.modal-box p{font-size:12px;color:var(--muted);line-height:1.7}
.modal-box .primary{margin-top:18px}
.key-box{overflow-wrap:anywhere;background:var(--card2);border:1px dashed var(--a);padding:14px;border-radius:12px;font:12px monospace;color:var(--b);margin-top:10px}
@media(max-width:1200px){.main{padding:0 24px 36px}.topbar{margin:0 -24px 24px;padding:0 24px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-art,.auth-form{padding:40px 32px}}
@media(max-width:850px){.sidebar{width:72px;padding:22px 10px}.brand{padding:0 6px 32px}.brand>span:last-child,.nav-label,.nav span,.sidebar-bottom>div:not(.status-dot){display:none}.nav{justify-content:center;padding:14px 8px;font-size:19px}.nav.active::before{left:-10px}.sidebar-bottom{justify-content:center;padding:14px 0}.main{margin-left:72px;padding:0 18px 30px}.topbar{margin:0 -18px 22px;padding:0 18px;height:80px}.auth-card{grid-template-columns:1fr}.auth-art{min-height:290px}.content-grid{grid-template-columns:1fr}.pill{display:none}}
@media(max-width:520px){.main{padding:0 12px 24px}.topbar{margin:0 -12px 18px;padding:0 12px}.topbar h1{font-size:21px}.auth-art{padding:28px 22px;min-height:260px}.auth-art h2{font-size:35px}.auth-form{padding:26px 22px}.stats-grid{gap:10px}.stat-card{padding:15px;min-height:150px}.stat-card strong{font-size:23px}.welcome-row{align-items:flex-start}.welcome-row h2{font-size:20px}.welcome-row .primary{padding:10px;font-size:10px;white-space:nowrap}.panel{padding:17px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.top-actions{gap:8px}.mini-stats{gap:8px}}
/* ===== v3: logo, views, landing, auth, menu ===== */
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.logo{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font:700 21px 'Space Grotesk',sans-serif;letter-spacing:-.6px}
.logo b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}
.logo small{display:block;color:var(--muted);font:600 8px 'Plus Jakarta Sans';letter-spacing:1.8px;margin-top:2px;-webkit-text-fill-color:var(--muted)}
.logo-mark{width:38px;height:38px;flex:none;filter:drop-shadow(0 6px 16px #7c5cff66)}
.logo.on-dark{color:#fff;position:relative;z-index:1;margin-bottom:34px}
.sidebar .logo{padding:0 10px 34px}
/* view switching */
body[data-view=landing] .sidebar,body[data-view=landing] .topbar,body[data-view=landing] #authPanel,body[data-view=landing] #dashboard,body[data-view=landing] #pageContent,
body[data-view=auth] .sidebar,body[data-view=auth] .topbar,body[data-view=auth] #landing,body[data-view=auth] #dashboard,body[data-view=auth] #pageContent,
body[data-view=app] #landing,body[data-view=app] .site-nav{display:none!important}
body[data-view=landing] .main{margin:0;max-width:none;padding:0}
body[data-view=auth] .main{margin:0 auto;max-width:1120px;padding:104px 20px 48px}
/* site nav */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:20;background:var(--glass);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:72px;gap:20px}
.nav-links{display:flex;gap:6px}
.nav-links a{color:var(--muted);text-decoration:none;font-weight:600;font-size:13px;padding:9px 14px;border-radius:10px;transition:.2s}
.nav-links a:hover{color:var(--ink);background:var(--card2)}
.nav-cta{display:flex;align-items:center;gap:10px}
.btn-main,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font:700 13px 'Plus Jakarta Sans';border-radius:12px;padding:11px 18px;cursor:pointer;transition:.2s;white-space:nowrap}
.btn-main{background:var(--grad);color:#fff;box-shadow:0 8px 24px #7c5cff44}.btn-main:hover{transform:translateY(-2px);box-shadow:0 12px 30px #7c5cff66}
.btn-ghost{color:var(--ink);border:1px solid var(--line);background:var(--card)}.btn-ghost:hover{border-color:var(--a)}
.btn-main.lg,.btn-ghost.lg{padding:15px 24px;font-size:14px;border-radius:14px}
.nav-burger{display:none}
/* hero */
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;padding-top:150px;padding-bottom:70px;position:relative}
.chip{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--card);border-radius:30px;padding:8px 14px;font-size:12px;font-weight:600;color:var(--muted)}
.chip i{width:8px;height:8px;border-radius:50%;background:var(--g);box-shadow:0 0 0 4px #2ee59d22}
.hero h1{font:700 clamp(38px,5.2vw,64px)/1.06 'Space Grotesk';letter-spacing:-2.4px;margin:22px 0 18px}
.grad{background:linear-gradient(120deg,#a99bff,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:17px;line-height:1.75;color:var(--muted);max-width:540px;margin:0 0 30px}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.trust{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px;font-size:12px;color:var(--muted);font-weight:600}
.hero-art{position:relative}
.mock{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow),0 0 0 8px #7c5cff12;transform:rotate(-1.5deg)}
.mock-bar{display:flex;align-items:center;gap:6px;margin-bottom:18px}.mock-bar i{width:10px;height:10px;border-radius:50%;background:var(--line)}.mock-bar i:first-child{background:#ff6b7d}.mock-bar i:nth-child(2){background:#f5b84b}.mock-bar i:nth-child(3){background:#2ee59d}.mock-bar small{margin-left:auto;color:var(--muted);font-size:10px}
.mock-balance small{color:var(--muted);font-size:11px}.mock-balance b{display:block;font:700 32px 'Space Grotesk';letter-spacing:-1px;margin:4px 0}.up{color:var(--g);font-size:11px;font-weight:700}
.mock-chart{display:flex;align-items:flex-end;gap:9px;height:110px;margin:20px 0;padding:14px;background:var(--card2);border-radius:14px}
.mock-chart i{flex:1;border-radius:6px 6px 3px 3px;background:linear-gradient(180deg,#7c5cff,#22d3ee66)}
.mock-rows>div{display:flex;justify-content:space-between;padding:11px 4px;border-bottom:1px dashed var(--line);font-size:12px}.mock-rows>div:last-child{border:0}
.mock-rows em{font-style:normal;font-size:10px;font-weight:700;padding:4px 9px;border-radius:20px}.mock-rows .ok{background:#2ee59d1f;color:var(--g)}.mock-rows .wait{background:#f5b84b1f;color:var(--warn)}
.float{position:absolute;display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:11px 15px;font-size:12px;font-weight:700;box-shadow:var(--shadow)}
.float .ic{width:18px;height:18px;color:var(--b)}.f1{left:-24px;bottom:56px}.f2{right:-12px;top:-16px}
.ic{width:22px;height:22px}
.strip{border-block:1px solid var(--line);background:var(--bg2)}
.strip-in{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-block:26px}
.strip-in b{display:block;font:700 15px 'Space Grotesk'}.strip-in span{color:var(--muted);font-size:12px}
.sec{padding-top:96px}
.sec-head{text-align:center;max-width:640px;margin:0 auto 44px}
.sec-head h2{font:700 clamp(28px,3.6vw,40px)/1.15 'Space Grotesk';letter-spacing:-1.2px;margin:12px 0}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feat{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:26px;transition:.25s}
.feat:hover{transform:translateY(-4px);border-color:#7c5cff77;box-shadow:var(--shadow)}
.f-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#7c5cff2e,#22d3ee22);color:var(--b);margin-bottom:18px}
.feat h3{font:700 18px 'Space Grotesk';margin:0 0 8px}.feat p{margin:0;color:var(--muted);line-height:1.7;font-size:13px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:28px;position:relative}
.step span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--grad);color:#fff;font:700 18px 'Space Grotesk';margin-bottom:16px}
.step h3{font:700 18px 'Space Grotesk';margin:0 0 8px}.step p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.faq{max-width:760px;margin:0 auto;display:grid;gap:12px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 22px}
.faq summary{cursor:pointer;font-weight:700;font-size:14px;list-style:none;display:flex;justify-content:space-between}
.faq summary::after{content:"＋";color:var(--b)}.faq details[open] summary::after{content:"－"}
.faq p{margin:12px 0 0;color:var(--muted);line-height:1.75;font-size:13px}
.cta-band{margin-top:96px;text-align:center;padding:64px 24px;border-radius:28px;color:#fff;background:linear-gradient(135deg,#2b1d7a,#5b3fe0 55%,#0e7490);position:relative;overflow:hidden}
.cta-band h2{font:700 clamp(26px,3.4vw,38px) 'Space Grotesk';letter-spacing:-1px;margin:0 0 10px}.cta-band p{margin:0 0 26px;color:#d6dcff}
.cta-band .btn-main{background:#fff;color:#2b1d7a;box-shadow:0 10px 30px #0004}
.foot{margin-top:80px;border-top:1px solid var(--line);padding:30px 0}
.foot-in{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.foot small{color:var(--muted);max-width:520px}
/* auth tweaks */
.auth-form{position:relative}.back{display:inline-block;color:var(--muted);text-decoration:none;font-size:12px;font-weight:600;margin-bottom:22px}.back:hover{color:var(--ink)}
.pw-wrap{position:relative}.pw-wrap input{padding-right:46px}
.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;cursor:pointer;font-size:16px;padding:8px;opacity:.7}
.switch{text-align:center;font-size:12px;color:var(--muted);margin:20px 0 0}.switch a{color:#a99bff;font-weight:700;text-decoration:none}
.auth-art .logo{margin-bottom:34px}
/* user menu */
.user-menu{position:relative}
.dropdown{position:absolute;right:0;top:50px;min-width:220px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:var(--shadow);z-index:30}
.dd-email{padding:10px 12px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:6px;overflow-wrap:anywhere}
.dd-item{display:block;width:100%;text-align:left;border:0;background:none;color:var(--ink);padding:10px 12px;border-radius:10px;font:600 13px 'Plus Jakarta Sans';cursor:pointer}
.dd-item:hover{background:var(--card2)}.dd-item.danger{color:var(--bad)}
@media(max-width:980px){.hero{grid-template-columns:1fr;padding-top:120px;gap:40px}.hero-art{max-width:520px}.f1{left:-6px}.feat-grid{grid-template-columns:repeat(2,1fr)}.strip-in{grid-template-columns:repeat(2,1fr)}.nav-links{display:none}.nav-burger{display:inline-block}.site-nav.open .nav-links{display:flex;flex-direction:column;position:absolute;top:72px;left:0;right:0;background:var(--bg2);border-bottom:1px solid var(--line);padding:12px 24px 18px}}
@media(max-width:640px){.feat-grid,.steps{grid-template-columns:1fr}.btn-ghost:not(.lg){display:none}.nav-in{height:64px}.site-nav.open .nav-links{top:64px}.hero h1{letter-spacing:-1.4px}.f2{right:0}.sec{padding-top:72px}body[data-view=auth] .main{padding-top:88px}}
.back{display:block;width:max-content}.f1{bottom:-20px;left:-28px}
@media(max-width:640px){.nav-cta .theme-toggle{display:none}.nav-cta{gap:8px}.nav-cta .btn-main{padding:10px 14px}.wrap{padding:0 16px}}
