/* Partner pages (join, sign-in, dashboard, statement, terms): the app's own look.
   Tokens: brand colour from App details (--accent, written by the server), deep green, gold accent, mint, soft cards.
   Manrope for headings and numbers, Inter for text (Google Fonts, display=swap; system fonts as the fallback).
   The pages are always light (the design has no dark variant), so the tokens are set on body.pw for every scheme. */
.pw{
  --g:var(--accent,#0E6B4F); --g2:color-mix(in srgb,var(--g) 82%,#3DDC97); --lime:#3DDC97; --deep:#082A20;
  --gold:#F2C75C; --goldInk:#3B2A05; --mint:#F2FAF5; --mint2:#DDF1E6; --cream:#FFF8E5;
  --blue:#4C7DF0; --plum:#9B6BE0; --coral:#F07C5C;
  --bg:#F4F7F5; --surface:#FFFFFF; --surface-2:#F4F7F5; --card:#fff; --ink:#14201B; --muted:#5E6C64; --faint:#6B7A72;
  --line:#E4EBE7; --line-2:#EDF2EF; --ok:#0E7A55; --ok-soft:#DDF1E6; --bad:#B4442A; --bad-soft:#FDECE7; --amber:#8A6410; --amber-soft:#FFF1C9;
  --info:#3A66CF; --info-soft:#E7F0FD; --accent-soft:var(--mint2); --accent-ink:#fff;
  --f-display:Manrope,Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-body:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --r:20px; --shadow:0 1px 0 rgba(20,32,27,.02),0 10px 30px rgba(20,32,27,.05);
  color-scheme:light; background:var(--bg)!important; color:var(--ink); font:15px/1.55 var(--f-body); -webkit-font-smoothing:antialiased;
}
.pw h1,.pw h2,.pw h3,.pw .n{font-family:var(--f-display);letter-spacing:-.02em;margin:0}
.pw a{color:var(--g)}
.pw :focus-visible{outline:3px solid color-mix(in srgb,var(--g) 45%,transparent);outline-offset:2px}
.pw .wrap{max-width:1200px;margin:0 auto;padding:0 20px}
@media (max-width:520px){.pw .wrap{padding:0 16px}}
/* buttons (the dashboard script uses .btn, .sm, .xs, .primary, .ghost, .danger) */
.pw .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:12px;padding:10px 16px;font:700 14px var(--f-body);cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform .15s,box-shadow .15s,background .15s}
.pw .btn:hover{transform:translateY(-1px);border-color:#C9D6CF}
.pw .btn.primary,.pw .btn.green{background:var(--g);border-color:var(--g);color:#fff;box-shadow:0 8px 24px color-mix(in srgb,var(--g) 28%,transparent)}
.pw .btn.gold{background:var(--gold);border-color:var(--gold);color:var(--goldInk);box-shadow:0 8px 24px rgba(242,199,92,.35)}
.pw .btn.mint{background:var(--mint2);border-color:var(--mint2);color:var(--g)}
.pw .btn.ghost{background:#fff;border-color:var(--line);color:var(--ink)}
.pw .btn.danger{background:var(--bad-soft);border-color:var(--bad-soft);color:var(--bad)}
.pw .btn.sm{padding:7px 12px;font-size:13px;border-radius:10px}
.pw .btn.xs{padding:4px 10px;font-size:12px;border-radius:8px}
.pw .btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.pw .input,.pw select,.pw textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:12px;font:14px var(--f-body);background:#fff;color:var(--ink)}
.pw .input:focus,.pw select:focus,.pw textarea:focus{outline:2px solid color-mix(in srgb,var(--g) 25%,transparent);border-color:var(--g);box-shadow:none}
.pw .input[readonly]{background:var(--bg);color:var(--muted)}
.pw .mono{font-family:var(--f-mono)}
.pw .note,.pw .muted{color:var(--muted);font-size:13.5px;margin:0}
.pw .hint{font-size:12.5px;color:var(--faint)}
.pw .ok-msg{color:var(--ok);font-weight:700;font-size:14px}.pw .err-msg{color:var(--bad);font-weight:700;font-size:14px}
.pw .pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:99px;font:700 12px var(--f-body);white-space:nowrap;background:#F0F3F1;color:var(--muted);border:0}
.pw .pill.ok{background:var(--mint2);color:var(--g)}.pw .pill.warn{background:var(--amber-soft);color:var(--amber)}.pw .pill.bad{background:var(--bad-soft);color:var(--bad)}.pw .pill.info{background:var(--info-soft);color:var(--info)}.pw .pill.paid{background:var(--g);color:#fff}
.pw .pill.p0{background:var(--mint2);color:var(--g)}.pw .pill.p1{background:#F1ECFC;color:#7A4CC9}.pw .pill.p2{background:#FFF1C9;color:#8A6410}.pw .pill.p3{background:#E7F0FD;color:#3A66CF}.pw .pill.p4{background:#FDECE7;color:#C2553A}
.pw .chips{display:flex;gap:6px;flex-wrap:wrap}
.pw .chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:99px;padding:6px 12px;font:600 12.5px var(--f-body);color:var(--muted);cursor:pointer}
.pw .chip:hover{color:var(--ink)}
.pw .chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.pw .chip b{font-weight:800}
.pw .switch{position:relative;width:42px;height:24px;flex:none;border-radius:99px;border:0;background:#D5DED9;cursor:pointer;padding:0;transition:background .2s}
.pw .switch::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.pw .switch[aria-checked="true"]{background:var(--g)}.pw .switch[aria-checked="true"]::after{left:21px}
.pw .brand{display:inline-flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink);font:800 18px var(--f-display);letter-spacing:-.02em}
.pw .brand img{width:34px;height:34px;border-radius:10px;object-fit:contain}
.pw .badge{padding:3px 10px;border-radius:99px;background:var(--gold);color:var(--goldInk);font:700 12px var(--f-body);letter-spacing:0}
.pw .kick{font:700 12px var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--g)}

/* ================= dashboard ================= */
.pd-top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.pd-top .wrap{display:flex;align-items:center;gap:12px;height:64px}
.pd-top .sp{flex:1}
.pd-top .me{display:flex;align-items:center;gap:10px;min-width:0}
.pd-top .who{display:block;text-align:right;line-height:1.2;min-width:0}.pd-top .who small{display:block}.pd-top .who b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.pd-top .who small{color:var(--muted);font-size:12.5px}
.pd-top .av{width:36px;height:36px;flex:none;border-radius:50%;background:linear-gradient(135deg,var(--lime),var(--g));color:#fff;display:grid;place-items:center;font:800 15px var(--f-display)}
.pd-top .so{font:600 13px var(--f-body);color:var(--muted);background:#fff;padding:7px 10px;border-radius:10px;border:1px solid var(--line);cursor:pointer}
.pd-top .me{position:relative}
.pd-top .acct{display:flex;align-items:center;gap:10px;background:none;border:0;padding:4px 6px;border-radius:14px;cursor:pointer;font:inherit;color:inherit;min-width:0}
.pd-top .acct:hover,.pd-top .acct[aria-expanded=true]{background:var(--mint)}
.pd-top .acct:focus-visible{outline:2px solid var(--g);outline-offset:2px}
.pd-top .chev{color:var(--muted);font-size:12px;transition:transform .15s}.pd-top .acct[aria-expanded=true] .chev{transform:rotate(180deg)}
.pd-top a.so{text-decoration:none;white-space:nowrap}
.pd-top .menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:280px;max-width:calc(100vw - 24px);background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:0 18px 44px rgba(20,32,27,.16)}
.pd-top .menu .mh{display:flex;gap:10px;align-items:center;padding:8px 8px 10px;min-width:0}.pd-top .menu .mh span:last-child{min-width:0}.pd-top .menu .mh b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pd-top .menu .mh small{display:block;color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pd-top .menu .mc{display:flex;align-items:center;gap:8px;padding:9px 10px;margin:0 0 6px;border-radius:12px;background:var(--mint);font-size:13px;color:var(--muted)}.pd-top .menu .mc code{font:700 13px ui-monospace,monospace;color:var(--g)}.pd-top .menu .mc .lnk{margin-left:auto;background:none;border:0;padding:0;font:700 12.5px var(--f-body);color:var(--g);cursor:pointer}
.pd-top .menu [role=menuitem]{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:0;border-radius:12px;background:none;font:600 14px var(--f-body);color:var(--ink);text-decoration:none;text-align:left;cursor:pointer}
.pd-top .menu [role=menuitem]:hover,.pd-top .menu [role=menuitem]:focus-visible{background:var(--mint);outline:none}
.pd-top .menu [role=menuitem] i{width:24px;height:24px;flex:none;border-radius:8px;display:grid;place-items:center;background:var(--bg,#F4F7F5);font-style:normal;font-size:13px}
.pd-top .menu .out{margin-top:6px;border-top:1px solid var(--line);border-radius:0 0 12px 12px;padding-top:12px;color:#B4442A}
@media (max-width:600px){.pd-top .who{display:none}.pd-top .brand span.nm{display:none}.pd-top .so{display:none}.pd-top .menu{position:fixed;left:12px;right:12px;top:68px;width:auto;max-width:none}}
.pd{padding-bottom:48px}
.pd .tabs{display:flex;gap:6px;overflow-x:auto;padding:14px 0 4px;scrollbar-width:none}
.pd .tabs::-webkit-scrollbar{display:none}
.pd .tabs button{flex:none;padding:9px 14px;border-radius:99px;color:var(--muted);background:none;border:0;font:600 14.5px var(--f-body);cursor:pointer}
.pd .tabs button:hover{color:var(--ink);background:#fff}
.pd .tabs button[aria-selected="true"]{background:var(--ink);color:#fff}
.pd .tabs .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gold);vertical-align:2px;margin-left:4px}
.pd .card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:0 10px 30px rgba(20,32,27,.04);min-width:0;transition:box-shadow .2s,transform .2s}
.pd .card:hover{box-shadow:0 16px 40px rgba(20,32,27,.08)}
.pd .ch{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.pd .ch h3{font-size:17px}.pd .ch .sp{flex:1}.pd .ch small{color:var(--muted)}
.pd .lnk{color:var(--g);font-weight:700;text-decoration:none;font-size:13.5px;background:none;border:0;cursor:pointer;padding:0;font-family:var(--f-body)}
.pd .stack{display:grid;gap:18px;margin-top:14px}
.pd .grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}
.pd .grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pd .grid3c{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pd .pagehead{display:flex;align-items:flex-end;gap:12px;margin:14px 0 0;flex-wrap:wrap}.pd .pagehead h2{font-size:28px}.pd .pagehead p{margin:4px 0 0;color:var(--muted)}.pd .pagehead>div{flex:1;min-width:220px}
/* status banners */
.pd .status{display:flex;margin:14px 0 0;padding:12px 16px;border-radius:14px;font-size:14px;align-items:flex-start;gap:10px;background:#fff;border:1px solid var(--line)}
.pd .status>span:first-child{flex:none;font-size:16px;line-height:1.4}
.pd .status.warn{background:#FFF6DD;color:#5C4510;border-color:#F5E2A8}
.pd .status.bad{background:#FDECE7;color:#7A2E1C;border-color:#F6C9BB}
.pd .status.info{background:var(--info-soft);color:#24418A;border-color:#CFDDF8}
/* hero */
.pd .hero{margin-top:14px;border-radius:24px;padding:26px;color:#fff;position:relative;overflow:hidden;background:radial-gradient(800px 300px at 90% -20%,rgba(61,220,151,.4),transparent 60%),linear-gradient(150deg,var(--g),var(--deep))}
.pd .hero .g{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:center}
.pd .hero h1{font-size:30px;line-height:1.15}.pd .hero p{color:#CFE9DC;margin:6px 0 16px}
.pd .linkbox{display:flex;gap:8px;flex-wrap:wrap}
.pd .lpill{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);font:600 14px var(--f-mono);min-width:0;max-width:100%}
.pd .lpill span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.pd .cbtn{flex:none;border:0;border-radius:10px;padding:7px 12px;font:700 13px var(--f-body);cursor:pointer;background:var(--gold);color:var(--goldInk);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.pd .cbtn.g{background:var(--mint2);color:var(--g)}
.pd .share{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.pd .share a{min-width:36px;height:36px;padding:0 10px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff;text-decoration:none;font:700 13px var(--f-body)}
.pd .share a:hover{background:rgba(255,255,255,.22)}
.pd .next{background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:16px}
.pd .next small{color:#CFE9DC;font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:11.5px}
.pd .next .row{display:flex;align-items:center;gap:14px;margin-top:8px}.pd .next .row div span{color:#CFE9DC;font-size:14px}
.pd .next .big{font:800 34px var(--f-display);color:var(--gold);white-space:nowrap}
.pd .track{height:10px;border-radius:99px;background:rgba(255,255,255,.15);overflow:hidden;margin-top:10px}.pd .track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--gold),#FFE29A);transition:width .8s cubic-bezier(.2,.8,.2,1)}
/* KPIs + sparklines */
.pd .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pd .kpi{display:block;text-align:left;font:inherit;color:inherit;width:100%}
button.kpi{cursor:pointer}
.pd .kpi:hover{transform:translateY(-2px)}
.pd .kpi.on{border-color:var(--g);box-shadow:inset 0 0 0 1px var(--g),0 10px 30px rgba(20,32,27,.04)}
.pd .kpi .l{color:var(--muted);font-weight:600;font-size:13.5px;display:flex;align-items:center;gap:8px}.pd .kpi .l i{width:8px;height:8px;border-radius:50%;flex:none}
.pd .kpi .n{font-size:28px;font-weight:800;margin:6px 0 2px;line-height:1.15;overflow-wrap:anywhere}.pd .kpi .n em{font-style:normal;font-size:14px;color:var(--muted);margin-left:2px}
.pd .delta{font:700 12.5px var(--f-body);color:var(--muted)}.pd .delta.up{color:var(--g)}.pd .delta.dn{color:var(--coral)}
.pd .spark{width:100%;height:42px;margin-top:8px;display:block}
.pd .perf{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pd .perf b{font:800 16px var(--f-display)}.pd .perf .sp{flex:1}
.pd .seg{display:flex;background:var(--bg);border-radius:12px;padding:3px;flex-wrap:wrap}
.pd .seg button{border:0;background:none;padding:6px 10px;border-radius:9px;font:600 12.5px var(--f-body);color:var(--muted);cursor:pointer}
.pd .seg button[aria-pressed="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
/* charts */
.pd .chartwrap{position:relative}
.pd .pchart{width:100%;height:auto;display:block}
.pd .pchart .gl{stroke:#EEF3F0}.pd .pchart .ax{fill:#8A968F;font:11px var(--f-body)}
.pd .pchart .pbar{fill:var(--g);opacity:.88}.pd .pchart .pbar:hover{opacity:1}.pd .pchart .pbar.z{fill:#E4EBE7}
.pd .area{width:100%;height:auto;display:block}
.pd .legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}.pd .legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.pd .xtip{position:absolute;pointer-events:none;padding:8px 10px;border-radius:12px;background:var(--ink);color:#fff;font:600 12.5px var(--f-body);white-space:nowrap;transform:translate(-50%,-110%);opacity:0;transition:opacity .15s;z-index:3}.pd .xtip b{color:var(--gold)}
.pd .sum{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.pd .sum>div{border-radius:14px;background:var(--mint);padding:12px;min-width:0}.pd .sum .n{font-size:19px;font-weight:800;color:var(--g);overflow-wrap:anywhere}.pd .sum span{font-size:12.5px;color:var(--muted);display:block}.pd .sum small{font-size:11.5px;color:var(--faint);display:block}
.pd .sum>div.hl{background:var(--g)}.pd .sum>div.hl .n{color:var(--gold)}.pd .sum>div.hl span,.pd .sum>div.hl small{color:#CFE9DC}
/* rings */
.pd .rings{display:grid;gap:16px}
.pd .ring{display:flex;align-items:center;gap:16px}.pd .ring svg{flex:none}.pd .ring b{font:800 16px var(--f-display)}.pd .ring p{margin:2px 0 0;color:var(--muted);font-size:13.5px}
.pd .ring .rf{transition:stroke-dashoffset .9s cubic-bezier(.2,.8,.2,1)}
.pd .tiers{display:flex;justify-content:space-between;gap:6px;margin-top:14px;font:600 12px var(--f-mono);color:var(--muted);flex-wrap:wrap}.pd .tiers b{color:var(--g)}.pd .tiers .on{color:var(--ink)}
/* funnel + bars */
.pd .funnel{display:grid;gap:10px}
.pd .fstep{display:grid;grid-template-columns:90px 1fr 56px;align-items:center;gap:10px}
.pd .fstep .bar{height:34px;border-radius:10px;background:var(--mint);overflow:hidden}
.pd .fstep .bar i{display:flex;align-items:center;padding-left:10px;height:100%;border-radius:10px;color:#fff;font:700 13px var(--f-body);font-style:normal;white-space:nowrap;transition:width .8s cubic-bezier(.2,.8,.2,1)}
.pd .fstep .conv{font:700 13px var(--f-body);color:var(--muted);text-align:right}
.pd .hbars{display:grid;gap:12px}
.pd .hb .t{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;margin-bottom:5px}.pd .hb .t b{font-weight:700}.pd .hb .t span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.pd .hb .b{height:10px;border-radius:99px;background:var(--bg);overflow:hidden}.pd .hb .b i{display:block;height:100%;border-radius:99px;transition:width .8s}
/* milestones */
.pd .ms{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pd .m{border-radius:16px;padding:14px 10px;text-align:center;border:1px dashed #CCD8D1;color:var(--muted);font-size:12.5px}
.pd .m .e{font-size:24px;display:block;filter:grayscale(1);opacity:.45;line-height:1.3}
.pd .m.done{border:1px solid var(--mint2);background:var(--mint);color:var(--ink)}.pd .m.done .e{filter:none;opacity:1}
.pd .m b{display:block;font-size:13px;color:var(--ink)}
/* activity */
.pd .feed{list-style:none;margin:0;padding:0}
.pd .feed li{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.pd .feed li:last-child{border:0}
.pd .feed .d{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:16px;background:var(--bg)}
.pd .feed .sale .d{background:var(--mint)}.pd .feed .signup .d{background:#F1ECFC}.pd .feed .tier .d,.pd .feed .joined .d{background:#FFF6DD}.pd .feed .refund .d{background:var(--bad-soft)}.pd .feed .payout .d{background:var(--info-soft)}
.pd .feed div{min-width:0}.pd .feed small{color:var(--muted)}
/* checklist */
.pd .check{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pd .check li{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--bg);font-size:14px}
.pd .check .c{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:800 12px var(--f-body);background:var(--mint2);color:var(--g)}
.pd .check li.todo .c{background:#fff;border:1.5px dashed #B8C6BE;color:transparent}
.pd .check li .lnk{margin-left:auto;white-space:nowrap}
.pd .np{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}.pd .np b{font:800 26px var(--f-display);color:var(--g)}.pd .np span{color:var(--muted);font-size:14px}
/* kit posts */
.pd .kit{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pd .post{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff;display:flex;flex-direction:column;min-width:0}
.pd .post .h{display:flex;align-items:center;gap:8px;font-weight:700;margin-bottom:8px}.pd .post .ic{flex:none;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:#fff;font:800 11px var(--f-body);background:var(--g)}
.pd .post p{margin:0 0 10px;font-size:13.5px;color:#33423B;white-space:pre-line;overflow-wrap:anywhere;flex:1}
.pd .post .cbtn{align-self:flex-start}
/* empty states */
.pd .empty{text-align:center;padding:30px 20px}.pd .empty .e{font-size:42px;line-height:1.2}.pd .empty h3{font-size:22px;margin:8px 0 6px}.pd .empty p{color:var(--muted);max-width:520px;margin:0 auto 18px}
.pd .empty.sm{padding:18px 10px}.pd .empty.sm .e{font-size:30px}.pd .empty.sm h3{font-size:16px}.pd .empty.sm p{margin-bottom:0;font-size:14px}
.pd .steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:left;margin-top:8px}
.pd .steps3>div{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff;display:grid;gap:8px;align-content:start}
.pd .steps3>div.ok{background:var(--mint);border-color:var(--mint2)}
.pd .steps3 b{display:flex;gap:8px;align-items:center}.pd .steps3 b span{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--mint2);color:var(--g);font:800 13px var(--f-display)}
.pd .steps3 .ok b span{background:var(--g);color:#fff}
.pd .steps3 small{display:block;color:var(--muted)}.pd .steps3 .btn{justify-self:start}
/* tables → stacked rows on phones */
.pd .tbl{display:grid;font-size:14px}
.pd .tr{display:grid;gap:10px;align-items:center;padding:11px 6px;border-bottom:1px solid var(--line)}
.pd .tr.th{font:700 12px var(--f-body);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--line);padding-top:4px}
.pd .tr:hover:not(.th){background:var(--mint)}
.pd .tr .r{text-align:right}.pd .tr>span{min-width:0;overflow-wrap:anywhere}
.pd .tr .hint{display:block}
.pd .tr.cu{grid-template-columns:1.8fr 1.2fr .9fr 1.1fr .8fr .9fr}
.pd .tr.li{grid-template-columns:.8fr 1.5fr 1.2fr .8fr .6fr .9fr 1.2fr}
.pd .tr.po{grid-template-columns:1fr 1.2fr .8fr 1fr .9fr}
.pd .tr.ml{grid-template-columns:1fr 4fr}
.pd .cav{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;font:800 11px var(--f-display);margin-right:8px;vertical-align:middle;flex:none}
.pd .cav.c0{background:var(--info-soft);color:var(--blue)}.pd .cav.c1{background:#F1ECFC;color:var(--plum)}.pd .cav.c2{background:#FFF6DD;color:#B7860B}.pd .cav.c3{background:var(--mint);color:var(--g)}.pd .cav.c4{background:#FDECE7;color:var(--coral)}
.pd .cname{display:flex;align-items:center}.pd .cname>span{min-width:0}
.pd .filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.pd .filters .input{max-width:280px}
/* donut + tip */
.pd .donut{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.pd .leg{list-style:none;margin:0;padding:0;display:grid;gap:8px;flex:1;min-width:140px}.pd .leg li{display:flex;align-items:center;gap:8px}.pd .leg i{width:10px;height:10px;border-radius:3px;flex:none}.pd .leg b{margin-left:auto;padding-left:14px}
.pd .tipbox{margin-top:16px;padding:12px 14px;border-radius:14px;background:var(--cream);color:#5C4510;font-size:13.5px}
/* monthly stacked bars */
.pd .vbars{display:flex;align-items:flex-end;gap:8px;height:230px;padding:10px 4px 26px}
.pd .vb{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;position:relative;height:100%;cursor:default}
.pd .vb i{display:block;border-radius:3px;margin-top:2px;min-height:0}.pd .vb i:first-child{border-radius:7px 7px 3px 3px}
.pd .vb i.z{height:2px;background:#E4EBE7}
.pd .vb small{position:absolute;bottom:-22px;left:-4px;right:-4px;text-align:center;font-size:11px;color:var(--muted);white-space:nowrap}
.pd .vb .vt{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;border-radius:10px;padding:6px 9px;font:600 11.5px/1.45 var(--f-body);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;z-index:3}
.pd .vb:hover .vt,.pd .vb:focus .vt{opacity:1}
/* the tooltips of the first and last bars open inwards, so they never push the page wider (phones) */
.pd .vb:nth-child(-n+4) .vt{left:0;transform:none}.pd .vb:nth-last-child(-n+4) .vt{left:auto;right:0;transform:none}
@media (max-width:600px){.pd .vbars{gap:4px}.pd .vb small{font-size:9.5px}}
/* payouts */
.pd .payhero{border-radius:20px;padding:24px;color:#fff;background:radial-gradient(600px 220px at 100% 0,rgba(242,199,92,.35),transparent 60%),linear-gradient(150deg,var(--g),var(--deep))}
.pd .payhero small{color:#CFE9DC;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:11.5px}
.pd .payhero .big{font:800 48px var(--f-display);color:var(--gold);line-height:1.1;margin:6px 0;overflow-wrap:anywhere}
.pd .payhero p{color:#E7F5EE;margin:0 0 6px}.pd .payhero .ok{font:700 13px var(--f-body);color:#9FE9C6;display:block;margin-top:8px}.pd .payhero .ok.w{color:#FFE29A}
.pd .flow{list-style:none;margin:0;padding:0;display:grid;gap:12px}.pd .flow li{display:flex;gap:12px;align-items:center}
.pd .flow li>span{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--mint2);color:var(--g);font:800 14px var(--f-display)}.pd .flow small{display:block;color:var(--muted)}
.pd .flow4{grid-template-columns:repeat(4,1fr)}
.pd .methods{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.pd .mth{display:grid;gap:2px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px;font:inherit;color:inherit;cursor:pointer}
button.mth:hover{border-color:#C9D6CF}
.pd .mth small{display:block;color:var(--muted);font-size:12.5px;line-height:1.35}
.pd .mth.on{border-color:var(--g);background:var(--mint);box-shadow:inset 0 0 0 1px var(--g)}
.pd .pm{display:grid;gap:2px;margin:12px 0 0;padding:12px;border-radius:14px;background:var(--bg)}.pd .pm span{font-family:var(--f-mono);font-size:13.5px;overflow-wrap:anywhere}.pd .pm small{color:var(--muted)}
/* links */
.pd .lab{display:block;font:700 13px var(--f-body);color:var(--muted);margin:14px 0 8px}.pd .lab:first-of-type{margin-top:0}
.pd .pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.pd .pg{border:1px solid var(--line);border-radius:14px;padding:10px 12px;cursor:pointer;background:#fff;text-align:left;font:inherit;color:inherit}
.pd .pg b{display:block;font-size:13.5px}.pd .pg small{color:var(--muted);font-size:12px;line-height:1.35;display:block}
.pd .pg.on{border-color:var(--g);background:var(--mint);box-shadow:inset 0 0 0 1px var(--g)}
.pd .tagrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pd .tagrow .input{max-width:220px}
.pd .outlink{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px;border-radius:14px;background:var(--bg)}
.pd .outlink code{flex:1;min-width:0;font:700 14px var(--f-mono);color:var(--g);overflow-wrap:anywhere}
.pd .why{margin:10px 0 0;font-size:13.5px;color:var(--muted)}
.pd .assets{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.pd .as{text-decoration:none;color:inherit;display:block;min-width:0}
.pd .as .th{height:110px;border-radius:14px;display:grid;place-items:center;font:800 34px var(--f-display);margin-bottom:8px;border:1px solid var(--line);background:linear-gradient(135deg,var(--mint),var(--mint2));color:var(--g);overflow:hidden}
.pd .as .th img{width:100%;height:100%;object-fit:contain;padding:10px}
.pd .as b{display:block;overflow-wrap:anywhere}.pd .as small{display:block;color:var(--muted)}
/* settings */
.pd .f2{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.pd .f2 .full{grid-column:1/-1}
.pd .f1{display:grid;gap:10px}
.pd .lbl{font:600 13px var(--f-body);color:var(--muted);display:grid;gap:5px;margin:0;min-width:0}
.pd .formfoot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}
.pd .msg{font-size:14px;font-weight:700}
.pd .toggles{display:grid}
.pd .tg{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--line)}.pd .tg:last-child{border:0}.pd .tg span{flex:1}.pd .tg small{display:block;color:var(--muted)}
.pd .mails{list-style:none;margin:0;padding:0}.pd .mails li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px}.pd .mails li:last-child{border:0}.pd .mails small{color:var(--muted);white-space:nowrap}
.pd .secrow{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.pd .sep{border:0;border-top:1px solid var(--line);margin:16px 0}
/* help */
.pd .helphero{margin-top:14px;border-radius:24px;padding:30px 24px;text-align:center;color:#fff;background:radial-gradient(700px 260px at 50% -30%,rgba(61,220,151,.35),transparent 60%),linear-gradient(150deg,var(--g),var(--deep))}
.pd .helphero h2{font-size:30px;margin-bottom:14px}
.pd .helphero input{width:min(560px,100%);padding:14px 18px;border-radius:14px;border:0;font:15px var(--f-body);color:var(--ink)}
.pd .hc{text-align:center;cursor:pointer;font:inherit;color:inherit;width:100%}.pd .hc .e{font-size:30px;display:block}.pd .hc b{display:block}.pd .hc small{display:block;color:var(--muted)}
.pd .faq{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:10px}
.pd .faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:10px}.pd .faq summary::-webkit-details-marker{display:none}
.pd .faq summary:after{content:"+";color:var(--g);font:800 20px/1 var(--f-display)}.pd .faq[open] summary:after{content:"–"}
.pd .faq p{color:var(--muted);margin:8px 0 0}
.pd .contact{text-align:center;align-self:start}.pd .contact img,.pd .contact .cav0{width:64px;height:64px;border-radius:50%;border:3px solid var(--mint2);object-fit:cover}
.pd .contact .cav0{display:inline-grid;place-items:center;background:var(--g);color:#fff;font:800 24px var(--f-display)}
.pd .contact b{display:block;font:800 18px var(--f-display);margin-top:8px}.pd .contact p{color:var(--muted);margin:4px 0 14px}
.pd .foot{text-align:center;color:var(--muted);font-size:13px;margin:22px 0 0}
/* toast + celebration */
.pw .toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;padding:11px 18px;border-radius:14px;background:var(--ink);color:#fff;font-weight:600;font-size:14px;box-shadow:0 18px 40px rgba(0,0,0,.25);max-width:calc(100% - 32px)}
.pw .toast.bad{background:var(--bad)}
.cele{position:fixed;inset:0;pointer-events:none;z-index:50;overflow:hidden}
.cele i{position:absolute;top:-12px;width:8px;height:12px;border-radius:2px;animation:pwfall 2.6s ease-in forwards}
@keyframes pwfall{to{transform:translateY(105vh) rotate(540deg);opacity:.9}}
.cele .cb{pointer-events:auto;position:fixed;left:50%;bottom:24px;transform:translate(-50%,180%);display:flex;gap:12px;align-items:center;padding:14px 16px 14px 18px;border-radius:16px;background:var(--ink,#14201B);color:#fff;box-shadow:0 18px 40px rgba(0,0,0,.25);transition:transform .5s cubic-bezier(.2,.9,.2,1);max-width:calc(100% - 32px)}
.cele.on .cb{transform:translate(-50%,0)}
.cele .cb>b{font:800 22px Manrope,var(--f-display);color:var(--gold,#F2C75C);flex:none}.cele .cb strong{display:block}.cele .cb span{display:block;color:#CFE9DC;font-size:13px}
.cele .cb button{flex:none;border:0;border-radius:10px;padding:7px 12px;font:700 13px var(--f-body);cursor:pointer;background:var(--gold,#F2C75C);color:var(--goldInk,#3B2A05)}
@media (max-width:980px){
  .pd .grid,.pd .grid2,.pd .hero .g{grid-template-columns:1fr}
  .pd .kpis,.pd .sum,.pd .ms{grid-template-columns:1fr 1fr}
  .pd .kit,.pd .steps3{grid-template-columns:1fr}
  .pd .flow4,.pd .grid3c,.pd .assets,.pd .f2{grid-template-columns:1fr 1fr}
  .pd .tr,.pd .tr.cu,.pd .tr.li,.pd .tr.po,.pd .tr.ml{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:12px 6px}
  .pd .tr>span:first-child{flex:1 1 100%;font-weight:600}
  .pd .tr>span:not(:first-child){font-size:13px;color:var(--muted)}.pd .tr>span b{color:var(--ink)}
  .pd .tr>span[data-l]:not(:first-child):before{content:attr(data-l) ": ";color:var(--faint)}
  .pd .tr .r{text-align:left}.pd .tr .hint{display:inline}
  .pd .tr.th{display:none}
}
@media (max-width:520px){
  .pd .hero{padding:20px}.pd .hero h1{font-size:25px}.pd .next .big{font-size:28px}
  .pd .kpi .n{font-size:22px}.pd .card{padding:16px}
  .pd .flow4,.pd .grid3c,.pd .f2{grid-template-columns:1fr}.pd .assets{grid-template-columns:1fr 1fr}
  .pd .fstep{grid-template-columns:70px 1fr 48px}
  .pd .payhero .big{font-size:38px}
}

/* ================= sign-in, reset ================= */
.pa{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(900px 400px at 80% -10%,rgba(61,220,151,.18),transparent 60%),var(--bg)}
.pa-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;display:grid;gap:14px;box-shadow:0 18px 50px rgba(20,32,27,.08)}
.pa-card h1{font:800 26px var(--f-display);margin:6px 0 0}.pa-card form{display:grid;gap:12px}
.pa-card .lbl{display:grid;gap:5px;margin:0;font:600 13px var(--f-body);color:var(--muted)}
.pa-card .btn.primary{width:100%;padding:13px 18px;font-size:15px}
.pa-alt{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.pa-alt .btn{background:none;border-color:transparent;color:var(--g);padding-left:0;padding-right:0}

/* ================= statement (prints as a clean A4 page) ================= */
.st{max-width:860px;margin:0 auto;padding:20px 16px 48px;display:grid;gap:14px}
.st-bar{display:flex;justify-content:space-between;gap:8px}
.st-doc{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:32px;display:grid;gap:22px;overflow-x:auto}
.st-doc header{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.st-doc .r{text-align:right}
.st-doc h1{font:800 26px var(--f-display);margin:0 0 6px}
.st-doc .eyebrow{font:700 11px var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--g)}
.st-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.st-two p{margin:6px 0 0;line-height:1.5}
.st-doc table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:560px}.st-doc th{text-align:left;border-bottom:2px solid var(--ink);padding:6px}.st-doc td{padding:7px 6px;border-bottom:1px solid var(--line)}
.st-doc tfoot td{border-top:2px solid var(--ink);border-bottom:0;font-size:15px}
@media (max-width:600px){.st-two{grid-template-columns:1fr}.st-doc{padding:20px}}
@media print{.st-bar{display:none}.st{padding:0}.st-doc{border:0;padding:0}body{background:#fff!important}}

/* ================= terms ================= */
.pt{max-width:820px;margin:0 auto;padding:24px 16px 56px;display:grid;gap:16px}
.pt .top{display:flex;align-items:center;gap:12px}.pt .top .sp{flex:1}
.pt .card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:var(--shadow)}
.pt h1{font-size:32px;margin-bottom:8px}.pt h2{font-size:18px;margin:20px 0 6px}.pt p{margin:0;color:#33423B}

/* ================= join page ================= */
.pj-top{position:sticky;top:0;z-index:20;background:rgba(247,250,248,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.pj-top .wrap{display:flex;align-items:center;gap:12px;height:64px}.pj-top .sp{flex:1}.pj-top a.s{font-weight:600;text-decoration:none;color:var(--ink)}
.pj-top .btn{padding:9px 14px}
@media (max-width:420px){.pj-top a.s{display:none}}
.pj-hero{position:relative;overflow:hidden;background:radial-gradient(1200px 500px at 85% -10%,rgba(61,220,151,.35),transparent 60%),linear-gradient(160deg,var(--g),var(--deep));color:#fff}
.pj-hero:after{content:"";position:absolute;inset:auto -10% -40% auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(242,199,92,.22),transparent 65%);pointer-events:none}
.pj-hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;padding-top:56px;padding-bottom:64px;position:relative;z-index:1}
.pj-hero .wrap.one{grid-template-columns:1fr}
.pj-hero .eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:99px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);font:600 13px var(--f-body)}
.pj-hero .eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(61,220,151,.25);animation:pwpulse 2s infinite}
@keyframes pwpulse{50%{box-shadow:0 0 0 8px rgba(61,220,151,0)}}
.pj-hero h1{font-size:clamp(34px,5.4vw,60px);line-height:1.04;margin:18px 0 14px}
.pj-hero h1 em{font-style:normal;color:var(--gold)}
.pj-hero .lede{font-size:18px;color:#CFE9DC;max-width:580px;margin:0 0 26px}
.pj-hero .ctas{display:flex;gap:12px;flex-wrap:wrap}.pj-hero .btn{padding:13px 20px;font-size:15px;border-radius:14px}
.pj-hero .trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px;color:#CFE9DC;font-size:14px}.pj-hero .trust b{color:#fff;font:800 22px var(--f-display);display:block}
.pj-inv{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:22px;backdrop-filter:blur(6px);align-self:start}
.pj-inv .who{display:flex;gap:14px;align-items:center}
.pj-inv img,.pj-inv .av{width:56px;height:56px;flex:none;border-radius:50%;border:2px solid var(--gold);object-fit:cover}
.pj-inv .av{display:grid;place-items:center;background:rgba(0,0,0,.2);font:800 22px var(--f-display)}
.pj-inv .hi{font:800 20px var(--f-display)}.pj-inv small{color:#CFE9DC}
.pj-inv p{margin:16px 0 0;padding:14px 16px;border-radius:16px;background:rgba(0,0,0,.18);color:#E7F5EE;font-size:15px}
.pj-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.pj-tiles>div{border-radius:16px;padding:14px 10px;text-align:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16)}
.pj-tiles .n{font-size:28px;font-weight:800}.pj-tiles .n.g{color:var(--gold)}.pj-tiles span{display:block;font-size:12.5px;color:#CFE9DC}
.pj section{padding:72px 0}
.pj h2{font-size:clamp(28px,3.4vw,40px);line-height:1.12;margin:8px 0 12px}
.pj .sub{color:var(--muted);max-width:640px;margin:0 0 30px}
.pj .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pj .card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--shadow);min-width:0}
.pj .step .num{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--mint2);color:var(--g);font:800 18px var(--f-display);margin-bottom:14px}
.pj .step h3{margin:0 0 6px;font-size:19px}.pj .step p{margin:0;color:var(--muted)}
.pj .band{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pj .calc{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;align-items:stretch}
.pj .ctrl label{display:block;font-weight:600;margin:0 0 8px}
.pj .range{display:flex;align-items:center;gap:14px}
.pj input[type=range]{flex:1;accent-color:var(--g);height:6px;min-width:0}
.pj .bubble{min-width:58px;text-align:center;padding:6px 10px;border-radius:12px;background:var(--mint);border:1px solid var(--mint2);font:800 18px var(--f-display);color:var(--g)}
.pj .plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin:18px 0 6px}
.pj .plans button{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 8px;font:600 14px var(--f-body);cursor:pointer;color:var(--ink)}
.pj .plans button b{display:block;font:800 18px var(--f-display)}
.pj .plans button[aria-pressed=true]{border-color:var(--g);background:var(--mint);box-shadow:inset 0 0 0 1px var(--g)}
.pj .out{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.pj .out>div{border-radius:16px;background:var(--mint);padding:14px;min-width:0}
.pj .out .n{font-size:24px;font-weight:800;color:var(--g);overflow-wrap:anywhere}.pj .out span{font-size:13px;color:var(--muted)}
.pj .chart h3{margin:0 0 4px;font-size:18px}.pj .chart .legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-bottom:10px}
.pj .legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.pj .bars{display:flex;align-items:flex-end;gap:8px;height:240px;padding:10px 0 26px;border-bottom:1px dashed var(--line);position:relative}
.pj .bar{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;position:relative;height:100%}
.pj .bar .v{border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,var(--lime),var(--g));transition:height .5s cubic-bezier(.2,.8,.2,1)}
.pj .bar .v.d{background:repeating-linear-gradient(135deg,#9FD9BF 0 6px,#BFE7D3 6px 12px)}
.pj .bar small{position:absolute;bottom:-22px;left:0;right:0;text-align:center;font-size:11px;color:var(--muted)}
.pj .bar .tip{position:absolute;left:50%;transform:translate(-50%,-6px);bottom:100%;white-space:nowrap;font:700 11.5px var(--f-body);color:var(--g);opacity:0;transition:opacity .2s}
.pj .bar:hover .tip{opacity:1}
.pj .total{margin-top:14px;font-size:14px;color:var(--muted)}.pj .total b{color:var(--ink);font:800 18px var(--f-display)}
.pj .fine{font-size:13px;color:var(--muted);margin:12px 0 0}
.pj .ladder{display:grid;grid-template-columns:repeat(var(--n,3),1fr);gap:16px}
.pj .rung .pct{font:800 52px var(--f-display);color:var(--g);line-height:1}
.pj .rung.top{background:linear-gradient(160deg,var(--g),var(--deep));color:#fff;border:0}
.pj .rung.top .pct{color:var(--gold)}.pj .rung.top p{color:#CFE9DC}.pj .rung p{margin:8px 0 0;color:var(--muted)}
.pj .rung .lv{font:700 12px var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.pj .rung.top .lv{color:#CFE9DC}
.pj .meter{height:8px;border-radius:99px;background:var(--mint2);margin-top:16px;overflow:hidden;display:block}.pj .meter i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--lime),var(--g))}
.pj .rung.top .meter{background:rgba(255,255,255,.18)}.pj .rung.top .meter i{background:var(--gold)}
.pj .joinwrap{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.pj .perks{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.pj .perks li{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:#fff;border:1px solid var(--line)}
.pj .perks .ic{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--mint2);color:var(--g);font:800 14px var(--f-display)}
.pj .perks span.m{color:var(--muted)}
.pj .form{position:sticky;top:84px}
.pj .form h3{margin:0 0 4px;font-size:22px}
.pj .greet{display:flex;gap:12px;align-items:center;padding:12px;border-radius:14px;background:var(--mint);margin:10px 0 16px}
.pj .greet img,.pj .greet .av{width:40px;height:40px;flex:none;border-radius:50%;object-fit:cover}.pj .greet .av{display:grid;place-items:center;background:var(--g);color:#fff;font:800 16px var(--f-display)}
.pj .greet span{color:var(--muted);font-size:14px;display:block}
.pj form{display:block}
.pj .f{margin-bottom:14px;min-width:0}.pj .f label,.pj .f>span.lb{display:block;font:600 14px var(--f-body);margin-bottom:6px}
.pj .f .input{padding:13px 14px;font-size:15px}
.pj .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pj .code{position:relative}.pj .code .ok{position:absolute;right:12px;top:41px;font:700 12.5px var(--f-body);color:var(--g);pointer-events:none}
.pj .code .input{padding-right:62px}
.pj .chk{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:14px;margin-bottom:14px}.pj .chk input{margin-top:4px;accent-color:var(--g)}
.pj .or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;margin:12px 0}.pj .or:before,.pj .or:after{content:"";flex:1;height:1px;background:var(--line)}
.pj .form .btn{width:100%;padding:13px 18px;font-size:15px;border-radius:14px}
.pj .err{color:var(--bad);font-weight:700;font-size:14px;margin:0 0 10px}.pj .err:empty{display:none}
.pj details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin-bottom:10px}
.pj summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:10px}.pj summary::-webkit-details-marker{display:none}
.pj summary:after{content:"+";color:var(--g);font:800 20px/1 var(--f-display)}.pj details[open] summary:after{content:"–"}
.pj details p{color:var(--muted);margin:10px 0 0}
.pj footer{padding:36px 0 60px;color:var(--muted);font-size:14px;text-align:center}.pj footer a{color:var(--muted)}
.pj .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s}.pj .reveal.in{opacity:1;transform:none}
/* the welcome screen after joining (partners-join.js writes it into the form card) */
.pj .wl{display:grid;gap:14px}.pj .wl h2{margin:0;font-size:26px}
.pj .wl .cp{display:flex;gap:8px;align-items:center;margin-top:6px}.pj .wl code{flex:1;min-width:0;font:700 14px var(--f-mono);color:var(--g);background:var(--bg);padding:10px 12px;border-radius:12px;overflow-wrap:anywhere}
.pj .wl .cp .btn,.pj .wl .sh .btn{width:auto;padding:8px 12px;font-size:13px}
.pj .wl ol{margin:6px 0 0;padding-left:20px;display:grid;gap:6px}
.pj .wl .sh{display:flex;gap:8px;flex-wrap:wrap}
.pj .wl .pg{display:grid;gap:8px}.pj .wl .pg a{display:block;padding:10px 12px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:inherit}.pj .wl .pg small{display:block;color:var(--muted);overflow-wrap:anywhere}
@media (max-width:900px){.pj-hero .wrap,.pj .calc,.pj .joinwrap{grid-template-columns:1fr}.pj .grid3,.pj .ladder{grid-template-columns:1fr}.pj .form{position:static}}
@media (max-width:520px){.pj .out .n{font-size:19px}.pj-tiles .n{font-size:22px}.pj .row2{grid-template-columns:1fr}.pj section{padding:52px 0}.pj .out{grid-template-columns:1fr 1fr 1fr;gap:6px}.pj .out>div{padding:10px}.pj .bars{gap:4px}.pj .bar small{font-size:9.5px}.pj-hero .wrap{padding-top:40px;padding-bottom:48px}}
@media (prefers-reduced-motion:reduce){.pw *,.cele *{animation:none!important;transition:none!important}.pj .reveal{opacity:1;transform:none}html{scroll-behavior:auto}}

/* the shared base.css has public-site rules with the same short class names (.n, .m, .row, .track, .bar, .step,
   .faq, .top, .hero h1): undo them inside the partner pages */
.pw .n{color:inherit;font-weight:800}.pw .m{color:inherit;font-weight:inherit}
.pj-hero .eyebrow{color:#fff;font-family:var(--f-body);font-size:13px;letter-spacing:0;text-transform:none}
.pd .next .row{display:flex;grid-template-columns:none;border:0;background:none;padding:0;border-radius:0;text-align:left;transition:none}
.pd .track{display:block;border:0;padding:0;gap:0;text-align:left}
.pd .hero h1,.pj-hero h1{max-width:none}
.pd .faq{display:block;margin:0 0 10px;max-width:none}
.pd .fstep .bar{margin:0}
.pj .bar{height:100%;margin:0;overflow:visible;background:none;border-radius:0}
.pj .step{display:block;color:inherit;font-size:inherit}
.pt .top{position:static;background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none}
.pd .as .th img{display:block;width:100%;height:110px;max-width:none;box-sizing:border-box;object-fit:contain;padding:12px}
.pw .switch::after{transform:none!important}
