/* GrowthSteer Connect portal — approved redesign (western meets futuristic tech, clean). Tokens match the public site. */
:root{
  --gs-bg:#0E0806; --gs-bg-deep:#080403; --gs-panel:#2A1208;
  --gs-copper:#CF6414; --gs-copper-bright:#FF8A2A; --gs-cream:#F3E3C3;
  --gs-muted:rgba(243,227,195,.72); --gs-faint:rgba(243,227,195,.56);
  --gs-line:rgba(207,100,20,.30); --gs-line-strong:rgba(255,138,42,.55);
  --gs-glass:rgba(42,18,8,.55); --gs-ok:#9BD3A0; --gs-bad:#F2A2A2;
  --gs-display:'Sora',system-ui,sans-serif; --gs-body:'Manrope',system-ui,sans-serif;
  /* legacy aliases used by older views */
  --bg:var(--gs-bg-deep); --paper:rgba(42,18,8,.45); --sunk:rgba(8,4,3,.5); --ink:var(--gs-cream); --ink2:var(--gs-muted); --ink3:var(--gs-faint);
  --line:var(--gs-line); --line2:var(--gs-line-strong); --accent:var(--gs-copper-bright); --accent-ink:var(--gs-bg-deep); --accent-soft:rgba(255,138,42,.14);
  --shadow:0 20px 50px -30px rgba(0,0,0,.8); --body:var(--gs-body);
  color-scheme:dark;
}
@property --n{syntax:'<integer>';inherits:false;initial-value:0}
@property --a{syntax:'<angle>';inherits:false;initial-value:0deg}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--gs-bg-deep);color:var(--gs-cream);font:15px/1.5 var(--gs-body)}
a{color:var(--gs-copper-bright)}a:hover{color:#FFB070}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--gs-copper-bright);outline-offset:3px;border-radius:8px}
input:focus-visible,select:focus-visible,textarea:focus-visible,.field:focus-visible,.palin input:focus-visible{outline:none}
.skip{position:absolute;left:-999px;top:8px;z-index:100;padding:8px 12px;background:var(--gs-copper-bright);color:var(--gs-bg-deep);border-radius:8px}
.skip:focus{left:8px}
.app{display:flex;min-height:100vh;min-height:100dvh;background:
  radial-gradient(1200px 600px at 70% -10%,rgba(207,100,20,.14),transparent 60%),
  radial-gradient(800px 500px at -10% 110%,rgba(207,100,20,.08),transparent 60%),
  linear-gradient(180deg,var(--gs-bg),var(--gs-bg-deep))}
.disp,h1,h2,h3{font-family:var(--gs-display)}
.num::after{content:counter(n)}
.num{counter-reset:n var(--n);transition:--n 1.4s cubic-bezier(.2,.8,.2,1)}
.small{font-size:13px}.muted{color:var(--gs-muted)}.faint{color:var(--gs-faint)}
[hidden]{display:none!important}

/* ---------- sidebar ---------- */
.side{width:256px;flex:none;position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;gap:12px;padding:16px 14px;border-right:1px solid var(--gs-line);background:rgba(8,4,3,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:width .35s cubic-bezier(.2,.8,.2,1),padding .35s;z-index:20}
.collapsed .side{width:80px;padding:22px 12px}
.brand{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:44px;text-decoration:none}
.logo-full{width:200px;height:auto;display:block;filter:drop-shadow(0 2px 10px rgba(207,100,20,.18))}
.logo-icon{display:none;width:44px;height:44px;border-radius:11px}
.collapsed .logo-full{display:none}.collapsed .logo-icon{display:block}.collapsed .brand{justify-content:center}
.who{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--gs-line);border-radius:14px;background:var(--gs-glass)}
.ring{position:relative;width:52px;height:52px;flex:none}
.ring svg{transform:rotate(-90deg);display:block}
.ring .val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--gs-display);font-size:12px;font-weight:600;white-space:nowrap;letter-spacing:-.02em}
.ringfill{transition:stroke-dashoffset 1.4s cubic-bezier(.2,.8,.2,1)}
.whotext{display:flex;flex-direction:column;gap:4px;min-width:0;white-space:nowrap;overflow:hidden}
.whotext b{font-size:14px;font-weight:600}
.pill{display:inline-flex;align-self:flex-start;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;border:1px solid var(--gs-line-strong);font-size:12px;color:var(--gs-copper-bright);font-weight:600;line-height:1.3}
.nav{display:flex;flex-direction:column;gap:2px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;margin:0 -4px;padding:0 4px}
.navgroup{margin-top:6px;padding:4px 12px 2px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gs-faint);font-weight:700}
.navbtn{position:relative;display:flex;align-items:center;gap:11px;width:100%;min-height:38px;padding:0 11px;border:1px solid transparent;border-radius:11px;background:none;cursor:pointer;color:var(--gs-muted);font-size:14px;font-weight:600;text-align:left;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.navbtn:hover{background:rgba(207,100,20,.10);color:var(--gs-cream)}
.navbtn.on{background:linear-gradient(90deg,rgba(207,100,20,.24),rgba(207,100,20,.06));border-color:var(--gs-line);color:var(--gs-cream)}
.navbtn svg{flex:none}
.navlabel{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badge{min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--gs-copper-bright);color:var(--gs-bg-deep);font-size:12px;font-weight:700;display:inline-grid;place-items:center;box-shadow:0 0 14px rgba(255,138,42,.45);line-height:1}
.badge.soft{background:rgba(243,227,195,.14);color:var(--gs-cream);box-shadow:none}
.badge.good{background:rgba(155,211,160,.18);color:var(--gs-ok);box-shadow:none}
.collapsed .navlabel,.collapsed .whotext,.collapsed .subs,.collapsed .acctext,.collapsed .caret,.collapsed .navgroup{display:none}
.collapsed .navbtn{justify-content:center;padding:0}
.collapsed .badge{position:absolute;top:2px;right:6px;min-width:18px;height:18px;padding:0 5px;font-size:11px}
.collapsed .who{justify-content:center;padding:10px 0}
.collapsed .navbtn[data-tip]:hover::after,.collapsed .navbtn[data-tip]:focus-visible::after{content:attr(data-tip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);white-space:nowrap;padding:6px 10px;border-radius:8px;background:var(--gs-panel);border:1px solid var(--gs-line-strong);color:var(--gs-cream);font-size:13px;z-index:5;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.subs{display:flex;flex-direction:column;margin:2px 0 6px 30px;padding-left:12px;border-left:1px solid var(--gs-line)}
.sub{display:flex;align-items:center;justify-content:space-between;min-height:36px;padding:0 10px;border:0;border-radius:8px;background:none;cursor:pointer;color:var(--gs-faint);font-size:13px;font-weight:500;text-align:left}
.sub:hover{color:var(--gs-cream);background:rgba(207,100,20,.08)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--gs-copper-bright);box-shadow:0 0 8px var(--gs-copper-bright)}
.caret{transition:transform .25s}.caret.open{transform:rotate(90deg)}
.foot{display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px solid var(--gs-line)}
.acct{display:flex;align-items:center;gap:10px;min-height:44px;min-width:0}
.avatar{width:36px;height:36px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--gs-panel);border:1px solid var(--gs-line-strong);font-family:var(--gs-display);font-size:13px;font-weight:600}
.acctext{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.acctext b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acctext span{font-size:12px;color:var(--gs-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sync{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--gs-faint)}
.syncdot{width:8px;height:8px;border-radius:50%;background:var(--gs-ok);animation:pulse 2.4s infinite}
.syncdot.bad{background:var(--gs-bad);animation:none}
.collapser{display:flex;align-items:center;justify-content:center;gap:8px;min-height:36px;border:1px solid var(--gs-line);border-radius:10px;background:none;cursor:pointer;color:var(--gs-faint);font-size:12px}
.collapser:hover{color:var(--gs-cream);border-color:var(--gs-line-strong)}
.collapsed .collapser svg{transform:rotate(180deg)}

/* ---------- main ---------- */
.main{flex:1;min-width:0;padding:22px clamp(16px,3vw,44px) 120px}
.view-root{outline:none}
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:8px}
.crumb{font-size:13px;color:var(--gs-faint);letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.search{display:flex;align-items:center;gap:10px;min-height:44px;min-width:260px;padding:0 10px 0 14px;border:1px solid var(--gs-line);border-radius:12px;background:var(--gs-glass);backdrop-filter:blur(12px);cursor:pointer;color:var(--gs-faint);font-size:14px}
.search:hover{border-color:var(--gs-line-strong);color:var(--gs-cream)}
.kbd{margin-left:auto;padding:2px 8px;border-radius:6px;border:1px solid var(--gs-line);font-size:12px;font-family:var(--gs-display)}
.mobilehead{display:none}
.hero-head{position:relative;padding:28px 0 26px;overflow:hidden}
.paths{position:absolute;inset:-20px -40px;width:calc(100% + 80px);height:calc(100% + 40px);pointer-events:none;opacity:.55}
.paths path{fill:none;stroke:var(--gs-copper);stroke-width:1;stroke-dasharray:6 14;animation:flow 14s linear infinite}
.paths path:nth-child(2){animation-duration:22s;opacity:.6}
.paths path:nth-child(3){animation-duration:30s;animation-direction:reverse;opacity:.4}
.greet{position:relative;margin:0;font-family:var(--gs-display);font-size:clamp(28px,3.4vw,42px);font-weight:600;letter-spacing:-.02em;line-height:1.1}
.status{position:relative;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:16px;color:var(--gs-muted)}
.status b{font-family:var(--gs-display);color:var(--gs-cream);font-weight:600}
.bar{flex:none;width:160px;height:6px;border-radius:999px;background:rgba(243,227,195,.10);overflow:hidden}
.bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gs-copper),var(--gs-copper-bright));transition:width 1.4s cubic-bezier(.2,.8,.2,1)}
.cols{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
@media (min-width:1100px){.cols{grid-template-columns:minmax(0,1fr) minmax(300px,340px)}}
.center{min-width:0;display:flex;flex-direction:column;gap:28px}
.rail{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-content:start}
@media (min-width:720px) and (max-width:1099px){.rail{grid-template-columns:repeat(2,minmax(0,1fr))}.rail .railcard:first-child{grid-row:span 2}}
.glass{background:var(--gs-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--gs-line);border-radius:16px}
.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--gs-copper-bright)}
.h2{margin:0;font-family:var(--gs-display);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--gs-faint);font-weight:600}

