:root {
  --thrivai-navy-dark: #070D1B;
  --thrivai-navy-panel: #132136;
  --thrivai-navy-wordmark: #173450;
  --thrivai-teal-primary: #2AA9A5;
  --thrivai-teal-dark: #1F8783;
  --thrivai-teal-light: #5BC4C0;
  --thrivai-paper: #F5F2EB;
  --thrivai-ink: #1A202C;
  --thrivai-white: #FFFFFF;
  --navy: var(--thrivai-navy-dark);
  --deep: var(--thrivai-navy-wordmark);
  --teal: var(--thrivai-teal-primary);
  --gold: #a98b56;
  --ink: var(--thrivai-ink);
  --muted: #667085;
  --line: rgba(19, 33, 54, .14);
  --soft: var(--thrivai-paper);
  --paper: var(--thrivai-white);
  --risk: #a94b3f;
  --brand-shadow: 0 18px 44px rgba(7, 13, 27, .08);
  --brand-shadow-soft: 0 10px 30px rgba(7, 13, 27, .06);
  --brand-radius: 8px;
}

* { box-sizing: border-box; }
body { margin: 0; font-family: Inter, Arial, sans-serif; color: var(--ink); background: var(--soft); }
a { color: var(--deep); text-decoration: none; font-weight: 650; }
.summary-card,
.action-card,
.output-card,
.public-card,
.metric,
.mini-card,
.review-card,
.ds-card,
.ds-module-card,
.ds-evidence-card,
.ds-metric-card {
  min-width: 0;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
}
/* Round design-foundation: card headline word-break fix (addresses "implementatio n" wrapping) */
.summary-card h1, .summary-card h2, .summary-card h3,
.action-card strong, .output-card h2,
.mini-card strong,
.ds-card h1, .ds-card h2, .ds-card h3,
.ds-module-card-title, .ds-evidence-card-workflow {
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
}
/* Responsive card grid */
.ds-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}
.ds-card-grid-tight {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
}
.skip-link {
  background: var(--thrivai-white);
  border: 2px solid var(--thrivai-teal-primary);
  border-radius: 6px;
  color: var(--thrivai-navy-wordmark);
  font-weight: 850;
  left: 16px;
  padding: 10px 14px;
  position: fixed;
  top: 12px;
  transform: translateY(-140%);
  transition: transform .14s ease;
  z-index: 1000;
}
.skip-link:focus,
.skip-link:focus-visible {
  outline: 0;
  transform: translateY(0);
}
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid rgba(42, 169, 165, .72);
  outline-offset: 3px;
}
main:focus {
  outline: 0;
}
.topbar { min-height: 64px; display: flex; align-items: center; justify-content: space-between; padding: 0 28px; background: var(--navy); color: #fff; }
.brand { color: #fff; font-weight: 800; letter-spacing: .1px; }
.brand-with-logo { display: flex; align-items: center; gap: 12px; min-width: 250px; }
.brand-logo { display: block; width: 168px; height: 42px; object-fit: contain; object-position: left center; flex: 0 0 auto; }
.brand span { color: #b9c9d8; font-weight: 700; }
.topbar nav { display: flex; gap: 18px; }
.topbar nav a { color: #dce6ef; font-size: 14px; padding: 8px 0; border-bottom: 2px solid transparent; }
.topbar nav a.active { color: #fff; border-color: var(--teal); }
.page { max-width: 1240px; margin: 0 auto; padding: 28px; }
.footer { color: #718096; font-size: 12px; padding: 18px 28px 28px; text-align: center; }
.hero, .page-title { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 24px; }
.hero { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 26px; }
.hero.compact { padding: 20px 24px; }
.eyebrow { color: var(--teal); text-transform: uppercase; font-size: 12px; font-weight: 850; letter-spacing: .04em; margin: 0 0 6px; }
h1 { margin: 0 0 8px; font-size: 30px; color: var(--deep); }
h2 { margin: 0 0 14px; font-size: 18px; color: var(--deep); }
h3 { margin: 16px 0 8px; font-size: 15px; color: var(--deep); }
p { color: var(--muted); line-height: 1.45; }
.button, button.button { border: 1px solid var(--line); background: #fff; color: var(--deep); min-height: 40px; padding: 9px 13px; border-radius: 6px; font-weight: 750; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; text-align: center; }
.button.primary { background: var(--teal); border-color: var(--teal); color: #fff; }
.button.danger { background: var(--risk); border-color: var(--risk); color: #fff; }
.button.muted { color: var(--muted); }
.button-row, .actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; margin-bottom: 22px; }
.metric, .panel { background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.metric { padding: 18px; }
.metric.compact { padding: 13px; }
.metric span { display: block; color: var(--muted); font-size: 12px; text-transform: uppercase; font-weight: 800; margin-bottom: 8px; }
.metric strong { display: block; font-size: 26px; color: var(--deep); line-height: 1.08; }
.metric small { display: block; margin-top: 7px; line-height: 1.35; }
.panel { padding: 18px; margin-bottom: 20px; overflow-x: auto; }
.callout { background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--teal); border-radius: 8px; padding: 16px 18px; margin-bottom: 20px; }
.callout.warning { border-left-color: var(--gold); background: #fffaf0; }
.callout.danger { border-left-color: var(--risk); background: #fff7f5; }
.callout.success { border-left-color: var(--teal); background: #f0fffb; }
.compact-callout { padding: 10px 12px; margin: 0; }
.compact-callout p { margin: 4px 0 0; font-size: 12px; }
.grid.two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.grid.three { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.grid.four { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; }
.grid.five { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 18px; }
.muted-note { color: var(--muted); font-size: 0.95rem; margin-top: 16px; }
.advisor-control-hero {
  align-items: stretch;
  gap: clamp(24px, 4vw, 42px);
}
.advisor-control-hero > div:first-child { max-width: 760px; }
.advisor-control-hero h1 { max-width: 820px; }
.hero-lede {
  color: var(--thrivai-navy);
  font-size: clamp(1.05rem, 1.6vw, 1.3rem);
  font-weight: 650;
}
.buyer-hook-grid { margin-top: 18px; }
.buyer-hook-grid .mini-card,
.outcome-card,
.comparison-card,
.package-card,
.executive-signal-card {
  border-top: 4px solid var(--thrivai-teal);
}
.advisor-hero-actions {
  min-width: min(520px, 100%);
}
.control-plane-diagram {
  background: linear-gradient(135deg, #f7fbfa 0%, #eef7f5 100%);
}
.control-plane-layers {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}
.control-plane-layer {
  align-items: center;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 10px;
  display: grid;
  gap: 16px;
  grid-template-columns: 54px 1fr;
  padding: 18px;
}
.control-plane-layer > span {
  align-items: center;
  background: var(--thrivai-teal);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-weight: 800;
  height: 42px;
  justify-content: center;
  width: 42px;
}
.control-plane-layer h3 { margin-bottom: 6px; }
.meeting-proof-card {
  background: var(--thrivai-navy);
  color: #fff;
}
.meeting-proof-card h2,
.meeting-proof-card p { color: #fff; }
.action-grid, .output-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; margin-bottom: 22px; }
.action-card, .output-card { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 17px; display: grid; gap: 8px; color: var(--ink); min-width: 0; overflow: hidden; }
.action-card:hover { border-color: var(--teal); box-shadow: 0 10px 24px rgba(23,53,81,.08); }
.action-card strong, .output-card h2 { color: var(--deep); font-size: 16px; margin: 0; }
.action-card span, .output-card p { color: var(--muted); font-size: 13px; margin: 0; overflow-wrap: break-word; }
.card-list { display: grid; gap: 12px; }
.mini-card { border: 1px solid var(--line); border-radius: 8px; padding: 14px; background: #fff; display: grid; gap: 8px; min-width: 0; }
.mini-card strong { color: var(--deep); }
.mini-card p, .mini-card small { margin: 0; color: var(--muted); overflow-wrap: break-word; }
.activation-plan-card { align-content: start; }
.activation-plan-card ul { margin: 0; padding-left: 1.2rem; }
table { width: 100%; border-collapse: collapse; font-size: 13px; }
.clean-table { min-width: 680px; }
th { text-align: left; color: var(--muted); text-transform: uppercase; font-size: 11px; padding: 10px; border-bottom: 1px solid var(--line); }
td { padding: 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
.clean-table tbody tr:hover { background: #f8fafc; }
.badge { display: inline-block; padding: 4px 8px; border-radius: 999px; background: #e9edf3; color: var(--deep); font-size: 12px; font-weight: 750; }
.badge.success { background: #dff7ef; color: #12715d; }
.badge.warning { background: #fff1d6; color: #836018; }
.badge.danger { background: #fde3df; color: var(--risk); }
.pill-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.count-list { display: grid; gap: 9px; }
.count-list div { border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; background: #fbfcfd; display: grid; gap: 3px; }
.count-list strong { color: var(--deep); line-height: 1.25; overflow-wrap: break-word; }
.count-list span { color: var(--muted); font-size: 12px; font-weight: 750; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.form-grid.tight { grid-template-columns: 2fr 1fr 1fr 1fr 1fr; }
.form-grid .span-2 { grid-column: 1 / -1; }
label { display: grid; gap: 6px; color: var(--deep); font-size: 13px; font-weight: 750; }
input, textarea, select { width: 100%; border: 1px solid var(--line); border-radius: 6px; min-height: 40px; padding: 9px; font: inherit; background: #fff; }
textarea { min-height: 82px; }
small, .helper-inline { color: var(--muted); font-size: 12px; font-weight: 500; }
.required { color: var(--risk); font-size: 11px; text-transform: uppercase; }
.form-section { overflow: visible; }
.section-heading { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 12px; }
.section-heading p { margin: 0; }
.metric-hints { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.metric-hints div { background: #f8fafc; border: 1px solid var(--line); border-radius: 8px; padding: 10px; }
.metric-hints span { display: block; font-size: 11px; color: var(--muted); text-transform: uppercase; font-weight: 800; }
.metric-hints strong { color: var(--deep); }
.wide { grid-column: 1 / -1; }
.stack { display: grid; gap: 12px; }
.question-card { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 18px; margin-bottom: 14px; }
.question-card[data-evidence-status="contradictory"], .question-card[data-evidence-status="insufficient"] { border-left: 4px solid var(--risk); }
.question-card h2 { font-size: 17px; line-height: 1.35; }
.question-group { border: 1px solid var(--line); border-radius: 8px; background: #fbfcfd; margin: 14px 0; padding: 12px; }
.question-group summary { color: var(--deep); cursor: pointer; font-weight: 850; }
.question-group .question-card { margin: 12px 0 0; }
.question-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.question-meta span { background: var(--soft); border: 1px solid var(--line); border-radius: 999px; padding: 4px 8px; color: var(--muted); font-size: 12px; }
.sticky-actions { position: sticky; bottom: 0; background: rgba(245,247,250,.96); border-top: 1px solid var(--line); padding: 14px 0; display: flex; gap: 10px; }
.sticky-top-actions { position: sticky; top: 0; z-index: 5; background: rgba(245,247,250,.96); border: 1px solid var(--line); border-radius: 8px; padding: 10px; margin-bottom: 14px; display: flex; gap: 10px; align-items: center; justify-content: flex-end; }
.sticky-top-actions span { margin-right: auto; color: var(--muted); font-weight: 750; }
.flash { background: #e8fbf8; border: 1px solid #b7eee8; padding: 10px 14px; border-radius: 8px; margin-bottom: 16px; }
.flash p { margin: 4px 0; }
.mini-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.mini-grid div { border: 1px solid var(--line); border-radius: 6px; padding: 8px; background: var(--soft); }
.mini-grid strong, .mini-grid span { display: block; font-size: 12px; }
.mini-grid span { color: var(--muted); margin-top: 3px; }
.progress-grid i, .progress-bar i { display: block; height: 5px; background: var(--teal); border-radius: 999px; margin-top: 8px; }
.progress-bar { height: 7px; background: #e9edf3; border-radius: 999px; overflow: hidden; }
.progress-row { display: grid; gap: 8px; }
.progress-row span { display: block; color: var(--muted); font-size: 12px; margin-top: 2px; }
.stepper { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin-bottom: 22px; }
.step { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 11px; color: var(--muted); font-size: 12px; font-weight: 800; display: flex; align-items: center; gap: 8px; }
.step span { width: 23px; height: 23px; border-radius: 999px; background: #e9edf3; color: var(--deep); display: inline-grid; place-items: center; }
.step.active { border-color: var(--teal); color: var(--deep); background: #f0fffb; }
.step.active span { background: var(--teal); color: #fff; }
.review-card { border: 1px solid var(--line); border-radius: 8px; padding: 12px; margin-bottom: 12px; background: #f8fafc; }
.review-card strong { color: var(--deep); }
.operator-path-panel { overflow-x: visible; }
.operator-path-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.operator-path-card { background: #f8fafc; border: 1px solid var(--line); border-radius: 8px; display: flex; flex-direction: column; gap: 14px; padding: 16px; }
.operator-path-card-header { display: grid; gap: 6px; }
.operator-path-card-header strong { color: var(--deep); font-size: 18px; line-height: 1.2; }
.operator-path-card-header span { color: var(--muted); font-size: 13px; line-height: 1.45; }
.operator-checklist { display: grid; gap: 10px; margin: 0; }
.operator-checklist div { border-top: 1px solid var(--line); display: grid; gap: 3px; padding-top: 9px; }
.operator-checklist dt { color: var(--deep); font-size: 12px; font-weight: 800; letter-spacing: .04em; margin: 0; text-transform: uppercase; }
.operator-checklist dd { color: #334155; font-size: 13px; line-height: 1.45; margin: 0; }
.operator-gates { align-items: flex-start; display: flex; flex-wrap: wrap; gap: 8px; }
.operator-gates span, .operator-gates small { border-radius: 999px; font-size: 12px; line-height: 1.2; padding: 6px 9px; }
.operator-gates span { background: var(--deep); color: #fff; font-weight: 800; }
.operator-gates small { background: #e6f8f8; color: #0f766e; font-weight: 700; }
.operator-links { margin-top: auto; }
.role-home-hero .button-row { align-self: flex-start; }
.role-home-priority-panel { border-left: 4px solid var(--teal); }
.role-priority-list,
.operator-start-sequence {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
.role-priority-card,
.operator-start-sequence article {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(23,53,81,.06);
  color: var(--ink);
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 14px;
  text-decoration: none;
}
.role-priority-card:hover { border-color: var(--teal); box-shadow: 0 14px 30px rgba(23,53,81,.1); }
.role-priority-number,
.operator-start-sequence article > span {
  align-items: center;
  background: rgba(42,169,165,.12);
  border: 1px solid rgba(42,169,165,.24);
  border-radius: 999px;
  color: var(--teal);
  display: inline-flex;
  font-size: 12px;
  font-weight: 900;
  height: 28px;
  justify-content: center;
  width: 28px;
}
.role-priority-card strong,
.operator-start-sequence strong { color: var(--deep); line-height: 1.2; }
.role-priority-card small {
  color: var(--teal);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.role-priority-card p,
.operator-start-sequence p { color: var(--muted); font-size: 13px; line-height: 1.45; margin: 0; }
.operator-start-sequence { margin-bottom: 18px; }
.role-home-metrics .metric { color: inherit; display: grid; gap: 4px; text-decoration: none; }
.role-home-card small { color: var(--teal); display: inline-block; font-weight: 800; margin-top: 10px; }
.role-home-section .section-heading { margin-bottom: 12px; }
.inline-form { display: grid; grid-template-columns: minmax(180px, 1fr) auto; gap: 8px; margin-bottom: 8px; }
.empty-state { background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 8px; padding: 18px; color: var(--muted); }
.polished-empty-state {
  background:
    linear-gradient(135deg, rgba(42, 169, 165, .08), rgba(255,255,255,.94) 38%),
    #fff;
  border-style: solid;
  border-color: rgba(42, 169, 165, .24);
  box-shadow: var(--brand-shadow-soft);
  padding: 22px;
}
.polished-empty-state strong {
  color: var(--deep);
  font-size: 18px;
}
.polished-empty-state p {
  max-width: 860px;
}
.knowledge-suggestions .section-heading { align-items: start; }
.knowledge-suggestions .section-heading p { margin: 0; max-width: 760px; }
.suggestion-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)); gap: 12px; }
.suggestion-card { border: 1px solid var(--line); border-radius: 8px; padding: 14px; background: #fbfcfd; display: grid; gap: 9px; }
.suggestion-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.suggestion-card-head strong { color: var(--deep); line-height: 1.3; }
.suggestion-card p { margin: 0; font-size: 13px; }
.suggestion-meta, .tag-row { display: flex; flex-wrap: wrap; gap: 6px; }
.suggestion-meta span, .tag-row span { background: #eef3f7; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 11px; font-weight: 750; padding: 3px 7px; }
.tag-row span { background: #f0fffb; color: #12715d; }
.copy-block summary { color: var(--deep); cursor: pointer; font-size: 12px; font-weight: 800; }
.copy-block textarea { min-height: 92px; font-size: 12px; margin-top: 8px; }
.overdue-row { background: #fff7f5; }
.timeline { display: grid; gap: 12px; }
.timeline-item { border-left: 3px solid var(--teal); padding: 4px 0 4px 12px; }
.timeline-item strong { display: block; color: var(--deep); }
.timeline-item span { display: block; color: var(--muted); font-size: 12px; margin-top: 2px; }
.timeline-item p { margin: 6px 0 0; }
.check-list { margin: 0; padding-left: 18px; color: var(--muted); }
.check-list li { margin: 7px 0; }
.checkbox { width: auto; }
dl { display: grid; grid-template-columns: 170px 1fr; gap: 8px 14px; }
dt { color: var(--muted); font-weight: 750; }
dd { margin: 0; }
code { font-size: 12px; color: var(--deep); }
.draft-text { white-space: pre-wrap; font: 13px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; background: #f8fafc; border: 1px solid var(--line); border-radius: 8px; padding: 16px; color: var(--ink); overflow-x: auto; }
.asset-rendered { overflow: visible; }
.asset-section-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 18px; align-items: start; }
.asset-section-card { background: #fbfcfd; border: 1px solid var(--line); border-radius: 8px; padding: 18px; display: grid; gap: 10px; min-width: 0; overflow: hidden; align-content: start; }
.asset-section-card h3 { margin: 0; color: var(--deep); font-size: 14px; }
.asset-section-body { color: #334155; font-size: 13px; line-height: 1.55; min-width: 0; overflow-x: auto; overflow-wrap: break-word; }
.asset-section-body table,
.prompt-catalog-table { width: 100%; min-width: 760px; border-collapse: collapse; }
.asset-section-body .table-scroll,
.table-scroll { width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 8px; margin: 12px 0; }
.asset-section-body .table-scroll table { margin: 0; border: 0; }
.asset-section-card-wide { grid-column: 1 / -1; }
.catalog-secondary-card { background: #f8fbfb; }
.catalog-secondary-card details summary { cursor: pointer; color: var(--thrivai-navy-wordmark); font-weight: 850; font-size: 17px; }
.catalog-secondary-card .table-scroll { max-height: 460px; }
.featured-prompt-samples .asset-section-body { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr)); gap: 14px; }
.featured-prompt-samples .prompt-card { margin: 0; }
.prompt-card { border: 1px solid rgba(19,33,54,.12); border-radius: 8px; padding: 16px; margin: 14px 0; background: #fff; overflow: hidden; }
.prompt-card h3 { font-size: 16px; color: var(--thrivai-navy-wordmark); }
.prompt-value-panel p { font-size: 15px; line-height: 1.65; color: #334155; }
.tool-guidance-list { display: grid; gap: 10px; margin-top: 12px; }
.tool-guidance-item { border: 1px solid var(--line); border-radius: 8px; padding: 12px; background: #fbfcfd; }
.tool-guidance-item strong { display: block; color: var(--deep); }
.tool-guidance-item span { display: inline-block; margin: 6px 0; color: var(--teal); font-weight: 800; font-size: 12px; text-transform: uppercase; letter-spacing: .03em; }
.tool-guidance-item p { margin: 0; color: var(--muted); }
.brand-swatch-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }
.brand-swatch { min-height: 112px; border-radius: 8px; padding: 14px; background: var(--swatch); color: #fff; display: grid; align-content: end; box-shadow: var(--brand-shadow-soft); }
.brand-swatch.light { color: var(--thrivai-ink); border: 1px solid var(--line); }
.brand-swatch span { font-weight: 850; }
.brand-swatch strong { font-size: 13px; opacity: .86; }
.asset-actions .button.muted { background: #f7f9fb; color: #7a8797; cursor: default; }
.compact-source details summary { color: var(--deep); cursor: pointer; font-weight: 800; }
.compact-source .draft-text { margin-top: 12px; max-height: 420px; }
.substance-pack-card { display: grid; align-content: start; gap: 8px; }
.substance-pack-card dl { grid-template-columns: 92px 1fr; font-size: 13px; }
.substance-pack-card p { margin: 0 0 4px; }
.substance-pack-intro .grid.three { margin-top: 6px; }
.pack-preview-frame { background: #fff; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.pack-preview-frame header { position: static; }
.pack-preview-hero {
  background: linear-gradient(135deg, var(--thrivai-navy-dark) 0%, var(--thrivai-navy-panel) 74%, var(--thrivai-teal-dark) 100%);
  color: #fff;
  border: 0;
}
.pack-preview-hero h1,
.pack-preview-hero h2,
.pack-preview-hero dt {
  color: #fff;
}
.pack-preview-hero p,
.pack-preview-hero dd,
.pack-preview-hero span {
  color: #d9e6ee;
}
.pack-preview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.preview-section-lede {
  max-width: 760px;
  margin: 0;
}
.marketing-preview-sections { display: grid; gap: 0; }
.marketing-section-block { padding: 26px 0; border-bottom: 1px solid var(--line); }
.marketing-section-block:first-child { padding-top: 0; }
.marketing-section-block h2 { font-size: 24px; margin-bottom: 8px; }
.marketing-section-block p:not(.eyebrow) { max-width: 820px; color: #334155; font-size: 16px; }
.error { border-color: var(--risk); }
.brand-watermark, .brand-mark-bg { position: relative; overflow: hidden; }
.brand-watermark > *, .brand-mark-bg > * { position: relative; z-index: 1; }
.brand-watermark::after, .brand-mark-bg::after {
  content: "";
  position: absolute;
  right: -58px;
  bottom: -78px;
  width: 280px;
  height: 280px;
  background: url("/static/img/brand/thrivai-mark-light-surface.svg") center / contain no-repeat;
  opacity: .045;
  pointer-events: none;
}
.brand-watermark-light::after {
  background-image: url("/static/img/brand/thrivai-mark-dark-surface-transparent.svg");
  opacity: .12;
}
.public-hero.brand-watermark::after,
.public-result-hero.brand-watermark::after {
  background-image: url("/static/img/brand/thrivai-mark-dark-surface-transparent.svg");
  opacity: .055;
}
.brand-mark-bg::after {
  width: 220px;
  height: 220px;
  opacity: .035;
}
.public-site { background: var(--thrivai-paper); color: var(--ink); }
.public-nav { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px clamp(20px, 5vw, 72px); background: var(--navy); }
.public-brand { color: #fff; font-size: 22px; font-weight: 850; }
.public-brand-logo { display: inline-flex; align-items: center; min-width: 178px; }
.public-logo { display: block; width: clamp(168px, 13.5vw, 196px); height: auto; max-height: 58px; object-fit: contain; object-position: left center; }
.public-cta { background: transparent; color: #fff; border-color: rgba(255,255,255,.35); }
.public-hero { background: linear-gradient(135deg, var(--thrivai-navy-dark) 0%, var(--thrivai-navy-panel) 72%, var(--thrivai-teal-dark) 100%); color: #fff; padding: clamp(54px, 9vw, 104px) clamp(20px, 5vw, 72px) 70px; }
.public-hero-inner { max-width: 890px; }
.public-hero-logo { display: block; width: clamp(190px, 20vw, 280px); height: clamp(48px, 5.25vw, 70px); object-fit: contain; object-position: left center; margin: 0 0 26px; }
.public-home {
  margin: -28px -32px -40px;
  background: #f6f8fb;
}
.public-hero-premium {
  min-height: 610px;
  display: grid;
  align-items: center;
  isolation: isolate;
}
.public-hero-premium::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 78% 18%, rgba(43,169,165,.24), transparent 34%),
    linear-gradient(135deg, rgba(8,13,28,.96), rgba(23,53,81,.94) 62%, rgba(31,93,100,.88));
  z-index: 0;
}
.public-hero-premium .public-hero-inner {
  max-width: 1000px;
}
.hero-proof-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}
.hero-proof-row span {
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.07);
  color: #e9f4f4;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 800;
}
.method-flow {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}
.method-flow div {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 17px 15px;
  box-shadow: 0 10px 28px rgba(23,53,81,.05);
}
.method-flow strong {
  display: block;
  color: var(--deep);
  font-size: 15px;
  margin-bottom: 7px;
}
.method-flow span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}
.work-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
}
.work-product-grid span {
  background: #fff;
  border: 1px solid var(--line);
  border-left: 4px solid var(--teal);
  border-radius: 8px;
  color: var(--deep);
  font-weight: 800;
  padding: 14px 16px;
  box-shadow: 0 10px 24px rgba(23,53,81,.05);
}
.why-different {
  border-top: 1px solid var(--line);
}
.public-hero h1, .public-result-hero h1 { color: #fff; font-size: clamp(36px, 5vw, 66px); line-height: 1.02; max-width: 900px; }
.public-lede { color: #d9e6ee; font-size: 20px; max-width: 760px; }
.public-primary { background: var(--teal); border-color: var(--teal); color: #fff; }
.public-note { color: #9fb5c8; font-size: 13px; align-self: center; }
.public-section { max-width: 1280px; margin: 0 auto; padding: 46px 24px; }
.public-section h2 { font-size: 26px; }
.public-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
.public-split { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); gap: 24px; align-items: start; }
.public-card { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 20px; display: grid; gap: 8px; box-shadow: 0 10px 30px rgba(23,53,81,.06); }
.public-card strong { color: var(--deep); font-size: 17px; }
.public-card span { color: var(--muted); line-height: 1.45; }
.public-card-emphasis { border-top: 4px solid var(--teal); }
.public-form-page { min-height: calc(100vh - 68px); padding: 40px 18px; background: linear-gradient(180deg, #eef5f7 0%, #f8fafc 52%, #fff 100%); }
.public-form-panel { max-width: 920px; margin: 0 auto; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: clamp(22px, 4vw, 42px); box-shadow: 0 18px 44px rgba(23,53,81,.08); }
.public-form-panel h1 { font-size: clamp(30px, 4vw, 46px); }
.snapshot-question { border: 1px solid var(--line); border-radius: 8px; padding: 18px; margin: 0 0 14px; background: #fbfcfd; }
.snapshot-question legend { color: var(--deep); font-weight: 800; line-height: 1.35; }
.snapshot-question legend span { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 999px; background: var(--teal); color: #fff; margin-right: 8px; font-size: 12px; }
.snapshot-question p { margin: 8px 0 12px; font-size: 13px; }
.snapshot-options { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.snapshot-options label { display: flex; align-items: center; gap: 8px; min-width: 0; background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: 10px; font-weight: 650; color: var(--ink); line-height: 1.25; }
.snapshot-options input { width: auto; }
.public-result-hero { background: var(--navy); color: #fff; padding: 58px clamp(20px, 5vw, 72px); }
.public-result-hero p { color: #d9e6ee; max-width: 760px; }
.public-score { width: 128px; height: 128px; border-radius: 999px; display: grid; place-items: center; background: var(--teal); color: #fff; font-size: 48px; font-weight: 850; margin: 18px 0; }
.snapshot-result-page { background: linear-gradient(180deg, var(--thrivai-paper) 0%, #fff 34%, var(--thrivai-paper) 100%); }
.snapshot-result-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 460px);
  gap: clamp(24px, 5vw, 58px);
  align-items: start;
  background:
    radial-gradient(circle at 82% 20%, rgba(42,169,165,.24), transparent 34%),
    linear-gradient(135deg, var(--thrivai-navy-dark) 0%, var(--thrivai-navy-panel) 72%, #0a1828 100%);
  color: var(--thrivai-white);
  padding: clamp(34px, 5vw, 62px) clamp(22px, 6vw, 82px) clamp(48px, 7vw, 82px);
  overflow: hidden;
}
.snapshot-result-hero h1 {
  color: var(--thrivai-white);
  font-size: clamp(38px, 5.4vw, 68px);
  line-height: 1.02;
  max-width: 960px;
}
.snapshot-result-hero p { color: #d9e6ee; max-width: 820px; font-size: 18px; }
.snapshot-hero-actions { margin-top: 22px; }
.snapshot-score-panel {
  position: relative;
  z-index: 1;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 8px;
  padding: 28px;
  display: grid;
  gap: 8px;
  box-shadow: 0 20px 50px rgba(0,0,0,.18);
}
.snapshot-score-panel span,
.snapshot-score-panel small {
  color: #c6d7e5;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .04em;
}
.snapshot-score-panel strong {
  color: var(--thrivai-white);
  font-size: clamp(52px, 9vw, 84px);
  line-height: .95;
}
.snapshot-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: -34px;
  position: relative;
  z-index: 2;
}
.snapshot-insight-card,
.snapshot-section-panel,
.snapshot-caveat-box {
  background: var(--thrivai-white);
  border: 1px solid rgba(19,33,54,.12);
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(7,13,27,.08);
}
.snapshot-insight-card { padding: 22px; display: grid; gap: 8px; }
.snapshot-insight-card.accent {
  border-top: 1px solid rgba(19,33,54,.12);
  box-shadow: inset 0 5px 0 var(--thrivai-teal-primary), 0 18px 42px rgba(7,13,27,.08);
}
.snapshot-summary-grid .snapshot-insight-card {
  grid-template-rows: 34px minmax(58px, auto) auto auto auto;
}
.snapshot-summary-grid .snapshot-insight-card .eyebrow {
  align-self: start;
  min-height: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.snapshot-summary-grid .snapshot-insight-card h2 {
  align-self: start;
  min-height: 58px;
}
.snapshot-insight-card h2 { font-size: 24px; margin-bottom: 4px; }
.snapshot-insight-card p { margin: 0; }
.snapshot-insight-card small { color: var(--muted); font-weight: 750; }
.snapshot-section-panel { padding: clamp(22px, 4vw, 34px); }
.snapshot-section-panel.paper { background: rgba(245,242,235,.78); }
.snapshot-standard-grid,
.snapshot-method-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.snapshot-standard-grid article,
.snapshot-method-row div {
  min-width: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 17px;
}
.snapshot-standard-grid strong,
.snapshot-method-row strong {
  display: block;
  color: var(--deep);
  font-size: 16px;
  margin-bottom: 7px;
}
.snapshot-standard-grid span,
.snapshot-method-row span {
  display: block;
  color: var(--muted);
  line-height: 1.45;
  font-size: 13px;
}
.snapshot-two-column {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
}
.snapshot-result-page .snapshot-two-column {
  gap: clamp(34px, 5vw, 56px);
}
.snapshot-two-column article { min-width: 0; }
.snapshot-next-step-card {
  background: var(--thrivai-navy-panel);
  color: #fff;
  border-radius: 8px;
  padding: 24px;
}
.snapshot-next-step-card h2 { color: #fff; font-size: 27px; }
.snapshot-next-step-card p { color: #d9e6ee; }
.snapshot-caveat-box { padding: 22px; }
.snapshot-caveat-box ul { margin: 0; padding-left: 20px; color: var(--muted); line-height: 1.55; }
.snapshot-method-flow { margin-top: 18px; }
@media (max-width: 900px) {
  .metrics, .grid.two, .grid.three, .grid.four, .grid.five, .form-grid, .form-grid.tight, .metric-hints, .stepper { grid-template-columns: 1fr; }
  .public-split, .snapshot-result-hero, .snapshot-summary-grid, .snapshot-two-column { grid-template-columns: 1fr; }
  .snapshot-three-column { grid-template-columns: 1fr; }
  .snapshot-summary-grid { margin-top: -18px; }
  .hero, .page-title { align-items: flex-start; flex-direction: column; }
  .topbar { height: auto; gap: 12px; align-items: flex-start; flex-direction: column; padding: 18px; }
  .topbar nav { flex-wrap: wrap; }
  .brand-with-logo { min-width: 0; flex-wrap: wrap; }
  .brand-logo, .brand-logo-nav, .public-logo { width: 160px; height: 40px; max-height: 40px; }
  .brand-logo-hero, .public-hero-logo { width: 190px; height: 48px; max-height: 48px; }
  .brand-watermark::after, .brand-mark-bg::after { width: 190px; height: 190px; right: -54px; bottom: -60px; }
  .public-nav { align-items: center; flex-wrap: nowrap; }
  .public-home { margin: -22px -18px -34px; }
  .public-hero-premium { min-height: auto; }
  .method-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Round 30 workbench cleanup */
.topbar {
  min-height: 68px;
  height: 68px;
  padding: 0 24px;
  position: sticky;
  top: 0;
  z-index: 20;
  box-shadow: 0 1px 0 rgba(255,255,255,.08);
}
.brand-with-logo { min-width: 0; gap: 12px; flex: 0 0 auto; }
.brand-logo,
.brand-logo-nav,
.public-logo {
  display: block;
  width: 188px;
  height: 48px;
  max-height: 48px;
  object-fit: contain;
  object-position: left center;
  border: 0;
  background: transparent;
  flex: 0 0 auto;
}
.public-nav .public-logo {
  width: clamp(168px, 13.5vw, 196px);
  height: auto;
  max-height: 58px;
}
.brand-logo-hero,
.public-hero-logo {
  display: block;
  width: clamp(192px, 22vw, 280px);
  height: clamp(48px, 5vw, 68px);
  max-height: 68px;
  object-fit: contain;
  object-position: left center;
  border: 0;
  background: transparent;
}
.brand-mark {
  display: block;
  width: 40px;
  height: 40px;
  object-fit: contain;
  object-position: center;
  background: transparent;
}
.brand span { color: #c7d6e4; font-size: 13px; letter-spacing: 0; }
.topbar-account { margin-left: auto; display: flex; align-items: center; gap: 12px; min-width: 0; }
.account-link { color: #fff; display: grid; gap: 2px; text-align: right; min-width: 0; }
.account-link strong { color: #fff; font-size: 13px; line-height: 1.1; }
.account-link span { color: #aebfd1; font-size: 11px; font-weight: 700; text-transform: capitalize; }
.topbar-button { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.22); color: #fff; padding: 8px 11px; }
.public-topnav { display: flex; align-items: center; gap: 16px; }
.public-topnav a { color: #e4edf6; font-size: 13px; }

.app-shell {
  display: grid;
  grid-template-columns: 232px minmax(0, 1fr);
  align-items: start;
  max-width: 1480px;
  margin: 0 auto;
}
.sidebar {
  position: sticky;
  top: 68px;
  height: calc(100vh - 68px);
  overflow-y: auto;
  padding: 22px 14px 26px;
  border-right: 1px solid var(--line);
  background: #fff;
}
.nav-group {
  margin-bottom: 12px;
  border-bottom: 1px solid rgba(20, 33, 49, .06);
  padding-bottom: 10px;
}
.nav-group summary,
.nav-group h2 {
  margin: 0 0 8px;
  padding: 0 10px;
  color: #7a8797;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .05em;
  cursor: pointer;
  list-style: none;
}
.nav-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 24px;
}
.nav-group summary::-webkit-details-marker { display: none; }
.nav-group summary::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid #9aa5b5;
  border-bottom: 2px solid #9aa5b5;
  transform: rotate(45deg);
  transition: transform .16s ease;
}
.nav-group[open] summary::after { transform: rotate(-135deg); }
.nav-group-links {
  display: grid;
  gap: 2px;
}
.nav-group a {
  display: block;
  padding: 8px 10px;
  border-radius: 7px;
  color: #314158;
  font-size: 13px;
  font-weight: 750;
}
.nav-group a:hover { background: #eef7f7; color: var(--deep); }
.nav-group a.active { background: #e7fbf9; color: #0c625f; box-shadow: inset 3px 0 0 var(--teal); }
.nav-disabled {
  display: block;
  padding: 8px 10px;
  border-radius: 7px;
  color: #98a2b3;
  font-size: 12px;
  font-weight: 750;
}
.access-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.access-chip {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 9px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #f7faf9;
  color: #526071;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.access-chip.internal { background: #eff4fa; color: var(--thrivai-navy-wordmark); border-color: #d7e2ed; }
.access-chip.consultant { background: #eefbf9; color: var(--thrivai-teal-dark); border-color: rgba(42,169,165,.28); }
.access-chip.review { background: #fff8e8; color: #8a5b06; border-color: #f0d28a; }
.access-chip.client { background: #f4f7ff; color: #344c8c; border-color: #d6defa; }
.access-chip.ready { background: #ecfdf3; color: #177245; border-color: #bde8cf; }
.stacked-list {
  display: grid;
  gap: 10px;
}
.list-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfefd;
  padding: 12px;
}
.list-card p { margin: 6px 0 0; }
.substance-nav { margin: -6px 0 20px; }
.page { max-width: none; width: 100%; padding: 28px 32px 40px; }
.public-page { max-width: 1240px; margin: 0 auto; }

.dashboard-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 22px;
}
.dashboard-hero h1 { font-size: 32px; line-height: 1.1; }
.dashboard-hero p { max-width: 780px; margin-bottom: 0; }
.dashboard-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 22px;
}
.summary-card {
  min-height: 126px;
  display: grid;
  align-content: space-between;
  gap: 8px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 8px 24px rgba(23,53,81,.05);
}
.summary-card span, .compact-metrics span, .attention-card span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}
.summary-card > strong { color: var(--deep); font-size: 25px; line-height: 1.05; }
.summary-card p strong,
.summary-card li strong,
.summary-card dd strong {
  color: var(--deep);
  font-size: inherit;
  line-height: inherit;
}
.summary-card small { min-height: 30px; line-height: 1.35; }
.dashboard-section, .dashboard-panel { margin-bottom: 20px; }
.attention-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}
.attention-card {
  display: grid;
  gap: 6px;
  padding: 13px 14px;
  border: 1px solid #efd8d4;
  border-left: 4px solid var(--risk);
  border-radius: 8px;
  background: #fff8f6;
}
.attention-card strong { color: var(--risk); font-size: 22px; }
.empty-state.calm {
  grid-column: 1 / -1;
  background: #f4fbfa;
  border-color: #bfe9e6;
  color: #256763;
}
.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.compact-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.compact-metrics a {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f9fbfc;
}
.compact-metrics strong { color: var(--deep); font-size: 19px; }
.dashboard-link-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: -2px 0 14px;
}
.dashboard-link-row a {
  border: 1px solid #bfe9e6;
  border-radius: 999px;
  background: #f4fbfa;
  color: #0c625f;
  font-size: 12px;
  font-weight: 800;
  padding: 7px 10px;
}
.compact-table th, .compact-table td { padding: 9px; }
.dashboard-actions { margin-top: 12px; }
.account-panel { max-width: 760px; }

@media (max-width: 1180px) {
  .dashboard-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .app-shell { grid-template-columns: 204px minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .topbar { height: auto; min-height: 64px; align-items: center; flex-direction: row; padding: 12px 16px; }
  .topbar-account { margin-left: 0; }
  .account-link { display: none; }
  .app-shell { display: block; }
  .sidebar {
    position: static;
    height: auto;
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 12px 16px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .nav-group { min-width: 150px; margin-bottom: 0; }
  .dashboard-summary, .dashboard-grid { grid-template-columns: 1fr; }
  .dashboard-hero { flex-direction: column; }
  .page { padding: 22px 18px 34px; }
}

/* Round 38 official brand system and premium presentation pass */
body {
  background:
    radial-gradient(circle at 100% 0%, rgba(42, 169, 165, .08), transparent 28%),
    linear-gradient(180deg, var(--thrivai-paper) 0%, #f8faf8 42%, #ffffff 100%);
}

a { color: var(--thrivai-navy-wordmark); }
.topbar,
.public-nav {
  background:
    linear-gradient(135deg, var(--thrivai-navy-dark) 0%, var(--thrivai-navy-panel) 100%);
  box-shadow: 0 1px 0 rgba(255,255,255,.08), 0 16px 38px rgba(7,13,27,.12);
}

.brand-logo,
.brand-logo-nav,
.public-logo {
  object-fit: contain;
  background: transparent;
}

.public-hero-logo {
  width: clamp(210px, 21vw, 310px);
  height: auto;
  max-height: 78px;
  margin: 0 0 24px;
}

.panel,
.metric,
.hero,
.question-card,
.public-card,
.action-card,
.output-card,
.summary-card,
.asset-section-card,
.suggestion-card {
  border-color: rgba(19, 33, 54, .12);
  box-shadow: var(--brand-shadow-soft);
}

.panel,
.metric,
.question-card,
.public-card,
.action-card,
.output-card,
.summary-card,
.asset-section-card,
.suggestion-card,
.public-form-panel {
  background: rgba(255,255,255,.94);
}

.button,
button.button {
  border-radius: 8px;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.button:hover,
button.button:hover,
.action-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 34px rgba(7,13,27,.1);
}

.button.primary,
.public-primary {
  background: linear-gradient(135deg, var(--thrivai-teal-primary), var(--thrivai-teal-dark));
  border-color: var(--thrivai-teal-primary);
  color: var(--thrivai-white);
  box-shadow: 0 10px 22px rgba(42,169,165,.2);
}

.public-cta,
.topbar-button {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.24);
  color: var(--thrivai-white);
}

.eyebrow {
  color: var(--thrivai-teal-dark);
  letter-spacing: .08em;
}

.public-hero .eyebrow,
.pack-preview-hero .eyebrow,
.public-result-hero .eyebrow {
  color: var(--thrivai-teal-light);
}

.public-hero,
.pack-preview-hero,
.public-result-hero {
  background:
    radial-gradient(circle at 80% 10%, rgba(91,196,192,.24), transparent 28%),
    linear-gradient(135deg, var(--thrivai-navy-dark) 0%, var(--thrivai-navy-panel) 68%, #163b43 100%);
}

.public-hero-premium {
  min-height: 660px;
}

.public-hero-premium::before {
  background:
    radial-gradient(circle at 78% 18%, rgba(91,196,192,.22), transparent 32%),
    radial-gradient(circle at 18% 82%, rgba(42,169,165,.14), transparent 30%),
    linear-gradient(135deg, rgba(7,13,27,.98), rgba(19,33,54,.95) 62%, rgba(31,135,131,.72));
}

.public-lede {
  color: rgba(255,255,255,.84);
}

.hero-proof-row span {
  background: rgba(255,255,255,.08);
  border-color: rgba(91,196,192,.28);
  color: #eefdfb;
}

.method-flow div,
.work-product-grid span {
  background: linear-gradient(180deg, #ffffff, #fbfdfb);
  border-color: rgba(42,169,165,.18);
}

.work-product-grid span {
  border-left-color: var(--thrivai-teal-primary);
}

.public-section {
  padding-top: 58px;
  padding-bottom: 58px;
}

.public-card-emphasis {
  border-top-color: var(--thrivai-teal-primary);
}

.sidebar {
  background: linear-gradient(180deg, #ffffff, #fbfaf7);
}

.nav-group a.active {
  background: rgba(42,169,165,.11);
  color: var(--thrivai-teal-dark);
  box-shadow: inset 3px 0 0 var(--thrivai-teal-primary);
}

.nav-group a:hover {
  background: rgba(42,169,165,.08);
}

.pack-preview-frame,
.draft-preview iframe,
iframe {
  box-shadow: var(--brand-shadow-soft);
}

/* Round 39C public snapshot landing polish */
.snapshot-landing-page {
  background:
    radial-gradient(circle at 8% 8%, rgba(91,196,192,.12), transparent 28%),
    linear-gradient(180deg, var(--thrivai-paper) 0%, #ffffff 42%, var(--thrivai-paper) 100%);
}
.snapshot-public-nav {
  position: relative;
  z-index: 5;
  flex-wrap: wrap;
  padding-top: 12px;
  padding-bottom: 12px;
}
.snapshot-nav-action {
  white-space: nowrap;
  flex: 0 0 auto;
}
.snapshot-landing-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 450px);
  gap: clamp(30px, 5vw, 70px);
  align-items: start;
  overflow: hidden;
  color: var(--thrivai-white);
  padding: clamp(12px, 2.5vw, 28px) clamp(20px, 6vw, 82px) clamp(48px, 7vw, 78px);
  background:
    radial-gradient(circle at 82% 16%, rgba(91,196,192,.28), transparent 30%),
    radial-gradient(circle at 16% 90%, rgba(42,169,165,.16), transparent 30%),
    linear-gradient(135deg, var(--thrivai-navy-dark) 0%, var(--thrivai-navy-panel) 66%, #123c43 100%);
}
.engagement-paths-hero {
  grid-template-columns: minmax(0, 1120px);
  justify-content: center;
  padding-bottom: clamp(42px, 6vw, 70px);
}
.engagement-paths-hero .snapshot-landing-copy {
  max-width: 1120px;
}
.snapshot-landing-copy { max-width: 980px; }
.snapshot-landing-hero h1 {
  color: var(--thrivai-white);
  font-size: clamp(38px, 4.8vw, 62px);
  line-height: 1.05;
  max-width: 880px;
  margin-bottom: 16px;
}
.snapshot-landing-hero .public-lede {
  max-width: 760px;
  font-size: clamp(17px, 1.7vw, 20px);
}
.public-site h1,
.public-site h2,
.public-site h3,
.public-site strong,
.public-site .button {
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}
.public-site p,
.public-site li,
.public-site span {
  overflow-wrap: break-word;
}
.public-site .button {
  align-items: center;
  justify-content: center;
  line-height: 1.2;
}
.snapshot-proof-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}
.snapshot-proof-strip span {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(91,196,192,.28);
  border-radius: 999px;
  color: #eefdfb;
  font-size: 13px;
  font-weight: 850;
  padding: 8px 12px;
}
.snapshot-preview-card {
  position: relative;
  z-index: 1;
  background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(250,253,252,.95));
  border: 1px solid rgba(91,196,192,.24);
  border-radius: 8px;
  box-shadow: 0 26px 70px rgba(0,0,0,.22);
  color: var(--thrivai-ink);
  min-width: 0;
  overflow: visible;
  padding: clamp(22px, 3vw, 30px);
}
.snapshot-preview-card h2 {
  color: var(--thrivai-navy-wordmark);
  font-size: clamp(20px, 2.5vw, 27px);
  line-height: 1.08;
}
.sample-scorecard-label {
  color: var(--thrivai-teal-dark);
}
.snapshot-scale {
  background:
    radial-gradient(circle at 86% 12%, rgba(91,196,192,.24), transparent 30%),
    linear-gradient(135deg, var(--thrivai-navy-dark), var(--thrivai-navy-panel));
  border-radius: 8px;
  color: #fff;
  margin: 18px 0;
  padding: 18px 18px 20px;
}
.readiness-scale-component {
  min-width: 0;
}
.snapshot-scale-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}
.snapshot-scale-topline span {
  color: #cfe7e5;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.snapshot-scale-topline strong {
  color: #fff;
  font-size: 28px;
}
.snapshot-scale-track {
  position: relative;
  height: 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  overflow: visible;
  margin: 0 10px;
}
.snapshot-scale-fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: 42%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--thrivai-teal-dark), var(--thrivai-teal-light));
}
.snapshot-current-position-marker {
  position: absolute;
  left: 42%;
  top: 50%;
  width: 19px;
  height: 19px;
  border: 3px solid #fff;
  border-radius: 999px;
  background: var(--thrivai-teal-primary);
  box-shadow: 0 8px 18px rgba(0,0,0,.25);
  transform: translate(-50%, -50%);
}
.snapshot-current-position-marker i {
  position: absolute;
  left: 50%;
  top: 31px;
  transform: translateX(-50%);
  white-space: nowrap;
  color: #eafcfb;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}
.snapshot-scale-labels {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-top: 58px;
}
.snapshot-scale-labels span {
  color: #cfe7e5;
  font-size: 10px;
  font-weight: 750;
  line-height: 1.18;
  overflow-wrap: break-word;
  text-align: center;
}
.readiness-scale-note {
  color: #d6f1ef;
  font-size: 12px;
  line-height: 1.45;
  margin: 18px 0 0;
}
.snapshot-scorecard-rows {
  display: grid;
  gap: 9px;
}
.snapshot-scorecard-rows div {
  display: grid;
  gap: 4px;
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(19,33,54,.11);
  border-left: 4px solid rgba(42,169,165,.58);
  border-radius: 8px;
  padding: 11px 12px;
}
.snapshot-scorecard-rows span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}
.snapshot-scorecard-rows strong {
  display: block;
  color: var(--deep);
  font-size: 14px;
  line-height: 1.32;
}
.snapshot-domain-scorecard {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.snapshot-domain-card {
  background: #fff;
  border: 1px solid rgba(19,33,54,.12);
  border-radius: 8px;
  box-shadow: 0 12px 26px rgba(19,33,54,.06);
  display: grid;
  gap: 10px;
  grid-template-rows: 62px 10px auto auto auto auto;
  padding: 16px;
}
.snapshot-domain-card > div:first-child {
  align-items: flex-start;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  min-height: 0;
}
.snapshot-domain-card span {
  color: var(--thrivai-navy-wordmark);
  font-size: 13px;
  font-weight: 850;
}
.snapshot-domain-card strong {
  color: var(--thrivai-teal-dark);
  font-size: 18px;
}
.snapshot-domain-card p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
  margin: 0;
}
.snapshot-domain-bar {
  background: rgba(19,33,54,.11);
  border-radius: 999px;
  height: 10px;
  overflow: hidden;
}
.snapshot-domain-bar i {
  background: linear-gradient(90deg, var(--thrivai-teal-dark), var(--thrivai-teal-light));
  border-radius: 999px;
  display: block;
  height: 100%;
}
.snapshot-three-column {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.snapshot-three-column article {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(19,33,54,.1);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 18px;
}
.snapshot-three-column h3 {
  color: var(--thrivai-navy-wordmark);
  margin-top: 0;
}
.snapshot-three-column article > strong,
.snapshot-three-column article > span,
.snapshot-two-column article > strong,
.snapshot-two-column article > span {
  display: block;
}
.snapshot-three-column article > strong + span,
.snapshot-two-column article > strong + span {
  margin-top: 6px;
}
.public-funnel-path {
  display: grid;
  gap: 18px;
}
.funnel-step-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.funnel-step-grid article {
  background: #fff;
  border: 1px solid rgba(19,33,54,.1);
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(19,33,54,.07);
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 16px;
}
.funnel-step-grid article span {
  align-items: center;
  background: rgba(12,175,174,.13);
  border: 1px solid rgba(12,175,174,.24);
  border-radius: 999px;
  color: var(--thrivai-teal-dark);
  display: inline-flex;
  font-weight: 900;
  height: 30px;
  justify-content: center;
  width: 30px;
}
.funnel-step-grid article strong {
  color: var(--thrivai-navy-wordmark);
  font-size: 14px;
  line-height: 1.2;
}
.funnel-step-grid article p {
  margin: 0;
}
.funnel-step-grid article p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
  margin: 0;
}
.process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 18px;
}
.process-grid article {
  min-width: 0;
  background:
    radial-gradient(circle at 90% 12%, rgba(91,196,192,.22), transparent 30%),
    linear-gradient(180deg, var(--thrivai-navy-panel), var(--thrivai-navy-dark));
  border: 1px solid rgba(91,196,192,.24);
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(7,13,27,.14);
  color: #fff;
  padding: 22px;
}
.process-grid strong {
  display: block;
  color: #fff;
  font-size: 20px;
  margin-bottom: 8px;
}
.process-grid span {
  color: #d9e6ee;
  display: block;
  font-size: 14px;
  line-height: 1.45;
}
.snapshot-five-card-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.snapshot-problem-grid {
  gap: 22px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
}
.snapshot-problem-grid article {
  display: grid;
  gap: 8px;
  grid-template-rows: minmax(18px, auto) minmax(64px, auto) minmax(0, 1fr);
}
.snapshot-problem-grid .eyebrow,
.snapshot-problem-grid h2,
.snapshot-problem-grid p:not(.eyebrow) {
  margin: 0;
}
.engagement-fit-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.engagement-fit-grid article {
  display: grid;
  gap: 10px;
}
.engagement-fit-grid article a {
  color: var(--thrivai-teal-primary);
  display: inline-flex;
  font-weight: 850;
  margin-top: 14px;
  text-decoration-color: rgba(31,135,131,.42);
  text-underline-offset: 3px;
}
.snapshot-method-flow strong {
  color: var(--thrivai-teal-dark);
}
.snapshot-question-page .public-form-panel {
  max-width: 1240px;
}
.snapshot-proof-strip.light span {
  background: rgba(42,169,165,.1);
  border-color: rgba(42,169,165,.26);
  color: var(--thrivai-navy-wordmark);
}
.email-preview {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  font-family: inherit;
  line-height: 1.5;
  max-height: 360px;
  overflow: auto;
  padding: 14px;
  white-space: pre-wrap;
}
.snapshot-preview-note {
  color: var(--muted);
  font-size: 13px;
  margin-bottom: 0;
}
.snapshot-section-heading {
  max-width: 860px;
  margin-bottom: 24px;
}
.snapshot-section-heading h2 {
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.05;
}
.snapshot-section-heading p:not(.eyebrow) {
  font-size: 17px;
  color: #435167;
}
.snapshot-diagnostic-grid,
.snapshot-evaluation-grid,
.snapshot-output-preview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
}
.snapshot-intro-section .snapshot-diagnostic-grid {
  margin-top: 40px;
}
.snapshot-diagnostic-grid article,
.snapshot-evaluation-grid div,
.snapshot-output-preview-grid article {
  min-width: 0;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(19,33,54,.12);
  border-radius: 8px;
  box-shadow: var(--brand-shadow-soft);
  padding: 18px;
}
.snapshot-diagnostic-grid strong,
.snapshot-evaluation-grid strong,
.snapshot-output-preview-grid strong {
  display: block;
  color: var(--deep);
  font-size: 17px;
  margin-bottom: 7px;
}
.snapshot-diagnostic-grid span,
.snapshot-evaluation-grid span,
.snapshot-output-preview-grid p {
  color: var(--muted);
  line-height: 1.45;
  margin: 0;
}
.snapshot-output-preview-grid article span {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: var(--thrivai-teal-primary);
  color: #fff;
  font-weight: 850;
  margin-bottom: 12px;
}
.snapshot-results-preview {
  padding-top: 34px;
}
.snapshot-method-section h2 {
  max-width: 820px;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.05;
}
.snapshot-final-band {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  background:
    radial-gradient(circle at 82% 18%, rgba(91,196,192,.24), transparent 28%),
    linear-gradient(135deg, var(--thrivai-navy-dark), var(--thrivai-navy-panel));
  border-radius: 8px;
  color: #fff;
  margin-bottom: 58px;
}
.snapshot-final-band h2 {
  color: #fff;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.05;
}
.snapshot-final-band p:not(.eyebrow) {
  color: #d9e6ee;
  max-width: 820px;
}
.snapshot-final-actions {
  display: grid;
  gap: 12px;
  justify-self: end;
  width: min(100%, 390px);
}
.snapshot-final-actions .button {
  text-align: center;
  white-space: normal;
  width: 100%;
}

@media (max-width: 1180px) {
  .snapshot-domain-scorecard,
  .snapshot-five-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .process-grid,
  .snapshot-standard-grid,
  .engagement-fit-grid,
  .funnel-step-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .snapshot-public-nav {
    min-height: auto;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 14px 16px;
  }
  .snapshot-public-nav .public-brand-logo {
    min-width: 0;
    flex: 1 1 126px;
  }
  .snapshot-public-nav .public-logo {
    width: min(126px, 44vw);
    height: auto;
    max-height: 42px;
  }
  .snapshot-nav-action {
    flex: 0 1 auto;
    padding: 8px 10px;
    font-size: 13px;
  }
  .snapshot-landing-hero {
    grid-template-columns: 1fr;
    padding: 18px 16px 34px;
  }
  .snapshot-landing-hero h1 {
    font-size: clamp(32px, 9.5vw, 44px);
  }
  .snapshot-hero-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .snapshot-hero-actions .button {
    text-align: center;
    width: 100%;
  }
  .snapshot-proof-strip span {
    font-size: 12px;
    padding: 7px 10px;
  }
  .snapshot-preview-card {
    padding: 18px;
  }
  .snapshot-scale-labels {
    gap: 4px;
    margin-top: 60px;
  }
  .snapshot-section-heading h2,
  .snapshot-method-section h2,
  .snapshot-final-band h2 {
    font-size: 30px;
  }
  .snapshot-diagnostic-grid,
  .snapshot-evaluation-grid,
  .snapshot-output-preview-grid {
    grid-template-columns: 1fr;
  }
  .snapshot-summary-grid .snapshot-insight-card .eyebrow,
  .snapshot-summary-grid .snapshot-insight-card h2 {
    min-height: 0;
    white-space: normal;
  }
  .snapshot-summary-grid .snapshot-insight-card,
  .snapshot-domain-card {
    grid-template-rows: auto;
  }
  .snapshot-domain-scorecard,
  .snapshot-five-card-grid,
  .snapshot-options,
  .process-grid,
  .snapshot-standard-grid,
  .engagement-fit-grid,
  .snapshot-problem-grid {
    grid-template-columns: 1fr;
  }
  .snapshot-problem-grid article {
    grid-template-rows: auto;
  }
  .snapshot-final-band {
    grid-template-columns: 1fr;
    margin: 0 16px 42px;
    padding: 24px;
  }
  .snapshot-final-actions {
    justify-self: stretch;
    width: 100%;
  }
  .snapshot-final-band .button {
    text-align: center;
    width: 100%;
  }
  .public-section {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* Round 81 visual QA layout hardening */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img,
svg,
video,
iframe {
  max-width: 100%;
}

p,
li,
td,
th,
dd,
small,
.badge,
.button,
.action-card,
.output-card,
.summary-card,
.metric,
.panel,
.public-card,
.snapshot-insight-card,
.snapshot-section-panel,
.mini-card,
.review-card {
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}

.page-title,
.dashboard-hero,
.section-heading,
.module-card-header,
.public-nav,
.snapshot-public-nav {
  min-width: 0;
}

.section-heading,
.module-card-header {
  align-items: flex-start;
  flex-wrap: wrap;
}

.module-card-header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.module-card-header > *,
.section-heading > *,
.page-title > *,
.dashboard-hero > * {
  min-width: 0;
}

.card-grid,
.checklist-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 14px;
}

.card-grid.visual-demo-grid,
.card-grid.output-gallery-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr));
  gap: 16px;
}

.output-gallery-card,
.gold-output-card,
.composer-sample-card {
  min-height: 0;
}

.output-gallery-card p,
.gold-output-card p,
.composer-sample-card p {
  margin: 0;
}

.output-gallery-card .module-card-header,
.gold-output-card .module-card-header,
.composer-sample-card .module-card-header {
  margin-bottom: 2px;
}

.output-gallery-card .module-card-header h3,
.gold-output-card .module-card-header h3,
.composer-sample-card .module-card-header h3 {
  font-size: 16px;
  line-height: 1.25;
  margin-top: 4px;
}

.output-gallery-card .button-row,
.gold-output-card .button-row,
.composer-sample-card .button-row {
  margin-top: 8px;
}

.output-gallery-featured-panel,
.report-composer-workflow-panel,
.ip-showcase-section {
  overflow-x: visible;
}

.recommended-output-card,
.composer-sample-card,
.ip-showcase-card {
  border-top: 4px solid var(--thrivai-teal-primary);
}

.recommended-output-card {
  background:
    linear-gradient(180deg, rgba(42,169,165,.05), rgba(255,255,255,0) 34%),
    #fff;
}

.additional-output-details {
  display: grid;
  gap: 12px;
}

.additional-output-details summary {
  color: var(--deep);
  cursor: pointer;
  font-weight: 850;
}

.ip-showcase-card {
  gap: 12px;
}

.ip-showcase-card p {
  margin: 0;
}

.ip-showcase-card .button-row,
.composer-sample-card .button-row {
  margin-top: auto;
}

.visual-section-note {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
  max-width: 880px;
}

.card-grid > *,
.checklist-grid > *,
.action-grid > *,
.output-grid > *,
.public-grid > *,
.snapshot-standard-grid > *,
.snapshot-five-card-grid > *,
.engagement-fit-grid > *,
.grid.two > *,
.grid.three > * {
  min-width: 0;
}

.checklist-grid article {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 16px;
}

.checklist-grid strong {
  align-items: center;
  background: var(--thrivai-teal-primary);
  border-radius: 999px;
  color: #fff;
  display: inline-grid;
  font-size: 12px;
  height: 28px;
  justify-content: center;
  width: 28px;
}

.checklist-grid span {
  color: var(--muted);
  line-height: 1.45;
}

.summary-card,
.action-card,
.output-card,
.public-card,
.metric,
.mini-card,
.review-card,
.snapshot-insight-card,
.snapshot-domain-card {
  min-width: 0;
  overflow: hidden;
}

.summary-card {
  align-content: start;
}

.summary-card h3,
.action-card strong,
.output-card h2,
.public-card strong,
.metric strong {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.button,
button.button {
  line-height: 1.25;
  max-width: 100%;
  text-align: center;
  white-space: normal;
}

.actions,
.button-row,
.dashboard-link-row,
.pack-preview-actions,
.snapshot-hero-actions {
  min-width: 0;
}

.panel:has(.clean-table),
.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.clean-table {
  min-width: min(760px, 100%);
}

.clean-table th,
.clean-table td {
  min-width: 110px;
  overflow-wrap: break-word;
}

.clean-table th:first-child,
.clean-table td:first-child {
  min-width: 160px;
}

pre,
code,
.draft-text,
.email-preview,
.asset-section-body {
  max-width: 100%;
  overflow-x: auto;
}

.empty-state {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.brand-logo,
.brand-logo-nav,
.public-logo,
.brand-logo-hero,
.public-hero-logo {
  flex-shrink: 0;
}

@media (max-width: 760px) {
  h1 {
    font-size: clamp(26px, 8vw, 34px);
    line-height: 1.08;
  }

  h2 {
    line-height: 1.18;
  }

  .page {
    padding: 18px 14px 30px;
  }

  .public-page {
    padding-left: 14px;
    padding-right: 14px;
  }

  .public-home {
    margin-left: -14px;
    margin-right: -14px;
  }

  .public-hero,
  .public-result-hero {
    padding: 34px 16px 42px;
  }

  .public-hero-premium {
    min-height: auto;
  }

  .public-hero h1,
  .public-result-hero h1 {
    font-size: clamp(32px, 10vw, 44px);
  }

  .public-lede {
    font-size: 16px;
  }

  .public-topnav,
  .topbar-account,
  .button-row,
  .actions {
    width: 100%;
  }

  .public-topnav,
  .button-row,
  .actions {
    align-items: stretch;
  }

  .button-row .button,
  .actions .button,
  .public-topnav a {
    flex: 1 1 auto;
  }

  .method-flow,
  .dashboard-summary,
  .dashboard-grid,
  .grid.two,
  .grid.three,
  .grid.four,
  .grid.five,
  .snapshot-standard-grid,
  .snapshot-method-row,
  .engagement-fit-grid,
  .snapshot-five-card-grid {
    grid-template-columns: 1fr;
  }

  .clean-table {
    min-width: 680px;
  }

  .metric strong,
  .summary-card > strong {
    font-size: clamp(20px, 7vw, 26px);
  }

  .topbar {
    gap: 10px;
    justify-content: flex-start;
  }

  .brand-logo,
  .brand-logo-nav {
    width: min(156px, 52vw);
    height: 40px;
  }
}

/* Round 88 mobile and tablet responsive QA pass */
.responsive-table,
.clean-table.responsive-table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.public-nav .button-row,
.snapshot-public-nav .button-row {
  min-width: 0;
}

.public-nav .button,
.snapshot-public-nav .button {
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}

.public-form-panel,
.snapshot-preview-card,
.snapshot-section-panel,
.snapshot-final-band,
.pack-preview-frame,
.summary-card {
  max-width: 100%;
}

.asset-section-card dl,
.prompt-card dl {
  grid-template-columns: minmax(100px, 150px) minmax(0, 1fr);
}

.prompt-catalog-table {
  min-width: 720px;
}

@media (max-width: 1020px) {
  .snapshot-options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .public-nav {
    flex-wrap: wrap;
  }

  .public-nav .button-row {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .topbar {
    position: static;
  }

  .sidebar {
    max-width: 100%;
    scroll-padding-inline: 16px;
  }

  .public-nav,
  .snapshot-public-nav {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 10px;
    min-height: auto;
    padding: 12px 14px;
  }

  .public-brand-logo,
  .snapshot-public-nav .public-brand-logo {
    flex: 1 1 140px;
    min-width: 0;
  }

  .public-nav .button-row,
  .snapshot-public-nav .button-row {
    display: flex;
    flex: 1 1 100%;
    gap: 8px;
    width: 100%;
  }

  .public-nav .button,
  .snapshot-public-nav .button,
  .snapshot-nav-action {
    flex: 1 1 100%;
    font-size: 13px;
    padding: 8px 10px;
    text-align: center;
    white-space: normal;
  }

  .public-logo,
  .snapshot-public-nav .public-logo {
    height: auto;
    max-height: 40px;
    width: min(148px, 50vw);
  }

  .public-form-page {
    min-height: auto;
    padding: 22px 14px 34px;
  }

  .public-form-panel {
    padding: 20px 16px;
  }

  .public-form-panel h1,
  .snapshot-landing-hero h1,
  .snapshot-result-hero h1 {
    font-size: clamp(30px, 9vw, 40px);
    line-height: 1.08;
  }

  .snapshot-result-hero,
  .snapshot-landing-hero {
    gap: 22px;
  }

  .snapshot-score-panel,
  .snapshot-preview-card {
    padding: 18px;
  }

  .snapshot-score-panel strong {
    font-size: clamp(44px, 15vw, 62px);
  }

  .snapshot-section-heading h2,
  .snapshot-method-section h2,
  .snapshot-final-band h2,
  .public-section h2 {
    font-size: clamp(24px, 7.5vw, 32px);
  }

  .snapshot-summary-grid {
    margin-top: 16px;
  }

  .snapshot-options {
    grid-template-columns: 1fr;
  }

  .snapshot-question {
    padding: 14px;
  }

  .snapshot-question legend {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px;
  }

  .snapshot-question legend span {
    margin-right: 0;
  }

  .snapshot-final-band {
    margin-left: 0;
    margin-right: 0;
  }

  .action-grid,
  .output-grid,
  .asset-section-grid,
  .featured-prompt-samples .asset-section-body {
    grid-template-columns: 1fr;
  }

  .asset-section-card dl,
  .prompt-card dl,
  dl {
    grid-template-columns: 1fr;
  }

  .metric,
  .panel,
  .action-card,
  .summary-card,
  .snapshot-insight-card,
  .snapshot-section-panel,
  .public-card {
    padding: 16px;
  }

  .sticky-actions,
  .sticky-top-actions {
    position: static;
    flex-wrap: wrap;
  }

  .clean-table,
  .prompt-catalog-table {
    min-width: 640px;
  }
}

@media (max-width: 480px) {
  .page {
    padding-left: 12px;
    padding-right: 12px;
  }

  .public-section {
    padding-left: 14px;
    padding-right: 14px;
  }

  .public-hero h1,
  .public-result-hero h1,
  .snapshot-landing-hero h1,
  .snapshot-result-hero h1 {
    font-size: 30px;
  }

  .brand-logo,
  .brand-logo-nav,
  .public-logo {
    width: min(140px, 56vw);
  }

  .hero-proof-row span,
  .snapshot-proof-strip span,
  .badge {
    font-size: 11px;
  }
}

/* Round 92 browser screenshot QA fixes */
.public-brand-lockup {
  min-width: 0;
}

.public-brand-lockup .brand-logo {
  width: clamp(168px, 18vw, 196px);
}

@media (max-width: 760px) {
  .topbar {
    flex-wrap: wrap;
    overflow: hidden;
  }

  .topbar .public-brand-lockup {
    flex: 1 1 100%;
    min-width: 0;
  }

  .public-page,
  .public-home,
  .snapshot-landing-page,
  .snapshot-result-page {
    max-width: 100%;
    overflow-x: hidden;
  }

  .public-home {
    margin-left: -12px;
    margin-right: -12px;
    max-width: none;
    width: calc(100% + 24px);
  }

  .topbar .public-topnav {
    display: grid;
    flex: 1 1 100%;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
    width: 100%;
  }

  .topbar .public-topnav a {
    display: block;
    min-width: 0;
    text-align: center;
    white-space: normal;
  }

  .public-hero,
  .public-section,
  .public-hero h1,
  .public-hero .eyebrow,
  .public-lede {
    max-width: 100%;
  }

  .public-hero .button-row,
  .snapshot-landing-hero .button-row,
  .engagement-paths-hero .button-row,
  .snapshot-hero-actions,
  .snapshot-final-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .public-hero .button-row .button,
  .snapshot-landing-hero .button-row .button,
  .engagement-paths-hero .button-row .button,
  .snapshot-hero-actions .button,
  .snapshot-final-actions .button {
    display: block;
    min-width: 0;
    width: 100%;
  }

  .public-hero-inner,
  .snapshot-landing-copy,
  .snapshot-landing-hero > *,
  .snapshot-result-hero > *,
  .snapshot-preview-card,
  .snapshot-scale,
  .readiness-scale-component {
    max-width: 100%;
    min-width: 0;
  }

  .snapshot-scale {
    overflow: hidden;
    padding: 16px;
  }

  .snapshot-scale-topline {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .snapshot-scale-topline strong {
    font-size: clamp(20px, 7vw, 25px);
    line-height: 1.05;
    max-width: 100%;
    overflow-wrap: break-word;
  }

  .snapshot-scale-track {
    margin-left: 4px;
    margin-right: 4px;
  }

  .snapshot-scale-labels {
    gap: 4px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 54px;
    row-gap: 8px;
  }

  .snapshot-scale-labels span {
    font-size: 8px;
    overflow-wrap: normal;
    white-space: nowrap;
  }

  .hero-proof-row,
  .snapshot-proof-strip,
  .funnel-step-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .hero-proof-row span,
  .snapshot-proof-strip span {
    border-radius: 8px;
    text-align: center;
  }

  .sidebar {
    max-height: 112px;
  }

  .sidebar .nav-group {
    min-width: min(76vw, 190px);
  }
}

/* Round 106 demo/private-beta polish */
.demo-curated-grid,
.ip-showcase-grid,
.operator-path-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}

.demo-step-card,
.ip-showcase-card,
.operator-path-card,
.offer-choice-panel,
.offer-practice-panel,
.security-status-callout {
  min-width: 0;
  overflow: hidden;
}

.demo-step-card,
.ip-showcase-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--brand-shadow-soft);
  padding: 18px;
}

.demo-step-card {
  display: grid;
  gap: 14px;
  grid-template-columns: 42px minmax(0, 1fr);
}
.demo-tool-card,
.demo-objection-card {
  grid-template-columns: minmax(0, 1fr);
}

.demo-step-number {
  align-items: center;
  background: var(--thrivai-teal-primary);
  border-radius: 999px;
  color: #fff;
  display: inline-grid;
  font-weight: 800;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.demo-step-body,
.demo-step-header,
.ip-showcase-card,
.operator-checklist div {
  min-width: 0;
}

.demo-step-header {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: space-between;
}

.demo-step-card h3,
.ip-showcase-card h3,
.operator-path-card strong,
.snapshot-standard-grid article strong,
.snapshot-three-column article h3,
.snapshot-two-column article h3 {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.demo-step-card p,
.ip-showcase-card p {
  color: var(--muted);
  line-height: 1.55;
  overflow-wrap: normal;
  word-break: normal;
}

.demo-step-open-block {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  padding: 12px;
}

.demo-step-open-block p {
  margin: 0;
}

.offer-comparison-table .clean-table {
  min-width: 860px;
}
.offer-comparison-table .clean-table th,
.offer-comparison-table .clean-table td {
  padding-top: 14px;
  padding-bottom: 14px;
}
.offer-comparison-table .clean-table td:first-child strong {
  display: block;
  margin-bottom: 6px;
}
.offer-comparison-table .clean-table td:first-child span {
  display: block;
  margin-top: 3px;
}

.snapshot-three-column article {
  gap: 6px;
}

.snapshot-three-column h3 {
  margin-bottom: 4px;
}

.snapshot-three-column article p {
  margin: 0;
}

.snapshot-three-column article p + strong,
.snapshot-three-column article p + span,
.snapshot-three-column article strong + span,
.snapshot-three-column article span + p {
  margin-top: 6px;
}

.security-status-callout {
  border-left: 4px solid var(--thrivai-teal-primary);
}

@media (max-width: 760px) {
  .demo-step-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .demo-step-number {
    height: 30px;
    width: 30px;
  }
}

/* Round 123 final copy, claims, caveats, and mobile QA */
.public-site h1,
.public-site h2,
.public-site h3,
.demo-step-card h3,
.gold-output-card h3,
.output-gallery-card h3,
.composer-sample-card h3 {
  text-wrap: balance;
}

.public-site .button,
.snapshot-final-band .button,
.demo-step-card .button,
.gold-output-card .button,
.output-gallery-card .button,
.composer-sample-card .button {
  overflow-wrap: break-word;
  word-break: normal;
}

.snapshot-standard-grid article,
.snapshot-five-card-grid article,
.engagement-fit-grid article,
.snapshot-three-column article,
.snapshot-two-column article,
.demo-step-card,
.ip-showcase-card,
.gold-output-card,
.output-gallery-card,
.composer-sample-card {
  align-content: start;
}

.snapshot-three-column article > strong,
.snapshot-three-column article > span,
.snapshot-two-column article > strong,
.snapshot-two-column article > span {
  line-height: 1.25;
}

.table-scroll,
.panel:has(.clean-table),
.responsive-table {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 640px) {
  .public-site .eyebrow {
    line-height: 1.25;
  }

  .snapshot-landing-hero,
  .snapshot-result-hero,
  .snapshot-final-band {
    border-radius: 0;
  }

  .snapshot-landing-hero .public-lede,
  .snapshot-final-band p:not(.eyebrow),
  .snapshot-preview-note {
    font-size: 15px;
    line-height: 1.48;
  }

  .snapshot-three-column,
  .snapshot-two-column,
  .snapshot-standard-grid,
  .snapshot-five-card-grid,
  .engagement-fit-grid,
  .snapshot-problem-grid,
  .demo-curated-grid,
  .ip-showcase-grid,
  .card-grid.visual-demo-grid,
  .card-grid.output-gallery-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .snapshot-problem-grid article {
    grid-template-rows: auto;
  }

  .snapshot-preview-card,
  .snapshot-section-panel,
  .demo-step-card,
  .ip-showcase-card,
  .gold-output-card,
  .output-gallery-card,
  .composer-sample-card {
    padding: 16px;
  }

  .module-card-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .module-card-header .badge {
    justify-self: start;
    white-space: normal;
  }

  .button-row,
  .snapshot-hero-actions,
  .snapshot-final-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .button-row .button,
  .snapshot-hero-actions .button,
  .snapshot-final-actions .button {
    min-width: 0;
    width: 100%;
  }
}

/* Round 107 Operations Overhaul polish */
.operations-score-grid,
.operations-build-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
}

.operations-score-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--brand-shadow-soft);
  min-width: 0;
  padding: 16px;
}

.operations-score-topline {
  align-items: flex-start;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.operations-score-topline strong {
  color: var(--deep);
  line-height: 1.25;
}

.operations-score-topline span {
  color: var(--thrivai-teal-dark);
  font-size: 28px;
  font-weight: 850;
  line-height: 1;
}

.operations-score-card small,
.recommended-workflow-card p {
  color: var(--muted);
}

.operations-os-hero .access-labels,
.recommended-workflow-card .grid.two {
  margin-top: 12px;
}

/* ==========================================================================
   ThrivAI AOM Framework — Proprietary IP Component Styles
   ========================================================================== */

/* --------------------------------------------------------------------------
   AOM Framework Strip (Dashboard)
   -------------------------------------------------------------------------- */
.aom-framework-strip {
  margin: 0 0 32px 0;
}

.aom-framework-row {
  display: flex;
  align-items: stretch;
  gap: 0;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
}

.aom-phase-card {
  flex: 1;
  padding: 20px 16px;
  text-align: center;
  border-right: 1px solid var(--border);
  background: var(--surface);
  transition: background 0.15s;
}

.aom-phase-card:last-child {
  border-right: none;
}

.aom-phase-card:hover {
  background: var(--surface-raised);
}

.aom-phase-num {
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--thrivai-teal);
  margin-bottom: 4px;
}

.aom-phase-card strong {
  display: block;
  font-size: 15px;
  font-weight: 800;
  color: var(--deep);
  margin-bottom: 6px;
}

.aom-phase-card p {
  font-size: 12px;
  color: var(--muted);
  margin: 0;
  line-height: 1.4;
}

.aom-phase-arrow {
  display: flex;
  align-items: center;
  padding: 0 8px;
  color: var(--thrivai-teal);
  font-size: 18px;
  font-weight: 300;
}

/* --------------------------------------------------------------------------
   7-Module Grid (Dashboard)
   -------------------------------------------------------------------------- */
.module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 16px;
  margin-top: 16px;
}

.module-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 20px 16px;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.module-card:hover {
  border-color: var(--thrivai-teal);
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}

.module-acronym {
  font-size: 22px;
  font-weight: 900;
  color: var(--thrivai-teal);
  letter-spacing: -0.5px;
  line-height: 1;
}

.module-card strong {
  font-size: 13px;
  font-weight: 700;
  color: var(--deep);
  line-height: 1.3;
}

.module-card p {
  font-size: 12px;
  color: var(--muted);
  margin: 0;
  line-height: 1.4;
}

/* --------------------------------------------------------------------------
   Score Hero Block
   -------------------------------------------------------------------------- */
.score-hero-block {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 28px 24px;
  border-radius: 12px;
  border: 2px solid var(--border);
  text-align: center;
  min-width: 160px;
}

.score-hero-block.band-danger  { background: #fff1f0; border-color: #f5222d; }
.score-hero-block.band-warning { background: #fffbe6; border-color: #faad14; }
.score-hero-block.band-info    { background: #e6f7ff; border-color: #1890ff; }
.score-hero-block.band-success { background: #f6ffed; border-color: #52c41a; }

.score-hero-number {
  font-size: 52px;
  font-weight: 900;
  line-height: 1;
  color: var(--deep);
}

.score-hero-label {
  font-size: 18px;
  font-weight: 600;
  color: var(--muted);
}

.score-hero-band {
  margin-top: 6px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--deep);
}

.score-hero-description {
  margin: 6px 0 0 0;
  font-size: 11px;
  color: var(--muted);
  line-height: 1.4;
}

/* --------------------------------------------------------------------------
   Score Band Row (AOMS Dashboard)
   -------------------------------------------------------------------------- */
.score-band-row {
  display: flex;
  gap: 12px;
  margin-top: 20px;
  flex-wrap: wrap;
}

.score-band-card {
  flex: 1;
  min-width: 160px;
  padding: 16px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: var(--surface);
}

.score-band-card.band-danger  { border-left: 4px solid #f5222d; }
.score-band-card.band-warning { border-left: 4px solid #faad14; }
.score-band-card.band-info    { border-left: 4px solid #1890ff; }
.score-band-card.band-success { border-left: 4px solid #52c41a; }

.band-range {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
  display: block;
  margin-bottom: 4px;
}

.score-band-card strong {
  display: block;
  font-size: 14px;
  font-weight: 800;
  color: var(--deep);
  margin-bottom: 4px;
}

.score-band-card p {
  font-size: 12px;
  color: var(--muted);
  margin: 0;
}

/* --------------------------------------------------------------------------
   AOMS Dimension Strip + Form
   -------------------------------------------------------------------------- */
.aoms-dimension-strip {
  display: flex;
  gap: 0;
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 28px;
}

.aoms-dim-card {
  flex: 1;
  padding: 16px 12px;
  text-align: center;
  border-right: 1px solid var(--border);
  background: var(--surface);
}

.aoms-dim-card:last-child { border-right: none; }

.aoms-dim-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--thrivai-teal);
  margin-bottom: 4px;
}

.aoms-dim-card p {
  font-size: 11px;
  color: var(--muted);
  margin: 0;
}

.aoms-dimension-panel {
  margin-bottom: 32px;
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
}

.aoms-dimension-panel h3 {
  padding: 14px 20px;
  margin: 0;
  background: var(--surface-raised);
  border-bottom: 1px solid var(--border);
  font-size: 14px;
  font-weight: 800;
  color: var(--deep);
}

.aoms-question {
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
}

.aoms-question:last-child { border-bottom: none; }

.aoms-question p {
  margin: 0 0 12px 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--deep);
}

.aoms-answer-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.aoms-option {
  display: none;
}

.aoms-option-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border: 1px solid var(--border);
  border-radius: 6px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
  transition: border-color 0.15s, background 0.15s, color 0.15s;
  user-select: none;
}

.aoms-option:checked + .aoms-option-label {
  border-color: var(--thrivai-teal);
  background: rgba(0, 168, 150, 0.08);
  color: var(--thrivai-teal);
  font-weight: 700;
}

.aoms-option-label:hover {
  border-color: var(--thrivai-teal);
  color: var(--thrivai-teal);
}

/* --------------------------------------------------------------------------
   AOMS Result — Benchmark Row
   -------------------------------------------------------------------------- */
.benchmark-row {
  display: flex;
  gap: 24px;
  margin: 16px 0;
  flex-wrap: wrap;
}

.benchmark-item {
  font-size: 13px;
  color: var(--muted);
}

.benchmark-item strong {
  color: var(--deep);
  font-weight: 700;
}

/* --------------------------------------------------------------------------
   AOMS Result — Dimension Scorecard
   -------------------------------------------------------------------------- */
.dimension-scorecard {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 16px;
}

.dimension-row {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 16px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 8px;
}

.dimension-meta {
  min-width: 160px;
}

.dimension-meta strong {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--deep);
}

.dimension-meta small {
  font-size: 11px;
  color: var(--muted);
}

.dimension-bar-wrap {
  flex: 1;
  height: 8px;
  background: var(--border);
  border-radius: 4px;
  overflow: hidden;
}

.dimension-bar {
  height: 100%;
  border-radius: 4px;
  background: var(--thrivai-teal);
  transition: width 0.4s ease;
}

.dimension-score-cell {
  min-width: 60px;
  text-align: right;
  font-size: 13px;
  font-weight: 700;
  color: var(--deep);
}

/* --------------------------------------------------------------------------
   AOMS Result — Recommendation Block
   -------------------------------------------------------------------------- */
.recommendation-block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 16px;
}

@media (max-width: 680px) {
  .recommendation-block { grid-template-columns: 1fr; }
}

.rec-gap-card,
.rec-offer-card {
  padding: 20px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: var(--surface);
}

.rec-gap-card {
  border-left: 4px solid #f5222d;
}

.rec-offer-card {
  border-left: 4px solid var(--thrivai-teal);
}

.rec-label {
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 6px;
}

.rec-gap-card strong,
.rec-offer-card strong {
  display: block;
  font-size: 15px;
  font-weight: 800;
  color: var(--deep);
  margin-bottom: 6px;
}

.rec-gap-card p,
.rec-offer-card p {
  font-size: 13px;
  color: var(--muted);
  margin: 0 0 12px 0;
}

/* --------------------------------------------------------------------------
   AOMS Result — Finding Blocks
   -------------------------------------------------------------------------- */
.finding-block {
  padding: 16px 20px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  margin-bottom: 12px;
}

.finding-flagged {
  border-left: 4px solid #f5222d;
}

.finding-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.finding-header strong {
  font-size: 14px;
  font-weight: 700;
  color: var(--deep);
}

.finding-interpretation {
  font-size: 13px;
  color: var(--muted);
  margin: 0;
}

/* --------------------------------------------------------------------------
   WIM — Workflow Intelligence Map
   -------------------------------------------------------------------------- */
.wars-dimensions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.wars-dim {
  padding: 8px 14px;
  background: var(--surface-raised);
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--deep);
}

.wim-tier-summary {
  display: flex;
  gap: 12px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.wim-tier-card {
  flex: 1;
  min-width: 140px;
  padding: 16px;
  border-radius: 10px;
  border: 1px solid var(--border);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.wim-tier-card.tier-success { border-color: #52c41a; background: #f6ffed; }
.wim-tier-card.tier-info    { border-color: #1890ff; background: #e6f7ff; }
.wim-tier-card.tier-warning { border-color: #faad14; background: #fffbe6; }
.wim-tier-card.tier-danger  { border-color: #f5222d; background: #fff1f0; }

.tier-score {
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  letter-spacing: 0.05em;
}

.wim-tier-card strong {
  font-size: 13px;
  font-weight: 800;
  color: var(--deep);
}

.tier-count {
  font-size: 11px;
  color: var(--muted);
}

/* --------------------------------------------------------------------------
   Demo Track Hub
   -------------------------------------------------------------------------- */
.demo-track-grid {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.demo-track-full-card {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 28px;
  background: var(--surface);
}

.demo-track-meta {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.demo-badge {
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 20px;
  background: var(--surface-raised);
  color: var(--muted);
  border: 1px solid var(--border);
}

.demo-buyer-badge {
  font-size: 11px;
  font-weight: 800;
  padding: 3px 10px;
  border-radius: 20px;
  background: rgba(0, 168, 150, 0.1);
  color: var(--thrivai-teal);
  border: 1px solid rgba(0, 168, 150, 0.3);
}

.demo-track-full-card h2 {
  margin: 0 0 8px 0;
  font-size: 20px;
  font-weight: 800;
}

.demo-track-full-card > p {
  font-size: 14px;
  color: var(--muted);
  margin: 0 0 20px 0;
  max-width: 680px;
}

.demo-flow-steps {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 20px;
}

.demo-step {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.demo-step-num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--thrivai-teal);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}

.demo-step strong {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--deep);
}

.demo-step p {
  font-size: 12px;
  color: var(--muted);
  margin: 2px 0 0 0;
}

.demo-track-footer {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  border-top: 1px solid var(--border);
  padding-top: 16px;
}

.demo-never-shown {
  font-size: 11px;
  color: var(--muted);
  font-style: italic;
}

/* --------------------------------------------------------------------------
   Demo Track Pages — Hero + Step Panels
   -------------------------------------------------------------------------- */
.demo-hero {
  border-bottom: 2px solid var(--thrivai-teal);
}

.demo-step-panel {
  position: relative;
}

.demo-step-header {
  margin-bottom: 20px;
}

.demo-step-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--thrivai-teal);
  background: rgba(0,168,150,0.08);
  border: 1px solid rgba(0,168,150,0.25);
  padding: 3px 10px;
  border-radius: 20px;
  margin-bottom: 8px;
}

.demo-step-header h2 {
  margin: 4px 0 8px 0;
  font-size: 22px;
  font-weight: 800;
}

.demo-step-header p {
  font-size: 14px;
  color: var(--muted);
  margin: 0;
  max-width: 700px;
}

.demo-close-panel {
  background: var(--surface-raised);
  border: 2px solid var(--thrivai-teal);
}

/* --------------------------------------------------------------------------
   Benchmark Tier Cards (Founder Demo Step 2)
   -------------------------------------------------------------------------- */
.benchmark-tier-grid {
  display: flex;
  gap: 16px;
  margin-top: 16px;
  flex-wrap: wrap;
}

.benchmark-tier-card {
  flex: 1;
  min-width: 200px;
  padding: 20px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: var(--surface);
}

.benchmark-tier-card.tier-current {
  border-color: #f5222d;
  background: #fff1f0;
}

.benchmark-tier-card.tier-target {
  border-color: #faad14;
  background: #fffbe6;
}

.benchmark-tier-card.tier-advanced {
  border-color: #52c41a;
  background: #f6ffed;
}

.tier-badge {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 6px;
}

.benchmark-tier-card strong {
  display: block;
  font-size: 16px;
  font-weight: 800;
  color: var(--deep);
  margin-bottom: 10px;
}

.benchmark-tier-card ul {
  margin: 0;
  padding: 0 0 0 16px;
}

.benchmark-tier-card li {
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 4px;
}

/* --------------------------------------------------------------------------
   GLS — Growth Leakage Score (Founder Demo Step 3)
   -------------------------------------------------------------------------- */
.gls-demo-result {}

.gls-headline-row {
  display: flex;
  gap: 16px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.gls-headline-stat {
  flex: 1;
  min-width: 140px;
  padding: 16px;
  background: var(--surface-raised);
  border: 1px solid var(--border);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.gls-headline-stat span {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.gls-headline-stat strong {
  font-size: 26px;
  font-weight: 900;
  color: var(--deep);
  line-height: 1;
}

.gls-headline-stat small {
  font-size: 11px;
  color: var(--muted);
}

/* --------------------------------------------------------------------------
   CRI — Capacity Release Index
   -------------------------------------------------------------------------- */
.cri-demo-result {}

.cri-headline-row {
  display: flex;
  gap: 16px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.cri-headline-stat {
  flex: 1;
  min-width: 140px;
  padding: 16px;
  background: var(--surface-raised);
  border: 1px solid var(--border);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cri-headline-stat span {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.cri-headline-stat strong {
  font-size: 26px;
  font-weight: 900;
  color: var(--deep);
  line-height: 1;
}

.cri-headline-stat small {
  font-size: 11px;
  color: var(--muted);
}

/* --------------------------------------------------------------------------
   FDES — Founder Dependency Exposure Score
   -------------------------------------------------------------------------- */
.fdes-demo-result {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  flex-wrap: wrap;
}

.fdes-score-block {
  flex-shrink: 0;
}

.fdes-breakdown {
  flex: 1;
  min-width: 280px;
}

/* --------------------------------------------------------------------------
   AOMS Demo Result Layout
   -------------------------------------------------------------------------- */
.aoms-demo-result {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  flex-wrap: wrap;
}

.aoms-demo-breakdown {
  flex: 1;
  min-width: 260px;
}

/* --------------------------------------------------------------------------
   MIB — Meeting Intelligence Brief (COO Demo Step 2)
   -------------------------------------------------------------------------- */
.mib-demo-output {}

.mib-demo-card {
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 16px;
  background: var(--surface);
}

.mib-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 20px 24px;
  background: var(--surface-raised);
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
  gap: 12px;
}

.mib-header h3 {
  margin: 4px 0 2px 0;
  font-size: 20px;
  font-weight: 800;
}

.mib-header small {
  font-size: 12px;
  color: var(--muted);
}

.mib-confidence-block {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-end;
}

.mib-sections {
  padding: 0;
}

.mib-section {
  padding: 16px 24px;
  border-bottom: 1px solid var(--border);
}

.mib-section:last-child {
  border-bottom: none;
}

.mib-section strong {
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 6px;
}

.mib-section p,
.mib-section ul {
  font-size: 13px;
  color: var(--deep);
  margin: 0;
}

.mib-section ul {
  padding-left: 16px;
}

.mib-section li {
  margin-bottom: 4px;
}

.mib-flag {
  background: #fffbe6;
  border-left: 4px solid #faad14;
}

.mib-flag strong {
  color: #faad14 !important;
}

/* --------------------------------------------------------------------------
   GES Demo Layout
   -------------------------------------------------------------------------- */
.ges-demo-result {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  flex-wrap: wrap;
}

.ges-dimension-breakdown {
  flex: 1;
  min-width: 280px;
}

.ges-band-context {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ges-band-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.ges-band-row small {
  font-size: 12px;
  color: var(--muted);
}

/* --------------------------------------------------------------------------
   AERS — AI Exam Readiness Simulator
   -------------------------------------------------------------------------- */
.aers-table td:nth-child(3),
.aers-table td:nth-child(4) {
  text-align: center;
  width: 80px;
}

/* --------------------------------------------------------------------------
   Evidence Pack
   -------------------------------------------------------------------------- */
.evidence-pack-sample {}

.evidence-record-card {
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 16px;
  background: var(--surface);
}

.evidence-record-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 20px;
  background: var(--surface-raised);
  border-bottom: 1px solid var(--border);
  font-weight: 700;
  gap: 12px;
}

/* --------------------------------------------------------------------------
   Supervisory Procedures Sample
   -------------------------------------------------------------------------- */
.sup-proc-sample {}

.sup-proc-card {
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 16px;
  background: var(--surface);
}

.sup-proc-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 20px;
  background: var(--surface-raised);
  border-bottom: 1px solid var(--border);
  font-weight: 700;
  gap: 12px;
  flex-wrap: wrap;
}

.sup-proc-body {
  padding: 20px;
}

.sup-proc-body p {
  font-size: 13px;
  margin: 0 0 12px 0;
  color: var(--deep);
  line-height: 1.6;
}

.sup-proc-body p:last-child {
  margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   Close Offer Grid (Demo Step 5/6)
   -------------------------------------------------------------------------- */
.close-offer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}

.close-offer-card {
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.close-offer-step {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--thrivai-teal);
}

.close-offer-card strong {
  font-size: 14px;
  font-weight: 800;
  color: var(--deep);
}

.close-offer-card p {
  font-size: 13px;
  color: var(--muted);
  margin: 0;
  flex: 1;
}

.close-offer-investment {
  font-size: 13px;
  font-weight: 700;
  color: var(--deep);
  padding-top: 8px;
  border-top: 1px solid var(--border);
  margin-top: auto;
}

.close-offer-investment-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 0;
  border-top: 1px solid var(--border);
  margin-bottom: 16px;
}

.close-offer-investment-row strong {
  font-size: 15px;
  font-weight: 800;
  color: var(--deep);
}

.close-offer-investment-row small {
  font-size: 12px;
  color: var(--muted);
}

/* --------------------------------------------------------------------------
   Actions Bar
   -------------------------------------------------------------------------- */
.actions-bar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 16px;
}

/* --------------------------------------------------------------------------
   ICP Intelligence Engine — Stage Flow
   -------------------------------------------------------------------------- */
.icp-stage-row {
  display: flex;
  gap: 0;
  align-items: stretch;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.icp-stage-card {
  flex: 1;
  min-width: 180px;
  padding: 20px 16px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.icp-stage-row .icp-stage-card:first-child {
  border-radius: 10px 0 0 10px;
}

.icp-stage-row .icp-stage-card:last-child {
  border-radius: 0 10px 10px 0;
}

.icp-stage-arrow {
  display: flex;
  align-items: center;
  padding: 0 10px;
  color: var(--thrivai-teal);
  font-size: 20px;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--surface-raised);
}

.icp-stage-num {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--thrivai-teal);
}

.icp-stage-card strong {
  font-size: 14px;
  font-weight: 800;
  color: var(--deep);
}

.icp-stage-card p {
  font-size: 12px;
  color: var(--muted);
  margin: 0;
}

/* --------------------------------------------------------------------------
   ICP Scoring Dimensions Grid
   -------------------------------------------------------------------------- */
.icp-stage-scores {
  margin-top: 24px;
}

.icp-dim-grid {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.icp-dim-card {
  flex: 1;
  min-width: 140px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
}

.icp-dim-card strong {
  display: block;
  font-size: 12px;
  font-weight: 800;
  color: var(--deep);
  margin-bottom: 4px;
}

.icp-dim-card p {
  font-size: 11px;
  color: var(--muted);
  margin: 0;
}

/* --------------------------------------------------------------------------
   ICP Profile Output
   -------------------------------------------------------------------------- */
.icp-profile-hero {
  margin-bottom: 16px;
}

.icp-profile-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  flex-wrap: wrap;
}

.icp-confidence-block {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-end;
}

/* --------------------------------------------------------------------------
   ICP Prospect Package
   -------------------------------------------------------------------------- */
.icp-package-hero {
  background: var(--surface-raised);
}

.icp-package-summary {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  flex-wrap: wrap;
}

.icp-package-summary h2 {
  margin: 4px 0 8px 0;
}

.icp-package-meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 200px;
}

.icp-package-meta div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.icp-package-meta .muted {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
}

.icp-package-meta strong {
  font-size: 14px;
  font-weight: 700;
  color: var(--deep);
}

/* --------------------------------------------------------------------------
   Quick Win List
   -------------------------------------------------------------------------- */
.quick-win-list {
  padding-left: 20px;
  margin: 0;
}

.quick-win-list li {
  font-size: 14px;
  color: var(--deep);
  margin-bottom: 8px;
  line-height: 1.5;
}

/* --------------------------------------------------------------------------
   AI Methodology Cards
   -------------------------------------------------------------------------- */
.ai-method-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 16px;
}

.ai-method-card {
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ai-method-num {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--thrivai-teal);
}

.ai-method-card strong {
  font-size: 14px;
  font-weight: 800;
  color: var(--deep);
}

.ai-method-card p {
  font-size: 12px;
  color: var(--muted);
  margin: 0;
}

.prompt-block {
  background: var(--surface-raised);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 10px;
  margin-top: 6px;
}

.prompt-block small {
  display: block;
  font-size: 10px;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-bottom: 6px;
}

.prompt-block pre {
  margin: 0;
  font-size: 11px;
  color: var(--deep);
  white-space: pre-wrap;
  word-break: break-word;
  font-family: var(--font-mono, monospace);
  line-height: 1.5;
}

/* --------------------------------------------------------------------------
   Industry & Geography Target Blocks
   -------------------------------------------------------------------------- */
.industry-target-block,
.geo-target-block {
  padding: 14px 0;
  border-bottom: 1px solid var(--border);
}

.industry-target-block:last-child,
.geo-target-block:last-child {
  border-bottom: none;
}

.industry-target-header,
.geo-target-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
}

.industry-target-header strong,
.geo-target-header strong {
  font-size: 14px;
  font-weight: 700;
  color: var(--deep);
}

.industry-associations {
  margin-top: 8px;
}

.industry-associations ul {
  margin: 4px 0 0 16px;
  padding: 0;
}

.industry-associations li {
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 2px;
}

/* --------------------------------------------------------------------------
   Search Terms Grid
   -------------------------------------------------------------------------- */
.search-terms-grid {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.search-term-chip {
  padding: 4px 12px;
  background: var(--surface-raised);
  border: 1px solid var(--border);
  border-radius: 20px;
  font-size: 12px;
}

.search-term-chip code {
  font-family: var(--font-mono, monospace);
  color: var(--thrivai-teal);
}

/* --------------------------------------------------------------------------
   Panel Variants
   -------------------------------------------------------------------------- */
.panel-warning {
  border-left: 4px solid #faad14;
  background: #fffbe6;
}

/* --------------------------------------------------------------------------
   Check List (COI primary types, compliance guardrails)
   -------------------------------------------------------------------------- */
.check-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.check-list li {
  padding: 6px 0 6px 20px;
  position: relative;
  font-size: 13px;
  color: var(--deep);
  border-bottom: 1px solid var(--border);
}

.check-list li:last-child {
  border-bottom: none;
}

.check-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--thrivai-teal);
  font-weight: 700;
}

/* --------------------------------------------------------------------------
   Stat Large
   -------------------------------------------------------------------------- */
.stat-large {
  font-size: 32px;
  font-weight: 900;
  color: var(--deep);
  line-height: 1;
}

/* ==========================================================================
   PHASE 2 DESIGN SYSTEM — Premium SaaS Token Set
   Elevation: Apple / Stripe / Vercel quality bar
   ========================================================================== */

/* ── Typography upgrades ── */
body { font-family: Inter, system-ui, -apple-system, sans-serif; -webkit-font-smoothing: antialiased; }

/* ── Primary Button — slate-900 fill ── */
.btn-primary {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 16px; background: #0f172a; color: #fff;
  font-size: 13px; font-weight: 600; border-radius: 8px;
  border: 1px solid #0f172a; cursor: pointer; transition: background .15s, box-shadow .15s;
  text-decoration: none; line-height: 1.4;
}
.btn-primary:hover { background: #1e293b; box-shadow: 0 4px 12px rgba(15,23,42,.18); color: #fff; }
.btn-primary:focus-visible { outline: 3px solid rgba(15,23,42,.35); outline-offset: 3px; }

/* ── Secondary / Ghost Button ── */
.btn-secondary {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 16px; background: #fff; color: #374151;
  font-size: 13px; font-weight: 600; border-radius: 8px;
  border: 1px solid #e5e7eb; cursor: pointer; transition: background .15s, border-color .15s;
  text-decoration: none; line-height: 1.4;
}
.btn-secondary:hover { background: #f9fafb; border-color: #d1d5db; color: #111827; }

/* ── Danger Button ── */
.btn-danger {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 16px; background: #dc2626; color: #fff;
  font-size: 13px; font-weight: 600; border-radius: 8px;
  border: 1px solid #dc2626; cursor: pointer; transition: background .15s;
  text-decoration: none; line-height: 1.4;
}
.btn-danger:hover { background: #b91c1c; color: #fff; }

/* ── Premium Card Container ── */
.card {
  background: #fff; border: 1px solid #f0f0f0; border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  padding: 24px;
}
.card + .card { margin-top: 16px; }

/* ── Page Section Wrapper ── */
.section-wrap { max-width: 1280px; margin: 0 auto; padding: 32px 28px; }

/* ── Premium Table Scroll Wrapper ── */
.table-wrap {
  overflow-x: auto; border-radius: 12px;
  border: 1px solid #f0f0f0;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
}
.table-premium {
  min-width: 100%; border-collapse: collapse; font-size: 13px;
}
.table-premium thead { background: #fafafa; }
.table-premium th {
  padding: 11px 14px; text-align: left;
  font-size: 11px; font-weight: 700; letter-spacing: .05em;
  text-transform: uppercase; color: #6b7280;
  border-bottom: 1px solid #f0f0f0;
}
.table-premium td {
  padding: 11px 14px; color: #374151;
  border-bottom: 1px solid #f3f4f6; vertical-align: top;
}
.table-premium tbody tr:last-child td { border-bottom: none; }
.table-premium tbody tr:hover td { background: #fafafa; }

/* ── Premium Status Pills ── */
.pill {
  display: inline-flex; align-items: center;
  padding: 3px 10px; border-radius: 999px;
  font-size: 11.5px; font-weight: 600; white-space: nowrap;
}
.pill-success {
  background: #ecfdf5; color: #065f46;
  box-shadow: 0 0 0 1px rgba(6,95,70,.15);
}
.pill-warning {
  background: #fffbeb; color: #92400e;
  box-shadow: 0 0 0 1px rgba(146,64,14,.15);
}
.pill-danger {
  background: #fef2f2; color: #991b1b;
  box-shadow: 0 0 0 1px rgba(153,27,27,.15);
}
.pill-neutral {
  background: #f3f4f6; color: #4b5563;
  box-shadow: 0 0 0 1px rgba(75,85,99,.15);
}
.pill-info {
  background: #eff6ff; color: #1e40af;
  box-shadow: 0 0 0 1px rgba(30,64,175,.15);
}

/* ── Alert Banners ── */
.alert {
  display: flex; align-items: flex-start; gap: 12px;
  border-radius: 10px; padding: 14px 16px; font-size: 13px;
  margin-bottom: 16px;
}
.alert-success { background: #ecfdf5; border: 1px solid #a7f3d0; color: #065f46; }
.alert-error   { background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; }
.alert-info    { background: #eff6ff; border: 1px solid #bfdbfe; color: #1e40af; }
.alert-warning { background: #fffbeb; border: 1px solid #fde68a; color: #92400e; }

/* ── Empty State ── */
.empty-state-center {
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; padding: 64px 24px; text-align: center;
}
.empty-state-center h3 { font-size: 15px; font-weight: 600; color: #374151; margin: 12px 0 6px; }
.empty-state-center p  { font-size: 13px; color: #9ca3af; margin: 0 0 18px; max-width: 380px; }

/* ── KPI Stat Card Grid (Leadership Command Center) ── */
.kpi-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px; margin-bottom: 28px;
}
@media (min-width: 900px) { .kpi-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.kpi-card {
  background: #fff; border: 1px solid #f0f0f0; border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0,0,0,.06); padding: 20px 22px;
  display: flex; flex-direction: column; gap: 4px;
}
.kpi-card-label {
  font-size: 11px; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: #6b7280;
}
.kpi-card-value {
  font-size: 30px; font-weight: 700; color: #0f172a;
  font-variant-numeric: tabular-nums; line-height: 1.1; margin: 4px 0;
}
.kpi-card-delta { font-size: 11.5px; color: #9ca3af; }

/* ── Page Header Block ── */
.page-header {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 20px; margin-bottom: 28px;
}
.page-header-left h1 { font-size: 22px; font-weight: 700; color: #0f172a; margin: 0 0 4px; }
.page-header-left p  { font-size: 13px; color: #6b7280; margin: 0; }

/* ── Divider ── */
.divider { border: none; border-top: 1px solid #f3f4f6; margin: 24px 0; }

/* ── Premium Form Inputs ── */
.form-input {
  display: block; width: 100%; border-radius: 8px;
  border: 1px solid #e5e7eb; background: #fff;
  padding: 9px 12px; font-size: 13px; color: #111827;
  box-shadow: 0 1px 2px rgba(0,0,0,.05);
  transition: border-color .15s, box-shadow .15s;
}
.form-input:focus { border-color: #9ca3af; box-shadow: 0 0 0 3px rgba(156,163,175,.25); outline: none; }
.form-label { display: block; font-size: 13px; font-weight: 600; color: #374151; margin-bottom: 5px; }

/* ── Nav active state upgrade ── */
.buyer-nav a.active {
  background: #f1f5f9; color: #0f172a; font-weight: 700;
}
.buyer-nav a:not(.active):hover {
  background: #f8fafc; color: #334155;
}

/* ── Premium module cards (Leadership Command Center) ── */
.lcc-module-card {
  background: #fff; border: 1px solid #f0f0f0; border-radius: 12px;
  box-shadow: 0 1px 4px rgba(0,0,0,.06); padding: 22px;
  display: flex; flex-direction: column; gap: 14px;
}
.lcc-module-card h3 { font-size: 15px; font-weight: 700; color: #0f172a; margin: 0; }
.lcc-module-card .detect-label {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .05em; color: #9ca3af; margin: 0;
}
.lcc-module-signal { font-size: 13px; color: #374151; margin: 0; line-height: 1.5; }
.lcc-module-action { font-size: 13px; color: #0f172a; font-weight: 600; margin: 0; }
.lcc-module-cta a {
  font-size: 13px; font-weight: 600; color: var(--teal);
  text-decoration: none; display: inline-flex; align-items: center; gap: 4px;
}
.lcc-module-cta a:hover { color: var(--thrivai-teal-dark); }
.lcc-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 16px;
}
.lcc-section {
  background: #fff; border: 1px solid #f0f0f0; border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0,0,0,.06); padding: 22px; margin-bottom: 18px;
}
.lcc-section-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 16px; }
.lcc-section-header h2 { font-size: 16px; font-weight: 700; color: #0f172a; margin: 0 0 3px; }
.lcc-section-header p  { font-size: 13px; color: #6b7280; margin: 0; }
.lcc-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 18px; }
@media (max-width: 768px) { .lcc-two-col { grid-template-columns: 1fr; } }

/* ── Activity / metric list row ── */
.lcc-activity-row {
  display: flex; gap: 12px; align-items: baseline;
  padding: 10px 0; border-bottom: 1px solid #f3f4f6;
}
.lcc-activity-row:last-child { border-bottom: none; padding-bottom: 0; }
.lcc-activity-num {
  font-size: 22px; font-weight: 800; color: #0f172a;
  min-width: 38px; text-align: right; line-height: 1.1;
}
.lcc-activity-num.teal { color: var(--teal); }
.lcc-activity-label { font-size: 13px; color: #374151; }

/* ── Priority recommendation card ── */
.lcc-priority-card {
  display: flex; gap: 14px; align-items: flex-start;
  padding: 16px; background: #fafafa;
  border: 1px solid #f0f0f0; border-radius: 10px;
}
.lcc-priority-num {
  width: 34px; height: 34px; border-radius: 50%;
  background: #0f172a; color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 15px; flex-shrink: 0;
}
.lcc-priority-card h3 { font-size: 14px; font-weight: 700; color: #0f172a; margin: 0 0 4px; }
.lcc-priority-card p  { font-size: 13px; color: #4b5563; margin: 0; line-height: 1.5; }

/* ── Confidence indicators ── */
.lcc-confidence-row {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 8px 0; border-bottom: 1px solid #f3f4f6; font-size: 13px;
}
.lcc-confidence-row:last-child { border-bottom: none; }
.lcc-confidence-dot {
  width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; margin-top: 3px;
}
.lcc-confidence-dot.high   { background: #059669; }
.lcc-confidence-dot.medium { background: #d97706; }
.lcc-confidence-dot.low    { background: #dc2626; }
.lcc-confidence-level { font-weight: 700; color: #374151; min-width: 56px; }
.lcc-confidence-desc  { color: #6b7280; }

/* ── Maturity ladder ── */
.lcc-maturity-ladder {
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
  margin: 4px 0 20px;
}
.lcc-maturity-step {
  padding: 7px 16px; border-radius: 999px;
  border: 1px solid #e5e7eb; font-size: 13px; font-weight: 600;
  color: #6b7280; background: #fafafa;
}
.lcc-maturity-step.is-current {
  background: #0f172a; color: #fff; border-color: #0f172a;
}
.lcc-maturity-arrow { color: #d1d5db; font-size: 18px; font-weight: 300; }

/* ── Decision queue item ── */
.lcc-decision-item {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 0; border-bottom: 1px solid #f3f4f6;
}
.lcc-decision-item:last-child { border-bottom: none; }
.lcc-decision-check {
  width: 18px; height: 18px; border-radius: 4px;
  border: 1.5px solid #d1d5db; flex-shrink: 0;
}
.lcc-decision-label { font-size: 13px; color: #374151; }

/* ── Buyer mode selector ── */
.lcc-mode-bar {
  display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 4px;
}
.lcc-mode-btn {
  padding: 7px 16px; border-radius: 8px; border: 1px solid #e5e7eb;
  background: #fff; font-size: 13px; font-weight: 600; color: #6b7280;
  cursor: pointer; transition: all .15s;
}
.lcc-mode-btn.is-active { background: #0f172a; color: #fff; border-color: #0f172a; }
.lcc-mode-btn:hover:not(.is-active) { background: #f9fafb; color: #374151; }

/* ── PHASE 4 — Global base typography for bare h1/h2 ── */
/* :not([class]) targets only truly bare tags — does not override specific context rules */
.page h1:not([class]) {
  font-size: 1.5rem; font-weight: 600; letter-spacing: -0.025em;
  color: #111827; line-height: 1.25; margin: 0 0 .5rem;
}
.page h2:not([class]) {
  font-size: 1.125rem; font-weight: 600; color: #1f2937;
  line-height: 1.4; margin: 0 0 .5rem;
}
.page .public-page h1:not([class]),
.public-page h1:not([class]) {
  font-size: 1.5rem; font-weight: 600; letter-spacing: -0.025em;
  color: #111827; line-height: 1.25;
}
.public-page h2:not([class]) {
  font-size: 1.125rem; font-weight: 600; color: #1f2937; line-height: 1.4;
}

/* ── PHASE 4 — Styled pre/code blocks (scrub raw data display) ── */
.page pre, .page code {
  background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px;
  padding: 12px 16px; font-size: 12px; font-family: ui-monospace, 'Cascadia Code', Menlo, monospace;
  color: #334155; overflow-x: auto; line-height: 1.6; display: block;
}
.page code { display: inline; padding: 2px 6px; border-radius: 4px; font-size: 11.5px; }

/* ══════════════════════════════════════════════════
   STEP 16 — Nav IA simplification + Command Center v2
   ══════════════════════════════════════════════════ */

/* ── S16: Sidebar nav shell override (double-class beats thrivai.css single-class) ── */
.buyer-nav.s16-nav-shell { padding: 0; }
.s16-nav { flex: 1; }

/* ── S16: Nav section ── */
.s16-nav-section { padding: 12px 0 4px; }
.s16-nav-label {
  display: block;
  padding: 0 16px;
  margin: 0 0 6px;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
}

/* ── S16: Nav item ── */
.s16-nav-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  font-size: 12px;
  color: rgba(255,255,255,0.5);
  text-decoration: none;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.s16-nav-item:hover {
  color: rgba(255,255,255,0.9);
  background-color: rgba(255,255,255,0.05);
  text-decoration: none;
}
.s16-nav-item.is-active {
  color: #fff;
  font-weight: 500;
  background-color: rgba(42,169,165,0.2);
  border-right: 2px solid #2AA9A5;
}

/* ── S16: Nav dot ── */
.s16-nav-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: currentColor;
  opacity: 0.5;
  flex-shrink: 0;
}
.s16-nav-item.is-active .s16-nav-dot {
  background-color: #2AA9A5;
  opacity: 1;
}

/* ── S16: Nav divider ── */
.s16-nav-divider {
  margin: 6px 16px;
  border: none;
  border-top: 1px solid rgba(255,255,255,0.08);
}

/* ── S16: User identity footer ── */
.s16-sidebar-footer {
  flex-shrink: 0;
  padding: 16px;
  border-top: 1px solid rgba(255,255,255,0.1);
  display: flex;
  align-items: center;
  gap: 10px;
}
.s16-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: rgba(42,169,165,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
  color: #fff;
  flex-shrink: 0;
}
.s16-user-name {
  font-size: 11px;
  font-weight: 600;
  color: rgba(255,255,255,0.8);
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.s16-user-role {
  font-size: 9px;
  color: rgba(255,255,255,0.4);
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* ── S16: Quick Action Cards ── */
.s16-quick-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin-bottom: 32px;
}
.s16-quick-card {
  background: #fff;
  border: 1px solid #f3f4f6;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
  padding: 20px;
  text-decoration: none;
  display: block;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.s16-quick-card:hover {
  border-color: #2AA9A5;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  text-decoration: none;
}
.s16-card-num {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
  color: #6b7280;
  margin-bottom: 12px;
}
.s16-card-title {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  margin: 0 0 4px;
}
.s16-card-status {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0 0 8px;
}
.s16-card-desc {
  font-size: 12px;
  color: #9ca3af;
  line-height: 1.5;
  margin: 0;
}
.s16-status-green { color: #059669; }
.s16-status-amber { color: #d97706; }
.s16-status-red   { color: #ef4444; }

/* ── S16: KPI Grid ── */
.s16-kpi-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-bottom: 32px;
}
@media (min-width: 640px) {
  .s16-kpi-grid { grid-template-columns: repeat(4, 1fr); }
}
.s16-kpi-card {
  background: #fff;
  border: 1px solid #f3f4f6;
  border-radius: 12px;
  padding: 20px;
}
.s16-kpi-label {
  display: block;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #9ca3af;
  margin: 0 0 8px;
}
.s16-kpi-value {
  display: block;
  font-size: 30px;
  font-weight: 600;
  color: #111827;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.s16-kpi-value-amber { color: #d97706; }
.s16-kpi-note {
  display: block;
  font-size: 12px;
  color: #9ca3af;
  margin: 6px 0 0;
}

/* ── S16: Needs Attention Feed ── */
.s16-attention-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #9ca3af;
  margin: 0 0 8px;
}
.s16-attention-card {
  background: #fff;
  border: 1px solid #f3f4f6;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
  overflow: hidden;
  margin-bottom: 32px;
}
.s16-attention-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  border-bottom: 1px solid #f9fafb;
}
.s16-attention-row:last-child { border-bottom: none; }
.s16-attention-left {
  display: flex;
  align-items: center;
  gap: 12px;
}
.s16-attention-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.s16-dot-red   { background-color: #ef4444; }
.s16-dot-amber { background-color: #fbbf24; }
.s16-dot-green { background-color: #10b981; }
.s16-attention-title {
  font-size: 12px;
  font-weight: 500;
  color: #1f2937;
  margin: 0;
}
.s16-attention-sub {
  font-size: 10px;
  color: #9ca3af;
  margin: 0;
}
.s16-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 600;
  flex-shrink: 0;
}
.s16-badge-red   { background: #fef2f2; color: #b91c1c; box-shadow: inset 0 0 0 1px rgba(220,38,38,0.2); }
.s16-badge-amber { background: #fffbeb; color: #b45309; box-shadow: inset 0 0 0 1px rgba(217,119,6,0.2); }
.s16-badge-green { background: #ecfdf5; color: #065f46; box-shadow: inset 0 0 0 1px rgba(16,185,129,0.2); }

