:root {
  color-scheme: light;
  --ink: #18202a;
  --muted: #667381;
  --line: #d6dde4;
  --line-strong: #b9c4cf;
  --paper: #ffffff;
  --canvas: #f5f7f8;
  --soft: #eef2f4;
  --brand: #12624f;
  --brand-strong: #0b4a3b;
  --accent: #a74135;
  --signal: #284f78;
  --warning-bg: #fff7df;
  --warning-ink: #745200;
  --danger-bg: #fff0ed;
  --danger-ink: #7a2215;
  --ok-bg: #edf8f2;
  --ok-ink: #155a43;
  --shadow: 0 14px 34px rgba(24, 32, 42, .08);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { background: var(--canvas); }
body { margin: 0; color: var(--ink); background: var(--canvas); font-size: 15px; }
a { color: var(--brand); text-decoration: none; }
a:hover { color: var(--brand-strong); text-decoration: underline; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible {
  outline: 3px solid rgba(40, 79, 120, .24);
  outline-offset: 2px;
}
.wrap { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }

.site-header {
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(14px);
  position: sticky;
  top: 0;
  z-index: 3;
}
.header-inner, .footer-inner { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.footer-inner > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
}
.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
}
.footer-links a {
  color: var(--muted);
  font-weight: 800;
}
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; line-height: 0; }
.brand img { display: block; width: min(278px, 54vw); height: auto; }
.nav { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.nav a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  border-radius: 6px;
  padding: 0 11px;
  color: var(--muted);
  font-weight: 800;
}
.nav a:hover { background: var(--soft); color: var(--ink); text-decoration: none; }
.nav a[aria-current="page"] { background: #e5f1ed; color: var(--brand-strong); }
.nav a.admin-link { color: #87919c; font-weight: 750; }
.admin-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 0 0 14px;
}
.admin-nav-group {
  border: 1px solid #d7e2df;
  border-radius: 8px;
  background: #f8fbfa;
  padding: 10px;
}
.admin-nav summary {
  display: block;
  margin: 0 0 7px;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
  cursor: pointer;
  list-style: none;
}
.admin-nav summary::-webkit-details-marker { display: none; }
.admin-nav summary::after {
  content: "";
  display: none;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform .16s ease;
}
.admin-nav-group[open] summary::after { transform: rotate(225deg); }
.admin-nav-links {
  display: block;
}
.admin-nav a {
  display: inline-flex;
  margin: 0 5px 6px 0;
  padding: 6px 8px;
  border-radius: 6px;
  color: var(--ink);
  font-size: .88rem;
  font-weight: 820;
}
.admin-nav a:hover { background: var(--paper); text-decoration: none; }

.hero { border-bottom: 1px solid var(--line); background: var(--paper); }
.hero-grid { min-height: 410px; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr); gap: 42px; align-items: center; padding: 48px 0; }
.eyebrow { margin: 0 0 12px; text-transform: uppercase; font-size: .76rem; font-weight: 900; color: var(--accent); }
h1 { font-size: clamp(2rem, 4vw, 3.8rem); line-height: 1.03; margin: 0 0 18px; letter-spacing: 0; }
h2 { font-size: 1.22rem; margin: 0; letter-spacing: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.lede { max-width: 760px; color: var(--muted); font-size: 1.04rem; line-height: 1.6; }

.page { padding: 34px 0 56px; }
.page.is-loading { opacity: .72; cursor: progress; }
.detail h1 { max-width: 980px; font-size: clamp(1.75rem, 3vw, 2.75rem); margin-top: 16px; }

input, select, textarea {
  width: 100%;
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  min-height: 44px;
  padding: 0 13px;
  font: inherit;
  background: var(--paper);
  color: var(--ink);
}
textarea { padding-top: 10px; resize: vertical; }
input::placeholder { color: #8a96a3; }
button {
  border: 0;
  border-radius: 6px;
  min-height: 42px;
  padding: 0 16px;
  background: var(--brand);
  color: #fff;
  font-weight: 850;
  cursor: pointer;
}
button:hover { background: var(--brand-strong); }
.search-bar { display: flex; gap: 10px; margin-top: 24px; max-width: 760px; }
.search-bar.compact { margin: 12px 0 26px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 0; }
.hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
  max-width: 760px;
}
.hero-proof span {
  border: 1px solid #d4e1dd;
  border-radius: 6px;
  padding: 7px 10px;
  background: #f5faf8;
  color: var(--brand-strong);
  font-size: .84rem;
  font-weight: 850;
}
.auth-page { min-height: calc(100vh - 126px); display: grid; align-items: center; }
.auth-panel { max-width: 620px; }
.auth-panel h1 { font-size: clamp(2rem, 4vw, 3.2rem); }
.auth-form { grid-template-columns: 1fr; max-width: 460px; }
.auth-form button { width: 100%; }
.signal-list {
  display: grid;
  gap: 8px;
  margin: 18px 0 22px;
  padding: 0;
  list-style: none;
}
.signal-list li {
  border-left: 4px solid var(--brand);
  padding: 9px 12px;
  background: var(--paper);
  color: var(--ink);
  font-weight: 800;
}
.private-access-request-panel {
  max-width: 520px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 18px;
  background: rgba(255, 255, 255, .72);
}
.flash.success { background: var(--ok-bg); color: var(--ok-ink); border-color: #b9dfce; }

.metric-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  display: grid;
  gap: 1px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.metric-panel div, .stat {
  background: var(--paper);
  border-left: 4px solid var(--brand);
  padding: 20px;
  display: grid;
  gap: 5px;
}
.metric-panel strong, .stat strong { color: var(--ink); font-size: 1.85rem; line-height: 1; }
.metric-panel span, .stat span, .meta, .empty { color: var(--muted); }
.stat { border: 1px solid var(--line); border-left: 4px solid var(--brand); border-radius: 8px; text-decoration: none; color: var(--ink); }
.stat:hover { box-shadow: var(--shadow); text-decoration: none; }

.content-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; padding: 36px 0; }
.section-head { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 14px; }
.section-head a, .source-link { font-weight: 850; }
.section-block { margin: 28px 0; }
.wrap.section-block { margin-left: auto; margin-right: auto; }
.bid-pack {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 18px;
  background: #fbfcfc;
}
.bid-pack-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.bid-pack-summary div {
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 12px;
  background: var(--paper);
  display: grid;
  gap: 4px;
}
.bid-pack-summary strong { color: var(--ink); font-size: .98rem; line-height: 1.25; }
.bid-pack-summary span { color: var(--muted); font-size: .8rem; font-weight: 800; text-transform: uppercase; }
.bid-pack-signals { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.report-hero .hero-grid { min-height: 380px; }
.report-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.trust-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 28px 0;
}
.trust-strip div {
  border: 1px solid var(--line);
  border-left: 4px solid var(--signal);
  border-radius: 8px;
  padding: 14px;
  background: var(--paper);
  display: grid;
  gap: 4px;
}
.trust-strip strong { font-size: 1.35rem; line-height: 1; color: var(--ink); }
.trust-strip span, .form-note, .contact-note { color: var(--muted); }
.trust-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 28px;
}
.trust-grid article,
.contact-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  padding: 18px;
}
.trust-grid span,
.contact-panel span {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: .74rem;
  font-weight: 900;
  text-transform: uppercase;
}
.trust-grid h2,
.contact-panel h2 {
  margin: 0 0 8px;
  font-size: 1.08rem;
  line-height: 1.25;
}
.trust-grid p,
.contact-panel p,
.legal-content p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}
.trust-panel div { align-items: start; }
.trust-process { margin: 24px 0 30px; }
.contact-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.contact-panel .primary-link { flex: 0 0 auto; }
.legal-page {
  max-width: 860px;
}
.legal-updated {
  margin: 8px 0 26px;
  color: var(--muted);
  font-weight: 800;
}
.legal-content {
  display: grid;
  gap: 20px;
}
.legal-content section {
  border-top: 1px solid var(--line);
  padding-top: 18px;
}
.legal-content h2 {
  margin-bottom: 8px;
}
.legal-content p + p {
  margin-top: 10px;
}
.form-note {
  margin: 0;
  font-size: .88rem;
  line-height: 1.45;
}
.contact-note {
  margin: 14px 0 0;
  font-weight: 800;
}
.inline-action-form { margin: 0; }
.inline-action-form .document-link {
  min-height: auto;
  display: inline-flex;
  align-items: center;
  border-color: var(--line);
  background: #f9faf9;
  color: var(--brand);
}
.conversion-pill {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  border: 1px solid #b9dfce;
  border-radius: 6px;
  padding: 7px 10px;
  background: var(--ok-bg);
  color: var(--ok-ink);
  font-size: .84rem;
  font-weight: 850;
}
.profile-report-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 22px 0 26px;
  padding: 18px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--signal);
  border-radius: 8px;
  background: #f7fbf9;
}
.profile-report-cta h2 { margin: 0 0 6px; font-size: 1.05rem; }
.profile-report-cta p { margin: 0; color: var(--muted); line-height: 1.45; }
.profile-report-cta .document-link { flex: 0 0 auto; }
.public-preview-banner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin: 20px 0 14px;
  padding: 18px;
  border: 1px solid #d1ded9;
  border-left: 4px solid var(--brand);
  border-radius: 8px;
  background: #f6faf8;
}
.public-preview-banner span,
.paid-report-strip span {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: .74rem;
  font-weight: 900;
  text-transform: uppercase;
}
.public-preview-banner h2 { margin: 0 0 8px; font-size: 1.12rem; line-height: 1.25; }
.public-preview-banner p { margin: 0; color: var(--muted); line-height: 1.5; }
.public-preview-banner .document-link { white-space: nowrap; }
.search-context-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  margin: 8px 0 16px;
  padding: 16px;
  border: 1px solid #d1ded9;
  border-left: 4px solid var(--accent);
  border-radius: 8px;
  background: #fff8f6;
}
.search-context-cta span {
  display: block;
  margin-bottom: 5px;
  color: var(--muted);
  font-size: .74rem;
  font-weight: 900;
  text-transform: uppercase;
}
.search-context-cta h2 { margin: 0 0 6px; font-size: 1.05rem; line-height: 1.25; }
.search-context-cta p { margin: 0; color: var(--muted); line-height: 1.45; }
.search-context-cta .document-link { justify-self: end; white-space: nowrap; }
.paid-report-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 22px;
}
.paid-report-strip div {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  padding: 12px;
}
.paid-report-strip strong {
  display: block;
  color: var(--ink);
  font-size: .92rem;
  line-height: 1.38;
}
.report-preview {
  margin: 24px 0 30px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfc;
}
.report-preview > .lede { margin: 0 0 16px; font-size: .98rem; }
.report-preview-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.preview-point {
  border: 1px solid var(--line);
  border-top: 4px solid var(--brand);
  border-radius: 8px;
  background: var(--paper);
  padding: 14px;
}
.preview-point span, .preview-point strong, .preview-point small { display: block; }
.preview-point span { color: var(--muted); font-size: .74rem; font-weight: 900; text-transform: uppercase; }
.preview-point strong { margin: 6px 0; color: var(--ink); font-size: 1rem; line-height: 1.22; }
.preview-point small { color: var(--muted); line-height: 1.38; }
.report-preview-footer { display: flex; justify-content: flex-end; margin-top: 14px; }
.conversion-bridge {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.3fr) auto;
  gap: 18px;
  align-items: center;
  margin: 22px 0 30px;
  padding: 18px;
  border: 1px solid #d1ded9;
  border-left: 4px solid var(--brand);
  border-radius: 8px;
  background: #f6faf8;
}
.wrap.conversion-bridge { margin-left: auto; margin-right: auto; }
.conversion-bridge span {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: .74rem;
  font-weight: 900;
  text-transform: uppercase;
}
.conversion-bridge h2 { margin: 0 0 8px; font-size: 1.08rem; line-height: 1.25; }
.conversion-bridge p { margin: 0; color: var(--muted); line-height: 1.5; }
.conversion-bridge ul { margin: 0; padding-left: 18px; color: var(--muted); line-height: 1.45; }
.conversion-bridge li + li { margin-top: 5px; }
.conversion-bridge .document-link, .conversion-bridge form { justify-self: end; white-space: nowrap; }
.homepage-alert-bridge {
  margin-top: 12px;
  margin-bottom: 26px;
}
.report-promo {
  margin: 34px auto 28px;
  padding: 26px 0 8px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.report-promo > .lede { margin: 0 0 16px; font-size: 1rem; }
.offer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 18px 0 28px; }
.offer-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  padding: 18px;
  box-shadow: 0 1px 0 rgba(24, 32, 42, .03);
}
.offer-card > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #e6f1ed;
  color: var(--brand-strong);
  font-weight: 900;
}
.offer-card h2 { margin: 14px 0 8px; }
.offer-card p, .report-process p { color: var(--muted); line-height: 1.55; }
.offer-card ul { margin: 14px 0 18px; padding-left: 18px; color: var(--ink); }
.offer-card li { margin-bottom: 7px; }
.offer-card .document-link { display: inline-flex; margin: 0 8px 8px 0; }
.value-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.value-grid div {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 15px;
  background: var(--paper);
}
.value-grid strong {
  display: block;
  margin-bottom: 6px;
  color: var(--ink);
  font-size: .98rem;
}
.value-grid span {
  color: var(--muted);
  line-height: 1.5;
}
.package-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 14px 0 28px;
}
.package-card {
  border: 1px solid var(--line);
  border-top: 4px solid var(--brand);
  border-radius: 8px;
  background: var(--paper);
  padding: 16px;
}
.package-card > span {
  color: var(--accent);
  font-size: .76rem;
  font-weight: 900;
  text-transform: uppercase;
}
.package-card h2 { margin: 6px 0 8px; font-size: 1.08rem; }
.package-card p { margin: 0 0 14px; color: var(--muted); line-height: 1.5; }
.package-card dl { display: grid; gap: 8px; margin: 0 0 16px; }
.package-card dl div {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 10px;
  border-top: 1px solid var(--line);
  padding-top: 8px;
}
.package-card dt { color: var(--muted); font-size: .78rem; font-weight: 900; text-transform: uppercase; }
.package-card dd { margin: 0; color: var(--ink); line-height: 1.35; }
.alert-detail-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.sample-alert-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  overflow: hidden;
}
.sample-alert-header,
.sample-alert-footer {
  padding: 14px 16px;
  background: #f5faf8;
}
.sample-alert-header span,
.sample-alert-footer span {
  display: block;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
}
.sample-alert-header strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 1.08rem;
}
.sample-alert-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 18px;
  align-items: center;
  padding: 15px 16px;
  border-top: 1px solid var(--line);
}
.sample-alert-row strong {
  display: block;
  line-height: 1.3;
}
.sample-alert-row p {
  grid-column: 1;
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}
.sample-alert-row a {
  grid-column: 2;
  grid-row: 1 / span 2;
  font-weight: 850;
  white-space: nowrap;
}
.alert-next-steps {
  margin: 24px 0 28px;
}
.alert-next-steps .section-head {
  margin-bottom: 14px;
}
.alert-terms {
  margin-bottom: 28px;
}
.payment-flow {
  border: 1px solid var(--line);
  border-left: 4px solid var(--signal);
  border-radius: 8px;
  background: #fbfcfc;
  padding: 18px;
}
.payment-flow ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: payment-step;
}
.payment-flow li {
  counter-increment: payment-step;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}