/* do this next */
.next{position:relative;padding:30px 32px;border-radius:18px;background:linear-gradient(150deg,rgba(42,18,8,.92),rgba(14,8,6,.86));border:1px solid var(--gs-line);overflow:hidden;animation-duration:.7s;animation-timing-function:cubic-bezier(.2,.8,.2,1);animation-fill-mode:both}
.next::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--a),transparent 0deg,transparent 280deg,var(--gs-copper) 320deg,var(--gs-copper-bright) 345deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:beam 6s linear infinite;pointer-events:none}
.next::after{content:"";position:absolute;right:-120px;top:-120px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(255,138,42,.16),transparent 65%);pointer-events:none}
.nextgrid{position:relative;display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end;justify-content:space-between}
.nexttitle{margin:10px 0 8px;font-family:var(--gs-display);font-size:clamp(24px,2.4vw,32px);font-weight:600;letter-spacing:-.01em}
.nextdesc{margin:0;max-width:520px;font-size:16px;line-height:1.6;color:var(--gs-muted)}
.meta{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px;font-size:13px;color:var(--gs-faint)}
.meta span{display:inline-flex;align-items:center;gap:6px}
.cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border:0;border-radius:12px;background:linear-gradient(180deg,#FF9A45,var(--gs-copper-bright));color:var(--gs-bg-deep);font-family:var(--gs-display);font-weight:600;font-size:16px;cursor:pointer;text-decoration:none;box-shadow:0 10px 30px -10px rgba(255,138,42,.7),inset 0 1px 0 rgba(255,255,255,.35);transition:transform .2s,box-shadow .2s}
.cta:hover{transform:translateY(-1px);box-shadow:0 14px 34px -10px rgba(255,138,42,.85),inset 0 1px 0 rgba(255,255,255,.35);color:var(--gs-bg-deep)}
.cta[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.cta.sm{min-height:44px;padding:0 18px;font-size:14px}
.ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid var(--gs-line-strong);border-radius:11px;background:none;color:var(--gs-cream);font-weight:600;font-size:14px;cursor:pointer;text-decoration:none}
.ghost:hover{background:rgba(207,100,20,.12);color:var(--gs-cream)}
.ghost.danger{border-color:rgba(242,162,162,.5);color:var(--gs-bad)}

/* step grid */
.group{display:flex;flex-direction:column;gap:14px}
.grouphead{display:flex;align-items:baseline;gap:10px}
.grouphead small{font-size:13px;color:var(--gs-faint)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.card{position:relative;display:flex;flex-direction:column;gap:10px;padding:20px;border:1px solid var(--gs-line);border-radius:16px;background:var(--gs-glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);text-align:left;overflow:hidden;transition:border-color .25s,transform .25s;color:var(--gs-cream)}
.card.step{min-height:168px;cursor:pointer}
.card::before{content:"";position:absolute;inset:0;background:radial-gradient(260px circle at var(--mx,-200px) var(--my,-200px),rgba(255,138,42,.20),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}
.card.step:hover{border-color:var(--gs-line-strong);transform:translateY(-2px)}
.card.step:hover::before{opacity:1}
.cardtag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gs-faint)}
.cardtag.req{color:var(--gs-copper-bright)}
.cardtitle{position:relative;font-family:var(--gs-display);font-size:17px;font-weight:600;line-height:1.3}
.carddesc{position:relative;font-size:14px;line-height:1.55;color:var(--gs-muted);flex:1}
.cardfoot{position:relative;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--gs-faint)}
.cardfoot b{color:var(--gs-copper-bright);font-weight:600}
.done[aria-label]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;border:1px dashed var(--gs-line);border-radius:14px}
.donelabel{display:flex;align-items:center;gap:8px;margin-right:6px;font-size:13px;font-weight:700;color:var(--gs-faint);letter-spacing:.1em;text-transform:uppercase}
.chip{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 12px;border-radius:999px;background:rgba(155,211,160,.08);border:1px solid rgba(155,211,160,.28);font-size:13px;font-weight:600;color:var(--gs-cream);cursor:pointer}
.chip svg{color:var(--gs-ok)}
.chip.fresh{animation:pop .6s cubic-bezier(.2,.8,.2,1) both}
.spark{position:absolute;left:14px;top:50%;width:0;height:0;pointer-events:none}
.spark i{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--gs-copper-bright);box-shadow:0 0 8px var(--gs-copper-bright);animation:spark .8s ease-out forwards}
.spark i:nth-child(1){--dx:-22px;--dy:-18px}.spark i:nth-child(2){--dx:20px;--dy:-22px}.spark i:nth-child(3){--dx:26px;--dy:10px}.spark i:nth-child(4){--dx:-18px;--dy:20px}.spark i:nth-child(5){--dx:2px;--dy:-28px}.spark i:nth-child(6){--dx:-26px;--dy:2px}

/* rail */
.railcard{padding:22px}
.tl{position:relative;display:flex;flex-direction:column;gap:20px;margin-top:18px;padding-left:4px}
.tltrack{position:absolute;left:14px;top:10px;bottom:10px;width:2px;background:rgba(243,227,195,.10);border-radius:2px}
.tlfill{position:absolute;left:14px;top:10px;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--gs-copper),var(--gs-copper-bright));box-shadow:0 0 10px rgba(255,138,42,.6);transition:height 1.6s cubic-bezier(.2,.8,.2,1)}
.stage{position:relative;display:flex;gap:14px;align-items:flex-start}
.node{position:relative;z-index:1;width:22px;height:22px;flex:none;border-radius:50%;display:grid;place-items:center;border:1.5px solid rgba(243,227,195,.25);background:var(--gs-bg)}
.stage.done .node{border-color:var(--gs-copper);background:var(--gs-copper);color:var(--gs-bg-deep)}
.stage.current .node{border-color:var(--gs-copper-bright);box-shadow:0 0 0 5px rgba(255,138,42,.16),0 0 18px rgba(255,138,42,.6)}
.stage.current .node::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--gs-copper-bright);animation:pulse 2s infinite}
.stagetext{display:flex;flex-direction:column;gap:2px;padding-top:1px}
.stagetext b{font-size:14px;font-weight:600;color:var(--gs-muted)}
.stage.done .stagetext b{color:var(--gs-cream)}
.stage.current .stagetext b{color:var(--gs-copper-bright);font-family:var(--gs-display)}
.stagetext span{font-size:12px;color:var(--gs-faint)}
.refer{position:relative;padding:22px;border-radius:16px;border:1px solid var(--gs-line-strong);background:linear-gradient(160deg,rgba(207,100,20,.22),rgba(42,18,8,.7));overflow:hidden}
.refer h3{margin:8px 0 6px;font-family:var(--gs-display);font-size:20px;font-weight:600}
.refer p{margin:0 0 16px;font-size:14px;line-height:1.55;color:var(--gs-muted)}
.help{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:0 18px;border:1px solid var(--gs-line);border-radius:14px;background:none;color:var(--gs-cream);font-weight:600;font-size:14px;cursor:pointer;text-align:left;width:100%}
.help:hover{border-color:var(--gs-line-strong);background:rgba(207,100,20,.08)}
.help span{font-weight:500;color:var(--gs-faint);font-size:13px}

