:root {
  --font-editorial: Georgia, "Times New Roman", serif;
  --font-interface: Inter, Arial, Helvetica, sans-serif;
  --editorial-ink: #171310;
  --editorial-muted: #746d63;
  --editorial-canvas: #efede7;
  --editorial-surface: #f8f5ef;
  --editorial-surface-muted: #e7e2dc;
  --editorial-rule: #cdc6bb;
  --editorial-rule-strong: #aaa194;
  --editorial-accent: #7d2130;
  --editorial-accent-strong: #651824;
  --editorial-on-accent: #ffffff;
  --editorial-surface-translucent: rgba(248, 245, 239, .76);
  --editorial-divider-translucent: rgba(125, 33, 48, .2);
  --editorial-shadow: rgba(23, 19, 16, .08);
  --status-ready: #2f6955;
  --status-ready-bg: #e4eee9;
  --status-warning: #8d521d;
  --status-warning-bg: #f6f0e7;
  --status-info: #5d7887;
  --status-info-bg: #eef2f4;
  --status-stop: #944638;
  --status-stop-bg: #f4ece8;
  --ink: #061813;
  --muted: #60746b;
  --soft: #f4fbf7;
  --soft-strong: #e7f7ee;
  --canvas: #f8fcfa;
  --surface: rgba(255, 255, 255, 0.9);
  --surface-strong: #ffffff;
  --line: #dce9e3;
  --line-strong: #b9e5ca;
  --green: #069455;
  --green-strong: #047a45;
  --green-deep: #033f27;
  --mint: #daf7e6;
  --aqua: #0fa978;
  --amber: #b95f00;
  --amber-soft: #fff6e8;
  --red: #d92d20;
  --red-soft: #fff1ef;
  --shadow: 0 24px 70px rgba(6, 43, 29, 0.1);
  --shadow-soft: 0 14px 34px rgba(6, 43, 29, 0.075);
  --inner-line: inset 0 1px 0 rgba(255, 255, 255, 0.84);
  --radius: 8px;
}

/* Public investor shell -------------------------------------------------- */
.public-page,
.demo-page,
.admin-login-page {
  min-height: 100vh;
  color: var(--editorial-ink);
  background: var(--editorial-canvas);
  font-family: var(--font-interface);
}

.public-masthead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 92px;
  padding: 0 clamp(24px, 5vw, 88px);
  border-bottom: 1px solid var(--editorial-rule);
}

.public-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--editorial-ink);
  font-size: 20px;
  font-weight: 900;
  letter-spacing: .14em;
  text-decoration: none;
  text-transform: uppercase;
}

.public-brand > span {
  width: 0;
  height: 0;
  border-right: 10px solid transparent;
  border-bottom: 18px solid var(--editorial-accent);
  border-left: 10px solid transparent;
}

.public-masthead nav { display: flex; align-items: center; gap: clamp(18px, 3vw, 46px); }
.public-masthead nav a { color: #6c655e; font-size: 12px; font-weight: 800; letter-spacing: .13em; text-decoration: none; text-transform: uppercase; }
.public-masthead nav a:hover, .public-masthead nav a:focus-visible { color: var(--editorial-accent); }
.public-admin-link { color: var(--editorial-ink) !important; }

.public-hero { min-height: min(780px, calc(100vh - 92px)); padding: clamp(92px, 12vw, 180px) clamp(24px, 5vw, 88px) 110px; }
.public-kicker { margin: 0 0 28px; color: #91897f; font-size: 12px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.public-hero h1 { max-width: 980px; margin: 0; color: var(--editorial-ink); font-size: clamp(54px, 6.8vw, 112px); font-weight: 950; letter-spacing: -.075em; line-height: .86; text-transform: uppercase; }
.public-hero h1 em { color: var(--editorial-accent); font-style: normal; }
.public-lede { max-width: 840px; margin: 44px 0 0; color: #5b554f; font-family: var(--font-editorial); font-size: clamp(22px, 2.15vw, 31px); line-height: 1.3; }
.public-actions { display: flex; align-items: center; gap: 28px; margin-top: 52px; }
.public-button { display: inline-flex; align-items: center; gap: 28px; padding: 18px 23px; border: 1px solid var(--editorial-accent); background: var(--editorial-accent); color: #fff; font-size: 12px; font-weight: 900; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
.public-button:hover, .public-button:focus-visible { background: var(--editorial-accent-strong); }
.public-button span { font-size: 22px; line-height: 0; }
.public-text-link { color: #5b554f; font-family: var(--font-editorial); font-size: 19px; text-decoration: underline; text-underline-offset: 4px; }
.public-method, .public-advisers, .demo-section, .demo-questions { border-top: 1px solid var(--editorial-rule); padding: clamp(62px, 8vw, 122px) clamp(24px, 5vw, 88px); }
.public-method-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.public-method-grid article { padding-top: 18px; border-top: 2px solid var(--editorial-ink); }
.public-method-grid span { color: var(--editorial-accent); font: 700 13px var(--font-interface); letter-spacing: .12em; }
.public-method-grid h2, .public-advisers h2 { margin: 22px 0 15px; font: 400 clamp(30px, 3.2vw, 48px)/1 var(--font-editorial); letter-spacing: -.04em; }
.public-method-grid p, .public-advisers p { max-width: 33ch; color: #625b53; font: 20px/1.45 var(--font-editorial); }
.public-advisers { background: #e5ded7; }
.public-advisers p { max-width: 62ch; }
.public-footer { display: flex; justify-content: space-between; padding: 30px clamp(24px, 5vw, 88px); border-top: 1px solid var(--editorial-rule); color: #8f877d; font: 800 11px var(--font-interface); letter-spacing: .12em; text-transform: uppercase; }

/* Admin login ----------------------------------------------------------- */
.admin-login-shell { display: grid; align-content: center; min-height: 100vh; padding: 38px clamp(24px, 9vw, 160px); }
.admin-login-shell > .public-brand { position: absolute; top: 34px; left: clamp(24px, 5vw, 88px); }
.admin-login-card { width: min(510px, 100%); padding: clamp(36px, 5vw, 68px); border: 1px solid var(--editorial-rule); background: var(--editorial-surface); box-shadow: 16px 20px 0 rgba(125, 33, 48, .08); }
.admin-login-card h1 { margin: 0 0 12px; font: 400 clamp(42px, 5vw, 64px)/.94 var(--font-editorial); letter-spacing: -.06em; }
.admin-login-card > p { margin: 0 0 36px; color: #625b53; font: 19px/1.45 var(--font-editorial); }
.admin-login-card form { display: grid; gap: 10px; }
.admin-login-card label { font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.admin-login-card input { width: 100%; margin-bottom: 12px; padding: 15px 2px; border: 0; border-bottom: 1px solid var(--editorial-ink); background: transparent; outline-offset: 4px; }
.admin-login-card .public-button { justify-content: space-between; border: 0; }
.admin-login-card > .public-text-link { display: inline-block; margin-top: 34px; }
.admin-login-error { margin: 0 0 8px; color: #8a2f23; font-size: 14px; }

/* Canonical demo -------------------------------------------------------- */
.demo-masthead { position: sticky; top: 0; z-index: 10; background: rgba(239, 237, 231, .96); backdrop-filter: blur(12px); }
.demo-intro { display: flex; justify-content: space-between; gap: 24px; padding: 20px clamp(24px, 5vw, 88px); border-bottom: 1px solid var(--editorial-rule); color: #6d655e; }
.demo-intro .public-kicker { margin: 0; color: var(--editorial-accent); }
.demo-intro p { margin: 0; font: 16px/1.4 var(--font-editorial); }
.demo-position { padding: 0 clamp(24px, 5vw, 88px) 90px; }
.demo-built { display: grid; grid-template-columns: 160px 220px 110px minmax(280px, 1fr); gap: 18px; align-items: start; padding: 28px 0; border-bottom: 1px solid var(--editorial-rule); color: #81796f; font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.demo-built strong { color: var(--editorial-ink); font: 400 18px/1.15 var(--font-editorial); letter-spacing: 0; text-transform: none; }
.demo-built p { margin: 0; color: #5d564f; font: 16px/1.35 var(--font-editorial); letter-spacing: 0; text-transform: none; }
.demo-position h1 { max-width: 1000px; margin: clamp(62px, 9vw, 140px) 0 28px; font: 400 clamp(48px, 7vw, 104px)/.91 var(--font-editorial); letter-spacing: -.07em; }
.demo-lede { max-width: 780px; color: #5d564f; font: clamp(21px, 2.2vw, 29px)/1.36 var(--font-editorial); }
.demo-section-title { margin-top: 72px; padding-bottom: 12px; border-bottom: 1px solid var(--editorial-ink); color: var(--editorial-accent); font-size: 12px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.demo-findings { margin: 0; padding: 0; list-style: none; }
.demo-findings li { display: grid; grid-template-columns: 74px minmax(0, 760px); gap: 18px; padding: 32px 0; border-bottom: 1px solid var(--editorial-rule); }
.demo-findings li > span { color: #9a9186; font: 800 12px var(--font-interface); letter-spacing: .1em; }
.demo-findings h2 { margin: 0 0 14px; font: 400 clamp(28px, 3vw, 43px)/1.05 var(--font-editorial); letter-spacing: -.04em; }
.demo-findings p { margin: 0; color: #5d564f; font: 19px/1.45 var(--font-editorial); }
.demo-recommendation { max-width: 1060px; margin-top: 60px; padding: 28px 34px; border-left: 3px solid var(--editorial-accent); background: #e9e1dd; }
.demo-recommendation span { color: var(--editorial-accent); font-size: 11px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.demo-recommendation p { margin: 14px 0 0; font: 400 clamp(22px, 2.3vw, 31px)/1.35 var(--font-editorial); }
.demo-section h2 { max-width: 720px; margin: 0 0 42px; font: 400 clamp(39px, 5vw, 70px)/.96 var(--font-editorial); letter-spacing: -.06em; }
.demo-table { border-top: 1px solid var(--editorial-ink); }
.demo-table > div { display: grid; grid-template-columns: 1.1fr 1.2fr 2.1fr; gap: 20px; padding: 17px 0; border-bottom: 1px solid var(--editorial-rule); color: #5e574f; font: 17px/1.35 var(--font-editorial); }
.demo-table .demo-table-head { color: #948b80; font: 900 11px var(--font-interface); letter-spacing: .12em; text-transform: uppercase; }
.demo-table strong { color: var(--editorial-ink); font-weight: 400; }
.demo-note { margin: 22px 0 0; color: #7a7166; font: 15px/1.4 var(--font-interface); }
.demo-decision { padding: clamp(62px, 8vw, 122px) clamp(24px, 5vw, 88px); border-top: 1px solid var(--editorial-ink); }
.demo-opportunity { display: grid; grid-template-columns: minmax(280px, .85fr) minmax(340px, 1.4fr); gap: clamp(34px, 8vw, 120px); align-items: center; }
.demo-opportunity span { color: #90877c; font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.demo-opportunity h2 { margin: 38px 0 12px; font: 400 25px var(--font-editorial); }
.demo-opportunity strong { display: block; padding: 18px 24px; background: var(--editorial-accent); color: #fff; font-size: clamp(42px, 5vw, 72px); letter-spacing: -.06em; line-height: .8; text-transform: uppercase; }
.demo-opportunity p { margin: 0; font: 400 clamp(27px, 3.2vw, 48px)/1.08 var(--font-editorial); letter-spacing: -.045em; }
.demo-ruled-out { margin-top: 62px; border-top: 1px solid var(--editorial-ink); }
.demo-ruled-out article { display: grid; grid-template-columns: 200px 1fr; gap: 36px; padding: 22px 0; border-bottom: 1px solid var(--editorial-rule); }
.demo-ruled-out span { color: var(--editorial-accent); font-size: 12px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.demo-ruled-out p { max-width: 850px; margin: 0; color: #5c554e; font: 19px/1.45 var(--font-editorial); }
.demo-route-grid, .demo-evidence-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.demo-route-grid article, .demo-evidence-grid article { min-height: 230px; padding: 28px; border: 1px solid var(--editorial-rule); background: rgba(255,255,255,.25); }
.demo-route-grid span { color: var(--editorial-accent); font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.demo-route-grid h3, .demo-evidence-grid h3 { margin: 28px 0 12px; font: 400 31px/1.05 var(--font-editorial); letter-spacing: -.04em; }
.demo-route-grid p, .demo-route-grid small, .demo-evidence-grid li { color: #5d564f; font: 18px/1.45 var(--font-editorial); }
.demo-route-grid small { display: block; margin-top: 22px; color: #7e7469; }
.demo-evidence-grid ul { margin: 0; padding-left: 19px; }
.demo-evidence-grid li { margin: 9px 0; }
.demo-questions { background: #e7ded9; }
.demo-questions ol { max-width: 930px; margin: 30px 0; padding-left: 32px; font: 400 clamp(28px, 3.1vw, 46px)/1.22 var(--font-editorial); letter-spacing: -.04em; }
.demo-questions li { margin: 12px 0; padding-left: 16px; }
.demo-questions > p:not(.public-kicker) { max-width: 700px; color: #5d564f; font: 21px/1.45 var(--font-editorial); }
.demo-questions .public-button { margin-top: 28px; }

@media (max-width: 760px) {
  .public-masthead { min-height: 72px; padding: 0 20px; }
  .public-brand { font-size: 16px; }
  .public-masthead nav { gap: 14px; }
  .public-masthead nav a:not(.public-admin-link) { display: none; }
  .demo-masthead nav a { display: none; }
  .demo-masthead nav a:first-child { display: block; }
  .public-hero { min-height: 0; padding: 104px 24px 88px; }
  .public-hero h1 { font-size: clamp(53px, 16vw, 83px); }
  .public-lede { font-size: 22px; }
  .public-method-grid, .demo-route-grid, .demo-evidence-grid { grid-template-columns: 1fr; }
  .public-footer, .demo-intro { display: grid; gap: 9px; }
  .demo-position, .demo-section, .demo-decision, .demo-questions { padding-right: 24px; padding-left: 24px; }
  .demo-built { grid-template-columns: 1fr 1fr; }
  .demo-built p { grid-column: 1 / -1; }
  .demo-position h1 { font-size: clamp(46px, 14vw, 71px); }
  .demo-findings li { grid-template-columns: 42px 1fr; }
  .demo-table { overflow-x: auto; }
  .demo-table > div { min-width: 670px; }
  .demo-opportunity { grid-template-columns: 1fr; }
  .demo-ruled-out article { grid-template-columns: 1fr; gap: 10px; }
  .admin-login-shell { padding: 26px; }
  .admin-login-shell > .public-brand { top: 24px; left: 24px; }
}

* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  background:
    linear-gradient(90deg, rgba(6, 148, 85, 0.035) 1px, transparent 1px),
    linear-gradient(0deg, rgba(6, 148, 85, 0.035) 1px, transparent 1px),
    linear-gradient(145deg, #f3fbf7 0%, #ffffff 36%, #f8fcfa 100%);
  background-size:
    44px 44px,
    44px 44px,
    auto;
  font-family:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
  line-height: 1.45;
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  cursor: pointer;
}

button:disabled {
  cursor: wait;
  opacity: 0.7;
}

body.app-busy::before {
  content: "";
  position: fixed;
  inset: 0 auto auto 0;
  width: 100%;
  height: 3px;
  z-index: 1300;
  background: linear-gradient(90deg, transparent 0%, rgba(6, 148, 85, 0.22) 28%, rgba(6, 148, 85, 0.9) 50%, rgba(6, 148, 85, 0.22) 72%, transparent 100%);
  animation: app-busy-bar 1.1s linear infinite;
  pointer-events: none;
}

.app-shell {
  display: grid;
  grid-template-columns: 292px minmax(0, 1fr);
  min-height: 100vh;
}

body[data-session="landing"] .app-shell {
  display: block;
}

body[data-session="landing"] .sidebar,
body[data-session="landing"] .topbar {
  display: none;
}

body[data-session="landing"] .content {
  max-width: none;
  min-height: 100vh;
  margin: 0;
  padding: 0;
}

.entry-screen {
  display: grid;
  place-items: center;
  min-height: 100vh;
  padding: 42px;
  background:
    radial-gradient(circle at 12% 12%, var(--editorial-shadow), transparent 31%),
    radial-gradient(circle at 88% 78%, var(--editorial-shadow), transparent 34%),
    linear-gradient(145deg, var(--editorial-surface) 0%, var(--editorial-surface) 46%, var(--editorial-surface) 100%);
}

.entry-card {
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(430px, 0.94fr) minmax(460px, 1.06fr);
  width: min(1320px, 100%);
  min-height: 760px;
  border: 1px solid var(--editorial-rule);
  border-radius: 28px;
  background: var(--editorial-surface-translucent);
  box-shadow: 0 42px 120px var(--editorial-shadow), var(--inner-line);
}

.entry-copy {
  display: grid;
  align-content: center;
  gap: 30px;
  padding: 58px clamp(44px, 5vw, 78px);
  background: var(--editorial-surface-translucent);
}

.entry-brand {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 12px;
  color: var(--ink);
  text-decoration: none;
}

.entry-brand span:last-child {
  display: grid;
  line-height: 1;
}

.entry-brand strong {
  font-size: 22px;
  font-weight: 900;
}

.entry-brand small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.entry-heading {
  display: grid;
  gap: 12px;
}

.entry-eyebrow {
  width: fit-content;
  padding: 7px 11px;
  border: 1px solid var(--editorial-rule);
  border-radius: 999px;
  color: var(--green-strong);
  background: linear-gradient(135deg, var(--editorial-shadow), var(--editorial-surface-translucent));
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.085em;
  text-transform: uppercase;
}

.entry-heading h1 {
  max-width: 12ch;
  font-size: clamp(39px, 4.1vw, 55px);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.entry-heading p,
.entry-footnote {
  color: var(--muted);
  font-size: 16px;
}

.entry-heading p {
  max-width: 49ch;
  line-height: 1.6;
}

.entry-url-first {
  margin: 28px 0 18px;
  padding: 20px;
  border: 1px solid var(--editorial-rule);
  border-radius: 18px;
  background: var(--editorial-shadow);
  box-shadow: 0 18px 45px var(--editorial-shadow);
}

.entry-url-first > label {
  display: block;
  margin-bottom: 9px;
  color: var(--editorial-ink);
  font-size: 15px;
  font-weight: 800;
}

.entry-url-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.entry-url-row input {
  min-width: 0;
  padding: 15px 16px;
  border: 1px solid var(--editorial-rule);
  border-radius: 12px;
  background: var(--editorial-surface);
  color: var(--editorial-ink);
  font: inherit;
}

.entry-url-row button {
  padding: 0 20px;
  border: 0;
  border-radius: 12px;
  background: var(--editorial-ink);
  color: var(--editorial-on-accent);
  font-weight: 800;
  cursor: pointer;
}

.entry-url-first > small {
  display: block;
  margin-top: 9px;
  color: var(--editorial-muted);
  line-height: 1.45;
}

.entry-preflight-result {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.entry-preflight-result > div,
.entry-preflight-result > article {
  display: grid;
  gap: 3px;
  padding: 11px 12px;
  border-radius: 11px;
  background: var(--editorial-surface);
}

.entry-preflight-result span {
  color: var(--editorial-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.entry-preflight-result strong {
  color: var(--editorial-ink);
}

.entry-preflight-result p {
  margin: 4px 0 0;
  color: var(--editorial-muted);
  line-height: 1.45;
}

.entry-preflight-result.error {
  color: var(--editorial-accent);
}

.entry-identity-check {
  display: grid;
  gap: 10px;
  margin-top: 8px;
  padding: 14px;
  border: 1px solid var(--editorial-rule);
  border-radius: 12px;
  background: var(--editorial-surface);
}

.entry-identity-check p {
  margin: 0 0 2px;
  color: var(--editorial-ink);
  font-size: 13px;
  line-height: 1.45;
}

.entry-identity-check label {
  display: grid;
  gap: 5px;
  color: var(--editorial-muted);
  font-size: 12px;
  font-weight: 750;
}

.entry-identity-check input {
  padding: 10px 11px;
  border: 1px solid var(--editorial-rule);
  border-radius: 9px;
  background: var(--editorial-surface);
  font: inherit;
}

.entry-identity-check button {
  justify-self: start;
  padding: 10px 14px;
  border: 0;
  border-radius: 9px;
  background: var(--editorial-accent);
  color: var(--editorial-on-accent);
  font-weight: 800;
}

.entry-existing-paths {
  margin-top: 14px;
}

.entry-existing-paths > summary {
  cursor: pointer;
  color: var(--editorial-muted);
  font-weight: 700;
}

@media (max-width: 660px) {
  .entry-url-row { grid-template-columns: 1fr; }
  .entry-url-row button { min-height: 48px; }
}

.entry-options {
  display: grid;
  gap: 14px;
}

.entry-label {
  color: var(--editorial-ink);
  font-size: 14px;
  font-weight: 900;
}

.entry-option {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 16px;
  height: 108px;
  min-height: 108px;
  padding: 18px 22px;
  border: 1px solid var(--editorial-rule);
  border-radius: 16px;
  color: var(--ink);
  background: var(--editorial-surface-translucent);
  text-align: left;
  box-shadow: 0 16px 36px var(--editorial-shadow), var(--inner-line);
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.entry-option:hover,
.entry-demo:hover {
  transform: translateY(-3px);
  border-color: var(--editorial-rule);
  box-shadow: 0 20px 42px var(--editorial-shadow), var(--inner-line);
}

.entry-option strong,
.entry-option small {
  display: block;
}

.entry-option strong {
  margin-bottom: 5px;
  font-size: 17px;
  letter-spacing: -0.01em;
}

.entry-option small {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.4;
}

.entry-option em {
  color: var(--editorial-muted);
  font-size: 32px;
  font-style: normal;
}

.entry-avatar {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  color: var(--editorial-on-accent);
  background: linear-gradient(145deg, var(--green), var(--green-deep));
  font-size: 14px;
  font-weight: 900;
  box-shadow: 0 14px 28px var(--editorial-shadow);
}

.entry-avatar.user {
  color: var(--green-deep);
  background: linear-gradient(145deg, var(--editorial-surface), var(--editorial-surface));
}

.entry-avatar.funder {
  color: var(--green-deep);
  background: linear-gradient(145deg, var(--editorial-surface), var(--editorial-surface));
  border: 1px solid var(--editorial-rule);
}

.entry-divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 18px;
  color: var(--muted);
  font-size: 14px;
}

.entry-divider span {
  height: 1px;
  background: var(--line);
}

.entry-demo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 62px;
  border: 1px solid var(--green);
  border-radius: 14px;
  color: var(--green-deep);
  background: var(--editorial-surface-translucent);
  font-weight: 900;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease;
}

.entry-security {
  align-self: end;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.entry-visual {
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  border-left: 1px solid var(--editorial-rule);
  background:
    radial-gradient(circle at 52% 54%, var(--editorial-shadow), transparent 31%),
    linear-gradient(90deg, var(--editorial-shadow) 1px, transparent 1px),
    linear-gradient(0deg, var(--editorial-shadow) 1px, transparent 1px),
    linear-gradient(145deg, var(--editorial-surface), var(--editorial-surface));
  background-size: auto, 28px 28px, 28px 28px, auto;
}

.entry-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(135deg, var(--editorial-shadow) 0 1px, transparent 1px 18px);
  clip-path: polygon(30% 0, 100% 0, 100% 100%, 0 100%);
  opacity: 0.65;
}

.entry-visual-message {
  position: absolute;
  top: 74px;
  left: 74px;
  z-index: 2;
  display: grid;
  max-width: 330px;
  gap: 10px;
}

.entry-visual-message span {
  color: var(--green-strong);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.entry-visual-message strong {
  color: var(--green-deep);
  font-size: 30px;
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.entry-orbit-card {
  position: absolute;
  z-index: 2;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 15px;
  width: 350px;
  border: 1px solid var(--editorial-rule);
  border-radius: 18px;
  background: var(--editorial-surface-translucent);
  box-shadow: 0 28px 60px var(--editorial-shadow), var(--inner-line);
  backdrop-filter: blur(16px);
  transform: rotate(-4deg);
}

.entry-orbit-card small,
.entry-orbit-card strong {
  display: block;
}

.entry-orbit-card small {
  margin-bottom: 3px;
  color: var(--green-strong);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.entry-orbit-card strong {
  color: var(--editorial-ink);
  font-size: 15px;
}

.entry-orbit-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  color: var(--green-deep);
  background: linear-gradient(145deg, var(--editorial-surface-muted), var(--editorial-surface));
  font-size: 12px;
  font-weight: 900;
}

.entry-orbit-card.profile {
  top: 258px;
  height: 102px;
  padding: 22px 24px;
}

.entry-orbit-card.evidence {
  top: 370px;
  height: 112px;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  padding: 22px 24px;
  background: var(--editorial-shadow);
  transform: rotate(-4deg) translateX(18px);
}

.entry-orbit-card.evidence b {
  padding: 7px 9px;
  border-radius: 999px;
  color: var(--editorial-ink);
  background: var(--editorial-surface-translucent);
  font-size: 10px;
  white-space: nowrap;
}

.entry-orbit-card.chart {
  top: 494px;
  height: 132px;
  grid-template-columns: 44px minmax(0, 1fr);
  padding: 20px 24px;
  background: linear-gradient(145deg, var(--editorial-surface-translucent), var(--editorial-shadow));
  transform: rotate(-4deg) translateX(36px);
}

.entry-orbit-card.chart svg {
  grid-column: 1 / -1;
  width: 100%;
  height: 48px;
  padding: 5px 12px 0;
  overflow: visible;
}

.entry-orbit-card.chart path {
  fill: none;
  stroke: var(--editorial-on-accent);
  stroke-width: 4;
  stroke-linecap: round;
}

.admin-access-dialog {
  width: min(470px, calc(100vw - 32px));
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(185, 229, 202, 0.9);
  border-radius: 24px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 38px 120px rgba(2, 31, 21, 0.28), var(--inner-line);
}

.admin-access-dialog::backdrop {
  background: rgba(3, 28, 19, 0.62);
  backdrop-filter: blur(8px);
}

.admin-access-form {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 20px;
  padding: 34px;
  background:
    radial-gradient(circle at 100% 0%, rgba(6, 148, 85, 0.12), transparent 38%),
    #ffffff;
}

.admin-access-mark {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 18px;
  color: #ffffff;
  background: linear-gradient(145deg, var(--green), var(--green-deep));
  font-weight: 900;
  box-shadow: 0 16px 34px rgba(6, 148, 85, 0.22);
}

.admin-access-copy {
  display: grid;
  gap: 5px;
}

.admin-access-copy span {
  color: var(--green-strong);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.admin-access-copy h2 {
  margin: 0;
  font-size: 28px;
  letter-spacing: -0.03em;
}

.admin-access-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.admin-access-form > label,
.admin-access-form > input,
.admin-access-error,
.admin-access-actions,
.admin-access-form > small {
  grid-column: 1 / -1;
}

.admin-access-form > label {
  margin-bottom: -12px;
  color: #29493d;
  font-size: 13px;
  font-weight: 900;
}

.admin-access-form > input {
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid rgba(188, 218, 203, 0.95);
  border-radius: 13px;
  outline: 0;
  color: var(--ink);
  background: #fbfefc;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.admin-access-form > input:focus {
  border-color: rgba(6, 148, 85, 0.7);
  box-shadow: 0 0 0 4px rgba(6, 148, 85, 0.1);
}

.admin-access-error {
  margin: -8px 0 0;
  padding: 10px 12px;
  border-radius: 10px;
  color: #9f241a;
  background: var(--red-soft);
  font-size: 13px;
  font-weight: 750;
}

.admin-access-actions {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 12px;
}

.admin-access-actions .button {
  min-height: 50px;
}

.admin-access-form > small {
  color: var(--muted);
  font-size: 11px;
  text-align: center;
}

.sidebar {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: row;
  flex-direction: column;
  gap: 36px;
  height: 100vh;
  padding: 28px 20px 22px;
  border-right: 1px solid rgba(188, 218, 203, 0.72);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 253, 250, 0.86)),
    linear-gradient(90deg, rgba(6, 148, 85, 0.05), transparent 34%);
  backdrop-filter: blur(24px);
  box-shadow: 18px 0 44px rgba(10, 48, 33, 0.035);
}

.brand,
.mobile-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--ink);
  font-size: 23px;
  font-weight: 800;
  letter-spacing: 0;
  text-decoration: none;
}

.brand-mark {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(7, 148, 85, 0.26);
  border-radius: 12px;
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  background:
    linear-gradient(145deg, #ffffff, #effbf4),
    linear-gradient(135deg, rgba(6, 148, 85, 0.18), transparent);
  box-shadow:
    0 14px 28px rgba(7, 148, 85, 0.16),
    var(--inner-line);
}

.brand-mark::before,
.brand-mark::after {
  content: "";
  position: absolute;
  border-radius: 50%;
}

.brand-mark::before {
  inset: 9px;
  border: 6px solid var(--green);
  border-right-color: rgba(6, 148, 85, 0.18);
  transform: rotate(-35deg);
}

.brand-mark::after {
  right: 8px;
  bottom: 8px;
  width: 7px;
  height: 7px;
  background: var(--green-deep);
  box-shadow: 0 0 0 5px rgba(6, 148, 85, 0.13);
}

.brand-copy {
  display: grid;
  gap: 0;
  line-height: 1.06;
}

.brand-copy small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.side-nav {
  display: grid;
  gap: 10px;
}

.nav-item {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 56px;
  padding: 0 16px;
  color: #30483e;
  border: 1px solid transparent;
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.34);
  text-align: left;
  transition:
    background 180ms ease,
    color 180ms ease,
    border-color 180ms ease,
    transform 180ms ease;
}

.nav-item:hover {
  transform: translateX(2px);
  background: rgba(242, 251, 246, 0.98);
  border-color: rgba(185, 229, 202, 0.62);
}

.nav-item.active {
  color: var(--green-deep);
  background:
    linear-gradient(135deg, rgba(230, 248, 238, 0.96), rgba(255, 255, 255, 0.96));
  border-color: var(--line-strong);
  font-weight: 700;
  box-shadow: 0 14px 28px rgba(6, 43, 29, 0.06), var(--inner-line);
}

.nav-icon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  color: #ffffff;
  border: 1px solid rgba(6, 148, 85, 0.18);
  border-radius: 8px;
  background: linear-gradient(145deg, var(--green), var(--green-deep));
  font-size: 12px;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(7, 148, 85, 0.18);
}

.side-note {
  margin-top: auto;
  display: grid;
  gap: 8px;
  padding: 22px;
  min-height: 132px;
  border: 1px solid rgba(185, 229, 202, 0.82);
  border-radius: var(--radius);
  background:
    linear-gradient(145deg, rgba(237, 251, 242, 0.96), rgba(255, 255, 255, 0.96)),
    linear-gradient(90deg, rgba(7, 148, 85, 0.1) 1px, transparent 1px),
    linear-gradient(0deg, rgba(7, 148, 85, 0.08) 1px, transparent 1px);
  background-size: auto, 22px 22px, 22px 22px;
  box-shadow: var(--shadow-soft), var(--inner-line);
}

.side-note strong {
  color: var(--green-deep);
  font-size: 15px;
  line-height: 1.35;
}

.side-note span:last-child {
  color: var(--muted);
  font-size: 12px;
}

.spark {
  width: 22px;
  height: 22px;
  border-radius: 7px;
  background:
    linear-gradient(90deg, transparent 42%, var(--green) 42% 58%, transparent 58%),
    linear-gradient(0deg, transparent 42%, var(--green) 42% 58%, transparent 58%);
  transform: rotate(45deg);
}

.main {
  min-width: 0;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  min-height: 78px;
  padding: 16px 38px;
  border-bottom: 1px solid rgba(220, 233, 227, 0.72);
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(22px);
}

.mobile-brand {
  display: none;
  margin-right: auto;
}

.mobile-brand .brand-mark {
  width: 32px;
  height: 32px;
  border-width: 7px;
}

.search {
  position: relative;
  width: min(440px, 48vw);
}

.search span {
  position: absolute;
  top: 50%;
  left: 16px;
  width: 15px;
  height: 15px;
  border: 2px solid #7b8c86;
  border-radius: 50%;
  transform: translateY(-50%);
}

.search span::after {
  content: "";
  position: absolute;
  right: -7px;
  bottom: -5px;
  width: 8px;
  height: 2px;
  border-radius: 999px;
  background: #7b8c86;
  transform: rotate(45deg);
}

.search input {
  width: 100%;
  height: 48px;
  padding: 0 18px 0 46px;
  color: var(--ink);
  border: 1px solid rgba(218, 232, 226, 0.92);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04), var(--inner-line);
  outline: none;
}

.search input:focus,
input:focus,
textarea:focus,
select:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 4px rgba(7, 148, 85, 0.1);
}

.profile-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 48px;
  padding: 0 14px 0 8px;
  border: 1px solid rgba(218, 232, 226, 0.92);
  border-radius: var(--radius);
  color: var(--ink);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04), var(--inner-line);
}

.top-home {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 15px;
  border: 1px solid rgba(218, 232, 226, 0.92);
  border-radius: var(--radius);
  color: var(--green-deep);
  background: rgba(243, 251, 246, 0.94);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04), var(--inner-line);
  font-weight: 800;
}

.avatar {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: #ffffff;
  background: linear-gradient(145deg, #0b2018, #079455);
  font-size: 12px;
  font-weight: 800;
}

.content {
  max-width: 1480px;
  margin: 0 auto;
  padding: 30px 38px 48px;
}

.screen {
  display: grid;
  gap: 22px;
}

.hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) 280px;
  align-items: center;
  gap: 26px;
  min-height: 236px;
  padding: 34px;
  border: 1px solid rgba(179, 229, 199, 0.92);
  border-radius: var(--radius);
  background:
    linear-gradient(128deg, rgba(243, 252, 247, 0.98), rgba(255, 255, 255, 0.86) 48%, rgba(218, 247, 229, 0.9)),
    linear-gradient(90deg, rgba(6, 148, 85, 0.08) 1px, transparent 1px),
    linear-gradient(0deg, rgba(6, 148, 85, 0.06) 1px, transparent 1px);
  background-size: auto, 32px 32px, 32px 32px;
  box-shadow: var(--shadow), var(--inner-line);
}

.hero::before {
  content: "";
  position: absolute;
  inset: 18px;
  pointer-events: none;
  border: 1px solid rgba(6, 148, 85, 0.08);
  border-radius: var(--radius);
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0 0 0 auto;
  width: 43%;
  background:
    linear-gradient(120deg, transparent, rgba(6, 148, 85, 0.08)),
    repeating-linear-gradient(135deg, rgba(6, 148, 85, 0.16) 0 1px, transparent 1px 16px);
  opacity: 0.7;
  clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%);
}

.hero-content {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 18px;
  max-width: 660px;
}

.kicker {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  padding: 8px 13px;
  border-radius: 999px;
  color: var(--green-deep);
  border: 1px solid rgba(6, 148, 85, 0.14);
  background: rgba(223, 248, 233, 0.84);
  font-size: 13px;
  font-weight: 800;
  box-shadow: var(--inner-line);
}

.kicker-dot,
.status-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--green);
}

h1,
h2,
h3,
p {
  margin: 0;
}

h1 {
  font-size: clamp(32px, 3.8vw, 50px);
  line-height: 1.02;
  max-width: 820px;
  letter-spacing: 0;
}

h2 {
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.1;
  letter-spacing: 0;
}

h3 {
  font-size: 18px;
  line-height: 1.25;
}

.lead {
  max-width: 680px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.62;
}

.hero-visual {
  position: relative;
  z-index: 1;
  min-height: 170px;
  display: grid;
  place-items: center;
}

.signal-stack {
  position: relative;
  width: 166px;
  height: 142px;
}

.signal-stack span {
  position: absolute;
  left: 12px;
  right: 12px;
  height: 40px;
  border: 1px solid rgba(5, 122, 69, 0.2);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(34, 197, 94, 0.2)),
    linear-gradient(90deg, rgba(6, 148, 85, 0.08) 1px, transparent 1px);
  background-size: auto, 18px 18px;
  box-shadow: 0 20px 44px rgba(5, 122, 69, 0.16), var(--inner-line);
  transform: skewY(-8deg);
}

.signal-stack span:nth-child(1) {
  top: 12px;
}

.signal-stack span:nth-child(2) {
  top: 45px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(7, 148, 85, 0.32));
}

.signal-stack span:nth-child(3) {
  top: 78px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(7, 148, 85, 0.48));
}

.signal-stack::after {
  content: "";
  position: absolute;
  top: 22px;
  left: 69px;
  width: 32px;
  height: 16px;
  border-left: 4px solid #ffffff;
  border-bottom: 4px solid #ffffff;
  transform: rotate(-45deg);
}

.panel {
  padding: 26px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-soft), var(--inner-line);
}

.panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}

.panel-header p {
  margin-top: 8px;
  color: var(--muted);
  max-width: 680px;
}

.stepper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.step-chip {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: var(--radius);
  color: var(--muted);
  background: rgba(255, 255, 255, 0.86);
  font-weight: 700;
  box-shadow: var(--inner-line);
}

.step-chip span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  color: var(--green-deep);
  background: var(--soft-strong);
  font-size: 12px;
}

.step-chip.active {
  color: var(--green-deep);
  border-color: var(--line-strong);
  background: linear-gradient(135deg, #effbf4, #ffffff);
  box-shadow: 0 12px 24px rgba(6, 43, 29, 0.055), var(--inner-line);
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.field {
  display: grid;
  gap: 7px;
}

.field.wide {
  grid-column: 1 / -1;
}

.field label,
.proof-label {
  color: #31453c;
  font-size: 13px;
  font-weight: 800;
}

.field input,
.field textarea,
.field select,
.proof-control input,
.proof-control textarea {
  width: 100%;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.92);
  color: var(--ink);
  outline: none;
  box-shadow: var(--inner-line);
}

.field input,
.field select {
  min-height: 46px;
  padding: 0 13px;
}

.field textarea,
.proof-control textarea {
  min-height: 92px;
  resize: vertical;
  padding: 12px 13px;
}

.actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: var(--radius);
  color: var(--ink);
  background: rgba(255, 255, 255, 0.94);
  font-weight: 800;
  text-decoration: none;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease,
    background 180ms ease;
}

.button:hover {
  transform: translateY(-1px);
  border-color: var(--line-strong);
  box-shadow: 0 10px 22px rgba(6, 43, 29, 0.08);
}

.button:active {
  transform: translateY(0);
}

.button.primary {
  color: #ffffff;
  border-color: var(--green);
  background: linear-gradient(135deg, var(--green), var(--aqua) 56%, var(--green-strong));
  box-shadow: 0 14px 28px rgba(7, 148, 85, 0.2);
}

.button.primary:disabled {
  position: relative;
  overflow: hidden;
  opacity: 0.88;
}

.button.primary:disabled::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0.26) 50%, rgba(255, 255, 255, 0) 80%);
  animation: button-sheen 1.15s ease-in-out infinite;
}

.button.ghost {
  color: var(--green-deep);
  background: #f3fbf6;
  border-color: #cbead6;
}

.proof-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.proof-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 254, 252, 0.98));
  box-shadow: 0 14px 30px rgba(6, 43, 29, 0.052), var(--inner-line);
}

.proof-card h3 {
  display: flex;
  align-items: center;
  gap: 10px;
}

.proof-number {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  color: var(--green-deep);
  background: var(--soft-strong);
  font-size: 13px;
  font-weight: 900;
}

.proof-card p {
  color: var(--muted);
  font-size: 13px;
}

.proof-control {
  display: grid;
  gap: 7px;
}

.upload-zone {
  display: grid;
  place-items: center;
  min-height: 80px;
  padding: 14px;
  border: 1px dashed rgba(99, 179, 132, 0.72);
  border-radius: var(--radius);
  color: var(--green-deep);
  background:
    linear-gradient(180deg, rgba(246, 252, 248, 0.98), rgba(255, 255, 255, 0.94));
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}

.upload-zone input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.file-list {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.file-list li {
  padding: 8px 10px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 7px;
  color: #32463e;
  background: #fbfefc;
  font-size: 12px;
}

.file-list-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 10px;
  align-items: center;
}

.file-list-item.read {
  border-color: rgba(38, 166, 91, 0.22);
  background: #f7fffa;
}

.file-list-item.caution {
  border-color: rgba(194, 129, 22, 0.24);
  background: #fffaf0;
}

.file-list-item.needs-work {
  border-color: rgba(191, 71, 54, 0.22);
  background: #fffafa;
}

.file-list-item.pending {
  border-color: rgba(93, 126, 115, 0.22);
  background: #fbfdfc;
}

.file-list-name {
  min-width: 0;
  overflow: hidden;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.file-list-name small {
  color: #7a8c84;
  font-weight: 700;
}

.file-list-status {
  border-radius: 999px;
  background: #eaf8ef;
  color: #087d44;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.04em;
  padding: 4px 7px;
  text-transform: uppercase;
}

.file-list-detail {
  grid-column: 1 / -1;
  color: #6b7f76;
  line-height: 1.35;
}

.demo-screen {
  gap: 18px;
}

.demo-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 24px;
  padding: 30px;
  border: 1px solid rgba(179, 229, 199, 0.92);
  border-radius: var(--radius);
  background:
    linear-gradient(128deg, rgba(243, 252, 247, 0.98), rgba(255, 255, 255, 0.9) 54%, rgba(218, 247, 229, 0.9)),
    repeating-linear-gradient(135deg, rgba(6, 148, 85, 0.08) 0 1px, transparent 1px 18px);
  box-shadow: var(--shadow-soft), var(--inner-line);
}

.demo-hero h1 {
  margin-top: 16px;
  max-width: 780px;
}

.demo-meter {
  display: flex;
  gap: 8px;
  padding: 8px;
  border: 1px solid rgba(185, 229, 202, 0.8);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
}

.demo-meter span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: var(--muted);
  background: #ffffff;
  font-size: 13px;
  font-weight: 900;
}

.demo-meter span.active,
.demo-meter span.done {
  color: #ffffff;
  background: linear-gradient(145deg, var(--green), var(--green-deep));
}

.demo-meter span.done {
  opacity: 0.7;
}

.demo-layout {
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  gap: 18px;
}

.demo-guide,
.demo-stage {
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--shadow-soft), var(--inner-line);
}

.demo-guide {
  position: sticky;
  top: 100px;
  align-self: start;
  display: grid;
  gap: 18px;
  padding: 24px;
}

.demo-guide p {
  color: var(--muted);
}

.demo-step-label {
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.demo-note {
  display: grid;
  gap: 6px;
  padding: 16px;
  border: 1px solid rgba(185, 229, 202, 0.72);
  border-radius: var(--radius);
  color: var(--green-deep);
  background: #f1fbf5;
}

.demo-note span {
  color: var(--muted);
  font-size: 13px;
}

.demo-actions {
  justify-content: stretch;
}

.demo-actions .button,
.demo-wide {
  flex: 1;
}

.demo-wide {
  width: 100%;
}

.demo-stage {
  min-height: 560px;
  padding: 24px;
}

.demo-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  height: 100%;
  align-content: center;
}

.demo-flow article {
  display: grid;
  gap: 14px;
  min-height: 220px;
  padding: 22px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 252, 248, 0.98));
  box-shadow: var(--inner-line);
}

.demo-flow article span {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 11px;
  color: #ffffff;
  background: linear-gradient(145deg, var(--green), var(--green-deep));
  font-weight: 900;
}

.demo-flow article p,
.demo-proof-text,
.demo-verdict {
  color: var(--muted);
}

.demo-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.demo-facts .wide {
  grid-column: 1 / -1;
}

.demo-proof-grid,
.demo-split,
.demo-outcome {
  display: grid;
  gap: 16px;
}

.demo-proof-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.demo-proof-text {
  min-height: 86px;
  padding: 12px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: var(--radius);
  background: #fbfefc;
  font-size: 13px;
}

.demo-split {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.demo-dashboard {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.demo-dashboard .stat-card {
  min-height: 190px;
}

body[data-view="workspace"] .search {
  display: none;
}

body[data-session="user"] .side-nav .nav-item:not([data-view="workspace"]),
body[data-session="user"] .side-note,
body[data-session="funder"] .side-nav .nav-item:not([data-view="funder-review"]),
body[data-session="funder"] .side-note {
  display: none;
}

.ngo-flow-screen {
  display: grid;
  gap: 18px;
  max-width: 1180px;
  margin: 0 auto;
}

.ngo-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.ngo-progress button {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 16px;
  border: 1px solid rgba(220, 233, 227, 0.9);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.74);
  color: var(--muted);
  font-weight: 900;
  text-align: left;
  cursor: pointer;
}

.ngo-progress span {
  display: inline-grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 999px;
  background: #eef7f1;
  color: var(--green-deep);
  font-size: 12px;
}

.ngo-progress button.active {
  border-color: rgba(10, 150, 86, 0.24);
  background: #ffffff;
  color: var(--ink);
  box-shadow: 0 14px 34px rgba(6, 43, 29, 0.055);
}

.ngo-progress button.active span,
.ngo-progress button.done span {
  background: var(--green);
  color: #ffffff;
}

.ngo-stage {
  display: grid;
  gap: 26px;
  padding: 34px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 253, 250, 0.96)),
    radial-gradient(circle at 90% 5%, rgba(14, 180, 103, 0.1), transparent 30%);
  box-shadow: 0 18px 54px rgba(6, 43, 29, 0.06);
}

.ngo-stage.slim {
  max-width: 1040px;
  margin: 0 auto;
}

.ngo-stage-head {
  display: grid;
  gap: 8px;
  max-width: 650px;
}

.ngo-stage-head-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.sample-map-button {
  flex: 0 0 auto;
  min-height: 42px;
  margin-top: 6px;
  padding-inline: 16px;
  white-space: nowrap;
}

.ngo-stage-head span,
.ngo-card-title span {
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ngo-stage-head h1 {
  max-width: 720px;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.06;
  letter-spacing: -0.01em;
}

.ngo-stage-head p,
.ngo-muted {
  max-width: 600px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

.ngo-intake-grid,
.ngo-choice-grid,
.ngo-review-grid,
.funding-use-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
  gap: 16px;
  align-items: start;
}

.funding-use-grid.lower {
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
}

.ngo-card {
  display: grid;
  gap: 18px;
  padding: 22px;
  border: 1px solid rgba(220, 233, 227, 0.94);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--inner-line);
  transition: transform 160ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.ngo-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(6, 43, 29, 0.07);
}

.ngo-card-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.ngo-card-title small {
  color: var(--muted);
  font-weight: 800;
}

.text-button {
  border: 0;
  background: transparent;
  color: var(--green-deep);
  font-weight: 900;
  cursor: pointer;
}

.ngo-mini-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.ngo-mini-field,
.ngo-url-field {
  display: grid;
  gap: 8px;
}

.ngo-mini-field.wide {
  grid-column: span 2;
}

.ngo-mini-field span,
.ngo-url-field span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.ngo-mini-field input,
.ngo-mini-field select,
.ngo-mini-field textarea,
.ngo-url-field input,
.ngo-proof-item textarea,
.ngo-proof-item input,
.ngo-html-paste textarea {
  width: 100%;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 13px;
  background: #fbfefc;
  color: var(--ink);
  font: inherit;
  font-weight: 750;
  outline: none;
}

.ngo-mini-field input,
.ngo-mini-field select,
.ngo-url-field input,
.ngo-proof-item input {
  min-height: 46px;
  padding: 0 13px;
}

.ngo-mini-field select {
  min-height: 46px;
  padding: 0 20px 0 13px;
  appearance: none;
  -webkit-appearance: none;
  font-size: inherit;
}

.ngo-mini-field small {
  color: rgba(72, 95, 85, 0.68);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.35;
}

.ngo-mini-field textarea,
.ngo-proof-item textarea,
.ngo-html-paste textarea {
  min-height: 92px;
  padding: 12px 13px;
  resize: vertical;
}

.ngo-proof-stack {
  display: grid;
  gap: 12px;
}

.ngo-proof-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: start;
  padding: 14px;
  border: 1px solid rgba(220, 233, 227, 0.82);
  border-radius: 16px;
  background: #ffffff;
}

.ngo-proof-item div {
  display: grid;
  gap: 4px;
}

.ngo-proof-item strong {
  font-size: 14px;
}

.ngo-proof-item small,
.ngo-proof-item em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  line-height: 1.45;
}

.ngo-proof-item textarea,
.ngo-proof-item input {
  grid-column: 1 / -1;
}

.ngo-upload {
  display: inline-grid;
  min-height: 34px;
  place-items: center;
  padding: 0 12px;
  border: 1px solid rgba(10, 150, 86, 0.24);
  border-radius: 999px;
  background: #f0faf4;
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 950;
  cursor: pointer;
}

.ngo-upload input {
  display: none;
}

.ngo-stage-actions,
.ngo-inline-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.ngo-inline-actions {
  justify-content: flex-start;
}

.ngo-inline-actions.vertical {
  align-items: stretch;
  flex-direction: column;
}

.grant-link-card {
  min-height: 100%;
}

.opportunity-scan-card {
  min-height: 100%;
}

.opportunity-shortlist,
.opportunity-empty {
  display: grid;
  gap: 10px;
}

.opportunity-empty {
  min-height: 78px;
  place-items: center;
  border: 1px dashed rgba(10, 150, 86, 0.2);
  border-radius: 16px;
  background: #fbfefc;
  color: var(--muted);
  font-weight: 850;
}

.opportunity-card {
  display: grid;
  gap: 8px;
  width: 100%;
  padding: 15px;
  border: 1px solid rgba(220, 233, 227, 0.9);
  border-radius: 16px;
  background: #ffffff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.opportunity-card:hover,
.opportunity-card.selected {
  transform: translateY(-1px);
  border-color: rgba(10, 150, 86, 0.28);
  box-shadow: 0 12px 28px rgba(6, 43, 29, 0.055);
}

.opportunity-card span {
  display: grid;
  gap: 4px;
}

.opportunity-card strong {
  font-size: 15px;
}

.opportunity-card small,
.opportunity-card p {
  color: var(--muted);
  line-height: 1.45;
}

.opportunity-card p {
  margin: 0;
  font-size: 13px;
}

.opportunity-card em {
  width: fit-content;
  padding: 6px 9px;
  border-radius: 999px;
  background: #eef8f2;
  color: var(--green-deep);
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
  text-transform: uppercase;
}

.ngo-html-paste {
  color: var(--muted);
  font-size: 13px;
  font-weight: 850;
}

.ngo-html-paste summary {
  cursor: pointer;
}

.portal-assistant-note {
  display: grid;
  gap: 5px;
  padding: 13px;
  border: 1px solid rgba(6, 148, 85, 0.18);
  border-radius: 14px;
  background: #f2fbf6;
}

.portal-assistant-note strong {
  color: var(--green-deep);
}

.portal-assistant-note span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.proof-assets-stage {
  gap: 22px;
}

.proof-assets-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px;
  border: 1px solid rgba(10, 150, 86, 0.18);
  border-radius: 22px;
  background:
    radial-gradient(circle at 92% 8%, rgba(20, 184, 108, 0.14), transparent 38%),
    linear-gradient(145deg, #ffffff, #f6fcf8);
}

.proof-assets-hero > div:first-child {
  display: grid;
  gap: 6px;
}

.proof-assets-hero strong {
  color: var(--ink);
  font-size: 26px;
  line-height: 1.1;
}

.proof-assets-hero span {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}

.proof-assets-counts {
  display: grid;
  grid-template-columns: repeat(3, minmax(80px, 1fr));
  gap: 10px;
  min-width: min(420px, 100%);
}

.proof-assets-counts span {
  display: grid;
  gap: 2px;
  padding: 13px 15px;
  border: 1px solid rgba(220, 233, 227, 0.95);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.proof-assets-counts b {
  color: var(--ink);
  font-size: 24px;
  line-height: 1;
}

.proof-assets-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  gap: 16px;
  align-items: start;
}

.proof-assets-layout.compact {
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
}

.proof-room-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr);
  gap: 16px;
  align-items: start;
}

.proof-room-list,
.proof-room-impact {
  display: grid;
  gap: 10px;
}

.understood-head {
  display: grid;
  gap: 8px;
}

.understood-head span,
.understood-card span {
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.understood-head strong {
  max-width: 760px;
  color: var(--ink);
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1.08;
}

.understood-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.understood-next-move {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border: 1px solid rgba(189, 222, 206, 0.92);
  border-radius: 16px;
  background: linear-gradient(150deg, rgba(239, 250, 245, 0.95), rgba(255, 255, 255, 0.92));
}

.understood-next-move b {
  color: rgba(7, 95, 59, 0.86);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.understood-next-move strong {
  color: var(--green-deep);
  font-size: 18px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.understood-next-move p {
  margin: 0;
  color: rgba(22, 57, 41, 0.92);
  font-size: 14px;
  line-height: 1.45;
}

.understood-next-move small {
  color: rgba(62, 92, 78, 0.8);
  font-size: 12px;
  line-height: 1.4;
}

.understood-card {
  display: grid;
  gap: 7px;
  min-height: 122px;
  padding: 16px;
  border: 1px solid rgba(220, 233, 227, 0.9);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.72);
}

.understood-card.ready {
  background: rgba(239, 250, 245, 0.78);
}

.understood-card.caution {
  border-color: rgba(238, 170, 42, 0.3);
  background: rgba(255, 251, 241, 0.86);
}

.understood-card.blocked {
  border-color: rgba(209, 72, 54, 0.24);
  background: rgba(255, 247, 245, 0.86);
}

.understood-card strong {
  color: var(--ink);
  font-size: 17px;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.understood-card small {
  color: rgba(72, 95, 85, 0.78);
  font-size: 12.5px;
  line-height: 1.42;
  overflow-wrap: anywhere;
}

.proof-room-item {
  overflow: hidden;
  border: 1px solid rgba(220, 233, 227, 0.94);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.82);
}

.proof-room-item[open] {
  box-shadow: 0 24px 60px rgba(8, 93, 54, 0.08);
}

.proof-room-item.caution {
  border-color: rgba(238, 170, 42, 0.34);
  background: rgba(255, 251, 241, 0.88);
}

.proof-room-item.blocked {
  border-color: rgba(209, 72, 54, 0.25);
  background: rgba(255, 247, 245, 0.9);
}

.proof-room-item summary {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  padding: 18px;
  cursor: pointer;
  list-style: none;
}

.proof-room-item summary::-webkit-details-marker {
  display: none;
}

.proof-room-chip {
  width: fit-content;
  padding: 7px 10px;
  border-radius: 999px;
  background: #eaf8f0;
  color: var(--green-deep);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.proof-room-item.caution .proof-room-chip {
  background: #fff1cf;
  color: #9b6500;
}

.proof-room-item.blocked .proof-room-chip {
  background: #ffebe7;
  color: #a63322;
}

.proof-room-item summary strong {
  display: block;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.25;
}

.proof-room-item summary small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.proof-room-body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 0 18px 18px 146px;
}

.proof-room-body div {
  min-height: 118px;
  padding: 14px;
  border: 1px solid rgba(220, 233, 227, 0.72);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.64);
}

.proof-room-body div:first-child,
.proof-room-body .proof-room-next {
  grid-column: 1 / -1;
}

.proof-room-body span,
.proof-impact-row span,
.funder-lens-copy span {
  display: block;
  margin-bottom: 6px;
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.proof-room-body p,
.proof-impact-row p,
.proof-impact-row small {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.52;
}

.proof-room-body p {
  color: #395249;
}

.proof-impact-row {
  display: grid;
  gap: 4px;
  padding: 15px;
  border: 1px solid rgba(220, 233, 227, 0.9);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
}

.proof-impact-row.caution {
  border-color: rgba(238, 170, 42, 0.34);
  background: #fffbf1;
}

.proof-impact-row.blocked {
  border-color: rgba(209, 72, 54, 0.26);
  background: #fff7f5;
}

.proof-impact-row strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.32;
}

.funder-lens-preview {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
  gap: 16px;
  align-items: stretch;
  background:
    radial-gradient(circle at 88% 18%, rgba(10, 150, 86, 0.1), transparent 32%),
    rgba(255, 255, 255, 0.78);
}

.funder-lens-copy {
  display: grid;
  align-content: center;
  gap: 8px;
}

.funder-lens-copy strong {
  color: var(--ink);
  font-size: clamp(22px, 2.5vw, 34px);
  line-height: 1.06;
  letter-spacing: -0.02em;
}

.funder-lens-copy p,
.funder-lens-detail p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.funder-lens-tests {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.funder-lens-tests div {
  display: grid;
  gap: 7px;
  min-height: 96px;
  padding: 13px;
  border: 1px solid rgba(220, 233, 227, 0.9);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.76);
}

.funder-lens-tests span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.35;
}

.funder-lens-tests strong {
  align-self: end;
  width: fit-content;
  padding: 6px 9px;
  border-radius: 999px;
  background: #eaf8f0;
  color: var(--green-deep);
  font-size: 11px;
  text-transform: uppercase;
}

.funder-lens-tests .thin strong,
.funder-lens-tests .unknown strong {
  background: #fff1cf;
  color: #9b6500;
}

.funder-lens-tests .gap strong {
  background: #ffebe7;
  color: #a63322;
}

.funder-lens-detail {
  grid-column: 1 / -1;
  padding: 14px 16px;
  border: 1px solid rgba(220, 233, 227, 0.8);
  border-radius: 16px;
  background: rgba(250, 255, 252, 0.74);
}

.funder-lens-detail strong {
  display: block;
  margin-bottom: 4px;
  color: var(--ink);
}

.proof-read-list,
.proof-claim-list,
.proof-gap-list {
  display: grid;
  gap: 10px;
}

.proof-read-row {
  display: grid;
  gap: 5px;
  padding: 15px;
  border: 1px solid rgba(220, 233, 227, 0.9);
  border-radius: 16px;
  background: #ffffff;
}

.proof-read-row span,
.proof-asset-mini span {
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.proof-read-row strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.35;
}

.proof-read-row small {
  color: var(--muted);
  font-weight: 800;
}

.proof-read-row.caution,
.proof-claim-row.caution,
.proof-asset-mini.caution,
.proof-gap-row.medium {
  border-color: rgba(238, 170, 42, 0.34);
  background: #fffbf1;
}

.proof-read-row.blocked,
.proof-claim-row.blocked,
.proof-asset-mini.blocked,
.proof-gap-row.high {
  border-color: rgba(209, 72, 54, 0.26);
  background: #fff7f5;
}

.proof-read-row.flag,
.proof-claim-row.flag,
.proof-asset-mini.flag {
  border-color: rgba(202, 116, 14, 0.32);
  background: #fff8ec;
}

.proof-claim-row {
  overflow: hidden;
  border: 1px solid rgba(220, 233, 227, 0.9);
  border-radius: 18px;
  background: #ffffff;
}

.proof-claim-row summary {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 17px 18px;
  cursor: pointer;
  list-style: none;
}

.proof-claim-row summary::-webkit-details-marker {
  display: none;
}

.proof-claim-row summary span {
  width: fit-content;
  padding: 7px 10px;
  border-radius: 999px;
  background: #eef8f2;
  color: var(--green-deep);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.proof-claim-row.caution summary span {
  background: #fff1cf;
  color: #9b6500;
}

.proof-claim-row.blocked summary span,
.proof-claim-row.flag summary span {
  background: #ffebe7;
  color: #a63322;
}

.proof-claim-row summary strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.proof-claim-body {
  display: grid;
  gap: 9px;
  padding: 0 18px 18px 144px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.proof-claim-body p {
  margin: 0;
}

.proof-claim-body b {
  color: var(--ink);
}

.proof-asset-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.proof-asset-mini {
  display: grid;
  gap: 9px;
  min-height: 126px;
  padding: 16px;
  border: 1px solid rgba(220, 233, 227, 0.9);
  border-radius: 18px;
  background: #ffffff;
}

.proof-asset-mini strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.25;
}

.proof-asset-mini small {
  color: var(--muted);
  line-height: 1.45;
}

.proof-gap-row {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 15px;
  border: 1px solid rgba(220, 233, 227, 0.9);
  border-radius: 16px;
  background: #ffffff;
}

.proof-gap-row > span {
  width: 9px;
  height: 9px;
  margin-top: 6px;
  border-radius: 999px;
  background: var(--green);
}

.proof-gap-row.high > span {
  background: #d97706;
}

.proof-gap-row div {
  display: grid;
  gap: 4px;
}

.proof-gap-row strong {
  color: var(--ink);
  font-size: 15px;
}

.proof-gap-row small {
  color: var(--muted);
  line-height: 1.45;
}

.grant-route-list {
  display: grid;
  gap: 10px;
}

.grant-route {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  padding: 16px;
  border: 1px solid rgba(220, 233, 227, 0.9);
  border-radius: 16px;
  background: #ffffff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.grant-route span {
  display: grid;
  gap: 5px;
}

.grant-route small {
  color: var(--muted);
  line-height: 1.45;
}

.grant-route em {
  flex: 0 0 auto;
  padding: 6px 9px;
  border-radius: 999px;
  background: #eef8f2;
  color: var(--green-deep);
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
}

.ngo-answer-strip,
.ngo-fill-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.ngo-answer-strip div,
.ngo-fill-summary div {
  display: grid;
  gap: 3px;
  padding: 14px;
  border: 1px solid rgba(220, 233, 227, 0.88);
  border-radius: 15px;
  background: #fbfefc;
}

.ngo-answer-strip strong,
.ngo-fill-summary strong {
  font-size: 24px;
}

.ngo-answer-strip span,
.ngo-fill-summary span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.portal-section-guide {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(6, 148, 85, 0.18);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(241, 251, 246, 0.92), rgba(255, 255, 255, 0.98));
}

.portal-section-guide > div:first-child {
  display: grid;
  gap: 3px;
}

.portal-section-guide strong {
  color: var(--green-deep);
}

.portal-section-guide span,
.portal-section-guide small {
  color: var(--muted);
  line-height: 1.45;
}

.portal-section-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.portal-section-list article {
  display: grid;
  gap: 5px;
  padding: 11px;
  border: 1px solid rgba(220, 233, 227, 0.86);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.82);
}

.portal-section-list article > span {
  color: var(--ink);
  font-size: 13px;
  font-weight: 950;
}

.portal-section-list em {
  width: fit-content;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef8f2;
  color: var(--green-deep);
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
}

.ngo-answer-list {
  display: grid;
  gap: 10px;
}

.ngo-answer-item {
  border: 1px solid rgba(220, 233, 227, 0.9);
  border-radius: 16px;
  background: #ffffff;
  overflow: hidden;
}

.ngo-answer-item summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 15px 16px;
  cursor: pointer;
}

.ngo-answer-item summary::-webkit-details-marker {
  display: none;
}

.ngo-answer-item summary span {
  padding: 6px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.ngo-answer-item.usable summary span {
  background: #eaf8ef;
  color: var(--green-deep);
}

.ngo-answer-item.caution summary span {
  background: #fff5db;
  color: #9d6200;
}

.ngo-answer-item.gap summary span {
  background: #fff0ef;
  color: #a43224;
}

.ngo-answer-item p,
.ngo-gap-box {
  margin: 0;
  padding: 0 16px 16px;
  color: #385047;
  font-size: 14px;
  line-height: 1.65;
}

.ngo-answer-note {
  color: var(--muted) !important;
  font-weight: 750;
}

.ngo-gap-box {
  color: #8a2f24;
  font-weight: 850;
}

.grassroots-screen {
  display: grid;
  gap: 18px;
}

.grassroots-hero {
  display: grid;
  gap: 14px;
  max-width: 860px;
  padding: 28px 0 8px;
}

.grassroots-hero > span,
.grass-card > span,
.autofill-minimal-head span {
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.grassroots-hero h1 {
  max-width: 740px;
  font-size: clamp(42px, 5vw, 76px);
  line-height: 0.98;
}

.grassroots-hero p {
  max-width: 560px;
  color: var(--muted);
  font-size: 18px;
}

.grassroots-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.7fr) minmax(260px, 0.8fr);
  gap: 14px;
}

.grass-card {
  display: grid;
  gap: 16px;
  padding: 22px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 14px 34px rgba(6, 43, 29, 0.055), var(--inner-line);
}

.grass-current {
  min-height: 250px;
  align-content: space-between;
  background:
    linear-gradient(140deg, #ffffff, #f2fbf6),
    radial-gradient(circle at 86% 16%, rgba(6, 148, 85, 0.12), transparent 32%);
}

.grass-current h2 {
  max-width: 560px;
  font-size: clamp(28px, 3.2vw, 44px);
}

.grass-card dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.grass-card dl div {
  display: grid;
  gap: 5px;
  padding: 13px;
  border: 1px solid rgba(220, 233, 227, 0.86);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
}

.grass-card dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.grass-card dd {
  margin: 0;
  color: var(--ink);
  font-weight: 900;
}

.grass-steps,
.grass-fixes {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.grass-steps li,
.grass-fixes li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #294239;
  font-weight: 800;
}

.grass-steps li::before,
.grass-fixes li::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #d8e6df;
}

.grass-steps li.done::before {
  background: var(--green);
}

.grass-fixes li::before {
  background: var(--amber);
}

.autofill-minimal-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}

.autofill-minimal-head h2 {
  margin-top: 4px;
  font-size: clamp(24px, 2.6vw, 34px);
}

.autofill-minimal-head strong {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 0 10px;
  border-radius: 999px;
  color: var(--green-deep);
  background: #eaf8ef;
  font-size: 12px;
}

.autofill-lab-grid.minimal {
  grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1.3fr);
}

.html-paste {
  display: grid;
  gap: 8px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.html-paste summary,
.autofill-script-box summary {
  cursor: pointer;
  color: var(--green-deep);
}

.html-paste textarea {
  width: 100%;
  min-height: 96px;
  padding: 12px 13px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--ink);
  resize: vertical;
  outline: none;
}

.workspace-screen,
.funder-review-screen {
  display: grid;
  gap: 20px;
}

.workspace-hero,
.review-hero {
  overflow: hidden;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 370px;
  gap: 28px;
  align-items: stretch;
  min-height: 292px;
  padding: 34px;
  border: 1px solid rgba(185, 229, 202, 0.86);
  border-radius: 14px;
  background:
    radial-gradient(circle at 76% 12%, rgba(6, 148, 85, 0.12), transparent 32%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(245, 252, 248, 0.94));
  box-shadow: var(--shadow), var(--inner-line);
}

.workspace-hero::after {
  content: "";
  position: absolute;
  inset: 0 0 0 auto;
  width: 48%;
  background:
    linear-gradient(120deg, transparent, rgba(6, 148, 85, 0.06)),
    repeating-linear-gradient(135deg, rgba(6, 148, 85, 0.14) 0 1px, transparent 1px 18px);
  opacity: 0.72;
  clip-path: polygon(22% 0, 100% 0, 100% 100%, 0 100%);
}

.workspace-hero-copy,
.workspace-asset-card,
.review-hero > div,
.review-hero > aside {
  position: relative;
  z-index: 1;
}

.workspace-hero-copy {
  display: grid;
  align-content: center;
  gap: 18px;
  max-width: 760px;
}

.workspace-kicker {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.workspace-kicker::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--green);
  box-shadow: 0 0 0 7px rgba(6, 148, 85, 0.1);
}

.workspace-hero h1,
.review-hero h1 {
  max-width: 760px;
  font-size: clamp(38px, 4.4vw, 66px);
  line-height: 0.98;
}

.workspace-hero p,
.review-hero p,
.workspace-card p,
.workspace-card small,
.claim-review-card p {
  color: var(--muted);
}

.workspace-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.workspace-asset-card {
  align-self: center;
  display: grid;
  gap: 16px;
  padding: 24px;
  border: 1px solid rgba(185, 229, 202, 0.72);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 20px 54px rgba(6, 43, 29, 0.1), var(--inner-line);
  backdrop-filter: blur(18px);
}

.workspace-asset-card span,
.workspace-card-head span,
.claim-review-head span {
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.workspace-asset-card strong {
  font-size: 24px;
  line-height: 1.1;
}

.asset-flow {
  display: grid;
  grid-template-columns: 1fr 24px 1fr 24px 1fr;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}

.asset-flow b {
  display: grid;
  place-items: center;
  min-height: 58px;
  padding: 10px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 12px;
  background: #fbfefc;
  font-size: 12px;
  text-align: center;
}

.asset-flow i {
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(6, 148, 85, 0.2), var(--green));
}

.workspace-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(330px, 0.75fr);
  gap: 18px;
}

.workspace-card {
  display: grid;
  gap: 18px;
  padding: 24px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--shadow-soft), var(--inner-line);
}

.workspace-card-head,
.claim-review-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.workspace-card-head strong,
.claim-review-head strong {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 0 10px;
  border-radius: 999px;
  color: var(--green-deep);
  background: #eaf8ef;
  font-size: 12px;
}

.active-application-card {
  min-height: 328px;
  background:
    linear-gradient(140deg, rgba(255, 255, 255, 0.96), rgba(238, 250, 244, 0.9)),
    radial-gradient(circle at 82% 18%, rgba(6, 148, 85, 0.14), transparent 28%);
}

.active-application-card h2 {
  max-width: 600px;
  font-size: clamp(30px, 3.2vw, 44px);
}

.application-meta-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.application-meta-strip span {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  padding: 0 12px;
  border: 1px solid rgba(203, 234, 214, 0.9);
  border-radius: 999px;
  color: var(--green-deep);
  background: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  font-weight: 800;
}

.workspace-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: auto;
}

.workspace-metric {
  display: grid;
  gap: 4px;
  padding: 16px;
  border: 1px solid rgba(220, 233, 227, 0.92);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.76);
}

.workspace-metric strong {
  color: var(--green-deep);
  font-size: 24px;
}

.workspace-metric span {
  font-size: 12px;
  font-weight: 900;
}

.gate-list,
.claim-review-list,
.review-side,
.diligence-list {
  display: grid;
  gap: 12px;
}

.gate-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 13px;
  border: 1px solid rgba(220, 233, 227, 0.92);
  border-radius: 12px;
  background: #fbfefc;
}

.gate-row > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  color: #ffffff;
  background: var(--green);
  font-weight: 900;
}

.gate-row.caution > span {
  background: #d8891b;
}

.gate-row.fix > span {
  background: var(--amber);
}

.gate-row em,
.workspace-opportunity em {
  font-style: normal;
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 900;
}

.workspace-opportunity {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 16px 0;
  border: 0;
  border-bottom: 1px solid rgba(220, 233, 227, 0.92);
  background: transparent;
  color: var(--ink);
  text-align: left;
}

.workspace-opportunity:last-child {
  border-bottom: 0;
}

.workspace-opportunity span {
  display: grid;
  gap: 4px;
}

.mini-claim-stack,
.impact-asset-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.mini-claim-stack div,
.impact-asset-grid div {
  display: grid;
  gap: 4px;
  min-height: 78px;
  padding: 14px;
  border: 1px solid rgba(220, 233, 227, 0.92);
  border-radius: 12px;
  background: #fbfefc;
}

.mini-claim-stack span,
.impact-asset-grid span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.funder-preview-card,
.intermediary-card {
  background:
    linear-gradient(150deg, rgba(255, 255, 255, 0.96), rgba(248, 252, 250, 0.94)),
    repeating-linear-gradient(135deg, rgba(6, 148, 85, 0.05) 0 1px, transparent 1px 18px);
}

.review-hero {
  grid-template-columns: minmax(0, 1fr) 320px;
}

.review-hero > aside {
  align-self: center;
  display: grid;
  gap: 8px;
  padding: 24px;
  border: 1px solid rgba(185, 229, 202, 0.78);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: var(--shadow-soft), var(--inner-line);
}

.review-hero > aside strong {
  color: var(--green-deep);
  font-size: 22px;
}

.review-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 18px;
}

.review-main {
  display: grid;
  gap: 16px;
}

.review-desk-screen {
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(28px, 5vw, 72px);
  display: grid;
  gap: 22px;
}

.review-desk-head {
  display: grid;
  gap: 12px;
  max-width: 760px;
}

.review-desk-head h1 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(46px, 7vw, 88px);
  line-height: 0.94;
  letter-spacing: -0.04em;
}

.review-desk-head p {
  margin: 0;
  color: var(--muted);
  font-size: clamp(17px, 2vw, 22px);
  line-height: 1.55;
}

.review-queue-card {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 22px;
  border: 1px solid rgba(190, 224, 207, 0.86);
  border-radius: 22px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.94), rgba(247, 252, 249, 0.88)),
    rgba(255, 255, 255, 0.74);
  box-shadow: var(--shadow-soft);
}

.review-queue-card.blocked {
  border-color: rgba(237, 164, 84, 0.5);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(255, 249, 237, 0.86));
}

.review-queue-card.review {
  border-color: rgba(234, 196, 103, 0.58);
}

.review-queue-card div {
  display: grid;
  gap: 5px;
}

.review-queue-card span,
.review-desk-item span {
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.review-queue-card strong {
  color: var(--ink);
  font-size: 24px;
  line-height: 1.15;
}

.review-queue-card small {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}

.review-desk-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}

.review-desk-panel {
  display: grid;
  gap: 12px;
}

.review-desk-item {
  display: grid;
  gap: 7px;
  padding: 16px 0;
  border-top: 1px solid rgba(220, 233, 227, 0.86);
}

.review-desk-item:first-of-type {
  border-top: 0;
}

.review-desk-item strong {
  color: var(--ink);
  font-size: 17px;
  line-height: 1.25;
}

.review-desk-item p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

.review-desk-item small {
  color: var(--muted-light);
  font-size: 12px;
  font-weight: 800;
}

.review-request-box {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid rgba(190, 224, 207, 0.8);
  border-radius: 18px;
  background: rgba(246, 252, 248, 0.76);
}

.review-request-box p {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.65;
}

.claim-review-card {
  display: grid;
  gap: 14px;
  padding: 22px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: var(--shadow-soft), var(--inner-line);
}

.claim-review-card.backed {
  border-color: rgba(6, 148, 85, 0.3);
}

.claim-review-card.caution {
  border-color: rgba(245, 158, 11, 0.36);
}

.claim-review-card.risk {
  border-color: rgba(217, 45, 32, 0.28);
}

.claim-review-evidence {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.claim-review-evidence div {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid rgba(220, 233, 227, 0.92);
  border-radius: 12px;
  background: #fbfefc;
}

.claim-review-evidence span {
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.diligence-list {
  margin: 0;
  padding-left: 20px;
  color: var(--muted);
}

.diligence-list li {
  padding-left: 4px;
}

.decision-verdict {
  display: grid;
  gap: 8px;
  padding: 16px;
  border: 1px solid rgba(245, 158, 11, 0.32);
  border-radius: 12px;
  background: var(--amber-soft);
}

.decision-verdict strong {
  color: #7a3d00;
  font-size: 20px;
}

.funder-lens-screen {
  max-width: 1180px;
  margin: 0 auto;
}

.funder-lens-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 18px;
  align-items: stretch;
  padding: 28px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 18px;
  background:
    radial-gradient(circle at 78% 14%, rgba(6, 148, 85, 0.09), transparent 28%),
    rgba(255, 255, 255, 0.9);
  box-shadow: var(--shadow-soft), var(--inner-line);
}

.funder-lens-head h1 {
  max-width: 620px;
  margin-top: 14px;
  font-size: clamp(38px, 4.2vw, 64px);
  line-height: 0.98;
  letter-spacing: -0.035em;
}

.funder-lens-head p {
  max-width: 560px;
  margin-top: 14px;
  color: var(--muted);
  font-size: 17px;
}

.funder-lens-summary {
  display: grid;
  align-content: center;
  gap: 12px;
  padding: 22px;
  border: 1px solid rgba(185, 229, 202, 0.8);
  border-radius: 16px;
  background: rgba(248, 252, 250, 0.8);
}

.funder-lens-summary > span,
.funder-compact-section > span {
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.funder-lens-summary strong {
  color: var(--green-deep);
  font-size: 24px;
  line-height: 1.05;
}

.funder-lens-summary small {
  color: var(--muted);
  font-weight: 800;
}

.funder-lens-mini {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.funder-lens-mini em {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 0 10px;
  border-radius: 999px;
  background: #eaf8ef;
  color: var(--green-deep);
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.funder-lens-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 18px;
}

.funder-lens-fields {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.funder-lens-field {
  display: grid;
  gap: 7px;
}

.funder-lens-field span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.funder-lens-field select {
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 12px;
  background: #fbfefc;
  color: var(--ink);
  font: inherit;
  font-weight: 850;
  outline: none;
}

.funder-lens-field select:focus {
  border-color: rgba(6, 148, 85, 0.5);
  box-shadow: 0 0 0 4px rgba(6, 148, 85, 0.08);
}

.funder-signal-list {
  display: grid;
  gap: 10px;
}

.funder-signal-list div {
  display: grid;
  gap: 4px;
  padding: 13px;
  border: 1px solid rgba(220, 233, 227, 0.92);
  border-radius: 12px;
  background: #fbfefc;
}

.funder-signal-list strong {
  color: var(--ink);
}

.funder-signal-list span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
}

.funder-assets-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(420px, 1.14fr);
  gap: 18px;
}

.funder-asset-list {
  display: grid;
  gap: 10px;
}

.funder-asset-card {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 48px;
  gap: 13px;
  align-items: center;
  width: 100%;
  padding: 14px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.88);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.funder-asset-card:hover,
.funder-asset-card.selected {
  border-color: rgba(6, 148, 85, 0.38);
  background: #f4fbf7;
}

.funder-asset-card > span,
.funder-selected-top > span {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: #eaf8ef;
  color: var(--green-deep);
  font-size: 13px;
  font-weight: 950;
}

.funder-asset-card strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.funder-asset-card small {
  display: block;
  overflow: hidden;
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.funder-asset-card em {
  color: var(--green-deep);
  font-size: 22px;
  font-style: normal;
  font-weight: 950;
  text-align: right;
}

.funder-asset-detail {
  align-content: start;
}

.funder-selected-top {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.funder-selected-top > span {
  width: 54px;
  height: 54px;
  border-radius: 16px;
}

.funder-selected-top small {
  color: var(--green);
  font-weight: 900;
}

.funder-selected-top h2 {
  margin-top: 3px;
  font-size: clamp(25px, 2.5vw, 38px);
  line-height: 1.02;
  letter-spacing: -0.025em;
}

.funder-selected-top p {
  max-width: 720px;
  margin-top: 9px;
}

.funder-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.funder-detail-grid div {
  display: grid;
  gap: 5px;
  min-height: 84px;
  padding: 13px;
  border: 1px solid rgba(220, 233, 227, 0.92);
  border-radius: 13px;
  background: #fbfefc;
}

.funder-detail-grid span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.funder-detail-grid strong {
  align-self: end;
  color: var(--green-deep);
  font-size: 18px;
  line-height: 1.08;
}

.funder-compact-section {
  display: grid;
  gap: 9px;
  padding: 15px;
  border: 1px solid rgba(220, 233, 227, 0.94);
  border-radius: 14px;
  background: rgba(251, 254, 252, 0.88);
}

.funder-compact-section.caution {
  border-color: rgba(245, 158, 11, 0.36);
  background: var(--amber-soft);
}

.funder-compact-section ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-weight: 750;
}

.funder-action-strip {
  display: grid;
  gap: 5px;
  padding: 16px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(6, 148, 85, 0.1), rgba(234, 248, 239, 0.88));
}

.funder-action-strip strong {
  color: var(--green-deep);
  font-size: 18px;
}

.funder-empty-detail {
  display: grid;
  place-items: center;
  min-height: 300px;
  color: var(--muted);
  text-align: center;
}

.funder-card-shortlist {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.ngo-funder-card {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
  padding: 13px;
  border: 1px solid rgba(220, 233, 227, 0.92);
  border-radius: 13px;
  background: #fbfefc;
}

.ngo-funder-card > span {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  color: var(--green-deep);
  background: #eaf8ef;
  font-size: 12px;
  font-weight: 950;
}

.ngo-funder-card strong,
.ngo-funder-card small,
.ngo-funder-card p {
  display: block;
}

.ngo-funder-card small {
  margin-top: 3px;
  color: var(--muted);
  font-weight: 800;
}

.ngo-funder-card p {
  margin-top: 6px;
  color: var(--muted);
  font-size: 13px;
}

.autofill-lab {
  padding: 26px;
}

.autofill-lab-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 18px;
}

.autofill-input-panel,
.autofill-result-panel {
  display: grid;
  align-content: start;
  gap: 14px;
}

.autofill-input-panel h2 {
  font-size: clamp(24px, 2.2vw, 34px);
}

.autofill-input-panel p,
.autofill-empty p,
.autofill-script-box p {
  color: var(--muted);
}

.autofill-field {
  display: grid;
  gap: 7px;
}

.autofill-field span {
  color: #31453c;
  font-size: 13px;
  font-weight: 900;
}

.autofill-field input,
.autofill-field textarea,
.autofill-script-box textarea {
  width: 100%;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--ink);
  outline: none;
  box-shadow: var(--inner-line);
}

.autofill-field input {
  min-height: 46px;
  padding: 0 13px;
}

.autofill-field textarea {
  min-height: 116px;
  padding: 12px 13px;
  resize: vertical;
}

.autofill-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.autofill-error {
  padding: 12px 14px;
  border: 1px solid rgba(217, 45, 32, 0.24);
  border-radius: 12px;
  color: var(--red);
  background: var(--red-soft);
  font-weight: 800;
}

.autofill-empty {
  display: grid;
  place-items: start;
  gap: 10px;
  min-height: 100%;
  padding: 22px;
  border: 1px dashed rgba(6, 148, 85, 0.28);
  border-radius: 14px;
  background:
    linear-gradient(140deg, rgba(251, 254, 252, 0.92), rgba(239, 250, 244, 0.82)),
    repeating-linear-gradient(135deg, rgba(6, 148, 85, 0.05) 0 1px, transparent 1px 18px);
}

.autofill-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.autofill-summary div {
  display: grid;
  gap: 4px;
  padding: 14px;
  border: 1px solid rgba(220, 233, 227, 0.92);
  border-radius: 12px;
  background: #fbfefc;
}

.autofill-summary strong {
  color: var(--green-deep);
  font-size: 24px;
}

.autofill-summary span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.autofill-mapping-list {
  display: grid;
  gap: 8px;
  max-height: 330px;
  overflow: auto;
  padding-right: 4px;
}

.autofill-map-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 13px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 12px;
  background: #ffffff;
}

.autofill-map-row.matched {
  border-color: rgba(6, 148, 85, 0.28);
}

.autofill-map-row.review {
  border-color: rgba(245, 158, 11, 0.36);
  background: #fffdf8;
}

.autofill-map-row.blocked {
  border-color: rgba(217, 45, 32, 0.24);
  background: #fff8f6;
}

.autofill-map-row div {
  display: grid;
  gap: 4px;
}

.autofill-map-row span {
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.autofill-map-row strong {
  font-size: 14px;
}

.autofill-map-row em {
  color: var(--green-deep);
  font-style: normal;
  font-weight: 900;
}

.autofill-script-box {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(185, 229, 202, 0.82);
  border-radius: 14px;
  background: #f8fdfa;
}

.autofill-script-box textarea {
  min-height: 138px;
  padding: 12px;
  color: #12382f;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
  resize: vertical;
}

.autofill-copy-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.application-screen {
  gap: 18px;
}

.application-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 16px;
}

.application-funder-card {
  display: grid;
  gap: 16px;
}

.application-funder-card p,
.application-rule {
  color: var(--muted);
}

.application-scorecard {
  display: grid;
  align-content: space-between;
  gap: 18px;
}

.answer-counts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.answer-counts div {
  display: grid;
  place-items: center;
  gap: 4px;
  min-height: 88px;
  padding: 12px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: var(--radius);
  background: #fbfefc;
}

.answer-counts strong {
  color: var(--green);
  font-size: 32px;
  line-height: 1;
}

.answer-counts span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.application-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 16px;
}

.application-list,
.application-side,
.admin-list {
  display: grid;
  gap: 14px;
}

.application-side {
  align-self: start;
  position: sticky;
  top: 96px;
}

.application-answer {
  display: grid;
  gap: 18px;
  padding: 22px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(251, 254, 252, 0.98));
  box-shadow: var(--shadow-soft), var(--inner-line);
}

.application-answer.usable {
  border-color: rgba(6, 148, 85, 0.32);
}

.application-answer.caution {
  border-color: rgba(245, 158, 11, 0.36);
}

.application-answer.gap {
  border-color: rgba(217, 45, 32, 0.28);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 248, 246, 0.94));
}

.answer-topline {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
}

.answer-number {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  color: #ffffff;
  background: linear-gradient(145deg, var(--green), var(--green-deep));
  font-weight: 900;
}

.answer-section {
  display: block;
  margin-bottom: 4px;
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.answer-topline p,
.answer-evidence span,
.answer-explainability p {
  color: var(--muted);
}

.answer-status,
.claim-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  color: var(--green-deep);
  background: #eaf8ef;
  font-size: 12px;
  font-weight: 900;
}

.application-answer.caution .answer-status,
.claim-label.caution {
  color: #7a3d00;
  background: var(--amber-soft);
}

.application-answer.gap .answer-status,
.claim-label.gap {
  color: var(--red);
  background: var(--red-soft);
}

.claim-label.needs_human {
  color: #7a3d00;
  background: var(--amber-soft);
}

.draft-box,
.gap-task {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.78);
}

.draft-box label,
.gap-task label {
  color: #31453c;
  font-size: 13px;
  font-weight: 900;
}

.draft-box textarea,
.gap-task textarea {
  width: 100%;
  min-height: 150px;
  padding: 14px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: var(--radius);
  background: #fbfefc;
  color: var(--ink);
  resize: vertical;
  outline: none;
  box-shadow: var(--inner-line);
}

.draft-box textarea[readonly] {
  color: #22382f;
}

.draft-actions {
  display: flex;
  justify-content: flex-end;
}

.gap-task {
  border-color: rgba(217, 45, 32, 0.18);
  background: rgba(255, 247, 245, 0.76);
}

.gap-task p {
  color: var(--muted);
}

.answer-evidence {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.answer-evidence div,
.coverage-mini-list div,
.admin-fact-strip {
  padding: 12px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: var(--radius);
  background: #fbfefc;
}

.answer-evidence strong,
.answer-evidence span,
.coverage-mini-list span {
  display: block;
}

.answer-evidence strong {
  margin-bottom: 4px;
}

.answer-explainability {
  padding-top: 4px;
}

.answer-explainability summary {
  color: var(--green-deep);
  cursor: pointer;
  font-weight: 900;
}

.answer-explainability code {
  display: block;
  margin-top: 10px;
  padding: 12px;
  border-radius: var(--radius);
  background: #f0f7f3;
  color: #163428;
  white-space: pre-wrap;
}

.coverage-mini-list {
  display: grid;
  gap: 8px;
}

.coverage-mini-list div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.coverage-pill {
  padding: 4px 8px;
  border-radius: 999px;
  color: var(--muted);
  background: #edf4f0;
  font-size: 12px;
}

.coverage-pill.robust,
.coverage-pill.sufficient {
  color: var(--green-deep);
  background: #eaf8ef;
}

.coverage-pill.weak {
  color: #7a3d00;
  background: var(--amber-soft);
}

.coverage-pill.absent {
  color: var(--red);
  background: var(--red-soft);
}

.admin-fill-engine {
  display: grid;
  gap: 14px;
}

.fill-engine-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 16px;
  align-items: stretch;
  padding: 18px;
  border: 1px solid rgba(185, 229, 202, 0.72);
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 88% 18%, rgba(6, 148, 85, 0.08), transparent 28%),
    linear-gradient(145deg, rgba(245, 252, 248, 0.98), rgba(255, 255, 255, 0.96));
}

.fill-engine-overview h3 {
  margin: 10px 0 8px;
  font-size: 22px;
}

.fill-engine-overview p,
.fill-engine-flow p,
.fill-engine-answer p,
.fill-engine-payload p,
.fill-engine-doctrine p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.fill-engine-score {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.fill-engine-score div {
  display: grid;
  place-items: center;
  gap: 4px;
  min-height: 112px;
  padding: 12px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.88);
}

.fill-engine-score strong {
  color: var(--green);
  font-size: 30px;
  line-height: 1;
}

.fill-engine-score span,
.fill-engine-section-head span,
.fill-engine-answer span,
.fill-engine-payload article span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.fill-engine-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.fill-engine-flow article {
  display: grid;
  gap: 8px;
  min-height: 132px;
  padding: 14px;
  border: 1px solid rgba(220, 233, 227, 0.88);
  border-radius: 14px;
  background: #fbfefc;
}

.fill-engine-flow article > span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #ffffff;
  background: var(--green);
  font-weight: 950;
}

.fill-engine-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(280px, 0.88fr);
  gap: 14px;
}

.fill-engine-list,
.fill-engine-payload {
  display: grid;
  align-content: start;
  gap: 9px;
  padding: 14px;
  border: 1px solid rgba(220, 233, 227, 0.88);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.76);
}

.fill-engine-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(220, 233, 227, 0.78);
}

.fill-engine-section-head strong {
  color: var(--ink);
  font-size: 15px;
}

.fill-engine-answer,
.fill-engine-payload article,
.fill-engine-blocked,
.fill-engine-doctrine {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(220, 233, 227, 0.82);
  border-radius: 12px;
  background: #ffffff;
}

.fill-engine-answer {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.fill-engine-answer strong,
.fill-engine-payload article strong,
.fill-engine-blocked strong,
.fill-engine-doctrine strong {
  color: var(--ink);
}

.fill-engine-answer em {
  width: fit-content;
  padding: 5px 8px;
  border-radius: 999px;
  color: var(--green-deep);
  background: #eaf8ef;
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
  text-transform: uppercase;
  white-space: nowrap;
}

.fill-engine-answer.caution em {
  color: #7a3d00;
  background: var(--amber-soft);
}

.fill-engine-answer.gap em,
.fill-engine-blocked {
  color: var(--red);
  background: var(--red-soft);
}

.fill-engine-payload article {
  border-color: rgba(185, 229, 202, 0.72);
}

.fill-engine-doctrine {
  border-color: rgba(6, 148, 85, 0.2);
  background: #f1fbf5;
}

.application-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.application-cta p {
  margin-top: 6px;
  color: var(--muted);
}

.processing-panel {
  display: flex;
  align-items: center;
  gap: 16px;
}

.loader-dot {
  width: 18px;
  height: 18px;
  border: 3px solid rgba(6, 148, 85, 0.18);
  border-top-color: var(--green);
  border-radius: 50%;
  animation: spin 900ms linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.admin-fact-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: 1.35fr 0.85fr 0.85fr 0.85fr;
  gap: 16px;
}

.snapshot-hero {
  min-height: 220px;
  padding: 26px;
}

.stat-card {
  display: grid;
  align-content: space-between;
  min-height: 220px;
  padding: 24px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 254, 252, 0.98));
  box-shadow: var(--shadow-soft), var(--inner-line);
}

.stat-icon,
.mini-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  color: var(--green-deep);
  border: 1px solid rgba(6, 148, 85, 0.12);
  background:
    linear-gradient(145deg, var(--soft-strong), #ffffff);
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(6, 43, 29, 0.06), var(--inner-line);
}

.stat-number {
  color: var(--green);
  font-size: 40px;
  font-weight: 850;
  line-height: 1;
}

.stat-number small {
  color: var(--muted);
  font-size: 18px;
  font-weight: 700;
}

.stat-caption {
  color: var(--muted);
}

.progress-bar {
  overflow: hidden;
  height: 7px;
  border-radius: 999px;
  background: #dce9e3;
}

.progress-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--green), #25c46f);
}

.snapshot-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 16px;
}

.snapshot-main {
  display: grid;
  gap: 16px;
}

.snapshot-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}

.mini-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mini-list li,
.metric-card,
.match-card,
.unit-card,
.route-card,
.claim-card {
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(251, 254, 252, 0.98));
  box-shadow: var(--inner-line);
}

.mini-list li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-height: 62px;
  padding: 12px;
}

.mini-list strong {
  display: block;
  margin-bottom: 2px;
}

.mini-list span {
  color: var(--muted);
  font-size: 13px;
}

.check,
.warn,
.stop {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-weight: 900;
}

.check {
  color: var(--green);
  background: #eaf8ef;
  border: 1px solid rgba(6, 148, 85, 0.12);
}

.warn {
  color: var(--amber);
  background: var(--amber-soft);
}

.stop {
  color: var(--red);
  background: var(--red-soft);
}

.campaign-card .campaign-title {
  margin: 10px 0 18px;
  font-size: 20px;
  font-weight: 850;
  letter-spacing: 0;
}

.campaign-facts {
  display: grid;
  gap: 8px;
}

.fact {
  display: grid;
  grid-template-columns: minmax(94px, 0.42fr) minmax(0, 1fr);
  align-items: flex-start;
  gap: 16px;
  padding: 12px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: var(--radius);
  background: rgba(251, 254, 252, 0.88);
}

.fact span:first-child {
  color: var(--muted);
  font-size: 13px;
}

.fact span:last-child {
  min-width: 0;
  text-align: left;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 12px;
}

.metric-card {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 14px;
  box-shadow: 0 10px 22px rgba(6, 43, 29, 0.035), var(--inner-line);
}

.metric-card span {
  color: var(--muted);
  font-size: 13px;
}

.metric-card strong {
  display: block;
  margin-top: 4px;
}

.matches-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}

.match-card {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  gap: 14px;
  min-height: 126px;
  padding: 16px;
  box-shadow: 0 12px 26px rgba(6, 43, 29, 0.045), var(--inner-line);
}

.match-card p {
  margin-top: 7px;
  color: var(--muted);
  font-size: 13px;
}

.match-card .route-detail {
  color: #486158;
  font-size: 12px;
}

.fit-badge {
  display: inline-flex;
  width: fit-content;
  margin-left: 8px;
  padding: 4px 8px;
  border-radius: 999px;
  color: var(--green-deep);
  border: 1px solid rgba(6, 148, 85, 0.12);
  background: #dff8e9;
  font-size: 12px;
  font-weight: 800;
}

.fit-badge.promising {
  color: var(--amber);
  background: var(--amber-soft);
}

.side-stack {
  display: grid;
  align-content: start;
  gap: 16px;
}

.safe-counts {
  display: grid;
  gap: 14px;
}

.safe-count {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.count-pill {
  display: grid;
  place-items: center;
  min-width: 32px;
  height: 32px;
  border-radius: 50%;
  color: var(--green-deep);
  background: #dff8e9;
  font-weight: 850;
}

.count-pill.warn {
  color: var(--amber);
  background: var(--amber-soft);
}

.count-pill.stop {
  color: var(--red);
  background: var(--red-soft);
}

.review-card {
  border-color: rgba(185, 229, 202, 0.92);
  background:
    linear-gradient(145deg, rgba(239, 251, 244, 0.98), rgba(255, 255, 255, 0.96));
}

.review-status {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 14px;
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.64);
}

.review-status strong {
  color: var(--green-deep);
}

.admin-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, 0.88fr);
  gap: 16px;
}

.admin-stack {
  display: grid;
  gap: 16px;
}

.admin-section-nav {
  position: sticky;
  top: 12px;
  z-index: 12;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin: 18px 0 16px;
  padding: 8px;
  border: 1px solid rgba(210, 228, 219, 0.96);
  border-radius: 18px;
  background: rgba(248, 253, 250, 0.94);
  box-shadow: 0 16px 34px rgba(6, 43, 29, 0.08);
  backdrop-filter: blur(16px);
}

.adversarial-metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.adversarial-metrics article,
.adversarial-role-audit article {
  padding: 14px;
  border: 1px solid rgba(210, 228, 219, 0.96);
  border-radius: 14px;
  background: #fff;
}

.adversarial-metrics span,
.adversarial-role-audit span,
.adversarial-record-head span,
.adversarial-comparison article > span,
.adversarial-claim > span,
.adversarial-objection > span,
.adversarial-challenges > header span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.adversarial-metrics strong { display: block; margin-top: 7px; font-size: 21px; color: var(--green-deep); }

.adversarial-alert,
.adversarial-gates {
  padding: 16px 18px;
  border: 1px solid rgba(190, 62, 44, .25);
  border-left: 5px solid #be3e2c;
  border-radius: 12px;
  background: #fff5f2;
  color: #713126;
}

.adversarial-desk-grid {
  display: grid;
  grid-template-columns: minmax(250px, .34fr) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.adversarial-run-list,
.adversarial-review-workspace,
.adversarial-role-audit,
.adversarial-comparison article,
.adversarial-challenges,
.adversarial-keeps,
.adversarial-final-diff,
.adversarial-learning-grid > section {
  border: 1px solid rgba(210, 228, 219, 0.96);
  border-radius: 18px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 12px 28px rgba(6,43,29,.05);
}

.adversarial-run-list { position: sticky; top: 124px; overflow: hidden; }
.adversarial-run-list > header { display: flex; justify-content: space-between; gap: 10px; align-items: center; padding: 16px; background: #f2faf5; }
.adversarial-run-list h3 { margin: 3px 0 0; font-size: 18px; }
.adversarial-run-list header span { color: var(--green); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.adversarial-run { display: grid; width: 100%; gap: 5px; padding: 15px 16px; border: 0; border-top: 1px solid #e0ece6; background: #fff; text-align: left; cursor: pointer; }
.adversarial-run:hover, .adversarial-run.active { background: #edf9f2; }
.adversarial-run.active { box-shadow: inset 4px 0 0 var(--green); }
.adversarial-run span, .adversarial-run small { color: var(--muted); }
.adversarial-run span { font-size: 12px; text-transform: capitalize; }
.adversarial-run small { font-size: 11px; }

.adversarial-review-workspace { display: grid; gap: 16px; padding: 18px; min-width: 0; }
.adversarial-empty { padding: 54px 34px; text-align: center; }
.adversarial-empty span { color: var(--green); font-weight: 900; text-transform: uppercase; }
.adversarial-empty h2 { margin: 8px 0; font-family: Georgia, serif; font-size: 38px; }
.adversarial-empty p { max-width: 620px; margin: auto; color: var(--muted); line-height: 1.7; }
.adversarial-record-head { display: flex; justify-content: space-between; gap: 20px; align-items: start; }
.adversarial-record-head h2 { margin: 5px 0; color: var(--green-deep); font-size: 30px; }
.adversarial-record-head p { margin: 0; color: var(--muted); }
.adversarial-release-state { display: grid; gap: 3px; min-width: 168px; padding: 12px 14px; border-radius: 12px; text-align: right; }
.adversarial-release-state.released { background: #e9f8ef; color: var(--green-deep); }
.adversarial-release-state.held { background: #fff0eb; color: #983521; }
.adversarial-release-state span { color: inherit; }

.adversarial-role-audit, .adversarial-challenges, .adversarial-keeps, .adversarial-final-diff, .adversarial-learning-grid > section { padding: 18px; }
.adversarial-role-audit h3, .adversarial-challenges h3, .adversarial-keeps h3, .adversarial-final-diff h3, .adversarial-learning-grid h3 { margin: 0 0 12px; }
.adversarial-role-audit > div { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 8px; }
.adversarial-role-audit article { padding: 10px; }
.adversarial-role-audit strong, .adversarial-role-audit small { display: block; overflow-wrap: anywhere; }
.adversarial-role-audit strong { margin: 5px 0; font-size: 12px; }
.adversarial-role-audit small { color: var(--muted); font-size: 10px; }
.adversarial-comparison { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.adversarial-comparison article { padding: 17px; }
.adversarial-comparison h3 { margin: 7px 0; text-transform: capitalize; }
.adversarial-comparison p { margin: 0; color: var(--muted); line-height: 1.55; }
.adversarial-gates ul { margin: 10px 0 0; padding-left: 18px; }
.adversarial-gates li { margin: 7px 0; }
.adversarial-gates li strong { display: block; font-size: 11px; text-transform: uppercase; }

.adversarial-challenges > header { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 14px; }
.adversarial-challenges > header h3 { margin: 4px 0 0; }
.adversarial-challenges > header p { max-width: 420px; margin: 0; color: var(--muted); font-size: 13px; }
.adversarial-challenge { display: grid; gap: 12px; margin-top: 12px; padding: 16px; border: 1px solid #dfeae4; border-left: 5px solid #cb5a27; border-radius: 13px; background: #fffdfa; }
.adversarial-challenge > header { display: flex; align-items: center; gap: 10px; }
.adversarial-challenge > header span { padding: 4px 7px; border-radius: 999px; background: #f8dfd4; color: #8c301f; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.adversarial-challenge > header small { margin-left: auto; color: var(--muted); }
.adversarial-claim, .adversarial-objection { padding: 12px; border-radius: 10px; background: #f6faf8; }
.adversarial-objection { background: #fff4ef; }
.adversarial-claim p, .adversarial-objection p { margin: 5px 0 0; line-height: 1.55; }
.adversarial-objection small { display: block; margin-top: 7px; color: #77574c; }
.adversarial-evidence-refs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.adversarial-evidence-refs code { padding: 5px 7px; border-radius: 6px; background: #edf4f0; font-size: 10px; }
.adversarial-decision-grid { display: grid; grid-template-columns: 150px minmax(0,1fr) minmax(0,1fr); gap: 10px; }
.adversarial-decision-grid label, .adversarial-release-controls label, .adversarial-mini-form label { display: grid; gap: 5px; color: var(--muted); font-size: 11px; font-weight: 800; }
.adversarial-decision-grid select, .adversarial-decision-grid textarea, .adversarial-release-controls input, .adversarial-release-controls textarea, .adversarial-mini-form input, .adversarial-mini-form select, .adversarial-mini-form textarea { width: 100%; padding: 10px; border: 1px solid #cdded5; border-radius: 9px; background: #fff; color: var(--ink); font: inherit; }
.adversarial-release-controls { display: grid; grid-template-columns: 180px minmax(0,1fr) auto; gap: 10px; align-items: end; margin-top: 15px; padding-top: 15px; border-top: 1px solid #dfeae4; }
.adversarial-keeps ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.adversarial-keeps li { display: grid; gap: 4px; padding: 10px; border-radius: 9px; background: #edf8f1; }
.adversarial-keeps li span, .adversarial-final-diff p, .adversarial-learning-grid p { color: var(--muted); }
.adversarial-final-diff ol { display: grid; gap: 8px; padding-left: 20px; }
.adversarial-final-diff li { display: grid; grid-template-columns: 155px minmax(0,1fr) 20px minmax(0,1fr); gap: 8px; align-items: start; }
.adversarial-final-diff li span { padding: 7px; border-radius: 7px; background: #f3f7f5; font-size: 12px; }
.adversarial-learning-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.adversarial-mini-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.adversarial-mini-form .wide, .adversarial-mini-form button { grid-column: 1 / -1; }

.admin-overview-summary {
  margin-bottom: 16px;
}

.admin-section-tab {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid transparent;
  border-radius: 13px;
  background: transparent;
  color: var(--muted);
  text-align: left;
  cursor: pointer;
  transition: 150ms ease;
}

.admin-section-tab:hover {
  border-color: rgba(6, 148, 85, 0.2);
  background: rgba(255, 255, 255, 0.82);
  color: var(--green-deep);
}

.admin-section-tab strong,
.admin-section-tab span {
  display: block;
}

.admin-section-tab strong {
  font-size: 14px;
  line-height: 1.25;
}

.admin-section-tab span {
  margin-top: 4px;
  font-size: 11px;
  line-height: 1.35;
}

.admin-section-tab.active {
  border-color: rgba(6, 148, 85, 0.34);
  background: var(--green-deep);
  color: #ffffff;
  box-shadow: 0 8px 18px rgba(4, 74, 45, 0.2);
}

.admin-section-shell {
  display: grid;
  gap: 16px;
}

.admin-section-header {
  display: grid;
  grid-template-columns: minmax(260px, 0.75fr) minmax(320px, 1.25fr);
  gap: 24px;
  align-items: end;
  padding: 22px 24px;
  border: 1px solid rgba(210, 228, 219, 0.96);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(239, 250, 244, 0.98), rgba(255, 255, 255, 0.98));
}

.admin-section-header span {
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-section-header h2 {
  margin: 5px 0 0;
  color: var(--green-deep);
  font-size: clamp(23px, 2.4vw, 34px);
}

.admin-section-header p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.admin-section-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(340px, 0.8fr);
  gap: 16px;
  align-items: start;
}

.admin-section-grid.compact {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.72fr);
}

.admin-section-wide {
  min-width: 0;
}

.engine-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.engine-tile {
  padding: 16px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(251, 254, 252, 0.96));
  box-shadow: 0 10px 22px rgba(6, 43, 29, 0.04), var(--inner-line);
}

.engine-tile span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.engine-tile strong {
  display: block;
  margin-top: 8px;
  font-size: 24px;
}

.unit-list,
.route-list,
.claim-list,
.log-list {
  display: grid;
  gap: 10px;
}

.unit-card,
.route-card,
.claim-card,
.log-card {
  padding: 14px;
}

.log-card {
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--inner-line);
}

.log-card.warning {
  border-color: #f5d3a4;
  background: linear-gradient(145deg, #fffaf3, #ffffff);
}

.log-topline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

.unit-meta,
.route-meta,
.claim-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.tag {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 9px;
  border-radius: 999px;
  color: #375047;
  background: #f1f7f4;
  font-size: 12px;
  font-weight: 750;
}

.explain-box {
  display: grid;
  gap: 8px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #d8e9df;
  border-radius: var(--radius);
  background: #fbfefc;
}

.explain-box p {
  color: #40594f;
  font-size: 12px;
}

.code-line {
  display: block;
  margin-top: 8px;
  padding: 10px;
  overflow-wrap: anywhere;
  border: 1px solid rgba(216, 233, 223, 0.96);
  border-radius: 7px;
  background:
    linear-gradient(180deg, #fbfefc, #ffffff);
  color: #244238;
  font-size: 12px;
  line-height: 1.45;
}

.score-breakdown {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.score-breakdown span {
  display: grid;
  gap: 2px;
  padding: 9px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.94);
  color: var(--muted);
  font-size: 12px;
}

.score-breakdown strong {
  color: var(--ink);
  font-size: 11px;
}

.tag.green {
  color: var(--green-deep);
  border-color: rgba(6, 148, 85, 0.12);
  background: #dff8e9;
}

.tag.amber {
  color: var(--amber);
  background: var(--amber-soft);
}

.tag.red {
  color: var(--red);
  background: var(--red-soft);
}

.empty-state {
  padding: 22px;
  border: 1px dashed rgba(106, 176, 133, 0.58);
  border-radius: var(--radius);
  color: var(--muted);
  background: rgba(251, 254, 252, 0.88);
  text-align: center;
}

body[data-view="scripted-demo"] .app-shell {
  display: block;
}

body[data-view="scripted-demo"] .sidebar,
body[data-view="scripted-demo"] .topbar {
  display: none;
}

body[data-view="scripted-demo"] .content {
  max-width: none;
  min-height: 100vh;
  margin: 0;
  padding: 0;
}

.scripted-shell {
  display: grid;
  min-height: 100vh;
  padding: 24px clamp(18px, 3vw, 46px) 34px;
  background:
    radial-gradient(circle at 14% 14%, rgba(6, 148, 85, 0.055), transparent 28%),
    radial-gradient(circle at 82% 84%, rgba(15, 169, 120, 0.055), transparent 28%),
    linear-gradient(145deg, #fbfdfc 0%, #ffffff 52%, #f8fcfa 100%);
}

.scripted-stage {
  display: grid;
  gap: 16px;
  width: min(1480px, 100%);
  margin: 0 auto;
}

.scripted-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 4px 6px;
}

.scripted-frame {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: min(1540px, 100%);
  min-height: min(920px, calc(100vh - 58px));
  overflow: hidden;
  border: 1px solid rgba(218, 232, 225, 0.84);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 26px 80px rgba(6, 43, 29, 0.055), var(--inner-line);
}

.scripted-rail {
  display: none;
  grid-template-rows: auto 1fr auto;
  justify-items: center;
  gap: 34px;
  padding: 34px 0;
  border-right: 1px solid rgba(220, 233, 227, 0.86);
  background: rgba(255, 255, 255, 0.72);
}

.rail-logo,
.rail-exit,
.rail-steps button {
  display: grid;
  place-items: center;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 50%;
  color: var(--green);
  background: #ffffff;
  text-decoration: none;
}

.rail-logo {
  width: 46px;
  height: 46px;
  box-shadow: var(--inner-line);
}

.rail-logo span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: #ffffff;
  background: linear-gradient(145deg, var(--green), var(--green-deep));
  font-weight: 900;
}

.rail-steps {
  display: grid;
  align-content: center;
  gap: 44px;
}

.rail-steps button,
.rail-exit {
  width: 42px;
  height: 42px;
  font-weight: 900;
}

.rail-steps button.active {
  color: #ffffff;
  border-color: rgba(6, 148, 85, 0.24);
  background: linear-gradient(145deg, var(--green), var(--green-deep));
  box-shadow: 0 16px 28px rgba(6, 148, 85, 0.22);
}

.rail-steps button.done {
  color: var(--green-deep);
  background: #eefaf3;
}

.rail-exit {
  color: var(--green-deep);
  font-size: 18px;
}

.scripted-main {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-width: 0;
  padding: 28px clamp(28px, 4vw, 58px) 24px;
}

.scripted-header,
.scripted-footer,
.scripted-progress,
.scripted-screen,
.scripted-card,
.scripted-dropzone,
.messy-tile,
.scripted-question {
  border: 1px solid rgba(188, 218, 203, 0.88);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--shadow-soft), var(--inner-line);
}

.scripted-header,
.scripted-footer,
.scripted-progress,
.scripted-screen {
  max-width: none;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.scripted-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 28px;
  padding: 0;
  border-radius: 14px;
}

.scripted-brand small {
  letter-spacing: 0.08em;
}

.scripted-demo-pill,
.scripted-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(185, 229, 202, 0.9);
  border-radius: 999px;
  color: var(--green-deep);
  background: #eefaf3;
  font-size: 12px;
  font-weight: 900;
}

.scripted-demo-pill span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 5px rgba(6, 148, 85, 0.12);
}

.scripted-progress {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
  margin: 0 0 42px;
  padding: 0;
  border-radius: 14px;
}

.scripted-progress button {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 34px;
  border: 0;
  border-radius: 10px;
  color: var(--muted);
  background: transparent;
  text-align: left;
}

.scripted-progress button span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: var(--green-deep);
  background: #eaf8ef;
  font-size: 12px;
  font-weight: 900;
}

.scripted-progress button.active,
.scripted-progress button.done {
  color: var(--ink);
  background: transparent;
}

.scripted-progress button.active span,
.scripted-progress button.done span {
  color: #ffffff;
  background: linear-gradient(145deg, var(--green), var(--green-deep));
}

.scripted-progress strong {
  display: grid;
  gap: 2px;
  font-size: 12px;
}

.scripted-progress small {
  display: none;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
}

.scripted-screen {
  display: grid;
  gap: 16px;
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: 0;
  border-radius: 18px;
}

.scripted-copy {
  display: grid;
  gap: 12px;
  max-width: 700px;
}

.scripted-copy h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(27px, 2.55vw, 38px);
  letter-spacing: -0.01em;
  line-height: 1.12;
}

.scripted-copy .lead {
  max-width: 600px;
  font-size: 14px;
  line-height: 1.65;
}

.scripted-intake-grid,
.arranged-layout,
.fill-pack-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.64fr);
  gap: clamp(28px, 4.6vw, 64px);
}

.scripted-workspace {
  display: grid;
  align-content: start;
  gap: 32px;
  min-width: 0;
}

.scripted-snapshot {
  display: grid;
  gap: 20px;
  max-width: 860px;
  padding-top: 8px;
  border-top: 0;
}

.scripted-snapshot-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
}

.scripted-snapshot-head h2 {
  margin: 0 0 5px;
  font-size: 18px;
}

.scripted-snapshot-head p {
  margin: 0;
  color: var(--muted);
}

.scripted-snapshot-head span {
  color: var(--green);
  font-size: 13px;
  font-weight: 900;
}

.scripted-snapshot-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 42px;
  border-top: 1px solid rgba(220, 233, 227, 0.78);
}

.scripted-snapshot-item {
  position: relative;
  display: grid;
  gap: 5px;
  min-height: 78px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(220, 233, 227, 0.78);
}

.scripted-snapshot-item::before {
  display: none;
}

.scripted-snapshot-item span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.scripted-snapshot-item strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.42;
}

.scripted-card {
  display: grid;
  gap: 16px;
  padding: 22px;
  border-radius: 16px;
  box-shadow: none;
}

.scripted-card-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}

.scripted-card-head h2,
.scripted-question h2,
.fill-pack-side h2 {
  margin: 0;
}

.scripted-card-head p,
.scripted-field span,
.scripted-summary-card span,
.scripted-summary-card small,
.scripted-context-card small,
.scripted-public-card li,
.messy-topline,
.messy-tile p,
.arranged-list p,
.scripted-funder em,
.fill-pack-side p,
.honest-note p,
.gap-task-box p,
.draft-answer p,
.measure-added strong,
.scripted-footer span {
  color: var(--muted);
}

.scripted-minimal-card {
  align-content: start;
}

.scripted-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.scripted-summary-card {
  display: grid;
  gap: 8px;
  min-height: 128px;
  padding: 18px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 253, 250, 0.96));
}

.scripted-summary-card span {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.scripted-summary-card strong {
  font-size: 18px;
  line-height: 1.2;
}

.scripted-summary-card small {
  font-weight: 750;
}

.scripted-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.scripted-field {
  display: grid;
  gap: 6px;
  min-height: 86px;
  padding: 13px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 10px;
  background: #fbfefc;
}

.scripted-field strong {
  font-size: 14px;
}

.scripted-context-card {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  border: 1px solid rgba(214, 234, 224, 0.88);
  border-radius: 18px;
  background:
    radial-gradient(circle at 50% 40%, rgba(6, 148, 85, 0.08), transparent 34%),
    repeating-linear-gradient(135deg, rgba(6, 148, 85, 0.045) 0 1px, transparent 1px 20px),
    linear-gradient(145deg, rgba(247, 253, 249, 0.92), rgba(255, 255, 255, 0.72));
}

.scripted-context-card::before {
  content: "";
  position: absolute;
  inset: 22%;
  border: 1px solid rgba(6, 148, 85, 0.09);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.35);
}

.scripted-context-card::after {
  display: none;
}

.scripted-scan-toast {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  display: grid;
  width: min(340px, calc(100% - 42px));
  min-height: 92px;
  padding: 14px 16px;
  border: 1px solid rgba(203, 232, 215, 0.92);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 20px 54px rgba(6, 43, 29, 0.07);
  transform: translate(-50%, -50%);
  animation: settleToast 5.2s both;
}

.scripted-scan-toast > div {
  display: grid;
  grid-area: 1 / 1;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 4px 10px;
  align-items: center;
}

.scripted-scan-toast small {
  grid-column: 2;
}

.scan-spinner {
  width: 30px;
  height: 30px;
  border: 3px solid rgba(6, 148, 85, 0.16);
  border-top-color: var(--green);
  border-radius: 50%;
  animation: scanSpin 1s linear infinite;
}

.scan-complete {
  visibility: hidden;
  opacity: 0;
}

.scan-complete span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: #ffffff;
  background: var(--green);
  font-weight: 900;
}

.scripted-scan-toast .scan-active {
  animation: hideScanActive 5.2s forwards;
}

.scripted-scan-toast .scan-complete {
  animation: showScanComplete 5.2s forwards;
}

.scripted-public-card {
  position: absolute;
  z-index: 2;
  right: 44px;
  bottom: 44px;
  left: 44px;
  display: grid;
  gap: 12px;
  padding: 20px;
  border: 1px solid rgba(185, 229, 202, 0.8);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(16px);
}

.scripted-site-bar {
  width: 110px;
  height: 7px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--green), rgba(6, 148, 85, 0.15));
}

.scripted-public-card ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
}

.scripted-dropzone {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px;
  border-style: dashed;
  border-color: rgba(6, 148, 85, 0.18);
  border-radius: 18px;
  background: rgba(250, 253, 251, 0.86);
}

.scripted-dropzone strong {
  color: var(--green-deep);
  font-size: 18px;
}

.messy-evidence-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.messy-tile {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 230px;
  padding: 14px;
  border-color: rgba(220, 233, 227, 0.78);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.74);
  box-shadow: none;
}

.messy-tile h2 {
  margin: 0;
  font-size: 15px;
}

.messy-tile p,
.draft-answer p,
.honest-note p,
.gap-task-box p,
.scripted-funder em,
.arranged-list p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
}

.messy-tile p {
  -webkit-line-clamp: 2;
}

.messy-topline {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.messy-topline em {
  padding: 3px 7px;
  border-radius: 999px;
  color: var(--green-deep);
  background: #eaf8ef;
  font-style: normal;
}

.register-mock {
  display: grid;
  gap: 5px;
  overflow: hidden;
  padding: 10px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 9px;
  background: #fffef8;
  filter: blur(0.45px);
}

.register-mock div {
  display: grid;
  grid-template-columns: 70px repeat(5, 1fr);
  gap: 4px;
}

.register-mock div span:nth-child(n+7) {
  display: none;
}

.register-mock span {
  min-width: 0;
  padding: 4px;
  border-bottom: 1px solid rgba(30, 44, 38, 0.14);
  color: #31453c;
  font-family: "Comic Sans MS", "Bradley Hand", cursive;
  font-size: 12px;
  white-space: nowrap;
}

.register-mock .date {
  color: var(--muted);
  font-family: inherit;
  font-size: 11px;
}

.budget-mock {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 100px;
  overflow: hidden;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 9px;
}

.budget-mock span,
.budget-mock strong {
  padding: 7px 9px;
  border-bottom: 1px solid rgba(220, 233, 227, 0.96);
  font-size: 12px;
}

.budget-mock strong {
  border-left: 1px solid rgba(220, 233, 227, 0.96);
  color: var(--green-deep);
}

.evidence-mock {
  overflow: hidden;
  min-height: 98px;
  border: 1px solid rgba(220, 233, 227, 0.9);
  border-radius: 12px;
  background: #fbfefc;
}

.evidence-mock.detail {
  min-height: 210px;
}

.mock-register-note {
  padding: 8px 10px 0;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.mock-register {
  display: grid;
  gap: 5px;
  padding: 8px 10px;
  background:
    linear-gradient(90deg, rgba(6, 148, 85, 0.05) 1px, transparent 1px),
    linear-gradient(180deg, rgba(6, 148, 85, 0.05) 1px, transparent 1px),
    #fffef8;
  background-size: 34px 26px;
  filter: blur(0.18px);
}

.mock-register div {
  display: grid;
  grid-template-columns: 64px repeat(6, minmax(0, 1fr));
  gap: 4px;
}

.mock-register span {
  min-width: 0;
  padding: 5px 4px;
  border-bottom: 1px solid rgba(30, 44, 38, 0.14);
  color: #31453c;
  font-family: "Comic Sans MS", "Bradley Hand", cursive;
  font-size: 12px;
  white-space: nowrap;
}

.mock-register .date {
  color: var(--muted);
  font-family: inherit;
  font-size: 11px;
  font-weight: 900;
}

.mock-register .missing span {
  color: rgba(217, 45, 32, 0.72);
  font-family: inherit;
  font-style: italic;
}

.mock-signin > strong {
  display: block;
  padding: 0 10px 10px;
  color: var(--green-deep);
  font-size: 12px;
}

.mock-whiteboard {
  display: grid;
  gap: 7px;
  min-height: inherit;
  padding: 14px;
  color: #264039;
  background:
    radial-gradient(circle at 80% 18%, rgba(255, 255, 255, 0.82), transparent 22%),
    linear-gradient(145deg, #f8fffb, #eef8f2);
  font-family: "Comic Sans MS", "Bradley Hand", cursive;
  transform: rotate(-0.4deg);
}

.mock-whiteboard b {
  color: var(--green-deep);
  font-family: inherit;
}

.mock-whiteboard span,
.mock-whiteboard em {
  display: block;
  color: #31453c;
  font-size: 13px;
}

.mock-whiteboard em {
  width: fit-content;
  padding: 3px 8px;
  border-radius: 999px;
  color: #7a3d00;
  background: rgba(245, 158, 11, 0.15);
  font-style: normal;
  font-weight: 900;
}

.mock-photo-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  padding: 10px;
  background: #f8fbf9;
}

.mock-photo-strip span {
  display: grid;
  place-items: end start;
  min-height: 86px;
  padding: 8px;
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.92);
  background:
    radial-gradient(circle at 38% 35%, rgba(255, 255, 255, 0.72) 0 7px, transparent 8px),
    radial-gradient(circle at 60% 42%, rgba(255, 255, 255, 0.62) 0 6px, transparent 7px),
    linear-gradient(145deg, rgba(6, 148, 85, 0.34), rgba(33, 58, 48, 0.34)),
    #7abf9d;
  font-size: 11px;
  font-weight: 900;
  filter: saturate(0.9) blur(0.14px);
}

.mock-session-photos small {
  display: block;
  padding: 0 10px 10px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.mock-message {
  display: grid;
  gap: 8px;
  margin: 12px;
  padding: 12px;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(6, 43, 29, 0.06);
}

.mock-message strong {
  color: var(--green-deep);
  font-size: 12px;
}

.mock-message p {
  margin: 0;
  color: #263c33;
  font-size: 13px;
  line-height: 1.45;
}

.mock-note {
  display: grid;
  gap: 6px;
  min-height: inherit;
  padding: 14px;
  background:
    repeating-linear-gradient(0deg, #fff 0 27px, rgba(6, 148, 85, 0.08) 28px),
    #fff;
}

.mock-note span,
.mock-note b {
  color: #31453c;
  font-family: "Comic Sans MS", "Bradley Hand", cursive;
  font-size: 13px;
}

.mock-note b {
  color: var(--amber);
}

.mock-website {
  display: grid;
  gap: 10px;
  min-height: inherit;
  padding: 16px;
  background:
    linear-gradient(90deg, rgba(6, 148, 85, 0.12) 84px, transparent 84px),
    #ffffff;
}

.mock-website b {
  color: var(--green-deep);
  font-size: 13px;
}

.mock-website p {
  max-width: 330px;
  margin: 0;
  color: #263c33;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.45;
}

.arranged-list {
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(220, 233, 227, 0.92);
}

.arranged-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 14px;
  padding: 15px 0;
  border: 0;
  border-bottom: 1px solid rgba(220, 233, 227, 0.92);
  border-radius: 0;
  background: transparent;
}

.arranged-list span {
  display: block;
  margin-bottom: 4px;
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.arranged-list p {
  margin: 0;
  -webkit-line-clamp: 3;
  line-height: 1.55;
}

.arranged-list aside {
  display: grid;
  align-content: center;
  gap: 6px;
  text-align: right;
}

.arranged-list aside strong {
  color: var(--green);
}

.arranged-list aside em {
  color: var(--amber);
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.evidence-accordion {
  display: grid;
  gap: 8px;
}

.evidence-accordion-row {
  overflow: hidden;
  border: 1px solid rgba(220, 233, 227, 0.9);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.74);
}

.evidence-accordion-row.open {
  border-color: rgba(6, 148, 85, 0.24);
  background: #ffffff;
  box-shadow: 0 18px 45px rgba(6, 43, 29, 0.045);
}

.evidence-accordion-trigger {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  width: 100%;
  padding: 14px 16px;
  border: 0;
  background: transparent;
  text-align: left;
}

.evidence-accordion-trigger span {
  display: grid;
  gap: 4px;
}

.evidence-accordion-trigger strong {
  color: var(--ink);
  font-size: 14px;
}

.evidence-accordion-trigger small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.evidence-accordion-trigger em {
  width: fit-content;
  padding: 5px 9px;
  border-radius: 999px;
  color: var(--green-deep);
  background: #eaf8ef;
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
  text-transform: uppercase;
  white-space: nowrap;
}

.tone-fix .evidence-accordion-trigger em,
.tone-thin .evidence-accordion-trigger em {
  color: #7a3d00;
  background: var(--amber-soft);
}

.tone-overclaim .evidence-accordion-trigger em {
  color: var(--red);
  background: var(--red-soft);
}

.evidence-expanded {
  display: grid;
  grid-template-columns: minmax(220px, 0.74fr) minmax(0, 1fr);
  gap: 16px;
  padding: 0 16px 16px;
}

.evidence-reading {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(220, 233, 227, 0.9);
  border-radius: 12px;
  background: rgba(251, 254, 252, 0.86);
}

.evidence-reading span,
.evidence-reading strong {
  color: var(--green-deep);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.evidence-reading p {
  margin: 0;
  color: #263c33;
  font-size: 13px;
  line-height: 1.62;
}

.evidence-use-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.evidence-use-grid div {
  display: grid;
  gap: 6px;
  padding: 10px;
  border: 1px solid rgba(220, 233, 227, 0.9);
  border-radius: 10px;
  background: #ffffff;
}

.combined-evidence-summary {
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px solid rgba(6, 148, 85, 0.16);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(245, 252, 248, 0.98), rgba(255, 255, 255, 0.96));
}

.combined-evidence-summary span {
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.combined-evidence-summary p {
  margin: 0;
  color: #263c33;
}

.combined-evidence-summary ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: 13px;
}

.scripted-readiness-panel {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(6, 148, 85, 0.24);
  border-radius: 14px;
  background: #f2fbf5;
  box-shadow: var(--inner-line);
}

.scripted-readiness-panel span {
  color: var(--green-deep);
  font-size: 34px;
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1;
}

.scripted-readiness-panel strong {
  color: #12382f;
  font-size: 16px;
  font-weight: 950;
}

.scripted-readiness-panel p {
  margin: 0;
  color: #28443a;
  font-size: 13px;
  line-height: 1.45;
}

.scripted-readiness-panel small {
  color: #6b4a05;
  font-size: 12px;
  font-weight: 900;
}

.funder-match-card {
  align-self: start;
  position: sticky;
  top: 24px;
}

.scripted-funders {
  display: grid;
  gap: 10px;
}

.scripted-funder {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  width: 100%;
  padding: 14px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 12px;
  background: #fbfefc;
  text-align: left;
}

.scripted-funder.best {
  border-color: rgba(6, 148, 85, 0.44);
  background: #f0fbf4;
}

.scripted-funder.possible {
  border-color: rgba(245, 158, 11, 0.34);
  background: var(--amber-soft);
}

.scripted-funder span {
  display: grid;
  gap: 6px;
}

.scripted-funder em {
  -webkit-line-clamp: 2;
}

.scripted-funder b {
  padding: 6px 9px;
  border-radius: 999px;
  color: var(--green-deep);
  background: #e5f7ed;
  font-size: 12px;
}

.fill-pack-layout {
  align-items: start;
}

.fill-pack-screen .scripted-copy {
  max-width: 880px;
}

.fill-pack-list {
  display: grid;
  gap: 10px;
}

.scripted-question {
  display: grid;
  gap: 10px;
  padding: 16px 18px;
  border-color: rgba(220, 233, 227, 0.82);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: none;
}

.scripted-question.usable,
.scripted-question.resolved {
  border-color: rgba(6, 148, 85, 0.36);
}

.scripted-question.caveat,
.scripted-question.thin {
  border-color: rgba(245, 158, 11, 0.38);
}

.scripted-question.not-yet {
  border-color: rgba(217, 45, 32, 0.28);
  background: rgba(255, 248, 246, 0.9);
}

.question-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}

.question-head span {
  width: fit-content;
  padding: 5px 9px;
  border-radius: 999px;
  color: var(--green-deep);
  background: #eaf8ef;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.scripted-question.caveat .question-head span,
.scripted-question.thin .question-head span {
  color: #7a3d00;
  background: var(--amber-soft);
}

.scripted-question.not-yet .question-head span {
  color: var(--red);
  background: var(--red-soft);
}

.draft-answer,
.honest-note,
.gap-task-box,
.measure-added {
  padding: 12px 14px;
  border: 1px solid rgba(220, 233, 227, 0.82);
  border-radius: 12px;
  background: rgba(251, 254, 252, 0.72);
}

.draft-answer p,
.honest-note p,
.gap-task-box p {
  margin: 0;
}

.draft-answer p {
  -webkit-line-clamp: 3;
}

.honest-note p,
.gap-task-box p {
  -webkit-line-clamp: 3;
}

.fill-pack-screen .draft-answer p,
.fill-pack-screen .honest-note p,
.fill-pack-screen .gap-task-box p {
  display: block;
  overflow: visible;
  -webkit-line-clamp: initial;
}

.honest-note {
  border-color: rgba(185, 229, 202, 0.9);
  background: #f3fbf7;
}

.scripted-question.caveat .honest-note,
.scripted-question.thin .honest-note {
  border-color: rgba(245, 158, 11, 0.32);
  background: var(--amber-soft);
}

.gap-task-box {
  display: grid;
  gap: 12px;
  border-color: rgba(217, 45, 32, 0.24);
  background: #fff7f5;
}

.measure-added {
  display: grid;
  gap: 4px;
  border-color: rgba(6, 148, 85, 0.32);
  background: #effaf4;
  animation: resolvePulse 700ms ease-out;
}

.measure-added span {
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.fill-pack-side {
  position: sticky;
  top: 24px;
}

.funder-browser-mock {
  overflow: hidden;
  border: 1px solid rgba(188, 218, 203, 0.88);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 24px 70px rgba(6, 43, 29, 0.07), var(--inner-line);
}

.mock-browser-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(220, 233, 227, 0.92);
  background: #fbfefc;
}

.mock-browser-bar > span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d8e6df;
}

.mock-browser-bar > span:first-child {
  background: #f4b3aa;
}

.mock-browser-bar > span:nth-child(2) {
  background: #f5d07a;
}

.mock-browser-bar > span:nth-child(3) {
  background: #7dd89f;
}

.mock-browser-bar strong {
  flex: 1;
  min-width: 0;
  margin-left: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mock-browser-bar em {
  padding: 5px 9px;
  border-radius: 999px;
  color: var(--green-deep);
  background: #eaf8ef;
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
}

.mock-awards-page {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  min-height: 620px;
}

.mock-awards-sidebar {
  display: grid;
  align-content: start;
  gap: 26px;
  padding: 28px 22px;
  color: #ffffff;
  background: #12382f;
}

.mock-awards-sidebar strong {
  max-width: 190px;
  font-size: 18px;
  line-height: 1.22;
}

.mock-awards-sidebar nav {
  display: grid;
  gap: 7px;
}

.mock-awards-sidebar nav span {
  padding: 10px 12px;
  border-radius: 9px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  font-weight: 850;
}

.mock-awards-sidebar nav span.active {
  color: #12382f;
  background: #ffffff;
}

.mock-awards-form {
  display: grid;
  gap: 18px;
  align-content: start;
  padding: 28px;
  background: #ffffff;
}

.mock-form-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(220, 233, 227, 0.92);
}

.mock-form-head span {
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.mock-form-head h2 {
  margin: 5px 0 0;
  font-size: 28px;
}

.mock-review-state {
  display: grid;
  gap: 3px;
  width: fit-content;
  padding: 10px 12px;
  border: 1px solid rgba(245, 158, 11, 0.32);
  border-radius: 12px;
  background: var(--amber-soft);
  text-align: right;
}

.mock-review-state strong {
  color: #7a3d00;
  font-size: 13px;
}

.mock-review-state small {
  color: #8a5a16;
  font-weight: 800;
}

.mock-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.mock-funder-field {
  display: grid;
  gap: 7px;
}

.mock-funder-field.wide {
  grid-column: 1 / -1;
}

.mock-funder-field span,
.mock-cost-head strong {
  color: #12382f;
  font-size: 13px;
  font-weight: 950;
}

.mock-funder-field input,
.mock-funder-field textarea,
.mock-cost-table input {
  width: 100%;
  border: 1px solid rgba(174, 201, 190, 0.96);
  border-radius: 8px;
  color: #17241f;
  background: #ffffff;
  font: inherit;
  font-size: 14px;
}

.mock-funder-field input,
.mock-cost-table input {
  min-height: 42px;
  padding: 0 12px;
}

.mock-funder-field textarea {
  min-height: 112px;
  padding: 12px;
  resize: vertical;
  line-height: 1.55;
}

.mock-funder-field input:focus,
.mock-funder-field textarea:focus,
.mock-cost-table input:focus {
  outline: 3px solid rgba(6, 148, 85, 0.16);
  border-color: var(--green);
}

.mock-funder-field small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.mock-funder-field.filled input,
.mock-funder-field.filled textarea {
  border-color: rgba(6, 148, 85, 0.34);
  background: #fbfffc;
}

.mock-funder-field.copy-review input,
.mock-funder-field.copy-review textarea,
.mock-funder-field.review input,
.mock-funder-field.review textarea {
  border-color: rgba(245, 158, 11, 0.58);
  background: #fffaf0;
}

.mock-funder-field.copy-review small,
.mock-funder-field.review small {
  color: #8a5a16;
}

.mock-funder-field.blank input,
.mock-funder-field.blank textarea {
  border-color: rgba(190, 72, 72, 0.42);
  background: #fff7f6;
}

.mock-funder-field.blank small {
  color: #8f342f;
}

.mock-cost-table {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(220, 233, 227, 0.92);
  border-radius: 14px;
  background: #fbfefc;
}

.mock-cost-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.mock-cost-table > div:not(.mock-cost-head) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 130px minmax(0, 1.4fr);
  gap: 8px;
}

.mock-cost-table > div.needs-review input {
  border-color: rgba(245, 158, 11, 0.54);
  background: #fffaf0;
}

.mock-submit-row {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 4px;
}

.scripted-counts {
  margin: 4px 0;
}

.scripted-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: none;
  margin: 14px 0 0;
  padding: 12px 14px;
  border-radius: 14px;
}

.scripted-footer div {
  display: grid;
  text-align: center;
}

@keyframes scanSpin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes hideScanActive {
  0%,
  67% {
    visibility: visible;
    opacity: 1;
  }
  68%,
  100% {
    visibility: hidden;
    opacity: 0;
  }
}

@keyframes showScanComplete {
  0%,
  67% {
    display: grid;
    visibility: hidden;
    opacity: 0;
  }
  68%,
  100% {
    display: grid;
    visibility: visible;
    opacity: 1;
  }
}

@keyframes settleToast {
  0% {
    transform: translate(-50%, calc(-50% - 5px));
  }
  100% {
    transform: translate(-50%, -50%);
  }
}

@keyframes resolvePulse {
  0% {
    box-shadow: 0 0 0 0 rgba(6, 148, 85, 0.26);
  }
  100% {
    box-shadow: 0 0 0 18px rgba(6, 148, 85, 0);
  }
}

.toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 20;
  display: none;
  max-width: min(360px, calc(100vw - 48px));
  padding: 14px 16px;
  border: 1px solid rgba(185, 229, 202, 0.92);
  border-radius: var(--radius);
  color: var(--green-deep);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--shadow);
  font-weight: 800;
}

.toast.show {
  display: block;
}

.assistant-fab {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 80;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 0 18px;
  border: 1px solid rgba(6, 148, 85, 0.28);
  border-radius: 999px;
  background: linear-gradient(135deg, #ffffff, #ecfbf2);
  color: var(--green-deep);
  box-shadow: 0 18px 48px rgba(6, 43, 29, 0.16);
  font: inherit;
  font-weight: 950;
  cursor: pointer;
}

.assistant-fab span {
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: var(--green);
  box-shadow: 0 0 0 7px rgba(6, 148, 85, 0.1);
}

.assistant-panel {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 90;
  display: grid;
  grid-template-rows: auto auto minmax(120px, 1fr) auto auto auto;
  gap: 12px;
  width: min(430px, calc(100vw - 48px));
  max-height: min(720px, calc(100vh - 48px));
  padding: 16px;
  border: 1px solid rgba(188, 229, 204, 0.96);
  border-radius: 22px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(247, 253, 250, 0.98)),
    radial-gradient(circle at 96% 0%, rgba(6, 148, 85, 0.12), transparent 30%);
  box-shadow: 0 24px 80px rgba(6, 43, 29, 0.22);
}

.assistant-head,
.assistant-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.assistant-head div {
  display: grid;
  gap: 3px;
}

.assistant-head span {
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.assistant-head strong {
  font-size: 18px;
}

.assistant-head button {
  display: inline-grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 999px;
  background: #ffffff;
  color: var(--green-deep);
  font-size: 22px;
  cursor: pointer;
}

.assistant-context {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid rgba(220, 233, 227, 0.88);
  border-radius: 15px;
  background: #f4fbf7;
}

.assistant-context span,
.assistant-input span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.assistant-context strong {
  color: var(--ink);
  font-size: 14px;
}

.assistant-messages {
  display: grid;
  align-content: start;
  gap: 9px;
  min-height: 120px;
  overflow: auto;
  padding-right: 4px;
}

.assistant-message {
  max-width: 92%;
  padding: 10px 12px;
  border-radius: 15px;
  background: #ffffff;
  border: 1px solid rgba(220, 233, 227, 0.86);
}

.assistant-message.user {
  justify-self: end;
  color: #ffffff;
  border-color: var(--green);
  background: var(--green);
}

.assistant-message p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
}

.assistant-suggestions {
  display: flex;
  gap: 7px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.assistant-suggestions button {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid rgba(220, 233, 227, 0.94);
  border-radius: 999px;
  background: #ffffff;
  color: var(--green-deep);
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.assistant-input {
  display: grid;
  gap: 7px;
}

.assistant-input textarea {
  width: 100%;
  min-height: 74px;
  max-height: 140px;
  padding: 11px 12px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 14px;
  background: #ffffff;
  color: var(--ink);
  font: inherit;
  font-weight: 700;
  resize: vertical;
  outline: none;
}

.assistant-input textarea:focus {
  border-color: rgba(6, 148, 85, 0.42);
  box-shadow: 0 0 0 3px rgba(6, 148, 85, 0.1);
}

.assistant-actions {
  justify-content: stretch;
}

.assistant-actions button {
  flex: 1;
  min-height: 39px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 12px;
  background: #ffffff;
  color: var(--green-deep);
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.assistant-actions button.primary {
  border-color: var(--green);
  background: var(--green);
  color: #ffffff;
}

.assistant-actions .assistant-mic.listening {
  border-color: #e5a336;
  background: #fff4d9;
  color: #805200;
}

@media (max-width: 1450px) {
  .snapshot-layout,
  .admin-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .dashboard-grid .hero {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1180px) {
  .admin-section-nav {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-section-grid,
  .admin-section-grid.compact,
  .admin-section-header {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .admin-section-nav {
    grid-template-columns: 1fr;
  }

  .admin-section-tab span {
    display: none;
  }

  .admin-section-header {
    padding: 18px;
  }
}

@media (max-width: 1180px) {
  .snapshot-row,
  .matches-grid,
  .proof-grid,
  .demo-layout,
  .demo-flow,
  .demo-proof-grid,
  .demo-split,
  .application-summary,
  .application-layout,
  .answer-evidence,
  .fill-engine-overview,
  .fill-engine-columns,
  .workspace-grid,
  .workspace-hero,
  .review-hero,
  .review-layout,
  .review-desk-grid,
  .review-queue-card,
  .funder-lens-head,
  .funder-lens-grid,
  .funder-assets-layout,
  .proof-assets-layout,
  .proof-assets-layout.compact,
  .proof-room-layout,
  .funder-lens-preview,
  .ngo-intake-grid,
  .ngo-choice-grid,
  .ngo-review-grid,
  .funding-use-grid,
  .funding-use-grid.lower,
  .grassroots-grid,
  .autofill-lab-grid,
  .scripted-intake-grid,
  .arranged-layout,
  .fill-pack-layout,
  .mock-awards-page,
  .messy-evidence-grid {
    grid-template-columns: 1fr;
  }

  .entry-card {
    grid-template-columns: 1fr;
  }

  .entry-visual {
    min-height: 420px;
    border-left: 0;
    border-top: 1px solid var(--editorial-rule);
  }

  .demo-guide {
    position: static;
  }

  .application-side {
    position: static;
  }

  .funder-match-card,
  .fill-pack-side {
    position: static;
  }

  .mock-awards-sidebar {
    grid-template-columns: minmax(0, 1fr);
  }

  .mock-awards-sidebar nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .scripted-frame {
    grid-template-columns: minmax(0, 1fr);
  }

  .scripted-main {
    padding: 24px 26px;
  }

  .funder-lens-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .funder-lens-tests {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .funder-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 920px) {
  .app-shell {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: static;
    height: auto;
    padding: 16px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .brand,
  .side-note {
    display: none;
  }

  .side-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .nav-item {
    justify-content: center;
    padding: 0 10px;
  }

  .topbar {
    justify-content: space-between;
    padding: 14px 18px;
  }

  .mobile-brand {
    display: inline-flex;
  }

  .search,
  .profile-button span:last-child {
    display: none;
  }

  .content {
    padding: 20px 18px 32px;
  }

  .hero {
    grid-template-columns: 1fr;
  }

  .entry-screen {
    padding: 18px;
  }

  .entry-card {
    min-height: auto;
  }

  .entry-copy {
    padding: 32px 24px;
  }

  .entry-visual {
    display: none;
  }

  .demo-hero {
    grid-template-columns: 1fr;
  }

  .form-grid,
  .ngo-mini-form,
  .ngo-progress,
  .ngo-answer-strip,
  .ngo-fill-summary,
  .stepper,
  .metrics-grid,
  .engine-summary,
  .demo-dashboard,
  .admin-fact-strip,
  .workspace-metrics,
  .grass-card dl,
  .claim-review-evidence,
  .autofill-summary,
  .fill-engine-flow,
  .scripted-fields,
  .scripted-snapshot-grid,
  .mock-form-grid,
  .evidence-use-grid,
  .funder-lens-fields,
  .scripted-progress {
    grid-template-columns: 1fr;
  }

  .ngo-stage {
    padding: 24px;
  }

  .proof-assets-hero {
    align-items: stretch;
    flex-direction: column;
  }

  .proof-assets-counts,
  .proof-asset-grid {
    grid-template-columns: 1fr;
  }

  .proof-claim-row summary {
    grid-template-columns: 1fr;
  }

  .proof-claim-body {
    padding: 0 18px 18px;
  }

  .understood-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .proof-room-item summary,
  .proof-room-body {
    grid-template-columns: 1fr;
  }

  .proof-room-body {
    padding: 0 18px 18px;
  }

  .proof-room-body div,
  .proof-room-body div:first-child,
  .proof-room-body .proof-room-next {
    grid-column: auto;
  }

  .funder-lens-tests {
    grid-template-columns: 1fr;
  }

  .ngo-mini-field.wide {
    grid-column: auto;
  }

  .scripted-topbar,
  .scripted-footer,
  .scripted-dropzone,
  .scripted-card-head {
    align-items: stretch;
    flex-direction: column;
  }

  .scripted-frame {
    display: block;
    border-radius: 18px;
  }

  .scripted-rail {
    display: none;
  }

  .scripted-main {
    padding: 22px;
  }

  .scripted-progress {
    margin-bottom: 24px;
  }

  .scripted-summary-grid {
    grid-template-columns: 1fr;
  }

  .scripted-context-card {
    min-height: 320px;
  }

  .workspace-hero,
  .review-hero {
    padding: 24px;
  }

  .workspace-hero::after {
    width: 70%;
    opacity: 0.32;
  }

  .workspace-asset-card {
    align-self: stretch;
  }

  .scripted-public-card {
    right: 20px;
    bottom: 20px;
    left: 20px;
  }

  .arranged-list article,
  .scripted-funder,
  .mock-cost-table > div:not(.mock-cost-head),
  .evidence-expanded,
  .ngo-proof-item,
  .ngo-answer-item summary {
    grid-template-columns: 1fr;
  }

  .arranged-list aside {
    text-align: left;
  }
}

@media (max-width: 620px) {
  .side-nav {
    grid-template-columns: 1fr;
  }

  .nav-item {
    justify-content: flex-start;
  }

  .hero,
  .panel,
  .stat-card,
  .workspace-card {
    padding: 18px;
  }

  .dashboard-grid,
  .asset-flow,
  .funder-detail-grid,
  .mini-claim-stack,
  .impact-asset-grid {
    grid-template-columns: 1fr;
  }

  .funder-asset-card {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .funder-asset-card em {
    grid-column: 2;
    text-align: left;
  }

  .asset-flow i {
    display: none;
  }

  .actions {
    justify-content: stretch;
  }

  .button {
    width: 100%;
  }

  .assistant-fab {
    right: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    justify-content: center;
    width: 52px;
    min-height: 52px;
    padding: 0;
    overflow: hidden;
    font-size: 0;
  }

  .assistant-panel {
    right: 12px;
    bottom: 12px;
    width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
    border-radius: 18px;
  }

  .assistant-actions {
    flex-direction: column;
  }

  .assistant-actions button {
    width: 100%;
  }
}

/* Minimalist intake redesign */
body[data-view="workspace"] {
  background:
    radial-gradient(circle at 18% 8%, rgba(13, 169, 98, 0.12), transparent 30%),
    radial-gradient(circle at 86% 16%, rgba(207, 247, 223, 0.55), transparent 24%),
    linear-gradient(135deg, #f4fbf7 0%, #ffffff 42%, #f7fcf9 100%);
}

body[data-view="workspace"] .content {
  padding-top: 30px;
}

.ngo-flow-screen {
  max-width: 1120px;
  gap: 16px;
}

.ngo-progress {
  max-width: 780px;
  margin: 0 auto;
  padding: 7px;
  border: 1px solid rgba(213, 233, 224, 0.72);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.48);
  box-shadow: 0 18px 55px rgba(6, 43, 29, 0.055);
  backdrop-filter: blur(8px);
}

.ngo-progress button {
  justify-content: center;
  min-height: 42px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
  color: rgba(6, 24, 19, 0.55);
  font-size: 13px;
  font-weight: 720;
}

.ngo-progress button.active {
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 12px 28px rgba(6, 43, 29, 0.07);
}

.ngo-progress span {
  width: 24px;
  height: 24px;
  font-size: 11px;
}

.ngo-stage {
  gap: 24px;
  padding: clamp(24px, 4vw, 46px);
  border-color: rgba(204, 230, 218, 0.78);
  border-radius: 30px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.76), rgba(248, 254, 251, 0.58)),
    radial-gradient(circle at 92% 8%, rgba(9, 148, 85, 0.1), transparent 28%);
  box-shadow: 0 20px 54px rgba(6, 43, 29, 0.065);
  backdrop-filter: none;
}

.ngo-minimal-head {
  gap: 10px;
  max-width: 590px;
}

.ngo-stage-head span,
.ngo-card-title span,
.proof-pile-top span,
.inferred-facts-card > div span {
  font-size: 11px;
  font-weight: 780;
  letter-spacing: 0.12em;
}

.ngo-stage-head h1 {
  max-width: 620px;
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 760;
  letter-spacing: -0.035em;
  line-height: 1.02;
}

.ngo-stage-head p,
.ngo-muted {
  color: rgba(67, 87, 78, 0.82);
  font-size: 15px;
  line-height: 1.65;
}

.minimal-intake-shell {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(420px, 1fr);
  gap: 18px;
  align-items: stretch;
}

.ngo-card,
.minimal-intake-card,
.proof-pile-card,
.draft-target-card,
.inferred-facts-card {
  border-color: rgba(207, 229, 220, 0.78);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.62);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 14px 34px rgba(6, 43, 29, 0.046);
  backdrop-filter: none;
  content-visibility: auto;
  contain-intrinsic-size: 260px;
}

.minimal-intake-card {
  align-content: start;
  padding: clamp(22px, 3vw, 34px);
}

.minimal-form-grid {
  display: grid;
  gap: 16px 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.minimal-form-grid .ngo-mini-field {
  display: grid;
  grid-template-rows: auto auto;
  gap: 8px;
  align-content: start;
  min-width: 0;
}

.minimal-form-grid .ngo-mini-field.wide {
  grid-column: 1 / -1;
}

.minimal-form-grid .ngo-mini-field > span {
  min-height: 1.15em;
  line-height: 1.15;
}

.minimal-form-grid .ngo-mini-field input,
.minimal-form-grid .ngo-mini-field select {
  height: 52px;
  min-height: 52px;
  max-height: 52px;
  width: 100%;
  box-sizing: border-box;
  padding: 0 16px;
  margin: 0;
  font: inherit;
  font-size: 14px;
  font-weight: 620;
  line-height: 1.2;
  appearance: none;
  -webkit-appearance: none;
}

.minimal-form-grid .ngo-mini-field select {
  padding-right: 40px;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(72, 95, 85, 0.7) 50%),
    linear-gradient(135deg, rgba(72, 95, 85, 0.7) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% - 2px),
    calc(100% - 12px) calc(50% - 2px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  cursor: pointer;
}

.minimal-form-grid .ngo-mini-field textarea {
  min-height: 118px;
  height: auto;
  max-height: none;
  padding: 14px 16px;
  resize: vertical;
}

.ngo-mini-field span,
.ngo-url-field span,
.proof-paste-area span,
.proof-link-area span,
.inferred-facts-card label span {
  color: rgba(72, 95, 85, 0.78);
  font-size: 12px;
  font-weight: 760;
}

.ngo-mini-field input,
.ngo-mini-field select,
.ngo-mini-field textarea,
.ngo-url-field input,
.ngo-proof-item textarea,
.ngo-proof-item input,
.ngo-html-paste textarea,
.proof-paste-area textarea,
.proof-link-area input,
.inferred-facts-card input {
  border-color: rgba(202, 226, 216, 0.9);
  border-radius: 18px;
  background-color: rgba(255, 255, 255, 0.72);
  color: var(--ink);
  font-weight: 620;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.ngo-mini-field input,
.ngo-mini-field select,
.proof-link-area input,
.inferred-facts-card input {
  min-height: 52px;
  padding: 0 16px;
}

.ngo-mini-field textarea,
.proof-paste-area textarea,
.ngo-html-paste textarea {
  min-height: 118px;
  padding: 14px 16px;
}

.sample-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 4px;
  color: rgba(72, 95, 85, 0.78);
  font-size: 13px;
  font-weight: 650;
}

.consent-line {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 14px;
  padding: 13px 14px;
  border: 1px solid rgba(202, 226, 216, 0.82);
  border-radius: 18px;
  background: rgba(248, 253, 250, 0.72);
  color: rgba(72, 95, 85, 0.82);
  font-size: 13px;
  font-weight: 620;
  line-height: 1.45;
}

.consent-line input {
  width: 17px;
  height: 17px;
  margin-top: 1px;
  accent-color: var(--green);
  flex: none;
}

.proof-pile-card {
  gap: 16px;
  padding: clamp(22px, 3vw, 34px);
}

.proof-pile-top {
  display: grid;
  gap: 8px;
}

.proof-pile-top strong {
  max-width: 480px;
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 740;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.proof-pile-top p {
  max-width: 560px;
  margin: 0;
  color: rgba(67, 87, 78, 0.82);
  line-height: 1.6;
}

.single-dropzone {
  display: grid;
  min-height: 150px;
  place-items: center;
  gap: 8px;
  padding: 24px;
  border: 1px dashed rgba(6, 148, 85, 0.34);
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(237, 250, 243, 0.9), rgba(255, 255, 255, 0.54)),
    radial-gradient(circle at center, rgba(6, 148, 85, 0.1), transparent 48%);
  color: var(--green-deep);
  text-align: center;
  cursor: pointer;
}

.single-dropzone input {
  display: none;
}

.single-dropzone b {
  font-size: 20px;
  font-weight: 760;
}

.single-dropzone small,
.proof-helper,
.file-list {
  color: rgba(72, 95, 85, 0.76);
  font-size: 13px;
}

.voice-note-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid rgba(202, 226, 216, 0.82);
  border-radius: 22px;
  background: rgba(248, 253, 250, 0.72);
}

.voice-note-box div {
  display: grid;
  gap: 4px;
}

.voice-note-box span,
.voice-note-transcript span {
  color: var(--green);
  font-size: 11px;
  font-weight: 820;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.voice-note-box strong {
  color: var(--ink);
  font-size: 15px;
  font-weight: 760;
}

.voice-note-box p {
  max-width: 520px;
  margin: 0;
  color: rgba(72, 95, 85, 0.78);
  font-size: 13px;
  line-height: 1.5;
}

.voice-note-timer {
  display: inline-flex;
  width: fit-content;
  margin-top: 4px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(223, 243, 234, 0.86);
  color: rgba(7, 83, 50, 0.88);
  font-size: 12px;
  font-weight: 760;
}

.voice-note-timer.recording {
  background: rgba(255, 242, 217, 0.92);
  color: #9a5b00;
}

.voice-note-button {
  flex: none;
}

.voice-note-list {
  display: grid;
  gap: 9px;
}

.voice-note-transcript {
  display: grid;
  gap: 6px;
  padding: 13px 15px;
  border: 1px solid rgba(202, 226, 216, 0.78);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.62);
}

.voice-note-transcript p {
  margin: 0;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.5;
}

.voice-note-transcript small {
  color: rgba(72, 95, 85, 0.72);
  font-size: 12px;
  line-height: 1.45;
}

.proof-paste-area,
.proof-link-area,
.inferred-facts-card label {
  display: grid;
  gap: 8px;
}

.proof-helper {
  padding: 0 2px;
}

.proof-helper summary {
  width: fit-content;
  color: var(--green-deep);
  font-weight: 760;
  cursor: pointer;
}

.inferred-facts-card {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(180px, 0.55fr) minmax(180px, 0.55fr);
  gap: 14px;
  align-items: end;
}

.inferred-facts-card > div {
  display: grid;
  gap: 6px;
}

.inferred-facts-card > div strong {
  font-size: 17px;
  font-weight: 720;
}

.proof-assets-hero {
  border: 1px solid rgba(207, 229, 220, 0.78);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: none;
}

.proof-assets-layout,
.proof-assets-layout.compact,
.draft-target-grid,
.draft-output-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.82fr);
  gap: 18px;
  align-items: start;
}

.draft-target-card h2 {
  margin: 0;
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 730;
  letter-spacing: -0.02em;
}

.funding-use-stage {
  gap: 20px;
}

.funding-use-stage > .ngo-card {
  animation: page3-reveal 240ms ease both;
}

.funding-use-stage .ngo-minimal-head h1 {
  font-size: clamp(40px, 4.2vw, 58px);
  letter-spacing: -0.03em;
}

.funding-use-stage .ngo-minimal-head p {
  max-width: 760px;
}

.funding-use-stage .draft-target-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.funding-use-stage .draft-target-card {
  gap: 14px;
  min-height: 260px;
  padding: 26px;
  border-radius: 22px;
  border: 1px solid rgba(192, 224, 209, 0.95);
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.92), rgba(246, 253, 249, 0.78)),
    radial-gradient(circle at 92% 8%, rgba(9, 148, 85, 0.08), transparent 34%);
}

.funding-use-stage .draft-target-card .button.primary {
  width: fit-content;
  min-width: 240px;
}

.funding-use-stage .ngo-url-field input {
  min-height: 52px;
  border-radius: 14px;
}

.funding-use-stage .opportunity-shortlist.minimal {
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 12px;
}

.funding-use-stage .opportunity-shortlist.minimal .ngo-card {
  gap: 10px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid rgba(191, 222, 207, 0.92);
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.97), rgba(246, 252, 248, 0.94)),
    radial-gradient(circle at 100% 0%, rgba(9, 148, 85, 0.08), transparent 38%);
  box-shadow: 0 10px 26px rgba(6, 43, 29, 0.055);
}

.funding-use-stage .ngo-card.selected {
  border-color: rgba(7, 141, 83, 0.55);
  box-shadow: 0 0 0 2px rgba(9, 148, 85, 0.12), 0 14px 30px rgba(6, 43, 29, 0.08);
}

.funding-opportunity-card .ngo-inline-actions {
  margin-top: 2px;
}

.funding-opportunity-card .ngo-inline-actions .button {
  min-height: 40px;
  padding: 0 14px;
}

.funding-opportunity-card .ngo-inline-actions .button.primary {
  min-width: 190px;
}

.funding-opportunity-head {
  align-items: flex-start;
}

.funding-opportunity-name {
  max-width: 85%;
  color: var(--green-deep);
  font-size: 13px;
  font-weight: 860;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.funding-opportunity-meta {
  font-size: 13px;
  font-weight: 680;
  line-height: 1.4;
}

.funding-opportunity-reason {
  margin: 0;
  color: rgba(19, 45, 33, 0.96);
  font-size: clamp(19px, 1.45vw, 28px);
  font-weight: 560;
  line-height: 1.22;
  letter-spacing: -0.018em;
}

.funding-fit-chip {
  border-width: 1px;
  border-style: solid;
}

.funding-fit-chip.fit-strong {
  border-color: rgba(8, 140, 81, 0.34);
  background: rgba(224, 246, 234, 0.9);
  color: rgba(12, 107, 65, 0.92);
}

.funding-fit-chip.fit-possible {
  border-color: rgba(195, 145, 22, 0.35);
  background: rgba(255, 248, 220, 0.9);
  color: rgba(143, 97, 8, 0.92);
}

.funding-fit-chip.fit-review {
  border-color: rgba(145, 161, 152, 0.4);
  background: rgba(243, 247, 245, 0.92);
  color: rgba(70, 90, 81, 0.9);
}

.opportunity-intelligence-preview {
  border: 1px solid rgba(170, 210, 190, 0.92);
  border-radius: 14px;
  background: rgba(239, 249, 244, 0.86);
}

.opportunity-intelligence-preview summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 12px;
  color: #176342;
  cursor: pointer;
  font-size: 12px;
  font-weight: 780;
}

.opportunity-intelligence-preview summary strong {
  color: #a06b08;
}

.opportunity-intelligence-preview > div {
  display: grid;
  gap: 10px;
  padding: 0 12px 12px;
}

.opportunity-intelligence-preview p {
  display: grid;
  gap: 3px;
  margin: 0;
  color: #4b6258;
  font-size: 12px;
  line-height: 1.45;
}

.opportunity-intelligence-preview p b {
  color: #173e2d;
}

.opportunity-intelligence-preview small {
  color: #6c8177;
}

.opportunity-intelligence-preview .button {
  width: fit-content;
}

.contextual-funder-intelligence {
  margin-top: 12px;
  border: 1px solid rgba(171, 211, 191, 0.94);
  border-radius: 14px;
  background: rgba(241, 250, 246, 0.9);
}

.contextual-funder-intelligence summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 12px;
  color: #176342;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
}

.contextual-funder-intelligence summary strong {
  color: #9a6708;
  text-align: right;
}

.contextual-funder-intelligence-body {
  display: grid;
  gap: 10px;
  padding: 0 12px 12px;
}

.contextual-funder-intelligence-body > section {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid rgba(205, 226, 216, 0.88);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.82);
}

.contextual-funder-intelligence-body p,
.contextual-funder-intelligence-body small {
  margin: 0;
  color: #4e655a;
  font-size: 12px;
  line-height: 1.45;
}

.contextual-funder-intelligence-body > section > strong {
  color: #173e2d;
  font-size: 13px;
}

.contextual-funder-summary {
  color: #234f3b !important;
  font-weight: 680;
}

.intelligence-source-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.intelligence-source-links a {
  padding: 5px 8px;
  border: 1px solid rgba(180, 214, 197, 0.9);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  color: #176342;
  font-size: 10px;
  font-weight: 760;
  text-decoration: none;
}

.intelligence-checked {
  color: #6c8177 !important;
}

.insight-review-field {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}

.insight-review-field > span {
  color: #355b49;
  font-size: 11px;
  font-weight: 800;
}

.insight-review-field textarea,
.insight-review-field input {
  width: 100%;
  border: 1px solid rgba(180, 214, 197, 0.9);
  border-radius: 10px;
  background: #fff;
  color: #173e2d;
  font: inherit;
}

.insight-review-field textarea {
  min-height: 88px;
  padding: 10px;
  resize: vertical;
}

.insight-review-field input {
  min-height: 40px;
  padding: 0 10px;
}

.insight-review-actions {
  margin-top: 10px;
}

.funding-use-stage .ngo-card-title small {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(200, 224, 214, 0.9);
  background: rgba(242, 250, 246, 0.9);
  color: rgba(30, 85, 60, 0.86);
  font-size: 11px;
  font-weight: 820;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.funding-use-stage .draft-output-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 8px;
}

.funding-use-stage .draft-output-grid > .ngo-card {
  min-height: 100%;
  padding: 16px;
  border-radius: 16px;
}

.funding-use-stage .ngo-fill-summary.compact {
  margin: 8px 0 10px;
  padding: 10px;
  border: 1px solid rgba(200, 224, 214, 0.85);
  border-radius: 14px;
  background: rgba(247, 253, 249, 0.82);
}

.funding-use-stage .ngo-fill-summary.compact strong {
  color: var(--green-deep);
}

.funding-use-stage .ngo-stage-actions {
  position: sticky;
  bottom: 8px;
  padding-top: 10px;
  margin-top: 4px;
  border-top: 1px solid rgba(201, 224, 214, 0.75);
  background: linear-gradient(to top, rgba(250, 255, 252, 0.98), rgba(250, 255, 252, 0.82) 58%, transparent);
}

@keyframes page3-reveal {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes button-sheen {
  from { transform: translateX(-120%); }
  to { transform: translateX(120%); }
}

@keyframes app-busy-bar {
  from { transform: translateX(-20%); }
  to { transform: translateX(20%); }
}

.opportunity-shortlist.minimal,
.ngo-answer-list.minimal {
  display: grid;
  gap: 10px;
}

.ngo-answer-strip.compact,
.ngo-fill-summary.compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.autofill-mini-card {
  align-content: start;
}

@media (max-width: 1100px) {
  .minimal-intake-shell,
  .proof-assets-layout,
  .proof-assets-layout.compact,
  .proof-room-layout,
  .funder-lens-preview,
  .draft-target-grid,
  .draft-output-grid,
  .inferred-facts-card {
    grid-template-columns: 1fr;
  }

  .funding-use-stage .draft-target-grid {
    grid-template-columns: 1fr;
  }

  .funding-use-stage .draft-output-grid {
    grid-template-columns: 1fr;
  }

  .minimal-form-grid {
    grid-template-columns: 1fr;
  }

  .funding-opportunity-reason {
    font-size: clamp(18px, 4.6vw, 24px);
  }
}

@media (max-width: 720px) {
  body[data-view="workspace"] .content {
    padding: 18px;
  }

  .ngo-stage {
    padding: 22px;
    border-radius: 22px;
  }

  .ngo-stage-head h1 {
    font-size: 34px;
  }

  .understood-strip {
    grid-template-columns: 1fr;
  }

  .ngo-progress {
    grid-template-columns: 1fr;
    border-radius: 22px;
  }

  .voice-note-box {
    align-items: stretch;
    flex-direction: column;
  }

  .voice-note-button {
    width: 100%;
  }
}

/* Funding Position board */
.funder-board { margin: 0 0 20px; }
.funder-board-note { color: #6b7280; font-size: 13px; margin: 6px 0 16px; }
.funder-board-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 12px;
}
.funder-fit-card {
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 15px;
  background: #fff;
}
.funder-fit-card.tone-ready { border-color: #10b981; background: #ecfdf5; }
.funder-fit-card.tone-close { border-color: #f59e0b; background: #fffbeb; }
.funder-fit-top { display: flex; align-items: center; gap: 12px; }
.funder-fit-score { font-size: 30px; font-weight: 800; line-height: 1; color: #111827; }
.funder-fit-score small { font-size: 14px; font-weight: 600; color: #6b7280; }
.funder-fit-name { flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.funder-fit-name strong { font-size: 14px; color: #111827; }
.funder-verdict { font-size: 12px; color: #6b7280; }
.funder-conf {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 3px 8px;
  border-radius: 999px;
  font-weight: 700;
  white-space: nowrap;
}
.conf-seed { background: #fef3c7; color: #92400e; }
.conf-verified { background: #d1fae5; color: #065f46; }
.conf-unverified { background: #f3f4f6; color: #6b7280; }
.funder-fit-reqs {
  list-style: none;
  margin: 13px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.funder-fit-reqs li { font-size: 12.5px; line-height: 1.35; }
.funder-fit-reqs .met { color: #047857; }
.funder-fit-reqs .missing { color: #b91c1c; }

@media (max-width: 720px) {
  .ngo-stage-head-row {
    flex-direction: column;
    gap: 12px;
  }

  .sample-map-button {
    width: 100%;
  }
}

/* Governed draft generation state */
.draft-generation-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 10px 14px;
  border-radius: 12px;
  font-size: 13px;
  margin-bottom: 12px;
  border: 1px solid rgba(15, 40, 68, 0.12);
  background: rgba(15, 40, 68, 0.04);
}

.draft-generation-bar.loading {
  border-color: rgba(37, 99, 235, 0.35);
  background: rgba(37, 99, 235, 0.07);
}

.draft-generation-bar.governed {
  border-color: rgba(22, 133, 87, 0.35);
  background: rgba(22, 133, 87, 0.07);
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.draft-generation-bar.governed strong {
  font-size: 13px;
}

.draft-generation-bar.governed span {
  color: rgba(15, 40, 68, 0.7);
  font-size: 12px;
}

.draft-generation-bar.error {
  border-color: rgba(190, 60, 60, 0.4);
  background: rgba(190, 60, 60, 0.06);
}

.draft-generation-bar.outline {
  justify-content: space-between;
}

.draft-spinner {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid rgba(37, 99, 235, 0.25);
  border-top-color: rgba(37, 99, 235, 0.9);
  animation: causant-spin 0.8s linear infinite;
  flex-shrink: 0;
}

@keyframes causant-spin {
  to { transform: rotate(360deg); }
}

/* Answer quality chips + provenance */
.answer-chips {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.answer-chips .chip {
  font-style: normal;
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(15, 40, 68, 0.07);
  color: rgba(15, 40, 68, 0.75);
}

.answer-chips .chip.human {
  background: rgba(22, 133, 87, 0.12);
  color: rgb(17, 101, 66);
}

.answer-chips .chip.aiish {
  background: rgba(190, 130, 40, 0.14);
  color: rgb(146, 94, 20);
}

.answer-chips .chip.quality {
  background: rgba(37, 99, 235, 0.1);
  color: rgb(30, 74, 172);
}

.draft-provenance {
  margin: 8px 0 0;
  font-size: 12px;
  color: rgba(15, 40, 68, 0.65);
}

.draft-revise {
  margin-top: 12px;
  border-top: 1px dashed rgba(15, 40, 68, 0.15);
  padding-top: 10px;
}

.draft-revise summary {
  cursor: pointer;
  font-size: 13px;
  color: rgba(37, 99, 235, 0.9);
}

.draft-revise textarea {
  width: 100%;
  min-height: 64px;
  margin: 10px 0;
  border-radius: 10px;
  border: 1px solid rgba(15, 40, 68, 0.15);
  padding: 8px 10px;
  font: inherit;
  font-size: 13px;
}

/* Voice recorder: level meter + discard */
.voice-note-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.voice-level {
  display: block;
  width: 120px;
  height: 6px;
  margin-top: 6px;
  border-radius: 999px;
  background: rgba(15, 40, 68, 0.1);
  overflow: hidden;
}

.voice-level i {
  display: block;
  height: 100%;
  width: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #2f9e6e, #47c98f);
  transform: scaleX(0.04);
  transform-origin: left center;
  transition: transform 90ms linear;
}

.voice-note-box.is-recording {
  border-color: rgba(190, 60, 60, 0.45);
}

.voice-cancel-button {
  font-size: 12px;
}

/* Extension pairing (step 3, Mode 2) */
.extension-pairing {
  border: 1px dashed rgba(15, 40, 68, 0.2);
  border-radius: 10px;
  padding: 10px 12px;
  margin-bottom: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.extension-pairing.active {
  border-style: solid;
  border-color: rgba(22, 133, 87, 0.4);
  background: rgba(22, 133, 87, 0.05);
}

.extension-pairing span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(15, 40, 68, 0.55);
}

.extension-pairing .pairing-code {
  font-size: 26px;
  letter-spacing: 6px;
  font-weight: 800;
  color: rgb(17, 101, 66);
}

.extension-pairing small {
  color: rgba(15, 40, 68, 0.6);
  font-size: 12px;
}

/* ---------------------------------------------------------------------------
   Step 2: evidence story, "how a funder reads you"
--------------------------------------------------------------------------- */

.story-stage .ngo-stage-head p {
  max-width: 720px;
  font-size: 15px;
}

.story-mirror-card {
  gap: 16px;
  border-color: rgba(10, 150, 86, 0.22);
  background:
    linear-gradient(150deg, rgba(255, 255, 255, 0.96), rgba(240, 250, 244, 0.92)),
    radial-gradient(circle at 96% 0%, rgba(14, 180, 103, 0.12), transparent 42%);
}

.story-mirror-text {
  max-width: 78ch;
  margin: 0;
  font-size: 16.5px;
  font-weight: 640;
  line-height: 1.68;
}

.story-mirror-text strong {
  color: var(--green-deep);
  font-weight: 900;
}

.story-mirror-receipts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.story-chip {
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  border: 1px solid rgba(10, 150, 86, 0.22);
  border-radius: 999px;
  background: #f0faf4;
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.story-mirror-confirm {
  display: grid;
  grid-template-columns: auto minmax(180px, 1fr) minmax(180px, 1fr);
  gap: 12px;
  align-items: end;
  padding-top: 14px;
  border-top: 1px dashed rgba(10, 150, 86, 0.2);
}

.story-confirm-label {
  align-self: center;
  max-width: 220px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.4;
}

.story-mirror-confirm label {
  display: grid;
  gap: 6px;
}

.story-mirror-confirm label span {
  color: var(--muted);
  font-size: 11.5px;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.story-mirror-confirm input {
  min-height: 44px;
  padding: 0 13px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 13px;
  background: #fbfefc;
  color: var(--ink);
  font: inherit;
  font-weight: 750;
  outline: none;
}

.story-mirror-confirm input:focus {
  border-color: rgba(10, 150, 86, 0.42);
}

.story-questions-card .ngo-card-title {
  flex-wrap: wrap;
}

.story-questions-card .ngo-card-title small b {
  font-weight: 950;
}

.story-questions-card .ngo-card-title small b.say {
  color: var(--green-strong);
}

.story-questions-card .ngo-card-title small b.careful {
  color: var(--amber);
}

.story-questions-card .ngo-card-title small b.notyet {
  color: var(--red);
}

.story-question-list {
  display: grid;
  gap: 10px;
}

.story-question {
  border: 1px solid rgba(220, 233, 227, 0.94);
  border-radius: 16px;
  background: #ffffff;
  overflow: hidden;
}

.story-question summary {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 15px 18px;
  cursor: pointer;
  list-style: none;
}

.story-question summary::-webkit-details-marker {
  display: none;
}

.story-question summary::after {
  content: "+";
  margin-left: auto;
  color: var(--muted);
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
}

.story-question[open] summary::after {
  content: "-";
}

.story-question summary strong {
  font-size: 15.5px;
  letter-spacing: -0.01em;
}

.story-status {
  flex: 0 0 auto;
  min-width: 116px;
  padding: 5px 11px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 950;
  text-align: center;
  letter-spacing: 0.02em;
}

.story-question.say .story-status {
  background: var(--mint);
  color: var(--green-deep);
}

.story-question.careful .story-status {
  background: var(--amber-soft);
  color: var(--amber);
}

.story-question.not-yet .story-status {
  background: var(--red-soft);
  color: var(--red);
}

.story-question.say {
  border-color: rgba(10, 150, 86, 0.24);
}

.story-question.careful {
  border-color: rgba(185, 95, 0, 0.22);
}

.story-question-body {
  display: grid;
  gap: 12px;
  padding: 2px 18px 18px;
}

.story-verdict {
  max-width: 80ch;
  margin: 0;
  font-size: 14.5px;
  font-weight: 650;
  line-height: 1.62;
}

.story-receipt {
  max-width: 76ch;
  margin: 0;
  padding: 12px 16px;
  border-left: 3px solid var(--line-strong);
  border-radius: 0 12px 12px 0;
  background: var(--soft);
}

.story-receipt p {
  margin: 0 0 6px;
  color: var(--ink);
  font-size: 13.5px;
  font-style: italic;
  line-height: 1.55;
}

.story-receipt cite {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
}

.story-unlock {
  max-width: 80ch;
  margin: 0;
  color: var(--muted);
  font-size: 13.5px;
  line-height: 1.58;
}

.story-unlock b {
  color: var(--green-deep);
}

.story-next-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  border-color: rgba(10, 150, 86, 0.3);
  background:
    linear-gradient(135deg, rgba(3, 63, 39, 0.97), rgba(4, 96, 58, 0.95)),
    radial-gradient(circle at 90% 10%, rgba(15, 169, 120, 0.5), transparent 46%);
  box-shadow: 0 20px 48px rgba(6, 43, 29, 0.22);
}

.story-next-copy {
  display: grid;
  gap: 7px;
}

.story-next-copy span {
  color: #9fe8c3;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.story-next-copy strong {
  color: #ffffff;
  font-size: 20px;
  letter-spacing: -0.01em;
  line-height: 1.25;
}

.story-next-copy p {
  max-width: 68ch;
  margin: 0;
  color: rgba(236, 252, 243, 0.86);
  font-size: 14px;
  line-height: 1.6;
}

.story-next-copy small {
  color: rgba(200, 240, 218, 0.72);
  font-size: 12.5px;
  font-weight: 800;
}

.story-next-card .button {
  flex: 0 0 auto;
  border-color: rgba(255, 255, 255, 0.4);
  background: #ffffff;
  color: var(--green-deep);
}

@media (max-width: 860px) {
  .story-mirror-confirm {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .story-confirm-label {
    max-width: none;
  }

  .story-next-card {
    flex-direction: column;
    align-items: stretch;
  }

  .story-question summary {
    flex-wrap: wrap;
    gap: 8px;
  }

  .story-status {
    min-width: 0;
  }
}

/* Step 2 loading: staged progress while the analysis runs */

.loading-stage {
  min-height: min(680px, calc(100vh - 170px));
  justify-content: center;
}

.loading-stage .ngo-stage-head {
  max-width: 780px;
}

.story-loading-card {
  position: relative;
  gap: 24px;
  max-width: 760px;
  padding: 30px;
  overflow: hidden;
  border-color: rgba(0, 138, 82, 0.18);
  background:
    radial-gradient(circle at 16% 6%, rgba(21, 184, 116, 0.16), transparent 34%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(247, 255, 251, 0.76));
  box-shadow: 0 28px 90px rgba(6, 72, 43, 0.1);
}

.story-loading-card::before {
  content: "";
  position: absolute;
  inset: -50% auto auto -20%;
  width: 58%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 158, 92, 0.16), transparent 64%);
  filter: blur(10px);
  animation: loading-orbit-soft 8s ease-in-out infinite;
  pointer-events: none;
}

.story-loading-top {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 18px;
}

.story-loading-top strong {
  display: block;
  color: var(--ink);
  font-size: 18px;
  font-weight: 860;
  letter-spacing: -0.01em;
}

.story-loading-top p {
  max-width: 520px;
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 14.5px;
  line-height: 1.6;
  font-weight: 650;
}

.story-loading-orb {
  position: relative;
  flex: 0 0 auto;
  width: 58px;
  height: 58px;
  border-radius: 22px;
  border: 1px solid rgba(0, 138, 82, 0.18);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 18px 48px rgba(3, 107, 65, 0.12);
}

.story-loading-orb::before,
.story-loading-orb::after,
.story-loading-orb span {
  content: "";
  position: absolute;
  border-radius: 50%;
}

.story-loading-orb::before {
  inset: 11px;
  border: 2px solid rgba(0, 158, 92, 0.16);
  border-top-color: var(--green);
  animation: loading-ring 1.7s linear infinite;
}

.story-loading-orb::after {
  inset: 22px;
  background: var(--green);
  box-shadow: 0 0 0 7px rgba(0, 158, 92, 0.1);
}

.story-loading-orb span {
  width: 8px;
  height: 8px;
  right: 12px;
  bottom: 14px;
  background: var(--aqua);
  box-shadow: 0 0 18px rgba(12, 191, 121, 0.42);
}

.story-loading-bar {
  position: relative;
  z-index: 1;
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(0, 119, 72, 0.08);
  box-shadow: inset 0 0 0 1px rgba(0, 119, 72, 0.06);
}

.story-loading-bar-hero {
  height: 14px;
  margin-top: 4px;
  background: rgba(0, 119, 72, 0.1);
  box-shadow:
    inset 0 0 0 1px rgba(0, 119, 72, 0.1),
    0 10px 28px rgba(0, 158, 92, 0.12);
}

.story-loading-bar-fill,
.story-loading-bar-glow {
  position: absolute;
  inset: 0 auto 0 0;
  width: 46%;
  border-radius: 999px;
}

.story-loading-bar-fill {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.12)),
    linear-gradient(90deg, #12c77d, var(--green), #007f4f);
  box-shadow: 0 8px 24px rgba(0, 158, 92, 0.28);
  animation: story-loading-sweep 2.1s cubic-bezier(.68, .01, .24, 1) infinite;
}

.story-loading-bar-glow {
  width: 18%;
  filter: blur(8px);
  background: rgba(18, 199, 125, 0.72);
  animation: story-loading-sweep 2.1s cubic-bezier(.68, .01, .24, 1) infinite;
  animation-delay: 0.08s;
  opacity: 0.85;
}

.story-loading-status {
  max-width: 520px;
  margin: 4px 0 0;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.55;
  font-weight: 760;
}

@keyframes story-loading-sweep {
  0% { transform: translateX(-115%); }
  46% { transform: translateX(44%); }
  100% { transform: translateX(255%); }
}

.story-loading-steps {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.story-loading-line {
  min-height: 104px;
  display: grid;
  grid-template-rows: auto 1fr;
  align-items: start;
  gap: 12px;
  padding: 15px;
  border: 1px solid rgba(0, 119, 72, 0.12);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.58);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
  opacity: 0;
  transform: translateY(8px) scale(0.98);
  animation: story-loading-line-in 0.58s ease forwards;
}

.story-loading-line b {
  display: block;
  margin-bottom: 6px;
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.story-loading-line small {
  color: var(--ink);
  font-size: 13.5px;
  line-height: 1.42;
  font-weight: 760;
}

.story-loading-dot {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--green);
  animation: story-loading-pulse 1.4s ease-in-out infinite;
}

.story-loading-chips {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.story-loading-chips span {
  padding: 8px 11px;
  border-radius: 999px;
  border: 1px solid rgba(0, 119, 72, 0.12);
  background: rgba(236, 250, 242, 0.72);
  color: var(--deep);
  font-size: 12px;
  font-weight: 820;
}

@keyframes story-loading-line-in {
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes story-loading-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(0.65); opacity: 0.55; }
}

@keyframes loading-ring {
  to { transform: rotate(360deg); }
}

@keyframes loading-orbit-soft {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); opacity: 0.7; }
  50% { transform: translate3d(120px, 42px, 0) scale(1.16); opacity: 1; }
}

@media (max-width: 900px) {
  .story-loading-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .loading-stage {
    min-height: auto;
  }

  .story-loading-card {
    padding: 22px;
    border-radius: 26px;
  }

  .story-loading-top {
    align-items: flex-start;
  }

  .story-loading-orb {
    width: 48px;
    height: 48px;
    border-radius: 18px;
  }

  .story-loading-orb::before {
    inset: 9px;
  }

  .story-loading-orb::after {
    inset: 18px;
  }

  .story-loading-steps {
    grid-template-columns: 1fr;
  }

  .story-loading-line {
    min-height: auto;
    grid-template-columns: auto 1fr;
    grid-template-rows: none;
    align-items: start;
  }
}

.deep-read-notice {
  display: flex;
  align-items: center;
  gap: 14px;
  width: fit-content;
  max-width: 760px;
  padding: 13px 16px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.74);
  box-shadow: 0 18px 50px rgba(5, 62, 38, 0.06);
  backdrop-filter: blur(18px);
}

.deep-read-notice > span {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 8px rgba(0, 158, 92, 0.09);
}

.deep-read-notice.running > span {
  animation: story-loading-pulse 1.4s ease-in-out infinite;
}

.deep-read-notice.caution > span {
  background: #c26b00;
  box-shadow: 0 0 0 8px rgba(194, 107, 0, 0.1);
}

.deep-read-notice.review-ready {
  border-color: rgba(196, 138, 32, 0.24);
  background: rgba(255, 252, 242, 0.82);
}

.deep-read-notice.review-ready > span {
  background: #c26b00;
  box-shadow: 0 0 0 8px rgba(194, 107, 0, 0.1);
}

.deep-read-notice div {
  display: grid;
  gap: 2px;
}

.deep-read-notice strong {
  color: var(--ink);
  font-size: 13.5px;
  font-weight: 850;
}

.deep-read-notice small {
  color: var(--muted);
  font-size: 12.5px;
  font-weight: 650;
}

.deep-read-notice .button {
  min-height: 36px;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 12.5px;
  white-space: nowrap;
}

.analysis-trust-panel {
  display: grid;
  gap: 12px;
  max-width: 920px;
  margin-top: 12px;
  padding: 16px;
  border: 1px solid rgba(225, 199, 132, 0.38);
  border-radius: 18px;
  background: linear-gradient(150deg, rgba(255, 252, 243, 0.96), rgba(255, 255, 255, 0.94));
  box-shadow: 0 18px 48px rgba(128, 88, 12, 0.08);
}

.analysis-trust-head {
  display: grid;
  gap: 4px;
}

.analysis-trust-head span {
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: rgba(132, 86, 6, 0.88);
}

.analysis-trust-head strong {
  color: #5d3a00;
  font-size: 16px;
  line-height: 1.2;
}

.analysis-trust-head p {
  margin: 0;
  color: rgba(88, 60, 8, 0.82);
  font-size: 13px;
  line-height: 1.45;
}

.analysis-trust-list {
  display: grid;
  gap: 8px;
}

.analysis-trust-item {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(224, 184, 95, 0.3);
  background: rgba(255, 255, 255, 0.76);
}

.analysis-trust-item.warning {
  border-color: rgba(194, 107, 0, 0.34);
  background: rgba(255, 247, 229, 0.9);
}

.analysis-trust-item.caution {
  border-color: rgba(189, 145, 51, 0.3);
}

.analysis-trust-item strong {
  color: #5b3a00;
  font-size: 13px;
  line-height: 1.3;
}

.analysis-trust-item small {
  color: rgba(82, 62, 23, 0.86);
  font-size: 12.5px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.website-read-panel {
  display: grid;
  gap: 14px;
  max-width: 980px;
  margin-top: 12px;
  padding: 16px;
  border: 1px solid rgba(189, 222, 206, 0.92);
  border-radius: 18px;
  background: linear-gradient(155deg, rgba(241, 250, 246, 0.96), rgba(255, 255, 255, 0.94));
  box-shadow: 0 18px 48px rgba(8, 93, 54, 0.07);
}

.website-read-head {
  display: grid;
  gap: 4px;
}

.website-read-head span {
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: rgba(7, 95, 59, 0.86);
}

.website-read-head strong {
  color: var(--green-deep);
  font-size: 18px;
  line-height: 1.2;
}

.website-read-head p,
.website-read-note {
  margin: 0;
  color: rgba(22, 57, 41, 0.9);
  font-size: 13px;
  line-height: 1.45;
}

.website-read-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.website-read-section {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(220, 233, 227, 0.92);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
}

.website-read-section b {
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(34, 78, 55, 0.86);
}

.website-read-pages,
.website-read-artifacts {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.website-read-pages li,
.website-read-artifacts li {
  display: grid;
  gap: 3px;
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(248, 252, 249, 0.9);
}

.website-read-pages li.failed {
  background: rgba(255, 247, 245, 0.92);
}

.website-read-pages strong,
.website-read-artifacts strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.website-read-pages small,
.website-read-artifacts small,
.website-read-artifacts span,
.website-read-meta,
.website-read-empty {
  color: rgba(62, 92, 78, 0.82);
  font-size: 12px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.website-read-artifacts.impact li {
  border-left: 3px solid rgba(6, 148, 85, 0.45);
}

.website-read-artifacts.claim li {
  border-left: 3px solid rgba(194, 107, 0, 0.45);
}

.website-read-tensions {
  margin: 0 0 14px;
  padding: 14px 16px;
  border: 1px solid rgba(194, 107, 0, 0.28);
  border-radius: 14px;
  background: rgba(255, 248, 235, 0.9);
}

.website-read-tension-list {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.website-read-tension-list li {
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.82);
}

.website-read-tension-list li.tension-high {
  border-left: 3px solid rgba(180, 35, 24, 0.55);
}

.website-read-tension-quotes {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}

.website-read-tension-quotes blockquote {
  margin: 0;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(248, 250, 252, 0.95);
  font-size: 13px;
  color: #334155;
}

.website-read-tension-quotes small {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 11px;
  color: #64748b;
  margin-bottom: 4px;
}

.evidence-section-provisional {
  opacity: 0.96;
}

.evidence-section-provisional .evidence-section-note {
  color: #8a5a00;
}

.simple-evidence-read {
  display: grid;
  gap: 18px;
  max-width: 760px;
}

.simple-evidence-summary {
  font-size: 1.14rem;
  line-height: 1.72;
  color: #142e1d;
  margin: 0;
  max-width: 68ch;
  letter-spacing: -0.006em;
}

.simple-evidence-meta,
.simple-muted {
  margin: 0;
  color: #4a6b52;
  font-size: 0.92rem;
}

.simple-warning {
  padding: 16px 18px;
  border-radius: 14px;
  border: 1px solid rgba(194, 107, 0, 0.18);
  border-left: 3px solid #d97706;
  background: linear-gradient(135deg, #fffaf0, #fff6e4);
}

.simple-warning strong {
  font-size: 0.98rem;
  letter-spacing: -0.005em;
  color: #6b4400;
}

.simple-warning p {
  margin: 6px 0 0;
  color: #5c3b00;
  line-height: 1.6;
}

.simple-found-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.simple-found-list li {
  position: relative;
  background: #ffffff;
  border: 1px solid rgba(20, 54, 31, 0.07);
  border-radius: 14px;
  padding: 16px 18px 14px 20px;
  box-shadow: 0 1px 2px rgba(15, 42, 24, 0.04);
}

.simple-found-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  bottom: 14px;
  width: 3px;
  border-radius: 3px;
  background: rgba(100, 116, 139, 0.35);
}

.simple-found-list li.tone-strong::before {
  background: #0a9656;
}

.simple-found-list li.tone-caution::before {
  background: #d97706;
}

.simple-found-list blockquote {
  margin: 0 0 8px;
  padding: 0;
  border: 0;
  font-style: normal;
  font-size: 1.02rem;
  line-height: 1.6;
  color: #16331f;
  letter-spacing: -0.004em;
}

.simple-found-list p {
  margin: 0 0 8px;
  color: #40604b;
  font-size: 0.93rem;
  line-height: 1.55;
}

.simple-found-list small {
  display: inline-block;
  color: #6f8477;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

.simple-next-step {
  padding: 18px 20px;
  border-radius: 14px;
  background: linear-gradient(135deg, #f1f9f3, #eaf6ee);
  border: 1px solid rgba(6, 148, 85, 0.16);
}

.simple-next-step strong {
  display: block;
  font-size: 0.98rem;
  color: #0b3d24;
  letter-spacing: -0.005em;
}

.simple-next-step p {
  margin: 8px 0 0;
  color: #23492f;
  line-height: 1.6;
}

.simple-next-reqs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 0.85rem;
  font-weight: 600;
  color: #0a5c38 !important;
}

.simple-evidence-block h2 {
  margin: 0 0 12px;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #57705f;
}

.simple-funder-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.simple-funder-list li {
  background: #ffffff;
  border: 1px solid rgba(20, 54, 31, 0.07);
  border-radius: 14px;
  padding: 16px 18px;
  box-shadow: 0 1px 2px rgba(15, 42, 24, 0.04);
}

.simple-funder-list strong {
  font-size: 1.0rem;
  color: #142e1d;
  letter-spacing: -0.006em;
}

.simple-funder-list span {
  display: block;
  color: #6f8477;
  font-size: 0.82rem;
  margin: 2px 0 6px;
}

.simple-funder-list p {
  margin: 0 0 10px;
  color: #40604b;
  font-size: 0.93rem;
  line-height: 1.55;
}

.funder-req-met,
.funder-req-missing {
  display: inline-block;
  margin: 0 6px 4px 0;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 1.35;
}

.funder-req-met {
  background: rgba(10, 150, 86, 0.09);
  color: #0a5c38;
  border: 1px solid rgba(10, 150, 86, 0.18);
}

.funder-req-missing {
  background: rgba(217, 119, 6, 0.08);
  color: #8a5200;
  border: 1px solid rgba(217, 119, 6, 0.2);
}

.simple-evidence-more {
  margin-top: 4px;
}

.simple-evidence-more > summary {
  cursor: pointer;
  color: #57705f;
  font-size: 0.9rem;
  font-weight: 600;
  padding: 8px 0;
}

.simple-evidence-more > summary:hover {
  color: #0a5c38;
}

@media (max-width: 980px) {
  .website-read-grid {
    grid-template-columns: 1fr;
  }
}

/* Voice intake: "just talk" card on step 1 */

.voice-capture {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px;
  border: 1px solid rgba(10, 150, 86, 0.26);
  border-radius: 16px;
  background:
    linear-gradient(140deg, rgba(240, 250, 244, 0.9), rgba(255, 255, 255, 0.94)),
    radial-gradient(circle at 100% 0%, rgba(14, 180, 103, 0.14), transparent 44%);
}

.voice-capture.recording,
.voice-capture.review,
.voice-capture.error,
.voice-capture.unsupported {
  flex-direction: column;
  align-items: stretch;
}

.voice-copy {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.voice-copy strong {
  font-size: 15.5px;
  letter-spacing: -0.01em;
}

.voice-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 13.5px;
  line-height: 1.55;
}

.voice-copy small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.voice-mic {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(145deg, var(--green), var(--green-strong));
  color: #ffffff;
  box-shadow: 0 12px 26px rgba(6, 148, 85, 0.32);
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.voice-mic:hover {
  transform: scale(1.05);
  box-shadow: 0 16px 32px rgba(6, 148, 85, 0.4);
}

.voice-rec-line {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.voice-rec-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--red);
  animation: voice-rec-pulse 1.1s ease-in-out infinite;
}

@keyframes voice-rec-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(0.7); opacity: 0.5; }
}

.voice-timer {
  margin-left: auto;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
  font-size: 13px;
  font-weight: 900;
}

.voice-prompts {
  display: grid;
  gap: 7px;
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
}

.voice-prompts li {
  position: relative;
  padding-left: 20px;
  color: var(--ink);
  font-size: 13.5px;
  font-weight: 750;
  line-height: 1.45;
}

.voice-prompts li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 6px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--line-strong);
}

.voice-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.voice-transcript {
  width: 100%;
  min-height: 120px;
  padding: 13px 14px;
  border: 1px solid rgba(220, 233, 227, 0.96);
  border-radius: 13px;
  background: #fbfefc;
  color: var(--ink);
  font: inherit;
  font-weight: 700;
  line-height: 1.55;
  outline: none;
  resize: vertical;
}

.voice-transcript:focus {
  border-color: rgba(10, 150, 86, 0.42);
}

.voice-capture.review .voice-transcript {
  border-width: 1.5px;
  background: #ffffff;
}

.voice-capture.review .voice-copy p::after {
  content: " You can edit before adding.";
  color: rgba(7, 83, 50, 0.8);
  font-weight: 700;
}

.voice-transcribing-line {
  display: flex;
  align-items: center;
  gap: 12px;
}

.voice-capture.error {
  border-color: rgba(217, 45, 32, 0.24);
  background: linear-gradient(140deg, rgba(255, 245, 243, 0.9), rgba(255, 255, 255, 0.94));
}

@media (max-width: 720px) {
  .voice-capture.idle {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Unread evidence: a reading limitation, not a gap verdict */
.proof-room-item.unread {
  border-left: 3px solid rgba(90, 110, 140, 0.5);
  background: rgba(90, 110, 140, 0.05);
}

.proof-room-item.unread .proof-room-chip {
  background: rgba(90, 110, 140, 0.15);
  color: rgb(62, 82, 110);
}

/* Page 2: Evidence results (variant B — polished) */
.evidence-results-stage {
  max-width: 820px;
  margin: 0 auto;
  gap: 28px;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}

.evidence-results-hero {
  padding: 28px 30px 24px;
  border-radius: 24px;
  border: 1px solid rgba(14, 120, 78, 0.14);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(242, 251, 246, 0.96)),
    radial-gradient(circle at 92% 8%, rgba(14, 180, 103, 0.14), transparent 34%);
  box-shadow: 0 18px 54px rgba(6, 43, 29, 0.06);
}

.evidence-results-header {
  display: grid;
  gap: 12px;
  max-width: 680px;
}

.evidence-results-topline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.evidence-analysis-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(14, 120, 78, 0.12);
  color: rgb(14, 120, 78);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.evidence-analysis-badge::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgb(14, 120, 78);
  box-shadow: 0 0 0 4px rgba(14, 120, 78, 0.16);
}

.evidence-analysis-badge.is-pending {
  background: rgba(14, 120, 78, 0.08);
}

.evidence-analysis-badge.is-pending::before {
  animation: evidence-pulse 1.4s ease-in-out infinite;
}

@keyframes evidence-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.45; }
}

.evidence-doc-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.evidence-doc-label {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 10px;
  border: 1px solid rgba(14, 120, 78, 0.16);
  background: rgba(255, 255, 255, 0.88);
  color: rgba(15, 40, 68, 0.82);
  font-size: 12px;
  font-weight: 650;
}

.evidence-funder-synth {
  display: inline-block;
  margin-top: 10px;
  margin-right: 8px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  background: rgba(14, 120, 78, 0.12);
  color: rgb(14, 120, 78);
}

.evidence-posture-intro {
  margin: 0 0 4px;
  color: rgba(15, 40, 68, 0.72);
  font-size: 14px;
  font-weight: 700;
}

.evidence-step-label,
.evidence-section-note {
  color: rgba(15, 40, 68, 0.62);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.evidence-results-header h1 {
  margin: 0;
  color: rgb(5, 27, 20);
  font-size: clamp(34px, 4.4vw, 52px);
  line-height: 1.02;
  font-weight: 780;
  letter-spacing: -0.02em;
}

.evidence-results-lede {
  margin: 0;
  color: rgba(15, 40, 68, 0.72);
  font-size: 17px;
  line-height: 1.55;
  max-width: 58ch;
}

.evidence-posture-stack {
  display: grid;
  gap: 12px;
}

.evidence-posture-intro {
  margin: 0;
  color: rgba(15, 40, 68, 0.72);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.evidence-posture-banner {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  padding: 18px 20px;
  border-radius: 18px;
  border: 1px solid transparent;
}

.evidence-posture-banner.tone-critical {
  border-color: rgba(196, 82, 32, 0.28);
  background: linear-gradient(140deg, rgba(255, 244, 238, 0.98), rgba(255, 252, 249, 0.96));
}

.evidence-posture-banner.tone-caution {
  border-color: rgba(196, 138, 32, 0.28);
  background: linear-gradient(140deg, rgba(255, 249, 238, 0.98), rgba(255, 253, 247, 0.96));
}

.evidence-posture-icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  font-size: 18px;
  font-weight: 900;
}

.evidence-posture-banner.tone-critical .evidence-posture-icon {
  background: rgba(196, 82, 32, 0.14);
  color: rgb(176, 62, 22);
}

.evidence-posture-banner.tone-caution .evidence-posture-icon {
  background: rgba(196, 138, 32, 0.14);
  color: rgb(156, 108, 18);
}

.evidence-posture-banner strong {
  display: block;
  color: rgb(5, 27, 20);
  font-size: 17px;
  line-height: 1.25;
}

.evidence-posture-banner p {
  margin: 8px 0 0;
  color: rgba(15, 40, 68, 0.82);
  font-size: 15px;
  line-height: 1.5;
}

.evidence-posture-banner em {
  display: block;
  margin-top: 10px;
  font-style: normal;
  color: rgb(14, 120, 78);
  font-size: 14px;
  font-weight: 700;
}

.evidence-section {
  display: grid;
  gap: 14px;
  padding: 22px 24px;
  border-radius: 22px;
  border: 1px solid rgba(14, 120, 78, 0.1);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 10px 30px rgba(6, 43, 29, 0.04);
}

.evidence-section-primary {
  border-color: rgba(14, 120, 78, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 253, 250, 0.94));
}

.evidence-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px 16px;
}

.evidence-section-title-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

.evidence-section-number {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: rgb(14, 120, 78);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
}

.evidence-section-head h2 {
  margin: 0;
  color: rgb(5, 27, 20);
  font-size: 22px;
  line-height: 1.15;
}

.evidence-section-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.evidence-section-warning {
  margin: 0;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(196, 138, 32, 0.1);
  color: rgb(120, 82, 10);
  font-size: 14px;
  line-height: 1.45;
}

.evidence-work-card,
.evidence-empty-card {
  padding: 18px 20px;
  border-radius: 18px;
  border: 1px solid rgba(14, 120, 78, 0.12);
  background: rgba(255, 255, 255, 0.82);
}

.evidence-work-card.tone-rich {
  border-color: rgba(22, 133, 87, 0.22);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.evidence-work-card.tone-critical {
  border-color: rgba(196, 82, 32, 0.24);
  background: rgba(255, 252, 249, 0.92);
}

.evidence-inventory-bar {
  display: grid;
  gap: 10px;
  margin-bottom: 14px;
}

.evidence-inventory-counts,
.evidence-receipt-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.evidence-inventory-chip,
.evidence-receipt-chip {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

.evidence-inventory-chip {
  background: rgba(14, 120, 78, 0.1);
  color: rgb(14, 120, 78);
}

.evidence-receipt-chip {
  background: rgba(15, 40, 68, 0.06);
  color: rgba(15, 40, 68, 0.78);
}

.evidence-work-summary {
  margin: 0;
  color: rgb(5, 27, 20);
  font-size: 18px;
  line-height: 1.62;
}

.evidence-work-source {
  margin: 12px 0 0;
  color: rgba(15, 40, 68, 0.62);
  font-size: 13px;
  line-height: 1.45;
}

.evidence-readiness-line {
  margin: 14px 0 0;
  padding-top: 14px;
  border-top: 1px solid rgba(14, 120, 78, 0.1);
  color: rgb(20, 54, 31);
  font-size: 15px;
  line-height: 1.5;
}

.evidence-readiness-line.provisional-read {
  color: rgba(120, 82, 10, 0.92);
}

.evidence-confidence.provisional {
  border-color: rgba(196, 138, 32, 0.24);
  background: rgba(255, 249, 238, 0.92);
}

.evidence-confidence.provisional .evidence-confidence-label {
  color: rgb(120, 82, 10);
}

.evidence-insights-grid {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.evidence-insight-card {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(14, 120, 78, 0.12);
  background: rgba(248, 253, 250, 0.88);
}

.evidence-insight-card.tone-strong {
  border-color: rgba(22, 133, 87, 0.24);
}

.evidence-insight-card.tone-weak {
  border-color: rgba(196, 82, 32, 0.2);
  background: rgba(255, 249, 245, 0.92);
}

.evidence-insight-label {
  color: rgba(15, 40, 68, 0.55);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.evidence-insight-card strong {
  color: rgb(5, 27, 20);
  font-size: 15px;
}

.evidence-insight-quote {
  margin: 0;
  padding: 10px 12px;
  border-left: 3px solid rgba(14, 120, 78, 0.34);
  color: rgb(5, 27, 20);
  font-size: 14px;
  line-height: 1.48;
  font-style: italic;
  background: rgba(255, 255, 255, 0.72);
  border-radius: 0 12px 12px 0;
}

.evidence-insight-card p {
  margin: 0;
  color: rgba(15, 40, 68, 0.78);
  font-size: 14px;
  line-height: 1.48;
}

.evidence-insight-card small {
  color: rgba(15, 40, 68, 0.55);
  font-size: 12px;
}

.evidence-confidence {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(14, 120, 78, 0.16);
  background: rgba(242, 248, 243, 0.9);
}

.evidence-confidence-label {
  color: rgb(20, 54, 31);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.evidence-confidence-dots {
  display: inline-flex;
  gap: 4px;
}

.confidence-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(14, 120, 78, 0.18);
}

.confidence-dot.filled {
  background: rgb(14, 120, 78);
}

.evidence-check-details {
  margin-top: 14px;
}

.evidence-check-details > summary {
  cursor: pointer;
  color: rgb(14, 120, 78);
  font-size: 14px;
  font-weight: 700;
}

.evidence-check-body {
  margin-top: 12px;
}

.evidence-angles-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.evidence-angle-card {
  display: grid;
  gap: 10px;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid rgba(14, 120, 78, 0.12);
  background: rgba(255, 255, 255, 0.78);
}

.evidence-angle-card.tone-strong {
  border-color: rgba(22, 133, 87, 0.28);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(242, 251, 246, 0.92));
}

.evidence-angle-card.tone-moderate {
  border-color: rgba(196, 138, 32, 0.28);
}

.evidence-angle-card.tone-weak {
  border-color: rgba(196, 82, 32, 0.22);
}

.evidence-angle-top {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 8px;
  align-items: start;
}

.evidence-section-index {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(14, 120, 78, 0.12);
  color: rgb(14, 120, 78);
  font-size: 11px;
  font-weight: 800;
}

.evidence-angle-top strong {
  color: rgb(5, 27, 20);
  font-size: 15px;
  line-height: 1.25;
}

.evidence-angle-score {
  font-style: normal;
  color: rgb(5, 27, 20);
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
}

.evidence-angle-score small {
  font-size: 12px;
  font-weight: 700;
  color: rgba(15, 40, 68, 0.55);
}

.evidence-score-bar {
  height: 6px;
  border-radius: 999px;
  background: rgba(14, 120, 78, 0.12);
  overflow: hidden;
}

.evidence-score-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgb(14, 120, 78), rgb(34, 170, 110));
}

.evidence-angle-card.tone-weak .evidence-score-bar span {
  background: linear-gradient(90deg, rgb(196, 138, 32), rgb(214, 160, 48));
}

.evidence-angle-card p {
  margin: 0;
  color: rgba(15, 40, 68, 0.82);
  font-size: 14px;
  line-height: 1.48;
}

.evidence-angle-source {
  color: rgba(15, 40, 68, 0.55);
  font-size: 12px;
}

.evidence-funder-warning {
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(196, 82, 32, 0.24);
  background: rgba(255, 244, 238, 0.92);
}

.evidence-funder-warning strong {
  display: block;
  color: rgb(120, 42, 12);
  font-size: 15px;
}

.evidence-funder-warning p {
  margin: 6px 0 0;
  color: rgba(120, 42, 12, 0.86);
  font-size: 14px;
  line-height: 1.45;
}

.evidence-funder-grid {
  display: grid;
  gap: 14px;
}

.evidence-funder-grid.muted {
  opacity: 0.72;
}

.evidence-funder-card {
  padding: 18px 20px;
  border-radius: 18px;
  border: 1px solid rgba(14, 120, 78, 0.12);
  background: rgba(255, 255, 255, 0.82);
}

.evidence-funder-card.tone-ready {
  border-color: rgba(22, 133, 87, 0.28);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(242, 251, 246, 0.92));
}

.evidence-funder-card.tone-close {
  border-color: rgba(196, 138, 32, 0.32);
}

.evidence-funder-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.evidence-funder-head strong {
  display: block;
  color: rgb(5, 27, 20);
  font-size: 18px;
}

.evidence-funder-meta {
  display: block;
  margin-top: 4px;
  color: rgba(15, 40, 68, 0.62);
  font-size: 13px;
}

.evidence-funder-fit {
  text-align: right;
  color: rgb(5, 27, 20);
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
}

.evidence-funder-fit small {
  display: block;
  margin-top: 4px;
  color: rgba(15, 40, 68, 0.55);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.evidence-funder-conf {
  display: inline-block;
  margin-top: 10px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  background: rgba(90, 110, 140, 0.12);
  color: rgb(62, 82, 110);
}

.evidence-funder-fields {
  display: grid;
  gap: 10px;
  margin: 14px 0 0;
}

.evidence-funder-fields > div {
  display: grid;
  gap: 4px;
}

.evidence-funder-fields dt {
  color: rgba(15, 40, 68, 0.55);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.evidence-funder-fields dd {
  margin: 0;
  color: rgb(5, 27, 20);
  font-size: 14px;
  line-height: 1.45;
}

.evidence-improve-list {
  display: grid;
  gap: 10px;
}

.evidence-improve-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(14, 120, 78, 0.12);
  background: rgba(255, 255, 255, 0.78);
}

.evidence-improve-item.impact-high,
.evidence-improve-item.impact-critical {
  border-color: rgba(196, 82, 32, 0.24);
  background: rgba(255, 249, 245, 0.92);
}

.evidence-improve-index {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(14, 120, 78, 0.12);
  color: rgb(14, 120, 78);
  font-size: 13px;
  font-weight: 800;
}

.evidence-improve-item.impact-critical .evidence-improve-index {
  background: rgba(196, 82, 32, 0.14);
  color: rgb(176, 62, 22);
}

.evidence-improve-item strong {
  display: block;
  color: rgb(5, 27, 20);
  font-size: 16px;
}

.evidence-improve-item p {
  margin: 6px 0 0;
  color: rgba(15, 40, 68, 0.78);
  font-size: 14px;
  line-height: 1.48;
}

.evidence-impact-tag {
  display: inline-block;
  margin-top: 8px;
  font-style: normal;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(196, 82, 32, 0.86);
}

.evidence-improve-more {
  margin: 4px 0 0;
  color: rgba(15, 40, 68, 0.62);
  font-size: 13px;
}

.evidence-full-map {
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px dashed rgba(14, 120, 78, 0.22);
  background: rgba(248, 253, 250, 0.72);
}

.evidence-full-map > summary {
  cursor: pointer;
  color: rgb(14, 120, 78);
  font-weight: 700;
}

.evidence-full-map-body {
  display: grid;
  gap: 16px;
  margin-top: 16px;
}

.evidence-results-actions {
  padding-top: 8px;
}

.evidence-loading-strip {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(14, 120, 78, 0.16);
  background: rgba(242, 251, 246, 0.92);
}

.evidence-loading-strip p {
  margin: 0;
  color: rgba(15, 40, 68, 0.82);
  font-size: 14px;
  line-height: 1.45;
}

.evidence-loading-pulse {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  margin-top: 5px;
  border-radius: 999px;
  background: rgb(14, 120, 78);
  animation: evidence-pulse 1.4s ease-in-out infinite;
}

.evidence-section-loading {
  opacity: 0.92;
}

.evidence-skeleton-stack {
  display: grid;
  gap: 12px;
}

.evidence-skeleton-block {
  display: grid;
  gap: 10px;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(14, 120, 78, 0.1);
  background: rgba(255, 255, 255, 0.72);
}

.evidence-skeleton-line {
  display: block;
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(14, 120, 78, 0.08), rgba(14, 120, 78, 0.16), rgba(14, 120, 78, 0.08));
  background-size: 200% 100%;
  animation: evidence-shimmer 1.6s ease-in-out infinite;
}

.evidence-skeleton-line.wide { width: 72%; height: 14px; }
.evidence-skeleton-line.short { width: 42%; }

.evidence-section-enter {
  animation: evidence-section-in 0.55s ease both;
}

.evidence-results-stage.loading-followup .evidence-section-primary {
  animation: none;
}

.evidence-results-stage.followup-ready .evidence-section-enter:nth-of-type(2) { animation-delay: 0.05s; }
.evidence-results-stage.followup-ready .evidence-section-enter:nth-of-type(3) { animation-delay: 0.12s; }
.evidence-results-stage.followup-ready .evidence-section-enter:nth-of-type(4) { animation-delay: 0.18s; }

@keyframes evidence-shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

@keyframes evidence-section-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 820px) {
  .evidence-angles-grid {
    grid-template-columns: 1fr;
  }

  .evidence-funder-head {
    flex-direction: column;
  }

  .evidence-funder-fit {
    text-align: left;
  }

  .evidence-results-hero,
  .evidence-section {
    padding-left: 18px;
    padding-right: 18px;
  }
}

/* Page 2 (legacy demand map styles) */
.demand-stage .ngo-stage-head h1 {
  max-width: 15ch;
  font-size: clamp(42px, 5.2vw, 76px);
  line-height: 0.98;
}

.funding-brief {
  margin: 18px 0 14px;
  padding: 0;
}

.funding-brief-decision {
  max-width: 74ch;
}

.funding-brief-decision > span {
  display: block;
  margin-bottom: 8px;
  color: rgb(13, 137, 83);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.funding-brief-decision h2 {
  margin: 0;
  color: rgb(5, 27, 20);
  font-size: 30px;
  line-height: 1.08;
}

.funding-brief-decision p {
  max-width: 66ch;
  margin: 10px 0 0;
  color: rgb(5, 27, 20);
  font-size: 17.5px;
  line-height: 1.5;
  font-weight: 560;
}

.funding-brief-decision small {
  display: block;
  max-width: 72ch;
  margin-top: 10px;
  color: rgba(15, 40, 68, 0.62);
  font-size: 13px;
  line-height: 1.45;
}

.funding-brief-lines {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.funding-brief-line {
  padding: 14px 0 0;
  border-top: 2px solid rgba(14, 120, 78, 0.12);
}

.funding-brief-line.ready {
  border-color: rgba(22, 133, 87, 0.36);
}

.funding-brief-line.caution {
  border-color: rgba(196, 138, 32, 0.42);
}

.funding-brief-line span {
  display: block;
  margin-bottom: 7px;
  color: rgba(15, 40, 68, 0.62);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.funding-brief-line p {
  margin: 0;
  color: rgb(5, 27, 20);
  font-size: 14.5px;
  line-height: 1.48;
}

.funding-brief-line ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 4px;
}

.funding-brief-line li {
  color: rgb(5, 27, 20);
  font-size: 14.5px;
  line-height: 1.42;
}

.funding-brief-row {
  min-height: 126px;
  padding: 15px 16px;
  border-radius: 18px;
  border: 1px solid rgba(14, 120, 78, 0.1);
  background: rgba(255, 255, 255, 0.66);
}

.funding-brief-row.ready {
  border-color: rgba(22, 133, 87, 0.22);
  background: rgba(238, 250, 244, 0.72);
}

.funding-brief-row.caution {
  border-color: rgba(196, 138, 32, 0.22);
  background: rgba(255, 250, 237, 0.72);
}

.funding-brief-row span {
  display: block;
  margin-bottom: 9px;
  color: rgb(13, 137, 83);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.funding-brief-row strong {
  display: block;
  color: rgb(5, 27, 20);
  font-size: 17px;
  line-height: 1.22;
}

.funding-brief-row small {
  display: block;
  margin-top: 9px;
  color: rgba(15, 40, 68, 0.62);
  font-size: 13px;
  line-height: 1.4;
}

.position-read-card .position-read-text {
  font-size: 16px;
  line-height: 1.55;
  margin: 4px 0 14px;
}

.position-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.position-summary-card {
  min-height: 122px;
  padding: 15px 16px;
  border-radius: 18px;
  border: 1px solid rgba(12, 95, 61, 0.12);
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.88), rgba(244, 252, 248, 0.72));
  box-shadow: 0 16px 34px rgba(5, 45, 31, 0.045);
}

.position-summary-card.ready {
  border-color: rgba(19, 151, 91, 0.24);
}

.position-summary-card.caution {
  border-color: rgba(196, 138, 32, 0.28);
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.9), rgba(255, 250, 237, 0.76));
}

.position-summary-card span {
  display: block;
  margin-bottom: 9px;
  color: rgb(13, 137, 83);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.position-summary-card strong {
  display: block;
  color: rgb(5, 27, 20);
  font-size: 18px;
  line-height: 1.15;
}

.position-summary-card small {
  display: block;
  margin-top: 8px;
  color: rgba(15, 40, 68, 0.64);
  font-size: 13px;
  line-height: 1.38;
}

.position-receipts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
}

.position-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(22, 133, 87, 0.08);
  border: 1px solid rgba(22, 133, 87, 0.22);
  color: rgb(17, 101, 66);
  font-size: 12px;
  font-weight: 600;
}

.position-confirm {
  display: flex;
  align-items: flex-end;
  gap: 14px;
  flex-wrap: wrap;
  border-top: 1px dashed rgba(15, 40, 68, 0.15);
  padding-top: 14px;
}

.position-confirm > span {
  min-width: 220px;
  max-width: 360px;
  font-size: 13px;
  font-weight: 800;
  color: rgb(5, 27, 20);
  padding-bottom: 5px;
}

.position-confirm > span small {
  display: block;
  margin-top: 4px;
  color: rgba(15, 40, 68, 0.58);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
}

.position-confirm label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  color: rgba(15, 40, 68, 0.6);
}

.position-confirm input {
  border: 1px solid rgba(15, 40, 68, 0.18);
  border-radius: 8px;
  padding: 7px 10px;
  font: inherit;
  font-size: 13px;
  min-width: 180px;
}

.position-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 14px 0;
}

.position-card {
  border-radius: 18px;
  padding: 16px 18px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(14, 120, 78, 0.12);
  box-shadow: 0 18px 40px rgba(5, 45, 31, 0.06);
  display: flex;
  flex-direction: column;
  gap: 6px;
  backdrop-filter: blur(14px);
}

.position-card.ready {
  border-left: 4px solid rgba(22, 133, 87, 0.55);
}

.position-card.caution {
  border-left: 4px solid rgba(196, 138, 32, 0.55);
}

.position-card span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(15, 40, 68, 0.55);
}

.position-card strong {
  font-size: 15px;
}

.position-card p {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(15, 40, 68, 0.78);
}

.demand-area-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.demand-area {
  border: 1px solid rgba(14, 120, 78, 0.13);
  border-radius: 22px;
  background:
    linear-gradient(140deg, rgba(255, 255, 255, 0.92), rgba(248, 255, 251, 0.78)),
    rgba(255, 255, 255, 0.84);
  box-shadow: 0 18px 44px rgba(5, 45, 31, 0.052);
  overflow: hidden;
  backdrop-filter: blur(14px);
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.demand-area[open] {
  border-color: rgba(14, 149, 88, 0.3);
  box-shadow: 0 24px 58px rgba(5, 45, 31, 0.08);
}

.demand-area > summary.demand-row-summary {
  display: grid !important;
  grid-template-columns: auto minmax(220px, 0.75fr) minmax(300px, 1.25fr) auto;
  align-items: center;
  gap: 18px;
  padding: 19px 22px;
  cursor: pointer;
  list-style: none;
  min-height: 86px;
  appearance: none;
}

.demand-area > summary.demand-row-summary::-webkit-details-marker {
  display: none;
}

.demand-area > summary.demand-row-summary::marker {
  content: "";
}

.demand-row-main {
  min-width: 0;
}

.demand-area > summary.demand-row-summary strong {
  font-size: 17px;
  display: block;
  line-height: 1.15;
  color: rgb(3, 25, 18);
}

.demand-area > summary.demand-row-summary small {
  color: rgba(15, 40, 68, 0.6);
  font-size: 13.5px;
  display: block;
  margin-top: 4px;
  line-height: 1.35;
}

.demand-row-preview {
  color: rgba(15, 40, 68, 0.7);
  font-size: 14px;
  line-height: 1.45;
  min-width: 0;
  max-width: 56ch;
}

.demand-row-icon {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(14, 120, 78, 0.08);
  color: rgb(7, 94, 59);
  font-weight: 800;
  transition: transform 160ms ease;
}

.demand-area[open] .demand-row-icon {
  transform: rotate(180deg);
}

.demand-strength {
  flex-shrink: 0;
  min-width: 84px;
  text-align: center;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.demand-strength.strong {
  background: rgba(22, 133, 87, 0.12);
  color: rgb(17, 101, 66);
}

.demand-strength.moderate {
  background: rgba(196, 138, 32, 0.13);
  color: rgb(146, 94, 20);
}

.demand-strength.weak {
  background: rgba(190, 60, 60, 0.1);
  color: rgb(150, 44, 44);
}

.demand-area-body {
  padding: 18px 22px 22px;
  border-top: 1px solid rgba(14, 120, 78, 0.08);
  animation: demand-body-in 180ms ease both;
}

@keyframes demand-body-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.demand-why {
  font-size: 13px;
  font-style: italic;
  color: rgba(15, 40, 68, 0.55);
  margin: 10px 0;
}

.demand-block {
  margin: 0;
}

.demand-block span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(15, 40, 68, 0.5);
  display: block;
  margin-bottom: 4px;
}

.demand-block p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(15, 40, 68, 0.8);
}

.demand-insight-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.05fr) minmax(0, 1.05fr);
  gap: 14px;
  padding: 16px 0 12px;
}

.demand-insight-grid .demand-block {
  border-radius: 18px;
  border: 1px solid rgba(14, 120, 78, 0.09);
  background: rgba(250, 255, 252, 0.82);
  padding: 16px 17px;
}

.demand-insight-grid .demand-next {
  border-color: rgba(196, 138, 32, 0.22);
  background: linear-gradient(140deg, rgba(255, 250, 237, 0.9), rgba(255, 255, 249, 0.8));
}

.demand-receipt {
  margin: 2px 0 12px;
}

.demand-area .funder-board {
  margin-top: 12px;
  box-shadow: none;
  border: none;
  padding: 0;
}

.funder-fit-score.criteria {
  font-size: 22px;
}

.unread-note {
  margin: 14px 0;
  padding: 12px 16px;
  border-radius: 12px;
  background: rgba(90, 110, 140, 0.06);
  border: 1px dashed rgba(90, 110, 140, 0.35);
}

.unread-note p {
  margin: 4px 0;
  font-size: 13px;
  color: rgba(15, 40, 68, 0.7);
}

.demand-actions {
  align-items: flex-end;
}

.demand-cta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  max-width: 560px;
}

.application-angle {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(15, 40, 68, 0.75);
  text-align: right;
}

.application-angle-banner {
  grid-column: 1 / -1;
  padding: 10px 14px;
  margin-bottom: 12px;
  border-radius: 10px;
  background: rgba(22, 133, 87, 0.06);
  border: 1px solid rgba(22, 133, 87, 0.2);
}

.application-angle-banner span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgb(17, 101, 66);
}

.application-angle-banner p {
  margin: 4px 0 0;
  font-size: 13px;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .funding-brief-lines {
    grid-template-columns: 1fr;
  }

  .position-summary-grid {
    grid-template-columns: 1fr;
  }

  .position-cards {
    grid-template-columns: 1fr;
  }

  .demand-area > summary.demand-row-summary {
    grid-template-columns: 1fr auto !important;
  }

  .demand-strength,
  .demand-row-preview {
    grid-column: 1 / -1;
  }

  .demand-insight-grid {
    grid-template-columns: 1fr;
  }
}

/* Page 3 -> extension handoff: three steps, one code, one button. */
.portal-handoff-steps {
  margin: 0 0 14px;
  padding: 0 0 0 20px;
  display: grid;
  gap: 8px;
  color: #2b4a35;
  font-size: 0.95rem;
  line-height: 1.55;
}

.portal-handoff-steps li::marker {
  font-weight: 700;
  color: #0a9656;
}

.portal-handoff .extension-pairing.active .pairing-code {
  font-size: 1.9rem;
  letter-spacing: 0.14em;
}

/* Demo banner: unmistakable but not screaming. */
.demo-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  padding: 10px 16px;
  border-radius: 12px;
  background: linear-gradient(135deg, #eef6ff, #e8f1fd);
  border: 1px solid rgba(37, 99, 235, 0.18);
  color: #1e3a8a;
  font-size: 0.9rem;
  font-weight: 600;
}

.demo-banner span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2563eb;
  flex: none;
}
.funder-market-read {
  margin: 28px 0;
  border: 1px solid #cdd9d4;
  border-radius: 22px;
  overflow: hidden;
  background: #f8fbfa;
  color: #17231f;
}

.funder-market-hero {
  padding: 28px;
  background: linear-gradient(135deg, #102820 0%, #1c4838 68%, #215b45 100%);
  color: #fff;
}

.funder-market-hero > span,
.funder-market-section-heading > span,
.funder-expectation-demand > span,
.funder-expectation-evidence > span,
.funder-expectation-action > span {
  display: block;
  margin-bottom: 7px;
  color: #77d6ae;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.funder-market-hero h2 {
  max-width: 920px;
  margin: 7px 0 10px;
  color: #fff;
  font-size: clamp(1.55rem, 3vw, 2.45rem);
  line-height: 1.08;
}

.funder-market-hero > p {
  max-width: 850px;
  margin: 0;
  color: #dcece5;
  font-size: 1rem;
  line-height: 1.6;
}

.funder-market-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 20px;
}

.funder-market-facts span {
  padding: 8px 11px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #dcece5;
  font-size: 0.78rem;
}

.funder-market-facts span.is-complete {
  border-color: rgba(119, 214, 174, 0.55);
  color: #b9f2d9;
}

.funder-market-facts strong {
  color: #fff;
}

.funder-market-section {
  padding: 26px 28px;
  border-top: 1px solid #dbe5e1;
}

.funder-market-section-heading {
  margin-bottom: 16px;
}

.funder-market-section-heading > span {
  color: #32785e;
}

.funder-market-section-heading h3 {
  margin: 0;
  color: #163328;
  font-size: 1.22rem;
}

.funder-consensus-grid,
.funder-divergence-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.funder-consensus-card,
.funder-divergence-grid article {
  padding: 18px;
  border: 1px solid #d4dfda;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(14, 45, 34, 0.05);
}

.funder-consensus-card.status-missing {
  border-left: 5px solid #c45f47;
}

.funder-consensus-card.status-partial {
  border-left: 5px solid #d39a36;
}

.funder-consensus-card.status-ready {
  border-left: 5px solid #2d8b66;
}

.funder-consensus-card.status-verify,
.funder-expectation-row.status-verify {
  border-left: 5px solid #4f7891;
}

.funder-consensus-card > span {
  color: #567168;
  font-size: 0.74rem;
  font-weight: 800;
  text-transform: uppercase;
}

.funder-consensus-card h4,
.funder-divergence-grid h4 {
  margin: 7px 0 8px;
  color: #18372c;
  font-size: 1rem;
}

.funder-consensus-card p,
.funder-divergence-grid p,
.funder-consensus-card small,
.funder-divergence-grid small {
  color: #4c625a;
  line-height: 1.5;
}

.funder-expectation-matrix {
  display: grid;
  gap: 12px;
}

.funder-expectation-row {
  display: grid;
  grid-template-columns: minmax(150px, 0.85fr) minmax(220px, 1.4fr) minmax(220px, 1.3fr);
  gap: 16px;
  padding: 18px;
  border: 1px solid #d7e1dd;
  border-radius: 15px;
  background: #fff;
}

.funder-expectation-row.status-missing {
  border-left: 5px solid #c45f47;
}

.funder-expectation-row.status-partial {
  border-left: 5px solid #d39a36;
}

.funder-expectation-row.status-ready {
  border-left: 5px solid #2d8b66;
}

.funder-expectation-status > span {
  display: inline-block;
  margin-bottom: 8px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #edf3f0;
  color: #49645a;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.funder-expectation-status strong,
.funder-expectation-status small {
  display: block;
}

.funder-expectation-status strong {
  color: #17372b;
  line-height: 1.3;
}

.funder-expectation-status small {
  margin-top: 7px;
  color: #708078;
  line-height: 1.4;
}

.funder-expectation-demand > span,
.funder-expectation-evidence > span,
.funder-expectation-action > span {
  color: #477260;
}

.funder-expectation-demand p,
.funder-expectation-evidence p,
.funder-expectation-action p {
  margin: 0;
  color: #4c625a;
  line-height: 1.5;
}

.funder-expectation-evidence blockquote {
  margin: 0;
  color: #273d35;
  font-size: 0.88rem;
  line-height: 1.5;
}

.funder-expectation-evidence cite {
  display: block;
  margin-top: 7px;
  color: #73847d;
  font-size: 0.73rem;
  font-style: normal;
}

.funder-expectation-action {
  grid-column: 2 / 4;
  padding-top: 12px;
  border-top: 1px solid #e2e9e6;
}

.funder-market-source-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  grid-column: 1 / -1;
  margin-top: 10px;
}

.funder-market-source-links a {
  color: #256e52;
  font-size: 0.73rem;
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.funder-distinctive-signals,
.funder-corpus-audit {
  padding: 19px 28px;
  border-top: 1px solid #dbe5e1;
  background: #f2f7f5;
}

.funder-distinctive-signals summary,
.funder-corpus-audit summary {
  cursor: pointer;
  color: #234b3c;
  font-weight: 800;
}

.funder-distinctive-signals article {
  padding: 14px 0;
  border-bottom: 1px solid #d9e4df;
}

.funder-distinctive-signals article:last-child {
  border-bottom: 0;
}

.funder-distinctive-signals p,
.funder-distinctive-signals small,
.funder-corpus-audit p {
  color: #50675e;
  line-height: 1.5;
}

@media (max-width: 840px) {
  .funder-consensus-grid,
  .funder-divergence-grid,
  .funder-expectation-row {
    grid-template-columns: 1fr;
  }

  .funder-expectation-action,
  .funder-market-source-links {
    grid-column: 1;
  }

  .funder-market-hero,
  .funder-market-section,
  .funder-distinctive-signals,
  .funder-corpus-audit {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.monitored-routes {
  margin: 0 0 24px;
  padding: 24px;
  border: 1px solid #cbdcd4;
  border-radius: 20px;
  background: #f3f8f5;
}

.monitored-routes-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 17px;
}

.monitored-routes-head > div > span {
  display: block;
  margin-bottom: 5px;
  color: #267157;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.monitored-routes-head h2 {
  margin: 0;
  color: #15392b;
  font-size: 1.35rem;
}

.monitored-routes-head p {
  max-width: 760px;
  margin: 7px 0 0;
  color: #566b62;
  line-height: 1.5;
}

.monitored-routes-head > small {
  flex: none;
  padding: 7px 10px;
  border-radius: 999px;
  background: #dcebe4;
  color: #2f624e;
  font-weight: 800;
}

.monitored-route-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.monitored-route-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 18px;
  border: 1px solid #d2dfd9;
  border-top: 5px solid #568a75;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(20, 63, 47, 0.05);
}

.monitored-route-card.status-registration_open,
.monitored-route-card.status-open {
  border-top-color: #23855f;
}

.monitored-route-card.status-closed,
.monitored-route-card.status-registration_closed {
  border-top-color: #9b7454;
}

.monitored-route-topline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.monitored-route-topline > span {
  color: #4e675d;
  font-size: 0.74rem;
  font-weight: 800;
  text-transform: uppercase;
}

.monitored-route-topline > strong {
  max-width: 56%;
  color: #246c51;
  font-size: 0.72rem;
  line-height: 1.35;
  text-align: right;
}

.monitored-route-card h3 {
  margin: 0 0 5px;
  color: #183b2e;
  font-size: 1.05rem;
}

.monitored-route-card > p {
  color: #566b62;
  font-size: 0.88rem;
  line-height: 1.5;
}

.monitored-route-card .monitored-route-amount {
  margin: 0 0 5px;
  color: #213e33;
  font-weight: 800;
}

.monitored-route-position {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 4px 0 13px;
}

.monitored-route-position span {
  padding: 5px 8px;
  border-radius: 8px;
  background: #eef3f0;
  color: #566b62;
  font-size: 0.7rem;
  font-weight: 800;
}

.monitored-route-position .route-evidence-ready {
  background: #dff2e9;
  color: #21684e;
}

.monitored-route-position .route-evidence-review {
  background: #fbefd4;
  color: #8a6120;
}

.monitored-route-position .route-evidence-blocked {
  background: #f7e2dc;
  color: #95503e;
}

.monitored-route-actions-needed {
  margin: 0 0 14px;
  padding: 12px;
  border-radius: 11px;
  background: #f7f3ec;
}

.monitored-route-actions-needed strong {
  color: #574c38;
  font-size: 0.75rem;
}

.monitored-route-actions-needed ul {
  margin: 7px 0 0;
  padding-left: 18px;
  color: #6d6250;
  font-size: 0.78rem;
  line-height: 1.45;
}

.monitored-route-ready {
  padding: 10px;
  border-radius: 10px;
  background: #e6f4ed;
  color: #2a654e !important;
}

.monitored-route-proof {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid #e2e9e5;
}

.monitored-route-proof small {
  color: #6c7c75;
  font-size: 0.67rem;
}

.monitored-route-proof a {
  flex: none;
  color: #256e52;
  font-size: 0.72rem;
  font-weight: 800;
}

.monitored-route-card > .ngo-inline-actions {
  margin-top: 13px;
}

@media (max-width: 1040px) {
  .monitored-route-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .monitored-routes {
    padding: 18px;
  }

  .monitored-routes-head {
    display: block;
  }

  .monitored-routes-head > small {
    display: inline-block;
    margin-top: 12px;
  }
}
.org-portfolio {
  margin: 0 0 28px;
  padding: clamp(24px, 4vw, 40px);
  border: 1px solid var(--editorial-rule);
  border-radius: 28px;
  background:
    linear-gradient(160deg, var(--editorial-surface-translucent), var(--editorial-shadow)),
    var(--editorial-surface);
  box-shadow: 0 18px 48px var(--editorial-shadow);
}

.org-portfolio > .director-brief-kicker {
  margin-bottom: 8px;
}

.org-portfolio-archetype {
  margin: 0 0 10px;
  color: var(--status-ready);
  font-size: .95rem;
  font-weight: 700;
}

.org-portfolio h2 {
  margin: 0 0 14px;
  max-width: 820px;
  color: var(--editorial-ink);
  font-size: clamp(1.55rem, 3vw, 2.35rem);
  line-height: 1.15;
}

.org-portfolio-reason,
.org-portfolio-archetype-reason {
  margin: 0 0 12px;
  max-width: 820px;
  color: var(--status-ready);
  line-height: 1.6;
}

.org-portfolio-table-wrap {
  margin-top: 22px;
  overflow-x: auto;
  border: 1px solid var(--editorial-rule);
  border-radius: 18px;
  background: var(--editorial-surface);
}

.org-portfolio-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
}

.org-portfolio-table th,
.org-portfolio-table td {
  padding: 14px 16px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--editorial-rule);
}

.org-portfolio-table th {
  color: var(--editorial-muted);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: var(--editorial-surface);
}

.org-portfolio-table td {
  color: var(--editorial-ink);
  font-size: .94rem;
  line-height: 1.45;
}

.org-portfolio-table tr:last-child td {
  border-bottom: 0;
}

.org-portfolio-table strong {
  display: block;
  margin-bottom: 6px;
  color: var(--status-ready);
}

.org-portfolio-next,
.org-portfolio-provenance {
  display: block;
  color: var(--editorial-muted);
  font-size: .82rem;
  line-height: 1.4;
}

.org-portfolio-next {
  margin-bottom: 4px;
}

.org-portfolio-lane {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--editorial-surface);
  color: var(--editorial-ink);
  font-size: .75rem;
  font-weight: 850;
  line-height: 1.2;
}

.org-portfolio-lane.lane-apply_now { background: var(--status-ready-bg); color: var(--status-ready); }
.org-portfolio-lane.lane-approach_or_codesign { background: var(--editorial-surface); color: var(--status-info); }
.org-portfolio-lane.lane-build_evidence_first { background: var(--editorial-surface-muted); color: var(--status-warning); }
.org-portfolio-lane.lane-do_not_pursue { background: var(--editorial-surface); color: var(--status-stop); }

.org-portfolio-lanes {
  display: grid;
  gap: 16px;
  margin-top: 22px;
}

.org-portfolio-lanes section {
  padding: 16px 18px;
  border: 1px solid var(--editorial-rule);
  border-radius: 16px;
  background: var(--editorial-surface);
}

.org-portfolio-lanes h3 {
  margin: 0 0 10px;
  color: var(--editorial-ink);
  font-size: 1rem;
}

.org-portfolio-lanes ul {
  margin: 0;
  padding-left: 18px;
  color: var(--status-ready);
  line-height: 1.55;
}

.org-portfolio-gaps {
  margin-top: 20px;
  padding: 14px 16px;
  border: 1px solid var(--editorial-rule);
  border-radius: 16px;
  background: var(--editorial-surface);
}

.org-portfolio-gaps summary {
  cursor: pointer;
  color: var(--editorial-ink);
  font-weight: 800;
}

.org-portfolio-gaps ul {
  display: grid;
  gap: 10px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.org-portfolio-gaps li {
  display: grid;
  gap: 4px;
  color: var(--status-ready);
  line-height: 1.45;
}

.org-portfolio-gap-state {
  width: fit-content;
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--editorial-surface);
  color: var(--editorial-ink);
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.org-portfolio-gap-state.state-confirmed_absent {
  background: var(--status-info-bg);
  color: var(--status-info);
}

.org-portfolio-gap-note {
  margin: 12px 0 0;
  color: var(--editorial-muted);
  font-size: .86rem;
  line-height: 1.45;
}

.strand-funder-tests {
  margin: 28px 0;
  overflow: hidden;
  border: 1px solid #c9ded5;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 20px 54px rgba(17, 63, 49, .08);
}

.snapshot-market-position {
  border-top: 6px solid var(--editorial-accent);
}

.snapshot-mapping-audit {
  display: grid;
  gap: 6px;
  margin: 18px 0 4px;
  padding: 14px 16px;
  border-left: 4px solid var(--editorial-accent);
  background: var(--editorial-surface);
  color: var(--status-ready);
}
.snapshot-mapping-audit strong { color: var(--status-ready); }
.snapshot-mapping-audit p { margin: 0; line-height: 1.45; }
.snapshot-mapping-audit span { color: var(--editorial-ink); font-size: .8rem; font-weight: 800; }
.snapshot-mapping-audit small { color: var(--editorial-muted); line-height: 1.4; }

.snapshot-market-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 22px 0;
}

.snapshot-market-summary article,
.snapshot-market-routes article {
  padding: 18px;
  border: 1px solid var(--editorial-rule);
  border-radius: 16px;
  background: var(--editorial-surface);
}

.snapshot-market-summary strong {
  display: block;
  color: var(--status-ready);
  font-size: 1.45rem;
}

.snapshot-market-summary span,
.snapshot-market-summary small {
  color: var(--editorial-muted);
  font-size: .82rem;
  font-weight: 750;
}

.snapshot-market-summary p,
.snapshot-market-routes p {
  margin: 10px 0 0;
  color: var(--status-ready);
  line-height: 1.5;
}

.snapshot-market-history {
  margin: 16px 0;
  padding: 16px 18px;
  border-left: 4px solid var(--editorial-rule);
  background: var(--editorial-surface);
}

.snapshot-market-history h3 { margin: 0 0 10px; color: var(--editorial-ink); }
.snapshot-market-history ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.snapshot-market-history li { display: flex; justify-content: space-between; gap: 14px; color: var(--editorial-muted); }

.snapshot-market-routes { display: grid; gap: 12px; }
.snapshot-market-routes article { background: var(--editorial-surface); }
.snapshot-market-routes header,
.snapshot-market-routes footer { display: flex; justify-content: space-between; gap: 16px; }
.snapshot-market-routes header strong { color: var(--status-ready); }
.snapshot-market-routes header span { color: var(--editorial-ink); font-size: .78rem; font-weight: 850; text-align: right; }
.snapshot-market-routes footer { margin-top: 12px; color: var(--editorial-muted); font-size: .75rem; }

.snapshot-comparable-funders {
  display: grid;
  gap: 14px;
  margin: 24px 0;
  padding: 20px;
  border: 1px solid var(--editorial-rule);
  border-radius: 18px;
  background: linear-gradient(145deg, var(--editorial-surface), var(--editorial-surface));
}

.snapshot-comparable-funders > header h3 { margin: 4px 0 8px; color: var(--editorial-ink); }
.snapshot-comparable-funders > header > p:last-child { margin: 0; color: var(--editorial-muted); line-height: 1.5; }
.snapshot-comparable-funders > div { display: grid; gap: 12px; }
.snapshot-comparable-funders article { padding: 16px; border: 1px solid var(--editorial-rule); border-radius: 14px; background: var(--editorial-surface); }
.snapshot-comparable-funders article > header { display: flex; justify-content: space-between; gap: 14px; }
.snapshot-comparable-funders article > header strong { color: var(--status-ready); }
.snapshot-comparable-funders article > header span { color: var(--status-warning); font-size: .75rem; font-weight: 850; text-transform: uppercase; }
.snapshot-comparable-funders article > p { margin: 10px 0 0; color: var(--status-ready); line-height: 1.45; }
.snapshot-comparable-funders ul { display: grid; gap: 7px; margin: 12px 0 0; padding: 0; list-style: none; }
.snapshot-comparable-funders li { display: grid; grid-template-columns: minmax(130px, .7fr) minmax(0, 1.3fr); gap: 4px 10px; color: var(--editorial-muted); font-size: .82rem; }
.snapshot-comparable-funders li strong { color: var(--status-ready); }
.snapshot-comparable-funders li small { grid-column: 2; color: var(--status-warning); }
.snapshot-comparable-award a { color: var(--editorial-ink); font-weight: 850; }
.snapshot-funding-explanation { margin-top: 12px; padding: 12px 14px; border-left: 3px solid var(--editorial-accent); background: var(--editorial-surface); }
.snapshot-funding-explanation strong { color: var(--status-ready); font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }
.snapshot-funding-explanation p { margin: 6px 0; color: var(--editorial-ink); }
.snapshot-funding-explanation small { display: block; color: var(--editorial-muted); line-height: 1.45; }
.snapshot-funding-pattern strong { display: block; color: var(--status-ready); font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; }
.snapshot-comparable-next { padding-top: 10px; border-top: 1px solid var(--editorial-rule); font-size: .86rem; }
.snapshot-comparable-next strong { display: block; color: var(--status-ready); font-size: .72rem; letter-spacing: .05em; text-transform: uppercase; }
.snapshot-market-coverage-gap { margin: 20px 0; padding: 16px 18px; border: 1px dashed var(--editorial-rule); border-radius: 14px; background: var(--editorial-surface); color: var(--editorial-muted); }
.snapshot-market-coverage-gap strong { color: var(--status-ready); }
.snapshot-market-coverage-gap p { margin: 7px 0 0; line-height: 1.5; }
.snapshot-online-peer-leads { display: grid; gap: 12px; margin: 22px 0; padding: 20px; border: 1px solid var(--editorial-rule); border-radius: 18px; background: var(--editorial-surface); }
.snapshot-online-peer-leads > header h3 { margin: 4px 0 8px; color: var(--editorial-ink); }
.snapshot-online-peer-leads > header p:last-child { margin: 0; color: var(--editorial-muted); line-height: 1.45; }
.snapshot-online-peer-leads article { padding: 15px; border: 1px solid var(--editorial-rule); border-radius: 13px; background: var(--editorial-surface); }
.snapshot-online-peer-leads article > header { display: flex; justify-content: space-between; gap: 12px; }
.snapshot-online-peer-leads article > header strong { color: var(--status-ready); }
.snapshot-online-peer-leads article > header span { color: var(--editorial-muted); font-size: .78rem; }
.snapshot-online-peer-leads article > p { color: var(--editorial-muted); line-height: 1.5; }
.snapshot-online-peer-leads article > small { color: var(--status-warning); }
.snapshot-online-peer-leads ul { display: grid; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.snapshot-online-peer-leads li { display: grid; grid-template-columns: minmax(130px, .5fr) minmax(0, 1fr) auto; gap: 6px 10px; align-items: baseline; padding-top: 8px; border-top: 1px solid var(--editorial-rule); color: var(--editorial-muted); font-size: .82rem; }
.snapshot-online-peer-leads li a { color: var(--status-stop); font-weight: 800; }
.snapshot-online-peer-leads li small { grid-column: 2 / -1; color: var(--editorial-muted); }

@media (max-width: 720px) {
  .snapshot-comparable-funders li { grid-template-columns: 1fr; gap: 2px; }
  .snapshot-comparable-funders article > header { display: grid; }
  .snapshot-online-peer-leads li { grid-template-columns: 1fr; }
  .snapshot-online-peer-leads li small { grid-column: 1; }
}

.coverage-gaps {
  margin: 28px 0;
  overflow: hidden;
  border: 1px dashed #c7b8d8;
  border-radius: 26px;
  background: #fbf9fd;
  box-shadow: 0 20px 54px rgba(63, 40, 79, .06);
}

.coverage-gaps .coverage-gap-row {
  border-left: 4px solid #9a7fb8;
}

.coverage-gaps .director-decision-verdict {
  background: var(--editorial-surface);
  color: var(--status-info);
}

.programme-gates-secondary {
  margin: 28px 0;
  padding: 18px 20px;
  border: 1px solid #d5e7df;
  border-radius: 20px;
  background: #f8fcfa;
}

.programme-gates-secondary > summary {
  cursor: pointer;
  color: #1b674e;
  font-weight: 850;
}

.programme-gates-secondary .director-decision-board {
  margin-top: 16px;
  box-shadow: none;
}

.org-portfolio-incomplete {
  border-color: var(--editorial-rule);
  background: var(--editorial-surface);
}

.strand-test-label {
  display: block;
  color: #5d766c;
  font-size: .8rem;
  line-height: 1.35;
}

.funder-judgment-grid {
  display: grid;
  gap: 10px;
  margin: 14px 0 0;
}

.funder-judgment-grid div {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.funder-judgment-grid dt {
  color: #6a7f77;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.funder-judgment-grid dd {
  margin: 0;
  color: #294e42;
  font-size: .88rem;
  line-height: 1.45;
}

.director-brief {
  max-width: 980px;
  margin: 0 auto;
  color: var(--editorial-ink);
}

.director-brief-kicker {
  margin: 0 0 12px;
  color: var(--status-ready);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.director-brief-verdict {
  padding: clamp(28px, 5vw, 54px);
  border-radius: 30px;
  background: var(--editorial-ink);
  color: var(--editorial-on-accent);
}

.director-brief-verdict .director-brief-kicker { color: var(--status-ready); }
.director-brief-verdict h2 { margin: 0 0 18px; max-width: 780px; color: var(--editorial-on-accent); font-size: clamp(1.9rem, 3.6vw, 3.05rem); line-height: 1.08; }
.director-brief-verdict > p:not(.director-brief-kicker) { max-width: 780px; font-size: clamp(1.05rem, 2vw, 1.3rem); line-height: 1.65; }
.director-brief-reasons { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--editorial-divider-translucent); }
.director-brief-reasons p { margin: 0; line-height: 1.55; }

.director-decision-board { margin-top: 28px; overflow: hidden; border: 1px solid var(--editorial-rule); border-radius: 26px; background: var(--editorial-surface); box-shadow: 0 20px 54px var(--editorial-shadow); }
.director-decision-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, .8fr); gap: 24px; align-items: end; padding: 28px 30px; background: linear-gradient(135deg, var(--editorial-surface), var(--editorial-surface)); }
.director-decision-heading h3 { margin: 0; color: var(--editorial-ink); font-size: clamp(1.4rem, 2.4vw, 2rem); }
.director-decision-heading > p { margin: 0; color: var(--editorial-muted); line-height: 1.55; }
.director-decision-list { display: grid; }
.director-decision-row { display: grid; grid-template-columns: minmax(170px, .72fr) minmax(260px, 1.5fr) minmax(230px, 1fr); gap: 22px; align-items: start; padding: 24px 30px; border-top: 1px solid var(--editorial-rule); border-left: 6px solid var(--editorial-rule); }
.director-decision-row.verdict-apply { border-left-color: var(--status-ready); background: var(--status-ready-bg); }
.director-decision-row.verdict-prepare { border-left-color: var(--status-warning); background: var(--status-warning-bg); }
.director-decision-row.verdict-confirm { border-left-color: var(--status-info); background: var(--status-info-bg); }
.director-decision-row.verdict-stop { border-left-color: var(--status-stop); background: var(--status-stop-bg); }
.director-decision-funder { display: grid; gap: 10px; }
.director-decision-funder strong { color: var(--editorial-ink); font-size: 1.04rem; line-height: 1.3; }
.director-decision-verdict { width: fit-content; padding: 6px 9px; border-radius: 999px; background: var(--editorial-surface); color: var(--editorial-ink); font-size: .72rem; font-weight: 900; letter-spacing: .08em; }
.verdict-apply .director-decision-verdict { background: var(--status-ready-bg); color: var(--status-ready); }
.verdict-prepare .director-decision-verdict { background: var(--status-warning-bg); color: var(--status-warning); }
.verdict-confirm .director-decision-verdict { background: var(--status-info-bg); color: var(--status-info); }
.verdict-stop .director-decision-verdict { background: var(--status-stop-bg); color: var(--status-stop); }
.director-decision-reason p, .director-decision-next { margin: 0; line-height: 1.55; }
.director-decision-reason small { display: block; margin-top: 8px; color: var(--editorial-muted); line-height: 1.4; }
.director-decision-dimensions { margin-top: 12px; }
.director-decision-dimensions summary { cursor: pointer; color: var(--editorial-ink); font-size: .82rem; font-weight: 850; }
.director-decision-dimensions dl { display: grid; gap: 8px; margin: 12px 0 0; }
.director-decision-dimensions dl div { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 10px; }
.director-decision-dimensions dt { color: var(--editorial-muted); font-size: .75rem; font-weight: 850; text-transform: uppercase; }
.director-decision-dimensions dd { margin: 0; color: var(--editorial-ink); font-size: .86rem; line-height: 1.4; }
.director-decision-next { color: var(--editorial-ink); }

.director-tests { padding: 60px 0 22px; }
.director-opportunities { padding: 58px 0 10px; }
.director-section-intro { max-width: 760px; margin: 0 0 24px; font-size: 1.05rem; line-height: 1.65; }
.director-opportunity { padding: 24px 0; border-top: 1px solid var(--editorial-rule); }
.director-opportunity h3 { margin: 0 0 12px; color: var(--editorial-ink); font-size: clamp(1.25rem, 2vw, 1.65rem); }
.director-opportunity p { margin: 8px 0; line-height: 1.6; }
.director-test { display: grid; grid-template-columns: 54px 1fr; gap: 22px; padding: 30px 0; border-top: 1px solid var(--editorial-rule); }
.director-test-number { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--editorial-surface); color: var(--editorial-ink); font-weight: 900; }
.director-test-status { display: inline-block; margin-bottom: 8px; color: var(--status-warning); font-size: .78rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.director-test-funders { margin: 0 0 10px !important; color: var(--editorial-muted); font-size: .88rem !important; font-weight: 750; }
.director-test.judgment-strong .director-test-status { color: var(--status-ready); }
.director-test.judgment-ineligible .director-test-status,
.director-test.judgment-not_ready .director-test-status { color: var(--status-stop); }
.director-test h3 { margin: 0 0 18px; color: var(--editorial-ink); font-size: clamp(1.35rem, 2.4vw, 2rem); }
.director-test p { margin: 10px 0; font-size: 1.03rem; line-height: 1.65; }
.director-test-action { margin-top: 18px !important; padding: 16px 18px; border-radius: 14px; background: var(--editorial-surface); }

.director-next-moves { margin-top: 30px; padding: clamp(26px, 4vw, 42px); border: 1px solid var(--editorial-rule); border-radius: 24px; background: var(--editorial-surface); }
.director-next-moves ol { margin: 0; padding-left: 24px; }
.director-next-moves li { padding: 12px 0 18px 8px; }
.director-next-moves li strong, .director-next-moves li span { display: block; }
.director-next-moves li span { margin-top: 5px; line-height: 1.55; }
.director-route-note { margin: 18px 0 0; padding-top: 20px; border-top: 1px solid var(--editorial-rule); line-height: 1.55; }
.director-sources { margin: 18px 0 0; padding: 18px 22px; border: 1px solid var(--editorial-rule); border-radius: 16px; background: var(--editorial-surface); }
.director-sources summary { cursor: pointer; font-weight: 800; }
.director-sources a { display: block; margin-top: 10px; overflow-wrap: anywhere; color: var(--editorial-ink); }
.director-brief-error { padding: clamp(26px, 5vw, 48px); border: 1px solid var(--editorial-rule); border-radius: 24px; background: var(--status-stop-bg); }
.director-brief-error h2 { max-width: 760px; margin: 0 0 16px; color: var(--status-stop); font-size: clamp(1.8rem, 4vw, 2.8rem); line-height: 1.1; }
.director-brief-error > p:not(.director-brief-kicker) { max-width: 780px; margin: 10px 0; line-height: 1.65; }
.director-brief-error .button { margin-top: 20px; }
.evidence-read-only .director-test { grid-template-columns: minmax(0, 1fr); }

/* Adaptive institutional diagnosis. The model supplies typed content; this
   renderer owns hierarchy, semantic colour and evidence disclosure. */
.diagnostic-snapshot {
  --snapshot-ink: var(--editorial-ink);
  --snapshot-muted: var(--editorial-muted);
  --snapshot-rule: var(--editorial-rule);
  --snapshot-paper: var(--editorial-surface);
  --snapshot-paper-alt: var(--editorial-surface-muted);
  --snapshot-accent: var(--editorial-accent);
  --snapshot-ready: var(--status-ready);
  --snapshot-alert: var(--status-stop);
  display: grid;
  gap: 0;
  width: min(1120px, 100%);
  margin: 0 auto;
  border: 1px solid var(--snapshot-rule);
  background: var(--snapshot-paper);
  color: var(--snapshot-ink);
  box-shadow: 0 26px 70px var(--editorial-shadow);
  font-family: var(--font-editorial);
}

.diagnostic-snapshot > *,
.snapshot-title,
.snapshot-funding-position,
.snapshot-frame,
.snapshot-section,
.snapshot-warning,
.snapshot-list-block,
.snapshot-judgement,
.snapshot-frame-main,
.snapshot-proposition,
.snapshot-proposition-grid {
  min-width: 0;
}

.snapshot-document-head,
.snapshot-document-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px clamp(24px, 5vw, 54px);
  font-family: var(--font-interface);
  font-size: 11px;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.snapshot-document-head {
  border-bottom: 1px solid var(--snapshot-rule);
}

.snapshot-document-head > div {
  display: flex;
  gap: 10px;
}

.snapshot-document-head strong { letter-spacing: .14em; }
.snapshot-document-head span,
.snapshot-document-foot { color: var(--snapshot-muted); }

.snapshot-title,
.snapshot-funding-position,
.snapshot-frame,
.snapshot-section,
.snapshot-warning,
.snapshot-list-block,
.snapshot-judgement {
  margin-inline: clamp(24px, 5vw, 54px);
}

.snapshot-title {
  padding: clamp(34px, 6vw, 72px) 0 clamp(28px, 5vw, 56px);
}

.snapshot-title-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  font-family: var(--font-interface);
}

.snapshot-title-meta span,
.snapshot-chip,
.snapshot-band,
.snapshot-verdict,
.snapshot-effort {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 25px;
  padding: 4px 8px;
  border: 1px solid currentColor;
  border-radius: 2px;
  font-family: var(--font-interface);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .06em;
  line-height: 1;
  text-transform: uppercase;
}

.snapshot-title-meta span { color: var(--snapshot-accent); }
.snapshot-title-meta span { max-width: 100%; white-space: normal; }

.snapshot-title h1 {
  max-width: 850px;
  margin: 0;
  font-size: clamp(34px, 6vw, 64px);
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: 1.02;
  overflow-wrap: break-word;
}

.snapshot-title > p {
  margin: 20px 0 0;
  color: var(--snapshot-muted);
  font-family: var(--font-interface);
  font-size: 16px;
  font-weight: 750;
}

.snapshot-identity-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 34px;
  border-block: 1px solid var(--snapshot-rule);
}

.snapshot-identity-strip > span {
  display: grid;
  gap: 7px;
  padding: 16px 16px 16px 0;
  color: var(--snapshot-muted);
  font-family: var(--font-interface);
  font-size: 12px;
  line-height: 1.35;
}

.snapshot-identity-strip strong {
  color: var(--snapshot-ink);
  font-size: 9px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.snapshot-quality-note {
  display: flex;
  gap: 12px;
  align-items: baseline;
  margin: 0 clamp(24px, 5vw, 54px) 28px;
  padding: 12px 14px;
  border-left: 4px solid var(--snapshot-alert);
  background: var(--editorial-surface);
  font-family: var(--font-interface);
  font-size: 12px;
}

.snapshot-quality-note span { color: var(--snapshot-muted); }

.snapshot-coverage-note {
  margin: 0 clamp(24px, 5vw, 54px) 28px;
  padding: 14px 16px;
  border: 1px solid var(--editorial-rule);
  border-left: 4px solid var(--status-warning);
  background: var(--status-warning-bg);
  color: var(--editorial-ink);
  font-family: var(--font-interface);
  font-size: 12px;
  line-height: 1.5;
}

.snapshot-coverage-note strong {
  display: block;
  margin-bottom: 4px;
  color: var(--status-warning);
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.snapshot-coverage-note p { margin: 0; }

.snapshot-funding-position {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr);
  gap: 28px;
  padding: clamp(28px, 5vw, 48px);
  border: 1px solid var(--editorial-rule);
  border-left: 8px solid var(--snapshot-ready);
  background: var(--editorial-surface);
}

.snapshot-funding-position.status-route_not_yet_proven {
  border-color: var(--editorial-rule);
  border-left-color: var(--snapshot-accent);
  background: var(--status-warning-bg);
}

.snapshot-funding-position h2 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(28px, 4.5vw, 46px);
  font-weight: 550;
  letter-spacing: -.02em;
  line-height: 1.08;
}

.snapshot-funding-position > div > p:not(.snapshot-section-label) {
  max-width: 760px;
  margin: 18px 0 0;
  color: var(--editorial-ink);
  font-size: 17px;
  line-height: 1.58;
}

.snapshot-funding-position aside {
  padding: 20px;
  border: 1px solid var(--editorial-rule);
  background: var(--editorial-surface-translucent);
  font-family: var(--font-interface);
}

.snapshot-funding-position aside > strong,
.snapshot-funding-position-bottom strong {
  display: block;
  margin-bottom: 9px;
  color: var(--snapshot-muted);
  font-size: 9px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.snapshot-funding-position aside ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.4;
}

.snapshot-funding-position-bottom {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding-top: 20px;
  border-top: 1px solid var(--editorial-rule);
  font-family: var(--font-interface);
}

.snapshot-funding-position-bottom p {
  margin: 0;
  color: var(--editorial-muted);
  font-size: 12px;
  line-height: 1.5;
}

.snapshot-funding-position > .snapshot-evidence-drawer { grid-column: 1 / -1; }

.snapshot-frame {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(240px, .65fr);
  gap: 28px;
  padding: clamp(28px, 5vw, 50px);
  border-left: 7px solid var(--snapshot-ready);
  background: var(--editorial-surface);
}

.snapshot-frame-main h2,
.snapshot-section > h2 {
  margin: 0;
  color: var(--snapshot-ink);
  font-size: clamp(28px, 4.7vw, 48px);
  font-weight: 550;
  letter-spacing: -.02em;
  line-height: 1.08;
}

.snapshot-frame-main > p:not(.snapshot-section-label) {
  max-width: 740px;
  margin: 20px 0 0;
  color: var(--editorial-ink);
  font-size: 17px;
  line-height: 1.58;
}

.snapshot-section-label {
  margin: 0 0 12px;
  color: var(--snapshot-accent);
  font-family: var(--font-interface);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.snapshot-frame-meta,
.snapshot-proposition-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
  margin-top: 20px;
  color: var(--snapshot-muted);
  font-family: var(--font-interface);
  font-size: 11px;
}

.snapshot-alternative {
  align-self: stretch;
  padding: 20px;
  border: 1px solid var(--snapshot-rule);
  background: var(--snapshot-paper-alt);
}

.snapshot-alternative span {
  color: var(--snapshot-muted);
  font-family: var(--font-interface);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.snapshot-alternative p { margin: 12px 0 0; line-height: 1.55; }

.snapshot-frame > .snapshot-evidence-drawer { grid-column: 1 / -1; }

.snapshot-section {
  padding: clamp(42px, 6vw, 70px) 0;
  border-bottom: 1px solid var(--snapshot-rule);
}

.snapshot-section > h2 { margin-bottom: 28px; }

.snapshot-strength-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 12px;
}

.snapshot-strength-grid > article {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--editorial-rule);
  background: var(--editorial-surface);
}

.snapshot-strength-grid > article > strong {
  display: block;
  color: var(--status-ready);
  font-family: var(--font-interface);
  font-size: 12px;
}

.snapshot-strength-grid > article > p {
  margin: 10px 0 0;
  color: var(--editorial-ink);
  font-size: 14px;
  line-height: 1.5;
}

.snapshot-metric-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.snapshot-metric {
  min-height: 170px;
  padding: 20px;
  border: 1px solid var(--snapshot-rule);
  background: var(--editorial-surface);
}

.snapshot-metric > strong {
  display: block;
  margin-top: 18px;
  font-family: var(--font-interface);
  font-size: 32px;
  letter-spacing: -.03em;
}

.snapshot-metric p { margin: 6px 0; font-size: 15px; line-height: 1.35; }
.snapshot-metric small { color: var(--snapshot-muted); font-family: var(--font-interface); font-size: 10px; }

.snapshot-band { min-height: 21px; padding: 3px 6px; font-size: 8px; }
.snapshot-band.band-verified { color: var(--status-ready); }
.snapshot-band.band-published { color: var(--editorial-muted); }
.snapshot-band.band-derived { color: var(--status-warning); }
.snapshot-band.band-hypothesis { color: var(--status-stop); border-style: dashed; }

.snapshot-evidence-drawer {
  margin-top: 12px;
  font-family: var(--font-interface);
}

.snapshot-evidence-drawer > summary {
  color: var(--status-ready);
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}

.snapshot-evidence-drawer > div {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.snapshot-evidence-drawer article {
  padding: 10px 12px;
  border-left: 2px solid var(--snapshot-rule);
  background: var(--editorial-surface-translucent);
}

.snapshot-evidence-drawer strong,
.snapshot-evidence-drawer p,
.snapshot-evidence-drawer a {
  display: block;
  margin: 0;
  font-size: 10px;
  line-height: 1.45;
}

.snapshot-evidence-drawer p { margin-top: 3px; color: var(--snapshot-muted); }
.snapshot-evidence-drawer a { margin-top: 4px; color: var(--status-ready); }

.snapshot-table-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  border: 1px solid var(--snapshot-rule);
  background: var(--editorial-surface);
}

.snapshot-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-interface);
  font-size: 12px;
  line-height: 1.35;
}

.snapshot-table th {
  padding: 14px 15px;
  background: var(--editorial-ink);
  color: var(--editorial-on-accent);
  font-size: 9px;
  letter-spacing: .04em;
  text-align: left;
  text-transform: uppercase;
}

.snapshot-table td {
  min-width: 125px;
  padding: 16px 15px;
  border-top: 1px solid var(--snapshot-rule);
  vertical-align: top;
}

.snapshot-table tr:nth-child(4n + 3):not(.snapshot-evidence-row) td { background: var(--snapshot-paper-alt); }
.snapshot-table td small { display: block; margin-top: 6px; color: var(--snapshot-muted); line-height: 1.35; }
.snapshot-route-table td:nth-child(1) { min-width: 180px; }
.snapshot-route-table td:nth-child(2),
.snapshot-route-table td:nth-child(3),
.snapshot-route-table td:nth-child(4) { min-width: 210px; }
.snapshot-route-table td ul { margin: 0; padding-left: 17px; }
.snapshot-route-table td li + li { margin-top: 6px; }
.snapshot-route-table td > strong { display: block; margin-top: 10px; }
.snapshot-route-offer {
  margin: 10px 0 0;
  padding: 8px 9px;
  background: var(--editorial-surface);
  color: var(--status-ready);
  font-size: 10px;
  line-height: 1.4;
}

/* The assembled ask and the competitive read: the two answers a director
   needs after "am I eligible". */
.snapshot-route-ask {
  margin: 10px 0 0;
  padding: 9px 10px;
  border-left: 2px solid var(--editorial-accent);
  background: var(--editorial-surface);
}
.snapshot-route-ask p { margin: 0; font-size: 11px; line-height: 1.45; color: var(--editorial-ink); }
.snapshot-route-ask strong { display: block; font-size: 9px; letter-spacing: 0.07em; text-transform: uppercase; color: var(--status-ready); margin-bottom: 3px; }
.snapshot-route-ask small { display: block; margin-top: 5px; font-size: 9.5px; line-height: 1.4; color: var(--editorial-muted); }

.snapshot-route-competitive {
  margin: 9px 0 0;
  padding: 9px 10px;
  background: var(--editorial-surface);
  border: 1px solid var(--editorial-rule);
}
.snapshot-route-competitive p { margin: 0; font-size: 10.5px; line-height: 1.45; color: var(--editorial-ink); }
.snapshot-route-competitive strong { display: block; font-size: 9px; letter-spacing: 0.07em; text-transform: uppercase; color: var(--status-ready); margin-bottom: 3px; }
.snapshot-route-competitive ul { margin: 6px 0 0; padding-left: 14px; font-size: 10px; line-height: 1.45; }
.snapshot-route-competitive .snapshot-competitive-for li { color: var(--status-ready); }
.snapshot-route-competitive .snapshot-competitive-against li { color: var(--status-stop); }
.snapshot-route-competitive[data-standing="undifferentiated"] { border-left: 2px solid var(--editorial-accent); }

.snapshot-route-quality {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 14px;
  margin: 12px 0 0 46px;
  padding: 12px 14px;
  border: 1px solid var(--editorial-rule);
  background: var(--editorial-surface);
  color: var(--editorial-ink);
  font-size: 10.5px;
  line-height: 1.4;
}
.snapshot-route-quality > strong,
.snapshot-route-quality > p { grid-column: 1 / -1; }
.snapshot-route-quality > strong {
  color: var(--status-ready);
  font-size: 9px;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.snapshot-route-quality > span b { color: var(--editorial-muted); }
.snapshot-route-quality > p { margin: 2px 0 0; font-weight: 750; }

.snapshot-causal-chain { margin: 12px 0 0; padding: 0; list-style: none; counter-reset: causal; }
.snapshot-causal-chain li {
  display: grid;
  grid-template-columns: 110px 1fr 128px;
  gap: 10px;
  align-items: start;
  padding: 8px 0;
  border-top: 1px solid var(--editorial-rule);
  font-size: 10.5px;
  line-height: 1.45;
}
.snapshot-causal-stage { font-size: 9px; letter-spacing: 0.07em; text-transform: uppercase; color: var(--editorial-muted); }
.snapshot-causal-text { color: var(--editorial-ink); }
.snapshot-causal-flag { font-size: 9px; text-align: right; color: var(--editorial-muted); }
.snapshot-causal-chain li.is-unevidenced .snapshot-causal-flag { color: var(--status-stop); font-weight: 600; }
.snapshot-causal-chain li.is-unevidenced .snapshot-causal-stage { color: var(--status-stop); }
.snapshot-causal-reading { margin: 10px 0 0; font-size: 11px; line-height: 1.5; color: var(--editorial-ink); }
.snapshot-causal-subject { margin: 2px 0 0; font-size: 10px; color: var(--editorial-muted); }

.snapshot-blocker-tiers { display: grid; gap: 12px; margin-top: 10px; }
.snapshot-blocker-tier h3 { margin: 0; font-size: 11px; color: var(--editorial-ink); }
.snapshot-blocker-tier > small { display: block; margin: 2px 0 6px; font-size: 9.5px; color: var(--editorial-muted); }
.snapshot-blocker-tier ul { margin: 0; padding-left: 14px; }
.snapshot-blocker-tier li { font-size: 10.5px; line-height: 1.45; color: var(--editorial-ink); margin-bottom: 5px; }
.snapshot-blocker-tier li strong { font-weight: 600; }
.snapshot-blocker-tier li span { display: block; color: var(--editorial-muted); }
.snapshot-blocker-tier li small { display: block; font-size: 9px; color: var(--editorial-muted); }
.snapshot-blockers-lead { margin: 2px 0 0; font-size: 10.5px; color: var(--editorial-muted); }
.snapshot-route-discovery {
  margin: 6px 0 12px;
  padding: 8px 10px;
  background: var(--editorial-surface);
  border-left: 2px solid var(--editorial-accent);
  font-size: 10.5px;
  line-height: 1.45;
  color: var(--editorial-ink);
}

.snapshot-route-cards {
  display: grid;
  gap: 14px;
}

.snapshot-route-card {
  padding: 20px;
  border: 1px solid var(--snapshot-rule);
  border-left: 5px solid var(--snapshot-accent);
  background: var(--editorial-surface);
  font-family: var(--font-interface);
}

.snapshot-route-card > header {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.snapshot-route-card > header > span:first-child {
  color: var(--snapshot-accent);
  font-size: 13px;
  font-weight: 900;
}

.snapshot-route-card h3 { margin: 0; font-family: var(--font-editorial); font-size: 21px; }
.snapshot-route-card header small,
.snapshot-route-checked { display: block; margin-top: 4px; color: var(--snapshot-muted); font-size: 9px; }
.snapshot-route-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 20px;
  margin: 17px 0 0 42px;
}
.snapshot-route-card-grid p,
.snapshot-route-next { margin: 0; color: var(--editorial-ink); font-size: 11px; line-height: 1.45; }
.snapshot-route-card-grid strong,
.snapshot-route-next strong,
.snapshot-route-offer strong {
  display: block;
  margin-bottom: 4px;
  color: var(--snapshot-muted);
  font-size: 8px;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.snapshot-route-card .snapshot-route-offer,
.snapshot-route-card .snapshot-route-next,
.snapshot-route-card .snapshot-route-checked { margin-left: 42px; }
.snapshot-route-card .snapshot-route-next { margin-top: 10px; }
.snapshot-evidence-row td { padding-block: 0 10px; border-top: 0; background: var(--editorial-surface) !important; }
.snapshot-rank { color: var(--snapshot-accent); font-size: 13px; font-weight: 900; }
.snapshot-effort { min-height: 20px; padding: 3px 6px; color: var(--status-warning); font-size: 8px; }

.snapshot-warning {
  margin-top: clamp(30px, 5vw, 54px);
  padding: 26px 30px;
  border-left: 7px solid var(--snapshot-alert);
  background: var(--status-warning-bg);
}

.snapshot-warning h3 { margin: 0 0 12px; font-size: 25px; }
.snapshot-warning p { margin: 8px 0; line-height: 1.55; }

.snapshot-section-intro {
  max-width: 840px;
  margin: -4px 0 22px;
  color: var(--editorial-ink);
  font-family: var(--font-editorial);
  font-size: 17px;
  line-height: 1.58;
}

.snapshot-financial-grid,
.snapshot-contest-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1px;
  border: 1px solid var(--snapshot-rule);
  background: var(--snapshot-rule);
}

.snapshot-financial-grid article,
.snapshot-contest-grid article {
  min-width: 0;
  padding: 20px;
  background: var(--editorial-surface);
}

.snapshot-financial-grid article > strong {
  display: block;
  margin: 12px 0 3px;
  color: var(--snapshot-ink);
  font-family: var(--font-editorial);
  font-size: 28px;
}

.snapshot-financial-grid article > span:not(.snapshot-band) {
  color: var(--snapshot-muted);
  font-family: var(--font-interface);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.snapshot-financial-grid article > p,
.snapshot-contest-grid article > p {
  margin: 11px 0 0;
  color: var(--editorial-muted);
  font-size: 13px;
  line-height: 1.5;
}

.snapshot-financial-implication,
.snapshot-comparison-axes {
  margin: 18px 0 0;
  padding: 16px 18px;
  border-left: 4px solid var(--snapshot-accent);
  background: var(--editorial-surface);
  color: var(--editorial-ink);
  line-height: 1.55;
}

.snapshot-financial-implication strong,
.snapshot-comparison-axes strong,
.snapshot-contest-grid p strong {
  display: block;
  margin-bottom: 4px;
  color: var(--snapshot-muted);
  font-family: var(--font-interface);
  font-size: 9px;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.snapshot-contest-grid h3 {
  margin: 0;
  font-size: 22px;
}

.snapshot-questions ol {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--snapshot-rule);
  list-style: none;
}

.snapshot-questions li {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 16px;
  padding: 19px 0;
  border-bottom: 1px solid var(--snapshot-rule);
}

.snapshot-questions li > span {
  color: var(--snapshot-accent);
  font-family: var(--font-interface);
  font-size: 12px;
  font-weight: 900;
}

.snapshot-questions h3 {
  margin: 0;
  font-size: 19px;
  line-height: 1.3;
}

.snapshot-questions p {
  margin: 7px 0 9px;
  color: var(--editorial-muted);
  line-height: 1.5;
}

.snapshot-questions small {
  display: block;
  margin-top: 4px;
  color: var(--snapshot-muted);
}

.snapshot-questions small strong {
  color: var(--snapshot-ink);
  font-weight: 850;
}

.snapshot-proposition-stack { display: grid; gap: 18px; }

.snapshot-proposition {
  padding: 26px;
  border: 1px solid var(--snapshot-rule);
  border-left: 7px solid var(--editorial-rule);
  background: var(--editorial-surface);
}

.snapshot-proposition.status-lead_proposition { border-left-color: var(--snapshot-ready); }
.snapshot-proposition.status-partner_ready { border-left-color: var(--status-ready); }
.snapshot-proposition.status-build_first,
.snapshot-proposition.status-verify { border-left-color: var(--snapshot-accent); }
.snapshot-proposition.status-not_now { border-left-color: var(--snapshot-alert); }

.snapshot-proposition-head {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}

.snapshot-proposition-number {
  color: var(--snapshot-accent);
  font-family: var(--font-interface);
  font-size: 14px;
  font-weight: 900;
}

.snapshot-proposition h3 { margin: 0; font-size: clamp(22px, 3vw, 31px); line-height: 1.1; }
.snapshot-chip { color: var(--snapshot-ready); }
.status-build_first .snapshot-chip,
.status-verify .snapshot-chip { color: var(--snapshot-accent); }
.status-not_now .snapshot-chip { color: var(--snapshot-alert); }

.snapshot-proposition-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 24px;
  margin: 24px 0 0 48px;
}

.snapshot-proposition-grid p,
.snapshot-credible {
  margin: 0;
  color: var(--editorial-ink);
  font-size: 14px;
  line-height: 1.5;
}

.snapshot-proposition-grid p.wide { grid-column: 1 / -1; }
.snapshot-proposition-grid strong,
.snapshot-credible strong {
  display: block;
  margin-bottom: 4px;
  color: var(--snapshot-muted);
  font-family: var(--font-interface);
  font-size: 9px;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.snapshot-ask-stage {
  display: inline-block;
  margin: 6px 8px 0 0;
  padding: 2px 7px;
  border: 1px solid currentColor;
  border-radius: 3px;
  font-family: var(--font-interface);
  font-size: 8px;
  letter-spacing: .06em;
  text-transform: uppercase;
  vertical-align: middle;
}
.snapshot-ask-stage.stage-proposition { color: var(--status-stop); border-style: dashed; }
.snapshot-ask-stage.stage-draft_ask { color: var(--status-warning); }
.snapshot-ask-stage.stage-costed_request { color: var(--editorial-muted); }
.snapshot-ask-stage.stage-application_ready { color: var(--status-ready); }
.snapshot-ask-next {
  display: block;
  margin-top: 4px;
  color: var(--snapshot-muted);
  font-size: 11px;
  font-style: italic;
  text-transform: none;
  letter-spacing: 0;
}
.snapshot-claim-tag {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 5px;
  border-radius: 3px;
  font-family: var(--font-interface);
  font-size: 8px;
  letter-spacing: .06em;
  text-transform: uppercase;
  vertical-align: baseline;
}
.snapshot-claim-tag.claim-inferred { color: var(--status-warning); border: 1px dashed currentColor; }
.snapshot-claim-tag.claim-verified { color: var(--status-ready); border: 1px solid currentColor; }

.snapshot-credible { margin: 16px 0 0 48px; }
.snapshot-precedent {
  margin: 16px 0 0 48px;
  padding: 13px 15px;
  border-left: 3px solid var(--snapshot-ready);
  background: var(--editorial-surface);
  color: var(--editorial-ink);
  font-family: var(--font-interface);
  font-size: 12px;
  line-height: 1.5;
}

.snapshot-precedent.missing {
  border-left-color: var(--snapshot-accent);
  background: var(--editorial-surface);
  color: var(--editorial-muted);
}

.snapshot-precedent > strong {
  display: block;
  margin-bottom: 4px;
  color: var(--snapshot-muted);
  font-size: 9px;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.snapshot-precedent p { margin: 5px 0 0; }
.snapshot-precedent p span { display: block; color: var(--snapshot-muted); }
.snapshot-precedent a { color: var(--status-ready); font-weight: 850; }
.snapshot-proposition-foot { margin-left: 48px; }

.snapshot-proposition-register {
  display: grid;
  grid-template-columns: minmax(150px, .38fr) minmax(0, 1.62fr);
  margin-top: 18px;
  border: 1px solid var(--snapshot-rule);
  background: var(--snapshot-paper-alt);
}

.snapshot-proposition-register > strong {
  grid-column: 1;
  grid-row: 1 / span 12;
  padding: 18px;
  color: var(--snapshot-accent);
  font-family: var(--font-interface);
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.snapshot-proposition-register article {
  grid-column: 2;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 12px;
  padding: 16px 18px;
  border-left: 1px solid var(--snapshot-rule);
}

.snapshot-proposition-register article + article { border-top: 1px solid var(--snapshot-rule); }
.snapshot-proposition-register article > span:first-child {
  color: var(--snapshot-accent);
  font-family: var(--font-interface);
  font-size: 11px;
  font-weight: 850;
}
.snapshot-proposition-register h3 { margin: 0 0 8px; font-size: 18px; }
.snapshot-proposition-register p { margin: 3px 0; color: var(--editorial-muted); font-size: 11px; line-height: 1.4; }
.snapshot-proposition-register p strong {
  display: inline-block;
  min-width: 112px;
  color: var(--snapshot-muted);
  font-family: var(--font-interface);
  font-size: 8px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.snapshot-verdict { color: var(--snapshot-accent); }
.snapshot-verdict.verdict-go,
.snapshot-verdict.verdict-shortlist,
.snapshot-verdict.verdict-approach { color: var(--snapshot-ready); }
.snapshot-verdict.verdict-no_go,
.snapshot-verdict.verdict-closed,
.snapshot-verdict.verdict-not_now { color: var(--snapshot-alert); }

.snapshot-route-register {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  margin-top: 14px;
  border: 1px solid var(--snapshot-rule);
  background: var(--editorial-surface);
  font-family: var(--font-interface);
}

.snapshot-route-register > strong {
  padding: 14px;
  color: var(--snapshot-accent);
  font-size: 11px;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.snapshot-route-register > span {
  display: grid;
  grid-template-columns: minmax(120px, .8fr) minmax(100px, .55fr) minmax(0, 1.65fr);
  gap: 12px;
  align-items: center;
  padding: 10px 14px;
  border-left: 1px solid var(--snapshot-rule);
  border-bottom: 1px solid var(--snapshot-rule);
  font-size: 11px;
}

.snapshot-route-register > span:last-child { border-bottom: 0; }
.snapshot-route-register em { color: var(--snapshot-accent); font-size: 9px; font-style: normal; font-weight: 850; text-transform: uppercase; }
.snapshot-route-register small { color: var(--snapshot-muted); line-height: 1.35; }

.snapshot-capital-route-list {
  margin-top: 14px;
  border: 1px solid var(--snapshot-rule);
  background: var(--editorial-surface);
  font-family: var(--font-interface);
}
.snapshot-capital-route-list > strong {
  display: block;
  padding: 11px 14px;
  border-bottom: 1px solid var(--snapshot-rule);
  color: var(--snapshot-accent);
  font-size: 10px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.snapshot-capital-route-list > div > span {
  display: grid;
  grid-template-columns: 125px 135px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 10px 14px;
  border-bottom: 1px solid var(--snapshot-rule);
  font-size: 10px;
}
.snapshot-capital-route-list > div > span:last-child { border-bottom: 0; }
.snapshot-capital-route-list em { color: var(--snapshot-accent); font-size: 8px; font-style: normal; font-weight: 850; text-transform: uppercase; }
.snapshot-capital-route-list small { color: var(--snapshot-muted); line-height: 1.35; }

.snapshot-decision-cards {
  display: grid;
  gap: 12px;
}

.snapshot-decision-cards > article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  padding: 16px;
  border: 1px solid var(--snapshot-rule);
  border-left: 4px solid var(--snapshot-accent);
  background: var(--editorial-surface);
}

.snapshot-decision-cards > article > span {
  color: var(--snapshot-accent);
  font-family: var(--font-interface);
  font-weight: 850;
}

.snapshot-decision-cards small,
.snapshot-decision-cards footer {
  font-family: var(--font-interface);
}

.snapshot-decision-cards small {
  color: var(--snapshot-muted);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.snapshot-decision-cards h3 { margin: 4px 0 6px; font-size: 18px; }
.snapshot-decision-cards p { margin: 0; line-height: 1.48; }
.snapshot-decision-cards footer { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 9px; color: var(--snapshot-muted); font-size: 10px; }
.snapshot-decision-cards footer em { color: var(--snapshot-accent); font-style: normal; font-weight: 850; text-transform: uppercase; }

.snapshot-tactical > div,
.snapshot-phase-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.snapshot-tactical article,
.snapshot-phase-strip article {
  min-height: 150px;
  padding: 20px;
  border: 1px solid var(--snapshot-rule);
  border-right: 0;
  background: var(--editorial-surface);
}

.snapshot-tactical article:last-child,
.snapshot-phase-strip article:last-child { border-right: 1px solid var(--snapshot-rule); }
.snapshot-tactical article > span,
.snapshot-phase-strip article > span { color: var(--snapshot-accent); font-family: var(--font-interface); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.snapshot-tactical p,
.snapshot-phase-strip p { line-height: 1.45; }
.snapshot-tactical small,
.snapshot-phase-strip small { color: var(--snapshot-muted); font-family: var(--font-interface); }
.snapshot-phase-strip h3 { margin: 10px 0; font-family: var(--font-interface); font-size: 24px; }

.snapshot-list-block {
  margin-top: 28px;
  padding: 26px 30px;
  border: 1px solid var(--snapshot-rule);
  background: var(--editorial-surface);
}

.snapshot-list-block.negative {
  border-left: 7px solid var(--snapshot-alert);
  background: var(--editorial-surface);
}

.snapshot-list-block.fix { border-left: 7px solid var(--snapshot-accent); }
.snapshot-list-block ul { display: grid; gap: 12px; margin: 0; padding-left: 20px; }
.snapshot-list-block li { padding-left: 5px; line-height: 1.45; }
.snapshot-list-block li strong,
.snapshot-list-block li span { display: block; }
.snapshot-list-block li span { margin-top: 3px; color: var(--snapshot-muted); }
.snapshot-list-block li em { display: inline-block; margin-top: 5px; color: var(--snapshot-accent); font-family: var(--font-interface); font-size: 9px; font-style: normal; font-weight: 850; text-transform: uppercase; }

.snapshot-judgement {
  margin-top: 28px;
  padding: 28px 30px;
  border-left: 7px solid var(--snapshot-ready);
  background: var(--editorial-surface);
}

.snapshot-judgement > p:not(.snapshot-section-label) { margin: 0; font-size: 17px; line-height: 1.55; }
.snapshot-judgement > strong { display: block; margin-top: 16px; font-family: var(--font-interface); }
.snapshot-document-foot { margin-top: 48px; border-top: 1px solid var(--snapshot-rule); }

@media (max-width: 680px) {
  .director-brief-reasons { grid-template-columns: 1fr; }
  .director-test { grid-template-columns: 38px 1fr; gap: 12px; }
  .director-test-number { width: 34px; height: 34px; }
  .evidence-read-only .director-test { grid-template-columns: minmax(0, 1fr); }
  .director-test-body,
  .director-opportunity,
  .director-next-moves,
  .director-brief-error { min-width: 0; overflow-wrap: break-word; word-break: normal; }
  .director-decision-heading { grid-template-columns: 1fr; padding: 22px; }
  .director-decision-row { grid-template-columns: 1fr; gap: 12px; padding: 22px; }
  .funder-judgment-grid div { grid-template-columns: 1fr; gap: 4px; }
  .org-portfolio { padding: 22px; }
  .snapshot-document-head,
  .snapshot-document-foot { align-items: flex-start; flex-direction: column; }
  .snapshot-document-head,
  .snapshot-document-foot,
  .snapshot-title,
  .snapshot-funding-position,
  .snapshot-frame,
  .snapshot-section,
  .snapshot-warning,
  .snapshot-list-block,
  .snapshot-judgement { margin-inline: 18px; }
  .snapshot-title { padding-block: 28px; }
  .snapshot-title h1 { font-size: 37px; }
  .snapshot-title-meta { align-items: flex-start; flex-direction: column; }
  .snapshot-identity-strip,
  .snapshot-funding-position,
  .snapshot-funding-position-bottom,
  .snapshot-metric-grid,
  .snapshot-financial-grid,
  .snapshot-contest-grid,
  .snapshot-tactical > div,
  .snapshot-phase-strip { grid-template-columns: 1fr; }
  .snapshot-frame { grid-template-columns: 1fr; padding: 24px; }
  .snapshot-funding-position { padding: 24px; }
  .snapshot-funding-position h2 { font-size: 30px; }
  .snapshot-frame-main h2,
  .snapshot-section > h2 { font-size: 30px; }
  .snapshot-proposition-head { grid-template-columns: 28px minmax(0, 1fr); }
  .snapshot-proposition-head .snapshot-chip { grid-column: 2; }
  .snapshot-proposition-grid { grid-template-columns: 1fr; margin-left: 42px; }
  .snapshot-proposition-grid p.wide { grid-column: auto; }
  .snapshot-credible,
  .snapshot-precedent,
  .snapshot-proposition-foot { margin-left: 42px; }
  .snapshot-tactical article,
  .snapshot-phase-strip article { border-right: 1px solid var(--snapshot-rule); border-bottom: 0; }
  .snapshot-tactical article:last-child,
  .snapshot-phase-strip article:last-child { border-bottom: 1px solid var(--snapshot-rule); }
}

@media print {
  @page { size: A4; margin: 9mm; }
  html,
  body { margin: 0 !important; padding: 0 !important; background: #fff !important; }
  .app-header,
  .sidebar,
  .evidence-results-hero,
  .evidence-results-actions,
  .deep-read-notice,
  .assistant-fab { display: none !important; }
  .content,
  .main,
  .ngo-stage,
  .story-stage,
  .evidence-results-stage { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; background: #fff !important; }
  .diagnostic-snapshot {
    display: block;
    width: 100%;
    border: 0;
    box-shadow: none;
    background: var(--editorial-surface);
  }
  .snapshot-print-page {
    box-sizing: border-box;
    min-height: 268mm;
    height: 268mm;
    overflow: hidden;
    break-after: page;
    page-break-after: always;
  }
  .snapshot-print-page:last-child {
    position: relative;
    padding-bottom: 14mm;
    break-after: auto;
    page-break-after: auto;
  }
  .snapshot-print-page:last-child .snapshot-document-foot {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    margin-top: 0;
  }
  .snapshot-page-compressed {
    zoom: .92;
  }
  .snapshot-page-compressed .snapshot-section { padding-block: 1mm; }
  .snapshot-page-compressed .snapshot-section > h2 { margin-bottom: 2mm; font-size: 16pt; }
  .snapshot-evidence-drawer { display: none !important; }
  .snapshot-document-head { padding: 5mm 6mm; }
  .snapshot-document-foot { margin-top: 7mm; padding: 4mm 6mm; }
  .snapshot-title,
  .snapshot-funding-position,
  .snapshot-frame,
  .snapshot-section,
  .snapshot-warning,
  .snapshot-list-block,
  .snapshot-judgement { margin-inline: 6mm; }
  .snapshot-title { padding: 5mm 0 4mm; }
  .snapshot-title h1 { max-width: 160mm; font-size: 24pt; }
  .snapshot-title > p { margin-top: 2mm; font-size: 10pt; }
  .snapshot-title-meta { margin-bottom: 2.5mm; }
  .snapshot-title-meta span { min-height: 18px; padding: 2px 5px; font-size: 7pt; }
  .snapshot-identity-strip { margin-top: 3mm; }
  .snapshot-identity-strip > span { padding: 3mm 3mm 3mm 0; font-size: 8pt; }
  .snapshot-quality-note { margin: 0 6mm 3mm; padding-block: 2.5mm; }
  .snapshot-funding-position { gap: 3mm; padding: 4mm; }
  .snapshot-funding-position h2,
  .snapshot-section > h2 { font-size: 18pt; }
  .snapshot-frame-main h2 { font-size: 16pt; }
  .snapshot-funding-position > div > p:not(.snapshot-section-label),
  .snapshot-frame-main > p:not(.snapshot-section-label) { margin-top: 1.5mm; font-size: 7.5pt; line-height: 1.28; }
  .snapshot-funding-position aside { padding: 3mm; font-size: 8pt; }
  .snapshot-funding-position-bottom { gap: 3mm; padding-top: 3mm; font-size: 8pt; }
  .snapshot-section { padding: 4mm 0; }
  .snapshot-section > h2 { margin-bottom: 3mm; }
  .snapshot-strength-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .snapshot-strength-grid > article { min-height: 0; padding: 3mm; }
  .snapshot-strength-grid > article > p { font-size: 7.5pt; line-height: 1.3; }
  .snapshot-frame { gap: 2mm; padding: 3mm; }
  .snapshot-frame-aside { padding: 2mm; }
  .snapshot-frame-meta { margin-top: 1.5mm; font-size: 7pt; }
  .snapshot-proposition { padding: 2mm 2.5mm; }
  .snapshot-proposition-stack { display: block; }
  .snapshot-proposition + .snapshot-proposition { margin-top: 3mm; }
  .snapshot-proposition-head h3 { font-size: 14pt; }
  .snapshot-proposition-grid { gap: 1mm 3mm; margin: 2mm 0 0 8mm; }
  .snapshot-proposition-grid p { font-size: 7pt; line-height: 1.2; }
  .snapshot-credible,
  .snapshot-precedent,
  .snapshot-proposition-foot { margin-left: 8mm; }
  .snapshot-credible { margin-top: 1mm; font-size: 7pt; line-height: 1.2; }
  .snapshot-proposition-register { grid-template-columns: 30mm minmax(0, 1fr); margin-top: 3mm; }
  .snapshot-proposition-register > strong { padding: 3mm; font-size: 6.5pt; }
  .snapshot-proposition-register article { grid-template-columns: 6mm minmax(0, 1fr) auto; gap: 2mm; padding: 2.5mm 3mm; }
  .snapshot-proposition-register h3 { margin-bottom: 1mm; font-size: 10pt; }
  .snapshot-proposition-register p { margin: .6mm 0; font-size: 6.5pt; line-height: 1.25; }
  .snapshot-proposition-register p strong { min-width: 25mm; font-size: 5.8pt; }
  .snapshot-table-wrap { overflow: visible; }
  .snapshot-table { table-layout: fixed; font-size: 7.5pt; }
  .snapshot-table th,
  .snapshot-table td { min-width: 0 !important; padding: 2.5mm; overflow-wrap: anywhere; }
  .snapshot-route-cards { gap: 1.5mm; }
  .snapshot-route-card { padding: 2mm 2.5mm; break-inside: avoid; }
  .snapshot-route-card h3 { font-size: 11.5pt; }
  .snapshot-route-card header { grid-template-columns: 7mm minmax(0, 1fr) auto; gap: 2mm; }
  .snapshot-route-card-grid { gap: 1mm 3mm; margin: 1mm 0 0 7mm; }
  .snapshot-route-card-grid p,
  .snapshot-route-next { font-size: 6.7pt; line-height: 1.25; }
  .snapshot-route-card .snapshot-route-offer,
  .snapshot-route-card .snapshot-route-next,
  .snapshot-route-card .snapshot-route-checked { margin-left: 7mm; }
  .snapshot-route-ask,
  .snapshot-route-competitive,
  .snapshot-route-quality { margin: 1mm 0 0 7mm; padding: 1.5mm 2mm; font-size: 6.4pt; }
  .snapshot-route-competitive ul { display: none; }
  .snapshot-route-register { grid-template-columns: 32mm minmax(0, 1fr); margin-top: 2.5mm; }
  .snapshot-route-register > strong { padding: 2.5mm; font-size: 7pt; }
  .snapshot-route-register > span { grid-template-columns: 34mm 28mm minmax(0, 1fr); gap: 2mm; padding: 2mm 2.5mm; font-size: 6.5pt; }
  .snapshot-route-register em { font-size: 6pt; }
  .snapshot-capital-route-list { margin-top: 2.5mm; }
  .snapshot-capital-route-list > strong { padding: 2mm 2.5mm; font-size: 6.5pt; }
  .snapshot-capital-route-list > div > span { grid-template-columns: 28mm 31mm minmax(0, 1fr); gap: 2mm; padding: 2mm 2.5mm; font-size: 6.4pt; }
  .snapshot-capital-route-list em { font-size: 5.8pt; }
  .snapshot-decision-cards { gap: 2.5mm; }
  .snapshot-decision-cards > article { grid-template-columns: 7mm minmax(0, 1fr); gap: 2.5mm; padding: 3mm; }
  .snapshot-decision-cards h3 { margin: 1mm 0; font-size: 11pt; }
  .snapshot-decision-cards p { font-size: 7.5pt; line-height: 1.32; }
  .snapshot-decision-cards footer { margin-top: 1.5mm; font-size: 6.5pt; }
  .snapshot-list-block,
  .snapshot-judgement { margin-top: 4mm; padding: 4mm 5mm; }
  .snapshot-list-block { font-size: 8pt; }
  .snapshot-judgement > p:not(.snapshot-section-label) { font-size: 9pt; line-height: 1.4; }
  .snapshot-funding-position,
  .snapshot-warning,
  .snapshot-judgement,
  .snapshot-list-block { break-inside: avoid; }
  .snapshot-table tr { break-inside: avoid; }
}

/* Intermediary console: one governed engine, viewed across a client portfolio. */
.entry-avatar.intermediary {
  background: linear-gradient(145deg, var(--editorial-ink), var(--editorial-ink));
  box-shadow: 0 12px 24px var(--editorial-shadow);
}

body[data-session="intermediary"] .content {
  max-width: none;
  padding: 0;
}

body[data-session="intermediary"] .main {
  min-width: 0;
}

.intermediary-console {
  min-height: calc(100vh - 84px);
  padding: clamp(24px, 4vw, 54px);
  background:
    radial-gradient(circle at 8% 4%, rgba(15, 169, 120, 0.12), transparent 25%),
    radial-gradient(circle at 92% 18%, rgba(18, 95, 114, 0.09), transparent 28%),
    linear-gradient(145deg, #f7fcf9, #ffffff 48%, #f0f9f5);
}

.intermediary-hero {
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 34px;
  align-items: center;
  max-width: 1480px;
  margin: 0 auto;
  padding: clamp(34px, 5vw, 66px);
  border: 1px solid rgba(185, 222, 204, 0.9);
  border-radius: 30px;
  background:
    linear-gradient(125deg, rgba(255, 255, 255, 0.98), rgba(238, 251, 244, 0.9)),
    repeating-linear-gradient(135deg, rgba(6, 148, 85, 0.045) 0 1px, transparent 1px 22px);
  box-shadow: 0 30px 90px rgba(4, 63, 39, 0.1), var(--inner-line);
}

.intermediary-kicker,
.intermediary-roster-card header span,
.intermediary-attention-card > span,
.intermediary-client-hero > div > span,
.intermediary-funder-test header > span,
.intermediary-task-card > span,
.intermediary-progress-hero > div > span,
.intermediary-commissioner-note > span {
  color: #16805d;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.intermediary-hero h1 {
  max-width: 850px;
  margin: 14px 0 18px;
  font-size: clamp(38px, 5vw, 72px);
  line-height: 0.98;
  letter-spacing: -0.052em;
}

.intermediary-hero > div > p {
  max-width: 760px;
  margin: 0;
  color: #49675c;
  font-size: clamp(17px, 1.6vw, 21px);
  line-height: 1.58;
}

.intermediary-hero aside {
  display: grid;
  gap: 8px;
  padding: 26px;
  border: 1px solid rgba(167, 219, 190, 0.84);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: var(--shadow-soft), var(--inner-line);
}

.intermediary-hero aside span {
  color: #5d746a;
  font-size: 13px;
  font-weight: 850;
}

.intermediary-hero aside strong {
  color: var(--green-deep);
  font-size: 38px;
  letter-spacing: -0.04em;
}

.intermediary-hero aside small {
  color: #61796f;
  line-height: 1.5;
}

.intermediary-hero aside code {
  width: fit-content;
  padding: 7px 9px;
  border-radius: 8px;
  color: #0b5d3e;
  background: #e7f7ef;
  font-size: 12px;
  font-weight: 850;
}

.intermediary-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 1180px;
  margin: 24px auto 30px;
  padding: 7px;
  border: 1px solid rgba(202, 226, 215, 0.9);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 16px 38px rgba(6, 43, 29, 0.06);
}

.intermediary-tabs button {
  display: grid;
  gap: 3px;
  padding: 15px 18px;
  border: 0;
  border-radius: 14px;
  color: #536d62;
  background: transparent;
  text-align: left;
}

.intermediary-tabs button.active {
  color: #ffffff;
  background: linear-gradient(145deg, #075f3d, #033f2a);
  box-shadow: 0 12px 26px rgba(3, 63, 42, 0.2);
}

.intermediary-tabs small {
  color: inherit;
  opacity: 0.74;
}

.intermediary-workspace-notice,
.intermediary-return-banner {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  max-width: 1480px;
  margin: 0 auto 20px;
  padding: 18px 20px;
  border: 1px solid #bfe2d0;
  border-radius: 18px;
  background: #effaf4;
  box-shadow: 0 14px 34px rgba(6, 70, 43, 0.06);
}

.intermediary-workspace-notice.sample {
  border-color: #e4cc91;
  background: #fff9e9;
}

.intermediary-workspace-notice > div,
.intermediary-return-banner > div {
  display: grid;
  gap: 4px;
}

.intermediary-workspace-notice strong,
.intermediary-return-banner strong {
  color: #0d442f;
}

.intermediary-workspace-notice span,
.intermediary-return-banner small {
  color: #5c766b;
  line-height: 1.45;
}

.intermediary-empty-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr);
  gap: clamp(28px, 5vw, 76px);
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(34px, 5vw, 66px);
  border: 1px solid rgba(196, 225, 211, 0.94);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 24px 68px rgba(6, 43, 29, 0.08), var(--inner-line);
}

.intermediary-empty-copy > span,
.intermediary-intake-gate > div > span,
.intermediary-return-banner > div > span {
  color: #16805d;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.intermediary-empty-copy h2,
.intermediary-intake-gate h2 {
  margin: 12px 0 16px;
  color: #092f23;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.04;
  letter-spacing: -0.04em;
}

.intermediary-empty-copy p,
.intermediary-intake-gate > div > p {
  color: #526f63;
  font-size: 17px;
  line-height: 1.62;
}

.intermediary-empty-copy > div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

.intermediary-operating-steps {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.intermediary-operating-steps li {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  padding: 17px 0;
  border-top: 1px solid #deece5;
}

.intermediary-operating-steps li:first-child { border-top: 0; }
.intermediary-operating-steps em {
  color: #13815a;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}
.intermediary-operating-steps div { display: grid; gap: 5px; }
.intermediary-operating-steps strong { color: #143f31; }
.intermediary-operating-steps span { color: #627a70; font-size: 13px; line-height: 1.45; }

.intermediary-empty-add {
  max-width: 1280px;
  margin: 18px auto 0;
  overflow: hidden;
  border: 1px solid #cce4d8;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 18px 44px rgba(6, 43, 29, 0.07);
}

.intermediary-intake-gate {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 44px;
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(34px, 5vw, 64px);
  border: 1px solid #c7e1d5;
  border-radius: 26px;
  background: linear-gradient(145deg, #ffffff, #f1faf6);
  box-shadow: 0 24px 68px rgba(6, 43, 29, 0.08);
}

.intermediary-intake-gate aside {
  display: grid;
  gap: 18px;
  align-content: start;
  padding: 24px;
  border: 1px solid #cce3d8;
  border-radius: 19px;
  background: #ffffff;
}

.intermediary-intake-gate dl { display: grid; gap: 0; margin: 0; }
.intermediary-intake-gate dl > div { display: grid; gap: 4px; padding: 12px 0; border-top: 1px solid #e1eee8; }
.intermediary-intake-gate dt { color: #70867c; font-size: 11px; font-weight: 850; text-transform: uppercase; }
.intermediary-intake-gate dd { margin: 0; color: #214b3d; line-height: 1.45; }

.intermediary-return-banner {
  margin-top: 18px;
}

.intermediary-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  max-width: 1480px;
  margin: 0 auto 20px;
}

.intermediary-metrics article {
  display: grid;
  gap: 5px;
  min-height: 138px;
  padding: 22px;
  border: 1px solid rgba(205, 228, 217, 0.92);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 15px 36px rgba(6, 43, 29, 0.055), var(--inner-line);
}

.intermediary-metrics article strong {
  color: var(--green-deep);
  font-size: 34px;
  letter-spacing: -0.045em;
}

.intermediary-metrics article span {
  font-weight: 850;
}

.intermediary-metrics article small {
  color: var(--muted);
  line-height: 1.45;
}

.intermediary-portfolio-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 350px;
  gap: 20px;
  max-width: 1480px;
  margin: 0 auto;
}

.intermediary-roster-card,
.intermediary-attention-card,
.intermediary-funder-test,
.intermediary-task-card,
.intermediary-progress-table,
.intermediary-commissioner-note {
  border: 1px solid rgba(201, 226, 214, 0.92);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 20px 54px rgba(6, 43, 29, 0.07), var(--inner-line);
}

.intermediary-roster-card {
  overflow: hidden;
}

.intermediary-roster-card > header,
.intermediary-funder-test > header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  padding: 26px 28px;
  border-bottom: 1px solid #e1eee7;
}

.intermediary-roster-card h2,
.intermediary-attention-card h2,
.intermediary-funder-test h2,
.intermediary-task-card h2,
.intermediary-progress-hero h2,
.intermediary-commissioner-note h2 {
  margin: 5px 0 0;
  color: #0d382b;
  letter-spacing: -0.025em;
}

.intermediary-roster-head,
.intermediary-roster-row {
  display: grid;
  grid-template-columns: minmax(190px, 1.15fr) minmax(170px, 0.9fr) minmax(190px, 1fr) minmax(190px, 1fr) 22px;
  gap: 18px;
  align-items: center;
}

.intermediary-roster-head {
  padding: 13px 28px;
  color: #6b8177;
  background: #f4faf7;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.intermediary-roster-row {
  width: 100%;
  padding: 22px 28px;
  border: 0;
  border-top: 1px solid #e2eee8;
  color: #23493d;
  background: transparent;
  text-align: left;
  transition: background 160ms ease, transform 160ms ease;
}

.intermediary-roster-row:hover {
  background: #f6fcf8;
  transform: translateX(2px);
}

.intermediary-roster-row > span {
  display: grid;
  gap: 6px;
  min-width: 0;
  font-size: 13px;
  line-height: 1.48;
}

.intermediary-client-name strong {
  color: #0a3629;
  font-size: 16px;
}

.intermediary-roster-row small {
  color: #6a8076;
}

.intermediary-roster-row > b {
  color: #4c7666;
  font-size: 28px;
}

.intermediary-status {
  display: inline-flex;
  width: fit-content;
  padding: 6px 9px;
  border-radius: 999px;
  color: #72500b;
  background: #fff5d9;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.intermediary-status.ready {
  color: #09633f;
  background: #ddf6e8;
}

.intermediary-status.action,
.intermediary-status.intake {
  color: #9c3e2c;
  background: #fff0eb;
}

.intermediary-status.strategic {
  color: #165b74;
  background: #e4f4f8;
}

.intermediary-attention-card {
  align-self: start;
  padding: 26px;
}

.intermediary-attention-card > button {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  width: 100%;
  padding: 18px 0;
  border: 0;
  border-top: 1px solid #dfebe5;
  color: #1a4336;
  background: transparent;
  text-align: left;
}

.intermediary-attention-card > button em {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #08734b;
  background: #e2f6ea;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.intermediary-attention-card > button span {
  display: grid;
  gap: 5px;
}

.intermediary-attention-card > button small,
.intermediary-attention-card > p {
  color: #647b71;
  line-height: 1.48;
}

.intermediary-attention-card > p {
  margin: 18px 0 0;
  padding-top: 18px;
  border-top: 1px solid #dfebe5;
  font-size: 12px;
}

.intermediary-add-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 24px 28px;
  border-bottom: 1px solid #dcebe4;
  background: linear-gradient(145deg, #f3fbf7, #ffffff);
}

.intermediary-add-form > div {
  display: grid;
  gap: 6px;
}

.intermediary-add-form > div.wide {
  grid-column: 1 / -1;
}

.intermediary-add-form label {
  color: #385b4e;
  font-size: 12px;
  font-weight: 850;
}

.intermediary-add-form input,
.intermediary-add-form textarea,
.intermediary-client-switcher select {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #c8dfd4;
  border-radius: 11px;
  color: #143b2f;
  background: #ffffff;
}

.intermediary-add-form textarea {
  resize: vertical;
  font: inherit;
}

.intermediary-client-switcher {
  display: grid;
  grid-template-columns: auto minmax(240px, 420px) auto;
  gap: 12px;
  align-items: center;
  max-width: 1480px;
  margin: 0 auto 18px;
  padding: 14px 16px;
  border: 1px solid #d0e5db;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.88);
}

.intermediary-client-switcher label {
  color: #557066;
  font-size: 12px;
  font-weight: 850;
}

.intermediary-client-switcher .button {
  justify-self: end;
}

.intermediary-client-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 250px;
  gap: 28px;
  max-width: 1480px;
  margin: 0 auto 18px;
  padding: clamp(28px, 4vw, 46px);
  border-radius: 24px;
  color: #ffffff;
  background:
    radial-gradient(circle at 86% 16%, rgba(98, 220, 165, 0.22), transparent 34%),
    linear-gradient(145deg, #104c3b, #082f25);
  box-shadow: 0 25px 70px rgba(3, 63, 42, 0.19);
}

.intermediary-client-hero > div > span {
  color: #91dfbe;
}

.intermediary-client-hero h2 {
  margin: 8px 0 12px;
  color: #ffffff;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1;
  letter-spacing: -0.045em;
}

.intermediary-client-hero p {
  max-width: 760px;
  margin: 0;
  color: #def5e9;
  font-size: 18px;
  line-height: 1.55;
}

.intermediary-client-hero aside {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 20px;
  border: 1px solid rgba(183, 234, 205, 0.24);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.08);
}

.intermediary-client-hero aside strong {
  font-size: 23px;
}

.intermediary-client-hero aside small {
  color: #b9dfce;
}

.intermediary-diagnosis-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: 1480px;
  margin: 0 auto 18px;
}

.intermediary-diagnosis-grid article {
  min-height: 170px;
  padding: 24px;
  border: 1px solid #d0e4da;
  border-left: 5px solid #1e9a6b;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
}

.intermediary-diagnosis-grid article.block { border-left-color: #cc5c46; }
.intermediary-diagnosis-grid article.next { border-left-color: #d69a28; }

.intermediary-diagnosis-grid span,
.intermediary-hypothesis span,
.intermediary-source-list > strong {
  color: #527166;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.065em;
  text-transform: uppercase;
}

.intermediary-diagnosis-grid p {
  margin: 13px 0 0;
  color: #173f32;
  font-size: 16px;
  line-height: 1.55;
}

.intermediary-client-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 18px;
  max-width: 1480px;
  margin: 0 auto;
}

.intermediary-funder-options {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 18px 24px 0;
}

.intermediary-funder-options button {
  flex: none;
  padding: 10px 13px;
  border: 1px solid #c9dfd5;
  border-radius: 999px;
  color: #315d4e;
  background: #ffffff;
  font-size: 12px;
  font-weight: 850;
}

.intermediary-funder-options button.active {
  border-color: #087849;
  color: #ffffff;
  background: #087849;
}

.intermediary-hypothesis {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 18px 24px 24px;
  border: 1px solid #d8e8e0;
  border-radius: 18px;
  background: #fbfefc;
}

.intermediary-hypothesis-verdict,
.intermediary-hypothesis-detail,
.intermediary-objection {
  padding: 22px;
}

.intermediary-hypothesis-verdict {
  border-radius: 17px 17px 0 0;
  color: #ffffff;
  background: linear-gradient(145deg, #11563f, #083b2c);
}

.intermediary-hypothesis.review .intermediary-hypothesis-verdict { background: linear-gradient(145deg, #80550a, #5e3d05); }
.intermediary-hypothesis.blocked .intermediary-hypothesis-verdict { background: linear-gradient(145deg, #8d3f30, #64291f); }
.intermediary-hypothesis.potential .intermediary-hypothesis-verdict { background: linear-gradient(145deg, #175b72, #0b4053); }

.intermediary-hypothesis-verdict span { color: rgba(255, 255, 255, 0.7); }
.intermediary-hypothesis-verdict strong { display: block; margin-top: 7px; font-size: 27px; letter-spacing: -0.03em; }
.intermediary-hypothesis-verdict p { margin: 8px 0 0; color: rgba(255, 255, 255, 0.86); line-height: 1.55; }

.intermediary-hypothesis-detail,
.intermediary-hypothesis-columns,
.intermediary-objection {
  border-top: 1px solid #dceae3;
}

.intermediary-hypothesis p {
  margin: 8px 0 0;
  color: #254a3e;
  line-height: 1.58;
}

.intermediary-hypothesis-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.intermediary-hypothesis-columns > div {
  padding: 22px;
}

.intermediary-hypothesis-columns > div + div {
  border-left: 1px solid #dceae3;
}

.intermediary-objection {
  background: #fffaf1;
  border-radius: 0 0 17px 17px;
}

.intermediary-task-card {
  align-self: start;
  padding: 24px;
}

.intermediary-task-card > article {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  padding: 17px 0;
  border-top: 1px solid #dfebe5;
}

.intermediary-task-card > article button {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid #9dcdb6;
  border-radius: 50%;
  color: #ffffff;
  background: #ffffff;
  font-weight: 900;
}

.intermediary-task-card > article.done button {
  background: #098b56;
}

.intermediary-task-card > article.done strong,
.intermediary-task-card > article.done p {
  opacity: 0.55;
  text-decoration: line-through;
}

.intermediary-task-card article strong {
  color: #173f32;
}

.intermediary-task-card article p {
  margin: 4px 0 0;
  color: #627a70;
  font-size: 13px;
  line-height: 1.5;
}

.intermediary-source-list {
  display: grid;
  gap: 7px;
  margin-top: 14px;
  padding: 18px;
  border-radius: 14px;
  background: #f1f8f5;
}

.intermediary-source-list span {
  color: #3f6055;
  font-size: 12px;
}

.intermediary-source-list span::before {
  content: "↳";
  margin-right: 7px;
  color: #159164;
}

.intermediary-progress-hero {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: center;
  max-width: 1480px;
  margin: 0 auto 18px;
  padding: 30px;
  border: 1px solid #cee3d9;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.92);
}

.intermediary-progress-hero h2 {
  max-width: 780px;
  font-size: clamp(25px, 3vw, 38px);
}

.intermediary-progress-hero p {
  max-width: 790px;
  margin: 10px 0 0;
  color: #5b746a;
}

.intermediary-progress-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 18px;
  max-width: 1480px;
  margin: 0 auto;
}

.intermediary-progress-table {
  overflow: hidden;
}

.intermediary-progress-table > header,
.intermediary-progress-table > button {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 110px 140px 150px;
  gap: 16px;
  align-items: center;
}

.intermediary-progress-table > header {
  padding: 15px 22px;
  color: #61786e;
  background: #f1f8f5;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.intermediary-progress-table > button {
  width: 100%;
  padding: 20px 22px;
  border: 0;
  border-top: 1px solid #dfece5;
  color: #21493b;
  background: transparent;
  text-align: left;
}

.intermediary-progress-table > button:hover { background: #f6fcf8; }
.intermediary-progress-table > button > span { display: grid; gap: 4px; }
.intermediary-progress-table > button small { color: #687f75; }
.intermediary-progress-table > button b { font-size: 20px; }

.intermediary-commissioner-note {
  padding: 26px;
}

.intermediary-commissioner-note > p,
.intermediary-commissioner-note div p {
  color: #526e63;
  line-height: 1.58;
}

.intermediary-commissioner-note > div {
  margin-top: 16px;
  padding: 16px;
  border-radius: 13px;
  background: #f1f8f5;
}

.intermediary-commissioner-note > div:last-child {
  background: #fff7eb;
}

.intermediary-empty {
  max-width: 1480px;
  margin: 0 auto;
  padding: 40px;
  border: 1px dashed #b8d8c8;
  border-radius: 18px;
  color: #5b746a;
  background: rgba(255, 255, 255, 0.72);
  text-align: center;
}

.intermediary-referral-field {
  grid-column: 1 / -1;
  padding: 18px;
  border: 1px solid #c4e4d4;
  border-radius: 16px;
  background: linear-gradient(145deg, #f3fbf7, #ffffff);
}

.intermediary-referral-field > label {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.intermediary-referral-field > label span,
.intermediary-referral-field > small {
  color: #71847c;
  font-size: 12px;
}

.intermediary-code-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px;
  margin-top: 8px;
}

.intermediary-code-entry .button {
  min-height: 48px;
  padding: 10px 18px;
}

.intermediary-code-confirmed {
  display: grid;
  gap: 10px;
  margin-top: 12px;
  padding: 14px;
  border-radius: 12px;
  color: #174936;
  background: #e6f7ee;
}

.intermediary-code-confirmed label {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  font-size: 13px;
  line-height: 1.5;
}

.intermediary-code-confirmed input { margin-top: 2px; }
.intermediary-code-error { display: block; margin-top: 8px; color: #a64030 !important; font-weight: 750; }

.intermediary-access-hero,
.intermediary-access-grid,
.intermediary-access-loading,
.intermediary-access-error,
.intermediary-credential-notice,
.intermediary-code-workspace,
.intermediary-waiting {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.intermediary-access-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: clamp(28px, 5vw, 68px);
  align-items: center;
  padding: clamp(38px, 6vw, 78px);
  border: 1px solid #c6e3d5;
  border-radius: 30px;
  background:
    radial-gradient(circle at 88% 15%, rgba(60, 201, 139, 0.18), transparent 34%),
    linear-gradient(145deg, #ffffff, #effaf4);
  box-shadow: 0 28px 80px rgba(6, 58, 37, 0.1);
}

.intermediary-access-hero span,
.intermediary-access-grid form > span,
.intermediary-credential-notice span,
.intermediary-code-workspace > div > span,
.intermediary-waiting > span {
  color: #16805d;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.intermediary-access-hero h1 {
  max-width: 820px;
  margin: 14px 0 18px;
  color: #062e21;
  font-size: clamp(38px, 5vw, 70px);
  line-height: 1;
  letter-spacing: -0.052em;
}

.intermediary-access-hero p,
.intermediary-access-grid p,
.intermediary-code-workspace p,
.intermediary-waiting p {
  color: #557065;
  line-height: 1.6;
}

.intermediary-access-hero aside {
  padding: 26px;
  border: 1px solid #b9ddcb;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.82);
}

.intermediary-access-hero aside strong { color: #0b4b34; font-size: 22px; }

.intermediary-access-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}

.intermediary-access-grid form {
  display: grid;
  align-content: start;
  gap: 14px;
  min-height: 360px;
  padding: clamp(28px, 4vw, 44px);
  border: 1px solid #cbe3d8;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 52px rgba(6, 43, 29, 0.07);
}

.intermediary-access-grid h2 { margin: 0; color: #0b3a2b; font-size: clamp(28px, 3vw, 39px); letter-spacing: -0.035em; }
.intermediary-access-grid label { display: grid; gap: 7px; margin-top: auto; color: #365d4e; font-size: 12px; font-weight: 850; }
.intermediary-access-grid input { width: 100%; padding: 14px 15px; border: 1px solid #bddbcd; border-radius: 12px; color: #103c2e; background: #fff; }
.intermediary-access-grid .button { width: 100%; }
.intermediary-access-loading,
.intermediary-access-error { margin-top: 20px; padding: 20px; border-radius: 16px; }
.intermediary-access-loading { color: #0e5f40; background: #e6f7ee; }
.intermediary-access-error { color: #8f3d2e; background: #fff1ed; }
.intermediary-sample-link { display: block; margin: 22px auto 0; border: 0; color: #326958; background: transparent; font-weight: 800; }

.intermediary-credential-notice {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  margin-bottom: 20px;
  padding: 20px 22px;
  border: 1px solid #e1c680;
  border-radius: 18px;
  background: #fff9e8;
}

.intermediary-credential-notice > div { display: grid; gap: 7px; min-width: 0; }
.intermediary-credential-notice strong { overflow-wrap: anywhere; color: #533e05; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.intermediary-credential-notice p { margin: 0; color: #695d3d; line-height: 1.5; }

.intermediary-code-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .85fr);
  gap: clamp(28px, 5vw, 70px);
  padding: clamp(34px, 5vw, 62px);
  border: 1px solid #c6e2d4;
  border-radius: 26px;
  background: linear-gradient(145deg, #ffffff, #effaf4);
  box-shadow: 0 22px 64px rgba(6, 43, 29, 0.08);
}

.intermediary-code-workspace > div > strong {
  display: block;
  margin: 12px 0;
  color: #0b4f36;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: clamp(28px, 4vw, 46px);
  letter-spacing: .04em;
}

.intermediary-code-workspace ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.intermediary-code-workspace li { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 12px; padding: 16px 0; border-top: 1px solid #d4e9df; }
.intermediary-code-workspace li:first-child { border-top: 0; }
.intermediary-code-workspace li em { color: #13815a; font-size: 12px; font-style: normal; font-weight: 900; }
.intermediary-code-workspace li span { color: #587268; line-height: 1.5; }
.intermediary-code-workspace li strong { display: block; color: #173f32; }

.intermediary-waiting {
  margin-top: 18px;
  padding: 34px;
  border: 1px dashed #afd5c2;
  border-radius: 22px;
  background: rgba(255,255,255,.76);
  text-align: center;
}
.intermediary-waiting h2 { margin: 9px 0; color: #103e30; }
.intermediary-processing-gate aside p { margin: 0; color: #5c766b; line-height: 1.55; }

.intermediary-workspace-controls { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.intermediary-workspace-controls button { padding: 7px 10px; border: 1px solid #b9ddcb; border-radius: 999px; color: #1f6048; background: #f5fcf8; font-size: 11px; font-weight: 800; }

@media (max-width: 1220px) {
  .intermediary-portfolio-grid,
  .intermediary-client-layout,
  .intermediary-progress-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .intermediary-attention-card,
  .intermediary-task-card {
    width: 100%;
  }

  .intermediary-roster-head {
    display: none;
  }

  .intermediary-roster-row {
    grid-template-columns: minmax(190px, 1fr) minmax(170px, 0.8fr) minmax(190px, 1fr) 20px;
  }

  .intermediary-roster-row > span:nth-child(3) {
    display: none;
  }
}

@media (max-width: 900px) {
  body[data-session="intermediary"] .app-shell {
    display: block;
  }

  body[data-session="intermediary"] .sidebar {
    display: none;
  }

  .intermediary-console {
    min-height: calc(100vh - 74px);
    padding: 20px;
  }

  .intermediary-hero,
  .intermediary-client-hero,
  .intermediary-empty-workspace,
  .intermediary-intake-gate,
  .intermediary-access-hero,
  .intermediary-code-workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  .intermediary-access-grid { grid-template-columns: minmax(0, 1fr); }

  .intermediary-metrics,
  .intermediary-diagnosis-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .intermediary-tabs {
    overflow-x: auto;
    grid-template-columns: repeat(3, minmax(190px, 1fr));
  }

  .intermediary-roster-row {
    grid-template-columns: minmax(0, 1fr) 20px;
    gap: 12px;
  }

  .intermediary-roster-row > span:not(:first-child) {
    display: none;
  }

  .intermediary-roster-row > b {
    grid-column: 2;
    grid-row: 1;
  }

  .intermediary-progress-table > header {
    display: none;
  }

  .intermediary-progress-table > button {
    grid-template-columns: minmax(0, 1fr) 60px 60px;
  }

  .intermediary-progress-table > button > em {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .intermediary-console { padding: 14px; }
  .intermediary-hero { padding: 28px 22px; border-radius: 22px; }
  .intermediary-hero h1 { font-size: 39px; }
  .intermediary-tabs { margin: 14px 0 20px; }
  .intermediary-tabs button { min-width: 185px; }
  .intermediary-metrics,
  .intermediary-diagnosis-grid,
  .intermediary-hypothesis-columns,
  .intermediary-add-form {
    grid-template-columns: minmax(0, 1fr);
  }
  .intermediary-metrics article { min-height: 116px; }
  .intermediary-roster-card > header,
  .intermediary-funder-test > header,
  .intermediary-progress-hero {
    display: grid;
    align-items: stretch;
  }
  .intermediary-roster-card > header .button,
  .intermediary-progress-hero .button { width: 100%; }
  .intermediary-client-switcher { grid-template-columns: minmax(0, 1fr); }
  .intermediary-client-switcher .button { justify-self: stretch; }
  .intermediary-workspace-notice,
  .intermediary-return-banner,
  .intermediary-credential-notice { display: grid; align-items: stretch; }
  .intermediary-workspace-notice .button,
  .intermediary-return-banner .button { width: 100%; }
  .intermediary-empty-workspace,
  .intermediary-intake-gate { padding: 28px 22px; gap: 28px; }
  .intermediary-empty-copy > div { display: grid; }
  .intermediary-empty-copy .button { width: 100%; }
  .intermediary-code-entry { grid-template-columns: minmax(0, 1fr); }
  .intermediary-code-entry .button,
  .intermediary-credential-notice .button { width: 100%; }
  .intermediary-hypothesis-columns > div + div { border-left: 0; border-top: 1px solid #dceae3; }
  .intermediary-progress-table > button { grid-template-columns: minmax(0, 1fr) 46px 46px; }
}

/* Deep-pass progress: honest stage checklist + elapsed/estimate meter. */
.story-progress-steps {
  position: relative;
  z-index: 1;
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
  display: grid;
  gap: 9px;
}

.story-progress-steps li {
  display: flex;
  align-items: center;
  gap: 11px;
  font-size: 14px;
  color: var(--ink);
  opacity: 0.42;
  transition: opacity 0.4s ease;
}

.story-progress-steps li[data-state="current"] {
  opacity: 1;
  font-weight: 700;
}

.story-progress-steps li[data-state="done"] {
  opacity: 0.72;
}

.story-progress-dot {
  flex: none;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  border: 2px solid rgba(0, 138, 82, 0.55);
  background: transparent;
}

.story-progress-steps li[data-state="done"] .story-progress-dot {
  background: rgba(0, 158, 92, 0.85);
  border-color: rgba(0, 158, 92, 0.85);
}

.story-progress-steps li[data-state="current"] .story-progress-dot {
  animation: progress-dot-pulse 1.4s ease-in-out infinite;
}

@keyframes progress-dot-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(0, 158, 92, 0.35); }
  50% { box-shadow: 0 0 0 6px rgba(0, 158, 92, 0.12); }
}

@media (max-width: 980px) {
  .adversarial-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .adversarial-desk-grid { grid-template-columns: minmax(0, 1fr); }
  .adversarial-run-list { position: static; max-height: 360px; overflow: auto; }
  .adversarial-role-audit > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .adversarial-decision-grid, .adversarial-release-controls { grid-template-columns: minmax(0, 1fr); }
  .adversarial-learning-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 620px) {
  .adversarial-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .adversarial-review-workspace { padding: 12px; }
  .adversarial-record-head { display: grid; }
  .adversarial-release-state { text-align: left; }
  .adversarial-comparison { grid-template-columns: minmax(0, 1fr); }
  .adversarial-role-audit > div { grid-template-columns: minmax(0, 1fr); }
  .adversarial-challenges > header { display: grid; }
  .adversarial-final-diff li { grid-template-columns: minmax(0, 1fr); }
  .adversarial-mini-form { grid-template-columns: minmax(0, 1fr); }
}

.story-progress-meter {
  position: relative;
  z-index: 1;
  margin: 6px 0 0;
  display: flex;
  gap: 8px;
  font-size: 13px;
  color: var(--ink-mute, rgba(31, 51, 41, 0.62));
  font-variant-numeric: tabular-nums;
}

.adaptive-intake-launch,
.adaptive-intake-panel {
  margin: 28px 24px;
  padding: clamp(22px, 4vw, 40px);
  border: 1px solid rgba(13, 92, 69, 0.18);
  border-radius: 26px;
  background: linear-gradient(145deg, rgba(239, 250, 244, 0.94), rgba(255, 252, 247, 0.98));
  color: var(--ink, #123c30);
}

.adaptive-intake-launch,
.adaptive-intake-heading,
.adaptive-intake-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.adaptive-intake-launch h2,
.adaptive-intake-panel h2 {
  margin: 5px 0 8px;
  max-width: 760px;
}

.adaptive-intake-launch p,
.adaptive-intake-panel p { max-width: 760px; }

.adaptive-intake-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 24px 0;
}

.adaptive-intake-fields > label,
.adaptive-intake-options {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: 700;
}

.adaptive-intake-fields textarea,
.adaptive-intake-fields input:not([type="checkbox"]),
.adaptive-intake-fields select {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid rgba(13, 92, 69, 0.24);
  border-radius: 12px;
  background: #fff;
  color: inherit;
  font: inherit;
  font-weight: 500;
}

.adaptive-intake-options label,
.adaptive-intake-check {
  display: flex !important;
  align-items: flex-start;
  gap: 9px;
  font-weight: 500 !important;
}

.adaptive-intake-status,
.adaptive-intake-delta {
  margin: 20px 0 0;
  padding: 14px 16px;
  border-left: 4px solid #138760;
  background: rgba(255, 255, 255, 0.75);
}

.adaptive-intake-delta { display: grid; gap: 4px; }
.adaptive-intake-status.is-error { border-left-color: #b94d35; }

@media (max-width: 720px) {
  .adaptive-intake-launch,
  .adaptive-intake-heading,
  .adaptive-intake-actions { display: grid; }
  .adaptive-intake-fields { grid-template-columns: minmax(0, 1fr); }
}

/* 2026 editorial system ---------------------------------------------------
   Causant is a decision document, not a generic SaaS dashboard. The palette,
   rules and type hierarchy below deliberately make every screen feel like a
   piece of analysable evidence while preserving the existing application DOM. */
:root {
  --ink: var(--editorial-ink);
  --muted: var(--editorial-muted);
  --canvas: var(--editorial-canvas);
  --surface: var(--editorial-surface-muted);
  --surface-strong: var(--editorial-surface);
  --line: var(--editorial-rule);
  --line-strong: var(--editorial-rule-strong);
  --green: var(--editorial-accent);
  --green-strong: var(--editorial-accent-strong);
  --green-deep: var(--editorial-ink);
  --mint: var(--status-stop-bg);
  --aqua: var(--editorial-accent);
  --red: var(--editorial-accent);
  --shadow: none;
  --shadow-soft: none;
  --radius: 0;
}

body {
  color: var(--ink);
  background: var(--canvas);
  font-family: var(--font-editorial);
}

button,
input,
textarea,
select,
.sidebar,
.topbar,
.entry-masthead,
.entry-eyebrow,
.entry-form-kicker,
.entry-document-foot,
.workspace-kicker,
.ngo-card-title,
.director-brief-kicker,
.snapshot-document-head,
.snapshot-document-foot {
  font-family: var(--font-interface);
}

.button,
.entry-url-row button,
.entry-start-action button,
.entry-demo {
  border-radius: 0;
  letter-spacing: .105em;
  text-transform: uppercase;
}

/* Landing document */
body[data-session="landing"] .content { background: var(--canvas); }

.entry-screen {
  display: flex;
  min-height: 100vh;
  padding: 0;
  place-items: initial;
  flex-direction: column;
  background: var(--canvas);
}

.entry-masthead {
  display: flex;
  min-height: 94px;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 22px max(6vw, 34px);
  border-bottom: 1px solid var(--line);
}

.entry-brand { gap: 14px; }
.entry-brand strong {
  font-size: 18px;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.entry-brand small { display: none; }

.brand-mark {
  width: 0;
  height: 0;
  border-right: 9px solid transparent;
  border-bottom: 16px solid var(--editorial-accent);
  border-left: 9px solid transparent;
  border-radius: 0;
  background: transparent;
  transform: none;
}
.brand-mark::before,
.brand-mark::after { display: none; }

.entry-nav {
  display: flex;
  align-items: center;
  gap: clamp(24px, 5vw, 72px);
}

.entry-nav a,
.entry-nav button {
  padding: 0;
  border: 0;
  color: var(--editorial-muted);
  background: transparent;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .14em;
  text-decoration: none;
  text-transform: uppercase;
}
.entry-nav a:hover,
.entry-nav button:hover { color: var(--editorial-accent); }

.entry-card {
  overflow: visible;
  display: block;
  width: auto;
  min-height: 0;
  margin: 0 max(6vw, 34px);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.entry-copy {
  display: block;
  max-width: 1320px;
  margin: 0 auto;
  padding: clamp(76px, 8vw, 124px) 0 70px;
  background: transparent;
}

.entry-heading { gap: 0; }
.entry-eyebrow {
  margin: 0 0 28px;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--editorial-muted);
  background: transparent;
  font-size: 11px;
  letter-spacing: .18em;
}

.entry-heading h1 {
  max-width: 900px;
  margin: 0;
  color: var(--editorial-ink);
  font-family: var(--font-interface);
  font-size: clamp(48px, 5.3vw, 82px);
  font-weight: 850;
  letter-spacing: -.065em;
  line-height: .94;
  text-transform: uppercase;
}

.entry-heading h1 em {
  display: block;
  color: var(--editorial-accent);
  font-style: normal;
}

.entry-heading p {
  max-width: 1040px;
  margin: 42px 0 0;
  color: var(--editorial-muted);
  font-size: clamp(19px, 1.7vw, 25px);
  line-height: 1.52;
}

.entry-url-first {
  margin: clamp(62px, 8vw, 104px) 0 0;
  padding: 40px 0 52px;
  border: 0;
  border-block: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  scroll-margin-top: 24px;
}

.entry-form-kicker {
  margin: 0 0 34px;
  color: var(--editorial-muted);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.entry-starting-fields label {
  display: grid;
  gap: 14px;
  color: var(--editorial-muted);
  font-family: var(--font-interface);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.entry-starting-fields {
  display: grid;
  grid-template-columns: 1.05fr 1.05fr .8fr;
  gap: clamp(28px, 5vw, 76px);
  align-items: end;
}

.entry-starting-fields input,
.entry-starting-fields select {
  width: 100%;
  padding: 12px 0 15px;
  border: 0;
  border-bottom: 2px solid var(--editorial-rule);
  border-radius: 0;
  background: transparent;
  color: var(--editorial-ink);
  font-family: var(--font-editorial);
  font-size: clamp(23px, 2.2vw, 34px);
}
.entry-starting-fields select { appearance: auto; }
.entry-starting-fields input:focus,
.entry-starting-fields select:focus { outline: 0; border-bottom-color: var(--editorial-accent); box-shadow: none; }

.entry-start-action {
  display: flex;
  align-items: center;
  gap: 32px;
  margin-top: 42px;
}

.entry-start-action button {
  width: min(100%, 390px);
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 18px 26px;
  border: 0;
  color: var(--editorial-on-accent);
  background: var(--editorial-accent);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.entry-start-action button:hover { background: var(--editorial-accent-strong); }
.entry-start-action button span { font-size: 24px; font-weight: 400; }

.entry-start-action small {
  max-width: 670px;
  color: var(--editorial-muted);
  font-size: 14px;
}

.entry-existing-paths {
  margin-top: 44px;
  border-top: 1px solid var(--line);
}
.entry-existing-paths > summary {
  padding: 22px 0;
  color: var(--editorial-muted);
  font-family: var(--font-interface);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.entry-options { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.entry-option {
  min-height: 150px;
  padding: 24px;
  border: 1px solid var(--line);
  border-right: 0;
  border-radius: 0;
  background: transparent;
}
.entry-option:last-child { border-right: 1px solid var(--line); }
.entry-option:hover { background: var(--editorial-surface-muted); transform: none; }
.entry-avatar { border-radius: 0; background: var(--editorial-accent); }

.entry-divider { margin: 54px 0 22px; }
.entry-divider strong {
  color: var(--editorial-muted);
  font-family: var(--font-interface);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.entry-demo {
  min-height: 58px;
  padding: 16px 24px;
  border-color: var(--editorial-accent);
  color: var(--editorial-accent);
  background: transparent;
  font-size: 11px;
}
.entry-demo:hover { color: var(--editorial-on-accent); background: var(--editorial-accent); }
.entry-footnote { max-width: 700px; font-size: 15px; }
.entry-security { border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; }

.entry-document-foot {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin: auto max(6vw, 34px) 0;
  padding: 25px 0 34px;
  border-top: 1px solid var(--line);
  color: var(--editorial-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.entry-preflight-result > div,
.entry-preflight-result > article {
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--editorial-surface);
}

/* Signed-in shell becomes a quiet document masthead. */
.app-shell {
  display: block;
  min-height: 100vh;
  background: var(--canvas);
}

.sidebar {
  position: relative;
  z-index: 20;
  display: flex;
  flex-direction: row;
  width: 100%;
  height: auto;
  min-height: 82px;
  align-items: center;
  gap: 48px;
  padding: 18px max(4.5vw, 28px);
  border: 0;
  border-bottom: 1px solid var(--line);
  background: var(--canvas);
  box-shadow: none;
}

.sidebar .brand {
  min-width: fit-content;
  padding: 0;
  color: var(--ink);
}
.sidebar .brand-copy > span {
  font-size: 16px;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.sidebar .brand-copy small { display: none; }

.side-nav {
  display: flex;
  width: auto;
  margin: 0 0 0 auto;
  gap: 36px;
}

.nav-item {
  width: auto;
  padding: 8px 0;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: #726a60;
  background: transparent;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.nav-item:hover,
.nav-item.active {
  border-bottom-color: #7d2130;
  color: #171310;
  background: transparent;
  transform: none;
}
.nav-icon { display: none; }
.side-note { display: none; }

.main { min-width: 0; }
.topbar {
  min-height: 58px;
  padding: 10px max(4.5vw, 28px);
  border-bottom: 1px solid var(--line);
  background: #e9e6df;
  box-shadow: none;
}
.topbar .search { max-width: 630px; border: 0; border-bottom: 1px solid #aaa194; border-radius: 0; background: transparent; }
.profile-button,
.top-home { border-radius: 0; box-shadow: none; }
.content { max-width: 1480px; padding: clamp(36px, 5vw, 76px) max(4.5vw, 28px) 90px; }

/* Evidence and decision documents */
.diagnostic-snapshot {
  --snapshot-ink: var(--editorial-ink);
  --snapshot-muted: var(--editorial-muted);
  --snapshot-rule: var(--editorial-rule);
  --snapshot-paper: var(--editorial-surface);
  --snapshot-paper-alt: var(--editorial-surface-muted);
  --snapshot-accent: var(--editorial-accent);
  width: min(1280px, 100%);
  border: 0;
  border-top: 1px solid var(--snapshot-rule);
  border-bottom: 1px solid var(--snapshot-rule);
  box-shadow: none;
}
.snapshot-title h1 { max-width: 980px; font-size: clamp(42px, 6.3vw, 78px); line-height: .98; }
.snapshot-chip,
.snapshot-band,
.snapshot-verdict,
.snapshot-effort,
.snapshot-title-meta span { border-radius: 0; }

.director-brief {
  max-width: 1240px;
  color: var(--editorial-ink);
  font-family: var(--font-editorial);
}
.director-brief-verdict {
  padding: clamp(38px, 6vw, 76px) 0;
  border-block: 1px solid var(--editorial-rule);
  border-radius: 0;
  background: transparent;
  color: var(--editorial-ink);
}
.director-brief-verdict .director-brief-kicker { color: var(--editorial-accent); }
.director-brief-verdict h2 {
  max-width: 980px;
  color: var(--editorial-ink);
  font-size: clamp(42px, 6vw, 76px);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: .98;
}
.director-decision-board,
.director-next-moves,
.director-sources,
.org-portfolio,
.programme-gates-secondary {
  border-radius: 0;
  box-shadow: none;
}
.director-decision-board { border-color: var(--line); background: transparent; }
.director-decision-heading { background: transparent; }
.director-decision-row { border-left-width: 3px; border-top-color: var(--line); background: transparent !important; }
.director-decision-verdict { border-radius: 0; }
.director-test { border-top-color: var(--line); }
.director-test-number { border-radius: 0; color: var(--editorial-on-accent); background: var(--editorial-accent); }
.director-test-action { border-left: 3px solid var(--editorial-accent); border-radius: 0; background: var(--editorial-surface-muted); }

.workspace-hero,
.workspace-card,
.ngo-card,
.adaptive-intake-panel,
.adaptive-intake-launch {
  border-radius: 0;
  box-shadow: none;
}

.ngo-stage {
  padding: clamp(30px, 4.5vw, 58px);
  border: 1px solid var(--line);
  border-radius: 0;
  background: #f4f1eb;
  box-shadow: none;
}
.ngo-progress { border-radius: 0; background: transparent; box-shadow: none; }
.ngo-progress button { border-radius: 0; }
.ngo-progress button.active { box-shadow: none; border-bottom: 2px solid #7d2130; background: transparent; }
.ngo-stage-head h1 { color: #171310; font-size: clamp(40px, 5vw, 66px); font-weight: 500; }
.ngo-stage-head span,
.ngo-card-title span,
.proof-pile-top span { color: #7d2130; }
.ngo-stage-head p,
.ngo-muted,
.proof-pile-top p { color: #655e55; }

.ngo-card,
.minimal-intake-card,
.proof-pile-card,
.draft-target-card,
.inferred-facts-card,
.proof-assets-hero {
  border-color: var(--line);
  border-radius: 0;
  background: rgba(248, 245, 239, .68);
  box-shadow: none;
}
.ngo-mini-field input,
.ngo-mini-field select,
.ngo-mini-field textarea,
.ngo-url-field input,
.ngo-proof-item textarea,
.ngo-proof-item input,
.ngo-html-paste textarea,
.proof-paste-area textarea,
.proof-link-area input,
.inferred-facts-card input {
  border-color: var(--line-strong);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.consent-line,
.voice-note-box,
.voice-note-transcript,
.single-dropzone {
  border-color: var(--line);
  border-radius: 0;
  background: transparent;
}
.single-dropzone { border-color: #9d9488; }

input:focus,
textarea:focus,
select:focus { border-color: #7d2130; box-shadow: 0 0 0 2px rgba(125, 33, 48, .12); }

@media (max-width: 820px) {
  .entry-masthead { min-height: 72px; padding: 16px 22px; }
  .entry-nav { gap: 18px; }
  .entry-nav a:first-child { display: none; }
  .entry-nav a,
  .entry-nav button { font-size: 9px; }
  .entry-card { margin-inline: 22px; }
  .entry-copy { padding: 64px 0 44px; }
  .entry-heading h1 { font-size: clamp(38px, 10.8vw, 58px); }
  .entry-heading p { margin-top: 32px; font-size: 19px; }
  .entry-url-first { margin-top: 62px; padding-block: 34px; }
  .entry-starting-fields { grid-template-columns: 1fr; gap: 28px; }
  .entry-start-action { align-items: flex-start; flex-direction: column; gap: 16px; }
  .entry-options { grid-template-columns: 1fr; }
  .entry-option,
  .entry-option:last-child { border-right: 1px solid var(--line); border-bottom: 0; }
  .entry-option:last-child { border-bottom: 1px solid var(--line); }
  .entry-document-foot { margin-inline: 22px; align-items: flex-start; flex-direction: column; }

  .sidebar { align-items: flex-start; gap: 20px; flex-direction: column; padding: 16px 22px 0; }
  .side-nav { width: 100%; margin: 0; gap: 24px; overflow-x: auto; }
  .nav-item { flex: 0 0 auto; }
  .topbar { padding-inline: 22px; }
  .topbar .search { display: none; }
  .content { padding: 32px 22px 64px; }
  .director-brief-reasons,
  .director-decision-heading,
  .director-decision-row { grid-template-columns: 1fr; }
}
