:root {
  --ink-0:#0b0907;
  --ink-1:#12100e;
  --ink-2:#1c1915;
  --ink-3:#28241e;
  --ink-4:#362f27;
  --rule:#3a342b;
  --rule-strong:#4d453a;
  --bone-0:#fbf8f0;
  --bone-1:#ede6d7;
  --bone-2:#c4baa3;
  --bone-3:#8f8670;
  --bone-4:#645c4c;
  --brick:#b8413a;
  --brick-hi:#d45a52;
  --brick-lo:#8f2d27;
  --brick-wash:rgba(184,65,58,.11);
  --brick-rule:rgba(184,65,58,.36);
  --moss:#6b9460;
  --moss-wash:rgba(107,148,96,.14);
  --amber:#c8872e;
  --amber-wash:rgba(200,135,46,.14);
  --rust:#c85a3c;
  --slate:#7a8a9c;
  --font-display:"Fraunces",Georgia,serif;
  --font-body:"Geist",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  color-scheme:dark;
}

* { box-sizing:border-box; }
html { min-height:100%; background:var(--ink-1); }
body {
  min-height:100vh;
  margin:0;
  background:
    radial-gradient(circle at 18% -12%, rgba(184,65,58,.11), transparent 33rem),
    var(--ink-1);
  color:var(--bone-1);
  font:14px/1.5 var(--font-body);
}

button,input,select,textarea { font:inherit; }
button { touch-action:manipulation; }
a { color:inherit; }
[hidden] { display:none !important; }

.cv-visually-hidden {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.cv-eyebrow,
.cv-breadcrumb {
  color:var(--bone-3);
  font:600 10px/1.25 var(--font-mono);
  letter-spacing:.15em;
  text-transform:uppercase;
}

.cv-toolbar {
  position:sticky;
  top:0;
  z-index:80;
  min-height:62px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:11px 22px;
  border-bottom:1px solid var(--rule);
  background:rgba(18,16,14,.96);
  backdrop-filter:blur(14px);
}

.cv-back-link {
  padding:6px 9px;
  border:1px solid var(--rule);
  border-radius:5px;
  color:var(--bone-2);
  font:600 10px/1 var(--font-mono);
  letter-spacing:.12em;
  text-decoration:none;
}
.cv-back-link:hover { border-color:var(--brick); color:var(--bone-0); }

.cv-wordmark {
  color:var(--bone-0);
  font:500 19px/1 var(--font-display);
}
.cv-wordmark em { color:var(--brick-hi); font-style:italic; }
.cv-toolbar-divider { width:1px; height:23px; background:var(--rule); }
.cv-toolbar-spacer { flex:1; }

.cv-brand-chip,
.cv-status-pill,
.cv-live-status,
.cv-connection,
.cv-metric {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:26px;
  padding:4px 9px;
  border:1px solid var(--rule);
  border-radius:999px;
  color:var(--bone-2);
  background:var(--ink-2);
  font:500 10px/1.2 var(--font-mono);
  letter-spacing:.03em;
  white-space:nowrap;
}
.cv-connection i,
.cv-live-status i {
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--amber);
}
.cv-connection.ready i,
.cv-live-status.live i { background:var(--moss); }
.cv-connection.error i,
.cv-live-status.failed i { background:var(--rust); }
.cv-live-status.live i { animation:cv-pulse 1.2s ease-in-out infinite alternate; }
@keyframes cv-pulse {
  from { box-shadow:0 0 0 0 rgba(107,148,96,.24); }
  to { box-shadow:0 0 0 5px transparent; }
}

.cv-btn,
.cv-icon-button {
  border:1px solid var(--rule);
  border-radius:6px;
  background:var(--ink-3);
  color:var(--bone-2);
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease;
}
.cv-btn { min-height:34px; padding:7px 13px; font-weight:600; }
.cv-icon-button {
  width:32px;
  height:32px;
  display:inline-grid;
  place-items:center;
  padding:0;
  font-size:17px;
}
.cv-btn:hover,.cv-icon-button:hover { border-color:var(--rule-strong); color:var(--bone-0); }
.cv-btn:disabled,.cv-icon-button:disabled { opacity:.45; cursor:not-allowed; }
.cv-btn-primary { background:var(--brick); border-color:var(--brick); color:var(--bone-0); }
.cv-btn-primary:hover { background:var(--brick-hi); border-color:var(--brick-hi); }
.cv-btn-primary:active { background:var(--brick-lo); }
.cv-btn-secondary { background:var(--ink-3); }
.cv-btn-danger { background:transparent; border-color:rgba(200,90,60,.55); color:#e48c72; }
.cv-btn-danger:hover { background:rgba(200,90,60,.12); border-color:var(--rust); color:#f1a08a; }
.cv-full-button { width:100%; margin-top:14px; }

.cv-workspace-shell {
  min-height:calc(100vh - 62px);
  display:grid;
  grid-template-columns:290px minmax(0,1fr);
}

.cv-program-rail {
  position:sticky;
  top:62px;
  height:calc(100vh - 62px);
  display:flex;
  flex-direction:column;
  border-right:1px solid var(--rule);
  background:rgba(11,9,7,.35);
}
.cv-rail-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:18px 16px 14px;
  border-bottom:1px solid var(--rule);
}
.cv-rail-count { margin-top:3px; color:var(--bone-0); font:500 20px/1 var(--font-display); }
.cv-program-list { flex:1; overflow:auto; padding:8px; }
.cv-program-item {
  width:100%;
  display:block;
  padding:12px 11px;
  border:1px solid transparent;
  border-radius:7px;
  background:transparent;
  color:var(--bone-2);
  text-align:left;
  cursor:pointer;
}
.cv-program-item:hover { background:var(--ink-2); border-color:var(--rule); }
.cv-program-item.active { background:var(--brick-wash); border-color:var(--brick-rule); }
.cv-program-item strong { display:block; color:var(--bone-0); font-size:13px; font-weight:600; }
.cv-program-item .cv-program-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  margin-top:7px;
  color:var(--bone-3);
  font:500 10px/1.2 var(--font-mono);
  text-transform:uppercase;
}
.cv-program-item .cv-program-row span:last-child { text-transform:none; }
.cv-skeleton-list { display:flex; flex-direction:column; gap:8px; }
.cv-skeleton-list span {
  height:64px;
  border:1px solid var(--rule);
  border-radius:7px;
  background:linear-gradient(90deg,var(--ink-2),var(--ink-3),var(--ink-2));
  background-size:200% 100%;
  animation:cv-shimmer 1.4s infinite;
}
@keyframes cv-shimmer { to { background-position:-200% 0; } }