/* view panels (other pages) */
.view{padding:28px}
.view h2,.card h2{margin:6px 0 8px;font-family:var(--gs-display);font-size:24px;font-weight:600}
.card h3{margin:4px 0;font-family:var(--gs-display);font-size:17px;font-weight:600}
.view>p.lead{margin:0 0 22px;color:var(--gs-muted);line-height:1.6;max-width:560px}
.rows{display:flex;flex-direction:column;border-top:1px solid var(--gs-line)}
.row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;min-height:64px;padding:10px 0;border-bottom:1px solid var(--gs-line)}
.row b{font-weight:600}.row .sub{min-height:0;padding:0;display:block;font-size:13px;color:var(--gs-faint)}
.rowend{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.st{font-size:13px;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap}
.st.ok{color:var(--gs-ok);background:rgba(155,211,160,.08)}
.st.open{color:var(--gs-copper-bright);background:rgba(255,138,42,.10)}
.st.wait{color:var(--gs-faint);background:rgba(243,227,195,.06)}
.stack{display:flex;flex-direction:column;gap:14px}
.between{justify-content:space-between}
.sep{border-top:1px solid var(--gs-line);padding-top:10px}
.narrow{max-width:560px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}

/* legacy utility classes used by the older views (introductions, provider desk, staff) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 18px;border-radius:11px;border:1px solid var(--gs-line-strong);background:none;color:var(--gs-cream);font:600 14px var(--gs-body);cursor:pointer;text-decoration:none}
.btn:hover{background:rgba(207,100,20,.12);color:var(--gs-cream)}
.btn.primary{border:0;background:linear-gradient(180deg,#FF9A45,var(--gs-copper-bright));color:var(--gs-bg-deep);box-shadow:0 10px 30px -10px rgba(255,138,42,.7)}
.btn.primary:hover{color:var(--gs-bg-deep)}
.btn.danger{border-color:rgba(242,162,162,.5);color:var(--gs-bad)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.linkbtn{background:none;border:0;color:var(--gs-muted);cursor:pointer;font:600 14px var(--gs-body);padding:8px 10px;min-height:44px}
.linkbtn:hover{color:var(--gs-cream)}
.row.legacy,.rowline{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.list li{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--gs-line)}
.list li:first-child{border-top:0}
.kv{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:6px 16px;margin:0}
.kv dt{color:var(--gs-faint);font-size:13px}.kv dd{margin:0}
.notice{padding:12px 14px;border-radius:12px;border:1px solid var(--gs-line);background:rgba(42,18,8,.5);font-size:14px}
.notice.good{border-color:rgba(155,211,160,.35);color:var(--gs-ok)}
.notice.warn{border-color:var(--gs-line-strong)}
.notice.bad{border-color:rgba(242,162,162,.5);color:var(--gs-bad)}
.hint{font-size:13px;color:var(--gs-faint);margin-top:4px}
label{display:block;font-size:13px;color:var(--gs-faint);margin-bottom:6px;font-weight:600}
input:not([type=checkbox]),select,textarea,.field{width:100%;min-height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--gs-line-strong);background:rgba(8,4,3,.6);color:var(--gs-cream);font:inherit;font-size:16px;outline:none}
textarea{padding:12px 14px;min-height:96px;resize:vertical}
input:focus,select:focus,textarea:focus,.field:focus{border-color:var(--gs-copper-bright);box-shadow:0 0 0 4px rgba(255,138,42,.16)}
input::placeholder,.field::placeholder{color:var(--gs-faint)}
input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:var(--gs-copper-bright)}
.check{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid var(--gs-line);border-radius:11px;font-weight:500;font-size:14px;cursor:pointer;color:var(--gs-cream);margin:0}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:720px){.grid2{grid-template-columns:minmax(0,1fr)}}
.sw{position:relative;width:46px;height:26px;border-radius:999px;border:1px solid var(--gs-line-strong);background:rgba(8,4,3,.6);cursor:pointer;padding:0;min-height:0;flex:none}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--gs-faint);transition:transform .2s,background .2s}
.sw[aria-checked=true]{background:rgba(255,138,42,.25);border-color:var(--gs-copper-bright)}
.sw[aria-checked=true]::after{transform:translateX(20px);background:var(--gs-copper-bright)}
.steps{display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none}
.steps li{font-size:.78rem;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--gs-line);color:var(--gs-faint)}
.steps li.done{background:var(--gs-copper);border-color:transparent;color:var(--gs-bg-deep)}
.steps li.now{border-color:var(--gs-copper-bright);color:var(--gs-copper-bright);font-weight:600}
.thread{display:flex;flex-direction:column;gap:.5rem;max-height:22rem;overflow:auto;padding:.25rem}
.msg{max-width:80%;padding:.55rem .8rem;border-radius:.9rem;background:rgba(8,4,3,.55);border:1px solid var(--gs-line);font-size:.92rem}
.msg.mine{align-self:flex-end;background:rgba(255,138,42,.14);border-color:var(--gs-line-strong)}
.msg .who{display:block;font-size:.72rem;color:var(--gs-faint);margin-bottom:.15rem}
.timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--gs-line)}
.timeline li{padding:.15rem 0 .35rem .8rem;font-size:.85rem}
.slot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .6rem;border:1px solid var(--gs-line);border-radius:.6rem}
.unread{border-left:3px solid var(--gs-copper-bright)}
textarea.msgbox{min-height:3.2rem}

/* ---------- drawer ---------- */
.scrim{position:fixed;inset:0;background:rgba(8,4,3,.62);backdrop-filter:blur(3px);z-index:40;animation:fade .25s both}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(480px,100%);z-index:41;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(42,18,8,.97),rgba(14,8,6,.98));border-left:1px solid var(--gs-line-strong);box-shadow:-30px 0 80px rgba(0,0,0,.5);animation:slidein .35s cubic-bezier(.2,.8,.2,1) both}
.dhead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:26px 28px 18px;border-bottom:1px solid var(--gs-line)}
.dhead h2{margin:6px 0 0;font-family:var(--gs-display);font-size:22px;font-weight:600}
.x{width:44px;height:44px;flex:none;display:grid;place-items:center;border:1px solid var(--gs-line);border-radius:11px;background:none;cursor:pointer;color:var(--gs-muted);padding:0}
.x:hover{color:var(--gs-cream);border-color:var(--gs-line-strong)}
.dprog{display:flex;gap:6px;padding:16px 28px 0}
.dprog i{flex:1;height:4px;border-radius:4px;background:rgba(243,227,195,.12);transition:background .3s}
.dprog i.on{background:var(--gs-copper-bright)}
.dbody{flex:1;overflow:auto;padding:30px 28px;display:flex;flex-direction:column;gap:18px}
.qnum{font-size:13px;color:var(--gs-faint);font-weight:600}
.qlabel{margin:0;font-family:var(--gs-display);font-size:24px;font-weight:600;line-height:1.3}
.qhint{margin:8px 0 0;font-size:14px;color:var(--gs-muted);line-height:1.55}
.qwrap{animation:qin .35s cubic-bezier(.2,.8,.2,1) both}
.qfield{margin-top:20px}
.opts{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.opt{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:54px;padding:0 16px;border-radius:12px;border:1px solid var(--gs-line);background:rgba(8,4,3,.4);cursor:pointer;font-size:15px;font-weight:600;text-align:left;transition:border-color .2s,background .2s;color:var(--gs-cream)}
.opt:hover{border-color:var(--gs-line-strong)}
.opt.sel{border-color:var(--gs-copper-bright);background:rgba(255,138,42,.12)}
.radio{width:18px;height:18px;flex:none;border-radius:50%;border:1.5px solid var(--gs-line-strong);display:grid;place-items:center}
.radio.sq{border-radius:5px}
.opt.sel .radio::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--gs-copper-bright)}
.opt.sel .radio.sq::after{border-radius:2px}
.dfoot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 28px 24px;border-top:1px solid var(--gs-line)}
.saved{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--gs-faint)}
.saved.on{color:var(--gs-ok)}
.btns{display:flex;gap:10px}

/* ---------- palette ---------- */
.pal{position:fixed;left:50%;top:12vh;transform:translateX(-50%);width:min(620px,calc(100% - 32px));z-index:51;border-radius:16px;border:1px solid var(--gs-line-strong);background:rgba(20,10,6,.96);backdrop-filter:blur(20px);box-shadow:0 30px 90px rgba(0,0,0,.6);overflow:hidden;animation:palin .25s cubic-bezier(.2,.8,.2,1) both}
.palin{display:flex;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid var(--gs-line)}
.palin input{flex:1;min-height:60px;border:0;background:none;outline:none;color:var(--gs-cream);font:inherit;font-size:17px;box-shadow:none;padding:0}
.pallist{max-height:360px;overflow:auto;padding:8px}
.palsec{padding:10px 12px 6px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--gs-faint)}
.palitem{display:flex;align-items:center;gap:12px;width:100%;min-height:46px;padding:0 12px;border:0;border-radius:10px;background:none;cursor:pointer;font-size:15px;text-align:left;color:var(--gs-cream)}
.palitem:hover,.palitem.active,.palitem:focus{background:rgba(207,100,20,.16);outline:none}
.palitem small{margin-left:auto;color:var(--gs-faint);font-size:12px}
.palempty{padding:24px;text-align:center;color:var(--gs-faint)}

/* ---------- tour ---------- */
.tourscrim{position:fixed;inset:0;z-index:60;background:rgba(8,4,3,.55);pointer-events:none;animation:fade .3s both}
.tour-focus{position:relative;z-index:61;box-shadow:0 0 0 2px var(--gs-copper-bright),0 0 0 8px rgba(255,138,42,.18),0 0 60px rgba(255,138,42,.35);border-radius:16px}
.side.tour-focus{position:sticky;border-radius:0}
.tourcard{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);width:min(440px,calc(100% - 32px));z-index:62;padding:22px 24px;border-radius:16px;border:1px solid var(--gs-line-strong);background:rgba(28,12,6,.97);box-shadow:0 24px 70px rgba(0,0,0,.6);animation:palin .35s cubic-bezier(.2,.8,.2,1) both}
.tourcard h3{margin:8px 0 6px;font-family:var(--gs-display);font-size:20px;font-weight:600}
.tourcard p{margin:0 0 18px;color:var(--gs-muted);font-size:15px;line-height:1.55}
.tourfoot{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tourdots{display:flex;gap:6px}
.tourdots i{width:7px;height:7px;border-radius:50%;background:rgba(243,227,195,.2)}
.tourdots i.on{background:var(--gs-copper-bright);width:20px;border-radius:4px}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:70;display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:12px;border:1px solid rgba(155,211,160,.35);background:rgba(20,12,8,.96);font-weight:600;font-size:14px;animation:palin .3s both;max-width:calc(100% - 32px)}

/* ---------- sign-in ---------- */
.signin{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(900px 500px at 50% -10%,rgba(207,100,20,.18),transparent 60%),linear-gradient(180deg,var(--gs-bg),var(--gs-bg-deep))}
.signin .box{width:min(460px,100%);padding:36px 32px;display:flex;flex-direction:column;gap:18px}
.signin .logo-big{width:min(320px,80%);height:auto;margin:0 auto 6px;display:block;filter:drop-shadow(0 6px 24px rgba(207,100,20,.25))}
.signin h1{margin:0;font-size:24px;font-weight:600}
.signin p{margin:0;color:var(--gs-muted);line-height:1.55}
.code{font:600 28px/1 var(--gs-display);letter-spacing:.35em;text-align:center}

/* ---------- Selena ---------- */
.selena-tab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:30;display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:0 18px 0 12px;border-radius:999px;border:1px solid var(--gs-line-strong);background:rgba(28,12,6,.96);color:var(--gs-cream);font:600 14px var(--gs-body);cursor:pointer;box-shadow:0 14px 40px -12px rgba(255,138,42,.6)}
.selena-tab img{border-radius:6px}
.selena-tab:hover{border-color:var(--gs-copper-bright)}
.selena{position:fixed;right:18px;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:30;width:min(380px,calc(100vw - 36px));max-height:min(620px,calc(100vh - 100px));display:flex;flex-direction:column;background:rgba(20,10,6,.97);border:1px solid var(--gs-line-strong);border-radius:16px;box-shadow:0 30px 90px rgba(0,0,0,.6)}
.selena-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--gs-line)}
.selena-id{display:flex;align-items:center;gap:10px}.selena-id img{border-radius:9px}
.selena-log{flex:1;overflow:auto;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-height:160px}
.selena-log .msg{max-width:88%}
.selena-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.selena-actions .btn{min-height:36px;padding:0 12px;font-size:13px}
.selena-quick{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 8px}
.selena-quick button{min-height:34px;padding:0 10px;border-radius:999px;border:1px solid var(--gs-line);background:none;color:var(--gs-muted);font:500 12px var(--gs-body);cursor:pointer}
.selena-quick button:hover{color:var(--gs-cream);border-color:var(--gs-line-strong)}
.selena-form{display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--gs-line)}
.selena-form input{flex:1}
.selena-foot{margin:0;padding:0 14px 12px}
.selena-typing{font-style:italic}

/* ---------- mobile ---------- */
.tabbar{display:none}
@media (max-width:860px){
  html,body{overflow-x:hidden}
  .main{overflow-x:hidden}
  .row,.rowend{min-width:0;max-width:100%}
  .st{white-space:normal;max-width:100%}
  .side{display:none}
  .main{padding:12px 16px 110px}
  .mobilehead{display:flex;align-items:center;gap:12px;min-height:52px;margin-bottom:6px}
  .mobilehead img{border-radius:9px;display:block}
  .mobiletitle{flex:1;font-family:var(--gs-display);font-weight:600;font-size:15px}
  .top{display:none}
  .hero-head{padding:14px 0 18px}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;justify-content:space-around;padding:8px 6px calc(8px + env(safe-area-inset-bottom));background:rgba(8,4,3,.92);backdrop-filter:blur(16px);border-top:1px solid var(--gs-line)}
  .tab{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:56px;min-height:48px;justify-content:center;border:0;background:none;color:var(--gs-faint);font-size:11px;font-weight:600;cursor:pointer;text-decoration:none}
  .tab.on{color:var(--gs-copper-bright)}
  .tab .badge{position:absolute;top:-2px;right:6px;min-width:18px;height:18px;font-size:11px;padding:0 5px}
  .next{padding:24px 20px}
  .cta{width:100%}
  .tourcard{bottom:96px}
  .selena-tab{bottom:calc(92px + env(safe-area-inset-bottom,0px));right:12px;z-index:31}
  .selena{right:10px;left:10px;width:auto;bottom:calc(148px + env(safe-area-inset-bottom,0px));max-height:calc(100vh - 180px);z-index:31}
  .toast{bottom:88px}
  .view{padding:20px}
}

