/* ============================================================
   MANEEV ASSOCIATES — shared app theme
   Loaded after each demo's base stylesheet.
   Product accent is set by <body data-app="...">.
   ============================================================ */

@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/space-grotesk-400.woff2") format("woff2");
}
@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/space-grotesk-500.woff2") format("woff2");
}
@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/space-grotesk-600.woff2") format("woff2");
}
@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/space-grotesk-700.woff2") format("woff2");
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/jetbrains-mono-400.woff2") format("woff2");
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/jetbrains-mono-500.woff2") format("woff2");
}

:root {
  --mv-ink: #07080d;
  --mv-ink-2: #0d0f18;
  --mv-paper: #f3f0e7;
  --mv-paper-2: #fbfaf4;
  --mv-cream: #f5f3ee;
  --mv-acid: #d7ff3e;
  --mv-cyan: #38e8ff;
  --mv-magenta: #ff2e88;
  --mv-violet: #6b4bff;
  --mv-amber: #ffb020;
  --mv-muted: #5b5a53;
  --mv-muted-2: #7f7d73;
  --mv-line: rgba(7, 8, 13, 0.15);
  --mv-line-strong: rgba(7, 8, 13, 0.3);
  --mv-good: #2f6b46;
  --mv-sans: "Space Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --mv-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --mv-radius: 14px;
  --mv-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M17 45V21l15 14 15-14v24' fill='none' stroke='%2307080d' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

body[data-app="triage"] {
  --mv-accent: #d7ff3e;
  --mv-accent-ink: #07080d;
  --mv-accent-soft: #f1ffc9;
}
body[data-app="smile"] {
  --mv-accent: #38e8ff;
  --mv-accent-ink: #07080d;
  --mv-accent-soft: #dcfbff;
}
body[data-app="bidline"] {
  --mv-accent: #ff2e88;
  --mv-accent-ink: #07080d;
  --mv-accent-soft: #ffe3ee;
}
body[data-app="seller"] {
  --mv-accent: #6b4bff;
  --mv-accent-ink: #ffffff;
  --mv-accent-soft: #e9e4ff;
}
body[data-app="claim"] {
  --mv-accent: #ffb020;
  --mv-accent-ink: #07080d;
  --mv-accent-soft: #fff0c9;
}

* { box-sizing: border-box; }

body {
  background: var(--mv-paper);
  color: var(--mv-ink);
  font-family: var(--mv-sans);
  font-size: 16px;
  line-height: 1.55;
}

body.console {
  background: var(--mv-paper);
  color: var(--mv-ink);
  font-family: var(--mv-sans);
}

::selection {
  background: var(--mv-accent);
  color: var(--mv-accent-ink);
}

body a {
  color: var(--mv-ink);
  text-decoration-color: var(--mv-accent);
  text-underline-offset: 3px;
}

body h1,
body h2,
body h3,
body h4 {
  font-family: var(--mv-sans);
  color: var(--mv-ink);
  font-weight: 600;
  letter-spacing: -0.035em;
}

body h1 {
  font-size: clamp(1.65rem, 2.7vw, 2.2rem);
  line-height: 1.06;
}

body h2 {
  font-size: 1.12rem;
  letter-spacing: -0.025em;
}

body .lede {
  color: var(--mv-muted);
  font-size: 0.94rem;
  line-height: 1.65;
}

body .muted,
body .hint,
body .empty,
body .k {
  color: var(--mv-muted);
}

body .hint {
  font-family: var(--mv-mono);
  font-size: 8px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.6;
}

body .section-title {
  font-family: var(--mv-mono);
  font-size: 8px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--mv-muted);
  font-weight: 500;
}

body .mono,
body code,
body pre {
  font-family: var(--mv-mono);
}

body hr {
  border: 0;
  border-top: 1px solid var(--mv-line);
}

/* ---------- demo chrome ---------- */