.cv-main { min-width:0; padding:30px clamp(20px,3.5vw,54px) 80px; }
.cv-empty-state {
  max-width:700px;
  min-height:66vh;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}
.cv-empty-mark { color:var(--brick-hi); font:400 54px/1 var(--font-display); margin-bottom:16px; }
.cv-empty-state h1,.cv-program-header h1 {
  margin:8px 0 8px;
  color:var(--bone-0);
  font:500 clamp(34px,4vw,52px)/1.04 var(--font-display);
  letter-spacing:-.025em;
}
.cv-empty-state p,.cv-program-header p { max-width:760px; margin:0 0 22px; color:var(--bone-2); font-size:15px; }

.cv-program-header {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  padding-bottom:20px;
}
.cv-program-header h1 { font-size:clamp(32px,3vw,45px); }
.cv-program-header p { margin-bottom:0; }
.cv-program-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.cv-header-select { display:flex; flex-direction:column; gap:4px; color:var(--bone-4); font:600 8px/1 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.cv-header-select select { min-width:170px; min-height:34px; padding:0 9px; border:1px solid var(--rule); border-radius:6px; background:var(--ink-1); color:var(--bone-1); font:500 11px/1 var(--font-sans); letter-spacing:0; text-transform:none; }
.cv-status-pill.active,.cv-status-pill.ready { border-color:rgba(107,148,96,.5); color:#9cbd94; background:var(--moss-wash); }
.cv-status-pill.draft { color:var(--amber); background:var(--amber-wash); border-color:rgba(200,135,46,.45); }

.cv-tabs { display:flex; gap:20px; border-bottom:1px solid var(--rule); }
.cv-tab {
  position:relative;
  padding:11px 2px 12px;
  border:0;
  background:transparent;
  color:var(--bone-3);
  cursor:pointer;
  font:600 11px/1 var(--font-mono);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cv-tab:hover { color:var(--bone-1); }
.cv-tab.active { color:var(--bone-0); }
.cv-tab.active::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--brick); }
.cv-tab span { margin-left:5px; color:var(--bone-4); }
.cv-tab-panel { padding-top:22px; }

.cv-banner {
  margin-top:16px;
  padding:10px 13px;
  border:1px solid var(--rule);
  border-left:3px solid var(--amber);
  border-radius:4px;
  background:var(--ink-2);
  color:var(--bone-2);
  font-size:13px;
}
.cv-banner.error { border-left-color:var(--rust); color:#eaa28f; }
.cv-banner.success { border-left-color:var(--moss); color:#a7c59f; }

.cv-grid { display:grid; gap:20px; }
.cv-grid-setup { grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr); }
.cv-stack { display:flex; flex-direction:column; gap:20px; }
.cv-card {
  border:1px solid var(--rule);
  border-radius:10px;
  background:rgba(28,25,21,.88);
  padding:20px;
  box-shadow:0 14px 44px rgba(0,0,0,.08);
}
.cv-card-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:15px;
}
.cv-wrap-head { flex-wrap:wrap; }
.cv-card h2,.cv-dialog h2,.cv-console-empty h2 {
  margin:5px 0 0;
  color:var(--bone-0);
  font:500 23px/1.12 var(--font-display);
  letter-spacing:-.015em;
}
.cv-card-copy { margin:7px 0 0; color:var(--bone-3); font-size:13px; }
.cv-metric { color:var(--bone-3); }

.cv-objective-list { display:flex; flex-direction:column; gap:7px; }
.cv-objective-empty,.cv-session-empty,.cv-guide-empty,.cv-console-empty {
  padding:25px;
  border:1px dashed var(--rule);
  border-radius:7px;
  color:var(--bone-3);
  text-align:center;
}
.cv-list-empty {
  padding:18px 12px;
  color:var(--bone-3);
  font-size:12px;
  text-align:center;
}
.cv-objective-item {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:11px;
  align-items:start;
  padding:11px 12px;
  border:1px solid var(--rule);
  border-radius:7px;
  background:var(--ink-1);
}
.cv-objective-index {
  min-width:24px;
  color:var(--brick-hi);
  font:500 11px/1.5 var(--font-mono);
}
.cv-objective-item strong { display:block; color:var(--bone-1); font-size:13px; }
.cv-objective-item small { display:block; margin-top:3px; color:var(--bone-3); font:500 10px/1.3 var(--font-mono); }
.cv-priority {
  padding:3px 7px;
  border-radius:999px;
  color:var(--bone-3);
  background:var(--ink-3);
  font:600 9px/1.2 var(--font-mono);
  letter-spacing:.07em;
  text-transform:uppercase;
}
.cv-priority.high,.cv-priority.required { color:var(--amber); background:var(--amber-wash); }

.cv-inline-form,.cv-command-bar,.cv-copy-field,.cv-action-row { display:flex; gap:8px; align-items:center; }
.cv-inline-form { margin-top:13px; padding-top:13px; border-top:1px solid var(--rule); }
.cv-inline-form input,.cv-command-bar input,.cv-copy-field input { flex:1; min-width:0; }

input,textarea,select {
  width:100%;
  min-height:36px;
  border:1px solid var(--rule);
  border-radius:6px;
  outline:0;
  background:var(--ink-1);
  color:var(--bone-1);
  padding:8px 10px;
}
textarea { resize:vertical; }
input:focus,textarea:focus,select:focus { border-color:var(--brick); box-shadow:0 0 0 3px var(--brick-wash); }
input::placeholder,textarea::placeholder { color:var(--bone-4); }
.cv-inline-form select { width:112px; flex:0 0 auto; }
.cv-action-row select { width:118px; }

.cv-rule-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:0; background:var(--rule); border:1px solid var(--rule); border-radius:7px; overflow:hidden; }
.cv-rule-grid div { background:var(--ink-1); padding:11px 12px; }
.cv-rule-grid dt { color:var(--bone-3); font:500 9px/1.2 var(--font-mono); text-transform:uppercase; letter-spacing:.1em; }
.cv-rule-grid dd { margin:4px 0 0; color:var(--bone-1); font-size:12px; }