@keyframes beam{to{--a:360deg}}
@keyframes flow{to{stroke-dashoffset:-400}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,138,42,.55)}70%{box-shadow:0 0 0 8px rgba(255,138,42,0)}100%{box-shadow:0 0 0 0 rgba(255,138,42,0)}}
@keyframes riseA{from{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:none}}
@keyframes riseB{from{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:none}}
@keyframes pop{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.08)}100%{opacity:1;transform:none}}
@keyframes spark{from{transform:translate(0,0);opacity:1}to{transform:translate(var(--dx),var(--dy));opacity:0}}
@keyframes slidein{from{transform:translateX(100%)}to{transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes qin{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes palin{from{opacity:0;transform:translate(-50%,10px) scale(.98)}to{opacity:1;transform:translate(-50%,0)}}
.rm *,.rm *::before,.rm *::after{animation:none!important;transition:none!important}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.viewas{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:10px 16px;border:1px solid var(--gs-copper-bright);border-radius:12px;background:rgba(255,138,42,.12);font-size:14px}
.rows.pad{padding:4px 20px}
.grouphead a{margin-left:auto}

.toast.bad{border-color:rgba(242,162,162,.5);color:var(--gs-bad)}
.grid.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:28px}
.card.stat{min-height:0;gap:4px;padding:18px 20px;text-decoration:none;cursor:pointer}
.card.stat:hover{border-color:var(--gs-line-strong)}
.statnum{font-size:32px;font-weight:600;line-height:1}
a.rowlink{text-decoration:none;color:inherit;cursor:pointer}
a.rowlink:hover b{color:var(--gs-copper-bright)}

/* ---------- phase 2: light theme (system default or Settings toggle) ---------- */
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){--gs-bg:#FBF6EE;--gs-bg-deep:#F3EADC;--gs-panel:#FFFFFF;--gs-copper:#A34D0C;--gs-copper-bright:#C85D0F;--gs-cream:#2A1208;--gs-muted:rgba(42,18,8,.78);--gs-faint:rgba(42,18,8,.62);--gs-line:rgba(163,77,12,.28);--gs-line-strong:rgba(163,77,12,.55);--gs-glass:rgba(255,255,255,.72);--gs-ok:#2E7D4F;--gs-bad:#B3261E;--paper:rgba(255,255,255,.85);--sunk:rgba(163,77,12,.06);--ink:var(--gs-cream);--ink2:var(--gs-muted);--ink3:var(--gs-faint);--accent-ink:#FFFFFF;--accent-soft:rgba(200,93,15,.12);color-scheme:light}}
:root[data-theme="light"]{--gs-bg:#FBF6EE;--gs-bg-deep:#F3EADC;--gs-panel:#FFFFFF;--gs-copper:#A34D0C;--gs-copper-bright:#C85D0F;--gs-cream:#2A1208;--gs-muted:rgba(42,18,8,.78);--gs-faint:rgba(42,18,8,.62);--gs-line:rgba(163,77,12,.28);--gs-line-strong:rgba(163,77,12,.55);--gs-glass:rgba(255,255,255,.72);--gs-ok:#2E7D4F;--gs-bad:#B3261E;--paper:rgba(255,255,255,.85);--sunk:rgba(163,77,12,.06);--ink:var(--gs-cream);--ink2:var(--gs-muted);--ink3:var(--gs-faint);--accent-ink:#FFFFFF;--accent-soft:rgba(200,93,15,.12);color-scheme:light}
:root[data-theme="light"] .cta,:root[data-theme="light"] .btn.primary,:root[data-theme="light"] .badge{color:#FFFFFF;background:linear-gradient(180deg,#D86A14,#B8560F)}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .cta,:root:not([data-theme="dark"]) .btn.primary,:root:not([data-theme="dark"]) .badge{color:#FFFFFF;background:linear-gradient(180deg,#D86A14,#B8560F)}}
:root[data-theme="light"] .app,:root[data-theme="light"] .signin{background:radial-gradient(1200px 600px at 70% -10%,rgba(200,93,15,.12),transparent 60%),linear-gradient(180deg,var(--gs-bg),var(--gs-bg-deep))}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .app,:root:not([data-theme="dark"]) .signin{background:radial-gradient(1200px 600px at 70% -10%,rgba(200,93,15,.12),transparent 60%),linear-gradient(180deg,var(--gs-bg),var(--gs-bg-deep))}}
:root[data-theme="light"] .side,:root[data-theme="light"] .tabbar{background:rgba(255,255,255,.8)}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .side,:root:not([data-theme="dark"]) .tabbar{background:rgba(255,255,255,.8)}}
:root[data-theme="light"] .next{background:linear-gradient(150deg,#FFFFFF,#FBF1E4)}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .next{background:linear-gradient(150deg,#FFFFFF,#FBF1E4)}}
:root[data-theme="light"] .drawer,:root[data-theme="light"] .pal,:root[data-theme="light"] .tourcard,:root[data-theme="light"] .selena,:root[data-theme="light"] .toast{background:#FFFBF5;color:var(--gs-cream)}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .drawer,:root:not([data-theme="dark"]) .pal,:root:not([data-theme="dark"]) .tourcard,:root:not([data-theme="dark"]) .selena,:root:not([data-theme="dark"]) .toast{background:#FFFBF5;color:var(--gs-cream)}}
:root[data-theme="light"] .stage.done .node{color:#FFFFFF}
.themerow{display:flex;gap:8px;flex-wrap:wrap}
.themerow .ghost[aria-pressed="true"]{background:rgba(207,100,20,.16);border-color:var(--gs-copper-bright)}

/* match tracker */
.tracker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:10px 0 6px}
.tracker li{list-style:none;position:relative;padding:8px 6px 0;font-size:12px;color:var(--gs-faint);text-align:center;border-top:3px solid rgba(243,227,195,.14)}
.tracker li.done{border-top-color:var(--gs-copper);color:var(--gs-muted)}
.tracker li.current{border-top-color:var(--gs-copper-bright);color:var(--gs-copper-bright);font-weight:700}
.tracker li.declined{border-top-color:var(--gs-bad)}
.tracker{padding:0;margin-left:0}
.ballrow{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:13px;color:var(--gs-faint)}
.ballrow b{color:var(--gs-cream);font-weight:600}
.ballrow .you{color:var(--gs-copper-bright)}

/* what changed */
.changed{display:flex;flex-direction:column;gap:6px}
.changed .row{min-height:48px;padding:6px 0}

/* milestone burst */
.burst-scrim{position:fixed;inset:0;z-index:65;display:grid;place-items:center;background:rgba(8,4,3,.55);backdrop-filter:blur(3px);animation:fade .3s both}
.burst{position:relative;width:min(440px,calc(100% - 32px));padding:32px 28px;border-radius:18px;border:1px solid var(--gs-line-strong);background:linear-gradient(160deg,rgba(42,18,8,.98),rgba(14,8,6,.98));text-align:center;box-shadow:0 30px 90px rgba(0,0,0,.6);animation:pop .6s cubic-bezier(.2,.8,.2,1) both}
.burst h2{margin:8px 0 6px;font-size:26px}
.burst p{margin:0 0 18px;color:var(--gs-muted)}
.burst .rays{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:inherit}
.burst .rays i{position:absolute;left:50%;top:38%;width:6px;height:6px;border-radius:50%;background:var(--gs-copper-bright);box-shadow:0 0 12px var(--gs-copper-bright);animation:spark 1.1s ease-out forwards}
.burst .rays i:nth-child(1){--dx:-120px;--dy:-80px}.burst .rays i:nth-child(2){--dx:120px;--dy:-90px}.burst .rays i:nth-child(3){--dx:150px;--dy:30px}.burst .rays i:nth-child(4){--dx:-150px;--dy:40px}.burst .rays i:nth-child(5){--dx:0;--dy:-130px}.burst .rays i:nth-child(6){--dx:-70px;--dy:110px}.burst .rays i:nth-child(7){--dx:80px;--dy:120px}.burst .rays i:nth-child(8){--dx:-40px;--dy:-120px}.burst .rays i:nth-child(9){--dx:40px;--dy:-115px}.burst .rays i:nth-child(10){--dx:170px;--dy:-30px}
.burst .ring-icon{width:64px;height:64px;margin:0 auto;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#FF9A45,var(--gs-copper-bright));color:var(--gs-bg-deep);box-shadow:0 0 40px rgba(255,138,42,.6)}

/* uploads */
.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:120px;border:1.5px dashed var(--gs-line-strong);border-radius:14px;background:rgba(8,4,3,.25);cursor:pointer;color:var(--gs-muted);font-size:14px;text-align:center;padding:14px}
.drop.over{background:rgba(255,138,42,.1);border-color:var(--gs-copper-bright)}
.drop b{color:var(--gs-cream);font-size:15px}
.whosees{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--gs-faint);padding:3px 9px;border:1px solid var(--gs-line);border-radius:999px}
.docgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.doccard{display:flex;flex-direction:column;gap:8px}
.doccard img{width:100%;height:120px;object-fit:cover;border-radius:10px;border:1px solid var(--gs-line)}

/* empty state */
.empty{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:22px;border:1px dashed var(--gs-line);border-radius:14px}
.empty b{font-family:var(--gs-display);font-size:16px}
.empty p{margin:0;color:var(--gs-muted);max-width:52ch}

/* strength */
.meter{height:8px;border-radius:999px;background:rgba(243,227,195,.12);overflow:hidden}
.meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gs-copper),var(--gs-copper-bright));transition:width 1.2s cubic-bezier(.2,.8,.2,1)}

/* lead inbox */
.timer{font-family:var(--gs-display);font-weight:600}
.timer.late{color:var(--gs-bad)}

/* shortlist */
.map{height:360px;border-radius:14px;border:1px solid var(--gs-line);overflow:hidden;background:var(--sunk)}
.compare{width:100%;border-collapse:collapse;font-size:14px}
.compare th,.compare td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--gs-line);vertical-align:top}
.compare th{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gs-faint);font-weight:700}
.comparewrap{overflow:auto}
.thumbs{display:flex;gap:6px}
.thumbs button[aria-pressed="true"]{border-color:var(--gs-copper-bright);background:rgba(255,138,42,.16)}
.rating{display:flex;gap:6px}
.rating button{min-width:44px;min-height:44px;border-radius:10px;border:1px solid var(--gs-line);background:none;color:var(--gs-cream);font-family:var(--gs-display);cursor:pointer}
.rating button[aria-pressed="true"]{background:var(--gs-copper-bright);color:var(--gs-bg-deep);border-color:transparent}

