/* Phantom Ledger — SmartSolve-inspired mobile-first design system */
:root{
  --brand:#7a3fc4;
  --btn:#5eb1f5;
  --brand-grad:linear-gradient(135deg,#d3aef7 0%,#a978e8 38%,#7a3fc4 70%,#471a86 100%);
  --lime:#b5ff7b; --lime-d:#85bf56;
  --ink:#1d1d1d; --mute:#6b6b6b; --paper:#f3f6f7; --line:rgba(0,0,0,.08);
  --surface:#fff; --input:#fff; --body-bg:#dfe6ec; --tabbar:rgba(255,255,255,.96);
  --danger:#dc2626; --amber:#b45309; --green:#15803d;
}
/* Dark mode — buttons go light mascot purple */
[data-theme="dark"]{
  --brand:#b794f0;
  --btn:#a978e8;
  --brand-grad:linear-gradient(135deg,#a978e8 0%,#7a3fc4 60%,#4a1f8a 100%);
  --ink:#f1ecfb; --mute:#a89cc9; --paper:#2a2138; --line:rgba(255,255,255,.12);
  --surface:#1d1529; --input:#161021; --body-bg:#0f0a17; --tabbar:rgba(24,17,35,.94);
}
[data-theme="dark"] .b-new,[data-theme="dark"] .b-researching{background:rgba(169,120,232,.22);color:#d3bdf7}
[data-theme="dark"] .b-followup,[data-theme="dark"] .badge-opp{background:rgba(180,83,9,.28);color:#f5c97b}
[data-theme="dark"] .b-won{background:rgba(21,128,61,.28);color:#7fe0a8}
[data-theme="dark"] .b-lost{background:rgba(220,38,38,.28);color:#f5a3a3}
[data-theme="dark"] .b-not_interested{background:rgba(255,255,255,.12);color:#c9c2da}
[data-theme="dark"] .notice{background:rgba(122,63,196,.16);border-color:rgba(169,120,232,.4);color:#d9c8f7}
[data-theme="dark"] .notice.warn{background:rgba(180,83,9,.18);border-color:rgba(180,83,9,.45);color:#f5c97b}
[data-theme="dark"] .scout-bot{background:#2b2140;color:var(--ink)}
[data-theme="dark"] .scout-badge{background:rgba(180,83,9,.22);border-color:rgba(240,195,109,.45);color:#f5c97b}
[data-theme="dark"] .scout-nudge{background:#2b2140}
[data-theme="dark"] .yn.sel-yes{background:rgba(21,128,61,.25)}
[data-theme="dark"] .yn.sel-no{background:rgba(220,38,38,.25)}
[data-theme="dark"] .card{box-shadow:0 1px 3px rgba(0,0,0,.3)}
/* Light/dark switch */
.theme-switch{width:54px;height:31px;border-radius:999px;border:none;background:#c9c2da;
  position:relative;cursor:pointer;transition:background .2s;flex-shrink:0}
.theme-switch .knob{position:absolute;top:3px;left:3px;width:25px;height:25px;border-radius:50%;
  background:#fff;transition:left .2s;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.theme-switch.on{background:var(--btn)}
.theme-switch.on .knob{left:26px}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--body-bg)}
h1,h2,h3,.font-display{font-family:'DM Sans',sans-serif;letter-spacing:-.02em;margin:0}
a{color:var(--brand);text-decoration:none}
.app{max-width:640px;margin:0 auto;background:var(--surface);min-height:100dvh;position:relative;
  box-shadow:0 0 40px rgba(0,0,0,.12)}

/* Header */
.hdr{background:var(--brand-grad);color:#fff;position:sticky;top:0;z-index:40}
.hdr-in{max-width:640px;margin:0 auto;padding:.7rem 1rem;display:flex;align-items:center;justify-content:space-between}
.logo{font-family:'DM Sans';font-weight:700;font-size:1.15rem;color:#fff;display:flex;align-items:center;gap:.5rem}
.logo-mark{width:34px;height:34px;border-radius:50%;object-fit:cover;display:block;
  box-shadow:0 2px 8px rgba(0,0,0,.25)}
.hdr-user{font-size:.8rem;color:rgba(255,255,255,.85);display:flex;gap:.7rem;align-items:center}
.hdr-user a{color:#fff;text-decoration:underline;font-size:.8rem}

/* Main + tab bar */
main{padding:1rem 1rem calc(112px + env(safe-area-inset-bottom))}
.tabbar{position:fixed;bottom:calc(10px + env(safe-area-inset-bottom));left:50%;
  transform:translateX(-50%);width:auto;max-width:96vw;background:transparent;border:none;
  display:flex;flex-direction:column;align-items:center;gap:8px;z-index:50;padding:0}
/* floating pill tab bar (middle design from the reel: spring-loaded highlight) */
.tab-pills{position:relative;display:flex;gap:2px;background:var(--tabbar);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid var(--line);border-radius:999px;padding:10px 12px;
  box-shadow:0 12px 32px rgba(23,10,46,.22)}
.tab{position:relative;z-index:2;flex:none;width:52px;height:52px;display:grid;
  place-items:center;border-radius:50%;color:var(--mute);padding:0;opacity:.55;
  transition:transform .22s cubic-bezier(.34,1.56,.64,1),opacity .15s ease}
.tab:active{transform:scale(.86)}
.tab .ic{font-size:1.45rem;line-height:1}
.tab-label{display:none}
.tab.active{opacity:1}
.tab-indicator{position:absolute;top:10px;left:0;width:52px;height:52px;border-radius:50%;
  background:var(--brand-grad);box-shadow:0 6px 18px rgba(122,63,196,.55);z-index:1;
  transition:left .45s cubic-bezier(.34,1.4,.64,1)}
.tab-track{position:relative;width:120px;height:4px;border-radius:2px;background:rgba(130,130,160,.28)}
.tab-knob{position:absolute;top:0;left:0;width:26px;height:4px;border-radius:2px;background:var(--mute);
  transition:left .45s cubic-bezier(.34,1.4,.64,1)}

/* Cards */
.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:1rem;margin-bottom:.9rem;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}
.card h3{font-size:1rem;margin-bottom:.4rem}
.card.pick:active{transform:scale(.975);box-shadow:0 8px 22px rgba(60,20,110,.14)}
.row-item{transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .15s ease;border-radius:12px}
.row-item:active{transform:scale(.985);background:var(--paper)}
.mute{color:var(--mute)} .small{font-size:.82rem} .tiny{font-size:.72rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;
  border-radius:14px;font-weight:700;font-size:.95rem;padding:.85rem 1.2rem;cursor:pointer;
  transition:transform .22s cubic-bezier(.34,1.56,.64,1),filter .12s ease,box-shadow .18s ease;
  font-family:inherit;width:100%}
.btn:active{transform:scale(.94);filter:brightness(1.07)}
.btn-primary{background:var(--btn);color:#fff}
.btn-lime{background:var(--lime);color:#17351f;border:1px solid var(--lime-d);
  box-shadow:inset 0 -4px 0 var(--lime-d)}
.btn-lime:active{box-shadow:inset 0 0 0 var(--lime-d)}
.btn-soft{background:var(--paper);color:var(--ink)}
.btn-danger{background:var(--danger);color:#fff}
.btn-ghost{background:transparent;color:var(--brand);width:auto;padding:.5rem .8rem}
.btn-row{display:flex;gap:.6rem}.btn-row .btn{flex:1}
.btn-call{font-size:1.15rem;padding:1rem}

/* Forms */
.field{width:100%;border:2px solid var(--line);border-radius:12px;padding:.75rem .9rem;
  font-size:1rem;font-family:inherit;background:var(--input);color:var(--ink)}
.field:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(122,63,196,.14)}
label.lbl{display:block;font-size:.8rem;font-weight:600;color:var(--mute);margin:.9rem 0 .35rem}
select.field,input.field,textarea.field{margin:0}
textarea.field{resize:vertical;min-height:90px}
.radio-card{display:flex;gap:.7rem;align-items:flex-start;border:2px solid var(--line);
  border-radius:14px;padding:.8rem;margin-bottom:.6rem;cursor:pointer}
.radio-card.sel{border-color:var(--brand);background:rgba(122,63,196,.07)}
.radio-card input{margin-top:.2rem}

/* Badges */
.badge{display:inline-block;font-size:.68rem;font-weight:700;padding:.28rem .65rem;border-radius:999px;white-space:nowrap}
.b-new{background:#ece4fb;color:#6d28d9}.b-researching{background:#ede9fe;color:#6d28d9}
.b-ready{background:var(--lime);color:var(--ink)}.b-called{background:var(--paper);color:var(--mute)}
.b-followup{background:#fef3c7;color:var(--amber)}.b-demo{background:var(--btn);color:#fff}
.b-won{background:#dcfce7;color:var(--green)}.b-lost{background:#fee2e2;color:var(--danger)}
.b-not_interested{background:#e5e7eb;color:#4b5563}
.badge-opp{display:inline-block;font-size:.68rem;font-weight:700;padding:.28rem .65rem;border-radius:999px;white-space:nowrap;background:#fef3c7;color:#b45309;margin-left:.35rem;vertical-align:middle}

/* Stats */
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-bottom:.9rem}
.stat{background:var(--paper);border-radius:16px;padding:.7rem .4rem;text-align:center}
.stat .v{font-family:'DM Sans';font-weight:700;font-size:1.25rem}
.stat .k{font-size:.64rem;color:var(--mute);font-weight:600;margin-top:2px}
.rate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin-bottom:.9rem}

/* Lists */
.row-item{display:flex;gap:.8rem;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--line)}
.row-item:last-child{border-bottom:none}
.niche-ic{width:42px;height:42px;border-radius:14px;background:var(--paper);display:flex;
  align-items:center;justify-content:center;font-size:1.35rem;flex-shrink:0}
.stars{color:#f59e0b;letter-spacing:1px}

/* Priority picks */
.pick{border-left:4px solid var(--brand)}
.pick-reasons{margin:.4rem 0 0;padding:0;list-style:none}
.pick-reasons li{font-size:.78rem;color:var(--mute);padding:.15rem 0}
.pick-reasons li::before{content:"✓ ";color:var(--green);font-weight:700}

/* Bottom sheet (outcome popup) */
.sheet-head{text-align:center;margin-bottom:1rem}
.q-block{margin-bottom:1.4rem}
.q-title{font-family:'DM Sans';font-weight:700;font-size:1.05rem;margin-bottom:.6rem}
.yn-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.yn{border:2px solid var(--line);border-radius:14px;padding:.9rem;font-size:1.05rem;font-weight:700;
  background:#fff;cursor:pointer;font-family:inherit}
.yn.sel-yes{border-color:var(--green);background:#dcfce7;color:var(--green)}
.yn.sel-no{border-color:var(--danger);background:#fee2e2;color:var(--danger)}
.star-row{display:flex;gap:.4rem;justify-content:center}
.star-btn{font-size:2.1rem;background:none;border:none;cursor:pointer;color:#d1d5db;padding:.2rem}
.star-btn.on{color:#f59e0b}

/* Score hero */
.score-hero{text-align:center;padding:1.4rem 1rem;background:var(--paper);border-radius:20px;margin-bottom:.9rem}
.score-hero .big{font-family:'DM Sans';font-weight:700;font-size:2rem}

/* Empty / error states */
.empty{text-align:center;padding:2.5rem 1.5rem;color:var(--mute)}
.empty .big-ic{font-size:2.6rem;margin-bottom:.6rem}
.notice{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;border-radius:14px;
  padding:.8rem 1rem;font-size:.85rem;margin-bottom:.9rem}
.notice.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}
.kv{display:flex;justify-content:space-between;padding:.45rem 0;border-bottom:1px solid var(--line);font-size:.9rem}
.kv:last-child{border:none}.kv .k{color:var(--mute)}
.section-t{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  color:var(--mute);margin:1.2rem 0 .6rem}
table.tbl{width:100%;border-collapse:collapse;font-size:.85rem}
table.tbl th{text-align:left;color:var(--mute);font-size:.7rem;text-transform:uppercase;
  padding:.5rem;border-bottom:2px solid var(--line)}
table.tbl td{padding:.55rem .5rem;border-bottom:1px solid var(--line)}
.hidden{display:none!important}
pre.brief{white-space:pre-wrap;font-family:inherit;font-size:.9rem;margin:0}

/* Login screen — animated gradient + ghost */
.login-screen{margin:-1rem -1rem calc(-84px - env(safe-area-inset-bottom));min-height:100dvh;
  padding:3.2rem 1.25rem 2rem;position:relative;overflow:hidden;
  background:linear-gradient(165deg,#150c26 0%,#2c1454 30%,#5b2b9e 55%,#8b5bd6 78%,#c4a5f2 100%);
  background-size:220% 220%;animation:loginDrift 16s ease-in-out infinite alternate}
@keyframes loginDrift{from{background-position:0% 15%}to{background-position:100% 85%}}
.login-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;pointer-events:none}
.login-blob.b1{width:280px;height:280px;left:-80px;top:8%;background:#a978e8;animation:blobFloat 11s ease-in-out infinite alternate}
.login-blob.b2{width:220px;height:220px;right:-60px;bottom:12%;background:#3b1d6e;animation:blobFloat 14s ease-in-out infinite alternate-reverse}
@keyframes blobFloat{from{transform:translateY(-24px)}to{transform:translateY(28px)}}
.login-ghost{width:148px;height:148px;margin:0 auto .6rem;display:block;
  filter:drop-shadow(0 14px 30px rgba(20,8,40,.45));animation:ghostHover 3.6s ease-in-out infinite}
@keyframes ghostHover{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.login-card{background:rgba(255,255,255,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.5)}
[data-theme="dark"] .login-card{background:rgba(29,21,41,.72);border:1px solid rgba(255,255,255,.14)}
/* Auth screens (welcome/login/register) go full-bleed at every resolution — no white bars */
.app:has(.login-screen){max-width:none}
main:has(.login-screen){max-width:none;padding:0}
main:has(.login-screen) .login-screen{margin:0}

/* Scout — floating chat assistant */
.scout-bubble{position:fixed;right:max(1rem,calc(50vw - 320px + 1rem));
  bottom:calc(88px + env(safe-area-inset-bottom));width:62px;height:62px;border-radius:50%;
  border:2px solid rgba(255,255,255,.85);background:#2a1152;cursor:pointer;z-index:90;
  box-shadow:0 8px 24px rgba(74,26,134,.45);display:flex;align-items:center;justify-content:center;
  transition:transform .18s ease,opacity .18s ease;overflow:hidden;padding:0}
.scout-bubble img{width:100%;height:100%;object-fit:cover;display:block}
.scout-bubble:active{transform:scale(.92)}
.scout-bubble.scout-gone{transform:scale(.2);opacity:0;pointer-events:none}
@keyframes scoutBounce{0%,100%{transform:translateY(0)}25%{transform:translateY(-10px) scale(1.06)}
  50%{transform:translateY(0)}75%{transform:translateY(-6px) scale(1.03)}}
.scout-bubble.scout-bounce{animation:scoutBounce .7s ease 3}
@keyframes scoutPeek{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-10px) rotate(-6deg) scale(1.05)}60%{transform:translateY(-4px) rotate(4deg)}}
.scout-bubble.scout-peeking{animation:scoutPeek .85s ease}
@keyframes scoutPanelIn{from{transform:translateX(-50%) scale(.35);opacity:0}
  to{transform:translateX(-50%) scale(1);opacity:1}}
@keyframes scoutPanelOut{from{transform:translateX(-50%) scale(1);opacity:1}
  to{transform:translateX(-50%) scale(.35);opacity:0}}
.scout-panel.scout-enter{animation:scoutPanelIn .24s cubic-bezier(.2,1.4,.4,1);transform-origin:calc(100% - 46px) 100%}
.scout-panel.scout-leave{animation:scoutPanelOut .2s ease-in;transform-origin:calc(100% - 46px) 100%}
.scout-avatar-img{width:32px;height:32px;border-radius:50%;object-fit:cover;display:block;
  box-shadow:0 1px 5px rgba(0,0,0,.3)}
.scout-nudge{position:fixed;right:max(4.6rem,calc(50vw - 320px + 4.6rem));
  bottom:calc(104px + env(safe-area-inset-bottom));z-index:90;background:#101828;color:#fff;
  font-size:.82rem;font-weight:600;padding:.6rem .8rem;border-radius:14px 14px 4px 14px;
  max-width:13rem;box-shadow:0 10px 28px rgba(0,0,0,.3);
  animation:scoutNudgeIn .3s ease}
@keyframes scoutNudgeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.scout-panel{position:fixed;left:50%;transform:translateX(-50%);
  bottom:calc(88px + env(safe-area-inset-bottom));width:min(94vw,420px);max-height:70dvh;
  background:var(--surface);border:1px solid var(--line);border-radius:22px;z-index:95;display:flex;
  flex-direction:column;overflow:hidden;box-shadow:0 24px 60px rgba(10,20,50,.28)}
.scout-panel[hidden]{display:none}
.scout-head{display:flex;align-items:center;gap:.55rem;padding:.8rem 1rem;
  background:var(--brand-grad);color:#fff}
.scout-avatar{font-size:1.3rem}
.scout-head b{font-size:1rem}
.scout-online{width:8px;height:8px;border-radius:50%;background:#3ddc84;margin-left:.1rem}
.scout-close{margin-left:auto;background:none;border:none;color:#fff;font-size:1.1rem;
  cursor:pointer;padding:.3rem .5rem}
.scout-msgs{flex:1;overflow-y:auto;padding:.9rem;display:flex;flex-direction:column;gap:.6rem;
  min-height:12rem}
.scout-msg{max-width:88%;padding:.65rem .85rem;border-radius:16px;font-size:.88rem;line-height:1.45}
.scout-user{align-self:flex-end;background:var(--brand-grad);color:#fff;border-bottom-right-radius:6px}
.scout-bot{align-self:flex-start;background:#f1f4fa;color:var(--ink);border-bottom-left-radius:6px}
.scout-typing span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#9aa7c2;
  margin-right:4px;animation:scoutBlink 1.2s infinite}
.scout-typing span:nth-child(2){animation-delay:.2s}.scout-typing span:nth-child(3){animation-delay:.4s}
@keyframes scoutBlink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.scout-form{display:flex;gap:.5rem;padding:.7rem;border-top:1px solid var(--line);background:var(--surface)}
.scout-input{flex:1;border:1px solid var(--line);border-radius:14px;padding:.7rem .9rem;
  font-size:.9rem;font-family:inherit;min-width:0}
.scout-send{border:none;border-radius:14px;background:var(--btn);color:#fff;
  font-size:1.1rem;padding:.6rem .95rem;cursor:pointer}
.scout-reshead{font-size:.88rem;margin-bottom:.2rem}
.scout-cards{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}
.scout-card{border:1px solid var(--line);border-radius:14px;padding:.6rem .7rem;background:var(--surface)}
.scout-cardtop{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-size:.86rem}
.scout-cardsub{font-size:.76rem;color:var(--mute);margin-top:.15rem}
.scout-badge{font-size:.7rem;background:#fff4e0;border:1px solid #f0c36d;color:#8a5a00;
  border-radius:999px;padding:.1rem .5rem;font-weight:700}
.scout-addbtn{margin-top:.45rem;border:none;border-radius:10px;background:var(--btn);
  color:#fff;font-weight:700;font-size:.8rem;padding:.5rem .9rem;cursor:pointer;width:100%}
.scout-addbtn:disabled{opacity:.55;cursor:default}
.scout-addall{margin-top:.6rem;border:1px solid var(--brand);border-radius:12px;background:var(--surface);
  color:var(--brand);font-weight:700;font-size:.85rem;padding:.65rem;cursor:pointer;width:100%}
.scout-addall:disabled{opacity:.55}
.scout-resempty{font-size:.84rem;color:var(--mute);margin-top:.4rem}

/* ============ Desktop (1024px+) — phones always keep the mobile layout ============ */
.sidebar-brand{display:none}
.sidebar-scout{display:none}
@media (min-width:1024px){
  .app{max-width:none;margin-left:236px;min-height:100dvh}
  body.no-chrome .app{margin-left:0}
  main{padding:2rem 2.5rem;max-width:1180px;margin:0 auto}
  /* left sidebar nav */
  .tabbar{left:0;transform:none;top:0;bottom:0;width:236px;max-width:none;
    flex-direction:column;justify-content:flex-start;align-items:stretch;
    background:var(--tabbar);backdrop-filter:blur(12px);
    border-top:none;border-right:1px solid var(--line);border-radius:0;
    padding:1.4rem 1rem;gap:.3rem}
  .tab-pills{display:contents}
  .tab-label{display:inline}
  .tab-track{display:none}
  .tab-indicator{display:block;top:0;left:1rem;width:auto;height:auto;border-radius:14px;
    transition:top .45s cubic-bezier(.34,1.4,.64,1),left .45s cubic-bezier(.34,1.4,.64,1),
      width .45s cubic-bezier(.34,1.4,.64,1),height .45s cubic-bezier(.34,1.4,.64,1)}
  .tab.active,[data-theme="dark"] .tab.active{background:none;color:#fff}
  .tab{width:auto;height:auto;opacity:1}
  .sidebar-brand{display:flex;align-items:center;gap:.65rem;padding:.2rem .6rem 1.4rem;
    font-family:'DM Sans',sans-serif;font-weight:700;font-size:1.08rem;color:var(--ink)}
  .sidebar-brand img{width:36px;height:36px;border-radius:50%}
  .tab{flex:none;display:flex;flex-direction:row;align-items:center;gap:.8rem;
    padding:.75rem 1rem;font-size:.95rem;border-radius:12px}
  .tab .ic{font-size:1.3rem}
  .tab.active{background:rgba(122,63,196,.12)}
  [data-theme="dark"] .tab.active{background:rgba(169,120,232,.16)}
  /* multi-column card grids (mobile: plain stacked list) */
  .desk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1rem;margin-bottom:.9rem}
  .desk-grid .card{margin-bottom:0}
  /* scout: bubble pinned bottom-right, panel grows out of it */
  .scout-bubble{right:2rem;bottom:2rem;width:68px;height:68px}
  .scout-nudge{right:6.6rem;bottom:2.8rem}
  .scout-panel{left:auto;right:2rem;transform:none;bottom:6.8rem;width:400px;
    height:min(620px,72dvh);max-height:72dvh}
  @keyframes scoutPanelInDesk{from{transform:scale(.35);opacity:0}to{transform:scale(1);opacity:1}}
  @keyframes scoutPanelOutDesk{from{transform:scale(1);opacity:1}to{transform:scale(.35);opacity:0}}
  .scout-panel.scout-enter{animation-name:scoutPanelInDesk}
  .scout-panel.scout-leave{animation-name:scoutPanelOutDesk}
  /* sidebar Scout launcher (desktop only) */
  .sidebar-scout{display:flex;align-items:center;gap:.8rem;width:100%;
    padding:.75rem 1rem;font-size:.95rem;font-weight:600;border-radius:12px;
    background:none;border:none;cursor:pointer;color:var(--mute);font-family:inherit;text-align:left}
  .sidebar-scout:hover{background:rgba(122,63,196,.08)}
  .sidebar-scout.active{background:rgba(122,63,196,.12);color:var(--brand)}
  .sidebar-scout img{width:26px;height:26px;border-radius:50%;object-fit:cover}
  /* auth screens stay centered, bleed the wider padding */
  .login-screen{margin:-2rem -2.5rem}
}

/* ============ Desktop proportion pass ============ */
@media (min-width:1024px){
  /* reading-width for forms, lists and detail flows */
  .narrow-desk{max-width:760px;margin:0 auto}
  /* taller map on desktop */
  .map-wrap{height:calc(100dvh - 200px)!important}
  /* stat cards breathe a little more */
  .stat-grid{gap:.9rem}
  .stat{padding:1.1rem}
  /* dashboard CTA doesn't need full width on desktop */
  .btn-cta-desk{width:auto;min-width:280px}
}

/* ============ Signup: ToS scrollbox + agreement ============ */
.tosbox{margin-top:1.1rem;max-height:190px;overflow-y:auto;border:2px solid var(--line);
  border-radius:12px;padding:.85rem 1rem;background:rgba(122,63,196,.05);font-size:.85rem}
.tosbox b{display:block;margin-bottom:.45rem}
.tosbox ul{margin:0 0 .6rem 1.1rem;padding:0}
.tosbox li{margin-bottom:.3rem;line-height:1.5}
.tosbox a{font-weight:700}
.tosagree{display:flex;gap:.6rem;align-items:flex-start;margin-top:.9rem;font-size:.9rem;line-height:1.5;cursor:pointer}
.tosagree input{width:20px;height:20px;margin-top:.1rem;flex-shrink:0;accent-color:var(--brand)}
.tosagree a{font-weight:700}
[data-theme="dark"] .tosbox{background:rgba(255,255,255,.05)}

/* Post-login welcome overlay */
.welcome-ov{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:1.1rem;text-align:center;padding:2rem;
  background:linear-gradient(165deg,#a978e8 0%,#7c3fc0 42%,#471a86 78%,#341058 100%);
  transition:opacity .55s ease,transform .55s ease}
.welcome-ov.bye{opacity:0;transform:scale(1.07);pointer-events:none}
.welcome-ghost{width:132px;height:132px;animation:wghost 2.4s ease-in-out infinite;
  filter:drop-shadow(0 18px 30px rgba(20,5,50,.45))}
@keyframes wghost{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-16px) scale(1.045)}}
.welcome-words{display:flex;gap:.65rem;font-family:"DM Sans",Inter,sans-serif;
  font-weight:800;font-size:2.1rem;letter-spacing:-.02em;color:#fff}
.welcome-words span{display:inline-block;opacity:0;transform:translateY(30px);
  animation:wup .7s cubic-bezier(.34,1.56,.64,1) forwards}
.welcome-words span:nth-child(2){animation-delay:.16s}
.welcome-words span:nth-child(3){animation-delay:.32s}
.welcome-words .grad{background:linear-gradient(92deg,#ffd9ec,#ffb35c);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
@keyframes wup{to{opacity:1;transform:none}}
.welcome-sub{color:rgba(255,255,255,.78);font-size:1.02rem;opacity:0;
  animation:wup .7s ease .6s forwards}

/* Teams: employee stat boxes */
.statbox{flex:1;min-width:80px;background:rgba(127,90,240,.08);border:1px solid rgba(127,90,240,.18);border-radius:12px;padding:.55rem .4rem;text-align:center}
.statbox .disp{font-size:1.5rem;font-weight:800;line-height:1.1}