.cv-readiness-score { color:var(--bone-0); font:500 30px/1 var(--font-display); }
.cv-readiness-score.good { color:#9cbd94; }
.cv-readiness-score.blocked { color:#e28c73; }
.cv-check-list { display:flex; flex-direction:column; gap:7px; margin-top:14px; }
.cv-context-manual { margin:14px 0; border-top:1px solid var(--rule); padding-top:12px; }
.cv-context-manual summary { cursor:pointer; color:var(--bone-0); font-size:12px; font-weight:650; }
.cv-context-manual[open] summary { margin-bottom:12px; }
.cv-context-manual label { display:grid; gap:5px; margin-top:10px; color:var(--bone-3); font-size:11px; }
.cv-context-manual input,
.cv-context-manual textarea { width:100%; border:1px solid var(--rule); border-radius:8px; background:var(--ink-2); color:var(--bone-0); padding:9px 10px; font:inherit; resize:vertical; }
.cv-context-manual .cv-checkbox-label { display:flex; align-items:flex-start; gap:8px; }
.cv-context-manual .cv-checkbox-label input { width:auto; margin-top:2px; }
.cv-check-item { display:flex; gap:9px; align-items:flex-start; color:var(--bone-2); font-size:12px; }
.cv-check-item i { flex:0 0 auto; width:16px; height:16px; display:grid; place-items:center; border-radius:50%; background:var(--ink-3); color:var(--bone-4); font-style:normal; font-size:10px; }
.cv-check-item.pass i { background:var(--moss-wash); color:#a7c59f; }
.cv-check-item.fail i { background:var(--brick-wash); color:#e28c73; }

.cv-guide-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:20px; }
.cv-question-list { display:flex; flex-direction:column; gap:9px; padding:0; margin:0; list-style:none; counter-reset:question; }
.cv-question-item {
  counter-increment:question;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
  padding:13px;
  border:1px solid var(--rule);
  border-radius:7px;
  background:var(--ink-1);
}
.cv-question-item::before { content:counter(question,decimal-leading-zero); color:var(--brick-hi); font:500 11px/1.5 var(--font-mono); }
.cv-question-item strong { display:block; color:var(--bone-0); font-weight:500; }
.cv-question-item p { margin:4px 0 0; color:var(--bone-3); font-size:11px; }
.cv-question-item .cv-question-source-line {
  margin-top:7px;
  padding-left:8px;
  border-left:2px solid var(--rule);
  color:var(--bone-4);
  font:500 10px/1.45 var(--font-mono);
}
.cv-question-tags { display:flex; gap:4px; flex-wrap:wrap; justify-content:flex-end; }
.cv-question-tags span { padding:3px 6px; border-radius:999px; background:var(--ink-3); color:var(--bone-3); font:500 9px/1 var(--font-mono); text-transform:uppercase; }
.cv-question-editor { min-height:60px; padding:7px 9px; font-size:12px; line-height:1.45; }
.cv-question-actions { display:flex; align-items:center; justify-content:flex-end; gap:4px; }
.cv-question-actions .cv-icon-button { width:27px; height:27px; font-size:13px; }
.cv-contract-list { margin:15px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px; }
.cv-contract-list li { display:flex; gap:8px; color:var(--bone-2); font-size:12px; }
.cv-contract-list li::before { content:"✓"; color:var(--moss); font:600 11px/1.4 var(--font-mono); }

.cv-session-layout { display:grid; grid-template-columns:310px minmax(0,1fr); gap:20px; align-items:start; }
.cv-session-list { display:flex; flex-direction:column; gap:7px; }
.cv-session-row {
  width:100%;
  padding:11px;
  border:1px solid var(--rule);
  border-radius:7px;
  background:var(--ink-1);
  color:var(--bone-2);
  text-align:left;
  cursor:pointer;
}
.cv-session-row:hover,.cv-session-row.active { border-color:var(--brick-rule); background:var(--brick-wash); }
.cv-session-row strong { color:var(--bone-0); font-size:12px; }
.cv-session-row div { display:flex; justify-content:space-between; gap:8px; margin-top:5px; color:var(--bone-3); font:500 10px/1.2 var(--font-mono); }
.cv-operator-console { min-height:600px; }
.cv-console-empty { min-height:550px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.cv-console-empty p { margin:6px 0 0; color:var(--bone-3); }
.cv-console-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:12px; }
.cv-console-metrics { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.cv-console-metrics span { padding:5px 8px; border:1px solid var(--rule); border-radius:5px; color:var(--bone-3); font:500 10px/1.2 var(--font-mono); }
.cv-console-columns { display:grid; grid-template-columns:minmax(0,1fr) 235px; gap:12px; }
.cv-transcript {
  min-height:330px;
  max-height:480px;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:12px;
  border:1px solid var(--rule);
  border-radius:7px;
  background:var(--ink-1);
}
.cv-turn { max-width:90%; padding:8px 10px; border:1px solid var(--rule); border-radius:7px; color:var(--bone-1); font-size:12px; }
.cv-turn.respondent,.cv-turn.user { align-self:flex-end; background:var(--brick-wash); border-color:var(--brick-rule); }
.cv-turn.interviewer,.cv-turn.assistant { align-self:flex-start; background:var(--ink-3); }
.cv-turn .cv-turn-meta { display:flex; justify-content:space-between; gap:9px; margin-bottom:3px; color:var(--bone-4); font:500 8px/1 var(--font-mono); text-transform:uppercase; letter-spacing:.08em; }
.cv-coverage-ledger { min-height:330px; padding:12px; border:1px solid var(--rule); border-radius:7px; background:var(--ink-1); }
.cv-coverage-item { margin-top:11px; }
.cv-coverage-label { display:flex; justify-content:space-between; gap:8px; color:var(--bone-2); font-size:11px; }
.cv-coverage-bar { height:4px; margin-top:5px; border-radius:999px; overflow:hidden; background:var(--ink-3); }
.cv-coverage-bar i { display:block; height:100%; background:var(--moss); }
.cv-next-move { margin-top:16px; padding:10px; border-left:2px solid var(--amber); background:var(--amber-wash); color:var(--bone-2); }
.cv-next-move strong { display:block; margin-top:4px; font-size:11px; }
.cv-command-bar { margin-top:12px; }
.cv-console-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:10px; }
.cv-console-note { margin-left:auto; color:var(--bone-4); font-size:10px; }

.cv-evidence-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(330px,.72fr); gap:20px; }
.cv-evidence-list { display:flex; flex-direction:column; gap:10px; }
.cv-evidence-search { margin:14px 0 10px; }
.cv-search-summary { margin:0 0 10px; color:var(--bone-3); font-size:11px; }
.cv-search-results { margin-bottom:18px; padding-bottom:18px; border-bottom:1px solid var(--rule); }
.cv-report-summary { margin:10px 0 18px; padding:13px 14px; border:1px solid var(--rule); border-radius:10px; background:rgba(255,255,255,.025); }
.cv-report-summary strong { display:block; color:var(--bone-0); font-size:12px; }
.cv-report-summary p { margin:6px 0; color:var(--bone-2); font-size:12px; line-height:1.5; }
.cv-report-summary small { color:var(--bone-4); font-size:10px; }
.cv-compact-list { margin-top:14px; }
.cv-evidence-item {
  padding:14px;
  border:1px solid var(--rule);
  border-left:3px solid var(--slate);
  border-radius:7px;
  background:var(--ink-1);
}
.cv-evidence-item.literal_customer_quote { border-left-color:var(--moss); }
.cv-evidence-item.ai_summary,.cv-evidence-item.ai_inference { border-left-color:var(--slate); }
.cv-evidence-item.ai_copy { border-left-color:var(--amber); }
.cv-evidence-item.internal_statement { border-left-color:var(--bone-4); }
.cv-evidence-meta { display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-bottom:8px; }
.cv-evidence-meta span {
  padding:4px 6px;
  border:1px solid var(--rule);
  border-radius:4px;
  color:var(--bone-3);
  font:500 9px/1.15 var(--font-mono);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.cv-evidence-kind.literal_customer_quote { color:#a7c59f; border-color:rgba(107,148,96,.45); background:var(--moss-wash); }
.cv-evidence-kind.ai_copy { color:#e4aa5c; border-color:rgba(200,135,46,.45); background:var(--amber-wash); }
.cv-review-state.approved,.cv-review-state.rendered { color:#a7c59f!important; border-color:rgba(107,148,96,.45)!important; }
.cv-review-state.rejected,.cv-review-state.revoked,.cv-review-state.failed,.cv-review-state.dead { color:#e48c72!important; border-color:rgba(200,90,60,.48)!important; }
.cv-evidence-item blockquote,.cv-evidence-item p { margin:0; color:var(--bone-1); font-size:13px; line-height:1.58; }
.cv-evidence-item blockquote { font:400 17px/1.48 var(--font-display); }
.cv-evidence-item > strong { display:block; margin-bottom:5px; color:var(--bone-0); font-size:12px; }
.cv-provenance { margin-top:9px; color:var(--bone-4); font:500 9px/1.5 var(--font-mono); }
.cv-evidence-actions { display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-top:11px; padding-top:10px; border-top:1px solid var(--rule); }
.cv-evidence-actions .cv-btn { min-height:29px; padding:5px 9px; font-size:10px; }
.cv-evidence-actions select { min-height:29px; width:auto; padding:4px 28px 4px 8px; font-size:10px; }
.cv-recording-player { margin:12px 0; }
.cv-recording-player video {
  display:block;
  width:100%;
  max-height:430px;
  border:1px solid var(--rule-strong);
  border-radius:7px;
  background:#050403;
}
.cv-recording-player-status {
  margin-top:6px;
  color:var(--bone-4);
  font:500 9px/1.4 var(--font-mono);
}
.cv-job-list { display:flex; flex-direction:column; gap:7px; }
.cv-job-row { display:flex; flex-direction:column; gap:3px; padding:9px 10px; border:1px solid var(--rule); border-radius:6px; background:var(--ink-1); }
.cv-job-row strong { color:var(--bone-1); font-size:11px; }
.cv-job-row span,.cv-job-row small { color:var(--bone-4); font:500 9px/1.35 var(--font-mono); }
.cv-job-row small { color:#e48c72; overflow-wrap:anywhere; }
.cv-sync-status,.cv-sync-diff { margin-top:12px; padding:10px; border:1px solid var(--rule); border-radius:6px; background:var(--ink-1); color:var(--bone-2); font-size:11px; }
.cv-sync-diff { border-left:2px solid var(--amber); }
.cv-sync-actions { margin-top:10px; }
.cv-card code { color:var(--bone-2); font:500 .9em var(--font-mono); }

.cv-dialog {
  width:min(560px,calc(100vw - 32px));
  padding:0;
  border:1px solid var(--rule-strong);
  border-radius:10px;
  background:var(--ink-2);
  color:var(--bone-1);
  box-shadow:0 28px 90px rgba(0,0,0,.58);
}
.cv-dialog::backdrop { background:rgba(5,4,3,.78); backdrop-filter:blur(3px); }
.cv-dialog form { padding:22px; }
.cv-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px; }
.cv-dialog label { display:flex; flex-direction:column; gap:6px; margin-top:13px; color:var(--bone-2); font-size:12px; }
.cv-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.cv-dialog-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:20px; padding-top:15px; border-top:1px solid var(--rule); }
.cv-copy-field { margin-top:14px; }
.cv-invite-meta { margin-top:10px; color:var(--bone-3); font:500 10px/1.5 var(--font-mono); }
.cv-questionnaire-dialog { width:min(880px,calc(100vw - 32px)); }
.cv-questionnaire-dialog form { max-height:min(86vh,900px); overflow:auto; }
.cv-questionnaire-dialog input[type="file"] {
  padding:9px;
  border:1px dashed var(--rule-strong);
  background:var(--ink-1);
  color:var(--bone-2);
}
.cv-questionnaire-preview { margin-top:18px; padding-top:18px; border-top:1px solid var(--rule); }
.cv-questionnaire-preview-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.cv-questionnaire-preview-head strong { display:block; margin-top:5px; color:var(--bone-0); font:500 20px/1.2 var(--font-display); }
.cv-questionnaire-question-list {
  display:flex;
  flex-direction:column;
  gap:8px;
  max-height:48vh;
  margin-top:13px;
  overflow:auto;
  padding-right:4px;
}
.cv-questionnaire-question {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:11px;
  border:1px solid var(--rule);
  border-radius:7px;
  background:var(--ink-1);
}
.cv-questionnaire-question > input { width:17px; min-height:17px; margin-top:8px; accent-color:var(--brick); }
.cv-questionnaire-question textarea { width:100%; min-height:58px; resize:vertical; }
.cv-questionnaire-question small { display:block; margin-top:6px; color:var(--bone-4); font:500 9px/1.45 var(--font-mono); }
.cv-questionnaire-question .cv-questionnaire-source { color:var(--bone-3); }
.cv-questionnaire-selection-count { margin-right:auto; color:var(--bone-3); font:500 10px/1.4 var(--font-mono); }
.cv-questionnaire-activation-note { margin:9px 0 0; text-align:right; }

.cv-toast {
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:200;
  max-width:min(420px,calc(100vw - 40px));
  padding:10px 13px;
  border:1px solid var(--rule-strong);
  border-left:3px solid var(--moss);
  border-radius:6px;
  background:var(--ink-2);
  color:var(--bone-1);
  box-shadow:0 16px 50px rgba(0,0,0,.4);
}
.cv-toast.error { border-left-color:var(--rust); }

/* Public respondent interview */
.cv-respondent { display:block; overflow:auto; }
.ci-shell { width:min(920px,100%); min-height:100vh; margin:0 auto; padding:28px 20px 60px; display:flex; flex-direction:column; }
.ci-topbar { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:42px; }
.ci-brand { color:var(--bone-0); font:500 18px/1 var(--font-display); }
.ci-ai-label { display:inline-flex; align-items:center; gap:7px; color:var(--bone-3); font:500 10px/1.2 var(--font-mono); text-transform:uppercase; letter-spacing:.1em; }
.ci-ai-label i { width:7px; height:7px; border-radius:50%; background:var(--brick-hi); }
.ci-main { flex:1; display:grid; place-items:center; padding:40px 0; }
.ci-stage { width:min(690px,100%); }
.ci-card { padding:clamp(22px,5vw,42px); border:1px solid var(--rule); border-radius:12px; background:rgba(28,25,21,.94); box-shadow:0 25px 90px rgba(0,0,0,.19); }
.ci-kicker { color:var(--brick-hi); font:600 10px/1.2 var(--font-mono); letter-spacing:.15em; text-transform:uppercase; }
.ci-card h1 { margin:10px 0 10px; color:var(--bone-0); font:500 clamp(32px,6vw,48px)/1.04 var(--font-display); letter-spacing:-.025em; }
.ci-lede { margin:0; color:var(--bone-2); font-size:15px; line-height:1.65; }
.ci-meta-row { display:flex; gap:8px; flex-wrap:wrap; margin:18px 0 0; }
.ci-meta-row span { padding:5px 8px; border:1px solid var(--rule); border-radius:999px; color:var(--bone-3); font:500 10px/1.2 var(--font-mono); }
.ci-disclosure { margin:20px 0 0; padding:12px 14px; border-left:3px solid var(--amber); background:var(--amber-wash); color:var(--bone-2); font-size:13px; }
.ci-consent-section { margin-top:22px; }
.ci-section-title { margin-bottom:9px; color:var(--bone-3); font:600 10px/1.2 var(--font-mono); letter-spacing:.13em; text-transform:uppercase; }
.ci-consent-list { display:flex; flex-direction:column; gap:7px; }
.ci-consent {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:11px 12px;
  border:1px solid var(--rule);
  border-radius:7px;
  background:var(--ink-1);
  cursor:pointer;
}
.ci-consent:hover { border-color:var(--rule-strong); }
.ci-consent input { width:17px; min-height:17px; margin:2px 0 0; accent-color:var(--brick); }
.ci-consent strong { display:block; color:var(--bone-1); font-size:12px; }
.ci-consent small { display:block; margin-top:3px; color:var(--bone-3); font-size:11px; }
.ci-actions { display:flex; gap:9px; align-items:center; margin-top:22px; }
.ci-actions .cv-btn-primary { flex:1; }
.ci-fine-print { margin:12px 0 0; color:var(--bone-4); font-size:10px; text-align:center; }

.ci-device-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(210px,.65fr); gap:16px; margin-top:20px; }
.ci-preview-wrap { position:relative; min-height:290px; overflow:hidden; border:1px solid var(--rule); border-radius:10px; background:var(--ink-0); }
.ci-preview-wrap video { width:100%; height:100%; min-height:290px; object-fit:cover; transform:scaleX(-1); }
.ci-preview-empty { position:absolute; inset:0; display:grid; place-items:center; padding:20px; color:var(--bone-3); text-align:center; }
.ci-device-panel { display:flex; flex-direction:column; gap:8px; }
.ci-device-row { display:flex; align-items:center; gap:9px; padding:10px; border:1px solid var(--rule); border-radius:7px; background:var(--ink-1); color:var(--bone-2); font-size:12px; }
.ci-device-row i { width:9px; height:9px; border-radius:50%; background:var(--amber); }
.ci-device-row.ready i { background:var(--moss); }
.ci-device-row.failed i { background:var(--rust); }
.ci-device-note { padding:10px; color:var(--bone-3); font-size:11px; }

.ci-live-stage { width:min(840px,100%); }
.ci-live-card { padding:18px; border:1px solid var(--rule); border-radius:12px; background:rgba(28,25,21,.94); }
.ci-live-head { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:14px; }
.ci-live-head .cv-live-status { background:var(--moss-wash); border-color:rgba(107,148,96,.45); }
.ci-live-head .ci-timer { margin-left:auto; color:var(--bone-2); font:500 13px/1 var(--font-mono); }
.ci-live-grid { display:grid; grid-template-columns:minmax(0,1fr) 285px; gap:14px; }
.ci-video-column { position:relative; min-height:420px; border:1px solid var(--rule); border-radius:10px; overflow:hidden; background:var(--ink-0); }
.ci-video-column video { width:100%; height:100%; min-height:420px; object-fit:cover; transform:scaleX(-1); }
.ci-video-column.audio-only { display:grid; place-items:center; background:radial-gradient(circle,rgba(184,65,58,.12),transparent 45%),var(--ink-0); }
.ci-audio-orb {
  width:112px;
  height:112px;
  display:grid;
  place-items:center;
  border:1px solid var(--brick-rule);
  border-radius:50%;
  background:var(--brick-wash);
  color:var(--bone-0);
  font:500 16px/1 var(--font-display);
  transition:transform .18s ease,box-shadow .18s ease;
}
.ci-audio-orb.speaking { transform:scale(1.05); box-shadow:0 0 0 15px rgba(184,65,58,.05),0 0 0 30px rgba(184,65,58,.025); }
.ci-self-label { position:absolute; left:10px; bottom:10px; padding:5px 8px; border-radius:4px; background:rgba(11,9,7,.78); color:var(--bone-2); font:500 9px/1 var(--font-mono); text-transform:uppercase; }
.ci-side-column { display:flex; flex-direction:column; gap:10px; }
.ci-prompt-card { padding:16px; border:1px solid var(--rule); border-radius:9px; background:var(--ink-1); }
.ci-prompt-card .ci-state-label { color:var(--brick-hi); font:600 10px/1.2 var(--font-mono); letter-spacing:.12em; text-transform:uppercase; }
.ci-prompt-card p { margin:8px 0 0; color:var(--bone-1); font-size:14px; line-height:1.55; }
.ci-live-transcript { flex:1; min-height:220px; max-height:310px; overflow:auto; display:flex; flex-direction:column; gap:7px; padding:11px; border:1px solid var(--rule); border-radius:9px; background:var(--ink-1); }
.ci-live-transcript[aria-hidden="true"] { display:none; }
.ci-caption { padding:7px 9px; border-radius:6px; color:var(--bone-2); background:var(--ink-3); font-size:11px; }
.ci-caption.respondent { background:var(--brick-wash); align-self:flex-end; }
.ci-live-actions { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:14px; }
.ci-live-actions .ci-stop { grid-column:1/-1; }
.ci-recording-note { margin-top:9px; color:var(--bone-4); font:500 9px/1.4 var(--font-mono); text-align:center; }

.ci-loader { width:30px; height:30px; margin:0 auto 14px; border:2px solid var(--rule); border-top-color:var(--brick-hi); border-radius:50%; animation:ci-spin .8s linear infinite; }
@keyframes ci-spin { to { transform:rotate(360deg); } }
.ci-centered { text-align:center; }
.ci-centered .ci-lede { max-width:510px; margin-left:auto; margin-right:auto; }
.ci-success-mark { width:58px; height:58px; display:grid; place-items:center; margin:0 auto 17px; border-radius:50%; background:var(--moss-wash); color:#a7c59f; font-size:25px; }
.ci-error-box { margin-top:15px; padding:11px; border-left:3px solid var(--rust); background:rgba(200,90,60,.1); color:#e7a18d; font-size:12px; white-space:pre-wrap; }

.cv-audience-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(320px,.7fr); gap:16px; align-items:start; }
.cv-audience-picker-card { min-width:0; }
.cv-audience-filters { display:grid; grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(140px,1fr)); gap:10px; margin:18px 0 12px; align-items:end; }
.cv-audience-filters label,.cv-audience-send-column label { display:flex; flex-direction:column; gap:6px; color:var(--bone-3); font:600 9px/1.2 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.cv-audience-filters input,.cv-audience-filters select,.cv-audience-send-column input,.cv-audience-send-column select,.cv-audience-send-column textarea { width:100%; color:var(--bone-1); border:1px solid var(--rule); border-radius:6px; background:var(--ink-1); font:400 12px/1.4 var(--font-sans); letter-spacing:0; text-transform:none; }
.cv-audience-filters input,.cv-audience-filters select,.cv-audience-send-column input,.cv-audience-send-column select { min-height:38px; padding:0 10px; }
.cv-audience-send-column textarea { resize:vertical; padding:10px; }
.cv-audience-filters .cv-btn { min-height:38px; }
.cv-audience-summary { display:flex; align-items:center; gap:16px; flex-wrap:wrap; padding:10px 0 12px; color:var(--bone-3); font:500 10px/1.3 var(--font-mono); }
.cv-audience-summary strong { color:var(--bone-1); }
.cv-audience-summary .cv-checkbox-label { margin-left:auto; color:var(--bone-2); }
.cv-audience-table-wrap { overflow:auto; border:1px solid var(--rule); border-radius:8px; background:var(--ink-1); }
.cv-audience-table { width:100%; min-width:720px; border-collapse:collapse; }
.cv-audience-table th { padding:10px 12px; border-bottom:1px solid var(--rule); color:var(--bone-4); font:600 9px/1 var(--font-mono); letter-spacing:.1em; text-align:left; text-transform:uppercase; }
.cv-audience-table td { padding:11px 12px; border-bottom:1px solid rgba(255,255,255,.055); color:var(--bone-2); font-size:11px; vertical-align:middle; }
.cv-audience-table tr:last-child td { border-bottom:0; }
.cv-audience-table tr.cv-audience-excluded { opacity:.56; }
.cv-audience-table input[type="checkbox"] { width:16px; height:16px; accent-color:var(--brick); }
.cv-audience-person strong { display:block; color:var(--bone-1); font-size:12px; }
.cv-audience-person small { display:block; margin-top:3px; color:var(--bone-4); font:500 9px/1.2 var(--font-mono); }
.cv-audience-source { display:flex; gap:5px; flex-wrap:wrap; }
.cv-audience-source span,.cv-permission-pill { padding:4px 6px; border:1px solid var(--rule); border-radius:99px; color:var(--bone-3); font:600 8px/1 var(--font-mono); text-transform:uppercase; }
.cv-permission-pill.ok { border-color:rgba(107,148,96,.4); color:#a7c59f; background:var(--moss-wash); }
.cv-permission-pill.blocked { border-color:rgba(200,90,60,.4); color:#e7a18d; background:rgba(200,90,60,.08); }
.cv-audience-pagination { display:flex; justify-content:flex-end; align-items:center; gap:10px; margin-top:12px; color:var(--bone-4); font:500 9px/1 var(--font-mono); }
.cv-sender-readiness { margin-bottom:14px; padding:10px 11px; border:1px solid var(--rule); border-radius:7px; color:var(--bone-3); background:var(--ink-1); font-size:11px; }
.cv-sender-readiness.ready { border-color:rgba(107,148,96,.4); color:#a7c59f; background:var(--moss-wash); }
.cv-sender-readiness.blocked { border-color:rgba(200,90,60,.4); color:#e7a18d; background:rgba(200,90,60,.08); }
.cv-audience-send-column label + label { margin-top:12px; }
.cv-audience-send-column .cv-full-button { margin-top:15px; }
.cv-outreach-batch-list { display:flex; flex-direction:column; gap:9px; }
.cv-outreach-batch { padding:11px; border:1px solid var(--rule); border-radius:7px; background:var(--ink-1); }
.cv-outreach-batch-head { display:flex; justify-content:space-between; gap:10px; color:var(--bone-1); font-size:11px; }
.cv-outreach-batch-head span { color:var(--bone-3); font:600 8px/1 var(--font-mono); text-transform:uppercase; }
.cv-outreach-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-top:9px; }
.cv-outreach-metrics span { padding:7px; border-radius:5px; background:var(--ink-2); color:var(--bone-4); font:500 8px/1.35 var(--font-mono); }
.cv-outreach-metrics strong { display:block; color:var(--bone-1); font-size:13px; }
.cv-incentive-list { display:flex; flex-direction:column; gap:9px; }
.cv-incentive-row { padding:11px; border:1px solid var(--rule); border-radius:7px; background:var(--ink-1); }
.cv-incentive-row.live { border-color:rgba(107,148,96,.42); background:var(--moss-wash); }
.cv-incentive-row-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.cv-incentive-row-head strong { display:block; color:var(--bone-1); font-size:12px; }
.cv-incentive-row-head small { display:block; margin-top:3px; color:var(--bone-4); font:500 9px/1.3 var(--font-mono); }
.cv-incentive-status { padding:4px 6px; border:1px solid var(--rule); border-radius:99px; color:var(--bone-3); font:600 8px/1 var(--font-mono); text-transform:uppercase; }
.cv-incentive-rule { margin:8px 0 0; color:var(--bone-3); font-size:10px; line-height:1.45; }
.cv-incentive-actions { display:flex; gap:6px; flex-wrap:wrap; margin-top:9px; }
.cv-incentive-actions .cv-btn { min-height:30px; padding:0 10px; font-size:9px; }
.cv-outreach-incentive { margin-top:8px; color:var(--amber); font:500 9px/1.35 var(--font-mono); }

@media (max-width:1380px) {
  .cv-audience-layout { grid-template-columns:1fr; }
  .cv-audience-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:1050px) {
  .cv-grid-setup,.cv-guide-layout,.cv-evidence-layout,.cv-audience-layout { grid-template-columns:1fr; }
  .cv-session-layout { grid-template-columns:250px minmax(0,1fr); }
  .cv-console-columns { grid-template-columns:1fr; }
  .cv-coverage-ledger { min-height:auto; }
  .cv-audience-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:780px) {
  .cv-toolbar { padding:10px 13px; }
  .cv-toolbar-divider,.cv-brand-chip { display:none; }
  .cv-workspace-shell { display:block; }
  .cv-program-rail { position:static; width:100%; height:auto; max-height:250px; border-right:0; border-bottom:1px solid var(--rule); }
  .cv-program-list { display:flex; overflow-x:auto; }
  .cv-program-item { min-width:220px; }
  .cv-main { padding:22px 15px 60px; }
  .cv-program-header { align-items:flex-start; flex-direction:column; }
  .cv-program-actions { justify-content:flex-start; }
  .cv-session-layout { grid-template-columns:1fr; }
  .cv-session-list-card { max-height:330px; overflow:auto; }
  .cv-console-actions .cv-console-note { width:100%; margin-left:0; }
  .cv-audience-filters { grid-template-columns:1fr; }
  .cv-audience-summary .cv-checkbox-label { width:100%; margin-left:0; }
  .ci-device-grid,.ci-live-grid { grid-template-columns:1fr; }
  .ci-preview-wrap,.ci-preview-wrap video { min-height:240px; }
  .ci-video-column,.ci-video-column video { min-height:310px; }
  .ci-side-column { display:contents; }
  .ci-live-transcript { max-height:220px; }
}

@media (max-width:520px) {
  .cv-connection { display:none; }
  .cv-wordmark { font-size:17px; }
  .cv-btn { min-height:38px; }
  .cv-program-header h1 { font-size:34px; }
  .cv-inline-form { align-items:stretch; flex-wrap:wrap; }
  .cv-inline-form input { flex-basis:100%; }
  .cv-inline-form select { flex:1; width:auto; }
  .cv-rule-grid,.cv-form-grid { grid-template-columns:1fr; }
  .cv-action-row { width:100%; flex-wrap:wrap; }
  .cv-action-row select { width:100%; }
  .cv-command-bar { align-items:stretch; flex-direction:column; }
  .ci-shell { padding:18px 12px 40px; }
  .ci-main { padding:24px 0; }
  .ci-card { padding:23px 18px; }
  .ci-actions { align-items:stretch; flex-direction:column; }
  .ci-live-card { padding:11px; }
  .ci-live-head .ci-timer { width:100%; margin-left:0; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
