@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500&display=swap');

/* ================================================================
   Callbase — shared dark theme overlay
   Loaded AFTER each sub-page's inline <style>. Re-points the
   light tokens to the lander's dark palette and overrides the
   hard-coded white surfaces (cards, topbars, inputs, buttons)
   so every page reads as one cinematic dark stage.
   ================================================================ */

:root{
  --cream:#07070a;
  --cream2:#0d0c11;
  --cream3:#15141a;
  --panel:#0e0d12;
  --panel2:#161520;

  --ink:#f0ecdf;
  --ink2:#a8a294;
  --ink3:#7a7466;

  --border:rgba(255,255,255,0.07);
  --border2:rgba(255,255,255,0.13);

  --gold:#c9a955;
  --gold-soft:#f0e2b2;
  --gold-deep:#8b6f2c;
  --gold-glow:rgba(201,169,85,0.22);

  --green:#3fd693;
  --green-bg:rgba(63,214,147,0.10);
  --green-light:rgba(63,214,147,0.28);
  --red:#ff6b5e;
  --red-bg:rgba(255,107,94,0.10);
  --amber:#e8b765;
  --amber-bg:rgba(232,183,101,0.10);
  --amber-light:rgba(232,183,101,0.28);
  --blue:#7aa9e8;
  --blue-bg:rgba(122,169,232,0.10);

  --shadow-sm:0 1px 3px rgba(0,0,0,0.4);
  --shadow-md:0 8px 24px rgba(0,0,0,0.45),0 2px 6px rgba(0,0,0,0.35);
  --shadow-lg:0 24px 64px rgba(0,0,0,0.55),0 8px 20px rgba(0,0,0,0.4);
}

html,body{background:#07070a !important;color:#f0ecdf !important;}

::selection{background:rgba(201,169,85,0.35);color:#fff;}
::-webkit-scrollbar{width:6px;height:6px;}
::-webkit-scrollbar-track{background:#07070a;}
::-webkit-scrollbar-thumb{background:rgba(201,169,85,0.20);border-radius:3px;}
::-webkit-scrollbar-thumb:hover{background:rgba(201,169,85,0.40);}

/* ── atmospheric starfield-grid backdrop ── */
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,0.018) 1px,transparent 1px);
  background-size:80px 80px;
  mask-image:radial-gradient(ellipse at 50% 0%,rgba(0,0,0,0.9) 30%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at 50% 0%,rgba(0,0,0,0.9) 30%,transparent 75%);
}
body > *{position:relative;z-index:1;}

/* ── topbar / nav / sticky headers ── */
.topbar,.legal-nav,nav{
  background:rgba(7,7,10,0.78) !important;
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  border-bottom:1px solid rgba(255,255,255,0.07) !important;
  color:var(--ink) !important;
}

/* ── surfaces that were hard-coded white ── */
.card,.tile,.section,.gate,.kv,.file,.note-banner,
.range-tabs,.recent-row,.order,
.pub-card,.pub-panel,.pub-feature,.pub-quote,.pub-stat,
.sidebar,.aside,.modal,.panel,.well,.box,.rate-card,
.metric-card,.chart-card,.feed-card,.table-card,.breakdown-card,
.qa-card,.notif-panel,.tb-icon-btn,
.mkt-card,.camp-card,.drawer,.drawer-foot,.cj-flow-item,
.hq-form-card,.hq-results-card,.hq-plan,.daily-journey{
  background:#15141a !important;
  border-color:rgba(255,255,255,0.07) !important;
  color:var(--ink) !important;
}

/* Today is a first-class dark workspace, not a light card left behind by the
   token overlay. Keep its readiness, call, and Sage states legible together. */
.dashboard-shell .daily-journey{
  background:
    radial-gradient(circle at 92% 0,rgba(201,169,85,.09),transparent 28%),
    #111015 !important;
  border-color:rgba(201,169,85,.16) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.22) !important;
}
.dashboard-shell .daily-journey-step{
  background:rgba(255,255,255,.025) !important;
  border-color:rgba(255,255,255,.09) !important;
}
.dashboard-shell .daily-journey-step.is-ready{
  background:rgba(63,214,147,.08) !important;
  border-color:rgba(63,214,147,.25) !important;
}
.dashboard-shell .daily-journey-step.is-blocked{
  background:rgba(232,183,101,.08) !important;
  border-color:rgba(232,183,101,.24) !important;
}
.dashboard-shell .daily-journey-step.is-live{
  background:rgba(122,169,232,.08) !important;
  border-color:rgba(122,169,232,.24) !important;
}
.dashboard-shell :is(.daily-latest-call,#daily-coach-onboarding){
  border-top-color:rgba(255,255,255,.09) !important;
}
.dashboard-shell .daily-latest-call .ci-report{
  background:rgba(255,255,255,.025) !important;
  border-color:rgba(255,255,255,.09) !important;
}
.dashboard-shell .producer-brief{
  background:
    radial-gradient(circle at 92% 0,rgba(208,173,98,.10),transparent 30%),
    linear-gradient(145deg,#17151d,#0d0c11) !important;
  color:var(--ivory) !important;
  border:1px solid rgba(208,173,98,.20) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.24) !important;
}
.dashboard-shell .producer-brief h2,
.dashboard-shell .producer-brief-item strong{
  color:var(--ivory) !important;
}
.dashboard-shell .today-focus,
.dashboard-shell .today-module{
  background:
    radial-gradient(circle at 92% 0,rgba(201,169,85,.08),transparent 32%),
    #111015 !important;
  border-color:rgba(255,255,255,.09) !important;
  color:var(--ink) !important;
}
.dashboard-shell .today-focus[data-tone="ready"]{border-color:rgba(63,214,147,.22) !important;}
.dashboard-shell .today-focus[data-tone="attention"]{border-color:rgba(232,183,101,.24) !important;}
.dashboard-shell .today-row{
  background:rgba(255,255,255,.025) !important;
  border-color:rgba(255,255,255,.08) !important;
  color:var(--ink) !important;
}
.dashboard-shell button.today-row:hover{border-color:rgba(201,169,85,.34) !important;}
.dashboard-shell .first-campaign-nudge{
  background:
    radial-gradient(circle at 100% 0,rgba(201,169,85,.15),transparent 42%),
    linear-gradient(120deg,rgba(201,169,85,.10),rgba(255,255,255,.018)) !important;
  border-color:rgba(201,169,85,.28) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.18) !important;
}
.dashboard-shell .first-campaign-nudge h3{color:var(--ink) !important;}
.dashboard-shell .first-campaign-nudge p{color:var(--ink2) !important;}
.dashboard-shell .producer-brief p,
.dashboard-shell .producer-brief-item span{
  color:var(--ivory-dim) !important;
}
.dashboard-shell .producer-brief .daily-journey-kicker{
  color:var(--gold-hi) !important;
}
.dashboard-shell .producer-brief-item{
  background:rgba(255,255,255,.025) !important;
  border-color:var(--hairline-strong) !important;
}
.dashboard-shell .producer-brief .tb-btn{
  background:rgba(255,255,255,.035) !important;
  color:var(--ivory-dim) !important;
  border-color:var(--hairline-strong) !important;
}
.dashboard-shell .producer-brief .tb-btn:hover{
  background:rgba(208,173,98,.09) !important;
  color:var(--ivory) !important;
  border-color:var(--gold) !important;
}

.card-head,.section-head{
  border-bottom-color:rgba(255,255,255,0.07) !important;
  color:var(--ink) !important;
}

