:root {
  --ink:#213e36;
  --muted:#64746b;
  --forest:#173e33;
  --paper:#f6f5f0;
  --line:#e0e5dc;
  --amber:#946224;
  --radius:14px;
  --mono:ui-monospace,Consolas,monospace
}
.workspace-change{background:#eaf0e2;border:1px solid #ccd9bd;border-radius:12px;padding:20px 24px;margin:20px 0;color:var(--ink)}
.workspace-change-top{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.workspace-change h2{font-size:17px;margin:3px 0}.workspace-change h2 span{font:11px var(--mono);margin-left:8px;color:var(--muted)}
.workspace-change ul{padding-left:18px;font-size:12px;margin:12px 0}.workspace-change li+li{margin-top:5px}.workspace-change>p{color:var(--muted);font-size:11px;margin:0}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.field-help,.action-description,.decision-meta,.account-name small,.money small,.metric-foot,.panel-heading p,.context-foot,.inline-note,.timeline-foot p,.event-bottom,.decision-row p,.decision-row blockquote,.blocked-row p,.page-footer,.evidence-detail dt,.evidence-note,.missing-values span {
  color:var(--muted)
}
body {
  background:var(--paper);
  color:var(--ink);
  font:14px/1.6 "Segoe UI",Arial,sans-serif
}
html {
  scroll-padding-top:95px
}
h1 {
  font-size:34px;
  letter-spacing:-1.1px
}
h2 {
  font-size:19px
}
button:disabled {
  cursor:not-allowed
}
section[id] {
  scroll-margin-top:95px
}
.sidebar {
  width:234px;
  background:var(--forest);
  color:#f2f4ec;
  padding:34px 22px 24px;
  border:0
}
.brand {
  font-size:33px;
  margin-bottom:58px
}
.brand-mark {
  background:#e2ebd7;
  color:var(--forest);
  font-family:Georgia,serif
}
.brand-dot {
  color:#acbc86
}
.nav-label {
  color:#a5b9ac;
  font-size:10px
}
.nav-link {
  font-size:14px;
  padding:13px 12px;
  color:#bed0c3;
  margin-bottom:8px;
  border-radius:9px
}
.nav-link:hover {
  background:#ffffff0b;
  color:white
}
.nav-link.active {
  background:#e8efdf;
  color:var(--forest)
}
.sidebar-note {
  color:#acc2b2;
  font-size:12px;
  line-height:1.8
}
.sidebar-note strong {
  color:#e1eadd;
  font-weight:550
}
.sidebar-bottom {
  border-color:#ffffff1c;
  padding-top:22px
}
.sidebar-bottom strong {
  font-size:13px
}
.sidebar-bottom small {
  font-size:11px;
  color:#adc0b0
}
.avatar.operator {
  background:#ffffff10;
  color:#d5e2cc;
  border:1px solid #ffffff20;
  width:35px;
  height:35px
}
.app-shell {
  margin-left:234px
}
.topbar {
  position:sticky;
  top:0;
  z-index:8;
  background:#fafbf8ef;
  backdrop-filter:blur(15px);
  height:76px;
  border-color:var(--line)
}
.breadcrumbs {
  font-size:13px
}
.topbar-end {
  gap:18px
}
.environment-label {
  font-size:11px;
  color:var(--muted);
  white-space:nowrap
}
#customer-selector {
  max-width:290px;
  font-size:12px;
  margin:0;
  min-height:38px
}
main {
  padding:32px 34px 42px;
  max-width:1640px
}
.page-footer {
  font-size:11px;
  color:var(--muted);
  padding:18px 34px;
  background:var(--paper)
}
.button {
  min-height:42px;
  font-size:13px;
  padding:10px 16px;
  border-radius:8px;
  transition:background .15s,border-color .15s
}
.button.primary {
  background:var(--forest);
  border-color:var(--forest)
}
.button.quiet {
  padding:8px 10px;
  min-height:38px;
  font-size:12px
}
.button.small {
  font-size:12px;
  min-height:36px;
  padding:7px 11px
}
.link-button {
  font-size:12px;
  padding:4px 0;
  min-height:30px
}
.icon-button {
  width:38px;
  height:38px;
  font-size:25px;
  border-radius:8px
}
.pill {
  font-size:11px;
  padding:5px 8px
}
.eyebrow {
  font-size:11px;
  letter-spacing:1.6px
}
.customer-heading h1 {
  font-size:32px
}
.customer-heading p,.version {
  font-size:12px
}
.customer-head {
  margin-bottom:23px
}
.demo-strip {
  font-size:12px;
  padding:12px 16px;
  border-radius:9px
}
.metric-grid {
  gap:14px
}
.metric {
  padding:20px;
  border-radius:var(--radius)
}
.metric-label {
  font-size:12px;
  color:var(--muted)
}
.metric-value {
  font-size:31px
}
.metric-foot {
  font-size:11px;
  line-height:1.5;
  color:var(--muted)
}
.workspace-grid {
  grid-template-columns:minmax(0,1.13fr) minmax(370px,.87fr);
  gap:24px
}
.column {
  gap:24px;
  min-width:0
}
.panel {
  border-radius:var(--radius);
  border-color:var(--line)
}
.panel-heading {
  padding:23px 24px 18px
}
.panel-heading h2 {
  font-size:18px
}
.panel-heading p {
  font-size:12px;
  color:var(--muted)
}
.panel-body {
  padding:0 24px 24px
}
.subtle {
  font-size:12px;
  color:var(--muted)
}
.account-table {
  font-size:13px
}
.account-table th {
  font-size:10px;
  padding:12px 0;
  color:var(--muted)
}
.account-table td {
  padding:17px 0
}
.account-name strong {
  font-size:12px
}
.account-name small {
  font-size:11px
}
.money small {
  font-size:10px
}
.product-icon {
  width:34px;
  height:34px;
  border-radius:8px
}
.context-item {
  padding:14px;
  border-radius:8px
}
.context-item strong {
  font-size:13px
}
.context-foot,.inline-note {
  font-size:12px;
  color:var(--muted);
  line-height:1.7
}
.permission {
  font-size:12px;
  padding:5px 9px
}
.pending-notes {
  padding-top:20px;
  margin-top:20px
}
.pending-notes p {
  font-size:12px
}
.note-candidate {
  padding:13px 14px;
  border-left:3px solid #bfcdad;
  background:#f8f9f4;
  border-radius:0 7px 7px 0;
  font-size:14px
}
.review-actions {
  align-items:center;
  font-size:11px
}
.missing-values span {
  font-size:11px;
  padding:5px 7px
}
.recommendation-top {
  padding:25px;
  background:var(--forest)
}
.recommendation-top .eyebrow {
  font-size:10px;
  color:#b4cba9
}
.recommendation-top h2 {
  font-size:27px;
  margin:17px 0 12px;
  line-height:1.23;
  max-width:390px
}
.recommendation-top p {
  font-size:13px;
  line-height:1.7;
  color:#c6d8bd
}
.recommendation-mode {
  font-size:11px
}
.recommendation-top .inline-note {
  font-size:11px;
  color:#b8ccb0
}
.recommendation-top .button.secondary {
  background:#f0f4e9;
  border-color:#f0f4e9;
  color:var(--forest)
}
.recommendation-content {
  padding:24px 25px
}
.explanation-label,.form-heading {
  font-size:13px
}
.reason {
  font-size:13px;
  line-height:1.8;
  color:#637459
}
.evidence-chip {
  font-size:11px;
  min-height:32px;
  padding:5px 9px;
  border-radius:6px
}
.decision-meta {
  font-size:11px;
  padding:17px 0;
  margin-bottom:19px
}
.form-label,label.form-label {
  font-size:12px;
  color:#53694b;
  font-weight:500
}
input,select,textarea {
  font-size:13px;
  min-height:43px;
  padding:10px 12px;
  border-radius:7px;
  margin-top:7px
}
textarea {
  min-height:98px
}
.field-help {
  font-size:11px;
  line-height:1.6
}
.form-actions {
  gap:9px;
  margin-top:18px
}
.action-description {
  font-size:12px;
  line-height:1.6
}
.form-error {
  font-size:12px;
  padding:12px 14px;
  border-radius:7px
}
.blocked-details {
  margin-top:20px;
  padding-top:16px
}
.blocked-details summary {
  font-size:12px;
  min-height:30px
}
.blocked-row {
  padding:14px 0
}
.blocked-row strong,.blocked-row p {
  font-size:12px;
  line-height:1.7
}
.rule-summary {
  font-size:11px;
  padding:16px 25px;
  line-height:1.6
}
.task-card {
  padding:16px;
  border-radius:9px
}
.task-card strong {
  font-size:13px
}
.task-meta {
  font-size:12px;
  line-height:1.8;
  overflow-wrap:anywhere
}
.empty-state {
  font-size:13px;
  line-height:1.8;
  padding:20px;
  border:1px dashed #dbe3d0
}
.event-top strong {
  font-size:12px
}
.event-top time,.event-bottom,.timeline-foot p {
  font-size:11px
}
.timeline-event {
  padding-bottom:20px;
  gap:11px
}
.timeline-foot {
  padding-top:13px
}
.decision-row {
  padding:16px 0;
  font-size:13px
}
.decision-row p,.decision-row blockquote {
  font-size:12px
}
.notice {
  font-size:13px;
  padding:16px 21px;
  border-radius:10px
}
.load-state p {
  font-size:13px
}
.load-state h1 {
  font-size:26px
}
.evidence-dialog {
  position:fixed;
  inset:0 0 0 auto;
  margin:0;
  width:min(560px,100vw);
  height:100dvh;
  max-height:100dvh;
  border:0;
  border-left:1px solid #d7e3ca;
  border-radius:0;
  padding:30px;
  background:#fbfcf8;
  color:var(--ink);
  box-shadow:-16px 0 60px #1a332330
}
.evidence-dialog::backdrop,.review-dialog::backdrop {
  background:#132e2490
}
.dialog-heading {
  border-bottom:1px solid var(--line);
  padding-bottom:25px;
  margin-bottom:26px
}
.dialog-heading h2 {
  font-size:26px
}
.evidence-detail {
  grid-template-columns:130px 1fr;
  font-size:13px;
  gap:13px 17px
}
.evidence-quote {
  padding:19px;
  font-size:13px;
  line-height:1.9;
  border-radius:0 7px 7px 0
}
.evidence-note {
  font-size:12px
}
.review-dialog {
  width:min(530px,calc(100vw - 32px));
  max-height:90dvh;
  border:1px solid var(--line);
  border-radius:16px;
  padding:30px;
  color:var(--ink);
  box-shadow:0 25px 90px #1a332330
}
.review-dialog h2 {
  font-size:25px;
  margin:10px 0 13px
}
.review-dialog>p {
  font-size:13px;
  color:var(--muted);
  line-height:1.7
}
.review-dialog .form-label {
  margin-top:18px
}
.review-excerpt {
  padding:15px;
  background:#f0f4e9;
  border-radius:8px;
  border-left:3px solid #a7b990;
  margin:17px 0;
  font-size:14px
}
.review-history {
  font-size:12px;
  color:var(--muted);
  border-top:1px solid var(--line);
  padding-top:12px;
  margin-top:12px
}
.page-intro {
  display:flex;
  justify-content:space-between;
  gap:25px;
  align-items:end;
  margin-bottom:25px
}
.page-intro h1 {
  font:400 44px/1.16 Georgia,serif;
  letter-spacing:-1.4px;
  margin-top:12px
}
.page-intro p {
  font-size:14px;
  color:var(--muted);
  max-width:570px;
  margin-top:14px;
  line-height:1.8
}
.intro-mark {
  font:400 100px/1 Georgia,serif;
  color:#c3cfb7;
  user-select:none
}
.section-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin:30px 0 17px
}
.section-head p {
  font-size:12px;
  color:var(--muted);
  margin-top:5px
}
.filter-row {
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap
}
.filter-button {
  font-size:12px;
  border:1px solid #dce3d3;
  border-radius:7px;
  background:white;
  color:var(--muted);
  padding:8px 12px;
  min-height:36px
}
.filter-button.active {
  background:var(--forest);
  color:white;
  border-color:var(--forest)
}
.queue-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px
}
.queue-card {
  background:white;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:23px;
  display:flex;
  flex-direction:column;
  min-width:0;
  transition:border-color .15s,transform .15s
}
.queue-card:hover {
  border-color:#b6c5aa;
  transform:translateY(-2px)
}
.queue-card-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px
}
.queue-card h2 {
  margin:23px 0 5px;
  font-size:24px;
  letter-spacing:-.65px
}
.queue-card .scenario {
  font-size:13px;
  color:var(--muted);
  min-height:40px;
  margin-bottom:20px
}
.queue-facts {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  border-top:1px solid var(--line);
  padding-top:19px
}
.queue-facts strong {
  display:block;
  font-size:22px;
  font-weight:550;
  line-height:1.2;
  letter-spacing:-.5px
}
.queue-facts small {
  display:block;
  color:var(--muted);
  font-size:11px;
  margin-top:6px
}
.queue-action {
  border-top:1px solid var(--line);
  margin-top:22px;
  padding-top:18px;
  flex:1
}
.queue-action .eyebrow {
  font-size:10px
}
.queue-action p {
  font-size:13px;
  line-height:1.6;
  margin-top:8px;
  font-weight:550;
  min-height:42px
}
.queue-card .button {
  width:100%;
  margin-top:20px
}
.queue-provenance {
  font-size:11px;
  color:var(--muted);
  margin-top:13px
}
.scope-note {
  display:flex;
  align-items:start;
  gap:12px;
  background:#eef1e7;
  border:1px solid #dfe5d6;
  border-radius:9px;
  padding:16px 18px;
  font-size:12px;
  color:#68755e;
  line-height:1.7;
  margin-top:22px
}
.scope-note strong {
  color:#405d3e
}
.case-tabs {
  display:flex;
  gap:8px;
  margin:-2px 0 25px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line)
}
.case-tabs a {
  font-size:12px;
  padding:6px 11px;
  border-radius:6px;
  color:var(--muted)
}
.case-tabs a:hover {
  background:#eaf0df
}
.case-banner {
  background:#fcf1df;
  border:1px solid #edddbf;
  border-radius:9px;
  padding:15px 17px;
  font-size:12px;
  color:#7d613b;
  margin-bottom:20px
}
.case-banner strong {
  display:block;
  color:#795324;
  font-size:13px;
  margin-bottom:4px
}
.ai-progress {
  margin-top:15px;
  padding:12px;
  border-radius:7px;
  background:#ffffff10;
  font-size:12px;
  color:#d6e6c8
}
.expiry-warning {
  font-size:12px;
  color:var(--amber);
  background:#fcf1df;
  padding:10px;
  border-radius:6px;
  margin-bottom:13px
}
.insight-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 290px;
  gap:24px;
  align-items:start
}
.question-composer {
  padding:25px
}
.question-composer textarea {
  font-size:15px;
  line-height:1.7;
  min-height:110px;
  padding:16px;
  background:#fbfcf8
}
.composer-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:14px;
  font-size:11px;
  color:var(--muted)
}
.insight-category {
  padding:17px 21px;
  border-top:1px solid var(--line)
}
.insight-category h3 {
  font-size:11px;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:10px
}
.starter-button {
  display:block;
  width:100%;
  text-align:left;
  border:0;
  background:transparent;
  font-size:12px;
  line-height:1.6;
  padding:8px 0;
  color:#44624c
}
.starter-button:hover {
  text-decoration:underline
}
.insight-empty {
  padding:47px 25px;
  text-align:center;
  color:var(--muted);
  font-size:13px;
  line-height:1.8
}
.empty-symbol {
  font:400 45px/1 Georgia,serif;
  color:#8b9b78;
  display:block;
  margin-bottom:20px
}
.answer-head {
  display:flex;
  justify-content:space-between;
  align-items:start;
  gap:15px;
  padding:23px 25px;
  border-bottom:1px solid var(--line)
}
.answer-head h2 {
  font-size:18px
}
.answer-head p {
  color:var(--muted);
  font-size:12px;
  margin-top:6px
}
.answer-head .refusal-basis strong {
  color:#955043;
  font-weight:600
}
.answer-body {
  padding:23px 25px
}
.answer-text {
  white-space:pre-wrap;
  font-size:14px;
  line-height:1.9;
  color:#45603f
}
.answer-summary {
  margin-bottom:18px
}
.answer-table-wrap {
  overflow:auto;
  max-height:650px
}
.answer-table {
  width:100%;
  border-collapse:collapse;
  font-size:13px;
  font-variant-numeric:tabular-nums
}
.answer-table th {
  white-space:nowrap;
  background:#f3f6ed;
  color:#617354;
  font-size:11px;
  font-weight:600;
  position:sticky;
  top:0;
  text-align:left;
  padding:12px 14px;
  border-bottom:1px solid var(--line)
}
.answer-table td {
  padding:12px 14px;
  border-bottom:1px solid #ecf0e5;
  white-space:nowrap
}
.answer-table tr:nth-child(even) td {
  background:#fafbf7
}
.source-details {
  border:1px solid var(--line);
  border-radius:8px;
  margin-top:20px;
  overflow:hidden
}
.source-details summary {
  font-size:12px;
  font-weight:550;
  padding:13px 15px;
  cursor:pointer;
  background:#f6f8f1;
  color:#536d47
}
.insight-answer {
  font:12px/1.8 Consolas,monospace;
  max-height:400px;
  padding:16px;
  margin:0
}
.source-cards {
  display:grid;
  gap:9px;
  margin-top:18px
}
.source-card {
  padding:13px 15px;
  background:#f6f8f1;
  border:1px solid #e2e8d7;
  border-radius:8px;
  font-size:12px
}
.source-card>strong {
  display:block;
  font-size:12px;
  color:#496542;
  font-weight:600
}
.source-card p {
  font-size:11px;
  color:var(--muted);
  margin-top:5px
}
.source-card p strong,.answer-text strong,.evidence-quote strong {
  font-weight:650;
  color:inherit
}
.limitations {
  margin-top:21px;
  padding-top:18px;
  border-top:1px solid var(--line);
  font-size:12px;
  color:var(--muted);
  line-height:1.8
}
.limitations h3 {
  font-size:12px;
  margin-bottom:8px
}
.limitations p+p {
  margin-top:8px
}
.query-history-button {
  display:block;
  text-align:left;
  width:100%;
  border:0;
  border-bottom:1px solid var(--line);
  background:white;
  padding:14px 0;
  font-size:12px;
  color:var(--muted);
  line-height:1.6
}
.query-history-button:hover {
  color:var(--forest)
}
.audit-grid {
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);
  gap:24px
}
.audit-row {
  border-bottom:1px solid var(--line);
  padding:20px 0
}
.audit-row:last-child {
  border:0
}
.audit-row-top {
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:14px
}
.audit-row h3 {
  font-size:14px
}
.audit-row time {
  color:var(--muted);
  font-size:11px;
  white-space:nowrap
}
.audit-row p {
  font-size:12px;
  color:var(--muted);
  margin-top:8px;
  line-height:1.7
}
.audit-row blockquote {
  border-left:3px solid #d8e3c9;
  padding-left:13px;
  font-size:13px;
  color:#637858;
  margin:12px 0 0
}
.audit-meta {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:12px
}
.audit-meta span {
  font-size:11px;
  padding:4px 7px;
  border-radius:4px;
  background:#f1f4ea;
  color:#67795c
}
.audit-view-filter {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:21px
}
.bar-row {
  display:grid;
  grid-template-columns:110px 1fr 85px;
  gap:13px;
  align-items:center;
  margin:14px 0;
  font-size:12px
}
.bar-track {
  background:#eef2e7;
  height:8px;
  border-radius:5px;
  overflow:hidden
}
.bar-fill {
  background:#789063;
  height:100%;
  border-radius:5px
}
.bar-number {
  text-align:right;
  font-variant-numeric:tabular-nums
}
.retry-state {
  padding:35px;
  text-align:center;
  color:var(--muted)
}
.retry-state h2 {
  margin-bottom:10px
}
.retry-state p {
  margin-bottom:20px;
  font-size:13px
}
.snapshot-row {
  padding:12px 0;
  border-bottom:1px solid var(--line);
  font-size:12px;
  display:flex;
  justify-content:space-between;
  gap:15px;
  color:var(--muted)
}
.snapshot-row strong {
  color:var(--ink);
  font-weight:500;
  text-align:right;
  overflow-wrap:anywhere
}
.snapshot-row:last-child {
  border:0
}
.readiness-card {
  background:var(--forest);
  color:#dfebd5;
  border-color:var(--forest)
}
.readiness-card h2 {
  color:white
}
.readiness-card p {
  color:#bcd1b2;
  font-size:12px;
  line-height:1.8
}
.readiness-step {
  display:flex;
  align-items:start;
  gap:12px;
  margin-top:20px;
  font-size:12px;
  color:#cadcc0
}
.readiness-step strong {
  font-weight:550;
  color:#eef4e6;
  display:block;
  margin-bottom:3px
}
@media(min-width:1500px) {
  main {
    padding:40px 46px 45px
  }
  .topbar {
    padding:0 46px
  }
  .workspace-grid {
    grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr)
  }
  .queue-card {
    padding:27px
  }
}
@media(max-width:1200px) {
  .sidebar {
    width:205px;
    padding:30px 17px
  }
  .app-shell {
    margin-left:205px
  }
  .nav-link {
    font-size:13px;
    gap:9px
  }
  .topbar {
    padding:0 25px
  }
  .environment-label {
    display:none
  }
  main {
    padding:27px 25px
  }
  .workspace-grid {
    grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);
    gap:18px
  }
  .column {
    gap:18px
  }
  .panel-heading {
    padding:20px 20px 16px
  }
  .panel-body {
    padding:0 20px 20px
  }
  .metric {
    padding:17px
  }
  .metric-grid {
    gap:11px
  }
  .metric-label {
    font-size:11px
  }
  .metric-value {
    font-size:28px
  }
  .queue-grid {
    gap:13px
  }
  .queue-card {
    padding:19px
  }
  .queue-card h2 {
    font-size:22px
  }
  .insight-layout {
    grid-template-columns:minmax(0,1fr) 255px;
    gap:18px
  }
  .recommendation-content,.recommendation-top {
    padding:22px
  }
  .form-fields {
    grid-template-columns:1fr
  }
  .page-footer {
    padding:18px 25px
  }
}
@media(max-width:1000px) {
  .sidebar {
    width:190px;
    padding:28px 14px
  }
  .app-shell {
    margin-left:190px
  }
  .workspace-grid {
    grid-template-columns:1fr
  }
  .metric-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .queue-grid {
    grid-template-columns:1fr
  }
  .queue-card {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 25px
  }
  .queue-card-top,.queue-card h2,.queue-card .scenario {
    grid-column:1
  }
  .queue-facts {
    grid-column:2;
    grid-row:1/4;
    border:0;
    padding-top:12px;
    align-self:center
  }
  .queue-action {
    grid-column:1
  }
  .queue-card .button {
    grid-column:2;
    align-self:center
  }
  .queue-provenance {
    grid-column:1/-1
  }
  .insight-layout,.audit-grid {
    grid-template-columns:1fr
  }
  .insight-starters {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  .insight-starters>.panel-heading {
    grid-column:1/-1
  }
  .page-intro h1 {
    font-size:39px
  }
  .intro-mark {
    display:none
  }
  .source-column,.decision-column {
    display:contents
  }
  #source-context {
    grid-row:1
  }
  .recommendation-panel {
    grid-row:2
  }
  .workspace-grid> .column>section {
    min-width:0
  }
  .form-fields {
    grid-template-columns:1fr 1fr
  }
  .timeline-foot {
    flex-wrap:wrap
  }
}
@media(max-width:700px) {
  .sidebar {
    position:static;
    width:auto;
    padding:18px 19px 12px;
    display:block
  }
  .brand {
    margin:0;
    font-size:27px;
    gap:9px
  }
  .brand-mark {
    width:29px;
    height:29px;
    font-size:24px
  }
  .sidebar nav {
    display:flex;
    margin-top:18px;
    gap:5px
  }
  /* Labels may wrap inside their link, so six links never force the page wider than the screen */
  .nav-link {
    flex:1 1 0;
    min-width:0;
    justify-content:center;
    font-size:11px;
    line-height:1.4;
    text-align:center;
    white-space:normal;
    overflow-wrap:anywhere;
    gap:0;
    padding:9px 6px;
    margin:0
  }
  .nav-link span {
    display:none
  }
  .nav-label,.sidebar-note,.sidebar-bottom {
    display:none
  }
  .app-shell {
    margin:0
  }
  .topbar {
    height:63px;
    padding:0 19px
  }
  .breadcrumbs {
    display:none
  }
  .topbar-end {
    width:100%;
    justify-content:space-between;
    gap:10px
  }
  .topbar-end .environment-label {
    display:inline-flex;
    font-size:11px
  }
  #customer-selector {
    max-width:calc(100vw - 124px);
    font-size:12px
  }
  main {
    padding:25px 19px 32px
  }
  .page-footer {
    padding:16px 19px;
    flex-direction:column;
    gap:5px
  }
  .page-intro h1 {
    font-size:36px
  }
  .page-intro p {
    font-size:13px
  }
  .customer-head {
    flex-direction:column;
    align-items:start;
    gap:14px
  }
  .customer-heading h1 {
    font-size:28px
  }
  .customer-heading p {
    font-size:11px
  }
  .avatar {
    width:47px;
    height:47px;
    border-radius:13px
  }
  .version {
    display:flex;
    gap:14px;
    text-align:left;
    margin-left:59px;
    font-size:11px
  }
  .demo-strip {
    font-size:11px;
    padding:12px
  }
  .metric-grid {
    gap:11px
  }
  .metric {
    padding:16px
  }
  .metric-value {
    font-size:29px
  }
  .metric-label {
    font-size:11px;
    min-height:30px
  }
  .metric-foot {
    font-size:11px
  }
  .metric-value small {
    font-size:11px
  }
  .workspace-grid {
    gap:19px
  }
  .panel-heading {
    padding:21px 20px 16px
  }
  .panel-body {
    padding:0 20px 22px
  }
  .recommendation-top h2 {
    font-size:27px
  }
  .recommendation-top,.recommendation-content {
    padding:23px 21px
  }
  .form-fields {
    grid-template-columns:1fr
  }
  .account-name {
    gap:9px
  }
  .product-icon {
    width:27px;
    height:27px;
    font-size:11px
  }
  .account-table {
    font-size:12px
  }
  .account-table th {
    font-size:9px
  }
  .account-name strong {
    font-size:11px
  }
  .account-name small {
    font-size:10px
  }
  .money small {
    font-size:9px
  }
  .account-table td {
    padding:16px 0
  }
  .account-table td:last-child .pill {
    font-size:10px;
    padding:4px 5px
  }
  .queue-card {
    padding:22px;
    display:flex
  }
  .queue-card h2 {
    font-size:27px;
    margin-top:22px
  }
  .queue-card .scenario {
    min-height:0
  }
  .queue-facts {
    border-top:1px solid var(--line);
    padding-top:17px;
    align-self:auto
  }
  .queue-card .button {
    align-self:stretch
  }
  .section-head {
    align-items:start;
    flex-direction:column;
    gap:15px
  }
  .insight-starters {
    display:block
  }
  .question-composer {
    padding:22px 19px
  }
  .question-composer textarea {
    font-size:16px
  }
  .composer-bottom {
    align-items:start;
    gap:15px
  }
  .composer-bottom .button {
    flex-shrink:0
  }
  .answer-head,.answer-body {
    padding:22px 20px
  }
  .answer-head {
    flex-wrap:wrap
  }
  .answer-text {
    font-size:13px
  }
  .notice {
    left:19px;
    right:19px;
    bottom:20px;
    max-width:none;
    font-size:12px
  }
  .evidence-dialog {
    padding:25px 22px
  }
  .evidence-detail {
    grid-template-columns:100px 1fr;
    gap:12px;
    font-size:12px
  }
  .review-dialog {
    padding:27px 23px
  }
  .audit-row-top {
    flex-wrap:wrap;
    gap:7px
  }
  .bar-row {
    grid-template-columns:85px 1fr 70px;
    gap:9px;
    font-size:11px
  }
  .scope-note {
    font-size:11px
  }
}
@media(max-width:540px) {
  /* Six links read best as two rows of three on a phone */
  .sidebar nav {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
}
@media(max-width:390px) {
  .sidebar {
    padding:16px 15px 12px
  }
  main {
    padding:22px 15px
  }
  .topbar {
    padding:0 15px
  }
  .nav-link {
    font-size:10px
  }
  .customer-heading h1 {
    font-size:25px
  }
  .metric {
    padding:14px
  }
  .metric-value small {
    font-size:10px
  }
  .panel-heading {
    padding:20px 16px 16px
  }
  .panel-body {
    padding:0 16px 20px
  }
  .product-icon {
    display:none
  }
  .topbar-end .button span {
    display:none
  }
  .form-actions .button {
    font-size:12px;
    padding:10px 12px
  }
}
@media(prefers-reduced-motion:reduce) {
  .spinner {
    animation:none
  }
  .queue-card,.button {
    transition:none
  }
  .queue-card:hover {
    transform:none
  }
}
.source-path {
  font-family:var(--mono);
  overflow-wrap:anywhere;
  font-size:11px!important;
  line-height:1.6
}
/* Policy Shadow: the bank's history replayed through Accord's rules */
.shadow-summary {
  padding:24px 26px;
  margin-bottom:22px
}
.shadow-lede {
  font:400 22px/1.45 Georgia,serif;
  letter-spacing:-.3px;
  max-width:62ch;
  color:var(--ink)
}
.shadow-lede strong {
  font-weight:400;
  color:var(--forest);
  font-size:30px
}
.shadow-summary .subtle {
  font-size:12px;
  margin-top:10px;
  max-width:70ch
}
.shadow-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start
}
.shadow-card {
  background:white;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:23px 24px;
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0
}
.shadow-card .source-details {
  margin-top:0
}
.shadow-card.kind-honesty,.shadow-card.kind-data_quality {
  background:#fafbf7;
  border-style:dashed
}
.shadow-rule {
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:12px;
  color:var(--muted)
}
.shadow-rule span:first-child {
  color:#955043;
  font-weight:600
}
.kind-honesty .shadow-rule span:first-child,.kind-data_quality .shadow-rule span:first-child {
  color:var(--amber)
}
.shadow-card h2 {
  font-size:18px;
  letter-spacing:-.35px;
  line-height:1.35
}
.shadow-figure {
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:4px 12px
}
.shadow-figure strong {
  font:400 46px/1 Georgia,serif;
  letter-spacing:-1.4px;
  color:var(--forest);
  font-variant-numeric:lining-nums
}
.shadow-figure span {
  font-size:13px;
  color:var(--muted)
}
.shadow-finding {
  font-size:13px;
  line-height:1.75;
  max-width:68ch
}
.shadow-months {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(26px,1fr));
  gap:6px;
  align-items:end;
  padding:4px 0 2px;
  border-bottom:1px solid var(--line)
}
.shadow-month {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:4px;
  font-size:10px;
  color:var(--muted);
  text-align:center
}
.shadow-month i {
  display:block;
  background:#c7d3be;
  border-radius:3px 3px 0 0
}
.shadow-month.current i {
  background:#955043
}
.shadow-month-value {
  font-variant-numeric:tabular-nums;
  font-size:9px;
  color:#8a9585;
  white-space:nowrap
}
.shadow-month.current .shadow-month-value {
  color:#955043;
  font-weight:600
}
.shadow-funnel {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:9px
}
.shadow-funnel li {
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  font-size:12px
}
.shadow-funnel-label {
  color:var(--muted)
}
.shadow-funnel-bar {
  height:8px;
  background:#eef2e8;
  border-radius:4px;
  overflow:hidden
}
.shadow-funnel-bar i {
  display:block;
  height:100%;
  background:#7d9a72
}
.shadow-funnel li:last-child .shadow-funnel-bar i {
  background:#955043
}
.shadow-funnel strong {
  font-variant-numeric:tabular-nums;
  font-weight:600;
  text-align:right;
  min-width:58px
}
.shadow-variants {
  margin:0;
  display:grid;
  gap:6px;
  font-size:12px
}
.shadow-variants div {
  display:flex;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px dotted var(--line);
  padding-bottom:6px
}
.shadow-variants dt {
  color:var(--muted)
}
.shadow-variants dd {
  margin:0;
  font-variant-numeric:tabular-nums;
  white-space:nowrap
}
.shadow-bank {
  background:#f6f8f1;
  border:1px solid #e2e8d7;
  border-radius:8px;
  padding:12px 14px;
  font-size:12px;
  line-height:1.7;
  color:#4e6347
}
.shadow-bank h3 {
  font-size:12px;
  margin-bottom:4px;
  color:#496542
}
.shadow-bank strong {
  font-variant-numeric:tabular-nums
}
.shadow-detail {
  padding:14px 16px;
  font-size:12px;
  line-height:1.75;
  color:#4e6347
}
.shadow-detail h3 {
  font-size:12px;
  margin:12px 0 4px
}
.shadow-detail ul {
  margin:6px 0 0;
  padding-left:18px
}
.shadow-detail li+li {
  margin-top:4px
}
.shadow-actions {
  display:flex;
  flex-wrap:wrap;
  gap:8px
}
.shadow-samples .subtle {
  margin-top:8px
}
.shadow-samples .answer-table td {
  white-space:normal;
  vertical-align:top
}
.shadow-samples .answer-table td:first-child,.shadow-samples .answer-table td:nth-child(2) {
  white-space:nowrap
}
@media(max-width:1130px) {
  .shadow-grid {
    grid-template-columns:minmax(0,1fr)
  }
}
@media(max-width:620px) {
  .shadow-figure strong {
    font-size:38px
  }
  .shadow-lede {
    font-size:19px
  }
  .shadow-funnel li {
    grid-template-columns:minmax(0,1fr) auto
  }
  .shadow-funnel-bar {
    grid-column:1/-1;
    grid-row:2
  }
}
/* Hardship programmes the rules allow today */
.programme-panel .panel-body {
  display:flex;
  flex-direction:column;
  gap:14px
}
.programme-level {
  font-size:12px;
  line-height:1.7;
  color:var(--muted)
}
.programme-level strong {
  color:var(--ink)
}
.programme-account h3 {
  font-size:12px;
  font-weight:600;
  color:#4e6347;
  margin-bottom:9px
}
.programme-option {
  border:1px solid var(--line);
  border-radius:9px;
  padding:13px 14px;
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:12px;
  line-height:1.65
}
.programme-option.status-eligible {
  border-color:#bcd0b2;
  background:#f7faf3
}
.programme-option-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px
}
.programme-option-head strong {
  font-size:14px;
  color:var(--forest)
}
.programme-flags {
  margin:2px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:6px
}
.programme-flags li {
  padding:8px 10px;
  border-radius:6px;
  background:#fbf1db;
  color:#7a5420
}
.programme-flags li.flag-policy_wins {
  background:#faeee8;
  color:#955043
}
.programme-script p {
  padding:12px 14px 0;
  font-size:12px;
  line-height:1.75
}
.programme-script .subtle {
  padding-bottom:12px
}
.programme-ruled-out summary,.programme-script summary {
  font-size:12px;
  font-weight:550;
  color:#536d47;
  cursor:pointer;
  padding:4px 0
}
.programme-script {
  border-top:1px dashed var(--line);
  margin-top:4px;
  padding-top:6px
}
.programme-ruled-out ul {
  margin:8px 0 0;
  padding-left:18px;
  font-size:12px;
  line-height:1.7;
  color:var(--muted)
}
.programme-ruled-out li+li {
  margin-top:6px
}
.policy-wins {
  display:block;
  color:#955043;
  margin-top:3px
}
.programme-plan {
  border-left:3px solid #7d9a72;
  padding:4px 0 4px 12px;
  font-size:12px;
  line-height:1.7
}
.programme-plan strong {
  color:var(--forest)
}
.programme-history {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  font-size:12px;
  color:var(--muted)
}
.programme-none {
  font-size:12px;
  color:var(--muted)
}
.programme-rule {
  font-size:11px;
  color:var(--muted);
  border-top:1px solid var(--line);
  padding-top:12px
}
.programme-panel .source-details {
  margin-top:0
}
.programme-blocked {
  border-left-color:#955043
}
.programme-blocked strong {
  color:#955043
}
/* Case replay */
.replay-panel {
  margin-bottom:24px
}
.replay-panel .panel-body {
  display:flex;
  flex-direction:column;
  gap:12px
}
.replay-track {
  position:relative;
  height:44px;
  margin:4px 8px 0
}
.replay-rail {
  position:absolute;
  left:0;
  right:0;
  top:24px;
  height:2px;
  border-radius:2px;
  background:var(--line)
}
.replay-month {
  position:absolute;
  top:0;
  transform:translateX(-50%);
  font-size:10px;
  letter-spacing:.4px;
  color:var(--muted)
}
.replay-month:after {
  content:'';
  position:absolute;
  left:50%;
  top:17px;
  width:1px;
  height:14px;
  background:#d3dbcf
}
.replay-tick {
  position:absolute;
  top:19px;
  width:12px;
  height:12px;
  margin-left:-6px;
  padding:0;
  border:2px solid #fff;
  border-radius:50%;
  background:#c3cbbd;
  box-shadow:0 0 0 1px #d3dbcf;
  pointer-events:none
}
.tick-held {
  background:#b4553f
}
.tick-clear {
  background:#5f9771
}
.tick-notice {
  background:#d9a441
}
.tick-unjudged {
  background:#d4dace
}
.tick-milestone {
  background:#c8902f;
  border-radius:3px;
  transform:rotate(45deg)
}
.replay-tick.tick-record {
  top:21px;
  width:8px;
  height:8px;
  margin-left:-4px;
  background:#a9b3a3
}
.replay-tick.tick-today {
  top:18px;
  width:14px;
  height:14px;
  margin-left:-7px;
  background:var(--forest)
}
.replay-tick.current {
  z-index:1;
  box-shadow:0 0 0 2px #fff,0 0 0 4px var(--forest);
  scale:1.25
}
.replay-ends {
  display:flex;
  justify-content:space-between;
  font-size:11px;
  color:var(--muted)
}
/* The range input lies over the marks, invisible, so dragging, clicking and the arrow keys all move the
   replay; it is 16px wider than the rail so its 16px thumb centres line up with the first and last mark. */
