/* Chameleon greens for legal analysis; traffic-light status colours retain their meaning. */
.legal-card,.legal-verdict{
  --legal-accent:#91b39f;
  --legal-tint:#142d22;
  --legal-state-ink:#d8e9dd;
  --legal-pill-bg:#294839;
  --legal-pill-ink:#e8f3e6;
  border-color:var(--line);
  color:var(--ink);
  border-radius:16px;
}
.legal-card.status-pass,.legal-verdict.status-pass,.legal-status.status-pass,.legal-result-value.status-pass,.legal-status-legend .status-pass{
  --legal-accent:var(--positive,#76edab);
  --legal-tint:#123125;
  --legal-state-ink:var(--positive,#76edab);
  --legal-pill-bg:#1d4b34;
  --legal-pill-ink:#a1f3bc;
}
.legal-card.status-fail,.legal-verdict.status-fail,.legal-status.status-fail,.legal-result-value.status-fail,.legal-status-legend .status-fail{
  --legal-accent:var(--negative,#ff858c);
  --legal-tint:#301c21;
  --legal-state-ink:var(--negative,#ff858c);
  --legal-pill-bg:#50272c;
  --legal-pill-ink:#ffb5bc;
}
.legal-card.status-unknown,.legal-verdict.status-unknown,.legal-status.status-unknown,.legal-result-value.status-unknown,.legal-status-legend .status-unknown,
.legal-card.status-conditional,.legal-verdict.status-conditional,.legal-status.status-conditional,.legal-result-value.status-conditional,.legal-status-legend .status-conditional{
  --legal-accent:var(--caution,#ffce70);
  --legal-tint:#2e2a1c;
  --legal-state-ink:var(--caution,#ffce70);
  --legal-pill-bg:#463928;
  --legal-pill-ink:#ffe0a0;
}
.legal-card.status-not_required,.legal-verdict.status-not_required,.legal-status.status-not_required,.legal-result-value.status-not_required,.legal-status-legend .status-not_required,
.legal-card.status-not-required,.legal-status.status-not-required{
  --legal-accent:#97b7a2;
  --legal-tint:#203b2c;
  --legal-state-ink:#c2d9c8;
  --legal-pill-bg:#2d4a38;
  --legal-pill-ink:#d9e9d9;
}
.legal-card{
  background:linear-gradient(145deg,var(--legal-tint),#10291e);
  border-top:4px solid var(--legal-accent);
  box-shadow:0 8px 26px #020e0820;
}
.legal-card h2,.legal-card h3,.legal-verdict h3{color:var(--ink)}
.legal-card h2,.legal-card h3{font-size:14px;letter-spacing:-.1px}
.legal-card p,.legal-verdict p,.legal-verdict .legal-note{color:#c4d6c8}
.legal-card .legal-amount,.legal-verdict .legal-amount{color:var(--legal-state-ink);font-weight:700}
.legal-amount{color:var(--ink);font-size:27px;letter-spacing:-.8px}
.legal-status,.legal-badge{border-radius:6px}
.legal-card .legal-status,.legal-verdict .legal-status,.legal-status.status-pass,.legal-status.status-fail,.legal-status.status-unknown,.legal-status.status-conditional,.legal-status.status-not_required,.legal-status.status-not-required{
  background:var(--legal-pill-bg);
  color:var(--legal-pill-ink);
  border-color:var(--legal-accent);
}
.legal-status-legend{color:var(--muted)}
.legal-status-legend>span,.legal-status-legend>div,.legal-status-legend .legal-legend-item{
  border-color:var(--legal-accent);
  background:var(--legal-tint);
  color:var(--legal-state-ink);
  border-radius:8px;
}
.legal-subnav a{background:#183b2b;border-color:#3a5e47;color:#edf5e8;border-radius:8px}
.legal-subnav a:hover{background:#2b4928;border-color:#9bc953;color:#fff}
.legal-subnav a:focus-visible{outline-color:var(--accent)}
.legal-scenario h2,.legal-scenario h3{color:var(--ink)}
.legal-field label,.legal-evidence label{color:#dfebdf;font-size:12px}
.legal-field input,.legal-field select,.legal-evidence input,.legal-evidence textarea{
  background:#0c2319;
  border-color:#41614c;
  color:var(--ink);
  border-radius:8px;
  color-scheme:dark;
}
.legal-field input::placeholder,.legal-evidence input::placeholder,.legal-evidence textarea::placeholder{color:#9cb7a3}
.legal-field input:focus,.legal-field select:focus,.legal-evidence input:focus,.legal-evidence textarea:focus{
  border-color:var(--accent);
  outline:2px solid #b8f15a3b;
}
.legal-field input:disabled,.legal-field select:disabled{background:#1d3829;color:#91ad9a}
.legal-field input[aria-invalid=true],.legal-field select[aria-invalid=true]{border-color:var(--negative);background:#301e23;outline-color:#ff858c50}
.legal-field small,.legal-evidence small,.legal-saved,.legal-note,.legal-field .legal-input-unit span{color:var(--muted)}
.legal-note strong{color:#e8f1e3}
.legal-note a,.legal-list a{color:#c6ef91}
.legal-results{background:var(--surface);border-color:var(--line);border-radius:14px;scrollbar-color:#4f775c #102b21}
.legal-results th{background:#1f3d2c;color:#c2d9c4;border-color:#3a5b45}
.legal-results td{border-color:#2e4c3b;color:#e0ebdc}
.legal-results .legal-result-value.status-pass,.legal-results .legal-result-value.status-fail,.legal-results .legal-result-value.status-unknown,.legal-results .legal-result-value.status-conditional,.legal-results .legal-result-value.status-not_required{color:var(--legal-state-ink)}
.legal-formula{color:#dfeddf;background:#183b2b;border-color:#3c5f46;border-left-color:#b8f15a;border-radius:8px}
.legal-formula strong{color:#f3f8ee}
.legal-detail{background:#102c20;border-color:#365641;border-radius:10px}
.legal-detail summary{color:#e5f0e0}
.legal-detail[open] summary{background:#203e2d;border-color:#3b5d46;border-radius:10px 10px 0 0}
.legal-detail>p,.legal-detail>ul{color:#c8dbca}
.legal-list dt{color:#e8f1e3;border-color:#345345}
.legal-list dd{color:#b6cdbb;border-color:#345345}
.legal-badge{background:#293b24;border-color:#597a41;color:#dbedbb}
.legal-validation{background:#3a2026;border-color:#7b3a3f;border-left-color:var(--negative);color:#ffc5c9;border-radius:10px}
.legal-validation strong{color:#ffd8db}
.legal-verdict{background:linear-gradient(125deg,#183b2b,#243b21);border-left-color:#b8f15a}
.legal-verdict.status-pass,.legal-verdict.status-fail,.legal-verdict.status-unknown,.legal-verdict.status-conditional,.legal-verdict.status-not_required{
  background:var(--legal-tint);
  border-left-color:var(--legal-accent);
}
.legal-verdict .legal-amount.legal-result-value.status-pass,.legal-verdict .legal-amount.legal-result-value.status-fail,.legal-verdict .legal-amount.legal-result-value.status-unknown,.legal-verdict .legal-amount.legal-result-value.status-conditional,.legal-verdict .legal-amount.legal-result-value.status-not_required{color:var(--legal-state-ink)}
.legal-chart>div{color:#bed3c0}
.legal-chart meter{accent-color:var(--positive)}
.legal-chart meter::-webkit-meter-bar{background:#284632}
.legal-chart meter::-webkit-meter-optimum-value{background:var(--positive)}
.legal-chart meter::-webkit-meter-suboptimum-value{background:var(--caution)}
.legal-chart meter::-webkit-meter-even-less-good-value{background:var(--negative)}
@media(max-width:700px){
  .legal-card{border-radius:12px}
  .legal-amount{font-size:23px}
  .legal-field input,.legal-field select,.legal-evidence input,.legal-evidence textarea{font-size:16px}
}
@media print{
  .legal-card,.legal-verdict,.legal-status,.legal-result-value,.legal-status-legend .status-not_required{--legal-accent:#667b6a;--legal-tint:#f3f6f0;--legal-state-ink:#354b3b;--legal-pill-bg:#e7efe3;--legal-pill-ink:#354b3b}
  .legal-card.status-not_required,.legal-verdict.status-not_required,.legal-status.status-not_required,.legal-result-value.status-not_required,.legal-status-legend .status-not_required,.legal-card.status-not-required,.legal-status.status-not-required{--legal-accent:#667b6a;--legal-tint:#f3f6f0;--legal-state-ink:#354b3b;--legal-pill-bg:#e7efe3;--legal-pill-ink:#354b3b}
  .legal-card.status-pass,.legal-verdict.status-pass,.legal-status.status-pass,.legal-result-value.status-pass,.legal-status-legend .status-pass{--legal-accent:#166534;--legal-tint:#e8f5eb;--legal-state-ink:#166534;--legal-pill-bg:#e8f5eb;--legal-pill-ink:#166534}
  .legal-card.status-fail,.legal-verdict.status-fail,.legal-status.status-fail,.legal-result-value.status-fail,.legal-status-legend .status-fail{--legal-accent:#b42318;--legal-tint:#ffebe7;--legal-state-ink:#a32016;--legal-pill-bg:#ffebe7;--legal-pill-ink:#a32016}
  .legal-card.status-unknown,.legal-verdict.status-unknown,.legal-status.status-unknown,.legal-result-value.status-unknown,.legal-status-legend .status-unknown,.legal-card.status-conditional,.legal-verdict.status-conditional,.legal-status.status-conditional,.legal-result-value.status-conditional,.legal-status-legend .status-conditional{--legal-accent:#956300;--legal-tint:#fff4cf;--legal-state-ink:#714b00;--legal-pill-bg:#fff4cf;--legal-pill-ink:#714b00}
  .legal-card,.legal-verdict,.legal-detail,.legal-results{background:#fff;box-shadow:none;border-color:#aaa}
  .legal-card{border-top-color:var(--legal-accent)}
  .legal-verdict.status-pass,.legal-verdict.status-fail,.legal-verdict.status-unknown,.legal-verdict.status-conditional{background:var(--legal-tint)}
  .legal-card h2,.legal-card h3,.legal-card p,.legal-verdict p,.legal-verdict h3,.legal-verdict .legal-note,.legal-note,.legal-note strong,.legal-note a,.legal-list a,.legal-detail>p,.legal-detail>ul,.legal-list dt,.legal-list dd,.legal-results td{color:#222}
  .legal-amount{font-size:17pt}
  .legal-results th,.legal-detail[open] summary,.legal-formula{color:#222;background:#f1f5ed;border-color:#aaa}
  .legal-detail summary,.legal-formula strong{color:#222}
  .legal-validation{background:#fff0ed;color:#81291f}
  .legal-validation strong{color:#81291f}
  .legal-badge{background:#f1f6e8;border-color:#a5b693;color:#394b2b}
}