.payment-flow li::before {
  content: counter(payment-step);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  margin-bottom: 8px;
  background: #e6f1ed;
  color: var(--brand-strong);
  font-size: .8rem;
  font-weight: 900;
}
.payment-flow strong, .payment-flow span { display: block; }
.payment-flow strong { margin-bottom: 5px; }
.payment-flow span { color: var(--muted); line-height: 1.45; }
.report-process {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 24px;
}
.report-process > div {
  border: 1px solid var(--line);
  border-left: 4px solid var(--signal);
  border-radius: 8px;
  background: #fbfcfc;
  padding: 18px;
}
.request-form {
  grid-template-columns: 1fr 1fr;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
}
.request-form label:nth-of-type(8),
.request-form label:nth-of-type(13),
.request-form .checkbox-label,
.request-form button {
  grid-column: 1 / -1;
}
.checkbox-label {
  display: flex !important;
  grid-template-columns: none !important;
  flex-direction: row;
  align-items: center;
  gap: 9px;
  color: var(--ink) !important;
}
.checkbox-label input {
  width: auto;
  min-height: auto;
}
.request-form .checkbox-label {
  justify-self: start;
  width: auto;
  align-items: flex-start;
  gap: 8px;
}
.request-form .checkbox-label input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  min-height: 18px;
  margin-top: 2px;
  padding: 0;
}
.request-form .checkbox-label span {
  display: inline;
  line-height: 1.35;
}
.report-sample-hero .metric-panel small {
  display: block;
  color: var(--muted);
  font-weight: 760;
  line-height: 1.35;
}
.sample-report-note {
  margin: 0 0 24px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--brand);
  border-radius: 8px;
  background: #fbfcfc;
}
.sample-report-note p { margin: 0; color: var(--muted); line-height: 1.5; }
.sample-report-note strong { color: var(--ink); }
.sample-report-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .36fr);
  gap: 22px;
  align-items: start;
  margin: 0 0 30px;
}
.sample-output-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .36fr);
  gap: 22px;
  align-items: start;
  margin: 22px 0 30px;
}
.sample-output-preview { min-width: 0; }
.sample-insight-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.sample-report-sidebar {
  border: 1px solid var(--line);
  border-top: 4px solid var(--signal);
  border-radius: 8px;
  background: var(--paper);
  padding: 16px;
}
.sample-report-sidebar ul { margin: 14px 0 18px; padding-left: 18px; color: var(--ink); }
.sample-report-sidebar li { margin-bottom: 8px; }
.preview-conversion-form {
  display: grid;
  gap: 10px;
  margin: 0 0 12px;
}
.preview-conversion-form button { width: 100%; }
.preview-conversion-form p {
  margin: 0;
  border: 1px solid #b9dfce;
  border-radius: 6px;
  padding: 10px;
  background: var(--ok-bg);
  color: var(--ok-ink);
  font-weight: 850;
}
.preview-action-plan {
  margin-top: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  padding: 16px;
}
.preview-action-plan .section-head { margin-bottom: 10px; }
.preview-action-plan ol {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 22px;
}
.preview-action-plan li {
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fbfcfc;
  line-height: 1.45;
}
.sample-report-cta {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin: 30px 0 0;
  padding: 20px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--accent);
  border-radius: 8px;
  background: var(--paper);
}
.sample-report-cta p { margin: 7px 0 0; color: var(--muted); line-height: 1.45; }