/* referral link */
.linkbox{display:flex;gap:8px;align-items:center}
.linkbox input{flex:1;font-family:ui-monospace,monospace;font-size:14px}

/* kanban */
.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:12px;overflow:auto;padding-bottom:10px}
.col{display:flex;flex-direction:column;gap:8px;min-height:200px;padding:10px;border:1px solid var(--gs-line);border-radius:14px;background:var(--gs-glass)}
.col.over{border-color:var(--gs-copper-bright);background:rgba(255,138,42,.08)}
.colhead{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gs-faint);font-weight:700}
.kcard{padding:10px 12px;border:1px solid var(--gs-line);border-radius:10px;background:rgba(8,4,3,.4);cursor:grab;font-size:14px}
.kcard:focus-visible{outline:2px solid var(--gs-copper-bright)}
.kcard.stuck{border-color:rgba(242,162,162,.6)}
.kcard small{display:block;color:var(--gs-faint);font-size:12px;margin-top:3px}
.kcard .mv{display:flex;gap:4px;margin-top:6px}
.kcard .mv button{min-height:32px;padding:0 8px;font-size:12px}

/* bulk */
.bulkbar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 14px;border:1px solid var(--gs-line-strong);border-radius:12px;background:rgba(28,12,6,.96)}

/* install banner */
.install{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border:1px solid var(--gs-line-strong);border-radius:12px;background:rgba(255,138,42,.1);font-size:14px}
.offline{position:fixed;left:50%;top:10px;transform:translateX(-50%);z-index:80;padding:8px 14px;border-radius:999px;background:var(--gs-bad);color:#fff;font-size:13px;font-weight:600}
@media (max-width:720px){.tracker li{font-size:10px;padding:6px 2px 0}}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pad{padding:16px 18px}

/* embedded booking / signing */
.embedscrim{z-index:62;display:grid;place-items:center}
.embed{width:min(960px,calc(100% - 24px));height:min(88vh,860px);display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:16px;border:1px solid var(--gs-line-strong);background:var(--gs-panel);box-shadow:0 30px 90px rgba(0,0,0,.6)}
.embed .dhead{display:flex;align-items:center;justify-content:space-between}
.embed h2{margin:0;font-size:18px}
.embedframe{flex:1;width:100%;border:0;border-radius:10px;background:#fff}

/* ---- fulfillment profile (scope) ---- */
.scopegrid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}
.scopenav{display:flex;flex-direction:column;gap:8px;position:sticky;top:12px}
.scopepct b{font-family:var(--gs-display);font-size:22px}
.scopesec{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid var(--gs-line);background:var(--gs-glass);color:inherit;cursor:pointer;font:inherit}
.scopesec>span:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.scopesec.on{border-color:var(--gs-copper-bright);box-shadow:0 0 0 1px var(--gs-copper-bright) inset}
.scopesec:focus-visible,.pick:focus-visible,.dot:focus-visible,.linklike:focus-visible{outline:2px solid var(--gs-copper-bright);outline-offset:2px}
.scopestages{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.scopestage{padding:6px 12px;border-radius:999px;border:1px solid var(--gs-line);font-size:13px;color:var(--gs-muted)}
.scopestage.done{color:var(--gs-ok);border-color:rgba(155,211,160,.35)}
.scopestage.current{color:var(--gs-cream);border-color:var(--gs-copper-bright);background:rgba(255,138,42,.12);font-weight:700}
.scopeq{display:flex;flex-direction:column;gap:14px}
.scopeq .opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.scopeq .opt{min-height:54px;height:auto;padding:10px 16px;color:inherit;font-family:inherit;width:100%}
.optsub{display:block;font-weight:500;margin-top:2px}
.scopegroups{display:flex;flex-direction:column;gap:12px;max-height:52vh;overflow:auto;padding-right:4px}
.scopegroup{border:1px solid var(--gs-line);border-radius:12px;padding:10px 12px;margin:0}
.scopegroup legend{padding:0 6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--gs-muted)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.pick{min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--gs-line);background:rgba(8,4,3,.4);color:inherit;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.pick:hover{border-color:var(--gs-line-strong)}
.pick.on,.ghost.on{border-color:var(--gs-copper-bright);background:rgba(255,138,42,.16);color:var(--gs-cream)}
.pick:disabled{opacity:.6;cursor:default}
.seg{display:flex;gap:6px;flex-wrap:wrap}
.scoperow{border:1px solid var(--gs-line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}
.scopejump{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-width:60%}
.dot{width:12px;height:12px;padding:0;border-radius:50%;border:1px solid var(--gs-line-strong);background:transparent;cursor:pointer}
.dot.ok{background:var(--gs-ok);border-color:var(--gs-ok)}
.dot.wait{background:var(--gs-muted);border-color:var(--gs-muted)}
.dot.cur{box-shadow:0 0 0 3px rgba(255,138,42,.35);border-color:var(--gs-copper-bright)}
.linklike{background:none;border:0;padding:0;color:var(--gs-copper-bright);font:inherit;cursor:pointer;text-decoration:underline;margin-right:8px}
.small.bad{color:var(--gs-bad)}
.scopeview details{border-top:1px solid var(--gs-line);padding:10px 0}
.scopeview summary{cursor:pointer;font-weight:700}
.pre{white-space:pre-wrap;text-align:right;max-width:60%}
@media (max-width:860px){
  .scopegrid{grid-template-columns:minmax(0,1fr)}
  .scopenav{position:static;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
  .scopesec{min-width:200px}
  .scopepct{display:none}
  .scopeq .opts{grid-template-columns:minmax(0,1fr)}
  .scopejump{max-width:100%;order:3;width:100%}
  .pre{max-width:100%;text-align:left}
}

/* =====================================================================================================
   GrowthSteer Connect design system v2 (concept pack, November 2026). Loaded after styles.css.
   Dense: 13px Manrope body, 21px Sora page titles, 30px buttons (24 small), 20px chips, 34px inputs,
   42px table rows, JetBrains Mono tabular figures. Keeps the --gs-* tokens; adds status colors.
   ===================================================================================================== */
@font-face{font-family:Sora;font-weight:400;font-display:swap;src:url(/fonts/sora-400.woff2) format('woff2')}
@font-face{font-family:Sora;font-weight:600;font-display:swap;src:url(/fonts/sora-600.woff2) format('woff2')}
@font-face{font-family:Sora;font-weight:700;font-display:swap;src:url(/fonts/sora-700.woff2) format('woff2')}
@font-face{font-family:Manrope;font-weight:400;font-display:swap;src:url(/fonts/manrope-400.woff2) format('woff2')}
@font-face{font-family:Manrope;font-weight:500;font-display:swap;src:url(/fonts/manrope-500.woff2) format('woff2')}
@font-face{font-family:Manrope;font-weight:600;font-display:swap;src:url(/fonts/manrope-600.woff2) format('woff2')}
@font-face{font-family:Manrope;font-weight:700;font-display:swap;src:url(/fonts/manrope-700.woff2) format('woff2')}
@font-face{font-family:Manrope;font-weight:800;font-display:swap;src:url(/fonts/manrope-800.woff2) format('woff2')}
@font-face{font-family:JBM;font-weight:400;font-display:swap;src:url(/fonts/jbm-400.woff2) format('woff2')}
@font-face{font-family:JBM;font-weight:600;font-display:swap;src:url(/fonts/jbm-600.woff2) format('woff2')}

:root{
  --gs-bg:#0E0806;--gs-bg-deep:#070302;--gs-panel:#2A1208;
  --gs-line:rgba(255,138,42,.13);--gs-line-strong:rgba(255,138,42,.32);
  --gs-glass:rgba(30,13,6,.62);--gs-panel2:rgba(46,20,9,.55);--gs-sunk:rgba(0,0,0,.35);--gs-ghost:rgba(243,227,195,.08);
  --gs-muted:rgba(243,227,195,.70);--gs-faint:rgba(243,227,195,.62);--gs-gold:#FFC48A;
  --gs-ok:#8FD49A;--gs-warn:#F5C25B;--gs-bad:#F08C8C;--gs-info:#9EC5FF;
  --gs-mono:'JBM',ui-monospace,SFMono-Regular,Menlo,monospace;
  --line:var(--gs-line);--line2:var(--gs-line-strong);--sunk:var(--gs-sunk);
}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){--gs-warn:#9A6A00;--gs-info:#2F5FA8;--gs-ok:#2E7D4F;--gs-bad:#B3261E;--gs-panel2:rgba(255,255,255,.75);--gs-sunk:rgba(163,77,12,.06);--gs-ghost:rgba(42,18,8,.06);--gs-gold:#9A5300}}
:root[data-theme="light"]{--gs-warn:#9A6A00;--gs-info:#2F5FA8;--gs-ok:#2E7D4F;--gs-bad:#B3261E;--gs-panel2:rgba(255,255,255,.75);--gs-sunk:rgba(163,77,12,.06);--gs-ghost:rgba(42,18,8,.06);--gs-gold:#9A5300}

body{font:500 13px/1.45 var(--gs-body);-webkit-font-smoothing:antialiased}
.mono,.tnum{font-family:var(--gs-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.small{font-size:12px}

/* ---------- backdrop: faint copper grid + two blurred glows (fixed, behind everything) ---------- */
.app{position:relative;isolation:isolate;background:var(--gs-bg-deep)}
.app::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,138,42,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,138,42,.045) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 60% 20%,#000 20%,transparent 80%);mask-image:radial-gradient(ellipse 80% 70% at 60% 20%,#000 20%,transparent 80%)}
.app::after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(600px 420px at calc(100% - 420px) -120px,rgba(207,100,20,.22),transparent 70%),radial-gradient(500px 400px at 360px calc(100% + 120px),rgba(107,35,6,.35),transparent 70%)}

/* ---------- sidebar 220px ---------- */
.side{width:220px;padding:14px 10px;gap:10px;background:linear-gradient(180deg,rgba(26,11,5,.85),rgba(8,4,2,.75));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.logo-full{width:150px}
.who{padding:7px 8px;border-radius:9px;gap:8px;background:var(--gs-panel2)}
.ring{width:40px;height:40px}.ring svg{width:40px;height:40px}.ring .val{font-size:10.5px;font-family:var(--gs-mono)}
.whotext b{font-size:12px}.pill{font-size:10.5px;padding:1px 7px;border-radius:5px}
.navgroup{font-size:10px;letter-spacing:.16em;padding:10px 8px 5px;margin-top:2px}
.navbtn{min-height:29px;height:29px;padding:0 8px;gap:9px;border-radius:7px;font-size:12.5px;border:0}
.navbtn svg{width:15px;height:15px;opacity:.8}
.navbtn:hover{background:rgba(255,138,42,.08)}
.navbtn.on{background:linear-gradient(90deg,rgba(255,138,42,.16),rgba(255,138,42,.02));color:var(--gs-cream);border:0}
.navbtn.on svg{opacity:1;color:var(--gs-copper-bright)}
.navbtn.on::before{content:"";position:absolute;left:-10px;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--gs-copper-bright);box-shadow:0 0 10px var(--gs-copper-bright)}
.badge{min-width:18px;height:17px;padding:0 5px;border-radius:5px;font:600 10.5px var(--gs-mono);box-shadow:0 0 10px rgba(255,138,42,.55)}
.badge.soft{background:none;color:var(--gs-faint);box-shadow:none}
.sub{min-height:26px;font-size:12px}
.foot{gap:6px;padding-top:8px}.acct{min-height:34px}.avatar{width:26px;height:26px;font-size:11px}
.acctext b{font-size:12px}.acctext span{font-size:10.5px}
.collapser{min-height:28px;font-size:11px;border-radius:7px}
.collapsed .side{width:64px;padding:14px 8px}

/* ---------- main + 50px top bar ---------- */
.main{padding:0 0 120px}
.top{position:sticky;top:0;z-index:30;height:50px;margin:0 0 18px;padding:0 20px;flex-wrap:nowrap;border-bottom:1px solid var(--gs-line);background:rgba(7,3,2,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.crumb{font-size:12px;letter-spacing:0;text-transform:none;color:var(--gs-cream);font-weight:700}
.crumb .crumbrole{color:var(--gs-faint);font-weight:600}
.search{min-height:30px;height:30px;min-width:0;width:min(340px,40vw);margin-left:auto;border-radius:8px;background:var(--gs-sunk);font-size:12px;padding:0 8px 0 10px}
.search svg{width:15px;height:15px}
.kbd,kbd{font:600 10px var(--gs-mono);border:1px solid var(--gs-line-strong);border-radius:4px;padding:1px 5px;color:var(--gs-muted);background:rgba(255,138,42,.06)}
.topact{display:flex;align-items:center;gap:8px}
.ib{position:relative;width:30px;height:30px;border-radius:8px;border:1px solid var(--gs-line);display:grid;place-items:center;color:var(--gs-muted);background:none;cursor:pointer}
.ib:hover{border-color:var(--gs-line-strong);color:var(--gs-cream)}
.ib .ibdot{position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--gs-copper-bright);box-shadow:0 0 8px var(--gs-copper-bright)}
.askbtn{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px 0 8px;border-radius:8px;font-weight:700;font-size:12px;color:var(--gs-cream);background:linear-gradient(135deg,rgba(255,138,42,.22),rgba(207,100,20,.08));border:1px solid var(--gs-line-strong);box-shadow:0 0 18px -6px var(--gs-copper-bright);cursor:pointer}
.orb{width:18px;height:18px;flex:none;border-radius:50%;background:conic-gradient(from 90deg,#FF8A2A,#FFC48A,#CF6414,#FF8A2A);box-shadow:0 0 10px #FF8A2A}
.view-root{padding:0 20px}
.selena-tab{display:none}
@media (max-width:860px){.selena-tab{display:inline-flex}}

/* ---------- page head + veil ---------- */
.view{padding:18px 18px 20px;border-radius:12px}
.glass{background:var(--gs-glass);border-color:var(--gs-line);border-radius:12px;box-shadow:inset 0 1px 0 rgba(255,200,150,.05);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.view h2,.card h2{font-size:21px;line-height:1.15;letter-spacing:-.02em;margin:4px 0 6px}
.view>p.lead{font-size:12.5px;color:var(--gs-faint);margin:0 0 14px;max-width:640px}
.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800}
.ph{position:relative;display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin:2px 0 14px}
.ph h1{margin:0;font:600 21px/1.1 var(--gs-display);letter-spacing:-.02em}
.ph p{margin:4px 0 0;color:var(--gs-faint);font-size:12.5px}
.ph .act{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.veil{position:absolute;inset:-10px -20px auto -20px;height:150px;width:calc(100% + 40px);z-index:-1;pointer-events:none;opacity:.9}
.view-root>*+*{margin-top:14px}

/* ---------- buttons, inputs ---------- */
.cta{min-height:30px;height:30px;padding:0 12px;border-radius:8px;font:700 12px var(--gs-body);gap:6px;background:linear-gradient(135deg,var(--gs-copper-bright),var(--gs-copper));color:#1a0a03;box-shadow:0 6px 20px -8px var(--gs-copper-bright),inset 0 1px 0 rgba(255,255,255,.35)}
.cta.sm{min-height:24px;height:24px;padding:0 8px;font-size:11px;border-radius:6px}
.cta.lg{min-height:36px;height:36px;padding:0 16px;font-size:13px}
.ghost{min-height:30px;height:30px;padding:0 12px;border-radius:8px;font-size:12px;font-weight:700;border-color:var(--gs-line-strong);background:var(--gs-panel2)}
.ghost.sm{min-height:24px;height:24px;padding:0 8px;font-size:11px;border-radius:6px}
.btns,.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
input.field,select.field,textarea.field,.field input,select,.msgbox,input[type=text],input[type=email],input[type=number],input[type=date],input[type=search],input[type=url],input[type=tel]{min-height:34px;border-radius:8px;font-size:13px;background:var(--gs-sunk);border:1px solid var(--gs-line);color:var(--gs-cream);padding:0 10px}
textarea.msgbox,textarea.field,textarea{padding:8px 10px;min-height:68px}
input:focus,select:focus,textarea:focus{border-color:var(--gs-copper-bright);box-shadow:0 0 0 3px rgba(255,138,42,.15);outline:none}
label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--gs-faint);font-weight:700}
.check{min-height:30px;border-radius:8px;font-size:12px;text-transform:none;letter-spacing:0}

/* ---------- rows, status chips, tables ---------- */
.row{min-height:42px;padding:7px 0;gap:10px}
.rowend{gap:8px}
.st,.chip{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border-radius:5px;font-size:10.5px;font-weight:700;border:1px solid var(--gs-line);color:var(--gs-muted);background:rgba(255,138,42,.04);white-space:nowrap;line-height:1}
.st.ok,.chip.ok{color:var(--gs-ok);border-color:rgba(143,212,154,.3);background:rgba(143,212,154,.07)}
.st.open,.chip.cu{color:var(--gs-copper-bright);border-color:var(--gs-line-strong);background:rgba(255,138,42,.1)}
.st.wait{color:var(--gs-faint)}
.chip.warn,.st.warn{color:var(--gs-warn);border-color:rgba(245,194,91,.3);background:rgba(245,194,91,.07)}
.chip.bad,.st.bad{color:var(--gs-bad);border-color:rgba(240,140,140,.3);background:rgba(240,140,140,.07)}
.chip.info{color:var(--gs-info);border-color:rgba(158,197,255,.3);background:rgba(158,197,255,.07)}
.chip i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}
table{border-collapse:collapse;width:100%}
th{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gs-faint);font-weight:800;text-align:left;padding:8px 10px;border-bottom:1px solid var(--gs-line);white-space:nowrap}
td{padding:0 10px;height:42px;border-bottom:1px solid rgba(255,138,42,.07)}
tr.sel td{background:rgba(255,138,42,.07)}
tr.sel td:first-child{box-shadow:inset 2px 0 0 var(--gs-copper-bright)}
.compare th,.compare td{padding:8px 10px;height:auto}

/* ---------- shared components ---------- */
.pn{background:var(--gs-glass);border:1px solid var(--gs-line);border-radius:12px;position:relative;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 rgba(255,200,150,.05);min-width:0}
.pn.glow{border-color:transparent;background:linear-gradient(var(--gs-bg),var(--gs-bg)) padding-box,linear-gradient(135deg,rgba(255,138,42,.7),rgba(255,138,42,.08) 40%,rgba(255,138,42,.08) 60%,rgba(255,196,138,.5)) border-box}
.pn .hd{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--gs-line);flex-wrap:wrap}
.pn .hd h3{margin:0;white-space:nowrap;font:600 12.5px var(--gs-display);letter-spacing:-.01em}
.pn .hd .sub{color:var(--gs-faint);font-size:11.5px;display:inline;min-height:0;padding:0}
.pn .hd .r{margin-left:auto;display:flex;gap:6px;align-items:center}
.pn .bd{padding:12px 14px}
.pn .empty{padding:18px 14px}
.ey{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--gs-copper-bright)}
.mut{color:var(--gs-muted)}.fnt{color:var(--gs-faint)}
.ai{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--gs-gold)}
.ai::before{content:"";width:14px;height:14px;border-radius:50%;background:conic-gradient(#FF8A2A,#FFC48A,#CF6414,#FF8A2A);box-shadow:0 0 8px #FF8A2A;flex:none}
.seg{display:inline-flex;padding:2px;border:1px solid var(--gs-line);border-radius:8px;background:var(--gs-sunk);gap:0}
.seg>button,.seg>span{height:24px;padding:0 10px;border-radius:6px;display:grid;place-items:center;font-size:11.5px;font-weight:700;color:var(--gs-faint);border:0;background:none;cursor:pointer}
.seg>button.on,.seg>span.on,.seg>button[aria-pressed="true"]{background:rgba(255,138,42,.16);color:var(--gs-cream);box-shadow:inset 0 0 0 1px var(--gs-line-strong)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.kpi{padding:12px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}
.kpi .k{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--gs-faint)}
.kpi .v{font:600 26px/1.1 var(--gs-mono);font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.kpi .d{font-size:11.5px;color:var(--gs-faint)}
.kpi .d.up{color:var(--gs-ok)}.kpi .d.down{color:var(--gs-bad)}
.kpi .spark{height:28px;width:100%;margin-top:2px}
.pring{position:relative;flex:none;display:inline-grid;place-items:center}
.pring svg{display:block;transform:rotate(-90deg)}
.pring b{position:absolute;font:600 10.5px var(--gs-mono)}
.partbar{display:flex;height:6px;border-radius:6px;overflow:hidden;background:var(--gs-ghost);gap:2px}
.partbar i{display:block;height:100%;background:linear-gradient(90deg,var(--gs-copper),var(--gs-copper-bright))}
.partbar i:nth-child(2){opacity:.7}.partbar i:nth-child(3){opacity:.45}.partbar i:nth-child(4){opacity:.3}
.sla{display:flex;flex-direction:column;gap:3px;min-width:56px}
.sla b{font:600 10.5px var(--gs-mono);color:var(--gs-copper-bright)}
.sla i{display:block;height:3px;border-radius:3px;background:var(--gs-ghost);overflow:hidden}
.sla i::after{content:"";display:block;height:100%;width:var(--p,50%);background:var(--sla-c,var(--gs-copper-bright));border-radius:3px}
.sla.late b{color:var(--gs-bad)}.sla.late{--sla-c:var(--gs-bad)}
.hbar{display:grid;grid-template-columns:110px 1fr 40px;gap:10px;align-items:center;font-size:12px;min-height:26px}
.hbar .t{height:14px;border-radius:4px;background:var(--gs-ghost);overflow:hidden}
.hbar .t i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--gs-copper),var(--gs-copper-bright));box-shadow:0 0 10px rgba(255,138,42,.35)}
.hbar .n{font:600 11px var(--gs-mono);text-align:right;color:var(--gs-muted)}
.feed{display:flex;flex-direction:column}
.feed .fi{display:flex;gap:10px;padding:9px 14px;border-bottom:1px solid rgba(255,138,42,.07);font-size:12px}
.feed .fi .ic{width:24px;height:24px;border-radius:7px;border:1px solid var(--gs-line-strong);display:grid;place-items:center;color:var(--gs-copper-bright);flex:none}
.feed .fi time{display:block;font:500 10.5px var(--gs-mono);color:var(--gs-faint);margin-top:2px}
.qrow{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto auto;gap:10px;align-items:center;padding:9px 14px;border-bottom:1px solid rgba(255,138,42,.07)}
.qrow .av{width:30px;height:30px;font-size:11px}
.qrow b{font-size:12.5px}.qrow .s{font-size:11.5px;color:var(--gs-faint)}
.av{border-radius:50%;display:inline-grid;place-items:center;font-weight:800;color:#1a0a03;flex:none;background:linear-gradient(135deg,var(--gs-gold),var(--gs-copper-bright))}
.grid2c{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,.95fr);gap:14px;align-items:start}
.grid2b{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px;align-items:start}
@media (max-width:1180px){.grid2c{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.grid2c>:last-child{grid-column:1/-1}}
@media (max-width:860px){.grid2c,.grid2b{grid-template-columns:minmax(0,1fr)}}
.hero{position:relative;overflow:hidden;padding:18px 20px}
.hero h1{margin:6px 0 10px;font:600 26px/1.15 var(--gs-display);letter-spacing:-.02em}
.hero h1 em{font-style:normal;color:var(--gs-copper-bright)}
.hero ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.hero ol li{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--gs-muted);flex-wrap:wrap}
.hero ol li .n{width:18px;height:18px;border-radius:5px;border:1px solid var(--gs-line-strong);display:grid;place-items:center;font:600 10.5px var(--gs-mono);color:var(--gs-copper-bright);flex:none}
.hero ol li b{color:var(--gs-cream)}
.hero .heroact{position:absolute;right:20px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-end;gap:6px}
@media (max-width:980px){.hero .heroact{position:static;transform:none;align-items:flex-start;margin-top:12px}}
.journey{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.journey .js{display:flex;flex-direction:column;gap:6px;font-size:11.5px;color:var(--gs-faint);font-weight:700}
.journey .js i{display:block;height:5px;border-radius:5px;background:var(--gs-ghost)}
.journey .js.js-done i{background:linear-gradient(90deg,var(--gs-copper),var(--gs-copper-bright))}
.journey .js.js-now i{background:linear-gradient(90deg,var(--gs-copper-bright),rgba(255,138,42,.25));box-shadow:0 0 10px var(--gs-copper-bright)}
.journey .js.js-done,.journey .js.js-now{color:var(--gs-cream)}
@media (max-width:600px){.journey{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------- overlays ---------- */
.help-ov{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:rgba(0,0,0,.55);backdrop-filter:blur(4px)}
.help-ov .pn{width:min(520px,calc(100vw - 32px));max-height:80vh;overflow:auto}
.help-ov dl{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:0;padding:14px;font-size:12.5px}
.help-ov dt{white-space:nowrap}
.toast{font-size:12.5px}
.toast .undo{margin-left:10px}

@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.veil{display:none}}

/* ---------- phone (≤860px) ---------- */
@media (max-width:860px){
  .top{display:none}
  .view-root{padding:0 16px}
  .main{padding:0 0 96px}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qrow{grid-template-columns:30px minmax(0,1fr) auto}
  .qrow>:nth-child(3),.qrow>:nth-child(4){display:none}
  .hero h1{font-size:21px}
}

/* ---- brand questionnaire, restyled to design/brand-questionnaire-preview.html (visual only) ---- */
.qx{position:relative;isolation:isolate;margin:-18px -20px 0;min-height:calc(100vh - 50px)}
.qxbg{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.qxbg .dots{position:absolute;inset:0;background-image:radial-gradient(rgba(243,227,195,.08) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse at 60% 40%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at 60% 40%,#000 30%,transparent 75%)}
.qxbg .blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;animation:qxdrift 18s ease-in-out infinite alternate}
.qxbg .b1{width:520px;height:520px;background:var(--gs-copper);top:-160px;right:-120px;opacity:.3}
.qxbg .b2{width:420px;height:420px;background:#7a2a08;bottom:-160px;left:10%;animation-duration:24s}
.qxbg .b3{width:300px;height:300px;background:var(--gs-copper-bright);top:40%;right:25%;opacity:.14;animation-duration:30s}
@keyframes qxdrift{to{transform:translate(-60px,50px) scale(1.12)}}
.qxshell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 50px)}
.qxrail{border-right:1px solid var(--gs-line);background:linear-gradient(180deg,rgba(42,18,8,.55),rgba(8,4,3,.4));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:22px 18px}
.qxrail>nav{display:flex;flex-direction:column;gap:22px;position:sticky;top:68px}
.qxring{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid var(--gs-line);border-radius:14px;background:var(--gs-glass)}
.qxring b{font-family:var(--gs-display);font-size:14px;display:block}.qxring small{display:block;color:var(--gs-faint);font-size:12px;margin-top:2px}
.qxsteps{list-style:none;margin:0;padding:0;position:relative}
.qxsteps::before{content:"";position:absolute;left:13px;top:12px;bottom:12px;width:2px;background:rgba(243,227,195,.08)}
.qxfill{position:absolute;left:13px;top:12px;width:2px;height:calc((100% - 24px) * var(--fill) / 100);background:linear-gradient(var(--gs-copper-bright),var(--gs-copper));box-shadow:0 0 12px var(--gs-copper-bright);transition:height .6s ease}
.qxsteps li{position:relative}
.qxstep{display:flex;gap:12px;align-items:flex-start;width:100%;padding:8px 0;border:0;background:none;color:inherit;text-align:left;cursor:pointer;font:inherit}
.qxdot{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:700 12px var(--gs-body);border:1px solid var(--gs-line-strong);background:var(--gs-bg);color:var(--gs-faint);transition:.3s;z-index:1}
.qxsteps li.done .qxdot{background:var(--gs-copper);border-color:var(--gs-copper-bright);color:var(--gs-bg-deep)}
.qxsteps li.now .qxdot{border-color:var(--gs-copper-bright);color:var(--gs-copper-bright);box-shadow:0 0 0 5px rgba(255,138,42,.14),0 0 18px rgba(255,138,42,.45)}
.qxstep .t{display:block;font-weight:600;font-size:13.5px;color:var(--gs-faint);transition:.3s}
.qxsteps li.now .t,.qxsteps li.done .t{color:var(--gs-cream)}
.qxstep .d{display:block;font-size:11.5px;color:var(--gs-faint);margin-top:2px}
.qxhelp{font-size:12px;color:var(--gs-faint);line-height:1.5;border-top:1px solid var(--gs-line);padding-top:14px}.qxhelp b{color:var(--gs-cream)}
.qxstand{display:flex;flex-direction:column;gap:2px}
.qxmain{display:flex;flex-direction:column;padding:22px clamp(16px,4vw,48px) 40px;min-width:0}
.qxbar{display:flex;justify-content:space-between;align-items:center;color:var(--gs-faint);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;gap:12px}
.qxprog{height:4px;border-radius:4px;background:rgba(243,227,195,.08);margin-top:12px;overflow:hidden}
.qxprog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gs-copper),var(--gs-copper-bright));box-shadow:0 0 14px var(--gs-copper-bright);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.qxdisc{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;padding:12px 14px;border:1px solid var(--gs-line);border-radius:12px;background:var(--gs-glass)}
.qxstage{flex:1;display:flex;justify-content:center;padding:28px 0}
.qxcard{width:100%;max-width:720px}
.qxq{display:flex;flex-direction:column;gap:14px;animation:qxin .5s cubic-bezier(.2,.8,.2,1) both}
.qxq.out{animation:qxout .28s ease both}
@keyframes qxin{from{opacity:0;transform:translateY(18px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes qxout{to{opacity:0;transform:translateY(-14px);filter:blur(4px)}}
.qxtop{display:flex;justify-content:space-between;align-items:center;gap:10px}
.qxq h1{margin:0;font:600 clamp(24px,3vw,34px)/1.18 var(--gs-display);letter-spacing:-.02em}
.qxq .lead{margin:0;color:var(--gs-muted);font-size:15px;line-height:1.55}
.shine{background:linear-gradient(100deg,var(--gs-cream) 30%,#FFD2A6 45%,var(--gs-copper-bright) 50%,#FFD2A6 55%,var(--gs-cream) 70%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:qxshine 5s linear infinite}
@keyframes qxshine{from{background-position:120% 0}to{background-position:-120% 0}}
.qxbody{margin-top:6px}
.qx .scopeq,.qx .opts{margin:0}
.qx .opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.qx .opt{position:relative;display:block;width:100%;min-height:0;height:auto;text-align:left;padding:14px 16px 14px 48px;border-radius:14px;border:1px solid var(--gs-line);background:var(--gs-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:14px;font-weight:700;color:var(--gs-cream);transition:transform .18s,border-color .2s,background .2s,box-shadow .2s}
.qx .opt::before{content:"";position:absolute;left:14px;top:14px;width:22px;height:22px;border-radius:7px;background:rgba(255,138,42,.12);box-shadow:inset 0 0 0 1px var(--gs-line-strong)}
.qx .opt:hover{transform:translateY(-2px);border-color:var(--gs-line-strong);box-shadow:0 10px 30px -18px rgba(255,138,42,.7)}
.qx .opt .radio{display:none}
.qx .opt .optsub{font-weight:500;color:var(--gs-faint);font-size:12.5px;margin-top:3px;line-height:1.4}
.qx .opt.sel{border-color:var(--gs-copper-bright);background:linear-gradient(135deg,rgba(207,100,20,.28),rgba(42,18,8,.6));box-shadow:0 0 0 1px var(--gs-copper-bright),0 14px 40px -18px rgba(255,138,42,.8)}
.qx .opt.sel::before{background:var(--gs-copper-bright)}
.qx .opt.sel::after{content:"✓";position:absolute;right:12px;top:12px;width:20px;height:20px;border-radius:50%;background:var(--gs-copper-bright);color:var(--gs-bg-deep);font-size:12px;font-weight:800;display:grid;place-items:center;animation:qxpop .3s cubic-bezier(.3,1.6,.5,1)}
@keyframes qxpop{from{transform:scale(0)}}
.qx .pick{min-height:34px;border-radius:10px;background:var(--gs-glass);transition:transform .15s,border-color .2s}
.qx .pick:hover{transform:translateY(-1px)}
.qx .pick.on{background:linear-gradient(135deg,rgba(207,100,20,.32),rgba(42,18,8,.6));box-shadow:0 0 0 1px var(--gs-copper-bright)}
.qx input.field,.qx textarea.msgbox,.qx select,.qx .field{min-height:46px;padding:0 15px;border-radius:12px;background:rgba(8,4,3,.6);font-size:15px}
.qx textarea.msgbox{padding:12px 15px;min-height:110px}
.qx input:focus,.qx textarea:focus,.qx select:focus{border-color:var(--gs-copper-bright);box-shadow:0 0 0 4px rgba(255,138,42,.15)}
.qx label{font-size:11.5px;letter-spacing:.06em}
.qxcallout{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:12px;border:1px dashed var(--gs-line-strong);background:rgba(255,138,42,.07);font-size:13.5px;color:var(--gs-muted);animation:qxin .4s both}
.qxcallout b{color:var(--gs-cream)}.qxcallout>span{color:var(--gs-copper-bright)}
.qxnav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}
.qxhint{font-size:12px;color:var(--gs-faint)}
.qxgo{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:8px;border:0;min-height:44px;padding:0 22px;border-radius:12px;font:700 14px var(--gs-body);color:var(--gs-bg-deep);background:linear-gradient(135deg,var(--gs-copper-bright),var(--gs-copper));box-shadow:0 12px 30px -12px var(--gs-copper-bright);cursor:pointer;text-decoration:none}
.qxgo::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);animation:qxsweep 3.2s ease-in-out infinite}
@keyframes qxsweep{60%,100%{transform:translateX(120%)}}
.qxgo:hover{color:var(--gs-bg-deep)}
.qx .scopejump{max-width:100%;justify-content:flex-start}
.qxdone{text-align:center;align-items:center}
.qxburst{width:120px;height:120px;position:relative;display:grid;place-items:center;margin-bottom:6px}
.qxburst .halo{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(255,138,42,.5),transparent 65%);animation:qxpulse 2.2s ease-in-out infinite}
.qxburst img{position:relative;border-radius:16px}
@keyframes qxpulse{50%{transform:scale(1.25);opacity:.6}}
.qxreasons{margin:0;padding:0 0 0 18px;text-align:left;color:var(--gs-muted);font-size:13px}
.qxfx{position:fixed;inset:0;pointer-events:none;z-index:70}
@media (prefers-reduced-motion: reduce){.qxbg .blob,.shine,.qxgo::after,.qxq,.qxq.out,.qxburst .halo,.qxcallout{animation:none!important}.shine{color:var(--gs-cream);background:none}}
@media (max-width:860px){
  .qx{margin:-18px -16px 0}
  .qxshell{grid-template-columns:minmax(0,1fr)}
  .qxrail{border-right:0;border-bottom:1px solid var(--gs-line);padding:14px 16px}
  .qxrail>nav{position:static;gap:10px}
  .qxsteps,.qxhelp,.qxstand{display:none}
  .qxmain{padding:16px 16px 90px}
  .qx .opts{grid-template-columns:minmax(0,1fr)}
  .qxhint{display:none}
}

.qxringbar{transition:stroke-dashoffset .8s cubic-bezier(.2,.8,.2,1)}

/* ---- Phase 1: staff screens ---- */
.kanban2{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:10px;overflow-x:auto;padding-bottom:8px}
.kcol{display:flex;flex-direction:column;gap:8px;min-height:240px;padding:8px;border:1px solid var(--gs-line);border-radius:12px;background:rgba(0,0,0,.18)}
.kcol.over{border-color:var(--gs-copper-bright);box-shadow:0 0 0 1px var(--gs-copper-bright) inset,0 0 26px -8px var(--gs-copper-bright);background:rgba(255,138,42,.06)}
.kcolh{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 6px;border-bottom:1px solid var(--gs-line);font-size:12px}
.kc{display:flex;flex-direction:column;gap:6px;padding:9px 10px;border:1px solid var(--gs-line);border-radius:10px;background:var(--gs-glass);cursor:grab}
.kc:focus-visible,.kc.focus:focus{outline:2px solid var(--gs-copper-bright);outline-offset:1px}
.kc.stuck{border-color:rgba(240,140,140,.4)}
.kch{display:flex;align-items:center;gap:8px}.kch b{font-size:12.5px;line-height:1.25}
.kcm{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.split{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:14px;align-items:start}
.split.wide{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr)}
@media (max-width:980px){.split,.split.wide{grid-template-columns:minmax(0,1fr)}}
.leadlist{display:flex;flex-direction:column;max-height:70vh;overflow:auto}
.leadrow{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:9px 14px 9px 16px;border:0;border-bottom:1px solid rgba(255,138,42,.07);background:none;color:inherit;cursor:pointer;position:relative}
.leadrow::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--gs-copper)}
.leadrow.lead-parcelratelab::before{background:var(--gs-info)}.leadrow.lead-xitstock::before{background:var(--gs-ok)}.leadrow.lead-cowboy::before{background:var(--gs-warn)}
.leadrow.on{background:rgba(255,138,42,.08)}
.tablewrap{overflow-x:auto}
.tablewrap tr{cursor:pointer}
.pdots{display:inline-flex;gap:3px;vertical-align:middle}.pdots i{width:6px;height:6px;border-radius:50%;background:var(--gs-ghost)}.pdots i.on{background:var(--gs-copper-bright);box-shadow:0 0 6px var(--gs-copper-bright)}
dl.kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 14px;margin:0;font-size:12.5px}
dl.kv dt{color:var(--gs-faint)}dl.kv dd{margin:0;overflow-wrap:anywhere}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.mcand{display:flex;gap:10px;align-items:flex-start}.mreasons{margin-top:6px}.mreasons .chip{height:auto;min-height:20px;white-space:normal;padding:3px 7px;line-height:1.3}

.pn input,.pn select,.view input,.view select{min-height:34px;font-size:13px;border-radius:8px;padding:0 10px}

/* ---- Phase 2: brand screens ---- */
#gates .journey{margin-bottom:14px}
.compare td.bestval{color:var(--gs-ok);font-weight:700;background:rgba(143,212,154,.06)}
.compare{font-size:12.5px}.compare th[scope=col]{font:600 12.5px var(--gs-display);text-transform:none;letter-spacing:0;color:var(--gs-cream)}
.comparewrap{overflow-x:auto;border:1px solid var(--gs-line);border-radius:12px}
.next{padding:18px 20px;border-radius:12px}.nexttitle{font-size:21px;margin:6px 0}.nextdesc{font-size:13px}
.card{padding:14px;border-radius:12px;gap:8px}.card.step{min-height:120px}.cardtitle{font-size:14px}
.grid{gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.hero-head{padding:6px 0 10px}.greet{font-size:24px}.status{font-size:13px;margin-top:6px}
.center{gap:16px}.rail{gap:12px}
.drawer{width:min(440px,100%)}

/* ---- Phase 3: 3PL / operator ---- */
.segbar{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;padding:12px 14px}
.segbar .sb{display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;border:0;background:none;color:var(--gs-faint);font:700 11px var(--gs-body);cursor:pointer;padding:0;min-width:0}
.segbar .sb span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.segbar .sb i{display:block;width:100%;height:6px;border-radius:6px;background:var(--gs-ghost)}
.segbar .sb.done{color:var(--gs-cream)}.segbar .sb.done i{background:linear-gradient(90deg,var(--gs-copper),var(--gs-copper-bright))}
.segbar .sb.now{color:var(--gs-copper-bright)}.segbar .sb.now i{background:rgba(255,138,42,.3);box-shadow:0 0 0 1px var(--gs-copper-bright) inset,0 0 12px rgba(255,138,42,.5)}
@media (max-width:860px){.segbar{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}}
.kcard,.partcard,.participation{border-radius:12px}
/* ---- Phase 4: partner ---- */
.reflinkgrid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;margin:12px 0}
.qrbox{padding:8px;border-radius:12px;background:var(--gs-cream);line-height:0}
.earn{display:flex;flex-direction:column;gap:2px;margin:4px 0 8px}.earn .v{font-size:32px;font-weight:600;letter-spacing:-.03em}
@media (max-width:520px){.reflinkgrid{grid-template-columns:minmax(0,1fr)}.qrbox{justify-self:start}}

@media (max-width:860px){.veil{inset:-10px 0 auto 0;width:100%}}

/* ---- Phase 3: brand requests countdown + swipe ---- */
.cdown{display:flex;gap:12px;align-items:center;margin:10px 0;padding:10px 12px;border:1px solid var(--gs-line);border-radius:10px;background:rgba(255,138,42,.05)}
.cdown b{font-size:26px;letter-spacing:.02em;color:var(--gs-gold)}.cdown span{font-size:12px;color:var(--gs-muted);max-width:260px}
.cdown.late b{color:var(--gs-bad)}
.swipe{touch-action:pan-y;transition:transform .2s ease}.swipe[data-dir=yes]{box-shadow:0 0 0 1px var(--gs-ok) inset}.swipe[data-dir=no]{box-shadow:0 0 0 1px var(--gs-bad) inset}
.swipehint{display:none}
/* ---- Phase 5: phone ---- */
.selenatab .orb{display:block;width:44px;height:44px;margin-top:-22px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FFD9B0,var(--gs-copper-bright) 45%,var(--gs-copper) 80%);box-shadow:0 0 18px rgba(255,138,42,.6),0 0 0 4px var(--gs-bg)}
@media (max-width:860px){.swipehint{display:block}.cdown b{font-size:22px}.view,.pn{max-width:100%}.kpi{min-width:0}body{overflow-x:hidden}}
@media (prefers-reduced-motion: reduce){.swipe{transition:none}}

@media (max-width:860px){.selena-tab{display:none!important}.tab{font-size:10.5px;min-width:0;flex:1}}
