/* Explicit, in-memory three-case forecast comparison. */
.capital-scenario-intro { padding: 20px; margin-bottom: 18px; border-left: 3px solid var(--forecast); }
.capital-scenario-intro .panel-header { margin-bottom: 8px; }
.capital-scenario-intro p { color: var(--text-secondary); font-size: 13px; margin: 0; }
.capital-scenario-intro .capital-scenario-jump { margin-top: 14px; }
.capital-scenario-form { display: grid; gap: 16px; }
.capital-scenario-identity { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding: 18px; border: 1px solid var(--border-subtle); border-radius: var(--radius); background: var(--surface); }
.capital-scenario-field { display: grid; align-content: start; gap: 5px; min-width: 0; color: var(--text-primary); font-size: 12px; }
.capital-scenario-field input, .capital-scenario-field select { width: 100%; min-width: 0; }
.capital-scenario-field small { color: var(--text-secondary); line-height: 1.35; }
.capital-scenario-cases { display: grid; gap: 10px; }
.capital-scenario-case { min-width: 0; border: 1px solid var(--border-subtle); border-radius: var(--radius); background: var(--surface); overflow: hidden; }
.capital-scenario-case[open] { border-left: 3px solid var(--forecast); }
.capital-scenario-case > summary { padding: 14px 18px; cursor: pointer; font-weight: 600; }
.capital-scenario-case[open] > summary { border-bottom: 1px solid var(--border-subtle); }
.capital-scenario-case-inner { padding: 18px; }
.capital-scenario-copy { margin-bottom: 16px; }
.capital-scenario-fields { border: 0; padding: 0; margin: 0 0 20px; min-width: 0; }
.capital-scenario-fields:last-child { margin-bottom: 0; }
.capital-scenario-fields legend { width: 100%; margin-bottom: 12px; padding-bottom: 7px; border-bottom: 1px solid var(--border-subtle); font-size: 12px; font-weight: 600; }
.capital-scenario-field-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px 12px; }
.capital-scenario-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.capital-scenario-actions span { color: var(--text-secondary); font-size: 12px; }
.capital-scenario-status { min-height: 20px; margin: 0 0 18px; font-size: 12px; color: var(--text-secondary); }
.capital-scenario-status[data-state="error"] { color: var(--negative); }
.capital-scenario-status[data-state="success"] { color: var(--positive); }
.capital-scenario-output { padding: 18px; margin-bottom: 24px; border-left: 3px solid var(--forecast); }
.capital-scenario-output .panel-header { align-items: center; margin-bottom: 16px; }
.capital-scenario-reference { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px 16px; margin: 0 0 18px; }
.capital-scenario-reference > div { min-width: 0; }
.capital-scenario-reference dt { color: var(--text-secondary); font-size: 11px; }
.capital-scenario-reference dd { margin: 4px 0 0; font-size: 12px; overflow-wrap: anywhere; }
.capital-scenario-results-table { max-height: 520px; border: 1px solid var(--border-subtle); border-radius: var(--radius); }
.capital-scenario-results-table table { min-width: 670px; }
.capital-scenario-results-table td:not(:first-child), .capital-scenario-results-table th:not(:first-child) { text-align: right; }
.capital-scenario-results-table th:first-child { min-width: 190px; }
.capital-scenario-note { color: var(--text-secondary); font-size: 12px; margin: 12px 0 0; }
.capital-scenario-timelines { margin-top: 18px; }
.capital-scenario-timelines > summary { cursor: pointer; font-size: 13px; font-weight: 600; }
.capital-scenario-timeline-grid { display: grid; grid-template-columns: 1fr; gap: 14px; margin-top: 14px; }
.capital-scenario-timeline { min-width: 0; border: 1px solid var(--border-subtle); border-radius: var(--radius); padding: 12px; }
.capital-scenario-timeline h3 { font-size: 13px; margin: 0 0 8px; }
.capital-scenario-timeline .table-wrap { overflow: auto; }
.capital-scenario-timeline table { min-width: 670px; }
.capital-scenario-legacy { margin: 26px 0 16px; }
.capital-scenario-legacy h2 { font-size: 19px; margin: 0 0 5px; }
.capital-scenario-legacy p { color: var(--text-secondary); font-size: 12px; margin: 0; }
@media screen and (max-width: 1100px) {
  .capital-scenario-field-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media screen and (max-width: 720px) {
  .capital-scenario-identity { grid-template-columns: 1fr; padding: 14px; }
  .capital-scenario-case-inner { padding: 14px; }
  .capital-scenario-field-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .capital-scenario-reference { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media screen and (max-width: 420px) {
  .capital-scenario-field-grid { grid-template-columns: 1fr; }
}
@media print {
  .capital-scenario-form, .capital-scenario-status, .capital-scenario-legacy { display: none !important; }
  .capital-scenario-results-table { max-height: none; overflow: visible; }
  .capital-scenario-results-table table { min-width: 0; }
  .capital-scenario-timeline-grid { display: block; }
}