.result {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 15px 16px;
  margin-bottom: 12px;
  background: var(--paper);
  box-shadow: 0 1px 0 rgba(24, 32, 42, .03);
}
.result:nth-of-type(even) { background: #f3f7f6; }
.result:nth-of-type(odd) { background: var(--paper); }
.result:hover { border-color: var(--line-strong); box-shadow: 0 10px 24px rgba(24, 32, 42, .06); }
.result > a { color: var(--ink); font-weight: 900; }
.result p { color: var(--muted); line-height: 1.48; margin: 8px 0; }
.result.expired-tender {
  border-color: #d7dde2;
  background: #f6f7f7;
  box-shadow: none;
}
.result.expired-tender > a {
  color: #46515d;
}
.result.expired-tender .source-badge,
.result.expired-tender .meta span,
.result.expired-tender .meta-link {
  opacity: .86;
}
.result-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 4px;
}
.source-badge {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 4px 8px;
  background: #f9faf9;
  color: var(--muted);
  font-size: .75rem;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.source-badge:hover, .source-badge:focus-visible {
  border-color: currentColor;
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
.donor-badge {
  border-color: #b7d0c5;
  background: #e9f4ef;
  color: var(--brand-strong);
}
.official-badge {
  border-color: #d7c2bc;
  background: #fff8f6;
  color: var(--accent);
}
.relevance-badge {
  text-decoration: none;
}
.relevance-direct {
  border-color: #9fc9b6;
  background: #e4f3ec;
  color: #17543c;
}
.relevance-included {
  border-color: #d8c58d;
  background: #fff8dc;
  color: #6a4b00;
}
.relevance-review {
  border-color: #d9a8a8;
  background: #fff1f1;
  color: #7a2525;
}
.pill {
  display: inline-block;
  font-size: .8rem;
  font-weight: 850;
  color: var(--brand-strong);
  background: #e6f1ed;
  border: 1px solid #c8ded5;
  border-radius: 999px;
  padding: 4px 9px;
}

.meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 18px; }
.result-meta {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(220px, .9fr);
  gap: 8px 12px;
  align-items: start;
}
.award-meta {
  grid-template-columns: minmax(0, 1fr) 320px;
}
.meta-cluster {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.meta-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.timing-meta, .value-meta { justify-content: flex-end; }
.value-meta {
  align-items: flex-end;
  flex-direction: column;
  min-width: 220px;
}
.meta span, .meta-link {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 5px 10px;
  background: #fbfcfc;
}
.meta .meta-emphasis {
  border-color: #bfd8ce;
  background: #eaf4f0;
  color: var(--brand-strong);
  font-weight: 900;
}
.meta .meta-emphasis.secondary {
  border-color: var(--line);
  background: #fbfcfc;
  color: var(--ink);
}
.meta .deadline-passed,
.meta-link.expired-status {
  border-color: #d7c2bc;
  background: #fff8f6;
  color: var(--accent);
}
.meta-link { color: var(--brand); font-weight: 850; transition: background-color .15s ease, border-color .15s ease; }
.meta-link:hover, .meta-link:focus-visible { background: #e6f1ed; border-color: var(--brand); text-decoration: none; outline: none; }
.profile-link {
  border: 1px dashed #cc9c95;
  border-radius: 999px;
  padding: 5px 10px;
  color: var(--accent);
  background: #fff8f6;
  font-weight: 850;
}
.profile-link:hover, .profile-link:focus-visible { border-color: var(--accent); background: var(--danger-bg); text-decoration: none; outline: none; }

.result-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.intelligence-link, .document-link {
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 7px 10px;
  background: #f9faf9;
  color: var(--ink);
  font-size: .84rem;
  font-weight: 850;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
}
.intelligence-link { color: var(--accent); border-style: dashed; background: #fff8f6; }
.intelligence-link::after { content: " ->"; font-weight: 900; }
.document-link { color: var(--brand); }
.source-alert-column { width: 124px; text-align: right; }
.source-alert-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  min-width: 96px;
  border: 1px solid var(--brand);
  border-radius: 6px;
  padding: 6px 10px;
  background: var(--brand);
  color: #fff;
  font-size: .82rem;
  font-weight: 900;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
.source-alert-link:hover, .source-alert-link:focus-visible {
  background: var(--brand-strong);
  color: #fff;
  text-decoration: none;
  outline: 2px solid rgba(18, 98, 79, .28);
  outline-offset: 2px;
}
.expired-alert-link {
  min-height: 34px;
  padding: 6px 10px;
}
.primary-link {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  border: 1px solid var(--brand);
  border-radius: 6px;
  padding: 7px 12px;
  background: var(--brand);
  color: #fff;
  font-size: .86rem;
  font-weight: 900;
  text-decoration: none;
}
.primary-link:hover, .primary-link:focus-visible {
  background: var(--brand-strong);
  color: #fff;
  text-decoration: none;
  outline: 2px solid rgba(18, 98, 79, .28);
  outline-offset: 2px;
}
.copy-ai-prompt-button.document-link {
  min-height: auto;
  cursor: pointer;
  font: inherit;
}
.intelligence-link:hover, .intelligence-link:focus-visible, .document-link:hover, .document-link:focus-visible {
  border-color: currentColor;
  background: var(--paper);
  text-decoration-thickness: 2px;
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
.record-source-line { display: flex; flex-wrap: wrap; gap: 6px 10px; margin: 12px 0 0; color: var(--muted); font-size: .82rem; font-weight: 760; }
.record-source-line a { font-weight: 850; }
.expired-tender-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  margin: 18px 0;
  padding: 16px;
  border: 1px solid #d7c2bc;
  border-left: 4px solid var(--accent);
  border-radius: 8px;
  background: #fff8f6;
}
.expired-tender-panel span {
  display: block;
  margin-bottom: 5px;
  color: var(--accent);
  font-size: .74rem;
  font-weight: 900;
  text-transform: uppercase;
}
.expired-tender-panel h2 { margin: 0 0 6px; font-size: 1.05rem; line-height: 1.25; }
.expired-tender-panel p { margin: 0; color: var(--muted); line-height: 1.45; }
.expired-tender-panel .primary-link { justify-self: end; white-space: nowrap; }
.record-provenance, .source-freshness {
  border: 1px solid var(--line);
  border-left: 4px solid var(--signal);
  border-radius: 8px;
  background: #fbfcfc;
}
.record-provenance { margin: 18px 0; padding: 14px; }
.record-provenance h2 { font-size: 1rem; margin-bottom: 12px; }
.record-provenance dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; }
.record-provenance dt { color: var(--muted); font-size: .76rem; font-weight: 900; text-transform: uppercase; }
.record-provenance dd { margin: 4px 0 0; font-weight: 850; }
.record-provenance dd small { display: block; margin-top: 4px; color: var(--muted); font-weight: 750; }
.source-link { display: inline-block; margin-top: 18px; }
.secondary-source-link { color: var(--muted); font-size: .9rem; }

.filter-panel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
  margin: 12px 0 18px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfc;
}
.filter-panel label { display: grid; gap: 5px; color: var(--muted); font-size: .84rem; font-weight: 850; }
.filter-panel input, .filter-panel select { min-height: 40px; }
.date-range { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; grid-column: span 2; min-width: 0; }
.control-section {
  margin: 12px 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  padding: 0 12px;
}
.control-section summary { cursor: pointer; color: var(--ink); font-weight: 900; padding: 11px 0; }
.compact-control .filter-panel, .ordering-panel { grid-template-columns: minmax(220px, 320px); margin-bottom: 14px; }
.typeahead-field { position: relative; }
.search-bar .typeahead-field { flex: 1; }
.typeahead-panel {
  position: absolute;
  z-index: 5;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  max-height: 320px;
  overflow-y: auto;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: var(--paper);
  box-shadow: var(--shadow);
  padding: 6px;
}
.typeahead-panel[hidden] { display: none; }
.typeahead-group { padding: 7px 8px 4px; color: var(--muted); font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.typeahead-option { width: 100%; min-height: 0; display: grid; gap: 3px; border: 0; border-radius: 6px; padding: 9px 10px; background: var(--paper); color: var(--ink); text-align: left; font: inherit; cursor: pointer; }
.typeahead-option strong { font-size: .9rem; }
.typeahead-option span { color: var(--muted); font-size: .8rem; }
.typeahead-option small { color: var(--brand); font-size: .74rem; font-weight: 900; }
.typeahead-option:hover, .typeahead-option.is-active { background: #e6f1ed; }


.related-resource-links,
.seo-guide-links {
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
.related-resource-links .section-head,
.seo-guide-links .section-head { margin-bottom: 8px; }
.related-resource-links .source-badge,
.seo-guide-links .source-badge { font-size: .72rem; }
.core-filter-panel { grid-template-columns: minmax(260px, 1.7fr) repeat(3, minmax(130px, 1fr)) auto; }
.advanced-filter-section { background: #fbfcfc; }
.advanced-filter-section .filter-panel { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.small-trust-note { margin: 12px 0 0; color: var(--muted); font-size: .9rem; font-weight: 800; }

.filter-actions { display: flex; gap: 12px; align-items: center; min-height: 40px; flex-wrap: wrap; }
.filter-actions a { font-weight: 800; }
.inline-admin-form { display: inline-flex; margin: 10px 10px 0 0; }
.checkbox-line { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; }
.checkbox-line input { width: auto; min-height: auto; }
.admin-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.admin-actions form { margin: 0; }
.admin-actions a { font-weight: 850; }
.lead-workflow-form { display: grid; gap: 8px; min-width: 230px; }
.lead-workflow-form label { display: grid; gap: 4px; color: var(--muted); font-size: .82rem; font-weight: 850; }
.lead-workflow-form select,
.lead-workflow-form input,
.lead-workflow-form textarea { min-height: 36px; font-size: .86rem; }
.lead-workflow-form button { justify-self: start; min-height: 36px; }
.compact-action-form { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.button-row { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.count-pill, .source-pill {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 9px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--soft);
  color: var(--muted);
  font-size: .78rem;
  font-weight: 900;
}
.source-pill { background: #edf8f2; color: var(--ok-ink); }
.donor-funded-head {
  align-items: end;
  margin-bottom: 18px;
}
.donor-funded-head .document-link { white-space: nowrap; }
.donor-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 20px;
}
.donor-summary .stat {
  min-height: 104px;
  text-decoration: none;
}
.donor-summary .stat:hover,
.donor-summary .stat:focus-visible {
  border-color: var(--brand);
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}
.donor-funded-page table small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-weight: 760;
}
.empty-state {
  margin: 0;
  padding: 14px;
  border: 1px dashed var(--line-strong);
  border-radius: 8px;
  color: var(--muted);
  background: var(--paper);
}
.flash-message {
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid #bad8ca;
  border-radius: 8px;
  background: var(--ok-bg);
  color: var(--ok-ink);
  font-weight: 820;
}
.maintenance-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  box-shadow: 0 8px 20px rgba(24, 32, 42, .04);
  margin: 0 0 14px;
}
.maintenance-card:nth-of-type(even) { background: #f9fbfc; }
.maintenance-card-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 14px 10px;
  border-bottom: 1px solid var(--line);
}
.maintenance-card-head a { font-size: 1rem; font-weight: 900; }
.maintenance-card-head p { margin: 6px 0 0; color: var(--muted); line-height: 1.45; }
.maintenance-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
}
.maintenance-form label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: .8rem;
  font-weight: 850;
}
.maintenance-form input,
.maintenance-form select {
  min-height: 38px;
  font-size: .88rem;
}
.maintenance-form .wide-field { grid-column: span 2; }
.maintenance-form .checkbox-field {
  align-self: end;
  display: flex;
  min-height: 38px;
  align-items: center;
  gap: 8px;
  color: var(--ink);
}
.maintenance-form .checkbox-field input {
  width: auto;
  min-height: 0;
}
.maintenance-form button {
  align-self: end;
  min-height: 38px;
}
.normalization-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 14px;
  align-items: start;
}
.normalization-grid .maintenance-card { margin: 0; }
.fulfillment-panel {
  display: grid;
  gap: 7px;
  margin-top: 10px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--soft);
}
.fulfillment-panel strong { color: var(--ink); }
.fulfillment-panel small { color: var(--muted); }
.fulfillment-panel label { display: grid; gap: 4px; color: var(--muted); font-size: .82rem; font-weight: 850; }
.fulfillment-panel input,
.fulfillment-panel textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 8px;
  background: var(--paper);
  color: var(--ink);
  font: inherit;
}
.report-draft-action { margin: 10px 0 0; }
.report-draft-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
}
.copy-prompt-status {
  color: var(--muted);
  font-weight: 850;
}
.report-draft-context {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}
.report-draft-context div {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  padding: 10px;
}
.report-draft-context dt {
  margin: 0 0 4px;
  color: var(--muted);
  font-size: .76rem;
  font-weight: 900;
  text-transform: uppercase;
}
.report-draft-context dd {
  margin: 0;
  color: var(--ink);
  line-height: 1.35;
}
.report-draft-columns {
  display: grid;
  grid-template-columns: 1fr 1.35fr .75fr;
  gap: 12px;
  align-items: start;
}
.report-draft-list {
  margin: 0;
  padding-left: 22px;
  color: var(--ink);
  line-height: 1.55;
}
.report-draft-list li { margin-bottom: 8px; }
.preview-copy {
  white-space: pre-line;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  padding: 18px;
  color: var(--ink);
  line-height: 1.55;
}
.pipeline-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0;
}
.pipeline-card {
  border: 1px solid var(--line);
  border-left: 4px solid var(--brand);
  border-radius: 8px;
  background: var(--paper);
  padding: 12px;
  color: var(--ink);
}
.pipeline-card:hover { border-color: var(--line-strong); box-shadow: var(--shadow); text-decoration: none; }
.pipeline-card span, .pipeline-card strong, .pipeline-card small { display: block; }
.pipeline-card span { color: var(--muted); font-size: .74rem; font-weight: 900; text-transform: uppercase; }
.pipeline-card strong { margin: 5px 0; font-size: 1.45rem; line-height: 1; }
.pipeline-card small { color: var(--accent); font-weight: 850; }
.report-funnel-pulse {
  margin: 20px 0 28px;
  padding: 18px;
  border: 1px solid #d7e2df;
  border-radius: 8px;
  background: #f8fbfa;
}
.report-funnel-pulse .admin-grid { margin-bottom: 0; }
.report-funnel-pulse .stat strong {
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  overflow-wrap: anywhere;
}
.reset-button {
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  min-height: 40px;
  padding: 9px 12px;
  background: var(--paper);
  color: var(--ink);
}
.reset-button:hover { background: var(--soft); text-decoration: none; }
.search-mode { display: flex; justify-content: flex-end; margin: -6px 0 10px; }
.search-mode span {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 5px 10px;
  background: var(--paper);
  color: var(--muted);
  font-size: .82rem;
  font-weight: 850;
}
.source-freshness { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin: 0 0 14px; padding: 10px 12px; color: var(--muted); font-size: .86rem; }
.source-freshness strong { color: var(--ink); }
.source-freshness small { flex-basis: 100%; color: var(--muted); }
.source-freshness-link { font-weight: 850; }
.source-overview { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 18px 0 24px; }

