/* v6 "Clinical clean" layer for Radar V3 (2026-10-09).
   Reversible: loaded after radar.css only when V3_THEME is not "classic" (see base.html).
   Token values from radar_plan/ui_refresh/tokens/theme_a.css (box), mapped them onto V3 classes.
   No external fonts: Inter is used only if installed locally. */
:root{
  --ink:var(--ink-v6,#0B1B2E);--muted:#5B687B;--accent:#0B6E69;--line:#E3E8EE;--paper:#F6F8FA;--white:#FFFFFF;
  --v6-ink-2:#3B4A5E;--v6-brand:#0B6E69;--v6-brand-hover:#095A56;--v6-brand-50:#E8F4F2;--v6-brand-100:#C8E6E1;--v6-navy:#0B2540;
  --v6-line-2:#EDF1F5;--v6-surface-2:#F8FAFC;--v6-r-card:12px;--v6-r-ctl:8px;--v6-shadow:0 1px 2px rgba(11,27,46,.04),0 1px 3px rgba(11,27,46,.06)}
body{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:14.5px;line-height:1.5;color:#0B1B2E;background:#F6F8FA;text-rendering:optimizeLegibility}
a{color:var(--v6-brand)}a:hover{color:#08524E}
.site-header{background:#fff;border-bottom:1px solid var(--line);box-shadow:none}
.brand{color:var(--v6-navy);font-weight:700;letter-spacing:.06em}.brand-mark{color:var(--v6-brand)}
.private-label{color:#97A1B0;letter-spacing:.08em}
nav{background:#fff;border-bottom:1px solid var(--line)}
.nav-inner a{color:var(--v6-ink-2);font-weight:550;border-bottom:2px solid transparent;border-radius:0}
.nav-inner a:hover{color:var(--v6-brand);background:var(--v6-brand-50)}
.nav-inner a[aria-current]{color:var(--v6-brand);border-bottom-color:var(--v6-brand);background:transparent}
h1{font-size:28px;font-weight:650;letter-spacing:-.015em;color:#0B1B2E}
h2{font-weight:600;letter-spacing:-.005em;color:#0B1B2E}
.eyebrow{color:var(--v6-brand);font-weight:600;letter-spacing:.09em;font-size:11.5px}
.lede{color:var(--v6-ink-2);font-size:15.5px;max-width:780px}
.metric,.panel,.result-card,.evidence{background:#fff;border:1px solid var(--line);border-radius:var(--v6-r-card);box-shadow:var(--v6-shadow)}
.result-card:hover{border-color:#CBD3DD}
.filters{background:#fff;border:1px solid var(--line);border-radius:var(--v6-r-card);box-shadow:var(--v6-shadow)}
input,select,textarea{border:1px solid #8A95A6;border-radius:var(--v6-r-ctl);background:#fff;color:#0B1B2E}
input:focus,select:focus,textarea:focus{border-color:var(--v6-brand);box-shadow:0 0 0 3px var(--v6-brand-100);outline:none}
button,.button{background:var(--v6-brand);border:1px solid var(--v6-brand);color:#fff;border-radius:var(--v6-r-ctl);font-weight:600}
button:hover,.button:hover{background:var(--v6-brand-hover);border-color:var(--v6-brand-hover);color:#fff}
.button.secondary,button.quiet{background:#fff;color:var(--v6-brand);border:1px solid var(--line)}
.button.secondary:hover,button.quiet:hover{background:var(--v6-brand-50);color:#08524E}
:focus-visible{outline:2px solid var(--v6-brand);outline-offset:2px}
.badge{border-radius:999px;background:var(--v6-surface-2);border:1px solid var(--line);color:var(--v6-ink-2);font-weight:550}
.badge.review{background:#FFF7E6;border-color:#F3D9A4;color:#7A4E00}
.section-nav a{border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--v6-ink-2)}
.section-nav a:hover{border-color:var(--v6-brand);color:var(--v6-brand)}
.section-nav span{color:var(--v6-brand);font-variant-numeric:tabular-nums}
.section-heading{border-bottom:1px solid var(--v6-line-2)}
.section-heading span,.meta{color:#5B687B}
.muted,.empty{color:#5B687B}
.jobs-table{background:#fff;border:1px solid var(--line);border-radius:var(--v6-r-card);overflow:hidden;box-shadow:var(--v6-shadow);border-collapse:separate;border-spacing:0}
.jobs-table th{background:var(--v6-surface-2);color:#5B687B;font-weight:600;font-size:12px}
.jobs-table td,.jobs-table th{border-bottom:1px solid var(--v6-line-2)}
.jobs-table tbody tr:hover{background:#F3F7F8}
.jobs-table td:nth-child(4),.jobs-table td:nth-child(3){font-variant-numeric:tabular-nums}
.funding-totals>div{background:var(--v6-surface-2);border:1px solid var(--line);border-radius:var(--v6-r-ctl);padding:10px 12px}
.funding-totals dd{font-size:18px;font-weight:650;color:var(--v6-navy);font-variant-numeric:tabular-nums;margin:2px 0 0}
.signal-card a{font-weight:600}
.research-row.light,.meta.light{opacity:.6}
footer.container{color:#97A1B0;border-top:1px solid var(--line)}

@media(max-width:760px){.jobs-table{display:block;overflow-x:auto;max-width:100%}}
/* Public controls follow Fairhill Lunchroom: labeled fields, 44px actions, cream notices, scrolling tables. */
:root {
  --ink: #243d34;
  --muted: #626e60;
  --accent: #1d5342;
  --line: #e5e8df;
  --paper: #fafaf6;
  --white: #fff;
}
body {
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button, a { touch-action: manipulation; }
button:disabled { opacity: 0.5; cursor: not-allowed; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible {
  outline: 3px solid #d99b45;
  outline-offset: 3px;
}
input, select, textarea {
  min-height: 46px;
  border: 1px solid #dce1d7;
  border-radius: 9px;
  background: #fff;
  color: #253e34;
  padding: 10px 12px;
}
label { font-size: 13px; font-weight: 600; }
button, .button {
  min-height: 44px;
  border-radius: 8px;
  border: 1px solid var(--accent);
  background: var(--accent);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 12px 17px;
}
button:hover, .button:hover { background: #163e32; }
.button.secondary, button.secondary {
  background: #fff;
  color: var(--accent);
  border-color: #dce3d7;
}
.button.secondary:hover, button.secondary:hover { background: #f0f3eb; }
.site-header { background: #fff; border-bottom: 1px solid var(--line); }
.header-inner { min-height: 72px; }
.nav-inner { gap: 22px; }
.nav-inner a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
}
.nav-inner a[aria-current] { color: var(--accent); box-shadow: inset 0 -3px var(--accent); }
.filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 22px;
}
.filters .field, .filters .wide { min-width: 0; width: auto; flex: none; }
.filters .wide { grid-column: span 2; }
.filters .reset { grid-column: 1 / -1; padding: 0; font-size: 12px; font-weight: 600; }
.search-bar { display: flex; gap: 10px; align-items: end; }
.search-bar input { flex: 1; }
.notice {
  background: #f4f2e6;
  border: 1px solid #eae6d4;
  color: #695c3e;
  border-radius: 8px;
  padding: 14px 17px;
  font-size: 13px;
}
.error {
  color: #a5362a;
  background: #fcedea;
  border: 1px solid #f1d2ca;
  padding: 13px 16px;
  border-radius: 8px;
}
.jobs-table { width: 100%; border-collapse: collapse; font-size: 14px; background: #fff; }
.jobs-table th {
  background: #f8f9f5;
  color: #586052;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.2px;
  padding: 12px 14px;
  text-align: left;
  white-space: nowrap;
}
.jobs-table td { padding: 14px; border-bottom: 1px solid #edf0e7; vertical-align: middle; }
.section-heading > span { font-size: 13px; font-weight: 650; color: var(--ink); }
.empty { text-align: center; padding: 48px 20px; }
.metric, .panel, .result-card { border-radius: 8px; border-color: var(--line); }
@media (max-width: 800px) {
  .filters, .search-bar { grid-template-columns: 1fr; display: grid; }
  .filters .wide { grid-column: auto; }
  .search-bar { display: grid; }
  .jobs-table { display: block; overflow-x: auto; max-width: 100%; }
  .nav-inner a { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
.path-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; list-style: none; padding: 0; margin: 24px 0; }
.path-cards a { display: block; min-height: 44px; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 16px; text-decoration: none; color: inherit; }
.path-cards strong { display: block; color: var(--ink); }
.path-cards span { display: block; color: var(--muted); font-size: 13px; margin-top: 6px; }
@media (max-width: 800px) {
  .filters, .search-bar, .path-cards { grid-template-columns: 1fr; display: grid; }
  .filters .wide { grid-column: auto; }
  .search-bar { display: grid; }
  .jobs-table { display: block; overflow-x: auto; max-width: 100%; }
  .nav-inner a { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