input.replay-slider {
  -webkit-appearance:none;
  appearance:none;
  position:absolute;
  left:-8px;
  top:0;
  width:calc(100% + 16px);
  height:100%;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  opacity:0;
  cursor:pointer
}
input.replay-slider::-webkit-slider-thumb {
  -webkit-appearance:none;
  width:16px;
  height:44px
}
input.replay-slider::-moz-range-thumb {
  width:16px;
  height:44px;
  border:0
}
.replay-track:has(.replay-slider:focus-visible) {
  outline:3px solid #5b9b85;
  outline-offset:6px;
  border-radius:8px
}
.replay-controls {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px
}
.replay-legend {
  margin-left:auto;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  font-size:11px;
  color:var(--muted)
}
.replay-legend span {
  display:inline-flex;
  align-items:center;
  gap:6px
}
.replay-legend i {
  display:inline-block;
  width:9px;
  height:9px;
  border-radius:50%
}
.replay-legend i.tick-milestone {
  border-radius:2px
}
.replay-detail {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:16px;
  align-items:start
}
.replay-event {
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:12px
}
.replay-when {
  font-size:12px;
  color:var(--muted)
}
.replay-event h3 {
  font-size:17px;
  letter-spacing:-.2px;
  color:var(--forest)
}
.replay-detail-text {
  font-size:12px;
  line-height:1.65;
  color:#4e6347
}
.replay-verdict {
  padding:12px 14px;
  border-radius:9px;
  font-size:12px;
  line-height:1.6
}
.replay-verdict>strong {
  display:block;
  font-size:13px;
  margin-bottom:2px
}
.replay-verdict>p {
  margin-top:2px
}
.replay-verdict ul {
  margin:6px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px
}
.replay-verdict li {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:4px 8px
}
.replay-verdict li>span:first-child {
  flex:1 1 240px
}
.replay-basis {
  flex-basis:100%;
  font-size:11px;
  opacity:.9
}
.replay-verdict.status-would_hold {
  background:#faeee8;
  color:#7c3f33
}
.replay-verdict.status-would_hold>strong {
  color:#955043
}
.replay-verdict.status-no_rule_fires {
  background:#f1f6ec;
  color:#3f5e45
}
.replay-verdict.status-not_cleared {
  background:#fbf1db;
  color:#6b4f1f
}
.replay-verdict.status-not_cleared>strong {
  color:#856329
}
.replay-verdict.status-not_judged {
  background:#f3f4f0;
  color:var(--muted)
}
.replay-verdict .link-button {
  color:inherit;
  text-decoration:underline;
  text-underline-offset:2px
}
.replay-unchecked summary {
  font-size:11px;
  color:var(--muted);
  cursor:pointer
}
.replay-unchecked ul {
  margin:6px 0 0;
  padding-left:18px;
  font-size:11px;
  line-height:1.6;
  color:var(--muted)
}
.replay-source,.replay-record {
  font-size:11px;
  color:var(--muted)
}
.replay-ref {
  white-space:nowrap;
  font-family:var(--mono);
  font-size:11px;
  color:var(--muted)
}
.replay-state {
  padding:16px 18px;
  border-radius:12px;
  background:#f7f8f4
}
.replay-state h3 {
  margin-bottom:10px;
  font-size:12px;
  color:#4e6347
}
.replay-known {
  margin:0;
  display:grid;
  gap:9px
}
.replay-known div {
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:10px;
  font-size:12px;
  line-height:1.55
}
.replay-known dt {
  color:var(--muted)
}
.replay-known dd {
  margin:0;
  color:var(--ink)
}
.replay-known ul {
  margin:0;
  padding:0;
  list-style:none
}
.replay-over {
  font-weight:600;
  color:#955043
}
.replay-since {
  display:block;
  font-size:11px;
  color:var(--muted)
}
.replay-scheduled {
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:9px
}
.replay-scheduled .label {
  font-size:10px;
  font-weight:700;
  letter-spacing:1.2px;
  color:var(--muted)
}
.replay-scheduled>strong {
  font-size:14px;
  color:var(--forest)
}
.replay-proposal-action {
  font-size:18px;
  font-weight:600;
  color:var(--forest)
}
.replay-duties {
  margin:14px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
  font-size:12px
}
.replay-duties p {
  margin-top:3px;
  line-height:1.6;
  color:var(--muted)
}
@media(max-width:900px) {
  .replay-detail {
    grid-template-columns:1fr
  }
  .replay-legend {
    margin-left:0
  }
  .replay-known div {
    grid-template-columns:1fr;
    gap:2px
  }
}
@media(max-width:620px) {
  .replay-tick {
    top:21px;
    width:8px;
    height:8px;
    margin-left:-4px;
    border-width:1px
  }
  .replay-tick.tick-record {
    top:22px;
    width:6px;
    height:6px;
    margin-left:-3px
  }
  .replay-tick.tick-today {
    top:20px;
    width:10px;
    height:10px;
    margin-left:-5px
  }
}
.programme-script-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 12px;
  padding:4px 14px 0
}
.programme-script-status {
  margin:8px 14px 0;
  padding:7px 10px;
  border-radius:6px;
  font-size:12px;
  background:#f3f4f0;
  color:var(--muted)
}
.programme-script-status.ok {
  background:#edf3e6;
  color:#376446
}
.programme-script-status.warn {
  background:#fbf1db;
  color:#7a5420
}
.programme-script-rejected {
  margin:8px 14px 0;
  padding:10px 12px;
  border-radius:8px;
  font-size:12px;
  line-height:1.6;
  background:#faeee8;
  color:#7c3f33
}
.programme-script-rejected strong {
  color:#955043
}
.programme-script-rejected ul {
  margin:6px 0 0;
  padding-left:18px
}
.programme-script-rejected details summary {
  margin-top:6px;
  font-size:12px;
  cursor:pointer
}
.programme-script-rejected details p {
  padding:6px 0 0;
  font-style:italic
}
.programme-script-label {
  font-size:12px;
  color:var(--muted)
}