.admin-filters { grid-template-columns: repeat(4, minmax(0, 1fr)) auto; }
.result-summary { color: var(--muted); font-weight: 800; margin: 0 0 12px; }
.profile-table-controls { display: flex; align-items: end; gap: 8px; margin: 0; }
.profile-table-controls label { display: grid; gap: 4px; color: var(--muted); font-size: .82rem; font-weight: 850; }
.profile-table-controls select { min-width: 84px; min-height: 36px; padding: 0 10px; }
.pagination { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin: 18px 0 32px; }
.pagination a { min-width: 38px; min-height: 36px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); color: var(--ink); text-align: center; font-weight: 800; }
.pagination a:hover { background: var(--soft); text-decoration: none; }
.pagination a.active { background: var(--brand); border-color: var(--brand); color: #fff; }
.pagination a.disabled { color: var(--muted); background: var(--soft); pointer-events: none; opacity: .55; }

.admin-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 20px 0; }
.signal-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 18px 0 22px; }
.signal-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  padding: 12px;
}
.signal-card span, .signal-card strong, .signal-card small { display: block; }
.signal-card span { color: var(--muted); font-size: .76rem; font-weight: 900; text-transform: uppercase; }
.signal-card strong { margin: 5px 0; color: var(--ink); font-size: 1.02rem; line-height: 1.2; }
.signal-card small { color: var(--muted); line-height: 1.35; }
.signal-card.strong { border-color: #b9dfce; background: var(--ok-bg); }
.signal-card.warning { border-color: #efd3a5; background: var(--warning-bg); }
.data-confidence {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0 22px;
}
.data-confidence div {
  border: 1px solid var(--line);
  border-left: 4px solid var(--signal);
  border-radius: 8px;
  background: #fbfcfc;
  padding: 12px;
}
.data-confidence span, .data-confidence strong, .data-confidence small { display: block; }
.data-confidence span { color: var(--muted); font-size: .76rem; font-weight: 900; text-transform: uppercase; }
.data-confidence strong { margin: 5px 0; color: var(--ink); line-height: 1.2; }
.data-confidence small { color: var(--muted); line-height: 1.38; }
.data-explanation {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr);
  gap: 18px;
  align-items: start;
  margin: 18px 0 24px;
  padding: 18px;
  border: 1px solid #d7e2df;
  border-left: 4px solid var(--accent);
  border-radius: 8px;
  background: #f8fbfa;
}
.data-explanation h2 { margin: 0 0 8px; font-size: 1rem; }
.data-explanation p { margin: 0; color: var(--muted); line-height: 1.5; }
.data-explanation ul { margin: 0; padding-left: 18px; color: var(--muted); line-height: 1.5; }
.data-explanation li + li { margin-top: 6px; }
.data-explanation strong { color: var(--ink); }
.report-data-explanation { margin-top: 16px; }
.quality-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 18px 0 24px; }
.quality-summary div, .quality-issue {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  padding: 14px;
}
.quality-summary strong, .quality-summary span, .quality-summary small { display: block; }
.quality-summary span { margin: 5px 0; font-size: 1.28rem; font-weight: 900; color: var(--brand); }
.quality-summary small, .quality-issue p, .quality-issue small { color: var(--muted); }
.quality-issue { margin-bottom: 12px; }
.quality-issue-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.quality-issue-head span { min-width: 46px; min-height: 34px; border-radius: 999px; background: var(--soft); color: var(--accent); display: inline-flex; align-items: center; justify-content: center; font-weight: 900; }
.quality-issue p { margin: 4px 0 0; line-height: 1.4; }
.quality-issue .copy-block { white-space: pre-line; }
.quality-issue ul { margin: 12px 0 0; padding-left: 18px; }
.quality-issue li { margin-bottom: 8px; }
.quality-issue small { display: block; margin-top: 2px; }
.muted-copy { margin: 4px 0 0; color: var(--muted); line-height: 1.45; }
.workbench-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.workbench-card {
  display: grid;
  gap: 12px;
  align-content: start;
  border: 1px solid var(--line);
  border-left: 4px solid var(--accent);
  border-radius: 8px;
  background: var(--paper);
  padding: 14px;
}
.workbench-card.critical { border-left-color: var(--danger-ink); background: #fffafa; }
.workbench-card.high { border-left-color: var(--signal); background: #fbfcfc; }
.workbench-card.medium { border-left-color: var(--warning-ink); background: var(--warning-bg); }
.workbench-card-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.workbench-card-head span { color: var(--muted); font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.workbench-card h3 { margin: 3px 0 5px; font-size: 1rem; }
.workbench-card p { margin: 0; color: var(--muted); line-height: 1.42; }
.workbench-card-head strong {
  min-width: 48px;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--soft);
  color: var(--ink);
  font-weight: 950;
}
.workbench-card ul { margin: 0; padding-left: 18px; }
.workbench-card li { margin-bottom: 9px; color: var(--muted); }
.workbench-card li a:first-child { font-weight: 850; }
.workbench-card small { display: block; margin: 2px 0 4px; color: var(--muted); line-height: 1.35; }
.inline-action { font-size: .8rem; font-weight: 900; }

.source-discovery-table {
  display: block;
  overflow-x: auto;
}
.source-discovery-table select,
.source-discovery-table input,
.source-discovery-table textarea {
  width: 100%;
  min-width: 112px;
  font-size: .86rem;
}
.source-discovery-table textarea {
  min-width: 190px;
  resize: vertical;
}
.source-discovery-table button {
  min-height: 36px;
  padding: 8px 11px;
}
.source-discovery-table form {
  margin: 0;
}
.detail-form {
  display: grid;
  gap: 12px;
}
.detail-form label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: .86rem;
  font-weight: 850;
}
.detail-form input,
.detail-form select,
.detail-form textarea {
  width: 100%;
}
.detail-form button {
  justify-self: start;
}
.source-analysis {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin: 18px 0 22px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
}
.source-analysis h2 {
  margin: 10px 0 6px;
}
.source-analysis p {
  margin: 0;
  color: var(--muted);
  font-weight: 760;
  line-height: 1.4;
}
.source-analysis form {
  margin: 0;
  flex: 0 0 auto;
}

.health-pill { display: inline-flex; align-items: center; min-height: 28px; border-radius: 999px; padding: 5px 10px; background: var(--soft); color: var(--muted); font-size: .82rem; font-weight: 900; }
.health-pill.healthy { background: var(--ok-bg); color: var(--ok-ink); }
.health-pill.warning { background: var(--warning-bg); color: var(--warning-ink); }
.health-pill.danger { background: var(--danger-bg); color: var(--danger-ink); }
.health-pill.neutral { background: var(--soft); color: var(--muted); }
.muted { color: var(--muted); font-weight: 800; }

table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 14px 0 26px;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  background: var(--paper);
  font-size: .92rem;
}
.table-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.table-scroll table { min-width: 720px; }
.wide-table {
  display: block;
  overflow-x: auto;
}
.compact-table th, .compact-table td { padding: 8px 9px; }
.compact-table td { white-space: nowrap; }
th, td { border-bottom: 1px solid var(--line); text-align: left; padding: 10px 9px; vertical-align: top; }
th { background: #edf1f3; color: #3f4d5c; font-size: .78rem; font-weight: 900; text-transform: uppercase; }
tr:last-child td { border-bottom: 0; }
tbody tr:hover, table tr:hover td { background: #fbfcfc; }
td small { display: block; margin-top: 4px; color: var(--muted); }
.flash { padding: 12px 14px; border: 1px solid #b9dfce; background: var(--ok-bg); border-radius: 8px; color: var(--ok-ink); font-weight: 800; }
.error-flash { border-color: #efc0b8; background: var(--danger-bg); color: var(--danger-ink); }
.reindex-status { display: flex; gap: 12px; align-items: center; margin: 14px 0 20px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 8px; background: #fbfcfc; color: var(--ink); }
.reindex-status[hidden] { display: none; }
.reindex-status[data-state="completed"] { border-color: #b9dfce; background: var(--ok-bg); color: var(--ok-ink); }
.reindex-status[data-state="failed"] { border-color: #efc0b8; background: var(--danger-bg); color: var(--danger-ink); }
.site-footer { border-top: 1px solid var(--line); background: var(--paper); color: var(--muted); }

@media (max-width: 920px) {
  .header-inner {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
    padding: 13px 0;
  }
  .nav {
    width: 100%;
    gap: 5px;
  }
  .nav a {
    min-height: 34px;
    padding: 0 10px;
  }
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 40px 0;
  }
  .metric-panel {
    max-width: 520px;
  }
}

@media (max-width: 760px) {
  .hero-grid, .content-grid, .admin-grid, .admin-nav, .signal-grid, .data-confidence, .data-explanation, .conversion-bridge, .public-preview-banner, .search-context-cta, .expired-tender-panel, .paid-report-strip, .quality-summary, .filter-panel, .admin-filters, .two-column, .source-overview, .record-provenance dl, .offer-grid, .value-grid, .package-grid, .payment-flow ol, .report-process, .report-preview-grid, .sample-report-layout, .sample-output-grid, .sample-insight-grid, .pipeline-summary, .donor-summary, .maintenance-form, .normalization-grid, .workbench-grid, .result-meta, .report-draft-context, .report-draft-columns, .bid-pack-summary, .trust-strip, .trust-grid { grid-template-columns: 1fr; }
  .sample-alert-row { grid-template-columns: 1fr; }
  .sample-alert-row p,
  .sample-alert-row a { grid-column: 1; grid-row: auto; white-space: normal; }
  .contact-panel { align-items: flex-start; flex-direction: column; }
  .profile-report-cta { align-items: flex-start; flex-direction: column; }
  .conversion-bridge .document-link, .conversion-bridge form, .public-preview-banner .document-link, .search-context-cta .document-link, .expired-tender-panel .primary-link { justify-self: start; white-space: normal; }
  .sample-report-cta { align-items: flex-start; flex-direction: column; }
  .report-preview-footer { justify-content: flex-start; }
  .header-inner, .footer-inner { align-items: flex-start; flex-direction: column; padding: 14px 0; }
  .search-bar { flex-direction: column; }
  .date-range { grid-column: auto; grid-template-columns: 1fr; }
  .timing-meta, .value-meta { justify-content: flex-start; }
  .value-meta { align-items: flex-start; min-width: 0; }
  .source-analysis { flex-direction: column; }
  .maintenance-form .wide-field { grid-column: auto; }
  .maintenance-card-head { flex-direction: column; }
  .request-form, .request-form label:nth-of-type(8), .request-form .checkbox-label, .request-form button { grid-column: auto; }
  .admin-nav-group { padding: 0; overflow: hidden; }
  .admin-nav summary { display: flex; align-items: center; justify-content: space-between; min-height: 44px; margin: 0; padding: 0 12px; }
  .admin-nav summary::after { display: inline-block; }
  .admin-nav-links { padding: 0 10px 8px; }
  .admin-nav a { min-height: 34px; margin-bottom: 7px; }
  table { max-width: 100%; }
  .table-scroll { margin: 14px 0 26px; }
  .table-scroll table { margin: 0; }
}