/* signup left sidebar is already dark — keep it darker than cards */
.left-panel{background:#0a0a0d !important;color:var(--ink) !important;}

/* ── tables ── */
table th{background:#0d0c11 !important;color:var(--ink3) !important;border-bottom-color:rgba(255,255,255,0.07) !important;}
table td{border-bottom-color:rgba(255,255,255,0.07) !important;color:var(--ink) !important;}
tr.clickable:hover,tbody tr:hover{background:rgba(255,255,255,0.03) !important;}

/* ── inputs ── */
input,select,textarea{
  background:rgba(255,255,255,0.04) !important;
  border:1.5px solid rgba(255,255,255,0.10) !important;
  color:var(--ink) !important;
}
input::placeholder,textarea::placeholder{color:var(--ink3) !important;}
input:focus,select:focus,textarea:focus{
  border-color:var(--gold) !important;
  background:rgba(255,255,255,0.06) !important;
  outline:none !important;
  box-shadow:0 0 0 3px rgba(201,169,85,0.12) !important;
}

/* ── buttons: primary becomes gold/cream gradient on dark ── */
.btn,.btn-primary,.btn-provision{
  background:linear-gradient(180deg,#f8f4e8 0%,#e6dec6 100%) !important;
  color:#15140f !important;
  border:none !important;
  box-shadow:0 0 0 1px rgba(201,169,85,0.30),0 8px 22px rgba(0,0,0,0.45) !important;
  transition:all .2s !important;
}
.btn:hover,.btn-primary:hover,.btn-provision:hover{
  background:linear-gradient(180deg,#fffbf0 0%,#f0e8d0 100%) !important;
  color:#15140f !important;
  box-shadow:0 0 0 1px rgba(201,169,85,0.55),0 12px 28px rgba(0,0,0,0.55),0 0 26px rgba(201,169,85,0.25) !important;
}
.btn:disabled,.btn-primary:disabled{opacity:.45 !important;cursor:not-allowed !important;}

.btn-ghost{
  background:rgba(255,255,255,0.04) !important;
  border:1px solid rgba(255,255,255,0.14) !important;
  color:var(--ink) !important;
}
.btn-ghost:hover{
  border-color:rgba(201,169,85,0.5) !important;
  background:rgba(255,255,255,0.07) !important;
  color:var(--ink) !important;
}

.voice-alert-settings{border-top-color:rgba(255,255,255,0.09) !important;}
.voice-alert-option input{background:rgba(255,255,255,0.04) !important;border-color:rgba(255,255,255,0.16) !important;}
.voice-alert-option input:focus-visible{outline:2px solid var(--gold) !important;outline-offset:3px;}
.voice-ringtone-level select{background:#15171a !important;border-color:rgba(255,255,255,0.16) !important;color:var(--ink) !important;}

.btn-danger,.btn-red{background:var(--red) !important;color:#1a0707 !important;border:none !important;box-shadow:none !important;}
.btn-danger:hover,.btn-red:hover{background:#ff857a !important;color:#1a0707 !important;}
.btn-green{background:var(--green) !important;color:#07070a !important;border:none !important;box-shadow:none !important;}
.btn-green:hover{background:#5fe0a6 !important;color:#07070a !important;}

/* ── tabs ── */
.tabs button,.tab,.nav-tab{
  background:rgba(255,255,255,0.04) !important;
  border:1px solid rgba(255,255,255,0.10) !important;
  color:var(--ink2) !important;
}
.tabs button.active,.tab.active,.nav-tab.active,
.range-tabs button.active{
  background:linear-gradient(180deg,#f8f4e8 0%,#e6dec6 100%) !important;
  color:#15140f !important;
  border-color:transparent !important;
}
.range-tabs button{color:var(--ink2) !important;background:transparent !important;}

/* ── status banners + badges ── */
.banner{border:1px solid !important;}
.banner.pending,.badge.pending_review{background:var(--amber-bg) !important;color:var(--amber) !important;border-color:var(--amber-light) !important;}
.banner.approved,.badge.approved,.pill.ok,.pill-ok,.ob-badge.ok{background:var(--green-bg) !important;color:var(--green) !important;border-color:var(--green-light) !important;}
.banner.rejected,.badge.rejected,.pill.not-sellable,.pill-no{background:var(--red-bg) !important;color:var(--red) !important;border-color:rgba(255,107,94,0.28) !important;}
.banner.draft,.badge.draft{background:var(--blue-bg) !important;color:var(--blue) !important;border-color:rgba(122,169,232,0.28) !important;}
.pill.off{background:rgba(255,255,255,0.04) !important;color:var(--ink3) !important;border-color:rgba(255,255,255,0.10) !important;}
.pill.warn,.ob-badge.miss{background:var(--amber-bg) !important;color:var(--amber) !important;border-color:var(--amber-light) !important;}
.vert-pill{background:var(--blue-bg) !important;color:var(--blue) !important;}
.count-pill{background:rgba(255,255,255,0.04) !important;color:var(--ink2) !important;}

.note{background:var(--green-bg) !important;border-color:var(--green-light) !important;color:var(--green) !important;}
.row-err{background:var(--red-bg) !important;border-color:rgba(255,107,94,0.28) !important;color:var(--red) !important;}
.row-ok{background:var(--green-bg) !important;border-color:var(--green-light) !important;color:var(--green) !important;}

/* ── text + links ── */
.muted,.empty,.sub,.legal-meta{color:var(--ink2) !important;}
a{color:var(--gold);}
a:hover{color:var(--gold-soft);}
.brand,.brand-name,.legal-nav .brand{color:var(--ink) !important;}
.brand-dot{background:var(--gold) !important;box-shadow:0 0 10px rgba(201,169,85,0.55) !important;}
.legal-nav a.brand::before{background:var(--gold) !important;box-shadow:0 0 10px rgba(201,169,85,0.55) !important;}
.legal-nav .nav-right a{color:var(--ink2) !important;}
.legal-nav .nav-right a:hover{color:var(--ink) !important;}

/* ── publisher signup hero (orbs already gradient; just darken text bg) ── */
.pub-hero{background:transparent !important;}
.pub-hero h1{color:var(--ink) !important;}
.pub-hero h1 em{color:var(--gold) !important;}
.pub-eyebrow{background:var(--green-bg) !important;border-color:var(--green-light) !important;color:var(--green) !important;}

/* ── earn highlight ── */
.earn{color:var(--green) !important;}

/* ── details/summary ── */
details summary{color:var(--ink2) !important;}

/* ── legal long-form ── */
.legal-wrap h1,.legal-wrap h2,.legal-wrap h3{color:var(--ink) !important;}
.legal-wrap p,.legal-wrap li{color:var(--ink) !important;}
.legal-eyebrow{color:var(--gold) !important;}

/* ── totals strip on admin/publishers ── */
.totals{background:#0d0c11 !important;}

/* ── legal-note callout ── */
.legal-note{background:#15141a !important;border-color:rgba(255,255,255,0.07) !important;color:var(--ink2) !important;}
.legal-wrap a{color:var(--gold) !important;}
.legal-wrap p,.legal-wrap li{color:var(--ink) !important;}

/* ── selected/active chips & tabs ──
   Sub-pages hard-code `background:var(--ink);color:#fff` for selected
   states; with the token flip --ink becomes cream and the text
   disappears. Repaint them as gold-cream-on-dark like the lander. */
.ctab.active,.pill.selected,.state-btn.selected,
.qt-tab.selected,
.csv-preset.selected,.steps .s.active,.vchip.sel,
.tb-btn-primary,.btn-save,.user-avatar,.mkt-cta,.ybc-cta,
.wz-choice.selected,.wz-next,
.range-tabs button.active,.tabs button.active,.tab.active{
  background:linear-gradient(180deg,#f8f4e8 0%,#e6dec6 100%) !important;
  color:#15140f !important;
  border-color:transparent !important;
}

/* nav-item active: now uses border-left + cream bg in light mode;
   in dark, repaint as gold accent border-left on the dark surface */
.nav-item.active{
  background:rgba(201,169,85,0.10) !important;
  color:var(--gold) !important;
  border-left-color:var(--gold) !important;
  font-weight:600 !important;
}
.sidebar-phone.active{
  background:rgba(201,169,85,0.10) !important;
  border-color:rgba(201,169,85,.42) !important;
  color:var(--gold) !important;
}
.sidebar-phone .voice-nav-badge{padding:0;background:transparent!important;color:var(--ink3)}
.sidebar-phone .voice-nav-badge[data-state="ready"],
.sidebar-phone .voice-nav-badge[data-state="available"]{color:var(--green)!important}
.sidebar-phone .voice-nav-badge[data-state="ringing"],
.sidebar-phone .voice-nav-badge[data-state="answered"],
.sidebar-phone .voice-nav-badge[data-state="on_call"]{color:var(--amber)!important}
.sidebar-phone .voice-nav-badge[data-state="error"],
.sidebar-phone .voice-nav-badge[data-state="permission_denied"],
.sidebar-phone .voice-nav-badge[data-state="unavailable"]{color:var(--red)!important}

/* sidebar logo on dashboard */
.logo-text{color:var(--ink) !important;}
.logo-dot{background:var(--gold) !important;box-shadow:0 0 10px rgba(201,169,85,0.55) !important;}

/* signup left-panel inner accents (already dark container, keep cream text) */
.left-logo-text,.left-headline,.ls-num{color:var(--ink) !important;}
.signin-prompt a{color:var(--gold) !important;}

/* form-input focus + close button */
.form-input{background:rgba(255,255,255,0.04) !important;border-color:rgba(255,255,255,0.10) !important;color:var(--ink) !important;}
.form-input:focus{background:rgba(255,255,255,0.06) !important;border-color:var(--gold) !important;}
.modal-x{background:rgba(255,255,255,0.04) !important;color:var(--ink) !important;border-color:rgba(255,255,255,0.10) !important;}

/* Stripe mounts an isolated iframe, so its text colors must be supplied
   through the Element config while this host provides the visible dark field. */
.stripe-card-field{
  min-height:46px;
  padding:13px 14px;
  border:1.5px solid rgba(255,255,255,0.16);
  border-radius:9px;
  background:#0a0a0e;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.025);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.stripe-card-field:hover{border-color:rgba(255,255,255,0.27);}
.stripe-card-field.is-focused,
.stripe-card-field.StripeElement--focus{
  border-color:var(--gold);
  background:#111015;
  box-shadow:0 0 0 3px rgba(201,169,85,0.14),inset 0 1px 0 rgba(255,255,255,0.035);
}
.stripe-card-field.is-invalid,
.stripe-card-field.StripeElement--invalid{
  border-color:rgba(255,107,94,0.78);
  box-shadow:0 0 0 3px rgba(255,107,94,0.12);
}
#pm-error{margin-top:8px;color:#ff8b80 !important;font-size:12px;line-height:1.4;}

/* Prepaid campaign purchase and balance surfaces were authored as light cards.
   Keep their totals and status copy legible after the global token inversion. */
.prepaid-panel{
  background:linear-gradient(135deg,rgba(201,169,85,0.09),rgba(255,255,255,0.025)) !important;
  border-color:rgba(201,169,85,0.22) !important;
}
.refill-choice{
  background:rgba(255,255,255,0.035) !important;
  border-color:rgba(255,255,255,0.11) !important;
}
.sc-review{
  background:linear-gradient(145deg,#0d0c11,#17151d) !important;
  color:var(--ink) !important;
  border:1px solid rgba(201,169,85,0.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.035);
}
.sc-review-label{color:var(--gold) !important;}
.sc-review-row{color:var(--ink2) !important;}
.sc-review-row strong{color:var(--gold-soft) !important;}
.sc-review-total{
  color:var(--ink) !important;
  border-top-color:rgba(201,169,85,0.18) !important;
}

/* ── dashboard chips, pills, and panels that hard-code white ── */
.pill,.state-btn,.csv-preset,.radio-opt,.notif-item.unread,
.mkt-tag,.mkt-journey-btn,.sc-dest-display,.sc-summary,.sc-states-pop,
.cj-metric,.drawer-x,.cj-shot,.hq-remove,.hq-enroll-note,.hq-metal,.hq-ptype,
.qt-tab,.qt-soon-card,.ybc-headshot-drop,
.wz-choice,.wz-back{
  background:rgba(255,255,255,0.04) !important;
  border-color:rgba(255,255,255,0.12) !important;
  color:var(--ink) !important;
}
/* journey intake screenshots are light-mode captures — keep them on white */
.cj-shot{background:#fff !important;}
.mkt-badge{background:var(--green-bg) !important;color:var(--green) !important;border-color:var(--green-light) !important;}
.mkt-badge-soldout{background:var(--red-bg) !important;color:var(--red) !important;border-color:rgba(217,64,53,0.4) !important;}
.mkt-cta.mkt-cta-soldout{background:var(--cream3) !important;color:var(--ink2) !important;}
.mkt-card{background:#111015 !important;}
.mkt-discovery{background:rgba(201,169,85,.035) !important;}
.notif-item.unread{border-color:var(--green-light) !important;}
.toggle-thumb{background:#f0ecdf !important;}

/* semantic status pills must win over the generic .pill repaint above */
.pill.ok,.pill-ok{background:var(--green-bg) !important;color:var(--green) !important;border-color:var(--green-light) !important;}
.pill.not-sellable,.pill-no{background:var(--red-bg) !important;color:var(--red) !important;border-color:rgba(255,107,94,0.28) !important;}
.pill.off{background:rgba(255,255,255,0.04) !important;color:var(--ink3) !important;border-color:rgba(255,255,255,0.10) !important;}
.pill.warn{background:var(--amber-bg) !important;color:var(--amber) !important;border-color:var(--amber-light) !important;}

/* vertical-picker check circle hard-codes background:var(--ink) + white
   check — with the token flip that's cream-on-cream. Use gold + dark check. */
.vp-check{background:var(--gold) !important;color:#15140f !important;}
.vp-check svg{stroke:#15140f !important;}

/* nav badge inside the cream active nav item needs dark-on-cream */
.nav-item.active .nav-badge{background:rgba(21,20,15,0.12) !important;color:#15140f !important;}

/* onboarding banner hard-codes background:var(--ink) with white text —
   with the token flip that becomes white-on-cream. Keep it dark. */
.onboarding-banner{background:#15141a !important;border:1px solid rgba(201,169,85,0.25) !important;}

/* catch-all: any element with inline `background:#fff` (white islands) */
[style*="background:#fff"],[style*="background: #fff"],
[style*="background:white"],[style*="background: white"]{
  background:#15141a !important;
}

/* ── native select/date dropdown — dark popup ──────────────────────
   `color-scheme:dark` tells Chromium/WebKit/Edge to render the OS
   native dropdown list in dark mode (the list itself, not just the box).
   `option/optgroup` background covers Firefox where CSS can style them. */
select,
input[type="date"],
input[type="month"],
input[type="time"],
input[type="datetime-local"] {
  color-scheme: dark;
}
option, optgroup {
  background-color: #15141a;
  color: #f0ecdf;
}
option:hover, option:focus, option:checked {
  background-color: rgba(201,169,85,0.18);
}

/* ── table-card: allow horizontal scroll instead of clipping ────────
   overflow:hidden was clipping the rightmost action column (Cancel btn).
   overflow-x:auto keeps the border-radius clip while allowing scroll. */
.table-card { overflow-x: auto !important; }

/* ── prevent campaign columns from collapsing to one-word-per-line ── */
.td-name { min-width: 160px !important; }
thead th { white-space: nowrap !important; }

/* ── keep action buttons on one line in their cell ── */
.camp-actions { white-space: nowrap !important; }

/* ── Earn: share-option buttons hard-code a white hover ── */
.se-opt{background:#15141a !important;border-color:rgba(255,255,255,0.10) !important;color:var(--ink) !important;}
.se-opt:hover{background:#1d1c23 !important;border-color:var(--gold) !important;}
.earn-link-box{background:#0d0c11 !important;border-color:rgba(255,255,255,0.10) !important;}
.mkt-share-btn:hover{color:var(--gold) !important;}

/* ── danger-button hover: light pink is illegible on dark surfaces ── */
.camp-btn.danger:hover {
  background: rgba(255,107,94,0.12) !important;
  border-color: var(--red) !important;
  color: var(--red) !important;
}

/* ── popup/flyout menus that aren't in the surface list ─────────── */
/* bp-csv-menu is inline-styled so the catch-all covers it, but
   the inner csv-preset items need their selected state fixed */
.csv-preset { color: var(--ink) !important; }

/* ── form-input focus: base HTML sets background:#fff on :focus ── */
.form-input:focus {
  background: rgba(255,255,255,0.06) !important;
  border-color: var(--gold) !important;
}

/* ── step wizard (wz-*) progress dots ────────────────────────────── */
/* .wz-dot uses --border2/--ink tokens which flip fine, but repaint the
   active dot gold so progress reads like the rest of the accent system */
.wz-dot{background:rgba(255,255,255,0.18) !important;}
.wz-dot.active{background:var(--gold) !important;box-shadow:0 0 8px rgba(201,169,85,0.45) !important;}
.wz-dot.done{background:rgba(201,169,85,0.45) !important;}

/* ── custom dropdown (cdd) — quote-tool state & product pickers ─── */
/* The native <select> is hidden; these style the custom widget to match
   .form-input in dark mode on every browser / OS (no color-scheme hint needed). */
.cdd-trigger {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(255,255,255,0.10) !important;
  color: var(--ink) !important;
}
.cdd-trigger:focus,
.cdd-trigger[aria-expanded="true"] {
  border-color: var(--gold) !important;
  background: rgba(255,255,255,0.06) !important;
  box-shadow: 0 0 0 3px rgba(201,169,85,0.12) !important;
  outline: none !important;
}
.cdd-trigger:disabled { opacity: .45 !important; }
.cdd-list {
  background: #15141a !important;
  border-color: rgba(255,255,255,0.12) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.55), 0 2px 6px rgba(0,0,0,0.35) !important;
}
.cdd-opt { color: var(--ink) !important; }
.cdd-opt.is-placeholder { color: var(--ink3) !important; }
.cdd-opt.is-focused, .cdd-opt:hover { background: rgba(201,169,85,0.12) !important; }
.cdd-opt[aria-selected="true"] { color: var(--gold) !important; }

/* ── fi-badge (call intelligence outcome badges) ─────────────────── */
.fi-badge { color: var(--ink) !important; }
.badge-g { background: var(--green-bg) !important; color: var(--green) !important; border-color: var(--green-light) !important; }
.badge-a { background: var(--amber-bg) !important; color: var(--amber) !important; border-color: var(--amber-light) !important; }
.badge-r { background: var(--red-bg)   !important; color: var(--red)   !important; border-color: rgba(255,107,94,0.28) !important; }

/* Buyer tour sits above ordinary chrome but below required setup modals. */
.cb-tour-card{background:var(--surface-2)!important;color:var(--ivory)!important}
.cb-tour-card.ai{background:linear-gradient(145deg,#1d1a12,#101216)!important}
.cb-tour-next{background:linear-gradient(180deg,#f8f4e8,#e6dec6)!important;color:#15140f!important}

/* ── shared admin sidebar nav (_admin-nav.js) ────────────────────── */
.cb-sidenav{
  background:rgba(10,10,13,0.92) !important;
  border-right:1px solid rgba(255,255,255,0.07) !important;
}
@media (max-width:860px){
  .cb-sidenav{border-bottom:1px solid rgba(255,255,255,0.07) !important;}
}
.cb-side-tab{color:var(--ink2) !important;}
.cb-side-tab:hover{background:rgba(255,255,255,0.05) !important;color:var(--ink) !important;}
/* active tab: gold accent (matches .nav-item.active), never cream-on-cream */
.cb-side-tab.active{
  background:rgba(201,169,85,0.10) !important;
  color:var(--gold) !important;
  border:1px solid rgba(201,169,85,0.35) !important;
  font-weight:600 !important;
}

/* ================================================================
   Callbase command-center system
   The page files retain their structure and behavior; this layer
   gives every public surface the same visual grammar.
   ================================================================ */
:root{
  --surface-0:#08090b;
  --surface-1:#0e1013;
  --surface-2:#14171b;
  --surface-3:#1b1f24;
  --ivory:#f3eedf;
  --ivory-dim:#c9c1b0;
  --muted:#8f8a80;
  --hairline:rgba(243,238,223,.10);
  --hairline-strong:rgba(243,238,223,.18);
  --gold:#d0ad62;
  --gold-hi:#f0d69a;
  --mono:'Geist Mono','DM Mono',monospace;
  --display:'Instrument Serif',Georgia,serif;
  --body:'Geist','Plus Jakarta Sans',sans-serif;
}

html{background:var(--surface-0) !important;}
body{
  background:
    radial-gradient(900px 480px at 82% -10%,rgba(208,173,98,.10),transparent 65%),
    linear-gradient(rgba(243,238,223,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(243,238,223,.018) 1px,transparent 1px),
    var(--surface-0) !important;
  background-size:auto,72px 72px,72px 72px,auto !important;
  color:var(--ivory) !important;
  font-family:var(--body) !important;
}
body::after{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.18;
  background-image:radial-gradient(rgba(243,238,223,.25) .45px,transparent .45px);
  background-size:5px 5px;mix-blend-mode:soft-light;
}
body > *{position:relative;z-index:1;}
h1,h2,h3,.section-title,.card-title,.modal-title,.tile-value{
  font-family:var(--display) !important;font-weight:400 !important;
  letter-spacing:-.02em !important;color:var(--ivory) !important;
}
h1{font-size:clamp(2rem,4vw,3.6rem) !important;line-height:1.02 !important;}
p,.sub,.card-sub,.section-sub,.muted{color:var(--ivory-dim) !important;}
code,.mono,.legal-meta,.nav-section-label,.brand-sub,.tile-label,
table th,.meta-k,.meta-v,.order-id,.product-key,.diag-v,.cr-label{
  font-family:var(--mono) !important;
}
a{color:var(--gold) !important;}
a:hover{color:var(--gold-hi) !important;}

/* The shared treatment for old light-mode shells */
.topbar,.legal-nav,.right-panel-top{
  background:rgba(8,9,11,.82) !important;
  border-color:var(--hairline) !important;
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
}
.sidebar,.left-panel,.cb-sidenav{
  background:rgba(10,11,13,.94) !important;border-color:var(--hairline) !important;
}
.right-panel,.wrap,.content,.main{background:transparent !important;}
.card,.section,.tile,.gate,.metric-card,.chart-card,.feed-card,
.table-card,.breakdown-card,.qa-card,.modal,.panel,.box,.pub-card,
.pub-panel,.pub-feature,.pub-quote,.pub-stat,.rate-card,.order,
.recent-row,.product-card,.signup-card,.success-details,.ext-panel{
  background:linear-gradient(145deg,rgba(27,31,36,.92),rgba(15,17,20,.92)) !important;
  border:1px solid var(--hairline) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.16) !important;
}
.ext-provider-card,.ext-copy-value,.ext-filterbar{
  background:rgba(255,255,255,.035) !important;
  border-color:var(--hairline-strong) !important;
  color:var(--ivory) !important;
}
.ext-provider-card:hover{border-color:var(--gold) !important;background:rgba(208,173,98,.07) !important}
.ext-connection,.ext-campaign-option,.ext-table-wrap{border-color:var(--hairline) !important}
.ext-managed{color:var(--ivory-dim) !important;border-color:var(--hairline-strong) !important}
.section-head,.card-header,.notif-header,.sidebar-bottom,
table th,table td,.recent-row,.order{border-color:var(--hairline) !important;}
table th{background:rgba(255,255,255,.025) !important;color:var(--muted) !important;}
table td{color:var(--ivory) !important;background:transparent !important;}
tbody tr:hover td,tbody tr:hover{background:rgba(208,173,98,.055) !important;}

input,select,textarea,.form-input,.gate input,.otp-input{
  background:rgba(255,255,255,.045) !important;color:var(--ivory) !important;
  border:1px solid var(--hairline-strong) !important;border-radius:8px !important;
  font-family:var(--body) !important;
}
input::placeholder,textarea::placeholder{color:var(--muted) !important;}
input:focus,select:focus,textarea:focus,.form-input:focus,.otp-input:focus{
  border-color:var(--gold) !important;background:rgba(208,173,98,.07) !important;
  box-shadow:0 0 0 3px rgba(208,173,98,.13) !important;outline:none !important;
}
*:focus-visible{outline:2px solid var(--gold) !important;outline-offset:2px !important;}
button,.btn,.btn-primary,.btn-submit,.btn-save,.btn-provision,.tb-btn-primary{
  font-family:var(--body) !important;transition:transform .18s ease,background .18s ease,
  border-color .18s ease,color .18s ease,box-shadow .18s ease !important;
  box-sizing:border-box;max-width:100%;min-width:0;border-radius:9px;
  line-height:1.25;white-space:normal;overflow-wrap:anywhere;
}
@media(prefers-reduced-motion:reduce){
  button,.btn,.btn-primary,.btn-submit,.btn-save,.btn-provision,.tb-btn-primary{
    transition:none !important;transform:none !important;
  }
}
.btn,.btn-primary,.btn-submit,.btn-save,.btn-provision,.tb-btn-primary{
  background:var(--ivory) !important;color:#151511 !important;border:1px solid var(--gold) !important;
  box-shadow:0 8px 22px rgba(0,0,0,.28) !important;
}
.btn:hover,.btn-primary:hover,.btn-submit:hover,.btn-save:hover,.btn-provision:hover,
.tb-btn-primary:hover{transform:translateY(-1px);background:var(--gold-hi) !important;}
.btn-ghost,.tb-btn,.btn-cancel{
  background:rgba(255,255,255,.035) !important;color:var(--ivory-dim) !important;
  border:1px solid var(--hairline-strong) !important;
}
.btn-ghost:hover,.tb-btn:hover,.btn-cancel:hover{background:rgba(208,173,98,.09) !important;color:var(--ivory) !important;border-color:var(--gold) !important;}
.btn-danger,.btn-red{background:var(--red) !important;color:#190b09 !important;}

.nav-item,.cb-side-tab{color:var(--ivory-dim) !important;border-radius:6px !important;}
.nav-item:hover,.cb-side-tab:hover{background:rgba(255,255,255,.05) !important;color:var(--ivory) !important;}
.nav-item.active,.cb-side-tab.active{background:rgba(208,173,98,.10) !important;color:var(--gold-hi) !important;border-color:var(--gold) !important;}

/* Actions command desk */
.actions-indicator{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 10px;background:rgba(255,255,255,.035);color:var(--ivory-dim);border:1px solid var(--hairline-strong);border-radius:9px;font:600 11px var(--body);white-space:nowrap}
.actions-indicator-dot{width:7px;height:7px;border-radius:50%;background:var(--muted)}
.actions-indicator[data-state="running"] .actions-indicator-dot{background:var(--green);box-shadow:0 0 9px rgba(63,214,147,.5)}
.actions-indicator[data-state="attention"] .actions-indicator-dot{background:var(--amber);box-shadow:0 0 9px rgba(232,183,101,.5)}
.actions-indicator-count{min-width:18px;padding:1px 5px;border-radius:9px;background:rgba(208,173,98,.14);color:var(--gold-hi);font:500 10px var(--mono);text-align:center}
.actions-launch[data-locked="true"]{border-color:var(--gold)}
.actions-context-entry{margin-top:12px}.actions-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid var(--hairline)}
.actions-page-head h1{margin:5px 0 8px}.actions-page-head p{max-width:700px}.actions-kicker{color:var(--gold);font:600 10px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.actions-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.actions-workspace-tabs{display:flex;gap:4px;overflow:auto;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--hairline)}
.actions-workspace-tabs button{min-height:42px;padding:8px 13px;border:0;border-radius:8px;background:transparent;color:var(--ivory-dim);font:600 12px var(--body);white-space:nowrap;cursor:pointer}
.actions-workspace-tabs button.active{background:var(--ivory);color:var(--surface-0)}
.actions-workspace-tabs button:focus-visible,.actions-library-controls input:focus-visible,.actions-library-controls select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.actions-workspace-view[hidden]{display:none!important}.actions-workspace-view>h2{margin:18px 0 6px}
.actions-library-controls{display:grid;grid-template-columns:auto minmax(220px,1fr) auto minmax(150px,220px);gap:10px;align-items:center;padding:14px;border:1px solid var(--hairline);border-radius:12px;background:rgba(255,255,255,.025)}
.actions-library-controls label{color:var(--ivory-dim);font-size:11px;font-weight:650}
.actions-library-controls input,.actions-library-controls select{min-height:42px}
.actions-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.actions-library-card{min-width:0;padding:18px;border:1px solid var(--hairline);border-radius:13px;background:linear-gradient(145deg,rgba(27,31,36,.9),rgba(15,17,20,.9));display:flex;flex-direction:column;gap:12px}
.actions-library-card[data-available="false"]{opacity:.78}.actions-library-card h3{font:400 24px/1.08 var(--display);overflow-wrap:anywhere}.actions-library-card p{font-size:12px;line-height:1.55}
.actions-library-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.actions-library-meta div{padding:9px;border-top:1px solid var(--hairline)}.actions-library-meta span{display:block;color:var(--muted);font:500 9px var(--mono);text-transform:uppercase;letter-spacing:.07em}.actions-library-meta strong{display:block;margin-top:3px;color:var(--ivory);font-size:11px;overflow-wrap:anywhere}
.actions-library-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}.actions-availability{color:var(--green);font:600 10px var(--mono)}.actions-availability.unavailable{color:var(--amber)}
.actions-blueprints-list{display:grid;gap:10px;margin-top:16px}.actions-blueprint-row,.actions-job-row{padding:16px;border:1px solid var(--hairline);border-radius:11px;background:rgba(255,255,255,.025)}
.actions-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.actions-section-head p{margin-top:4px;font-size:12px}
.actions-job-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(130px,.6fr) auto;gap:14px;align-items:center;margin-top:10px}.actions-job-row p{font-size:11px;margin-top:4px}.actions-job-row time{color:var(--muted);font:500 10px var(--mono)}
.actions-usage-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.actions-usage-breakdown{margin-top:12px}.actions-usage-breakdown ul{margin:4px 0;padding-left:20px;font-size:13px;color:var(--ivory-dim)}.actions-value-summary{margin-top:12px;padding:10px;border:1px solid rgba(63,214,147,.2);border-radius:8px;background:rgba(63,214,147,.08);color:var(--green)}.actions-value-summary>strong{display:block;margin-bottom:4px;font-size:12px}.actions-result-list{padding-left:20px;color:var(--ivory-dim);font-size:12px}.actions-technical{margin-top:18px;padding-top:12px;border-top:1px solid var(--hairline)}.actions-technical summary{min-height:40px;cursor:pointer;color:var(--gold-hi);font-size:12px}.actions-technical pre{max-height:180px;overflow:auto;margin-top:10px;padding:10px;border-radius:8px;background:var(--surface-0);color:var(--ivory-dim);font:10px/1.5 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}
.actions-budget-state{margin-top:12px;padding:10px;border:1px solid var(--hairline);border-radius:8px;color:var(--ivory-dim);font-size:12px}.actions-budget-state[data-state="warning"],.actions-budget-state[data-state="reached"]{border-color:rgba(232,183,101,.4);background:rgba(232,183,101,.08);color:var(--amber)}
.actions-tool-panel{min-width:0;padding:20px;border:1px solid var(--hairline);border-radius:12px;background:linear-gradient(145deg,rgba(27,31,36,.92),rgba(15,17,20,.92))}
.actions-tool-panel h2{font-size:22px!important;margin-bottom:10px}.actions-tool-panel p,.actions-tool-panel small{font-size:12px;line-height:1.6;color:var(--ivory-dim)}
.actions-tool-panel label,.actions-dialog label{display:block;margin:14px 0 6px;color:var(--ivory);font-size:12px;font-weight:600}
.actions-tool-panel input,.actions-dialog input,.actions-dialog select{width:100%;min-height:42px;padding:9px 11px}.actions-tool-panel button{margin-top:14px}
.book-migration-panel{grid-column:1/-1;background:radial-gradient(circle at 90% 0,rgba(201,169,85,.12),transparent 34%),linear-gradient(145deg,rgba(27,31,36,.96),rgba(15,17,20,.96))}
.book-migration-head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}.book-migration-head>div{max-width:760px}.book-migration-head .btn-save{flex:0 0 auto;margin-top:2px;min-height:44px}
.book-migration-guardrails{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.book-migration-guardrails span{padding:5px 9px;border:1px solid var(--hairline);border-radius:99px;color:var(--ivory-dim);font:500 9px var(--mono);letter-spacing:.04em;text-transform:uppercase}
.book-migration-list{display:grid;gap:8px;margin-top:12px}.book-migration-row{display:grid;grid-template-columns:minmax(170px,1.6fr) minmax(120px,.7fr) minmax(180px,1fr) auto;align-items:center;gap:14px;padding:13px 14px;border:1px solid var(--hairline);border-radius:9px;background:rgba(255,255,255,.018)}
.book-migration-row strong{display:block;color:var(--ivory);font-size:12px}.book-migration-row small{display:block;margin-top:3px}.book-migration-state{width:max-content;padding:4px 8px;border:1px solid var(--hairline);border-radius:99px;color:var(--ivory-dim);font:600 9px var(--mono);letter-spacing:.04em;text-transform:uppercase}.book-migration-state[data-state=completed],.book-migration-state[data-state=created],.book-migration-state[data-state=linked_existing],.book-migration-state[data-state=existing_exact],.book-migration-state[data-state=ready]{border-color:rgba(63,214,147,.4);color:var(--green)}.book-migration-state[data-state=partially_completed],.book-migration-state[data-state=failed],.book-migration-state[data-state=conflict],.book-migration-state[data-state=ambiguous],.book-migration-state[data-state=invalid],.book-migration-state[data-state=missing_required],.book-migration-state[data-state=duplicate_in_file]{border-color:rgba(255,107,94,.42);color:var(--red)}.book-migration-state[data-state=approved],.book-migration-state[data-state=running],.book-migration-state[data-state=paused],.book-migration-state[data-state=preview_ready]{border-color:rgba(201,169,85,.5);color:var(--gold)}
.book-migration-metrics{display:flex;gap:12px;flex-wrap:wrap;color:var(--ivory-dim);font:500 10px var(--mono)}.book-migration-row .tb-btn{margin:0}
.book-upload-zone{display:block;margin-top:14px;padding:22px;border:1px dashed rgba(201,169,85,.45);border-radius:11px;background:rgba(201,169,85,.035);text-align:center;cursor:pointer}.book-upload-zone:focus-within{outline:2px solid var(--gold);outline-offset:3px}.book-upload-zone input{margin-top:10px}
.book-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.book-mapping-editor{width:100%;min-height:220px;margin-top:8px;padding:12px;border:1px solid var(--hairline);border-radius:8px;background:#0b0c0e;color:var(--ivory);font:11px/1.55 var(--mono);resize:vertical}
.book-preview-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.book-preview-stat{padding:12px;border:1px solid var(--hairline);border-radius:8px;background:rgba(255,255,255,.02)}.book-preview-stat strong{display:block;color:var(--ivory);font:600 20px var(--mono)}.book-preview-stat span{color:var(--ivory-dim);font-size:10px}
.book-preview-table{max-height:310px;overflow:auto;border:1px solid var(--hairline);border-radius:8px}.book-preview-table table{min-width:700px}.book-preview-table th,.book-preview-table td{background:transparent;color:var(--ivory-dim);border-color:var(--hairline)}.book-preview-table td:first-child{color:var(--ivory)}.book-row-issues{max-width:300px;white-space:normal}
.book-approval-check{display:flex!important;align-items:flex-start;gap:9px;margin-top:14px!important}.book-approval-check input{width:auto!important;min-height:0!important;margin-top:3px}
@media(max-width:760px){.book-migration-head{flex-direction:column}.book-migration-head .btn-save{width:100%}.book-migration-row{grid-template-columns:1fr}.book-form-grid,.book-preview-summary{grid-template-columns:1fr 1fr}.book-migration-row .tb-btn{width:100%}}
.actions-money-input{position:relative}.actions-money-input span{position:absolute;left:12px;top:11px;color:var(--muted);z-index:1}.actions-money-input input{padding-left:28px}
.actions-chip{display:inline-block;margin-top:12px;padding:4px 8px;border-radius:20px;background:rgba(255,255,255,.05);color:var(--muted);font:500 10px var(--mono)}
.actions-registry-item{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:13px 0;border-bottom:1px solid var(--hairline)}.actions-registry-item:last-child{border:0}.actions-registry-item p{margin-top:3px}.actions-registry-item button{margin:0}
.actions-state{min-height:20px;color:var(--ivory-dim);font-size:12px;line-height:1.5}.actions-state[aria-busy="true"]::before{content:'';display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--gold);animation:blink 1s infinite}
.actions-backdrop{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.7);backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px}.actions-backdrop[hidden]{display:none!important}.actions-overlay-open{overflow:hidden}
.actions-dialog{position:relative;width:min(560px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;padding:28px;border:1px solid var(--hairline-strong);border-radius:16px;background:var(--surface-2);box-shadow:0 28px 80px rgba(0,0,0,.55)}
.actions-dialog h2,.actions-drawer h2{font-size:30px!important;margin:6px 36px 8px 0}.actions-dialog>p{line-height:1.65}.actions-close{position:absolute;right:16px;top:16px;width:40px;height:40px;border:1px solid var(--hairline);border-radius:9px;background:rgba(255,255,255,.04);color:var(--ivory);font-size:22px}
.actions-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.actions-callout{margin:18px 0;padding:14px;border-left:2px solid var(--gold);background:rgba(208,173,98,.07);color:var(--ivory-dim);font-size:12px;line-height:1.6}
.actions-estimate{margin:20px 0;padding:18px;border:1px solid rgba(208,173,98,.28);border-radius:10px;background:rgba(208,173,98,.06)}.actions-estimate span,.actions-estimate small{display:block;color:var(--ivory-dim);font-size:11px}.actions-estimate strong{display:block;margin:6px 0;color:var(--ivory);font:500 30px var(--mono);font-variant-numeric:tabular-nums}
.actions-review{display:grid;grid-template-columns:110px 1fr;gap:8px;font-size:12px}.actions-review dt{color:var(--muted)}.actions-review dd{color:var(--ivory)}
.actions-progress{height:5px;margin:18px 0;background:rgba(255,255,255,.07);overflow:hidden}.actions-progress span{display:block;width:45%;height:100%;background:var(--gold);animation:actionsProgress 1.4s ease-in-out infinite alternate}@keyframes actionsProgress{to{transform:translateX(120%)}}
.actions-drawer-backdrop{place-items:stretch end;padding:0}.actions-drawer{position:relative;width:min(440px,100vw);height:100vh;overflow:auto;padding:24px;background:var(--surface-1);border-left:1px solid var(--hairline-strong);box-shadow:-24px 0 70px rgba(0,0,0,.5)}.actions-drawer header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid var(--hairline)}.actions-drawer .actions-close{position:static}
.actions-run-group{margin-top:22px}.actions-run-group h3{display:flex;justify-content:space-between;font:500 12px var(--mono)!important;text-transform:uppercase;letter-spacing:.08em}.actions-run-group h3 span{color:var(--muted)}
.actions-run-card{margin-top:9px;padding:13px;border:1px solid var(--hairline);border-radius:9px;background:rgba(255,255,255,.025)}.actions-run-card-focused{border-color:var(--gold);background:rgba(208,173,98,.09);box-shadow:0 0 0 1px rgba(208,173,98,.18)}.actions-run-card>div{display:flex;justify-content:space-between;gap:10px}.actions-run-card strong{color:var(--ivory);font-size:12px;text-transform:capitalize}.actions-run-card span{color:var(--gold);font:500 10px var(--mono);text-transform:uppercase}.actions-run-card p{margin:5px 0;font-size:11px}.actions-run-card time,.actions-run-card b{display:block;color:var(--muted);font:400 10px var(--mono)}.actions-run-card b{margin-top:5px;color:var(--ivory-dim)}.actions-run-card>.tb-btn{margin-top:10px}.actions-empty{padding:12px 0;color:var(--muted)!important;font-size:12px}
@media(max-width:860px){.actions-indicator{padding:6px 8px}#actions-indicator-label{display:none}.actions-tools-grid,.actions-library-grid{grid-template-columns:1fr}.actions-page-head{align-items:flex-start;flex-direction:column}.actions-dialog{padding:22px}.actions-dialog-actions{align-items:stretch;flex-direction:column-reverse}.actions-dialog-actions button{width:100%;min-height:44px}.actions-library-controls{grid-template-columns:1fr}.actions-library-controls label{margin-top:4px}.actions-job-row{grid-template-columns:1fr}.actions-job-row .tb-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.actions-library-card,.actions-workspace-tabs button,.actions-progress span{animation:none!important;transition:none!important}}
@media(prefers-reduced-motion:reduce){.actions-progress span{animation:none;width:65%}.actions-state[aria-busy="true"]::before{animation:none}}
.logo-text,.brand-name,.brand,.page-title{color:var(--ivory) !important;}
.logo-dot,.brand-dot,.left-logo-dot{background:var(--gold) !important;box-shadow:0 0 12px rgba(208,173,98,.45) !important;}

.pill,.state-btn,.radio-opt,.range-tabs,.range-tabs button,.ctab,.tab,.nav-tab,
.csv-preset,.vp-option,.wz-choice,.se-opt{
  background:rgba(255,255,255,.04) !important;border-color:var(--hairline-strong) !important;color:var(--ivory-dim) !important;
}
.pill.selected,.state-btn.selected,.ctab.active,.tab.active,.nav-tab.active,
.range-tabs button.active,.vp-option.selected,.wz-choice.selected{
  background:var(--gold) !important;color:#17140d !important;border-color:var(--gold) !important;
}
.banner,.status-pill,.fi-badge,.ob-badge,.status-pill,.vert-pill{
  border:1px solid currentColor !important;
}
.empty{color:var(--muted) !important;padding:44px 20px !important;}
.left-headline{font-family:var(--display) !important;color:var(--ivory) !important;}
.left-eyebrow,.card-eyebrow,.section-label,.legal-eyebrow{color:var(--gold) !important;font-family:var(--mono) !important;}

/* Diagnostic blocks */
.diagnostic{background:rgba(255,255,255,.02) !important;border:1px solid var(--hairline-strong) !important;border-radius:8px !important;margin-top:8px !important;}
.diagnostic[open]{border-color:var(--amber) !important;background:rgba(208,173,98,.04) !important;}
.diagnostic summary{padding:8px 12px !important;cursor:pointer !important;font-size:11px !important;color:var(--amber) !important;font-family:var(--mono) !important;user-select:none !important;list-style:none !important;display:flex !important;align-items:center !important;}
.diagnostic summary::-webkit-details-marker{display:none;}
.diagnostic summary::before{content:"\25B6";margin-right:8px;font-size:8px;transition:transform 0.15s;}
.diagnostic[open] summary::before{transform:rotate(90deg);}
@media(prefers-reduced-motion:reduce){.diagnostic summary::before{transition:none !important;}}
.diag-body{padding:0 12px 12px !important;font-size:12px !important;color:var(--ivory-dim) !important;}
.diag-body p{margin-bottom:6px !important;}
.diag-body p:last-child{margin-bottom:0 !important;}
.diag-body strong{color:var(--ivory) !important;}
.technical-detail{margin-top:10px !important;border-top:1px solid var(--hairline) !important;padding-top:8px !important;}
.technical-detail summary{padding:4px 0 !important;color:var(--ivory-dim) !important;font-family:var(--mono) !important;}
.technical-detail summary::before{display:none !important;}
.technical-detail pre{margin:8px 0 0 !important;padding:10px !important;white-space:pre-wrap !important;overflow-wrap:anywhere !important;background:var(--surface-inset) !important;border-radius:7px !important;color:var(--ivory-dim) !important;}
.admin-workspace-switcher{margin-bottom:24px;background:var(--cream2);border:1px solid var(--border);border-radius:8px;padding:12px 16px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.admin-workspace-switcher .sub{margin:0 !important;font-size:13px !important;line-height:1.4 !important;flex:1 1 320px}
.admin-concept-note{padding:14px 20px;border-bottom:1px solid var(--border);color:var(--ink2);font-size:12px;line-height:1.55}
.admin-record-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:12px;padding:16px 20px}
.admin-record{padding:16px;background:var(--cream2);border:1px solid var(--border);border-radius:8px;min-width:0}
.admin-record-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.capacity-feedback{min-height:17px;margin-top:6px;font:10px/1.4 var(--mono);color:var(--ink2)}
.capacity-feedback.ok{color:var(--green)}.capacity-feedback.err{color:var(--red)}

/* responsive rhythm: preserve dense operator views without horizontal traps */
.content{padding:clamp(18px,3vw,36px) !important;}
.wrap{padding-left:clamp(16px,3vw,32px) !important;padding-right:clamp(16px,3vw,32px) !important;}
.table-card{overflow-x:auto !important;}
@media(max-width:860px){
  body.has-sidenav{padding-left:0 !important;}
  .cb-sidenav{position:fixed !important;top:0 !important;z-index:40 !important;}
  .topbar{padding:12px 16px !important;}
  .topbar .brand-sub,.brand-sub{display:none;}
  .main{min-height:100dvh !important;height:auto !important;}
  .content{overflow:visible !important;}
  .metrics-row,.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .main-grid,.bottom-grid{grid-template-columns:1fr !important;}
  .left-panel{display:none !important;}
  .right-panel{padding:92px 20px 36px !important;}
}
@media(max-width:520px){
  .metrics-row,.quick-actions,.tiles{grid-template-columns:1fr !important;}
  .form-2{grid-template-columns:1fr !important;}
  .topbar-right{gap:6px !important;}
  .topbar-right .btn-ghost{padding:6px 8px !important;font-size:11px !important;}
  .section-head,.card-header{align-items:flex-start !important;flex-wrap:wrap !important;}
  .order{grid-template-columns:1fr !important;}
  .modal{padding:22px !important;}
  h1{font-size:2.4rem !important;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:.001ms !important;}
}

/* ── signup + campaign onboarding refresh ────────────────────────────
   These flows share the same catalog picker. Keep the interaction logic
   untouched while giving long vertical lists a deliberate scroll region
   and making the first-run experience read like the rest of Callbase. */
.vertical-picker{
  max-height:min(34vh,260px) !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
  padding:2px 6px 2px 2px;
  scrollbar-gutter:stable;
}
#oc-vertical-picker{max-height:min(30vh,220px) !important;}

.modal-bg{
  overflow-y:auto !important;
  align-items:flex-start !important;
}
.modal.modal-lg{
  max-height:calc(100dvh - 40px) !important;
  overflow-y:auto !important;
  margin:auto !important;
}

/* Signup's original page was built as a green light-mode surface. This
   final layer intentionally uses the gold accent for movement/selection
   while retaining green only for successful operational states. */
.page{
  min-height:100dvh;
  background:
    radial-gradient(760px 480px at 88% 4%,rgba(208,173,98,.12),transparent 62%),
    transparent !important;
}
.left-panel::after{
  background:radial-gradient(circle,rgba(208,173,98,.18) 0%,transparent 65%) !important;
}
.left-eyebrow,.card-eyebrow{color:var(--gold) !important;}
.lf-icon{
  background:rgba(208,173,98,.11) !important;
  border-color:rgba(208,173,98,.30) !important;
  color:var(--gold-hi) !important;
  font-family:var(--mono) !important;
  font-size:10px !important;
}
.ls-num span{color:var(--gold) !important;}
.step-dot.active,.step-dot.done{
  background:var(--gold) !important;
  box-shadow:0 0 12px rgba(208,173,98,.35);
}
.signup-card{
  max-width:440px !important;
  padding:clamp(24px,3vw,34px) !important;
  border:1px solid var(--hairline) !important;
  border-radius:14px !important;
  background:linear-gradient(145deg,rgba(27,31,36,.96),rgba(12,14,17,.94)) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.34) !important;
}
.right-panel{
  min-height:100dvh;
  overflow-y:auto;
  justify-content:flex-start !important;
  padding-top:clamp(110px,14vh,150px) !important;
  padding-bottom:48px !important;
}
.btn-google{
  background:rgba(255,255,255,.04) !important;
  color:var(--ivory) !important;
  border-color:var(--hairline-strong) !important;
}
.btn-google:hover{
  background:rgba(208,173,98,.08) !important;
  border-color:var(--gold) !important;
}
.custom-checkbox{
  background:rgba(255,255,255,.04) !important;
  border-color:var(--hairline-strong) !important;
}
.custom-checkbox.checked{
  background:var(--gold) !important;
  border-color:var(--gold) !important;
  color:#17140d !important;
}
.vertical-picker .vp-option{
  min-height:64px;
  align-items:flex-start;
}
.vertical-picker .vp-option:hover{
  background:rgba(208,173,98,.08) !important;
  border-color:rgba(208,173,98,.54) !important;
  color:var(--ivory) !important;
}
.vertical-picker .vp-option.selected{
  box-shadow:inset 3px 0 0 var(--gold),0 0 0 1px rgba(208,173,98,.18) !important;
}

@media(max-width:860px){
  .right-panel{
    min-height:100dvh;
    padding:88px 20px 36px !important;
  }
  .signup-card{padding:24px !important;}
  .vertical-picker{max-height:min(42vh,280px) !important;}
  #oc-vertical-picker{max-height:min(36vh,240px) !important;}
}

/* ── Revenue OS phone shell ─────────────────────────────────────────
   Shared containment and touch rules for the live public, account,
   publisher and operational surfaces. Horizontal scrolling remains local
   to intentional data regions; the page itself never becomes a strip. */
html,body{max-width:100%;}
.dashboard-menu-btn,.dashboard-nav-close,.dashboard-nav-backdrop{display:none;}
.tbl-wrap,.data-scroll-region,.card:has(table),.section:has(table),.card:has(#rates-body),
.section:has([id$="-body"] > table){overflow-x:auto !important;overscroll-behavior-inline:contain;}

@media(max-width:860px){
  html{overflow-x:hidden !important;}
  body{overflow-x:hidden !important;}
  .notif-panel:not(.open){display:none;}
  .dashboard-shell{
    display:block !important;
    min-height:100dvh !important;
    height:auto !important;
    overflow-y:auto !important;
  }
  .dashboard-shell .main{
    width:100% !important;
    min-height:100dvh !important;
    height:auto !important;
    overflow:visible !important;
  }
  .dashboard-shell .sidebar{
    display:flex !important;
    position:fixed !important;
    inset:0 auto 0 0;
    width:min(320px,calc(100vw - 32px)) !important;
    height:100dvh !important;
    z-index:260 !important;
    transform:translateX(-105%);
    visibility:hidden;
    transition:transform .22s ease;
    box-shadow:none !important;
  }
  .dashboard-shell .sidebar-nav{padding-bottom:8px}
  .dashboard-shell .nav-item,.dashboard-shell .sidebar-phone{min-height:44px}
  .dashboard-shell.dashboard-nav-open{overflow:hidden !important;}
  .dashboard-shell.dashboard-nav-open .sidebar{
    transform:translateX(0);
    visibility:visible;
    box-shadow:20px 0 60px rgba(0,0,0,.48) !important;
  }
  .dashboard-menu-btn{
    display:inline-flex !important;
    width:42px;height:42px;align-items:center;justify-content:center;
    border:1px solid var(--hairline-strong);border-radius:8px;
    background:rgba(255,255,255,.04);color:var(--ivory);
    font:500 9px var(--mono);letter-spacing:.08em;
  }
  .dashboard-nav-close{
    display:inline-flex !important;position:absolute;right:12px;top:12px;
    width:42px;height:42px;align-items:center;justify-content:center;
    border:1px solid var(--hairline-strong);border-radius:8px;
    background:rgba(255,255,255,.04);color:var(--ivory);font-size:20px;
  }
  .dashboard-nav-backdrop{
    display:block;position:fixed;inset:0;z-index:250;
    background:rgba(0,0,0,.66);backdrop-filter:blur(4px);
    opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s;
  }
  .dashboard-shell.dashboard-nav-open .dashboard-nav-backdrop{opacity:1;visibility:visible;}
  .dashboard-shell .topbar{height:auto !important;min-height:62px;padding:10px 14px !important;}
  .dashboard-shell .content{padding:18px 14px 36px !important;}
  .dashboard-shell .topbar-status{display:none;}
  .dashboard-shell .topbar-right .tb-btn{display:none;}
  .call-log-heading,.call-log-heading > div:last-child,.call-log-search{flex-wrap:wrap;}
  .call-log-heading{gap:12px;}
  .call-log-search #ci-search-input{width:100%;max-width:none !important;flex-basis:100%;}
  .dashboard-shell .topbar-right .tb-btn-primary{padding:10px 12px !important;}

  .topbar{min-width:0;gap:10px !important;}
  .top-actions,.topbar-right,.cta-row,.row{flex-wrap:wrap;}
  .pub-hero,.props,.apply{padding-left:18px !important;padding-right:18px !important;}
  .pub-hero-stats{gap:16px !important;flex-wrap:wrap;}
  .receipt{max-width:100% !important;}
  .wrap{width:100% !important;max-width:100% !important;margin-left:auto !important;margin-right:auto !important;}
  .section,.card,.gate,.modal{max-width:100% !important;}
  .grid,.two-col,.source-admin-grid,.nested{grid-template-columns:1fr !important;}
  table{min-width:620px;}
  .form-row{align-items:stretch !important;}
  .form-row > *{min-width:min(210px,100%);flex:1;}
  .form-row input,.form-row select,.form-row textarea{width:100% !important;max-width:none !important;}
  .section-head > div:last-child{max-width:100%;}
}

@media(max-width:600px){
  button,.btn,.btn-ghost,.btn-submit,.btn-save,.tb-btn,.tb-btn-primary,
  .tab,.nav-tab,.range-tabs button{min-height:42px;}
  input,select,textarea,.form-input{font-size:16px !important;}
  .topbar{padding:10px 14px !important;}
  .topbar .btn,.topbar .btn-ghost{padding:8px 10px !important;font-size:11px !important;}
  .wrap{padding-left:14px !important;padding-right:14px !important;}
  .section-head,.card-header{padding-left:16px !important;padding-right:16px !important;}
  .card,.section{border-radius:10px !important;}
  .gate{margin:36px 14px !important;padding:26px 20px !important;}
  .tabs,.range-tabs{max-width:100%;overflow-x:auto;padding-bottom:5px;}
  .tabs button,.range-tabs button{white-space:nowrap;}
  .modal-bg{padding:10px !important;}
  .modal{
    width:100% !important;max-height:calc(100dvh - 20px) !important;
    overflow-y:auto !important;border-radius:14px !important;
  }
  .notif-panel{top:0 !important;width:min(360px,100vw) !important;z-index:280 !important;}
  .drawer,.drawer.wide{width:100vw !important;max-width:100vw !important;}
  .hero .cta-row,.pub-hero-ctas,.cta-row{align-items:stretch;}
  .hero .cta-row > *,.pub-hero-ctas > *{flex:1;text-align:center;}
}

/* Sage is the single account-aware natural-language workspace. */
.dashboard-shell :is(.sage-context-bar,.sage-memory,.coach-follow-up){
  background:rgba(255,255,255,.022) !important;
  border-color:var(--hairline) !important;
}
.dashboard-shell .sage-context-chip{
  background:rgba(208,173,98,.055) !important;
  border-color:rgba(208,173,98,.18) !important;
}
.dashboard-shell :is(.sage-context-button,.coach-citation){
  background:rgba(255,255,255,.025) !important;
  border-color:var(--hairline-strong) !important;
  color:var(--ivory-dim) !important;
}
.dashboard-shell :is(.sage-context-button,.coach-citation):hover{
  background:rgba(208,173,98,.08) !important;
  border-color:var(--gold) !important;
  color:var(--gold-hi) !important;
}
.dashboard-shell .coach-message.coach{background:var(--surface-2) !important}
.dashboard-shell .coach-message.user{background:rgba(208,173,98,.14) !important}
.dashboard-shell .coach-citation{color:var(--gold-hi) !important}
@media(prefers-reduced-motion:reduce){
  .dashboard-shell :is(.coach-conversation,.coach-message,.sage-context-editor,.coach-citation){animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

@media(prefers-reduced-motion:reduce){
  .dashboard-shell .sidebar,.dashboard-nav-backdrop{transition:none !important;}
}

/* Ask Callbase is an account command sheet, deliberately not a chat UI. */
.ask-callbase-trigger{
  display:inline-flex;align-items:center;gap:9px;min-height:34px;padding:7px 10px;
  border:1px solid var(--hairline-strong,var(--border2));border-radius:8px;
  background:rgba(255,255,255,.035);color:var(--ivory,var(--ink));
  font:500 11px var(--sans,'Geist',sans-serif);cursor:pointer;
}
.ask-callbase-trigger:hover,.ask-callbase-trigger:focus-visible{border-color:var(--gold);color:var(--gold-soft);}
.ask-callbase-trigger kbd{border:1px solid var(--border2);border-radius:4px;padding:1px 5px;color:var(--ink3);font:10px var(--mono,'Geist Mono',monospace);}
.ask-callbase-backdrop{
  position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:18px;
  background:rgba(0,0,0,.72);backdrop-filter:blur(5px);
  opacity:0;transition:opacity .18s ease;
}
.ask-callbase-backdrop[hidden]{display:none!important;}
.ask-callbase-backdrop.open{opacity:1;}
.ask-callbase-dialog{
  width:min(620px,100%);max-height:min(720px,calc(100dvh - 36px));overflow-y:auto;
  padding:24px;border:1px solid var(--border2);border-radius:16px;
  background:var(--panel,#0e0d12);box-shadow:var(--shadow-lg);
  transform:translateY(8px);transition:transform .18s ease;
}
.ask-callbase-backdrop.open .ask-callbase-dialog{transform:none;}
.ask-callbase-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.ask-callbase-head h2{margin:2px 0 0;color:var(--ink);font:500 28px/1.1 'Instrument Serif',serif;}
.ask-callbase-close{
  width:40px;height:40px;border:1px solid var(--border2);border-radius:8px;
  background:transparent;color:var(--ink2);font-size:22px;cursor:pointer;
}
.ask-callbase-description{max-width:56ch;margin:12px 0 20px;color:var(--ink2);font-size:13px;line-height:1.6;}
.ask-callbase-form label{display:block;margin-bottom:7px;color:var(--ink);font-size:12px;font-weight:600;}
.ask-callbase-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;}
.ask-callbase-compose textarea{
  width:100%;min-height:86px;resize:vertical;padding:12px 13px;border:1px solid var(--border2);
  border-radius:9px;background:var(--cream2);color:var(--ink);font:14px/1.5 var(--sans,'Geist',sans-serif);
}
.ask-callbase-compose textarea:focus{outline:2px solid var(--gold);outline-offset:1px;}
.ask-callbase-output{min-height:74px;margin-top:18px;border-top:1px solid var(--border);padding-top:16px;}
.ask-callbase-empty{color:var(--ink3);font-size:12px;line-height:1.6;}
.ask-callbase-loading{display:flex;align-items:center;gap:10px;color:var(--ink2);font-size:12px;}
.ask-callbase-loading span{width:14px;height:14px;border:2px solid var(--border2);border-top-color:var(--gold);border-radius:50%;animation:ask-spin .7s linear infinite;}
@keyframes ask-spin{to{transform:rotate(360deg)}}
.ask-callbase-result{display:grid;gap:12px;}
.ask-callbase-result-section,.ask-callbase-clarification{padding:13px 14px;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.025);}
.ask-callbase-result h3{margin:0 0 7px;color:var(--gold);font:500 10px var(--mono,'Geist Mono',monospace);letter-spacing:.08em;text-transform:uppercase;}
.ask-callbase-result ul{display:grid;gap:5px;margin:0;padding-left:18px;color:var(--ink2);font-size:12px;}
.ask-callbase-result li strong{margin-right:5px;color:var(--ink);font-weight:500;text-transform:capitalize;}
.ask-callbase-options{display:flex;flex-wrap:wrap;gap:8px;}
.ask-callbase-option{min-height:38px;padding:8px 12px;border:1px solid var(--border2);border-radius:8px;background:var(--panel);color:var(--ink);font:500 12px var(--sans);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease;}
.ask-callbase-option:hover{border-color:var(--gold);background:var(--gold-bg);color:var(--gold);}
.ask-callbase-option:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.ask-callbase-result .is-warning{border-color:rgba(232,183,101,.28);}
.ask-callbase-result .is-clarification{border-color:rgba(63,214,147,.24);background:rgba(63,214,147,.035);}
.ask-callbase-result .is-error,.ask-callbase-error{border-color:rgba(255,107,94,.3);}
.ask-callbase-clarification p{margin:0;color:var(--ink);font-size:13px;}
.ask-callbase-review{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:3px;}
.ask-callbase-review p{max-width:43ch;margin:0;color:var(--ink3);font-size:11px;line-height:1.5;}
.ask-callbase-error{display:grid;gap:3px;padding:13px 14px;border:1px solid;border-radius:9px;background:var(--red-bg);font-size:12px;}
.ask-callbase-error strong{color:var(--red)}.ask-callbase-error span{color:var(--ink2);}
.ask-callbase-receipt{margin-top:12px;color:var(--ink3);font:10px var(--mono,'Geist Mono',monospace);}
.ask-callbase-receipt code{color:var(--ink2);}
body.ask-callbase-open{overflow:hidden;}
@media(max-width:600px){
  .ask-callbase-trigger{min-height:42px}.ask-callbase-trigger kbd{display:none;}
  .ask-callbase-backdrop{place-items:end stretch;padding:0;}
  .ask-callbase-dialog{
    width:100%;max-height:88dvh;padding:20px 16px max(20px,env(safe-area-inset-bottom));
    border-radius:16px 16px 0 0;transform:translateY(24px);
  }
  .ask-callbase-compose{grid-template-columns:1fr}.ask-callbase-compose .mkt-cta{width:100%;}
  .ask-callbase-review{align-items:stretch;flex-direction:column}.ask-callbase-review .mkt-cta{width:100%;}
  .dashboard-shell .topbar-right .ask-callbase-trigger{display:inline-flex;}
}
@media(prefers-reduced-motion:reduce){
  .ask-callbase-backdrop,.ask-callbase-dialog{transition:none !important;}
  .ask-callbase-loading span{animation:none !important;border-top-color:var(--border2);}
}

/* ================================================================
   Buyer dashboard reading system
   A buyer-only composition layer: operational data stays compact,
   while introductions, forms, explanations, and detail views use a
   more generous measure and rhythm. Existing hooks and markup remain
   untouched.
   ================================================================ */
.dashboard-shell{
  --read-space-1:4px;
  --read-space-2:8px;
  --read-space-3:12px;
  --read-space-4:16px;
  --read-space-5:24px;
  --read-space-6:32px;
  --read-space-7:48px;
  --read-measure:72ch;
  --read-panel:760px;
  --read-wide:1280px;
  font-size:15px;
  line-height:1.55;
}
.dashboard-shell .content{
  padding:clamp(24px,3.4vw,48px) !important;
  scrollbar-gutter:stable;
}
.dashboard-shell .content-inner{
  width:100%;
  max-width:var(--read-wide);
}
.dashboard-shell .content-inner > [id^="page-"]{
  min-width:0;
}

/* Every tab starts with the same title/context cadence. */
.dashboard-shell :is(.mkt-head,
  #page-calls > div:first-child,
  #page-campaigns > div:first-child,
  #page-earn > div:first-child,
  #page-billing > div:first-child,
  #page-settings > div:first-child){
  margin-bottom:var(--read-space-6) !important;
}
.dashboard-shell :is(.mkt-title,
  #page-calls > div:first-child > div:first-child > div:first-child,
  #page-campaigns > div:first-child > div:first-child > div:first-child,
  #page-earn > div:first-child > div:first-child,
  #page-billing > div:first-child > div:first-child,
  #page-settings > div:first-child > div:first-child){
  font-family:var(--display) !important;
  font-size:clamp(30px,3vw,42px) !important;
  font-weight:400 !important;
  line-height:1.08 !important;
  letter-spacing:-.025em !important;
  color:var(--ivory) !important;
}
.dashboard-shell :is(.mkt-sub,
  #page-calls > div:first-child > div:first-child > div:nth-child(2),
  #page-campaigns > div:first-child > div:first-child > div:nth-child(2),
  #page-earn > div:first-child > div:nth-child(2),
  #page-billing > div:first-child > div:nth-child(2)){
  max-width:var(--read-measure);
  margin-top:var(--read-space-2) !important;
  color:var(--ivory-dim) !important;
  font-size:15px !important;
  line-height:1.65 !important;
}

/* Shared hierarchy and comfortable reading copy. */
.dashboard-shell .card-title{
  font-size:20px !important;
  line-height:1.25 !important;
}
.dashboard-shell .card-sub{
  max-width:var(--read-measure);
  margin-top:var(--read-space-1) !important;
  font-size:13px !important;
  line-height:1.55 !important;
  color:var(--ivory-dim) !important;
}
.dashboard-shell :is(.mkt-desc,.buyer-source-description,.qt-panel-sub,
  .hq-enroll-note,.ni-body,.buyer-sources-sub){
  font-size:13px !important;
  line-height:1.65 !important;
}
.dashboard-shell :is(.form-row label,.hq-section-label){
  margin-bottom:7px !important;
  font-size:12px !important;
  line-height:1.4 !important;
}
.dashboard-shell :is(.form-input,.cdd-trigger){
  min-height:44px;
  padding:10px 12px !important;
}
.dashboard-shell :is(button,.btn,.btn-save,.tb-btn,.tb-btn-primary,.camp-btn,
  .pill,.qt-tab,.wz-choice,.mkt-cta,.mkt-journey-btn){
  min-height:40px;
}
.dashboard-shell :is(button,a,input,select,textarea,[tabindex]):focus-visible{
  outline:2px solid var(--gold-hi) !important;
  outline-offset:3px !important;
}

/* Keep dense regions efficient and numeric data easy to scan. */
.dashboard-shell :is(.mc-val,.hq-num-val,.mkt-price,
  tbody td:nth-child(n+2),#premium-total){
  font-variant-numeric:tabular-nums;
}
.dashboard-shell .metrics-row{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:var(--read-space-4);
  margin-bottom:var(--read-space-7);
}
.dashboard-shell .metric-card{
  min-width:0;
  padding:22px !important;
}
.dashboard-shell .mc-label{margin-bottom:14px;font-size:10px;}
.dashboard-shell .mc-val{font-size:clamp(30px,3vw,42px);overflow-wrap:anywhere;}
.dashboard-shell :is(.chart-card,.feed-card,.breakdown-card){padding:26px !important;}
.dashboard-shell .card-header{gap:var(--read-space-4);margin-bottom:var(--read-space-5);}
.dashboard-shell :is(.main-grid,.bottom-grid){gap:var(--read-space-5);margin-bottom:var(--read-space-7);}
.dashboard-shell .main-grid{grid-template-columns:minmax(0,1fr) minmax(320px,380px);}
.dashboard-shell .quick-actions{gap:var(--read-space-4);margin-bottom:var(--read-space-7);}
.dashboard-shell .qa-card{min-height:72px;padding:16px 18px;}
.dashboard-shell .qa-icon{color:var(--gold-hi);}
.dashboard-shell .qa-card:active{transform:translateY(0);}
.dashboard-shell .modal{max-height:calc(100dvh - 32px);overflow:auto;}
.dashboard-shell .modal-footer{align-items:center;}
.dashboard-shell .coach-tour-nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;min-width:0;}
.dashboard-shell #coach-tour-modal{display:flex;flex-direction:column;}
.dashboard-shell #coach-tour-modal :is(#tour-btn-cancel,#tour-btn-back,#tour-btn-next,#tour-btn-finish){
  min-height:44px;border-radius:9px !important;padding:10px 16px !important;
}
.dashboard-shell .earn-slug-form{margin:0 0 14px;}
.dashboard-shell .earn-slug-form label{display:block;margin-bottom:7px;font-size:12px;font-weight:600;color:var(--ivory);}
.dashboard-shell .earn-slug-control{display:flex;align-items:stretch;gap:8px;min-width:0;}
.dashboard-shell .earn-slug-prefix{
  display:flex;align-items:center;flex:0 0 auto;padding:0 0 0 12px;
  border:1px solid var(--hairline-strong);border-right:0;border-radius:9px 0 0 9px;
  color:var(--ivory-dim);font:500 12px var(--mono);background:rgba(255,255,255,.035);
}
.dashboard-shell #earn-slug-input{
  min-width:0;flex:1;margin-left:-8px;border-left:0 !important;border-radius:0 9px 9px 0 !important;
  font-family:var(--mono) !important;font-size:16px;
}
.dashboard-shell .earn-slug-help,.dashboard-shell .earn-slug-status{font-size:11px;line-height:1.5;}
.dashboard-shell .earn-slug-help{margin-top:7px;color:var(--ivory-dim);}
.dashboard-shell .earn-slug-status{min-height:17px;margin-top:5px;color:var(--ivory-dim);}
.dashboard-shell .earn-slug-status.error{color:var(--red);}
.dashboard-shell .earn-slug-status.success{color:var(--green);}
.dashboard-shell .feed-item{padding:14px 0;}
.dashboard-shell table{line-height:1.4;}
.dashboard-shell thead th{padding:12px 16px;}
.dashboard-shell tbody td{padding:14px 16px;}
.dashboard-shell :is(.table-card,.data-scroll-region){
  max-width:100%;
  overflow-x:auto !important;
  overscroll-behavior-inline:contain;
  scrollbar-gutter:stable;
}

/* Live market: compact controls and dense, readable inventory. */
.dashboard-shell .mkt-filters{
  gap:var(--read-space-3);
  margin-bottom:10px;
  padding-bottom:5px;
  border-bottom:0;
}
.dashboard-shell .mkt-grid{gap:10px;}
.dashboard-shell .mkt-card{padding:16px !important;gap:10px !important;}
.dashboard-shell .mkt-card-name{font-size:21px;line-height:1.05;}

/* Quoters: bounded task column and a flexible results workspace. */
.dashboard-shell .qt-tabs{margin-bottom:var(--read-space-5);}
.dashboard-shell .qt-panel-sub{
  max-width:var(--read-measure);
  margin-bottom:var(--read-space-5);
  color:var(--ivory-dim) !important;
}
.dashboard-shell .hq-layout{
  grid-template-columns:minmax(320px,440px) minmax(0,1fr);
  gap:var(--read-space-5);
  align-items:start;
}
.dashboard-shell :is(.hq-form-card,.hq-results-card){
  padding:clamp(22px,2.4vw,30px) !important;
}
.dashboard-shell .wz-progress{margin-bottom:var(--read-space-5);}
.dashboard-shell .wz-step .form-row{margin-bottom:var(--read-space-4) !important;}
.dashboard-shell .wz-nav{margin-top:var(--read-space-5);}
.dashboard-shell .hq-plan{padding:16px 18px;gap:var(--read-space-4);}

/* Life placement workspace */
.dashboard-shell #li-layout.li-has-results{grid-template-columns:minmax(220px,280px) minmax(0,1fr);}
.dashboard-shell #li-layout.li-has-results #li-form-card{display:none;}
.dashboard-shell #li-layout.li-has-results #li-case-summary{grid-column:1;}
.dashboard-shell #li-layout.li-has-results #li-results-card{grid-column:2;min-width:0;}
.dashboard-shell .li-case-summary{position:sticky;top:24px;border:1px solid var(--border);border-radius:10px;padding:22px;background:rgba(255,255,255,.018);color:var(--ivory)}
.dashboard-shell .li-case-summary h3{font-family:Georgia,serif;font-size:24px;margin:8px 0 20px}.dashboard-shell .li-case-facts{border-top:1px solid var(--border);margin-bottom:18px}.dashboard-shell .li-case-facts>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}.dashboard-shell .li-case-facts strong{font-size:12px;text-align:right}
.dashboard-shell .li-workspace{min-width:0}.dashboard-shell .li-head{display:flex;justify-content:space-between;gap:18px;align-items:end;border-bottom:1px solid var(--border);padding-bottom:18px}
.dashboard-shell .li-head h2,.dashboard-shell .li-drawer h2{font-family:Georgia,serif;font-size:30px;line-height:1;margin:4px 0 7px;color:var(--ivory)!important}
.dashboard-shell .li-kicker,.dashboard-shell .li-label{font:700 10px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)!important}
.dashboard-shell .li-muted{color:var(--ivory-dim)!important;font-size:12px;line-height:1.55}
.dashboard-shell .li-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);margin:16px 0 24px}
.dashboard-shell .li-summary>div{background:var(--ink);padding:12px}.dashboard-shell .li-summary strong{display:block;color:var(--ivory);font-size:13px;margin-top:5px;overflow-wrap:anywhere}
.dashboard-shell .li-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 28px}
.dashboard-shell .li-path-card{border:1px solid var(--border);background:rgba(255,255,255,.018);padding:18px;text-align:left;color:var(--ivory);border-radius:10px;cursor:pointer;min-width:0}
.dashboard-shell .li-path-card.li-assisted{border-color:var(--gold);box-shadow:inset 0 0 0 1px rgba(201,169,85,.2)}
.dashboard-shell .li-path-card h3{font-family:Georgia,serif;font-size:22px;margin:8px 0 2px}.dashboard-shell .li-price{font:700 22px 'DM Mono',monospace;margin:14px 0 5px}
.dashboard-shell .li-delta{color:var(--gold)!important;font-size:11px;margin-top:12px}.dashboard-shell .li-section-title{font-family:Georgia,serif;color:var(--ivory);font-size:22px;margin:0}
.dashboard-shell .li-compare-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.dashboard-shell .li-sort{display:flex;gap:6px;flex-wrap:wrap}
.dashboard-shell .li-sort button{border:1px solid var(--border);background:transparent;color:var(--ivory-dim);padding:7px 10px;border-radius:7px;font-size:10px;cursor:pointer}.dashboard-shell .li-sort button[aria-pressed=true]{border-color:var(--gold);color:var(--gold)}
.dashboard-shell .li-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:9px}.dashboard-shell .li-table{width:100%;border-collapse:collapse;min-width:720px}
.dashboard-shell .li-table th{text-align:left;padding:10px 12px;color:var(--ivory-dim);font:700 9px 'DM Mono',monospace;letter-spacing:.06em;text-transform:uppercase}.dashboard-shell .li-table td{padding:12px;border-top:1px solid var(--border);font-size:12px;color:var(--ivory)}
.dashboard-shell .li-table tr.hq-plan{display:table-row;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.dashboard-shell .li-row-button{border:0;background:transparent;color:inherit;text-align:left;padding:0;cursor:pointer;font:inherit}.dashboard-shell .li-path-pill{border:1px solid var(--border);border-radius:999px;padding:4px 8px;font-size:10px;white-space:nowrap}.dashboard-shell .li-path-pill.assisted{border-color:var(--gold);color:var(--gold)}
.dashboard-shell :is(.li-path-card,.li-sort button,.li-row-button,.li-drawer-close):focus-visible{outline:3px solid rgba(201,169,85,.5);outline-offset:2px}
.dashboard-shell .li-drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:140}.dashboard-shell .li-drawer{position:fixed;z-index:141;right:0;top:0;width:min(440px,100%);height:100dvh;overflow:auto;background:#111214;border-left:1px solid var(--border);padding:32px 28px;color:var(--ivory);box-shadow:-20px 0 50px rgba(0,0,0,.35)}
.dashboard-shell .li-drawer-close{position:absolute;right:16px;top:14px;border:0;background:transparent;color:var(--ivory);font-size:28px;cursor:pointer}.dashboard-shell .li-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);margin:20px 0}.dashboard-shell .li-detail-grid>div{background:#111214;padding:12px}
.dashboard-shell .li-next{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.dashboard-shell .li-resources{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.dashboard-shell .li-resources a{color:var(--gold);font-size:11px}
.dashboard-shell .li-drawer-action{width:100%;margin-top:20px}.dashboard-shell .li-edit-btn{white-space:nowrap}
@media(prefers-reduced-motion:no-preference){.dashboard-shell .li-drawer{animation:li-in .18s ease-out}@keyframes li-in{from{transform:translateX(18px);opacity:.7}}}

/* Calls and transcripts: controls wrap; detail copy reads, table stays dense. */
.dashboard-shell #page-calls > div:first-child{gap:var(--read-space-4);}
.dashboard-shell #page-calls > div:first-child > div:last-child,
.dashboard-shell #page-calls > div:nth-child(3){
  display:flex;
  flex-wrap:wrap;
  gap:var(--read-space-2) !important;
}
.dashboard-shell #ci-search-input{flex:1;min-width:min(280px,100%);max-width:520px !important;}
.dashboard-shell .ci-detail-body{
  max-width:100%;
  padding:clamp(20px,3vw,32px) !important;
  font-size:14px !important;
  line-height:1.7 !important;
}
.dashboard-shell .ci-detail-body :is(p,li){max-width:var(--read-measure);}

/* Billing owns explicit dark surfaces. Its component CSS predates the token
   inversion above, so var(--ink) and hard-coded #fff otherwise become ivory
   backgrounds with ivory text. */
.dashboard-shell #page-billing .billing-unified{
  background:
    radial-gradient(circle at 92% 0,rgba(208,173,98,.15),transparent 31%),
    linear-gradient(145deg,#18191b,#0e1013) !important;
  color:var(--ivory) !important;
  border:1px solid rgba(208,173,98,.18) !important;
  box-shadow:0 22px 60px rgba(0,0,0,.24) !important;
}
.dashboard-shell #page-billing .billing-unified::after{
  border-color:rgba(208,173,98,.24);
  box-shadow:0 0 0 38px rgba(208,173,98,.035),0 0 0 76px rgba(208,173,98,.02);
}
.dashboard-shell #page-billing .billing-unified :is(h2,strong){color:var(--ivory) !important;}
.dashboard-shell #page-billing .billing-unified-kicker{color:var(--gold-hi) !important;}
.dashboard-shell #page-billing .billing-unified-copy,
.dashboard-shell #page-billing .billing-unified-item span{color:var(--ivory-dim) !important;}
.dashboard-shell #page-billing .billing-unified-item small,
.dashboard-shell #page-billing .billing-unified-status{color:var(--muted) !important;}
.dashboard-shell #page-billing :is(.billing-plan-summary,.billing-usage-card,.billing-offer,.billing-overages),
.dashboard-shell #page-billing > div[style*="grid-template-columns"] > div[style*="background:#fff"],
.dashboard-shell #page-billing > div[style^="background:#fff"]{
  background:linear-gradient(145deg,rgba(27,31,36,.92),rgba(15,17,20,.92)) !important;
  border-color:var(--hairline) !important;
  color:var(--ivory) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.16) !important;
}
.dashboard-shell #page-billing :is(.billing-plan-name,.billing-offer-name,.billing-offer-price,.billing-overages summary,.billing-overage-grid strong){
  color:var(--ivory) !important;
}
.dashboard-shell #page-billing :is(.billing-plan-meta,.billing-usage-head,.billing-offer-list,.billing-overage-grid){
  color:var(--ivory-dim) !important;
}
.dashboard-shell #page-billing :is(.billing-plan-kicker,.billing-usage-value,.billing-offer-price small){
  color:var(--muted) !important;
}
.dashboard-shell #page-billing :is(.billing-overage-estimate,.billing-canary){
  color:var(--gold-hi) !important;
  background:rgba(208,173,98,.10) !important;
  border-color:rgba(208,173,98,.28) !important;
}
.dashboard-shell #page-billing .billing-usage-track{background:rgba(255,255,255,.09) !important;}
.dashboard-shell #page-billing .billing-offer.is-current{
  border-color:rgba(63,214,147,.55) !important;
  box-shadow:0 0 0 1px rgba(63,214,147,.18),0 18px 50px rgba(0,0,0,.16) !important;
}
.dashboard-shell #page-billing #bp-csv-menu{
  background:var(--surface-2) !important;
  border-color:var(--hairline-strong) !important;
  color:var(--ivory) !important;
}
.dashboard-shell #page-billing :is(#bp-history,#bp-breakdown,#ai-charges,#bo-daily){
  color:var(--ivory-dim) !important;
}
.dashboard-shell #page-billing [style*="color:var(--ink3)"]{color:var(--muted) !important;}
.dashboard-shell #page-billing [style*="color:var(--ink2)"]{color:var(--ivory-dim) !important;}

/* Earn and Billing: related choices group, later detail sections separate. */
.dashboard-shell #earn-body > .metrics-row{margin-bottom:var(--read-space-5) !important;}
.dashboard-shell #earn-body > div[style*="grid-template-columns:1fr 1fr"]{
  gap:var(--read-space-5) !important;
  margin-bottom:var(--read-space-6) !important;
}
.dashboard-shell #earn-body > div[style*="background:#fff"],
.dashboard-shell #page-billing > div[style*="background:#fff"],
.dashboard-shell #page-settings > div:nth-child(2) > div{
  padding:clamp(22px,2.5vw,28px) !important;
}
.dashboard-shell #earn-body > div[style*="background:#fff"] p,
.dashboard-shell #earn-body > div[style*="background:#fff"] div[style*="font-size:12px"],
.dashboard-shell #page-billing div[style*="font-size:11px"],
.dashboard-shell #page-settings div[style*="font-size:12px"]{
  line-height:1.65 !important;
}
.dashboard-shell #page-billing > div[style*="grid-template-columns:repeat(4"]{
  gap:var(--read-space-4) !important;
  margin-bottom:var(--read-space-6) !important;
}
.dashboard-shell #page-billing > div[style*="grid-template-columns:1fr 1fr"]{
  gap:var(--read-space-5) !important;
  margin-bottom:var(--read-space-6);
}
.dashboard-shell #page-billing > div[style*="margin-top:16px"]{margin-top:var(--read-space-5) !important;}

/* Settings is a reading-oriented account column, not a compressed card stack. */
.dashboard-shell #page-settings > div:nth-child(2){
  max-width:var(--read-panel) !important;
  gap:var(--read-space-5) !important;
}
.dashboard-shell #page-settings > div:nth-child(2) > div{
  border-radius:14px !important;
}
.dashboard-shell #page-settings .form-row{margin-bottom:var(--read-space-4);}
.dashboard-shell #page-settings .ls-grid{margin-top:var(--read-space-3);}
.dashboard-shell #page-settings .toggle{min-width:44px;min-height:28px;justify-content:flex-end;}

@media(max-width:1100px){
  .dashboard-shell .metrics-row{grid-template-columns:repeat(3,minmax(0,1fr));}
  .dashboard-shell .main-grid{grid-template-columns:minmax(0,1fr) minmax(280px,34%);}
  .dashboard-shell .hq-layout{grid-template-columns:minmax(300px,40%) minmax(0,1fr);}
  .dashboard-shell #page-billing > div[style*="grid-template-columns:repeat(4"]{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:860px){
  .dashboard-shell .content{padding:28px 20px 48px !important;}
  .dashboard-shell .metrics-row{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .dashboard-shell :is(.main-grid,.bottom-grid,.hq-layout){
    grid-template-columns:1fr !important;
  }
  .dashboard-shell .hq-form-card{max-width:640px;}
  .dashboard-shell .li-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dashboard-shell #li-layout.li-has-results :is(#li-case-summary,#li-results-card){grid-column:1}
  .dashboard-shell .li-case-summary{position:static}
  .dashboard-shell #page-calls > div:first-child{
    align-items:flex-start !important;
    flex-direction:column;
  }
  .dashboard-shell #page-billing > div[style*="grid-template-columns:1fr 1fr"],
  .dashboard-shell #earn-body > div[style*="grid-template-columns:1fr 1fr"]{
    grid-template-columns:1fr !important;
  }
  .dashboard-shell .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}

@media(max-width:600px){
  .dashboard-shell{font-size:16px;}
  .dashboard-shell .content{padding:24px 14px max(40px,env(safe-area-inset-bottom)) !important;}
  .dashboard-shell .content-inner{max-width:100%;}
  .dashboard-shell :is(.mkt-head,
    #page-calls > div:first-child,
    #page-campaigns > div:first-child,
    #page-earn > div:first-child,
    #page-billing > div:first-child,
    #page-settings > div:first-child){margin-bottom:var(--read-space-5) !important;}
  .dashboard-shell .metrics-row,
  .dashboard-shell #page-billing > div[style*="grid-template-columns:repeat(4"],
  .dashboard-shell .quick-actions{grid-template-columns:1fr !important;}
  .dashboard-shell .metric-card{padding:20px !important;}
  .dashboard-shell .mc-val{font-size:34px;}
  .dashboard-shell :is(.chart-card,.feed-card,.breakdown-card,
    .hq-form-card,.hq-results-card,.mkt-card){padding:20px !important;}
  .dashboard-shell .card-header{margin-bottom:var(--read-space-4);}
  .dashboard-shell .mkt-grid{grid-template-columns:1fr;}
  .dashboard-shell .mkt-filter-sep{display:none;}
  .dashboard-shell .mkt-filter-group{width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;}
  .dashboard-shell .hq-plan{align-items:flex-start;flex-direction:column;}
  .dashboard-shell .li-head,.dashboard-shell .li-compare-head{align-items:flex-start;flex-direction:column}
  .dashboard-shell .li-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-shell .li-paths{grid-template-columns:1fr}
  .dashboard-shell .li-sort{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
  .dashboard-shell .li-drawer{padding:28px 20px}
  .dashboard-shell .li-table tr.hq-plan{display:table-row;flex-direction:initial}
  .dashboard-shell .hq-plan-nums{width:100%;justify-content:space-between;text-align:left;}
  .dashboard-shell .wz-nav{flex-wrap:wrap;}
  .dashboard-shell .wz-nav > *{flex:1 1 120px;}
  .dashboard-shell .modal-bg{padding:10px !important;align-items:flex-start;overflow-y:auto;}
  .dashboard-shell .modal{max-height:calc(100dvh - 20px);padding:22px 18px !important;}
  .dashboard-shell .modal-footer{width:100%;align-items:stretch !important;}
  .dashboard-shell .coach-tour-footer{flex-direction:column-reverse;}
  .dashboard-shell .coach-tour-footer > *,
  .dashboard-shell .coach-tour-nav{width:100%;}
  .dashboard-shell .coach-tour-nav > *{flex:1 1 120px;}
  .dashboard-shell #tour-btn-cancel{width:100%;}
  .dashboard-shell .earn-slug-control{flex-wrap:wrap;}
  .dashboard-shell .earn-slug-prefix{flex:0 0 auto;min-height:44px;}
  .dashboard-shell #earn-slug-input{flex:1 1 140px;}
  .dashboard-shell #earn-slug-save{width:100%;}
  .dashboard-shell #page-calls > div:first-child > div:last-child{width:100%;}
  .dashboard-shell #page-calls > div:first-child > div:last-child > *{flex:1;min-width:140px;}
  .dashboard-shell #ci-search-input{flex-basis:100%;min-width:100%;}
  .dashboard-shell #page-billing #bp-csv-wrap{width:100%;}
  .dashboard-shell #page-billing #bp-csv-wrap > div:first-child{display:grid !important;grid-template-columns:1fr 1fr;}
  .dashboard-shell #bp-csv-range-btn{grid-column:1/-1;}
  .dashboard-shell #page-settings > div:nth-child(2){max-width:100% !important;}
  .dashboard-shell #page-settings > div:nth-child(2) > div{padding:20px !important;}
  .dashboard-shell #page-settings div[style*="justify-content:space-between"]{gap:12px;flex-wrap:wrap;}
}

/* ── Device-qualified phone dashboard ───────────────────────────────
   The drawer breakpoint remains available to narrow desktop windows. These
   rules apply only after callbase-phone-policy.js has identified a phone, so
   resizing a desktop cannot turn it into a different product surface. */
.phone-bottom-nav{display:none;}
.phone-voice-notice{display:none;}
body.dashboard-shell.phone-experience .phone-voice-notice{display:block;}
body.dashboard-shell.phone-experience .phone-voice-notice p{margin:12px 0 20px;}
.phone-filter-disclosure>summary{display:none;}
body.dashboard-shell.phone-experience{
  display:flex !important;
  height:100dvh !important;
  min-height:0 !important;
  overflow:hidden !important;
}
body.dashboard-shell.phone-experience .main{
  display:flex !important;
  flex:1 1 auto !important;
  width:100% !important;
  height:100dvh !important;
  min-height:0 !important;
  overflow:hidden !important;
}
body.dashboard-shell.phone-experience .content{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  padding-bottom:max(96px,calc(76px + env(safe-area-inset-bottom))) !important;
}
body.dashboard-shell.phone-experience .sidebar-phone,
body.dashboard-shell.phone-experience .topbar .tb-btn-primary.callbase-only-control,
body.dashboard-shell.phone-experience .voice-dock,
body.dashboard-shell.phone-experience #page-voice .voice-page-head,
body.dashboard-shell.phone-experience #page-voice .voice-layout-grid,
body.dashboard-shell.phone-experience #page-voice .browser-call-history-card{
  display:none !important;
}
body.dashboard-shell.phone-experience .phone-bottom-nav{
  position:fixed;
  /* Keep the persistent navigation above ordinary content but below every
     existing sheet, drawer, and dialog (the lowest of those starts at 140). */
  z-index:70;
  right:0;
  bottom:0;
  left:0;
  display:grid;
  grid-template-columns:repeat(var(--phone-nav-items,5),minmax(0,1fr));
  min-height:64px;
  padding:6px 6px max(6px,env(safe-area-inset-bottom));
  border-top:1px solid var(--hairline-strong);
  background:rgba(12,13,16,.94);
  box-shadow:0 -12px 30px rgba(0,0,0,.22);
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
}
body.dashboard-shell.phone-experience .phone-bottom-nav[hidden]{display:none !important;}
body.dashboard-shell.phone-experience .phone-nav-item[hidden]{display:none !important;}
body.dashboard-shell.phone-experience .phone-nav-item{
  display:grid;
  place-items:center;
  gap:2px;
  min-width:0;
  min-height:50px;
  padding:4px 2px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--muted);
  font:600 9px/1.15 var(--body);
  cursor:pointer;
}
body.dashboard-shell.phone-experience .phone-nav-item>span:first-child{
  height:17px;
  font:500 18px/17px var(--mono);
}
body.dashboard-shell.phone-experience .phone-nav-item>span:last-child{
  overflow:hidden;
  max-width:100%;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.dashboard-shell.phone-experience .phone-nav-item.active,
body.dashboard-shell.phone-experience .phone-nav-item[aria-expanded="true"]{
  background:rgba(208,173,98,.12);
  color:var(--gold-hi);
}
body.dashboard-shell.phone-experience .phone-nav-item:focus-visible{
  outline:2px solid var(--gold-hi);
  outline-offset:-2px;
}
body.dashboard-shell.phone-experience .dashboard-menu-btn{display:none !important;}
body.dashboard-shell.phone-experience .dashboard-nav-close{
  display:inline-flex !important;
  position:absolute;
  top:12px;
  right:12px;
  width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  border:1px solid var(--hairline-strong);
  border-radius:8px;
  background:rgba(255,255,255,.04);
  color:var(--ivory);
  font-size:20px;
}
body.dashboard-shell.phone-experience .sidebar{
  display:flex !important;
  position:fixed !important;
  inset:0 auto 0 0;
  z-index:260 !important;
  width:min(320px,calc(100vw - 32px)) !important;
  height:100dvh !important;
  transform:translateX(-105%);
  visibility:hidden;
  transition:transform .22s ease,visibility 0s linear .22s;
  box-shadow:none !important;
}
body.dashboard-shell.phone-experience.dashboard-nav-open .sidebar{
  transform:translateX(0);
  visibility:visible;
  transition:transform .22s ease;
  box-shadow:20px 0 60px rgba(0,0,0,.48) !important;
}
body.dashboard-shell.phone-experience .dashboard-nav-backdrop{
  display:block;
  position:fixed;
  z-index:250;
  inset:0;
  visibility:hidden;
  opacity:0;
  background:rgba(0,0,0,.66);
  backdrop-filter:blur(4px);
  transition:opacity .2s ease,visibility 0s linear .2s;
}
body.dashboard-shell.phone-experience.dashboard-nav-open .dashboard-nav-backdrop{
  visibility:visible;
  opacity:1;
  transition:opacity .2s ease;
}
body.dashboard-shell.phone-experience .phone-filter-disclosure{
  margin:12px 0;
  border:1px solid var(--hairline-strong);
  border-radius:10px;
  background:rgba(255,255,255,.025);
}
body.dashboard-shell.phone-experience .phone-filter-disclosure>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:46px;
  padding:10px 13px;
  cursor:pointer;
  color:var(--ivory);
  font:600 11px var(--body);
  list-style:none;
}
body.dashboard-shell.phone-experience .phone-filter-disclosure>summary::-webkit-details-marker{display:none;}
body.dashboard-shell.phone-experience .phone-filter-disclosure>summary::after{
  content:'+';
  color:var(--gold);
  font:500 19px/1 var(--mono);
}
body.dashboard-shell.phone-experience .phone-filter-disclosure[open]>summary{
  border-bottom:1px solid var(--hairline);
}
body.dashboard-shell.phone-experience .phone-filter-disclosure[open]>summary::after{content:'−';}
body.dashboard-shell.phone-experience .phone-filter-disclosure .mkt-filters{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  padding:12px;
}
body.dashboard-shell.phone-experience .phone-filter-disclosure .mkt-filter-group{
  width:100%;
  padding-bottom:3px;
}
body.dashboard-shell.phone-experience .phone-filter-disclosure .mkt-sort{width:100%;}
body.dashboard-shell.phone-experience .phone-filter-disclosure .actions-library-controls{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  padding:12px;
  border:0;
  border-radius:0;
  background:transparent;
}
body.dashboard-shell.phone-experience #coach-view-coach .coach-conversation{
  height:clamp(240px,calc(var(--sage-viewport-height,100dvh) - 190px),720px);
  min-height:0;
  max-height:720px;
}
body.dashboard-shell.phone-experience .coach-conversation[data-presentation="overlay"]{
  position:fixed;
  z-index:275;
  right:8px;
  bottom:calc(max(72px,calc(64px + env(safe-area-inset-bottom))) + var(--sage-keyboard-inset,0px));
  left:8px;
  width:auto;
  height:clamp(240px,calc(var(--sage-viewport-height,100dvh) - 88px),680px);
  min-height:0;
  max-width:none;
}
body.dashboard-shell.phone-experience .coach-conversation-body{
  min-height:0;
  overflow:hidden;
}
body.dashboard-shell.phone-experience .coach-transcript{
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
}
body.dashboard-shell.phone-experience .coach-composer{
  padding-bottom:max(12px,env(safe-area-inset-bottom));
}
/* On a short keyboard viewport use its full height, rather than reserving
   navigation space and forcing a minimum-height conversation offscreen. */
body.dashboard-shell.phone-experience.sage-short-viewport #coach-conversation.open{
  position:fixed !important;
  z-index:275;
  top:var(--sage-viewport-top,0px) !important;
  bottom:auto !important;
  left:8px !important;
  right:8px !important;
  width:auto !important;
  height:var(--sage-viewport-height,100dvh) !important;
  min-height:0 !important;
  max-height:none !important;
  display:flex;
  flex-direction:column;
}
body.dashboard-shell.phone-experience.sage-short-viewport #coach-conversation .coach-conversation-head{
  flex:0 0 auto;
}
body.dashboard-shell.phone-experience.sage-short-viewport #coach-conversation .coach-conversation-body{
  flex:1;
  height:auto;
}
body.dashboard-shell.phone-experience.sage-short-viewport #coach-conversation :is(.sage-context-bar,.sage-memory,.coach-lite-card){
  display:none;
}
body.dashboard-shell.phone-experience.sage-short-viewport #coach-conversation .coach-transcript{
  min-height:0;
  padding:8px 12px;
}
@media(prefers-reduced-motion:reduce){
  body.dashboard-shell.phone-experience .sidebar,
  body.dashboard-shell.phone-experience .dashboard-nav-backdrop{transition:none !important;}
}