.note-hygiene-output{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:12px;line-height:1.65;background:#f5f7f2;padding:12px;border:1px solid #dfe5da;border-radius:5px;margin:12px 0;max-height:280px;overflow:auto}

/* Call coach: below the customer workspace, with a visible native slider */
.coach-panel {
  margin-top:24px
}
.coach-panel .subtle {
  margin:6px 0 12px
}
.coach-panel .replay-controls {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-bottom:16px
}
.coach-panel .replay-controls .coach-clock {
  margin-left:6px
}
#coach-frame {
  margin-top:4px
}
.coach-clock {
  font:12px var(--mono);
  color:var(--muted);
  font-variant-numeric:tabular-nums
}
/* Native range sliders: undo the text-input box styles so only the track and thumb show */
input.range-input {
  width:100%;
  min-height:24px;
  margin:4px 0 12px;
  padding:0;
  border:0;
  background:transparent;
  accent-color:var(--forest);
  cursor:pointer
}

/* Policy Shadow: contact cap rehearsal, after the rule cards */
#policy-simulator {
  margin-top:22px
}
.simulation-label strong {
  margin-left:6px;
  font-size:14px;
  color:var(--forest);
  font-variant-numeric:tabular-nums
}
.simulation-result {
  font-size:13px;
  line-height:1.7;
  margin:2px 0 10px;
  color:var(--ink)
}
#policy-simulator .form-error,.note-hygiene-error .form-error {
  margin:0 0 10px
}
.note-hygiene-error {
  margin:12px 0
}

