/* Geist, the face of broadcastwell.com, self hosted (SIL OFL 1.1). Optional display, as in the shared shell. */ @font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:optional;src:url(/assets/fonts/geist-var.woff2) format('woff2')}
/* Inter, self hosted. The portal named Inter in its font stack but never requested it,
   so every surface fell back to whatever sans the reader's system supplied. These are the
   Google Fonts latin and latin-ext subsets of the Inter variable face, SIL Open Font
   License 1.1, served from this origin so no signed in page makes a third party request. */
@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/inter-latin-ext-var.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/inter-latin-var.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: #f8fafc; color: #111827; font-family: Geist,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif; font-size: 1rem; font-variant-numeric: tabular-nums; line-height: 1.5; margin: 0; }
a { color: #1D4ED8; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline: 3px solid #3B82F6; outline-offset: 4px; }
.skip-link { background: #ffffff; color: #1D4ED8; left: 16px; padding: 12px 16px; position: absolute; top: -64px; z-index: 4; }
.skip-link:focus { top: 16px; }

.site-header { align-items: center; background: #ffffff; border-bottom: 1px solid #cbd5e1; column-gap: 24px; display: grid; grid-template-columns: 1fr auto 1fr; min-height: 56px; padding: 12px max(24px, calc((100% - 1152px) / 2)); position: sticky; top: 0; z-index: 3; }
.wordmark { color: #111827; font-size: 1rem; font-weight: 750; justify-self: start; letter-spacing: -0.02em; text-decoration: none; }
.header-client { align-items: center; display: flex; gap: 8px; justify-self: center; min-width: 0; }
.sample-header { grid-column: 2; }
.header-client strong { color: #111827; font-size: 0.875rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sample-marker { background: #dbeafe; border: 1px solid #3B82F6; border-radius: 999px; color: #1e3a8a; display: inline-block; font-size: 0.875rem; font-weight: 800; letter-spacing: 0.01em; padding: 4px 8px; white-space: nowrap; }
.header-actions { align-items: center; display: flex; gap: 12px; justify-self: end; }
.run-select-label { align-items: center; color: #475569; display: flex; font-size: 0.875rem; font-weight: 700; gap: 8px; white-space: nowrap; }
.run-select-label select { background: #ffffff; border: 1px solid #94a3b8; border-radius: 4px; color: #111827; font: inherit; min-height: 32px; padding: 4px 8px; }
.link-button, .back-button { background: none; border: 0; color: #1D4ED8; cursor: pointer; font: inherit; padding: 0; text-decoration: underline; }
.section-nav { background: #ffffff; border-bottom: 1px solid #e2e8f0; display: flex; gap: 20px; overflow-x: auto; padding: 12px max(24px, calc((100% - 1152px) / 2)); position: sticky; top: 56px; z-index: 2; }
.section-nav a { color: #334155; font-size: 0.875rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.section-nav a:hover { color: #1D4ED8; }

main { margin: 0 auto; max-width: 1200px; padding: 32px 24px 64px; }
h1, h2, h3, p { margin-top: 0; }
.sample-notice { color: #475569; margin-bottom: 24px; max-width: 70ch; }
h1 { font-size: clamp(2rem, 3vw, 2.5rem); letter-spacing: -0.04em; line-height: 1.08; margin-bottom: 24px; }
h2 { font-size: 1.5rem; letter-spacing: -0.025em; line-height: 1.2; margin-bottom: 8px; }
h3 { font-size: 1rem; line-height: 1.3; margin-bottom: 8px; }
.eyebrow, .rate-label, .question-label { color: #475569; font-size: 0.875rem; font-weight: 750; letter-spacing: 0.01em; margin-bottom: 8px; }
.surface-card { background: #ffffff; border: 1px solid #cbd5e1; border-radius: 8px; padding: 24px; }
.sign-in-panel, .status-panel { max-width: 560px; }
.sign-in-alt { color: #475569; margin-bottom: 0; margin-top: 20px; }
form { display: grid; gap: 8px; }
label { font-weight: 700; margin-top: 8px; }
input { border: 1px solid #64748b; border-radius: 4px; font: inherit; min-height: 44px; padding: 8px 12px; }
.button { background: #1D4ED8; border: 1px solid #1D4ED8; border-radius: 4px; color: #ffffff; display: inline-block; font-weight: 750; margin-top: 12px; padding: 12px 16px; text-align: center; text-decoration: none; width: fit-content; }
.run-list { display: grid; gap: 12px; list-style: none; margin: 0; padding: 0; }
.run-list a { background: #ffffff; border: 1px solid #cbd5e1; border-radius: 8px; display: grid; gap: 4px; padding: 16px; text-decoration: none; transition: border-color 150ms ease, background 150ms ease; }
.run-list a:hover { background: #eff6ff; border-color: #3B82F6; }
.run-list span { color: #475569; }

.loading-shell { display: grid; gap: 16px; }
.skeleton { background: #e2e8f0; border-radius: 4px; }
.skeleton-title { height: 40px; max-width: 440px; }
.skeleton-row { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; }
.skeleton-panel { height: 180px; }
.skeleton-matrix { height: 440px; }

.overview-topline { align-items: start; display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
/* The portal home: one headline, two outline actions (the header's pill is the one filled
   button), then what the account holds in three plain columns under a thin rule. */
main.landing { padding-top: 72px; padding-bottom: 88px; }
main.landing > h1 { margin-bottom: 20px; max-width: 46rem; }
.landing-lede { color: #334155; font-size: 1.125rem; line-height: 1.6; margin-bottom: 8px; max-width: 38rem; }
.landing-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.landing-actions .button { border-radius: 10px; margin-top: 16px; min-height: 48px; padding: 13px 20px; }
.landing-alt { color: #475569; font-size: 0.875rem; margin-top: 24px; }
.landing-holds { border-top: 1px solid #E2E8F0; margin-top: 72px; padding-top: 48px; }
.landing-holds h2 { font-size: 1.125rem; margin-bottom: 24px; }
.landing-holds ul { display: grid; gap: 24px 40px; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.landing-holds li { border-top: 2px solid #3B82F6; color: #334155; line-height: 1.6; padding-top: 16px; }
.landing-holds li strong { color: #0B1220; display: block; font-weight: 650; margin-bottom: 6px; }
.landing-next { color: #475569; line-height: 1.6; margin-top: 40px; max-width: 64ch; }
/* One proof row: the public sample's headline figure, so the home reads as the product. */
.landing-proof { margin-top: 56px; }
.landing-proof h2 { color: #475569; font-size: 0.875rem; font-weight: 700; margin-bottom: 16px; }
.landing-proof dl { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; max-width: 46rem; }
.landing-proof dl > div { background: #F5F8FF; border: 1px solid #DCE6FA; border-radius: 12px; padding: 20px 24px; }
.landing-proof dt { color: #334155; font-size: 0.875rem; margin-bottom: 8px; }
.landing-proof dd { color: #334155; margin: 0; }
.landing-proof dd strong { color: #1D4ED8; font-size: clamp(2rem, 3vw, 2.5rem); font-variant-numeric: tabular-nums; font-weight: 700; line-height: 1.1; margin-right: 6px; }
.landing-proof p { color: #475569; font-size: 0.875rem; margin-top: 16px; max-width: 64ch; }
@media (max-width: 760px) {
  main.landing { padding-top: 40px; padding-bottom: 56px; }
  .landing-proof { margin-top: 40px; }
  .landing-proof dl { grid-template-columns: 1fr; }
  .landing-holds { margin-top: 48px; padding-top: 32px; }
  .landing-holds ul { grid-template-columns: 1fr; }
  .landing-actions .button { width: 100%; }
}

.finding-panel { background: #eff6ff; border-color: #93c5fd; display: flex; flex-direction: column; justify-content: space-between; }
.finding-panel h2 { color: #1e3a8a; font-size: clamp(1.5rem, 2.2vw, 1.75rem); max-width: 34ch; }
.finding-detail { color: #475569; margin-bottom: 0; max-width: 70ch; }
.absence-callout { border-color: #cbd5e1; }
.absence-callout h2 { max-width: 30ch; }
.absence-callout ul { display: grid; gap: 8px; list-style: none; margin: 16px 0 0; padding: 0; }
.absence-callout button { background: #ffffff; border: 1px solid #cbd5e1; border-radius: 4px; color: #111827; cursor: pointer; display: grid; gap: 4px; padding: 12px; text-align: left; transition: border-color 150ms ease, background 150ms ease, box-shadow 150ms ease; width: 100%; }
.absence-callout button:hover { background: #eff6ff; border-color: #3B82F6; box-shadow: inset 4px 0 #3B82F6; }
.absence-question { color: #475569; font-size: 0.875rem; font-weight: 750; letter-spacing: 0.01em; }
.absence-callout button strong { font-size: 0.875rem; font-weight: 700; line-height: 1.35; }
.absence-cue { align-items: center; color: #1D4ED8; display: flex; font-size: 0.875rem; font-weight: 750; }

.matrix-section, .evidence-section, .coverage-section, .method-section, .monthly-section, .readiness-section, .referral-section, .export-section, .connector-section { margin-top: 32px; scroll-margin-top: 120px; }
.section-heading { align-items: end; display: flex; gap: 24px; justify-content: space-between; margin-bottom: 20px; }
.section-heading p { color: #475569; font-size: 0.875rem; margin-bottom: 0; max-width: 70ch; }
.matrix-table { border: 1px solid #cbd5e1; border-radius: 8px; overflow: hidden; }
.matrix-row { display: grid; grid-template-columns: minmax(280px, 2.1fr) repeat(6, minmax(88px, 1fr)); }
.matrix-table.matrix-columns-1 .matrix-row { grid-template-columns: minmax(280px, 1fr); }
.matrix-table.matrix-columns-2 .matrix-row { grid-template-columns: minmax(280px, 1.7fr) minmax(160px, 1fr); }
.matrix-table.matrix-columns-3 .matrix-row { grid-template-columns: minmax(280px, 1.9fr) repeat(2, minmax(130px, 1fr)); }
.matrix-table.matrix-columns-4 .matrix-row { grid-template-columns: minmax(280px, 2fr) repeat(3, minmax(112px, 1fr)); }
.matrix-table.matrix-columns-5 .matrix-row { grid-template-columns: minmax(280px, 2.1fr) repeat(4, minmax(100px, 1fr)); }
.matrix-table.matrix-columns-6 .matrix-row { grid-template-columns: minmax(280px, 2.1fr) repeat(5, minmax(92px, 1fr)); }
.matrix-row > * { border-bottom: 1px solid #e2e8f0; border-right: 1px solid #e2e8f0; min-width: 0; }
.matrix-row > *:last-child { border-right: 0; }
.matrix-row:last-child > * { border-bottom: 0; }
.matrix-header { background: #f1f5f9; color: #475569; font-size: 0.875rem; font-weight: 800; letter-spacing: 0.02em; text-transform: none; }
.matrix-header span { align-items: center; display: flex; justify-content: center; line-height: 1.25; min-height: 64px; overflow-wrap: anywhere; padding: 8px; text-align: center; }
.matrix-header span:first-child { justify-content: flex-start; text-align: left; }
.matrix-header .client-column { background: #eaf2ff; box-shadow: inset 0 4px #1D4ED8; color: #1e3a8a; }
.matrix-question { background: #ffffff; border-left: 0; border-top: 0; color: #111827; cursor: pointer; display: grid; gap: 4px; padding: 12px; text-align: left; transition: background 150ms ease; }
.matrix-question:hover { background: #eff6ff; }
.matrix-question span, .matrix-question em { color: #475569; font-size: 0.875rem; font-style: normal; }
.matrix-question strong { display: -webkit-box; font-size: 0.875rem; line-height: 1.3; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.matrix-cell { align-items: center; background-color: #ffffff; border: 0; color: #111827; cursor: pointer; display: grid; gap: 4px; justify-items: center; min-height: 72px; padding: 8px; transition: filter 150ms ease; }
.matrix-cell:hover { filter: brightness(0.96); }
.matrix-cell strong { font-size: 1.125rem; }
.matrix-cell span { color: #475569; font-size: 0.875rem; }
.client-cell { box-shadow: inset 4px 0 #1D4ED8; }
.zero-cell { background: #ffffff; box-shadow: inset 0 0 0 2px #94a3b8; }
.zero-cell.client-cell { box-shadow: inset 4px 0 #1D4ED8, inset 0 0 0 2px #1D4ED8; }

.exclusion-line { background: #f1f5f9; border-left: 4px solid #64748b; color: #334155; margin-bottom: 16px; padding: 8px 12px; }
.plot-grid, .engine-plot-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.engine-plot-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 16px; }
.interval-plot { background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 4px; min-width: 0; padding: 16px; }
.plot-value { color: #111827; font-size: 1.5rem; font-weight: 800; margin-bottom: 4px; }
.interval-plot svg { display: block; height: auto; max-width: 100%; width: 100%; }
.plot-axis, .plot-tick { stroke: #64748b; stroke-width: 1; }
.plot-band { stroke: #3B82F6; stroke-width: 8; stroke-linecap: round; }
.plot-dot { fill: #1D4ED8; }
.interval-plot text { fill: #475569; font-size: 0.875rem; }
.plot-detail { color: #334155; font-size: 0.875rem; margin: 0; }

.coverage-legend { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.coverage-legend span { align-items: center; color: #334155; display: inline-flex; font-size: 0.875rem; gap: 8px; }
.legend-symbol, .coverage-cell b { align-items: center; border: 1px solid #64748b; display: inline-flex; height: 20px; justify-content: center; width: 20px; }
.named-symbol, .coverage-cell.named { background: #bfdbfe; border-color: #1D4ED8; color: #1e3a8a; }
.not-named-symbol, .coverage-cell.not-named { background: #f1f5f9; color: #334155; }
.excluded-symbol, .coverage-cell.excluded { background: #e2e8f0; border-color: #64748b; color: #111827; }
.coverage-bases { display: grid; gap: 8px; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0 0 16px; padding: 0; }
.coverage-bases li { background: #f8fbff; border: 1px solid #dbeafe; border-left: 4px solid #3B82F6; border-radius: 4px; color: #475569; display: grid; font-size: 0.875rem; gap: 4px; line-height: 1.35; padding: 12px; }
.coverage-bases strong { color: #111827; font-size: 0.875rem; }
.coverage-grid { border: 1px solid #cbd5e1; display: grid; }
.coverage-row { display: grid; grid-template-columns: 112px repeat(5, minmax(0, 1fr)); }
.coverage-row > * { border-bottom: 1px solid #e2e8f0; border-right: 1px solid #e2e8f0; min-height: 36px; }
.coverage-row > *:last-child { border-right: 0; }
.coverage-row:last-child > * { border-bottom: 0; }
.coverage-header { background: #f1f5f9; color: #475569; font-size: 0.875rem; font-weight: 800; letter-spacing: 0.01em; }
.coverage-header span, .coverage-question { align-items: center; display: flex; overflow-wrap: anywhere; padding: 8px; }
.coverage-question { color: #334155; font-size: 0.875rem; font-weight: 800; }
.coverage-cell { align-items: center; display: flex; justify-content: center; }
.coverage-cell b { font-size: 0.875rem; font-weight: 800; }

.method-section { color: #334155; margin-bottom: 24px; }
.method-section p { max-width: 70ch; }
.method-section p:last-child { margin-bottom: 0; }
.question-detail { scroll-margin-top: 120px; }
.back-button { font-weight: 750; margin-bottom: 24px; }
.question-base { color: #475569; }
.share-section, .checked-section, .engine-strip-section, .raw-details { border-top: 1px solid #cbd5e1; margin-top: 24px; padding-top: 16px; }
.share-section ul, .checked-section ul, .engine-strip { display: grid; gap: 12px; list-style: none; margin: 0; padding: 0; }
.share-bar { background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 4px; padding: 12px; }
.share-bar > div { align-items: baseline; display: flex; gap: 8px; justify-content: space-between; margin-bottom: 8px; }
.share-bar span { color: #475569; font-size: 0.875rem; }
.bar-track { background: #e2e8f0; display: block; height: 12px; overflow: hidden; }
.bar-fill { background: #3B82F6; display: block; height: 100%; min-width: 0; }
.client-bar { border-color: #1D4ED8; }
.client-bar .bar-fill { background: #1D4ED8; }
.checked-section li { background: #f1f5f9; border-left: 4px solid #64748b; padding: 8px 12px; }
.engine-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.engine-status { align-items: start; border: 1px solid #cbd5e1; display: flex; gap: 8px; min-height: 88px; padding: 12px; }
.engine-status > b { align-items: center; border: 1px solid #64748b; display: inline-flex; flex: 0 0 20px; height: 20px; justify-content: center; }
.engine-status.named > b { background: #bfdbfe; border-color: #1D4ED8; color: #1e3a8a; }
.engine-status.excluded > b { background: #e2e8f0; }
.engine-status span { color: #475569; display: grid; font-size: 0.875rem; gap: 4px; }
.engine-status strong { color: #111827; font-size: 0.875rem; }
.raw-details { background: #f8fafc; padding: 16px; }
.raw-details summary { color: #1D4ED8; cursor: pointer; font-weight: 800; }
.raw-table { margin-top: 16px; overflow-x: auto; }
table { border-collapse: collapse; table-layout: fixed; width: 100%; }
th, td { border-bottom: 1px solid #cbd5e1; padding: 12px 8px; text-align: left; vertical-align: top; word-wrap: break-word; }
thead th { color: #475569; font-size: 0.875rem; }
tbody th { font-size: 0.875rem; }
.observation-list { display: grid; gap: 4px; margin: 0; padding-left: 20px; }
.visually-hidden { clip: rect(0, 0, 0, 0); height: 1px; margin: -1px; overflow: hidden; position: absolute; width: 1px; }

@media (max-width: 760px) {
  .site-header { column-gap: 8px; grid-template-columns: minmax(0, 1fr) auto auto; padding: 8px 12px; }
  .header-client { justify-self: start; }
  .sample-header { grid-column: 2 / 4; justify-self: end; }
  .header-client strong { max-width: 96px; }
  .header-actions { gap: 8px; }
  .run-select-label > span { display: none; }
  .run-select-label select { max-width: 88px; }
  .link-button { font-size: 0.875rem; }
  .section-nav { gap: 16px; padding: 12px 16px; top: 56px; }
  main { padding: 24px 16px 48px; }
  .overview-topline, .plot-grid, .engine-plot-grid, .engine-strip, .skeleton-row { grid-template-columns: 1fr; }
  .section-heading { align-items: start; flex-direction: column; gap: 8px; }
  .matrix-table { border: 0; overflow: visible; }
  .matrix-row, .matrix-table.matrix-columns-1 .matrix-row, .matrix-table.matrix-columns-2 .matrix-row, .matrix-table.matrix-columns-3 .matrix-row, .matrix-table.matrix-columns-4 .matrix-row, .matrix-table.matrix-columns-5 .matrix-row, .matrix-table.matrix-columns-6 .matrix-row { border: 1px solid #cbd5e1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 12px; }
  .matrix-table .matrix-header, .matrix-table.matrix-columns-1 .matrix-header, .matrix-table.matrix-columns-2 .matrix-header, .matrix-table.matrix-columns-3 .matrix-header, .matrix-table.matrix-columns-4 .matrix-header, .matrix-table.matrix-columns-5 .matrix-header, .matrix-table.matrix-columns-6 .matrix-header { display: none; }
  .matrix-question { border-bottom: 1px solid #cbd5e1; grid-column: 1 / -1; min-height: 72px; }
  .matrix-cell { min-height: 72px; }
  .matrix-row > * { border-bottom: 1px solid #e2e8f0; }
  .coverage-bases { grid-template-columns: 1fr 1fr; }
  .coverage-row { grid-template-columns: 72px repeat(5, minmax(0, 1fr)); }
  .share-bar > div { align-items: start; flex-direction: column; gap: 4px; }
  table, thead, tbody, tr, th, td { display: block; }
  thead { height: 1px; overflow: hidden; position: absolute; width: 1px; }
  tr { border-top: 1px solid #cbd5e1; padding: 8px 0; }
  th, td { border: 0; padding: 4px 0; }
  td::before { color: #475569; content: attr(data-label); display: block; font-size: 0.875rem; font-weight: 800; letter-spacing: 0.01em; }
}

@media (max-width: 440px) {
  .header-client strong { display: none; }
  .header-client { gap: 0; }
  .wordmark { font-size: 0.875rem; }
  .run-select-label select { max-width: 80px; }
}

@media print {
  body { background: #ffffff; font-size: 0.875rem; }
  .site-header, .section-nav, .skip-link, .link-button, .back-button, .run-select-label { display: none; }
  main { max-width: none; padding: 0; }
  h1, h2, h3 { break-after: avoid; }
  .surface-card, .matrix-row { break-inside: avoid; }
  .overview-topline { display: block; }
  .overview-topline > * + * { margin-top: 16px; }
  .matrix-table { overflow: visible; }
  .matrix-row { grid-template-columns: minmax(200px, 1.8fr) repeat(6, minmax(54px, 1fr)); }
}

.absence-more { color: #475569; font-size: 0.875rem; margin: 12px 0 0; }
.sign-in-notice { background: #eff6ff; border-left: 3px solid #3B82F6; color: #1e3a8a; margin-bottom: 16px; padding: 12px 16px; }
.slot-table { margin-top: 24px; }
.scope-line, .month-note, .export-note, .connector-note, .referral-footnote { color: #475569; font-size: 0.875rem; margin-bottom: 0; margin-top: 16px; max-width: 70ch; }
.month-headline { color: #111827; font-weight: 700; margin-bottom: 12px; }
.alert-list { background: #eff6ff; border-left: 3px solid #3B82F6; color: #1e3a8a; display: grid; gap: 8px; list-style: none; margin: 0 0 12px; padding: 12px 16px; }
.alert-none { color: #475569; margin-bottom: 12px; }
.readiness-section h3, .connector-section h3 { margin-top: 24px; }
.source-list { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 0 0 8px; padding: 0; }
.source-list li { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 4px; display: grid; gap: 4px; padding: 12px; word-break: break-word; }
.source-list strong { font-size: 0.875rem; }
.source-list span { color: #475569; font-size: 0.875rem; }
.engine-sources { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.export-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button.secondary { background: #ffffff; border: 1px solid #1D4ED8; color: #1D4ED8; }
.connector-steps { color: #334155; display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr); margin: 0 0 16px; padding-left: 20px; }
.connector-steps > li { min-width: 0; overflow-wrap: anywhere; }
.connector-steps code { background: #eff6ff; border-radius: 4px; color: #1e3a8a; font-size: 0.875rem; padding: 2px 6px; white-space: normal; overflow-wrap: anywhere; }
.connector-questions { color: #334155; display: grid; gap: 8px; margin: 0; padding-left: 20px; }
.referral-section td { white-space: nowrap; }
@media (max-width: 900px) {
  .source-list, .engine-sources { grid-template-columns: 1fr; }
}

/* The public sample's buy path. Header, bar and section nav stick as one block, so neither
   offset is hard coded against the other's height. */
.sticky-stack { position: sticky; top: 0; z-index: 3; }
.sticky-stack .site-header, .sticky-stack .section-nav { position: static; }
.sticky-stack ~ main [id] { scroll-margin-top: 184px; }
.buy-bar { align-items: center; background: #eff6ff; border-bottom: 1px solid #bfdbfe; column-gap: 12px; display: flex; flex-wrap: wrap; justify-content: space-between; padding: 8px max(24px, calc((100% - 1152px) / 2)); row-gap: 8px; }
.buy-bar-text { color: #1e3a8a; font-size: 0.875rem; font-weight: 600; margin: 0; }
.sample-availability { background: #eff6ff; border-bottom: 1px solid #bfdbfe; color: #1e3a8a; padding: 12px max(24px, calc((100% - 1152px) / 2)); }
.sample-availability p { margin: 4px 0 0; }
.buy-bar-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 8px 10px; }
.buy-bar .button { font-size: 0.875rem; margin-top: 0; padding: 7px 10px; }
.buy-bar-link { font-size: 0.875rem; font-weight: 700; }
.label-short { display: none; }
@media (max-width: 600px) {
  .buy-bar { flex-wrap: nowrap; padding: 8px 12px; }
  .buy-bar-text { display: none; }
  .buy-bar-actions { flex-wrap: nowrap; gap: 8px; justify-content: space-between; width: 100%; }
  .buy-bar .button { font-size: 0.875rem; padding: 8px 10px; white-space: nowrap; }
  .buy-bar-link { font-size: 0.875rem; line-height: 1.25; text-align: right; }
  .label-long { display: none; }
  .label-short { display: inline; }
}
@media (min-width: 1200px) {
  .buy-bar { column-gap: 8px; flex-wrap: nowrap; }
  .buy-bar-text { min-width: 0; }
  .buy-bar-actions { flex-shrink: 0; flex-wrap: nowrap; gap: 8px; }
  .buy-bar .button { font-size: 0.875rem; padding: 7px 8px; white-space: nowrap; }
  .buy-bar-link { font-size: 0.875rem; white-space: nowrap; }
}

.excerpt-section { margin-top: 16px; }
.excerpt-list { display: grid; gap: 12px; margin: 0; padding-left: 20px; }
.excerpt-list li { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 4px; padding: 12px; }
.excerpt-meta { color: #475569; font-size: 0.875rem; font-weight: 700; margin-bottom: 4px; }
.excerpt-text { font-size: 0.875rem; margin-bottom: 8px; overflow-wrap: anywhere; }
.excerpt-text mark { background: #dbeafe; color: #1e3a8a; font-weight: 700; padding: 0 2px; }

.sample-guide { background: #ffffff; border: 1px solid #3B82F6; border-radius: 8px; bottom: 24px; box-shadow: 0 12px 32px rgba(15, 23, 42, 0.18); max-width: 360px; padding: 20px; position: fixed; right: 24px; z-index: 5; }
.sample-guide h2 { font-size: 1.125rem; }
.sample-guide p { color: #334155; font-size: 0.875rem; margin-bottom: 12px; }
.sample-guide .guide-step { color: #475569; font-size: 0.875rem; font-weight: 700; margin-bottom: 4px; }
.guide-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; }
.guide-actions .button { margin-top: 0; padding: 8px 12px; }
/* The guide sits in the main column directly above the section it explains (SITE_FINDINGS 3). */
#sample-guide-root { margin: 32px 0 12px; }
#sample-guide-root:first-child { margin-top: 0; }
#sample-guide-root + section, #sample-guide-root + .overview-topline { margin-top: 0; }
@media (max-width: 600px) {
  .sample-guide { bottom: 12px; left: 12px; max-width: none; right: 12px; }
}
@media print {
  .buy-bar, .sample-guide { display: none; }
  .sticky-stack { position: static; }
}

/* Platform views: history, named instead, source queue, proof, battlecards, alerts, share. */
.view-section { margin-top: 24px; }
.view-section h3 { margin-top: 24px; }
.view-section h4 { font-size: 0.875rem; margin: 20px 0 4px; }
.view-note { color: #475569; font-size: 0.875rem; max-width: 76ch; }
.cell-detail { color: #475569; display: block; font-size: 0.875rem; font-weight: 400; }
.row-plot { display: block; height: 20px; max-width: 200px; width: 100%; }
.history-scope { margin-top: 12px; }
.history-scope table { min-width: 560px; }
.step-row td { background: #f8fafc; color: #475569; font-size: 0.875rem; padding: 6px 8px; }
.step-row.step-moved td { background: #eff6ff; color: #1e3a8a; font-weight: 700; }
.question-detail { border-bottom: 1px solid #cbd5e1; padding: 12px 0; }
.question-detail summary { cursor: pointer; display: flex; flex-wrap: wrap; gap: 4px 12px; justify-content: space-between; }
.question-detail summary:focus-visible { outline: 3px solid #3B82F6; outline-offset: 3px; }
.question-detail table { min-width: 560px; }
.compact-list { margin: 8px 0; padding-left: 20px; }
.compact-list li { font-size: 0.875rem; margin-bottom: 4px; }
.receipt-links a { display: inline-block; margin-right: 8px; }
.source-table table { min-width: 980px; }
.source-domain { display: block; font-weight: 700; }
.source-url { display: block; font-size: 0.875rem; font-weight: 400; overflow-wrap: anywhere; }
.queue-edit { display: grid; gap: 4px; }
.queue-edit input, .queue-edit select { border: 1px solid #64748b; border-radius: 4px; font: inherit; font-size: 0.875rem; padding: 4px 6px; width: 100%; }
.queue-edit button, .view-actions button { background: #ffffff; border: 1px solid #1D4ED8; border-radius: 4px; color: #1D4ED8; cursor: pointer; font: inherit; font-size: 0.875rem; font-weight: 700; padding: 6px 10px; }
.proof-card { border-top: 1px solid #3B82F6; margin-top: 20px; padding-top: 16px; }
.proof-card.superseded { opacity: 0.85; }
.proof-card table { min-width: 560px; }
.proof-figures { display: grid; gap: 4px 16px; grid-template-columns: max-content 1fr; margin: 12px 0; }
.proof-figures dt { font-weight: 700; }
.proof-figures dd { margin: 0; }
.proof-verdict { background: #eff6ff; border-left: 3px solid #1D4ED8; color: #1e3a8a; font-size: 1.125rem; font-weight: 800; padding: 8px 12px; }
.proof-state { background: #f8fafc; border-left: 3px solid #3B82F6; padding: 8px 12px; }
.proof-warnings li { color: #1e3a8a; }
.competitor-nav { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 12px 0; }
.competitor-nav a[aria-current="page"], .view-nav a[aria-current="page"], .section-nav a[aria-current="page"] { color: #1D4ED8; text-decoration: underline; text-underline-offset: 4px; }
.snippet-list { list-style: none; margin: 0; padding: 0; }
.snippet-list li { border-left: 3px solid #3B82F6; margin: 12px 0; padding-left: 12px; }
.snippet-list blockquote { margin: 0 0 4px; }
.share-example { font-weight: 700; overflow-wrap: anywhere; }
.share-header { align-items: center; display: flex; gap: 12px; }
.brand-logo { border-radius: 4px; height: 40px; object-fit: contain; width: 40px; }
.print-document main { max-width: 1152px; }
.print-document .controls { display: flex; flex-wrap: wrap; gap: 12px; margin: 16px 0; }
.print-document .controls button { background: #ffffff; border: 1px solid #1D4ED8; border-radius: 4px; color: #1D4ED8; cursor: pointer; font: inherit; font-weight: 700; padding: 8px 12px; }
@media (max-width: 720px) {
  .proof-figures { grid-template-columns: 1fr; }
  .question-detail summary { flex-direction: column; }
}
@media print {
  .print-document .controls, .competitor-nav, .export-links { display: none; }
  .print-document .sample-notice { display: block; }
  .view-section { break-inside: auto; }
  .proof-card, .snippet-list li, .question-detail { break-inside: avoid; }
}
.raw-table:focus-visible { outline: 3px solid #3B82F6; outline-offset: 2px; }
#brand-switch{font:inherit;display:block;width:100%;max-width:100%;min-width:0;padding:12px;border:1px solid #64748b;background:white;color:#111827;border-radius:4px}

/* Dashboard polish: readable labels and controls at all four review widths. */
button,.button,input,select,summary{min-height:44px}.wordmark,.section-nav a,.view-nav a,.competitor-nav a,.receipt-links a,.header-actions a,.link-button,.back-button{display:inline-flex;align-items:center;min-height:44px}.matrix-cell-wrap{display:flex;min-width:0}.matrix-cell-wrap>.matrix-cell{width:100%}.matrix-question-cell{display:flex;min-width:0}.matrix-question-cell>.matrix-question{width:100%;border:0}.buy-bar-actions>a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.sample-guide .button{background:white;color:#1D4ED8}.sample-guide{position:static;max-width:none;margin:0}.raw-table{max-width:100%;overflow-x:auto}main,.surface-card,.overview-topline>*{min-width:0}a,p{overflow-wrap:anywhere}
@media(min-width:1200px){.buy-bar-text{max-width:220px}.buy-bar-actions{gap:8px}.buy-bar .button,.buy-bar-link{font-size:0.875rem}}
@media(max-width:600px){.buy-bar-actions{display:grid;grid-template-columns:1fr 1fr}.buy-bar-link{grid-column:1/-1;text-align:center}.buy-bar .button,.buy-bar-link{font-size:0.875rem}.site-header{padding-top:4px;padding-bottom:4px}.section-nav{padding-top:0;padding-bottom:0}.sticky-stack ~ main [id]{scroll-margin-top:224px}.sample-marker{white-space:normal}.matrix-question-cell{grid-column:1/-1}.matrix-question-cell>.matrix-question{padding:16px}.coverage-row{min-width:0;grid-template-columns:44px repeat(5,minmax(0,1fr))}.coverage-header span{padding:8px 3px}.sample-guide{margin:0}}
button,input,select,textarea{font:inherit}
@media print{.sticky-stack,.site-header,.section-nav,.sample-guide,.buy-bar{display:none!important}main{max-width:none;padding:0}.surface-card{break-inside:avoid}.matrix-section{break-inside:auto}.matrix-row{break-inside:avoid}@page{size:Letter;margin:0.5in}}
@media(max-width:760px){
 .history-scope table,.question-detail table,.source-table table,.proof-card table{min-width:0;width:100%}
 .raw-table th,.raw-table td{max-width:100%;white-space:normal;overflow-wrap:anywhere}
 .history-scope tr:not(.step-row)>td:nth-child(2)::before{content:'Company named'}
 .history-scope tr:not(.step-row)>td:nth-child(4)::before{content:'Excluded answers'}
 .source-table td:nth-child(2)::before{content:'Times cited'}
 .source-table td:nth-child(3)::before{content:'Engines'}
 .source-table td:nth-child(4)::before{content:'Questions'}
 .source-table td:nth-child(5)::before{content:'Client appears'}
 .source-table td:nth-child(6)::before{content:'Work status'}
 .source-table td:nth-child(7)::before{content:'Owner'}
 .source-table td:nth-child(8)::before{content:'Contact route'}
 .source-table td:nth-child(9)::before{content:'Notes'}
 details.question-detail td:nth-child(2)::before{content:'Client named'}
 details.question-detail td:nth-child(3)::before{content:'Named instead'}
 details.question-detail td:nth-child(4)::before{content:'Receipts'}
}

/* The shared Paused state: the Diagnostic is paused until the next Audit delivery. */
.paused-badge { display: inline-block; padding: 2px 8px; border-radius: 999px; background: #FEF3C7; color: #92400E; font-size: 0.875rem; font-weight: 600; line-height: 18px; }
.buy-bar-paused { cursor: default; border-color: #e2e8f0; }
.buy-bar-actions > .buy-bar-paused { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; }

/* A visible cue that the tab bar scrolls: the last visible tab fades at the right edge. */
.section-nav { scrollbar-width: none; -webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 48px), transparent 100%); mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 48px), transparent 100%); }
.section-nav.at-end { -webkit-mask-image: none; mask-image: none; }
/* The row still scrolls (keys, touch, trackpad); only the bar under it is hidden (SITE_FINDINGS 3). */
.section-nav::-webkit-scrollbar { display: none; }