/* ============================================================
   SAULNA SOFTWARE · the Closing Floor look for the dialer (Martin, 2026-10-13: "the closing
   floor look across the whole thing"). Loads AFTER styles.css, which stays the Motion Portal's
   stylesheet untouched: redeclaring its tokens here reskins every rule that reads them.
   The token block is the one ~/funnel-dashboard/static/assets/dashboard.css uses (commit
   f0831ec), so the dashboard and the dialer share one palette, Closing Floor's.
   ============================================================ */
:root{
  /* light (default) -- values copied from Closing Floor's :root */
  --ink-900:#f3f5f4; --ink-850:#ffffff; --ink-800:#ffffff; --ink-700:#e9edeb; --ink-600:#e9edeb;
  --ink-line:#d5dcd9; --ink-line-2:#c3ccc8;
  --bone-50:#15201d; --bone-100:#15201d; --bone-300:#5d6b66; --bone-500:#5d6b66;
  --gold-300:#0b5d52; --gold-500:#0b5d52; --gold-600:#094a42; --gold-700:#073732;
  --gold-fg:#ffffff;
  --gold-rule:#0b5d52; --gold-edge:#0b5d52; --gold-foil:#0b5d52;
  --focus-gold:0 0 0 2px rgba(11,93,82,.35);
  --emerald-500:#17703f; --emerald-300:#17703f;
  --garnet-500:#b3311f; --garnet-300:#b3311f;
  --amber-500:#8a5a00; --amber-300:#8a5a00;
  --slate-500:#5d6b66; --slate-300:#5d6b66;
  --radius-sm:8px; --radius-md:8px; --radius-lg:12px;
  --shadow-sm:0 0 0 transparent; --shadow-md:0 0 0 transparent; --shadow-lg:0 0 0 transparent;
  --edge-light:0 0 0 transparent;
  --font-serif:"Bricolage Grotesque","Avenir Next","Segoe UI",sans-serif;
  --font-sans:"Instrument Sans","Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme: dark){ :root{
  --ink-900:#0f1514; --ink-850:#18201e; --ink-800:#18201e; --ink-700:#131a18; --ink-600:#131a18;
  --ink-line:#2b3633; --ink-line-2:#3a4440;
  --bone-50:#e7eeeb; --bone-100:#e7eeeb; --bone-300:#93a39d; --bone-500:#93a39d;
  --gold-300:#5cc7b3; --gold-500:#5cc7b3; --gold-600:#4aa998; --gold-700:#3c8b7d;
  --gold-fg:#06211c;
  --gold-rule:#5cc7b3; --gold-edge:#5cc7b3; --gold-foil:#5cc7b3;
  --focus-gold:0 0 0 2px rgba(92,199,179,.45);
  --emerald-500:#6fd397; --emerald-300:#6fd397;
  --garnet-500:#ff8f7d; --garnet-300:#ff8f7d;
  --amber-500:#f0c160; --amber-300:#f0c160;
  --slate-500:#93a39d; --slate-300:#93a39d;
} }

/* styles.css hardcodes the old gold as raw rgba() in these rules (not a
   var()), so the token redeclare above can't reach them -- light values
   here, dark values repeated in the media query below. */
.funnel__fill{background:linear-gradient(90deg,rgba(11,93,82,.22) 0%,rgba(11,93,82,.08) 100%);}
.funnel__fill--end{background:linear-gradient(90deg,rgba(11,93,82,.45) 0%,rgba(11,93,82,.18) 100%);}
table.grid thead th{box-shadow:none;}
/* Closing Floor's tables have no zebra banding, just a hairline under each row. */
table.grid.zebra tbody tr:nth-child(even){background:transparent;}
/* Closing Floor's active segment is a solid accent fill, not an underline. */
.segmented button.active{background:var(--gold-500);color:var(--gold-fg);}
.segmented button.active::after{display:none;}
/* Closing Floor's primary button is a solid accent fill (its ".primary"); this
   app's equivalent CTA is .btn--gold, previously an accent-outline button. */
.btn--gold{background:var(--gold-500);border-color:var(--gold-500);color:var(--gold-fg);font-weight:600;}
.btn--gold:hover{background:var(--gold-600);border-color:var(--gold-600);}
/* Closing Floor's cards are flat borders, no top-edge accent hairline. */
.kpi--hero::before,.panel--featured::before,.auth__card::before,.exec-lock__card::before{display:none;}
/* The dropdown chevron is baked into styles.css as a literal SVG data-URI
   with a fixed stroke colour, so it cannot follow the --bone-500 redeclare
   above like everything else does. */
select.field{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235d6b66' stroke-width='1.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");}

@media (prefers-color-scheme: dark){
  .funnel__fill{background:linear-gradient(90deg,rgba(92,199,179,.26) 0%,rgba(92,199,179,.10) 100%);}
  .funnel__fill--end{background:linear-gradient(90deg,rgba(92,199,179,.50) 0%,rgba(92,199,179,.20) 100%);}
  select.field{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2393a39d' stroke-width='1.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");}
}

/* Headings and the brand mark use the display face (Bricolage Grotesque, via
   --font-serif above); everything else uses the body face (Instrument Sans,
   via --font-sans). Edited in place further down rather than overridden
   here, since a same-specificity rule declared later in this file would win
   over one declared earlier in it. */
.view-title{font:700 28px/1.15 var(--font-serif);color:var(--bone-50);}
.panel__head h3{font:700 16px/1.3 var(--font-serif);}

/* The boot splash's moving highlight bar doesn't exist in Closing Floor's
   flat style; the monogram box stays, display face. */
.boot__mark{font-family:var(--font-serif);font-weight:700;}
.boot__mark::after{animation:none;opacity:0;}