/* Proof: measured claims. Read-only cards, so no hover lift */
.proof-measured {
  margin-bottom:14px
}
.proof-error {
  margin-bottom:22px
}
.proof-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:start;
  margin-bottom:22px
}
.proof-card {
  background:white;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:23px 24px;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0
}
.proof-card h2 {
  font-size:16px;
  letter-spacing:-.3px;
  line-height:1.35
}
.proof-figure {
  font:400 40px/1.05 Georgia,serif;
  letter-spacing:-1.2px;
  color:var(--forest);
  font-variant-numeric:lining-nums;
  overflow-wrap:anywhere
}
.proof-limits {
  font-size:13px;
  line-height:1.7;
  color:var(--muted)
}
.proof-card .source-details {
  margin-top:4px
}
.proof-detail {
  padding:14px 16px;
  font-size:12px;
  line-height:1.7;
  color:#4e6347;
  overflow-wrap:anywhere
}
.proof-detail p+p,.proof-factory .panel-body>p+p {
  margin-top:8px
}
.proof-factory .panel-body>p {
  font-size:13px;
  line-height:1.7
}
.answer-table.proof-issues {
  min-width:640px
}
.answer-table.proof-issues td {
  white-space:normal;
  vertical-align:top
}
.answer-table.proof-issues td:nth-child(3) {
  white-space:nowrap
}
@media(max-width:1200px) {
  .proof-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media(max-width:700px) {
  .proof-grid {
    grid-template-columns:1fr
  }
  .proof-figure {
    font-size:34px
  }
}