body .demo-bar {
  background: var(--mv-ink);
  color: var(--mv-cream);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

body .demo-bar .wrap-wide,
body .demo-bar .wrap {
  max-width: 1200px;
  min-height: 56px;
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

body .demo-bar-id {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
}

body .demo-bar .dot {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background-color: var(--mv-acid);
  background-image: var(--mv-mark);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 14px;
  box-shadow: none;
  flex: 0 0 auto;
  align-self: center;
}

body .demo-bar-name {
  font-family: var(--mv-sans);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: -0.02em;
  color: var(--mv-cream);
}

body .demo-bar-by {
  font-family: var(--mv-mono);
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #b7becc;
  opacity: 1;
}

body .demo-tabs {
  display: flex;
  gap: 4px;
  margin-left: 0;
  margin-right: auto;
}

body .demo-tabs a {
  font-family: var(--mv-mono);
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #a9b1c0;
  padding: 8px 11px;
  border: 1px solid transparent;
  border-bottom: 1px solid transparent;
  border-radius: 6px;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}

body .demo-tabs a:hover {
  background: rgba(255, 255, 255, 0.07);
  color: var(--mv-cream);
}

body .demo-tabs a.on {
  background: var(--mv-accent);
  border-color: var(--mv-accent);
  color: var(--mv-accent-ink);
  font-weight: 700;
}

body .demo-mode {
  font-family: var(--mv-mono);
  font-size: 8px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7f8797;
  white-space: nowrap;
}
body .demo-mode .live { color: var(--mv-acid); }

body .demo-reset { margin: 0; }
body .demo-reset button {
  background: transparent;
  color: #c9d2e0;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 6px;
  padding: 6px 10px;
  font-family: var(--mv-mono);
  font-size: 8px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  box-shadow: none;
}
body .demo-reset button:hover {
  background: var(--mv-acid);
  border-color: var(--mv-acid);
  color: var(--mv-ink);
}

/* ---------- client header ---------- */

body .site-head {
  background: var(--mv-paper);
  color: var(--mv-ink);
  padding: 34px 0 26px;
  border-top: 0;
  border-bottom: 4px solid var(--mv-accent);
}

body .site-head .wrap-wide {
  display: flex;
  align-items: flex-end;
  gap: 16px 22px;
  flex-wrap: wrap;
}

body .site-head .brand,
body .site-head .brand a {
  font-family: var(--mv-sans);
  font-size: clamp(2.05rem, 4.4vw, 3.35rem);
  font-weight: 600;
  letter-spacing: -0.06em;
  line-height: 0.95;
  color: var(--mv-ink);
  margin: 0;
  text-decoration: none;
}

body .site-head .tagline {
  color: var(--mv-muted);
  font-family: var(--mv-sans);
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  max-width: 62ch;
  opacity: 1;
}

body .site-head .callbar {
  margin-left: auto;
  background: var(--mv-ink);
  border: 1px solid var(--mv-ink);
  color: var(--mv-acid);
  font-family: var(--mv-mono);
  font-size: 8px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 8px 11px;
  border-radius: 999px;
  line-height: 1.4;
}

body .console-head {
  background: var(--mv-ink);
  color: var(--mv-cream);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  padding: 14px 0;
  font-family: var(--mv-sans);
}
body .console-head .wrap-wide {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
body .console-head .brand {
  color: var(--mv-cream);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.02em;
  margin: 0;
}
body .console-head .sub {
  color: #8c93a2;
  font-family: var(--mv-mono);
  font-size: 8px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top: 3px;
}
body .console-head a {
  color: var(--mv-acid);
  font-family: var(--mv-mono);
  font-size: 9px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
body .console-head a:hover { color: var(--mv-cream); }

/* ---------- cards, stats, lists ---------- */

body .card {
  background: var(--mv-paper-2);
  border: 1px solid var(--mv-line);
  border-radius: var(--mv-radius);
  padding: 24px 26px;
  margin-bottom: 20px;
  box-shadow: none;
}

body .stat,
body .stat-row .stat {
  background: var(--mv-paper-2);
  border: 1px solid var(--mv-line);
  border-radius: 12px;
  padding: 14px 16px;
}
body .stat .n,
body .stat-row .stat .n {
  font-family: var(--mv-sans);
  font-size: 1.75rem;
  font-weight: 600;
  letter-spacing: -0.05em;
  line-height: 1.05;
  color: var(--mv-ink);
}
body .stat .k,
body .stat .l,
body .stat-row .stat .l {
  font-family: var(--mv-mono);
  font-size: 8px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mv-muted);
  margin-top: 4px;
}

body .inbox,
body .list {
  background: var(--mv-paper-2);
  border: 1px solid var(--mv-line);
  border-radius: var(--mv-radius);
  overflow: hidden;
}
body .inbox-row,
body .list-row {
  border-top: 1px solid var(--mv-line);
  color: var(--mv-ink);
  transition: background 0.15s ease;
}
body .inbox-row:hover,
body .list-row:hover { background: var(--mv-accent-soft); }
body .inbox-row.done,
body .list-row.done { opacity: 0.58; }
body .inbox-row.fresh,
body .list-row.fresh {
  background: var(--mv-accent-soft);
  box-shadow: inset 3px 0 0 var(--mv-ink);
}
body .inbox-main .who,
body .row-main .who {
  font-family: var(--mv-sans);
  font-weight: 600;
  letter-spacing: -0.01em;
}
body .inbox-main .who .co,
body .row-main .who .addr {
  color: var(--mv-muted);
  font-weight: 400;
}
body .inbox-main .snip,
body .row-main .snip {
  color: var(--mv-muted);
  line-height: 1.5;
}

body .score { font-variant-numeric: tabular-nums; }
body .score .n { font-family: var(--mv-sans); font-weight: 600; letter-spacing: -0.04em; }
body .score .u { font-family: var(--mv-mono); letter-spacing: 0.08em; }

body .u-critical,
body .u-high { color: #b3123f; }
body .u-medium { color: #8a5a00; }
body .u-low { color: var(--mv-good); }

/* ---------- forms ---------- */

body label {
  display: block;
  font-family: var(--mv-mono);
  font-size: 8px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mv-muted);
  margin: 16px 0 6px;
}
body label .opt {
  color: var(--mv-muted);
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
}

body input[type="text"],
body input[type="email"],
body input[type="tel"],
body input[type="number"],
body input[type="password"],
body input[type="url"],
body input[type="search"],
body select,
body textarea {
  width: 100%;
  background: #fffdf6;
  border: 1px solid var(--mv-line-strong);
  border-radius: 8px;
  color: var(--mv-ink);
  font-family: var(--mv-sans);
  font-size: 14.5px;
  padding: 10px 12px;
  line-height: 1.45;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
body textarea { min-height: 120px; resize: vertical; line-height: 1.55; }
body input::placeholder,
body textarea::placeholder { color: #86867c; }
body input:focus,
body select:focus,
body textarea:focus {
  outline: 2px solid var(--mv-accent);
  outline-offset: 1px;
  border-color: var(--mv-ink);
}

body .row { gap: 14px; }

/* ---------- buttons ---------- */

body button,
body .btn,
body a.primary-action,
body details.confirm-action summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--mv-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.01em;
  padding: 10px 18px;
  border: 1px solid var(--mv-ink);
  border-radius: 8px;
  background: var(--mv-accent);
  color: var(--mv-accent-ink);
  box-shadow: 2px 2px 0 var(--mv-ink);
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
body button:hover,
body .btn:hover,
body a.primary-action:hover,
body details.confirm-action summary:hover {
  background: var(--mv-accent);
  filter: brightness(0.96);
  transform: translate(-1px, -1px);
  box-shadow: 3px 3px 0 var(--mv-ink);
}
body button:active,
body .btn:active {
  transform: translate(1px, 1px);
  box-shadow: 1px 1px 0 var(--mv-ink);
}
body button[disabled] {
  opacity: 0.5;
  cursor: progress;
  box-shadow: none;
  transform: none;
  filter: none;
}
body .btn-ghost,
body button.ghost,
body button.secondary,
body details.confirm-action summary {
  background: transparent;
  color: var(--mv-ink);
  border-color: var(--mv-line-strong);
  box-shadow: none;
}
body .btn-ghost:hover,
body button.ghost:hover,
body button.secondary:hover,
body details.confirm-action summary:hover {
  background: var(--mv-paper);
  color: var(--mv-ink);
  border-color: var(--mv-ink);
  filter: none;
  transform: none;
}
body button.secondary-danger {
  background: transparent;
  color: #b3123f;
  border-color: #e7b6c5;
  box-shadow: none;
}
body button.secondary-danger:hover { background: #ffe9ef; }
body .btn-sm { padding: 7px 12px; font-size: 11px; }

body .actions { gap: 12px; }

/* ---------- tables ---------- */

body table { font-size: 13px; }
body th,
body td { border-bottom: 1px solid var(--mv-line); }
body th {
  font-family: var(--mv-mono);
  font-size: 8px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mv-muted);
  font-weight: 500;
  border-bottom: 1px solid var(--mv-line-strong);
  padding: 10px;
}
body td { padding: 10px; }
body tr:last-child td { border-bottom: 0; }

/* ---------- status pills / tags ---------- */

body .tag,
body .pill {
  display: inline-block;
  font-family: var(--mv-mono);
  font-size: 8px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 3px 8px;
  border: 1px solid var(--mv-line-strong);
  border-radius: 999px;
  background: var(--mv-paper);
  color: var(--mv-ink);
  white-space: nowrap;
}

body .tag-routed,
body .pill.booked,
body .pill.live,
body .pill.approved,
body .pill-scored {
  background: #e4f3e9;
  color: #1f5a38;
  border-color: #bcdcc8;
}

body .tag-wait,
body .pill.warm,
body .pill.review,
body .pill-review,
body .pill-in_review,
body .pill-stale,
body .pill-weak {
  background: #fff0c9;
  color: #6b4b00;
  border-color: #e8d28c;
}

body .pill.hot,
body .pill.strong,
body .pill.fallback {
  background: #ffe3ee;
  color: #9c164c;
  border-color: #f4b8d0;
}

body .pill.cold,
body .pill.none,
body .pill.excluded,
body .pill-excluded,
body .pill.suppressed,
body .pill-suppressed,
body .pill-ambiguous_blocked {
  background: #eef0f3;
  color: #4b5563;
  border-color: #d5d9df;
}

body .pill.open,
body .pill-open {
  background: var(--mv-accent-soft);
  color: var(--mv-ink);
  border-color: var(--mv-accent);
}

/* ---------- banners & notes ---------- */

body .banner {
  border-radius: 10px;
  padding: 12px 16px;
  margin-bottom: 18px;
  font-size: 13px;
  border: 1px solid;
}
body .banner-ok {
  background: #edf7ef;
  border-color: #c4e0cc;
  color: #215b36;
}
body .banner-err {
  background: #ffe9ef;
  border-color: #f4bccf;
  color: #9c164c;
}

body footer.demo-note,
body footer {
  border-top: 1px solid var(--mv-line);
  background: transparent;
  color: var(--mv-muted);
  font-family: var(--mv-sans);
  font-size: 12px;
  line-height: 1.6;
  padding: 20px 0 36px;
}
body footer.demo-note strong,
body footer strong { color: var(--mv-ink); }
body footer .wrap { color: var(--mv-muted); }

/* ---------- chat (Smile Concierge) ---------- */

body .chat {
  background: var(--mv-paper-2);
  border: 1px solid var(--mv-line);
  height: min(68vh, 600px);
}
body .chat-head {
  background: var(--mv-ink);
  color: var(--mv-cream);
  padding: 13px 18px;
}
body .chat-head .avatar {
  background: var(--mv-accent);
  color: var(--mv-accent-ink);
  border-radius: 8px;
  font-family: var(--mv-mono);
  font-weight: 500;
}
body .chat-head .who {
  font-family: var(--mv-sans);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.02em;
}
body .chat-head .status {
  font-family: var(--mv-mono);
  font-size: 8px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #c9d2e0;
  opacity: 1;
}
body .chat-log { background: var(--mv-paper-2); }
body .msg {
  border-radius: 12px;
  font-family: var(--mv-sans);
  font-size: 14px;
  line-height: 1.55;
}
body .msg.bot {
  background: #fffdf6;
  border: 1px solid var(--mv-line);
  color: var(--mv-ink);
  border-bottom-left-radius: 3px;
}
body .msg.me {
  background: var(--mv-ink);
  border: 1px solid var(--mv-ink);
  color: var(--mv-accent);
  border-bottom-right-radius: 3px;
}
body .msg.sys {
  background: var(--mv-accent-soft);
  border: 1px solid var(--mv-accent);
  color: var(--mv-ink);
}
body .msg .meta {
  font-family: var(--mv-mono);
  font-size: 8px;
  letter-spacing: 0.04em;
  opacity: 0.7;
}
body .typing {
  background: #fffdf6;
  border: 1px solid var(--mv-line);
}
body .typing span { background: var(--mv-ink); }

body .slot-chip {
  background: var(--mv-paper);
  border: 1px solid var(--mv-line-strong);
  border-radius: 10px;
  color: var(--mv-ink);
  font-family: var(--mv-sans);
}
body .slot-chip:hover {
  background: var(--mv-accent-soft);
  border-color: var(--mv-ink);
}
body .slot-chip .who { color: var(--mv-muted); }
body .slot-chip.urgent { background: #fff0f5; border-color: var(--mv-magenta); }
body .slot-chip.urgent:hover { background: #ffe3ee; }

body .booked-card {
  background: var(--mv-paper);
  border: 1px solid var(--mv-line-strong);
  border-left: 4px solid var(--mv-accent);
  border-radius: 10px;
}
body .booked-head {
  background: var(--mv-accent-soft);
  color: var(--mv-ink);
  font-family: var(--mv-mono);
  font-size: 8px;
  letter-spacing: 0.1em;
}
body .booked-row { border-bottom: 1px dashed var(--mv-line); }
body .booked-row .k { color: var(--mv-muted); }
body .booked-foot { color: var(--mv-muted); }

body .chat-form {
  background: var(--mv-paper);
  border-top: 1px solid var(--mv-line);
}
body .chat-form input { border-radius: 999px; }
body .chat-form button { border-radius: 999px; }

body .prompts button,
body .suggest button {
  background: var(--mv-paper);
  color: var(--mv-ink);
  border: 1px solid var(--mv-line-strong);
  border-radius: 999px;
  font-family: var(--mv-mono);
  font-size: 8px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 7px 11px;
  box-shadow: none;
}
body .prompts button:hover,
body .suggest button:hover {
  background: var(--mv-accent-soft);
  border-color: var(--mv-ink);
  transform: none;
}

body .panel h2 {
  font-family: var(--mv-mono);
  font-size: 8px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mv-muted);
  font-weight: 500;
}
body .kv { border-bottom: 1px dashed var(--mv-line); }
body .kv .k { color: var(--mv-muted); }
body .kv .v { font-weight: 600; }
body .kv .v.pending { color: var(--mv-muted); font-weight: 400; }

/* ---------- SMS thread (Seller Copilot) ---------- */

body .phone {
  background: var(--mv-paper-2);
  border: 1px solid var(--mv-line-strong);
  border-radius: 16px;
  box-shadow: none;
}
body .phone-head {
  background: var(--mv-paper);
  border-bottom: 1px solid var(--mv-line);
}
body .phone-head .who { font-family: var(--mv-sans); font-weight: 600; }
body .phone-head .num { font-family: var(--mv-mono); font-size: 8px; color: var(--mv-muted); }
body .thread { background: var(--mv-paper-2); }
body .bubble {
  border-radius: 14px;
  font-family: var(--mv-sans);
  font-size: 14px;
}
body .bubble.out {
  background: var(--mv-ink);
  border: 1px solid var(--mv-ink);
  color: var(--mv-accent);
  border-bottom-left-radius: 4px;
}
body .bubble.in {
  background: #fffdf6;
  border: 1px solid var(--mv-line);
  color: var(--mv-ink);
  border-bottom-right-radius: 4px;
}
body .bubble-meta { font-family: var(--mv-mono); color: var(--mv-muted); }
body .composer {
  background: var(--mv-paper);
  border-top: 1px solid var(--mv-line);
}
body .composer input { border-radius: 999px; }
body .composer button { border-radius: 999px; }
body .suggest { background: var(--mv-paper); }

body .facts li { border-bottom: 1px solid var(--mv-line); font-size: 13.5px; }
body .facts .k { color: var(--mv-muted); }
body .facts .tick {
  border: 1.5px solid var(--mv-line-strong);
  border-radius: 50%;
}
body .facts li.got .tick {
  background: var(--mv-accent);
  border-color: var(--mv-ink);
}
body .facts li.got .tick::after {
  color: var(--mv-accent-ink);
  font-family: var(--mv-mono);
}
body .verdict { border-radius: 12px; }
body .verdict.hot { background: #ffe3ee; border-color: #f4b8d0; color: #9c164c; }
body .verdict.warm { background: #fff0c9; border-color: #e8d28c; color: #6b4b00; }
body .verdict.cold { background: #eef0f3; border-color: #d5d9df; color: #4b5563; }
body .verdict .reason,
body .verdict .next { color: var(--mv-ink); }
body .roi {
  background: var(--mv-ink);
  border: 1px solid var(--mv-ink);
  color: var(--mv-cream);
}
body .roi h2,
body .roi .kv .v { color: var(--mv-cream); }
body .roi .lede,
body .roi .kv .k,
body .roi .assume { color: #a9b1c0; }
body .roi .big { color: var(--mv-acid); }
body .roi .kv { border-color: rgba(255, 255, 255, 0.14); }

body .touches .kind,
body .src,
body .just-in {
  font-family: var(--mv-mono);
  font-size: 8px;
  letter-spacing: 0.04em;
  border: 1px solid var(--mv-line);
  border-radius: 3px;
  padding: 2px 5px;
  background: var(--mv-paper);
  color: var(--mv-muted);
}
body .just-in {
  background: var(--mv-accent-soft);
  border-color: var(--mv-accent);
  color: var(--mv-ink);
  text-transform: uppercase;
  font-weight: 500;
}

body pre.payload,
body pre.transcript {
  background: var(--mv-ink);
  color: #d7dee8;
  border: 1px solid var(--mv-ink);
  border-radius: 10px;
  font-family: var(--mv-mono);
}
body pre.transcript { background: var(--mv-paper-2); color: var(--mv-ink); border-color: var(--mv-line); }
body .draft-text {
  background: var(--mv-paper-2);
  border-left: 3px solid var(--mv-accent);
  border-radius: 0 10px 10px 0;
}
body .quote {
  background: var(--mv-paper-2);
  border-left: 3px solid var(--mv-accent);
  border-radius: 0 10px 10px 0;
}

/* ---------- Triage Desk specifics ---------- */

body .ack {
  background: var(--mv-paper-2);
  border-left: 4px solid var(--mv-accent);
  border-radius: 0 12px 12px 0;
}
body .ack .elapsed { font-family: var(--mv-mono); color: var(--mv-muted); font-size: 10px; }
body .steps { font-family: var(--mv-sans); }
body .steps li { color: var(--mv-muted); }
body .steps li.active { color: var(--mv-ink); }
body .steps li.active::before {
  background: var(--mv-accent);
  border-color: var(--mv-ink);
}
body .steps li.done { color: var(--mv-good); }
body .steps li.done::before { background: var(--mv-good); border-color: var(--mv-good); }
body .fresh-note { color: var(--mv-muted); font-size: 13px; }

/* ---------- Bidline specifics ---------- */

body[data-app="bidline"] .site-head .wrap-wide { display: block; }
body[data-app="bidline"] .site-head .tagline { margin-top: 8px; }
body[data-app="bidline"] .site-head .callbar { display: inline-block; margin-top: 14px; margin-left: 0; }
body[data-app="bidline"] .step {
  background: #e9e5d9;
  color: #4b4a45;
}
body[data-app="bidline"] .step.on {
  background: var(--mv-accent);
  color: var(--mv-accent-ink);
}
body[data-app="bidline"] button.primary {
  background: var(--mv-accent);
  border-color: var(--mv-ink);
  color: var(--mv-accent-ink);
}
body[data-app="bidline"] button.primary:hover {
  background: var(--mv-accent);
  filter: brightness(0.96);
}
body[data-app="bidline"] .opener {
  background: var(--mv-paper);
  border: 1px solid var(--mv-line-strong);
  color: var(--mv-ink);
  box-shadow: none;
}
body[data-app="bidline"] .opener:hover {
  background: var(--mv-accent-soft);
  border-color: var(--mv-ink);
}
body[data-app="bidline"] .ghost {
  box-shadow: none;
}
body[data-app="bidline"] .step.done {
  background: #e4f3e9;
  color: #1f5a38;
}
body[data-app="bidline"] .rom {
  color: var(--mv-ink);
  letter-spacing: -0.05em;
}
body[data-app="bidline"] .queue-item {
  background: var(--mv-paper-2);
  border: 1px solid var(--mv-line);
  border-radius: 10px;
}
body[data-app="bidline"] .queue-item:hover {
  background: var(--mv-accent-soft);
  border-color: var(--mv-ink);
}
body[data-app="bidline"] .note {
  background: var(--mv-accent-soft);
  border: 1px solid var(--mv-accent);
  color: var(--mv-ink);
  border-radius: 10px;
}

/* ---------- ClaimScout specifics ---------- */

body[data-app="claim"] .topbar {
  background: var(--mv-ink);
  color: var(--mv-cream);
  padding: 14px 24px;
  gap: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
body[data-app="claim"] .topbar .brand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--mv-sans);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.03em;
}
body[data-app="claim"] .topbar .brand::before {
  content: "";
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: var(--mv-acid) var(--mv-mark) center / 14px 14px no-repeat;
  flex: 0 0 auto;
}
body[data-app="claim"] .topbar .by {
  font-family: var(--mv-mono);
  font-size: 8px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8c93a2;
  font-weight: 400;
}
body[data-app="claim"] .topbar .badge {
  background: var(--mv-acid);
  border: 1px solid var(--mv-acid);
  color: var(--mv-ink);
  font-family: var(--mv-mono);
  font-size: 8px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 4px 8px;
}
body[data-app="claim"] .topbar .badge:hover {
  background: var(--mv-cyan);
  border-color: var(--mv-cyan);
  color: var(--mv-ink);
}
body[data-app="claim"] .topbar nav a {
  color: #c9d2e0;
  font-family: var(--mv-mono);
  font-size: 9px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
}
body[data-app="claim"] .topbar nav a:hover { color: var(--mv-acid); }
body[data-app="claim"] main { max-width: 1200px; padding: 0 24px 60px; }
body[data-app="claim"] h1 { font-size: clamp(1.55rem, 2.4vw, 2rem); }
body[data-app="claim"] h2 { font-size: 1.1rem; }
body[data-app="claim"] section,
body[data-app="claim"] .decision-panel,
body[data-app="claim"] .scenarios,
body[data-app="claim"] .batch-note,
body[data-app="claim"] .letter {
  background: var(--mv-paper-2);
  border: 1px solid var(--mv-line);
  border-radius: 12px;
  box-shadow: none;
}
body[data-app="claim"] .decision-panel { border-left: 4px solid var(--mv-accent); }
body[data-app="claim"] .batch-note { border-left: 3px solid var(--mv-ink); }
body[data-app="claim"] table.queue {
  background: var(--mv-paper-2);
  border: 1px solid var(--mv-line);
  border-radius: 12px;
}
body[data-app="claim"] table.queue th {
  background: var(--mv-ink);
  color: var(--mv-accent);
  border-bottom: 0;
}
body[data-app="claim"] table.queue td { border-bottom: 1px solid var(--mv-line); }
body[data-app="claim"] .filters select { width: auto; min-width: 160px; padding: 6px 9px; border-radius: 6px; }
body[data-app="claim"] .score { color: var(--mv-ink); }
body[data-app="claim"] .source-panel summary { color: var(--mv-ink); }
body[data-app="claim"] .orient .lede,
body[data-app="claim"] .orient .steps { color: var(--mv-ink); }
body[data-app="claim"] details.audit,
body[data-app="claim"] .muted { color: var(--mv-muted); }
body[data-app="claim"] code {
  background: var(--mv-accent-soft);
  border: 1px solid var(--mv-accent);
  color: var(--mv-ink);
  border-radius: 3px;
}
body[data-app="claim"] .letter h1,
body[data-app="claim"] .letter h2 { color: var(--mv-ink); }
body[data-app="claim"] .warning {
  background: #ffe9ef;
  border-color: #f4bccf;
  color: #9c164c;
  border-radius: 8px;
}
body[data-app="claim"] .notice {
  background: #fff0c9;
  border-color: #e8d28c;
  color: #6b4b00;
  border-radius: 8px;
}
body[data-app="claim"] .pill-scored,
body[data-app="claim"] .pill-approved,
body[data-app="claim"] .pill-strong { background: #e4f3e9; color: #1f5a38; border-color: #bcdcc8; }
body[data-app="claim"] .pill-review,
body[data-app="claim"] .pill-in_review,
body[data-app="claim"] .pill-stale,
body[data-app="claim"] .pill-weak { background: #fff0c9; color: #6b4b00; border-color: #e8d28c; }
body[data-app="claim"] .pill-ambiguous_blocked,
body[data-app="claim"] .pill-conflicting { background: #ffe3ee; color: #9c164c; border-color: #f4b8d0; }
body[data-app="claim"] .pill-excluded,
body[data-app="claim"] .pill-suppressed { background: #eef0f3; color: #4b5563; border-color: #d5d9df; }

/* ---------- small screens ---------- */

@media (max-width: 700px) {
  body[data-app="bidline"] .row2 { grid-template-columns: 1fr; }
  body[data-app="bidline"] .steps { font-size: 11px; }
  body[data-app="claim"] .filters select { width: 180px; min-width: 0; }
  body .demo-bar .wrap-wide,
  body .demo-bar .wrap { padding: 8px 16px; gap: 10px; }
  body .demo-bar-id { gap: 8px; }
  body .demo-bar-by { display: none; }
  body .demo-tabs { order: 3; width: 100%; margin: 0; gap: 2px; overflow-x: auto; }
  body .demo-tabs a { padding: 7px 9px; font-size: 8px; white-space: nowrap; }
  body .demo-reset { margin-left: auto; }
  body .demo-mode { display: none; }
  body .site-head { padding: 26px 0 20px; }
  body .site-head .brand,
  body .site-head .brand a { font-size: clamp(1.9rem, 8vw, 2.6rem); }
  body .site-head .callbar { margin-left: 0; }
  body .card { padding: 20px; }
  body[data-app="claim"] .topbar { padding: 12px 16px; }
  body[data-app="claim"] main { padding: 0 16px 40px; }
}

@media (prefers-reduced-motion: reduce) {
  body button,
  body .btn { transition: none; }
}
