@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,600;8..60,700;8..60,800&display=swap");

:root {
  --bg: #f7f4ec;
  --surface: #ffffff;
  --surface-muted: #faf8f2;
  --surface-warm: #fffaf1;
  --surface-blue: #f3f8ff;
  --text: #1f2529;
  --muted: #66706d;
  --subtle: #e8e2d8;
  --subtle-strong: #d9d0c2;
  --success: #12824c;
  --green: var(--success);
  --success-soft: #e8f5ee;
  --blue: #2b6fba;
  --blue-dark: #174f89;
  --blue-soft: #edf5ff;
  --wine: #7a1720;
  --wine-dark: #5c1017;
  --wine-soft: #fbf0ee;
  --brand-teal: #075b6a;
  --gold: #f0a400;
  --gold-soft: #fff7df;
  --orange: #d97706;
  --red: #c2413d;
  --adjusted-purple: #6f3ed6;
  --adjusted-purple-dark: #5c2fb3;
  --theme-bg: #f7f4ec;
  --theme-accent: #2b6fba;
  --theme-accent-strong: #174f89;
  --theme-soft: #edf5ff;
  --theme-tint: rgba(47, 111, 186, 0.14);
  --theme-display: var(--wine-dark);
  --workspace-theme-accent: #2b6fba;
  --workspace-theme-accent-strong: #174f89;
  --workspace-theme-soft: #edf5ff;
  --workspace-theme-tint: rgba(47, 111, 186, 0.14);
  --shadow: 0 18px 44px rgba(44, 37, 28, 0.08);
  --shadow-soft: 0 8px 24px rgba(44, 37, 28, 0.05);
  --shadow-lifted: 0 18px 42px rgba(44, 37, 28, 0.09);
  --radius: 8px;
  --sidebar-width: 344px;
  --sidebar-collapsed-width: 82px;
  --workspace-max-width: 1780px;
  --workspace-outer-max-width: calc(var(--workspace-max-width) + 56px);
  --topbar-height: 92px;
  --font-display: "Source Serif 4", Georgia, "Times New Roman", serif;
  --display-title-weight: 800;
  --display-title-line-height: 1.06;
  --display-title-letter-spacing: 0px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Progressive-disclosure resilience result */
.scenario-resilience-executive,
.scenario-resilience-ranking-explanation,
.scenario-resilience-validation-primary,
.scenario-resilience-plan-story,
.scenario-resilience-rule-story,
.scenario-resilience-supporting {
  margin-top: 16px;
  border: 1px solid color-mix(in srgb, #2675b8 18%, var(--subtle));
  border-radius: 16px;
  background: #fff;
  padding: 24px;
  box-shadow: 0 12px 30px rgba(35, 72, 110, 0.045);
}

.scenario-resilience-executive {
  margin-top: 0;
  border-top: 5px solid #2675b8;
  background: linear-gradient(145deg, #eff8ff, #fff 72%);
}

.scenario-resilience-executive.passes {
  border-color: rgba(20, 143, 87, 0.28);
  border-top-color: #148f57;
  background: linear-gradient(145deg, #edf9f3, #fff 72%);
}

.scenario-resilience-executive h3 {
  max-width: 980px;
  margin: 0;
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
}

.scenario-resilience-executive-metrics {
  display: grid;
  gap: 5px;
  margin-top: 18px;
}

.scenario-resilience-executive-metrics p,
.scenario-resilience-executive-finding p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.scenario-resilience-executive-metrics p:first-child {
  color: var(--text);
  font-size: 17px;
}

.scenario-resilience-executive-metrics p:first-child strong {
  color: #0b6840;
  font-size: 24px;
}

.scenario-resilience-executive-finding {
  display: grid;
  gap: 3px;
  margin-top: 17px;
  border-left: 4px solid #d89924;
  padding-left: 14px;
}

.scenario-resilience-executive-finding > span {
  color: #80550d;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.scenario-resilience-executive-finding > strong {
  color: var(--text);
  font-size: 18px;
}

.scenario-resilience-inline-target {
  margin-top: 15px;
  width: fit-content;
}

.scenario-resilience-inline-target summary,
.scenario-resilience-supporting > details > summary,
.scenario-resilience-repair-details summary {
  cursor: pointer;
  color: #1d5f98;
  font-weight: 850;
}

.scenario-resilience-inline-target p {
  margin: 8px 0 0;
  color: var(--muted);
}

.scenario-resilience-comparison article > b {
  color: var(--theme-display);
  font-size: 18px;
  line-height: 1.4;
}

.scenario-resilience-review-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 10px;
  overflow: hidden;
  border: 1px solid var(--subtle);
  border-radius: 11px;
  background: var(--subtle);
}

.scenario-resilience-review-summary > span {
  display: flex;
  gap: 8px;
  background: #fff;
  padding: 11px 14px;
  color: var(--muted);
  font-size: 12px;
}

.scenario-resilience-review-summary strong { color: var(--text); }

.scenario-resilience-ranking-explanation {
  border-left: 5px solid #d89924;
  background: linear-gradient(145deg, #fffaf0, #fff 65%);
}

.scenario-resilience-ranking-explanation > strong {
  display: block;
  margin-top: 13px;
  color: var(--text);
  font-size: 18px;
}

.scenario-resilience-ranking-explanation > p {
  margin: 6px 0 0;
  color: var(--muted);
  line-height: 1.55;
}

.scenario-resilience-ranking-primary {
  display: block;
  margin-top: 17px;
  padding: 0;
}

.scenario-resilience-ranking-primary > li,
.scenario-resilience-compact-pressure-summary li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 5px 10px;
  border: 1px solid var(--subtle);
  border-radius: 11px;
  background: #fff;
  padding: 14px;
  list-style: none;
}

.scenario-resilience-ranking-primary > li > span,
.scenario-resilience-compact-pressure-summary li > span {
  grid-row: 1 / span 3;
  color: #a8660d;
  font-weight: 950;
}

.scenario-resilience-ranking-primary strong,
.scenario-resilience-compact-pressure-summary li > strong { color: var(--text); }
.scenario-resilience-ranking-primary small,
.scenario-resilience-compact-pressure-summary small { color: var(--muted); }

.scenario-resilience-ranking-primary dl,
.scenario-resilience-compact-pressure-summary dl {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  grid-column: 2;
  margin: 4px 0 0;
}

.scenario-resilience-ranking-primary dl > div,
.scenario-resilience-compact-pressure-summary dl > div { display: flex; gap: 5px; }
.scenario-resilience-ranking-primary dt,
.scenario-resilience-compact-pressure-summary dt { color: var(--muted); font-size: 11px; }
.scenario-resilience-ranking-primary dd,
.scenario-resilience-compact-pressure-summary dd { margin: 0; color: var(--text); font-size: 11px; font-weight: 850; }

.scenario-resilience-ranking-conclusion {
  font-weight: 800;
  color: #70420b !important;
}

.scenario-resilience-compact-pressure-summary {
  margin-top: 20px;
  border-top: 1px solid var(--subtle);
  padding-top: 17px;
}

.scenario-resilience-compact-pressure-summary h4 { margin: 0 0 10px; color: var(--text); }
.scenario-resilience-compact-pressure-summary ol { display: grid; gap: 8px; margin: 0; padding: 0; }
.scenario-resilience-compact-pressure-summary > p { font-size: 12px; }

.scenario-resilience-validation-primary {
  border-top: 4px solid #2675b8;
}

.scenario-resilience-validation-insight {
  margin: 14px 0 5px;
  border-radius: 10px;
  background: #eff7ff;
  padding: 13px 15px;
  color: #174c76;
  font-weight: 750;
  line-height: 1.5;
}

.scenario-resilience-validation-primary > small { color: var(--muted); line-height: 1.45; }

.scenario-resilience-plan-story {
  border-top: 4px solid #2675b8;
  background: linear-gradient(145deg, #f6fbff, #fff 65%);
}

.scenario-resilience-factor-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 18px;
}

.scenario-resilience-factor-columns > section { display: grid; align-content: start; gap: 9px; }
.scenario-resilience-factor-columns h4 { margin: 0; color: var(--text); }
.scenario-resilience-factor-columns article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 12px;
  border-top: 1px solid var(--subtle);
  padding: 11px 0 3px;
}
.scenario-resilience-factor-columns article > span { grid-column: 1 / -1; color: var(--muted); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.scenario-resilience-factor-columns article > strong { color: var(--text); }
.scenario-resilience-factor-columns article > b { color: var(--theme-display); font-size: 17px; }
.scenario-resilience-factor-columns article > p { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.scenario-resilience-factor-columns article.protection > b { color: #0b6840; }
.scenario-resilience-plan-conclusion { margin: 18px 0 0; border-left: 4px solid #2675b8; padding-left: 14px; color: var(--text); font-weight: 750; line-height: 1.55; }

.scenario-resilience-rule-story { border-top: 4px solid #2675b8; }
.scenario-resilience-compact-rules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.scenario-resilience-compact-rules article { display: grid; gap: 6px; border: 1px solid var(--subtle); border-left: 4px solid #14905a; border-radius: 11px; padding: 15px; }
.scenario-resilience-compact-rules article.does-not-pass { border-left-color: #d89924; background: #fffaf0; }
.scenario-resilience-compact-rules article > span { color: #0b6840; font-size: 10px; font-weight: 950; text-transform: uppercase; }
.scenario-resilience-compact-rules article.does-not-pass > span { color: #8a570a; }
.scenario-resilience-compact-rules article > strong { color: var(--text); }
.scenario-resilience-compact-rules article > p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.scenario-resilience-compact-rules dl { display: grid; gap: 3px; margin: 3px 0 0; }
.scenario-resilience-compact-rules dl > div { display: flex; justify-content: space-between; gap: 10px; font-size: 11px; }
.scenario-resilience-compact-rules dt { color: var(--muted); }
.scenario-resilience-compact-rules dd { margin: 0; color: var(--text); font-weight: 800; text-align: right; }

.scenario-resilience-tradeoff-card > em { color: #0b6840; font-size: 11px; font-style: normal; font-weight: 900; text-transform: uppercase; }
.scenario-resilience-tradeoff-card > b { color: var(--theme-display); font-size: 17px; }
.scenario-resilience-tradeoff-card > p strong { color: var(--text); font-size: inherit; }

.scenario-resilience-supporting {
  border-style: dashed;
  background: #fbfdff;
}

.scenario-resilience-supporting > details {
  margin-top: 10px;
  border: 1px solid var(--subtle);
  border-radius: 11px;
  background: #fff;
  overflow: hidden;
}

.scenario-resilience-supporting > details > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 15px 17px;
  list-style-position: inside;
}
.scenario-resilience-supporting > details > summary span { color: var(--text); }
.scenario-resilience-supporting > details > summary small { color: var(--muted); font-weight: 700; text-align: right; }
.scenario-resilience-supporting > details[open] > summary { border-bottom: 1px solid var(--subtle); background: #f5f9fd; }
.scenario-resilience-supporting > details > :not(summary) { margin: 16px; }
.scenario-resilience-supporting > details > .table-wrap { margin: 0; }

.scenario-resilience-all-pressure-table { width: 100%; border-collapse: collapse; }
.scenario-resilience-all-pressure-table th,
.scenario-resilience-all-pressure-table td { border-bottom: 1px solid var(--subtle); padding: 11px 10px; text-align: left; vertical-align: top; font-size: 12px; }
.scenario-resilience-all-pressure-table thead th { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.scenario-resilience-all-pressure-table tbody th { color: var(--text); }
.scenario-resilience-all-pressure-table tbody details { margin-top: 5px; }
.scenario-resilience-all-pressure-table tbody details summary { cursor: pointer; color: #1d5f98; font-size: 10px; }
.scenario-resilience-all-pressure-table tbody details p { margin: 6px 0; color: var(--muted); font-size: 11px; line-height: 1.4; }
.scenario-resilience-all-pressure-table tr.does-not-pass > th,
.scenario-resilience-all-pressure-table tr.does-not-pass > td {
  background: color-mix(in srgb, var(--red) 7%, #fff);
}
.scenario-resilience-all-pressure-table tr.does-not-pass > td:first-child {
  box-shadow: inset 4px 0 0 color-mix(in srgb, var(--red) 72%, #fff);
}
.scenario-resilience-all-pressure-table tr.does-not-pass > td:nth-child(3) span {
  color: var(--red);
  font-weight: 850;
}
.scenario-resilience-all-pressure-table tr.does-not-pass td:last-child span { color: #8a570a; font-weight: 850; }
.scenario-resilience-all-pressure-table tr.passes td:last-child span { color: #0b6840; font-weight: 850; }

.scenario-resilience-response-table tr.does-not-pass > th,
.scenario-resilience-response-table tr.does-not-pass > td {
  background: color-mix(in srgb, var(--red) 7%, #fff);
}

.scenario-resilience-response-table tr.does-not-pass > th:first-child {
  box-shadow: inset 4px 0 0 color-mix(in srgb, var(--red) 72%, #fff);
}

.scenario-resilience-response-table tr.does-not-pass > td:nth-child(3) {
  color: var(--red);
  font-weight: 850;
}

.scenario-resilience-response-table tr.passes > th,
.scenario-resilience-response-table tr.passes > td {
  background: color-mix(in srgb, var(--success) 7%, #fff);
}

.scenario-resilience-response-table tr.passes > th:first-child {
  box-shadow: inset 4px 0 0 color-mix(in srgb, var(--success) 72%, #fff);
}

.scenario-resilience-response-table tr.passes > td:nth-child(3),
.scenario-resilience-response-table tr.passes > td:nth-child(4) {
  color: var(--success);
  font-weight: 850;
}

.scenario-resilience-target-details { display: grid; gap: 0; }
.scenario-resilience-target-details > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 15px; border-bottom: 1px solid var(--subtle); padding: 8px 0; }
.scenario-resilience-target-details dt { color: var(--muted); }
.scenario-resilience-target-details dd { margin: 0; color: var(--text); font-weight: 850; }

@media (max-width: 900px) {
  .scenario-resilience-comparison,
  .scenario-resilience-review-summary,
  .scenario-resilience-ranking-primary,
  .scenario-resilience-factor-columns,
  .scenario-resilience-compact-rules,
  .scenario-resilience-repair-grid {
    grid-template-columns: 1fr;
  }
  .scenario-resilience-comparison-arrow { transform: rotate(90deg); justify-self: center; }
}

/* Retirement Resilience Review precision pass. */
.scenario-resilience-executive.passes h3 {
  color: #126548;
}

.scenario-resilience-status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 4px 0 12px;
  border-radius: 999px;
  padding: 7px 11px;
  background: rgba(18, 130, 76, 0.12);
  color: #087745;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.scenario-resilience-status.at-threshold,
.scenario-resilience-highest-passing.at-threshold,
.scenario-resilience-tradeoff-card.at-threshold {
  border-color: rgba(201, 133, 14, 0.42);
  background: #fff8e8;
  color: #8a5600;
}

.scenario-resilience-variability-note {
  max-width: 860px;
  border-left: 3px solid #d3971f;
  padding-left: 12px;
  color: var(--muted);
}

.scenario-resilience-compact-pressure-summary > details,
.scenario-resilience-highest-passing {
  margin-top: 14px;
  border: 1px solid var(--subtle);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
  padding: 12px 14px;
}

.scenario-resilience-compact-pressure-summary > details > summary,
.scenario-resilience-watch-card details > summary {
  color: var(--theme-display);
  font-weight: 900;
  cursor: pointer;
}

.scenario-resilience-highest-passing {
  display: grid;
  gap: 5px;
}

.scenario-resilience-highest-passing > span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.scenario-resilience-highest-passing > em {
  font-style: normal;
  font-weight: 900;
  color: #087745;
}

.scenario-resilience-deterministic-summary {
  margin: 14px 0 10px;
  border-radius: 10px;
  background: rgba(18, 130, 76, 0.08);
  padding: 12px 14px;
}

.scenario-resilience-support-link,
.scenario-resilience-response-detail-button,
.scenario-resilience-response-detail-head button {
  border: 1px solid var(--subtle);
  border-radius: 9px;
  background: var(--surface);
  color: var(--theme-display);
  padding: 9px 12px;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.scenario-resilience-support-link:focus-visible,
.scenario-resilience-response-detail-button:focus-visible,
.scenario-resilience-response-detail-head button:focus-visible {
  outline: 3px solid rgba(111, 45, 189, 0.35);
  outline-offset: 2px;
}

.scenario-resilience-tradeoff-card {
  align-content: start;
}

.scenario-resilience-tradeoff-card.is-selected {
  box-shadow: 0 0 0 3px rgba(111, 45, 189, 0.2);
}

.scenario-resilience-response-selected-indicator {
  display: none;
  width: fit-content;
  border-radius: 999px;
  background: rgba(111, 45, 189, 0.12);
  color: var(--theme-display);
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 900;
}

.scenario-resilience-tradeoff-card.is-selected .scenario-resilience-response-selected-indicator {
  display: inline-flex;
}

.scenario-resilience-response-detail-button {
  margin-top: auto;
  width: 100%;
}

.scenario-resilience-response-detail-region {
  width: 100%;
}

.scenario-resilience-response-detail-panel {
  margin-top: 16px;
  border: 1px solid rgba(111, 45, 189, 0.28);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.9);
  padding: clamp(16px, 2.5vw, 28px);
  overflow: hidden;
}

.scenario-resilience-response-detail-panel[hidden] {
  display: none;
}

.scenario-resilience-response-detail-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  border-bottom: 1px solid var(--subtle);
  padding-bottom: 14px;
}

.scenario-resilience-response-detail-head h4 {
  margin: 3px 0;
  color: var(--theme-display);
  font-size: clamp(20px, 2.2vw, 28px);
}

.scenario-resilience-response-detail-summary,
.scenario-resilience-response-rule-grid,
.scenario-resilience-response-audit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
}

.scenario-resilience-response-rule-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.scenario-resilience-response-detail-summary > article,
.scenario-resilience-response-rule,
.scenario-resilience-response-audit-card {
  min-width: 0;
  border: 1px solid var(--subtle);
  border-radius: 12px;
  background: var(--surface);
  padding: 14px;
}

.scenario-resilience-response-detail-summary > article > span,
.scenario-resilience-response-audit-card > span {
  display: block;
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.scenario-resilience-response-rule dl,
.scenario-resilience-response-rule dl > div {
  margin: 0;
}

.scenario-resilience-response-rule dl > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid var(--subtle);
  padding: 7px 0;
}

.scenario-resilience-response-rule dd {
  margin: 0;
  text-align: right;
  font-weight: 800;
}

.scenario-resilience-response-audit-card {
  display: grid;
  gap: 7px;
}

.scenario-resilience-response-audit-card em {
  border-top: 1px solid var(--subtle);
  padding-top: 8px;
  font-style: normal;
  font-weight: 800;
}

.scenario-resilience-watch-card details {
  margin-top: 12px;
}

@media (max-width: 900px) {
  .scenario-resilience-response-detail-summary,
  .scenario-resilience-response-rule-grid,
  .scenario-resilience-response-audit-grid {
    grid-template-columns: 1fr;
  }

  .scenario-resilience-response-detail-head {
    align-items: stretch;
    flex-direction: column;
  }

  .scenario-resilience-response-detail-head button {
    width: 100%;
  }
}

/* Retirement Resilience Review: five-panel analysis consolidation. */
.scenario-resilience-backup-values {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  margin: 14px 0 8px;
}

.scenario-resilience-backup-values > div {
  display: grid;
  gap: 2px;
}

.scenario-resilience-backup-values dt {
  color: var(--muted);
  font-size: 11px;
}

.scenario-resilience-backup-values dd {
  margin: 0;
  color: var(--text);
  font-weight: 900;
}

.scenario-resilience-explore {
  padding: 0 0 18px;
  border-style: solid;
}

.scenario-resilience-analysis-panel {
  margin: 10px 18px 0;
  overflow: hidden;
  border: 1px solid var(--subtle);
  border-radius: 12px;
  background: #fff;
}

.scenario-resilience-analysis-panel > h4 { margin: 0; }

.scenario-resilience-analysis-panel > h4 > button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 22px;
  gap: 8px 18px;
  align-items: center;
  width: 100%;
  border: 0;
  background: transparent;
  padding: 15px 17px;
  color: var(--text);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.scenario-resilience-analysis-panel > h4 > button:hover,
.scenario-resilience-analysis-panel > h4 > button[aria-expanded="true"] {
  background: #f3f8fc;
}

.scenario-resilience-analysis-panel > h4 > button:focus-visible {
  outline: 3px solid rgba(43, 111, 186, .32);
  outline-offset: -3px;
}

.scenario-resilience-analysis-panel > h4 span { font-weight: 900; }
.scenario-resilience-analysis-panel > h4 small { color: var(--muted); font-size: 11px; text-align: right; }
.scenario-resilience-analysis-panel > h4 b { color: #27689f; font-size: 20px; text-align: center; }
.scenario-resilience-analysis-panel > h4 button[aria-expanded="true"] b { transform: rotate(45deg); }

.scenario-resilience-analysis-content {
  border-top: 1px solid var(--subtle);
  padding: 20px;
}

.scenario-resilience-analysis-content[hidden] { display: none; }
.scenario-resilience-analysis-content > h5 { margin: 22px 0 10px; color: var(--text); font-size: 16px; }
.scenario-resilience-analysis-content > h5:first-child { margin-top: 0; }
.scenario-resilience-analysis-content > p { color: var(--muted); line-height: 1.55; }

.scenario-resilience-compact-validation,
.scenario-resilience-audit-rule-grid,
.scenario-resilience-rank-comparison {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.scenario-resilience-compact-validation article,
.scenario-resilience-audit-rule,
.scenario-resilience-rank-comparison article {
  border: 1px solid var(--subtle);
  border-radius: 10px;
  background: #fff;
  padding: 13px;
}

.scenario-resilience-compact-validation article.is-reported { background: #f2f7fc; }
.scenario-resilience-compact-validation dl,
.scenario-resilience-audit-rule dl { display: grid; gap: 5px; margin: 10px 0; }
.scenario-resilience-compact-validation dl > div,
.scenario-resilience-audit-rule dl > div { display: flex; justify-content: space-between; gap: 10px; }
.scenario-resilience-compact-validation dt,
.scenario-resilience-audit-rule dt { color: var(--muted); font-size: 11px; }
.scenario-resilience-compact-validation dd,
.scenario-resilience-audit-rule dd { margin: 0; color: var(--text); font-size: 11px; font-weight: 850; text-align: right; }
.scenario-resilience-compact-validation small { color: var(--muted); line-height: 1.4; }
.scenario-resilience-audit-rule.does-not-pass { border-left: 4px solid #d89924; background: #fffaf0; }
.scenario-resilience-audit-rule.passes { border-left: 4px solid #208a61; }

.scenario-resilience-compact-table details summary { color: #1d5f98; font-size: 11px; font-weight: 850; cursor: pointer; }

.scenario-resilience-rank-comparison { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.scenario-resilience-rank-comparison article > span { color: var(--muted); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.scenario-resilience-rank-comparison article > strong { display: block; margin: 5px 0; }
.scenario-resilience-rank-comparison article > p { margin: 0; color: var(--muted); font-size: 12px; }

.scenario-resilience-current-audit-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin-bottom: 14px;
  border-radius: 10px;
  background: #f3f8fc;
  padding: 13px 15px;
}

.scenario-resilience-current-audit-summary > strong { flex-basis: 100%; }
.scenario-resilience-current-audit-summary > span { color: var(--muted); font-size: 12px; }
.scenario-resilience-current-audit-summary > small {
  flex-basis: 100%;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}

.scenario-resilience-compact-table { width: 100%; border-collapse: collapse; }
.scenario-resilience-compact-table th,
.scenario-resilience-compact-table td { border-bottom: 1px solid var(--subtle); padding: 10px 9px; text-align: left; vertical-align: top; font-size: 12px; }
.scenario-resilience-compact-table thead th { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.scenario-resilience-compact-table tbody th { color: var(--text); }
.scenario-resilience-compact-table details { margin-top: 5px; }
.scenario-resilience-compact-table details p,
.scenario-resilience-compact-table details li { color: var(--muted); font-size: 11px; line-height: 1.45; }
.scenario-resilience-table-group th { background: #f5f8fa; color: #174f89 !important; text-transform: uppercase; }
.scenario-resilience-row-detail h5 {
  margin: 12px 0 4px;
  font-size: 12px;
  letter-spacing: 0;
  text-transform: none;
}
.scenario-resilience-row-detail p { margin: 0; }
.scenario-resilience-row-detail ul { margin: 5px 0 0; padding-left: 18px; }
.scenario-resilience-analysis-note { border-left: 3px solid #79a9cf; padding-left: 12px; font-size: 12px; }

.scenario-resilience-methodology-sections {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.scenario-resilience-methodology-sections > section {
  border: 1px solid var(--subtle);
  border-radius: 10px;
  padding: 15px;
}

.scenario-resilience-methodology-sections h5 { margin: 0 0 10px; color: var(--text); }
.scenario-resilience-methodology-sections p,
.scenario-resilience-methodology-sections li,
.scenario-resilience-methodology-sections dd { color: var(--muted); font-size: 12px; line-height: 1.5; }
.scenario-resilience-methodology-sections dl { display: grid; gap: 8px; }
.scenario-resilience-methodology-sections dl > div { display: grid; gap: 2px; }
.scenario-resilience-methodology-sections dt { font-weight: 850; }
.scenario-resilience-methodology-sections dd { margin: 0; }
.scenario-resilience-methodology-sections ol,
.scenario-resilience-methodology-sections ul { margin: 0; padding-left: 20px; }
.scenario-resilience-methodology-sections li > span { display: block; color: var(--text); font-weight: 750; }
.scenario-resilience-methodology-sections li > p { margin: 3px 0 10px; }

@media (max-width: 900px) {
  .scenario-resilience-compact-validation,
  .scenario-resilience-audit-rule-grid,
  .scenario-resilience-rank-comparison,
  .scenario-resilience-methodology-sections { grid-template-columns: 1fr; }

  .scenario-resilience-analysis-panel > h4 > button { grid-template-columns: minmax(0, 1fr) 22px; }
  .scenario-resilience-analysis-panel > h4 small { grid-column: 1; grid-row: 2; text-align: left; }
  .scenario-resilience-analysis-panel > h4 b { grid-column: 2; grid-row: 1 / span 2; }
}

@media (max-width: 650px) {
  .scenario-resilience-explore { padding: 0 0 12px; }
  .scenario-resilience-explore > .scenario-resilience-section-heading { padding: 20px 16px 8px; }
  .scenario-resilience-analysis-panel { margin-inline: 10px; }
  .scenario-resilience-analysis-content { padding: 14px; }
  .scenario-resilience-compact-table thead { display: none; }
  .scenario-resilience-compact-table,
  .scenario-resilience-compact-table tbody,
  .scenario-resilience-compact-table tr,
  .scenario-resilience-compact-table th,
  .scenario-resilience-compact-table td { display: block; width: 100%; }
  .scenario-resilience-compact-table tr { border-bottom: 1px solid var(--subtle); padding: 9px; }
  .scenario-resilience-compact-table th,
  .scenario-resilience-compact-table td { border: 0; padding: 4px; }
  .scenario-resilience-table-group { padding: 0 !important; }
}

/* Retirement Resilience Review conversational result templates. */
.scenario-resilience-human-result {
  display: grid;
  gap: 18px;
}

.scenario-resilience-human-hero,
.scenario-resilience-human-section,
.scenario-resilience-human-scorecard,
.scenario-resilience-explore {
  border: 1px solid var(--subtle);
  border-radius: 18px;
  background: #fff;
}

.scenario-resilience-human-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(24px, 4vw, 46px);
}

.scenario-resilience-human-hero::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 7px;
  background: #208a61;
  content: "";
}

.scenario-resilience-human-hero.is-passing {
  background: linear-gradient(135deg, #eefaf4 0%, #fff 65%);
  border-color: #b9dfcc;
}

.scenario-resilience-human-hero.is-attention {
  background: linear-gradient(135deg, #fff8e9 0%, #fff 68%);
  border-color: #edcf8e;
}

.scenario-resilience-human-hero.is-attention::before { background: #d89924; }
.scenario-resilience-human-hero.is-attention.severe::before { background: #c44343; }

.scenario-resilience-human-hero h3 {
  max-width: 900px;
  margin: 6px 0 12px;
  color: #123f36;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.06;
}

.scenario-resilience-human-hero.is-attention h3 { color: #70420b; }
.scenario-resilience-human-hero.is-attention.severe h3 { color: #8e2929; }

.scenario-resilience-human-severity {
  display: inline-flex;
  align-items: center;
  border: 1px solid #afd9c2;
  border-radius: 999px;
  padding: 7px 12px;
  background: #e2f4ea;
  color: #0d6846;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.scenario-resilience-human-severity.watch { border-color: #e8c57b; background: #fff0d3; color: #87530a; }
.scenario-resilience-human-severity.severe { border-color: #e3aaaa; background: #fde4e4; color: #942f2f; }

.scenario-resilience-human-lead {
  max-width: 1050px;
  margin: 22px 0 8px;
  color: var(--text);
  font-size: 18px;
  line-height: 1.55;
}

.scenario-resilience-human-hero > p:not(.eyebrow):not(.scenario-resilience-human-lead) {
  max-width: 1050px;
  color: var(--muted);
  line-height: 1.6;
}

.scenario-resilience-human-action,
.scenario-resilience-current-concern {
  display: block;
  width: fit-content;
  margin-top: 20px;
  border: 1px solid #acd8bf;
  border-radius: 10px;
  padding: 12px 16px;
  background: #dff3e8;
  color: #0a633f;
  font-size: 17px;
}

.scenario-resilience-current-concern { border-color: #e8c57b; background: #fff0d5; color: #7e4c08; }
.scenario-resilience-human-value { margin-top: 16px; font-size: 13px; }

.scenario-resilience-human-scorecard {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
}

.scenario-resilience-human-scorecard > div {
  display: grid;
  gap: 6px;
  padding: 18px 20px;
  border-right: 1px solid var(--subtle);
}

.scenario-resilience-human-scorecard > div:last-child { border-right: 0; }
.scenario-resilience-human-scorecard span,
.scenario-resilience-learning-list article > span,
.scenario-resilience-primary-backup > span,
.scenario-resilience-review-signal > span,
.scenario-resilience-action-paths article > span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.scenario-resilience-human-scorecard strong { color: var(--text); line-height: 1.35; }

.scenario-resilience-human-section { padding: clamp(22px, 3vw, 34px); }
.scenario-resilience-human-section > h3 { margin: 0 0 18px; color: #163f69; font-size: clamp(23px, 3vw, 31px); }

.scenario-resilience-focal-point {
  max-width: 1100px;
  margin: -6px 0 20px;
  color: var(--muted);
  font-size: clamp(15px, 1.35vw, 18px);
  line-height: 1.55;
}

.scenario-resilience-learning-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.scenario-resilience-learning-list article {
  border-left: 4px solid #4b8fc7;
  border-radius: 10px;
  padding: 16px 18px;
  background: #f6fafe;
}

.scenario-resilience-learning-list article:nth-child(2) { border-left-color: #d89924; background: #fffaf0; }
.scenario-resilience-learning-list strong { display: block; margin: 7px 0; color: var(--text); font-size: 17px; }
.scenario-resilience-learning-list p { margin: 0; color: var(--muted); line-height: 1.5; }

.scenario-resilience-human-factor-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.scenario-resilience-human-factor-columns > div {
  border-radius: 12px;
  padding: 18px;
  background: #f8fafc;
}

.scenario-resilience-human-factor-columns > div:last-child { background: #f1faf5; }
.scenario-resilience-human-factor-columns h4 { margin: 0 0 12px; color: var(--text); }
.scenario-resilience-human-factor-columns ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.scenario-resilience-human-factor-columns li { display: grid; gap: 3px; }
.scenario-resilience-human-factor-columns li > strong { color: var(--text); }
.scenario-resilience-human-factor-columns li > span { color: #176c54; font-weight: 850; }
.scenario-resilience-human-factor-columns li > p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.scenario-resilience-balance-comparison {
  display: grid;
  gap: 4px;
  margin: 4px 0 2px;
}
.scenario-resilience-balance-comparison > div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}
.scenario-resilience-balance-comparison dt { color: var(--muted); }
.scenario-resilience-balance-comparison dd { margin: 0; color: var(--text); font-weight: 850; }
.scenario-resilience-human-synthesis { margin: 18px 0 0; color: var(--muted); line-height: 1.6; }

.scenario-resilience-backup { background: linear-gradient(145deg, #f4fbf7, #fff 62%); }
.scenario-resilience-primary-backup { max-width: 900px; border-left: 5px solid #208a61; padding: 4px 0 4px 20px; }
.scenario-resilience-primary-backup h4 { margin: 6px 0; color: var(--text); font-size: 23px; }
.scenario-resilience-primary-backup > strong { color: #08704a; }
.scenario-resilience-primary-backup p { color: var(--muted); line-height: 1.55; }
.scenario-resilience-backup-meaning { font-weight: 750; color: #315c4f !important; }
.scenario-resilience-secondary-options { margin-top: 22px; border-top: 1px solid var(--subtle); padding-top: 17px; }
.scenario-resilience-secondary-options h4 { margin: 0 0 10px; }
.scenario-resilience-secondary-options ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.scenario-resilience-secondary-options li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 15px; border-radius: 8px; padding: 10px 12px; background: #fff; }
.scenario-resilience-secondary-options li > span { grid-column: 1; color: var(--muted); font-size: 12px; }
.scenario-resilience-secondary-options li > em { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: #176c54; font-style: normal; font-weight: 850; }

.scenario-resilience-do-now > strong,
.scenario-resilience-next-step > strong { display: block; color: #0a6844; font-size: 21px; }
.scenario-resilience-review-signal { margin-top: 20px; border: 1px solid #edd49e; border-radius: 12px; padding: 16px; background: #fffaf0; }
.scenario-resilience-review-signal > strong { display: block; margin: 5px 0; color: #70420b; }
.scenario-resilience-review-signal > p { color: var(--muted); }
.scenario-resilience-review-signal details summary { cursor: pointer; color: #705020; font-weight: 850; }

.scenario-resilience-human-rule-grid,
.scenario-resilience-action-paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.scenario-resilience-human-rule,
.scenario-resilience-action-paths article { display: grid; gap: 8px; border: 1px solid #edcf8e; border-radius: 12px; padding: 18px; background: #fffaf0; }
.scenario-resilience-human-rule > span { color: #70420b; font-weight: 900; }
.scenario-resilience-human-rule > strong { color: var(--text); font-size: 25px; }
.scenario-resilience-human-rule dl { display: grid; gap: 5px; margin: 0; }
.scenario-resilience-human-rule dl > div { display: flex; justify-content: space-between; gap: 15px; }
.scenario-resilience-human-rule dd { margin: 0; font-weight: 850; }
.scenario-resilience-human-rule p { color: var(--muted); font-size: 12px; line-height: 1.5; }
.scenario-resilience-passed-summary { margin-top: 16px; color: var(--muted); }
.scenario-resilience-action-paths article { border-color: var(--subtle); background: #fff; }
.scenario-resilience-action-paths article > strong { color: var(--text); font-size: 17px; }
.scenario-resilience-action-paths article > em { color: #176c54; font-style: normal; font-weight: 900; }
.scenario-resilience-action-paths article > p { margin: 0; color: var(--muted); }
.scenario-resilience-next-step button { margin-top: 15px; border: 0; border-radius: 10px; padding: 11px 16px; background: #5c2ec4; color: #fff; font-weight: 900; cursor: pointer; }

.scenario-resilience-explore { margin-top: 22px; background: #f9fbfd; }
.scenario-resilience-explore > .scenario-resilience-section-heading { padding: 24px 26px 10px; }
.scenario-resilience-ranking-analysis { padding: 2px; }
.scenario-resilience-ranking-analysis > strong { color: var(--text); font-size: 18px; }
.scenario-resilience-ranking-analysis > p { color: var(--muted); }
.scenario-resilience-other-ranked { display: grid; gap: 8px; padding: 0; }
.scenario-resilience-other-ranked > li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 5px 10px; border: 1px solid var(--subtle); border-radius: 10px; padding: 12px; list-style: none; }
.scenario-resilience-other-ranked > li > span { grid-row: 1 / span 3; color: #a8660d; font-weight: 950; }
.scenario-resilience-other-ranked dl { display: flex; gap: 12px; grid-column: 2; margin: 0; }
.scenario-resilience-other-ranked dl > div { display: flex; gap: 4px; }
.scenario-resilience-other-ranked dd { margin: 0; font-weight: 850; }
.scenario-resilience-explore [data-resilience-support="responses"] .scenario-resilience-repair-grid { margin-top: 18px; }

@media (max-width: 1000px) {
  .scenario-resilience-human-scorecard,
  .scenario-resilience-learning-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .scenario-resilience-human-rule-grid,
  .scenario-resilience-action-paths { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .scenario-resilience-human-scorecard,
  .scenario-resilience-learning-list,
  .scenario-resilience-human-factor-columns { grid-template-columns: 1fr; }
  .scenario-resilience-human-scorecard > div { border-right: 0; border-bottom: 1px solid var(--subtle); }
  .scenario-resilience-human-scorecard > div:last-child { border-bottom: 0; }
  .scenario-resilience-secondary-options li { grid-template-columns: 1fr; }
  .scenario-resilience-secondary-options li > em { grid-column: 1; grid-row: auto; }
}

@media (max-width: 650px) {
  .scenario-resilience-executive,
  .scenario-resilience-ranking-explanation,
  .scenario-resilience-validation-primary,
  .scenario-resilience-plan-story,
  .scenario-resilience-rule-story,
  .scenario-resilience-repairs,
  .scenario-resilience-watch-card,
  .scenario-resilience-supporting { padding: 18px; }
  .scenario-resilience-supporting > details > summary { grid-template-columns: 1fr; }
  .scenario-resilience-supporting > details > summary small { text-align: left; }
  .scenario-resilience-all-pressure-table thead { display: none; }
  .scenario-resilience-all-pressure-table,
  .scenario-resilience-all-pressure-table tbody,
  .scenario-resilience-all-pressure-table tr,
  .scenario-resilience-all-pressure-table th,
  .scenario-resilience-all-pressure-table td { display: block; width: 100%; }
  .scenario-resilience-all-pressure-table tr { border-bottom: 1px solid var(--subtle); padding: 10px; }
  .scenario-resilience-all-pressure-table th,
  .scenario-resilience-all-pressure-table td { border: 0; padding: 4px; }
}

.scenario-mode-card-resilience:hover,
.scenario-mode-card-resilience.active {
  border-color: color-mix(in srgb, var(--theme-accent) 42%, var(--subtle));
  background: linear-gradient(145deg, color-mix(in srgb, var(--theme-soft) 65%, #fff), #fff);
}

.scenario-mode-card-resilience.active::after,
.scenario-mode-card-resilience.active .scenario-mode-check {
  background: var(--theme-accent);
}

.scenario-mode-card-resilience.active .scenario-mode-icon {
  background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-strong));
  box-shadow: 0 16px 30px color-mix(in srgb, var(--theme-accent) 24%, transparent);
}

.scenario-resilience-workspace {
  display: grid;
  gap: 18px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 22%, var(--subtle));
  border-top: 4px solid var(--theme-accent);
  border-radius: 16px;
  background:
    radial-gradient(circle at 7% 0%, color-mix(in srgb, var(--theme-soft) 78%, transparent), transparent 28rem),
    linear-gradient(145deg, #fff, color-mix(in srgb, var(--theme-soft) 22%, #fff));
  padding: 26px;
  box-shadow: 0 18px 42px color-mix(in srgb, var(--theme-accent) 9%, transparent);
}

.scenario-resilience-workspace-hero {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: center;
}

.scenario-resilience-workspace-icon {
  display: inline-grid;
  width: 68px;
  height: 68px;
  place-items: center;
  border-radius: 20px;
  background: linear-gradient(145deg, var(--theme-accent), var(--theme-accent-strong));
  color: #fff;
  box-shadow: 0 16px 30px color-mix(in srgb, var(--theme-accent) 24%, transparent);
}

.scenario-resilience-workspace-icon svg {
  width: 32px;
  height: 32px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
}

.scenario-resilience-workspace h3,
.scenario-resilience-complete h3,
.scenario-resilience-section-heading h3,
.scenario-resilience-actions-grid h3 {
  margin: 4px 0 7px;
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: 27px;
  line-height: 1.15;
}

.scenario-resilience-workspace p,
.scenario-resilience-section-heading p,
.scenario-resilience-actions-grid p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.scenario-resilience-workspace-intro {
  display: grid;
  max-width: 1100px;
  gap: 8px;
}

.scenario-resilience-workspace-intro p:last-child {
  color: color-mix(in srgb, var(--text) 82%, var(--muted));
  font-weight: 720;
}

.scenario-resilience-workspace-main {
  display: grid;
  gap: 18px;
}

.scenario-resilience-method-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.scenario-resilience-method-grid::before {
  position: absolute;
  top: 30px;
  right: 9%;
  left: 9%;
  height: 2px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--theme-accent) 25%, #dfe4eb), color-mix(in srgb, var(--theme-accent-strong) 28%, #dfe4eb));
  content: "";
  pointer-events: none;
}

.scenario-resilience-method-grid > li {
  position: relative;
  min-width: 0;
}

.scenario-resilience-method-grid article,
.scenario-resilience-chain-grid article {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  height: 100%;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 14%, var(--subtle));
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.9);
  padding: 16px;
}

.scenario-resilience-method-grid article > span,
.scenario-resilience-chain-grid article > span {
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 28%, #fff);
  background: color-mix(in srgb, var(--theme-soft) 70%, #fff);
  color: var(--theme-accent-strong);
  font-size: 12px;
  font-weight: 950;
  z-index: 1;
}

.scenario-resilience-method-grid h4,
.scenario-resilience-chain-grid strong {
  display: block;
  margin: 0 0 6px;
  color: var(--text);
  font-size: 17px;
  line-height: 1.3;
}

.scenario-resilience-method-grid strong {
  display: block;
  margin-bottom: 7px;
  color: var(--theme-accent-strong);
  font-size: 14px;
  line-height: 1.35;
}

.scenario-resilience-method-grid p,
.scenario-resilience-chain-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}

.scenario-resilience-method-grid small {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.scenario-resilience-learning-strip {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 16px 24px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  border-radius: 12px;
  background: color-mix(in srgb, var(--theme-soft) 38%, #fff);
  padding: 14px 16px;
}

.scenario-resilience-learning-strip h4 {
  margin: 0;
  color: var(--theme-display);
  font-size: 16px;
}

.scenario-resilience-learning-strip ul {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.scenario-resilience-learning-strip li {
  position: relative;
  padding-left: 13px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 720;
}

.scenario-resilience-learning-strip li::before {
  position: absolute;
  top: 0.55em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--theme-accent);
  content: "";
}

.scenario-resilience-run-row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  border-top: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  padding-top: 18px;
}

.scenario-resilience-run-row strong,
.scenario-resilience-run-row small {
  display: block;
}

.scenario-resilience-run-row strong {
  color: var(--theme-accent-strong);
  font-size: 15px;
}

.scenario-resilience-run-row small {
  margin-top: 4px;
  color: var(--muted);
}

.scenario-resilience-limited-state {
  display: grid;
  justify-items: start;
  gap: 8px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  border-radius: 12px;
  background: #fff;
  padding: 20px;
}

.scenario-resilience-limited-state h4,
.scenario-resilience-limited-state p {
  margin: 0;
}

.scenario-resilience-limited-state h4 { color: var(--theme-display); }
.scenario-resilience-limited-state p { color: var(--muted); }
.scenario-resilience-limited-state .button { margin-top: 4px; }

.scenario-resilience-complete,
.scenario-resilience-chain,
.scenario-resilience-repairs,
.scenario-resilience-actions-grid > article {
  border: 1px solid color-mix(in srgb, var(--theme-accent) 15%, var(--subtle));
  border-radius: 16px;
  background: linear-gradient(145deg, #fff, rgba(249, 252, 255, 0.94));
  padding: 24px;
  box-shadow: 0 14px 34px rgba(35, 50, 72, 0.055);
}

.scenario-resilience-complete-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
}

.scenario-resilience-complete-head > div > p:not(.eyebrow) {
  max-width: 820px;
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.scenario-resilience-validation-badge {
  display: grid;
  min-width: 190px;
  gap: 2px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--theme-soft) 56%, #fff);
  color: var(--theme-accent-strong);
  padding: 11px 14px;
  font-size: 11px;
  font-weight: 800;
  text-align: center;
}

.scenario-resilience-validation-badge strong {
  font-size: 20px;
}

.scenario-resilience-baseline-strip {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px 18px;
  margin-top: 18px;
  border-radius: 11px;
  padding: 14px 16px;
  font-size: 13px;
}

.scenario-resilience-baseline-strip.positive {
  background: var(--success-soft);
  color: #0b6840;
}

.scenario-resilience-baseline-strip.negative {
  background: var(--wine-soft);
  color: var(--wine);
}

.scenario-resilience-metric-grid,
.scenario-resilience-repair-grid,
.scenario-resilience-actions-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.scenario-resilience-repair-grid {
  align-items: start;
}

.scenario-resilience-metric-grid article,
.scenario-resilience-repair-grid article {
  display: grid;
  gap: 7px;
  border: 1px solid var(--subtle);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.9);
  padding: 17px;
}

.scenario-resilience-metric-grid span,
.scenario-resilience-repair-grid article > span {
  color: var(--brand-teal);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.scenario-resilience-metric-grid strong {
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: 27px;
}

.scenario-resilience-metric-grid small,
.scenario-resilience-repair-grid small,
.scenario-resilience-actions-grid small {
  color: var(--muted);
  line-height: 1.4;
}

.scenario-resilience-chain,
.scenario-resilience-repairs,
.scenario-resilience-actions-grid {
  margin-top: 16px;
}

.scenario-resilience-chain-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.scenario-resilience-repair-grid article.positive {
  border-color: rgba(18, 130, 76, 0.25);
  background: linear-gradient(145deg, var(--success-soft), #fff);
}

.scenario-resilience-repair-grid strong {
  color: var(--text);
  font-size: 17px;
}

.scenario-resilience-repair-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.scenario-resilience-actions-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.scenario-resilience-actions-grid > article {
  display: grid;
  align-content: start;
  gap: 10px;
}

.scenario-resilience-actions-grid .button {
  justify-self: start;
  margin-top: 6px;
}

.scenario-resilience-method-note {
  margin: 16px 4px 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

@media (max-width: 1050px) {
  .scenario-resilience-method-grid,
  .scenario-resilience-metric-grid,
  .scenario-resilience-repair-grid,
  .scenario-resilience-chain-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scenario-resilience-method-grid::before {
    display: none;
  }
}

@media (max-width: 700px) {
  .scenario-resilience-workspace-hero,
  .scenario-resilience-method-grid,
  .scenario-resilience-metric-grid,
  .scenario-resilience-repair-grid,
  .scenario-resilience-chain-grid,
  .scenario-resilience-actions-grid,
  .scenario-resilience-baseline-strip {
    grid-template-columns: 1fr;
  }

  .scenario-resilience-run-row,
  .scenario-resilience-complete-head {
    align-items: stretch;
    flex-direction: column;
  }

  .scenario-resilience-method-grid {
    gap: 0;
  }

  .scenario-resilience-method-grid > li {
    padding-bottom: 12px;
  }

  .scenario-resilience-method-grid > li:not(:last-child)::after {
    position: absolute;
    top: 44px;
    bottom: -2px;
    left: 29px;
    width: 2px;
    background: color-mix(in srgb, var(--theme-accent) 24%, #dfe4eb);
    content: "";
    pointer-events: none;
  }

  .scenario-resilience-learning-strip {
    grid-template-columns: 1fr;
  }

  .scenario-resilience-run-row .scenario-run-analysis-button {
    width: 100%;
    justify-content: center;
  }
}

* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body {
  margin: 0;
  color: var(--text);
  background:
    radial-gradient(circle at 9% 0%, rgba(255, 250, 239, 0.98), transparent 32rem),
    radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--theme-accent) 18%, transparent), transparent 25rem),
    radial-gradient(circle at 18% 92%, color-mix(in srgb, var(--theme-accent) 10%, transparent), transparent 30rem),
    linear-gradient(135deg, color-mix(in srgb, var(--theme-soft) 44%, transparent), transparent 38rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.34), transparent 34rem),
    var(--theme-bg);
}

a {
  color: var(--blue);
  text-decoration: none;
}

button,
select {
  font: inherit;
}

.data-host {
  position: fixed;
  width: 1px;
  height: 1px;
  left: -9999px;
  top: -9999px;
  border: 0;
  pointer-events: none;
}

.icon-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.app-shell {
  width: min(100%, calc(var(--sidebar-width) + var(--workspace-outer-max-width)));
  margin: 0 auto;
  min-height: 100vh;
  display: grid;
  grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
  transition: grid-template-columns 180ms ease;
}

.app-shell.sidebar-collapsed {
  width: min(100%, calc(var(--sidebar-collapsed-width) + var(--workspace-outer-max-width)));
  grid-template-columns: var(--sidebar-collapsed-width) minmax(0, 1fr);
}

body[data-active-view="getting-started"] .app-shell,
body[data-active-view="getting-started-about"] .app-shell,
body[data-active-view="getting-started-finances"] .app-shell,
body[data-active-view="getting-started-goals"] .app-shell,
body[data-active-view="getting-started-assumptions"] .app-shell,
body[data-active-view="getting-started-review"] .app-shell {
  width: min(100%, var(--workspace-outer-max-width));
  grid-template-columns: minmax(0, 1fr);
}

body[data-active-view="getting-started"] .sidebar,
body[data-active-view="getting-started-about"] .sidebar,
body[data-active-view="getting-started-finances"] .sidebar,
body[data-active-view="getting-started-goals"] .sidebar,
body[data-active-view="getting-started-assumptions"] .sidebar,
body[data-active-view="getting-started-review"] .sidebar {
  display: none;
}

.sidebar {
  position: sticky;
  top: 0;
  z-index: 180;
  height: 100vh;
  padding: 28px 22px;
  overflow-y: auto;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 12% 6%, rgba(255, 247, 228, 0.9), transparent 15rem),
    linear-gradient(180deg, rgba(255, 254, 250, 0.98), rgba(255, 252, 246, 0.94));
  border: 1px solid rgba(221, 211, 197, 0.72);
  border-radius: 0 18px 18px 0;
  box-shadow: 0 18px 44px rgba(44, 37, 28, 0.12);
  backdrop-filter: blur(22px);
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.sidebar::before {
  content: "";
  position: absolute;
  top: 18px;
  bottom: 18px;
  left: 0;
  width: 4px;
  border-radius: 0 999px 999px 0;
  background:
    linear-gradient(180deg, var(--theme-accent), var(--theme-accent-strong));
  box-shadow: 0 0 18px color-mix(in srgb, var(--theme-accent) 28%, transparent);
  pointer-events: none;
}

.sidebar-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.brand {
  display: flex;
  align-items: center;
  color: var(--text);
  min-width: 0;
}

.brand-logo {
  width: 208px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  transition: width 180ms ease, opacity 140ms ease;
}

.sidebar-toggle {
  position: relative;
  width: 46px;
  height: 46px;
  display: inline-flex;
  flex: 0 0 46px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--subtle-strong);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.76);
  color: #40505e;
  cursor: pointer;
  transition: border-color 150ms ease, background 150ms ease, color 150ms ease, box-shadow 150ms ease;
}

.sidebar-toggle:hover,
.sidebar-toggle:focus-visible {
  border-color: color-mix(in srgb, var(--theme-accent) 34%, var(--subtle-strong));
  background: var(--theme-soft);
  color: var(--theme-accent-strong);
  box-shadow: 0 8px 18px rgba(44, 37, 28, 0.08);
}

.sidebar-toggle span {
  width: 12px;
  height: 12px;
  border-left: 3px solid currentColor;
  border-bottom: 3px solid currentColor;
  transform: rotate(225deg);
  transition: transform 160ms ease;
}

.nav-list {
  display: grid;
  gap: 20px;
}

.nav-section {
  display: grid;
  gap: 8px;
}

.nav-section + .nav-section,
.sidebar-footer .nav-section {
  padding-top: 22px;
  border-top: 1px solid rgba(217, 208, 194, 0.9);
}

.nav-section-title {
  margin: 0 14px 5px;
  color: #65717c;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.nav-item {
  position: relative;
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 17px;
  padding: 11px 16px;
  color: #163c5a;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 780;
  white-space: nowrap;
  transition: border-color 150ms ease, background 150ms ease, color 150ms ease, box-shadow 150ms ease;
}

.nav-item:hover {
  background: rgba(255, 249, 238, 0.88);
  border-color: rgba(221, 211, 197, 0.74);
  color: var(--theme-accent-strong);
}

.nav-item.demo-disabled,
.nav-item.demo-disabled:hover,
.nav-item.demo-disabled:focus-visible {
  cursor: not-allowed;
  background: rgba(235, 239, 241, 0.62);
  border-color: rgba(171, 183, 190, 0.38);
  color: #7b8790;
  box-shadow: none;
}

.nav-item.demo-disabled .nav-icon {
  opacity: 0.52;
}

.nav-item.active {
  background:
    linear-gradient(90deg, rgba(255, 248, 235, 0.96), rgba(255, 253, 248, 0.92));
  border-color: rgba(221, 211, 197, 0.92);
  color: #173a55;
  box-shadow: 0 8px 20px rgba(74, 58, 42, 0.055);
}

.nav-item.active::before {
  content: "";
  position: absolute;
  top: 12px;
  right: 10px;
  bottom: 12px;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-strong));
  box-shadow: 0 0 14px color-mix(in srgb, var(--theme-accent) 28%, transparent);
}

.nav-icon {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 24px;
  color: currentColor;
  opacity: 0.74;
}

.nav-icon svg {
  width: 22px;
  height: 22px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nav-item.active .nav-icon,
.nav-item:hover .nav-icon {
  opacity: 1;
}

.sidebar-footer {
  margin-top: auto;
  display: grid;
  grid-template-rows: auto auto;
  align-content: end;
  gap: 18px;
  padding-top: 0;
  border-top: 0;
  flex: 0 0 auto;
  min-height: 0;
}

.sidebar-support-card {
  display: grid;
  min-width: 0;
  border: 1px solid rgba(196, 156, 94, 0.48);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
  color: var(--text);
  box-shadow: 0 10px 24px rgba(44, 37, 28, 0.05);
}

.sidebar-footer .sidebar-system-section {
  grid-row: 1;
  padding-top: 18px;
  padding-bottom: 18px;
  border-top: 1px solid rgba(217, 208, 194, 0.9);
  border-bottom: 1px solid rgba(217, 208, 194, 0.9);
}

.sidebar-support-section {
  display: grid;
  grid-row: 2;
  gap: 10px;
  padding-top: 18px;
}

.sidebar-support-section .nav-section-title {
  margin-bottom: 0;
}

.sidebar-support-card {
  grid-template-columns: 60px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  padding: 15px 16px;
  background:
    radial-gradient(circle at 0% 0%, rgba(255, 242, 212, 0.92), transparent 10rem),
    rgba(255, 250, 241, 0.9);
}

.sidebar-support-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  overflow: hidden;
}

.sidebar-support-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sidebar-support-card strong,
.sidebar-support-card small,
.sidebar-support-card em {
  display: block;
}

.sidebar-support-card strong {
  color: #5a351e;
  font-size: 16px;
  font-weight: 880;
  line-height: 1.15;
}

.sidebar-support-card small {
  margin-top: 5px;
  color: #4f5961;
  font-size: 12px;
  line-height: 1.45;
}

.sidebar-support-card em {
  margin-top: 9px;
  color: #bd7411;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
}

.app-shell.sidebar-collapsed .sidebar {
  padding: 22px 12px;
  gap: 22px;
  overflow: visible;
  border-radius: 0 14px 14px 0;
}

.app-shell.sidebar-collapsed .sidebar-top {
  justify-content: center;
}

.app-shell.sidebar-collapsed .brand {
  display: none;
}

.app-shell.sidebar-collapsed .sidebar-support-section,
.app-shell.sidebar-collapsed .sidebar-support-card {
  display: none;
}

.app-shell.sidebar-collapsed .sidebar-toggle span {
  transform: rotate(45deg);
}

.app-shell.sidebar-collapsed .nav-item.active::before {
  display: none;
}

.app-shell.sidebar-collapsed .nav-list {
  gap: 8px;
}

.app-shell.sidebar-collapsed .nav-section {
  gap: 8px;
}

.app-shell.sidebar-collapsed .nav-section + .nav-section,
.app-shell.sidebar-collapsed .sidebar-footer .nav-section {
  padding-top: 0;
  border-top: 0;
}

.app-shell.sidebar-collapsed .nav-section-title {
  width: 32px;
  height: 1px;
  margin: 8px auto;
  overflow: hidden;
  color: transparent;
  background: var(--subtle);
  letter-spacing: 0;
}

.app-shell.sidebar-collapsed .nav-item {
  width: 48px;
  min-height: 48px;
  justify-content: center;
  gap: 0;
  margin: 0 auto;
  padding: 0;
  font-size: 0;
}

.app-shell.sidebar-collapsed .nav-icon {
  width: 24px;
  height: 24px;
  flex-basis: 24px;
}

.app-shell.sidebar-collapsed .nav-icon svg {
  width: 20px;
  height: 20px;
}

.nav-item.demo-disabled::after,
.app-shell.sidebar-collapsed .nav-item::after,
.sidebar-toggle::after {
  position: absolute;
  top: 50%;
  z-index: 240;
  min-width: max-content;
  max-width: 220px;
  border: 1px solid rgba(54, 45, 36, 0.12);
  border-radius: 7px;
  background: rgba(31, 37, 41, 0.96);
  color: #fff;
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.25;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 12px 28px rgba(20, 22, 24, 0.18);
  transition: opacity 120ms ease, transform 120ms ease;
}

.nav-item.demo-disabled::after,
.app-shell.sidebar-collapsed .nav-item::after,
.app-shell.sidebar-collapsed .sidebar-toggle::after {
  left: calc(100% + 12px);
  right: auto;
  transform: translateY(-50%) translateX(-4px);
}

.nav-item.demo-disabled::after,
.app-shell.sidebar-collapsed .nav-item::after {
  content: attr(data-tooltip);
}

.sidebar-toggle::after {
  content: attr(data-tooltip);
  left: auto;
  right: calc(100% + 12px);
  transform: translateY(-50%) translateX(4px);
}

.nav-item.demo-disabled:hover::after,
.nav-item.demo-disabled:focus-visible::after,
.app-shell.sidebar-collapsed .nav-item:hover::after,
.app-shell.sidebar-collapsed .nav-item:focus-visible::after,
.sidebar-toggle:hover::after,
.sidebar-toggle:focus-visible::after {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

.nav-item.demo-disabled:hover,
.nav-item.demo-disabled:focus-visible,
.app-shell.sidebar-collapsed .nav-item:hover,
.app-shell.sidebar-collapsed .nav-item:focus-visible,
.app-shell.sidebar-collapsed .sidebar-toggle:hover,
.app-shell.sidebar-collapsed .sidebar-toggle:focus-visible {
  z-index: 110;
}

.workspace {
  min-width: 0;
}

.topbar {
  position: relative;
  overflow: visible;
  z-index: 100;
  width: min(calc(100% - 56px), var(--workspace-max-width));
  min-height: var(--topbar-height);
  margin: 14px auto 0;
  padding: 16px 20px;
  background:
    linear-gradient(90deg, rgba(255, 247, 223, 0.72), rgba(255, 255, 255, 0.84) 46%, color-mix(in srgb, var(--theme-soft) 82%, rgba(237, 246, 255, 0.82))),
    var(--surface);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 13%, var(--subtle));
  border-radius: 9px;
  box-shadow: 0 16px 38px rgba(74, 58, 42, 0.065);
  backdrop-filter: blur(18px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.topbar::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    var(--topbar-image, none) var(--topbar-image-position, center right) / var(--topbar-image-size, cover) no-repeat;
  transition: opacity 180ms ease;
}

.topbar::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0;
  border-radius: inherit;
  pointer-events: none;
  background: var(--topbar-wash, none);
  transition: opacity 180ms ease;
}

body[data-active-view="overview"] {
  --topbar-image: url("assets/brand/overview-global-panel.png");
}

body[data-active-view="projections"] {
  --topbar-image: url("assets/brand/projections-global-panel.png");
}

body[data-active-view="decisions"] {
  --topbar-image: url("assets/brand/decision-center-global-panel.png");
  --decision-hero-image: url("assets/brand/decision-center-hero-panel.png");
  --decision-tip-image: url("assets/brand/decision-center-tip-panel.png");
}

body[data-active-view="simulations"] {
  --topbar-image: url("assets/brand/simulations-global-panel.png");
}

body[data-active-view="balance"] {
  --topbar-image: url("assets/brand/plan-tracking-global-panel.png");
}

body[data-active-view="plan-report"] {
  --topbar-image: url("assets/brand/plan-tracking-global-panel.png");
}

body[data-active-view="health-taxes"] {
  --topbar-image: url("assets/brand/health-and-taxes--global-panel.png");
  --topbar-wash:
    linear-gradient(90deg,
      rgba(255, 255, 255, 0.94) 0%,
      rgba(255, 255, 255, 0.88) 24%,
      rgba(255, 255, 255, 0.58) 44%,
      rgba(255, 255, 255, 0.16) 62%,
      rgba(255, 255, 255, 0) 100%);
}

body[data-active-view="roth-conversions"] {
  --topbar-image: url("assets/brand/roth-global-panel.png");
  --topbar-wash:
    linear-gradient(90deg,
      rgba(255, 255, 255, 0.95) 0%,
      rgba(255, 255, 255, 0.88) 24%,
      rgba(255, 255, 255, 0.58) 44%,
      rgba(255, 255, 255, 0.16) 62%,
      rgba(255, 255, 255, 0) 100%);
}

body[data-active-view="scenarios"] {
  --topbar-image: url("assets/brand/comparisons-global-panel.png");
}

body[data-active-view="settings"] {
  --topbar-image: url("assets/brand/settings-global-panel.png");
}

body[data-active-view="methodology"] {
  --topbar-image: url("assets/brand/methodology-global-panel.png");
}

body[data-active-view="getting-started"],
body[data-active-view="getting-started-about"],
body[data-active-view="getting-started-finances"],
body[data-active-view="getting-started-goals"],
body[data-active-view="getting-started-assumptions"],
body[data-active-view="getting-started-review"] {
  --topbar-image: url("assets/brand/welcome-global-panel.png");
}

body[data-active-view="getting-started"] #loading-state,
body[data-active-view="getting-started-about"] #loading-state,
body[data-active-view="getting-started-finances"] #loading-state,
body[data-active-view="getting-started-goals"] #loading-state,
body[data-active-view="getting-started-assumptions"] #loading-state,
body[data-active-view="getting-started-review"] #loading-state {
  display: none;
}

body[data-active-view="overview"] .topbar,
body[data-active-view="projections"] .topbar,
body[data-active-view="decisions"] .topbar,
body[data-active-view="simulations"] .topbar,
body[data-active-view="balance"] .topbar,
body[data-active-view="plan-report"] .topbar,
body[data-active-view="health-taxes"] .topbar,
body[data-active-view="roth-conversions"] .topbar,
body[data-active-view="scenarios"] .topbar,
body[data-active-view="settings"] .topbar,
body[data-active-view="methodology"] .topbar,
body[data-active-view="getting-started"] .topbar,
body[data-active-view="getting-started-about"] .topbar,
body[data-active-view="getting-started-finances"] .topbar,
body[data-active-view="getting-started-goals"] .topbar,
body[data-active-view="getting-started-assumptions"] .topbar,
body[data-active-view="getting-started-review"] .topbar {
  background: var(--surface);
  border-color: color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
}

body[data-active-view="overview"] .topbar::before,
body[data-active-view="projections"] .topbar::before,
body[data-active-view="decisions"] .topbar::before,
body[data-active-view="simulations"] .topbar::before,
body[data-active-view="balance"] .topbar::before,
body[data-active-view="plan-report"] .topbar::before,
body[data-active-view="health-taxes"] .topbar::before,
body[data-active-view="roth-conversions"] .topbar::before,
body[data-active-view="scenarios"] .topbar::before,
body[data-active-view="settings"] .topbar::before,
body[data-active-view="methodology"] .topbar::before,
body[data-active-view="getting-started"] .topbar::before,
body[data-active-view="getting-started-about"] .topbar::before,
body[data-active-view="getting-started-finances"] .topbar::before,
body[data-active-view="getting-started-goals"] .topbar::before,
body[data-active-view="getting-started-assumptions"] .topbar::before,
body[data-active-view="getting-started-review"] .topbar::before {
  opacity: 1;
}

body[data-active-view="health-taxes"] .topbar::after {
  opacity: 1;
}

body[data-active-view="roth-conversions"] .topbar::after {
  opacity: 1;
}

.topbar-title-block {
  position: relative;
  z-index: 2;
  min-width: 0;
}

.workspace-kicker {
  margin: 0 0 5px;
  color: var(--theme-accent-strong);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.eyebrow {
  margin: 0 0 4px;
  color: var(--brand-teal);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

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

h1 {
  margin-bottom: 3px;
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: 30px;
  font-weight: var(--display-title-weight);
  letter-spacing: var(--display-title-letter-spacing);
  line-height: var(--display-title-line-height);
}

.subtitle {
  margin: 0;
  color: var(--muted);
  font-size: 13.5px;
  line-height: 1.35;
}

.topbar-actions {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 11px;
}

.scenario-select {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 0;
  width: max-content;
}

.scenario-select-label {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle-strong));
  border-right: 0;
  border-radius: 8px 0 0 8px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--theme-soft) 58%, white), rgba(255, 255, 255, 0.88)),
    var(--surface);
  color: var(--muted);
  padding: 0 11px;
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  box-shadow: 0 8px 16px rgba(25, 42, 54, 0.045);
}

.scenario-select select {
  height: 34px;
  min-width: 220px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle-strong));
  border-radius: 0 8px 8px 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 255, 0.86)),
    var(--surface);
  color: var(--text);
  padding: 0 12px;
  font-size: 13px;
  font-weight: 760;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: 0 8px 16px rgba(25, 42, 54, 0.045);
}

.scenario-select select:disabled {
  opacity: 0.68;
  cursor: not-allowed;
}

.scenario-working-copy-actions {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 20%, var(--subtle-strong));
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), color-mix(in srgb, var(--theme-soft) 42%, white)),
    var(--surface);
  box-shadow: 0 10px 22px rgba(25, 42, 54, 0.055);
}

.scenario-working-copy-actions[hidden] {
  display: none;
}

.scenario-working-copy-actions span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-soft) 74%, white);
  color: var(--theme-display);
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.scenario-working-copy-actions button {
  min-height: 26px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--blue-dark);
  padding: 0 8px;
  font-size: 11.5px;
  font-weight: 820;
  white-space: nowrap;
}

.scenario-working-copy-actions button:hover {
  background: rgba(255, 255, 255, 0.82);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--theme-accent) 18%, transparent);
}

.scenario-working-copy-actions button:last-child {
  color: var(--muted);
}

.topbar-status {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0 10px;
  border: 1px solid rgba(47, 111, 186, 0.18);
  border-radius: 999px;
  background: rgba(237, 245, 255, 0.74);
  color: var(--blue-dark);
  font-size: 11.5px;
  font-weight: 800;
  white-space: nowrap;
}

.v2-theme-picker {
  position: relative;
  z-index: 120;
}

.v2-theme-trigger {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle-strong));
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.95), color-mix(in srgb, var(--theme-soft) 42%, white)),
    var(--surface);
  color: #33424f;
  padding: 0 11px;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 8px 16px rgba(25, 42, 54, 0.045);
}

.v2-theme-trigger:hover,
.v2-theme-trigger[aria-expanded="true"] {
  color: var(--theme-accent-strong);
  border-color: color-mix(in srgb, var(--theme-accent) 34%, var(--subtle-strong));
}

.v2-theme-trigger-swatch,
.v2-theme-swatch {
  display: inline-grid;
  grid-template-columns: repeat(3, 1fr);
  overflow: hidden;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.76);
  box-shadow: 0 0 0 1px rgba(44, 37, 28, 0.08);
}

.v2-theme-trigger-swatch {
  width: 25px;
  height: 14px;
}

.v2-theme-swatch {
  width: 44px;
  height: 20px;
}

.v2-theme-trigger-swatch i,
.v2-theme-swatch i {
  display: block;
}

.v2-theme-trigger-swatch i:nth-child(1),
.v2-theme-swatch i:nth-child(1) {
  background: var(--chip-strong);
}

.v2-theme-trigger-swatch i:nth-child(2),
.v2-theme-swatch i:nth-child(2) {
  background: var(--chip-accent);
}

.v2-theme-trigger-swatch i:nth-child(3),
.v2-theme-swatch i:nth-child(3) {
  background: var(--chip-second);
}

.v2-theme-popover {
  position: absolute;
  z-index: 130;
  top: calc(100% + 10px);
  right: 0;
  width: min(460px, calc(100vw - 40px));
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 20%, var(--subtle));
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 252, 247, 0.96)),
    var(--surface);
  box-shadow: 0 24px 58px rgba(25, 42, 54, 0.16);
}

.v2-theme-popover-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 11px;
}

.v2-theme-popover-head strong {
  color: var(--theme-accent-strong);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.v2-theme-popover-head span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

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

.v2-theme-chip {
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--subtle);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
  color: #33424f;
  padding: 9px 12px;
  font-size: 13.5px;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.v2-theme-chip:hover,
.v2-theme-chip.is-active {
  border-color: color-mix(in srgb, var(--chip-accent) 34%, var(--subtle-strong));
  background: color-mix(in srgb, var(--chip-soft) 48%, white);
  color: color-mix(in srgb, var(--chip-strong) 72%, var(--text));
}

.v2-theme-chip.is-active {
  box-shadow:
    inset 3px 0 0 var(--chip-accent),
    0 8px 18px rgba(44, 37, 28, 0.06);
}

.mini-spinner {
  width: 12px;
  height: 12px;
  border: 2px solid rgba(47, 111, 186, 0.18);
  border-top-color: var(--blue);
  border-radius: 999px;
  animation: spin 0.8s linear infinite;
}

.button {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 7px;
  padding: 0 14px;
  font-weight: 750;
  cursor: pointer;
}

.button svg {
  width: 18px;
  height: 18px;
  margin-right: 8px;
}

.button.primary {
  background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-strong));
  color: #fff;
  box-shadow: 0 14px 28px color-mix(in srgb, var(--theme-accent) 22%, transparent);
}

.button.secondary {
  background: linear-gradient(180deg, #9a2530, var(--wine));
  color: white;
  box-shadow: 0 8px 18px rgba(122, 23, 32, 0.18);
}

.button.positive {
  background: linear-gradient(180deg, #168957, var(--success));
  color: white;
  box-shadow: 0 8px 18px rgba(18, 130, 76, 0.18);
}

.button.ghost {
  background: var(--surface);
  color: #33424f;
  border-color: var(--subtle-strong);
}

.button.ghost:hover {
  border-color: color-mix(in srgb, var(--blue) 38%, var(--subtle-strong));
  color: var(--blue-dark);
}

.content {
  padding: 30px 28px 36px;
  background: transparent;
}

.no-saved-plan-view {
  min-height: min(820px, calc(100vh - var(--topbar-height) - 54px));
  display: grid;
  place-items: center;
}

.no-saved-plan-shell {
  width: min(1560px, 100%);
  display: grid;
  gap: 30px;
  padding: clamp(28px, 4vw, 54px);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 26px 72px rgba(44, 37, 28, 0.13);
}

.no-saved-plan-hero {
  display: grid;
  grid-template-columns: minmax(320px, 0.78fr) minmax(760px, 1.22fr);
  align-items: center;
  gap: clamp(28px, 4vw, 64px);
}

.no-saved-plan-art {
  position: relative;
  min-height: 320px;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.no-saved-plan-safe-image {
  position: relative;
  z-index: 1;
  width: min(430px, 94%);
  height: auto;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 24px 34px rgba(35, 56, 77, 0.14));
}

.no-saved-plan-copy {
  display: grid;
  gap: 16px;
  align-content: center;
}

.no-saved-plan-kicker {
  margin: 0;
  color: var(--theme-accent-strong);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.no-saved-plan-copy h2 {
  margin: 0;
  color: var(--text);
  font-family: var(--font-display);
  font-size: clamp(38px, 4.5vw, 58px);
  line-height: 1.05;
}

.no-saved-plan-copy p:not(.no-saved-plan-kicker),
.no-saved-plan-note p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  font-weight: 650;
  line-height: 1.55;
}

.no-saved-plan-actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 14px;
}

.sample-data-banner-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.no-saved-plan-actions .button {
  flex: 0 0 auto;
  min-height: 48px;
  padding: 0 20px;
  border-radius: 7px;
  white-space: nowrap;
}

.no-saved-plan-actions .button svg,
.no-saved-plan-actions .button use {
  fill: none !important;
  stroke: currentColor !important;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.no-saved-plan-actions .button.primary svg {
  width: 19px;
  height: 19px;
  stroke-width: 2.4;
}

.no-saved-plan-actions .button.ghost {
  color: #111827;
  font-weight: 950;
}

.no-saved-plan-actions .button.ghost svg {
  width: 18px;
  height: 18px;
  margin-right: 10px;
}

.no-saved-plan-actions .button.ghost svg,
.no-saved-plan-actions .button.ghost use {
  fill: currentColor !important;
  stroke: none !important;
}

.no-saved-plan-note,
.sample-data-banner {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border: 1px solid color-mix(in srgb, #d18412 30%, var(--subtle));
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(255, 247, 231, 0.94), rgba(255, 253, 248, 0.86));
  color: #8a4f08;
}

.no-saved-plan-note {
  margin-top: 4px;
  padding: 15px 17px;
}

.no-saved-plan-note > span[aria-hidden="true"],
.sample-data-banner > span {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(209, 132, 18, 0.32);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: #d18412;
}

.no-saved-plan-note svg,
.sample-data-banner svg {
  width: 18px;
  height: 18px;
}

.no-saved-plan-note svg,
.no-saved-plan-note use,
.sample-data-banner svg,
.sample-data-banner use {
  fill: none !important;
  stroke: #f59e0b !important;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.no-saved-plan-note strong,
.no-saved-plan-note span:not([aria-hidden]) {
  display: block;
}

.no-saved-plan-note strong {
  margin-bottom: 3px;
}

.sample-data-banner {
  align-items: center;
  margin-bottom: 20px;
  padding: 13px 16px;
}

.sample-data-banner p {
  flex: 1 1 auto;
  margin: 0;
  color: #744609;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.sample-data-banner-actions button {
  min-height: 34px;
  border: 1px solid rgba(209, 132, 18, 0.32);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.74);
  color: #8a4f08;
  padding: 0 12px;
  font-weight: 850;
  cursor: pointer;
}

.sample-data-banner.is-demo-plan .sample-data-banner-actions {
  display: none;
}

.no-saved-plan-options {
  display: grid;
  gap: 22px;
  padding-top: 4px;
}

.no-saved-plan-options h3 {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  margin: 0;
  color: #2b3440;
  font-size: 15px;
  font-weight: 900;
}

.no-saved-plan-options h3::after {
  content: "";
  height: 1px;
  background: color-mix(in srgb, var(--subtle-strong) 68%, transparent);
}

.no-saved-plan-option-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.no-saved-plan-option {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.no-saved-plan-option + .no-saved-plan-option {
  border-left: 1px solid color-mix(in srgb, var(--subtle-strong) 62%, transparent);
  padding-left: 28px;
}

.no-saved-plan-option-icon {
  width: 72px;
  min-width: 72px;
  height: 72px;
  min-height: 72px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 12px;
  padding: 0;
}

.no-saved-plan-option-icon svg {
  width: 36px;
  height: 36px;
}

.no-saved-plan-option-icon img {
  display: block;
  width: 72px;
  height: 72px;
  border-radius: 12px;
  object-fit: cover;
}

button.no-saved-plan-option-icon {
  cursor: pointer;
}

button.no-saved-plan-option-icon:hover,
button.no-saved-plan-option-icon:focus-visible {
  filter: brightness(0.98);
  box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 16%, transparent);
}

.no-saved-plan-option-icon.restore svg,
.no-saved-plan-option-icon.restore use,
.no-saved-plan-option-icon.start svg,
.no-saved-plan-option-icon.start use {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.15;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.no-saved-plan-option-icon.restore {
  color: #2269c6;
  background: transparent;
}

.no-saved-plan-option-icon.start {
  color: #118052;
  background: transparent;
}

.no-saved-plan-option-icon.start + div h4 {
  color: #118052;
}

.no-saved-plan-option-icon.sample {
  color: #7a4fc7;
  background: linear-gradient(145deg, rgba(245, 237, 255, 0.98), rgba(252, 248, 255, 0.9));
}

.no-saved-plan-option h4 {
  margin: 0 0 7px;
  color: var(--blue-dark);
  font-size: 15px;
  font-weight: 900;
}

.no-saved-plan-option p {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}

.no-saved-plan-option > div button,
.no-saved-plan-privacy-link {
  border: 0;
  background: transparent;
  color: var(--theme-accent-strong);
  padding: 0;
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
}

.no-saved-plan-option > div button {
  width: fit-content;
}

.no-saved-plan-privacy-link {
  justify-self: end;
  white-space: nowrap;
}

.no-saved-plan-privacy {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) max-content;
  align-items: center;
  gap: 16px;
  margin-top: 4px;
  padding: 16px 20px;
  border: 1px solid color-mix(in srgb, var(--blue) 18%, var(--subtle));
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(247, 251, 255, 0.96), rgba(255, 255, 255, 0.9));
}

.no-saved-plan-privacy > span[aria-hidden="true"] {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.no-saved-plan-privacy img {
  display: block;
  width: 48px;
  height: 48px;
  object-fit: contain;
}

.no-saved-plan-privacy p {
  margin: 0;
  color: var(--muted);
  font-size: 13.5px;
  font-weight: 650;
  line-height: 1.45;
}

.no-saved-plan-privacy strong {
  color: var(--blue-dark);
  font-size: 15px;
  font-weight: 900;
}

@media (max-width: 1180px) {
  .no-saved-plan-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .no-saved-plan-art {
    min-height: 280px;
  }
}

@media (max-width: 780px) {
  .no-saved-plan-view {
    min-height: auto;
    place-items: stretch;
  }

  .no-saved-plan-shell {
    padding: 24px;
  }

  .no-saved-plan-hero,
  .no-saved-plan-option-grid,
  .no-saved-plan-privacy {
    grid-template-columns: minmax(0, 1fr);
  }

  .no-saved-plan-art {
    min-height: 240px;
  }

  .no-saved-plan-option,
  .no-saved-plan-option + .no-saved-plan-option {
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--subtle-strong) 62%, transparent);
    padding-left: 0;
    padding-top: 18px;
  }

  .no-saved-plan-option:first-child {
    border-top: 0;
    padding-top: 0;
  }

  .no-saved-plan-actions,
  .sample-data-banner,
  .sample-data-banner-actions {
    display: grid;
  }

  .no-saved-plan-actions .button,
  .sample-data-banner-actions button {
    width: 100%;
  }

  .no-saved-plan-privacy-link {
    width: auto;
  }
}

.loading-card {
  position: fixed;
  inset: 0;
  z-index: 520;
  overflow: hidden;
  width: auto;
  min-height: 100vh;
  margin: 0;
  display: grid;
  align-items: center;
  justify-items: start;
  padding: clamp(32px, 7vw, 104px);
  background:
    linear-gradient(90deg,
      rgba(7, 31, 56, 0.68) 0%,
      rgba(16, 50, 76, 0.45) 28%,
      rgba(255, 255, 255, 0.1) 58%,
      rgba(255, 255, 255, 0.02) 100%),
    radial-gradient(ellipse at 17% 50%, rgba(255, 255, 255, 0.1), transparent 22rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(7, 31, 56, 0.16)),
    url("assets/brand/app-loading-screen.png?v=1") center center / cover no-repeat,
    var(--surface);
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.loading-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(7, 31, 56, 0.28), transparent 54%),
    radial-gradient(circle at 87% 42%, rgba(255, 255, 255, 0.26), transparent 22rem);
  pointer-events: none;
}

.loading-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 38%;
  background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.38));
  pointer-events: none;
}

.loading-scene-content {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 30px;
  width: min(520px, 88vw);
  margin-left: clamp(0px, 3vw, 58px);
  padding: 0;
}

.loading-logo {
  width: min(500px, 78vw);
  height: auto;
  display: block;
  filter:
    drop-shadow(0 18px 32px rgba(3, 19, 35, 0.28))
    drop-shadow(0 1px 0 rgba(255, 255, 255, 0.22));
}

.loading-message {
  display: grid;
  gap: 14px;
  width: 100%;
  max-width: 520px;
  color: rgba(255, 255, 255, 0.92);
  text-shadow: 0 2px 18px rgba(5, 19, 33, 0.34);
}

.loading-status-chip {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.92);
  box-shadow: 0 12px 30px rgba(5, 19, 33, 0.16);
  backdrop-filter: blur(10px);
}

.loading-status-chip span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #f4b23e;
  box-shadow: 0 0 0 6px rgba(244, 178, 62, 0.16);
  animation: loadingPulse 1.35s ease-in-out infinite;
}

.loading-status-chip b {
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.loading-card h2 {
  margin: 0;
  max-width: 500px;
  color: #fff;
  font-family: var(--font-display);
  font-size: clamp(38px, 4.4vw, 62px);
  line-height: 1.1;
}

.loading-card p {
  margin: 0;
  max-width: 480px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 17px;
  font-weight: 650;
  line-height: 1.55;
}

.loading-progress {
  position: relative;
  overflow: hidden;
  width: min(100%, 420px);
  height: 5px;
  margin-top: 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.22);
  box-shadow: inset 0 1px 3px rgba(5, 19, 33, 0.22);
}

.loading-progress i {
  position: absolute;
  inset: 0 auto 0 0;
  width: 44%;
  border-radius: inherit;
  background: linear-gradient(90deg, #f4b23e, #fff 46%, #82d2ff);
  box-shadow: 0 0 18px rgba(255, 255, 255, 0.5);
  animation: loadingSweep 1.45s ease-in-out infinite;
}

.loading-step-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.loading-step-row span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.loading-step-row span + span::before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.48);
}

@media (max-width: 620px) {
  .loading-card {
    align-items: end;
    padding: 24px 20px 44px;
    background:
      linear-gradient(180deg, rgba(7, 31, 56, 0.06), rgba(7, 31, 56, 0.62) 54%, rgba(7, 31, 56, 0.86)),
      url("assets/brand/app-loading-screen.png?v=1") center center / cover no-repeat,
      var(--surface);
  }

  .loading-scene-content {
    width: 100%;
    margin-left: 0;
    gap: 22px;
  }

  .loading-logo {
    width: min(330px, 82vw);
  }

  .loading-card h2 {
    font-size: 38px;
  }

  .loading-card p {
    font-size: 15px;
  }

  .loading-step-row {
    gap: 8px;
    font-size: 11px;
  }
}

@keyframes loadingSweep {
  0% {
    transform: translateX(-105%);
  }
  52%,
  100% {
    transform: translateX(238%);
  }
}

@keyframes loadingPulse {
  0%,
  100% {
    transform: scale(0.9);
    opacity: 0.74;
  }
  50% {
    transform: scale(1.08);
    opacity: 1;
  }
}

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

.view-grid {
  width: min(100%, var(--workspace-max-width));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 22px 18px;
}

.nav-item-start {
  color: color-mix(in srgb, var(--theme-accent-strong) 84%, #263645);
}

.nav-item-start .nav-icon {
  color: var(--theme-accent-strong);
}

.getting-started-view {
  width: min(100%, var(--workspace-max-width));
  margin: 0 auto;
}

.getting-started-shell {
  min-height: min(820px, calc(100vh - var(--topbar-height) - 58px));
  display: grid;
  grid-template-columns: minmax(260px, 310px) minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 14%, var(--subtle));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 28px 70px rgba(32, 39, 48, 0.13);
}

.getting-started-art-panel {
  position: relative;
  min-height: 720px;
  padding: 34px 34px 42px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: url("assets/brand/welcome-landscape.png") 50% center / cover no-repeat;
}

.getting-started-art-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 110% 42% at 18% 91%, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.82) 40%, rgba(255, 255, 255, 0.34) 64%, transparent 84%);
  pointer-events: none;
}

.getting-started-brand,
.getting-started-quote {
  position: relative;
  z-index: 1;
}

.getting-started-brand {
  width: max-content;
}

.getting-started-brand::before {
  content: "";
  position: absolute;
  inset: -56px -108px -52px -72px;
  z-index: -1;
  background:
    radial-gradient(ellipse 58% 46% at 40% 44%, rgba(255, 255, 255, 0.48) 0%, rgba(255, 255, 255, 0.28) 42%, rgba(255, 255, 255, 0.1) 62%, transparent 82%);
  filter: blur(18px);
  pointer-events: none;
}

.getting-started-brand img {
  width: 236px;
  max-width: 100%;
  height: auto;
  display: block;
  filter:
    drop-shadow(0 1px 1px rgba(255, 255, 255, 0.52))
    drop-shadow(0 6px 12px rgba(12, 32, 54, 0.08));
}

.getting-started-quote {
  max-width: 260px;
  color: #10234d;
}

.getting-started-quote > span {
  display: block;
  width: max-content;
  color: #2aa967;
  font-size: 58px;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 900;
  line-height: 0.42;
  letter-spacing: -0.16em;
  text-shadow: 0 8px 18px rgba(20, 118, 76, 0.16);
  transform: translateX(-3px);
}

.getting-started-quote blockquote {
  margin: 0 0 14px;
  color: #10234d;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.45;
}

.getting-started-quote cite {
  color: #52627d;
  font-size: 15px;
  font-style: normal;
  font-weight: 600;
}

.getting-started-main {
  container-type: inline-size;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 30px;
  padding: 40px 32px 0;
  background:
    radial-gradient(circle at 78% 22%, color-mix(in srgb, var(--theme-soft) 72%, transparent) 0 16%, transparent 34%),
    linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.92) 54%, color-mix(in srgb, var(--theme-soft) 44%, #fff) 100%);
}

.getting-started-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(268px, 404px);
  align-items: start;
  gap: 24px;
}

.getting-started-eyebrow {
  width: fit-content;
  margin: 58px 0 18px;
  padding: 4px 8px;
  border-radius: 5px;
  background: color-mix(in srgb, var(--theme-accent) 12%, #fff);
  color: var(--theme-accent-strong);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.getting-started-hero h2 {
  max-width: 430px;
  margin: 0;
  color: #08194a;
  font-size: 48px;
  line-height: 1.06;
  font-weight: 900;
  letter-spacing: 0;
}

.getting-started-hero-copy > p:last-child {
  max-width: 520px;
  margin: 22px 0 0;
  color: #405070;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.55;
}

.getting-started-hero-side {
  --getting-started-side-card-width: 376px;
  box-sizing: border-box;
  display: grid;
  justify-items: end;
  gap: 40px;
  padding-inline-end: 28px;
}

.getting-started-trust-strip {
  width: min(100%, var(--getting-started-side-card-width));
  max-width: 100%;
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  border: 1px solid rgba(37, 54, 80, 0.07);
  border-radius: 8px;
  background: rgba(255, 252, 246, 0.76);
  box-shadow: 0 12px 28px rgba(35, 42, 52, 0.055);
  color: #536071;
  font-size: 14px;
  font-weight: 750;
  line-height: 1;
  white-space: nowrap;
}

.getting-started-trust-strip svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #26965f;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.getting-started-trust-strip i {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #617086;
}

.getting-started-privacy-card {
  width: min(100%, var(--getting-started-side-card-width));
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  padding: 24px;
  border: 1px solid rgba(31, 142, 91, 0.14);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(237, 249, 243, 0.82));
  box-shadow: 0 16px 38px rgba(36, 45, 54, 0.065);
}

.getting-started-privacy-icon,
.getting-started-step-icon,
.getting-started-footer span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 15%, var(--subtle));
  color: var(--theme-accent-strong);
}

.getting-started-privacy-icon {
  width: 48px;
  height: 48px;
  border-color: rgba(31, 142, 91, 0.13);
  color: #26965f;
}

.getting-started-privacy-icon svg,
.getting-started-step-icon svg,
.getting-started-footer svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.getting-started-privacy-card h3 {
  margin: 2px 0 10px;
  color: #147342;
  font-size: 17px;
  line-height: 1.2;
}

.getting-started-privacy-card p {
  margin: 0;
  color: #2f3e5d;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.55;
}

.getting-started-steps {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 20px;
  align-items: stretch;
}

.getting-started-step-rail {
  position: relative;
  display: grid;
  grid-template-rows: repeat(5, 1fr);
  justify-items: center;
  padding: 10px 0;
}

.getting-started-step-rail::before {
  content: "";
  position: absolute;
  top: 44px;
  bottom: 44px;
  left: 50%;
  border-left: 2px dashed color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  transform: translateX(-50%);
}

.getting-started-step-rail span {
  position: relative;
  z-index: 1;
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--subtle);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.88);
  color: #647184;
  font-size: 16px;
  font-weight: 800;
  box-shadow: 0 10px 22px rgba(40, 48, 58, 0.05);
}

.getting-started-step-rail span.active {
  background: var(--theme-accent-strong);
  color: #fff;
  border-color: var(--theme-accent-strong);
  box-shadow:
    0 0 0 4px rgba(255, 255, 255, 0.86),
    0 12px 22px color-mix(in srgb, var(--theme-accent) 24%, transparent);
}

.getting-started-step-list {
  display: grid;
  gap: 0;
}

.getting-started-step-card {
  min-height: 86px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  padding: 16px 22px;
  border: 1px solid rgba(49, 59, 71, 0.08);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 12px 24px rgba(37, 44, 52, 0.04);
}

.getting-started-step-card:first-child {
  border-radius: 8px 8px 0 0;
}

.getting-started-step-card:last-child {
  border-radius: 0 0 8px 8px;
}

.getting-started-step-card + .getting-started-step-card {
  border-top: 0;
}

.getting-started-step-card.active {
  position: relative;
  z-index: 1;
  border-radius: 8px;
  border-color: color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--theme-soft) 62%, rgba(255, 255, 255, 0.86)), rgba(255, 255, 255, 0.9));
  box-shadow: 0 16px 34px rgba(38, 48, 57, 0.08);
}

.getting-started-step-icon {
  width: 54px;
  height: 54px;
  color: #5f6d82;
}

.getting-started-step-card.active .getting-started-step-icon {
  color: var(--theme-accent-strong);
  border-color: color-mix(in srgb, var(--theme-accent) 24%, var(--subtle));
}

.getting-started-step-card h3 {
  margin: 0 0 6px;
  color: #071846;
  font-size: 17px;
  font-weight: 900;
}

.getting-started-step-card.active h3 {
  color: var(--theme-accent-strong);
}

.getting-started-step-card p {
  margin: 0;
  color: #4a5871;
  font-size: 15px;
  font-weight: 600;
}

.getting-started-next {
  min-width: 116px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 18px;
  border-radius: 999px;
  background: var(--theme-accent-strong);
  color: #fff;
  font-weight: 850;
  text-decoration: none;
  box-shadow: 0 12px 22px color-mix(in srgb, var(--theme-accent) 26%, transparent);
}

.getting-started-next svg,
.onboarding-back-button svg,
.onboarding-next-button svg {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 140ms ease;
}

.getting-started-next:hover,
.getting-started-next:focus-visible {
  filter: brightness(0.98);
  box-shadow: 0 14px 28px color-mix(in srgb, var(--theme-accent) 34%, transparent);
}

.getting-started-next:hover svg,
.getting-started-next:focus-visible svg,
.onboarding-next-button:hover svg,
.onboarding-next-button:focus-visible svg {
  transform: translateX(2px);
}

.onboarding-back-button:hover svg,
.onboarding-back-button:focus-visible svg {
  transform: translateX(-2px);
}

.getting-started-footer {
  min-height: 108px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 22px;
  margin: 0 -32px;
  padding: 22px 46px;
  border-top: 1px solid var(--subtle);
  background: rgba(255, 255, 255, 0.74);
}

.getting-started-footer-message {
  min-width: min(100%, 420px);
  flex: 1 1 460px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 18px;
}

.getting-started-footer span {
  width: 36px;
  height: 36px;
  color: #52637a;
}

.getting-started-footer-message p,
.getting-started-restore p {
  margin: 0;
  color: #485874;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.55;
}

.getting-started-footer strong {
  color: #102045;
  font-weight: 850;
}

.getting-started-restore {
  flex: 0 1 360px;
  display: grid;
  gap: 14px;
  align-items: start;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  border-radius: 8px;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--theme-accent) 9%, transparent), transparent 9rem),
    rgba(255, 255, 255, 0.78);
  box-shadow: 0 10px 24px rgba(42, 48, 56, 0.06);
}

.getting-started-restore-button {
  min-height: 46px;
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 16px;
  border: 1px solid color-mix(in srgb, var(--blue-dark) 72%, var(--blue));
  border-radius: 8px;
  background: linear-gradient(180deg, var(--blue), var(--blue-dark));
  color: #fff;
  font-weight: 850;
  box-shadow: 0 14px 28px color-mix(in srgb, var(--blue) 22%, transparent);
}

.getting-started-restore-button svg,
.getting-started-restore-button use {
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.getting-started-restore-button:hover,
.getting-started-restore-button:focus-visible {
  border-color: color-mix(in srgb, var(--blue-dark) 84%, #fff);
  color: #fff;
  filter: brightness(1.03);
}

.getting-started-skip {
  min-width: 140px;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--subtle);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.74);
  color: #2f3d58;
  font-weight: 850;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(42, 48, 56, 0.06);
}

.getting-started-skip:hover,
.getting-started-skip:focus-visible {
  border-color: color-mix(in srgb, var(--theme-accent) 24%, var(--subtle));
  color: var(--theme-accent-strong);
}

@container (max-width: 780px) {
  .getting-started-hero {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .getting-started-eyebrow {
    margin-top: 18px;
  }

  .getting-started-hero-side {
    grid-template-columns: 1fr;
    align-items: start;
    justify-items: end;
    gap: 32px;
    padding-inline-end: 28px;
  }

  .getting-started-trust-strip {
    width: min(100%, var(--getting-started-side-card-width));
    justify-content: flex-start;
    white-space: nowrap;
  }

  .getting-started-privacy-card {
    width: 100%;
  }
}

@container (max-width: 620px) {
  .getting-started-hero-side {
    grid-template-columns: 1fr;
    padding-inline-end: 0;
  }
}

@media (max-width: 1320px) {
  .getting-started-shell {
    grid-template-columns: 280px minmax(0, 1fr);
  }

  .getting-started-main {
    padding: 32px 24px 0;
  }

  .getting-started-hero {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .getting-started-eyebrow {
    margin-top: 18px;
  }

  .getting-started-hero-side {
    grid-template-columns: 1fr;
    align-items: start;
    justify-items: end;
    gap: 32px;
    padding-inline-end: 28px;
  }

  .getting-started-trust-strip {
    width: min(100%, var(--getting-started-side-card-width));
    justify-content: flex-start;
    white-space: nowrap;
  }

  .getting-started-privacy-card {
    width: 100%;
  }

  .getting-started-footer {
    margin: 0 -24px;
    padding: 20px 32px;
  }
}

@media (max-width: 900px) {
  .getting-started-view {
    width: min(100%, var(--workspace-max-width));
  }

  .getting-started-shell {
    grid-template-columns: 1fr;
  }

  .getting-started-art-panel {
    min-height: 320px;
    padding: 26px;
  }

  .getting-started-main {
    gap: 24px;
  }

  .getting-started-hero h2 {
    font-size: 42px;
  }

  .getting-started-hero-side {
    grid-template-columns: 1fr;
    padding-inline-end: 0;
  }

  .getting-started-steps {
    grid-template-columns: 1fr;
  }

  .getting-started-step-rail {
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: none;
    padding: 0 8px;
  }

  .getting-started-step-rail::before {
    top: 50%;
    bottom: auto;
    left: 38px;
    right: 38px;
    border-left: 0;
    border-top: 2px dashed color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
    transform: translateY(-50%);
  }

  .getting-started-step-card {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .getting-started-next {
    grid-column: 1 / -1;
    width: 100%;
  }

  .getting-started-footer {
    display: grid;
  }

  .getting-started-restore {
    max-width: none;
  }

  .getting-started-skip {
    width: 100%;
  }
}

@media (max-width: 620px) {
  .getting-started-main {
    padding: 24px 16px 0;
  }

  .getting-started-hero h2 {
    font-size: 34px;
  }

  .getting-started-hero-copy > p:last-child,
  .getting-started-privacy-card p {
    font-size: 15px;
  }

  .getting-started-trust-strip {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .getting-started-step-card {
    padding: 14px;
    gap: 14px;
  }

  .getting-started-footer {
    margin: 0 -16px;
    padding: 18px 16px;
  }

  .getting-started-footer-message {
    grid-template-columns: 1fr;
  }
}

.onboarding-step-view {
  width: min(100%, var(--workspace-max-width));
  margin: 0 auto;
}

.onboarding-step-shell {
  min-height: min(860px, calc(100vh - var(--topbar-height) - 58px));
  display: grid;
  grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.93);
  box-shadow: 0 28px 70px rgba(32, 39, 48, 0.13);
}

.onboarding-step-side {
  position: relative;
  min-height: 780px;
  padding: 28px 28px 30px;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.22) 32%, rgba(255, 255, 255, 0.08) 66%, rgba(255, 255, 255, 0.82)),
    url("assets/brand/welcome-landscape.png") 50% center / cover no-repeat;
}

.onboarding-step-side::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.58) 58%, rgba(255, 255, 255, 0.2)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.48), rgba(255, 255, 255, 0.18) 42%, rgba(255, 255, 255, 0.36));
  pointer-events: none;
}

.onboarding-step-side > * {
  position: relative;
  z-index: 1;
}

.onboarding-side-brand img {
  width: 214px;
  max-width: 100%;
  display: block;
}

.onboarding-side-copy {
  max-width: 220px;
}

.onboarding-side-copy h2 {
  margin: 0 0 12px;
  color: #071846;
  font-size: 21px;
  line-height: 1.16;
  font-weight: 900;
}

.onboarding-side-copy p,
.onboarding-side-steps p {
  margin: 0;
  color: #30405f;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
}

.onboarding-side-steps {
  position: relative;
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 4px 0 0;
  list-style: none;
}

.onboarding-side-steps::before {
  content: "";
  position: absolute;
  top: 24px;
  bottom: 24px;
  left: 17px;
  border-left: 2px dashed color-mix(in srgb, var(--theme-accent) 24%, transparent);
}

.onboarding-side-steps li {
  position: relative;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.onboarding-side-steps li > span,
.onboarding-progress-strip li > span {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(38, 53, 78, 0.13);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.88);
  color: #647184;
  font-weight: 850;
}

.onboarding-side-steps li.active > span,
.onboarding-progress-strip li.active > span {
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 92%, #fff),
      var(--theme-accent-strong));
  border-color: color-mix(in srgb, var(--theme-accent-strong) 82%, rgba(38, 53, 78, 0.13));
  color: #fff;
  box-shadow:
    0 0 0 4px rgba(255, 255, 255, 0.76),
    0 12px 22px color-mix(in srgb, var(--theme-accent) 28%, transparent);
}

.onboarding-side-steps li.done > span,
.onboarding-progress-strip li.done > span {
  background: color-mix(in srgb, var(--theme-accent) 12%, #fff);
  border-color: color-mix(in srgb, var(--theme-accent) 26%, rgba(38, 53, 78, 0.13));
  color: var(--theme-accent-strong);
  box-shadow: 0 8px 18px color-mix(in srgb, var(--theme-accent) 12%, transparent);
}

.onboarding-side-steps strong {
  display: block;
  margin: 2px 0 4px;
  color: #071846;
  font-size: 14px;
  font-weight: 900;
}

.onboarding-side-steps li.active strong {
  color: var(--theme-accent-strong);
}

.onboarding-side-steps li.done strong {
  color: color-mix(in srgb, var(--theme-accent-strong) 82%, #071846);
}

.onboarding-step-main {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 28px;
  padding: 34px 38px 0;
  background:
    radial-gradient(circle at 82% 12%, rgba(233, 246, 255, 0.9) 0 16%, transparent 34%),
    linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, 0.94) 55%, rgba(241, 248, 244, 0.72) 100%);
}

.onboarding-progress-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.onboarding-progress-strip li {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  color: #071846;
  font-weight: 800;
}

.onboarding-progress-strip li:not(:last-child)::after {
  content: "";
  height: 1px;
  background: rgba(38, 53, 78, 0.12);
}

.onboarding-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
  gap: 28px;
  align-items: start;
}

.onboarding-form-column {
  display: grid;
  gap: 14px;
}

.onboarding-step-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  margin-bottom: 10px;
}

.onboarding-step-head-icon {
  width: 64px;
  height: 64px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, rgba(38, 53, 78, 0.08));
  border-radius: 50%;
  color: var(--theme-accent-strong);
  background: rgba(255, 255, 255, 0.78);
}

.onboarding-step-head h2 {
  margin: 0 0 8px;
  color: #071846;
  font-size: 36px;
  line-height: 1.08;
  letter-spacing: 0;
}

.onboarding-step-head p,
.onboarding-field-note {
  margin: 0;
  color: #314360;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.55;
}

.onboarding-form-card,
.onboarding-why-card,
.onboarding-tips-panel {
  border: 1px solid rgba(38, 53, 78, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 12px 28px rgba(37, 44, 52, 0.045);
}

.onboarding-form-card {
  padding: 18px 20px;
}

.onboarding-form-card h3,
.onboarding-why-card h3,
.onboarding-tips-panel h3 {
  margin: 0;
  color: #071846;
  font-size: 17px;
  font-weight: 900;
}

.onboarding-mode-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.onboarding-mode-card {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 12px;
  row-gap: 4px;
  align-items: start;
  min-height: 116px;
  padding: 14px;
  border: 2px solid rgba(38, 53, 78, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(37, 44, 52, 0.045);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, background 160ms ease;
}

.onboarding-mode-card:has(input:checked) {
  border-color: color-mix(in srgb, var(--theme-accent) 58%, rgba(38, 53, 78, 0.14));
  background:
    radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--theme-accent) 10%, transparent), transparent 18rem),
    linear-gradient(135deg, color-mix(in srgb, var(--theme-accent) 8%, #fff), rgba(255, 255, 255, 0.88));
  box-shadow: 0 16px 34px color-mix(in srgb, var(--theme-accent) 16%, transparent);
}

.onboarding-mode-card:hover,
.onboarding-mode-card:focus-within {
  border-color: color-mix(in srgb, var(--theme-accent) 42%, rgba(38, 53, 78, 0.14));
  box-shadow: 0 14px 28px rgba(37, 44, 52, 0.08);
}

.onboarding-mode-card::after {
  content: "";
  position: absolute;
  top: 14px;
  right: 14px;
  width: 18px;
  height: 18px;
  border: 2px solid rgba(83, 96, 113, 0.34);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
}

.onboarding-mode-card:has(input:checked)::after {
  border-color: var(--theme-accent-strong);
  background:
    radial-gradient(circle, var(--theme-accent-strong) 0 38%, transparent 42%),
    #fff;
}

.onboarding-mode-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.onboarding-mode-card > span,
.onboarding-why-card > span,
.onboarding-tips-head > span,
.onboarding-tips-panel article > span {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, rgba(38, 53, 78, 0.08));
  border-radius: 50%;
  color: var(--theme-accent-strong);
  background: rgba(255, 255, 255, 0.78);
}

.onboarding-mode-card:has(input:checked) > span {
  border-color: color-mix(in srgb, var(--theme-accent) 34%, rgba(38, 53, 78, 0.08));
  background: color-mix(in srgb, var(--theme-accent) 8%, #fff);
  box-shadow: 0 8px 18px color-mix(in srgb, var(--theme-accent) 12%, transparent);
}

.onboarding-mode-card svg,
.onboarding-step-head-icon svg,
.onboarding-why-card svg,
.onboarding-tips-panel svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.onboarding-mode-card strong {
  display: block;
  margin: 0 0 4px;
  color: #071846;
  font-weight: 900;
}

.onboarding-mode-card p {
  grid-column: 2;
  margin: 0;
  color: #51617a;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
}

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

.onboarding-secondary-action {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 28%, rgba(38, 53, 78, 0.12));
  border-radius: 8px;
  background: color-mix(in srgb, var(--theme-accent) 5%, rgba(255, 255, 255, 0.9));
  color: var(--theme-accent-strong);
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.onboarding-secondary-action svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.onboarding-secondary-action:disabled {
  cursor: default;
  opacity: 0.78;
}

.onboarding-finance-card {
  position: relative;
  overflow: hidden;
}

.onboarding-finance-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent), transparent 86%);
  opacity: 0.62;
}

.onboarding-finance-table {
  display: grid;
  margin-top: 16px;
  border: 1px solid rgba(38, 53, 78, 0.1);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.74);
}

.onboarding-finance-table label {
  display: grid;
  grid-template-columns: minmax(190px, 1.25fr) minmax(120px, 0.8fr) minmax(120px, 0.7fr);
  gap: 12px;
  align-items: center;
  min-height: 54px;
  padding: 10px 12px;
  color: #071846;
  font-weight: 850;
}

.onboarding-finance-table label + label {
  border-top: 1px solid rgba(38, 53, 78, 0.08);
}

.onboarding-finance-table label > span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.onboarding-finance-table small {
  color: #637189;
  font-size: 12px;
  font-weight: 700;
}

.onboarding-finance-table input,
.onboarding-compact-grid input,
.onboarding-compact-grid select {
  min-height: 38px;
  width: 100%;
  border: 1px solid rgba(38, 53, 78, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  color: #25334f;
  font: inherit;
  font-weight: 700;
  padding: 8px 10px;
}

.onboarding-readonly-field input {
  border-color: rgba(31, 142, 91, 0.18);
  background: rgba(245, 251, 248, 0.84);
  color: #1f8e5b;
  cursor: default;
}

.onboarding-readonly-field input:focus {
  outline: none;
  box-shadow: none;
}

.bucket-dot {
  width: 10px;
  height: 10px;
  display: inline-block;
  flex: 0 0 10px;
  border-radius: 999px;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.74);
}

.bucket-dot.checking {
  background: #70858f;
}

.bucket-dot.savings {
  background: #0f8d61;
}

.bucket-dot.brokerage {
  background: #7351c7;
}

.bucket-dot.taxDeferred {
  background: #9d1732;
}

.bucket-dot.roth {
  background: #b15b10;
}

.onboarding-mini-note {
  margin: 12px 0 0;
  color: #5a687d;
  font-size: 12.5px;
  font-weight: 650;
  line-height: 1.45;
}

.onboarding-finance-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

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

.onboarding-goal-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
}

.onboarding-goal-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent), transparent 86%);
  opacity: 0.62;
}

.onboarding-goal-card-icon {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, rgba(38, 53, 78, 0.08));
  border-radius: 50%;
  color: var(--theme-accent-strong);
  background: color-mix(in srgb, var(--theme-accent) 7%, rgba(255, 255, 255, 0.86));
}

.onboarding-goal-card-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.onboarding-goal-card h3 {
  margin-top: 2px;
}

.onboarding-goal-card-wide {
  grid-column: 1 / -1;
}

.onboarding-compact-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.onboarding-goal-money-grid {
  grid-template-columns: minmax(0, 1fr);
}

.onboarding-goal-money-grid label > span {
  white-space: nowrap;
}

.onboarding-target-card {
  align-items: start;
}

.onboarding-target-eyebrow {
  margin: 0 0 4px;
  color: var(--theme-accent-strong);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.onboarding-target-handoff {
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, rgba(38, 53, 78, 0.1));
  border-left: 4px solid var(--theme-accent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--theme-accent) 7%, rgba(255, 255, 255, 0.88));
}

.onboarding-target-handoff strong {
  color: #071846;
  font-size: 13px;
}

.onboarding-target-handoff p {
  color: #51617a;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.5;
}

.onboarding-target-handoff p {
  margin: 4px 0 0;
}

.onboarding-target-controls {
  max-width: 520px;
  margin-top: 15px;
}

.onboarding-target-controls label {
  display: grid;
  gap: 6px;
  color: #314360;
  font-size: 11px;
  font-weight: 850;
}

.onboarding-target-controls input {
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid rgba(38, 53, 78, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
  color: #25334f;
  font: inherit;
  font-size: 12px;
  font-weight: 750;
}

.onboarding-target-suggestion {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  max-width: 520px;
  margin-top: 9px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}

.onboarding-target-suggestion[hidden] {
  display: none;
}

.onboarding-target-suggestion p {
  margin: 0;
}

.onboarding-target-suggestion strong {
  color: var(--text);
}

.onboarding-target-suggestion button {
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--theme-accent-strong);
  font: inherit;
  font-weight: 850;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}

.onboarding-target-suggestion button:hover,
.onboarding-target-suggestion button:focus-visible {
  color: var(--theme-accent);
}

.onboarding-target-suggestion button[hidden] {
  display: none;
}

.onboarding-target-suggestion small {
  flex-basis: 100%;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.55;
}

.onboarding-target-suggestion small[hidden] {
  display: none;
}

.onboarding-assumption-card {
  position: relative;
  overflow: hidden;
}

.onboarding-assumption-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent), transparent 86%);
  opacity: 0.62;
}

.onboarding-assumption-market-card {
  padding: 20px 22px 16px;
}

.onboarding-assumption-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: 18px;
  border: 1px solid rgba(38, 53, 78, 0.09);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.76);
}

.onboarding-assumption-metric {
  --assumption-chart: var(--theme-accent-strong);
  --assumption-chart-soft: color-mix(in srgb, var(--assumption-chart) 18%, transparent);
  display: grid;
  gap: 9px;
  padding: 15px 14px 12px;
  color: #071846;
  font-weight: 850;
}

.onboarding-assumption-metric.is-inflation {
  --assumption-chart: #168b50;
}

.onboarding-assumption-metric.is-savings {
  --assumption-chart: #1f78d1;
}

.onboarding-assumption-metric.is-taxable {
  --assumption-chart: #7653d8;
}

.onboarding-assumption-metric.is-retirement {
  --assumption-chart: #d47511;
}

.onboarding-assumption-metric + .onboarding-assumption-metric {
  border-left: 1px solid rgba(38, 53, 78, 0.09);
}

.onboarding-assumption-metric span {
  min-height: 34px;
  display: block;
  font-size: 13px;
  line-height: 1.35;
}

.onboarding-assumption-metric input {
  min-height: 42px;
  width: 100%;
  border: 1px solid rgba(38, 53, 78, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
  color: #071846;
  font: inherit;
  font-size: 18px;
  font-weight: 900;
  padding: 8px 10px;
}

.onboarding-assumption-metric small {
  color: #506077;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.35;
}

.onboarding-assumption-metric svg {
  width: 100%;
  height: 58px;
  margin-top: 1px;
  filter: drop-shadow(0 5px 8px color-mix(in srgb, var(--assumption-chart) 12%, transparent));
}

.onboarding-assumption-metric .chart-band {
  fill: var(--assumption-chart-soft);
}

.onboarding-assumption-metric .chart-line {
  fill: none;
  stroke: var(--assumption-chart);
  stroke-width: 3.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.onboarding-assumption-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin: 14px 0 0;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 15%, rgba(38, 53, 78, 0.1));
  border-radius: 8px;
  background: color-mix(in srgb, var(--theme-accent) 5%, rgba(255, 255, 255, 0.82));
  color: #314360;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}

.onboarding-assumption-note span {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, rgba(38, 53, 78, 0.08));
  border-radius: 50%;
  color: var(--theme-accent-strong);
  background: rgba(255, 255, 255, 0.78);
}

.onboarding-assumption-note svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.onboarding-assumption-split {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.onboarding-assumption-form-grid {
  grid-template-columns: 1fr;
}

.onboarding-auto-defaults-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--theme-accent) 9%, transparent), transparent 22rem),
    rgba(255, 255, 255, 0.78);
}

.onboarding-auto-defaults-card p {
  margin: 8px 0 0;
  color: #314360;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.55;
}

.onboarding-finish-hero-card {
  display: grid;
  gap: 18px;
  padding: 24px;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--theme-accent) 13%, transparent), transparent 24rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.9), color-mix(in srgb, var(--theme-soft) 30%, rgba(255, 255, 255, 0.76)));
}

.onboarding-finish-eyebrow {
  margin: 0 0 6px;
  color: var(--theme-accent-strong);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.onboarding-finish-hero-card h3,
.onboarding-tracking-card h3,
.onboarding-backup-card h3 {
  margin: 0;
  color: #071846;
  font-size: 24px;
  line-height: 1.12;
}

.onboarding-finish-hero-card p:not(.onboarding-finish-eyebrow):not(.onboarding-finish-status),
.onboarding-tracking-card p:not(.onboarding-finish-eyebrow),
.onboarding-backup-card p {
  margin: 8px 0 0;
  color: #314360;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.55;
}

.onboarding-finish-name-field {
  display: grid;
  gap: 8px;
  color: #071846;
  font-size: 14px;
  font-weight: 800;
}

.onboarding-finish-name-field input {
  min-height: 50px;
  width: 100%;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, rgba(38, 53, 78, 0.13));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  color: #071846;
  font: inherit;
  font-size: 18px;
  font-weight: 850;
  padding: 11px 14px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.onboarding-finish-name-field input:focus {
  outline: 3px solid color-mix(in srgb, var(--theme-accent) 18%, transparent);
  border-color: color-mix(in srgb, var(--theme-accent) 58%, rgba(38, 53, 78, 0.13));
}

.onboarding-finish-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.onboarding-finish-status {
  margin: 0;
  padding: 12px 14px;
  border: 1px dashed color-mix(in srgb, var(--theme-accent) 22%, rgba(38, 53, 78, 0.14));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.58);
  color: #405070;
  font-size: 13px;
  font-weight: 750;
}

.onboarding-finish-status[data-tone="saving"] {
  border-style: solid;
  color: var(--theme-accent-strong);
  background: color-mix(in srgb, var(--theme-accent) 7%, rgba(255, 255, 255, 0.82));
}

.onboarding-finish-status[data-tone="saved"] {
  border-style: solid;
  color: #087245;
  background: rgba(232, 245, 238, 0.76);
}

.onboarding-finish-status[data-tone="error"] {
  border-style: solid;
  color: #9f1d25;
  background: rgba(251, 240, 238, 0.86);
}

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

.onboarding-review-summary-grid article {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 13px;
  align-items: start;
  padding: 16px 44px 16px 16px;
  border: 1px solid rgba(38, 53, 78, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
}

.onboarding-review-check {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(255, 255, 255, 0.82);
  border-radius: 50%;
  background: var(--theme-accent-strong);
  color: #fff;
  font-style: normal;
  font-size: 14px;
  font-weight: 950;
  line-height: 1;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--theme-accent) 22%, transparent);
}

.onboarding-review-summary-grid span,
.onboarding-tracking-card > span,
.onboarding-backup-card > span {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, rgba(38, 53, 78, 0.08));
  border-radius: 50%;
  color: var(--theme-accent-strong);
  background: color-mix(in srgb, var(--theme-soft) 52%, rgba(255, 255, 255, 0.86));
}

.onboarding-review-summary-grid svg,
.onboarding-tracking-card > span svg,
.onboarding-backup-card svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.onboarding-review-summary-grid strong {
  display: block;
  color: #071846;
  font-size: 15px;
  font-weight: 900;
}

.onboarding-review-summary-grid p {
  margin: 5px 0 0;
  color: #405070;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.48;
}

.onboarding-backup-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--theme-accent) 6%, rgba(255, 255, 255, 0.88)), rgba(255, 250, 240, 0.78));
}

.onboarding-tracking-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 16px;
  padding: 22px;
  border-color: color-mix(in srgb, var(--theme-accent) 28%, rgba(38, 53, 78, 0.12));
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--theme-accent) 12%, transparent), transparent 22rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.92), color-mix(in srgb, var(--theme-soft) 38%, rgba(255, 255, 255, 0.78)));
}

.onboarding-tracking-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 16px;
}

.onboarding-secondary-button {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border: 1px solid rgba(38, 53, 78, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  color: #274563;
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}

.onboarding-secondary-button:hover,
.onboarding-secondary-button:focus-visible {
  border-color: color-mix(in srgb, var(--theme-accent) 35%, rgba(38, 53, 78, 0.14));
  background: rgba(255, 255, 255, 0.95);
}

.onboarding-field-hidden {
  display: none !important;
}

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

.onboarding-form-grid label,
.onboarding-checkbox-row {
  display: grid;
  gap: 8px;
  color: #071846;
  font-size: 14px;
  font-weight: 750;
}

.onboarding-input-help {
  color: #657181;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
}

.onboarding-form-grid input,
.onboarding-form-grid select {
  min-height: 44px;
  width: 100%;
  border: 1px solid rgba(38, 53, 78, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
  color: #25334f;
  font: inherit;
  font-weight: 650;
  padding: 10px 12px;
}

.onboarding-checkbox-row {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(31, 142, 91, 0.12);
  border-radius: 8px;
  background: rgba(245, 251, 248, 0.78);
}

.onboarding-checkbox-row input {
  margin-top: 3px;
}

.onboarding-checkbox-row small {
  display: block;
  margin-top: 4px;
  color: #55647a;
  font-size: 12px;
  line-height: 1.45;
}

.onboarding-why-card {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  padding: 16px 20px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(255, 250, 240, 0.72));
}

.onboarding-why-card img {
  width: 96px;
  max-width: 100%;
  display: block;
}

.onboarding-why-card p {
  margin: 6px 0 0;
  color: #405070;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.55;
}

.onboarding-tips-panel {
  padding: 24px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(238, 249, 244, 0.72));
}

.onboarding-tips-head,
.onboarding-tips-panel article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
}

.onboarding-tips-head {
  align-items: center;
  margin-bottom: 18px;
}

.onboarding-tips-panel h3,
.onboarding-tips-panel strong,
.onboarding-why-card h3 {
  color: var(--theme-accent-strong);
}

.onboarding-tips-panel article {
  padding: 18px 0;
  border-top: 1px solid rgba(38, 53, 78, 0.1);
}

.onboarding-tips-panel article p,
.onboarding-tips-panel > p {
  margin: 6px 0 0;
  color: #314360;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.6;
}

.onboarding-tips-panel > p {
  padding-top: 22px;
  border-top: 1px solid rgba(38, 53, 78, 0.1);
  text-align: center;
}

.onboarding-step-footer {
  min-height: 104px;
  display: grid;
  grid-template-columns: auto minmax(220px, 1fr) auto;
  align-items: center;
  gap: 24px;
  margin: 0 -38px;
  padding: 20px 44px;
  border-top: 1px solid var(--subtle);
  background: rgba(255, 255, 255, 0.74);
}

.onboarding-back-button,
.onboarding-next-button {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 20px;
  border-radius: 8px;
  font-weight: 850;
  text-decoration: none;
}

.onboarding-back-button {
  border: 1px solid rgba(38, 53, 78, 0.14);
  background: rgba(255, 255, 255, 0.78);
  color: #4d5d76;
}

.onboarding-next-button {
  min-width: 220px;
  border: 1px solid color-mix(in srgb, var(--theme-accent-strong) 76%, rgba(38, 53, 78, 0.18));
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 88%, #fff),
      var(--theme-accent-strong));
  color: #fff;
  box-shadow:
    0 12px 22px color-mix(in srgb, var(--theme-accent) 26%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

.onboarding-next-button-disabled {
  cursor: default;
  opacity: 0.62;
  filter: saturate(0.7);
}

.onboarding-step-meter {
  display: grid;
  grid-template-columns: auto minmax(120px, 280px);
  align-items: center;
  justify-content: center;
  gap: 16px;
  color: #33435f;
  font-weight: 750;
}

.onboarding-step-meter i {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(38, 53, 78, 0.12);
}

.onboarding-step-meter b {
  display: block;
  width: 20%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent));
}

@media (max-width: 1320px) {
  .onboarding-step-shell {
    grid-template-columns: 280px minmax(0, 1fr);
  }

  .onboarding-step-main {
    padding: 28px 26px 0;
  }

  .onboarding-content-grid {
    grid-template-columns: 1fr;
  }

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

  .onboarding-tips-head,
  .onboarding-tips-panel > p {
    grid-column: 1 / -1;
  }

  .onboarding-tips-panel article {
    border-top: 1px solid rgba(38, 53, 78, 0.1);
  }

  .onboarding-finance-split,
  .onboarding-goals-grid,
  .onboarding-assumption-metrics,
  .onboarding-assumption-split {
    grid-template-columns: 1fr;
  }

  .onboarding-review-summary-grid,
  .onboarding-tracking-card,
  .onboarding-backup-card {
    grid-template-columns: 1fr;
  }

  .onboarding-assumption-metric + .onboarding-assumption-metric {
    border-left: 0;
    border-top: 1px solid rgba(38, 53, 78, 0.09);
  }

  .onboarding-step-footer {
    margin: 0 -26px;
    padding: 20px 32px;
  }
}

@media (max-width: 980px) {
  .onboarding-step-view {
    width: min(100%, var(--workspace-max-width));
  }

  .onboarding-step-shell {
    grid-template-columns: 1fr;
  }

  .onboarding-step-side {
    min-height: auto;
  }

  .onboarding-side-steps {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .onboarding-side-steps::before,
  .onboarding-side-steps p,
  .onboarding-progress-strip {
    display: none;
  }

  .onboarding-side-steps li {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .onboarding-side-steps strong {
    font-size: 12px;
    text-align: center;
  }
}

@media (max-width: 760px) {
  .onboarding-step-main {
    padding: 24px 16px 0;
  }

  .onboarding-step-head {
    grid-template-columns: 1fr;
  }

  .onboarding-step-head h2 {
    font-size: 32px;
  }

  .onboarding-form-grid,
  .onboarding-mode-grid,
  .onboarding-compact-grid,
  .onboarding-goals-grid,
  .onboarding-assumption-metrics,
  .onboarding-assumption-split,
  .onboarding-tips-panel {
    grid-template-columns: 1fr;
  }

  .onboarding-card-head-row {
    display: grid;
  }

  .onboarding-secondary-action {
    justify-self: start;
  }

  .onboarding-finance-table label {
    grid-template-columns: 1fr;
    gap: 5px;
    align-items: start;
  }

  .onboarding-step-footer {
    grid-template-columns: 1fr;
    margin: 0 -16px;
    padding: 18px 16px;
  }

  .onboarding-step-meter {
    grid-template-columns: 1fr;
  }
}

/* Contact and feedback */

.sidebar-contact-button {
  width: 100%;
  margin: 0;
  font: inherit;
  font-weight: 780;
  text-align: left;
  background: transparent;
  cursor: pointer;
}

.methodology-contact-section {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  padding: 28px 30px;
  border-color: rgba(24, 122, 91, 0.2);
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 92% 8%, rgba(43, 111, 186, 0.1), transparent 19rem),
    linear-gradient(135deg, rgba(244, 252, 248, 0.98), rgba(250, 252, 255, 0.96));
}

.methodology-contact-section::after {
  content: "";
  position: absolute;
  right: -46px;
  bottom: -68px;
  width: 210px;
  height: 210px;
  border: 1px solid rgba(24, 122, 91, 0.1);
  border-radius: 999px;
  box-shadow: 0 0 0 24px rgba(43, 111, 186, 0.035), 0 0 0 48px rgba(24, 122, 91, 0.025);
  pointer-events: none;
}

.methodology-contact-section::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff));
  pointer-events: none;
}

.methodology-contact-icon,
.contact-feedback-head-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(24, 122, 91, 0.2);
  border-radius: 999px;
  color: #0d6f52;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 10px 24px rgba(22, 73, 58, 0.09);
}

.methodology-contact-icon {
  width: 62px;
  height: 62px;
}

.methodology-contact-icon svg,
.contact-feedback-head-icon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.methodology-contact-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.methodology-contact-copy h3 {
  margin: 3px 0 7px;
  color: #173a55;
  font-family: var(--font-display);
  font-size: clamp(22px, 2vw, 29px);
  line-height: 1.12;
}

.methodology-contact-copy > p:last-of-type {
  max-width: 780px;
  margin: 0;
  color: #465b6e;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.55;
}

.methodology-contact-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 14px;
}

.methodology-contact-tags span {
  padding: 5px 9px;
  border: 1px solid rgba(24, 122, 91, 0.16);
  border-radius: 999px;
  color: #176249;
  background: rgba(255, 255, 255, 0.76);
  font-size: 11px;
  font-weight: 850;
}

.methodology-contact-action {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  padding: 12px 18px;
  border: 1px solid color-mix(in srgb, var(--theme-accent-strong) 84%, #111);
  border-radius: 9px;
  color: #fff;
  background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-strong));
  box-shadow: 0 12px 24px color-mix(in srgb, var(--theme-accent-strong) 20%, transparent);
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
  cursor: pointer;
}

.methodology-contact-action:hover {
  transform: translateY(-1px);
  box-shadow: 0 15px 28px color-mix(in srgb, var(--theme-accent-strong) 25%, transparent);
}

.methodology-contact-action svg,
.contact-feedback-submit svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.contact-feedback-dialog {
  --contact-accent: var(--workspace-theme-accent);
  --contact-accent-strong: var(--workspace-theme-accent-strong);
  --contact-soft: var(--workspace-theme-soft);
  width: min(960px, calc(100vw - 36px));
  max-height: calc(100vh - 36px);
  padding: 0;
  border: 0;
  border-radius: 16px;
  background: transparent;
}

.contact-feedback-dialog::backdrop {
  background: color-mix(in srgb, var(--workspace-theme-accent-strong) 30%, rgba(11, 26, 43, 0.5));
  backdrop-filter: blur(3px);
}

.contact-feedback-card {
  max-height: calc(100vh - 36px);
  overflow-y: auto;
  display: grid;
  gap: 25px;
  padding: 36px 42px 30px;
  border: 1px solid color-mix(in srgb, var(--contact-accent) 22%, rgba(33, 73, 100, 0.12));
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--contact-accent) 14%, transparent), transparent 21rem),
    linear-gradient(145deg, rgba(255, 255, 255, 0.995), color-mix(in srgb, var(--contact-soft) 28%, rgba(255, 255, 255, 0.985)));
  box-shadow: 0 28px 76px rgba(10, 30, 48, 0.3);
}

.contact-feedback-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 22px;
  align-items: start;
}

.contact-feedback-head-icon {
  width: 70px;
  height: 70px;
  overflow: hidden;
  border: 2px solid color-mix(in srgb, var(--contact-accent) 30%, white);
  background: color-mix(in srgb, var(--contact-soft) 36%, white);
  box-shadow:
    0 0 0 7px color-mix(in srgb, var(--contact-accent) 5%, transparent),
    0 12px 26px color-mix(in srgb, var(--contact-accent-strong) 11%, transparent);
}

.contact-feedback-head-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.contact-feedback-eyebrow {
  margin: 6px 0 8px;
  color: var(--contact-accent-strong);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

.contact-feedback-head h2 {
  margin: 0;
  color: color-mix(in srgb, var(--contact-accent-strong) 88%, #172b3c);
  font-family: inherit;
  font-size: 31px;
  font-weight: 950;
  letter-spacing: -0.025em;
  line-height: 1.12;
}

.contact-feedback-intro {
  max-width: 640px;
  margin: 12px 0 0;
}

.contact-feedback-intro p {
  margin: 0;
  color: color-mix(in srgb, var(--contact-accent-strong) 28%, #536578);
  font-size: 16px;
  font-weight: 650;
  line-height: 1.5;
}

.contact-feedback-intro p + p {
  margin-top: 6px;
}

.contact-feedback-close {
  width: 50px;
  height: 50px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--contact-accent) 24%, rgba(34, 70, 98, 0.12));
  border-radius: 999px;
  background:
    linear-gradient(45deg, transparent 45%, var(--contact-accent-strong) 46%, var(--contact-accent-strong) 54%, transparent 55%) center / 23px 23px no-repeat,
    linear-gradient(-45deg, transparent 45%, var(--contact-accent-strong) 46%, var(--contact-accent-strong) 54%, transparent 55%) center / 23px 23px no-repeat,
    #fff;
  color: transparent;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--contact-accent-strong) 11%, transparent);
  cursor: pointer;
}

.contact-feedback-fields {
  display: grid;
  gap: 22px;
}

.contact-feedback-field {
  display: grid;
  gap: 9px;
  color: color-mix(in srgb, var(--contact-accent-strong) 82%, #1d405c);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.contact-feedback-field > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.contact-feedback-field em {
  color: color-mix(in srgb, var(--contact-accent-strong) 24%, #6b7c8c);
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
  letter-spacing: 0.06em;
}

.contact-feedback-field input,
.contact-feedback-field select,
.contact-feedback-field textarea {
  width: 100%;
  min-height: 56px;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--contact-accent) 24%, rgba(34, 70, 98, 0.14));
  border-radius: 10px;
  color: color-mix(in srgb, var(--contact-accent-strong) 38%, #173a55);
  background: rgba(255, 255, 255, 0.94);
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  outline: none;
}

.contact-feedback-field input:focus,
.contact-feedback-field select:focus,
.contact-feedback-field textarea:focus {
  border-color: color-mix(in srgb, var(--contact-accent) 68%, var(--contact-accent-strong));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--contact-accent) 12%, transparent);
}

.contact-feedback-field select {
  appearance: none;
  padding-right: 52px;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--contact-accent-strong) 50%),
    linear-gradient(135deg, var(--contact-accent-strong) 50%, transparent 50%);
  background-position:
    calc(100% - 24px) calc(50% - 1px),
    calc(100% - 18px) calc(50% - 1px);
  background-size: 6px 6px;
  background-repeat: no-repeat;
}

.contact-feedback-message-field textarea {
  min-height: 180px;
  resize: vertical;
  line-height: 1.5;
}

.contact-feedback-message-field small {
  justify-self: end;
  color: #708091;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.02em;
  text-transform: none;
}

.contact-feedback-attachment {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px 18px;
  align-items: center;
  padding: 15px 17px;
  border: 1px solid color-mix(in srgb, var(--contact-accent) 22%, rgba(34, 70, 98, 0.12));
  border-radius: 10px;
  background: color-mix(in srgb, var(--contact-soft) 25%, rgba(255, 255, 255, 0.86));
}

.contact-feedback-attachment-copy {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.contact-feedback-attachment-icon {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border: 1.5px solid color-mix(in srgb, var(--contact-accent) 42%, white);
  border-radius: 999px;
  color: var(--contact-accent-strong);
  background: color-mix(in srgb, var(--contact-soft) 72%, white);
}

.contact-feedback-attachment-icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
}

.contact-feedback-attachment-copy p {
  display: flex;
  gap: 10px;
  align-items: baseline;
  margin: 0;
}

.contact-feedback-attachment-copy strong {
  color: color-mix(in srgb, var(--contact-accent-strong) 82%, #1d405c);
  font-size: 13px;
}

.contact-feedback-attachment-copy em {
  color: color-mix(in srgb, var(--contact-accent-strong) 24%, #6b7c8c);
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.contact-feedback-attachment-copy small,
.contact-feedback-attachment-preview small {
  display: block;
  margin-top: 3px;
  color: color-mix(in srgb, var(--contact-accent-strong) 20%, #687b8b);
  font-size: 11.5px;
  font-weight: 650;
}

.contact-feedback-attachment-button,
.contact-feedback-attachment-preview button {
  padding: 9px 14px;
  border: 1px solid color-mix(in srgb, var(--contact-accent) 30%, rgba(34, 70, 98, 0.14));
  border-radius: 8px;
  color: color-mix(in srgb, var(--contact-accent-strong) 82%, #23445f);
  background: #fff;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.contact-feedback-file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.contact-feedback-attachment-warning {
  grid-column: 1 / -1;
  margin: -1px 0 0;
  color: color-mix(in srgb, var(--contact-accent-strong) 18%, #687b8b);
  font-size: 11.5px;
  font-weight: 650;
  line-height: 1.4;
}

.contact-feedback-attachment-preview {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
  padding-top: 11px;
  border-top: 1px solid color-mix(in srgb, var(--contact-accent) 16%, transparent);
}

.contact-feedback-attachment-preview[hidden] {
  display: none;
}

.contact-feedback-attachment-preview img {
  width: 64px;
  height: 46px;
  border: 1px solid color-mix(in srgb, var(--contact-accent) 22%, transparent);
  border-radius: 6px;
  background: #fff;
  object-fit: cover;
}

.contact-feedback-attachment-preview strong {
  display: block;
  overflow: hidden;
  color: color-mix(in srgb, var(--contact-accent-strong) 68%, #23445f);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.contact-feedback-reply-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr);
  gap: 24px;
  align-items: end;
}

.contact-feedback-email-control {
  position: relative;
  display: block !important;
}

.contact-feedback-email-control svg {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 18px;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  fill: none;
  stroke: color-mix(in srgb, var(--contact-accent-strong) 40%, #7a8795);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}

.contact-feedback-email-control input {
  padding-left: 52px;
}

.contact-feedback-reply-choice {
  min-height: 72px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 15px;
  align-items: center;
  padding: 12px 18px;
  border: 1px solid color-mix(in srgb, var(--contact-accent) 20%, rgba(34, 70, 98, 0.1));
  border-radius: 10px;
  background: color-mix(in srgb, var(--contact-soft) 42%, rgba(255, 255, 255, 0.82));
  cursor: pointer;
}

.contact-feedback-reply-choice input {
  width: 22px;
  height: 22px;
  accent-color: var(--contact-accent-strong);
}

.contact-feedback-reply-choice span {
  display: grid;
  gap: 2px;
}

.contact-feedback-reply-choice strong {
  color: color-mix(in srgb, var(--contact-accent-strong) 72%, #23445f);
  font-size: 14px;
}

.contact-feedback-reply-choice small {
  color: color-mix(in srgb, var(--contact-accent-strong) 22%, #6a7988);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
}

.contact-feedback-honeypot {
  position: fixed !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.contact-feedback-context {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  padding: 17px 20px;
  border: 1px solid color-mix(in srgb, var(--contact-accent) 28%, transparent);
  border-radius: 10px;
  background: color-mix(in srgb, var(--contact-soft) 68%, rgba(255, 255, 255, 0.82));
}

.contact-feedback-context > span {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: flex-start;
  justify-content: center;
  color: var(--contact-accent-strong);
}

.contact-feedback-context svg {
  width: 32px;
  height: 32px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.contact-feedback-context strong {
  color: color-mix(in srgb, var(--contact-accent-strong) 82%, #244b68);
  font-size: 15px;
}

.contact-feedback-context p,
.contact-feedback-context small {
  margin: 3px 0 0;
  color: color-mix(in srgb, var(--contact-accent-strong) 24%, #526779);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.4;
}

.contact-feedback-context small {
  display: block;
  color: color-mix(in srgb, var(--contact-accent-strong) 18%, #687b8b);
}

.contact-feedback-status {
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  color: #4f6273;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.4;
}

.contact-feedback-status:empty {
  display: none;
}

.contact-feedback-status[data-state="error"],
.contact-feedback-status[data-state="success"] {
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
}

.contact-feedback-status[data-state="error"] {
  border: 1px solid rgba(180, 58, 44, 0.22);
  color: #983b30;
  background: rgba(255, 241, 238, 0.84);
}

.contact-feedback-status[data-state="success"] {
  border: 1px solid rgba(24, 122, 91, 0.2);
  color: #126448;
  background: rgba(236, 249, 242, 0.88);
}

.contact-feedback-actions {
  display: flex;
  justify-content: flex-end;
  gap: 14px;
  padding-top: 1px;
}

.contact-feedback-actions .primary-button,
.contact-feedback-actions .secondary-button {
  min-height: 48px;
  padding: 0 24px;
  border-radius: 10px;
  font: inherit;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
}

.contact-feedback-actions .primary-button {
  border: 1px solid color-mix(in srgb, var(--contact-accent-strong) 84%, black);
  color: #fff;
  background: linear-gradient(180deg, var(--contact-accent), var(--contact-accent-strong));
  box-shadow: 0 10px 20px color-mix(in srgb, var(--contact-accent-strong) 20%, transparent);
}

.contact-feedback-actions .secondary-button {
  border: 1px solid color-mix(in srgb, var(--contact-accent) 24%, rgba(34, 70, 98, 0.14));
  color: color-mix(in srgb, var(--contact-accent-strong) 72%, #23445f);
  background: #fff;
}

.contact-feedback-actions .primary-button:hover,
.contact-feedback-actions .secondary-button:hover {
  transform: translateY(-1px);
}

.contact-feedback-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 190px;
}

.contact-feedback-submit:disabled {
  cursor: wait;
  opacity: 0.68;
}

@media (max-height: 820px) and (min-width: 621px) {
  .contact-feedback-card {
    gap: 14px;
    padding: 20px 34px 18px;
  }

  .contact-feedback-head {
    gap: 17px;
  }

  .contact-feedback-head-icon {
    width: 54px;
    height: 54px;
  }

  .contact-feedback-eyebrow {
    margin: 2px 0 4px;
    font-size: 10px;
  }

  .contact-feedback-head h2 {
    font-size: 26px;
  }

  .contact-feedback-intro {
    margin-top: 6px;
  }

  .contact-feedback-intro p {
    font-size: 13px;
  }

  .contact-feedback-close {
    width: 42px;
    height: 42px;
  }

  .contact-feedback-fields {
    gap: 13px;
  }

  .contact-feedback-field {
    gap: 6px;
    font-size: 10.5px;
  }

  .contact-feedback-field input,
  .contact-feedback-field select,
  .contact-feedback-field textarea {
    min-height: 46px;
    padding: 10px 14px;
    font-size: 14px;
  }

  .contact-feedback-field select {
    padding-right: 46px;
  }

  .contact-feedback-email-control input {
    padding-left: 46px;
  }

  .contact-feedback-message-field textarea {
    min-height: 135px;
  }

  .contact-feedback-reply-choice {
    min-height: 58px;
    padding: 8px 14px;
  }

  .contact-feedback-attachment {
    padding: 10px 13px;
  }

  .contact-feedback-attachment-warning {
    font-size: 10.5px;
  }

  .contact-feedback-reply-choice strong {
    font-size: 12px;
  }

  .contact-feedback-reply-choice small {
    font-size: 10.5px;
  }

  .contact-feedback-context p,
  .contact-feedback-context small {
    font-size: 12px;
  }

  .contact-feedback-context {
    gap: 12px;
    padding: 11px 15px;
  }

  .contact-feedback-context svg {
    width: 27px;
    height: 27px;
  }

  .contact-feedback-actions .primary-button,
  .contact-feedback-actions .secondary-button {
    min-height: 40px;
    font-size: 12px;
  }
}

@media (max-width: 820px) {
  .methodology-contact-section {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .methodology-contact-action {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 620px) {
  .methodology-contact-section {
    grid-template-columns: 1fr;
    padding: 23px 21px;
  }

  .methodology-contact-icon {
    width: 52px;
    height: 52px;
  }

  .methodology-contact-action {
    grid-column: 1;
    width: 100%;
  }

  .contact-feedback-card {
    gap: 16px;
    padding: 19px;
  }

  .contact-feedback-head {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .contact-feedback-head-icon {
    display: none;
  }

  .contact-feedback-head h2 {
    font-size: 22px;
  }

  .contact-feedback-reply-grid {
    grid-template-columns: 1fr;
  }

  .contact-feedback-attachment {
    grid-template-columns: 1fr;
  }

  .contact-feedback-attachment-button {
    justify-self: start;
  }

  .contact-feedback-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

.personality-strip {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  padding: 16px 18px;
  background:
    linear-gradient(90deg, rgba(47, 111, 214, 0.08), rgba(255, 247, 223, 0.72)),
    var(--surface);
  border: 1px solid color-mix(in srgb, var(--blue) 18%, var(--subtle));
  border-radius: var(--radius);
}

.strip-mark {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 65% 35%, var(--gold) 0 14%, transparent 15%),
    linear-gradient(135deg, var(--brand-teal), var(--blue));
  box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.72);
}

.personality-strip h2 {
  margin: 0 0 4px;
  font-size: 16px;
}

.personality-strip p {
  margin: 0;
  color: #4d5d69;
  line-height: 1.45;
}

.kpi-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.kpi-card,
.surface {
  background: var(--surface);
  border: 1px solid var(--subtle);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
}

.kpi-card {
  padding: 18px;
  min-height: 142px;
}

.kpi-label {
  color: #41505d;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.kpi-value {
  margin-top: 14px;
  font-size: 31px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: 0;
}

.kpi-value.success {
  color: var(--success);
}

.kpi-card p {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.overview-hero-row {
  display: grid;
  grid-template-columns: minmax(390px, 0.92fr) minmax(0, 1.08fr);
  gap: 16px;
  align-items: stretch;
  margin-bottom: 2px;
}

.overview-hero-row.is-retired-cushion {
  grid-template-columns: minmax(0, 1.22fr) minmax(340px, 0.78fr);
}

.overview-goal-column {
  display: grid;
  align-content: start;
}

.overview-hero-row.is-retired-cushion .overview-goal-column {
  align-content: stretch;
}

.overview-hero-row.is-retired-cushion .overview-goal {
  height: 100%;
}

.plan-pulse .projection-summary-header {
  margin-bottom: 10px;
}

.overview-goal {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr;
  align-content: center;
  min-height: 148px;
  padding: 20px;
  border-color: color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  background:
    radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--theme-soft) 42%, transparent), transparent 20rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(255, 252, 247, 0.92)),
    var(--surface);
  box-shadow: 0 18px 42px rgba(74, 58, 42, 0.07);
}

.overview-goal.is-retired-cushion {
  min-height: 170px;
  border-color: var(--subtle);
  background: var(--surface);
}

.overview-goal.is-retired-cushion.is-cushion-negative {
  border-color: var(--subtle);
  background: var(--surface);
}

.overview-goal::before,
.plan-pulse::before,
.retired-current-year-pulse::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background:
    linear-gradient(90deg,
      var(--theme-accent-strong),
      var(--theme-accent) 58%,
      color-mix(in srgb, var(--theme-accent) 42%, #fff));
}

.overview-goal.is-retired-cushion::before {
  content: none;
}

.goal-briefing-panel {
  display: grid;
  gap: 13px;
  padding: 18px 20px;
  background:
    linear-gradient(120deg, color-mix(in srgb, var(--blue-soft) 42%, white), rgba(255, 252, 246, 0.96) 52%, color-mix(in srgb, var(--theme-soft) 36%, white)),
    var(--surface);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 14%, var(--subtle));
  border-radius: var(--radius);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 16px 34px rgba(25, 42, 54, 0.045);
}

.goal-briefing-head {
  display: grid;
  gap: 4px;
}

.goal-briefing-head h2 {
  margin: 0;
  color: var(--workspace-theme-accent-strong);
  font-family: var(--font-display);
  font-size: 25px;
  font-weight: var(--display-title-weight);
  letter-spacing: var(--display-title-letter-spacing);
  line-height: var(--display-title-line-height);
}

.goal-briefing-head p {
  margin: 0;
  max-width: 760px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.overview-goal > p {
  margin: 0;
  max-width: 780px;
  color: #3f4b4d;
  font-size: 13.5px;
  line-height: 1.55;
}

.goal-meter {
  display: grid;
  gap: 10px;
  padding: 0;
}

.goal-meter-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.goal-meter-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(max-content, 1fr) minmax(48px, 1fr);
  align-items: center;
  gap: 12px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.goal-meter-labels {
  display: contents;
}

.goal-meter-labels span:first-child {
  justify-self: start;
  font-weight: 900;
}

.goal-meter-labels .goal-target-date {
  justify-self: center;
  text-align: center;
  font-weight: 900;
}

.goal-meter-top strong {
  justify-self: end;
}

.goal-meter-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.goal-meter-top strong {
  color: #314a43;
  font-family: inherit;
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
}

.goal-meter-top strong.positive {
  color: #0b7f5c;
}

.goal-meter-top strong.warning {
  color: #b76b00;
}

.goal-meter-top strong.negative {
  color: #b91c1c;
}

.goal-meter-top strong.neutral {
  color: #314a43;
}

.goal-track {
  height: 10px;
  overflow: hidden;
  background: rgba(242, 238, 232, 0.92);
  border: 0;
  border-radius: 999px;
  box-shadow: inset 0 1px 2px rgba(44, 37, 28, 0.08);
}

.goal-track span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, #c2413d, #d8a33a, #147642);
  border-radius: inherit;
  transition: width 180ms ease;
}

.overview-goal.is-retired-cushion .goal-track span {
  background: linear-gradient(90deg, #b91c1c, #d8a33a 44%, #009688 78%, #0b7f5c);
}

.overview-goal.is-retired-cushion.is-cushion-negative .goal-track {
  background: linear-gradient(90deg, rgba(254, 226, 226, 0.92), rgba(255, 247, 237, 0.94));
}

.overview-goal.is-retired-cushion.is-cushion-negative .goal-track span {
  background: linear-gradient(90deg, #991b1b, #dc2626 72%, #f97316);
}

.overview-goal.is-retired-cushion.is-cushion-warning .goal-track span {
  background: linear-gradient(90deg, #b45309, #d97706 58%, #0d9488);
}

.goal-target-date {
  margin: 0;
  max-width: none;
  color: var(--muted);
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.goal-meter-bottom {
  font-size: 14px;
  font-weight: 850;
}

.goal-meter-bottom span {
  color: #4f5d5e;
}

.goal-meter-bottom #overview-goal-amount,
.goal-meter-bottom #overview-goal-target {
  font-size: 15.5px;
  font-weight: 900;
}

.goal-cushion-metric-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 4px;
}

.goal-cushion-metric-grid[hidden] {
  display: none;
}

.goal-cushion-metric {
  display: grid;
  align-content: start;
  min-height: 88px;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 14%, rgba(221, 211, 197, 0.82));
  border-radius: 8px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--theme-soft) 28%, rgba(255, 255, 255, 0.94)), rgba(255, 255, 255, 0.78));
  box-shadow:
    0 8px 18px rgba(44, 37, 28, 0.028),
    inset 0 1px 0 rgba(255, 255, 255, 0.74);
}

.goal-cushion-metric span {
  color: #52605f;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.055em;
  line-height: 1.2;
  text-transform: uppercase;
}

.goal-cushion-metric strong {
  margin-top: 7px;
  color: var(--workspace-theme-accent-strong);
  font-size: 21px;
  font-weight: 950;
  line-height: 1.05;
}

.goal-cushion-metric strong.positive {
  color: #0b7f5c;
}

.goal-cushion-metric strong.warning {
  color: #b76b00;
}

.goal-cushion-metric strong.negative {
  color: #b91c1c;
}

.goal-cushion-metric strong.neutral {
  color: var(--workspace-theme-accent-strong);
}

.goal-cushion-metric small {
  margin-top: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.36;
}

.overview-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.insight-card {
  min-height: 132px;
  padding: 18px;
  background: var(--surface);
  border: 1px solid var(--subtle);
  border-radius: var(--radius);
  box-shadow: 0 10px 28px rgba(25, 42, 54, 0.04);
}

.card-label {
  color: #41505d;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.card-value {
  margin-top: 12px;
  font-size: 29px;
  font-weight: 800;
  line-height: 1.1;
}

.card-value.success {
  color: var(--success);
}

.insight-card p {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.projection-summary {
  display: grid;
  gap: 0;
  margin-top: 0;
  padding: 22px 22px 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 252, 246, 0.9)),
    var(--surface);
  border: 1px solid var(--subtle);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
}

.projection-summary-header {
  margin-bottom: 8px;
}

.projection-summary-header h2 {
  margin: 0 0 6px;
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: var(--display-title-weight);
  letter-spacing: var(--display-title-letter-spacing);
  line-height: 1.12;
}

.projection-summary-header p {
  margin: 0;
  max-width: 1040px;
  color: var(--muted);
  font-size: 13.5px;
  line-height: 1.5;
}

.plan-lens-panel {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 20px 22px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(90deg,
      color-mix(in srgb, var(--theme-accent) 72%, var(--theme-accent-strong)),
      color-mix(in srgb, var(--theme-accent) 48%, white)) top / 100% 4px no-repeat,
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--theme-soft) 42%, transparent), transparent 22rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 252, 247, 0.9)),
    var(--surface);
  box-shadow:
    0 16px 34px rgba(44, 37, 28, 0.055),
    inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

.plan-lens-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-soft) 52%, rgba(255, 255, 255, 0.82));
  color: var(--theme-accent-strong);
  box-shadow: 0 12px 22px color-mix(in srgb, var(--theme-accent) 10%, transparent);
}

.plan-lens-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.plan-lens-body {
  display: grid;
  gap: 10px;
}

.plan-lens-eyebrow {
  margin: 0;
  color: var(--theme-accent-strong);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.plan-lens-panel h2,
.plan-lens-panel h3 {
  margin: 0;
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: clamp(20px, 1.45vw, 25px);
  font-weight: 850;
  line-height: 1.12;
}

.plan-lens-panel p {
  margin: 0;
  color: #3f4d5a;
  font-size: 14px;
  font-weight: 560;
  line-height: 1.5;
}

.plan-lens-points {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.plan-lens-points span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 14%, var(--subtle));
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: #36475a;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
}

.plan-lens-divergence {
  display: grid;
  gap: 4px;
  margin-top: 2px;
  padding: 12px 14px;
  border: 1px solid rgba(38, 53, 78, 0.11);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.plan-lens-divergence strong {
  color: #26364f;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.25;
}

.plan-lens-divergence p {
  color: #4e5d6e;
  font-size: 13px;
}

.plan-lens-divergence.positive {
  border-color: color-mix(in srgb, var(--success) 24%, var(--subtle));
  background: color-mix(in srgb, var(--success-soft) 54%, rgba(255, 255, 255, 0.84));
}

.plan-lens-divergence.positive strong {
  color: #157047;
}

.plan-lens-divergence.mixed {
  border-color: color-mix(in srgb, var(--orange) 26%, var(--subtle));
  background: color-mix(in srgb, var(--gold-soft) 66%, rgba(255, 255, 255, 0.84));
}

.plan-lens-divergence.mixed strong {
  color: #9a650c;
}

.plan-lens-divergence.negative {
  border-color: color-mix(in srgb, var(--red) 24%, var(--subtle));
  background: color-mix(in srgb, #fff1f2 76%, rgba(255, 255, 255, 0.84));
}

.plan-lens-divergence.negative strong {
  color: #b3263b;
}

.projection-lens-panel {
  --projection-lens-ink: var(--theme-accent-strong);
  --projection-lens-ink-dark: var(--theme-display);
  --projection-lens-soft: var(--theme-soft);
  --projection-lens-line: color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  --projection-lens-warning: #8a5a09;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 18px;
  padding: 18px 24px 20px;
  border-color: var(--projection-lens-line);
  border-radius: 10px;
  background:
    linear-gradient(90deg, var(--projection-lens-ink), var(--theme-accent)) top / 100% 6px no-repeat,
    radial-gradient(circle at 9% 18%, color-mix(in srgb, var(--theme-soft) 28%, transparent), transparent 20rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(255, 250, 247, 0.94)),
    var(--surface);
  box-shadow:
    0 18px 42px rgba(44, 37, 28, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.projection-lens-panel .plan-lens-icon {
  width: 48px;
  height: 48px;
  margin-top: 1px;
  border-color: color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  background:
    radial-gradient(circle at 38% 26%, rgba(255, 255, 255, 0.92), transparent 58%),
    color-mix(in srgb, var(--theme-soft) 46%, rgba(255, 255, 255, 0.88));
  color: var(--projection-lens-ink);
  box-shadow: 0 15px 28px color-mix(in srgb, var(--theme-accent) 10%, transparent);
}

.projection-lens-panel .plan-lens-icon svg {
  width: 23px;
  height: 23px;
  stroke-width: 2.25;
}

.projection-lens-panel .plan-lens-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(430px, 0.72fr);
  grid-template-areas:
    "eyebrow callout"
    "title callout"
    "copy callout"
    "points callout";
  gap: 7px 24px;
  align-items: start;
}

.projection-lens-panel .plan-lens-eyebrow {
  grid-area: eyebrow;
  color: var(--projection-lens-ink);
  font-size: 11.5px;
  letter-spacing: 0.14em;
}

.projection-lens-panel h2 {
  grid-area: title;
  color: var(--projection-lens-ink);
  font-size: clamp(22px, 1.75vw, 29px);
  font-weight: 900;
  line-height: 1.1;
}

.projection-lens-panel .plan-lens-body > p:not(.plan-lens-eyebrow) {
  grid-area: copy;
  max-width: 840px;
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
}

.projection-lens-panel .plan-lens-points {
  grid-area: points;
  gap: 9px 11px;
  margin-top: 5px;
}

.projection-lens-panel .plan-lens-points span {
  min-height: 31px;
  gap: 9px;
  padding: 6px 12px;
  border-color: color-mix(in srgb, var(--theme-accent) 17%, var(--subtle));
  background: rgba(255, 255, 255, 0.68);
  color: #2f3d4d;
  font-size: 12.5px;
  font-weight: 900;
}

.projection-lens-panel .plan-lens-points span::before {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  color: var(--projection-lens-ink);
  font-size: 17px;
  font-weight: 800;
  line-height: 1;
  flex: 0 0 auto;
}

.projection-lens-panel .plan-lens-points span:nth-child(1)::before {
  content: "↻";
}

.projection-lens-panel .plan-lens-points span:nth-child(2)::before {
  content: "";
  width: 16px;
  height: 15px;
  border: 1.7px solid currentColor;
  border-radius: 3px;
  background:
    linear-gradient(currentColor, currentColor) 0 4px / 100% 1.7px no-repeat,
    linear-gradient(currentColor, currentColor) 4px -1px / 1.7px 5px no-repeat,
    linear-gradient(currentColor, currentColor) 10.5px -1px / 1.7px 5px no-repeat;
}

.projection-lens-panel .plan-lens-points span:nth-child(3)::before {
  content: "";
  width: 18px;
  height: 20px;
  border: 0;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3.5 19 6v5.4c0 4.1-2.6 6.9-7 8.9-4.4-2-7-4.8-7-8.9V6l7-2.5Z' fill='none' stroke='black' stroke-width='2.2' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3.5 19 6v5.4c0 4.1-2.6 6.9-7 8.9-4.4-2-7-4.8-7-8.9V6l7-2.5Z' fill='none' stroke='black' stroke-width='2.2' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.projection-lens-panel .plan-lens-divergence {
  grid-area: callout;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 0 12px;
  align-self: center;
  align-items: start;
  width: auto;
  min-width: 0;
  max-width: none;
  margin-top: 0;
  padding: 12px 14px;
  border-color: rgba(214, 150, 48, 0.24);
  background:
    radial-gradient(circle at 2.5rem 2.2rem, rgba(255, 220, 142, 0.36), transparent 5.5rem),
    linear-gradient(135deg, rgba(255, 250, 239, 0.96), rgba(255, 255, 255, 0.72));
}

.projection-lens-panel .plan-lens-divergence::before {
  content: "i";
  grid-row: span 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(138, 90, 9, 0.28);
  border-radius: 999px;
  background: rgba(255, 235, 190, 0.88);
  color: var(--projection-lens-warning);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
  font-style: italic;
  font-weight: 900;
  line-height: 1;
}

.projection-lens-panel .plan-lens-divergence strong {
  color: var(--projection-lens-warning);
  font-size: 13px;
  font-weight: 950;
  margin-bottom: 5px;
}

.projection-lens-panel .plan-lens-divergence p {
  grid-area: auto;
  color: #3f4650;
  font-size: 12.5px;
  font-weight: 560;
  line-height: 1.35;
}

.projection-lens-panel .plan-lens-divergence p span {
  display: block;
}

.projection-lens-panel .plan-lens-divergence p span + span {
  margin-top: 8px;
}

.plan-tracking-lens-panel {
  --projection-lens-ink: var(--theme-accent-strong);
  --projection-lens-ink-dark: var(--theme-display);
  --projection-lens-soft: var(--theme-soft);
  --projection-lens-line: color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  --projection-lens-warning: #8a5a09;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 18px;
  padding: 18px 24px 20px;
  border-color: var(--projection-lens-line);
  border-radius: 10px;
  background:
    linear-gradient(90deg, var(--projection-lens-ink), var(--theme-accent)) top / 100% 6px no-repeat,
    radial-gradient(circle at 9% 18%, color-mix(in srgb, var(--theme-soft) 28%, transparent), transparent 20rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(255, 250, 247, 0.94)),
    var(--surface);
  box-shadow:
    0 18px 42px rgba(44, 37, 28, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.plan-tracking-lens-panel .plan-lens-icon {
  width: 48px;
  height: 48px;
  margin-top: 1px;
  border-color: color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  background:
    radial-gradient(circle at 38% 26%, rgba(255, 255, 255, 0.92), transparent 58%),
    color-mix(in srgb, var(--theme-soft) 46%, rgba(255, 255, 255, 0.88));
  color: var(--projection-lens-ink);
  box-shadow: 0 15px 28px color-mix(in srgb, var(--theme-accent) 10%, transparent);
}

.plan-tracking-lens-panel .plan-lens-icon svg {
  width: 23px;
  height: 23px;
  stroke-width: 2.25;
}

.plan-tracking-lens-panel .plan-lens-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(430px, 0.72fr);
  grid-template-areas:
    "eyebrow callout"
    "title callout"
    "copy callout"
    "points callout";
  gap: 7px 24px;
  align-items: start;
}

.plan-tracking-lens-panel .plan-lens-eyebrow {
  grid-area: eyebrow;
  color: var(--projection-lens-ink);
  font-size: 11.5px;
  letter-spacing: 0.14em;
}

.plan-tracking-lens-panel h3 {
  grid-area: title;
  color: var(--projection-lens-ink);
  font-size: clamp(22px, 1.75vw, 29px);
  font-weight: 900;
  line-height: 1.08;
}

.plan-tracking-lens-panel .plan-lens-body > p:not(.plan-lens-eyebrow) {
  grid-area: copy;
  max-width: 840px;
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
}

.plan-tracking-lens-panel .plan-lens-points {
  grid-area: points;
  gap: 9px 11px;
  margin-top: 5px;
}

.plan-tracking-lens-panel .plan-lens-points span {
  min-height: 31px;
  gap: 9px;
  padding: 6px 12px;
  border-color: color-mix(in srgb, var(--theme-accent) 17%, var(--subtle));
  background: rgba(255, 255, 255, 0.68);
  color: #2f3d4d;
  font-size: 12.5px;
  font-weight: 900;
}

.plan-tracking-lens-panel .plan-lens-points span::before {
  content: "";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border: 0;
  background: var(--projection-lens-ink);
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='8.2' fill='none' stroke='black' stroke-width='2.4'/%3E%3Cpath d='m8.5 12.2 2.2 2.2 4.8-5' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='8.2' fill='none' stroke='black' stroke-width='2.4'/%3E%3Cpath d='m8.5 12.2 2.2 2.2 4.8-5' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  flex: 0 0 auto;
}

.plan-tracking-lens-panel .plan-lens-divergence {
  grid-area: callout;
  position: relative;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 0 13px;
  align-self: center;
  align-items: start;
  width: auto;
  min-width: 0;
  max-width: none;
  margin-top: 0;
  padding: 12px 14px;
  border-color: rgba(214, 150, 48, 0.24);
  background:
    radial-gradient(circle at 2.5rem 2.2rem, rgba(255, 220, 142, 0.36), transparent 5.5rem),
    linear-gradient(135deg, rgba(255, 250, 239, 0.96), rgba(255, 255, 255, 0.72));
}

.plan-tracking-lens-panel .plan-lens-divergence::before {
  content: "";
  grid-row: span 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(138, 90, 9, 0.22);
  border-radius: 999px;
  background: rgba(255, 235, 190, 0.88);
  box-shadow: inset 0 0 0 9px rgba(255, 244, 221, 0.58);
}

.plan-tracking-lens-panel .plan-lens-divergence::after {
  content: "";
  position: absolute;
  top: 19px;
  left: 23px;
  width: 24px;
  height: 24px;
  background: var(--projection-lens-warning);
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 18h6' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M10 21h4' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M8.5 14.6c-1.2-1-2-2.5-2-4.1a5.5 5.5 0 0 1 11 0c0 1.6-.8 3.1-2 4.1-.8.7-1.2 1.4-1.3 2.4H9.8c-.1-1-.5-1.7-1.3-2.4Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M12 2.5v1.3M4.8 5.2l.9.9M19.2 5.2l-.9.9M2.5 11h1.3M20.2 11h1.3' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 18h6' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M10 21h4' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M8.5 14.6c-1.2-1-2-2.5-2-4.1a5.5 5.5 0 0 1 11 0c0 1.6-.8 3.1-2 4.1-.8.7-1.2 1.4-1.3 2.4H9.8c-.1-1-.5-1.7-1.3-2.4Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M12 2.5v1.3M4.8 5.2l.9.9M19.2 5.2l-.9.9M2.5 11h1.3M20.2 11h1.3' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.plan-tracking-lens-panel .plan-lens-divergence strong {
  color: var(--projection-lens-warning);
  font-size: 13px;
  font-weight: 950;
  margin-bottom: 5px;
}

.plan-tracking-lens-panel .plan-lens-divergence p {
  grid-area: auto;
  color: #3f4650;
  font-size: 12.5px;
  font-weight: 560;
  line-height: 1.35;
}

.plan-tracking-lens-panel .plan-lens-divergence p span {
  display: block;
}

.plan-tracking-lens-panel .plan-lens-divergence p span + span {
  margin-top: 8px;
}

.summary-story-row {
  display: grid;
  grid-template-columns: minmax(210px, 0.66fr) minmax(0, 2.85fr);
  gap: 24px;
  padding: 22px 0;
  border-top: 1px solid var(--subtle);
}

.summary-story-row:first-of-type {
  border-top: 1px solid var(--subtle);
}

.summary-row-heading h3 {
  margin: 0 0 6px;
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
}

.summary-row-heading p {
  margin: 0;
  color: #52605f;
  font-size: 12.5px;
  line-height: 1.45;
}

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

.summary-metric {
  min-height: 140px;
  display: grid;
  align-content: start;
  gap: 7px;
  padding: 15px;
  position: relative;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 252, 247, 0.88)),
    var(--surface);
  border: 1px solid rgba(221, 211, 197, 0.82);
  border-radius: var(--radius);
  box-shadow: 0 10px 28px rgba(44, 37, 28, 0.04);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.summary-metric:hover {
  transform: translateY(-2px);
  border-color: #d8c8b5;
  box-shadow: 0 18px 34px rgba(44, 37, 28, 0.075);
}

.summary-metric::before {
  content: "⌁";
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 2px;
  border-radius: 50%;
  background:
    none,
    var(--gold-soft);
  color: #c38213;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
}

.summary-metric-grid .summary-metric:nth-child(1)::before {
  content: "⌘";
}

.summary-metric-grid .summary-metric:nth-child(2)::before {
  content: "⌁";
}

.summary-metric-grid .summary-metric:nth-child(3)::before {
  content: "▣";
}

.summary-metric-grid .summary-metric:nth-child(4)::before {
  content: "⌬";
}

.summary-story-row:nth-of-type(2) .summary-metric::before,
.summary-metric:has(strong.positive)::before {
  background:
    none,
    var(--success-soft);
  color: var(--success);
}

.summary-metric span {
  color: #3d4547;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.summary-metric strong {
  color: var(--text);
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: 0;
}

.summary-metric strong.positive {
  color: var(--success);
}

.summary-metric strong.warning {
  color: var(--orange);
}

.summary-metric strong.negative {
  color: var(--red);
}

.summary-metric small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.42;
}

.projection-main-summary {
  gap: 18px;
  padding: 24px;
  background:
    linear-gradient(90deg,
      var(--theme-accent-strong),
      var(--theme-accent) 58%,
      color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(255, 252, 247, 0.92)),
    var(--surface);
  border-color: color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  border-radius: 9px;
}

.projection-main-summary .projection-summary-header {
  margin-bottom: 6px;
}

.projection-main-summary .projection-summary-header h2 {
  color: var(--theme-display);
  font-size: 26px;
}

.projection-main-summary .projection-summary-header p {
  max-width: 1320px;
  font-size: 14px;
}

.projection-main-summary .summary-story-row {
  --summary-row-accent: var(--theme-accent);
  --summary-row-soft: var(--theme-soft);
  display: grid;
  grid-template-columns: minmax(230px, 0.95fr) repeat(4, minmax(0, 1fr));
  gap: 16px;
  padding: 0;
  border-top: 0;
}

.projection-main-summary .summary-story-row[data-summary-row="destination"] {
  --summary-row-accent: var(--green);
  --summary-row-soft: var(--success-soft);
}

.projection-main-summary .summary-story-row[data-summary-row="savings"] {
  --summary-row-accent: #d28b26;
  --summary-row-soft: var(--gold-soft);
}

.projection-main-summary .summary-story-row[data-summary-row="levers"] {
  --summary-row-accent: var(--blue);
  --summary-row-soft: var(--blue-soft);
}

.projection-main-summary .summary-metric-grid {
  display: contents;
}

.projection-main-summary .summary-row-heading,
.projection-main-summary .summary-metric {
  min-height: 184px;
  padding: 18px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(255, 252, 247, 0.9)),
    var(--surface);
  border: 1px solid rgba(221, 211, 197, 0.86);
  border-radius: 9px;
  box-shadow: 0 14px 30px rgba(44, 37, 28, 0.045);
}

.projection-main-summary .summary-row-heading {
  position: relative;
  overflow: hidden;
  display: grid;
  align-content: start;
  gap: 8px;
  padding-left: 22px;
  background:
    linear-gradient(145deg, rgba(255, 253, 247, 0.98), rgba(255, 248, 230, 0.82)),
    radial-gradient(circle at 12% 12%, color-mix(in srgb, var(--summary-row-soft) 32%, transparent), transparent 16rem),
    var(--surface);
  border-color: color-mix(in srgb, #d8a13b 16%, var(--subtle));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 14px 30px rgba(44, 37, 28, 0.048);
}

.projection-main-summary .summary-metric::before {
  display: none;
}

.projection-main-summary .summary-row-heading::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  border-radius: 9px 0 0 9px;
  background:
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--summary-row-accent) 74%, var(--gold)),
      color-mix(in srgb, var(--summary-row-accent) 42%, white)
    );
  box-shadow: 7px 0 18px color-mix(in srgb, var(--summary-row-accent) 10%, transparent);
}

.projection-main-summary .summary-card-icon {
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  margin: 0 0 7px;
  color: var(--summary-row-accent);
  background:
    radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.88), transparent 54%),
    color-mix(in srgb, var(--summary-row-soft) 72%, white);
  border: 1px solid color-mix(in srgb, var(--summary-row-accent) 12%, var(--subtle));
  border-radius: 999px;
  box-shadow: 0 12px 24px color-mix(in srgb, var(--summary-row-accent) 12%, transparent);
}

.projection-main-summary .summary-card-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.15;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.projection-main-summary .summary-row-heading h3 {
  margin: 0;
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: 19px;
  font-weight: 800;
  letter-spacing: var(--display-title-letter-spacing);
  line-height: 1.12;
}

.projection-main-summary .summary-row-heading p {
  color: #516069;
  font-size: 13.5px;
  font-weight: 540;
  line-height: 1.55;
}

.projection-main-summary .summary-metric {
  gap: 9px;
  align-content: start;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.projection-main-summary .summary-metric:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--summary-row-accent) 20%, var(--subtle));
  box-shadow: 0 18px 38px rgba(44, 37, 28, 0.075);
}

.projection-main-summary .summary-metric > span:not(.summary-card-icon) {
  color: #34404a;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.055em;
}

.projection-main-summary .summary-metric strong {
  margin-top: 8px;
  color: var(--blue-dark);
  font-size: 27px;
  font-weight: 900;
}

.projection-main-summary .summary-metric strong.positive {
  color: var(--green);
}

.projection-main-summary .summary-metric strong.warning {
  color: #c77912;
}

.projection-main-summary .summary-metric strong.negative {
  color: #b22f38;
}

.projection-main-summary .summary-metric small {
  color: #53616b;
  font-size: 12.5px;
  font-weight: 520;
  line-height: 1.48;
}

@media (max-width: 1320px) {
  .projection-main-summary .summary-story-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .projection-main-summary .summary-row-heading {
    grid-column: 1 / -1;
    min-height: auto;
  }

  .projection-main-summary .summary-metric-grid {
    display: contents;
  }
}

@media (max-width: 760px) {
  .plan-lens-panel {
    grid-template-columns: 1fr;
  }

  .projection-lens-panel .plan-lens-body,
  .plan-tracking-lens-panel .plan-lens-body {
    grid-template-columns: 1fr;
    grid-template-areas:
      "eyebrow"
      "title"
      "copy"
      "points"
      "callout";
  }

  .plan-lens-icon {
    width: 44px;
    height: 44px;
  }

  .projection-main-summary .summary-story-row {
    grid-template-columns: 1fr;
  }

  .projection-main-summary .summary-row-heading,
  .projection-main-summary .summary-metric {
    min-height: auto;
  }
}

.projection-target-trend {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 22px;
  padding: 27px;
  border-top: 4px solid var(--theme-accent);
  border-radius: 12px;
  background:
    radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--theme-accent) 10%, transparent), transparent 26rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 253, 250, 0.94)),
    var(--surface);
}

.projection-target-trend-head {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  margin: 0;
}

.surface-header.projection-target-trend-head {
  justify-content: flex-start;
  gap: 12px;
}

.projection-target-trend-icon,
.projection-target-stat-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.projection-target-trend-icon {
  width: 46px;
  height: 46px;
  border: 2px solid color-mix(in srgb, var(--theme-accent) 28%, transparent);
  border-radius: 12px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--theme-accent) 13%, transparent), color-mix(in srgb, var(--theme-accent) 4%, transparent));
  color: var(--theme-accent-strong);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.68);
}

.projection-target-trend-icon svg,
.projection-target-stat-icon svg,
.projection-target-unit-toggle svg,
.projection-target-takeaway svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.projection-target-trend-head h2 {
  margin: 0 0 6px;
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: var(--display-title-weight);
  letter-spacing: var(--display-title-letter-spacing);
  line-height: 1.12;
  text-align: left;
}

.surface-header.projection-target-trend-head h2 {
  margin: 0 0 6px;
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: var(--display-title-weight);
  letter-spacing: var(--display-title-letter-spacing);
  line-height: 1.12;
}

.projection-target-trend-head p {
  margin: 0;
  max-width: 1320px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
}

.surface-header.projection-target-trend-head p {
  margin: 0;
  max-width: 1320px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.projection-target-trend-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.projection-target-trend-stats article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 17px;
  min-height: 116px;
  align-items: center;
  padding: 19px 20px;
  border: 1px solid rgba(221, 211, 197, 0.72);
  border-radius: 12px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.99), rgba(255, 252, 247, 0.9)),
    var(--surface);
  box-shadow: 0 14px 34px rgba(44, 37, 28, 0.07);
}

.projection-target-trend-stats article > div {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.projection-target-stat-icon {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border: 2px solid rgba(18, 130, 76, 0.26);
  border-radius: 50%;
  background: rgba(18, 130, 76, 0.13);
  color: var(--success);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.68);
}

.projection-target-trend-stat.is-latest.positive .projection-target-stat-icon,
.projection-target-trend-stat.is-best.positive .projection-target-stat-icon {
  border-color: rgba(18, 130, 76, 0.3);
  background: rgba(18, 130, 76, 0.13);
  color: #179565;
}

.projection-target-trend-stat.is-latest.negative .projection-target-stat-icon,
.projection-target-trend-stat.is-best.negative .projection-target-stat-icon {
  border-color: rgba(199, 60, 58, 0.3);
  background: rgba(199, 60, 58, 0.13);
  color: #b22f38;
}

.projection-target-trend-stat.is-latest .projection-target-stat-icon svg,
.projection-target-trend-stat.is-best .projection-target-stat-icon svg {
  width: 28px;
  height: 28px;
  stroke-width: 1.85;
}

.projection-target-trend-stat.is-count .projection-target-stat-icon {
  border-color: color-mix(in srgb, var(--theme-accent) 30%, transparent);
  background: color-mix(in srgb, var(--theme-accent) 12%, transparent);
  color: var(--theme-accent-strong);
}

.projection-target-trend-stats article > div > span {
  display: block;
  color: #3d4547;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.055em;
  line-height: 1.25;
  text-transform: uppercase;
}

.projection-target-trend-stats strong {
  display: block;
  color: var(--text);
  font-size: 28px;
  line-height: 1.1;
  letter-spacing: 0;
}

.projection-target-trend-stats strong.positive {
  color: var(--success);
}

.projection-target-trend-stats strong.negative {
  color: #b22f38;
}

.projection-target-value-row {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.projection-target-value-arrow {
  width: 22px;
  height: 22px;
  display: none;
  align-items: center;
  justify-content: center;
  border: 2px solid currentColor;
  border-radius: 50%;
}

.projection-target-value-arrow svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.projection-target-value-arrow.is-down svg {
  transform: rotate(180deg);
}

.projection-target-value-arrow.positive,
.projection-target-value-arrow.negative {
  display: inline-flex;
}

.projection-target-value-arrow.positive {
  color: var(--success);
}

.projection-target-value-arrow.negative {
  color: #b22f38;
}

.projection-target-trend-stats small {
  display: block;
  max-width: 34rem;
  color: var(--muted);
  font-size: 13px;
  font-weight: 520;
  line-height: 1.42;
}

.chart-frame.projection-target-trend-chart {
  position: relative;
  display: grid;
  gap: 17px;
  height: auto;
  min-height: 0;
  padding: 24px;
  overflow: visible;
  border-color: rgba(210, 197, 179, 0.9);
  border-radius: 13px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(255, 255, 255, 0.94)),
    var(--surface);
  box-shadow: 0 16px 38px rgba(31, 41, 55, 0.055);
}

.projection-target-chart-panel-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  text-align: left;
}

.projection-target-chart-panel-head h3 {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 8px;
  color: #111827;
  font-family: var(--font-sans);
  font-size: 20px;
  font-weight: 950;
}

.projection-target-chart-panel-head p {
  margin: 0;
  max-width: 520px;
  color: #344054;
  font-size: 15px;
  line-height: 1.45;
}

.projection-target-unit-toggle {
  display: inline-flex;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 22%, transparent);
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(31, 41, 55, 0.045), inset 0 0 0 1px rgba(255, 255, 255, 0.72);
}

.projection-target-unit-toggle button {
  border: 0;
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  background: transparent;
  color: #344054;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.projection-target-unit-toggle button + button {
  border-left: 1px solid color-mix(in srgb, var(--theme-accent) 14%, transparent);
}

.projection-target-unit-toggle button.active {
  background: color-mix(in srgb, var(--theme-accent) 9%, transparent);
  color: var(--theme-accent-strong);
}

.projection-target-unit-toggle button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.chart-frame.projection-target-trend-chart .projection-target-unit-toggle svg {
  width: 18px;
  height: 18px;
  stroke-width: 2.4;
}

.chart-frame.projection-target-trend-chart .projection-target-takeaway svg {
  width: 21px;
  height: 21px;
}

.projection-target-trend-chart .projection-target-trend-plot {
  display: block;
  width: 100%;
  height: 495px;
}

.projection-target-trend-chart .projection-target-trend-plot text {
  font-family: var(--font-sans);
  letter-spacing: 0;
}

.projection-target-trend-bar {
  fill: #14935f;
  stroke: rgba(255, 255, 255, 0.72);
  stroke-width: 1;
  filter: drop-shadow(0 12px 16px rgba(27, 104, 76, 0.16));
  pointer-events: all;
}

.projection-target-trend-bar-group.negative .projection-target-trend-bar {
  fill: #d54141;
  filter: drop-shadow(0 12px 16px rgba(160, 45, 48, 0.16));
}

.projection-target-trend-value-label {
  fill: #111827;
  font-size: 14px;
  font-weight: 900;
}

.projection-target-trend-value-label.negative {
  fill: var(--red);
}

.projection-target-trend-value-label.positive {
  fill: var(--success);
}

.projection-target-trend-delta-label {
  fill: #667085;
  font-size: 12.5px;
  font-weight: 780;
}

.projection-target-trend-delta-label.positive {
  fill: #087f5b;
}

.projection-target-trend-delta-label.negative {
  fill: #b42318;
}

.projection-target-trend-hover-band {
  cursor: crosshair;
  pointer-events: all;
}

.projection-target-trend-chart .chart-tooltip {
  z-index: 6;
}

.projection-target-takeaway {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 34%, var(--subtle));
  border-radius: 10px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--theme-accent) 10%, transparent), color-mix(in srgb, var(--theme-accent) 4%, transparent));
  color: var(--theme-accent-strong);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.projection-target-takeaway > span {
  width: 62px;
  height: 62px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--theme-accent-strong);
}

.projection-target-takeaway img {
  width: 56px;
  height: 56px;
  object-fit: contain;
}

.projection-target-takeaway strong {
  display: block;
  margin-bottom: 3px;
  color: var(--theme-accent-strong);
  font-size: 14px;
  font-weight: 900;
}

.projection-target-takeaway p {
  margin: 0;
  color: #344054;
  font-size: 14px;
}

.projection-target-legend {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 16px 10px 0;
  border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.projection-target-legend span {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 2px 10px;
  align-items: center;
  justify-content: center;
  padding: 2px 24px;
}

.projection-target-legend span + span {
  border-left: 1px solid rgba(226, 232, 240, 0.9);
}

.projection-target-legend i {
  grid-row: 1 / span 2;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--success);
}

.projection-target-legend i.below {
  background: var(--red);
}

.projection-target-legend i.target {
  width: 28px;
  height: 0;
  border-top: 2px solid #111827;
  border-radius: 0;
  background: transparent;
}

.projection-target-legend strong {
  color: #111827;
  font-size: 13px;
  font-weight: 900;
}

.projection-target-legend small {
  color: #475467;
  font-size: 13px;
}

@media (max-width: 900px) {
  .projection-target-trend-stats {
    grid-template-columns: 1fr;
  }

  .projection-target-trend-head,
  .projection-target-chart-panel-head,
  .projection-target-legend {
    grid-template-columns: 1fr;
  }

  .projection-target-chart-panel-head {
    display: grid;
  }

  .projection-target-legend span + span {
    border-left: 0;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
  }
}

.plan-pulse {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 8px;
  align-content: stretch;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 91% 12%, color-mix(in srgb, var(--theme-soft) 42%, transparent), transparent 20rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(255, 252, 247, 0.92)),
    var(--surface);
  box-shadow: 0 18px 42px rgba(74, 58, 42, 0.07);
}

.plan-pulse .plan-pulse-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  margin-bottom: 0;
}

.plan-pulse .plan-pulse-head h2 {
  margin: 0;
  color: var(--workspace-theme-accent-strong);
  font-family: var(--font-display);
  font-size: 25px;
  font-weight: var(--display-title-weight);
  letter-spacing: var(--display-title-letter-spacing);
  line-height: var(--display-title-line-height);
}

.plan-pulse .plan-pulse-head p {
  margin: 0;
  max-width: 760px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.plan-pulse-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  height: 100%;
}

.plan-pulse .summary-metric {
  --summary-row-accent: var(--blue);
  --summary-row-soft: var(--blue-soft);
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  min-height: 124px;
  gap: 6px;
  padding: 11px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--blue-soft) 32%, white), rgba(255, 252, 246, 0.96) 58%, color-mix(in srgb, var(--theme-soft) 28%, white)),
    var(--surface);
  border-color: color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 16px 34px rgba(25, 42, 54, 0.045);
}

.plan-pulse .summary-metric::before {
  content: none;
}

.plan-pulse .summary-metric:nth-child(1) {
  --summary-row-accent: var(--green);
  --summary-row-soft: var(--success-soft);
}

.plan-pulse .summary-metric:nth-child(2) {
  --summary-row-accent: #d28b26;
  --summary-row-soft: var(--gold-soft);
}

.plan-pulse .summary-metric:nth-child(3) {
  --summary-row-accent: var(--blue);
  --summary-row-soft: var(--blue-soft);
}

.plan-pulse .summary-card-icon {
  display: inline-grid;
  width: 32px;
  height: 32px;
  place-items: center;
  color: var(--summary-row-accent);
  background:
    radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.88), transparent 54%),
    color-mix(in srgb, var(--summary-row-soft) 72%, white);
  border: 1px solid color-mix(in srgb, var(--summary-row-accent) 12%, var(--subtle));
  border-radius: 999px;
  box-shadow: 0 10px 20px color-mix(in srgb, var(--summary-row-accent) 10%, transparent);
}

.plan-pulse .summary-card-icon svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.15;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.plan-pulse .summary-card-label {
  font-size: 9.5px;
  line-height: 1.2;
}

.plan-pulse .summary-card-value {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: 0;
  text-transform: none;
}

.plan-pulse .summary-metric strong {
  min-width: 0;
  font-size: 22px;
  line-height: 1.05;
  text-transform: none;
}

.plan-pulse .summary-metric small {
  font-size: 10px;
  line-height: 1.3;
}

.plan-pulse .panel-action-link {
  width: auto;
  justify-self: end;
  align-self: start;
  margin-top: 0;
  padding: 8px 11px;
  white-space: nowrap;
}

.retired-current-year-pulse {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 14px;
  align-content: stretch;
  padding: 18px 20px;
  border: 1px solid var(--subtle);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: 0 18px 42px rgba(74, 58, 42, 0.07);
}

.retired-current-year-pulse::before {
  content: none;
}

.retired-current-year-pulse-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  margin-bottom: 0;
}

.retired-current-year-pulse-head h2 {
  margin: 0;
  color: var(--workspace-theme-accent-strong);
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: var(--display-title-weight);
  letter-spacing: var(--display-title-letter-spacing);
  line-height: var(--display-title-line-height);
}

.retired-current-year-pulse-head p {
  margin: 0;
  max-width: 620px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.45;
}

.retired-current-year-pulse-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  height: 100%;
}

.retired-current-year-pulse .summary-metric {
  --summary-row-accent: var(--blue);
  --summary-row-soft: var(--blue-soft);
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  min-height: 108px;
  gap: 7px;
  padding: 14px;
  background: var(--surface);
  border-color: color-mix(in srgb, var(--summary-row-accent) 13%, var(--subtle));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 10px 24px rgba(25, 42, 54, 0.035);
}

.retired-current-year-pulse .summary-metric::before {
  content: none;
}

.retired-current-year-pulse .summary-metric:nth-child(1) {
  --summary-row-accent: var(--blue);
  --summary-row-soft: var(--blue-soft);
}

.retired-current-year-pulse .summary-metric:nth-child(2) {
  --summary-row-accent: var(--green);
  --summary-row-soft: var(--success-soft);
}

.retired-current-year-pulse .summary-metric:nth-child(2).has-plan-pressure {
  --summary-row-accent: #b7791f;
  --summary-row-soft: var(--gold-soft);
}

.retired-current-year-pulse .summary-metric:nth-child(3) {
  --summary-row-accent: #7c3aed;
  --summary-row-soft: #f3edff;
}

.retired-current-year-pulse .summary-metric:nth-child(4) {
  --summary-row-accent: #d28b26;
  --summary-row-soft: var(--gold-soft);
}

.retired-current-year-pulse .summary-card-icon {
  display: inline-grid;
  width: 40px;
  height: 40px;
  place-items: center;
  color: var(--summary-row-accent);
  background:
    radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.88), transparent 54%),
    color-mix(in srgb, var(--summary-row-soft) 72%, white);
  border: 1px solid color-mix(in srgb, var(--summary-row-accent) 12%, var(--subtle));
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.68);
}

.retired-current-year-pulse .summary-card-icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.15;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.retired-current-year-pulse .summary-card-label {
  color: var(--summary-row-accent);
  font-size: 12px;
  line-height: 1.2;
}

.retired-current-year-pulse .summary-card-value {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: 0;
  text-transform: none;
}

.retired-current-year-pulse .summary-metric strong {
  min-width: 0;
  color: var(--summary-row-accent);
  font-size: 30px;
  line-height: 1.05;
  text-transform: none;
}

.retired-current-year-pulse .summary-metric small {
  color: #334155;
  font-size: 12px;
  line-height: 1.35;
}

.retired-current-year-pulse .retired-pulse-guardrail-comparison {
  color: #8a5a13;
  font-weight: 600;
}

.retired-current-year-pulse .panel-action-link {
  width: auto;
  justify-self: end;
  align-self: start;
  margin-top: 0;
  padding: 10px 14px;
  white-space: nowrap;
}

.main-chart {
  grid-column: span 8;
}

.overview-analysis-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
  padding: 10px;
  border: 1px solid rgba(221, 211, 197, 0.66);
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.72), color-mix(in srgb, var(--theme-soft) 38%, rgba(255, 247, 230, 0.44))),
    rgba(255, 252, 246, 0.58);
  box-shadow: 0 18px 46px rgba(74, 58, 42, 0.055);
}

.surface.overview-annual-detail {
  grid-column: 1 / -1;
  position: relative;
  border-color: color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  background:
    radial-gradient(circle at 8% 100%, rgba(255, 247, 223, 0.42), transparent 18rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 252, 247, 0.96)),
    var(--surface);
  box-shadow: 0 18px 42px rgba(74, 58, 42, 0.065);
}

.surface.overview-annual-detail::before,
.surface.overview-balance-rail::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background:
    linear-gradient(90deg,
      var(--theme-accent-strong),
      var(--theme-accent) 58%,
      color-mix(in srgb, var(--theme-accent) 42%, #fff));
  opacity: 0.72;
}

.overview-analysis-row .overview-annual-detail {
  grid-column: auto;
  min-width: 0;
}

.overview-annual-detail .surface-header {
  align-items: center;
  margin-bottom: 16px;
}

.chart-legend {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 6px;
  padding: 5px;
  border: 1px solid rgba(232, 226, 216, 0.9);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--muted);
  font-size: 11.5px;
  font-weight: 700;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border-radius: 999px;
  white-space: nowrap;
}

.legend-dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 999px;
}

.legend-dot.growth {
  background: var(--brand-teal);
}

.legend-dot.withdrawal {
  background: var(--orange);
}

.legend-dot.ending {
  background: #cbd5e1;
}

.overview-annual-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(290px, 0.9fr);
  gap: 18px;
  align-items: stretch;
}

.overview-annual-detail-main,
.overview-annual-detail-sidecar {
  position: relative;
  min-width: 0;
}

.overview-annual-detail-main {
  display: grid;
  gap: 14px;
  padding: 20px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  border-radius: 8px;
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--theme-soft) 32%, transparent), transparent 17rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(255, 253, 249, 0.86)),
    var(--surface);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 16px 34px rgba(25, 42, 54, 0.045);
}

.overview-annual-detail-card-head,
.overview-annual-detail-sidecar-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.overview-annual-detail-sidecar-head {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.overview-annual-detail-card-head {
  grid-template-columns: auto minmax(0, 1fr);
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(217, 226, 235, 0.86);
}

.overview-annual-detail-card-icon,
.overview-annual-detail-insight-icon,
.overview-annual-detail-zoom-tip span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 32%, var(--subtle));
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-soft) 55%, white);
  color: var(--theme-accent-strong);
}

.overview-annual-detail-card-icon svg,
.overview-annual-detail-insight-icon svg,
.overview-annual-detail-zoom-tip svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.overview-annual-detail-card-icon.is-growth,
.overview-annual-detail-insight-icon.is-growth {
  border-color: color-mix(in srgb, var(--success) 46%, var(--success-soft));
  background: color-mix(in srgb, var(--success-soft) 72%, white);
  color: color-mix(in srgb, var(--success) 82%, var(--theme-accent-strong));
}

.overview-annual-detail-card-icon.is-zoom,
.overview-annual-detail-insight-icon.is-target {
  border-color: color-mix(in srgb, var(--blue) 54%, var(--blue-soft));
  background: color-mix(in srgb, var(--blue-soft) 82%, white);
  color: var(--blue);
}

.overview-annual-detail-insight-icon.is-calendar {
  border-color: color-mix(in srgb, var(--orange) 42%, var(--gold));
  background: color-mix(in srgb, var(--gold) 16%, white);
  color: color-mix(in srgb, var(--orange) 86%, var(--theme-accent-strong));
}

.overview-annual-detail-card-head h3 {
  margin: 0;
  color: var(--text);
  font-family: var(--font-display);
  font-size: 21px;
  line-height: 1.18;
}

.overview-annual-detail-card-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13.5px;
  line-height: 1.42;
}

.overview-annual-detail-remove-pin-button {
  align-self: start;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, var(--subtle));
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.84);
  color: var(--theme-accent-strong);
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.74);
}

.overview-annual-detail-remove-pin-button:hover {
  border-color: color-mix(in srgb, var(--theme-accent) 42%, var(--subtle));
  background: color-mix(in srgb, var(--theme-soft) 30%, white);
}

.overview-annual-detail .overview-annual-detail-frame,
.overview-annual-detail .overview-annual-detail-zoom-frame {
  position: relative;
  overflow: hidden;
  border: 0;
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.18)),
    var(--surface);
}

.overview-annual-detail .overview-annual-detail-frame {
  height: 400px;
  padding: 0;
}

.overview-annual-detail .overview-annual-detail-zoom-frame {
  height: 250px;
  padding: 0;
}

.overview-annual-detail-sidecar {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 20px;
  border: 1px solid color-mix(in srgb, var(--blue) 10%, var(--subtle));
  border-radius: 8px;
  background:
    radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--blue-soft) 72%, transparent), transparent 13rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 255, 0.62) 48%, rgba(255, 248, 238, 0.72)),
    var(--surface);
  box-shadow: 0 18px 42px rgba(74, 58, 42, 0.06);
}

.overview-annual-detail-sidecar h3 {
  margin: 0;
  color: var(--text);
  font-family: var(--font-display);
  font-size: 19px;
  line-height: 1.25;
}

.overview-annual-detail-sidecar p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.overview-annual-detail-insights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid color-mix(in srgb, var(--theme-accent) 32%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(245, 250, 252, 0.86), rgba(255, 250, 242, 0.76));
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--theme-soft) 44%, white);
  overflow: hidden;
}

.overview-annual-detail-insights article {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 82px;
  padding: 15px;
}

.overview-annual-detail-insights article + article {
  border-left: 1px solid color-mix(in srgb, var(--theme-accent) 28%, rgba(217, 226, 235, 0.9));
}

.overview-annual-detail-insight-icon {
  width: 42px;
  height: 42px;
}

.overview-annual-detail-insight-icon svg {
  width: 21px;
  height: 21px;
}

.overview-annual-detail-insights strong {
  display: block;
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.22;
}

.overview-annual-detail-insights p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.38;
}

.overview-annual-detail-delta {
  display: block;
  margin-top: 3px;
  color: var(--success);
  font-weight: 950;
  white-space: nowrap;
}

.overview-annual-detail-delta.is-inline {
  display: inline;
  margin-top: 0;
}

.overview-annual-detail-delta.is-negative {
  color: var(--red);
}

.overview-annual-detail-zoom-stats {
  display: grid;
  border: 1px solid rgba(221, 211, 197, 0.78);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.78);
}

.overview-annual-detail-zoom-stats div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 11px 13px;
}

.overview-annual-detail-zoom-stats div + div {
  border-top: 1px solid rgba(232, 226, 216, 0.82);
}

.overview-annual-detail-zoom-stats span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  color: var(--muted);
  font-size: 12.5px;
  font-weight: 760;
}

.overview-annual-detail-zoom-stats strong {
  color: var(--theme-accent-strong);
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.overview-annual-detail-zoom-stats strong.is-positive {
  color: var(--success);
}

.overview-annual-detail-zoom-stats strong.is-negative {
  color: var(--orange);
}

.overview-annual-detail-zoom-tip {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 34%, var(--subtle));
  border-radius: 8px;
  background:
    radial-gradient(circle at 90% 20%, rgba(255, 233, 179, 0.34), transparent 8rem),
    linear-gradient(90deg, rgba(255, 250, 241, 0.92), rgba(248, 251, 255, 0.78));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.overview-annual-detail-zoom-tip span {
  width: 44px;
  height: 44px;
  border-color: color-mix(in srgb, var(--orange) 42%, var(--gold));
  background: color-mix(in srgb, var(--gold) 16%, white);
  color: color-mix(in srgb, var(--orange) 86%, var(--theme-accent-strong));
}

.overview-annual-detail-zoom-tip svg {
  width: 19px;
  height: 19px;
}

.overview-annual-detail-zoom-tip img {
  width: 37px;
  height: 37px;
  object-fit: contain;
}

.overview-annual-detail-zoom-tip p {
  margin: 0;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.42;
}

.overview-annual-detail svg text {
  font-family: "Aptos", "Segoe UI", sans-serif;
}

.overview-annual-detail .annual-detail-hover-band {
  cursor: crosshair;
}

.surface.overview-balance-rail {
  position: relative;
  overflow: hidden;
  min-width: 0;
  height: auto;
  align-self: stretch;
  border-color: color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  background:
    radial-gradient(circle at 10% 100%, rgba(255, 247, 223, 0.4), transparent 14rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 252, 247, 0.96)),
    var(--surface);
  box-shadow: 0 16px 38px rgba(74, 58, 42, 0.06);
}

.overview-balance-rail .panel-action-link {
  margin-top: 12px;
}

.overview-balance-rail .metric-list div {
  padding: 12px 0;
}

.surface.guided-discovery-card {
  --discovery-bg: url("assets/brand/background-sunset.png");
  position: relative;
  overflow: hidden;
  display: grid;
  align-content: start;
  gap: 13px;
  min-width: 0;
  height: auto;
  padding: 18px;
  border-color: color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.92) 43%, rgba(255, 255, 255, 0.72) 66%, rgba(255, 255, 255, 0.22) 100%),
    radial-gradient(circle at 8% 4%, color-mix(in srgb, var(--theme-soft) 62%, transparent), transparent 7rem),
    var(--discovery-bg) right bottom / cover no-repeat,
    linear-gradient(135deg, rgba(255, 255, 255, 0.97), color-mix(in srgb, var(--theme-soft) 28%, rgba(255, 249, 239, 0.86))),
    var(--surface);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 18px 42px rgba(74, 58, 42, 0.07);
}

.guided-discovery-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent), color-mix(in srgb, var(--theme-accent) 42%, #fff));
  opacity: 0.58;
}

.guided-discovery-art {
  display: none;
  position: absolute;
  inset: auto 10px 48px auto;
  width: 164px;
  height: 132px;
  pointer-events: none;
  opacity: 0.68;
}

.guided-discovery-art span {
  position: absolute;
  display: block;
}

.discovery-sun {
  top: 6px;
  right: 14px;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255, 205, 91, 0.78), rgba(245, 168, 54, 0.52));
  box-shadow: 0 0 32px rgba(245, 168, 54, 0.22);
}

.discovery-hill {
  right: -18px;
  bottom: 0;
  width: 156px;
  height: 78px;
  border-radius: 80% 38% 0 0;
  background: color-mix(in srgb, var(--theme-soft) 58%, rgba(255, 255, 255, 0.68));
}

.discovery-hill.hill-two {
  right: 38px;
  bottom: 0;
  width: 128px;
  height: 58px;
  opacity: 0.74;
  background: rgba(105, 143, 122, 0.16);
}

.discovery-bar {
  bottom: 12px;
  width: 26px;
  border-radius: 6px 6px 3px 3px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--theme-accent) 86%, #fff), color-mix(in srgb, var(--theme-accent) 72%, #1b1538));
  box-shadow: 0 10px 22px color-mix(in srgb, var(--theme-accent) 22%, transparent);
}

.discovery-bar.bar-one {
  right: 92px;
  height: 42px;
}

.discovery-bar.bar-two {
  right: 54px;
  height: 64px;
}

.discovery-bar.bar-three {
  right: 16px;
  height: 88px;
}

.guided-discovery-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 10px;
}

.guided-discovery-icon {
  width: 54px;
  height: 54px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.guided-discovery-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 7px 14px rgba(47, 35, 92, 0.12));
}

.guided-discovery-kicker {
  color: var(--theme-accent-strong);
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.guided-discovery-card h2 {
  margin: 0;
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: var(--display-title-weight);
  letter-spacing: var(--display-title-letter-spacing);
  line-height: 1.08;
}

.guided-discovery-card h3 {
  position: relative;
  z-index: 1;
  max-width: 76%;
  margin: 0;
  color: #182942;
  font-size: 20px;
  line-height: 1.16;
  letter-spacing: 0;
}

.guided-discovery-card p {
  position: relative;
  z-index: 1;
  max-width: 78%;
  margin: 0;
  color: #4d5962;
  font-size: 13px;
  line-height: 1.5;
}

.guided-discovery-highlight {
  position: relative;
  z-index: 1;
  width: fit-content;
  max-width: 76%;
  padding: 0 0 11px;
  border-bottom: 1px solid rgba(221, 211, 197, 0.8);
}

.guided-discovery-highlight strong {
  color: var(--theme-accent-strong);
  font-size: 31.5px;
  font-weight: 850;
  line-height: 1.05;
}

.guided-discovery-card.is-positive .guided-discovery-highlight strong {
  color: #23845f;
}

.guided-discovery-card.is-warning .guided-discovery-highlight strong {
  color: #a15c09;
}

.guided-discovery-card .panel-action-link {
  position: relative;
  z-index: 1;
  justify-self: start;
  width: auto;
  margin-top: 0;
}

.side-stack {
  grid-column: span 4;
  display: grid;
  gap: 18px;
}

.span-7 {
  grid-column: span 7;
}

.span-5 {
  grid-column: span 5;
}

.span-12 {
  grid-column: 1 / -1;
}

.surface {
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 252, 247, 0.94)),
    var(--surface);
}

.surface.compact {
  padding: 16px;
}

.surface-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.surface-header.slim {
  margin-bottom: 12px;
}

.surface-header h2 {
  margin: 0;
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: 19px;
  font-weight: 800;
  letter-spacing: var(--display-title-letter-spacing);
  line-height: 1.25;
}

.surface-header p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.45;
}

.decisions-view {
  align-items: start;
}

.decision-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 10px;
  padding: 20px 24px 18px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 20%, var(--subtle));
  border-radius: 12px;
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    linear-gradient(90deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.62) 34%, rgba(255, 255, 255, 0.08) 72%, rgba(255, 255, 255, 0.24) 100%),
    var(--decision-hero-image) center right / cover no-repeat,
    #ffffff;
  box-shadow: var(--shadow-soft);
}

.decision-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 70% 12%, rgba(255, 194, 116, 0.08), transparent 22%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.01), rgba(255, 255, 255, 0.14));
}

.decision-hero > * {
  position: relative;
  z-index: 1;
}

.decision-hero-brandline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.decision-hero-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #08183a;
  font-size: 19px;
  font-weight: 900;
}

.decision-hero-brand svg {
  width: 30px;
  height: 30px;
  color: var(--theme-accent-strong);
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
}

.decision-back-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 38px;
  padding: 8px 14px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
  color: #0d1c3d;
  font-size: 13px;
  font-weight: 850;
  box-shadow: 0 10px 22px rgba(31, 35, 47, 0.05);
}

.decision-back-link svg,
.decision-primary-action svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
}

.decision-hero-intro {
  display: grid;
  grid-template-columns: minmax(320px, 0.42fr);
  align-items: end;
  gap: 18px;
}

.decision-hero-copy h2 {
  margin: 0;
  max-width: 560px;
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: clamp(34px, 3.1vw, 48px);
  font-weight: 800;
  letter-spacing: var(--display-title-letter-spacing);
  line-height: 1.05;
}

.decision-hero-copy > p:not(.eyebrow) {
  margin: 6px 0 0;
  max-width: 440px;
  color: #53615f;
  font-size: 15px;
  line-height: 1.45;
}

.decision-hero-feature-grid {
  display: grid;
  grid-template-columns: minmax(460px, 0.64fr) minmax(340px, 0.36fr);
  gap: 16px;
  align-items: stretch;
}

.decision-hero-primary {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  min-height: 255px;
  padding: 22px 26px;
  border: 6px solid rgba(255, 255, 255, 0.88);
  border-radius: 12px;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.94) 44%, rgba(255, 255, 255, 0.66) 66%, rgba(255, 255, 255, 0.28) 100%),
    var(--decision-hero-image) right -22px center / auto 116% no-repeat,
    #ffffff;
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--theme-accent) 16%, var(--subtle)),
    inset 0 0 0 1px rgba(255, 255, 255, 0.72);
}

.decision-hero-primary-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin-top: 24px;
  border: 1.5px solid color-mix(in srgb, var(--theme-accent) 36%, var(--subtle));
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-soft) 68%, #ffffff);
  color: var(--theme-accent-strong);
  box-shadow: 0 12px 22px color-mix(in srgb, var(--theme-accent) 10%, transparent);
}

.decision-hero-primary-icon svg {
  width: 29px;
  height: 29px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
}

.decision-hero-primary-icon.has-image {
  width: 76px;
  height: 76px;
  margin-top: 10px;
  border: 1.5px solid color-mix(in srgb, #7c3aed 26%, var(--subtle));
  border-radius: 999px;
  background: color-mix(in srgb, #f3edff 78%, #ffffff);
  box-shadow: 0 12px 22px color-mix(in srgb, #7c3aed 10%, transparent);
}

.decision-hero-primary-icon.has-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.decision-hero-primary-body {
  display: grid;
  align-content: center;
  gap: 9px;
}

.decision-hero-primary-body > span {
  justify-self: start;
  padding: 4px 12px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, var(--subtle));
  border-radius: 7px;
  background: color-mix(in srgb, var(--theme-soft) 78%, #ffffff);
  color: var(--theme-accent-strong);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.decision-rank-reasons span {
  color: var(--theme-accent-strong);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.decision-hero-primary strong {
  color: var(--theme-accent-strong);
  font-family: var(--font-display);
  font-size: clamp(24px, 2vw, 31px);
  font-weight: 900;
  line-height: 1.08;
}

.decision-hero-primary p,
.decision-summary-row p {
  margin: 0;
  color: #53615f;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.45;
}

.decision-summary-row {
  display: grid;
  grid-template-columns: 28px max-content minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding-top: 8px;
  border-top: 0;
}

.decision-summary-row .decision-card-icon {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  border-color: color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  background: color-mix(in srgb, var(--theme-soft) 68%, #ffffff);
  color: var(--theme-accent-strong);
}

.decision-summary-row .decision-card-icon svg {
  width: 15px;
  height: 15px;
  stroke-width: 2.3;
}

.decision-summary-row b {
  color: var(--theme-accent-strong);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: none;
}

.decision-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 9px;
}

.decision-primary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 6px 13px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 36%, var(--theme-accent-strong));
  border-radius: 8px;
  background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-strong));
  color: #ffffff;
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 12px 24px color-mix(in srgb, var(--theme-accent) 18%, transparent);
}

.decision-primary-action.decision-demo-disabled {
  border-color: rgba(171, 183, 190, 0.54);
  background: linear-gradient(180deg, #edf2f4, #dfe7ea);
  color: #67737c;
  box-shadow: none;
}

.decision-found-panel {
  display: grid;
  align-content: stretch;
  gap: 6px;
  min-height: 255px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.decision-found-panel article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  min-height: 59px;
  padding: 10px 16px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 14%, var(--subtle));
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 10px 22px rgba(31, 35, 47, 0.05);
}

.decision-found-panel .decision-card-icon {
  width: 46px;
  height: 46px;
}

.decision-found-panel .decision-card-icon svg {
  width: 24px;
  height: 24px;
}

.decision-found-panel article > span {
  display: grid;
  gap: 1px;
  color: #53615f;
}

.decision-found-panel strong {
  display: block;
  color: var(--theme-accent-strong);
  font-size: 25px;
  font-weight: 950;
  line-height: 1;
}

.decision-found-panel b {
  color: #25323f;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.15;
}

.decision-found-panel em {
  min-width: 70px;
  padding: 6px 8px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  text-align: center;
}

.decision-found-panel em.high {
  border-color: rgba(13, 153, 104, 0.16);
  background: rgba(208, 247, 229, 0.86);
  color: #0d9968;
}

.decision-found-panel em.medium {
  border-color: rgba(217, 119, 6, 0.16);
  background: rgba(255, 244, 226, 0.94);
  color: #d97706;
}

.decision-found-panel em.low {
  border-color: rgba(91, 33, 182, 0.16);
  background: #f3eefd;
  color: #5b21b6;
}

.decision-hero-note {
  position: relative;
  overflow: hidden;
  display: flex;
  gap: 14px;
  align-items: center;
  width: min(100%, 1035px);
  margin: 0 auto;
  min-height: 78px;
  padding: 14px 24px;
  border: 1px solid rgba(226, 207, 174, 0.82);
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(255, 252, 244, 0.98), rgba(255, 252, 244, 0.78) 45%, rgba(255, 252, 244, 0.24)),
    url("assets/brand/projections-global-panel.png") right center / auto 100% no-repeat,
    #fffaf0;
}

.decision-hero-note img {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.decision-hero-note p {
  max-width: 760px;
  color: #42535f;
  font-size: 15px;
  line-height: 1.55;
}

.decision-hero-note strong {
  color: #27343c;
  font-weight: 900;
}

.decision-do-nothing-note {
  margin-top: 14px !important;
  padding-left: 2px;
  color: #596665 !important;
  font-size: 13.5px !important;
}

.decision-hero-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  gap: 0;
  min-height: 88px;
  padding: 14px 18px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 14%, var(--subtle));
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 14px 30px rgba(31, 35, 47, 0.06);
}

.decision-hero-metrics article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 0 18px;
  border-left: 1px solid rgba(34, 49, 63, 0.1);
  background: transparent;
  box-shadow: none;
}

.decision-hero-metrics article:first-child {
  border-left: 0;
}

.decision-hero-metrics .decision-card-icon {
  width: 46px;
  height: 46px;
}

.decision-hero-metrics .decision-card-icon svg {
  width: 24px;
  height: 24px;
}

.decision-hero-metrics span,
.decision-source,
.decision-metric-strip span,
.decision-evidence-grid h4 {
  color: #53615f;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.decision-hero-metrics strong {
  display: block;
  margin: 0 0 4px;
  color: var(--theme-accent-strong);
  font-size: 25px;
  font-weight: 900;
  line-height: 1;
}

.decision-hero-metrics small {
  display: block;
  margin-top: 9px;
  color: #687371;
  font-weight: 700;
  line-height: 1.35;
}

.decision-card-icon.purple {
  color: #5b21b6;
  background: #f3eefd;
  border-color: #cbbbfa;
}

.decision-card-icon.blue {
  color: #2563eb;
  background: #eef5ff;
  border-color: #b9d4ff;
}

.decision-card-icon.cyan {
  color: #0f9f9f;
  background: #e9fbfb;
  border-color: #9ee6e6;
}

.decision-category-strip {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0 10px;
}

.decision-category-strip > span {
  margin-right: 8px;
  color: #53615f;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.065em;
  text-transform: uppercase;
}

.decision-category-strip article {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 8px 14px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 14%, var(--subtle));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
  color: #0f1b37;
  box-shadow: 0 8px 16px rgba(31, 35, 47, 0.03);
}

.decision-category-strip svg {
  width: 22px;
  height: 22px;
  color: var(--theme-accent-strong);
  fill: none;
  stroke: currentColor;
  stroke-width: 2.15;
}

.decision-category-strip b {
  font-size: 13.5px;
  font-weight: 850;
}

.decision-category-strip strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 24px;
  padding: 0 7px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-soft) 68%, #ffffff);
  color: var(--theme-accent-strong);
  font-size: 13px;
  font-weight: 950;
}

.decision-evidence-snapshot,
.decision-queue-panel,
.decision-transparency-panel {
  border: 1px solid color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  border-radius: 8px;
  box-shadow: var(--shadow-soft);
}

.decision-snapshot-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.decision-snapshot-card {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: max-content;
  max-width: 100%;
  padding: 7px 10px;
  border: 1px solid color-mix(in srgb, var(--subtle) 88%, #ffffff);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
}

.decision-snapshot-card.needs-attention {
  border-color: color-mix(in srgb, var(--orange) 32%, var(--subtle));
  background: #fff8ea;
}

.decision-snapshot-card span {
  color: #53615f;
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.decision-snapshot-card span::after {
  content: ":";
}

.decision-snapshot-card strong {
  color: #17212b;
  font-size: 12px;
  font-weight: 900;
}

.decision-card-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.decision-queue-panel {
  display: grid;
  gap: 12px;
  padding: 18px;
  border-color: rgba(214, 202, 231, 0.72);
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    rgba(255, 255, 255, 0.97);
}

.decision-queue-panel > .surface-header h2,
.decision-candidates-panel > .surface-header h2,
.decision-lower-head h2 {
  margin: 0;
  color: var(--workspace-theme-accent-strong);
  font-family: var(--font-display);
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: 0;
}

.decision-queue-list {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(219, 225, 232, 0.9);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.74);
}

.decision-queue-item {
  display: grid;
  grid-template-columns: 56px 56px minmax(220px, 1.05fr) minmax(260px, 1fr) auto 22px;
  gap: 16px;
  align-items: center;
  width: 100%;
  min-height: 70px;
  padding: 8px 14px;
  border: 0;
  border-bottom: 1px solid rgba(221, 226, 232, 0.88);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.9);
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.decision-queue-item:last-child {
  border-bottom: 0;
}

.decision-queue-item:hover {
  position: relative;
  z-index: 1;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(44, 37, 28, 0.08);
  transform: translateY(-1px);
}

.decision-queue-rank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 12%, transparent);
  background: color-mix(in srgb, var(--theme-soft) 72%, #ffffff);
  color: var(--theme-accent-strong);
  font-size: 16px;
  font-weight: 900;
}

.decision-queue-item > .decision-card-icon {
  width: 42px;
  height: 42px;
  border-radius: 8px;
}

.decision-queue-item > .decision-card-icon.has-image {
  width: 42px;
  height: 42px;
  border: 1.5px solid color-mix(in srgb, #7c3aed 30%, var(--subtle));
  border-radius: 8px;
  background: color-mix(in srgb, #f3edff 78%, #ffffff);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76);
}

.decision-queue-item > .decision-card-icon.has-image.is-asset-roth-sprout img {
  width: 30px;
  height: 30px;
}

.decision-queue-main,
.decision-queue-impact {
  min-width: 0;
}

.decision-queue-item strong {
  display: block;
  color: #17212b;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.25;
}

.decision-queue-item small {
  display: block;
  margin-top: 3px;
  color: #687371;
  font-weight: 700;
  line-height: 1.3;
}

.decision-queue-impact {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  color: #4e5b63;
  font-size: 13.5px;
  font-weight: 750;
  line-height: 1.35;
}

.decision-queue-impact .decision-card-icon {
  width: 30px;
  height: 30px;
}

.decision-queue-impact .decision-card-icon.is-icon-dollar svg {
  transform: translateX(1px);
}

.decision-queue-item em {
  min-width: 112px;
  padding: 6px 10px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  text-align: center;
  white-space: nowrap;
}

.decision-queue-item em.high {
  border-color: rgba(13, 153, 104, 0.16);
  background: rgba(208, 247, 229, 0.86);
  color: #0d9968;
}

.decision-queue-item em.medium {
  border-color: rgba(217, 119, 6, 0.16);
  background: rgba(255, 244, 226, 0.94);
  color: #d97706;
}

.decision-queue-item em.low {
  border-color: rgba(91, 33, 182, 0.16);
  background: #f3eefd;
  color: #5b21b6;
}

.decision-queue-arrow {
  color: #81909a;
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
}

.decision-health-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.decision-health-card {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--subtle) 92%, #ffffff);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
}

.decision-health-card.positive {
  border-color: color-mix(in srgb, var(--success) 16%, var(--subtle));
}

.decision-health-card.warning {
  border-color: color-mix(in srgb, var(--orange) 18%, var(--subtle));
}

.decision-health-card.negative {
  border-color: color-mix(in srgb, var(--red) 20%, var(--subtle));
}

.decision-health-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.decision-health-head .decision-card-icon {
  width: 38px;
  height: 38px;
}

.decision-health-head .decision-card-icon svg {
  width: 20px;
  height: 20px;
}

.decision-health-head h3 {
  margin: 4px 0 0;
  color: #17212b;
  font-size: 17px;
  line-height: 1.18;
}

.decision-health-head p,
.decision-health-next {
  margin: 7px 0 0;
  color: #53615f;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.4;
}

.decision-health-metric {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 10px;
  border: 1px solid rgba(34, 49, 63, 0.08);
  border-radius: 8px;
  background: var(--surface-muted);
}

.decision-health-metric span {
  color: #53615f;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.decision-health-metric strong {
  color: #17212b;
  font-size: 17px;
  font-weight: 900;
}

.decision-health-metric strong.positive {
  color: var(--success);
}

.decision-health-metric strong.negative {
  color: var(--red);
}

.decision-candidates-panel {
  display: grid;
  gap: 18px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    rgba(255, 255, 255, 0.97);
  box-shadow: var(--shadow-soft);
}

.decision-candidate-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.decision-candidate-list > .decision-candidate-card:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

.decision-candidate-list > .decision-candidate-card:last-child:nth-child(odd) .decision-candidate-evidence-pill p {
  display: grid;
  justify-items: start;
  gap: 4px;
}

.decision-candidate-list > .decision-candidate-card:last-child:nth-child(odd) .decision-candidate-evidence-pill em {
  margin-top: 0;
}

.decision-candidate-card {
  container-type: inline-size;
  display: grid;
  align-content: start;
  gap: 14px;
  min-height: 100%;
  padding: 16px;
  border: 1px solid var(--subtle);
  border-radius: 8px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(253, 251, 247, 0.96));
  scroll-margin-top: calc(var(--topbar-height) + 22px);
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.decision-candidate-card.decision-card-pulse {
  border-color: color-mix(in srgb, var(--theme-accent) 58%, var(--subtle));
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--theme-accent) 15%, transparent), var(--shadow-soft);
}

.decision-candidate-card.positive {
  border-color: color-mix(in srgb, var(--success) 24%, var(--subtle));
}

.decision-candidate-card.warning {
  border-color: color-mix(in srgb, var(--orange) 30%, var(--subtle));
}

.decision-candidate-card.negative {
  border-color: color-mix(in srgb, var(--red) 30%, var(--subtle));
}

.decision-candidate-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.decision-candidate-head h3 {
  margin: 5px 0 0;
  color: #17212b;
  font-size: 20px;
  line-height: 1.15;
}

.decision-candidate-head p {
  margin: 8px 0 0;
  color: #53615f;
  font-size: 13px;
  line-height: 1.42;
}

.decision-candidate-score {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--subtle) 88%, #ffffff);
  border-radius: 8px;
  background: var(--surface-muted);
}

.decision-candidate-score .decision-comparison-note,
.decision-candidate-score .decision-metric-explanation,
.decision-candidate-score .decision-evidence-strength-note,
.decision-metric-strip .decision-metric-explanation,
.decision-metric-strip .decision-evidence-strength-note {
  grid-column: 1 / -1;
  color: #687371;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.decision-candidate-score .decision-comparison-note b {
  color: #344341;
  font-weight: 900;
}

.decision-candidate-score span,
.decision-candidate-grid span {
  color: #53615f;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.decision-candidate-score strong {
  color: #17212b;
  font-size: 21px;
  font-weight: 900;
  line-height: 1;
}

.decision-candidate-score strong.positive {
  color: var(--success);
}

.decision-candidate-score strong.negative {
  color: var(--red);
}

.decision-candidate-score em {
  grid-column: 1 / -1;
  justify-self: start;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: #596665;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
}

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

.decision-timing-ladder,
.decision-option-ladder {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 8px;
}

.decision-timing-ladder div,
.decision-option-ladder div {
  display: grid;
  gap: 5px;
  min-height: 86px;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--subtle) 84%, #ffffff);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.decision-timing-ladder div.is-planned,
.decision-option-ladder div.is-current {
  border-color: color-mix(in srgb, var(--theme-accent) 22%, var(--subtle));
  background: color-mix(in srgb, var(--theme-soft) 48%, #ffffff);
}

.decision-timing-ladder span,
.decision-option-ladder span {
  color: #53615f;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.055em;
  line-height: 1.2;
  text-transform: uppercase;
}

.decision-timing-ladder strong,
.decision-option-ladder strong {
  color: #17212b;
  font-size: 14px;
  font-weight: 900;
}

.decision-timing-ladder em,
.decision-option-ladder em {
  color: #53615f;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
}

.decision-timing-ladder em.positive,
.decision-option-ladder em.positive {
  color: var(--success);
}

.decision-timing-ladder em.negative,
.decision-option-ladder em.negative {
  color: var(--red);
}

.decision-candidate-grid div {
  display: grid;
  gap: 4px;
  padding: 11px;
  border: 1px solid rgba(34, 49, 63, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.64);
}

.decision-candidate-grid div:last-child {
  padding-bottom: 11px;
  border-bottom: 1px solid rgba(34, 49, 63, 0.08);
}

.decision-candidate-grid ul {
  margin: 0;
  padding-left: 18px;
  color: #53615f;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.38;
}

.decision-candidate-grid li + li {
  margin-top: 4px;
}

.decision-rank-reasons {
  display: grid;
  gap: 7px;
  padding: 11px 12px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
}

.decision-rank-reasons ul,
.decision-transparency-list {
  margin: 0;
  padding-left: 18px;
  color: #53615f;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.42;
}

.decision-rank-reasons li + li,
.decision-transparency-list li + li {
  margin-top: 4px;
}

.decision-surface-details {
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.68);
}

.decision-surface-details summary {
  cursor: pointer;
  color: var(--theme-accent-strong);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.decision-surface-details dl {
  display: grid;
  gap: 8px;
  margin: 10px 0 0;
}

.decision-surface-details dl > div {
  display: grid;
  gap: 2px;
}

.decision-surface-details dt {
  color: #53615f;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.decision-surface-details dd {
  margin: 0;
  color: #53615f;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.42;
}

.decision-empty-state {
  margin: 0;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  color: #53615f;
  font-weight: 750;
  line-height: 1.45;
}

.decision-card {
  padding: 18px;
  border: 1px solid var(--subtle);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--shadow-soft);
}

.decision-card.positive {
  border-color: color-mix(in srgb, var(--success) 24%, var(--subtle));
}

.decision-card.warning {
  border-color: color-mix(in srgb, var(--orange) 28%, var(--subtle));
}

.decision-card.negative {
  border-color: color-mix(in srgb, var(--red) 30%, var(--subtle));
}

.decision-card-top {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
}

.decision-card-top h3 {
  margin: 5px 0 0;
  color: #17212b;
  font-size: 22px;
  line-height: 1.16;
}

.decision-card-top p {
  margin: 8px 0 0;
  color: #53615f;
  font-size: 14px;
  line-height: 1.45;
}

.decision-card-icon {
  width: 48px;
  height: 48px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1.5px solid color-mix(in srgb, currentColor 26%, transparent);
  border-radius: 999px;
  color: var(--theme-accent-strong);
  background: var(--theme-soft);
}

.decision-card-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.decision-card-icon.has-image {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.decision-card-icon.has-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.decision-card-icon.positive {
  color: var(--success);
  background: var(--success-soft);
}

.decision-card-icon.warning {
  color: var(--orange);
  background: #fff2d7;
}

.decision-card-icon.negative {
  color: var(--red);
  background: #fdecec;
}

.decision-card-icon.has-image {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.decision-rank {
  padding: 5px 9px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-soft) 74%, #ffffff);
  color: var(--theme-accent-strong);
  font-size: 12px;
  font-weight: 900;
}

.decision-metric-strip {
  margin: 16px 0;
  padding: 13px 14px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--subtle);
  border-radius: 8px;
  background: var(--surface-muted);
}

.decision-metric-strip strong {
  color: #17212b;
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
}

.decision-metric-strip strong.positive {
  color: var(--success);
}

.decision-metric-strip strong.negative {
  color: var(--red);
}

.decision-metric-strip em {
  padding: 5px 9px;
  border-radius: 999px;
  background: #eef3f6;
  color: #4d5c5b;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
  white-space: nowrap;
}

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

.decision-evidence-grid > div {
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--subtle) 82%, #ffffff);
  border-radius: 8px;
  background: #fffefb;
}

.decision-evidence-grid h4 {
  margin: 0 0 8px;
  color: var(--theme-accent-strong);
}

.decision-evidence-grid ul {
  margin: 0;
  padding-left: 18px;
  color: #53615f;
  font-size: 13px;
  line-height: 1.42;
}

.decision-evidence-grid li + li {
  margin-top: 5px;
}

.decision-card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 14px;
  color: var(--theme-accent-strong);
  font-weight: 900;
}

.decision-card-link.decision-demo-disabled {
  color: #7a858c;
}

.decision-candidate-card {
  --decision-accent: var(--theme-accent-strong);
  --decision-accent-rgb: 23 79 137;
  --decision-soft: color-mix(in srgb, var(--theme-soft) 70%, #ffffff);
  --decision-border: color-mix(in srgb, var(--decision-accent) 22%, var(--subtle));
  --decision-action: var(--decision-accent);
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 20px;
  border-color: color-mix(in srgb, var(--decision-accent) 16%, var(--subtle));
  border-radius: 8px;
  background:
    radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--decision-soft) 55%, transparent), transparent 18rem),
    linear-gradient(145deg, rgba(255, 255, 255, 0.99), rgba(255, 255, 255, 0.94));
  box-shadow:
    0 16px 34px rgba(31, 39, 53, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.decision-candidate-card[class*="decision-theme-"] {
  border-color: color-mix(in srgb, var(--decision-accent) 24%, var(--subtle));
}

.decision-candidate-card.decision-card-selected {
  border-color: color-mix(in srgb, var(--decision-accent) 72%, var(--subtle));
  outline: 3px solid color-mix(in srgb, var(--decision-accent) 30%, transparent);
  outline-offset: 3px;
  box-shadow:
    0 0 0 7px color-mix(in srgb, var(--decision-accent) 10%, transparent),
    0 18px 38px color-mix(in srgb, var(--decision-accent) 14%, rgba(31, 39, 53, 0.08)),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.decision-candidate-card.decision-card-pulse {
  animation: decision-card-target-pulse 900ms ease-out 1;
}

@keyframes decision-card-target-pulse {
  0% {
    outline-color: color-mix(in srgb, var(--decision-accent) 58%, transparent);
    box-shadow:
      0 0 0 0 color-mix(in srgb, var(--decision-accent) 30%, transparent),
      0 18px 38px color-mix(in srgb, var(--decision-accent) 14%, rgba(31, 39, 53, 0.08)),
      inset 0 1px 0 rgba(255, 255, 255, 0.9);
  }
  100% {
    outline-color: color-mix(in srgb, var(--decision-accent) 30%, transparent);
    box-shadow:
      0 0 0 7px color-mix(in srgb, var(--decision-accent) 10%, transparent),
      0 18px 38px color-mix(in srgb, var(--decision-accent) 14%, rgba(31, 39, 53, 0.08)),
      inset 0 1px 0 rgba(255, 255, 255, 0.9);
  }
}

.decision-candidate-footer {
  display: grid;
  gap: 14px;
  margin-top: auto;
}

.decision-theme-roth {
  --decision-accent: #5b21b6;
  --decision-soft: #f2ecff;
}

.decision-theme-growth {
  --decision-accent: #148451;
  --decision-soft: #eaf8f0;
}

.decision-theme-timing {
  --decision-accent: #d17a00;
  --decision-soft: #fff4d8;
}

.decision-theme-assumptions {
  --decision-accent: #ef3b34;
  --decision-soft: #fff0ee;
}

.decision-theme-red {
  --decision-accent: #ef3b34;
  --decision-soft: #fff0ee;
}

.decision-theme-blue {
  --decision-accent: #2563eb;
  --decision-soft: #eef5ff;
}

.decision-theme-purple {
  --decision-accent: #7c3aed;
  --decision-soft: #f3edff;
}

.decision-theme-orange {
  --decision-accent: #d97706;
  --decision-soft: #fff3e4;
}

.decision-theme-yellow {
  --decision-accent: #ca8a04;
  --decision-soft: #fff7df;
}

.decision-theme-green {
  --decision-accent: #148451;
  --decision-soft: #eaf8f0;
}

.decision-theme-neutral {
  --decision-accent: #2563eb;
  --decision-soft: #eef5ff;
}

.decision-candidate-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 0.38fr);
  gap: 18px;
  align-items: start;
}

.decision-candidate-top > *,
.decision-candidate-head,
.decision-candidate-head > div {
  min-width: 0;
}

.decision-candidate-head {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
}

.decision-candidate-head .decision-card-icon {
  width: 48px;
  height: 48px;
  color: var(--decision-accent);
  border-color: color-mix(in srgb, var(--decision-accent) 26%, transparent);
  background: var(--decision-soft);
}

.decision-candidate-card .decision-candidate-head .decision-card-icon:not(.has-image) {
  color: var(--decision-accent) !important;
  border-color: color-mix(in srgb, var(--decision-accent) 26%, transparent);
  background: var(--decision-soft);
}

.decision-candidate-head .decision-card-icon svg {
  width: 25px;
  height: 25px;
  color: inherit !important;
  stroke: currentColor;
}

.decision-candidate-card .decision-candidate-head .decision-card-icon svg,
.decision-candidate-card .decision-candidate-head .decision-card-icon use {
  color: inherit !important;
  stroke: currentColor !important;
}

.decision-candidate-head .decision-card-icon.has-image {
  border: 1.5px solid color-mix(in srgb, var(--decision-accent) 26%, transparent);
  border-color: color-mix(in srgb, var(--decision-accent) 26%, transparent);
  background: var(--decision-soft);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76);
}

.decision-candidate-head .decision-card-icon.has-image.is-asset-roth-sprout {
  border-radius: 999px;
}

.decision-candidate-head .decision-card-icon.has-image.is-asset-roth-sprout img {
  width: 36px;
  height: 36px;
}

.decision-candidate-card .decision-source {
  color: var(--decision-accent);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.decision-candidate-head h3 {
  max-width: 430px;
  margin-top: 8px;
  color: #132033;
  font-size: clamp(18px, 1.55vw, 22px);
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.decision-candidate-head p {
  max-width: 500px;
  color: #5b6674;
  font-size: 12.5px;
  line-height: 1.48;
}

.decision-candidate-score {
  justify-self: end;
  min-width: 178px;
  padding: 15px 16px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
  align-content: center;
  justify-items: center;
  text-align: center;
  border: 1px solid color-mix(in srgb, var(--decision-accent) 22%, var(--subtle));
  border-radius: 8px;
  background:
    radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--decision-soft) 74%, transparent), transparent 9rem),
    color-mix(in srgb, var(--decision-soft) 58%, rgba(255, 255, 255, 0.88));
}

.decision-candidate-score span {
  color: var(--decision-accent);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.055em;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.decision-candidate-score strong {
  display: block;
  color: var(--decision-accent);
  font-size: clamp(26px, 2.45vw, 34px);
  font-weight: 950;
  line-height: 1;
}

.decision-candidate-card .decision-candidate-score strong.positive,
.decision-candidate-card .decision-candidate-score strong.negative {
  color: var(--decision-accent) !important;
}

.decision-candidate-card.decision-theme-roth .decision-candidate-score strong,
.decision-candidate-card.decision-theme-growth .decision-candidate-score strong,
.decision-candidate-card.decision-theme-timing .decision-candidate-score strong,
.decision-candidate-card.decision-theme-assumptions .decision-candidate-score strong,
.decision-candidate-card.decision-theme-neutral .decision-candidate-score strong,
.decision-candidate-card.decision-theme-red .decision-candidate-score strong,
.decision-candidate-card.decision-theme-blue .decision-candidate-score strong,
.decision-candidate-card.decision-theme-purple .decision-candidate-score strong,
.decision-candidate-card.decision-theme-orange .decision-candidate-score strong,
.decision-candidate-card.decision-theme-yellow .decision-candidate-score strong,
.decision-candidate-card.decision-theme-green .decision-candidate-score strong {
  color: var(--decision-accent) !important;
}

.decision-candidate-score small {
  color: #344155;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.25;
}

.decision-candidate-evidence-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 0.42fr);
  align-items: stretch;
  border: 1px solid rgba(38, 53, 78, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.decision-candidate-compared,
.decision-candidate-evidence-pill {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 13px 14px;
}

.decision-candidate-evidence-pill {
  border-left: 1px solid rgba(38, 53, 78, 0.1);
}

.decision-candidate-evidence-row .decision-card-icon {
  width: 30px;
  height: 30px;
  color: var(--decision-accent) !important;
  background: transparent;
  border-color: transparent;
}

.decision-candidate-evidence-row .decision-card-icon svg {
  width: 21px;
  height: 21px;
  color: inherit !important;
  stroke: currentColor !important;
}

.decision-candidate-evidence-row p {
  margin: 0;
  color: #445060;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
}

.decision-candidate-evidence-row p strong {
  color: #1e2a3a;
  font-size: 11px;
  font-weight: 950;
}

.decision-candidate-evidence-row em {
  display: inline-flex;
  width: max-content;
  margin-top: 4px;
  padding: 5px 10px;
  border: 1px solid color-mix(in srgb, var(--decision-accent) 18%, transparent);
  border-radius: 999px;
  background: var(--decision-soft);
  color: var(--decision-accent);
  font-size: 11.5px;
  font-style: normal;
  font-weight: 900;
}

.decision-candidate-grid {
  gap: 10px;
}

.decision-candidate-grid div {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 4px 10px;
  padding: 13px;
  background: rgba(255, 255, 255, 0.78);
  border-color: rgba(38, 53, 78, 0.09);
}

.decision-candidate-grid .decision-card-icon {
  grid-row: span 2;
  width: 28px;
  height: 28px;
  color: var(--decision-accent) !important;
  background: transparent;
  border-color: transparent;
}

.decision-candidate-grid .decision-card-icon svg {
  width: 20px;
  height: 20px;
  color: inherit !important;
  stroke: currentColor !important;
}

.decision-candidate-grid span {
  color: #253140;
  font-size: 10.5px;
}

.decision-candidate-grid ul {
  grid-column: 2;
  padding-left: 0;
  list-style: none;
  color: #4d5968;
  font-size: 12px;
}

.decision-timing-ladder,
.decision-option-ladder {
  gap: 10px;
}

.decision-timing-ladder div,
.decision-option-ladder div {
  position: relative;
  min-height: 80px;
  padding: 13px;
  border-color: rgba(38, 53, 78, 0.09);
  background: rgba(255, 255, 255, 0.82);
}

.decision-timing-ladder div.is-planned,
.decision-option-ladder div.is-current {
  border-color: color-mix(in srgb, var(--decision-accent) 42%, var(--subtle));
  background: color-mix(in srgb, var(--decision-soft) 56%, rgba(255, 255, 255, 0.86));
}

.decision-timing-ladder span,
.decision-option-ladder span {
  color: #253140;
}

.decision-timing-ladder em.positive,
.decision-option-ladder em.positive {
  color: var(--decision-accent) !important;
}

.decision-timing-ladder em.negative,
.decision-option-ladder em.negative {
  color: var(--decision-accent) !important;
}

.decision-timing-ladder b,
.decision-option-ladder b {
  position: absolute;
  top: 9px;
  right: 9px;
  padding: 3px 6px;
  border: 1px solid color-mix(in srgb, var(--decision-accent) 18%, transparent);
  border-radius: 999px;
  background: var(--decision-soft);
  color: var(--decision-accent);
  font-size: 10px;
  font-weight: 950;
  line-height: 1;
}

@container (max-width: 720px) {
  .decision-candidate-top {
    grid-template-columns: minmax(0, 1fr);
  }

  .decision-candidate-score {
    justify-self: stretch;
  }
}

.decision-action-window {
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--decision-accent) 24%, rgba(38, 53, 78, 0.12));
  border-radius: 10px;
  background: color-mix(in srgb, var(--decision-soft) 30%, rgba(255, 255, 255, 0.9));
}

.decision-action-window summary {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  padding: 13px 15px;
  cursor: pointer;
  list-style: none;
}

.decision-action-window summary::-webkit-details-marker {
  display: none;
}

.decision-action-window-heading {
  display: flex;
  gap: 12px;
  align-items: baseline;
}

.decision-action-window-kicker {
  color: var(--decision-accent);
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.decision-action-window summary strong {
  color: #253140;
  font-size: 13px;
  font-weight: 900;
}

.decision-action-window-toggle {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 34px;
  padding: 7px 13px;
  border: 1px solid color-mix(in srgb, var(--decision-accent) 34%, transparent);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  color: var(--decision-accent);
  box-shadow: 0 3px 10px rgba(31, 48, 68, 0.06);
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.decision-action-window-collapse-label {
  display: none;
}

.decision-action-window[open] .decision-action-window-expand-label {
  display: none;
}

.decision-action-window[open] .decision-action-window-collapse-label {
  display: inline;
}

.decision-action-window-body {
  display: grid;
  gap: 12px;
  padding: 0 15px 15px;
  border-top: 1px solid color-mix(in srgb, var(--decision-accent) 14%, transparent);
}

.decision-action-window-body > p {
  margin: 12px 0 0;
  color: #53615f;
  font-size: 12px;
  line-height: 1.45;
}

.decision-action-window-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
}

.decision-action-window-grid > div {
  display: grid;
  gap: 5px;
  min-height: 118px;
  padding: 13px;
  border: 1px solid rgba(38, 53, 78, 0.11);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.88);
}

.decision-action-window-grid > div.is-current {
  border-color: color-mix(in srgb, var(--decision-accent) 44%, var(--subtle));
  box-shadow: inset 0 3px 0 var(--decision-accent);
}

.decision-action-window-grid > div.is-impractical {
  background: color-mix(in srgb, var(--red) 6%, rgba(255, 255, 255, 0.94));
}

.decision-action-window-grid span {
  color: var(--decision-accent);
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.decision-action-window-grid strong {
  color: #17212b;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 23px;
  line-height: 1.08;
}

.decision-action-window-grid strong small {
  font-family: inherit;
  font-size: 13px;
}

.decision-action-window-grid p,
.decision-action-window-grid em {
  margin: 0;
  color: #596665;
  font-size: 11px;
  line-height: 1.35;
}

.decision-action-window-grid em {
  margin-top: auto;
  color: var(--decision-accent);
  font-style: normal;
  font-weight: 850;
}

.decision-action-window-note {
  color: #687573;
  font-size: 10.5px;
  line-height: 1.4;
}

@media (max-width: 700px) {
  .decision-action-window-heading {
    display: grid;
    gap: 3px;
  }

  .decision-action-window-toggle > span {
    display: none !important;
  }

  .decision-action-window-grid {
    grid-template-columns: 1fr;
  }
}

.decision-surface-row {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(38, 53, 78, 0.09);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.decision-surface-row span {
  color: var(--decision-accent);
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
}

.decision-surface-row strong {
  color: var(--decision-accent);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.055em;
  text-transform: uppercase;
  white-space: nowrap;
}

.decision-surface-row p {
  margin: 0;
  color: #5b6674;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
}

.decision-candidate-card .decision-card-link {
  min-height: 42px;
  justify-content: center;
  gap: 14px;
  margin-top: 0;
  border: 1px solid color-mix(in srgb, var(--decision-accent) 82%, #000);
  border-radius: 8px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--decision-accent) 86%, #fff), var(--decision-action));
  color: #fff;
  font-size: 15px;
  font-weight: 950;
  text-decoration: none;
  box-shadow: 0 12px 22px color-mix(in srgb, var(--decision-accent) 20%, transparent);
}

.decision-candidate-card .decision-card-link svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.decision-lower-panel {
  display: grid;
  gap: 16px;
  padding: 20px;
  border-color: color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--theme-soft) 24%, transparent), transparent 18rem),
    rgba(255, 255, 255, 0.98);
  box-shadow: var(--shadow-soft);
}

.decision-lower-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.decision-lower-head > .decision-card-icon {
  width: 52px;
  height: 52px;
}

.decision-lower-head > .decision-card-icon svg {
  width: 27px;
  height: 27px;
}

.decision-lower-head h2 {
  margin: 0;
  color: var(--workspace-theme-accent-strong);
  font-family: var(--font-display);
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: 0;
}

.decision-lower-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.45;
}

.decision-evidence-snapshot {
  grid-template-columns: 1fr;
  align-items: start;
}

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

.decision-snapshot-card {
  display: grid;
  grid-template-columns: auto minmax(max-content, 1fr) auto;
  gap: 9px;
  align-items: center;
  width: auto;
  min-width: 0;
  min-height: 48px;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 8px 18px rgba(31, 39, 53, 0.035);
}

.decision-snapshot-card .decision-card-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
}

.decision-snapshot-card .decision-card-icon::after {
  content: none;
}

.decision-snapshot-card .decision-card-icon svg {
  width: 18px;
  height: 18px;
}

.decision-snapshot-card > strong {
  min-width: 0;
  color: #15223a;
  font-size: 12.5px;
  font-weight: 950;
  line-height: 1.15;
  white-space: nowrap;
}

.decision-snapshot-card > em {
  justify-self: start;
  margin-left: 0;
  padding: 5px 8px;
  border: 1px solid color-mix(in srgb, #0f8f58 16%, transparent);
  border-radius: 7px;
  background: rgba(216, 246, 230, 0.8);
  color: #0e7a4c;
  font-size: 10.5px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

.decision-snapshot-card.decision-status-latest-run > em {
  border-color: color-mix(in srgb, #5b21b6 16%, transparent);
  background: #f2ecff;
  color: #5b21b6;
}

.decision-snapshot-card.decision-status-latest-balance > em {
  border-color: color-mix(in srgb, #1d6fb8 16%, transparent);
  background: #eaf4ff;
  color: #1f5f99;
}

.decision-snapshot-card.decision-status-missing > em {
  border-color: color-mix(in srgb, var(--orange) 20%, transparent);
  background: #fff3dc;
  color: #b35f00;
}

.decision-completeness-panel {
  gap: 18px;
}

.decision-completeness-summary {
  display: grid;
  grid-template-columns: minmax(280px, 1.65fr) repeat(3, minmax(150px, 0.72fr)) minmax(200px, 0.8fr);
  align-items: stretch;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 13%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--success-soft) 66%, #ffffff) 0%, rgba(255, 255, 255, 0.94) 35%, rgba(255, 255, 255, 0.92) 100%);
  box-shadow: 0 12px 28px rgba(31, 39, 53, 0.04);
}

.decision-completeness-overview {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  padding: 16px 22px;
}

.decision-completeness-donut {
  position: relative;
  width: 104px;
  height: 104px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: conic-gradient(
    var(--success) 0 var(--ready-degrees),
    #d9a900 var(--ready-degrees) var(--helpful-end-degrees),
    color-mix(in srgb, var(--red) 72%, #ffffff) var(--helpful-end-degrees) 360deg
  );
  box-shadow: inset 0 0 0 1px rgba(31, 39, 53, 0.08), 0 8px 18px rgba(28, 121, 75, 0.12);
}

.decision-completeness-donut::before {
  content: "";
  position: absolute;
  inset: 12px;
  border-radius: inherit;
  background: #ffffff;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--success) 14%, transparent);
}

.decision-completeness-donut span {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 1px;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.1;
}

.decision-completeness-donut strong {
  color: var(--success);
  font-size: 28px;
  font-weight: 950;
  letter-spacing: 0;
}

.decision-completeness-donut em {
  font-style: normal;
}

.decision-completeness-overview h3 {
  margin: 0;
  color: #243247;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.18;
}

.decision-completeness-overview p {
  margin: 8px 0 0;
  color: #506177;
  font-size: 13px;
  line-height: 1.45;
}

.decision-completeness-stat {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-content: center;
  align-items: center;
  column-gap: 8px;
  row-gap: 3px;
  min-height: 124px;
  padding: 18px 22px;
  border-left: 1px solid color-mix(in srgb, var(--theme-accent) 10%, var(--subtle));
  background: rgba(255, 255, 255, 0.64);
}

.decision-completeness-stat span {
  grid-row: 1 / 3;
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1.5px solid currentColor;
  border-radius: 999px;
  background: color-mix(in srgb, currentColor 9%, #ffffff);
}

.decision-completeness-stat span svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.decision-completeness-stat strong {
  align-self: end;
  color: #29384d;
  font-size: 30px;
  font-weight: 950;
  line-height: 0.95;
}

.decision-completeness-stat b {
  align-self: end;
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
}

.decision-completeness-stat p {
  grid-column: 2 / 4;
  margin: 0;
  color: #506177;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.35;
}

.decision-completeness-stat-ready {
  color: var(--success);
}

.decision-completeness-stat-helpful {
  color: #c98200;
}

.decision-completeness-stat-needed {
  color: var(--red);
}

.decision-completeness-progress {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 124px;
  padding: 18px 22px;
  border-left: 1px solid color-mix(in srgb, var(--theme-accent) 10%, var(--subtle));
  background: rgba(255, 255, 255, 0.64);
}

.decision-completeness-progress-track {
  position: relative;
  display: block;
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: #e4e8ea;
}

.decision-completeness-progress-track::before,
.decision-completeness-progress-track i {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  display: block;
}

.decision-completeness-progress-track::before {
  width: var(--ready-percent);
  border-radius: inherit;
  background: linear-gradient(90deg, var(--success), #14a66a);
}

.decision-completeness-progress-track i {
  left: var(--ready-percent);
  width: var(--helpful-percent);
  border-radius: inherit;
  background: #f0b400;
}

.decision-completeness-progress strong {
  color: #29384d;
  font-size: 13px;
  font-weight: 850;
}

.decision-freshness-strip {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--freshness-accent, var(--theme-accent)) 18%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--freshness-soft, var(--theme-soft)) 70%, #fff), rgba(255, 255, 255, 0.96));
}

.decision-freshness-ready {
  --freshness-accent: var(--success);
  --freshness-soft: var(--success-soft);
}

.decision-freshness-helpful {
  --freshness-accent: #c98200;
  --freshness-soft: #fff4d7;
}

.decision-freshness-needed {
  --freshness-accent: var(--red);
  --freshness-soft: #fff0f0;
}

.decision-freshness-strip .decision-card-icon {
  width: 38px;
  height: 38px;
  border-color: color-mix(in srgb, var(--freshness-accent) 26%, transparent);
  background: color-mix(in srgb, var(--freshness-soft) 72%, #fff);
  color: var(--freshness-accent);
}

.decision-freshness-strip .decision-card-icon::after {
  content: none;
}

.decision-freshness-strip .decision-card-icon svg {
  width: 21px;
  height: 21px;
}

.decision-freshness-strip span {
  display: inline-flex;
  width: max-content;
  padding: 4px 8px;
  border: 1px solid color-mix(in srgb, var(--freshness-accent) 24%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--freshness-soft) 78%, #fff);
  color: var(--freshness-accent);
  font-size: 10.5px;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.055em;
}

.decision-freshness-strip > div {
  display: grid;
  grid-template-columns: auto minmax(max-content, auto) minmax(0, 1fr);
  align-items: center;
  column-gap: 10px;
  row-gap: 4px;
}

.decision-freshness-strip strong {
  display: block;
  color: #17263e;
  font-size: 13.5px;
  font-weight: 950;
  line-height: 1.2;
}

.decision-freshness-strip p {
  margin: 0;
  color: #526077;
  font-size: 12.5px;
  font-weight: 650;
  line-height: 1.35;
}

.decision-freshness-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

.decision-freshness-actions a,
.decision-freshness-actions .decision-demo-disabled {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 30px;
  padding: 7px 10px;
  border: 1px solid color-mix(in srgb, var(--freshness-accent) 22%, var(--subtle));
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: color-mix(in srgb, var(--freshness-accent) 84%, #17263e);
  font-size: 11.5px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.decision-freshness-actions a.primary,
.decision-freshness-actions .decision-demo-disabled.primary {
  border-color: color-mix(in srgb, var(--freshness-accent) 36%, var(--subtle));
  background: color-mix(in srgb, var(--freshness-accent) 12%, #fff);
  box-shadow: 0 8px 18px color-mix(in srgb, var(--freshness-accent) 12%, transparent);
}

.decision-freshness-actions svg {
  width: 13px;
  height: 13px;
}

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

.decision-completeness-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  min-height: 126px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 8px 18px rgba(31, 39, 53, 0.035);
}

.decision-completeness-card .decision-card-icon {
  width: 42px;
  height: 42px;
  border-radius: 10px;
}

.decision-completeness-card .decision-card-icon::after {
  content: none;
}

.decision-completeness-card .decision-card-icon svg {
  width: 23px;
  height: 23px;
}

.decision-completeness-card .decision-card-icon img {
  width: 29px;
  height: 29px;
  object-fit: contain;
}

.decision-completeness-card-title {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.decision-completeness-card-title span {
  display: inline;
  min-width: 0;
  color: #15223a;
  font-size: 14px;
  font-weight: 950;
  line-height: 1.2;
}

.decision-completeness-card-title strong {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  margin-left: auto;
  padding: 4px 8px;
  border: 1px solid color-mix(in srgb, #0f8f58 18%, transparent);
  border-radius: 7px;
  background: rgba(216, 246, 230, 0.82);
  color: #0e7a4c;
  font-size: 11px;
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
}

.decision-completeness-helpful .decision-completeness-card-title strong {
  border-color: color-mix(in srgb, #c97800 20%, transparent);
  background: #fff2d7;
  color: #9c5a00;
}

.decision-completeness-needed .decision-completeness-card-title strong {
  border-color: color-mix(in srgb, #b35f00 24%, transparent);
  background: #fff3dc;
  color: #9d4f00;
}

.decision-completeness-card p {
  margin: 10px 0 12px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.42;
}

.decision-completeness-card a,
.decision-completeness-card .decision-demo-disabled {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--workspace-theme-accent-strong);
  font-size: 13px;
  font-weight: 950;
  text-decoration: none;
}

.decision-completeness-card a svg,
.decision-completeness-card .decision-demo-disabled svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.decision-plan-health-panel {
  gap: 18px;
}

.decision-health-list {
  gap: 18px;
}

.decision-health-card {
  --decision-accent: var(--theme-accent-strong);
  --decision-soft: var(--theme-soft);
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 270px;
  padding: 16px;
  border-color: color-mix(in srgb, var(--decision-accent) 20%, var(--subtle));
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--decision-soft) 54%, transparent), transparent 12rem),
    rgba(255, 255, 255, 0.96);
  box-shadow: 0 14px 30px rgba(31, 39, 53, 0.055);
}

.decision-theme-health-green {
  --decision-accent: #0b7f4d;
  --decision-soft: #e7f6ec;
}

.decision-theme-health-blue {
  --decision-accent: #116d83;
  --decision-soft: #e8f5f8;
}

.decision-theme-health-orange {
  --decision-accent: #d66a13;
  --decision-soft: #fff1e2;
}

.decision-health-head {
  gap: 12px;
}

.decision-health-head .decision-card-icon {
  width: 48px;
  height: 48px;
  color: var(--decision-accent) !important;
  border-color: color-mix(in srgb, var(--decision-accent) 26%, transparent);
  background: var(--decision-soft);
}

.decision-health-head .decision-card-icon svg,
.decision-health-head .decision-card-icon use {
  color: var(--decision-accent);
  fill: none;
  stroke: var(--decision-accent);
}

.decision-health-head .decision-source {
  color: var(--decision-accent);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.decision-health-head h3 {
  margin-top: 7px;
  color: #122039;
  font-size: 18px;
  line-height: 1.18;
}

.decision-health-head p {
  color: #36435c;
  font-size: 13px;
  font-weight: 650;
}

.decision-health-metric {
  margin-top: auto;
  padding: 12px 13px;
  border-color: color-mix(in srgb, var(--decision-accent) 12%, transparent);
  background: linear-gradient(90deg, color-mix(in srgb, var(--decision-soft) 70%, #fff), rgba(255, 255, 255, 0.9));
}

.decision-health-metric span {
  color: var(--decision-accent);
  font-size: 11.5px;
}

.decision-health-metric strong {
  color: var(--decision-accent);
  font-size: 24px;
}

.decision-health-card .decision-health-metric strong.positive {
  color: var(--decision-accent) !important;
}

.decision-health-card .decision-health-metric strong.negative {
  color: var(--red) !important;
}

.decision-health-next {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #26354e;
}

.decision-health-next::before {
  content: "›";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
  margin: 1px 0 0;
  border: 1.5px solid color-mix(in srgb, #5b6680 30%, transparent);
  border-radius: 999px;
  color: #5b6680;
  font-size: 14px;
  font-weight: 950;
  line-height: 1;
  text-indent: -1px;
}

.decision-health-next strong {
  color: #10213c;
}

.decision-health-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  margin-top: auto;
  padding: 11px 16px;
  border: 1px solid color-mix(in srgb, var(--decision-accent) 82%, #000);
  border-radius: 8px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--decision-accent) 86%, #fff), var(--decision-accent));
  color: #fff;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.1;
  text-decoration: none;
  box-shadow: 0 12px 22px color-mix(in srgb, var(--decision-accent) 18%, transparent);
}

.decision-health-link.decision-demo-disabled {
  border-color: rgba(171, 183, 190, 0.54);
  background: linear-gradient(180deg, #edf2f4, #dfe7ea);
  color: #67737c;
  box-shadow: none;
}

.decision-demo-disabled {
  cursor: not-allowed;
  opacity: 0.68;
  filter: grayscale(0.36);
}

.decision-demo-disabled svg {
  opacity: 0.72;
}

.decision-health-link svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.decision-transparency-panel {
  grid-template-columns: minmax(0, 1.12fr) minmax(310px, 0.9fr) minmax(230px, 0.52fr);
  gap: 28px;
  align-items: center;
}

.decision-ranking-copy {
  display: grid;
  gap: 14px;
}

.decision-transparency-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.decision-transparency-list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  color: #1d2d47;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.35;
}

.decision-transparency-list li + li {
  margin-top: 0;
}

.decision-transparency-list span {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  color: #0f8f58;
}

.decision-transparency-list svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
}

.decision-ranking-logic {
  display: grid;
  gap: 8px;
  padding-left: 28px;
  border-left: 1px solid rgba(35, 48, 69, 0.16);
}

.decision-ranking-logic h3 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--workspace-theme-accent-strong);
  font-size: 14px;
  font-weight: 950;
}

.decision-ranking-table {
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
}

.decision-ranking-table article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 40px;
  padding: 7px 10px;
}

.decision-ranking-table article + article {
  border-top: 1px solid rgba(35, 48, 69, 0.08);
}

.decision-ranking-table .decision-card-icon {
  width: 28px;
  height: 28px;
  border-radius: 7px;
}

.decision-ranking-table .decision-card-icon svg {
  width: 18px;
  height: 18px;
}

.decision-ranking-table strong {
  color: #1d2d47;
  font-size: 13px;
  font-weight: 650;
}

.decision-ranking-table em {
  padding: 5px 9px;
  border: 1px solid color-mix(in srgb, #0f8f58 16%, transparent);
  border-radius: 7px;
  background: rgba(216, 246, 230, 0.82);
  color: #0e7a4c;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

.decision-ranking-table em.warning {
  border-color: color-mix(in srgb, var(--orange) 16%, transparent);
  background: #fff0e3;
  color: #cf4c0d !important;
}

.decision-ranking-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 12px;
  row-gap: 4px;
  align-items: center;
  padding: 18px 16px;
  border: 1px solid rgba(226, 207, 174, 0.82);
  border-radius: 8px;
  background:
    radial-gradient(circle at 10% 50%, rgba(255, 235, 190, 0.36), transparent 14rem),
    linear-gradient(145deg, rgba(255, 251, 241, 0.96), rgba(255, 255, 255, 0.9));
}

.decision-ranking-note-title {
  grid-column: 2;
}

.decision-ranking-note-icon {
  grid-column: 1;
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1.5px solid rgba(138, 90, 9, 0.28);
  border-radius: 999px;
  background: rgba(255, 235, 190, 0.88);
}

.decision-ranking-note-icon::before {
  content: "";
  width: 27px;
  height: 27px;
  background: #8a5a09;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 18h6' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M10 21h4' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M8.5 14.6c-1.2-1-2-2.5-2-4.1a5.5 5.5 0 0 1 11 0c0 1.6-.8 3.1-2 4.1-.8.7-1.2 1.4-1.3 2.4H9.8c-.1-1-.5-1.7-1.3-2.4Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M12 2.5v1.3M4.8 5.2l.9.9M19.2 5.2l-.9.9M2.5 11h1.3M20.2 11h1.3' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 18h6' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M10 21h4' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M8.5 14.6c-1.2-1-2-2.5-2-4.1a5.5 5.5 0 0 1 11 0c0 1.6-.8 3.1-2 4.1-.8.7-1.2 1.4-1.3 2.4H9.8c-.1-1-.5-1.7-1.3-2.4Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M12 2.5v1.3M4.8 5.2l.9.9M19.2 5.2l-.9.9M2.5 11h1.3M20.2 11h1.3' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.decision-ranking-note strong {
  color: #855705;
  font-size: 14px;
  font-weight: 950;
}

.decision-ranking-note p {
  grid-column: 2;
  margin: 0;
  color: #34425d;
  font-size: 12.5px;
  font-weight: 650;
  line-height: 1.48;
}

@media (max-width: 1180px) {
  .decision-hero {
    grid-template-columns: 1fr;
  }

  .decision-queue-item {
    grid-template-columns: 48px 48px minmax(0, 1fr) auto 20px;
  }

  .decision-queue-impact {
    grid-column: 3 / -1;
  }

  .projection-lens-panel .plan-lens-divergence,
  .plan-tracking-lens-panel .plan-lens-divergence {
    width: 100%;
    min-width: 0;
    max-width: none;
  }

  .projection-lens-panel .plan-lens-body,
  .plan-tracking-lens-panel .plan-lens-body {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.72fr);
    gap: 8px 18px;
  }

  .decision-evidence-snapshot {
    grid-template-columns: 1fr;
  }

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

  .decision-completeness-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .decision-freshness-strip > div {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .decision-freshness-strip p {
    grid-column: 1 / -1;
  }

  .decision-freshness-actions {
    grid-column: 2 / -1;
    justify-content: flex-start;
  }

  .decision-candidate-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .decision-card-list {
    grid-template-columns: 1fr;
  }

  .decision-health-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .decision-transparency-panel {
    grid-template-columns: 1fr;
  }

  .decision-ranking-logic {
    padding-left: 0;
    border-left: 0;
  }
}

@media (max-width: 760px) {
  .projection-lens-panel,
  .plan-tracking-lens-panel {
    grid-template-columns: 1fr;
    padding: 18px;
  }

  .projection-lens-panel .plan-lens-body,
  .plan-tracking-lens-panel .plan-lens-body {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "eyebrow"
      "title"
      "copy"
      "points"
      "callout";
    gap: 9px;
    min-width: 0;
    max-width: 100%;
  }

  .projection-lens-panel .plan-lens-divergence,
  .plan-tracking-lens-panel .plan-lens-divergence {
    grid-template-columns: 34px minmax(0, 1fr);
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .projection-lens-panel .plan-lens-points,
  .plan-tracking-lens-panel .plan-lens-points {
    align-items: stretch;
    flex-direction: column;
  }

  .projection-lens-panel .plan-lens-points span,
  .plan-tracking-lens-panel .plan-lens-points span {
    width: 100%;
  }

  .decision-candidate-top,
  .decision-candidate-evidence-row,
  .decision-candidate-list,
  .decision-candidate-grid,
  .decision-timing-ladder,
  .decision-option-ladder,
  .decision-hero-intro,
  .decision-hero-feature-grid,
  .decision-hero-primary,
  .decision-hero-primary-body,
  .decision-completeness-summary,
  .decision-snapshot-grid,
  .decision-completeness-grid,
  .decision-hero-metrics,
  .decision-evidence-grid,
  .decision-health-list {
    grid-template-columns: 1fr;
  }

  .decision-candidate-score {
    justify-self: stretch;
  }

  .decision-hero {
    padding: 22px;
  }

  .decision-hero-copy,
  .decision-hero-primary,
  .decision-hero-primary-body,
  .decision-completeness-summary {
    min-width: 0;
    max-width: 100%;
  }

  .decision-hero-primary {
    background:
      linear-gradient(140deg, rgba(255, 255, 255, 0.96), rgba(255, 247, 241, 0.86)),
      var(--surface);
  }

  .decision-hero-primary strong,
  .decision-queue-main strong,
  .decision-snapshot-card strong {
    overflow-wrap: anywhere;
  }

  .decision-lower-panel {
    padding: 16px;
  }

  .decision-lower-head {
    align-items: start;
  }

  .decision-freshness-strip {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
  }

  .decision-freshness-strip > div {
    grid-template-columns: 1fr;
  }

  .decision-freshness-actions {
    grid-column: 1 / -1;
  }

  .decision-evidence-snapshot .decision-snapshot-grid {
    grid-template-columns: 1fr;
  }

  .decision-snapshot-card {
    grid-template-columns: auto minmax(0, 1fr) auto;
    width: 100%;
  }

  .decision-ranking-table article,
  .decision-ranking-note {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .decision-ranking-table em {
    grid-column: 2;
    justify-self: start;
  }

  .decision-candidate-evidence-pill {
    border-left: 0;
    border-top: 1px solid rgba(38, 53, 78, 0.1);
  }

  .decision-surface-row {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .decision-surface-row p {
    grid-column: 2;
  }

  .decision-card-top {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .decision-rank {
    grid-column: 1 / -1;
    width: max-content;
  }

  .decision-metric-strip {
    grid-template-columns: 1fr;
  }

  .decision-summary-row,
  .decision-queue-item {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .decision-queue-item > .decision-card-icon {
    grid-column: 1;
  }

  .decision-queue-main,
  .decision-queue-impact,
  .decision-queue-item em,
  .decision-queue-arrow {
    grid-column: 2;
  }

  .decision-queue-item em {
    justify-self: start;
  }
}

#overview-view > .surface,
#overview-view > .overview-analysis-row {
  scroll-margin-top: calc(var(--topbar-height) + 24px);
}

.segmented-control {
  display: inline-flex;
  padding: 3px;
  background: var(--surface-muted);
  border: 1px solid var(--subtle);
  border-radius: 7px;
}

.segmented-control button {
  min-height: 30px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: var(--muted);
  padding: 0 11px;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}

.segmented-control button.active {
  background: var(--surface);
  color: var(--text);
  box-shadow: 0 1px 4px rgba(25, 42, 54, 0.09);
}

.chart-frame {
  height: 330px;
  border-top: 1px solid var(--subtle);
  padding-top: 16px;
}

.chart-frame-large {
  height: 520px;
}

.chart-frame svg {
  width: 100%;
  height: 100%;
  display: block;
}

.chart-empty-state {
  display: grid;
  min-height: 100%;
  margin: 0;
  place-items: center;
  color: var(--muted);
  font-size: 13px;
  text-align: center;
}

.balance-view {
  position: relative;
}

.plan-tracking-dashboard {
  position: relative;
  overflow: hidden;
  grid-column: 1 / -1;
  display: grid;
  gap: 18px;
  padding: 22px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 14%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(90deg,
      var(--theme-accent-strong),
      var(--theme-accent) 58%,
      color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--theme-soft) 36%, transparent), transparent 20rem),
    radial-gradient(circle at 95% 10%, rgba(255, 247, 223, 0.44), transparent 18rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 252, 247, 0.955)),
    var(--surface);
  box-shadow:
    0 22px 54px rgba(74, 58, 42, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.plan-tracking-dashboard > * {
  position: relative;
  z-index: 2;
}

.plan-tracking-title-row {
  display: grid;
  gap: 4px;
}

.plan-tracking-title-row h2,
.plan-tracking-card h3,
.plan-tracking-section-heading h3 {
  margin: 0;
  color: var(--text);
  font-family: var(--font-display);
  letter-spacing: 0;
}

.plan-tracking-title-row h2 {
  color: var(--workspace-theme-accent-strong);
  font-size: 24px;
  line-height: 1.1;
}

.plan-tracking-title-row p,
.plan-tracking-section-heading p,
.plan-tracking-card-head p,
.plan-tracking-muted,
.plan-tracking-next-import p,
.activity-metric-grid p,
.change-commentary-copy {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.balance-empty-guide {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 22px 24px;
  border: 1px solid color-mix(in srgb, var(--workspace-theme-accent) 28%, var(--subtle));
  border-radius: 8px;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--workspace-theme-accent) 18%, transparent), transparent 22rem),
    linear-gradient(135deg, color-mix(in srgb, var(--workspace-theme-soft) 40%, rgba(255, 255, 255, 0.96)), rgba(255, 255, 255, 0.88));
  box-shadow:
    0 16px 34px rgba(44, 37, 28, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.balance-empty-guide[hidden] {
  display: none;
}

.balance-empty-guide-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border: 1px solid color-mix(in srgb, var(--workspace-theme-accent) 24%, rgba(255, 255, 255, 0.8));
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--workspace-theme-accent-strong);
}

.balance-empty-guide-icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.balance-empty-guide-eyebrow {
  margin: 0 0 5px;
  color: var(--workspace-theme-accent-strong);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.balance-empty-guide h3 {
  margin: 0;
  color: var(--workspace-theme-accent-strong);
  font-family: var(--font-display);
  font-size: clamp(22px, 1.7vw, 30px);
  line-height: 1.08;
}

.balance-empty-guide p:not(.balance-empty-guide-eyebrow) {
  max-width: 860px;
  margin: 9px 0 0;
  color: #314360;
  font-size: 15px;
  line-height: 1.5;
}

.balance-empty-guide-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

.balance-empty-guide-primary,
.balance-empty-guide-secondary,
.balance-empty-guide-link {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: 8px;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
}

.balance-empty-guide-primary {
  border: 1px solid color-mix(in srgb, var(--workspace-theme-accent-strong) 72%, var(--workspace-theme-accent));
  background: var(--workspace-theme-accent-strong);
  color: white;
  box-shadow: 0 10px 18px color-mix(in srgb, var(--workspace-theme-accent-strong) 18%, transparent);
}

.balance-empty-guide-secondary {
  border: 1px solid color-mix(in srgb, var(--workspace-theme-accent) 24%, var(--subtle));
  background: rgba(255, 255, 255, 0.74);
  color: var(--workspace-theme-accent-strong);
}

.balance-empty-guide-link {
  border: 1px solid rgba(38, 53, 78, 0.12);
  background: rgba(255, 255, 255, 0.58);
  color: #314360;
}

.balance-empty-guide-primary:hover,
.balance-empty-guide-primary:focus-visible {
  background: color-mix(in srgb, var(--workspace-theme-accent-strong) 88%, black);
}

.balance-empty-guide-secondary:hover,
.balance-empty-guide-secondary:focus-visible,
.balance-empty-guide-link:hover,
.balance-empty-guide-link:focus-visible {
  border-color: color-mix(in srgb, var(--workspace-theme-accent) 42%, var(--subtle));
  background: rgba(255, 255, 255, 0.94);
}

.plan-tracking-section-heading {
  display: grid;
  gap: 4px;
  margin-top: 2px;
}

.plan-tracking-section-heading h3 {
  font-size: 22px;
  line-height: 1.1;
}

.plan-tracking-section-heading p {
  max-width: 760px;
}

.plan-tracking-top-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

.plan-tracking-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

.plan-tracking-card {
  min-width: 0;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 10%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(150deg, rgba(255, 255, 255, 0.98), rgba(255, 253, 249, 0.78)),
    var(--surface);
  box-shadow:
    0 12px 28px rgba(44, 37, 28, 0.045),
    inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.retired-operating-year-panel {
  display: grid;
  gap: 16px;
}

.retired-operating-year-panel[hidden] {
  display: none;
}

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

.retired-operating-year-grid article {
  min-width: 0;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--workspace-theme-accent) 16%, var(--subtle));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.retired-operating-year-grid span,
.retired-operating-year-grid small {
  display: block;
  color: var(--muted);
  font-weight: 750;
}

.retired-operating-year-grid span {
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.retired-operating-year-grid strong {
  display: block;
  margin-top: 8px;
  color: var(--workspace-theme-accent-strong);
  font-family: var(--font-display);
  font-size: clamp(22px, 2.1vw, 32px);
  line-height: 1;
}

.retired-operating-year-grid small {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.4;
}

.retired-ledger-preview {
  display: grid;
  gap: 8px;
}

.retired-ledger-preview-row {
  display: grid;
  grid-template-columns: 0.8fr 1.05fr 1fr 1fr;
  gap: 12px;
  align-items: center;
  padding-top: 10px;
  border-top: 1px solid rgba(95, 108, 115, 0.14);
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
}

.retired-ledger-preview-row strong {
  color: var(--text);
}

.health-tax-ledger-editor {
  margin-top: 18px;
}

.roth-conversion-view {
  align-items: start;
}

.roth-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  gap: 24px;
  align-items: center;
  overflow: hidden;
}

.roth-eyebrow {
  margin: 0 0 8px;
  color: var(--theme-accent-strong);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.roth-hero h2,
.roth-section-head h2 {
  margin: 0;
  color: var(--theme-accent-strong);
  letter-spacing: 0;
}

.roth-hero h2 {
  max-width: 760px;
  font-size: clamp(1.5rem, 2.3vw, 2.25rem);
  line-height: 1.04;
}

.roth-hero p:last-child,
.roth-section-head p {
  margin: 10px 0 0;
  color: var(--muted);
  line-height: 1.55;
}

.roth-hero-badge {
  min-height: 152px;
  display: grid;
  align-content: center;
  gap: 7px;
  padding: 22px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 22%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--theme-accent) 10%, transparent), transparent 64%),
    color-mix(in srgb, var(--surface) 90%, white);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.roth-hero-badge span,
.roth-control-panel label span,
.roth-metric-card span,
.roth-table th {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
}

.roth-hero-badge strong {
  color: var(--theme-accent-strong);
  font-size: 1.75rem;
  line-height: 1;
}

.roth-hero-badge small,
.roth-control-panel label small,
.roth-metric-card small,
.roth-decision-score small,
.roth-warning-list p,
.roth-chart-legend,
.roth-table td {
  color: var(--muted);
  font-size: 0.88rem;
}

.roth-control-panel {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 14px;
  align-items: start;
}

.roth-control-panel label {
  display: grid;
  gap: 7px;
}

.roth-control-panel label small {
  min-height: 2.7em;
  line-height: 1.35;
}

.roth-control-help-placeholder {
  visibility: hidden;
}

.roth-control-panel input,
.roth-control-panel select {
  width: 100%;
  min-height: 42px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  border-radius: 8px;
  background: var(--surface);
  color: var(--text);
  font: inherit;
  font-weight: 750;
  padding: 0 12px;
}

.roth-context-note {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  border: 1px solid color-mix(in srgb, #d5a241 42%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(135deg, color-mix(in srgb, #fff3ce 72%, transparent), transparent 70%),
    color-mix(in srgb, #fff9ea 72%, var(--surface));
  color: #5d4310;
  font-weight: 750;
  line-height: 1.45;
}

.roth-context-note strong {
  color: #5d4310;
  font-size: 0.94rem;
  font-weight: 950;
}

.roth-context-note span {
  min-width: 0;
}

.roth-context-note-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 2px solid color-mix(in srgb, #d5a241 62%, #fff4c6);
  border-radius: 50%;
  background: #fff2c7;
  color: #b87906;
}

.roth-context-note-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.roth-decision-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 330px);
  gap: 28px;
  align-items: stretch;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    var(--surface);
}

.roth-decision-title-row {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.roth-decision-title-row > .roth-card-icon {
  width: 40px;
  height: 40px;
  border-color: color-mix(in srgb, #0f315d 38%, var(--surface));
  background: #0f315d;
  color: white;
}

.roth-decision-title-row > .roth-card-icon svg {
  width: 21px;
  height: 21px;
}

.roth-room-panel {
  display: grid;
  grid-template-columns: minmax(300px, 0.55fr) minmax(640px, 1.45fr);
  gap: 34px;
  align-items: start;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  border-radius: 8px;
}

.roth-room-panel .roth-section-head {
  margin: 0;
}

.roth-room-panel .roth-section-head > div {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  column-gap: 16px;
  align-items: center;
}

.roth-decision-copy h2,
.roth-room-panel h2,
.roth-education-panel h2 {
  margin: 0;
  color: var(--theme-accent-strong);
  font-size: clamp(1.22rem, 1.6vw, 1.55rem);
  line-height: 1.12;
  letter-spacing: 0;
}

.roth-decision-copy p:last-child,
.roth-room-panel p,
.roth-education-panel p,
.roth-education-panel li {
  color: var(--muted);
  line-height: 1.52;
}

.roth-decision-copy p:last-child,
.roth-room-panel p,
.roth-education-panel p {
  margin: 10px 0 0;
}

.roth-room-panel .roth-section-head p {
  grid-column: 1 / -1;
  margin-top: 24px;
  max-width: 420px;
}

.roth-decision-axis {
  display: grid;
  grid-template-columns: minmax(145px, auto) minmax(48px, 130px) 34px minmax(48px, 130px) minmax(185px, auto);
  align-items: center;
  gap: 8px;
  margin: 16px 0 12px;
  color: #16834f;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.roth-decision-axis i {
  position: relative;
  height: 1px;
  width: 100%;
  max-width: 130px;
  background: color-mix(in srgb, var(--muted) 58%, transparent);
}

.roth-decision-axis i::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 7px;
  height: 7px;
  border-top: 1.5px solid color-mix(in srgb, var(--muted) 72%, var(--text));
  border-right: 1.5px solid color-mix(in srgb, var(--muted) 72%, var(--text));
}

.roth-decision-axis i:first-of-type {
  justify-self: end;
}

.roth-decision-axis i:first-of-type::after {
  left: 0;
  transform: translateY(-50%) rotate(-135deg);
}

.roth-decision-axis i:last-of-type {
  justify-self: start;
}

.roth-decision-axis i:last-of-type::after {
  right: 0;
  transform: translateY(-50%) rotate(45deg);
}

.roth-decision-axis span:first-child {
  color: #b3263b;
  text-align: right;
}

.roth-decision-axis .roth-card-icon {
  width: 34px;
  height: 34px;
  background: color-mix(in srgb, #2d7ce8 15%, var(--surface));
}

.roth-decision-axis .roth-card-icon svg {
  width: 18px;
  height: 18px;
}

.roth-room-math {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.roth-room-math span {
  position: relative;
  display: grid;
  gap: 12px;
  min-height: 102px;
  padding: 14px 72px 14px 16px;
  border: 1px solid var(--subtle);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 88%, white);
}

.roth-room-math em {
  color: var(--muted);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}

.roth-room-math strong {
  color: var(--text);
  font-size: 1.28rem;
  line-height: 1;
}

.roth-decision-score {
  position: relative;
  display: grid;
  gap: 14px;
  min-height: 178px;
  align-content: center;
  align-self: center;
  padding: 22px 24px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--theme-accent) 8%, transparent), transparent 56%),
    color-mix(in srgb, var(--surface) 94%, white);
}

.roth-decision-score::before {
  content: "";
  position: absolute;
  left: -15px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: color-mix(in srgb, var(--subtle) 82%, var(--muted));
}

.roth-decision-ledger {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin-top: 0;
}

.roth-decision-ledger article {
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 8px;
  min-height: 136px;
  padding: 13px 13px;
  border: 1px solid var(--subtle);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 88%, white);
}

.roth-decision-ledger article.cost {
  border-color: color-mix(in srgb, #c43d4d 20%, var(--subtle));
  background: color-mix(in srgb, #fff1f2 42%, var(--surface));
}

.roth-decision-ledger article.benefit {
  border-color: color-mix(in srgb, #16834f 18%, var(--subtle));
  background: color-mix(in srgb, #effaf4 40%, var(--surface));
}

.roth-ledger-card-head {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.roth-ledger-card-head .roth-card-icon {
  width: 36px;
  height: 36px;
}

.roth-ledger-card-head .roth-card-icon svg {
  width: 18px;
  height: 18px;
}

.roth-decision-ledger span,
.roth-ledger-card-head em {
  color: #4c5c6b;
  font-size: 0.74rem;
  font-style: normal;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}

.roth-decision-ledger strong {
  color: var(--text);
  padding-bottom: 7px;
  border-bottom: 1px dashed color-mix(in srgb, var(--subtle) 82%, transparent);
  font-size: clamp(1.05rem, 1.25vw, 1.35rem);
  line-height: 1;
}

.roth-decision-ledger article.cost strong {
  color: #b3263b;
}

.roth-decision-ledger article.benefit strong {
  color: #16834f;
}

.roth-decision-ledger small {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.roth-decision-score span {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.roth-decision-score-title {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.roth-decision-score-title .roth-card-icon {
  width: 50px;
  height: 50px;
}

.roth-decision-score-title .roth-card-icon svg {
  width: 25px;
  height: 25px;
}

.roth-decision-score strong {
  color: var(--text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.42rem, 1.65vw, 1.85rem);
  line-height: 1.06;
}

.roth-decision-score .roth-score-effect {
  display: block;
  padding-bottom: 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--subtle) 76%, transparent);
  color: var(--text);
  font-weight: 850;
}

.roth-score-effect em {
  font-style: normal;
  font-weight: 900;
}

.roth-score-effect em.positive {
  color: #16834f;
}

.roth-score-effect em.warning {
  color: #d97706;
}

.roth-score-effect em.negative {
  color: #b3263b;
}

.roth-decision-score.positive {
  border-color: color-mix(in srgb, #16834f 24%, var(--subtle));
  background:
    linear-gradient(135deg, color-mix(in srgb, #effaf4 64%, transparent), transparent 60%),
    var(--surface);
}

.roth-decision-score.warning {
  border-color: color-mix(in srgb, #d97706 24%, var(--subtle));
  background:
    linear-gradient(135deg, color-mix(in srgb, #fff4d6 70%, transparent), transparent 60%),
    var(--surface);
}

.roth-decision-score.negative {
  border-color: color-mix(in srgb, #c43d4d 28%, var(--subtle));
  background:
    linear-gradient(135deg, color-mix(in srgb, #fff1f2 78%, transparent), transparent 60%),
    var(--surface);
}

.roth-decision-score.positive .roth-decision-score-title strong {
  color: #167246;
}

.roth-decision-score.warning .roth-decision-score-title strong {
  color: #9a650c;
}

.roth-decision-score.negative .roth-decision-score-title strong {
  color: #b3263b;
}

.roth-education-panel {
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr);
  gap: 22px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 14%, var(--subtle));
  border-radius: 8px;
}

.roth-education-panel ol {
  margin: 0;
  padding-left: 22px;
}

.roth-education-panel li + li {
  margin-top: 10px;
}

.roth-education-panel strong {
  color: var(--text);
}

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

.roth-metric-card,
.roth-chart-panel,
.roth-notes-panel,
.roth-table-panel {
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 14%, var(--subtle));
  border-radius: 8px;
}

.roth-table-panel,
.roth-irmaa-risk-panel {
  overflow-x: hidden;
}

.roth-metric-card {
  display: grid;
  gap: 7px;
  min-height: 126px;
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.76), rgba(255, 255, 255, 0.48)),
    var(--surface);
}

.roth-metric-card strong {
  color: var(--text);
  font-size: clamp(1.25rem, 1.7vw, 1.7rem);
  line-height: 1;
}

.roth-metric-card strong.positive,
.roth-table strong.positive {
  color: #167246;
}

.roth-metric-card strong.warning,
.roth-table strong.warning {
  color: #9a650c;
}

.roth-metric-card strong.negative,
.roth-table strong.negative {
  color: #b3263b;
}

.roth-section-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 16px;
}

.roth-section-head h2 {
  font-size: 1.08rem;
}

.roth-chart-frame {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 12px;
}

.roth-chart-axis {
  height: 280px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 12px 0 30px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-align: right;
}

.roth-chart-bars {
  height: 280px;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
  padding: 12px 4px 0;
  border-bottom: 1px solid var(--subtle);
  background:
    linear-gradient(to bottom, transparent 0, transparent calc(50% - 1px), color-mix(in srgb, var(--subtle) 72%, transparent) calc(50% - 1px), color-mix(in srgb, var(--subtle) 72%, transparent) 50%, transparent 50%),
    linear-gradient(to bottom, color-mix(in srgb, var(--subtle) 68%, transparent) 0 1px, transparent 1px);
  overflow: hidden;
}

.roth-chart-year {
  position: relative;
  min-width: 0;
  display: grid;
  gap: 8px;
  align-items: end;
  justify-items: center;
  outline: none;
}

.roth-chart-stack {
  width: 100%;
  height: 238px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 3px;
}

.roth-chart-stack b,
.roth-chart-stack i {
  display: block;
  min-height: 2px;
  border-radius: 6px 6px 2px 2px;
}

.roth-chart-conversion {
  background: linear-gradient(180deg, color-mix(in srgb, var(--theme-accent) 78%, white), var(--theme-accent-strong));
}

.roth-chart-tax {
  background: #d5a241;
}

.roth-chart-year span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
}

.roth-chart-tooltip {
  position: absolute;
  left: 50%;
  bottom: 36px;
  z-index: 8;
  width: max-content;
  min-width: 250px;
  max-width: min(330px, 72vw);
  padding: 16px 18px;
  border: 1px solid #d8c4a1;
  border-radius: 8px;
  background: #fff;
  box-shadow:
    0 24px 46px rgba(31, 39, 53, 0.18),
    0 2px 10px rgba(31, 39, 53, 0.08);
  color: var(--text);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -10px);
  transition: opacity 80ms ease, transform 80ms ease;
  visibility: hidden;
}

.roth-chart-year:nth-child(n + 10) .roth-chart-tooltip {
  left: auto;
  right: 0;
  transform: translate(0, -10px);
}

.roth-chart-year:nth-child(-n + 4) .roth-chart-tooltip {
  left: 0;
  transform: translate(0, -10px);
}

.roth-chart-year:hover .roth-chart-tooltip,
.roth-chart-year:focus-visible .roth-chart-tooltip {
  opacity: 1;
  transform: translate(-50%, -16px);
  visibility: visible;
}

.roth-chart-year:nth-child(n + 10):hover .roth-chart-tooltip,
.roth-chart-year:nth-child(n + 10):focus-visible .roth-chart-tooltip,
.roth-chart-year:nth-child(-n + 4):hover .roth-chart-tooltip,
.roth-chart-year:nth-child(-n + 4):focus-visible .roth-chart-tooltip {
  transform: translate(0, -16px);
}

.roth-chart-tooltip strong {
  display: block;
  margin: 0 0 10px;
  color: #59626d;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1rem;
  line-height: 1.15;
}

.roth-chart-tooltip p {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  gap: 4px 10px;
  align-items: center;
  margin: 10px 0 0;
}

.roth-chart-tooltip p:first-of-type {
  margin-top: 0;
}

.roth-chart-tooltip .roth-tooltip-dot {
  grid-row: span 2;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.roth-tooltip-dot.conversion {
  background: #1458aa;
}

.roth-tooltip-dot.tax {
  background: #dda23c;
}

.roth-tooltip-dot.magi {
  background: #6b7c8f;
}

.roth-tooltip-dot.limit {
  background: #cfd8e3;
}

.roth-tooltip-dot.positive {
  background: #16834f;
}

.roth-tooltip-dot.negative {
  background: #b3263b;
}

.roth-chart-tooltip span {
  color: #5d6874;
  font-size: 0.9rem;
  font-weight: 850;
  line-height: 1.25;
}

.roth-chart-tooltip b {
  grid-column: 2;
  color: var(--text);
  font-size: 1.08rem;
  line-height: 1.15;
}

.roth-chart-tooltip b.conversion {
  color: #1458aa;
}

.roth-chart-tooltip b.tax {
  color: #d97706;
}

.roth-chart-tooltip b.positive {
  color: #16834f;
}

.roth-chart-tooltip b.negative {
  color: #b3263b;
}

.roth-chart-legend {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.roth-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 800;
}

.roth-chart-legend i {
  width: 12px;
  height: 12px;
  border-radius: 50%;
}

.roth-legend-conversion {
  background: var(--theme-accent-strong);
}

.roth-legend-tax {
  background: #d5a241;
}

.roth-warning-list {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.roth-warning-list p {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin: 0;
  padding: 12px;
  border: 1px solid color-mix(in srgb, #d5a241 22%, var(--subtle));
  border-radius: 8px;
  background: color-mix(in srgb, #fff7df 48%, var(--surface));
  line-height: 1.45;
}

.roth-warning-list span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff1c4;
  color: #8b5b05;
  font-weight: 950;
}

.roth-empty-state {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  border: 1px solid color-mix(in srgb, #d5a241 28%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff7df 44%, transparent), transparent),
    var(--surface);
}

.roth-empty-state > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #fff1c4;
  color: #8b5b05;
  font-weight: 950;
}

.roth-empty-state h2 {
  margin: 0;
  color: var(--text);
  font-size: 1.12rem;
  letter-spacing: 0;
}

.roth-empty-state p {
  margin: 8px 0 0;
  color: var(--muted);
  line-height: 1.55;
}

.roth-table-wrap {
  contain: paint;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  border: 1px solid color-mix(in srgb, var(--subtle) 88%, white);
  border-radius: 8px;
  background: var(--surface);
}

.roth-household-timing {
  display: grid;
  grid-template-columns: auto minmax(18rem, 1fr) minmax(34rem, 1.35fr);
  gap: 18px;
  align-items: center;
  padding: 20px 22px;
  border-color: color-mix(in srgb, #2d7ce8 35%, var(--subtle));
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    linear-gradient(120deg, color-mix(in srgb, #2d7ce8 8%, var(--surface)), var(--surface) 58%);
}

.roth-household-timing-icon .roth-card-icon {
  width: 46px;
  height: 46px;
}

.roth-household-timing h2 {
  margin: 3px 0 5px;
  color: var(--text);
  font-size: 1.15rem;
}

.roth-household-timing p {
  margin: 0;
  color: var(--muted);
  line-height: 1.48;
}

.roth-household-timing .roth-eyebrow {
  color: var(--theme-accent-strong);
}

.roth-household-timing dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, #2d7ce8 20%, var(--subtle));
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 92%, transparent);
}

.roth-household-timing dl > div {
  min-width: 0;
  padding: 12px 14px;
  border-right: 1px solid color-mix(in srgb, #2d7ce8 16%, var(--subtle));
}

.roth-household-timing dl > div:last-child {
  border-right: 0;
}

.roth-household-timing dt {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.roth-household-timing dd {
  margin: 5px 0 0;
  color: var(--theme-accent-strong);
  font-weight: 900;
}

@media (max-width: 1180px) {
  .roth-household-timing {
    grid-template-columns: auto 1fr;
  }

  .roth-household-timing dl {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .roth-household-timing {
    grid-template-columns: 1fr;
  }

  .roth-household-timing-icon {
    display: none;
  }

  .roth-household-timing dl {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  .roth-household-timing dl > div {
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, #2d7ce8 16%, var(--subtle));
  }

  .roth-household-timing dl > div:last-child {
    border-bottom: 0;
  }
}

/* Compact navigation header and overlay drawer for tablet and phone layouts. */
@media screen and (max-width: 1100px) {
  body.sidebar-mobile-open {
    overflow: hidden;
  }

  body .app-shell,
  body .app-shell.sidebar-collapsed,
  body .app-shell:not(.sidebar-collapsed) {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace {
    grid-column: 1;
    grid-row: auto;
  }

  .sidebar,
  .app-shell.sidebar-collapsed .sidebar {
    position: sticky;
    top: 0;
    z-index: 520;
    width: 100%;
    height: auto;
    padding: 10px 18px;
    overflow: visible;
    gap: 0;
    border-radius: 0 0 14px 14px;
  }

  .sidebar::before {
    top: 8px;
    bottom: 8px;
  }

  .sidebar-top,
  .app-shell.sidebar-collapsed .sidebar-top {
    align-items: center;
    justify-content: space-between;
  }

  .brand,
  .app-shell.sidebar-collapsed .brand {
    display: flex;
  }

  .brand-logo,
  .app-shell.sidebar-collapsed .brand-logo {
    width: min(168px, 55vw);
  }

  .sidebar-toggle {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
  }

  .sidebar-toggle span,
  .app-shell.sidebar-collapsed .sidebar-toggle span {
    position: relative;
    width: 19px;
    height: 2px;
    border: 0;
    background: currentColor;
    transform: none;
  }

  .sidebar-toggle span::before,
  .sidebar-toggle span::after {
    content: "";
    position: absolute;
    left: 0;
    width: 19px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: top 150ms ease, transform 150ms ease;
  }

  .sidebar-toggle span::before {
    top: -6px;
  }

  .sidebar-toggle span::after {
    top: 6px;
  }

  .app-shell:not(.sidebar-collapsed)::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 500;
    background: rgba(24, 35, 44, 0.42);
    backdrop-filter: blur(2px);
  }

  .app-shell:not(.sidebar-collapsed) .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(344px, calc(100vw - 44px));
    height: 100dvh;
    padding: 22px 18px;
    overflow-x: hidden;
    overflow-y: auto;
    gap: 20px;
    border-radius: 0 18px 18px 0;
    box-shadow: 16px 0 40px rgba(24, 35, 44, 0.22);
    overscroll-behavior: contain;
  }

  .app-shell:not(.sidebar-collapsed) .sidebar-toggle span {
    background: transparent;
  }

  .app-shell:not(.sidebar-collapsed) .sidebar-toggle span::before,
  .app-shell:not(.sidebar-collapsed) .sidebar-toggle span::after {
    top: 0;
  }

  .app-shell:not(.sidebar-collapsed) .sidebar-toggle span::before {
    transform: rotate(45deg);
  }

  .app-shell:not(.sidebar-collapsed) .sidebar-toggle span::after {
    transform: rotate(-45deg);
  }

  .app-shell.sidebar-collapsed .nav-list,
  .app-shell.sidebar-collapsed .sidebar-footer {
    display: none;
  }

  .app-shell:not(.sidebar-collapsed) .nav-list {
    display: grid;
  }

  .app-shell:not(.sidebar-collapsed) .sidebar-footer {
    display: grid;
  }

  .app-shell.sidebar-collapsed .sidebar-toggle::after,
  .app-shell.sidebar-collapsed .nav-item::after {
    display: none;
  }
}

.roth-table {
  width: 100%;
  min-width: 1040px;
  border-collapse: collapse;
}

.roth-table th,
.roth-table td {
  padding: 12px 10px;
  text-align: right;
  border-bottom: 1px solid var(--subtle);
  border-right: 1px solid color-mix(in srgb, var(--subtle) 62%, transparent);
  white-space: nowrap;
}

.roth-table th:last-child,
.roth-table td:last-child {
  border-right: 0;
}

.roth-table th:first-child,
.roth-table td:first-child {
  text-align: left;
}

.roth-table-work-status,
.roth-table-wage-detail,
.roth-table-wage-detail span {
  display: block;
}

.roth-table-work-status {
  margin-top: 4px;
  color: var(--theme-accent-strong);
  font-size: 0.72rem;
  font-weight: 900;
}

.roth-table-wage-detail {
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 700;
}

.roth-table-wage-detail span {
  margin-top: 1px;
  font-size: 0.62rem;
  font-weight: 600;
}

.roth-table tr.is-active td {
  color: var(--text);
  background: color-mix(in srgb, var(--theme-accent) 5%, transparent);
}

.roth-table tbody tr:last-child td {
  border-bottom: 0;
}

.roth-table-summary-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 16px 0 18px;
}

.roth-table-summary-cards article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 62px;
  padding: 11px 14px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  border-radius: 8px;
  background: color-mix(in srgb, var(--theme-accent) 5%, var(--surface));
}

.roth-table-summary-cards article.blue {
  border-color: color-mix(in srgb, #2d7ce8 22%, var(--subtle));
  background: color-mix(in srgb, #edf6ff 48%, var(--surface));
}

.roth-table-summary-cards article.positive {
  border-color: color-mix(in srgb, #16834f 20%, var(--subtle));
  background: color-mix(in srgb, #effaf4 54%, var(--surface));
}

.roth-table-summary-cards article.warning,
.roth-table-summary-cards article.warning-image {
  border-color: color-mix(in srgb, #d97706 24%, var(--subtle));
  background: color-mix(in srgb, #fff7ed 58%, var(--surface));
}

.roth-table-summary-cards article.negative {
  border-color: color-mix(in srgb, #c2413d 24%, var(--subtle));
  background: color-mix(in srgb, #fff1f1 58%, var(--surface));
}

.roth-table-summary-cards .roth-card-icon,
.roth-table-summary-cards .roth-warning-image-icon,
.roth-table-summary-cards .roth-risk-image-icon {
  width: 38px;
  height: 38px;
}

.roth-warning-image-icon {
  display: grid;
  place-items: center;
}

.roth-warning-image-icon img {
  display: block;
  width: 38px;
  height: 38px;
  object-fit: contain;
}

.roth-table-summary-cards strong,
.roth-table-summary-cards small {
  display: block;
}

.roth-table-summary-cards strong {
  color: var(--theme-accent-strong);
  font-size: 1rem;
  line-height: 1.15;
}

.roth-table-summary-cards article.positive strong {
  color: #16834f;
}

.roth-table-summary-cards article.warning strong,
.roth-table-summary-cards article.warning-image strong {
  color: #d97706;
}

.roth-table-summary-cards article.negative strong {
  color: #b3263b;
}

.roth-table-summary-cards small {
  margin-top: 3px;
  color: #334155;
  font-size: 0.78rem;
  line-height: 1.25;
}

@media (max-width: 980px) {
  .roth-hero,
  .roth-decision-panel,
  .roth-room-panel,
  .roth-education-panel,
  .roth-control-panel,
  .roth-summary-grid {
    grid-template-columns: 1fr;
  }

  .roth-room-math {
    grid-template-columns: 1fr;
  }

  .roth-decision-ledger {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .roth-decision-score {
    min-height: 0;
    padding: 16px 0 0;
    border-left: 0;
    border-top: 1px solid var(--subtle);
  }

  .roth-context-note {
    display: grid;
    gap: 7px;
  }

  .roth-hero-badge {
    min-height: 118px;
  }

  .roth-chart-panel,
  .roth-notes-panel {
    grid-column: span 12;
  }
}

@media (max-width: 640px) {
  .roth-chart-tooltip {
    display: none;
  }

  .roth-chart-bars {
    gap: 7px;
  }

  .roth-chart-frame {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 8px;
  }

  .roth-chart-year span {
    font-size: 0.66rem;
  }

  .roth-metric-card {
    min-height: 108px;
  }
}

.roth-conversion-view {
  gap: 18px;
  align-items: start;
}

.roth-answer-panel {
  container-type: inline-size;
  display: grid;
  grid-template-columns: minmax(260px, 0.58fr) minmax(0, 1.92fr);
  gap: 14px;
  align-items: stretch;
  min-height: 226px;
  padding: 16px 18px;
  border: 1px solid color-mix(in srgb, var(--subtle) 86%, white);
  border-radius: 8px;
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    var(--surface);
  box-shadow: 0 10px 26px rgba(30, 39, 53, 0.06);
}

@container (min-width: 1650px) {
  .roth-answer-copy h2 {
    max-width: 650px;
    font-size: clamp(1.75rem, 1.8cqw, 2.15rem);
  }

  .roth-answer-copy > p:not(.roth-eyebrow) {
    max-width: 620px;
    font-size: 1rem;
  }

  .roth-metric-card {
    min-height: 205px;
    padding: 18px 20px;
  }

  .roth-answer-panel .roth-metric-card > span:not(.roth-card-icon) {
    font-size: 0.98rem;
  }

  .roth-metric-card strong {
    font-size: clamp(1.78rem, 1.75cqw, 2.15rem);
  }

  .roth-answer-panel .roth-metric-card small {
    font-size: 0.96rem;
  }
}

@media (min-width: 1900px) {
  .roth-answer-panel {
    grid-template-columns: minmax(460px, 0.68fr) minmax(0, 1.82fr);
    gap: 20px;
    min-height: 242px;
    padding: 20px 22px;
  }
}

.roth-answer-copy {
  display: grid;
  align-content: center;
  gap: 9px;
  min-width: 0;
}

.roth-answer-copy h2,
.roth-section-head h2 {
  margin: 0;
  color: var(--theme-accent-strong);
  letter-spacing: 0;
}

.roth-answer-copy h2 {
  max-width: none;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 1.65vw, 1.82rem);
  font-weight: 800;
  line-height: 1.03;
  white-space: normal;
  text-wrap: balance;
}

.roth-answer-copy > p:not(.roth-eyebrow),
.roth-section-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.44;
}

.roth-answer-copy > p:not(.roth-eyebrow) {
  max-width: none;
  font-size: 0.9rem;
}

.roth-answer-panel .roth-eyebrow {
  display: none;
}

.roth-eyebrow {
  margin: 0;
  color: var(--theme-accent-strong);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.roth-strategy-pill {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 11px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, var(--subtle));
  border-radius: 8px;
  background: color-mix(in srgb, var(--theme-accent) 10%, var(--surface));
  color: var(--theme-accent-strong);
  font-size: 0.83rem;
  font-weight: 750;
}

.roth-status-callout {
  display: inline-grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  padding: 9px 14px;
  border: 1px solid color-mix(in srgb, #16834f 18%, var(--subtle));
  border-radius: 8px;
  background: color-mix(in srgb, #16834f 9%, var(--surface));
}

.roth-status-callout.warning {
  border-color: color-mix(in srgb, #d48b19 24%, var(--subtle));
  background: color-mix(in srgb, #fff4d6 68%, var(--surface));
}

.roth-status-callout.negative {
  border-color: color-mix(in srgb, #c43d4d 22%, var(--subtle));
  background: color-mix(in srgb, #ffe6e9 58%, var(--surface));
}

.roth-status-callout.negative .roth-card-icon {
  background: color-mix(in srgb, #d13f52 18%, var(--surface));
  color: #b3263b;
}

.roth-status-callout strong,
.roth-status-callout small {
  display: block;
}

.roth-status-callout .roth-card-icon {
  width: 36px;
  height: 36px;
}

.roth-status-callout .roth-card-icon svg {
  width: 19px;
  height: 19px;
}

.roth-status-callout strong {
  color: var(--text);
  font-size: 1rem;
}

.roth-status-callout.positive strong {
  color: #15834d;
}

.roth-status-callout.positive .roth-card-icon {
  position: relative;
  background: #159451;
  color: white;
}

.roth-status-callout.positive .roth-card-icon svg {
  display: none;
}

.roth-status-callout.positive .roth-card-icon::before {
  content: "";
  width: 14px;
  height: 8px;
  border-left: 3px solid white;
  border-bottom: 3px solid white;
  transform: rotate(-45deg) translate(1px, -1px);
  border-radius: 1px;
}

.roth-status-callout small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.25;
}

.roth-answer-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
}

.roth-card-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 2px solid color-mix(in srgb, var(--theme-accent) 24%, var(--surface));
  border-radius: 50%;
  background: color-mix(in srgb, var(--theme-accent) 12%, var(--surface));
  color: var(--theme-accent-strong);
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.7);
}

.roth-card-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.roth-card-icon.positive {
  border-color: color-mix(in srgb, #16834f 25%, var(--surface));
  background: color-mix(in srgb, #16834f 13%, var(--surface));
  color: #16834f;
}

.roth-card-icon.blue {
  border-color: color-mix(in srgb, #2d7ce8 26%, var(--surface));
  background: color-mix(in srgb, #2d7ce8 14%, var(--surface));
  color: #1265c7;
}

.roth-card-icon.warning {
  border-color: color-mix(in srgb, #f39a1f 28%, var(--surface));
  background: color-mix(in srgb, #f39a1f 16%, var(--surface));
  color: #c16f05;
}

.roth-card-icon.purple {
  border-color: color-mix(in srgb, #7c3aed 26%, var(--surface));
  background: color-mix(in srgb, #7c3aed 14%, var(--surface));
  color: #6d28d9;
}

.roth-card-icon.teal {
  border-color: color-mix(in srgb, #0f9f9a 26%, var(--surface));
  background: color-mix(in srgb, #0f9f9a 14%, var(--surface));
  color: #0f8f8a;
}

.roth-card-icon.negative {
  border-color: color-mix(in srgb, #d13f52 27%, var(--surface));
  background: color-mix(in srgb, #d13f52 14%, var(--surface));
  color: #b3263b;
}

.roth-card-icon.neutral {
  border-color: color-mix(in srgb, var(--theme-accent) 24%, var(--surface));
  background: color-mix(in srgb, var(--theme-accent) 12%, var(--surface));
  color: var(--theme-accent-strong);
}

.roth-risk-image-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
}

.roth-risk-image-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.roth-status-callout .roth-risk-image-icon {
  width: 42px;
  height: 42px;
}

.roth-decision-score-title .roth-risk-image-icon {
  width: 58px;
  height: 58px;
}

.roth-metric-card {
  position: relative;
  overflow: hidden;
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  min-height: 178px;
  padding: 15px 14px;
  border: 1px solid color-mix(in srgb, var(--subtle) 82%, white);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.62)),
    var(--surface);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    0 8px 20px rgba(30, 39, 53, 0.04);
}

.roth-answer-panel .roth-metric-card {
  padding-top: 18px;
}

.roth-answer-panel .roth-metric-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--theme-accent);
}

.roth-answer-panel .roth-metric-card.blue::before {
  background: #5a9dec;
}

.roth-answer-panel .roth-metric-card.warning::before {
  background: #e77909;
}

.roth-answer-panel .roth-metric-card.positive::before {
  background: #16834f;
}

.roth-answer-panel .roth-metric-card.negative::before {
  background: #e05261;
}

.roth-answer-panel .roth-metric-card small::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  margin: 4px 0 8px;
  background: color-mix(in srgb, var(--subtle) 75%, transparent);
}

.roth-metric-card span,
.roth-control-panel label span,
.roth-table th {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 900;
  text-transform: uppercase;
}

.roth-answer-panel .roth-metric-card > span:not(.roth-card-icon) {
  color: #344253;
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1.2;
  text-transform: none;
}

.roth-metric-card strong {
  color: var(--text);
  font-size: clamp(1.4rem, 1.6vw, 1.85rem);
  line-height: 1;
}

.roth-metric-card small,
.roth-control-panel label small,
.roth-warning-list p,
.roth-chart-legend,
.roth-table td {
  color: var(--muted);
  font-size: 0.88rem;
}

.roth-answer-panel .roth-metric-card small {
  color: #5f6f80;
  font-size: 0.84rem;
  line-height: 1.32;
}

.roth-metric-card strong.blue {
  color: #1265c7;
}

.roth-metric-card strong.positive,
.roth-room-math strong.positive,
.roth-table strong.positive {
  color: #16834f;
}

.roth-metric-card strong.warning,
.roth-room-math strong.warning,
.roth-table strong.warning {
  color: #d97706;
}

.roth-metric-card strong.negative,
.roth-room-math strong.negative,
.roth-table strong.negative {
  color: #b3263b;
}

.roth-top-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 14px;
  align-items: stretch;
  min-width: 0;
}

.roth-how-card,
.roth-control-panel,
.roth-room-panel,
.roth-chart-panel,
.roth-tradeoff-panel,
.roth-notes-panel,
.roth-glossary-panel,
.roth-table-panel {
  border: 1px solid color-mix(in srgb, var(--theme-accent) 13%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    var(--surface);
}

.roth-section-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 14px;
}

.roth-section-head h2 {
  font-size: 1.08rem;
}

.roth-section-head p {
  margin-top: 6px;
}

.roth-step-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}

.roth-step-list article {
  position: relative;
  display: grid;
  gap: 14px;
  min-width: 0;
  align-content: start;
  padding: 4px 22px 0;
}

.roth-step-list article:first-child {
  padding-left: 0;
}

.roth-step-list article + article::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  bottom: 4px;
  width: 1px;
  background: color-mix(in srgb, var(--subtle) 80%, transparent);
}

.roth-step-list article + article::after {
  content: "\203A";
  position: absolute;
  left: 0;
  top: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 1px solid color-mix(in srgb, var(--subtle) 86%, var(--surface));
  border-radius: 50%;
  background: var(--surface);
  box-shadow: 0 2px 8px rgba(38, 53, 78, 0.08);
  color: color-mix(in srgb, var(--muted) 88%, var(--text));
  font-family: Arial, sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  transform: translate(-50%, -50%);
}

.roth-how-card .roth-section-head h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 1.65vw, 1.9rem);
  font-weight: 800;
  color: var(--theme-accent-strong);
}

.roth-step-image-icon {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 68px;
  height: 62px;
}

.roth-step-image-icon img {
  display: block;
  width: 64px;
  height: 58px;
  object-fit: contain;
}

.roth-step-list .roth-card-icon {
  width: 62px;
  height: 62px;
  background: transparent;
}

.roth-step-list .roth-card-icon svg {
  width: 48px;
  height: 48px;
  stroke-width: 2.4;
}

.roth-step-list .roth-card-icon.neutral {
  color: #1265c7;
}

.roth-step-list .roth-card-icon.warning {
  color: #e77909;
}

.roth-step-list .roth-card-icon.positive {
  color: #16834f;
}

.roth-step-list strong,
.roth-tradeoff-list strong {
  color: var(--text);
  font-size: 1rem;
  line-height: 1.25;
}

.roth-step-list p,
.roth-tradeoff-list p,
.roth-tradeoff-conclusion {
  margin: 0;
  color: var(--muted);
  font-size: 0.96rem;
  line-height: 1.5;
}

.roth-control-panel {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  align-items: start;
}

.roth-strategy-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.roth-strategy-card {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  min-height: 72px;
  padding: 11px 12px;
  border: 1px solid color-mix(in srgb, var(--subtle) 88%, white);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 94%, white);
  box-shadow: 0 5px 14px rgba(30, 39, 53, 0.04);
  cursor: pointer;
}

.roth-strategy-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.roth-strategy-card .roth-card-icon {
  width: 30px;
  height: 30px;
  border: 0;
  background: #edf3fa;
  color: #6d7b87;
  box-shadow: none;
}

.roth-strategy-card .roth-card-icon svg {
  width: 17px;
  height: 17px;
}

.roth-strategy-card strong,
.roth-strategy-card small {
  display: block;
}

.roth-control-panel .roth-strategy-card > span {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  text-transform: none;
}

.roth-strategy-card strong {
  color: var(--text);
  font-size: 0.96rem;
  line-height: 1.18;
}

.roth-strategy-card small {
  margin-top: 4px;
  color: #216bc5;
  font-size: 0.86rem;
  font-weight: 750;
  line-height: 1.2;
}

.roth-strategy-card.is-selected {
  border-color: #5da0f2;
  background: linear-gradient(180deg, #f2f7ff, #edf5ff);
  box-shadow:
    0 0 0 1px color-mix(in srgb, #5da0f2 18%, transparent),
    0 8px 18px rgba(38, 105, 190, 0.08);
}

.roth-strategy-card.is-selected::after {
  content: "";
  position: absolute;
  top: 7px;
  right: 7px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 94%, white),
      var(--theme-accent-strong));
  box-shadow: 0 4px 10px color-mix(in srgb, var(--theme-accent) 28%, transparent);
}

.roth-strategy-card.is-selected::before {
  content: "";
  position: absolute;
  top: 11px;
  right: 11px;
  z-index: 1;
  width: 7px;
  height: 4px;
  border-left: 2px solid white;
  border-bottom: 2px solid white;
  transform: rotate(-45deg);
  border-radius: 1px;
}

.roth-strategy-card.is-selected strong {
  color: #1f63b4;
}

.roth-strategy-card.is-selected .roth-card-icon {
  background: transparent;
  color: #216bc5;
}

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

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

.roth-field-grid label small {
  min-height: 2.7em;
  line-height: 1.35;
}

.roth-control-panel input,
.roth-control-panel select {
  width: 100%;
  min-height: 42px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  border-radius: 8px;
  background: var(--surface);
  color: var(--text);
  font: inherit;
  font-weight: 750;
  padding: 0 12px;
}

.roth-control-notes {
  display: grid;
  gap: 8px;
}

.roth-control-note {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  margin: -2px 0 0;
  color: #526579;
  font-size: 0.88rem;
  line-height: 1.35;
}

.roth-control-note span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #d9ebff;
  color: #2e78cf;
  font-weight: 900;
  font-style: normal;
}

.roth-comparison-toggle,
.roth-apply-strategy-button {
  min-height: 38px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 28%, var(--subtle));
  border-radius: 8px;
  background: color-mix(in srgb, var(--theme-accent) 8%, var(--surface));
  color: var(--theme-accent-strong);
  font: inherit;
  font-size: 0.9rem;
  font-weight: 850;
  cursor: pointer;
}

.roth-comparison-toggle {
  justify-self: start;
  padding: 0 14px;
  border-color: color-mix(in srgb, var(--theme-accent-strong) 82%, rgba(38, 53, 78, 0.13));
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 94%, white),
      var(--theme-accent-strong));
  color: white;
  box-shadow: 0 12px 22px color-mix(in srgb, var(--theme-accent) 26%, transparent);
}

.roth-comparison-toggle:hover {
  border-color: color-mix(in srgb, var(--theme-accent-strong) 92%, rgba(38, 53, 78, 0.13));
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 100%, white),
      color-mix(in srgb, var(--theme-accent-strong) 92%, black));
  box-shadow: 0 14px 26px color-mix(in srgb, var(--theme-accent) 32%, transparent);
}

.roth-comparison-toggle:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--theme-accent) 36%, transparent);
  outline-offset: 2px;
}

.roth-comparison-toggle.is-secondary {
  border-color: color-mix(in srgb, var(--theme-accent-strong) 46%, var(--subtle));
  background: color-mix(in srgb, var(--surface) 88%, white);
  color: var(--theme-accent-strong);
  box-shadow: none;
}

.roth-comparison-toggle.is-secondary:hover {
  border-color: var(--theme-accent-strong);
  background: color-mix(in srgb, var(--theme-accent) 8%, var(--surface));
  box-shadow: 0 10px 18px color-mix(in srgb, var(--theme-accent) 14%, transparent);
}

.roth-apply-strategy-button:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--theme-accent) 52%, var(--subtle));
  background: color-mix(in srgb, var(--theme-accent) 13%, var(--surface));
}

.roth-comparison-panel {
  display: grid;
  gap: 14px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 14%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    var(--surface);
}

.roth-comparison-panel .roth-section-head {
  align-items: start;
}

.roth-comparison-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--subtle);
  border-radius: 8px;
}

.roth-comparison-table {
  width: 100%;
  min-width: 1080px;
  border-collapse: collapse;
  table-layout: fixed;
  background: color-mix(in srgb, var(--surface) 95%, white);
}

.roth-comparison-table th,
.roth-comparison-table td {
  padding: 9px 8px;
  border-bottom: 1px solid color-mix(in srgb, var(--subtle) 82%, transparent);
  color: var(--text);
  font-size: 0.8rem;
  text-align: right;
  vertical-align: top;
  white-space: nowrap;
}

.roth-comparison-table th {
  color: var(--muted);
  font-size: 0.69rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.15;
  text-transform: uppercase;
  background: color-mix(in srgb, var(--canvas) 70%, var(--surface));
}

.roth-comparison-table th:first-child,
.roth-comparison-table td:first-child {
  width: 255px;
  text-align: left;
  white-space: normal;
}

.roth-comparison-table th:nth-child(9),
.roth-comparison-table td:nth-child(9) {
  width: 138px;
  text-align: center;
}

.roth-comparison-table th:last-child,
.roth-comparison-table td:last-child {
  width: 68px;
  text-align: center;
}

.roth-comparison-table td strong {
  color: var(--text);
  font-weight: 900;
}

.roth-comparison-table td small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.28;
}

.roth-comparison-strategy-title {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.roth-recommended-badge,
.roth-recommendation-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 3px 10px;
  border-radius: 7px;
  font-size: 0.76rem;
  font-weight: 850;
  line-height: 1.1;
  white-space: normal;
}

.roth-recommended-badge,
.roth-recommendation-badge.positive {
  border: 1px solid color-mix(in srgb, #16834f 20%, var(--subtle));
  background: color-mix(in srgb, #e9f8ef 76%, var(--surface));
  color: #137545;
}

.roth-recommendation-badge.warning {
  border: 1px solid color-mix(in srgb, #d97706 22%, var(--subtle));
  background: color-mix(in srgb, #fff5df 74%, var(--surface));
  color: #b36300;
}

.roth-recommendation-badge.negative {
  border: 1px solid color-mix(in srgb, #b3263b 20%, var(--subtle));
  background: color-mix(in srgb, #fff1f2 74%, var(--surface));
  color: #a51e31;
}

.roth-recommendation-badge.neutral {
  border: 1px solid color-mix(in srgb, var(--muted) 18%, var(--subtle));
  background: color-mix(in srgb, var(--canvas) 70%, var(--surface));
  color: #526579;
}

.roth-comparison-table tr.is-current td {
  background: color-mix(in srgb, #eaf3ff 52%, transparent);
}

.roth-comparison-table tr.is-best td:first-child {
  box-shadow: inset 4px 0 0 #16834f;
}

.roth-comparison-table .positive {
  color: #16834f;
}

.roth-comparison-table .warning {
  color: #d97706;
}

.roth-comparison-table .negative {
  color: #b3263b;
}

.roth-apply-strategy-button {
  min-height: 32px;
  padding: 0 10px;
  font-size: 0.78rem;
  border-color: color-mix(in srgb, var(--theme-accent-strong) 46%, var(--subtle));
  background: color-mix(in srgb, var(--surface) 90%, white);
  color: var(--theme-accent-strong);
}

.roth-apply-strategy-button.is-best:not(:disabled) {
  border-color: color-mix(in srgb, var(--theme-accent-strong) 82%, rgba(38, 53, 78, 0.13));
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 94%, white),
      var(--theme-accent-strong));
  color: white;
  box-shadow: 0 10px 18px color-mix(in srgb, var(--theme-accent) 22%, transparent);
}

.roth-apply-strategy-button:disabled {
  cursor: default;
  opacity: 0.62;
}

.roth-comparison-note {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.roth-room-panel {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(260px, 0.48fr) minmax(620px, 1.52fr);
  gap: 26px;
  align-items: start;
  min-width: 0;
}

.roth-room-warning-row {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(340px, 0.85fr);
  gap: 14px;
  align-items: start;
  min-width: 0;
}

.roth-room-warning-row .roth-room-panel {
  grid-column: auto;
  height: auto;
}

.roth-room-warning-row .roth-notes-panel {
  height: auto;
}

.roth-room-math {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 10px;
  min-width: 0;
}

.roth-room-math > span {
  position: relative;
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 88px;
  padding: 13px 62px 13px 14px;
  border: 1px solid var(--subtle);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 88%, white);
  min-width: 0;
}

.roth-room-math > span > em {
  color: var(--muted);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 900;
  line-height: 1.25;
  text-transform: uppercase;
}

.roth-room-math > span > strong {
  color: var(--text);
  font-size: 1.16rem;
  line-height: 1.06;
  white-space: normal;
}

.roth-room-math .roth-card-icon {
  position: absolute;
  right: 13px;
  bottom: 13px;
  width: 40px;
  height: 40px;
  min-height: 0;
  padding: 0;
}

.roth-room-math .roth-card-icon svg {
  width: 21px;
  height: 21px;
}

.roth-room-title-icon {
  position: relative;
  display: block;
  align-self: start;
  margin: 0;
  padding-bottom: 18px;
}

.roth-room-title-icon .roth-card-icon {
  width: 58px;
  height: 58px;
}

.roth-room-title-icon .roth-card-icon svg {
  width: 30px;
  height: 30px;
}

.roth-room-title-icon::after {
  content: "";
  position: absolute;
  left: 4px;
  bottom: 0;
  width: 48px;
  height: 3px;
  border-radius: 999px;
  background: var(--theme-accent-strong);
}

.roth-room-help {
  align-self: end;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 12px;
  grid-column: 1 / -1;
  margin: 22px 0 0;
  max-width: none;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, #6aa7ef 26%, var(--subtle));
  border-radius: 8px;
  background: color-mix(in srgb, #edf6ff 44%, var(--surface));
  color: #1e477a;
  font-size: 0.88rem;
  line-height: 1.4;
}

.roth-room-help span {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 2px solid rgba(18, 101, 199, 0.22);
  border-radius: 50%;
  background: #d9ecff;
  color: #1265c7;
  font-weight: 900;
}

.roth-section-title-icon {
  float: left;
  margin: 0 14px 8px 0;
}

.roth-section-title-icon .roth-card-icon {
  width: 48px;
  height: 48px;
}

.roth-section-title-icon.purple .roth-card-icon {
  background: color-mix(in srgb, #7c3aed 13%, var(--surface));
  color: #5b21b6;
}

.roth-chart-row {
  display: grid;
  grid-template-columns: minmax(0, 1.82fr) minmax(320px, 0.85fr);
  gap: 14px;
  align-items: stretch;
}

.roth-irmaa-risk-panel {
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
  border: 1px solid color-mix(in srgb, #6aa7ef 20%, var(--subtle));
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    var(--surface);
}

.roth-irmaa-risk-panel .roth-section-head {
  margin-bottom: 18px;
}

.roth-irmaa-risk-panel .roth-section-head > div {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  column-gap: 14px;
  align-items: center;
  width: 100%;
}

.roth-irmaa-risk-panel .roth-section-title-icon {
  float: none;
  grid-row: 1 / 3;
  margin: 0;
}

.roth-irmaa-risk-panel .roth-section-head h2 {
  color: var(--theme-accent-strong);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.25rem, 1.45vw, 1.7rem);
  font-weight: 800;
  line-height: 1.12;
}

.roth-irmaa-risk-panel .roth-section-head p {
  max-width: none;
  color: var(--muted);
}

@media (min-width: 1101px) {
  .roth-irmaa-risk-panel .roth-section-head p {
    white-space: nowrap;
  }
}

.roth-irmaa-risk-grid {
  contain: paint;
  display: grid;
  grid-template-columns: minmax(360px, 0.82fr) minmax(0, 1.18fr);
  gap: 16px;
  align-items: stretch;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
}

.roth-irmaa-risk-grid > * {
  min-width: 0;
}

.roth-irmaa-risk-copy {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 22px 22px 16px;
  border: 1px solid color-mix(in srgb, #16834f 18%, var(--subtle));
  border-radius: 8px;
  background:
    radial-gradient(circle at 9% 20%, color-mix(in srgb, #16834f 11%, transparent), transparent 12rem),
    color-mix(in srgb, #effaf4 58%, var(--surface));
}

.roth-irmaa-risk-copy.warning {
  border-color: color-mix(in srgb, #d97706 22%, var(--subtle));
  background:
    radial-gradient(circle at 9% 20%, color-mix(in srgb, #d97706 11%, transparent), transparent 12rem),
    color-mix(in srgb, #fff7ed 58%, var(--surface));
}

.roth-irmaa-risk-copy > .roth-card-icon {
  width: 70px;
  height: 70px;
}

.roth-irmaa-risk-copy > .roth-card-icon svg {
  width: 34px;
  height: 34px;
  stroke-width: 2.3;
}

.roth-irmaa-risk-copy > .roth-risk-image-icon {
  width: 74px;
  height: 74px;
}

.roth-irmaa-risk-copy strong {
  color: #16834f;
  font-size: 1.08rem;
  line-height: 1.3;
}

.roth-irmaa-risk-copy.warning strong {
  color: #9a4d00;
}

.roth-irmaa-risk-copy p {
  margin: 9px 0 0;
  color: #27384f;
  line-height: 1.45;
}

.roth-irmaa-risk-copy small {
  grid-column: 1 / -1;
  display: block;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid color-mix(in srgb, var(--subtle) 82%, transparent);
  color: #5f6f80;
  font-size: 0.82rem;
  line-height: 1.45;
}

.roth-irmaa-risk-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid var(--subtle);
  border-radius: 8px;
  background: var(--surface);
}

.roth-irmaa-risk-table th,
.roth-irmaa-risk-table td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--subtle);
  text-align: left;
  vertical-align: top;
}

.roth-irmaa-risk-table th {
  color: var(--theme-accent-strong);
  font-size: 0.76rem;
  font-weight: 950;
  text-transform: uppercase;
  background: color-mix(in srgb, #7c3aed 6%, var(--surface));
}

.roth-irmaa-risk-table td {
  color: var(--text);
  font-size: 0.92rem;
  font-weight: 750;
}

.roth-irmaa-risk-table th.is-selected,
.roth-irmaa-risk-table td.is-selected {
  border-left: 1px solid color-mix(in srgb, #7c3aed 14%, var(--subtle));
  border-right: 1px solid color-mix(in srgb, #7c3aed 14%, var(--subtle));
  background: color-mix(in srgb, #7c3aed 4%, var(--surface));
}

.roth-irmaa-risk-table th.is-selected {
  border-top: 1px solid color-mix(in srgb, #7c3aed 26%, var(--subtle));
  color: #5b21b6;
}

.roth-irmaa-risk-table th small {
  display: inline-block;
  width: auto;
  margin: 0 0 0 8px;
  padding: 2px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, #7c3aed 8%, white);
  color: #5b21b6;
  font-size: 0.64rem;
  text-transform: none;
  vertical-align: middle;
}

.roth-irmaa-risk-table td:first-child {
  color: var(--muted);
  font-weight: 850;
}

.roth-irmaa-risk-table tr:last-child td {
  border-bottom: 0;
}

.roth-irmaa-metric-label,
.roth-irmaa-compare-value {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.roth-irmaa-metric-label .roth-card-icon,
.roth-irmaa-compare-value .roth-card-icon {
  width: 22px;
  height: 22px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.roth-irmaa-metric-label .roth-card-icon svg,
.roth-irmaa-compare-value .roth-card-icon svg {
  width: 17px;
  height: 17px;
}

.roth-irmaa-compare-value.positive strong {
  color: #16834f;
}

.roth-irmaa-compare-value.negative strong {
  color: #d61f28;
}

.roth-irmaa-compare-value.neutral strong {
  color: var(--text);
}

.roth-side-stack {
  display: grid;
  gap: 14px;
  height: 100%;
}

.roth-chart-row .roth-chart-panel,
.roth-chart-row .roth-tradeoff-panel {
  height: 100%;
}

.roth-chart-summary-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 10px 0 18px;
}

.roth-chart-summary-cards article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 64px;
  padding: 12px 14px;
  border: 1px solid var(--subtle);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 92%, white);
}

.roth-chart-summary-cards .roth-card-icon {
  width: 36px;
  height: 36px;
  background: color-mix(in srgb, #2d7ce8 10%, var(--surface));
}

.roth-chart-summary-cards .roth-card-icon svg {
  width: 19px;
  height: 19px;
}

.roth-chart-summary-cards strong,
.roth-chart-summary-cards small {
  display: block;
}

.roth-chart-summary-cards strong {
  color: var(--text);
  font-size: 0.86rem;
  line-height: 1.2;
}

.roth-chart-summary-cards small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.82rem;
}

.roth-chart-frame {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 12px;
}

.roth-chart-axis {
  height: 280px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 12px 0 30px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-align: right;
}

.roth-chart-bars {
  height: 280px;
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
  padding: 12px 4px 0;
  border-bottom: 0;
  background:
    linear-gradient(to bottom, transparent 0, transparent calc(50% - 1px), color-mix(in srgb, var(--subtle) 72%, transparent) calc(50% - 1px), color-mix(in srgb, var(--subtle) 72%, transparent) 50%, transparent 50%),
    linear-gradient(to bottom, color-mix(in srgb, var(--subtle) 68%, transparent) 0 1px, transparent 1px);
  overflow: visible;
}

.roth-chart-target {
  position: absolute;
  left: 4px;
  right: 4px;
  z-index: 2;
  border-top: 2px dashed color-mix(in srgb, #6aa7ef 82%, transparent);
  pointer-events: none;
}

.roth-chart-target span {
  display: none;
}

.roth-chart-year {
  min-width: 0;
  display: grid;
  gap: 8px;
  align-items: end;
  justify-items: center;
}

.roth-chart-stack {
  width: 100%;
  height: 238px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 3px;
}

.roth-chart-stack b,
.roth-chart-stack i {
  display: block;
  min-height: 2px;
  border-radius: 6px 6px 2px 2px;
}

.roth-chart-conversion {
  background: linear-gradient(180deg, #3f8bdd, #1458aa);
}

.roth-chart-tax {
  background: #dda23c;
}

.roth-chart-year.negative .roth-chart-conversion {
  background: linear-gradient(180deg, #3f8bdd, #1458aa);
}

.roth-chart-year span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
}

.roth-chart-legend {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.roth-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 800;
}

.roth-chart-legend i {
  width: 12px;
  height: 12px;
  border-radius: 50%;
}

.roth-chart-note {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  margin: 16px 0 0;
  padding: 10px 13px;
  border: 1px solid color-mix(in srgb, #6aa7ef 18%, var(--subtle));
  border-radius: 8px;
  background: color-mix(in srgb, #f7fbff 72%, var(--surface));
  color: #2f4771;
  font-size: 0.82rem;
  line-height: 1.35;
}

.roth-chart-note span {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, #2d7ce8 42%, transparent);
  color: #1265c7;
  font-weight: 900;
}

.roth-legend-conversion {
  background: #1458aa;
}

.roth-legend-tax {
  background: #dda23c;
}

.roth-legend-target {
  position: relative;
  width: 28px !important;
  height: 12px !important;
  border-radius: 0 !important;
  background: transparent;
}

.roth-legend-target::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 5px;
  border-top: 2px dashed #6aa7ef;
}

.roth-tradeoff-panel {
  display: grid;
  gap: 18px;
  align-content: start;
}

.roth-tradeoff-panel .roth-section-head {
  margin-bottom: 0;
  padding-bottom: 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--subtle) 85%, transparent);
}

.roth-tradeoff-panel .roth-section-head h2,
.roth-chart-panel .roth-section-head h2,
.roth-room-panel .roth-section-head h2,
.roth-notes-panel .roth-section-head h2,
.roth-table-panel .roth-section-head h2 {
  color: var(--theme-accent-strong);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.25rem, 1.45vw, 1.7rem);
  font-weight: 800;
}

.roth-room-panel .roth-section-head h2 {
  font-size: clamp(1.22rem, 1.35vw, 1.55rem);
  line-height: 1.12;
}

.roth-tradeoff-list {
  display: grid;
  gap: 20px;
}

.roth-tradeoff-list article {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.roth-tradeoff-list article:nth-child(1) strong {
  color: #16834f;
}

.roth-tradeoff-list article:nth-child(2) strong {
  color: #d97706;
}

.roth-tradeoff-list article:nth-child(3) strong {
  color: #6d28d9;
}

.roth-tradeoff-list .roth-card-icon {
  width: 54px;
  height: 54px;
}

.roth-tradeoff-list .roth-card-icon svg {
  width: 27px;
  height: 27px;
}

.roth-tradeoff-list p {
  margin: 4px 0 0;
  color: var(--muted);
  line-height: 1.4;
}

.roth-tradeoff-conclusion {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  margin: 2px 0 0;
  padding: 14px;
  border: 1px solid color-mix(in srgb, #16834f 22%, var(--subtle));
  border-radius: 8px;
  background: color-mix(in srgb, #effaf4 52%, var(--surface));
  color: #137545;
  font-weight: 500;
  line-height: 1.45;
}

.roth-tradeoff-conclusion .roth-card-icon {
  width: 32px;
  height: 32px;
  background: #16834f;
  color: white;
}

.roth-tradeoff-conclusion.positive .roth-card-icon.positive {
  position: relative;
  background: #16834f;
  color: white;
}

.roth-tradeoff-conclusion.positive .roth-card-icon.positive svg {
  display: none;
}

.roth-tradeoff-conclusion.positive .roth-card-icon.positive::before {
  content: "";
  width: 14px;
  height: 8px;
  border-left: 3px solid white;
  border-bottom: 3px solid white;
  border-radius: 1px;
  transform: rotate(-45deg) translate(1px, -1px);
}

.roth-tradeoff-conclusion .roth-risk-image-icon {
  width: 38px;
  height: 38px;
}

.roth-tradeoff-conclusion.warning {
  border-color: color-mix(in srgb, #d97706 24%, var(--subtle));
  background: color-mix(in srgb, #fff7ed 58%, var(--surface));
  color: #9a4d00;
}

.roth-tradeoff-conclusion.negative {
  border-color: color-mix(in srgb, #c2413d 24%, var(--subtle));
  background: color-mix(in srgb, #fff1f1 58%, var(--surface));
  color: #a82235;
}

.roth-tradeoff-conclusion.neutral {
  border-color: color-mix(in srgb, var(--muted) 24%, var(--subtle));
  background: color-mix(in srgb, #f5f7fb 58%, var(--surface));
  color: var(--text);
}

.roth-tradeoff-conclusion.warning .roth-card-icon {
  background: #d97706;
}

.roth-tradeoff-conclusion.negative .roth-card-icon {
  background: #c2413d;
}

.roth-tradeoff-conclusion.neutral .roth-card-icon {
  background: var(--muted);
}

.roth-tradeoff-conclusion .roth-card-icon svg {
  width: 18px;
  height: 18px;
}

.roth-warning-list {
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr;
  min-width: 0;
}

.roth-warning-list p {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin: 0;
  padding: 13px 15px;
  border: 1px solid color-mix(in srgb, #d5a241 22%, var(--subtle));
  border-radius: 8px;
  background: color-mix(in srgb, #fff8e8 62%, var(--surface));
  color: var(--muted);
  line-height: 1.45;
}

.roth-warning-list .roth-card-icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff1c4;
  color: #b97505;
}

.roth-warning-list .roth-card-icon svg {
  width: 19px;
  height: 19px;
}

.roth-warning-list p > span:last-child {
  display: block;
  width: auto;
  height: auto;
  min-width: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-weight: inherit;
  overflow-wrap: anywhere;
  place-items: initial;
}

.roth-warning-footer {
  border-color: color-mix(in srgb, var(--subtle) 82%, transparent) !important;
  background: color-mix(in srgb, var(--canvas) 58%, var(--surface)) !important;
  color: var(--muted);
}

.roth-warning-footer .roth-card-icon {
  border-color: rgba(107, 114, 128, 0.24);
  background: color-mix(in srgb, var(--muted) 13%, var(--surface));
  color: var(--muted);
}

.roth-notes-title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 2px solid rgba(197, 128, 13, 0.24);
  border-radius: 50%;
  background: rgba(255, 244, 218, 0.74);
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.72);
  margin-right: 10px;
  vertical-align: middle;
}

.roth-notes-title-icon img {
  display: block;
  width: 34px;
  height: 34px;
  object-fit: contain;
}

.roth-table th,
.roth-table td {
  padding: 9px 10px;
}

.roth-table-groups th {
  background: color-mix(in srgb, #7c3aed 7%, var(--surface));
  color: var(--theme-accent-strong);
  text-align: center;
}

.roth-table-groups th:nth-child(2),
.roth-table-groups th:nth-child(4) {
  background: color-mix(in srgb, #7c3aed 8%, var(--surface));
}

.roth-table-groups th:nth-child(3) {
  background: color-mix(in srgb, #2d7ce8 8%, var(--surface));
  color: #1265c7;
}

.roth-table-groups th:nth-child(5) {
  background: color-mix(in srgb, #d97706 11%, var(--surface));
  color: #7a4a06;
}

.roth-table tr.is-first-conversion td:first-child,
.roth-table tr.is-final-conversion td:first-child,
.roth-table tr.is-first-rmd td:first-child {
  color: var(--theme-accent-strong);
  font-weight: 900;
}

.roth-table tr.is-irmaa-breach td {
  background: color-mix(in srgb, #fff4d6 52%, transparent);
}

.roth-guidance-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(22rem, 0.58fr);
  gap: 18px;
  align-items: start;
  margin-bottom: 18px;
}

.roth-guidance-title,
.roth-guidance-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.roth-guidance-title .roth-card-icon {
  width: 58px;
  height: 58px;
}

.roth-guidance-title .roth-card-icon svg {
  width: 27px;
  height: 27px;
}

.roth-guidance-title h2 {
  margin: 2px 0 5px;
  color: var(--theme-accent-strong);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.25rem, 1.45vw, 1.7rem);
  font-weight: 800;
  line-height: 1.12;
}

.roth-guidance-title p,
.roth-guidance-note p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.roth-guidance-note {
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, #7c3aed 18%, var(--subtle));
  border-radius: 8px;
  background: color-mix(in srgb, #f4efff 34%, var(--surface));
}

.roth-guidance-note .roth-card-icon {
  width: 46px;
  height: 46px;
}

.roth-guidance-note strong {
  display: block;
  margin-bottom: 4px;
  color: #5b21b6;
  font-size: 0.92rem;
}

.roth-fit-guide {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}

.roth-fit-guide article {
  padding: 18px 18px 17px;
  border: 1px solid color-mix(in srgb, #16834f 28%, var(--subtle));
  border-radius: 8px;
  background: color-mix(in srgb, #eefbf5 46%, var(--surface));
}

.roth-fit-guide article.warning {
  border-color: color-mix(in srgb, #d88706 30%, var(--subtle));
  background: color-mix(in srgb, #fff8e9 48%, var(--surface));
}

.roth-fit-guide-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  margin-bottom: 10px;
}

.roth-fit-guide-head .roth-card-icon {
  width: 42px;
  height: 42px;
}

.roth-fit-guide-head .roth-card-icon svg {
  width: 20px;
  height: 20px;
}

.roth-fit-guide h3 {
  margin: 0;
  color: #087a41;
  font-size: 1.04rem;
  line-height: 1.2;
}

.roth-fit-guide article.warning h3 {
  color: #a45f04;
}

.roth-fit-guide ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0 0 0 3.45rem;
  color: #263744;
  font-size: 0.9rem;
  line-height: 1.42;
  list-style: none;
}

.roth-fit-guide li {
  position: relative;
}

.roth-fit-guide li::before {
  content: "✓";
  position: absolute;
  left: -1.1rem;
  top: 0;
  color: #16834f;
  font-weight: 900;
}

.roth-fit-guide article.warning li::before {
  content: "•";
  color: #d88706;
}

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

.roth-glossary-grid article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 13px;
  min-height: 176px;
  padding: 17px 16px;
  border: 1px solid color-mix(in srgb, var(--subtle) 88%, white);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.74)),
    color-mix(in srgb, var(--surface) 94%, white);
}

.roth-glossary-grid .roth-card-icon {
  width: 45px;
  height: 45px;
}

.roth-glossary-grid .roth-card-icon svg {
  width: 21px;
  height: 21px;
}

.roth-glossary-grid h3 {
  margin: 0 0 10px;
  color: #11294a;
  font-size: 1.02rem;
  line-height: 1.18;
}

.roth-glossary-grid p,
.roth-glossary-grid small {
  display: block;
  margin: 0;
  color: var(--muted);
  line-height: 1.42;
}

.roth-glossary-grid p {
  font-size: 0.88rem;
}

.roth-glossary-grid small {
  margin-top: 11px;
  padding-top: 10px;
  border-top: 1px solid color-mix(in srgb, var(--subtle) 72%, transparent);
  font-size: 0.8rem;
}

.roth-guidance-disclaimer {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin: 14px 0 0;
  padding: 10px 13px;
  border: 1px solid color-mix(in srgb, #2d7ce8 24%, var(--subtle));
  border-radius: 8px;
  background: color-mix(in srgb, #edf6ff 42%, var(--surface));
  color: #324a62;
  font-size: 0.86rem;
  line-height: 1.4;
}

.roth-guidance-disclaimer .roth-card-icon {
  width: 26px;
  height: 26px;
}

.roth-guidance-disclaimer .roth-card-icon svg {
  width: 16px;
  height: 16px;
}

.roth-guidance-disclaimer strong {
  color: #18314f;
}

.roth-table-toggle {
  width: 100%;
  margin-top: 10px;
  min-height: 34px;
  border: 0;
  border-top: 1px solid var(--subtle);
  background: transparent;
  color: var(--theme-accent-strong);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 850;
  cursor: pointer;
}

@media (max-width: 1180px) {
  .roth-answer-panel,
  .roth-top-grid,
  .roth-room-panel,
  .roth-room-warning-row,
  .roth-irmaa-risk-grid,
  .roth-guidance-hero,
  .roth-chart-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .roth-room-panel > *,
  .roth-room-math,
  .roth-notes-panel,
  .roth-table-panel,
  .roth-table-wrap,
  .roth-irmaa-risk-panel {
    min-width: 0;
    max-width: 100%;
  }

  .roth-answer-metrics,
  .roth-strategy-grid,
  .roth-decision-ledger,
  .roth-fit-guide,
  .roth-glossary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .roth-step-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 0;
  }

  .roth-step-list article:nth-child(3)::before {
    display: none;
  }
}

@media (max-width: 1700px) {
  .roth-room-warning-row {
    grid-template-columns: 1fr;
  }

  .roth-room-warning-row .roth-room-panel,
  .roth-room-warning-row .roth-notes-panel {
    height: auto;
  }
}

@media (max-width: 760px) {
  .roth-conversion-view {
    overflow-x: hidden;
  }

  .roth-answer-metrics,
  .roth-strategy-grid,
  .roth-field-grid,
  .roth-step-list,
  .roth-decision-ledger,
  .roth-room-math,
  .roth-fit-guide,
  .roth-guidance-title,
  .roth-guidance-note,
  .roth-glossary-grid {
    grid-template-columns: 1fr;
  }

  .roth-fit-guide ul {
    padding-left: 1.35rem;
  }

  .roth-step-list article {
    padding-left: 0;
    padding-right: 0;
  }

  .roth-step-list article + article::before {
    display: none;
  }

  .roth-decision-panel,
  .roth-room-panel,
  .roth-irmaa-risk-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .roth-decision-copy,
  .roth-room-panel > *,
  .roth-room-math,
  .roth-room-math > span {
    min-width: 0;
    width: 100%;
  }

  .roth-decision-title-row,
  .roth-decision-score-title,
  .roth-room-panel .roth-section-head > div {
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
  }

  .roth-decision-axis {
    grid-template-columns: minmax(0, 1fr);
    justify-items: start;
    gap: 8px;
  }

  .roth-decision-axis span:first-child {
    text-align: left;
  }

  .roth-decision-axis i,
  .roth-decision-axis .roth-card-icon {
    display: none;
  }

  .roth-irmaa-risk-panel {
    overflow-x: hidden;
  }

  .roth-table-panel,
  .roth-table-wrap,
  .roth-irmaa-risk-panel {
    overflow: hidden;
  }

  .roth-irmaa-risk-grid {
    display: block;
    overflow-x: auto;
  }

  .roth-irmaa-risk-table {
    display: table;
    table-layout: fixed;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }

  .roth-irmaa-risk-table thead,
  .roth-irmaa-risk-table tbody {
    width: auto;
    min-width: 0;
  }

  .roth-irmaa-risk-table thead {
    display: table-header-group;
  }

  .roth-irmaa-risk-table tbody {
    display: table-row-group;
  }

  .roth-irmaa-risk-table th,
  .roth-irmaa-risk-table td {
    padding: 10px 8px;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .roth-irmaa-compare-value {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 5px;
  }
}

.health-taxes-view {
  align-items: start;
}

.health-tax-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 24px;
  border-top: 4px solid color-mix(in srgb, var(--workspace-theme-accent) 64%, var(--workspace-theme-accent-strong));
  background:
    radial-gradient(circle at 90% 0%, color-mix(in srgb, var(--workspace-theme-soft) 46%, transparent), transparent 24rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 253, 248, 0.88));
}

.health-tax-hero > div {
  min-width: 0;
}

.health-tax-hero-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 12px;
  border: 1px solid color-mix(in srgb, var(--workspace-theme-accent) 24%, var(--subtle));
  border-radius: 999px;
  color: var(--workspace-theme-accent-strong);
  background: rgba(255, 255, 255, 0.72);
}

.health-tax-hero-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.health-tax-eyebrow {
  margin: 0 0 6px;
  color: var(--workspace-theme-accent-strong);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.health-tax-hero h2 {
  margin: 0;
  color: var(--workspace-theme-accent-strong);
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 54px);
  line-height: 1;
}

.health-tax-hero p:last-child {
  max-width: 820px;
  margin: 10px 0 0;
  color: #44546a;
  font-size: 15px;
  line-height: 1.5;
}

.health-tax-summary-grid,
.health-tax-quarter-grid,
.health-tax-income-grid,
.health-tax-tax-estimate-grid {
  display: grid;
  gap: 14px;
}

.health-tax-summary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.health-tax-quarter-grid {
  align-items: start;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 16px;
}

.health-tax-income-grid,
.health-tax-tax-estimate-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 16px;
}

.health-tax-summary-card,
.health-tax-quarter-grid article,
.health-tax-income-grid article,
.health-tax-tax-estimate-grid article {
  min-width: 0;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--workspace-theme-accent) 14%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(150deg, rgba(255, 255, 255, 0.98), rgba(255, 253, 249, 0.76)),
    var(--surface);
  box-shadow:
    0 12px 26px rgba(44, 37, 28, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.health-tax-summary-card span,
.health-tax-quarter-grid span,
.health-tax-income-grid span,
.health-tax-tax-estimate-grid span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.health-tax-summary-card strong,
.health-tax-quarter-grid strong,
.health-tax-income-grid strong,
.health-tax-tax-estimate-grid strong {
  display: block;
  margin-top: 9px;
  color: var(--workspace-theme-accent-strong);
  font-family: var(--font-display);
  font-size: clamp(24px, 2.4vw, 36px);
  line-height: 1;
}

.health-tax-summary-card strong.positive,
.health-tax-summary-card strong.warning,
.health-tax-income-grid strong.positive,
.health-tax-income-grid strong.warning,
.health-tax-tax-estimate-grid strong.positive,
.health-tax-tax-estimate-grid strong.warning,
.health-tax-quarter-grid strong.positive,
.health-tax-quarter-grid strong.warning {
  color: #0f7a4f;
}

.health-tax-summary-card strong.negative,
.health-tax-income-grid strong.negative,
.health-tax-tax-estimate-grid strong.negative,
.health-tax-quarter-grid strong.negative {
  color: #b91c1c;
}

.health-tax-summary-card small,
.health-tax-quarter-grid small,
.health-tax-income-grid small,
.health-tax-tax-estimate-grid small {
  display: block;
  margin-top: 9px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.health-tax-income-panel {
  padding: 22px;
}

.health-tax-income-breakdown {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.health-tax-income-breakdown article {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid rgba(54, 45, 36, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.68);
}

.health-tax-income-breakdown span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.health-tax-income-breakdown strong {
  display: block;
  margin-top: 7px;
  color: var(--text);
  font-family: var(--font-display);
  font-size: 20px;
}

.health-tax-payment-editor {
  margin-top: 18px;
}

.health-tax-operating-panel,
.health-tax-quarterly-panel {
  padding: 22px;
}

.health-taxes-view {
  gap: 18px;
}

.health-tax-hero.surface {
  min-height: 184px;
  align-items: start;
  padding: 42px 40px;
  border: 0;
  border-radius: 0;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.94) 32%, rgba(255, 255, 255, 0.62) 52%, rgba(255, 255, 255, 0.06) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.92)),
    url("assets/brand/retired-journey-destination.png") center right / cover no-repeat;
  box-shadow: none;
  overflow: hidden;
}

.health-tax-hero-icon,
.health-tax-eyebrow,
.health-tax-hero [data-health-tax-action="open-settings-health"] {
  display: none;
}

.health-tax-hero > div {
  position: relative;
  z-index: 1;
  max-width: 760px;
}

.health-tax-hero h2 {
  color: #17345d;
  font-size: clamp(42px, 5vw, 64px);
  letter-spacing: 0;
}

.health-tax-hero p:last-child {
  max-width: 640px;
  margin-top: 14px;
  color: #365171;
  font-size: 18px;
  line-height: 1.55;
}

.health-tax-guide,
.health-tax-glance-panel,
.health-tax-guardrails-panel,
.health-tax-equation-panel,
.health-tax-income-panel,
.health-tax-operating-panel,
.health-tax-quarterly-panel {
  padding: 18px;
  border: 1px solid rgba(42, 72, 112, 0.14);
  border-radius: 10px;
  background:
    linear-gradient(140deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 255, 0.88)),
    var(--surface);
  box-shadow:
    0 16px 36px rgba(25, 45, 73, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.health-tax-guide {
  display: grid;
  gap: 20px;
  padding: 22px 26px 26px;
  border-color: rgba(47, 111, 181, 0.16);
  background:
    linear-gradient(135deg, rgba(238, 246, 255, 0.96), rgba(247, 251, 255, 0.9)),
    #f4f9ff;
}

.health-tax-guide-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(42, 72, 112, 0.12);
}

.health-tax-guide-icon,
.health-tax-section-icon,
.health-tax-tip > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  color: #1f61ad;
  background: #edf5ff;
}

.health-tax-guide-icon {
  width: 40px;
  height: 40px;
  color: #ffffff;
  background: #2f6fb5;
}

.health-tax-guide-icon svg,
.health-tax-section-icon svg,
.health-tax-tip > span svg,
.health-tax-guide-grid article > span svg,
.health-tax-detail-link svg,
.health-tax-guide-link svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.health-tax-guide h2,
.health-tax-section-head h2 {
  margin: 0;
  color: #18365f;
  font-family: var(--font-display);
  font-size: 20px;
  line-height: 1.15;
}

.health-tax-guide h2 {
  font-family: var(--font-sans);
  font-size: 24px;
  font-weight: 900;
  color: #1f4f8d;
}

.health-tax-guide-head p {
  margin: 5px 0 0;
  color: #526579;
  font-size: 15px;
  line-height: 1.45;
}

.health-tax-guide-link,
.health-tax-detail-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 32px;
  border: 0;
  background: transparent;
  color: #1e63b4;
  font-weight: 850;
  cursor: pointer;
}

.health-tax-guide-link svg,
.health-tax-detail-link svg {
  width: 15px;
  height: 15px;
  stroke-width: 2.4;
}

.health-tax-guide-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(32px, 5vw, 86px);
  padding: 6px 22px 0;
}

.health-tax-guide-grid article {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  min-width: 0;
}

.health-tax-guide-grid article > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #1f61ad;
}

.health-tax-guide-grid article > span svg {
  width: 42px;
  height: 42px;
  stroke-width: 1.7;
}

.health-tax-guide-grid strong {
  display: block;
  color: #1f4f8d;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.15;
}

.health-tax-guide-grid p {
  margin: 12px 0 0;
  color: #3f526a;
  font-size: 17px;
  font-weight: 650;
  line-height: 1.5;
}

.health-tax-section-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  margin-bottom: 16px;
}

.health-tax-section-head > div {
  min-width: 0;
}

.health-tax-section-head p {
  margin: 5px 0 0;
  color: #657387;
  font-size: 13px;
  line-height: 1.45;
}

.health-tax-section-meta {
  justify-self: end;
  color: #77859a;
  font-size: 12px;
  font-weight: 750;
  white-space: nowrap;
}

.health-tax-summary-grid,
.health-tax-income-grid,
.health-tax-tax-estimate-grid,
.retired-operating-year-grid,
.health-tax-income-breakdown,
.health-tax-quarter-grid,
.health-tax-guardrail-grid,
.health-tax-equation-grid {
  gap: 12px;
}

.health-tax-summary-card,
.health-tax-income-grid article,
.health-tax-tax-estimate-grid article,
.retired-operating-year-grid article,
.health-tax-income-breakdown article,
.health-tax-quarter-grid article,
.health-tax-guardrail-card,
.health-tax-equation-card {
  position: relative;
  min-width: 0;
  border: 1px solid rgba(42, 72, 112, 0.13);
  border-radius: 8px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(249, 252, 255, 0.86)),
    #fff;
  box-shadow:
    0 10px 24px rgba(31, 53, 85, 0.045),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.health-tax-summary-card,
.health-tax-income-grid article,
.health-tax-tax-estimate-grid article,
.retired-operating-year-grid article,
.health-tax-equation-card {
  padding: 16px 17px;
}

.health-tax-summary-card {
  display: grid;
  align-content: start;
  min-height: 226px;
  padding: 22px 24px;
}

.health-tax-quarter-summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 16px;
}

.health-tax-quarter-summary-grid .health-tax-summary-card {
  min-height: 132px;
  padding: 18px 20px;
}

.health-tax-quarter-summary-grid .health-tax-summary-card strong {
  margin-top: 10px;
}

.health-tax-summary-card span,
.health-tax-income-grid span,
.health-tax-tax-estimate-grid span,
.retired-operating-year-grid span,
.health-tax-income-breakdown span {
  color: #4e5c6d;
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.health-tax-summary-card strong,
.health-tax-income-grid strong,
.health-tax-tax-estimate-grid strong,
.retired-operating-year-grid strong {
  margin-top: 12px;
  color: #153765;
  font-size: clamp(26px, 2.5vw, 36px);
  letter-spacing: 0;
}

.health-tax-summary-card strong.positive,
.health-tax-summary-card strong.warning,
.health-tax-income-grid strong.positive,
.health-tax-income-grid strong.warning,
.health-tax-tax-estimate-grid strong.positive,
.health-tax-tax-estimate-grid strong.warning,
.retired-operating-year-grid strong.positive,
.retired-operating-year-grid strong.warning {
  color: #0b865b;
}

.health-tax-summary-card strong.negative,
.health-tax-income-grid strong.negative,
.health-tax-tax-estimate-grid strong.negative,
.retired-operating-year-grid strong.negative {
  color: #cc1f2e;
}

.health-tax-summary-card small,
.health-tax-income-grid small,
.health-tax-tax-estimate-grid small,
.retired-operating-year-grid small {
  margin-top: 10px;
  color: #40536b;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
}

.health-tax-summary-card .health-tax-progress {
  display: block;
  width: 100%;
  height: 12px;
  margin-top: 24px;
  border-radius: 999px;
  background: #d9e1eb;
  overflow: hidden;
}

.health-tax-summary-card .health-tax-progress em {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2e74bd, #7daee8);
}

.health-tax-summary-card .health-tax-progress-label {
  margin-top: 10px;
  color: #40536b;
  font-size: 13px;
  font-weight: 850;
}

.health-tax-income-grid,
.health-tax-tax-estimate-grid {
  margin-top: 0;
}

.health-tax-income-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.health-tax-income-breakdown {
  margin-top: 14px;
}

.health-tax-income-breakdown[hidden] {
  display: none;
}

.health-tax-income-breakdown article {
  padding: 13px 14px;
  box-shadow: none;
}

.health-tax-income-breakdown strong {
  color: #18365f;
  font-size: 18px;
  letter-spacing: 0;
}

.health-tax-detail-link {
  margin: 14px auto 0;
  min-width: 0;
}

.health-tax-guardrails-panel,
.health-tax-equation-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.health-tax-guardrail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.health-tax-guardrail-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(138px, 0.48fr);
  gap: 16px;
  align-items: center;
  padding: 20px;
  overflow: hidden;
}

.health-tax-guardrail-card.is-magi {
  border-color: rgba(45, 105, 203, 0.22);
  background:
    radial-gradient(circle at 88% 15%, rgba(72, 131, 221, 0.12), transparent 12rem),
    linear-gradient(145deg, rgba(247, 251, 255, 0.99), rgba(255, 255, 255, 0.9));
}

.health-tax-guardrail-card.is-withdrawal {
  border-color: rgba(96, 158, 68, 0.24);
  background:
    radial-gradient(circle at 88% 15%, rgba(103, 169, 74, 0.13), transparent 12rem),
    linear-gradient(145deg, rgba(248, 255, 246, 0.99), rgba(255, 255, 255, 0.9));
}

.health-tax-guardrail-card span,
.health-tax-equation-card > span:not(.health-tax-equation-icon) {
  display: block;
  color: #17345d;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
}

.health-tax-guardrail-card strong {
  display: block;
  margin-top: 8px;
  color: #17345d;
  font-family: var(--font-display);
  font-size: clamp(28px, 2.7vw, 40px);
  line-height: 1;
}

.health-tax-guardrail-card strong.positive,
.health-tax-guardrail-card.is-withdrawal strong {
  color: #127a48;
}

.health-tax-guardrail-card strong.negative {
  color: #b4232c;
}

.health-tax-guardrail-card em {
  display: block;
  margin-top: 6px;
  color: #1f61ad;
  font-style: normal;
  font-size: 15px;
  font-weight: 900;
}

.health-tax-guardrail-card.is-withdrawal em {
  color: #2f7a28;
}

.health-tax-guardrail-card small {
  display: block;
  margin-top: 12px;
  color: #40536b;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
}

.health-tax-gauge {
  --gauge-deg: 0deg;
  --gauge-color: #1d64c8;
  display: grid;
  justify-items: center;
  align-content: end;
  min-height: 112px;
}

.health-tax-gauge i {
  display: block;
  width: 142px;
  height: 72px;
  border-radius: 142px 142px 0 0;
  background:
    conic-gradient(from -90deg at 50% 100%, var(--gauge-color) 0 var(--gauge-deg), #d8e0eb var(--gauge-deg) 180deg, transparent 180deg);
  -webkit-mask: radial-gradient(circle at 50% 100%, transparent 0 53px, #000 54px);
  mask: radial-gradient(circle at 50% 100%, transparent 0 53px, #000 54px);
}

.health-tax-gauge strong {
  margin-top: -34px;
  color: #17345d;
  font-family: var(--font-display);
  font-size: 24px;
  line-height: 1;
}

.health-tax-gauge small {
  margin-top: 5px;
  color: #526177;
  text-align: center;
  font-size: 11px;
}

.health-tax-guardrail-status {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 4px 0 0;
  padding: 11px 12px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 850;
}

.health-tax-guardrail-status span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
}

.health-tax-guardrail-status.positive {
  border: 1px solid rgba(31, 128, 83, 0.18);
  background: rgba(240, 250, 243, 0.96);
  color: #127a48;
}

.health-tax-guardrail-status.positive span {
  background: #127a48;
}

.health-tax-guardrail-status.negative {
  border: 1px solid rgba(191, 45, 45, 0.18);
  background: rgba(255, 244, 244, 0.96);
  color: #b4232c;
}

.health-tax-guardrail-status.negative span {
  background: #b4232c;
}

.health-tax-equation-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr) 20px minmax(0, 1fr) 20px minmax(0, 1fr) 20px minmax(0, 1fr);
  align-items: center;
}

.health-tax-equation-card {
  display: grid;
  gap: 7px;
  min-height: 150px;
  align-content: center;
}

.health-tax-equation-card.is-income {
  border-color: rgba(39, 111, 184, 0.2);
  background: linear-gradient(145deg, rgba(242, 248, 255, 0.98), rgba(255, 255, 255, 0.9));
}

.health-tax-equation-card.is-interest {
  border-color: rgba(39, 111, 184, 0.16);
  background: linear-gradient(145deg, rgba(245, 250, 255, 0.98), rgba(255, 255, 255, 0.9));
}

.health-tax-equation-card.is-sales {
  border-color: rgba(236, 142, 45, 0.22);
  background: linear-gradient(145deg, rgba(255, 250, 243, 0.98), rgba(255, 255, 255, 0.9));
}

.health-tax-equation-card.is-room {
  border-color: rgba(109, 70, 187, 0.2);
  background: linear-gradient(145deg, rgba(249, 246, 255, 0.98), rgba(255, 255, 255, 0.9));
}

.health-tax-equation-card.is-cap {
  border-color: rgba(103, 169, 74, 0.22);
  background: linear-gradient(145deg, rgba(248, 255, 246, 0.98), rgba(255, 255, 255, 0.9));
}

.health-tax-equation-icon {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  color: #246ab6;
}

.health-tax-equation-icon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.health-tax-equation-card.is-room .health-tax-equation-icon {
  color: #7b4fc8;
}

.health-tax-equation-card.is-sales .health-tax-equation-icon {
  color: #d87815;
}

.health-tax-equation-card.is-cap .health-tax-equation-icon {
  color: #4e9a32;
}

.health-tax-equation-card strong {
  display: block;
  color: #17345d;
  font-family: var(--font-display);
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1;
}

.health-tax-equation-card strong.positive,
.health-tax-equation-card.is-cap strong {
  color: #127a48;
}

.health-tax-equation-card small {
  color: #40536b;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.35;
}

.health-tax-equation-operator {
  color: #49617c;
  text-align: center;
  font-size: 22px;
  font-weight: 700;
}

.health-tax-income-grid article:nth-child(1) {
  border-color: rgba(39, 111, 184, 0.18);
  background: linear-gradient(145deg, rgba(243, 249, 255, 0.98), rgba(255, 255, 255, 0.9));
}

.health-tax-income-grid article:nth-child(2) {
  border-color: rgba(41, 141, 76, 0.18);
  background: linear-gradient(145deg, rgba(244, 253, 247, 0.98), rgba(255, 255, 255, 0.9));
}

.health-tax-income-grid article:nth-child(3) {
  border-color: rgba(121, 76, 195, 0.18);
  background: linear-gradient(145deg, rgba(249, 246, 255, 0.98), rgba(255, 255, 255, 0.9));
}

.health-tax-income-grid article:nth-child(4) {
  border-color: rgba(224, 121, 35, 0.2);
  background: linear-gradient(145deg, rgba(255, 249, 241, 0.98), rgba(255, 255, 255, 0.9));
}

.health-tax-quarter-grid article {
  display: grid;
  gap: 9px;
  min-height: 158px;
  padding: 20px 20px 18px;
  align-content: start;
  overflow: hidden;
}

.health-tax-quarter-card::before,
.health-tax-quarter-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 72px;
  pointer-events: none;
}

.health-tax-quarter-card::before {
  opacity: 0.92;
  clip-path: polygon(0 78%, 11% 70%, 22% 78%, 36% 60%, 51% 72%, 67% 50%, 84% 66%, 100% 46%, 100% 100%, 0 100%);
}

.health-tax-quarter-card::after {
  opacity: 0.56;
  clip-path: polygon(0 88%, 14% 77%, 28% 84%, 43% 68%, 58% 77%, 72% 57%, 88% 69%, 100% 59%, 100% 100%, 0 100%);
}

.health-tax-quarter-grid article.positive,
.health-tax-quarter-card.positive {
  border-color: rgba(46, 125, 50, 0.24);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.56), rgba(255, 255, 255, 0.08)),
    url("assets/brand/tax-status-paid-background.png") center bottom / 100% 100% no-repeat,
    #f5fbf4;
}

.health-tax-quarter-card.positive::before {
  content: none;
}

.health-tax-quarter-card.positive::after {
  content: none;
}

.health-tax-quarter-grid article.warning,
.health-tax-quarter-card.warning {
  border-color: rgba(221, 130, 29, 0.3);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.08)),
    url("assets/brand/tax-status-due-soon-background.png") center bottom / 100% 100% no-repeat,
    #fff8ec;
}

.health-tax-quarter-card.warning::before {
  content: none;
}

.health-tax-quarter-card.warning::after {
  content: none;
}

.health-tax-quarter-grid article.negative,
.health-tax-quarter-card.negative {
  border-color: rgba(229, 72, 77, 0.26);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.56), rgba(255, 255, 255, 0.1)),
    url("assets/brand/tax-status-past-due-background.png") center bottom / 100% 100% no-repeat,
    #fff7f7;
}

.health-tax-quarter-card.negative::before {
  content: none;
}

.health-tax-quarter-card.negative::after {
  content: none;
}

.health-tax-quarter-grid article.neutral,
.health-tax-quarter-card.neutral {
  border-color: rgba(74, 144, 226, 0.24);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.56), rgba(255, 255, 255, 0.08)),
    url("assets/brand/tax-status-upcoming-background.png") center bottom / 100% 100% no-repeat,
    #f4f9ff;
}

.health-tax-quarter-card.neutral::before {
  content: none;
}

.health-tax-quarter-card.neutral::after {
  content: none;
}

.health-tax-quarter-grid article.no-payment,
.health-tax-quarter-card.no-payment {
  border-color: rgba(0, 150, 136, 0.28);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.08)),
    url("assets/brand/tax-status-no-payment-needed-background.png") center bottom / 100% 100% no-repeat,
    #ecfbf8;
}

.health-tax-quarter-card.no-payment::before {
  content: none;
}

.health-tax-quarter-card.no-payment::after {
  content: none;
}

.health-tax-quarter-grid span {
  color: #42607f;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.health-tax-quarter-grid strong {
  margin: 0;
  font-family: var(--font-display);
  font-size: 25px;
}

.health-tax-quarter-grid strong.neutral,
.health-tax-quarter-card.neutral .health-tax-quarter-icon {
  color: #2f6ab2;
}

.health-tax-quarter-card.negative strong,
.health-tax-quarter-card.negative .health-tax-quarter-icon {
  color: #d31f2b;
}

.health-tax-quarter-card.warning strong,
.health-tax-quarter-card.warning .health-tax-quarter-icon {
  color: #d66f00;
}

.health-tax-quarter-card.positive strong,
.health-tax-quarter-card.positive .health-tax-quarter-icon {
  color: #16833d;
}

.health-tax-quarter-card.no-payment strong,
.health-tax-quarter-card.no-payment .health-tax-quarter-icon {
  color: #007c74;
}

.health-tax-quarter-grid small {
  margin: 0;
  position: relative;
  z-index: 1;
}

.health-tax-quarter-icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  margin-bottom: 2px;
}

.health-tax-quarter-icon svg {
  width: 40px;
  height: 40px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.health-tax-quarter-eyebrow,
.health-tax-quarter-card strong,
.health-tax-log-payment-button,
.health-tax-paid-pill,
.health-tax-quarter-card-actions,
.health-tax-quarter-check {
  position: relative;
  z-index: 1;
}

.health-tax-quarter-card .health-tax-quarter-eyebrow {
  color: currentColor;
  font-weight: 950;
}

.health-tax-quarter-grid .health-tax-quarter-check {
  position: absolute;
  top: 18px;
  right: 18px;
  display: inline-grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 999px;
  background: #2e7d32;
  box-shadow: 0 10px 22px rgba(46, 125, 50, 0.18);
}

.health-tax-quarter-grid .health-tax-quarter-check::before {
  content: "";
  display: block;
  width: 8px;
  height: 14px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: rotate(45deg) translate(-1px, -1px);
}

.health-tax-paid-pill {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  padding: 8px 10px;
  border: 1px solid rgba(46, 125, 50, 0.18);
  border-radius: 7px;
  background: rgba(239, 250, 240, 0.92);
  color: #176a32;
  font-size: 12px;
  font-weight: 850;
}

.health-tax-paid-pill.is-partial {
  border-color: rgba(198, 40, 40, 0.24);
  background: rgba(255, 242, 242, 0.94);
  color: #b71c1c;
}

.health-tax-paid-pill span {
  display: inline-flex;
  width: 16px;
  height: 16px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #fff;
  background: #2e7d32;
  font-size: 0;
}

.health-tax-paid-pill span::before {
  content: "";
  display: block;
  width: 5px;
  height: 9px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg) translate(-1px, -1px);
}

.health-tax-quarter-card-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin-top: 4px;
}

.health-tax-log-payment-button {
  justify-self: start;
  min-height: 34px;
  margin-top: 0;
  padding: 0 15px;
  border: 1px solid currentColor;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.72);
  color: #1c5aa3;
  font-weight: 850;
  cursor: pointer;
}

.health-tax-quarter-card.negative .health-tax-log-payment-button {
  color: #d31f2b;
  background: rgba(255, 246, 246, 0.78);
}

.health-tax-quarter-card.negative {
  min-height: 152px;
  grid-template-columns: 74px minmax(0, 1fr);
  column-gap: 12px;
  gap: 5px 12px;
  padding: 17px 18px 14px;
}

.health-tax-quarter-card.negative .health-tax-quarter-icon {
  grid-row: 1 / span 4;
  width: 60px;
  height: 60px;
  margin: 0;
  background: url("assets/brand/tax-icon-calendar-alert-red.png") center / contain no-repeat;
}

.health-tax-quarter-card.negative .health-tax-quarter-icon svg {
  display: none;
}

.health-tax-quarter-card.negative .health-tax-quarter-eyebrow,
.health-tax-quarter-card.negative strong,
.health-tax-quarter-card.negative small,
.health-tax-quarter-card.negative .health-tax-quarter-card-actions {
  grid-column: 2;
}

.health-tax-quarter-card.negative .health-tax-log-payment-button {
  min-height: 29px;
  padding: 0 13px;
  border-radius: 6px;
  font-size: 12.5px;
  line-height: 1;
}

.health-tax-quarter-card.negative .health-tax-quarter-eyebrow {
  color: #ef3f47;
  font-size: 10px;
  letter-spacing: 0.055em;
}

.health-tax-quarter-card.negative strong {
  font-size: 24px;
}

.health-tax-quarter-card.negative small {
  font-size: 11.5px;
  line-height: 1.3;
}

.health-tax-quarter-card.warning .health-tax-log-payment-button {
  color: #d66f00;
  background: rgba(255, 249, 237, 0.78);
}

.health-tax-quarter-card.warning {
  min-height: 152px;
  grid-template-columns: 74px minmax(0, 1fr);
  column-gap: 12px;
  gap: 5px 12px;
  padding: 17px 18px 14px;
}

.health-tax-quarter-card.warning .health-tax-quarter-icon {
  grid-row: 1 / span 4;
  width: 60px;
  height: 60px;
  margin: 0;
  background: url("assets/brand/tax-icon-hourglass-amber.png") center / contain no-repeat;
}

.health-tax-quarter-card.warning .health-tax-quarter-icon svg {
  display: none;
}

.health-tax-quarter-card.warning .health-tax-quarter-eyebrow,
.health-tax-quarter-card.warning strong,
.health-tax-quarter-card.warning small,
.health-tax-quarter-card.warning .health-tax-quarter-card-actions {
  grid-column: 2;
}

.health-tax-quarter-card.warning .health-tax-log-payment-button {
  min-height: 29px;
  padding: 0 13px;
  border-radius: 6px;
  font-size: 12.5px;
  line-height: 1;
}

.health-tax-quarter-card.warning .health-tax-quarter-eyebrow {
  color: #f28514;
  font-size: 10px;
  letter-spacing: 0.055em;
}

.health-tax-quarter-card.warning strong {
  font-size: 24px;
}

.health-tax-quarter-card.warning small {
  font-size: 11.5px;
  line-height: 1.3;
}

.health-tax-quarter-card.neutral {
  min-height: 152px;
  grid-template-columns: 74px minmax(0, 1fr);
  column-gap: 12px;
  gap: 5px 12px;
  padding: 17px 18px 14px;
}

.health-tax-quarter-card.neutral .health-tax-quarter-icon {
  grid-row: 1 / span 4;
  width: 60px;
  height: 60px;
  margin: 0;
}

.health-tax-quarter-card.neutral .health-tax-quarter-icon {
  background: url("assets/brand/tax-icon-binoculars-blue.png") center / contain no-repeat;
}

.health-tax-quarter-card.neutral .health-tax-quarter-icon svg {
  display: none;
}

.health-tax-quarter-card.neutral .health-tax-quarter-eyebrow,
.health-tax-quarter-card.neutral strong,
.health-tax-quarter-card.neutral small,
.health-tax-quarter-card.neutral .health-tax-quarter-card-actions {
  grid-column: 2;
}

.health-tax-quarter-card.neutral .health-tax-log-payment-button {
  min-height: 29px;
  padding: 0 13px;
  border-radius: 6px;
  font-size: 12.5px;
  line-height: 1;
}

.health-tax-quarter-card.neutral .health-tax-quarter-eyebrow {
  color: #1e66c5;
  font-size: 10px;
  letter-spacing: 0.055em;
}

.health-tax-quarter-card.neutral strong {
  font-size: 24px;
}

.health-tax-quarter-card.neutral small {
  font-size: 11.5px;
  line-height: 1.3;
}

.health-tax-quarter-card.no-payment {
  min-height: 152px;
  grid-template-columns: 74px minmax(0, 1fr);
  column-gap: 12px;
  gap: 5px 12px;
  padding: 17px 18px 14px;
}

.health-tax-quarter-card.no-payment .health-tax-quarter-icon {
  grid-row: 1 / span 4;
  width: 60px;
  height: 60px;
  margin: 0;
  background: url("assets/brand/tax-icon-leaf-green.png") center / contain no-repeat;
}

.health-tax-quarter-card.no-payment .health-tax-quarter-icon svg {
  display: none;
}

.health-tax-quarter-card.no-payment .health-tax-quarter-eyebrow,
.health-tax-quarter-card.no-payment strong,
.health-tax-quarter-card.no-payment small,
.health-tax-quarter-card.no-payment .health-tax-quarter-card-actions {
  grid-column: 2;
}

.health-tax-quarter-card.no-payment .health-tax-quarter-eyebrow {
  color: #00877e;
  font-size: 10px;
  letter-spacing: 0.055em;
}

.health-tax-quarter-card.no-payment strong {
  font-size: 24px;
}

.health-tax-quarter-card.no-payment small {
  max-width: 260px;
  color: #1e3952;
  font-size: 11.5px;
  line-height: 1.32;
}

.health-tax-quarter-card.no-payment .health-tax-quarter-check {
  top: 18px;
  right: 18px;
  width: 32px;
  height: 32px;
  background: #009688;
  box-shadow: 0 10px 22px rgba(0, 150, 136, 0.22);
}

.health-tax-quarter-card.no-payment .health-tax-quarter-check::before {
  width: 8px;
  height: 14px;
  border-right-width: 3px;
  border-bottom-width: 3px;
}

.health-tax-quarter-card.positive .health-tax-log-payment-button {
  color: #16833d;
  background: rgba(245, 255, 246, 0.78);
}

.health-tax-quarter-card.positive {
  min-height: 152px;
  grid-template-columns: 74px minmax(0, 1fr);
  column-gap: 12px;
  gap: 5px 12px;
  padding: 17px 18px 14px;
}

.health-tax-quarter-card.positive .health-tax-quarter-icon {
  grid-row: 1 / span 5;
  width: 60px;
  height: 60px;
  margin: 0;
  background: url("assets/brand/tax-icon-flag-green.png") center / contain no-repeat;
}

.health-tax-quarter-card.positive .health-tax-quarter-icon svg {
  display: none;
}

.health-tax-quarter-card.positive .health-tax-quarter-eyebrow,
.health-tax-quarter-card.positive strong,
.health-tax-quarter-card.positive small,
.health-tax-quarter-card.positive .health-tax-quarter-card-actions {
  grid-column: 2;
}

.health-tax-quarter-card.positive .health-tax-quarter-eyebrow {
  color: #23883a;
  font-size: 10px;
  letter-spacing: 0.055em;
}

.health-tax-quarter-card.positive strong {
  font-size: 24px;
}

.health-tax-quarter-card.positive small {
  font-size: 11.5px;
  line-height: 1.3;
}

.health-tax-quarter-card.positive .health-tax-paid-pill {
  min-height: 28px;
  margin-top: 2px;
  padding: 0 9px;
  border-radius: 6px;
  font-size: 11.5px;
}

.health-tax-quarter-card.positive .health-tax-log-payment-button {
  min-height: 29px;
  padding: 0 13px;
  border-radius: 6px;
  font-size: 12.5px;
  line-height: 1;
}

.health-tax-quarterly-actions {
  display: flex;
  align-items: center;
  gap: 18px;
}

.health-tax-payment-editor,
.health-tax-payment-editor.settings-array-editor {
  display: grid;
  margin-top: 16px;
  padding-top: 2px;
}

.health-tax-payment-editor .settings-array-editor-head {
  border-color: color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), color-mix(in srgb, var(--theme-soft) 28%, white)),
    var(--surface);
}

.health-tax-payment-editor .settings-array-editor-help {
  margin: -2px 0 0;
  padding: 10px 14px;
  border: 1px solid rgba(29, 100, 200, 0.13);
  border-radius: 8px;
  color: #36506f;
  background: linear-gradient(145deg, rgba(244, 249, 255, 0.92), rgba(255, 255, 255, 0.78));
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.health-tax-payment-dialog {
  width: min(420px, calc(100vw - 32px));
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: transparent;
}

.health-tax-payment-dialog::backdrop {
  background: rgba(14, 28, 46, 0.28);
  backdrop-filter: blur(2px);
}

.health-tax-payment-card {
  display: grid;
  gap: 18px;
  padding: 22px;
  border: 1px solid rgba(42, 72, 112, 0.16);
  border-radius: 12px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.99), rgba(248, 252, 255, 0.96)),
    #fff;
  box-shadow: 0 24px 60px rgba(15, 31, 51, 0.24);
}

.health-tax-payment-card header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.health-tax-payment-card h2 {
  margin: 0;
  color: #17345d;
  font-family: var(--font-display);
  font-size: 22px;
  line-height: 1.15;
}

.health-tax-payment-card p {
  margin: 8px 0 0;
  color: #40536b;
  font-size: 13px;
  font-weight: 750;
}

.health-tax-payment-close {
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 999px;
  background:
    linear-gradient(45deg, transparent 47%, #17345d 48%, #17345d 52%, transparent 53%),
    linear-gradient(-45deg, transparent 47%, #17345d 48%, #17345d 52%, transparent 53%);
  color: transparent;
  cursor: pointer;
}

.health-tax-payment-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.health-tax-payment-fields[hidden],
.health-tax-payment-details[hidden],
.health-tax-payment-card footer button[hidden] {
  display: none;
}

.health-tax-payment-fields label {
  display: grid;
  gap: 7px;
  min-width: 0;
  color: #17345d;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.health-tax-payment-fields input,
.health-tax-payment-fields select,
.health-tax-payment-fields textarea {
  width: 100%;
  min-height: 42px;
  padding: 10px 11px;
  border: 1px solid rgba(42, 72, 112, 0.18);
  border-radius: 7px;
  background: #fff;
  color: #17345d;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

.health-tax-payment-fields textarea {
  min-height: 70px;
  resize: vertical;
}

.health-tax-payment-notes {
  grid-column: 1 / -1;
}

.health-tax-payment-card footer {
  display: flex;
  justify-content: end;
  gap: 10px;
}

.health-tax-payment-card .primary-button,
.health-tax-payment-card .secondary-button {
  min-height: 38px;
  padding: 0 16px;
  border-radius: 7px;
  font-weight: 900;
  cursor: pointer;
}

.health-tax-payment-card .primary-button {
  border: 1px solid #155daf;
  background: #0f60b8;
  color: #fff;
  box-shadow: 0 10px 22px rgba(15, 96, 184, 0.18);
}

.health-tax-payment-card .secondary-button {
  border: 1px solid rgba(42, 72, 112, 0.18);
  background: #fff;
  color: #17345d;
}

.health-tax-payment-status-pill {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  padding: 12px 16px;
  border-radius: 8px;
  font-weight: 900;
}

.health-tax-payment-status-pill.positive {
  border: 1px solid rgba(46, 125, 50, 0.18);
  background: rgba(241, 250, 243, 0.96);
  color: #176a32;
}

.health-tax-payment-status-pill span {
  display: inline-flex;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #fff;
  background: #2e7d32;
}

.health-tax-payment-details {
  display: grid;
  gap: 16px;
}

.health-tax-payment-details dl {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 16px 0 0;
  border-top: 1px solid rgba(42, 72, 112, 0.14);
}

.health-tax-payment-details div {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 12px;
}

.health-tax-payment-details dt {
  color: #40536b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.health-tax-payment-details dd {
  margin: 0;
  color: #17345d;
  font-weight: 800;
}

.health-tax-ledger-editor.settings-array-editor {
  display: grid;
  gap: 0;
  margin-top: 14px;
  padding: 0;
  border: 1px solid rgba(42, 72, 112, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  overflow: hidden;
}

.health-tax-ledger-editor .settings-array-editor-head {
  padding: 13px 16px;
  border: 0;
  border-bottom: 1px solid rgba(42, 72, 112, 0.1);
  background: rgba(255, 255, 255, 0.7);
}

.health-tax-ledger-editor .settings-array-editor-head strong {
  color: #18365f;
  font-size: 15px;
}

.health-tax-ledger-editor .settings-array-editor-head p {
  margin-top: 3px;
  color: #40536b;
  font-size: 12px;
}

.health-tax-ledger-editor .settings-array-row {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 12px;
  padding: 14px 16px;
  border: 0;
  border-top: 1px solid rgba(42, 72, 112, 0.08);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.health-tax-ledger-editor .settings-array-row:first-of-type {
  border-top: 0;
}

.health-tax-ledger-editor .settings-array-row-head {
  display: grid;
  gap: 5px;
  align-content: start;
}

.health-tax-ledger-editor .settings-array-row-head strong {
  color: #18365f;
  font-size: 13px;
}

.health-tax-ledger-editor .settings-array-row-head p {
  margin: 0;
  font-size: 11px;
}

.health-tax-ledger-editor .settings-array-edit-grid {
  display: grid;
  grid-template-columns: 110px 124px 138px minmax(150px, 1.3fr) 122px 150px minmax(120px, 1fr);
  gap: 9px;
  align-items: end;
}

.health-tax-ledger-editor .settings-mini-field,
.health-tax-ledger-editor .settings-mini-toggle {
  min-width: 0;
}

.health-tax-ledger-editor .settings-mini-field span,
.health-tax-ledger-editor .settings-mini-toggle span {
  color: #526177;
  font-size: 9.5px;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.health-tax-ledger-editor .settings-mini-field input,
.health-tax-ledger-editor .settings-mini-field select {
  min-height: 34px;
  padding: 7px 8px;
  border-radius: 6px;
  font-size: 12px;
}

.health-tax-ledger-editor .settings-mini-toggle {
  align-self: stretch;
  justify-content: center;
  gap: 5px;
  padding: 6px 8px;
  border: 1px solid rgba(42, 72, 112, 0.12);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.78);
}

.health-tax-ledger-editor .settings-array-editor-help {
  margin: -2px 0 0;
  padding: 10px 14px;
  border: 1px solid rgba(29, 100, 200, 0.13);
  border-radius: 8px;
  color: #36506f;
  background: linear-gradient(145deg, rgba(244, 249, 255, 0.92), rgba(255, 255, 255, 0.78));
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.health-tax-tip {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px 16px;
  border: 1px solid rgba(220, 144, 34, 0.22);
  border-radius: 8px;
  background: linear-gradient(120deg, rgba(255, 250, 240, 0.98), rgba(255, 255, 255, 0.92));
}

.health-tax-tip > span {
  color: #c87a12;
  background: #fff3d9;
}

.health-tax-tip p {
  margin: 0;
  color: #4f5d6f;
  font-size: 13px;
  font-weight: 700;
}

.health-tax-tip button {
  min-height: 34px;
  padding: 0 18px;
  border: 1px solid rgba(207, 133, 25, 0.35);
  border-radius: 7px;
  background: #fff;
  color: #1d5fa8;
  font-weight: 900;
  cursor: pointer;
}

/* Keep Health & Taxes aligned with the quieter Plan Tracking page scale. */
.health-tax-hero.surface {
  min-height: 136px;
  padding: 26px 32px;
}

.health-tax-hero h2 {
  color: var(--theme-display);
  font-size: clamp(30px, 2.8vw, 42px);
  font-weight: 800;
  letter-spacing: var(--display-title-letter-spacing);
}

.health-tax-hero p:last-child {
  max-width: 620px;
  margin-top: 10px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.health-tax-guide {
  gap: 16px;
  padding: 18px 22px 20px;
}

.health-tax-guide-head {
  gap: 13px;
  padding-bottom: 13px;
}

.health-tax-guide-icon {
  width: 34px;
  height: 34px;
}

.health-tax-guide h2,
.health-tax-section-head h2 {
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: 19px;
  font-weight: 800;
  letter-spacing: var(--display-title-letter-spacing);
  line-height: 1.25;
}

.health-tax-guide h2 {
  color: #1f4f8d;
}

.health-tax-guide-grid {
  gap: 24px;
  padding: 2px 8px 0;
}

.health-tax-guide-grid article {
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 13px;
}

.health-tax-guide-grid article > span svg {
  width: 28px;
  height: 28px;
  stroke-width: 1.9;
}

.health-tax-guide-grid strong {
  font-size: 14px;
  line-height: 1.2;
}

.health-tax-guide-grid p {
  margin-top: 7px;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.45;
}

.health-tax-guide-icon {
  width: 48px;
  height: 48px;
}

.health-tax-section-icon {
  width: 44px;
  height: 44px;
}

.health-tax-guide-icon svg {
  width: 23px;
  height: 23px;
  stroke-width: 2.2;
}

.health-tax-section-icon svg {
  width: 25px;
  height: 25px;
  stroke-width: 2.1;
}

.health-tax-guide-grid article {
  grid-template-columns: 50px minmax(0, 1fr);
  gap: 16px;
}

.health-tax-guide-grid article > span {
  display: inline-flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
}

.health-tax-guide-grid article > span svg {
  width: 38px;
  height: 38px;
  stroke-width: 2.05;
}

.health-tax-guardrail-card {
  grid-template-columns: minmax(0, 1fr) minmax(210px, 0.58fr);
  gap: 22px;
  min-height: 246px;
  padding: 24px;
}

.health-tax-guardrail-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.health-tax-guardrail-title-icon {
  display: inline-flex !important;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #1d64c8;
  background: rgba(29, 100, 200, 0.1);
}

.health-tax-guardrail-card.is-withdrawal .health-tax-guardrail-title-icon {
  color: #2f7a28;
  background: rgba(47, 122, 40, 0.1);
}

.health-tax-guardrail-title-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.health-tax-gauge {
  min-height: 158px;
}

.health-tax-gauge i {
  width: 196px;
  height: 100px;
  border-radius: 196px 196px 0 0;
  -webkit-mask: radial-gradient(circle at 50% 100%, transparent 0 72px, #000 73px);
  mask: radial-gradient(circle at 50% 100%, transparent 0 72px, #000 73px);
}

.health-tax-gauge strong {
  margin-top: -48px;
  font-size: 32px;
}

.health-tax-gauge small {
  margin-top: 8px;
  font-size: 12px;
}

.health-tax-equation-icon {
  width: 46px;
  height: 46px;
}

.health-tax-equation-icon svg {
  width: 38px;
  height: 38px;
  stroke-width: 2;
}

.health-tax-guardrail-status span {
  width: 24px;
  height: 24px;
  font-size: 14px;
}

.health-taxes-view .health-tax-guardrail-title > span:last-child,
.health-taxes-view .health-tax-equation-card > span:not(.health-tax-equation-icon),
.health-taxes-view .health-tax-summary-card span,
.health-taxes-view .health-tax-income-grid span,
.health-taxes-view .health-tax-tax-estimate-grid span,
.health-taxes-view .health-tax-income-breakdown span,
.health-taxes-view .health-tax-quarter-grid span,
.health-taxes-view .retired-operating-year-grid span:not(.retired-ledger-card-icon),
.health-taxes-view .settings-mini-field span,
.health-taxes-view .settings-mini-toggle span {
  color: #344050;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.health-taxes-view .health-tax-equation-card > span:not(.health-tax-equation-icon) {
  margin-top: 2px;
}

.health-taxes-view .health-tax-guardrail-title > span:last-child {
  display: inline-block;
}

.health-taxes-view .health-tax-guardrail-card small,
.health-taxes-view .health-tax-equation-card small,
.health-taxes-view .health-tax-summary-card small,
.health-taxes-view .health-tax-income-grid small,
.health-taxes-view .health-tax-tax-estimate-grid small,
.health-taxes-view .health-tax-income-breakdown small,
.health-taxes-view .health-tax-quarter-grid small,
.health-taxes-view .retired-operating-year-grid small {
  color: #40536b;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
}

.health-taxes-view .health-tax-guide-grid strong {
  font-size: 14px;
  line-height: 1.2;
}

.retired-operating-year-panel {
  gap: 18px;
  padding: 24px;
}

.retired-operating-year-panel .health-tax-section-head {
  align-items: start;
}

.retired-operating-year-panel .health-tax-section-icon {
  color: #1d64c8;
  background: linear-gradient(145deg, #e9f3ff, #f7fbff);
}

.retired-operating-year-grid {
  gap: 18px;
}

.retired-operating-year-grid .retired-ledger-card {
  --ledger-card-accent: #1d64c8;
  --ledger-card-soft: rgba(29, 100, 200, 0.1);
  --ledger-card-wash: rgba(29, 100, 200, 0.05);
  --ledger-card-wave-back: color-mix(in srgb, var(--ledger-card-accent) 9%, transparent);
  --ledger-card-wave-front: color-mix(in srgb, var(--ledger-card-accent) 17%, transparent);
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  align-items: start;
  min-height: 156px;
  padding: 22px 20px 20px;
  border-color: color-mix(in srgb, var(--ledger-card-accent) 18%, transparent);
  background:
    radial-gradient(110% 80% at 100% 100%, var(--ledger-card-soft), transparent 55%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), color-mix(in srgb, var(--ledger-card-wash) 60%, #fff));
  box-shadow:
    0 14px 34px rgba(31, 53, 85, 0.055),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
  overflow: hidden;
  isolation: isolate;
}

.retired-operating-year-grid .retired-ledger-card::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 66px;
  background:
    linear-gradient(180deg, transparent 0%, var(--ledger-card-wave-back) 70%, var(--ledger-card-wave-front) 100%),
    linear-gradient(90deg, transparent, color-mix(in srgb, var(--ledger-card-accent) 8%, transparent), transparent);
  clip-path: polygon(
    0 76%,
    8% 72%,
    15% 78%,
    25% 66%,
    35% 58%,
    45% 68%,
    56% 72%,
    66% 56%,
    76% 42%,
    86% 54%,
    94% 34%,
    100% 42%,
    100% 100%,
    0 100%
  );
  opacity: 0.78;
  z-index: 0;
}

.retired-operating-year-grid .retired-ledger-card::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 52px;
  background:
    linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--ledger-card-accent) 8%, transparent) 62%, color-mix(in srgb, var(--ledger-card-accent) 22%, transparent) 100%);
  clip-path: polygon(
    0 83%,
    8% 75%,
    18% 82%,
    29% 75%,
    39% 80%,
    48% 76%,
    58% 83%,
    69% 72%,
    79% 66%,
    88% 72%,
    96% 58%,
    100% 63%,
    100% 100%,
    0 100%
  );
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
}

.retired-operating-year-grid .retired-ledger-card.is-rate {
  --ledger-card-accent: #8b5bd6;
  --ledger-card-soft: rgba(139, 91, 214, 0.13);
  --ledger-card-wash: rgba(139, 91, 214, 0.06);
}

.retired-operating-year-grid .retired-ledger-card.is-room {
  --ledger-card-accent: #df7c17;
  --ledger-card-soft: rgba(223, 124, 23, 0.14);
  --ledger-card-wash: rgba(223, 124, 23, 0.07);
}

.retired-operating-year-grid .retired-ledger-card.is-taxable {
  --ledger-card-accent: #2f9a43;
  --ledger-card-soft: rgba(47, 154, 67, 0.13);
  --ledger-card-wash: rgba(47, 154, 67, 0.06);
}

.retired-operating-year-grid .retired-ledger-card.is-withdrawals strong,
.retired-operating-year-grid .retired-ledger-card.is-withdrawals strong.positive,
.retired-operating-year-grid .retired-ledger-card.is-withdrawals strong.warning,
.retired-operating-year-grid .retired-ledger-card.is-rate strong,
.retired-operating-year-grid .retired-ledger-card.is-rate strong.positive,
.retired-operating-year-grid .retired-ledger-card.is-rate strong.warning,
.retired-operating-year-grid .retired-ledger-card.is-room strong,
.retired-operating-year-grid .retired-ledger-card.is-room strong.positive,
.retired-operating-year-grid .retired-ledger-card.is-room strong.warning,
.retired-operating-year-grid .retired-ledger-card.is-taxable strong,
.retired-operating-year-grid .retired-ledger-card.is-taxable strong.positive,
.retired-operating-year-grid .retired-ledger-card.is-taxable strong.warning {
  color: var(--ledger-card-accent);
}

.retired-operating-year-grid .retired-ledger-card > .retired-ledger-card-icon {
  display: inline-grid;
  width: 56px;
  height: 56px;
  place-items: center;
  border: 2px solid color-mix(in srgb, var(--ledger-card-accent) 75%, white);
  border-radius: 999px;
  color: var(--ledger-card-accent);
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 10px 22px color-mix(in srgb, var(--ledger-card-accent) 13%, transparent);
  position: relative;
  z-index: 1;
}

.retired-ledger-card-icon svg {
  display: block;
  width: 31px;
  height: 31px;
  color: var(--ledger-card-accent);
  fill: none;
  stroke: var(--ledger-card-accent);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.25;
  overflow: visible;
}

.retired-ledger-card-icon img {
  display: block;
  width: 58px;
  height: 58px;
  object-fit: contain;
}

.retired-ledger-card-icon use {
  color: var(--ledger-card-accent);
  fill: none;
  stroke: var(--ledger-card-accent);
}

.retired-ledger-card.is-withdrawals .retired-ledger-card-icon svg {
  display: none;
}

.retired-ledger-card.is-withdrawals .retired-ledger-card-icon::before {
  content: "$";
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: var(--ledger-card-accent);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 31px;
  font-weight: 500;
  line-height: 1;
  transform: translateY(-1px);
}

.retired-ledger-card.is-rate .retired-ledger-card-icon {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.retired-ledger-card.is-room .retired-ledger-card-icon svg {
  width: 37px;
  height: 37px;
  stroke-width: 2.15;
}

.retired-ledger-card.is-taxable .retired-ledger-card-icon svg {
  width: 39px;
  height: 39px;
  fill: none !important;
  stroke: var(--ledger-card-accent) !important;
  stroke-width: 1.65;
}

.retired-ledger-card.is-taxable .retired-ledger-card-icon use {
  fill: none !important;
  stroke: var(--ledger-card-accent) !important;
}

.retired-ledger-card-copy {
  min-width: 0;
  position: relative;
  z-index: 1;
}

.retired-operating-year-grid .retired-ledger-card span:not(.retired-ledger-card-icon) {
  color: var(--ledger-card-accent);
  font-size: 11px;
  font-weight: 950;
}

.retired-operating-year-grid .retired-ledger-card strong,
.retired-operating-year-grid .retired-ledger-card strong.positive,
.retired-operating-year-grid .retired-ledger-card strong.warning {
  color: var(--ledger-card-accent);
  font-size: clamp(24px, 2.05vw, 32px);
}

.retired-operating-year-grid .retired-ledger-card strong.negative {
  color: #cc1f2e;
}

.retired-ledger-card.is-rate #retired-ledger-withdrawal-rate,
.retired-ledger-card.is-room #retired-ledger-remaining-room {
  color: var(--ledger-card-accent) !important;
}

.retired-operating-year-grid .retired-ledger-card small {
  max-width: 24ch;
  color: #31455e;
  font-size: 12px;
  font-weight: 750;
}

.health-tax-quarter-summary-grid .health-tax-quarter-estimate-card {
  --tax-estimate-accent: #778291;
  --tax-estimate-soft: rgba(119, 130, 145, 0.12);
  --tax-estimate-wash: rgba(119, 130, 145, 0.06);
  --tax-estimate-wave-back: color-mix(in srgb, var(--tax-estimate-accent) 9%, transparent);
  --tax-estimate-wave-front: color-mix(in srgb, var(--tax-estimate-accent) 17%, transparent);
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  align-content: start;
  align-items: start;
  column-gap: 16px;
  min-height: 156px;
  padding: 22px 22px 20px;
  border-color: color-mix(in srgb, var(--tax-estimate-accent) 18%, transparent);
  background:
    radial-gradient(110% 80% at 100% 100%, var(--tax-estimate-soft), transparent 55%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), color-mix(in srgb, var(--tax-estimate-wash) 60%, #fff));
  box-shadow:
    0 14px 34px rgba(31, 53, 85, 0.055),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
  overflow: hidden;
  isolation: isolate;
}

.health-tax-quarter-summary-grid .health-tax-quarter-estimate-card::before,
.health-tax-quarter-summary-grid .health-tax-quarter-estimate-card::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  pointer-events: none;
  z-index: 0;
}

.health-tax-quarter-summary-grid .health-tax-quarter-estimate-card::before {
  height: 66px;
  background:
    linear-gradient(180deg, transparent 0%, var(--tax-estimate-wave-back) 70%, var(--tax-estimate-wave-front) 100%),
    linear-gradient(90deg, transparent, color-mix(in srgb, var(--tax-estimate-accent) 8%, transparent), transparent);
  clip-path: polygon(
    0 76%,
    8% 72%,
    15% 78%,
    25% 66%,
    35% 58%,
    45% 68%,
    56% 72%,
    66% 56%,
    76% 42%,
    86% 54%,
    94% 34%,
    100% 42%,
    100% 100%,
    0 100%
  );
  opacity: 0.78;
}

.health-tax-quarter-summary-grid .health-tax-quarter-estimate-card::after {
  height: 52px;
  background:
    linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--tax-estimate-accent) 8%, transparent) 62%, color-mix(in srgb, var(--tax-estimate-accent) 22%, transparent) 100%);
  clip-path: polygon(
    0 83%,
    8% 75%,
    18% 82%,
    29% 75%,
    39% 80%,
    48% 76%,
    58% 83%,
    69% 72%,
    79% 66%,
    88% 72%,
    96% 58%,
    100% 63%,
    100% 100%,
    0 100%
  );
  opacity: 0.9;
}

.health-tax-quarter-summary-grid .health-tax-quarter-estimate-card.is-state {
  --tax-estimate-accent: #009688;
  --tax-estimate-soft: rgba(0, 150, 136, 0.13);
  --tax-estimate-wash: rgba(0, 150, 136, 0.06);
}

.health-tax-quarter-summary-grid .health-tax-quarter-estimate-card.is-quarterly {
  --tax-estimate-accent: #8b5bd6;
  --tax-estimate-soft: rgba(139, 91, 214, 0.13);
  --tax-estimate-wash: rgba(139, 91, 214, 0.06);
}

.health-taxes-view .health-tax-quarter-summary-grid .health-tax-quarter-estimate-card > span,
.health-taxes-view .health-tax-quarter-summary-grid .health-tax-quarter-estimate-card > strong,
.health-taxes-view .health-tax-quarter-summary-grid .health-tax-quarter-estimate-card > strong.positive,
.health-taxes-view .health-tax-quarter-summary-grid .health-tax-quarter-estimate-card > strong.warning {
  color: var(--tax-estimate-accent);
}

.health-taxes-view .health-tax-quarter-summary-grid .health-tax-quarter-estimate-card > span,
.health-taxes-view .health-tax-quarter-summary-grid .health-tax-quarter-estimate-card > strong,
.health-taxes-view .health-tax-quarter-summary-grid .health-tax-quarter-estimate-card > small {
  position: relative;
  z-index: 1;
}

.health-taxes-view .health-tax-quarter-summary-grid .health-tax-quarter-estimate-card > span:not(.health-tax-estimate-card-icon) {
  font-size: 11px;
  font-weight: 950;
  grid-column: 2;
}

.health-tax-quarter-summary-grid .health-tax-quarter-estimate-card > strong {
  grid-column: 2;
  margin-top: 12px;
  font-size: clamp(24px, 2.05vw, 32px);
}

.health-tax-quarter-summary-grid .health-tax-quarter-estimate-card > small {
  grid-column: 2;
  max-width: 30ch;
  color: #31455e;
  font-weight: 750;
}

.health-tax-quarter-summary-grid .health-tax-quarter-estimate-card > .health-tax-estimate-card-icon {
  display: inline-grid;
  grid-row: 1 / span 3;
  width: 56px;
  height: 56px;
  place-items: center;
  border: 2px solid color-mix(in srgb, var(--tax-estimate-accent) 75%, white);
  border-radius: 999px;
  color: var(--tax-estimate-accent);
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 10px 22px color-mix(in srgb, var(--tax-estimate-accent) 13%, transparent);
}

.health-tax-estimate-card-icon svg {
  display: block;
  width: 31px;
  height: 31px;
  color: var(--tax-estimate-accent);
  fill: none;
  stroke: var(--tax-estimate-accent);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.2;
  overflow: visible;
}

.health-tax-estimate-card-icon use {
  color: var(--tax-estimate-accent);
  fill: none;
  stroke: var(--tax-estimate-accent);
}

.health-tax-quarter-estimate-card.is-federal .health-tax-estimate-card-icon::before {
  content: "$";
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: var(--tax-estimate-accent);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 31px;
  font-weight: 500;
  line-height: 1;
  transform: translateY(-1px);
}

.health-tax-quarter-estimate-card.is-state .health-tax-estimate-card-icon svg {
  width: 39px;
  height: 39px;
  stroke-width: 1.65;
}

.health-tax-quarter-estimate-card.is-quarterly .health-tax-estimate-card-icon svg {
  width: 33px;
  height: 33px;
  stroke-width: 2;
}

.health-tax-ledger-editor.settings-array-editor {
  margin-top: 2px;
  border-color: rgba(42, 72, 112, 0.12);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(249, 252, 255, 0.74));
}

.health-tax-ledger-editor .settings-array-editor-head {
  display: flex;
  gap: 12px;
  align-items: center;
}

.health-tax-ledger-editor .settings-array-editor-head::before {
  content: none;
}

.health-tax-ledger-editor .settings-array-editor-title-icon {
  width: 42px;
  height: 42px;
  color: #1d64c8;
}

.health-tax-ledger-editor .settings-array-editor-title-icon svg {
  width: 23px;
  height: 23px;
}

.health-tax-ledger-editor .settings-array-editor-head .settings-link-button[data-v2-settings-array-action="add"] {
  min-height: 38px;
  padding: 0 16px;
  border: 1px solid rgba(29, 100, 200, 0.16);
  border-radius: 8px;
  color: #0f5399;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(241, 247, 255, 0.9));
  box-shadow: 0 8px 18px rgba(31, 53, 85, 0.055);
  font-weight: 900;
}

.health-tax-ledger-editor .settings-array-editor-head .settings-link-button[data-v2-settings-array-action="add"]::before {
  content: "+";
  margin-right: 8px;
  font-size: 20px;
  line-height: 1;
}

.health-tax-ledger-editor .settings-array-year-group {
  border: 1px solid rgba(42, 72, 112, 0.12);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.74);
  overflow: hidden;
}

.health-tax-ledger-editor .settings-array-year-group + .settings-array-year-group {
  margin-top: 10px;
}

.health-tax-ledger-editor .settings-array-year-group > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  color: #17345d;
  cursor: pointer;
  list-style: none;
  background: linear-gradient(145deg, rgba(247, 251, 255, 0.94), rgba(255, 255, 255, 0.82));
}

.health-tax-ledger-editor .settings-array-year-group > summary::-webkit-details-marker {
  display: none;
}

.health-tax-ledger-editor .settings-array-year-group > summary::after {
  content: "Show";
  min-width: 52px;
  color: #0f5399;
  font-size: 12px;
  font-weight: 900;
  text-align: right;
}

.health-tax-ledger-editor .settings-array-year-group[open] > summary::after {
  content: "Hide";
}

.health-tax-ledger-editor .settings-array-year-group > summary span {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 800;
}

.health-tax-ledger-editor .settings-array-year-group > summary small {
  margin-left: auto;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

.health-tax-ledger-editor .settings-array-year-group-body {
  display: grid;
  gap: 0;
}

.health-tax-ledger-editor .settings-array-year-group-body .settings-array-row {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}

.health-tax-ledger-editor .settings-array-year-group-body .settings-array-row:last-child {
  border-bottom: 0;
}

.health-tax-payment-editor.settings-array-editor {
  gap: 0;
  margin-top: 16px;
  padding: 0;
  border: 1px solid rgba(42, 72, 112, 0.12);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(249, 252, 255, 0.74));
  overflow: hidden;
}

.health-tax-payment-editor .settings-array-editor-head {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 13px 16px;
  border: 0;
  border-bottom: 1px solid rgba(42, 72, 112, 0.1);
  background: rgba(255, 255, 255, 0.7);
}

.health-tax-payment-editor .settings-array-editor-title-icon {
  width: 42px;
  height: 42px;
  color: #1d64c8;
}

.health-tax-payment-editor .settings-array-editor-title-icon svg {
  width: 23px;
  height: 23px;
}

.health-tax-payment-editor .settings-array-editor-head strong {
  color: #18365f;
  font-size: 15px;
}

.health-tax-payment-editor .settings-array-editor-head p {
  margin-top: 3px;
  color: #40536b;
  font-size: 12px;
}

.health-tax-payment-editor .settings-array-editor-head .settings-link-button[data-v2-settings-array-action="add"] {
  min-height: 38px;
  padding: 0 16px;
  border: 1px solid rgba(29, 100, 200, 0.16);
  border-radius: 8px;
  color: #0f5399;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(241, 247, 255, 0.9));
  box-shadow: 0 8px 18px rgba(31, 53, 85, 0.055);
  font-weight: 900;
}

.health-tax-payment-editor .settings-array-editor-head .settings-link-button[data-v2-settings-array-action="add"]::before {
  content: "+";
  margin-right: 8px;
  font-size: 20px;
  line-height: 1;
}

.health-tax-payment-editor .settings-array-editor-help {
  margin: 0;
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}

.health-tax-payment-editor .settings-array-year-group {
  border: 1px solid rgba(42, 72, 112, 0.12);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.74);
  overflow: hidden;
}

.health-tax-payment-editor .settings-array-year-group + .settings-array-year-group {
  margin-top: 10px;
}

.health-tax-payment-editor .settings-array-year-group > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  color: #17345d;
  cursor: pointer;
  list-style: none;
  background: linear-gradient(145deg, rgba(247, 251, 255, 0.94), rgba(255, 255, 255, 0.82));
}

.health-tax-payment-editor .settings-array-year-group > summary::-webkit-details-marker {
  display: none;
}

.health-tax-payment-editor .settings-array-year-group > summary::after {
  content: "Show";
  min-width: 52px;
  color: #0f5399;
  font-size: 12px;
  font-weight: 900;
  text-align: right;
}

.health-tax-payment-editor .settings-array-year-group[open] > summary::after {
  content: "Hide";
}

.health-tax-payment-editor .settings-array-year-group > summary span {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 800;
}

.health-tax-payment-editor .settings-array-year-group > summary small {
  margin-left: auto;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

.health-tax-payment-editor .settings-array-year-group-body {
  display: grid;
  gap: 0;
}

.health-tax-payment-editor .settings-array-row {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 12px;
  padding: 14px 16px;
  border: 0;
  border-top: 1px solid rgba(42, 72, 112, 0.08);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.health-tax-payment-editor .settings-array-year-group-body .settings-array-row {
  border-right: 0;
  border-left: 0;
}

.health-tax-payment-editor .settings-array-year-group-body .settings-array-row:last-child {
  border-bottom: 0;
}

.health-tax-payment-editor .settings-array-row-head {
  display: grid;
  gap: 5px;
  align-content: start;
}

.health-tax-payment-editor .settings-array-row-head strong {
  color: #18365f;
  font-size: 13px;
}

.health-tax-payment-editor .settings-array-row-head p {
  margin: 0;
  font-size: 11px;
}

.health-tax-payment-editor .settings-array-edit-grid {
  display: grid;
  grid-template-columns: 100px 100px 155px 155px 150px 180px minmax(180px, 1fr);
  gap: 9px;
  align-items: end;
}

.health-tax-payment-editor .settings-mini-field {
  min-width: 0;
}

.health-tax-payment-editor .settings-mini-field span {
  color: #526177;
  font-size: 9.5px;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.health-tax-payment-editor .settings-mini-field input,
.health-tax-payment-editor .settings-mini-field select {
  min-height: 34px;
  padding: 7px 8px;
  border-radius: 6px;
  font-size: 12px;
}

.health-tax-summary-card {
  min-height: 188px;
  padding: 18px;
}

.health-tax-summary-card strong,
.health-tax-income-grid strong,
.health-tax-tax-estimate-grid strong,
.retired-operating-year-grid strong {
  margin-top: 9px;
  font-size: clamp(22px, 2.1vw, 32px);
}

.health-tax-quarter-grid strong {
  font-size: 22px;
}

.plan-tracking-card-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}

.allocation-card-head {
  justify-content: flex-start;
  align-items: center;
  gap: 14px;
}

.allocation-card-title-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 999px;
}

.allocation-card-title-icon img {
  display: block;
  width: 58px;
  height: 58px;
  object-fit: contain;
}

.plan-tracking-card h3 {
  font-size: 17px;
  line-height: 1.2;
}

.portfolio-snapshot-card {
  display: grid;
  align-content: start;
  padding: 22px 24px;
}

.portfolio-snapshot-combined-card {
  gap: 18px;
}

.portfolio-snapshot-hero-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 15px;
  align-items: start;
}

.portfolio-snapshot-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 999px;
  background: transparent;
}

.portfolio-snapshot-icon img {
  display: block;
  width: 58px;
  height: 58px;
  object-fit: contain;
}

.portfolio-snapshot-hero-head h3 {
  margin: 0;
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: 17px;
  line-height: 1.2;
}

.allocation-card .plan-tracking-card-head h3 {
  color: var(--theme-display);
}

.portfolio-snapshot-hero-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13.5px;
  line-height: 1.42;
}

.portfolio-snapshot-import-badge {
  justify-self: end;
  margin: 0;
  padding: 9px 13px;
  border: 1px solid color-mix(in srgb, var(--orange) 18%, var(--subtle));
  border-radius: 7px;
  background: rgba(255, 250, 244, 0.86);
  color: var(--text) !important;
  font-size: 12.5px !important;
  font-weight: 850;
  line-height: 1.2 !important;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76);
}

.plan-tracking-date-basis {
  margin: 0;
  padding: 9px 12px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 10%, var(--subtle));
  border-radius: 8px;
  background: color-mix(in srgb, var(--theme-soft) 18%, rgba(255, 255, 255, 0.82));
  color: #5c6670;
  font-size: 12.5px;
  font-weight: 780;
  line-height: 1.35;
}

.allocation-card .plan-tracking-date-basis {
  margin-top: 14px;
}

.portfolio-snapshot-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(160px, 0.58fr);
  gap: 20px;
  align-items: center;
}

.portfolio-snapshot-total-block {
  display: grid;
  gap: 9px;
}

.portfolio-snapshot-total-block span {
  color: #52605f;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.plan-tracking-primary-value {
  display: block;
  margin-top: 0;
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: clamp(34px, 3.6vw, 53px);
  font-weight: 800;
  line-height: 1;
}

.plan-tracking-change-line {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 86px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--success) 15%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(250, 255, 252, 0.96), rgba(255, 255, 255, 0.78));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.portfolio-snapshot-change-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: transparent;
  color: var(--success) !important;
}

.portfolio-snapshot-change-icon svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor !important;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.plan-tracking-change-line strong {
  display: block;
  color: var(--success);
  font-size: 24px;
  font-weight: 900;
  line-height: 1.1;
}

.plan-tracking-change-line span {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.plan-tracking-next-import {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  margin-top: 14px;
  padding: 13px;
  border: 1px solid rgba(221, 211, 197, 0.78);
  border-radius: 7px;
  background: rgba(250, 248, 242, 0.82);
}

.plan-tracking-next-import strong {
  display: block;
  color: var(--text);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.02em;
}

.plan-tracking-icon,
.activity-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, rgba(255, 255, 255, 0.86));
  border-radius: 999px;
  background: color-mix(in srgb, var(--blue-soft) 82%, white);
  color: var(--blue-dark);
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.72);
}

.plan-tracking-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.allocation-layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  margin-top: 22px;
}

.allocation-donut {
  min-height: 260px;
  display: grid;
  place-items: center;
}

.allocation-donut svg {
  width: min(100%, 264px);
  height: auto;
  filter: drop-shadow(0 12px 18px rgba(44, 37, 28, 0.06));
}

.allocation-donut circle {
  transition: stroke-dasharray 180ms ease;
}

.allocation-donut text:first-of-type {
  fill: var(--text);
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 800;
}

.allocation-donut text:last-of-type {
  fill: var(--muted);
  font-size: 8.5px;
  font-weight: 850;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.allocation-list {
  display: grid;
  gap: 0;
}

.allocation-list-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 18px;
  align-items: baseline;
  padding: 14px 0;
  color: var(--text);
  font-size: 17px;
}

.allocation-list-row + .allocation-list-row {
  border-top: 1px solid rgba(221, 211, 197, 0.74);
}

.allocation-list-row span,
.bucket-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  font-weight: 500;
}

.allocation-list-row i,
.bucket-label i {
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.85);
}

.allocation-list-row em,
.allocation-list-row small {
  color: var(--muted);
  font-style: normal;
  font-size: 17px;
  text-align: right;
}

.allocation-list-row small {
  font-size: 16px;
  font-weight: 850;
}

.allocation-list-row strong {
  text-align: left;
  font-size: 16px;
  font-weight: 900;
}

.activity-metric-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}

.activity-metric-grid article {
  min-height: 128px;
  padding: 14px;
  border: 1px solid rgba(221, 211, 197, 0.82);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.activity-icon {
  margin-bottom: 12px;
  color: var(--brand-teal);
  font-weight: 900;
}

.activity-icon svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.activity-icon.positive {
  border-color: color-mix(in srgb, var(--success) 24%, rgba(255, 255, 255, 0.86));
  background: var(--success-soft);
  color: var(--success);
}

.activity-metric-grid small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}

.activity-metric-grid strong {
  display: block;
  margin-top: 7px;
  color: var(--text);
  font-size: clamp(17px, 1.5vw, 23px);
  line-height: 1.1;
}

.portfolio-snapshot-context {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.48;
}

.portfolio-snapshot-evidence {
  margin-top: 0;
}

.plan-alignment-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(90deg,
      var(--theme-accent-strong),
      var(--theme-accent) 58%,
      color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--theme-soft) 30%, transparent), transparent 18rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.97), rgba(255, 252, 247, 0.86)),
    var(--surface);
  box-shadow:
    0 14px 34px rgba(74, 58, 42, 0.055),
    inset 0 1px 0 rgba(255, 255, 255, 0.76);
}

.plan-alignment-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.plan-alignment-title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, rgba(255, 255, 255, 0.86));
  border-radius: 999px;
  background: #f8eceb;
  color: var(--wine);
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.72);
}

.plan-alignment-title-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.plan-alignment-head h3 {
  margin: 0;
  color: var(--workspace-theme-accent-strong);
  font-family: var(--font-display);
  font-size: 24px;
  line-height: 1.12;
}

.plan-alignment-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.plan-alignment-translation {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 14px 16px;
  border: 1px solid rgba(221, 211, 197, 0.76);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(255, 253, 249, 0.78));
  box-shadow:
    0 8px 18px rgba(44, 37, 28, 0.035),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.plan-alignment-translation.positive,
.plan-alignment-translation.mixed {
  border-color: color-mix(in srgb, var(--success) 18%, var(--subtle));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--success-soft) 42%, rgba(255, 255, 255, 0.92)), rgba(255, 255, 255, 0.82));
}

.plan-alignment-translation.negative {
  border-color: rgba(216, 83, 78, 0.24);
  background:
    linear-gradient(135deg, rgba(255, 241, 240, 0.68), rgba(255, 255, 255, 0.84));
}

.plan-alignment-translation-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, rgba(255, 255, 255, 0.86));
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-soft) 54%, white);
  color: var(--theme-accent-strong);
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.72);
}

.plan-alignment-translation.positive .plan-alignment-translation-icon,
.plan-alignment-translation.mixed .plan-alignment-translation-icon {
  border-color: color-mix(in srgb, var(--success) 24%, rgba(255, 255, 255, 0.86));
  background: color-mix(in srgb, var(--success-soft) 72%, white);
  color: var(--success);
}

.plan-alignment-translation.negative .plan-alignment-translation-icon {
  border-color: rgba(216, 83, 78, 0.28);
  background: rgba(255, 222, 220, 0.76);
  color: var(--red);
}

.plan-alignment-translation-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.95;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.plan-alignment-translation h4 {
  margin: 0 0 4px;
  color: var(--text);
  font-size: 15px;
  font-weight: 950;
  line-height: 1.2;
}

.plan-alignment-translation p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

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

.plan-alignment-card {
  min-height: 158px;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-content: start;
  gap: 3px 14px;
  padding: 18px;
  border: 1px solid rgba(221, 211, 197, 0.86);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 253, 249, 0.74));
  box-shadow: 0 8px 18px rgba(44, 37, 28, 0.035);
}

.plan-alignment-card.positive {
  border-color: color-mix(in srgb, var(--success) 18%, var(--subtle));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--success-soft) 45%, rgba(255, 255, 255, 0.92)), rgba(255, 255, 255, 0.82));
}

.plan-alignment-card.negative {
  border-color: rgba(216, 83, 78, 0.22);
  background:
    linear-gradient(135deg, rgba(255, 241, 240, 0.66), rgba(255, 255, 255, 0.84));
}

.plan-alignment-card.warning {
  border-color: color-mix(in srgb, var(--gold) 34%, var(--subtle));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--gold) 18%, rgba(255, 255, 255, 0.94)), rgba(255, 255, 255, 0.84));
}

.plan-alignment-card.neutral {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 253, 249, 0.74));
}

.plan-alignment-card-icon {
  grid-row: 1 / span 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border: 1px solid color-mix(in srgb, var(--success) 24%, rgba(255, 255, 255, 0.86));
  border-radius: 999px;
  background: color-mix(in srgb, var(--success-soft) 72%, white);
  color: var(--success);
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.72);
}

.plan-alignment-card.negative .plan-alignment-card-icon {
  border-color: rgba(216, 83, 78, 0.28);
  background: rgba(255, 222, 220, 0.74);
  color: var(--red);
}

.plan-alignment-card.warning .plan-alignment-card-icon {
  border-color: color-mix(in srgb, var(--gold) 36%, rgba(255, 255, 255, 0.86));
  background: color-mix(in srgb, var(--gold) 21%, white);
  color: #b4770b;
}

.plan-alignment-card.neutral .plan-alignment-card-icon {
  border-color: color-mix(in srgb, var(--theme-accent) 24%, rgba(255, 255, 255, 0.86));
  background: color-mix(in srgb, var(--theme-soft) 50%, white);
  color: var(--theme-accent-strong);
}

.plan-alignment-card-icon svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.95;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.plan-alignment-label {
  display: block;
  color: #52605f;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.055em;
  line-height: 1.25;
  text-transform: uppercase;
}

.plan-alignment-card strong {
  display: block;
  margin-top: 7px;
  color: var(--text);
  font-family: var(--font-display);
  font-size: clamp(22px, 1.85vw, 30px);
  font-weight: 800;
  line-height: 1;
}

.plan-alignment-date-basis {
  grid-column: 2;
  display: block;
  margin-top: 8px;
  padding: 7px 9px;
  border: 1px solid rgba(221, 211, 197, 0.68);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.58);
  color: #5c6670;
  font-size: 11.5px;
  font-weight: 780;
  line-height: 1.34;
}

.plan-alignment-card strong span,
.plan-alignment-card strong em {
  display: inline;
  color: inherit;
  font: inherit;
  letter-spacing: 0;
  text-transform: none;
}

.plan-alignment-card strong em {
  color: var(--success);
  font-style: normal;
}

.plan-alignment-hidden-note {
  display: none;
}

.plan-alignment-card p {
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.42;
}

.plan-alignment-card > p {
  grid-column: 2;
}

.plan-alignment-card strong.positive {
  color: var(--success);
}

.plan-alignment-card strong.negative {
  color: var(--red);
}

.plan-alignment-panel.is-retired-withdrawal .plan-alignment-translation.positive,
.plan-alignment-panel.is-retired-withdrawal .plan-alignment-translation.mixed {
  border-color: color-mix(in srgb, var(--blue) 22%, var(--subtle));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--blue-soft) 52%, rgba(255, 255, 255, 0.96)), rgba(255, 255, 255, 0.84));
}

.plan-alignment-panel.is-retired-withdrawal .plan-alignment-translation.positive .plan-alignment-translation-icon,
.plan-alignment-panel.is-retired-withdrawal .plan-alignment-translation.mixed .plan-alignment-translation-icon {
  border-color: color-mix(in srgb, var(--blue) 24%, rgba(255, 255, 255, 0.86));
  background: color-mix(in srgb, var(--blue-soft) 76%, white);
  color: var(--blue-dark);
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.72);
}

.plan-alignment-panel.is-retired-withdrawal .retired-withdrawal-recommendation.positive {
  border-color: color-mix(in srgb, #00a6a6 28%, var(--subtle));
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, #dff8f6 86%, transparent), transparent 18rem),
    linear-gradient(135deg, rgba(248, 255, 254, 0.98), rgba(255, 255, 255, 0.82));
}

.plan-alignment-panel.is-retired-withdrawal .retired-withdrawal-recommendation.positive .retired-withdrawal-recommendation-icon {
  border-color: color-mix(in srgb, #00a6a6 28%, rgba(255, 255, 255, 0.86));
  background: color-mix(in srgb, #dff8f6 78%, white);
  color: #008f8c;
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.72);
}

.plan-alignment-panel.is-retired-withdrawal .retired-withdrawal-recommendation.positive .retired-withdrawal-recommendation-main strong {
  color: #008f8c;
}

.plan-alignment-panel.is-retired-withdrawal #balance-latest-variance-card:not(.negative) {
  border-color: color-mix(in srgb, var(--blue) 22%, var(--subtle));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--blue-soft) 44%, rgba(255, 255, 255, 0.95)), rgba(255, 255, 255, 0.84));
}

.plan-alignment-panel.is-retired-withdrawal #balance-latest-variance-card:not(.negative) .plan-alignment-card-icon {
  border-color: color-mix(in srgb, var(--blue) 24%, rgba(255, 255, 255, 0.86));
  background: color-mix(in srgb, var(--blue-soft) 76%, white);
  color: var(--blue-dark);
}

.plan-alignment-panel.is-retired-withdrawal #balance-latest-variance-card:not(.negative) strong,
.plan-alignment-panel.is-retired-withdrawal #balance-latest-variance-card:not(.negative) strong.positive {
  color: var(--blue-dark) !important;
}

.plan-alignment-panel.is-retired-withdrawal #balance-target-gap-card:not(.negative) {
  border-color: color-mix(in srgb, #00a6a6 24%, var(--subtle));
  background:
    linear-gradient(135deg, color-mix(in srgb, #dff8f6 68%, rgba(255, 255, 255, 0.95)), rgba(255, 255, 255, 0.84));
}

.plan-alignment-panel.is-retired-withdrawal #balance-target-gap-card:not(.negative) .plan-alignment-card-icon {
  border-color: color-mix(in srgb, #00a6a6 28%, rgba(255, 255, 255, 0.86));
  background: color-mix(in srgb, #dff8f6 78%, white);
  color: #008f8c;
}

.plan-alignment-panel.is-retired-withdrawal #balance-target-gap-card:not(.negative) strong,
.plan-alignment-panel.is-retired-withdrawal #balance-target-gap-card:not(.negative) strong.positive {
  color: #008f8c !important;
}

.plan-alignment-panel.is-retired-withdrawal #balance-target-gap-card:not(.negative) strong .positive {
  color: #008f8c !important;
}

.plan-alignment-panel.is-retired-withdrawal #balance-trailing-change-card:not(.negative) {
  border-color: color-mix(in srgb, #8b5cf6 22%, var(--subtle));
  background:
    linear-gradient(135deg, color-mix(in srgb, #efe7ff 70%, rgba(255, 255, 255, 0.95)), rgba(255, 255, 255, 0.84));
}

.plan-alignment-panel.is-retired-withdrawal #balance-trailing-change-card:not(.negative) .plan-alignment-card-icon {
  border-color: color-mix(in srgb, #8b5cf6 26%, rgba(255, 255, 255, 0.86));
  background: color-mix(in srgb, #efe7ff 80%, white);
  color: #6f3ed6;
}

.plan-alignment-panel.is-retired-withdrawal #balance-trailing-change-card:not(.negative) strong,
.plan-alignment-panel.is-retired-withdrawal #balance-trailing-change-card:not(.negative) strong.positive {
  color: #6f3ed6 !important;
}

.plan-alignment-panel.is-retired-withdrawal #balance-average-variance-card:not(.negative) {
  border-color: color-mix(in srgb, var(--gold) 36%, var(--subtle));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--gold) 18%, rgba(255, 255, 255, 0.95)), rgba(255, 255, 255, 0.84));
}

.plan-alignment-panel.is-retired-withdrawal #balance-average-variance-card:not(.negative) .plan-alignment-card-icon {
  border-color: color-mix(in srgb, var(--gold) 36%, rgba(255, 255, 255, 0.86));
  background: color-mix(in srgb, var(--gold) 22%, white);
  color: #a56400;
}

.plan-alignment-panel.is-retired-withdrawal #balance-average-variance-card:not(.negative) strong,
.plan-alignment-panel.is-retired-withdrawal #balance-average-variance-card:not(.negative) strong.positive {
  color: #a56400 !important;
}

.expected-return-panel {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--blue) 14%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(90deg,
      var(--theme-accent-strong),
      var(--theme-accent)) top / 100% 4px no-repeat,
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(250, 253, 255, 0.9)),
    var(--surface);
  box-shadow:
    0 14px 34px rgba(25, 42, 54, 0.055),
    inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.expected-return-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.expected-return-title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border: 1px solid color-mix(in srgb, var(--blue) 24%, rgba(255, 255, 255, 0.86));
  border-radius: 999px;
  background: color-mix(in srgb, var(--blue-soft) 74%, white);
  color: var(--blue-dark);
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.72);
}

.expected-return-title-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.95;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.expected-return-head h3 {
  margin: 0;
  color: var(--theme-accent-strong);
  font-family: var(--font-display);
  font-size: 26px;
  line-height: 1.12;
}

.expected-return-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.expected-return-attribution:empty {
  display: none;
}

.expected-return-attribution-panel {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--blue) 24%, var(--subtle));
  border-radius: 8px;
  background:
    radial-gradient(circle at 96% 0%, color-mix(in srgb, var(--blue-soft) 70%, transparent), transparent 24rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 255, 0.9));
  box-shadow: 0 10px 24px rgba(25, 73, 119, 0.055);
}

.expected-return-attribution-panel.positive {
  border-color: color-mix(in srgb, var(--green) 32%, var(--subtle));
}

.expected-return-attribution-panel.negative {
  border-color: rgba(194, 65, 61, 0.32);
}

.expected-return-attribution-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}

.expected-return-attribution-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 1px solid color-mix(in srgb, var(--blue) 34%, white);
  border-radius: 999px;
  background: color-mix(in srgb, var(--blue-soft) 74%, white);
  color: var(--blue-dark);
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.72);
}

.expected-return-attribution-panel.positive .expected-return-attribution-icon {
  border-color: color-mix(in srgb, var(--green) 34%, white);
  background: color-mix(in srgb, var(--green-soft) 72%, white);
  color: var(--green-dark);
}

.expected-return-attribution-panel.negative .expected-return-attribution-icon {
  border-color: rgba(194, 65, 61, 0.32);
  background: rgba(255, 241, 240, 0.9);
  color: #a93633;
}

.expected-return-attribution-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.expected-return-attribution-head .eyebrow {
  margin: 0 0 2px;
  color: var(--theme-accent-strong);
  font-size: 11px;
}

.expected-return-attribution-head h4 {
  margin: 0;
  color: var(--ink);
  font-family: var(--font-display);
  font-size: 22px;
  line-height: 1.15;
}

.expected-return-attribution-head > div > p:last-child {
  max-width: 980px;
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13.5px;
  line-height: 1.45;
}

.expected-return-attribution-confidence {
  display: grid;
  gap: 3px;
  min-width: 150px;
  padding: 10px 13px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, var(--subtle));
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.82);
}

.expected-return-attribution-confidence em,
.expected-return-attribution-confidence strong {
  font-style: normal;
}

.expected-return-attribution-confidence em {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.expected-return-attribution-confidence strong {
  color: var(--theme-accent-strong);
  font-size: 13px;
}

.expected-return-attribution-status {
  display: grid;
  grid-template-columns: minmax(190px, 1fr);
  gap: 8px;
}

.expected-return-attribution-confidence.positive strong {
  color: #128154;
}

.expected-return-attribution-confidence.negative strong {
  color: #a93633;
}

.expected-return-definition-grid,
.expected-return-question-grid {
  display: grid;
  gap: 10px;
}

.expected-return-definition-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.expected-return-question-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.expected-return-definition-grid article,
.expected-return-question-grid article {
  padding: 14px 15px;
  border: 1px solid rgba(210, 220, 230, 0.82);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.78);
}

.expected-return-definition-grid article {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-height: 128px;
}

.expected-return-definition-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin: 0 !important;
  border: 1px solid color-mix(in srgb, var(--blue) 28%, white);
  border-radius: 999px;
  background: color-mix(in srgb, var(--blue-soft) 76%, white);
  color: var(--blue-dark) !important;
}

.expected-return-definition-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.expected-return-definition-grid article.actual .expected-return-definition-icon {
  border-color: color-mix(in srgb, var(--green) 28%, white);
  background: color-mix(in srgb, var(--green-soft) 74%, white);
  color: var(--green-dark) !important;
}

.expected-return-definition-grid article.adjusted .expected-return-definition-icon {
  border-color: rgba(77, 44, 153, 0.24);
  background: rgba(236, 228, 250, 0.78);
  color: var(--adjusted-purple-dark) !important;
}

.expected-return-definition-grid article.negative .expected-return-definition-icon {
  border-color: rgba(216, 83, 78, 0.28);
  background: rgba(255, 222, 220, 0.74);
  color: #9f2f35 !important;
}

.expected-return-definition-grid span,
.expected-return-question-grid span {
  display: block;
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.expected-return-definition-grid strong,
.expected-return-question-grid strong {
  display: block;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.2;
}

.expected-return-definition-grid strong {
  font-family: var(--font-display);
  font-size: 24px;
}

.expected-return-definition-grid article.actual.positive strong {
  color: #128154;
}

.expected-return-definition-grid article.actual.negative strong {
  color: #9f2f35;
}

.expected-return-definition-grid article.adjusted strong {
  color: var(--adjusted-purple-dark);
}

.expected-return-definition-grid p,
.expected-return-question-grid p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.42;
}

.expected-return-reconciliation {
  display: grid;
  grid-template-columns: minmax(118px, 1fr) auto minmax(118px, 1fr) auto minmax(150px, 1.2fr) auto minmax(128px, 1fr) auto minmax(118px, 1fr);
  gap: 8px;
  align-items: stretch;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  border-radius: 7px;
  background: color-mix(in srgb, var(--workspace-theme-soft) 36%, rgba(255, 255, 255, 0.88));
}

.expected-return-reconciliation article {
  display: grid;
  align-content: center;
  gap: 4px;
  min-width: 0;
  padding: 10px 11px;
  border: 1.5px solid color-mix(in srgb, var(--theme-accent) 44%, var(--subtle));
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 3px 10px rgba(20, 54, 91, 0.045);
}

.expected-return-reconciliation > i {
  align-self: center;
  color: var(--muted);
  font-size: 18px;
  font-style: normal;
  font-weight: 900;
}

.expected-return-reconciliation span,
.expected-return-reconciliation small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}

.expected-return-reconciliation span {
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.expected-return-reconciliation strong {
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: 17px;
}

.expected-return-reconciliation .remaining.positive strong {
  color: #128154;
}

.expected-return-reconciliation .remaining.positive {
  border-color: color-mix(in srgb, var(--green) 52%, var(--subtle));
  background: color-mix(in srgb, var(--green-soft) 34%, white);
}

.expected-return-reconciliation .remaining.negative strong {
  color: #a93633;
}

.expected-return-reconciliation .remaining.negative {
  border-color: rgba(194, 65, 61, 0.52);
  background: rgba(255, 246, 245, 0.94);
}

.expected-return-summary-card,
.expected-return-empty {
  min-height: 142px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-content: start;
  gap: 12px;
  padding: 18px;
  border: 1px solid rgba(221, 211, 197, 0.78);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 8px 18px rgba(25, 42, 54, 0.035);
}

.expected-return-summary-card {
  align-items: start;
}

.expected-return-empty {
  grid-column: 1 / -1;
  grid-template-columns: 1fr;
  min-height: 0;
}

.expected-return-summary-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid color-mix(in srgb, var(--success) 24%, rgba(255, 255, 255, 0.86));
  border-radius: 999px;
  background: color-mix(in srgb, var(--success-soft) 74%, white);
  color: var(--success);
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.72);
}

.expected-return-summary-icon.expected {
  border-color: color-mix(in srgb, var(--blue) 24%, rgba(255, 255, 255, 0.86));
  background: color-mix(in srgb, var(--blue-soft) 76%, white);
  color: #145bc3;
}

.expected-return-summary-icon.adjusted {
  border-color: rgba(77, 44, 153, 0.24);
  background: rgba(236, 228, 250, 0.78);
  color: #4d2c99;
}

.expected-return-summary-card.negative .expected-return-summary-icon,
.expected-return-summary-icon.variance {
  border-color: color-mix(in srgb, var(--success) 24%, rgba(255, 255, 255, 0.86));
  background: color-mix(in srgb, var(--success-soft) 74%, white);
  color: var(--success);
}

.expected-return-summary-card.negative .expected-return-summary-icon.variance {
  border-color: rgba(216, 83, 78, 0.28);
  background: rgba(255, 222, 220, 0.74);
  color: var(--red);
}

.expected-return-summary-icon.balance {
  border-color: color-mix(in srgb, var(--success) 24%, rgba(255, 255, 255, 0.86));
  background: color-mix(in srgb, var(--success-soft) 74%, white);
  color: var(--success);
}

.expected-return-summary-card.negative .expected-return-summary-icon.balance {
  border-color: rgba(216, 83, 78, 0.28);
  background: rgba(255, 222, 220, 0.74);
  color: var(--red);
}

.expected-return-summary-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.95;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.expected-return-summary-label {
  justify-self: start;
  color: #17405f;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.04em;
  line-height: 1.15;
  text-transform: uppercase;
}

.expected-return-summary-card strong,
.expected-return-empty strong {
  color: #17405f;
  font-family: var(--font-display);
  font-size: 27px;
  line-height: 1.05;
}

.expected-return-summary-card strong {
  display: block;
  margin-top: 6px;
}

.expected-return-summary-card small,
.expected-return-empty p {
  display: block;
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.38;
}

.expected-return-summary-card.positive span {
  color: #0d7a4f;
}

.expected-return-summary-card.positive strong {
  color: #128154;
}

.expected-return-summary-card.is-adjusted.positive span,
.expected-return-summary-card.is-adjusted.positive strong {
  color: var(--adjusted-purple-dark);
}

.expected-return-summary-card.negative span {
  color: #8a2f32;
}

.expected-return-summary-card.negative strong,
.expected-return-chart-row.negative .expected-return-chart-detail .is-variance {
  color: #9f2f35;
}

.expected-return-chart-row.positive .expected-return-chart-detail .is-variance {
  color: #128154;
}

.expected-return-chart-row .expected-return-chart-detail strong.is-variance.positive {
  color: #128154;
}

.expected-return-chart-row .expected-return-chart-detail strong.is-variance.negative {
  color: #9f2f35;
}

.expected-return-chart-row .expected-return-chart-detail strong.is-variance.neutral {
  color: var(--navy);
}

.expected-return-chart-row:not(.expected-return-overall-row) .expected-return-chart-detail > span.is-balance.positive strong {
  color: #128154;
}

.expected-return-chart-row:not(.expected-return-overall-row) .expected-return-chart-detail > span.is-balance.negative strong {
  color: #9f2f35;
}

.expected-return-chart {
  display: grid;
  gap: 16px;
  padding: 0;
  border: 1px solid rgba(221, 211, 197, 0.76);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.36);
}

.expected-return-chart-head,
.expected-return-chart-row {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(220px, 1fr);
  column-gap: 28px;
  row-gap: 14px;
  align-items: center;
}

.expected-return-chart-head {
  color: #52605f;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.expected-return-chart-group {
  overflow: hidden;
  border: 1px solid rgba(221, 211, 197, 0.82);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.7);
}

.expected-return-overall {
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--blue) 18%, rgba(221, 211, 197, 0.82));
  border-left: 5px solid #145bc3;
  border-radius: 8px;
  background:
    radial-gradient(circle at 6% 12%, color-mix(in srgb, var(--blue-soft) 74%, transparent), transparent 18rem),
    rgba(255, 255, 255, 0.82);
  box-shadow:
    0 10px 24px rgba(20, 91, 195, 0.045),
    inset 0 1px 0 rgba(255, 255, 255, 0.76);
}

.expected-return-chart-body {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.expected-return-chart-row {
  padding: 18px 18px 16px;
  border: 1px solid rgba(232, 226, 216, 0.78);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: inset 4px 0 0 color-mix(in srgb, var(--success) 82%, white);
}

.expected-return-overall-row {
  margin: 0;
  min-height: 360px;
  padding: 30px 30px 28px;
  border-color: color-mix(in srgb, var(--blue) 18%, rgba(232, 226, 216, 0.78));
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--blue-soft) 48%, white), rgba(255, 255, 255, 0.9));
  box-shadow: none;
}

.expected-return-overall .expected-return-chart-account {
  grid-template-columns: 60px minmax(0, 1fr);
}

.expected-return-overall .expected-return-chart-account .expected-return-account-icon {
  width: 58px;
  height: 58px;
}

.expected-return-overall .expected-return-chart-account .expected-return-account-icon svg {
  width: 30px;
  height: 30px;
}

.expected-return-overall .expected-return-chart-account strong {
  color: #07142d;
  font-family: var(--font-display);
  font-size: 23px;
  font-weight: 950;
  line-height: 1.08;
}

.expected-return-overall .expected-return-chart-account small {
  margin-top: 6px;
  font-size: 14px;
}

.expected-return-overall .expected-return-chart-measure {
  grid-column: 2 / span 2;
}

.expected-return-chart-row:not(.expected-return-overall-row) .expected-return-chart-measure {
  grid-column: 2 / span 2;
}

.expected-return-chart-row.checking {
  background: linear-gradient(90deg, rgba(238, 242, 247, 0.72), rgba(255, 255, 255, 0.86));
  box-shadow: inset 4px 0 0 #6f7f86;
}

.expected-return-chart-row.savings {
  background: linear-gradient(90deg, color-mix(in srgb, var(--success-soft) 52%, white), rgba(255, 255, 255, 0.86));
  box-shadow: inset 4px 0 0 var(--success);
}

.expected-return-chart-row.brokerage {
  background: linear-gradient(90deg, rgba(244, 235, 255, 0.72), rgba(255, 255, 255, 0.86));
  box-shadow: inset 4px 0 0 #6b3fb2;
}

.expected-return-chart-row.taxDeferred,
.expected-return-chart-row.roth {
  background: linear-gradient(90deg, rgba(252, 235, 239, 0.72), rgba(255, 255, 255, 0.86));
  box-shadow: inset 4px 0 0 var(--wine);
}

.expected-return-chart-row.other {
  background: linear-gradient(90deg, color-mix(in srgb, var(--blue-soft) 46%, white), rgba(255, 255, 255, 0.86));
  box-shadow: inset 4px 0 0 var(--blue-dark);
}

.expected-return-chart-group .expected-return-chart-row {
  box-shadow: none;
}

.expected-return-chart-group .expected-return-chart-row.brokerage,
.expected-return-chart-group .expected-return-chart-row.checking,
.expected-return-chart-group .expected-return-chart-row.savings,
.expected-return-chart-group .expected-return-chart-row.taxDeferred,
.expected-return-chart-group .expected-return-chart-row.roth,
.expected-return-chart-group .expected-return-chart-row.other {
  box-shadow: none;
}

.expected-return-chart-account {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  min-width: 0;
}

.expected-return-chart-account .expected-return-account-icon {
  width: 52px;
  height: 52px;
}

.expected-return-chart-account .expected-return-account-icon svg {
  width: 26px;
  height: 26px;
}

.expected-return-chart-measure {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.expected-return-account-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid color-mix(in srgb, var(--success) 24%, rgba(255, 255, 255, 0.86));
  border-radius: 999px;
  background: color-mix(in srgb, var(--success-soft) 74%, white);
  color: var(--success);
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.72);
}

.expected-return-account-icon.brokerage {
  border-color: rgba(107, 63, 178, 0.26);
  background: rgba(244, 235, 255, 0.92);
  color: #6b3fb2;
}

.expected-return-account-icon.checking {
  border-color: rgba(95, 111, 122, 0.26);
  background: rgba(238, 242, 247, 0.96);
  color: #5f6f7a;
}

.expected-return-account-icon.taxDeferred,
.expected-return-account-icon.roth {
  border-color: color-mix(in srgb, var(--wine) 24%, rgba(255, 255, 255, 0.86));
  background: rgba(252, 235, 239, 0.92);
  color: var(--wine);
}

.expected-return-account-icon.other {
  border-color: color-mix(in srgb, var(--blue) 24%, rgba(255, 255, 255, 0.86));
  background: color-mix(in srgb, var(--blue-soft) 70%, white);
  color: var(--blue-dark);
}

.expected-return-account-icon.overall {
  border-color: color-mix(in srgb, var(--blue) 24%, rgba(255, 255, 255, 0.86));
  background: color-mix(in srgb, var(--blue-soft) 76%, white);
  color: var(--blue-dark);
}

.expected-return-account-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.expected-return-bucket-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  max-width: 100%;
  margin-top: 8px;
  padding: 6px 10px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--success-soft) 70%, white);
  color: var(--text);
  font-size: 11px;
  font-weight: 780;
  line-height: 1;
  white-space: nowrap;
}

.expected-return-bucket-pill.brokerage {
  background: rgba(244, 235, 255, 0.78);
}

.expected-return-bucket-pill.checking {
  background: rgba(238, 242, 247, 0.92);
}

.expected-return-bucket-pill.taxDeferred,
.expected-return-bucket-pill.roth {
  background: rgba(252, 235, 239, 0.82);
}

.expected-return-bucket-pill.other {
  background: rgba(238, 242, 247, 0.92);
}

.expected-return-bucket-pill.overall {
  background: color-mix(in srgb, var(--blue-soft) 70%, white);
}

.expected-return-bucket-pill.overall i {
  background: var(--blue-dark);
}

.expected-return-bucket-pill.overall svg {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  fill: none;
  stroke: var(--blue-dark);
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.expected-return-bucket-pill i {
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.75);
}

.expected-return-chart-row strong {
  display: block;
  color: var(--text);
  font-size: 16px;
  line-height: 1.2;
}

.expected-return-chart-row small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.34;
}

.expected-return-bars {
  display: grid;
  gap: 10px;
}

.expected-return-bar-line {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) 64px;
  gap: 14px;
  align-items: center;
}

.expected-return-bar-line b {
  color: #263553;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
}

.expected-return-bar-line i {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  height: 14px;
  min-width: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(225, 229, 235, 0.96), rgba(238, 240, 244, 0.86));
}

.expected-return-bar-line i::before {
  content: "";
  display: block;
  width: var(--bar-width, 3%);
  height: 100%;
  min-width: 3px;
  border-radius: inherit;
  background: #1c65d8;
}

.expected-return-bar-line.actual i::before {
  background: #128154;
}

.expected-return-bar-line.adjusted i::before {
  background: var(--adjusted-purple);
}

.expected-return-bar-line.actual.negative i::before {
  background: #cf4f52;
}

.expected-return-bar-line.adjusted.negative i::before {
  background: #cf4f52;
}

.expected-return-bar-line em {
  min-width: 52px;
  color: #33415c;
  font-size: 13px;
  font-style: normal;
  font-weight: 850;
  text-align: right;
}

.expected-return-overall-score {
  display: grid;
  gap: 14px;
  align-self: stretch;
  align-content: center;
  justify-items: center;
  grid-column: 4;
  min-width: 0;
  padding: 0 18px;
  border-left: 1px solid rgba(207, 218, 230, 0.9);
}

.expected-return-overall-score span {
  display: block;
  text-align: center;
}

.expected-return-overall-score em,
.expected-return-overall-score strong {
  display: inline;
}

.expected-return-overall-score em {
  color: #1c65d8;
  font-size: 18px;
  font-style: normal;
  font-weight: 900;
  text-align: right;
}

.expected-return-overall-score strong {
  margin-top: 0;
  color: #1c65d8;
  font-size: 18px;
  font-weight: 950;
  text-align: right;
}

.expected-return-overall-score .is-actual strong.positive,
.expected-return-overall-score .is-actual:has(strong.positive) em {
  color: #128154;
}

.expected-return-overall-score .is-adjusted em,
.expected-return-overall-score .is-adjusted strong {
  color: var(--adjusted-purple-dark);
}

.expected-return-overall-score .is-adjusted strong.positive {
  color: var(--adjusted-purple-dark);
}

.expected-return-overall-score strong.negative,
.expected-return-overall-score span:has(strong.negative) em {
  color: #9f2f35;
}

.expected-return-row-score {
  display: grid;
  grid-column: 4;
  gap: 12px;
  align-content: center;
  justify-items: end;
  min-width: 0;
  text-align: right;
}

.expected-return-row-score span {
  display: block;
}

.expected-return-row-score em,
.expected-return-row-score strong {
  display: inline;
  color: #1c65d8;
  font-size: 15px;
  font-style: normal;
  font-weight: 950;
  line-height: 1.15;
}

.expected-return-row-score .is-actual strong.positive,
.expected-return-row-score .is-actual:has(strong.positive) em {
  color: #128154;
}

.expected-return-row-score .is-adjusted em,
.expected-return-row-score .is-adjusted strong {
  color: var(--adjusted-purple-dark);
}

.expected-return-chart-row.positive .expected-return-row-score .is-adjusted strong.positive,
.expected-return-row-score .is-adjusted strong.positive {
  color: var(--adjusted-purple-dark);
}

.expected-return-row-score strong.negative,
.expected-return-row-score span:has(strong.negative) em {
  color: #9f2f35;
}

.expected-return-chart-row:not(.expected-return-overall-row) {
  grid-template-columns: 1fr;
  gap: 0;
  align-items: stretch;
  min-height: 320px;
  padding: 0;
}

.expected-return-row-main {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(220px, 1fr);
  column-gap: 28px;
  row-gap: 14px;
  align-items: center;
  min-height: 204px;
  padding: 28px 24px 24px;
  border-bottom: 1px solid rgba(226, 232, 240, 0.82);
  background: rgba(255, 255, 255, 0.94);
}

.expected-return-chart-detail {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(140px, 1fr));
  gap: 10px;
  padding-top: 2px;
}

.expected-return-overall-detail {
  grid-template-columns: repeat(5, minmax(140px, 1fr));
  gap: 28px;
}

.expected-return-chart-detail > span {
  min-width: 0;
  min-height: 62px;
  padding: 13px 16px;
  border: 1px solid rgba(232, 226, 216, 0.72);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.68);
}

.expected-return-overall-detail > span {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  min-height: 126px;
  padding: 22px 20px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 8px 18px rgba(25, 42, 54, 0.035);
}

.expected-return-overall-detail .expected-return-summary-icon {
  width: 40px;
  height: 40px;
}

.expected-return-overall-detail .expected-return-summary-icon svg {
  width: 21px;
  height: 21px;
}

.expected-return-overall-detail em {
  color: #263553;
  font-size: 12px;
  font-weight: 950;
}

.expected-return-overall-detail strong {
  margin-top: 7px;
  font-size: 26px;
  font-weight: 950;
}

.expected-return-overall-detail > span.is-observed.positive strong,
.expected-return-overall-detail > span.is-balance.positive strong {
  color: #128154;
}

.expected-return-overall-detail > span.is-adjusted.positive em,
.expected-return-overall-detail > span.is-adjusted.positive strong {
  color: var(--adjusted-purple-dark);
}

.expected-return-overall-detail > span.is-observed.negative strong,
.expected-return-overall-detail > span.is-adjusted.negative strong,
.expected-return-overall-detail > span.is-balance.negative strong {
  color: #9f2f35;
}

.expected-return-overall-detail > span.is-expected em,
.expected-return-overall-detail > span.is-expected strong {
  color: #1c65d8;
}

.expected-return-overall-detail small {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
}

.expected-return-history-note {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  padding: 11px 14px;
  border: 1px solid color-mix(in srgb, var(--blue) 28%, rgba(208, 220, 232, 0.9));
  border-radius: 8px;
  background: color-mix(in srgb, var(--blue-soft) 44%, rgba(255, 255, 255, 0.94));
  color: #31526d;
}

.expected-return-history-note-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid color-mix(in srgb, var(--blue) 38%, white);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.76);
  color: var(--blue-dark);
}

.expected-return-history-note-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.expected-return-history-note p {
  margin: 0;
  color: #31526d;
  font-size: 12.5px;
  font-weight: 750;
  line-height: 1.4;
}

.expected-return-chart-row:not(.expected-return-overall-row) .expected-return-chart-detail {
  grid-template-columns: repeat(5, minmax(112px, 1fr));
  gap: 0;
  padding: 22px 24px 24px;
  background: rgba(255, 255, 255, 0.94);
  border-top: 0;
  border-bottom: 1px solid rgba(226, 232, 240, 0.82);
}

.expected-return-chart-row:not(.expected-return-overall-row) .expected-return-chart-detail > span {
  min-height: 72px;
  padding: 0 28px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.expected-return-chart-row:not(.expected-return-overall-row) .expected-return-chart-detail > span:first-child {
  padding-left: 0;
}

.expected-return-chart-row:not(.expected-return-overall-row) .expected-return-chart-detail > span + span {
  border-left: 1px solid rgba(226, 232, 240, 0.9);
}

.expected-return-chart-detail em,
.expected-return-chart-detail strong {
  display: block;
}

.expected-return-chart-detail em {
  color: #52605f;
  font-size: 10px;
  font-style: normal;
  font-weight: 920;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.expected-return-chart-detail strong {
  margin-top: 6px;
  color: #17405f;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.12;
  white-space: nowrap;
}

.expected-return-chart-measure p {
  grid-column: 1 / -1;
  margin: 0;
  color: #46575c;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.38;
}

.expected-return-chart-row > p {
  grid-column: 1 / -1;
  margin: 0;
  padding: 14px 18px 16px;
  color: #46575c;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.38;
}

.expected-return-rows {
  display: grid;
  gap: 12px;
}

.expected-return-rows:empty {
  display: none;
}

.expected-return-chart-group {
  overflow: hidden;
  border: 1px solid rgba(221, 211, 197, 0.82);
  border-left: 5px solid var(--success);
  border-radius: 8px;
  background: color-mix(in srgb, var(--success-soft) 52%, white);
}

.expected-return-chart-group.brokerage {
  border-left-color: #6b46b4;
  background: rgba(247, 242, 255, 0.92);
}

.expected-return-chart-group.checking {
  border-left-color: #6f7f86;
  background: rgba(244, 247, 250, 0.92);
}

.expected-return-chart-group.taxDeferred,
.expected-return-chart-group.roth {
  border-left-color: var(--wine);
  background: rgba(255, 244, 246, 0.92);
}

.expected-return-chart-group.other {
  border-left-color: var(--blue-dark);
  background: color-mix(in srgb, var(--blue-soft) 42%, white);
}

.expected-return-chart-group .expected-return-bucket-header,
.expected-return-chart-group .expected-return-chart-row {
  box-shadow: none;
}

.expected-return-bucket-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) repeat(3, minmax(88px, auto));
  gap: 16px;
  align-items: center;
  padding: 13px 16px;
  background: color-mix(in srgb, var(--success-soft) 58%, rgba(255, 255, 255, 0.98));
  box-shadow: inset 4px 0 var(--success);
}

.expected-return-chart-group.brokerage .expected-return-bucket-header {
  background: rgba(247, 242, 255, 0.98);
  box-shadow: inset 4px 0 #6b46b4;
}

.expected-return-chart-group.checking .expected-return-bucket-header {
  background: rgba(244, 247, 250, 0.98);
  box-shadow: inset 4px 0 #6f7f86;
}

.expected-return-chart-group.taxDeferred .expected-return-bucket-header,
.expected-return-chart-group.roth .expected-return-bucket-header {
  background: rgba(255, 244, 246, 0.98);
  box-shadow: inset 4px 0 var(--wine);
}

.expected-return-chart-group.other .expected-return-bucket-header {
  background: rgba(241, 246, 252, 0.98);
  box-shadow: inset 4px 0 var(--blue-dark);
}

.expected-return-chart-group .expected-return-bucket-header {
  box-shadow: none;
}

.expected-return-chart-group.brokerage .expected-return-bucket-header,
.expected-return-chart-group.checking .expected-return-bucket-header,
.expected-return-chart-group.taxDeferred .expected-return-bucket-header,
.expected-return-chart-group.roth .expected-return-bucket-header,
.expected-return-chart-group.other .expected-return-bucket-header {
  box-shadow: none;
}

.expected-return-bucket-label {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}

.expected-return-bucket-label .expected-return-account-icon {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
}

.expected-return-bucket-label .expected-return-account-icon svg {
  width: 22px;
  height: 22px;
}

.expected-return-bucket-label strong {
  color: var(--text);
  font-size: 15px;
  font-weight: 950;
  line-height: 1;
}

.expected-return-bucket-label small,
.expected-return-bucket-header > span:not(.expected-return-bucket-label) {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  border: 1px solid rgba(221, 211, 197, 0.72);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.66);
  color: #6e665b;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.expected-return-bucket-label small {
  padding: 5px 10px;
}

.expected-return-bucket-header > span:not(.expected-return-bucket-label) {
  display: grid;
  justify-items: start;
  gap: 5px;
  min-height: 46px;
  padding: 9px 16px;
}

.expected-return-bucket-header em {
  color: #52605f;
  font-size: 10.5px;
  font-style: normal;
  font-weight: 920;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.expected-return-bucket-header strong {
  color: #17405f;
  font-size: 18px;
  font-weight: 940;
}

.expected-return-bucket-header > span.is-expected em,
.expected-return-bucket-header > span.is-expected strong {
  color: #1c65d8;
}

.expected-return-bucket-header > span.is-observed.positive strong {
  color: #128154;
}

.expected-return-bucket-header > span.is-observed.negative strong {
  color: #9f2f35;
}

.expected-return-chart-group.negative .expected-return-bucket-header > span:last-child strong {
  color: #9f2f35;
}

.expected-return-chart-group.positive .expected-return-bucket-header > span:last-child strong {
  color: #128154;
}

.expected-return-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--gold) 40%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--gold) 18%, rgba(255, 255, 255, 0.96)), rgba(255, 255, 255, 0.88));
  color: #5f4510;
  box-shadow:
    0 8px 20px rgba(147, 103, 12, 0.055),
    inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.expected-return-note-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid color-mix(in srgb, var(--gold) 36%, rgba(255, 255, 255, 0.86));
  border-radius: 999px;
  background: color-mix(in srgb, var(--gold) 30%, white);
  color: #9b6500;
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.72);
}

.expected-return-note-icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.expected-return-note p {
  margin: 0;
  color: #5f4510;
  font-size: 13.5px;
  font-weight: 850;
  line-height: 1.45;
}

.retired-withdrawal-recommendation {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(260px, 0.7fr);
  gap: 18px;
  align-items: stretch;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--blue) 18%, var(--subtle));
  border-radius: 8px;
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--blue-soft) 64%, transparent), transparent 18rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 255, 0.82));
  box-shadow:
    0 12px 28px rgba(31, 91, 157, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.retired-withdrawal-recommendation[hidden] {
  display: none;
}

.retired-withdrawal-recommendation.positive {
  border-color: color-mix(in srgb, var(--success) 22%, var(--subtle));
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--success-soft) 72%, transparent), transparent 18rem),
    linear-gradient(135deg, rgba(250, 255, 252, 0.98), rgba(255, 255, 255, 0.82));
}

.retired-withdrawal-recommendation.warning {
  border-color: color-mix(in srgb, var(--gold) 38%, var(--subtle));
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--gold) 24%, transparent), transparent 18rem),
    linear-gradient(135deg, rgba(255, 252, 244, 0.98), rgba(255, 255, 255, 0.82));
}

.retired-withdrawal-recommendation.negative {
  border-color: rgba(216, 83, 78, 0.25);
  background:
    radial-gradient(circle at 8% 0%, rgba(255, 222, 220, 0.55), transparent 18rem),
    linear-gradient(135deg, rgba(255, 247, 246, 0.98), rgba(255, 255, 255, 0.82));
}

.retired-withdrawal-recommendation-main {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 15px;
  align-items: center;
}

.retired-withdrawal-recommendation-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  border: 1px solid color-mix(in srgb, var(--blue) 24%, rgba(255, 255, 255, 0.86));
  border-radius: 999px;
  background: color-mix(in srgb, var(--blue-soft) 78%, white);
  color: var(--blue-dark);
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.72);
}

.retired-withdrawal-recommendation.positive .retired-withdrawal-recommendation-icon {
  border-color: color-mix(in srgb, var(--success) 24%, rgba(255, 255, 255, 0.86));
  background: color-mix(in srgb, var(--success-soft) 78%, white);
  color: var(--success);
}

.retired-withdrawal-recommendation.warning .retired-withdrawal-recommendation-icon {
  border-color: color-mix(in srgb, var(--gold) 36%, rgba(255, 255, 255, 0.86));
  background: color-mix(in srgb, var(--gold) 21%, white);
  color: #b4770b;
}

.retired-withdrawal-recommendation-icon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.retired-withdrawal-kicker {
  display: block;
  color: #52605f;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.retired-withdrawal-recommendation-main strong {
  display: block;
  margin-top: 7px;
  color: var(--workspace-theme-accent-strong);
  font-family: var(--font-display);
  font-size: clamp(34px, 4vw, 52px);
  line-height: 0.96;
}

.retired-withdrawal-recommendation.positive .retired-withdrawal-recommendation-main strong {
  color: var(--success);
}

.retired-withdrawal-recommendation.warning .retired-withdrawal-recommendation-main strong {
  color: #a56400;
}

.retired-withdrawal-recommendation-main p {
  margin: 8px 0 0;
  color: #475866;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.retired-withdrawal-recommendation-meta {
  display: grid;
  gap: 8px;
  align-content: center;
  padding: 14px;
  border: 1px solid rgba(221, 211, 197, 0.7);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.62);
}

.retired-withdrawal-recommendation-meta span {
  color: var(--text);
  font-size: 13px;
  font-weight: 950;
}

.retired-withdrawal-recommendation-meta small {
  color: var(--muted);
  font-size: 12.5px;
  font-weight: 720;
  line-height: 1.4;
}

.account-detail-card {
  position: relative;
  padding: 22px;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  background:
    linear-gradient(90deg,
      var(--theme-accent-strong),
      var(--theme-accent) 58%,
      color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 7% 0%, color-mix(in srgb, var(--theme-soft) 38%, transparent), transparent 20rem),
    radial-gradient(circle at 94% 8%, rgba(255, 247, 223, 0.42), transparent 18rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 252, 247, 0.955)),
    var(--surface);
  box-shadow:
    0 22px 54px rgba(74, 58, 42, 0.085),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.account-detail-card > * {
  position: relative;
  z-index: 2;
}

.account-detail-date-basis {
  margin-top: 16px;
}

.account-detail-head {
  display: grid;
  grid-template-columns: minmax(360px, 0.75fr) minmax(660px, 1.25fr);
  gap: 18px;
  align-items: start;
}

.account-detail-title-lockup {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.account-detail-title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border: 2px solid rgba(133, 64, 59, 0.24);
  border-radius: 999px;
  background: #f8eceb;
  color: var(--wine);
  box-shadow: inset 0 0 0 1px #efd8d6;
}

.account-detail-title-icon svg {
  width: 29px;
  height: 29px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.account-detail-head h3 {
  margin: 0;
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: clamp(24px, 1.75vw, 31px);
  line-height: 1.06;
}

.account-detail-head p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.42;
}

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

.account-detail-summary-tile {
  min-height: 82px;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 2px 10px;
  padding: 12px 10px;
  border: 1px solid rgba(221, 211, 197, 0.82);
  border-radius: 8px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.97), rgba(255, 253, 249, 0.78));
  box-shadow:
    0 8px 18px rgba(44, 37, 28, 0.035),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.account-detail-summary-icon {
  grid-row: 1 / span 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 2px solid rgba(43, 111, 186, 0.2);
  border-radius: 999px;
}

.account-detail-summary-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.account-detail-summary-icon.blue {
  border-color: rgba(43, 111, 186, 0.24);
  background: color-mix(in srgb, var(--blue-soft) 74%, white);
  color: var(--blue-dark);
}

.account-detail-summary-icon.green {
  border-color: rgba(18, 130, 76, 0.24);
  background: color-mix(in srgb, var(--success-soft) 78%, white);
  color: var(--success);
}

.account-detail-summary-icon.red {
  border-color: rgba(209, 31, 59, 0.24);
  background: rgba(255, 235, 239, 0.92);
  color: #d11f3b;
}

.account-detail-summary-icon.neutral {
  border-color: rgba(104, 115, 128, 0.22);
  background: rgba(241, 243, 246, 0.96);
  color: #687380;
}

.account-detail-summary-icon.violet {
  border-color: rgba(107, 63, 178, 0.24);
  background: rgba(244, 235, 255, 0.92);
  color: #6b3fb2;
}

.account-detail-summary-icon.gold {
  border-color: rgba(183, 121, 10, 0.24);
  background: rgba(255, 244, 218, 0.94);
  color: #b7790a;
}

.account-detail-summary-tile small {
  align-self: end;
  color: #404a4b;
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: 0.01em;
}

.account-detail-summary-tile strong {
  align-self: start;
  color: var(--text);
  font-size: clamp(16px, 1.15vw, 20px);
  font-weight: 900;
  line-height: 1.1;
  white-space: nowrap;
}

.account-detail-summary-tile strong.positive {
  color: var(--success);
}

.account-detail-summary-tile strong.negative {
  color: var(--red);
}

.account-detail-table-wrap {
  margin-top: 22px;
  overflow: auto;
  border: 1px solid rgba(221, 211, 197, 0.84);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.account-detail-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 1490px;
  table-layout: fixed;
}

.account-detail-table th,
.account-detail-table td {
  padding: 16px 22px;
  border-bottom: 1px solid rgba(232, 226, 216, 0.82);
  text-align: left;
  vertical-align: middle;
}

.account-detail-table th {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(250, 247, 240, 0.9));
  color: #626a70;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.045em;
  text-transform: uppercase;
  white-space: nowrap;
}

.account-detail-sort-button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 100%;
  padding: 0;
  color: inherit;
  background: transparent;
  border: 0;
  font: inherit;
  letter-spacing: inherit;
  text-align: left;
  text-transform: inherit;
  cursor: pointer;
}

.account-detail-sort-button:hover,
.account-detail-sort-button.is-active {
  color: var(--theme-accent-strong);
}

.account-detail-sort-arrows {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 17px;
  color: color-mix(in srgb, var(--theme-accent-strong) 70%, var(--text));
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1;
}

.account-detail-table th:nth-child(1),
.account-detail-table td:nth-child(1) {
  width: 360px;
}

.account-detail-table th:nth-child(2),
.account-detail-table td:nth-child(2) {
  width: 250px;
}

.account-detail-table th:nth-child(3),
.account-detail-table td:nth-child(3) {
  width: 250px;
}

.account-detail-table th:nth-child(4),
.account-detail-table td:nth-child(4) {
  width: 320px;
}

.account-detail-table th:nth-child(5),
.account-detail-table td:nth-child(5) {
  width: 170px;
}

.account-detail-table th:nth-child(6),
.account-detail-table td:nth-child(6) {
  width: 140px;
}

.account-detail-table td {
  color: var(--text);
  font-size: 14px;
  font-weight: 780;
}

.account-detail-table tr:last-child td {
  border-bottom: 0;
}

.account-detail-table .numeric {
  text-align: left;
  white-space: nowrap;
}

.account-detail-group-row td {
  padding-top: 13px;
  padding-bottom: 13px;
  background: color-mix(in srgb, var(--success-soft) 58%, rgba(255, 255, 255, 0.98));
}

.account-detail-group-row td:first-child {
  box-shadow: inset 4px 0 var(--success);
}

.account-detail-group-row.brokerage td {
  background: rgba(247, 242, 255, 0.98);
}

.account-detail-group-row.brokerage td:first-child {
  box-shadow: inset 4px 0 #6b46b4;
}

.account-detail-group-row.taxDeferred td,
.account-detail-group-row.roth td {
  background: rgba(255, 244, 246, 0.98);
}

.account-detail-group-row.taxDeferred td:first-child,
.account-detail-group-row.roth td:first-child {
  box-shadow: inset 4px 0 var(--wine);
}

.account-detail-group-row.other td {
  background: rgba(241, 246, 252, 0.98);
}

.account-detail-group-row.other td:first-child {
  box-shadow: inset 4px 0 var(--blue-dark);
}

.account-detail-group-label {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.account-detail-group-label i {
  flex: 0 0 auto;
  width: 13px;
  height: 13px;
  border: 1px solid rgba(43, 55, 68, 0.22);
  border-radius: 999px;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.72);
}

.account-detail-group-label strong {
  color: var(--text);
  font-size: 15px;
  font-weight: 950;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.account-detail-group-label small,
.account-detail-group-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 9px;
  border: 1px solid rgba(221, 211, 197, 0.74);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.62);
  color: #655d52;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}

.account-detail-group-balance,
.account-detail-group-change {
  color: var(--text);
  font-size: 16px !important;
  font-weight: 950 !important;
  white-space: nowrap;
}

.account-detail-group-change.positive {
  color: var(--success);
}

.account-detail-group-change.negative {
  color: #d11f3b;
}

.account-detail-row td {
  background: rgba(255, 255, 255, 0.74);
}

.account-detail-account-cell {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  width: 100%;
  min-width: 0;
}

.account-detail-row-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 2px solid rgba(18, 130, 76, 0.24);
  border-radius: 999px;
  background: color-mix(in srgb, var(--success-soft) 74%, white);
  color: var(--success);
}

.account-detail-row-icon.brokerage {
  border-color: rgba(107, 63, 178, 0.24);
  background: rgba(244, 235, 255, 0.92);
  color: #6b3fb2;
}

.account-detail-row-icon.checking {
  border-color: rgba(95, 111, 122, 0.22);
  background: rgba(238, 242, 247, 0.96);
  color: #5f6f7a;
}

.account-detail-row-icon.taxDeferred,
.account-detail-row-icon.roth {
  border-color: rgba(133, 64, 59, 0.24);
  background: rgba(252, 235, 239, 0.92);
  color: var(--wine);
}

.account-detail-row-icon.other {
  border-color: rgba(43, 111, 186, 0.24);
  background: color-mix(in srgb, var(--blue-soft) 70%, white);
  color: var(--blue-dark);
}

.account-detail-row-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.account-detail-name {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.account-detail-name strong {
  color: var(--text);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.account-detail-name small {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.account-detail-bucket-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 8px 13px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--success-soft) 70%, white);
  color: var(--text);
  font-size: 13px;
  font-weight: 760;
  white-space: nowrap;
}

.account-detail-asset-stack {
  display: grid;
  gap: 6px;
  justify-items: start;
  width: 100%;
  min-width: 0;
}

.account-detail-asset-pill {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  max-width: 100%;
  padding: 7px 11px;
  border: 1px solid rgba(221, 211, 197, 0.78);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.68);
  color: #4f5961;
  font-size: 12.5px;
  font-weight: 820;
  line-height: 1.15;
  white-space: normal;
  overflow-wrap: anywhere;
}

.account-detail-bucket-pill.brokerage {
  background: rgba(244, 235, 255, 0.78);
}

.account-detail-bucket-pill.checking {
  background: rgba(238, 242, 247, 0.92);
}

.account-detail-bucket-pill.taxDeferred,
.account-detail-bucket-pill.roth {
  background: rgba(252, 235, 239, 0.82);
}

.account-detail-bucket-pill.other {
  background: rgba(238, 242, 247, 0.92);
}

.account-detail-bucket-pill i {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.75);
}

.account-detail-balance-cell {
  display: grid;
  grid-template-columns: minmax(96px, auto) 118px;
  justify-content: start;
  align-items: center;
  gap: 18px;
}

.account-detail-balance-cell strong {
  color: var(--text);
  font-size: 19px;
  font-weight: 920;
  line-height: 1;
  text-align: left;
  white-space: nowrap;
}

.account-detail-sparkline {
  display: block;
  width: 118px;
  height: 34px;
  color: var(--muted);
  overflow: visible;
}

.account-detail-sparkline polygon {
  fill: currentColor;
  opacity: 0.09;
}

.account-detail-sparkline polyline {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.account-detail-sparkline circle {
  fill: currentColor;
}

.account-detail-sparkline.positive {
  color: var(--success);
}

.account-detail-sparkline.negative {
  color: #d11f3b;
}

.account-detail-sparkline.neutral,
.account-detail-sparkline.empty {
  color: #8a93a1;
}

.account-detail-sparkline.empty {
  width: 118px;
  height: 2px;
  border-radius: 999px;
  background: rgba(138, 147, 161, 0.38);
}

.account-detail-change {
  color: var(--text);
  font-size: 18px !important;
  font-weight: 900 !important;
}

.account-detail-change.positive {
  color: var(--success);
}

.account-detail-change.negative {
  color: #d11f3b;
}

.account-detail-percent-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 76px;
  padding: 7px 13px;
  border-radius: 8px;
  background: rgba(241, 243, 246, 0.96);
  color: #5f6872;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
}

.account-detail-percent-pill.positive {
  background: var(--success-soft);
  color: var(--success);
}

.account-detail-percent-pill.negative {
  background: rgba(255, 235, 239, 0.92);
  color: #d11f3b;
}

.account-detail-empty {
  padding: 28px !important;
  color: var(--muted) !important;
  font-weight: 700 !important;
  text-align: center !important;
}

.bucket-label {
  color: var(--text);
  font-size: 12px;
}

.change-commentary-card {
  align-content: start;
  display: grid;
}

.change-commentary-copy {
  margin-top: 16px;
  font-size: 14px;
  line-height: 1.58;
}

.change-commentary-copy .change-callout {
  font-size: 1.04em;
  font-weight: 950;
  white-space: nowrap;
}

.change-commentary-copy .change-callout.positive {
  color: #0f7a43;
}

.change-commentary-copy .change-callout.negative {
  color: var(--red);
}

.change-commentary-card .balance-evidence-row {
  margin-top: 16px;
}

.balance-toolkit-panel {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
  min-height: 170px;
  padding: 18px 20px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--workspace-theme-accent) 24%, var(--subtle));
  border-radius: 8px;
  background:
    radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--workspace-theme-accent) 34%, rgba(255, 255, 255, 0.38)), transparent 22rem),
    radial-gradient(circle at 92% 10%, color-mix(in srgb, var(--workspace-theme-accent-strong) 34%, transparent), transparent 24rem),
    linear-gradient(135deg,
      color-mix(in srgb, var(--workspace-theme-accent) 48%, #fff),
      color-mix(in srgb, var(--workspace-theme-accent) 42%, var(--workspace-theme-soft)) 46%,
      color-mix(in srgb, var(--workspace-theme-accent-strong) 48%, #fff));
  box-shadow:
    0 18px 42px rgba(44, 37, 28, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

@media (min-width: 2400px) {
  .balance-toolkit-panel {
    grid-template-columns: minmax(260px, 1.18fr) repeat(4, minmax(150px, 0.92fr)) minmax(220px, 1.08fr);
  }
}

.balance-toolkit-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0.08) 52%, rgba(255, 255, 255, 0.2));
  pointer-events: none;
  z-index: 1;
}

.balance-toolkit-panel > * {
  position: relative;
  z-index: 2;
}

.balance-toolkit-intro {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-content: center;
  align-items: center;
  gap: 18px;
  padding: 14px 18px;
  border: 1px solid color-mix(in srgb, var(--workspace-theme-accent) 28%, rgba(255, 255, 255, 0.78));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.64);
  backdrop-filter: blur(12px) saturate(1.08);
  box-shadow:
    0 10px 24px rgba(42, 53, 65, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.76);
}

.balance-toolkit-title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  border: 2px solid color-mix(in srgb, var(--workspace-theme-accent) 40%, rgba(255, 255, 255, 0.84));
  border-radius: 999px;
  background: color-mix(in srgb, var(--workspace-theme-soft) 78%, white);
  color: var(--workspace-theme-accent-strong);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--workspace-theme-accent) 18%, transparent),
    0 10px 20px rgba(44, 37, 28, 0.045);
}

.balance-toolkit-title-icon::before {
  content: "";
  display: block;
  width: 36px;
  height: 36px;
  background: currentColor;
  -webkit-mask: url("assets/brand/toolkit-wrench.png") center / contain no-repeat;
  mask: url("assets/brand/toolkit-wrench.png") center / contain no-repeat;
}

.balance-toolkit-intro h3 {
  margin: 0;
  color: var(--text);
  font-family: var(--font-display);
  font-size: clamp(18px, 1.38vw, 23px);
  line-height: 1.08;
}

.balance-toolkit-intro p,
.balance-toolkit-note p {
  margin: 10px 0 0;
  color: #3f4f55;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 650;
}

.balance-toolkit-actions {
  display: contents;
}

.balance-toolkit-action {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  grid-template-rows: auto auto 1fr auto;
  gap: 5px 18px;
  align-content: center;
  min-height: 126px;
  padding: 14px 18px;
  border: 1px solid color-mix(in srgb, var(--workspace-theme-accent) 28%, rgba(255, 255, 255, 0.78));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.62);
  backdrop-filter: blur(12px) saturate(1.08);
  color: var(--text);
  text-align: left;
  cursor: pointer;
  box-shadow:
    0 10px 24px rgba(42, 53, 65, 0.055),
    inset 0 1px 0 rgba(255, 255, 255, 0.74);
}

.balance-toolkit-action:hover {
  border-color: color-mix(in srgb, var(--workspace-theme-accent) 30%, rgba(255, 255, 255, 0.78));
  background: rgba(255, 255, 255, 0.76);
}

.balance-toolkit-action:disabled {
  cursor: not-allowed;
  opacity: 0.56;
}

.balance-toolkit-panel.is-demo-locked {
  border-color: rgba(171, 183, 190, 0.46);
  background:
    radial-gradient(circle at 10% 0%, rgba(222, 229, 232, 0.58), transparent 22rem),
    radial-gradient(circle at 92% 10%, rgba(190, 201, 207, 0.52), transparent 24rem),
    linear-gradient(135deg, #f4f7f8, #edf2f4 46%, #f8fafb);
}

.balance-toolkit-panel.is-demo-locked .balance-toolkit-action:disabled {
  opacity: 0.68;
  filter: grayscale(0.32);
}

.balance-toolkit-panel.is-demo-locked .balance-toolkit-action:disabled:hover {
  border-color: color-mix(in srgb, var(--workspace-theme-accent) 28%, rgba(255, 255, 255, 0.78));
  background: rgba(255, 255, 255, 0.62);
}

.balance-toolkit-panel.is-demo-locked .balance-toolkit-cta {
  color: #697680;
  background: rgba(238, 242, 244, 0.74);
}

.balance-toolkit-action.primary {
  border-color: color-mix(in srgb, var(--workspace-theme-accent) 30%, rgba(255, 255, 255, 0.78));
  background: rgba(255, 255, 255, 0.64);
}

.balance-toolkit-action.primary:hover {
  background: rgba(255, 255, 255, 0.78);
}

.balance-empty-state #balance-toolkit-manual-button.primary {
  border-color: color-mix(in srgb, var(--success) 30%, rgba(255, 255, 255, 0.78));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--success-soft) 58%, rgba(255, 255, 255, 0.86)), rgba(255, 255, 255, 0.72));
}

.balance-empty-state #balance-toolkit-manual-button.primary .balance-toolkit-icon {
  background: color-mix(in srgb, var(--success-soft) 70%, white);
  color: var(--success);
}

.balance-empty-state #balance-toolkit-manual-button.primary .balance-toolkit-cta {
  border-color: color-mix(in srgb, var(--success) 24%, var(--subtle));
  color: var(--success);
}

.balance-toolkit-icon {
  grid-row: 1 / span 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border: 2px solid color-mix(in srgb, var(--workspace-theme-accent) 40%, rgba(255, 255, 255, 0.84));
  border-radius: 999px;
  background: color-mix(in srgb, var(--workspace-theme-soft) 76%, white);
  color: var(--workspace-theme-accent-strong);
  font-size: 11.5px;
  font-weight: 950;
  letter-spacing: 0.04em;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--workspace-theme-accent) 17%, transparent);
}

.balance-toolkit-action.primary .balance-toolkit-icon {
  background: color-mix(in srgb, var(--workspace-theme-soft) 80%, white);
  color: var(--workspace-theme-accent-strong);
}

.balance-toolkit-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.balance-toolkit-action strong {
  align-self: end;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.2;
}

.balance-toolkit-action small {
  align-self: start;
  color: #3f4f55;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 650;
}

.balance-toolkit-cta {
  grid-column: 2;
  align-self: end;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 12px;
  padding: 0 16px;
  border: 1px solid color-mix(in srgb, var(--workspace-theme-accent) 36%, var(--subtle));
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--workspace-theme-accent-strong);
  font-size: 13px;
  font-weight: 900;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.74);
}

.balance-toolkit-action.primary .balance-toolkit-cta {
  border-color: color-mix(in srgb, var(--workspace-theme-accent) 38%, var(--subtle));
  background: rgba(255, 255, 255, 0.74);
  color: var(--workspace-theme-accent-strong);
}

.balance-toolkit-cta i {
  font-style: normal;
  font-size: 15px;
}

.balance-toolkit-note {
  position: relative;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  gap: 5px 18px;
  overflow: visible;
  padding: 14px 18px;
  border: 1px solid color-mix(in srgb, var(--workspace-theme-accent) 28%, rgba(255, 255, 255, 0.78));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.64);
  backdrop-filter: blur(12px) saturate(1.08);
  box-shadow:
    0 10px 24px rgba(42, 53, 65, 0.055),
    inset 0 1px 0 rgba(255, 255, 255, 0.74);
}

.balance-toolkit-note-icon {
  grid-row: 1 / span 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border: 2px solid color-mix(in srgb, var(--workspace-theme-accent) 40%, rgba(255, 255, 255, 0.84));
  border-radius: 999px;
  background: color-mix(in srgb, var(--workspace-theme-soft) 76%, white);
  color: var(--workspace-theme-accent-strong);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--workspace-theme-accent) 17%, transparent);
}

.balance-toolkit-note-icon svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.balance-toolkit-note strong {
  display: block;
  color: var(--text);
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: none;
}

.balance-toolkit-status {
  grid-column: 2;
  align-self: end;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 12px;
  padding: 0 16px;
  border: 1px solid rgba(218, 198, 164, 0.82);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.62);
  color: #9a6510;
  font-size: 13px;
  font-weight: 900;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.balance-toolkit-status i {
  font-style: normal;
}

.balance-toolkit-status.is-saving {
  color: var(--blue-dark);
}

.balance-toolkit-status.is-saved {
  color: var(--success);
}

.balance-toolkit-status.is-error {
  color: var(--red);
}

.balance-hero {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background:
    linear-gradient(115deg, rgba(237, 244, 255, 0.88), rgba(255, 247, 223, 0.46)),
    var(--surface);
}

.balance-hero h2 {
  margin-bottom: 6px;
  font-size: 24px;
}

.balance-hero p:last-child {
  margin: 0;
  max-width: 760px;
  color: #4d5d69;
  line-height: 1.5;
}

.balance-hero-stat {
  min-width: 230px;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--blue) 18%, var(--subtle));
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.78);
}

.balance-hero-stat span,
.balance-hero-stat small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.balance-hero-stat strong {
  display: block;
  margin: 7px 0 3px;
  font-size: 25px;
  line-height: 1.1;
}

.balance-chart-panel {
  grid-column: span 9;
  position: relative;
  border-color: color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  background:
    linear-gradient(90deg,
      var(--theme-accent-strong),
      var(--theme-accent) 58%,
      color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 7% 0%, color-mix(in srgb, var(--theme-soft) 30%, transparent), transparent 20rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 252, 247, 0.955)),
    var(--surface);
}

.balance-view .balance-chart-panel {
  grid-column: 1 / -1;
}

.balance-history-header {
  align-items: center;
  gap: 20px;
  margin-bottom: 22px;
}

.balance-history-title-block {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.balance-history-title-icon {
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, rgba(255, 255, 255, 0.86));
  border-radius: 50%;
  color: var(--theme-accent-strong);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--theme-accent) 18%, transparent), color-mix(in srgb, var(--theme-accent) 8%, transparent));
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.72);
}

.balance-history-title-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.balance-history-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 16px;
  margin: 0 58px 22px;
}

.balance-history-stat-card {
  display: grid;
  gap: 5px;
  min-height: 116px;
  padding: 13px 15px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 14%, var(--subtle));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow:
    0 10px 24px rgba(25, 42, 54, 0.045),
    inset 0 1px 0 rgba(255, 255, 255, 0.74);
}

.balance-history-stat-card span {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  min-height: 24px;
  padding: 4px 9px;
  border: 1px solid color-mix(in srgb, #0f766e 18%, transparent);
  border-radius: 999px;
  color: #0f766e;
  background: color-mix(in srgb, #0f766e 8%, white);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.035em;
  line-height: 1;
  text-align: left;
  text-transform: uppercase;
  white-space: nowrap;
}

.balance-history-stat-card strong {
  color: #0f766e;
  font-size: 25px;
  line-height: 1.05;
}

.balance-history-stat-card small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

.balance-history-stat-card.is-planned span {
  color: #5e3fc8;
  border-color: color-mix(in srgb, #5e3fc8 18%, transparent);
  background: color-mix(in srgb, #5e3fc8 8%, white);
}

.balance-history-stat-card.is-planned strong {
  color: #5e3fc8;
}

.balance-history-stat-card.is-window span {
  color: #5e3fc8;
  border-color: color-mix(in srgb, #5e3fc8 18%, transparent);
  background: color-mix(in srgb, #5e3fc8 8%, white);
}

.balance-history-stat-card.is-window strong {
  color: #5e3fc8;
}

.balance-history-stat-card.is-gap span {
  color: #8a2f32;
  border-color: color-mix(in srgb, #8a2f32 18%, transparent);
  background: color-mix(in srgb, #8a2f32 8%, white);
}

.balance-history-stat-card.is-gap strong {
  color: #9f2f35;
}

.balance-history-stat-card.is-gap.positive span {
  color: #0d7a4f;
  border-color: color-mix(in srgb, #0d7a4f 18%, transparent);
  background: color-mix(in srgb, #0d7a4f 8%, white);
}

.balance-history-stat-card.is-gap.positive strong {
  color: #128154;
}

.balance-history-stat-card.is-empty {
  grid-column: 1 / -1;
}

.balance-history-chart-main {
  position: relative;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--blue) 10%, var(--subtle));
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(250, 251, 255, 0.88)),
    var(--surface);
  overflow: hidden;
}

.balance-history-chart-main .chart-frame {
  height: 460px;
  border-top: 0;
  padding: 0 8px 12px;
}

.balance-history-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 30px;
  padding: 22px 48px 2px 90px;
  color: #263553;
  font-size: 12px;
  font-weight: 720;
}

.balance-history-legend span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.balance-history-legend-line {
  width: 26px;
  height: 0;
  border-top: 4px solid #6d4df2;
  border-radius: 99px;
}

.balance-history-legend-line.actual {
  border-color: #0f766e;
}

.balance-history-legend-line.gap {
  border-color: #cf4f52;
  border-top-style: dashed;
}

.balance-history-insights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 12px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 10%, var(--subtle));
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.7);
}

.balance-history-insight {
  display: flex;
  align-items: center;
  gap: 15px;
  min-height: 112px;
  padding: 22px 30px;
  border-right: 1px solid var(--subtle);
}

.balance-history-insight:last-child {
  border-right: 0;
}

.balance-history-insight strong {
  display: block;
  color: #175fbb;
  font-size: 14px;
  line-height: 1.3;
}

.balance-history-insight p {
  margin: 4px 0 0;
  color: #33415c;
  font-size: 13px;
  line-height: 1.42;
}

.balance-history-insight-icon {
  width: 50px;
  height: 50px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, rgba(255, 255, 255, 0.86));
  border-radius: 50%;
  color: var(--theme-accent-strong);
  background: color-mix(in srgb, var(--theme-accent) 16%, transparent);
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.72);
}

.balance-history-insight-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.balance-history-insight-icon.is-calendar {
  border-color: rgba(18, 105, 211, 0.26);
  color: #1269d3;
  background: rgba(18, 105, 211, 0.14);
}

.balance-history-insight-icon.is-shield {
  border-color: color-mix(in srgb, var(--success) 24%, rgba(255, 255, 255, 0.86));
  color: #128154;
  background: rgba(28, 154, 96, 0.16);
}

.balance-history-insight.is-warning strong {
  color: #9f2f35;
}

.balance-history-insight.is-good strong,
.balance-history-insight.is-positive strong {
  color: #128154;
}

.balance-insights {
  grid-column: span 3;
  display: grid;
  gap: 18px;
  align-content: start;
}

.balance-workspace-intro {
  display: grid;
  gap: 10px;
}

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

.balance-metric-tile {
  min-height: 126px;
  display: grid;
  align-content: start;
  gap: 7px;
  padding: 15px;
  border: 1px solid rgba(221, 211, 197, 0.82);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 252, 247, 0.88)),
    var(--surface);
  box-shadow: 0 8px 22px rgba(44, 37, 28, 0.04);
}

.balance-metric-tile span {
  color: #3d4547;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.balance-metric-tile strong {
  font-size: 23px;
  line-height: 1.1;
}

.balance-metric-tile small {
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.42;
}

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

.balance-account-group,
.balance-note-card {
  border: 1px solid rgba(221, 211, 197, 0.86);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.74);
  box-shadow: 0 8px 24px rgba(44, 37, 28, 0.035);
}

.balance-account-group {
  padding: 14px;
}

.balance-account-group-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--subtle);
}

.balance-account-group-header h3,
.balance-note-card h3 {
  margin: 0;
  color: var(--wine-dark);
  font-family: var(--font-display);
  font-size: 16px;
  line-height: 1.25;
}

.balance-account-group-header div {
  display: grid;
  gap: 3px;
  text-align: right;
}

.balance-account-group-header strong {
  font-size: 17px;
}

.balance-account-group-header small,
.balance-account-row small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.balance-account-rows {
  display: grid;
}

.balance-account-row {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(232, 226, 216, 0.74);
}

.balance-account-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.balance-account-row > span:last-child {
  text-align: right;
}

.balance-notes-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 12px;
}

.balance-note-card {
  padding: 16px;
}

.balance-note-card p {
  margin: 8px 0 14px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.balance-bucket-delta-chart {
  display: grid;
  gap: 10px;
}

.balance-bucket-delta-row {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr) 116px;
  align-items: center;
  gap: 12px;
  color: #3d4547;
  font-size: 12.5px;
  font-weight: 750;
}

.balance-bucket-delta-track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--surface-muted);
}

.balance-bucket-delta-track i {
  display: block;
  height: 100%;
  min-width: 4px;
  border-radius: inherit;
  background: var(--success);
}

.balance-bucket-delta-track i.negative {
  background: var(--red);
}

.balance-bucket-delta-row strong,
.balance-bucket-delta-total strong {
  text-align: right;
  font-size: 12.5px;
}

.balance-bucket-delta-total {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px solid var(--subtle);
  font-weight: 850;
}

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

.balance-evidence-chip {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  min-width: 0;
  padding: 14px;
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 252, 247, 0.78));
  border: 1px solid rgba(221, 211, 197, 0.8);
  box-shadow: 0 8px 18px rgba(44, 37, 28, 0.028);
}

.balance-evidence-chip:not(:has(.balance-evidence-icon)) {
  grid-template-columns: minmax(0, 1fr);
}

.balance-evidence-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 22%, rgba(255, 255, 255, 0.86));
  border-radius: 8px;
  background: color-mix(in srgb, var(--blue-soft) 80%, white);
  color: var(--theme-accent-strong);
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.68);
}

.balance-evidence-icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.balance-evidence-icon.is-calendar-blue {
  border-color: color-mix(in srgb, var(--blue) 26%, rgba(255, 255, 255, 0.86));
  background: color-mix(in srgb, var(--blue-soft) 80%, white);
  color: var(--blue);
}

.balance-evidence-icon.is-calendar-red {
  border-color: color-mix(in srgb, var(--wine) 24%, rgba(255, 255, 255, 0.86));
  background: color-mix(in srgb, var(--wine-soft) 78%, white);
  color: var(--wine);
}

.balance-evidence-chip strong {
  display: block;
  color: #52605f;
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-transform: uppercase;
}

.balance-evidence-chip em {
  display: block;
  margin-top: 4px;
  color: var(--text);
  font-style: normal;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.2;
}

.balance-evidence-chip b {
  display: block;
  margin-top: 4px;
  color: var(--success);
  font-size: 16px;
  font-weight: 950;
  line-height: 1.15;
}

.balance-evidence-chip.positive {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), color-mix(in srgb, var(--success-soft) 55%, rgba(255, 255, 255, 0.7)));
}

.balance-evidence-chip.positive em {
  color: var(--success);
}

.balance-evidence-chip.positive em:has(+ b) {
  color: var(--text);
}

.balance-evidence-chip.negative {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 241, 240, 0.74));
}

.balance-evidence-chip.negative em {
  color: var(--red);
}

.balance-evidence-chip.negative em:has(+ b) {
  color: var(--text);
}

.balance-evidence-chip.negative b {
  color: var(--red);
}

.plan-tracking-toast {
  position: fixed;
  right: max(22px, env(safe-area-inset-right));
  bottom: max(22px, env(safe-area-inset-bottom));
  z-index: 1000;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  width: min(420px, calc(100vw - 32px));
  padding: 14px 16px 14px 14px;
  border: 1px solid rgba(48, 133, 92, 0.25);
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(244, 252, 248, 0.98), rgba(255, 252, 247, 0.98));
  box-shadow: 0 22px 46px rgba(31, 47, 61, 0.22);
  color: var(--text);
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 180ms ease, transform 180ms ease;
  pointer-events: none;
}

.plan-tracking-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.plan-tracking-toast[hidden] {
  display: none;
}

.plan-tracking-toast-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: rgba(48, 133, 92, 0.13);
  color: var(--green);
}

.plan-tracking-toast.is-error {
  border-color: rgba(194, 65, 61, 0.24);
  background:
    linear-gradient(135deg, rgba(255, 246, 244, 0.98), rgba(255, 252, 247, 0.98));
}

.plan-tracking-toast.is-error .plan-tracking-toast-icon {
  background: rgba(194, 65, 61, 0.12);
  color: var(--red);
}

.plan-tracking-toast-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.plan-tracking-toast strong {
  display: block;
  margin-bottom: 2px;
  color: var(--text);
  font-size: 13.5px;
  font-weight: 900;
}

.plan-tracking-toast span:last-child {
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.42;
}

@media (min-width: 1900px) {
  .activity-metric-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .balance-toolkit-action {
    grid-template-columns: 46px minmax(0, 1fr);
    grid-template-rows: auto auto 1fr auto;
    gap: 4px 12px;
  }

  .balance-toolkit-icon {
    grid-row: 1 / span 2;
  }

  .balance-toolkit-cta {
    grid-column: 1 / -1;
  }
}

.empty-note {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.legend-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: -4px 0 12px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.legend-row span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.legend-key {
  width: 22px;
  height: 3px;
  border-radius: 999px;
  background: currentColor;
}

.legend-key.plan {
  color: var(--blue);
}

.legend-key.actual {
  color: var(--brand-teal);
  background: repeating-linear-gradient(90deg, currentColor 0 7px, transparent 7px 11px);
}

.legend-key.target {
  color: var(--gold);
  background: repeating-linear-gradient(90deg, currentColor 0 5px, transparent 5px 10px);
}

.legend-key.transition {
  color: #8794a0;
  width: 3px;
  height: 16px;
}

.legend-key.later {
  color: var(--brand-teal);
}

.legend-key.stress {
  color: var(--orange);
}

.legend-key.income {
  color: var(--brand-teal);
}

.legend-key.withdrawal {
  color: var(--blue);
}

.legend-key.spending {
  color: var(--orange);
}

.legend-key.tax {
  color: var(--red);
}

.chart-tooltip {
  position: absolute;
  z-index: 5;
  min-width: 220px;
  max-width: 300px;
  padding: 16px 17px;
  border: 1px solid var(--subtle-strong);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.975);
  box-shadow:
    0 18px 38px rgba(25, 42, 54, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.84);
  pointer-events: none;
  color: var(--text);
  font-size: 13px;
}

.chart-tooltip-title {
  margin: 0 0 12px;
  color: var(--text);
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.1;
}

.tooltip-metric {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 5px 0;
  color: var(--muted);
}

.tooltip-metric strong {
  color: var(--text);
}

.tooltip-metric.positive strong {
  color: var(--success);
}

.tooltip-metric.negative strong {
  color: var(--red);
}

.balance-tooltip-metric {
  align-items: center;
  gap: 18px;
  padding: 7px 0;
}

.balance-tooltip-metric span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #52606f;
  font-weight: 760;
}

.balance-tooltip-key {
  width: 12px;
  height: 12px;
  flex: 0 0 auto;
  display: inline-block;
  border-radius: 999px;
  background: #6d4df2;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.86);
}

.balance-tooltip-key.actual {
  background: #0f766e;
}

.balance-tooltip-key.gap {
  width: 24px;
  height: 0;
  border-top: 3px dashed #cf4f52;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.balance-tooltip-percent {
  margin-top: -2px;
  text-align: right;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.balance-tooltip-percent.positive {
  color: var(--success);
}

.balance-tooltip-percent.negative {
  color: var(--red);
}

.annual-tooltip-metric {
  display: grid;
  grid-template-columns: 13px minmax(0, 1fr);
  gap: 3px 10px;
  justify-content: stretch;
  padding: 7px 0;
}

.annual-tooltip-metric .legend-dot {
  grid-row: 1 / span 2;
  align-self: start;
  margin-top: 4px;
}

.annual-tooltip-metric span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 760;
  line-height: 1.22;
}

.annual-tooltip-metric strong {
  font-size: 14px;
  font-weight: 900;
  line-height: 1.2;
}

.helper-copy {
  margin: 0;
  color: #4d5d69;
  font-size: 14px;
  line-height: 1.55;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border-radius: 999px;
  padding: 0 9px;
  background: var(--surface-muted);
  color: #41505d;
  font-size: 12px;
  font-weight: 800;
}

.status-pill.good {
  background: var(--success-soft);
  color: var(--success);
}

.status-pill.watch {
  background: var(--gold-soft);
  color: #945f00;
}

.status-pill.behind {
  background: #fff1f0;
  color: var(--red);
}

.projection-roadmap {
  position: relative;
  overflow: hidden;
  grid-column: 1 / -1;
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  border-radius: var(--radius);
  background:
    linear-gradient(90deg,
      var(--theme-accent-strong),
      var(--theme-accent) 58%,
      color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 86% 14%, color-mix(in srgb, var(--theme-soft) 44%, transparent), transparent 22rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(255, 252, 247, 0.92)),
    var(--surface);
  box-shadow: 0 18px 42px rgba(74, 58, 42, 0.07);
}

.projection-roadmap > * {
  position: relative;
  z-index: 2;
}

.projection-roadmap-head {
  display: grid;
  gap: 4px;
}

.projection-roadmap-head h2 {
  margin: 0;
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: 25px;
  font-weight: var(--display-title-weight);
  letter-spacing: var(--display-title-letter-spacing);
  line-height: var(--display-title-line-height);
}

.projection-roadmap-head p {
  margin: 0;
  max-width: 840px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.projection-roadmap-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(68px, 0.18fr) minmax(0, 1.08fr) minmax(68px, 0.18fr) minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.roadmap-step {
  position: relative;
  align-self: stretch;
  display: flex;
  align-items: center;
  min-height: 166px;
  padding: 0;
  background: color-mix(in srgb, var(--theme-soft) 18%, white);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 16px 34px rgba(25, 42, 54, 0.045);
}

.roadmap-step-media {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  background: color-mix(in srgb, var(--theme-soft) 30%, white);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.45);
}

.roadmap-step > div {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  width: min(58%, 210px);
  min-height: 100%;
  padding: 18px 16px;
}

.roadmap-connector {
  position: relative;
  display: block;
  width: 100%;
  height: 38px;
  opacity: 0.95;
}

.roadmap-connector::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 11px;
  left: 0;
  height: 5px;
  border-radius: 999px;
  background:
    linear-gradient(90deg,
      color-mix(in srgb, var(--theme-accent) 18%, transparent),
      var(--theme-accent) 48%,
      var(--theme-accent-strong));
  box-shadow: 0 7px 16px color-mix(in srgb, var(--theme-accent) 16%, transparent);
  transform: translateY(-50%);
}

.roadmap-connector::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 18px;
  height: 18px;
  background: var(--theme-accent-strong);
  clip-path: polygon(0 0, 100% 50%, 0 100%, 22% 50%);
  transform: translateY(-50%);
  filter: drop-shadow(0 5px 10px color-mix(in srgb, var(--theme-accent) 18%, transparent));
}

.roadmap-step h3 {
  margin: 0 0 7px;
  color: #34404a;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.roadmap-step strong {
  display: block;
  color: var(--theme-display);
  font-size: 25px;
  line-height: 1.15;
}

.roadmap-step p {
  margin: 7px 0 0;
  color: #596771;
  font-size: 14px;
  line-height: 1.45;
}

.roadmap-step p span {
  display: block;
}

.retired-journey-route {
  display: none;
}

.projection-roadmap.is-retired-journey {
  min-height: 438px;
  gap: 22px;
  padding: 24px 24px 112px;
  border-color: var(--subtle);
  background: var(--surface);
  box-shadow: 0 18px 42px rgba(74, 58, 42, 0.07);
}

.projection-roadmap.is-retired-journey .projection-roadmap-head h2 {
  color: var(--theme-display);
  font-size: 29px;
}

.projection-roadmap.is-retired-journey .projection-roadmap-head p {
  max-width: 980px;
  color: #455a78;
  font-size: 15px;
}

.projection-roadmap.is-retired-journey .projection-roadmap-flow {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 58px;
  align-items: stretch;
}

.projection-roadmap.is-retired-journey .roadmap-connector {
  display: none;
}

.projection-roadmap.is-retired-journey .roadmap-step {
  min-height: 238px;
  border-color: var(--subtle);
  border-radius: 10px;
  background: var(--surface);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 10px 24px rgba(25, 42, 54, 0.035);
}

.projection-roadmap.is-retired-journey .roadmap-step::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.84) 38%, rgba(255, 255, 255, 0.18) 74%, rgba(255, 255, 255, 0.04) 100%);
  pointer-events: none;
}

.projection-roadmap.is-retired-journey .roadmap-step-today::before {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.93) 35%, rgba(255, 255, 255, 0.46) 58%, rgba(255, 255, 255, 0.08) 78%, rgba(255, 255, 255, 0) 100%);
}

.projection-roadmap.is-retired-journey .roadmap-step-media {
  object-fit: cover;
  object-position: center;
  filter: saturate(1.02) contrast(0.99);
}

.projection-roadmap.is-retired-journey .roadmap-step-today .roadmap-step-media {
  object-position: center right;
}

.projection-roadmap.is-retired-journey .roadmap-step-retirement .roadmap-step-media {
  object-position: center right;
}

.projection-roadmap.is-retired-journey .roadmap-step-end .roadmap-step-media {
  object-position: center right;
}

.projection-roadmap.is-retired-journey .roadmap-step > div {
  z-index: 2;
  width: min(58%, 300px);
  padding: 24px 22px;
}

.projection-roadmap.is-retired-journey .roadmap-step h3 {
  margin-bottom: 12px;
  color: #5776a7;
  font-size: 12px;
  letter-spacing: 0.04em;
}

.projection-roadmap.is-retired-journey .roadmap-step-retirement h3 {
  color: #4a8a9a;
}

.projection-roadmap.is-retired-journey .roadmap-step-end h3 {
  color: #637f45;
}

.projection-roadmap.is-retired-journey .roadmap-step strong {
  color: #17365f;
  font-size: 31px;
}

.projection-roadmap.is-retired-journey .roadmap-step p {
  margin-top: 12px;
  color: #1f3d64;
  font-size: 16px;
  line-height: 1.45;
}

.projection-roadmap.is-retired-journey .retired-journey-route {
  position: absolute;
  right: 12.5%;
  bottom: 50px;
  left: 12.5%;
  z-index: 4;
  display: block;
  pointer-events: none;
}

.retired-journey-route-art {
  display: block;
  width: 100%;
  height: auto;
  max-height: 126px;
  object-fit: contain;
  object-position: center;
  opacity: 0.98;
  filter: drop-shadow(0 9px 18px rgba(23, 54, 95, 0.11));
}

.scenario-hero {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background:
    linear-gradient(115deg, rgba(237, 244, 255, 0.92), rgba(255, 247, 223, 0.42)),
    var(--surface);
}

.scenario-hero h2 {
  margin-bottom: 6px;
  font-size: 24px;
}

.scenario-hero p:last-child {
  margin: 0;
  max-width: 860px;
  color: #4d5d69;
  line-height: 1.5;
}

.scenario-hero-stat {
  min-width: 260px;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--blue) 18%, var(--subtle));
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.82);
}

.scenario-hero-stat span,
.scenario-hero-stat small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.scenario-hero-stat strong {
  display: block;
  margin: 7px 0 3px;
  font-size: 25px;
  line-height: 1.1;
}

.scenario-card-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.scenario-card {
  min-height: 168px;
  padding: 17px;
  background: var(--surface);
  border: 1px solid var(--subtle);
  border-radius: var(--radius);
  box-shadow: 0 10px 28px rgba(25, 42, 54, 0.04);
}

.scenario-card.current {
  border-color: color-mix(in srgb, var(--blue) 32%, var(--subtle));
}

.scenario-card.later {
  border-color: color-mix(in srgb, var(--brand-teal) 28%, var(--subtle));
}

.scenario-card.stress {
  border-color: color-mix(in srgb, var(--orange) 28%, var(--subtle));
}

.scenario-card h3 {
  margin: 7px 0 3px;
  font-size: 18px;
}

.scenario-card .kpi-label {
  margin-bottom: 8px;
}

.scenario-card strong {
  display: block;
  margin-top: 12px;
  font-size: 26px;
  line-height: 1.1;
}

.scenario-card p {
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.scenario-chart-panel {
  grid-column: span 9;
}

.scenario-insights {
  grid-column: span 3;
  display: grid;
  gap: 18px;
  align-content: start;
}

.scenario-comparison-hero {
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.82) 44%, rgba(255, 255, 255, 0.36) 100%),
    url("assets/brand/comparisons-global-panel.png") right center / cover no-repeat;
  overflow: hidden;
}

.scenario-comparison-hero h2 {
  margin: 0 0 6px;
  color: #4c238f;
  font-size: 32px;
}

.scenario-comparison-hero p:last-child {
  max-width: 860px;
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.scenario-hero-actions {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.scenario-comparison-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(252, 248, 239, 0.72));
}

.scenario-comparison-steps article {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6px 12px;
  align-items: start;
  padding: 14px;
  border: 1px solid rgba(54, 45, 36, 0.1);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.78);
}

.scenario-comparison-steps span {
  grid-row: span 2;
  display: inline-flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(43, 111, 186, 0.1);
  color: var(--blue);
  font-weight: 950;
}

.scenario-comparison-steps article.active span {
  background: var(--blue);
  color: #fff;
}

.scenario-comparison-steps strong,
.scenario-builder-panel h2,
.scenario-results-panel h2 {
  color: var(--text);
}

.scenario-comparison-steps p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

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

.scenario-outcome-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.scenario-mode-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
  margin: 20px 0 24px;
}

.scenario-builder-panel {
  position: relative;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--theme-accent) 20%, var(--subtle));
  background:
    radial-gradient(circle at 9% 0%, color-mix(in srgb, var(--theme-soft) 32%, transparent), transparent 23rem),
    radial-gradient(circle at 95% 18%, rgba(43, 111, 186, 0.09), transparent 22rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(255, 252, 247, 0.9)),
    var(--surface);
  box-shadow: 0 18px 36px rgba(38, 44, 47, 0.07);
}

.scenario-builder-panel::before,
.scenario-results-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background:
    linear-gradient(90deg,
      var(--theme-accent-strong),
      var(--theme-accent) 58%,
      color-mix(in srgb, var(--theme-accent) 42%, #fff));
  opacity: 0.82;
}

.scenario-builder-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), color-mix(in srgb, var(--theme-soft) 22%, #fff)),
    #fff;
  box-shadow: 0 14px 34px rgba(44, 37, 28, 0.055);
}

.scenario-builder-title-icon {
  display: inline-flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-strong));
  color: #fff;
  box-shadow: 0 14px 28px color-mix(in srgb, var(--theme-accent) 24%, transparent);
}

.scenario-builder-title-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.scenario-builder-intro {
  position: relative;
  display: flex;
  align-items: flex-start;
  margin: 4px 0 20px;
  min-height: 145px;
  padding: 23px 30px 22px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 20%, var(--subtle));
  border-radius: 12px;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.92) 46%, rgba(255, 255, 255, 0.46) 62%, rgba(255, 255, 255, 0) 100%),
    url("assets/brand/scenario-lab-top-panel.png") right center / min(48%, 548px) auto no-repeat,
    linear-gradient(135deg, rgba(237, 246, 255, 0.72), rgba(255, 251, 243, 0.82));
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.68),
    0 18px 46px rgba(35, 50, 72, 0.09);
  overflow: hidden;
}

.scenario-builder-intro h2 {
  margin: 0 0 7px;
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: 36px;
  letter-spacing: var(--display-title-letter-spacing);
  line-height: 1.05;
}

.scenario-builder-intro .eyebrow {
  margin: 0 0 12px;
}

.scenario-builder-intro p:not(.eyebrow) {
  max-width: 820px;
  margin: 0;
  color: #3d4d58;
  font-size: 17px;
  line-height: 1.48;
}

.scenario-builder-intro span {
  flex: 0 0 auto;
  border: 1px solid rgba(72, 133, 85, 0.18);
  border-radius: 999px;
  background: rgba(72, 133, 85, 0.09);
  color: #2e6a3e;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 900;
}

.scenario-mode-card,
.scenario-question-card {
  border: 1px solid color-mix(in srgb, var(--theme-accent) 12%, rgba(54, 45, 36, 0.12));
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 252, 255, 0.88)),
    #fff;
  padding: 16px;
  text-align: left;
  cursor: pointer;
  transition: transform 150ms ease, border-color 150ms ease, box-shadow 150ms ease, background 150ms ease;
  box-shadow: 0 12px 28px rgba(44, 37, 28, 0.045);
}

.scenario-mode-card {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  min-height: 138px;
  border-radius: 10px;
  padding: 20px;
  overflow: hidden;
}

.scenario-question-card {
  position: relative;
  display: grid;
  min-height: 134px;
  align-content: start;
  gap: 7px;
  padding: 18px 24px 18px 58px;
  overflow: hidden;
}

.scenario-mode-card::after {
  content: "";
  position: absolute;
  inset: auto 18px 0 18px;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: transparent;
}

.scenario-mode-card:hover,
.scenario-mode-card.active,
.scenario-question-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--theme-accent) 34%, var(--subtle));
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 18px 38px rgba(44, 37, 28, 0.09);
}

.scenario-mode-card-diagnostic:hover,
.scenario-mode-card-custom:hover {
  border-color: color-mix(in srgb, var(--theme-accent) 32%, var(--subtle));
  background: linear-gradient(180deg, color-mix(in srgb, var(--theme-soft) 24%, #fff), rgba(255, 255, 255, 0.94));
}

.scenario-question-card.active {
  border-color: color-mix(in srgb, var(--theme-accent) 44%, var(--subtle));
  background:
    radial-gradient(circle at 6% 22%, color-mix(in srgb, var(--theme-accent) 12%, transparent), transparent 30%),
    linear-gradient(180deg, color-mix(in srgb, var(--theme-soft) 22%, #fff), rgba(255, 255, 255, 0.92));
  box-shadow:
    inset 3px 0 0 var(--theme-accent),
    0 14px 32px color-mix(in srgb, var(--theme-accent) 14%, transparent);
}

.scenario-mode-card.active {
  border-color: color-mix(in srgb, var(--theme-accent) 42%, var(--subtle));
  background:
    radial-gradient(circle at 9% 50%, color-mix(in srgb, var(--theme-accent) 18%, transparent), transparent 36%),
    linear-gradient(135deg, color-mix(in srgb, var(--theme-soft) 26%, #fff), rgba(255, 255, 255, 0.94)),
    linear-gradient(180deg, rgba(253, 251, 255, 0.98), rgba(255, 255, 255, 0.94));
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.7),
    0 22px 44px color-mix(in srgb, var(--theme-accent) 17%, transparent);
}

.scenario-mode-card-diagnostic.active,
.scenario-mode-card-custom.active {
  border-color: color-mix(in srgb, var(--theme-accent) 44%, var(--subtle));
  background:
    radial-gradient(circle at 9% 50%, color-mix(in srgb, var(--theme-accent) 18%, transparent), transparent 36%),
    linear-gradient(135deg, color-mix(in srgb, var(--theme-soft) 28%, #fff), rgba(255, 255, 255, 0.94)),
    linear-gradient(180deg, color-mix(in srgb, var(--theme-soft) 18%, #fff), rgba(255, 255, 255, 0.94));
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.7),
    0 22px 44px color-mix(in srgb, var(--theme-accent) 17%, transparent);
}

.scenario-mode-card.active::after {
  background: var(--theme-accent);
}

.scenario-mode-card-diagnostic.active::after,
.scenario-mode-card-custom.active::after {
  background: var(--theme-accent);
}

.scenario-mode-check {
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 999px;
  background: transparent;
  color: transparent;
  font-size: 15px;
  font-weight: 950;
}

.scenario-mode-card.active .scenario-mode-check {
  background: var(--theme-accent);
  color: #fff;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--theme-accent) 22%, transparent);
}

.scenario-mode-card-diagnostic.active .scenario-mode-check,
.scenario-mode-card-custom.active .scenario-mode-check {
  background: var(--theme-accent);
  box-shadow: 0 10px 22px color-mix(in srgb, var(--theme-accent) 22%, transparent);
}

.scenario-mode-main,
.scenario-mode-topline {
  display: flex;
  align-items: center;
  gap: 14px;
}

.scenario-mode-icon {
  display: inline-flex;
  flex: 0 0 auto;
  width: 58px;
  height: 58px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background:
    radial-gradient(circle at 30% 25%, rgba(255, 255, 255, 0.9), transparent 35%),
    color-mix(in srgb, var(--theme-accent) 14%, transparent);
  color: var(--theme-accent-strong);
  box-shadow: 0 12px 24px color-mix(in srgb, var(--theme-accent) 11%, transparent);
}

.scenario-mode-card-diagnostic .scenario-mode-icon,
.scenario-mode-card-custom .scenario-mode-icon {
  background:
    radial-gradient(circle at 30% 25%, rgba(255, 255, 255, 0.9), transparent 35%),
    color-mix(in srgb, var(--theme-accent) 14%, transparent);
  color: var(--theme-accent-strong);
  box-shadow: 0 12px 24px color-mix(in srgb, var(--theme-accent) 11%, transparent);
}

.scenario-mode-card.active .scenario-mode-icon {
  background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-strong));
  color: #fff;
  box-shadow: 0 16px 30px color-mix(in srgb, var(--theme-accent) 24%, transparent);
}

.scenario-mode-card-diagnostic.active .scenario-mode-icon,
.scenario-mode-card-custom.active .scenario-mode-icon {
  background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-strong));
  color: #fff;
  box-shadow: 0 16px 30px color-mix(in srgb, var(--theme-accent) 24%, transparent);
}

.scenario-mode-question-icon {
  font-size: 30px;
  font-weight: 950;
  line-height: 1;
}

.scenario-mode-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.scenario-mode-status {
  align-self: start;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 10%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-accent) 10%, transparent);
  color: var(--theme-accent-strong);
  padding: 7px 12px;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  white-space: nowrap;
}

.scenario-mode-card-diagnostic .scenario-mode-status,
.scenario-mode-card-custom .scenario-mode-status {
  border-color: color-mix(in srgb, var(--theme-accent) 10%, transparent);
  background: color-mix(in srgb, var(--theme-accent) 10%, transparent);
  color: var(--theme-accent-strong);
}

.scenario-mode-card strong,
.scenario-question-card strong {
  display: block;
  margin: 0 0 7px;
  color: var(--text);
  font-size: 18px;
}

.scenario-question-card strong {
  margin: 0;
  padding-right: 44px;
  font-size: 17px;
  line-height: 1.24;
}

.scenario-mode-card p,
.scenario-question-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.scenario-custom-query-card {
  padding-bottom: 62px;
}

.scenario-custom-query-card-action {
  position: absolute;
  right: 18px;
  bottom: 16px;
  min-height: 34px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 22%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-accent) 10%, #fff);
  color: var(--theme-accent-strong);
  padding: 0 14px;
  font-size: 12px;
  font-weight: 950;
  cursor: pointer;
}

.scenario-custom-query-card.in-query .scenario-custom-query-card-action {
  border-color: rgba(119, 32, 32, 0.16);
  background: rgba(255, 245, 245, 0.92);
  color: #8d2f2f;
}

.scenario-custom-query-card-action:hover,
.scenario-custom-query-remove:hover {
  transform: translateY(-1px);
}

.scenario-question-card p {
  padding-right: 18px;
}

.scenario-mode-card small {
  display: none;
  margin-top: 16px;
  color: var(--blue-dark);
  font-size: 12px;
  font-weight: 850;
}

.scenario-mode-panel {
  display: grid;
  gap: 20px;
  padding: 24px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 13%, rgba(54, 45, 36, 0.08));
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.86)),
    #fff;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.74),
    0 16px 38px rgba(35, 50, 72, 0.065);
}

.scenario-mode-panel[hidden] {
  display: none;
}

.scenario-compare-action-row {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) auto;
  align-items: center;
  gap: 22px;
}

.scenario-diagnostic-lead {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(520px, 1.2fr);
  align-items: center;
  gap: 18px;
  border: 1px solid rgba(43, 111, 186, 0.2);
  border-radius: 14px;
  background:
    radial-gradient(circle at 96% 8%, rgba(124, 91, 232, 0.16), transparent 35%),
    linear-gradient(135deg, rgba(247, 251, 255, 0.98), rgba(255, 253, 248, 0.9));
  padding: 20px 22px;
  box-shadow: 0 16px 36px rgba(43, 111, 186, 0.07);
}

.scenario-diagnostic-lead h3 {
  margin: 2px 0 6px;
  color: var(--text);
  font-size: 20px;
}

.scenario-diagnostic-lead p:last-child {
  max-width: 850px;
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.scenario-diagnostic-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 12px 14px;
  border: 2px solid rgba(0, 0, 0, 0.82);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.82);
  list-style: none;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.72),
    0 14px 34px rgba(43, 111, 186, 0.075);
}

.scenario-diagnostic-steps li {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 2px 9px;
  align-items: center;
  min-height: 54px;
  padding: 0 16px;
  color: var(--text);
}

.scenario-diagnostic-steps li + li::before {
  content: "";
  position: absolute;
  top: 6px;
  bottom: 6px;
  left: 0;
  width: 2px;
  background: rgba(0, 0, 0, 0.72);
}

.scenario-diagnostic-steps span {
  grid-row: span 2;
  display: inline-grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-accent) 10%, transparent);
  color: var(--theme-accent-strong);
  font-size: 12px;
  font-weight: 950;
}

.scenario-diagnostic-steps li:nth-child(2) span {
  background: rgba(72, 133, 85, 0.11);
  color: #2f7b4b;
}

.scenario-diagnostic-steps li:nth-child(3) span {
  background: color-mix(in srgb, var(--theme-accent) 11%, transparent);
  color: var(--theme-accent-strong);
}

.scenario-diagnostic-steps strong,
.scenario-diagnostic-steps small {
  display: block;
  min-width: 0;
}

.scenario-diagnostic-steps strong {
  font-size: 12px;
  line-height: 1.25;
}

.scenario-diagnostic-steps small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
}

.scenario-whatif-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(360px, 0.9fr);
  align-items: start;
  gap: 18px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 15%, rgba(54, 45, 36, 0.1));
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 252, 247, 0.92)),
    #fff;
  padding: 18px;
  box-shadow: 0 18px 44px rgba(44, 37, 28, 0.07);
}

.scenario-category-browser {
  display: grid;
  gap: 14px;
}

.scenario-category-panel-head {
  border-bottom: 1px solid color-mix(in srgb, var(--theme-accent) 12%, rgba(54, 45, 36, 0.08));
  padding-bottom: 10px;
}

.scenario-category-panel-head .eyebrow,
.scenario-popular-question-panel .eyebrow {
  color: var(--theme-accent-strong);
  font-weight: 950;
  letter-spacing: 0.075em;
}

.scenario-category-panel-head p:not(.eyebrow),
.scenario-popular-question-panel > div > p:not(.eyebrow) {
  color: #2f3f49;
  font-size: 14px;
  font-weight: 760;
  line-height: 1.42;
}

.scenario-whatif-overview h3 {
  margin: 3px 0 6px;
  color: var(--text);
  font-size: 20px;
}

.scenario-whatif-overview p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

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

.scenario-category-search {
  max-width: none;
}

.scenario-category-card {
  --category-accent: var(--theme-accent);
  --category-accent-strong: var(--theme-accent-strong);
  min-height: 178px;
  border: 1px solid color-mix(in srgb, var(--category-accent) 16%, rgba(54, 45, 36, 0.1));
  border-radius: 10px;
  background:
    radial-gradient(circle at 90% 0%, color-mix(in srgb, var(--category-accent) 7%, transparent), transparent 44%),
    rgba(255, 255, 255, 0.96);
  padding: 15px 13px;
  text-align: left;
  cursor: pointer;
  transition: transform 150ms ease, border-color 150ms ease, box-shadow 150ms ease, background 150ms ease;
  box-shadow: 0 12px 26px rgba(44, 37, 28, 0.045);
}

.scenario-category-card[data-scenario-question-filter="readiness"] {
  --category-accent: #7c5be8;
  --category-accent-strong: #5b35d5;
}

.scenario-category-card[data-scenario-question-filter="spending"] {
  --category-accent: #37a976;
  --category-accent-strong: #16764d;
}

.scenario-category-card[data-scenario-question-filter="expenses"] {
  --category-accent: #f29a3d;
  --category-accent-strong: #c96c05;
}

.scenario-category-card[data-scenario-question-filter="timing"] {
  --category-accent: #5c9ee8;
  --category-accent-strong: #1f6fbe;
}

.scenario-category-card[data-scenario-question-filter="strategy"] {
  --category-accent: #8b5cf6;
  --category-accent-strong: #6d35d5;
}

.scenario-category-card[data-scenario-question-filter="custom"] {
  --category-accent: #3aa5e8;
  --category-accent-strong: #1677b8;
}

.scenario-category-card:hover,
.scenario-category-card.active {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--category-accent) 58%, transparent);
  background:
    radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--category-accent) 21%, transparent), transparent 35%),
    linear-gradient(180deg, color-mix(in srgb, var(--category-accent) 5%, #fff), #fff),
    rgba(255, 255, 255, 0.96);
  box-shadow:
    inset 0 -3px 0 color-mix(in srgb, var(--category-accent) 76%, transparent),
    0 18px 36px color-mix(in srgb, var(--category-accent) 18%, transparent);
}

.scenario-category-card > span {
  display: grid;
  width: 50px;
  height: 50px;
  place-items: center;
  border-radius: 999px;
  background:
    radial-gradient(circle at 32% 24%, rgba(255, 255, 255, 0.86), transparent 38%),
    color-mix(in srgb, var(--category-accent) 17%, transparent);
  color: var(--category-accent-strong);
  margin: 0 auto 0;
  font-size: 19px;
  font-weight: 950;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--category-accent) 12%, transparent);
}

.scenario-category-card > span svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.scenario-category-card strong {
  display: block;
  margin-top: 15px;
  color: var(--text);
  font-size: 16px;
  line-height: 1.2;
  text-align: center;
}

.scenario-category-card p {
  margin-top: 8px;
  font-size: 12.5px;
  line-height: 1.42;
}

.scenario-category-card small {
  display: block;
  margin-top: 14px;
  color: var(--category-accent-strong);
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}

.scenario-popular-question-panel {
  display: grid;
  align-content: start;
  gap: 12px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 13%, rgba(54, 45, 36, 0.1));
  border-radius: 12px;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--theme-soft) 44%, transparent), transparent 15rem),
    rgba(255, 255, 255, 0.82);
  padding: 15px 16px;
}

.scenario-popular-question-list {
  display: grid;
  gap: 9px;
}

.scenario-popular-question {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 11%, rgba(54, 45, 36, 0.1));
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.95);
  padding: 9px 12px;
  color: var(--text);
  text-align: left;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(44, 37, 28, 0.035);
}

.scenario-popular-question:hover,
.scenario-popular-question.active {
  border-color: color-mix(in srgb, var(--theme-accent) 32%, transparent);
  background: color-mix(in srgb, var(--theme-accent) 7%, #fff);
  box-shadow: 0 12px 24px color-mix(in srgb, var(--theme-accent) 12%, transparent);
}

.scenario-popular-question strong,
.scenario-popular-question small {
  display: block;
}

.scenario-popular-question strong {
  font-size: 13px;
  line-height: 1.2;
}

.scenario-popular-question small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
}

.scenario-popular-question em {
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-accent) 10%, transparent);
  color: var(--theme-accent-strong);
  padding: 5px 8px;
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
  text-transform: uppercase;
  white-space: nowrap;
}

.scenario-popular-question i {
  color: var(--theme-accent-strong);
  font-style: normal;
  font-weight: 950;
}

.scenario-select-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 22px;
  align-items: end;
}

.scenario-compare-control {
  display: grid;
  gap: 10px;
  color: var(--text);
  font-size: 15px;
  font-weight: 850;
}

.scenario-compare-control small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.scenario-compare-control input,
.scenario-compare-control select,
.scenario-question-search input {
  min-height: 44px;
  border: 1px solid rgba(54, 45, 36, 0.12);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.9);
  padding: 0 13px;
  color: var(--text);
  font-weight: 700;
}

.scenario-question-search input {
  width: 100%;
  min-height: 52px;
  border: 2px solid rgba(20, 33, 43, 0.74);
  border-radius: 10px;
  background:
    linear-gradient(90deg, rgba(43, 111, 186, 0.08), rgba(255, 255, 255, 0) 86px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(249, 251, 252, 0.95)),
    #fff;
  padding: 0 18px;
  box-shadow: 0 10px 22px rgba(20, 33, 43, 0.08);
}

.scenario-question-search input:focus {
  border-color: var(--blue);
  outline: 3px solid rgba(43, 111, 186, 0.14);
}

.scenario-select-field {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 42%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), color-mix(in srgb, var(--theme-soft) 26%, #fff)),
    #fff;
  padding: 0 14px;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.68),
    0 12px 26px color-mix(in srgb, var(--theme-accent) 10%, transparent);
}

.scenario-select-field.is-static {
  grid-template-columns: auto minmax(0, 1fr);
  border-color: color-mix(in srgb, var(--theme-accent) 34%, var(--subtle));
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), color-mix(in srgb, var(--theme-soft) 24%, #fff)),
    #fff;
}

.scenario-compare-control:first-child .scenario-select-field:not(.is-static) {
  border-color: color-mix(in srgb, var(--theme-accent) 42%, var(--subtle));
}

.scenario-select-field input,
.scenario-select-field select {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  color: var(--text);
  font-size: 15px;
  font-weight: 500;
  outline: none;
}

.scenario-select-field select {
  appearance: none;
  cursor: pointer;
  padding-right: 20px;
  text-overflow: ellipsis;
}

.scenario-select-field select option {
  padding: 10px 12px;
  font-weight: 500;
}

.scenario-select-field .scenario-native-select {
  position: absolute;
  inset: 0;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.scenario-select-button {
  min-width: 0;
  min-height: 50px;
  border: 0;
  background: transparent;
  padding: 0;
  color: var(--text);
  font: inherit;
  font-size: 15px;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
}

.scenario-select-button span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scenario-select-button:disabled {
  cursor: not-allowed;
  color: var(--muted);
}

.scenario-select-menu {
  position: absolute;
  z-index: 30;
  top: calc(100% + 8px);
  right: 0;
  left: 0;
  display: grid;
  gap: 4px;
  max-height: 230px;
  overflow: auto;
  border: 1px solid rgba(43, 111, 186, 0.24);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.98);
  padding: 8px;
  box-shadow: 0 18px 34px rgba(32, 48, 66, 0.14);
}

.scenario-select-menu[hidden] {
  display: none;
}

.scenario-select-menu-option {
  min-height: 38px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  padding: 9px 11px;
  color: var(--text);
  font-size: 14px;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
}

.scenario-select-menu-option:hover,
.scenario-select-menu-option:focus-visible {
  background: color-mix(in srgb, var(--theme-accent) 10%, #fff);
  outline: none;
}

.scenario-select-menu-option.is-selected {
  background: linear-gradient(180deg, color-mix(in srgb, var(--theme-accent) 15%, #fff), color-mix(in srgb, var(--theme-accent) 8%, #fff));
  color: var(--theme-accent-strong);
  font-weight: 750;
}

.scenario-select-icon {
  display: inline-grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 7px;
  background: color-mix(in srgb, var(--theme-accent) 13%, transparent);
  color: var(--theme-accent-strong);
}

.scenario-compare-control:first-child .scenario-select-icon {
  background: color-mix(in srgb, var(--theme-accent) 11%, transparent);
  color: var(--theme-accent-strong);
}

.scenario-select-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.scenario-select-caret {
  display: inline-grid;
  width: 20px;
  height: 20px;
  place-items: center;
  color: var(--text);
  pointer-events: none;
}

.scenario-select-caret svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.scenario-swap-icon {
  display: inline-flex;
  width: 52px;
  height: 52px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 16%, rgba(54, 45, 36, 0.08));
  background:
    linear-gradient(180deg, #fff, color-mix(in srgb, var(--theme-soft) 42%, white));
  color: var(--theme-accent-strong);
  box-shadow: 0 14px 28px rgba(44, 37, 28, 0.085);
}

.scenario-swap-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.scenario-temporary-builder {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(54, 45, 36, 0.1);
  border-radius: 12px;
  background: rgba(255, 253, 248, 0.74);
}

.scenario-guardrail-note {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  width: min(100%, 1040px);
  min-height: 158px;
  justify-self: center;
  border: 1px solid rgba(43, 111, 186, 0.22);
  border-radius: 12px;
  background:
    linear-gradient(90deg, rgba(247, 251, 255, 0.98) 0%, rgba(247, 251, 255, 0.96) 56%, rgba(247, 251, 255, 0.62) 76%, rgba(247, 251, 255, 0.16) 100%),
    url("assets/brand/comparison-rules-background-panel.png") center right / cover no-repeat,
    #f4f9ff;
  padding: 26px 28px;
  color: var(--text);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.62),
    0 18px 38px rgba(43, 111, 186, 0.095);
  overflow: hidden;
}

.scenario-compare-action-row .scenario-guardrail-note {
  width: 100%;
  min-height: 132px;
  justify-self: start;
  padding: 22px 26px;
}

.scenario-compare-action-row .scenario-run-analysis-button {
  align-self: center;
  justify-self: end;
  white-space: nowrap;
}

.scenario-info-icon {
  display: inline-grid;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(43, 111, 186, 0.18);
  border-radius: 999px;
  background: rgba(43, 111, 186, 0.1);
  color: var(--blue);
  font-size: 18px;
  font-weight: 950;
  font-family: var(--font-sans);
}

.scenario-guardrail-copy {
  display: grid;
  max-width: 760px;
  gap: 8px;
}

.scenario-guardrail-copy strong {
  color: var(--blue-dark);
  font-size: 22px;
}

#scenario-compare-compatibility-note {
  display: flex;
  align-items: center;
  gap: 8px;
  font-style: italic;
  font-weight: 800;
}

#scenario-compare-compatibility-note::before {
  content: "✓";
  display: inline-grid;
  flex: 0 0 auto;
  width: 19px;
  height: 19px;
  place-items: center;
  border: 1.5px solid var(--blue-dark);
  border-radius: 999px;
  color: var(--blue-dark);
  font-size: 12px;
  font-style: normal;
  line-height: 1;
}

.scenario-temporary-builder {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.25fr) auto;
  align-items: end;
  gap: 18px;
  background:
    linear-gradient(135deg, rgba(237, 246, 255, 0.58), rgba(255, 253, 248, 0.9)),
    rgba(255, 253, 248, 0.84);
}

.scenario-temporary-builder::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 94% 30%, rgba(43, 111, 186, 0.14), transparent 18rem),
    linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.66));
  opacity: 0.72;
}

.scenario-temporary-builder > * {
  position: relative;
  z-index: 1;
}

.scenario-temporary-builder.is-ready {
  border-color: rgba(43, 111, 186, 0.18);
  background:
    linear-gradient(135deg, rgba(232, 244, 255, 0.8), rgba(255, 255, 255, 0.92)),
    rgba(255, 255, 255, 0.88);
}

.scenario-temporary-builder.needs-inputs {
  border-color: rgba(109, 77, 242, 0.22);
  background:
    linear-gradient(135deg, rgba(244, 238, 255, 0.82), rgba(255, 255, 255, 0.92)),
    rgba(255, 255, 255, 0.9);
}

.scenario-temporary-builder.needs-inputs::after {
  background:
    radial-gradient(circle at 94% 30%, rgba(109, 77, 242, 0.16), transparent 18rem),
    linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.7));
}

.scenario-temporary-builder.has-custom-inputs {
  grid-template-columns: minmax(280px, 0.62fr) minmax(0, 1.38fr) auto;
  align-items: start;
}

.scenario-temporary-builder.has-custom-inputs .scenario-diagnostic-controls {
  grid-template-columns: 1fr;
}

.scenario-diagnostic-builder-copy h3 {
  margin: 3px 0 6px;
  color: var(--text);
  font-size: 23px;
}

.scenario-diagnostic-builder-copy p:last-child {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
  max-width: 520px;
}

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

.scenario-diagnostic-ready {
  grid-column: 1 / -1;
  border: 1px solid rgba(43, 111, 186, 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.82);
  padding: 15px 16px;
  box-shadow: 0 10px 22px rgba(35, 50, 72, 0.045);
}

.scenario-diagnostic-ready strong {
  color: var(--blue-dark);
  font-size: 15px;
}

.scenario-diagnostic-ready p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.scenario-diagnostic-ready .scenario-diagnostic-ready-note {
  margin-top: 10px;
  padding: 9px 11px;
  border: 1px solid rgba(184, 119, 0, 0.22);
  border-radius: 8px;
  background: rgba(255, 247, 225, 0.78);
  color: #76500a;
  line-height: 1.45;
}

.scenario-diagnostic-ready .scenario-diagnostic-ready-note strong {
  color: #9a6500;
  font-size: inherit;
}

.scenario-custom-query-empty,
.scenario-custom-query-workspace-item {
  display: grid;
  gap: 14px;
  border: 1px solid rgba(109, 77, 242, 0.13);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.86);
  padding: 16px;
  box-shadow: 0 10px 22px rgba(35, 50, 72, 0.045);
}

.scenario-custom-query-empty strong {
  color: var(--text);
  font-size: 16px;
}

.scenario-custom-query-empty p {
  margin: 0;
}

.scenario-custom-query-workspace-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
}

.scenario-custom-query-workspace-head h4 {
  margin: 2px 0 5px;
  color: var(--text);
  font-size: 17px;
}

.scenario-custom-query-workspace-head p:not(.eyebrow) {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.scenario-custom-query-remove {
  min-height: 34px;
  border: 1px solid rgba(119, 32, 32, 0.16);
  border-radius: 999px;
  background: rgba(255, 245, 245, 0.92);
  color: #8d2f2f;
  padding: 0 14px;
  font-size: 12px;
  font-weight: 950;
  cursor: pointer;
}

.scenario-custom-query-workspace-controls {
  display: grid;
  gap: 12px;
}

.scenario-custom-query-suggestions {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
  gap: 16px;
  align-items: start;
  border: 1px solid rgba(43, 111, 186, 0.14);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(247, 251, 255, 0.94), rgba(255, 255, 255, 0.82));
  padding: 16px;
  box-shadow: 0 10px 22px rgba(35, 50, 72, 0.045);
}

.scenario-custom-query-suggestions h4 {
  margin: 2px 0 5px;
  color: var(--blue-dark);
  font-size: 17px;
}

.scenario-custom-query-suggestions p:not(.eyebrow) {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.scenario-custom-query-suggestion-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.scenario-custom-query-suggestion-list button {
  display: grid;
  gap: 3px;
  min-width: min(100%, 185px);
  max-width: 240px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 22%, var(--subtle));
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--text);
  padding: 11px 13px;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(35, 50, 72, 0.045);
  transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.scenario-custom-query-suggestion-list button:hover,
.scenario-custom-query-suggestion-list button:focus-visible {
  border-color: color-mix(in srgb, var(--theme-accent) 46%, var(--subtle));
  box-shadow: 0 12px 24px color-mix(in srgb, var(--theme-accent) 14%, transparent);
  transform: translateY(-1px);
}

.scenario-custom-query-suggestion-list span {
  color: var(--blue-dark);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.scenario-custom-query-suggestion-list strong {
  color: var(--text);
  font-size: 14px;
  line-height: 1.2;
}

.scenario-custom-query-suggestion-list small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.scenario-diagnostic-field {
  display: grid;
  gap: 12px;
  border: 1px solid rgba(109, 77, 242, 0.12);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.8);
  padding: 18px;
  color: var(--text);
  font-size: 14px;
  font-weight: 850;
  box-shadow: 0 10px 22px rgba(35, 50, 72, 0.045);
}

.scenario-diagnostic-field > div {
  display: flex;
  gap: 8px;
}

.scenario-diagnostic-madlib > strong {
  color: var(--text);
  font-size: 15px;
  font-weight: 950;
}

.scenario-diagnostic-sentence {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  color: #4e3f49;
  font-size: 17px;
  font-weight: 850;
  line-height: 1.45;
}

.scenario-diagnostic-sentence input {
  flex: 0 1 150px;
  width: 150px;
  min-width: 112px;
}

.scenario-diagnostic-madlib small {
  color: #4f4050;
  font-size: 13px;
  font-weight: 850;
}

.scenario-diagnostic-field input {
  width: 100%;
  min-height: 42px;
  border: 1px solid rgba(109, 77, 242, 0.18);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.9);
  padding: 0 12px;
  color: var(--text);
  font-size: 15px;
  font-weight: 900;
}

.scenario-diagnostic-field small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
}

.scenario-diagnostic-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid rgba(109, 77, 242, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  padding: 4px;
  box-shadow: 0 8px 18px rgba(82, 55, 155, 0.08);
}

.scenario-diagnostic-toggle.wide {
  flex-wrap: wrap;
  border-radius: 10px;
}

.scenario-diagnostic-toggle button {
  min-height: 34px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #6a5365;
  padding: 0 14px;
  font-weight: 950;
  cursor: pointer;
}

.scenario-diagnostic-toggle button.active {
  background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-strong));
  color: #fff;
  box-shadow: 0 9px 18px color-mix(in srgb, var(--theme-accent) 22%, transparent);
}

.scenario-diagnostic-actions {
  display: grid;
  gap: 8px;
  justify-items: stretch;
}

.scenario-guardrail-note p,
.scenario-temporary-builder p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.scenario-run-analysis-button {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  justify-self: end;
  min-height: 48px;
  border-radius: 9px;
  border-color: color-mix(in srgb, var(--theme-accent-strong) 80%, black);
  background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-strong));
  color: #fff;
  padding: 0 18px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.24),
    0 16px 32px color-mix(in srgb, var(--theme-accent) 30%, transparent);
}

.scenario-run-analysis-button span {
  display: inline-flex;
  width: 19px;
  height: 19px;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.scenario-run-analysis-button img {
  width: 19px;
  height: 19px;
  display: block;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.scenario-run-analysis-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 17px 32px color-mix(in srgb, var(--theme-accent) 30%, transparent);
}

.scenario-run-analysis-button:disabled {
  border-color: rgba(54, 45, 36, 0.12);
  background: rgba(237, 241, 244, 0.9);
  color: var(--muted);
  box-shadow: none;
  cursor: not-allowed;
}

.scenario-run-analysis-button:disabled:hover {
  transform: none;
}

#scenario-run-resilience-button[aria-busy="true"]:disabled {
  border-color: color-mix(in srgb, var(--theme-accent-strong) 80%, black);
  background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-strong));
  color: #fff;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    0 10px 24px color-mix(in srgb, var(--theme-accent) 22%, transparent);
  cursor: wait;
  opacity: 0.78;
}

#scenario-run-resilience-button[aria-busy="true"]:disabled img {
  animation: resilience-button-breathe 1.2s ease-in-out infinite;
}

@keyframes resilience-button-breathe {
  0%, 100% { opacity: 0.58; transform: translateY(0); }
  50% { opacity: 1; transform: translateY(-1px); }
}

@media (prefers-reduced-motion: reduce) {
  #scenario-run-resilience-button[aria-busy="true"]:disabled img {
    animation: none;
  }
}

.scenario-question-toolbar {
  display: flex;
  align-items: center;
}

.scenario-question-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.scenario-question-filters button {
  min-height: 34px;
  border: 1px solid rgba(54, 45, 36, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.74);
  color: var(--muted);
  padding: 0 13px;
  font-weight: 850;
  cursor: pointer;
}

.scenario-question-filters button.active {
  border-color: rgba(43, 111, 186, 0.24);
  background: var(--blue);
  color: #fff;
}

.scenario-question-search {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.scenario-show-all-questions {
  justify-self: start;
  min-height: 38px;
  border: 2px solid rgba(20, 33, 43, 0.68);
  border-radius: 999px;
  background: #fff;
  color: #263541;
  padding: 0 16px;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(20, 33, 43, 0.06);
  transition: transform 140ms ease, border-color 140ms ease, background 140ms ease, color 140ms ease, box-shadow 140ms ease;
}

.scenario-show-all-questions:hover,
.scenario-show-all-questions:focus-visible {
  transform: translateY(-1px);
  border-color: var(--theme-accent-strong);
  color: var(--theme-accent-strong);
  outline: none;
  box-shadow: 0 12px 24px color-mix(in srgb, var(--theme-accent) 14%, transparent);
}

.scenario-show-all-questions.active {
  border-color: var(--theme-accent-strong);
  background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-strong));
  color: #fff;
  box-shadow: 0 12px 24px color-mix(in srgb, var(--theme-accent) 22%, transparent);
}

.scenario-question-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.scenario-question-group {
  display: grid;
  gap: 10px;
  border: 1px solid rgba(54, 45, 36, 0.09);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.62);
  padding: 14px;
}

.scenario-question-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.scenario-question-group-head h4 {
  margin: 0;
  color: var(--text);
  font-size: 15px;
}

.scenario-question-group-head span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

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

.scenario-question-category {
  justify-self: start;
  color: var(--blue);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.scenario-question-select-mark {
  position: absolute;
  top: 22px;
  left: 16px;
  display: inline-grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 2px solid color-mix(in srgb, var(--theme-accent) 38%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-accent) 7%, transparent);
  color: transparent;
  font-size: 16px;
  font-weight: 950;
  line-height: 1;
}

.scenario-question-card.active .scenario-question-select-mark {
  border-color: color-mix(in srgb, var(--theme-accent) 72%, rgba(54, 45, 36, 0.12));
  background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-strong));
  color: #fff;
  box-shadow: 0 10px 20px color-mix(in srgb, var(--theme-accent) 22%, transparent);
}

.scenario-question-status {
  position: absolute;
  top: 14px;
  right: 16px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: calc(100% - 86px);
  border: 1px solid rgba(54, 45, 36, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  padding: 6px 10px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 8px 18px rgba(35, 50, 72, 0.055);
}

.scenario-question-status svg {
  width: 13px;
  height: 13px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.scenario-question-status i {
  display: inline-grid;
  width: 13px;
  height: 13px;
  place-items: center;
  font-size: 12px;
  font-style: normal;
  line-height: 1;
}

.scenario-question-status.ready {
  border-color: rgba(19, 133, 79, 0.14);
  background: rgba(231, 249, 239, 0.92);
  color: #0b8b51;
}

.scenario-question-status.needs-inputs {
  border-color: color-mix(in srgb, var(--theme-accent) 16%, transparent);
  background: color-mix(in srgb, var(--theme-soft) 58%, #fff);
  color: var(--theme-accent-strong);
}

.scenario-results-panel {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 18px;
  border-color: color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  background:
    radial-gradient(circle at 4% 0%, color-mix(in srgb, var(--theme-soft) 30%, transparent), transparent 20rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 252, 246, 0.9)),
    var(--surface);
  box-shadow: 0 18px 36px rgba(38, 44, 47, 0.065);
}

.scenario-results-panel.is-preview {
  border-color: color-mix(in srgb, var(--theme-accent) 20%, rgba(43, 111, 186, 0.13));
}

.scenario-results-panel > #scenario-compare-status {
  justify-self: end;
  margin-bottom: -6px;
}

.scenario-results-report-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 2px 2px 0;
}

.scenario-results-report-header[hidden] {
  display: none;
}

.scenario-results-report-header h2 {
  margin: 0;
  color: var(--text);
  font-size: 22px;
  line-height: 1.15;
}

.scenario-results-report-header p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 650;
}

.scenario-view-details-button {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, rgba(54, 45, 36, 0.12));
  border-radius: 10px;
  background: color-mix(in srgb, var(--theme-soft) 28%, rgba(255, 255, 255, 0.92));
  color: var(--theme-accent-strong);
  padding: 0 15px;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 9px 20px color-mix(in srgb, var(--theme-accent) 8%, transparent);
}

.scenario-view-details-button svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.scenario-view-details-button:hover,
.scenario-view-details-button:focus-visible {
  border-color: color-mix(in srgb, var(--theme-accent) 42%, rgba(54, 45, 36, 0.16));
  background: #fff;
  outline: none;
  transform: translateY(-1px);
}

.scenario-results-header {
  justify-content: flex-start;
  align-items: center;
  padding: 2px 2px 0;
}

.scenario-results-header > div {
  min-width: 0;
}

.scenario-results-title-icon {
  display: inline-grid;
  width: 50px;
  height: 50px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--theme-accent) 86%, #fff), var(--theme-accent-strong));
  color: #fff;
  box-shadow: 0 14px 28px color-mix(in srgb, var(--theme-accent) 24%, transparent);
}

.scenario-results-title-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.scenario-results-empty[hidden] {
  display: none;
}

.scenario-results-empty {
  display: grid;
  min-height: 176px;
  align-items: center;
}

.scenario-results-empty-card {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(220px, 360px);
  align-items: center;
  gap: 18px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, rgba(104, 68, 234, 0.18));
  border-radius: 14px;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.99) 52%, rgba(255, 255, 255, 0.78) 67%, rgba(255, 255, 255, 0.12) 82%, rgba(255, 255, 255, 0) 100%),
    radial-gradient(circle at 76% 26%, color-mix(in srgb, var(--theme-accent) 18%, transparent) 0 1px, transparent 2px) 0 0 / 18px 18px,
    linear-gradient(135deg, rgba(250, 248, 255, 0.94), rgba(255, 255, 255, 0.9)),
    var(--surface);
  padding: 22px 24px;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.72),
    0 20px 46px rgba(45, 37, 29, 0.085);
  overflow: hidden;
}

.scenario-results-empty-card.is-error {
  border-color: rgba(194, 65, 61, 0.3);
  background:
    linear-gradient(135deg, rgba(255, 248, 247, 0.96), rgba(255, 255, 255, 0.9)),
    var(--surface);
}

.scenario-results-empty-icon {
  display: inline-grid;
  width: 50px;
  height: 50px;
  place-items: center;
  border-radius: 18px;
  background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-strong));
  color: #fff;
  box-shadow: 0 14px 26px color-mix(in srgb, var(--theme-accent) 28%, transparent);
  font-size: 22px;
  font-weight: 950;
}

.scenario-results-empty-card.is-loading .scenario-results-empty-icon {
  color: #fff;
}

.scenario-loading-hourglass {
  display: inline-grid;
  place-items: center;
  color: #fff;
  font-size: 22px;
  line-height: 1;
  filter: drop-shadow(0 1px 0 rgba(65, 26, 72, 0.24));
  animation: scenario-hourglass-spin 1.15s ease-in-out infinite;
  transform-origin: center;
}

@keyframes scenario-hourglass-spin {
  0%,
  44% {
    transform: rotate(0deg);
  }
  56%,
  100% {
    transform: rotate(180deg);
  }
}

.scenario-results-empty-card.is-error .scenario-results-empty-icon {
  background: rgba(194, 65, 61, 0.11);
  color: var(--red);
}

.scenario-results-empty-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.scenario-results-empty-card h3 {
  margin: 3px 0 6px;
  color: var(--text);
  font-size: 24px;
}

.scenario-results-empty-card .eyebrow {
  color: var(--theme-accent-strong);
}

.scenario-resilience-progress-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  max-width: 860px;
}

.scenario-resilience-progress-heading .eyebrow {
  margin: 0;
}

#scenario-resilience-progress-status {
  color: var(--theme-accent-strong);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.015em;
  text-align: right;
}

.scenario-resilience-progress-track {
  position: relative;
  width: min(100%, 720px);
  height: 8px;
  margin-top: 14px;
  overflow: hidden;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 28%, #cfd5dc);
  background: color-mix(in srgb, var(--theme-accent) 9%, #e6eaf0);
  box-shadow: inset 0 1px 2px rgba(37, 43, 51, 0.1);
}

.scenario-resilience-progress-track > span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent));
  transition: width 280ms ease;
}

.scenario-resilience-progress-track::after {
  position: absolute;
  top: -1px;
  right: -1px;
  bottom: -1px;
  width: 2px;
  border-radius: 0 999px 999px 0;
  background: color-mix(in srgb, var(--theme-accent-strong) 42%, #aeb6c0);
  content: "";
}

.scenario-results-empty-card p:not(.eyebrow) {
  max-width: 860px;
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
}

.scenario-results-preview-art {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 112px;
  padding-right: 6px;
}

.scenario-results-preview-chart {
  position: relative;
  z-index: 2;
  width: 132px;
  height: 116px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 12%, #fff);
  box-shadow: 0 16px 32px rgba(62, 49, 118, 0.11);
}

.scenario-results-preview-chart > span {
  position: absolute;
  left: 19px;
  height: 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-accent) 9%, #f7f4ff);
}

.scenario-results-preview-chart > span:nth-child(1) {
  top: 18px;
  width: 82px;
}

.scenario-results-preview-chart > span:nth-child(2) {
  top: 42px;
  width: 66px;
}

.scenario-results-preview-chart > span:nth-child(3) {
  top: 58px;
  width: 92px;
}

.scenario-results-preview-chart svg {
  position: absolute;
  inset: 25px 16px 12px;
  width: calc(100% - 32px);
  height: calc(100% - 37px);
}

.scenario-results-preview-chart path {
  fill: none;
  stroke: var(--theme-accent-strong);
  stroke-width: 6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.scenario-results-preview-chart circle {
  fill: var(--theme-accent-strong);
  stroke: #fff;
  stroke-width: 4;
}

.scenario-results-preview-list {
  display: grid;
  gap: 10px;
  width: 94px;
  min-height: 70px;
  margin-left: -8px;
  padding: 18px 16px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 12px 26px rgba(62, 49, 118, 0.08);
}

.scenario-results-preview-list span {
  display: block;
  height: 8px;
  border-radius: 999px;
  background: #dfe7f4;
}

.scenario-results-preview-list span:nth-child(1) {
  width: 74px;
}

.scenario-results-preview-list span:nth-child(2) {
  width: 52px;
}

.scenario-results-preview-list span:nth-child(3) {
  width: 64px;
}

.scenario-results-preview-list.is-green span:nth-child(1) {
  background: #d7f0df;
}

.scenario-results-preview-list.is-green span:nth-child(2) {
  background: #65c08c;
}

.scenario-results-preview-list.is-blue span:nth-child(1) {
  background: #e5effb;
}

.scenario-results-preview-list.is-blue span:nth-child(2) {
  background: #5a9be7;
}

.scenario-outcome-card {
  min-height: 132px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  border: 1px solid rgba(54, 45, 36, 0.11);
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(250, 252, 255, 0.84)),
    var(--surface);
  padding: 18px;
  box-shadow: 0 12px 24px rgba(44, 37, 28, 0.045);
}

.scenario-outcome-card.preview {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(247, 251, 255, 0.72));
}

.scenario-outcome-icon {
  display: inline-grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 12px;
  background: color-mix(in srgb, var(--theme-soft) 70%, #fff);
  color: var(--theme-accent-strong);
}

.scenario-outcome-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.scenario-outcome-card.accent-purple .scenario-outcome-icon {
  background: rgba(238, 232, 255, 0.86);
  color: #4f39d9;
}

.scenario-outcome-card.accent-green .scenario-outcome-icon {
  background: rgba(222, 246, 232, 0.86);
  color: var(--success);
}

.scenario-outcome-card.accent-blue .scenario-outcome-icon {
  background: rgba(226, 239, 255, 0.9);
  color: var(--blue);
}

.scenario-outcome-card.accent-orange .scenario-outcome-icon {
  background: rgba(255, 237, 221, 0.9);
  color: #f97316;
}

.scenario-outcome-card-copy {
  min-width: 0;
}

.scenario-outcome-card em {
  align-self: end;
  justify-self: end;
  border-radius: 999px;
  color: var(--success);
  font-size: 14px;
  font-style: normal;
  font-weight: 950;
  white-space: nowrap;
}

.scenario-outcome-card.negative em {
  color: var(--red);
}

.scenario-outcome-card em.is-neutral {
  background: #eef1f5;
  color: #657181;
  padding: 5px 9px;
}

.scenario-diagnostic-answer-readout {
  display: grid;
  gap: 16px;
  margin-bottom: 18px;
}

.scenario-diagnostic-answer-layout {
  grid-template-columns: 1fr;
}

.scenario-answer-card {
  border: 1px solid rgba(54, 45, 36, 0.1);
  border-left: 4px solid rgba(43, 111, 186, 0.42);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 253, 248, 0.86)),
    var(--surface);
  padding: 22px 24px;
  box-shadow: 0 12px 28px rgba(44, 37, 28, 0.055);
}

.scenario-answer-card.positive {
  border-left-color: var(--success);
  background: linear-gradient(180deg, rgba(248, 255, 251, 0.96), rgba(255, 253, 248, 0.86));
}

.scenario-answer-card.negative {
  border-left-color: var(--red);
  background: linear-gradient(180deg, rgba(255, 248, 247, 0.96), rgba(255, 253, 248, 0.86));
}

.scenario-answer-card > span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  border: 1px solid rgba(54, 45, 36, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.84);
  color: var(--text);
  padding: 0 11px;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.scenario-answer-card strong {
  display: block;
  margin-top: 16px;
  color: var(--text);
  font-size: 22px;
  line-height: 1.2;
}

.scenario-answer-card.positive strong {
  color: var(--success);
}

.scenario-answer-card.negative strong {
  color: var(--red);
}

.scenario-answer-card p {
  max-width: 1120px;
  margin: 14px 0 0;
  color: var(--text);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.55;
}

.scenario-resilience-referral {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 28%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--theme-soft) 58%, var(--surface));
  padding: 18px 20px;
}

.scenario-resilience-referral span {
  color: var(--theme-accent-strong);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.scenario-resilience-referral strong {
  display: block;
  margin-top: 5px;
  color: var(--text);
  font-size: 18px;
  line-height: 1.25;
}

.scenario-resilience-referral p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

.scenario-resilience-referral button {
  min-height: 44px;
  border: 1px solid var(--theme-accent-strong);
  border-radius: 10px;
  background: var(--theme-accent-strong);
  color: #fff;
  padding: 0 16px;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.scenario-resilience-referral button:hover,
.scenario-resilience-referral button:focus-visible {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

@media (max-width: 760px) {
  .scenario-resilience-referral {
    grid-template-columns: 1fr;
  }

  .scenario-resilience-referral button {
    justify-self: start;
  }
}

.scenario-custom-query-save-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px 18px;
  align-items: center;
  border: 1px solid rgba(54, 45, 36, 0.1);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.9);
  padding: 18px 20px;
  box-shadow: 0 12px 26px rgba(44, 37, 28, 0.045);
}

.scenario-custom-query-save-card h3 {
  margin: 0;
  color: var(--text);
  font-size: 18px;
  line-height: 1.2;
}

.scenario-custom-query-save-card p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 750;
  line-height: 1.45;
}

.scenario-custom-query-save-card.is-saved {
  border-color: rgba(18, 130, 76, 0.22);
  background:
    linear-gradient(180deg, rgba(248, 255, 251, 0.97), rgba(255, 255, 255, 0.88));
}

.scenario-custom-query-save-card.is-saved h3 {
  color: var(--success);
}

.scenario-custom-query-save-card.is-saved p strong {
  color: var(--text);
}

.scenario-custom-query-save-actions {
  display: flex;
  justify-content: flex-end;
}

.scenario-custom-query-save-button {
  min-height: 44px;
  padding: 0 18px;
  white-space: nowrap;
}

.scenario-custom-query-save-button svg,
.scenario-custom-query-save-button use {
  color: currentColor;
  fill: currentColor;
  stroke: currentColor;
}

.scenario-custom-query-save-button:disabled {
  cursor: wait;
  opacity: 0.72;
}

.scenario-custom-query-save-status {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--muted);
}

.scenario-custom-query-save-status.saved {
  color: var(--success);
}

.scenario-custom-query-save-status.error {
  color: var(--red);
}

.scenario-diagnostic-evidence-card {
  border: 1px solid rgba(54, 45, 36, 0.1);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.84);
  overflow: hidden;
}

.scenario-diagnostic-evidence-card > div:first-child {
  padding: 18px 20px 12px;
}

.scenario-diagnostic-evidence-card h3 {
  margin: 0 0 5px;
  color: var(--text);
}

.scenario-diagnostic-evidence-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.scenario-diagnostic-evidence-card .table-wrap {
  overflow-x: visible;
}

.scenario-diagnostic-evidence-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.scenario-diagnostic-evidence-table th {
  background: rgba(250, 248, 244, 0.76);
  color: var(--brand-teal);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scenario-diagnostic-evidence-table td {
  vertical-align: top;
  line-height: 1.45;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

.scenario-diagnostic-evidence-table td:first-child {
  width: 16%;
  color: var(--text);
  font-weight: 850;
}

.scenario-diagnostic-evidence-table td:nth-child(2) {
  width: 43%;
  font-weight: 750;
}

.scenario-diagnostic-evidence-table td:nth-child(3) {
  width: 41%;
}

.scenario-diagnostic-evidence-table tr.section td {
  background: rgba(250, 248, 244, 0.92);
  color: var(--brand-teal);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.scenario-diagnostic-evidence-table tr.positive td:nth-child(n+2) {
  background: rgba(232, 245, 238, 0.72);
  box-shadow: inset 3px 0 0 rgba(18, 130, 76, 0.72);
}

.scenario-diagnostic-evidence-table tr.negative td:nth-child(n+2) {
  background: rgba(251, 240, 238, 0.68);
  box-shadow: inset 3px 0 0 rgba(194, 65, 61, 0.65);
}

.scenario-diagnostic-evidence-table tr.neutral td:nth-child(n+2) {
  background: rgba(247, 251, 255, 0.66);
  box-shadow: inset 3px 0 0 rgba(118, 137, 153, 0.42);
}

.scenario-outcome-card-copy > span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 950;
}

.scenario-outcome-card-copy > strong {
  display: block;
  margin: 9px 0 5px;
  color: var(--text);
  font-size: 22px;
}

.scenario-outcome-card-copy > p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.scenario-outcome-card.positive strong,
.scenario-driver-list article.positive span {
  color: var(--success);
}

.scenario-outcome-card.negative strong,
.scenario-driver-list article.negative span {
  color: var(--red);
}

.scenario-visual-grid {
  display: grid;
  grid-template-columns: minmax(0, 2.1fr) minmax(320px, 0.9fr);
  gap: 16px;
}

.scenario-visual-grid > section,
.scenario-takeaway-panel,
.scenario-analysis-grid > section {
  border: 1px solid rgba(54, 45, 36, 0.1);
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(253, 251, 247, 0.86)),
    var(--surface);
  box-shadow: 0 12px 26px rgba(44, 37, 28, 0.045);
}

.scenario-visual-grid > section {
  padding: 18px 20px 16px;
}

.scenario-preview-chart {
  position: relative;
  min-height: 100%;
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(250, 251, 250, 0.7));
  overflow: hidden;
}

.scenario-preview-chart svg {
  opacity: 0.82;
}

.scenario-preview-chart div {
  position: absolute;
  right: 24px;
  bottom: 24px;
  max-width: 360px;
  border: 1px solid rgba(43, 111, 186, 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.88);
  padding: 14px 15px;
  box-shadow: 0 14px 30px rgba(44, 37, 28, 0.08);
}

.scenario-preview-chart strong {
  color: var(--text);
}

.scenario-preview-chart p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.scenario-chart-head h3,
.scenario-analysis-grid h3,
.scenario-takeaway-panel h3 {
  margin: 0 0 5px;
  color: var(--text);
}

.scenario-chart-head p {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 13px;
}

.scenario-takeaway-panel {
  padding: 18px;
}

.scenario-takeaway-panel p {
  color: var(--muted);
  line-height: 1.5;
}

#scenario-chart {
  display: grid;
  gap: 10px;
  border: 0;
  background: transparent;
  padding: 0;
  box-shadow: none;
}

#scenario-chart > svg {
  display: block;
  width: 100%;
  height: auto;
  min-height: 390px;
}

.scenario-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 34px;
  align-items: center;
  padding: 4px 0 0;
}

.scenario-chart-legend span {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 10px;
  row-gap: 2px;
  align-items: center;
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
}

.scenario-chart-legend i {
  grid-row: span 2;
  width: 14px;
  height: 5px;
  border-radius: 999px;
}

.scenario-chart-legend .scenario-a i {
  background: #4f39d9;
}

.scenario-chart-legend .scenario-b i {
  background: #f97316;
}

.scenario-chart-legend em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
}

.scenario-takeaway-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.scenario-takeaway-heading > span {
  display: inline-grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 10px;
  background: color-mix(in srgb, var(--theme-soft) 62%, #fff);
  color: var(--theme-accent-strong);
}

.scenario-takeaway-heading svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.scenario-takeaway-table {
  width: 100%;
  margin-top: 16px;
  border-collapse: collapse;
  font-size: 12px;
}

.scenario-takeaway-table thead td {
  color: var(--theme-accent-strong);
  font-size: 12px;
  font-weight: 850;
  text-align: right;
}

.scenario-takeaway-table thead td:last-child {
  color: #f97316;
}

.scenario-takeaway-table th,
.scenario-takeaway-table td {
  border-top: 1px solid rgba(54, 45, 36, 0.1);
  padding: 10px 0;
}

.scenario-takeaway-table th {
  color: var(--text);
  font-weight: 750;
  text-align: left;
}

.scenario-takeaway-table td {
  color: var(--theme-accent-strong);
  font-weight: 950;
  text-align: right;
}

.scenario-takeaway-table td.scenario-b {
  color: #f97316;
}

.scenario-advantage-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 16px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, rgba(54, 45, 36, 0.12));
  border-radius: 10px;
  background: color-mix(in srgb, var(--theme-soft) 30%, rgba(255, 255, 255, 0.86));
  padding: 14px;
}

.scenario-advantage-card strong,
.scenario-advantage-card span {
  display: block;
}

.scenario-advantage-card strong {
  color: var(--theme-accent-strong);
  font-size: 15px;
}

.scenario-advantage-card span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
}

.scenario-advantage-card em {
  color: var(--success);
  font-size: 16px;
  font-style: normal;
  font-weight: 950;
  white-space: nowrap;
}

.scenario-analysis-grid {
  display: grid;
  gap: 12px;
}

.scenario-analysis-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.scenario-analysis-grid > section {
  padding: 22px 24px;
}

.scenario-driver-list,
.scenario-tradeoff-list {
  display: grid;
  gap: 8px;
}

.scenario-driver-list article,
.scenario-tradeoff-list article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid rgba(54, 45, 36, 0.09);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  padding: 13px 16px;
}

.scenario-driver-list article.preview,
.scenario-tradeoff-list article.preview {
  border-color: rgba(43, 111, 186, 0.11);
  background: rgba(247, 251, 255, 0.72);
}

.scenario-driver-list article.preview span {
  color: var(--blue-dark);
  font-weight: 850;
}

.scenario-driver-list article strong {
  color: var(--text);
  font-size: 14px;
}

.scenario-driver-list article span {
  margin-left: auto;
  color: var(--muted);
  font-size: 14px;
  font-weight: 900;
}

.scenario-driver-list article em {
  min-width: 86px;
  border-radius: 999px;
  background: #eef1f5;
  color: #657181;
  padding: 4px 8px;
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
  text-align: center;
}

.scenario-driver-list article.positive span,
.scenario-driver-list article.positive em {
  color: var(--success);
}

.scenario-driver-list article.negative span,
.scenario-driver-list article.negative em {
  color: var(--red);
}

.scenario-driver-list article.positive em,
.scenario-driver-list article.negative em {
  background: transparent;
}

.scenario-tradeoff-list article {
  display: block;
}

.scenario-tradeoff-list strong {
  color: var(--text);
  font-size: 15px;
}

.scenario-tradeoff-list article.positive strong {
  color: var(--success);
}

.scenario-tradeoff-list article.negative strong {
  color: var(--red);
}

.scenario-tradeoff-list p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.scenario-tradeoff-list ul {
  display: grid;
  gap: 8px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.scenario-tradeoff-list li {
  position: relative;
  padding-left: 20px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.35;
}

.scenario-tradeoff-list li::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 0.45em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: currentColor;
}

.scenario-tradeoff-list article.positive li::before {
  background: var(--success);
}

.scenario-tradeoff-list article.negative li::before {
  width: 12px;
  height: 3px;
  border-radius: 999px;
  background: #f97316;
}

.scenario-comparison-summary-panel {
  margin: 4px 0 18px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 26%, rgba(54, 45, 36, 0.12));
  border-left: 5px solid var(--theme-accent-strong);
  border-radius: 8px;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--theme-soft) 34%, transparent), rgba(255, 255, 255, 0.88) 42%),
    rgba(255, 255, 255, 0.9);
  padding: 22px 24px;
  box-shadow: 0 14px 30px rgba(44, 37, 28, 0.055);
}

.scenario-comparison-summary-panel h3 {
  margin: 0 0 14px;
  color: var(--theme-accent-strong);
  font-family: var(--font-serif);
  font-size: 24px;
}

.scenario-comparison-summary-panel p {
  max-width: 1120px;
  margin: 0;
  color: var(--text);
  font-size: 15px;
  font-weight: 780;
  line-height: 1.62;
}

.scenario-comparison-summary-panel p + p {
  margin-top: 14px;
}

.scenario-comparison-guide {
  display: grid;
  gap: 18px;
  margin: 2px 0 20px;
  color: var(--text);
}

.scenario-comparison-guide[hidden] {
  display: none;
}

.scenario-comparison-guide p {
  max-width: 1280px;
  margin: 0;
  color: var(--text);
  font-size: 18px;
  font-weight: 650;
  line-height: 1.5;
}

.scenario-comparison-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 28px;
  align-items: center;
}

.scenario-comparison-legend span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-size: 16px;
  font-weight: 700;
}

.scenario-comparison-legend i {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.9);
}

.scenario-comparison-legend i.positive {
  background: var(--success);
}

.scenario-comparison-legend i.negative {
  background: var(--red);
}

.scenario-comparison-legend i.neutral {
  background: #8491a3;
}

.scenario-comparison-differences-toggle {
  display: inline-flex;
  width: fit-content;
  min-height: 46px;
  align-items: center;
  gap: 12px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 34%, rgba(54, 45, 36, 0.14));
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  padding: 0 20px;
  color: var(--theme-accent-strong);
  font-size: 16px;
  font-weight: 900;
  box-shadow:
    0 10px 22px color-mix(in srgb, var(--theme-accent) 12%, transparent),
    inset 0 0 0 1px rgba(255, 255, 255, 0.7);
  cursor: pointer;
}

.scenario-comparison-differences-toggle input {
  width: 22px;
  height: 22px;
  margin: 0;
  accent-color: var(--theme-accent-strong);
  cursor: pointer;
}

.scenario-comparison-differences-toggle span {
  white-space: nowrap;
}

.scenario-comparison-summary-panel .scenario-comparison-kicker {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  border: 1px solid rgba(54, 45, 36, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  padding: 0 12px;
  color: var(--text);
  font-size: 11px;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
}

.scenario-comparison-context-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 16px;
}

.scenario-comparison-context-cards article {
  min-height: 112px;
  border: 1px solid rgba(54, 45, 36, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
  padding: 16px;
  box-shadow: 0 10px 22px rgba(44, 37, 28, 0.045);
}

.scenario-comparison-context-cards span {
  display: block;
  margin-bottom: 8px;
  color: var(--theme-accent-strong);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scenario-comparison-context-cards strong {
  display: block;
  color: var(--text);
  font-size: 18px;
  line-height: 1.25;
}

.scenario-comparison-context-cards p {
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}

.scenario-scorecard-table {
  min-width: 980px;
}

.scenario-detail-metrics .table-wrap,
#scenario-detail-metrics .table-wrap {
  overflow: visible;
}

.scenario-scorecard-table thead th {
  position: sticky;
  top: 0;
  z-index: 28;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--theme-soft) 72%, #fff), color-mix(in srgb, var(--theme-soft) 52%, #fff)),
    #fff;
  box-shadow:
    inset 0 -1px 0 rgba(190, 173, 150, 0.72),
    0 10px 18px rgba(58, 48, 36, 0.1);
}

.scenario-scorecard-table th {
  background: color-mix(in srgb, var(--theme-soft) 46%, #fff);
  color: var(--theme-accent-strong);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scenario-scorecard-table td {
  vertical-align: middle;
  line-height: 1.45;
}

.scenario-scorecard-table .metric {
  color: var(--text);
  font-weight: 850;
}

.scenario-scorecard-table .value-cell,
.scenario-scorecard-table .delta-cell {
  color: var(--text);
  font-weight: 700;
}

.scenario-scorecard-table .muted {
  color: var(--muted);
}

.scenario-scorecard-table .scenario-scorecard-section td {
  background: color-mix(in srgb, var(--theme-soft) 56%, #fff);
  color: var(--theme-accent-strong);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.scenario-scorecard-table .delta-cell {
  font-weight: 900;
}

.scenario-scorecard-table .delta-positive {
  color: var(--success);
}

.scenario-scorecard-table .delta-negative {
  color: var(--red);
}

.scenario-scorecard-table .delta-neutral {
  color: var(--muted);
}

.scenario-scorecard-table .delta-changed-neutral {
  color: var(--blue-dark);
}

.scenario-scorecard-table .compare-emphasis-positive {
  background: rgba(232, 245, 238, 0.76);
  box-shadow: inset 3px 0 0 rgba(18, 130, 76, 0.76);
}

.scenario-scorecard-table .compare-emphasis-negative {
  background: rgba(251, 240, 238, 0.72);
  box-shadow: inset 3px 0 0 rgba(194, 65, 61, 0.72);
}

.scenario-scorecard-table .compare-emphasis-neutral {
  background: rgba(247, 251, 255, 0.78);
  box-shadow: inset 3px 0 0 rgba(43, 111, 186, 0.48);
}

@media (max-width: 1200px) {
  #scenario-detail-metrics .table-wrap {
    max-width: 100%;
    overflow: auto;
  }
}

@media (max-width: 900px) {
  .scenario-comparison-guide p {
    font-size: 15px;
  }

  .scenario-comparison-legend {
    gap: 12px 18px;
  }

  .scenario-comparison-legend span {
    font-size: 14px;
  }

  .scenario-comparison-differences-toggle {
    min-height: 42px;
    padding: 0 16px;
    font-size: 14px;
  }
}

.metric-list {
  display: grid;
  gap: 8px;
  margin: 0;
}

.metric-list div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--subtle);
}

.metric-list div:last-child {
  border-bottom: 0;
}

.metric-list dt {
  color: var(--muted);
  font-size: 13.5px;
}

.metric-list dd {
  margin: 0;
  color: var(--text);
  font-weight: 800;
  text-align: right;
}

.panel-action-link {
  margin-top: 12px;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 0 12px;
  border: 1px solid color-mix(in srgb, var(--blue) 16%, var(--subtle));
  border-radius: 7px;
  background: color-mix(in srgb, var(--blue-soft) 58%, #fff);
  color: var(--blue-dark);
  font-size: 13px;
  font-weight: 800;
}

.panel-action-link::after {
  content: "→";
  font-size: 14px;
}

.panel-action-link:hover {
  border-color: color-mix(in srgb, var(--blue) 34%, var(--subtle));
  background: var(--blue-soft);
}

.positive {
  color: var(--success) !important;
}

.negative {
  color: var(--red) !important;
}

.warning {
  color: var(--orange) !important;
}

.neutral {
  color: var(--muted) !important;
}

.decision-candidate-card .decision-candidate-score strong.positive,
.decision-candidate-card .decision-candidate-score strong.negative {
  color: var(--decision-accent) !important;
}

.table-wrap {
  overflow: auto;
  border: 1px solid rgba(221, 211, 197, 0.8);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.68);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.74);
}

table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 13px;
}

th {
  position: sticky;
  top: 0;
  background:
    linear-gradient(180deg, rgba(250, 248, 242, 0.98), rgba(245, 241, 233, 0.96)),
    var(--surface-muted);
  color: #52605d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: left;
  padding: 12px 14px;
  border-bottom: 1px solid var(--subtle);
}

td {
  padding: 13px 14px;
  border-bottom: 1px solid rgba(232, 226, 216, 0.78);
  white-space: nowrap;
}

tbody tr:last-child td {
  border-bottom: 0;
}

tbody tr:hover {
  background:
    linear-gradient(90deg, rgba(237, 245, 255, 0.52), rgba(255, 250, 241, 0.38));
}

#annual-detail-table-panel {
  --annual-detail-group-header-height: 46px;
  --annual-detail-sticky-top: 0px;
  position: relative;
  overflow: visible;
  padding: 22px;
  border-color: color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  background:
    linear-gradient(90deg,
      var(--theme-accent-strong),
      var(--theme-accent) 58%,
      color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--theme-soft) 42%, transparent), transparent 20rem),
    radial-gradient(circle at 94% 8%, rgba(255, 247, 223, 0.46), transparent 18rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 252, 247, 0.955)),
    var(--surface);
  box-shadow:
    0 22px 54px rgba(74, 58, 42, 0.085),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

#annual-detail-table-panel > * {
  position: relative;
  z-index: 2;
}

#annual-detail-table-panel .surface-header h2 {
  color: var(--theme-display);
  font-size: 22px;
  line-height: 1.12;
}

#annual-detail-table-panel .table-wrap {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: clip;
}

#annual-detail-table-panel table {
  min-width: 1640px;
}

#annual-detail-table-panel thead {
  position: static;
  z-index: 30;
  filter: drop-shadow(0 12px 16px rgba(58, 48, 36, 0.11));
}

#annual-detail-table-panel > .annual-detail-sticky-clone {
  position: fixed;
  z-index: 160;
  overflow: hidden;
  pointer-events: none;
  filter: drop-shadow(0 12px 16px rgba(58, 48, 36, 0.11));
}

#annual-detail-table-panel > .annual-detail-sticky-clone[hidden] {
  display: none;
}

.annual-detail-sticky-clone table {
  border-collapse: separate;
  border-spacing: 0;
}

.annual-detail-sticky-clone thead {
  position: static;
  filter: none;
}

.annual-detail-sticky-clone thead th {
  position: static !important;
}

#annual-detail-table-panel thead th {
  border-bottom: 1px solid rgba(190, 173, 150, 0.72);
  box-shadow: inset -1px 0 0 rgba(220, 210, 195, 0.62);
}

#annual-detail-table-panel .annual-detail-copy {
  margin: 6px 0 0;
  max-width: 1180px;
  color: #53616b;
  font-size: 14px;
  line-height: 1.6;
}

.annual-detail-guide {
  display: grid;
  gap: 16px;
  margin: 0 0 18px;
  padding: clamp(16px, 2.2vw, 22px) clamp(16px, 2.8vw, 30px);
  border: 1px solid var(--subtle);
  border-radius: 8px;
  background: var(--surface);
  color: #23435f;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.78),
    0 14px 34px rgba(45, 38, 28, 0.06);
  overflow: hidden;
}

.annual-detail-guide-top {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 13px;
  border-bottom: 1px solid rgba(179, 194, 205, 0.48);
}

.annual-detail-guide h3,
.annual-detail-guide h4 {
  color: var(--text);
  font-family: "Source Serif 4", Georgia, serif;
  letter-spacing: 0;
}

.annual-detail-guide h3 {
  margin: 0 0 8px;
  font-size: 20px;
}

.annual-detail-guide h4 {
  margin: 0;
  font-size: 18px;
  line-height: 1.15;
}

.annual-detail-guide-step-flow h4 {
  color: #107f49;
}

.annual-detail-guide-step-engine h4 {
  color: #3e2386;
}

.annual-detail-guide p {
  margin: 0;
  color: #4c6172;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.55;
}

.annual-detail-sample-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 40px;
  padding: 9px 16px;
  border: 1px solid color-mix(in srgb, var(--blue) 40%, var(--subtle));
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.82);
  color: #064c96;
  font: inherit;
  font-size: 14px;
  font-weight: 850;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 8px 20px rgba(31, 91, 157, 0.08);
  cursor: pointer;
  white-space: nowrap;
}

.annual-detail-sample-button:hover {
  background: color-mix(in srgb, var(--blue) 8%, white);
  border-color: color-mix(in srgb, var(--blue) 58%, var(--subtle));
}

.annual-detail-guide-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: 18px;
}

.annual-detail-guide-step {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 0;
  min-width: 0;
  padding: 4px 0 2px;
}

.annual-detail-guide-step + .annual-detail-guide-step {
  border-left: 0;
}

.annual-detail-guide-step-head {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: 11px;
  align-items: center;
}

.annual-detail-step-number {
  display: inline-grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 2px solid rgba(10, 79, 154, 0.22);
  border-radius: 999px;
  background: linear-gradient(145deg, rgba(231, 240, 252, 0.96), rgba(255, 255, 255, 0.72));
  color: #0a4f9a;
  font-size: 25px;
  font-weight: 900;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.annual-detail-guide-step-flow .annual-detail-step-number {
  border-color: rgba(19, 129, 73, 0.24);
  background: linear-gradient(145deg, rgba(218, 241, 226, 0.96), rgba(255, 255, 255, 0.72));
  color: #138149;
}

.annual-detail-guide-step-engine .annual-detail-step-number {
  border-color: rgba(77, 44, 153, 0.24);
  background: linear-gradient(145deg, rgba(236, 228, 250, 0.96), rgba(255, 255, 255, 0.72));
  color: #4d2c99;
}

.annual-detail-step-icon {
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: #0a4f9a;
}

.annual-detail-step-icon svg {
  width: 31px;
  height: 31px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.annual-detail-step-icon-green {
  color: #138149;
}

.annual-detail-step-icon-violet {
  color: #4d2c99;
}

.annual-detail-sample-row,
.annual-detail-equation-strip,
.annual-detail-engine-strip {
  margin-top: auto;
  border: 1px solid rgba(199, 213, 226, 0.78);
  border-radius: 7px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 251, 255, 0.82)),
    rgba(255, 255, 255, 0.84);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.88),
    0 10px 22px rgba(35, 63, 86, 0.055);
}

.annual-detail-sample-row {
  display: grid;
  grid-template-columns: minmax(90px, 1fr) minmax(92px, 1fr) minmax(92px, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  width: 100%;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.annual-detail-sample-row:hover {
  border-color: color-mix(in srgb, var(--blue) 42%, var(--subtle));
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), color-mix(in srgb, var(--blue) 5%, white)),
    rgba(255, 255, 255, 0.9);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 12px 24px rgba(35, 63, 86, 0.08);
}

.annual-detail-sample-row strong,
.annual-detail-equation-strip small,
.annual-detail-engine-strip small {
  color: #1d2c38;
  font-weight: 850;
}

.annual-detail-sample-row span {
  display: block;
  margin-top: 4px;
  color: #53616b;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.35;
}

.annual-detail-sample-arrow {
  color: #064c96 !important;
  font-size: 28px !important;
  font-weight: 800 !important;
}

.annual-detail-equation-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 5px;
  overflow: visible;
  padding: 8px;
}

.annual-detail-equation-strip span,
.annual-detail-engine-strip span {
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 7px;
  min-width: 0;
  text-align: center;
}

.annual-detail-equation-strip span {
  flex: 1 1 78px;
}

.annual-detail-equation-strip b {
  flex: 0 0 auto;
  align-self: center;
  color: #4b5b67;
  font-size: 15px;
}

.annual-detail-equation-strip svg,
.annual-detail-engine-strip svg {
  width: 36px;
  height: 36px;
  padding: 8px;
  border-radius: 999px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  background: color-mix(in srgb, var(--blue) 11%, white);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--blue) 22%, transparent);
}

.annual-detail-equation-strip span:nth-of-type(2) svg {
  color: #138149;
  background: color-mix(in srgb, #19a96b 13%, white);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #19a96b 26%, transparent);
}

.annual-detail-equation-strip span:nth-of-type(3) svg {
  color: #b4770b;
  background: color-mix(in srgb, var(--gold) 18%, white);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--gold) 34%, transparent);
}

.annual-detail-equation-strip span:nth-of-type(4) svg {
  color: #0a4f9a;
  background: color-mix(in srgb, var(--blue) 11%, white);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--blue) 22%, transparent);
}

.annual-detail-engine-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(78px, 1fr));
  gap: 10px;
  padding: 12px 16px;
  border-color: color-mix(in srgb, #7b5bc9 20%, var(--subtle));
  background:
    linear-gradient(135deg, rgba(250, 247, 255, 0.94), rgba(255, 255, 255, 0.86)),
    rgba(255, 255, 255, 0.86);
}

.annual-detail-engine-strip svg {
  color: #4d2c99;
  background: color-mix(in srgb, #7b5bc9 11%, white);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #7b5bc9 22%, transparent);
}

.annual-detail-engine-strip svg.annual-detail-plain-percent {
  padding: 8px;
  background: color-mix(in srgb, #7b5bc9 11%, white);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #7b5bc9 22%, transparent);
}

.annual-detail-guide-tip {
  position: relative;
  overflow: hidden;
  display: flex;
  gap: 14px;
  align-items: center;
  justify-self: center;
  width: min(100%, 1035px);
  min-height: 78px;
  padding: 14px 24px;
  border: 1px solid rgba(226, 207, 174, 0.82);
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(255, 252, 244, 0.98), rgba(255, 252, 244, 0.78) 45%, rgba(255, 252, 244, 0.24)),
    url("assets/brand/projections-global-panel.png") right center / auto 100% no-repeat,
    #fffaf0;
}

.annual-detail-guide-tip img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  flex: 0 0 auto;
}

.annual-detail-guide-tip p {
  max-width: 760px;
  color: #42535f;
  font-size: 15px;
  line-height: 1.55;
}

.annual-detail-guide-tip strong {
  color: #27343c;
}

.inline-help-marker {
  display: inline-grid;
  width: 15px;
  height: 15px;
  place-items: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  color: color-mix(in srgb, var(--theme-accent-strong) 86%, var(--text));
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  box-shadow: inset 0 0 0 1.4px color-mix(in srgb, var(--theme-accent-strong) 24%, transparent);
}

@media (max-width: 980px) {
  .annual-detail-guide-top {
    align-items: flex-start;
    flex-direction: column;
  }

  .annual-detail-guide-steps {
    grid-template-columns: 1fr;
  }

  .annual-detail-guide-step,
  .annual-detail-guide-step:first-child,
  .annual-detail-guide-step:last-child {
    min-height: auto;
    padding: 0;
  }

  .annual-detail-guide-step + .annual-detail-guide-step {
    padding-top: 20px;
    border-top: 1px solid rgba(179, 194, 205, 0.48);
    border-left: 0;
  }
}

@media (max-width: 640px) {
  .annual-detail-guide {
    padding: 16px;
  }

  .annual-detail-guide-step-head,
  .annual-detail-sample-row {
    grid-template-columns: 1fr;
  }

  .annual-detail-equation-strip,
  .annual-detail-engine-strip {
    overflow-x: visible;
    justify-content: flex-start;
  }

  .annual-detail-engine-strip {
    grid-template-columns: repeat(auto-fit, minmax(70px, 1fr));
  }
}

#annual-detail-table-panel thead tr.annual-detail-group-row th {
  position: sticky;
  top: var(--annual-detail-sticky-top);
  z-index: 12;
  height: var(--annual-detail-group-header-height);
  padding: 9px 14px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--theme-soft) 54%, white), rgba(250, 247, 239, 0.98)),
    var(--surface-muted);
  color: var(--theme-accent-strong);
  border-right: 1px solid rgba(221, 211, 197, 0.68);
  border-bottom: 1px solid color-mix(in srgb, var(--theme-accent) 24%, var(--subtle));
  font-size: 10px;
}

#annual-detail-table-panel thead tr.annual-detail-column-row th {
  position: sticky;
  top: calc(var(--annual-detail-sticky-top) + var(--annual-detail-group-header-height));
  z-index: 11;
  background:
    linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(246, 242, 234, 0.98)),
    var(--surface-muted);
  border-bottom: 3px solid color-mix(in srgb, var(--theme-accent-strong) 32%, var(--subtle));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.68),
    inset 0 -1px 0 rgba(255, 255, 255, 0.62),
    0 12px 18px rgba(64, 52, 38, 0.105);
}

#annual-detail-table-panel tbody tr:first-child td {
  border-top: 1px solid rgba(159, 137, 106, 0.18);
}

#annual-detail-table-panel tbody tr:not([class*="annual-row-"]):nth-child(even) td {
  background: linear-gradient(180deg, rgba(248, 251, 253, 0.92), rgba(255, 255, 255, 0.98));
}

#annual-detail-table-panel tbody tr:hover td {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), color-mix(in srgb, var(--theme-accent) 4%, white));
}

#annual-detail-table-panel tr.annual-detail-data-row {
  cursor: pointer;
}

#annual-detail-table-panel tr.annual-detail-data-row:focus {
  outline: none;
}

#annual-detail-table-panel tr.annual-detail-data-row:focus td,
#annual-detail-table-panel tr.annual-detail-data-row[aria-expanded="true"] td {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), color-mix(in srgb, var(--theme-soft) 34%, white));
}

#annual-detail-table-panel tr.annual-detail-data-row[aria-expanded="true"] td:first-child {
  box-shadow: inset 4px 0 0 color-mix(in srgb, var(--theme-accent) 70%, var(--gold));
}

#annual-detail-table-panel th:first-child,
#annual-detail-table-panel td:first-child {
  min-width: 190px;
}

#annual-detail-table-panel th:nth-child(2),
#annual-detail-table-panel td:nth-child(2) {
  width: 62px;
}

#annual-detail-table-panel td:nth-child(4),
#annual-detail-table-panel td:nth-child(5),
#annual-detail-table-panel td:nth-child(6),
#annual-detail-table-panel td:nth-child(7),
#annual-detail-table-panel td:nth-child(8),
#annual-detail-table-panel td:nth-child(9),
#annual-detail-table-panel td:nth-child(10),
#annual-detail-table-panel td:nth-child(11),
#annual-detail-table-panel td:nth-child(13) {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

#annual-detail-table-panel td:nth-child(4),
#annual-detail-table-panel td:nth-child(11),
#annual-detail-table-panel td:nth-child(13) {
  font-weight: 700;
  color: color-mix(in srgb, var(--theme-accent-strong) 16%, var(--text));
}

#annual-detail-table-panel td:nth-child(12) {
  font-weight: 700;
}

#annual-detail-table-panel td:nth-child(3) {
  min-width: 150px;
}

#annual-detail-table-panel td.annual-start-balance,
#annual-detail-table-panel td.annual-ending-balance {
  font-weight: 700;
  color: color-mix(in srgb, var(--theme-accent-strong) 16%, var(--text));
}

#annual-detail-table-panel td.annual-estimated-taxes {
  color: #7a5b35;
  font-weight: 650;
}

#annual-detail-table-panel td.annual-value-positive {
  color: var(--success);
  font-weight: 700;
}

#annual-detail-table-panel td.annual-value-negative {
  color: var(--red);
  font-weight: 700;
}

#annual-detail-table-panel td.annual-value-outflow {
  color: #8b5e1f;
  font-weight: 660;
}

#annual-detail-table-panel tr.is-jump-target td {
  animation: annual-jump-highlight 1800ms ease;
}

.annual-detail-math-row td {
  padding: 0;
  white-space: normal;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--theme-soft) 22%, white), rgba(255, 252, 247, 0.94));
  animation: annual-math-row-open 420ms cubic-bezier(0.22, 0.74, 0.25, 1);
}

tbody tr.annual-detail-math-row:hover {
  background: transparent;
}

.annual-math-panel {
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  gap: 16px;
  padding: 18px 20px 15px;
  border-top: 1px solid color-mix(in srgb, var(--theme-accent) 14%, var(--subtle));
  border-bottom: 1px solid color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  background:
    radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--theme-soft) 52%, transparent), transparent 22rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(255, 250, 241, 0.78));
  transform-origin: top center;
  animation: annual-math-panel-open 480ms cubic-bezier(0.22, 0.74, 0.25, 1);
}

.annual-outcome-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 7px;
  padding: 16px 18px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 14%, var(--subtle));
  border-radius: 12px;
  background:
    radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--theme-soft) 52%, transparent), transparent 19rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(255, 252, 246, 0.8));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.annual-outcome-hero.has-milestone {
  border-color: color-mix(in srgb, var(--annual-milestone-accent, var(--theme-accent)) 32%, var(--subtle));
  background:
    linear-gradient(90deg,
      color-mix(in srgb, var(--annual-milestone-accent, var(--theme-accent)) 22%, transparent),
      transparent 42%) top / 100% 5px no-repeat,
    radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--annual-milestone-soft, var(--theme-soft)) 74%, transparent), transparent 19rem),
    linear-gradient(135deg, color-mix(in srgb, var(--annual-milestone-soft, var(--theme-soft)) 46%, rgba(255, 255, 255, 0.9)), rgba(255, 252, 246, 0.8));
}

.annual-math-panel.has-milestone {
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--annual-milestone-soft, var(--theme-soft)) 34%, rgba(255, 255, 255, 0.94)), rgba(255, 252, 247, 0.86));
}

.annual-milestone-retirement-start {
  --annual-milestone-accent: #14b8a6;
  --annual-milestone-soft: rgba(224, 250, 245, 0.86);
}

.annual-milestone-primary-retirement,
.annual-milestone-spouse-retirement {
  --annual-milestone-accent: #2563eb;
  --annual-milestone-soft: rgba(231, 240, 255, 0.9);
}

.annual-milestone-social-security-start {
  --annual-milestone-accent: #8b5cf6;
  --annual-milestone-soft: rgba(243, 232, 255, 0.9);
}

.annual-milestone-medicare-start {
  --annual-milestone-accent: #ec4899;
  --annual-milestone-soft: rgba(252, 231, 243, 0.9);
}

.annual-milestone-rmd-start,
.annual-milestone-milestone-expense,
.annual-milestone-one-time-expense {
  --annual-milestone-accent: #f59e0b;
  --annual-milestone-soft: rgba(255, 247, 214, 0.9);
}

.annual-milestone-spending-phase-start {
  --annual-milestone-accent: #94a3b8;
  --annual-milestone-soft: rgba(241, 245, 249, 0.94);
}

.annual-milestone-cap-breach {
  --annual-milestone-accent: #ef4444;
  --annual-milestone-soft: rgba(255, 236, 236, 0.9);
}

.annual-milestone-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 5px;
  padding: 11px 13px;
  border: 1px solid color-mix(in srgb, var(--annual-milestone-accent, var(--theme-accent)) 28%, rgba(255, 255, 255, 0.8));
  border-radius: 10px;
  background: color-mix(in srgb, var(--annual-milestone-soft, var(--theme-soft)) 68%, rgba(255, 255, 255, 0.78));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.annual-milestone-banner > div {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.annual-milestone-banner span:first-child {
  color: color-mix(in srgb, var(--annual-milestone-accent, var(--theme-accent)) 78%, #1f2529);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.annual-milestone-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.annual-milestone-banner p {
  margin: 0;
  color: #4f5d66;
  font-size: 13px;
  font-weight: 720;
  line-height: 1.35;
  text-align: right;
}

.annual-outcome-hero > .eyebrow,
.annual-outcome-hero > h3,
.annual-outcome-hero > .annual-flow-result,
.annual-outcome-hero > .annual-flow-note,
.annual-outcome-hero > .annual-retirement-anchor-note,
.annual-outcome-hero > .annual-partial-month-note {
  grid-column: 1;
}

.annual-outcome-hero .eyebrow {
  margin: 0;
  color: var(--theme-accent-strong);
}

.annual-outcome-hero h3 {
  margin: 0;
  color: var(--text);
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 900;
  letter-spacing: var(--display-title-letter-spacing);
}

.annual-outcome-hero .annual-flow-result {
  margin: 0;
  color: var(--blue-dark);
  font-size: 32px;
  font-weight: 850;
  line-height: 1.12;
}

.annual-outcome-hero.positive .annual-flow-result {
  color: var(--success);
}

.annual-outcome-hero.negative .annual-flow-result {
  color: var(--red);
}

.annual-outcome-hero .annual-flow-note {
  max-width: 58ch;
  margin: 0;
  color: #4f5d66;
  font-size: 16px;
  line-height: 1.45;
}

.annual-outcome-hero .annual-retirement-anchor-note {
  max-width: 82ch;
  margin: 8px 0 0;
  padding-top: 10px;
  border-top: 1px solid color-mix(in srgb, var(--annual-milestone-accent, var(--theme-accent)) 22%, var(--subtle));
  color: #405761;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.5;
}

.annual-outcome-hero .annual-partial-month-note {
  max-width: 82ch;
  margin: 5px 0 0;
  padding: 9px 11px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 20%, var(--subtle));
  border-radius: 9px;
  background: color-mix(in srgb, var(--theme-soft) 34%, rgba(255, 255, 255, 0.82));
  color: #4f5d66;
  font-size: 13px;
  font-weight: 680;
  line-height: 1.42;
}

.annual-flow-equation {
  display: grid;
  grid-template-columns: minmax(230px, 1fr) auto minmax(390px, 1.45fr) auto minmax(360px, 1.35fr) auto minmax(230px, 1fr);
  align-items: stretch;
  gap: 16px;
  padding: 22px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 20%, var(--subtle));
  border-radius: 14px;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.94), color-mix(in srgb, var(--theme-soft) 28%, rgba(255, 255, 255, 0.9)));
  box-shadow: 0 20px 44px rgba(31, 40, 54, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.annual-equation-term,
.annual-equation-group {
  position: relative;
  min-height: 172px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 28%, var(--subtle));
  border-radius: 11px;
  background:
    radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--theme-soft) 58%, transparent), transparent 8.5rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), color-mix(in srgb, var(--theme-soft) 14%, rgba(255, 255, 255, 0.86)));
  box-shadow:
    0 18px 38px color-mix(in srgb, var(--theme-soft) 52%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.94),
    inset 0 -3px 0 color-mix(in srgb, var(--theme-accent) 14%, transparent);
}

.annual-equation-term {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 10px;
  padding: 22px 18px;
  text-align: center;
}

.annual-equation-term.is-start {
  background:
    radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--theme-soft) 58%, transparent), transparent 8.5rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), color-mix(in srgb, var(--theme-soft) 12%, rgba(255, 255, 255, 0.88)));
}

.annual-equation-term.is-end {
  border-color: color-mix(in srgb, var(--theme-accent) 38%, var(--subtle));
  background:
    radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--theme-soft) 72%, transparent), transparent 8.5rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), color-mix(in srgb, var(--theme-soft) 18%, rgba(255, 255, 255, 0.9)));
  box-shadow:
    0 18px 38px color-mix(in srgb, var(--theme-soft) 58%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.94),
    inset 0 -3px 0 color-mix(in srgb, var(--theme-accent) 18%, transparent);
}

.annual-equation-term span,
.annual-equation-group > p,
.annual-equation-item span {
  color: #34404a;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.annual-equation-term strong {
  color: var(--blue-dark);
  font-size: 32px;
  line-height: 1.05;
}

.annual-equation-term.is-end strong {
  color: var(--theme-accent-strong);
  font-size: 34px;
}

.annual-equation-term small,
.annual-equation-item small {
  color: #5c6973;
  font-size: 13px;
  line-height: 1.42;
}

.annual-equation-symbol {
  display: grid;
  place-items: center;
  align-self: center;
  justify-self: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.88);
  color: color-mix(in srgb, var(--theme-accent-strong) 58%, #6f7a84);
  font-size: 31px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(31, 40, 54, 0.05), inset 0 0 0 1px rgba(221, 211, 197, 0.72);
}

.annual-equation-symbol.is-equals {
  color: var(--theme-accent-strong);
  padding-bottom: 2px;
}

.annual-equation-group {
  display: grid;
  align-content: start;
  gap: 11px;
  padding: 17px 18px;
}

.annual-equation-group.is-inflow {
  background:
    radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--theme-soft) 58%, transparent), transparent 8.5rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(239, 251, 245, 0.72));
}

.annual-equation-group.is-outflow {
  background:
    radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--theme-soft) 58%, transparent), transparent 8.5rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(255, 245, 242, 0.7));
}

.annual-equation-group > p {
  margin: 0 0 4px;
  color: var(--theme-accent-strong);
}

.annual-equation-item {
  display: grid;
  grid-template-columns: minmax(142px, 0.72fr) minmax(132px, auto);
  align-items: center;
  gap: 6px 16px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(221, 211, 197, 0.42);
  background: transparent;
  box-shadow: none;
}

.annual-equation-item:last-child {
  border-bottom: 0;
}

.annual-equation-item strong {
  color: var(--blue-dark);
  font-size: 26px;
  line-height: 1.08;
  white-space: nowrap;
}

.annual-equation-item small {
  grid-column: 1 / -1;
  max-width: 42rem;
}

.annual-equation-item.positive strong {
  color: var(--success);
}

.annual-equation-item.offset strong {
  color: var(--success);
}

.annual-equation-item.negative strong {
  color: var(--red);
}

.annual-equation-item.tax strong {
  color: #9a661b;
}

.annual-flow-term {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: stretch;
  gap: 8px;
}

.annual-flow-term:first-child {
  grid-template-columns: minmax(0, 1fr);
}

.annual-flow-operator {
  display: grid;
  place-items: center;
  min-width: 26px;
  color: color-mix(in srgb, var(--theme-accent-strong) 54%, #6f7a84);
  font-size: 26px;
  font-weight: 900;
}

.annual-flow-term-card {
  display: grid;
  align-content: start;
  gap: 6px;
  min-height: 126px;
  padding: 13px 12px;
  border: 1px solid rgba(221, 211, 197, 0.68);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
}

.annual-flow-term-card span,
.annual-tax-callout span {
  color: #34404a;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.annual-flow-term-card strong {
  color: var(--blue-dark);
  font-size: 22px;
  line-height: 1.1;
}

.annual-flow-term-card small,
.annual-flow-term-card em,
.annual-tax-callout small {
  color: #5c6973;
  font-size: 11.5px;
  font-style: normal;
  line-height: 1.35;
}

.annual-flow-term-card em {
  padding-top: 4px;
  border-top: 1px dashed rgba(221, 211, 197, 0.72);
  color: #725f4d;
  font-weight: 720;
}

.annual-flow-term.positive .annual-flow-term-card strong {
  color: var(--success);
}

.annual-flow-term.negative .annual-flow-term-card strong {
  color: var(--red);
}

.annual-flow-term.end .annual-flow-term-card {
  border-color: color-mix(in srgb, var(--theme-accent) 22%, var(--subtle));
  background: color-mix(in srgb, var(--theme-soft) 24%, rgba(255, 255, 255, 0.88));
}

.annual-tax-callout {
  grid-column: 4 / 6;
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  margin: 2px 0 0 34px;
  padding: 8px 10px;
  border: 1px dashed rgba(203, 153, 72, 0.42);
  border-radius: 8px;
  background: rgba(255, 250, 240, 0.72);
}

.annual-tax-callout strong {
  color: #9a661b;
  font-size: 15px;
}

.annual-flow-summary {
  display: grid;
  grid-template-columns: minmax(260px, 0.92fr) minmax(0, 1.35fr);
  align-items: start;
  gap: 18px;
}

.annual-flow-summary > .eyebrow,
.annual-flow-summary > h3,
.annual-flow-summary > .annual-flow-result,
.annual-flow-summary > .annual-flow-note {
  grid-column: 1;
}

.annual-flow-summary .annual-math-context {
  grid-column: 2;
  align-self: end;
  justify-content: flex-end;
}

.annual-flow-summary .eyebrow {
  margin: 0;
  color: var(--theme-accent-strong);
}

.annual-flow-summary h3 {
  margin: 0;
  color: var(--text);
  font-family: var(--font-display);
  font-size: 23px;
  font-weight: 850;
  letter-spacing: var(--display-title-letter-spacing);
}

.annual-flow-result {
  margin: 0;
  color: #26313a;
  font-size: 18px;
  font-weight: 780;
  line-height: 1.35;
}

.annual-flow-note {
  margin: 0;
  color: #5b6770;
  font-size: 13px;
  line-height: 1.5;
}

.annual-flow-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 18px;
}

.annual-flow-step {
  position: relative;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 7px;
  min-height: 170px;
  padding: 14px 12px 13px;
  border: 1px solid rgba(221, 211, 197, 0.72);
  border-radius: 8px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.92), transparent 7rem),
    rgba(255, 255, 255, 0.8);
  box-shadow: 0 12px 28px rgba(31, 40, 54, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.86);
  text-align: center;
}

.annual-flow-step:not(:last-child)::after {
  content: "→";
  position: absolute;
  top: 50%;
  right: -15px;
  z-index: 1;
  transform: translateY(-50%);
  color: color-mix(in srgb, var(--theme-accent-strong) 54%, #7d8790);
  font-size: 22px;
  font-weight: 800;
}

.annual-flow-icon,
.annual-insight-icon {
  display: inline-grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--theme-soft) 48%, white);
  color: var(--theme-accent-strong);
  font-size: 20px;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--theme-accent) 18%, transparent);
}

.annual-flow-step span {
  color: #34404a;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.annual-flow-step strong {
  color: var(--blue-dark);
  font-size: 20px;
  line-height: 1.1;
}

.annual-flow-step small {
  color: #5c6973;
  font-size: 12px;
  line-height: 1.35;
}

.annual-flow-step.positive strong,
.annual-flow-step.positive .annual-flow-icon {
  color: var(--success);
}

.annual-flow-step.negative strong,
.annual-flow-step.negative .annual-flow-icon {
  color: var(--red);
}

.annual-flow-step.tax strong,
.annual-flow-step.tax .annual-flow-icon {
  color: #9a661b;
}

.annual-flow-step.end {
  border-color: color-mix(in srgb, var(--theme-accent) 22%, var(--subtle));
  background:
    radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--theme-soft) 42%, white), transparent 7rem),
    rgba(255, 255, 255, 0.84);
}

.annual-flow-support {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: 12px;
}

.annual-flow-section {
  padding: 15px;
  border: 1px solid rgba(221, 211, 197, 0.68);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.annual-flow-section > .eyebrow {
  margin: 0 0 13px;
  color: var(--theme-accent-strong);
  font-size: 12.5px;
}

.annual-insight-grid,
.annual-driver-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.annual-insight-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 13px;
  align-items: start;
  padding: 14px 15px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid rgba(221, 211, 197, 0.48);
}

.annual-insight-rank {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--theme-soft) 42%, white);
  color: var(--theme-accent-strong);
  font-size: 14px;
  font-weight: 900;
}

.annual-insight-card span {
  display: block;
  margin-bottom: 4px;
  color: var(--theme-accent-strong);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.annual-insight-card h4,
.annual-driver-card h4 {
  margin: 0;
  color: #26313a;
  font-size: 14px;
  font-weight: 850;
}

.annual-insight-card p {
  margin: 6px 0 3px;
  color: #5b6770;
  font-size: 13.5px;
  line-height: 1.43;
}

.annual-insight-card p strong {
  color: var(--blue-dark);
  font-size: 14px;
  font-weight: 900;
}

.annual-insight-card.positive p strong,
.annual-insight-card.positive .annual-insight-rank {
  color: var(--success);
}

.annual-insight-card.negative p strong,
.annual-insight-card.negative .annual-insight-rank {
  color: var(--red);
}

.annual-insight-card.tax p strong,
.annual-insight-card.tax .annual-insight-rank {
  color: #9a661b;
}

.annual-driver-section {
  background: linear-gradient(135deg, rgba(247, 252, 255, 0.76), rgba(255, 255, 255, 0.82));
}

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

.annual-driver-card {
  display: grid;
  gap: 8px;
  padding: 10px;
  border-left: 1px solid rgba(221, 211, 197, 0.78);
}

.annual-driver-card-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.annual-driver-card:first-child {
  border-left: 0;
}

.annual-driver-card.is-dominant {
  border-radius: 8px;
  background: color-mix(in srgb, var(--theme-soft) 20%, rgba(255, 255, 255, 0.82));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--theme-accent) 20%, transparent);
}

.annual-driver-card-head strong {
  color: var(--blue-dark);
  font-size: 17px;
  line-height: 1.1;
}

.annual-driver-card.positive .annual-driver-card-head strong {
  color: var(--success);
}

.annual-driver-card.negative .annual-driver-card-head strong {
  color: var(--red);
}

.annual-driver-bar {
  height: 8px;
  overflow: hidden;
  border: 1px solid rgba(221, 211, 197, 0.62);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.8);
}

.annual-driver-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--blue);
}

.annual-driver-card.positive .annual-driver-bar span {
  background: var(--success);
}

.annual-driver-card.negative .annual-driver-bar span {
  background: color-mix(in srgb, var(--red) 68%, #f7c9c4);
}

.annual-driver-card dl {
  display: grid;
  gap: 3px;
  margin: 0;
}

.annual-driver-card dl div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  color: #5b6770;
  font-size: 12px;
  line-height: 1.25;
}

.annual-driver-card dt,
.annual-driver-card dd {
  margin: 0;
}

.annual-driver-card dt {
  font-weight: 650;
}

.annual-driver-card dd {
  color: #2f3b45;
  font-size: 12px;
  font-weight: 850;
  text-align: right;
  white-space: nowrap;
}

.annual-driver-row.positive dd {
  color: var(--success);
}

.annual-driver-row.negative dd {
  color: var(--red);
}

.annual-driver-empty {
  margin: 0;
  color: #5b6770;
  font-size: 12px;
}

.annual-full-audit {
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.84), color-mix(in srgb, var(--theme-soft) 18%, rgba(255, 255, 255, 0.74)));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 10px 22px rgba(44, 37, 28, 0.038);
}

.annual-full-audit > summary {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  padding: 13px 15px;
  color: var(--theme-accent-strong);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.01em;
  list-style: none;
}

.annual-full-audit > summary::-webkit-details-marker {
  display: none;
}

.annual-full-audit > summary::before {
  content: "›";
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-soft) 62%, white);
  color: var(--theme-accent-strong);
  font-size: 21px;
  font-weight: 900;
  line-height: 1;
  transform: rotate(0deg);
  transition: transform 160ms ease;
}

.annual-full-audit > summary::after {
  content: "Full audit trail from start balance to ending balance";
  margin-left: auto;
  color: #66737c;
  font-size: 12.5px;
  font-weight: 650;
  letter-spacing: 0;
}

.annual-full-audit[open] > summary::before {
  transform: rotate(90deg);
}

.annual-full-audit[open] {
  padding-bottom: 12px;
}

.annual-full-audit .annual-math-main,
.annual-full-audit .annual-audit-equation,
.annual-full-audit .annual-audit-guide {
  margin: 0 12px;
}

.annual-full-audit .annual-math-main {
  padding: 0 0 10px;
}

.annual-math-main {
  display: grid;
  align-content: start;
  gap: 8px;
}

.annual-math-main .eyebrow {
  margin: 0;
  color: var(--theme-accent-strong);
}

.annual-math-main h3 {
  margin: 0;
  color: var(--text);
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: var(--display-title-letter-spacing);
}

.annual-math-note,
.annual-math-rounding {
  margin: 0;
  color: #5b6770;
  font-size: 13px;
  line-height: 1.55;
}

.annual-audit-guide {
  display: grid;
  gap: 12px;
  padding-bottom: 2px;
}

.annual-audit-guide-section,
.annual-advanced-tax-detail {
  display: grid;
  gap: 13px;
  padding: 15px;
  border: 1px solid rgba(221, 211, 197, 0.68);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.74);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.annual-audit-guide-section.is-added {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.82), rgba(239, 251, 245, 0.58));
}

.annual-audit-guide-section.is-used {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.82), rgba(255, 246, 241, 0.58));
}

.annual-audit-guide-section.is-tax {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.82), rgba(255, 250, 240, 0.64));
}

.annual-audit-guide-head {
  display: grid;
  gap: 4px;
  max-width: 76rem;
}

.annual-audit-guide-head span,
.annual-audit-detail-card > span,
.annual-audit-guide-row span,
.annual-audit-guide-total span,
.annual-audit-bucket-card h5,
.annual-advanced-tax-detail summary {
  color: var(--theme-accent-strong);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.annual-audit-guide-head h4 {
  margin: 0;
  color: var(--text);
  font-family: var(--font-display);
  font-size: 21px;
  font-weight: 850;
  letter-spacing: var(--display-title-letter-spacing);
}

.annual-audit-guide-head p,
.annual-audit-guide-note,
.annual-advanced-tax-detail > p,
.annual-audit-detail-card p,
.annual-audit-guide-row small,
.annual-audit-guide-total small {
  margin: 0;
  color: #5b6770;
  font-size: 13px;
  line-height: 1.48;
}

.annual-audit-guide-equation {
  display: grid;
  gap: 0;
  border: 1px solid rgba(221, 211, 197, 0.64);
  border-radius: 9px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.72);
}

.annual-audit-guide-row,
.annual-audit-guide-total {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) minmax(120px, auto);
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 10px 13px;
  border-bottom: 1px solid rgba(221, 211, 197, 0.48);
}

.annual-audit-guide-total {
  border-bottom: 0;
  background: color-mix(in srgb, var(--theme-soft) 22%, rgba(255, 255, 255, 0.82));
}

.annual-audit-guide-operator {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.84);
  color: color-mix(in srgb, var(--theme-accent-strong) 58%, #6f7a84);
  font-size: 18px;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(221, 211, 197, 0.62);
}

.annual-audit-guide-row > div:nth-child(2),
.annual-audit-guide-total > div:nth-child(2) {
  display: grid;
  gap: 2px;
}

.annual-audit-guide-row strong,
.annual-audit-guide-total strong {
  color: var(--blue-dark);
  font-size: 18px;
  font-weight: 900;
  text-align: right;
  white-space: nowrap;
}

.annual-audit-guide-total strong {
  color: var(--theme-accent-strong);
  font-size: 20px;
}

.annual-audit-guide-row.positive strong,
.annual-audit-guide-total.positive strong,
.annual-audit-bucket-card.positive .annual-audit-bucket-head strong {
  color: var(--success);
}

.annual-audit-guide-row.negative strong,
.annual-audit-guide-total.negative strong,
.annual-audit-bucket-card.negative .annual-audit-bucket-head strong {
  color: var(--red);
}

.annual-audit-guide-row.outflow strong,
.annual-audit-guide-row.tax strong,
.annual-audit-detail-card.outflow > strong,
.annual-audit-detail-card.tax > strong {
  color: #8b5e1f;
}

.annual-audit-guide-row.is-quiet {
  background: rgba(255, 255, 255, 0.42);
}

.annual-audit-guide-row.is-quiet span,
.annual-audit-guide-row.is-quiet strong,
.annual-audit-guide-row.is-quiet small {
  color: #7a858d;
}

.annual-audit-detail-grid,
.annual-audit-advanced-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.annual-audit-detail-card {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(221, 211, 197, 0.66);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.74);
}

.annual-audit-detail-card > strong {
  color: var(--blue-dark);
  font-size: 20px;
  line-height: 1.1;
}

.annual-audit-detail-card.positive > strong {
  color: var(--success);
}

.annual-audit-detail-card.negative > strong {
  color: var(--red);
}

.annual-audit-detail-list {
  display: grid;
  gap: 5px;
  margin: 2px 0 0;
  padding: 8px 0 0;
  border-top: 1px solid rgba(221, 211, 197, 0.52);
  list-style: none;
}

.annual-audit-detail-list li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #52606a;
  font-size: 12px;
  line-height: 1.25;
}

.annual-audit-detail-list li span {
  font-weight: 650;
}

.annual-audit-detail-list li strong {
  min-width: 0;
  color: var(--blue-dark);
  font-size: 12px;
  font-weight: 850;
  text-align: right;
  white-space: nowrap;
}

.annual-audit-detail-list li.description {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 3px;
}

.annual-audit-detail-list li.description strong {
  overflow-wrap: anywhere;
  text-align: left;
  white-space: normal;
}

.annual-audit-detail-list li.disclosure {
  display: block;
  padding-top: 2px;
}

.annual-audit-detail-disclosure {
  min-width: 0;
}

.annual-audit-detail-disclosure summary {
  color: var(--blue-dark);
  cursor: pointer;
  font-weight: 800;
  line-height: 1.35;
}

.annual-audit-detail-disclosure p {
  margin: 6px 0 0;
  color: #52606a;
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.annual-audit-detail-list li.positive strong {
  color: var(--success);
}

.annual-audit-detail-list li.negative strong {
  color: var(--red);
}

.annual-audit-detail-list li.outflow strong,
.annual-audit-detail-list li.tax strong {
  color: #8b5e1f;
}

.annual-audit-detail-list li.offset strong {
  color: var(--success);
}

.annual-audit-detail-list li.section {
  margin-top: 4px;
  padding-top: 6px;
  border-top: 1px dashed rgba(221, 211, 197, 0.72);
}

.annual-audit-detail-list li.section span {
  color: #7a6758;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.annual-audit-detail-list li.section strong {
  display: none;
}

.annual-audit-empty {
  margin: 0;
  color: #66737c;
  font-size: 12px;
  line-height: 1.4;
}

.annual-audit-tax-result {
  padding: 12px 13px;
  border: 1px dashed rgba(203, 153, 72, 0.52);
  border-radius: 8px;
  background: rgba(255, 250, 240, 0.76);
  color: #6d562f;
  font-size: 13.5px;
  font-weight: 740;
  line-height: 1.45;
}

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

.annual-audit-bucket-card {
  display: grid;
  gap: 9px;
  padding: 12px;
  border: 1px solid rgba(221, 211, 197, 0.66);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.74);
}

.annual-audit-bucket-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.annual-audit-bucket-head h5 {
  margin: 0;
}

.annual-audit-bucket-head strong {
  color: var(--blue-dark);
  font-size: 18px;
}

.annual-audit-bucket-card .annual-audit-guide-equation {
  border-color: rgba(221, 211, 197, 0.52);
}

.annual-audit-bucket-card .annual-audit-guide-row,
.annual-audit-bucket-card .annual-audit-guide-total {
  min-height: 40px;
  padding: 7px 9px;
  grid-template-columns: 30px minmax(0, 1fr) minmax(90px, auto);
}

.annual-audit-bucket-card .annual-audit-guide-row span,
.annual-audit-bucket-card .annual-audit-guide-total span {
  font-size: 10px;
}

.annual-audit-bucket-card .annual-audit-guide-row strong,
.annual-audit-bucket-card .annual-audit-guide-total strong {
  font-size: 13px;
}

.annual-advanced-tax-detail {
  background: rgba(255, 255, 255, 0.56);
}

.annual-advanced-tax-detail summary {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  list-style: none;
}

.annual-advanced-tax-detail summary::-webkit-details-marker {
  display: none;
}

.annual-advanced-tax-detail > summary::before {
  content: "›";
  display: inline-grid;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  place-items: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-soft) 58%, white);
  color: var(--theme-accent-strong);
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
  transform: rotate(0deg);
  transition: transform 160ms ease;
}

.annual-advanced-tax-detail[open] > summary::before {
  transform: rotate(90deg);
}

.annual-audit-equation {
  display: grid;
  grid-template-columns: minmax(170px, 0.76fr) auto minmax(230px, 1.05fr) auto minmax(460px, 1.92fr) auto minmax(170px, 0.76fr);
  align-items: stretch;
  gap: 12px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 14%, var(--subtle));
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.76), color-mix(in srgb, var(--theme-soft) 12%, rgba(255, 255, 255, 0.72)));
}

.annual-audit-block {
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(221, 211, 197, 0.66);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.66);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.annual-audit-block.is-added {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.78), rgba(239, 251, 245, 0.52));
}

.annual-audit-block.is-used {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.78), rgba(255, 246, 241, 0.54));
}

.annual-audit-block.is-end {
  border-color: color-mix(in srgb, var(--theme-accent) 28%, var(--subtle));
  background:
    radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--theme-soft) 46%, transparent), transparent 7rem),
    rgba(255, 255, 255, 0.78);
}

.annual-audit-block-head {
  display: grid;
  gap: 3px;
  min-height: 42px;
}

.annual-audit-block-head span,
.annual-audit-context-group > p {
  margin: 0;
  color: var(--theme-accent-strong);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.annual-audit-block-head h4 {
  margin: 0;
  color: var(--text);
  font-size: 14px;
  font-weight: 850;
  line-height: 1.2;
}

.annual-audit-operator {
  display: grid;
  place-items: center;
  align-self: center;
  justify-self: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  color: color-mix(in srgb, var(--theme-accent-strong) 62%, #6f7a84);
  font-size: 22px;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(221, 211, 197, 0.72);
}

.annual-audit-operator.is-equals {
  color: var(--theme-accent-strong);
}

.annual-audit-subgrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.annual-audit-context-group {
  display: grid;
  gap: 8px;
  margin-top: 2px;
  padding-top: 10px;
  border-top: 1px dashed rgba(203, 153, 72, 0.42);
}

.annual-math-metric {
  display: grid;
  align-content: start;
  grid-auto-rows: max-content;
  gap: 5px;
  min-height: 0;
  padding: 11px 12px 10px;
  border: 1px solid rgba(221, 211, 197, 0.72);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.annual-math-metric span {
  color: #34404a;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.annual-math-metric strong {
  color: var(--blue-dark);
  font-size: 18px;
}

.annual-math-metric small {
  color: #5c6973;
  font-size: 11.5px;
  line-height: 1.32;
}

.annual-math-breakdown {
  display: grid;
  gap: 4px;
  margin: 1px 0 0;
  padding: 6px 0 0;
  border-top: 1px solid rgba(221, 211, 197, 0.52);
  list-style: none;
}

.annual-math-breakdown li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  color: #52606a;
  font-size: 11.5px;
  line-height: 1.25;
}

.annual-math-breakdown li span {
  color: inherit;
  font-size: inherit;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
}

.annual-math-breakdown li strong {
  color: var(--blue-dark);
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}

.annual-math-breakdown li.positive strong {
  color: var(--success);
}

.annual-math-breakdown li.negative strong {
  color: var(--red);
}

.annual-math-breakdown li.section {
  margin-top: 3px;
  padding-top: 5px;
  border-top: 1px dashed rgba(221, 211, 197, 0.72);
}

.annual-math-breakdown li.section span {
  color: #7a6758;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.annual-math-breakdown li.section strong {
  display: none;
}

.annual-math-metric.positive strong {
  color: var(--success);
}

.annual-math-metric.negative strong {
  color: var(--red);
}

.annual-math-metric.outflow strong,
.annual-math-metric.tax strong {
  color: #8b5e1f;
}

.annual-math-context {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  padding-top: 0;
}

.annual-math-context span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 10%, var(--subtle));
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: #53616b;
  font-size: 12px;
  font-weight: 700;
}

.annual-math-context strong {
  color: var(--text);
}

@keyframes annual-jump-highlight {
  0%,
  100% {
    box-shadow: none;
  }
  16%,
  70% {
    box-shadow: inset 0 0 0 999px color-mix(in srgb, var(--theme-soft) 52%, rgba(255, 246, 218, 0.72));
  }
}

@keyframes annual-math-row-open {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes annual-math-panel-open {
  from {
    opacity: 0;
    transform: translateY(-8px) scaleY(0.985);
    filter: blur(2px);
  }
  70% {
    opacity: 1;
    filter: blur(0);
  }
  to {
    opacity: 1;
    transform: translateY(0) scaleY(1);
    filter: blur(0);
  }
}

@media (max-width: 1120px) {
  .annual-outcome-hero,
  .annual-flow-summary,
  .annual-flow-support {
    grid-template-columns: 1fr;
  }

  .annual-outcome-hero .annual-math-context,
  .annual-flow-summary .annual-math-context {
    grid-column: 1;
    justify-content: flex-start;
  }

  .annual-flow-equation {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .annual-audit-equation {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .annual-flow-term,
  .annual-flow-term:first-child {
    grid-template-columns: 1fr;
  }

  .annual-equation-term,
  .annual-equation-group {
    min-height: 0;
  }

  .annual-audit-operator {
    min-height: 22px;
  }

  .annual-flow-operator {
    min-height: 22px;
  }

  .annual-tax-callout {
    grid-column: auto;
    margin-left: 0;
  }

  .annual-flow-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .annual-flow-step:nth-child(3)::after {
    content: none;
  }

  .annual-audit-subgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .annual-audit-detail-grid,
  .annual-audit-advanced-grid,
  .annual-audit-bucket-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .annual-flow-steps,
  .annual-insight-grid,
  .annual-driver-grid {
    grid-template-columns: 1fr;
  }

  .annual-flow-step:not(:last-child)::after {
    content: "↓";
    top: auto;
    right: 50%;
    bottom: -18px;
    transform: translateX(50%);
  }

  .annual-audit-subgrid {
    grid-template-columns: 1fr;
  }

  .annual-audit-detail-grid,
  .annual-audit-advanced-grid,
  .annual-audit-bucket-grid {
    grid-template-columns: 1fr;
  }

  .annual-full-audit > summary {
    align-items: flex-start;
  }

  .annual-full-audit > summary::after {
    content: none;
  }

  .annual-audit-guide-row,
  .annual-audit-guide-total {
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .annual-audit-guide-row strong,
  .annual-audit-guide-total strong {
    grid-column: 2;
    text-align: left;
  }

  .annual-equation-item {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .annual-equation-symbol {
    justify-self: center;
  }
}

.phase-cell {
  display: grid;
  gap: 6px;
}

.phase-text {
  font-weight: 700;
  color: color-mix(in srgb, var(--text) 94%, black 6%);
}

.phase-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.phase-story {
  color: #5b6770;
  font-size: 11.5px;
  font-weight: 560;
  line-height: 1.35;
}

.phase-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 9px;
  border: 1.5px solid transparent;
  border-radius: 999px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.84),
    0 5px 10px rgba(15, 23, 42, 0.05);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.phase-badge-retirement-start {
  background: rgba(20, 184, 166, 0.14);
  border-color: rgba(20, 184, 166, 0.26);
  color: #0f766e;
}

.phase-badge-primary-retirement,
.phase-badge-spouse-retirement {
  background: rgba(37, 99, 235, 0.12);
  border-color: rgba(37, 99, 235, 0.28);
  color: #1d4ed8;
}

.phase-badge-milestone-expense,
.phase-badge-one-time-expense {
  background: rgba(251, 191, 36, 0.18);
  border-color: rgba(251, 191, 36, 0.32);
  color: #c2410c;
}

.phase-badge-spending-phase-start {
  background: rgba(226, 232, 240, 0.9);
  border-color: rgba(148, 163, 184, 0.34);
  color: #475569;
}

.phase-badge-social-security-start {
  background: rgba(196, 181, 253, 0.22);
  border-color: rgba(167, 139, 250, 0.36);
  color: #6d28d9;
}

.phase-badge-medicare-start {
  background: rgba(244, 114, 182, 0.16);
  border-color: rgba(244, 114, 182, 0.3);
  color: #be185d;
}

.phase-badge-rmd-start {
  background: rgba(245, 158, 11, 0.16);
  border-color: rgba(245, 158, 11, 0.3);
  color: #b45309;
}

.phase-badge-cap-breach {
  background: rgba(239, 68, 68, 0.12);
  border-color: rgba(239, 68, 68, 0.26);
  color: #b91c1c;
}

tr.annual-row-retirement-start td {
  background: linear-gradient(180deg, rgba(224, 250, 245, 0.62), rgba(248, 254, 251, 0.8));
}

tr.annual-row-primary-retirement td,
tr.annual-row-spouse-retirement td {
  background: linear-gradient(180deg, rgba(231, 240, 255, 0.7), rgba(248, 251, 255, 0.88));
}

tr.annual-row-milestone-expense td,
tr.annual-row-one-time-expense td {
  background: linear-gradient(180deg, rgba(255, 243, 214, 0.64), rgba(255, 250, 239, 0.82));
}

tr.annual-row-spending-phase-start td {
  background: linear-gradient(180deg, rgba(241, 245, 249, 0.66), rgba(250, 252, 254, 0.86));
}

tr.annual-row-social-security-start td {
  background: linear-gradient(180deg, rgba(243, 232, 255, 0.64), rgba(251, 246, 255, 0.84));
}

tr.annual-row-medicare-start td {
  background: linear-gradient(180deg, rgba(252, 231, 243, 0.62), rgba(255, 244, 248, 0.82));
}

tr.annual-row-rmd-start td {
  background: linear-gradient(180deg, rgba(255, 247, 214, 0.6), rgba(255, 252, 239, 0.8));
}

tr.annual-row-cap-breach td {
  background: linear-gradient(180deg, rgba(255, 236, 236, 0.6), rgba(255, 247, 247, 0.8));
}

tr.annual-row-retirement-start td:first-child {
  box-shadow: inset 4px 0 0 0 rgba(20, 184, 166, 0.5);
}

tr.annual-row-primary-retirement td:first-child,
tr.annual-row-spouse-retirement td:first-child {
  box-shadow: inset 4px 0 0 0 rgba(37, 99, 235, 0.52);
}

tr.annual-row-milestone-expense td:first-child,
tr.annual-row-one-time-expense td:first-child {
  box-shadow: inset 4px 0 0 0 rgba(249, 115, 22, 0.52);
}

tr.annual-row-spending-phase-start td:first-child {
  box-shadow: inset 4px 0 0 0 rgba(148, 163, 184, 0.62);
}

tr.annual-row-social-security-start td:first-child {
  box-shadow: inset 4px 0 0 0 rgba(139, 92, 246, 0.54);
}

tr.annual-row-medicare-start td:first-child {
  box-shadow: inset 4px 0 0 0 rgba(244, 114, 182, 0.56);
}

tr.annual-row-rmd-start td:first-child {
  box-shadow: inset 4px 0 0 0 rgba(245, 158, 11, 0.52);
}

tr.annual-row-cap-breach td:first-child {
  box-shadow: inset 4px 0 0 0 rgba(239, 68, 68, 0.5);
}

.status-ok {
  color: var(--success);
  font-weight: 800;
}

.status-warning {
  color: var(--red);
  font-weight: 800;
}

.status-neutral {
  color: color-mix(in srgb, var(--text) 62%, var(--muted));
  font-weight: 800;
}

.table-help-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-left: 5px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.98);
  color: color-mix(in srgb, var(--theme-accent-strong) 86%, var(--text));
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  cursor: help;
  vertical-align: middle;
  box-shadow:
    inset 0 0 0 1.5px color-mix(in srgb, var(--theme-accent-strong) 24%, transparent),
    0 3px 8px color-mix(in srgb, var(--theme-accent-strong) 8%, transparent);
}

td.numeric,
th.numeric {
  text-align: right;
}

.note-list {
  display: grid;
  gap: 11px;
  margin: 0;
  padding-left: 18px;
  color: #3a4651;
  line-height: 1.5;
}

.note-list li::marker {
  color: var(--wine);
}

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

.workspace-link {
  display: grid;
  gap: 4px;
  padding: 13px 14px;
  color: var(--text);
  background: var(--surface-muted);
  border: 1px solid var(--subtle);
  border-radius: 7px;
}

.workspace-link:hover {
  border-color: color-mix(in srgb, var(--blue) 42%, var(--subtle));
  background: var(--blue-soft);
}

.workspace-link strong {
  color: var(--blue-dark);
  font-size: 14px;
}

.workspace-link span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.monte-preview-card {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 16px;
  align-content: start;
  padding: 20px;
  background:
    radial-gradient(circle at 10% 100%, rgba(255, 247, 223, 0.54), transparent 18rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 252, 247, 0.96)),
    var(--surface);
  border-color: color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  box-shadow: 0 16px 38px rgba(74, 58, 42, 0.065);
}

.monte-preview-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background:
    linear-gradient(90deg,
      var(--theme-accent-strong),
      var(--theme-accent) 62%,
      color-mix(in srgb, var(--theme-accent) 42%, #fff));
  opacity: 0.72;
}

.monte-preview-card .surface-header {
  align-items: center;
  margin-bottom: 0;
}

.monte-preview-run-button {
  appearance: none;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 42%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--theme-accent) 12%, #fff), rgba(255, 255, 255, 0.94));
  color: var(--theme-accent-strong);
  box-shadow: 0 8px 20px color-mix(in srgb, var(--theme-accent) 12%, transparent);
  cursor: pointer;
  font: inherit;
  font-size: 12.5px;
  font-weight: 900;
  letter-spacing: 0;
  padding: 10px 14px;
  white-space: nowrap;
}

.monte-preview-run-button:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--theme-accent) 62%, var(--subtle));
  transform: translateY(-1px);
}

.monte-preview-run-button:disabled {
  cursor: progress;
  opacity: 0.7;
}

.monte-preview-outcome {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(112px, auto);
  align-items: center;
  gap: 18px;
  padding: 16px;
  background:
    linear-gradient(135deg, rgba(237, 245, 255, 0.76), rgba(255, 248, 233, 0.62)),
    rgba(255, 255, 255, 0.72);
  border: 1px solid color-mix(in srgb, var(--blue) 16%, var(--subtle));
  border-radius: var(--radius);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.confidence-indicator {
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 2px 4px 0;
}

.mini-donut {
  --value: 0deg;
  width: 92px;
  height: 92px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 999px;
  background:
    radial-gradient(circle closest-side, #fff 72%, transparent 74%),
    conic-gradient(#6f8f7a 0deg, #6f8f7a var(--value), rgba(228, 221, 210, 0.82) var(--value) 360deg);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.84);
}

.mini-donut span {
  color: #314a43;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 0;
}

.confidence-label {
  color: #6b746e;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-align: center;
}

.monte-preview-lede {
  margin: 0;
  color: var(--text);
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 800;
  letter-spacing: var(--display-title-letter-spacing);
  line-height: 1.35;
}

.monte-preview-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.94), rgba(255, 252, 247, 0.9)),
    var(--surface);
  border: 1px solid var(--subtle);
  border-radius: var(--radius);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.78),
    0 8px 18px rgba(44, 37, 28, 0.035);
}

.monte-preview-metrics article {
  position: relative;
  display: grid;
  align-content: start;
  gap: 7px;
  min-height: 132px;
  padding: 15px 16px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.monte-preview-metrics article + article {
  border-left: 1px solid rgba(221, 211, 197, 0.78);
}

.monte-preview-metrics span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.monte-preview-metrics strong {
  color: var(--wine-dark);
  font-size: 25px;
  font-weight: 850;
  line-height: 1.1;
}

.monte-preview-metrics p {
  margin: 0;
  color: #4d5962;
  font-size: 13px;
  line-height: 1.45;
}

.monte-preview-card .panel-action-link {
  width: auto;
  justify-self: start;
  margin-top: 0;
}

.monte-preview-card.is-calculating .monte-preview-outcome,
.monte-preview-card.is-calculating .monte-preview-metrics article {
  position: relative;
}

.monte-preview-card.is-calculating .mini-donut {
  background:
    radial-gradient(circle closest-side, #fff 72%, transparent 74%),
    conic-gradient(from 0deg, rgba(47, 111, 186, 0.2), rgba(244, 171, 71, 0.34), rgba(47, 111, 186, 0.2));
  animation: spin 1.15s linear infinite;
}

.monte-preview-card.is-calculating .mini-donut span {
  color: var(--blue-dark);
  font-size: 17px;
}

.monte-preview-card.is-calculating .monte-preview-metrics strong {
  color: var(--muted);
  font-size: 19px;
}

.overview-analysis-row .monte-preview-card {
  align-self: stretch;
  padding: 18px;
}

.overview-analysis-row .guided-discovery-card,
.overview-analysis-row .overview-balance-rail {
  align-self: stretch;
  height: 100%;
}

.overview-analysis-row .monte-preview-card .panel-action-link,
.overview-analysis-row .guided-discovery-card .panel-action-link,
.overview-analysis-row .overview-balance-rail .panel-action-link {
  align-self: end;
  margin-top: auto;
}

.overview-analysis-row .monte-preview-outcome {
  grid-template-columns: minmax(0, 1fr) minmax(86px, auto);
  gap: 12px;
  padding: 13px;
}

.overview-analysis-row .monte-preview-lede {
  font-size: 18px;
  line-height: 1.3;
}

.overview-analysis-row .mini-donut {
  width: 76px;
  height: 76px;
}

.overview-analysis-row .mini-donut span {
  font-size: 17px;
}

.overview-analysis-row .confidence-label {
  font-size: 9.5px;
}

.overview-analysis-row .monte-preview-metrics {
  grid-template-columns: 1fr;
  gap: 0;
}

.overview-analysis-row .monte-preview-metrics article,
.overview-analysis-row .monte-preview-metrics article:last-child {
  grid-column: auto;
  min-height: auto;
  padding: 12px;
}

.overview-analysis-row .monte-preview-metrics article + article {
  border-top: 1px solid rgba(221, 211, 197, 0.78);
  border-left: 0;
}

.overview-analysis-row .monte-preview-metrics strong {
  font-size: 21px;
}

.overview-analysis-row .monte-preview-metrics p {
  display: none;
}

@media (min-width: 1280px) {
  .overview-analysis-row {
    grid-template-columns: minmax(320px, 0.98fr) minmax(270px, 0.72fr) minmax(270px, 320px);
    align-items: stretch;
  }
}

@media (min-width: 1600px) {
  .overview-analysis-row .monte-preview-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .overview-analysis-row .monte-preview-metrics article:last-child {
    grid-column: auto;
  }

  .overview-analysis-row .monte-preview-metrics article + article {
    border-top: 0;
    border-left: 1px solid rgba(221, 211, 197, 0.78);
  }
}

.simulations-view {
  align-items: start;
}

.simulation-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 150px;
  padding: 26px 30px;
  background:
    radial-gradient(circle at 10% 0%, rgba(255, 247, 223, 0.78), transparent 22rem),
    radial-gradient(circle at 88% 18%, rgba(47, 111, 186, 0.1), transparent 19rem),
    linear-gradient(125deg, rgba(255, 255, 255, 0.99), rgba(255, 252, 247, 0.96)),
    var(--surface);
}

.simulation-hero h2 {
  max-width: 740px;
  margin: 4px 0 8px;
  color: var(--wine-dark);
  font-family: var(--font-display);
  font-size: 31px;
  font-weight: var(--display-title-weight);
  letter-spacing: var(--display-title-letter-spacing);
  line-height: var(--display-title-line-height);
}

.simulation-hero p:not(.eyebrow) {
  max-width: 760px;
  margin: 0;
  color: #4d5962;
  font-size: 15px;
  line-height: 1.55;
}

.simulation-hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.simulation-run-button {
  background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-strong));
  color: white;
  border-color: color-mix(in srgb, var(--theme-accent-strong) 80%, black);
  box-shadow: 0 12px 24px color-mix(in srgb, var(--theme-accent) 18%, transparent);
}

.simulation-run-button:hover {
  transform: translateY(-1px);
}

.simulation-run-button:disabled {
  opacity: 0.68;
  cursor: wait;
}

.simulation-suite-shell {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 18px;
  min-height: clamp(720px, calc(100vh - 395px), 860px);
  padding: 20px;
  border-color: color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.08)),
    url("assets/brand/stress-results-background.png?v=3") center center / cover no-repeat,
    var(--surface);
  box-shadow: 0 18px 42px rgba(74, 58, 42, 0.065);
}

.simulation-suite-shell.is-loading > :not(.simulation-suite-loading) {
  filter: blur(10px);
  opacity: 0;
  pointer-events: none;
  transform: scale(0.996);
  transition: filter 180ms ease, opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
  user-select: none;
  visibility: hidden;
}

.simulation-suite-shell.is-loading-empty > :not(.simulation-suite-loading) {
  filter: none !important;
  opacity: 0 !important;
  transform: none !important;
  visibility: hidden;
}

.simulation-suite-shell.is-loading {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.04)),
    url("assets/brand/stress-results-background.png?v=3") center center / cover no-repeat,
    var(--surface);
}

.simulation-suite-shell.is-loading-empty {
  min-height: 680px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.03)),
    url("assets/brand/stress-results-background.png?v=3") center center / cover no-repeat,
    var(--surface);
}

.simulation-tool-launchpad {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(240px, 0.36fr) minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
  padding: 20px;
  border-color: color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  background: #fff;
  box-shadow: 0 18px 42px rgba(74, 58, 42, 0.065);
}

.simulation-tool-launchpad::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background:
    linear-gradient(90deg,
      var(--theme-accent-strong),
      var(--theme-accent) 58%,
      color-mix(in srgb, var(--theme-accent) 42%, #fff));
  opacity: 0.72;
}

.simulation-landing-placeholder {
  position: relative;
  display: grid;
  gap: 18px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.simulation-welcome-layout {
  display: grid;
  grid-template-columns: minmax(390px, 0.35fr) minmax(560px, 0.65fr);
  gap: 18px;
  align-items: stretch;
  min-height: clamp(650px, calc(100vh - 250px), 820px);
}

.simulation-welcome-card {
  display: flex;
  flex-direction: column;
  padding: clamp(22px, 2.6vw, 34px);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 16%, rgba(215, 203, 188, 0.72));
  border-radius: 8px;
  background:
    linear-gradient(90deg,
      var(--theme-accent-strong),
      var(--theme-accent) 58%,
      color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 10% 8%, color-mix(in srgb, var(--theme-soft) 18%, transparent), transparent 16rem),
    rgba(255, 255, 255, 0.86);
  box-shadow: 0 24px 62px rgba(38, 44, 47, 0.12);
  backdrop-filter: blur(12px);
}

.simulation-welcome-visual {
  position: relative;
  overflow: hidden;
  min-height: 650px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(90deg,
      var(--theme-accent-strong),
      var(--theme-accent) 58%,
      color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    linear-gradient(90deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.02)),
    linear-gradient(rgba(255, 252, 247, 0.1), rgba(255, 252, 247, 0.1)),
    url("assets/brand/simulation-welcome.png?v=2") right center / cover no-repeat;
  background-blend-mode: normal, lighten, normal;
  box-shadow: 0 24px 62px rgba(38, 44, 47, 0.11);
}

.simulation-welcome-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)),
    radial-gradient(circle at 74% 18%, color-mix(in srgb, var(--theme-accent) 10%, transparent), transparent 18rem);
  pointer-events: none;
}

.simulation-welcome-card h2 {
  margin: 6px 0 10px;
  color: var(--workspace-theme-accent-strong);
  font-family: var(--font-display);
  font-size: clamp(28px, 2.55vw, 40px);
  font-weight: var(--display-title-weight);
  letter-spacing: var(--display-title-letter-spacing);
  line-height: 1.02;
}

.simulation-welcome-card > p:not(.eyebrow) {
  max-width: 460px;
  margin: 0;
  color: #41515b;
  font-size: 15px;
  line-height: 1.55;
}

.simulation-count-picker {
  display: grid;
  gap: 10px;
  margin-top: 26px;
}

.simulation-count-picker > span,
.simulation-run-breakdown span {
  min-height: 32px;
  color: #5a6268;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.simulation-count-toggle {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  padding: 6px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, var(--subtle));
  border-radius: 999px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--theme-soft) 52%, white), rgba(255, 255, 255, 0.94)),
    var(--surface);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.62),
    0 10px 24px color-mix(in srgb, var(--theme-soft) 34%, transparent);
}

.simulation-count-toggle button {
  min-height: 38px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 28%, var(--subtle));
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  color: color-mix(in srgb, var(--theme-accent-strong) 54%, #52606a);
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.72);
  transition: color 140ms ease, background 140ms ease, border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.simulation-count-toggle button:hover,
.simulation-count-toggle button:focus-visible {
  border-color: color-mix(in srgb, var(--theme-accent) 36%, var(--subtle));
  color: var(--theme-accent-strong);
  transform: translateY(-1px);
}

.simulation-count-toggle button.active {
  border-color: color-mix(in srgb, var(--theme-accent) 82%, #0f2d42);
  background: var(--theme-accent);
  color: #fff;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.24),
    0 10px 22px color-mix(in srgb, var(--theme-accent) 28%, transparent);
}

.simulation-run-breakdown {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 18px;
  border: 1px solid rgba(215, 203, 188, 0.72);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.62);
  overflow: hidden;
}

.simulation-run-breakdown article {
  display: grid;
  align-content: start;
  min-height: 92px;
  padding: 14px;
  border-right: 1px solid rgba(215, 203, 188, 0.72);
}

.simulation-run-breakdown article:last-child {
  border-right: 0;
}

.simulation-run-breakdown strong {
  display: block;
  margin-top: 8px;
  color: var(--blue-dark);
  font-family: var(--font-display);
  font-size: 28px;
  line-height: 1;
}

.simulation-run-breakdown p {
  margin: 8px 0 0;
  color: #52606a;
  font-size: 12px;
  line-height: 1.35;
}

.simulation-run-breakdown article.is-total {
  background: rgba(246, 251, 248, 0.78);
}

.simulation-run-breakdown article.is-total strong {
  color: var(--green);
}

.simulation-welcome-actions {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  margin-top: 18px;
}

.simulation-welcome-actions .simulation-run-button {
  min-height: 54px;
  min-width: 260px;
  white-space: nowrap;
}

.simulation-investment-mix-reminder {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin-top: 18px;
  padding: 15px 17px;
  border: 1px solid rgba(190, 128, 26, 0.34);
  border-radius: 14px;
  background: rgba(255, 247, 226, 0.86);
}

.simulation-investment-mix-reminder[hidden] {
  display: none;
}

.simulation-investment-mix-reminder strong,
.simulation-investment-mix-reminder p {
  display: block;
  margin: 0;
}

.simulation-investment-mix-reminder p {
  margin-top: 3px;
}

.simulation-investment-mix-reminder-heading {
  display: flex;
  align-items: center;
  gap: 9px;
}

.simulation-investment-mix-reminder-heading > span {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  padding: 0 9px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 34%, transparent);
  border-radius: 999px;
  color: var(--theme-accent-strong);
  background: color-mix(in srgb, var(--theme-soft) 72%, white);
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: 0.075em;
  line-height: 1;
  text-transform: uppercase;
}

.simulation-investment-mix-reminder a {
  align-self: center;
  flex: 0 0 auto;
  padding: 9px 14px;
  border: 1px solid rgba(21, 86, 149, 0.35);
  border-radius: 999px;
  color: var(--blue);
  background: #fff;
  font-weight: 800;
  text-decoration: none;
}

.simulation-welcome-tip {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  width: 100%;
  box-sizing: border-box;
  margin-top: 18px;
  padding: 18px 20px;
  border: 1px solid rgba(224, 183, 83, 0.32);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 250, 235, 0.92), rgba(255, 252, 247, 0.76));
}

.simulation-welcome-tip > span {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border-radius: 999px;
  background: rgba(255, 245, 215, 0.92);
}

.simulation-welcome-tip img {
  width: 58px;
  height: 58px;
  object-fit: contain;
}

.simulation-welcome-tip strong {
  display: block;
  color: var(--wine-dark);
  font-size: 17px;
}

.simulation-welcome-tip p {
  margin: 8px 0 0;
  color: #52606a;
  font-size: 15px;
  line-height: 1.5;
}

.simulation-welcome-info-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(215, 203, 188, 0.72);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 252, 247, 0.9)),
    var(--surface);
  box-shadow: 0 18px 42px rgba(74, 58, 42, 0.075);
}

.simulation-welcome-info-row article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 104px;
  padding: 20px 22px;
  border-right: 1px solid rgba(215, 203, 188, 0.78);
}

.simulation-welcome-info-row article:last-child {
  border-right: 0;
}

.simulation-welcome-info-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-soft) 38%, white);
  color: var(--theme-accent);
}

.simulation-welcome-info-icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
}

.simulation-welcome-info-row strong {
  display: block;
  color: #26313a;
  font-weight: 900;
}

.simulation-welcome-info-row p {
  margin: 5px 0 0;
  color: #52606a;
  font-size: 13px;
  line-height: 1.45;
}

@media (max-width: 980px) {
  .simulation-welcome-layout,
  .simulation-welcome-info-row {
    grid-template-columns: 1fr;
  }

  .simulation-welcome-layout {
    gap: 18px;
    min-height: 0;
  }

  .simulation-welcome-card {
    border: 1px solid rgba(215, 203, 188, 0.72);
    border-radius: 8px;
  }

  .simulation-welcome-visual {
    min-height: 420px;
  }

  .simulation-run-breakdown {
    grid-template-columns: 1fr;
  }

  .simulation-run-breakdown article,
  .simulation-welcome-info-row article {
    border-right: 0;
    border-bottom: 1px solid rgba(215, 203, 188, 0.72);
  }

  .simulation-run-breakdown article:last-child,
  .simulation-welcome-info-row article:last-child {
    border-bottom: 0;
  }
}

.simulation-tool-copy h2 {
  margin: 4px 0 8px;
  color: var(--wine-dark);
  font-family: var(--font-display);
  font-size: 30px;
  font-weight: var(--display-title-weight);
  letter-spacing: var(--display-title-letter-spacing);
  line-height: var(--display-title-line-height);
}

.simulation-tool-copy p:not(.eyebrow) {
  margin: 0;
  color: #4d5962;
  line-height: 1.5;
}

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

.simulation-tool-card {
  position: relative;
  display: grid;
  gap: 7px;
  min-height: 138px;
  padding: 16px;
  color: var(--text);
  text-align: left;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), color-mix(in srgb, var(--theme-soft) 34%, white)),
    var(--surface);
  border: 1px solid var(--subtle);
  border-radius: var(--radius-lg);
  box-shadow: 0 14px 30px rgba(44, 37, 28, 0.045);
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.simulation-tool-card:hover,
.simulation-tool-card.active {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--theme-accent) 42%, var(--subtle));
  box-shadow: 0 18px 38px rgba(44, 37, 28, 0.075);
}

.simulation-tool-card.active {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--theme-soft) 74%, white), rgba(255, 255, 255, 0.98)),
    var(--surface);
  border-color: color-mix(in srgb, var(--theme-accent) 58%, var(--subtle));
  box-shadow:
    inset 5px 0 0 var(--theme-accent),
    inset 0 0 0 1px color-mix(in srgb, var(--theme-accent) 20%, transparent),
    0 20px 42px color-mix(in srgb, var(--theme-accent) 12%, rgba(44, 37, 28, 0.08));
}

.simulation-tool-card.active::after {
  content: "Current view";
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 4px 8px;
  color: var(--theme-accent-strong);
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, var(--subtle));
  border-radius: 999px;
  box-shadow: 0 8px 18px rgba(44, 37, 28, 0.06);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1;
  text-transform: uppercase;
}

.simulation-tool-card span {
  color: var(--theme-accent-strong);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.simulation-tool-card strong {
  color: var(--text);
  font-size: 16px;
}

.simulation-tool-card.active strong {
  color: var(--theme-display);
}

.simulation-tool-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.simulation-tool-card.active p {
  color: color-mix(in srgb, var(--theme-display) 62%, var(--muted));
}

.simulation-suite-intro,
.simulation-mode-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.simulation-suite-intro {
  box-sizing: border-box;
  justify-self: start;
  width: calc((((100% - 56px) / 3) * 2) + 14px);
  min-width: 654px;
  margin-left: 14px;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--subtle) 82%, white);
  border-radius: var(--radius);
  box-shadow: 0 12px 24px rgba(44, 37, 28, 0.04);
}

.simulation-suite-intro h2,
.simulation-mode-head h2,
.simulation-monte-view-head h2 {
  margin: 2px 0 6px;
  color: var(--wine-dark);
  font-family: var(--font-display);
  font-size: 30px;
  font-weight: var(--display-title-weight);
  letter-spacing: var(--display-title-letter-spacing);
  line-height: var(--display-title-line-height);
}

.simulation-suite-intro p:not(.eyebrow),
.simulation-mode-head p:not(.eyebrow),
.simulation-monte-view-head p:not(.eyebrow) {
  max-width: 820px;
  margin: 0;
  color: #4d5962;
  font-size: 14px;
  line-height: 1.55;
}

.simulation-monte-view-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(560px, 0.88fr);
  gap: 28px;
  align-items: end;
  justify-content: space-between;
}

.simulation-monte-view-head > div {
  max-width: 900px;
}

.simulation-education-card {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 13px;
  align-items: start;
  align-self: end;
  width: 100%;
  padding: 16px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(255, 252, 247, 0.76)),
    color-mix(in srgb, var(--theme-soft) 42%, white);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  border-radius: var(--radius-lg);
  box-shadow: 0 14px 28px rgba(44, 37, 28, 0.055);
}

.simulation-education-card img {
  display: block;
  width: 54px;
  height: 54px;
  object-fit: contain;
  filter: drop-shadow(0 7px 14px rgba(47, 35, 92, 0.12));
}

.simulation-education-card span {
  display: block;
  margin-bottom: 5px;
  color: var(--theme-accent-strong);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.065em;
  text-transform: uppercase;
}

.simulation-education-card p {
  margin: 0;
  color: #43515b;
  font-size: 13px;
  line-height: 1.48;
}

.simulation-monte-view-head .simulation-education-card p + p {
  margin-top: 14px;
}

.simulation-mode-control {
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  flex-wrap: wrap;
}

.simulation-mode-control > span {
  color: var(--theme-accent-strong);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.historical-inflation-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: 18px;
  align-items: center;
  margin-bottom: 18px;
  padding: 16px 18px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--theme-soft) 42%, white), rgba(255, 255, 255, 0.96));
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  border-radius: 16px;
}

.historical-inflation-panel h3,
.historical-inflation-panel p {
  margin: 0;
}

.historical-inflation-panel h3 {
  margin-top: 3px;
  color: var(--theme-accent-strong);
  font-size: 17px;
  line-height: 1.25;
}

.historical-inflation-panel > div > p:last-child {
  margin-top: 6px;
  color: #4d5962;
  font-size: 13px;
  line-height: 1.45;
}

.historical-inflation-toggle {
  box-shadow: none;
}

.historical-inflation-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.historical-inflation-help {
  margin-top: -2px;
}

.historical-inflation-running {
  grid-column: 1 / -1;
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  color: var(--theme-accent-strong);
  background: color-mix(in srgb, var(--theme-soft) 56%, white);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, var(--subtle));
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(44, 37, 28, 0.045);
}

.historical-inflation-running[hidden] {
  display: none;
}

.historical-inflation-running > span:last-child {
  display: grid;
  gap: 2px;
}

.historical-inflation-running strong {
  font-size: 13px;
  line-height: 1.25;
}

.historical-inflation-running em {
  color: #53616a;
  font-size: 12px;
  font-style: normal;
  line-height: 1.35;
}

.historical-inflation-spinner {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  border: 2px solid color-mix(in srgb, var(--theme-accent) 24%, white);
  border-top-color: var(--theme-accent);
  border-radius: 999px;
  animation: historical-inflation-spin 760ms linear infinite;
}

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

@media (prefers-reduced-motion: reduce) {
  .historical-inflation-spinner {
    animation-duration: 1800ms;
  }
}

.simulation-suite-verdict span,
.simulation-lens-summary span,
.simulation-stress-row dt {
  color: #43515b;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.simulation-suite-loading {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: grid;
  place-items: center;
  padding: clamp(28px, 5vw, 76px);
  background:
    linear-gradient(90deg, rgba(7, 31, 56, 0.18), rgba(40, 67, 128, 0.06) 42%, rgba(255, 255, 255, 0.04)),
    radial-gradient(circle at 58% 48%, rgba(255, 255, 255, 0.18), transparent 24rem),
    radial-gradient(circle at 24% 24%, rgba(255, 255, 255, 0.12), transparent 18rem);
  border: 0;
  border-radius: inherit;
  backdrop-filter: saturate(1.08);
  -webkit-backdrop-filter: saturate(1.08);
}

.simulation-suite-loading::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.01) 48%, rgba(7, 31, 56, 0.08)),
    radial-gradient(ellipse at center, transparent 0, rgba(27, 38, 85, 0.12) 78%);
  pointer-events: none;
}

.simulation-suite-loading[hidden] {
  display: none;
}

.simulation-loading-stage {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  justify-items: center;
  gap: clamp(24px, 4vw, 42px);
  align-items: center;
  width: min(1020px, 92%);
  padding: clamp(30px, 4.2vw, 46px);
  color: #243447;
  text-align: left;
  text-shadow: none;
}

.simulation-loading-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: 22px;
  background: #fff;
  border: 1px solid rgba(255, 255, 255, 0.92);
  box-shadow:
    0 34px 76px rgba(12, 31, 62, 0.2),
    0 1px 0 rgba(255, 255, 255, 0.96) inset;
}

.simulation-loading-logo {
  display: block;
  width: 210px;
  max-width: 100%;
  height: auto;
  justify-self: center;
  border-radius: 18px;
  box-shadow: 0 14px 30px rgba(12, 31, 62, 0.12);
}

.simulation-loading-copy {
  display: grid;
  justify-items: start;
  gap: 11px;
  width: 100%;
}

.simulation-loading-copy > span {
  width: fit-content;
  padding: 7px 11px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 20%, var(--subtle));
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-soft) 42%, white);
  color: var(--theme-accent-strong);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.simulation-suite-loading strong {
  color: var(--wine-dark);
  font-family: var(--font-display);
  font-size: clamp(36px, 4.2vw, 56px);
  font-weight: var(--display-title-weight);
  letter-spacing: var(--display-title-letter-spacing);
  line-height: 1.02;
}

.simulation-suite-loading p {
  max-width: 620px;
  margin: 0;
  color: #52606a;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.55;
}

.simulation-loading-progress {
  position: relative;
  overflow: hidden;
  width: min(100%, 460px);
  height: 6px;
  margin-top: 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--subtle) 78%, white);
  box-shadow: inset 0 1px 3px rgba(12, 31, 62, 0.08);
}

.simulation-loading-progress i {
  position: absolute;
  inset: 0 auto 0 0;
  width: 42%;
  border-radius: inherit;
  background: linear-gradient(90deg, #f4b23e, #fff 48%, #82d2ff);
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.54);
  animation: simulation-loading-sweep 1.45s ease-in-out infinite;
}

.simulation-loading-steps {
  justify-content: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: #66727a;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.simulation-loading-steps span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.simulation-loading-steps span + span::before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--theme-accent) 36%, var(--subtle));
}

@media (max-width: 760px) {
  .simulation-loading-stage {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .simulation-loading-copy {
    justify-items: center;
  }

  .simulation-loading-steps {
    justify-content: center;
  }
}

@keyframes simulation-loading-sweep {
  0% {
    transform: translateX(-100%);
  }

  55% {
    transform: translateX(160%);
  }

  100% {
    transform: translateX(245%);
  }
}

.simulation-suite-verdict {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  justify-self: start;
  width: calc((((100% - 56px) / 3) * 2) + 14px);
  min-width: 654px;
  min-height: 116px;
  margin-left: 14px;
  padding: 16px 20px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid color-mix(in srgb, var(--subtle) 82%, white);
  border-radius: var(--radius);
  box-shadow: inset 4px 0 0 color-mix(in srgb, var(--blue) 54%, white), 0 12px 24px rgba(44, 37, 28, 0.04);
}

.simulation-suite-verdict.is-success {
  box-shadow: inset 4px 0 0 var(--green), 0 12px 24px rgba(44, 37, 28, 0.04);
}

.simulation-suite-verdict.is-warning {
  box-shadow: inset 4px 0 0 #d28b26, 0 12px 24px rgba(44, 37, 28, 0.04);
}

.simulation-suite-verdict.is-danger {
  box-shadow: inset 4px 0 0 #c2413d, 0 12px 24px rgba(44, 37, 28, 0.04);
}

.simulation-suite-verdict strong {
  display: block;
  margin-top: 5px;
  color: var(--wine-dark);
  font-size: 32px;
  line-height: 1.02;
}

.simulation-suite-verdict.is-success strong {
  color: var(--green);
}

.simulation-suite-verdict.is-warning strong {
  color: #b56604;
}

.simulation-suite-verdict.is-danger strong {
  color: #a12b2e;
}

.simulation-suite-verdict p {
  max-width: 100%;
  margin: 7px 0 0;
  color: #364650;
  font-size: 13px;
  line-height: 1.45;
}

.simulation-suite-funded-metric {
  align-self: stretch;
  display: grid;
  align-content: center;
  min-height: 78px;
  padding-left: 18px;
  border-left: 1px solid color-mix(in srgb, var(--subtle) 86%, transparent);
}

.simulation-suite-funded-metric strong {
  color: var(--blue-dark);
  font-size: 26px;
  line-height: 1.05;
}

.simulation-suite-funded-metric p {
  margin-top: 6px;
}

.simulation-suite-verdict .simulation-run-button {
  justify-self: end;
  white-space: nowrap;
}

.simulation-overview-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: minmax(0, 1fr);
  gap: 14px;
  align-self: stretch;
  justify-self: start;
  height: 100%;
  width: calc((((100% - 56px) / 3) * 2) + 14px);
  min-width: 654px;
  margin-left: 14px;
  padding: 0;
  background: transparent;
}

.simulation-overview-strip article {
  --funded-rate: 0%;
  --funded-rate-color: var(--green);
  position: relative;
  min-height: 116px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid color-mix(in srgb, var(--subtle) 82%, white);
  border-radius: var(--radius);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.simulation-overview-strip article.has-funded-rate {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(84px, 0.24fr);
  gap: 16px;
  align-items: center;
}

.simulation-overview-strip article[data-simulation-finding-card].is-actionable {
  cursor: pointer;
}

.simulation-overview-strip article[data-simulation-finding-card].is-actionable::after {
  content: "Review result";
  position: absolute;
  right: 14px;
  bottom: 12px;
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  border: 1px solid color-mix(in srgb, var(--blue) 24%, var(--subtle));
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--blue-dark);
  padding: 0 10px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 8px 18px rgba(22, 62, 107, 0.08);
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.simulation-overview-strip article[data-simulation-finding-card].is-actionable:hover,
.simulation-overview-strip article[data-simulation-finding-card].is-actionable:focus-visible {
  border-color: color-mix(in srgb, var(--blue) 36%, var(--subtle));
  box-shadow: 0 16px 34px rgba(22, 62, 107, 0.12);
  outline: none;
  transform: translateY(-1px);
}

.simulation-overview-strip article[data-simulation-finding-card].is-actionable:hover::after,
.simulation-overview-strip article[data-simulation-finding-card].is-actionable:focus-visible::after {
  border-color: color-mix(in srgb, var(--blue) 40%, var(--subtle));
  background: rgba(247, 251, 255, 0.94);
  box-shadow: 0 10px 22px rgba(22, 62, 107, 0.12);
}

.simulation-summary-copy {
  min-width: 0;
}

.simulation-overview-strip span,
.market-replay-stat-grid span,
.market-backdrop-card span {
  color: #43515b;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.simulation-overview-strip strong {
  display: block;
  margin-top: 8px;
  color: var(--blue-dark);
  font-size: 22px;
  font-weight: 850;
  line-height: 1.15;
}

.simulation-overview-strip p {
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.simulation-overview-strip em {
  display: block;
  margin-top: 10px;
  color: #33444f;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.simulation-overview-strip article.is-success {
  --funded-rate-color: var(--green);
  border-color: color-mix(in srgb, var(--green) 24%, var(--subtle));
}

.simulation-overview-strip article.is-warning {
  --funded-rate-color: #d28b26;
  border-color: color-mix(in srgb, #d28b26 28%, var(--subtle));
}

.simulation-overview-strip article.is-danger {
  --funded-rate-color: #c2413d;
  border-color: color-mix(in srgb, #c2413d 28%, var(--subtle));
}

.simulation-overview-strip article.rate-success {
  --funded-rate-color: var(--green);
}

.simulation-overview-strip article.rate-warning {
  --funded-rate-color: #d28b26;
}

.simulation-overview-strip article.rate-danger {
  --funded-rate-color: #c2413d;
}

.simulation-funded-visual {
  display: none;
  justify-items: stretch;
  gap: 7px;
  min-width: 82px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.64);
  border: 1px solid color-mix(in srgb, var(--funded-rate-color) 16%, var(--subtle));
  border-radius: 10px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76);
}

.has-funded-rate .simulation-funded-visual {
  display: grid;
}

.simulation-funded-visual span {
  color: var(--funded-rate-color);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0;
  text-align: right;
  text-transform: none;
}

.simulation-funded-visual div {
  position: relative;
  overflow: hidden;
  height: 9px;
  background: color-mix(in srgb, var(--funded-rate-color) 12%, #edf1f3);
  border-radius: 999px;
}

.simulation-funded-visual i {
  position: absolute;
  inset: 0 auto 0 0;
  display: block;
  width: var(--funded-rate);
  background:
    linear-gradient(90deg,
      color-mix(in srgb, var(--funded-rate-color) 72%, white),
      var(--funded-rate-color));
  border-radius: inherit;
}

.simulation-funded-visual em {
  margin: 0;
  color: color-mix(in srgb, var(--text) 68%, var(--muted));
  font-size: 10.5px;
  font-weight: 850;
  line-height: 1.25;
  text-align: right;
}

.simulation-stress-list h3 {
  margin: 0 0 5px;
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: 19px;
  font-weight: var(--display-title-weight);
  letter-spacing: var(--display-title-letter-spacing);
  line-height: 1.25;
}

.simulation-stress-list > div > p {
  margin: 0;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.5;
}

.simulation-mode-panel,
.simulation-mode-shell {
  padding: 20px;
}

.simulation-mode-shell {
  display: grid;
  gap: 18px;
}

.simulation-deep-dive-shell {
  display: grid;
  gap: 20px;
  min-width: 0;
  max-width: 100%;
  padding: 20px;
}

.simulation-deep-dive-shell > *,
.simulation-detail-panel,
.simulation-result-table-shell,
.simulation-table-scroll {
  min-width: 0;
  max-width: 100%;
}

.simulation-workspace-hidden {
  display: none !important;
}

.simulation-lens-card {
  display: grid;
  gap: 15px;
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(255, 252, 247, 0.84)),
    var(--surface);
  border: 1px solid color-mix(in srgb, var(--subtle) 84%, var(--theme-accent) 16%);
  border-radius: var(--radius-lg);
  box-shadow: 0 18px 42px rgba(44, 37, 28, 0.055);
}

.simulation-lens-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--subtle);
}

.simulation-lens-card-head h3 {
  margin: 2px 0 6px;
  color: var(--wine-dark);
  font-family: var(--font-display);
  font-size: 28px;
  line-height: 1.1;
}

.simulation-lens-card-head p:not(.eyebrow) {
  max-width: 820px;
  margin: 0;
  color: #4d5962;
  line-height: 1.5;
}

.simulation-lens-verdict {
  min-width: 180px;
  padding: 12px 14px;
  color: var(--blue-dark);
  background: var(--blue-soft);
  border: 1px solid color-mix(in srgb, var(--blue) 18%, var(--subtle));
  border-radius: var(--radius);
  font-size: 20px;
  font-weight: 900;
  text-align: center;
}

.simulation-workspace-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.simulation-monte-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--theme-soft) 52%, white), rgba(255, 255, 255, 0.94)),
    var(--surface);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, var(--subtle));
  border-radius: 999px;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.62),
    0 10px 24px color-mix(in srgb, var(--theme-soft) 34%, transparent);
}

.simulation-monte-toggle button {
  min-height: 36px;
  padding: 0 16px;
  color: color-mix(in srgb, var(--theme-accent-strong) 54%, #52606a);
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 28%, var(--subtle));
  border-radius: 999px;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.72);
  transition: color 140ms ease, background 140ms ease, border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.simulation-monte-toggle button:hover {
  color: var(--theme-accent-strong);
  border-color: color-mix(in srgb, var(--theme-accent) 36%, var(--subtle));
  transform: translateY(-1px);
}

.simulation-monte-toggle button.active {
  color: #fff;
  background: var(--theme-accent);
  border-color: color-mix(in srgb, var(--theme-accent) 82%, #0f2d42);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.24),
    0 10px 22px color-mix(in srgb, var(--theme-accent) 28%, transparent);
}

.simulation-mode-tabs {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid var(--subtle);
  border-radius: 999px;
}

.simulation-mode-tabs button {
  min-height: 38px;
  padding: 0 15px;
  color: #4c5b64;
  background: transparent;
  border: 0;
  border-radius: 999px;
  font-weight: 850;
  cursor: pointer;
}

.simulation-mode-tabs button.active {
  color: var(--blue-dark);
  background: var(--blue-soft);
  box-shadow: 0 8px 18px rgba(44, 37, 28, 0.06);
}

.simulation-detail-panel {
  display: grid;
  gap: 18px;
}

.simulation-lens-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  padding: 14px 18px;
  background:
    radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--blue-soft) 58%, transparent), transparent 24rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(255, 252, 247, 0.91));
  border: 1px solid color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  border-radius: var(--radius-lg);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.86),
    0 15px 34px rgba(44, 37, 28, 0.055);
}

.simulation-lens-summary article {
  min-height: 118px;
  padding: 8px 22px;
  background: transparent;
  border: 0;
  border-right: 1px solid color-mix(in srgb, var(--subtle) 78%, transparent);
  border-radius: 0;
}

.simulation-lens-summary article:last-child {
  border-right: 0;
}

.summary-icon-flow {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
}

.summary-icon-medallion {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 72px;
  height: 72px;
  color: var(--blue);
  background:
    radial-gradient(circle at 32% 24%, rgba(255, 255, 255, 0.92), transparent 1.8rem),
    color-mix(in srgb, var(--blue-soft) 66%, white);
  border: 1px solid color-mix(in srgb, var(--blue) 14%, var(--subtle));
  border-radius: 999px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.88),
    0 10px 22px rgba(34, 59, 89, 0.08);
}

.summary-icon-medallion::before {
  content: "";
  position: absolute;
  inset: -7px;
  border: 1px solid currentColor;
  border-radius: inherit;
  opacity: 0.08;
}

.summary-icon-medallion svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.summary-icon-medallion .summary-route-fill {
  stroke: color-mix(in srgb, currentColor 22%, white);
  stroke-width: 5.2;
}

.summary-icon-medallion .summary-shield-icon {
  stroke-width: 2.1;
}

.summary-icon-medallion .summary-shield-fill {
  fill: currentColor;
  stroke: currentColor;
}

.summary-icon-medallion.is-green {
  color: var(--green);
  background:
    radial-gradient(circle at 32% 24%, rgba(255, 255, 255, 0.92), transparent 1.8rem),
    color-mix(in srgb, var(--success-soft) 78%, white);
  border-color: color-mix(in srgb, var(--green) 16%, var(--subtle));
}

.summary-icon-medallion.is-violet {
  color: #6d4cc2;
  background:
    radial-gradient(circle at 32% 24%, rgba(255, 255, 255, 0.92), transparent 1.8rem),
    color-mix(in srgb, #ede7ff 72%, white);
  border-color: color-mix(in srgb, #6d4cc2 14%, var(--subtle));
}

.summary-icon-medallion.is-orange {
  color: #e35f2c;
  background:
    radial-gradient(circle at 32% 24%, rgba(255, 255, 255, 0.92), transparent 1.8rem),
    color-mix(in srgb, #fff1e8 76%, white);
  border-color: color-mix(in srgb, #e35f2c 16%, var(--subtle));
}

.simulation-lens-summary strong {
  display: block;
  margin-top: 6px;
  color: var(--blue-dark);
  font-size: 22px;
  letter-spacing: 0;
  line-height: 1.1;
}

.simulation-lens-summary p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 13.5px;
  line-height: 1.45;
}

.simulation-lens-analysis-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.simulation-outcome-chart-card,
.simulation-result-table-shell,
.simulation-selected-run,
.simulation-distribution-card,
.simulation-path-card,
.simulation-return-card {
  padding: 18px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid var(--subtle);
  border-radius: var(--radius-lg);
}

.simulation-outcome-chart-card h4,
.simulation-distribution-card h4,
.simulation-path-card h4,
.simulation-return-card h4 {
  margin: 0 0 5px;
  color: var(--wine-dark);
  font-family: var(--font-display);
  font-size: 20px;
}

.simulation-outcome-chart-card p,
.simulation-distribution-card p,
.simulation-path-card p,
.simulation-return-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.simulation-distribution-card .eyebrow {
  color: var(--brand-teal);
}

.simulation-distribution-card {
  display: grid;
  gap: 18px;
}

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

.simulation-report-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid color-mix(in srgb, var(--subtle) 82%, transparent);
}

.simulation-report-head h4 {
  margin: 1px 0 5px;
  color: var(--wine-dark);
  font-family: var(--font-display);
  font-size: 21px;
  font-weight: var(--display-title-weight);
  letter-spacing: var(--display-title-letter-spacing);
  line-height: 1.12;
}

.simulation-report-head p:not(.eyebrow) {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 13.5px;
  line-height: 1.45;
}

.simulation-distribution-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.simulation-distribution-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #4f5d66;
  font-size: 11px;
  font-weight: 850;
}

.simulation-distribution-legend i {
  width: 9px;
  height: 9px;
  border-radius: 999px;
}

.simulation-distribution-legend .is-depleted {
  background: #c2413d;
}

.simulation-distribution-legend .is-funded {
  background: var(--green);
}

.simulation-distribution-legend .is-marker {
  width: 12px;
  height: 2px;
  background: var(--theme-accent-strong);
  border-radius: 999px;
}

.simulation-distribution-chart {
  min-height: 390px;
}

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

.simulation-distribution-stats article {
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid var(--subtle);
  border-radius: 10px;
}

.simulation-distribution-stats span {
  display: block;
  color: #56636c;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.simulation-distribution-stats strong {
  display: block;
  margin-top: 5px;
  color: var(--blue-dark);
  font-size: 18px;
  line-height: 1.1;
}

.simulation-distribution-plot {
  display: grid;
  gap: 8px;
}

.simulation-distribution-bars {
  position: relative;
  display: grid;
  grid-template-columns: repeat(var(--distribution-columns), minmax(0, 1fr));
  align-items: end;
  gap: 8px;
  min-height: 290px;
  padding: 36px 14px 46px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(255, 252, 247, 0.58)),
    repeating-linear-gradient(0deg, rgba(50, 70, 82, 0.07) 0 1px, transparent 1px 34px);
  border: 1px solid color-mix(in srgb, var(--subtle) 82%, white);
  border-radius: var(--radius);
}

.simulation-distribution-bin {
  position: relative;
  display: grid;
  align-items: end;
  min-width: 0;
  height: 210px;
}

.simulation-distribution-bin i {
  display: block;
  width: 100%;
  min-height: 2px;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--green) 76%, white),
      var(--green));
  border-radius: 7px 7px 3px 3px;
  box-shadow: 0 8px 16px rgba(44, 37, 28, 0.055);
}

.simulation-distribution-bin.is-depleted i {
  background:
    linear-gradient(180deg,
      color-mix(in srgb, #c2413d 76%, white),
      #c2413d);
}

.simulation-distribution-bin.is-target i {
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 70%, white),
      var(--theme-accent));
}

.simulation-distribution-bin strong {
  position: absolute;
  right: 50%;
  bottom: calc(100% + 5px);
  transform: translateX(50%);
  color: #31434e;
  font-size: 11px;
  font-weight: 850;
  opacity: 1;
}

.simulation-distribution-bin span {
  position: absolute;
  right: 50%;
  top: calc(100% + 8px);
  max-width: 88px;
  color: #52606a;
  font-size: 10px;
  font-weight: 750;
  line-height: 1.15;
  text-align: center;
  transform: translateX(50%);
}

.simulation-distribution-marker {
  position: absolute;
  top: 30px;
  bottom: 45px;
  width: 0;
  border-left: 2px dashed var(--theme-accent-strong);
  transform: translateX(-50%);
}

.simulation-distribution-marker.is-warning {
  border-color: #d28b26;
}

.simulation-distribution-marker.is-warning span {
  color: #a15c09;
}

.simulation-distribution-marker.is-median {
  border-color: var(--blue-dark);
}

.simulation-distribution-axis,
.simulation-distribution-markers {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #4f5d66;
  font-size: 11px;
  font-weight: 800;
}

.simulation-distribution-markers {
  justify-content: flex-end;
  flex-wrap: wrap;
}

.simulation-distribution-markers span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 9px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--subtle);
  border-radius: 999px;
}

.simulation-distribution-markers i {
  width: 14px;
  height: 2px;
  background: repeating-linear-gradient(90deg, var(--theme-accent-strong) 0 4px, transparent 4px 7px);
  border-radius: 999px;
}

.simulation-distribution-markers .is-warning i {
  background: repeating-linear-gradient(90deg, #d28b26 0 4px, transparent 4px 7px);
}

.simulation-distribution-markers .is-median i {
  background: repeating-linear-gradient(90deg, var(--blue-dark) 0 4px, transparent 4px 7px);
}

.simulation-outcome-chart {
  margin-top: 14px;
}

.simulation-outcome-bars {
  display: grid;
  gap: 12px;
}

.simulation-outcome-bar-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(110px, 0.8fr) auto;
  gap: 10px;
  align-items: center;
}

.simulation-outcome-bar-row strong {
  display: block;
  color: var(--text);
  font-size: 13px;
  line-height: 1.2;
}

.simulation-outcome-bar-row span,
.simulation-outcome-bar-row em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  white-space: nowrap;
}

.simulation-outcome-bar {
  height: 9px;
  overflow: hidden;
  background: color-mix(in srgb, var(--subtle) 70%, white);
  border-radius: 999px;
}

.simulation-outcome-bar i {
  display: block;
  height: 100%;
  background: var(--green);
  border-radius: inherit;
}

.simulation-outcome-bar-row.is-warning .simulation-outcome-bar i {
  background: #d28b26;
}

.simulation-outcome-bar-row.is-danger .simulation-outcome-bar i {
  background: #c2413d;
}

.simulation-stress-list {
  display: grid;
  gap: 14px;
  align-content: start;
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 252, 247, 0.86)),
    var(--surface-muted);
  border: 1px solid var(--subtle);
  border-radius: var(--radius-lg);
  box-shadow: 0 14px 34px rgba(74, 58, 42, 0.045);
}

.simulation-strong-list {
  background:
    radial-gradient(circle at 0% 4%, color-mix(in srgb, var(--green) 9%, transparent), transparent 20rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 253, 249, 0.82)),
    var(--surface-muted);
  border-color: color-mix(in srgb, var(--green) 18%, var(--subtle));
}

.simulation-weak-list {
  background:
    radial-gradient(circle at 0% 4%, rgba(194, 65, 61, 0.08), transparent 20rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 249, 247, 0.82)),
    var(--surface-muted);
  border-color: color-mix(in srgb, #c2413d 15%, var(--subtle));
}

.simulation-strong-list h3 {
  color: color-mix(in srgb, var(--green) 78%, #093421);
}

.simulation-weak-list h3 {
  color: color-mix(in srgb, #c2413d 78%, #5f0711);
}

.simulation-stress-rows {
  display: grid;
  gap: 10px;
}

.simulation-stress-row {
  display: grid;
  grid-template-columns: 86px minmax(180px, 0.86fr) minmax(340px, 1.05fr) 20px;
  gap: 14px;
  align-items: center;
  padding: 12px 14px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 253, 249, 0.9));
  border: 1px solid var(--subtle);
  border-radius: var(--radius);
  box-shadow: 0 9px 20px rgba(45, 35, 24, 0.035);
  transition:
    border-color 0.16s ease,
    box-shadow 0.16s ease,
    transform 0.16s ease;
}

.simulation-stress-row.is-danger {
  border-color: color-mix(in srgb, #c2413d 24%, var(--subtle));
}

.simulation-stress-row.is-warning {
  border-color: color-mix(in srgb, #d28b26 28%, var(--subtle));
}

.simulation-stress-row.is-success {
  border-color: color-mix(in srgb, var(--green) 24%, var(--subtle));
}

.simulation-story-card {
  cursor: pointer;
}

.simulation-story-card:hover,
.simulation-story-card:focus-visible {
  border-color: color-mix(in srgb, var(--theme-accent) 46%, var(--subtle));
  box-shadow: 0 16px 32px rgba(45, 35, 24, 0.075);
  outline: none;
  transform: translateY(-1px);
}

.simulation-story-card.is-selected {
  border-color: color-mix(in srgb, var(--blue) 54%, var(--subtle));
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--blue) 11%, transparent),
    0 16px 32px rgba(45, 35, 24, 0.075);
}

.simulation-strong-list .simulation-stress-row-title span {
  color: var(--green);
  background: color-mix(in srgb, var(--green) 10%, white);
  border-color: color-mix(in srgb, var(--green) 22%, var(--subtle));
}

.simulation-weak-list .simulation-stress-row-title span,
.simulation-stress-row.is-danger .simulation-stress-row-title span {
  color: #b4232d;
  background: rgba(194, 65, 61, 0.08);
  border-color: rgba(194, 65, 61, 0.2);
}

.simulation-stress-row strong {
  color: var(--text);
  font-size: 16px;
}

.simulation-stress-row-title {
  display: flex;
  align-items: center;
  gap: 9px;
}

.simulation-stress-row-title span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  color: var(--theme-accent-strong);
  background: var(--theme-soft);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.simulation-story-thumb {
  position: relative;
  overflow: hidden;
  width: 86px;
  aspect-ratio: 1;
  border-radius: 12px;
  background:
    radial-gradient(circle at 70% 15%, rgba(255, 255, 255, 0.82), transparent 1.9rem),
    linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(239, 248, 242, 0.82));
  border: 1px solid color-mix(in srgb, var(--green) 18%, var(--subtle));
}

.simulation-story-thumb.is-danger,
.simulation-story-thumb.is-warning {
  background:
    radial-gradient(circle at 70% 15%, rgba(255, 255, 255, 0.82), transparent 1.9rem),
    linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(252, 237, 235, 0.84));
  border-color: color-mix(in srgb, #c2413d 15%, var(--subtle));
}

.simulation-story-thumb svg {
  display: block;
  width: 100%;
  height: 100%;
}

.simulation-story-copy {
  min-width: 0;
}

.simulation-stress-row p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.simulation-stress-row em {
  display: block;
  margin-top: 8px;
  color: #3f4d56;
  font-size: 13px;
  font-style: normal;
  line-height: 1.45;
}

.simulation-stress-row dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding-left: 14px;
  border-left: 1px solid color-mix(in srgb, var(--subtle) 82%, transparent);
}

.simulation-stress-row dl div {
  min-width: 0;
  min-height: 58px;
  display: grid;
  align-content: center;
  padding: 4px 14px;
  background: transparent;
  border: 0;
  border-right: 1px solid color-mix(in srgb, var(--subtle) 84%, transparent);
  border-radius: 0;
}

.simulation-stress-row dl div:last-child {
  border-right: 0;
}

.simulation-stress-row dt {
  font-size: 9.5px;
  letter-spacing: 0.06em;
  line-height: 1.2;
}

.simulation-stress-row dd {
  margin: 5px 0 0;
  color: var(--blue-dark);
  font-weight: 850;
  font-size: 18px;
  letter-spacing: 0;
  line-height: 1.08;
}

.simulation-stress-row.is-danger dd,
.simulation-stress-row.is-warning dd {
  color: #981f28;
}

.simulation-story-open {
  justify-self: end;
  color: var(--green);
  font-size: 30px;
  font-weight: 500;
  line-height: 1;
}

.simulation-weak-list .simulation-story-open,
.simulation-stress-row.is-danger .simulation-story-open,
.simulation-stress-row.is-warning .simulation-story-open {
  color: #c2413d;
}

.simulation-story-footer {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 9px 12px;
  color: #51616c;
  background: color-mix(in srgb, var(--blue-soft) 48%, white);
  border: 1px solid color-mix(in srgb, var(--blue) 14%, var(--subtle));
  border-radius: 999px;
  font-size: 12.5px;
  line-height: 1.35;
}

.simulation-story-footer span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  color: var(--blue-dark);
  background: color-mix(in srgb, var(--blue) 12%, white);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}

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

.simulation-filter-row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
}

.simulation-filter-row label {
  display: grid;
  gap: 7px;
  min-width: 260px;
}

.simulation-filter-row label span {
  color: #43515b;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.simulation-filter-row select {
  min-height: 42px;
  padding: 0 36px 0 12px;
  color: var(--text);
  background: white;
  border: 1px solid var(--subtle-strong);
  border-radius: 7px;
  font: inherit;
  font-weight: 750;
}

.simulation-filter-row p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.simulation-table-scroll {
  max-height: 390px;
  overflow: auto;
  border: 1px solid var(--subtle);
  border-radius: var(--radius);
}

.simulation-result-table table,
.simulation-return-table table {
  width: 100%;
  border-collapse: collapse;
}

.simulation-result-table table {
  min-width: 0;
}

.simulation-result-table th,
.simulation-result-table td,
.simulation-return-table th,
.simulation-return-table td {
  padding: 12px 13px;
  border-bottom: 1px solid #eee8dd;
  text-align: left;
  vertical-align: middle;
}

.simulation-result-table th:nth-last-child(-n + 2),
.simulation-result-table td:nth-last-child(-n + 2) {
  text-align: center;
}

.simulation-result-table th,
.simulation-return-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  color: var(--blue-dark);
  background: #f7f9fb;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: normal;
}

.simulation-sort-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  padding: 0;
  color: inherit;
  background: transparent;
  border: 0;
  font: inherit;
  letter-spacing: inherit;
  line-height: 1.2;
  text-align: left;
  text-transform: inherit;
  white-space: normal;
  cursor: pointer;
}

.simulation-sort-button:hover,
.simulation-sort-button.is-active {
  color: var(--brand-teal);
}

.simulation-sort-arrows {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 17px;
  color: color-mix(in srgb, var(--brand-teal) 72%, var(--ink));
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1;
}

.simulation-result-table tr {
  cursor: pointer;
}

.simulation-result-table tr:hover td,
.simulation-result-table tr.is-selected td {
  background: color-mix(in srgb, var(--blue-soft) 68%, white);
}

.simulation-result-table td {
  color: #27323a;
  font-size: 13px;
}

.simulation-result-table td button {
  padding: 0;
  color: var(--blue-dark);
  background: transparent;
  border: 0;
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}

.simulation-outcome-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  color: var(--blue-dark);
  background: var(--blue-soft);
  border: 1px solid color-mix(in srgb, var(--blue) 18%, var(--subtle));
  border-radius: 999px;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}

.simulation-outcome-pill.is-warning {
  color: #955f00;
  background: #fff7df;
  border-color: #f1d6a2;
}

.simulation-outcome-pill.is-danger {
  color: #a12b2e;
  background: #fbf0ee;
  border-color: #efc3c0;
}

.simulation-outcome-pill.is-success {
  color: var(--green);
  background: var(--success-soft);
  border-color: color-mix(in srgb, var(--green) 18%, var(--subtle));
}

.simulation-check {
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  color: white;
  border-radius: 999px;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
}

.simulation-check.is-good {
  background: var(--green);
}

.simulation-check.is-bad {
  background: #e02d34;
}

.simulation-selected-run {
  display: grid;
  gap: 18px;
  scroll-margin-top: calc(var(--topbar-height) + 24px);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(255, 252, 247, 0.88)),
    var(--surface);
  box-shadow: 0 20px 48px rgba(48, 39, 29, 0.06);
}

.simulation-selected-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.simulation-selected-head h4 {
  margin: 2px 0 7px;
  color: var(--wine-dark);
  font-family: var(--font-display);
  font-size: 30px;
  font-weight: var(--display-title-weight);
  letter-spacing: var(--display-title-letter-spacing);
  line-height: 1.02;
}

.simulation-selected-head p:not(.eyebrow) {
  max-width: 820px;
  margin: 0;
  color: #4d5962;
  font-size: 14px;
  line-height: 1.5;
}

.simulation-selected-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.simulation-selected-stat {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 13px;
  align-items: start;
  min-height: 116px;
  padding: 16px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(255, 253, 249, 0.86)),
    var(--surface);
  border: 1px solid color-mix(in srgb, var(--subtle) 86%, white);
  border-radius: 10px;
  box-shadow: 0 12px 26px rgba(48, 39, 29, 0.045);
}

.simulation-stat-icon {
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: var(--theme-accent-strong);
  background: color-mix(in srgb, var(--theme-soft) 58%, white);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 14%, var(--subtle));
  border-radius: 999px;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--theme-soft) 45%, transparent);
}

.simulation-stat-icon svg {
  width: 23px;
  height: 23px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.simulation-selected-stat.is-success .simulation-stat-icon {
  color: var(--green);
  background: #eef8f1;
  border-color: #cce8d3;
}

.simulation-selected-stat.is-warning .simulation-stat-icon {
  color: #e9782d;
  background: #fff3ea;
  border-color: #f4d0b8;
}

.simulation-selected-stat.is-danger .simulation-stat-icon {
  color: #c2413d;
  background: #fff0ee;
  border-color: #efc2be;
}

.simulation-selected-stat.is-purple .simulation-stat-icon {
  color: #6b4fd3;
  background: #f1edff;
  border-color: #d9d0ff;
}

.simulation-selected-stat.is-blue .simulation-stat-icon {
  color: var(--blue);
  background: var(--blue-soft);
  border-color: color-mix(in srgb, var(--blue) 18%, var(--subtle));
}

.simulation-selected-stats span:not(.simulation-stat-icon) {
  color: #43515b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.simulation-selected-stats strong {
  display: block;
  margin-top: 6px;
  color: var(--blue-dark);
  font-size: 18px;
  line-height: 1.18;
}

.simulation-selected-stats p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.simulation-balance-path {
  margin-top: 10px;
}

.simulation-path-briefing-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.55fr);
  gap: 16px;
  align-items: stretch;
  margin-top: 14px;
}

.simulation-balance-path svg {
  width: 100%;
  height: auto;
}

.simulation-balance-path circle {
  stroke: white;
  stroke-width: 2;
}

.simulation-path-end-callout rect {
  fill: #6f171a;
  filter: drop-shadow(0 8px 14px rgba(75, 28, 22, 0.18));
}

.simulation-path-end-callout text {
  fill: white;
  font-size: 11px;
  font-weight: 900;
}

.simulation-balance-path .is-start,
.simulation-path-stats .is-start {
  fill: #e02d34;
  background: #e02d34;
}

.simulation-balance-path .is-high,
.simulation-path-stats .is-high {
  fill: var(--green);
  background: var(--green);
}

.simulation-balance-path .is-low,
.simulation-path-stats .is-low {
  fill: #d28b26;
  background: #d28b26;
}

.simulation-balance-path .is-end,
.simulation-path-stats .is-end {
  fill: var(--blue);
  background: var(--blue);
}

.simulation-path-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: 12px;
  padding: 10px 0;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid var(--subtle);
  border-radius: var(--radius);
}

.simulation-path-stats span {
  display: grid;
  gap: 4px;
  padding: 4px 14px;
  color: var(--text);
  background: transparent;
  border-right: 1px solid color-mix(in srgb, var(--subtle) 78%, transparent);
  font-weight: 850;
}

.simulation-path-stats span:last-child {
  border-right: 0;
}

.simulation-path-stats strong {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #43515b;
  font-size: 11px;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.simulation-path-stats i {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-radius: 999px;
}

.simulation-run-learning-card {
  display: grid;
  align-content: start;
  gap: 11px;
  padding: 16px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), color-mix(in srgb, var(--theme-soft) 34%, white)),
    var(--surface);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  border-radius: var(--radius);
  box-shadow: 0 18px 40px rgba(44, 37, 28, 0.05);
}

.simulation-run-learning-card > span {
  color: var(--theme-accent-strong);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.simulation-run-learning-card h4 {
  margin: 0;
  color: var(--wine-dark);
  font-family: var(--font-display);
  font-size: 18px;
}

.simulation-learning-verdict {
  padding: 12px 13px;
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid var(--subtle);
  border-left: 4px solid var(--theme-accent);
  border-radius: 9px;
}

.simulation-learning-verdict.is-success {
  border-left-color: var(--green);
}

.simulation-learning-verdict.is-warning {
  border-left-color: #d28b26;
}

.simulation-learning-verdict.is-danger {
  border-left-color: #c2413d;
}

.simulation-learning-verdict strong {
  display: block;
  color: var(--text);
  font-size: 14px;
  line-height: 1.3;
}

.simulation-learning-verdict p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

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

.simulation-learning-list li {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 9px;
}

.simulation-learning-list li::before {
  content: "";
  width: 22px;
  height: 22px;
  margin-top: 1px;
  background:
    radial-gradient(circle at 50% 50%, var(--theme-accent) 0 3px, transparent 4px),
    color-mix(in srgb, var(--theme-soft) 70%, white);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  border-radius: 999px;
  box-shadow: none;
}

.simulation-learning-list strong,
.simulation-learning-list span {
  grid-column: 2;
}

.simulation-learning-list strong {
  color: var(--text);
  font-size: 13px;
}

.simulation-learning-list span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.simulation-learning-concepts {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.simulation-learning-concepts span {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 9px;
  color: var(--theme-accent-strong);
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  border-radius: 999px;
  font-size: 11px;
  font-weight: 850;
}

.simulation-return-card {
  display: grid;
  gap: 16px;
}

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

.simulation-return-summary article {
  display: grid;
  gap: 5px;
  min-height: 104px;
  padding: 13px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(255, 252, 247, 0.86)),
    var(--surface);
  border: 1px solid var(--subtle);
  border-radius: 10px;
  box-shadow: 0 10px 22px rgba(48, 39, 29, 0.04);
}

.simulation-return-summary article.is-positive {
  border-color: color-mix(in srgb, var(--green) 26%, var(--subtle));
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(239, 248, 241, 0.74)),
    var(--surface);
}

.simulation-return-summary article.is-negative {
  border-color: color-mix(in srgb, #c2413d 22%, var(--subtle));
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 240, 238, 0.74)),
    var(--surface);
}

.simulation-return-summary span {
  color: #43515b;
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.simulation-return-summary strong {
  color: var(--blue-dark);
  font-size: 20px;
  line-height: 1.05;
}

.simulation-return-summary article.is-positive strong {
  color: var(--green);
}

.simulation-return-summary article.is-negative strong {
  color: #a23a37;
}

.simulation-return-summary p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.simulation-return-table {
  overflow: auto;
  border: 1px solid var(--subtle);
  border-radius: var(--radius);
  background: white;
}

.simulation-return-table table {
  min-width: 860px;
}

.simulation-return-cell {
  min-width: 150px;
}

.simulation-balance-cell {
  min-width: 118px;
  color: #40505b;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}

.simulation-return-bar {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: min(100%, 190px);
  min-height: 28px;
  padding: 0 10px;
  overflow: hidden;
  color: #38464f;
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid color-mix(in srgb, var(--subtle) 82%, white);
  border-radius: 999px;
}

.simulation-return-bar i {
  position: absolute;
  inset: 3px auto 3px 3px;
  width: var(--return-magnitude);
  max-width: calc(100% - 6px);
  background: color-mix(in srgb, var(--green) 22%, transparent);
  border-radius: 999px;
}

.simulation-return-cell.is-negative .simulation-return-bar i {
  background: color-mix(in srgb, #c2413d 24%, transparent);
}

.simulation-return-cell.is-neutral .simulation-return-bar i {
  background: color-mix(in srgb, var(--subtle) 42%, transparent);
}

.simulation-return-bar strong {
  position: relative;
  z-index: 1;
  color: inherit;
  font-size: 12px;
  font-weight: 850;
}

.simulation-return-cell.is-positive .simulation-return-bar strong {
  color: #17643e;
}

.simulation-return-cell.is-negative .simulation-return-bar strong {
  color: #8f302e;
}

.simulation-full-return-path summary {
  width: fit-content;
  padding: 9px 13px;
  color: var(--blue-dark);
  background: var(--blue-soft);
  border: 1px solid color-mix(in srgb, var(--blue) 18%, var(--subtle));
  border-radius: 999px;
  font-weight: 850;
  cursor: pointer;
}

.simulation-full-return-path[open] summary {
  margin-bottom: 12px;
}

.simulation-full-return-path .simulation-return-table {
  max-height: 520px;
}

.simulation-return-stop-note {
  margin: 10px 0 0;
  padding: 10px 12px;
  color: #5b6670;
  background: color-mix(in srgb, var(--theme-soft) 34%, white);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  border-radius: 9px;
  font-size: 12.5px;
  line-height: 1.4;
}

.simulation-full-return-path .simulation-return-table th {
  z-index: 4;
  background: #f7f9fb;
  box-shadow: 0 1px 0 #eee8dd, 0 8px 14px rgba(48, 39, 29, 0.06);
}

.simulation-full-return-path .simulation-return-table td {
  background: rgba(255, 255, 255, 0.98);
}

.market-replay-layout {
  display: grid;
  grid-template-columns: minmax(230px, 0.31fr) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.market-replay-picker {
  display: grid;
  gap: 12px;
  padding: 16px;
  background: var(--surface-muted);
  border: 1px solid var(--subtle);
  border-radius: var(--radius);
}

.market-replay-picker h3 {
  margin: 0;
  color: var(--wine-dark);
  font-family: var(--font-display);
  font-size: 20px;
}

.market-replay-picker p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.market-replay-list {
  display: grid;
  gap: 9px;
  max-height: 680px;
  overflow: auto;
  padding-right: 2px;
}

.market-replay-item {
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 4px;
  width: 100%;
  min-height: 90px;
  padding: 13px 13px 15px;
  text-align: left;
  color: var(--text);
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid var(--subtle);
  border-radius: 7px;
  cursor: pointer;
  transition: transform 140ms ease, border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
}

.market-replay-item:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--theme-accent) 34%, var(--subtle));
  box-shadow: 0 10px 22px rgba(44, 37, 28, 0.06);
}

.market-replay-item.is-active {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--theme-soft) 64%, white), rgba(255, 255, 255, 0.94)),
    var(--surface);
  border-color: color-mix(in srgb, var(--theme-accent) 46%, var(--subtle));
  box-shadow: inset 3px 0 0 var(--theme-accent), 0 12px 26px rgba(44, 37, 28, 0.07);
}

.market-replay-item-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 8px;
  align-items: start;
}

.market-replay-item strong {
  color: var(--theme-accent-strong);
  font-size: 14.5px;
  font-weight: 900;
  line-height: 1.25;
}

.market-replay-item span,
.market-replay-item em {
  color: #53616b;
  font-size: 12px;
  font-style: normal;
  font-weight: 720;
  line-height: 1.25;
}

.market-replay-item > span:last-child {
  align-self: start;
}

.market-replay-item-head em {
  color: #5f6b73;
  font-weight: 760;
}

.market-replay-item-meta {
  display: grid;
  gap: 5px;
  justify-items: end;
  min-width: 72px;
}

.market-replay-status-icon {
  display: inline-grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 950;
  line-height: 1;
}

.market-replay-status-icon.is-funded {
  color: white;
  background: var(--green);
  box-shadow: 0 7px 14px rgba(18, 130, 76, 0.18);
}

.market-replay-status-icon.is-failed {
  color: white;
  background: #d7353f;
  box-shadow: 0 7px 14px rgba(194, 65, 61, 0.18);
}

.market-replay-status-icon.is-pending {
  color: #6b747a;
  background: #eef1f3;
  box-shadow: inset 0 0 0 1px var(--subtle);
}

.market-replay-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.market-replay-tags span {
  display: inline-flex;
  width: fit-content;
  padding: 4px 7px;
  color: color-mix(in srgb, var(--theme-accent-strong) 86%, #24313a);
  background: color-mix(in srgb, var(--theme-soft) 52%, white);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  border-radius: 999px;
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
  letter-spacing: 0.02em;
}

.market-replay-tags {
  margin-top: 10px;
}

.market-replay-detail {
  display: grid;
  gap: 16px;
}

.market-replay-title-row {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--subtle);
}

.market-replay-title-row h3 {
  margin: 4px 0 5px;
  color: var(--text);
  font-family: var(--font-display);
  font-size: 27px;
  line-height: 1.12;
}

.market-replay-title-row p:not(.eyebrow) {
  margin: 0;
  color: #4d5962;
  font-size: 14px;
  line-height: 1.45;
}

.market-replay-title-actions {
  display: grid;
  justify-items: end;
  gap: 10px;
  min-width: max-content;
}

.date-chip {
  min-width: max-content;
  padding: 8px 12px;
  color: var(--blue-dark);
  background: var(--blue-soft);
  border: 1px solid color-mix(in srgb, var(--blue) 16%, var(--subtle));
  border-radius: 999px;
  font-size: 13px;
  font-weight: 850;
}

.market-replay-cpi-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  gap: 8px;
  align-items: center;
  margin: 14px 0 12px;
}

.market-replay-cpi-toggle {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  width: 100%;
  margin: 0;
  padding: 10px 12px;
  color: var(--text);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), color-mix(in srgb, var(--theme-soft) 28%, white)),
    var(--surface);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  border-radius: 12px;
  box-shadow: 0 12px 26px rgba(44, 37, 28, 0.055);
  cursor: pointer;
}

.market-replay-cpi-toggle input {
  appearance: none;
  position: relative;
  width: 38px;
  height: 22px;
  margin: 0;
  background: color-mix(in srgb, var(--muted) 24%, white);
  border: 1px solid color-mix(in srgb, var(--muted) 32%, var(--subtle));
  border-radius: 999px;
  transition: background 160ms ease, border-color 160ms ease;
}

.market-replay-cpi-toggle input::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 14px;
  height: 14px;
  background: white;
  border-radius: 999px;
  box-shadow: 0 2px 7px rgba(44, 37, 28, 0.18);
  transition: transform 160ms ease;
}

.market-replay-cpi-toggle input:checked {
  background: var(--theme-accent);
  border-color: color-mix(in srgb, var(--theme-accent) 68%, var(--subtle));
}

.market-replay-cpi-toggle input:checked::after {
  transform: translateX(16px);
}

.market-replay-cpi-toggle strong,
.market-replay-cpi-toggle em {
  display: block;
}

.market-replay-cpi-toggle strong {
  color: var(--theme-accent-strong);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.market-replay-cpi-toggle em {
  margin-top: 2px;
  color: #4d5962;
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
  line-height: 1.25;
}

.market-replay-rollup-status {
  display: grid;
  grid-template-columns: 24px max-content minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin: -4px 0 4px;
  padding: 7px 10px;
  color: #4d5962;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid var(--subtle);
  border-radius: 999px;
  box-shadow: 0 8px 18px rgba(44, 37, 28, 0.045);
}

.market-replay-rollup-icon {
  display: inline-grid;
  width: 24px;
  height: 24px;
  place-items: center;
  color: #6b747a;
  background: #eef1f3;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 950;
  line-height: 1;
  box-shadow: inset 0 0 0 1px var(--subtle);
}

.market-replay-rollup-status strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
}

.market-replay-rollup-status em {
  min-width: 0;
  overflow: hidden;
  color: #5f6b73;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.market-replay-rollup-status.is-success {
  border-color: color-mix(in srgb, var(--green) 24%, var(--subtle));
  background: color-mix(in srgb, var(--green-soft) 56%, white);
}

.market-replay-rollup-status.is-success .market-replay-rollup-icon {
  color: white;
  background: var(--green);
  box-shadow: 0 7px 14px rgba(18, 130, 76, 0.18);
}

.market-replay-rollup-status.is-warning {
  border-color: color-mix(in srgb, var(--red) 24%, var(--subtle));
  background: color-mix(in srgb, var(--red-soft) 56%, white);
}

.market-replay-rollup-status.is-warning .market-replay-rollup-icon {
  color: white;
  background: var(--red);
  box-shadow: 0 7px 14px rgba(194, 65, 61, 0.18);
}

.market-replay-help-button {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  color: var(--theme-accent-strong);
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 22%, var(--subtle));
  border-radius: 999px;
  box-shadow: 0 10px 22px rgba(44, 37, 28, 0.055);
  font-size: 15px;
  font-weight: 950;
  line-height: 1;
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.market-replay-help-button:hover,
.market-replay-help-button[aria-expanded="true"] {
  background: color-mix(in srgb, var(--theme-soft) 66%, white);
  border-color: color-mix(in srgb, var(--theme-accent) 42%, var(--subtle));
  box-shadow: 0 14px 28px rgba(44, 37, 28, 0.075);
}

.market-replay-help-button:hover {
  transform: translateY(-1px);
}

.market-replay-cpi-help {
  grid-column: 1 / -1;
  padding: 12px 13px;
  color: #43515b;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), color-mix(in srgb, var(--theme-soft) 28%, white)),
    var(--surface);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  border-radius: 10px;
  box-shadow: 0 12px 26px rgba(44, 37, 28, 0.05);
}

.market-replay-cpi-help p {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.48;
}

.market-replay-cpi-help p + p {
  margin-top: 8px;
}

.market-replay-cpi-help strong {
  display: block;
  margin-bottom: 3px;
  color: var(--text);
}

.market-replay-verdict-card {
  display: grid;
  grid-template-columns: minmax(245px, 0.52fr) minmax(0, 1.48fr);
  gap: 16px;
  align-items: start;
  padding: 16px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), color-mix(in srgb, var(--theme-soft) 38%, white)),
    var(--surface);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  border-radius: var(--radius-lg);
  box-shadow: inset 5px 0 0 var(--theme-accent), 0 18px 42px rgba(44, 37, 28, 0.06);
}

.market-replay-verdict-card.is-success {
  box-shadow: inset 5px 0 0 var(--green), 0 18px 42px rgba(44, 37, 28, 0.06);
}

.market-replay-verdict-card.is-warning {
  box-shadow: inset 5px 0 0 #d28b26, 0 18px 42px rgba(44, 37, 28, 0.06);
}

.market-replay-verdict-card.is-danger {
  box-shadow: inset 5px 0 0 #c2413d, 0 18px 42px rgba(44, 37, 28, 0.06);
}

.market-replay-verdict-card span,
.market-replay-verdict-card dt,
.market-replay-verdict-metrics article > span {
  color: #43515b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.market-replay-verdict-copy > strong {
  display: block;
  margin-top: 6px;
  color: var(--wine-dark);
  font-family: var(--font-display);
  font-size: clamp(24px, 2.2vw, 34px);
  line-height: 1;
}

.market-replay-verdict-copy p {
  max-width: 520px;
  margin: 8px 0 0;
  color: #3f4d56;
  font-size: 13px;
  line-height: 1.45;
}

.market-replay-verdict-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
  gap: 10px;
  min-width: 0;
}

.market-replay-verdict-metrics article {
  min-width: 0;
  overflow: hidden;
  padding: 11px 12px;
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid var(--subtle);
  border-radius: 9px;
}

.market-replay-verdict-metrics article:first-child,
.market-replay-verdict-metrics article.is-pressure {
  grid-column: span 2;
}

.market-replay-verdict-metrics strong {
  display: block;
  margin-top: 7px;
  color: var(--text);
  font-size: clamp(14px, 1.05vw, 16px);
  font-weight: 900;
  line-height: 1.15;
  font-family: var(--font-sans);
  overflow-wrap: anywhere;
}

.market-replay-verdict-metrics p {
  margin: 7px 0 0;
  color: #65716e;
  font-size: 11px;
  line-height: 1.28;
}

.market-backdrop-card,
.market-timeline-card,
.market-takeaway-card,
.market-replay-explain-card,
.market-replay-chart-card,
.market-replay-learning-card {
  padding: 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 252, 247, 0.92)),
    var(--surface);
  border: 1px solid var(--subtle);
  border-radius: var(--radius);
}

.market-replay-learning-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.72fr);
  gap: 16px;
  align-items: stretch;
}

.market-replay-learning-card {
  display: grid;
  align-content: start;
  gap: 12px;
  background:
    linear-gradient(135deg, rgba(255, 252, 244, 0.98), color-mix(in srgb, var(--theme-soft) 30%, white)),
    var(--surface);
  border-color: color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  box-shadow: 0 18px 40px rgba(44, 37, 28, 0.055);
}

.market-replay-learning-card > span {
  color: var(--theme-accent-strong);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.market-backdrop-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 270px;
  gap: 16px;
  align-items: stretch;
}

.market-replay-photo {
  position: relative;
  margin: 0;
  overflow: hidden;
  min-height: 190px;
  background:
    linear-gradient(135deg, rgba(57, 45, 34, 0.34), rgba(246, 238, 218, 0.16)),
    radial-gradient(circle at 32% 28%, rgba(255, 255, 255, 0.32), transparent 22%),
    repeating-linear-gradient(90deg, rgba(70, 56, 42, 0.10) 0 1px, transparent 1px 12px),
    linear-gradient(180deg, #b9aa92, #f0e4ca);
  border: 1px solid var(--subtle);
  border-radius: var(--radius);
}

.market-replay-photo::before {
  content: "";
  position: absolute;
  inset: 18px 18px 46px;
  border: 1px solid rgba(83, 67, 50, 0.2);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.16), transparent),
    repeating-linear-gradient(0deg, rgba(80, 64, 48, 0.12) 0 2px, transparent 2px 18px);
  opacity: 0.78;
}

.market-replay-photo img {
  position: relative;
  display: block;
  width: 100%;
  height: 165px;
  object-fit: cover;
  filter: sepia(0.28) saturate(0.82);
}

.market-replay-photo figcaption {
  position: relative;
  padding: 10px 12px;
  color: #24313a;
  background: rgba(255, 253, 248, 0.94);
  border-top: 1px solid rgba(70, 56, 42, 0.14);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.38;
}

.market-replay-source-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 13px;
}

.market-replay-source-links span {
  color: #43515b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.market-replay-source-links a {
  color: var(--theme-accent-strong);
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

.market-backdrop-card .eyebrow {
  margin: 0 0 4px;
  color: var(--brand-teal);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.market-timeline-card {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

.market-replay-timeline {
  display: block;
  min-width: 0;
}

.market-replay-timeline ol {
  position: relative;
  display: flex;
  gap: 0;
  justify-content: space-between;
  margin: 0;
  padding: 26px 0 2px;
  list-style: none;
}

.market-replay-timeline ol::before {
  content: "";
  position: absolute;
  top: 12px;
  right: 0;
  left: 0;
  height: 3px;
  background:
    linear-gradient(90deg,
      color-mix(in srgb, #c2413d 72%, var(--theme-accent)),
      #d77913 36%,
      #d6a629 68%,
      color-mix(in srgb, var(--green) 74%, var(--theme-accent)));
  border-radius: 999px;
  opacity: 0.82;
}

.market-replay-timeline li {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  padding-right: 18px;
}

.market-replay-timeline li::before {
  content: "";
  position: absolute;
  top: -19px;
  left: 0;
  width: 12px;
  height: 12px;
  background: var(--surface);
  border: 3px solid var(--theme-accent);
  border-radius: 999px;
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--theme-soft) 58%, white);
}

.market-replay-timeline strong {
  display: block;
  color: var(--theme-accent-strong);
  font-size: 14px;
}

.market-replay-timeline span {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

.market-replay-takeaways {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.market-replay-takeaways p {
  margin: 0;
  padding: 11px 12px 11px 34px;
  color: #3f4d56;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid var(--subtle);
  border-radius: 7px;
  line-height: 1.4;
  position: relative;
}

.market-replay-takeaways p::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 16px;
  width: 8px;
  height: 8px;
  background: var(--success);
  border-radius: 999px;
}

.market-backdrop-card h4,
.market-timeline-card h4,
.market-takeaway-card h4,
.market-replay-explain-card h4,
.market-replay-learning-card h4,
.market-replay-chart-card h4 {
  margin: 6px 0 8px;
  color: var(--wine-dark);
  font-family: var(--font-display);
  font-size: 18px;
}

.market-backdrop-card p,
.market-timeline-card p,
.market-takeaway-card p,
.market-replay-explain-card p,
.market-replay-learning-card p,
.market-replay-chart-card p {
  margin: 0;
  color: #4d5962;
  line-height: 1.55;
}

.market-replay-explain-card p + p {
  margin-top: 11px;
}

.market-replay-explain-card strong {
  color: var(--text);
}

.market-learning-verdict {
  padding: 13px 14px;
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid var(--subtle);
  border-left: 4px solid var(--theme-accent);
  border-radius: 9px;
}

.market-learning-verdict.is-success {
  border-left-color: var(--green);
}

.market-learning-verdict.is-warning {
  border-left-color: #d28b26;
}

.market-learning-verdict.is-danger {
  border-left-color: #c2413d;
}

.market-learning-verdict strong {
  display: block;
  color: var(--text);
  font-size: 15px;
  line-height: 1.3;
}

.market-learning-verdict p {
  margin-top: 7px;
  font-size: 13px;
}

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

.market-learning-list li {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr);
  gap: 10px;
}

.market-learning-list li::before {
  content: "";
  width: 8px;
  height: 8px;
  margin-top: 7px;
  background: var(--theme-accent);
  border-radius: 999px;
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--theme-soft) 58%, white);
}

.market-learning-list strong,
.market-learning-list span {
  grid-column: 2;
}

.market-learning-list strong {
  color: var(--text);
  font-size: 13px;
}

.market-learning-list span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.market-learning-concepts {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding-top: 14px;
}

.market-learning-concepts a {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  color: var(--theme-accent-strong);
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  border-radius: 999px;
  font-size: 11px;
  font-weight: 850;
  text-decoration: none;
}

.market-replay-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.market-replay-stat-grid article {
  min-height: 128px;
  padding: 15px;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid var(--subtle);
  border-radius: var(--radius);
}

.market-replay-stat-grid article:nth-child(3) {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--theme-soft) 52%, white), rgba(255, 255, 255, 0.94)),
    var(--surface);
  border-color: color-mix(in srgb, var(--theme-accent) 24%, var(--subtle));
  box-shadow: inset 4px 0 0 var(--theme-accent);
}

.market-replay-stat-grid strong {
  display: block;
  margin-top: 9px;
  color: var(--blue-dark);
  font-size: 19px;
  font-weight: 850;
  line-height: 1.2;
}

.market-replay-stat-grid p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.replay-chart-frame {
  margin-top: 12px;
  min-height: 260px;
  border-top: 1px solid var(--subtle);
  padding-top: 14px;
}

.replay-chart-frame svg {
  width: 100%;
  height: auto;
  display: block;
}

.replay-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 8px;
  color: var(--muted);
  font-size: 12px;
}

.replay-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.replay-chart-legend i {
  width: 9px;
  height: 9px;
  border-radius: 999px;
}

.replay-chart-legend .is-start {
  background: var(--blue);
}

.replay-chart-legend .is-low {
  background: var(--red);
}

.replay-chart-legend .is-recovery {
  background: #d28b26;
}

.replay-chart-legend .is-end {
  background: var(--success);
}

.replay-chart-legend .is-stress-window {
  width: 16px;
  height: 8px;
  background: rgba(194, 65, 61, 0.12);
  border: 1px solid rgba(194, 65, 61, 0.26);
  border-radius: 3px;
}

.simulation-tool-launchpad,
.simulation-suite-verdict,
.simulation-overview-strip article,
.simulation-lens-card,
.simulation-outcome-chart-card,
.simulation-result-table-shell,
.simulation-selected-run,
.simulation-distribution-card,
.simulation-path-card,
.simulation-return-card,
.simulation-stress-list,
.simulation-stress-row,
.market-replay-picker,
.market-replay-item,
.market-replay-cpi-toggle,
.market-replay-cpi-help,
.market-replay-verdict-card,
.market-replay-verdict-metrics article,
.market-backdrop-card,
.market-timeline-card,
.market-takeaway-card,
.market-replay-explain-card,
.market-replay-chart-card,
.market-replay-learning-card,
.market-replay-stat-grid article,
.market-replay-stat-grid article:nth-child(3) {
  background: #fff;
}

.settings-view {
  align-items: start;
  gap: 16px;
}

.methodology-view {
  align-items: start;
  gap: 18px;
}

.methodology-hero,
.methodology-section {
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, rgba(54, 45, 36, 0.13));
  border-radius: 8px;
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 5% 0%, color-mix(in srgb, var(--theme-accent) 7%, transparent), transparent 26rem),
    radial-gradient(circle at 92% 8%, rgba(18, 130, 76, 0.055), transparent 24rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.988), rgba(255, 253, 249, 0.956)),
    var(--surface);
  box-shadow:
    0 18px 44px rgba(44, 37, 28, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.methodology-hero {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) minmax(280px, 380px);
  gap: 24px;
  align-items: start;
  padding: 32px 36px;
  border-color: color-mix(in srgb, var(--success) 24%, color-mix(in srgb, var(--theme-accent) 22%, var(--subtle)));
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 5% 18%, color-mix(in srgb, var(--success) 12%, transparent), transparent 17rem),
    radial-gradient(circle at 95% 8%, color-mix(in srgb, var(--theme-accent) 10%, transparent), transparent 22rem),
    linear-gradient(120deg, rgba(255, 255, 255, 0.992), rgba(255, 255, 255, 0.95)),
    var(--surface);
  box-shadow:
    0 20px 46px rgba(44, 37, 28, 0.075),
    0 0 0 1px color-mix(in srgb, var(--theme-accent) 6%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.methodology-hero-icon,
.methodology-section-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 2px solid color-mix(in srgb, var(--success) 28%, rgba(54, 45, 36, 0.11));
  color: var(--success);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.96), color-mix(in srgb, var(--success) 9%, #fff));
  box-shadow:
    inset 0 0 0 8px color-mix(in srgb, var(--success) 7%, transparent),
    0 12px 24px color-mix(in srgb, var(--success) 10%, transparent);
}

.methodology-hero-icon {
  width: 60px;
  height: 60px;
  margin-top: 4px;
  border-width: 2.5px;
  box-shadow:
    inset 0 0 0 9px color-mix(in srgb, var(--success) 8%, transparent),
    0 14px 30px color-mix(in srgb, var(--success) 18%, transparent);
}

.methodology-hero-icon svg,
.methodology-section-icon svg {
  width: 26px;
  height: 26px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.methodology-eyebrow {
  margin: 0 0 6px;
  color: var(--theme-accent-strong);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.methodology-hero h2,
.methodology-section h3 {
  margin: 0;
  color: var(--theme-heading);
  font-family: var(--font-display);
  letter-spacing: 0;
}

.methodology-hero h2 {
  max-width: 820px;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.06;
}

.methodology-hero h2::after {
  content: "";
  display: block;
  width: min(100%, 900px);
  height: 1px;
  margin: 18px 0 0;
  background: linear-gradient(90deg, rgba(44, 52, 64, 0.14), rgba(44, 52, 64, 0.05));
}

.methodology-hero p,
.methodology-section-head p,
.methodology-card-grid p,
.methodology-split-grid p,
.methodology-list-grid p,
.methodology-list-grid li {
  color: #465664;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.55;
}

.methodology-hero-copy > p:not(.methodology-eyebrow) {
  max-width: 840px;
  margin: 18px 0 0;
  color: #35475a;
  font-size: clamp(14px, 1.12vw, 17px);
  font-weight: 580;
  line-height: 1.58;
}

.methodology-hero-copy > p:not(.methodology-eyebrow) + p:not(.methodology-eyebrow) {
  margin-top: 16px;
}

.methodology-hero aside {
  align-self: center;
  padding: 24px 26px;
  border: 2px solid color-mix(in srgb, var(--theme-accent) 18%, rgba(54, 45, 36, 0.12));
  border-radius: 8px;
  background:
    radial-gradient(circle at 8% 8%, color-mix(in srgb, var(--theme-accent) 8%, transparent), transparent 14rem),
    linear-gradient(180deg, color-mix(in srgb, var(--theme-soft) 62%, #fff), rgba(255, 255, 255, 0.9));
  box-shadow: 0 16px 34px color-mix(in srgb, var(--theme-accent) 11%, transparent);
}

.methodology-advice-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.methodology-advice-icon {
  display: inline-flex;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 2px solid color-mix(in srgb, var(--theme-accent) 44%, transparent);
  color: var(--theme-accent);
  background: color-mix(in srgb, var(--theme-soft) 74%, #fff);
}

.methodology-advice-icon svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.methodology-hero aside strong,
.methodology-card-grid h4,
.methodology-split-grid h4,
.methodology-list-grid h4 {
  color: var(--text);
  font-size: 15px;
  font-weight: 950;
  letter-spacing: 0;
}

.methodology-hero aside strong {
  color: var(--theme-heading);
  font-size: clamp(16px, 1.22vw, 19px);
  line-height: 1.16;
}

.methodology-hero aside p {
  margin: 0;
  color: #334657;
  font-size: clamp(13px, 1vw, 15px);
  font-weight: 660;
  line-height: 1.58;
}

.methodology-hero aside p + p {
  margin-top: 16px;
}

.methodology-section {
  padding: 26px 28px 28px;
}

.methodology-section-head {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 15px;
  align-items: start;
  margin-bottom: 20px;
}

.methodology-section-icon {
  width: 48px;
  height: 48px;
  color: var(--blue);
  border-color: color-mix(in srgb, var(--blue) 30%, rgba(54, 45, 36, 0.11));
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(236, 246, 255, 0.92));
  box-shadow:
    inset 0 0 0 8px rgba(29, 100, 200, 0.07),
    0 12px 24px rgba(29, 100, 200, 0.09);
}

.methodology-section-icon.is-gold {
  color: #a56b00;
  border-color: rgba(220, 159, 38, 0.34);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(255, 247, 226, 0.94));
  box-shadow:
    inset 0 0 0 8px rgba(220, 159, 38, 0.09),
    0 12px 24px rgba(220, 159, 38, 0.1);
}

.methodology-section-icon.is-red {
  color: var(--red);
  border-color: color-mix(in srgb, var(--red) 28%, rgba(54, 45, 36, 0.11));
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.96), color-mix(in srgb, var(--red) 8%, #fff));
  box-shadow:
    inset 0 0 0 8px color-mix(in srgb, var(--red) 7%, transparent),
    0 12px 24px color-mix(in srgb, var(--red) 9%, transparent);
}

.methodology-section h3 {
  font-size: 28px;
  line-height: 1.12;
}

.methodology-section-head p:last-child {
  max-width: 940px;
  margin: 8px 0 0;
}

.methodology-card-grid,
.methodology-split-grid {
  display: grid;
  gap: 14px;
}

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

.methodology-validation-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.methodology-core-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.methodology-core-section {
  position: relative;
  overflow: hidden;
  padding: 32px 34px 34px;
  border-color: rgba(64, 115, 195, 0.2);
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 96% 0%, rgba(86, 136, 218, 0.13), transparent 24rem),
    radial-gradient(circle at 8% 8%, rgba(70, 132, 216, 0.08), transparent 18rem),
    linear-gradient(180deg, rgba(248, 251, 255, 0.99), rgba(255, 255, 255, 0.97)),
    var(--surface);
}

.methodology-core-section::after {
  content: "";
  position: absolute;
  top: -18px;
  right: -10px;
  width: min(32%, 420px);
  height: 250px;
  pointer-events: none;
  opacity: 0.28;
  background:
    repeating-radial-gradient(ellipse at 100% 0%, rgba(64, 115, 195, 0.18) 0 1px, transparent 1px 10px);
}

.methodology-core-section > * {
  position: relative;
  z-index: 1;
}

.methodology-core-section .methodology-section-icon {
  width: 76px;
  height: 76px;
  color: #2367bc;
  border-color: rgba(35, 103, 188, 0.26);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(235, 244, 255, 0.94));
  box-shadow:
    inset 0 0 0 12px rgba(35, 103, 188, 0.08),
    0 16px 34px rgba(35, 103, 188, 0.11);
}

.methodology-core-section .methodology-section-icon svg {
  width: 36px;
  height: 36px;
}

.methodology-core-section .methodology-eyebrow {
  color: #2367bc;
}

.methodology-core-section .methodology-section-head {
  grid-template-columns: 94px minmax(0, 1fr);
  gap: 26px;
  align-items: start;
  margin-bottom: 30px;
}

.methodology-core-section .methodology-section-head > div {
  padding-left: 26px;
  border-left: 2px solid rgba(64, 115, 195, 0.46);
}

.methodology-core-section h3 {
  max-width: 1120px;
  color: var(--theme-heading);
  font-size: clamp(28px, 2.8vw, 42px);
  line-height: 1.08;
}

.methodology-core-section .methodology-section-head p:last-child {
  max-width: 1050px;
  color: #35475a;
  font-size: clamp(14px, 1.12vw, 17px);
  font-weight: 580;
  line-height: 1.58;
}

.methodology-core-card {
  --core-card-accent: #2367bc;
  --core-card-soft: rgba(235, 244, 255, 0.94);
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 15px;
  min-height: 0;
  padding: 22px 24px;
  border: 1px solid color-mix(in srgb, var(--core-card-accent) 17%, rgba(54, 45, 36, 0.12));
  border-radius: 8px;
  background:
    radial-gradient(circle at 7% 0%, color-mix(in srgb, var(--core-card-accent) 8%, transparent), transparent 14rem),
    linear-gradient(180deg, color-mix(in srgb, var(--core-card-soft) 64%, #fff), rgba(255, 255, 255, 0.92));
  box-shadow:
    0 14px 30px color-mix(in srgb, var(--core-card-accent) 7%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.methodology-core-card.is-tracking {
  --core-card-accent: #0f7a99;
  --core-card-soft: rgba(232, 243, 255, 0.96);
}

.methodology-core-card.is-simulation {
  --core-card-accent: #7a54d4;
  --core-card-soft: rgba(244, 237, 255, 0.96);
}

.methodology-core-card.is-replay {
  --core-card-accent: #118a82;
  --core-card-soft: rgba(231, 249, 250, 0.96);
}

.methodology-core-card.is-resilience {
  --core-card-accent: var(--theme-accent);
  --core-card-soft: var(--theme-soft);
  grid-column: 1 / -1;
}

.methodology-core-card-head {
  display: flex;
  align-items: center;
  gap: 18px;
}

.methodology-core-card-head:not(:has(.methodology-core-card-icon)) {
  display: block;
}

.methodology-core-card .methodology-core-card-icon {
  display: inline-grid;
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  place-items: center;
  border: 1.5px solid color-mix(in srgb, var(--core-card-accent) 22%, transparent);
  border-radius: 999px;
  color: var(--core-card-accent);
  background: rgba(255, 255, 255, 0.75);
  box-shadow: 0 10px 20px color-mix(in srgb, var(--core-card-accent) 9%, transparent);
}

.methodology-core-card .methodology-core-card-icon svg {
  width: 31px;
  height: 31px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.methodology-core-card h4 {
  margin: 0 0 4px;
  color: var(--theme-heading);
  font-family: var(--font-display);
  font-size: 19px;
  font-weight: 850;
  line-height: 1.14;
}

.methodology-core-card p {
  color: #394b5c;
  font-size: 14px;
  font-weight: 580;
  line-height: 1.58;
}

.methodology-core-card > span {
  position: relative;
  display: block;
  min-height: 0;
  margin: 0;
  padding: 15px 0 0 54px;
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--core-card-accent) 15%, rgba(54, 45, 36, 0.11));
  border-radius: 0;
  color: #516274;
  background: none;
  font-size: 14px;
  font-weight: 580;
  line-height: 1.58;
}

.methodology-core-card > span svg {
  position: absolute;
  top: 15px;
  left: 0;
  width: 34px;
  height: 34px;
  padding: 7px;
  transform: none;
  color: var(--core-card-accent);
  border: 1.5px solid color-mix(in srgb, var(--core-card-accent) 22%, transparent);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.75);
  box-shadow: 0 10px 20px color-mix(in srgb, var(--core-card-accent) 8%, transparent);
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.methodology-core-card > span strong {
  color: color-mix(in srgb, var(--core-card-accent) 60%, #26384b);
  font-weight: 820;
}

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

.methodology-card-grid article,
.methodology-split-grid article,
.methodology-list-grid aside {
  border: 1px solid rgba(54, 45, 36, 0.11);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(250, 253, 255, 0.78));
  padding: 18px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

.methodology-card-grid h4,
.methodology-split-grid h4,
.methodology-list-grid h4 {
  margin: 0 0 9px;
}

.methodology-card-grid p,
.methodology-split-grid p {
  margin: 0;
}

.methodology-split-grid p + p {
  margin-top: 10px;
}

.methodology-card-grid span {
  display: block;
  margin-top: 12px;
  color: #667582;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;
}

.methodology-core-grid .methodology-core-card {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 15px;
  min-height: 0;
  padding: 22px 24px;
}

.methodology-core-grid .methodology-core-card > span {
  position: relative;
  display: block;
  min-height: 0;
  margin: 0;
  padding: 15px 0 0 54px;
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--core-card-accent) 15%, rgba(54, 45, 36, 0.11));
  border-radius: 0;
  color: #516274;
  background: none;
  font-size: 14px;
  font-weight: 580;
  line-height: 1.58;
}

.methodology-randomized-models {
  display: grid;
  gap: 20px;
  margin-top: 24px;
  padding: 26px;
  border: 1px solid color-mix(in srgb, #7a54d4 24%, rgba(54, 45, 36, 0.12));
  border-radius: 10px;
  background:
    radial-gradient(circle at 100% 0%, rgba(122, 84, 212, 0.11), transparent 26rem),
    linear-gradient(180deg, rgba(251, 248, 255, 0.98), rgba(255, 255, 255, 0.94));
  box-shadow: 0 16px 34px rgba(85, 58, 151, 0.08);
}

.methodology-randomized-models-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.methodology-randomized-models-icon {
  display: inline-grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 1.5px solid rgba(122, 84, 212, 0.24);
  border-radius: 999px;
  color: #7049c8;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 10px 22px rgba(85, 58, 151, 0.1);
}

.methodology-randomized-models-icon svg {
  width: 31px;
  height: 31px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.methodology-randomized-models-head h4 {
  margin: 3px 0 8px;
  color: var(--theme-heading);
  font-family: var(--font-display);
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.12;
}

.methodology-randomized-models-head p:last-child,
.methodology-randomized-model-grid p,
.methodology-randomized-boundaries p,
.methodology-randomized-models-footnote {
  color: #445568;
  font-size: 14px;
  font-weight: 580;
  line-height: 1.58;
}

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

.methodology-randomized-model-grid article {
  padding: 20px 21px;
  border: 1px solid rgba(54, 45, 36, 0.12);
  border-top: 4px solid #70839a;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
}

.methodology-randomized-model-grid article.is-asset-aware {
  border-top-color: #7049c8;
  background: linear-gradient(180deg, rgba(247, 242, 255, 0.94), rgba(255, 255, 255, 0.9));
}

.methodology-model-label {
  display: block;
  margin-bottom: 10px;
  color: var(--theme-heading);
  font-size: 15px;
  font-weight: 850;
}

.methodology-randomized-model-grid p + p {
  margin-top: 10px;
}

.methodology-randomized-boundaries {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(122, 84, 212, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.methodology-randomized-boundaries > div {
  padding: 17px 20px;
}

.methodology-randomized-boundaries > div + div {
  border-left: 1px solid rgba(122, 84, 212, 0.16);
}

.methodology-randomized-boundaries strong {
  display: block;
  margin-bottom: 5px;
  color: #6440b8;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.methodology-randomized-models-footnote {
  margin: 0;
  padding: 17px 20px 0;
  border-top: 1px solid rgba(122, 84, 212, 0.16);
}

.methodology-resilience-section {
  position: relative;
  overflow: hidden;
  padding: 32px 34px 34px;
  border-color: color-mix(in srgb, var(--theme-accent) 24%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 96% 0%, color-mix(in srgb, var(--theme-accent) 12%, transparent), transparent 24rem),
    linear-gradient(180deg, color-mix(in srgb, var(--theme-soft) 24%, #fff), rgba(255, 255, 255, 0.98)),
    var(--surface);
}

.methodology-resilience-section > * {
  position: relative;
  z-index: 1;
}

.methodology-resilience-section .methodology-section-head {
  grid-template-columns: 94px minmax(0, 1fr);
  gap: 26px;
  align-items: start;
  margin-bottom: 28px;
}

.methodology-resilience-section .methodology-section-head > div {
  padding-left: 26px;
  border-left: 2px solid color-mix(in srgb, var(--theme-accent) 55%, transparent);
}

.methodology-resilience-section .methodology-eyebrow {
  color: var(--theme-accent-strong);
}

.methodology-resilience-section h3 {
  max-width: 1120px;
  color: var(--theme-heading);
  font-size: clamp(28px, 2.8vw, 42px);
  line-height: 1.08;
}

.methodology-resilience-section .methodology-section-head p:last-child {
  max-width: 1080px;
  color: #35475a;
  font-size: clamp(14px, 1.12vw, 17px);
  font-weight: 580;
  line-height: 1.58;
}

.methodology-resilience-section-icon {
  width: 76px;
  height: 76px;
  color: var(--theme-accent-strong);
  border-color: color-mix(in srgb, var(--theme-accent) 28%, transparent);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), color-mix(in srgb, var(--theme-soft) 72%, #fff));
  box-shadow:
    inset 0 0 0 12px color-mix(in srgb, var(--theme-accent) 9%, transparent),
    0 16px 34px color-mix(in srgb, var(--theme-accent) 12%, transparent);
}

.methodology-resilience-section-icon svg {
  width: 36px;
  height: 36px;
}

.methodology-resilience-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.methodology-resilience-steps article {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 13px;
  align-content: start;
  padding: 20px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, rgba(54, 45, 36, 0.11));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 12px 24px color-mix(in srgb, var(--theme-accent) 6%, transparent);
}

.methodology-resilience-steps article > span {
  display: inline-grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, transparent);
  border-radius: 999px;
  color: var(--theme-accent-strong);
  background: color-mix(in srgb, var(--theme-soft) 68%, #fff);
  font-size: 14px;
  font-weight: 900;
}

.methodology-resilience-steps h4,
.methodology-resilience-rule-grid h4,
.methodology-resilience-transparency h4 {
  margin: 0 0 8px;
  color: var(--theme-heading);
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 850;
  line-height: 1.18;
}

.methodology-resilience-steps p,
.methodology-resilience-rule-grid li,
.methodology-resilience-transparency p {
  margin: 0;
  color: #435465;
  font-size: 14px;
  font-weight: 560;
  line-height: 1.58;
}

.methodology-resilience-rule-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.methodology-resilience-rule-grid article {
  padding: 22px 24px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, rgba(54, 45, 36, 0.11));
  border-radius: 8px;
  background: color-mix(in srgb, var(--theme-soft) 24%, rgba(255, 255, 255, 0.94));
}

.methodology-resilience-rule-grid article.is-retired {
  background: color-mix(in srgb, var(--theme-soft) 38%, rgba(255, 255, 255, 0.94));
}

.methodology-resilience-rule-grid ul {
  display: grid;
  gap: 10px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.methodology-resilience-rule-grid li {
  position: relative;
  padding-left: 20px;
}

.methodology-resilience-rule-grid li::before {
  content: "";
  position: absolute;
  top: 0.66em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--theme-accent);
}

.methodology-resilience-rule-grid li strong {
  color: var(--theme-heading);
}

.methodology-resilience-transparency {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 17px;
  margin-top: 18px;
  padding: 22px 24px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 22%, rgba(54, 45, 36, 0.11));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
}

.methodology-resilience-transparency-icon {
  display: inline-grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, transparent);
  border-radius: 999px;
  color: var(--theme-accent-strong);
  background: color-mix(in srgb, var(--theme-soft) 68%, #fff);
}

.methodology-resilience-transparency-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.methodology-resilience-transparency p + p {
  margin-top: 9px;
}

@media (max-width: 1180px) {
  .methodology-resilience-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .methodology-resilience-steps,
  .methodology-resilience-rule-grid {
    grid-template-columns: 1fr;
  }

  .methodology-resilience-transparency {
    grid-template-columns: 1fr;
  }
}

.methodology-rules-section {
  position: relative;
  overflow: hidden;
  padding: 32px 34px 34px;
  border-color: rgba(204, 143, 24, 0.22);
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 96% 0%, rgba(230, 171, 58, 0.13), transparent 24rem),
    radial-gradient(circle at 8% 8%, rgba(230, 171, 58, 0.08), transparent 18rem),
    linear-gradient(180deg, rgba(255, 253, 248, 0.99), rgba(255, 255, 255, 0.97)),
    var(--surface);
}

.methodology-rules-section::after {
  content: "";
  position: absolute;
  top: -18px;
  right: -10px;
  width: min(32%, 420px);
  height: 250px;
  opacity: 0.32;
  pointer-events: none;
  background:
    repeating-radial-gradient(ellipse at 100% 0%, rgba(217, 159, 46, 0.18) 0 1px, transparent 1px 10px);
}

.methodology-rules-section > * {
  position: relative;
  z-index: 1;
}

.methodology-rules-section .methodology-section-head {
  grid-template-columns: 94px minmax(0, 1fr);
  gap: 26px;
  align-items: start;
  margin-bottom: 30px;
}

.methodology-rules-section .methodology-section-head > div {
  padding-left: 26px;
  border-left: 2px solid rgba(204, 143, 24, 0.56);
}

.methodology-rules-section .methodology-eyebrow {
  color: #a76b00;
}

.methodology-rules-section h3 {
  max-width: 1360px;
  color: var(--theme-heading);
  font-size: clamp(28px, 2.8vw, 42px);
  line-height: 1.08;
}

.methodology-rules-section .methodology-section-head p:last-child {
  max-width: 1050px;
  color: #35475a;
  font-size: clamp(14px, 1.12vw, 17px);
  font-weight: 580;
  line-height: 1.58;
}

.methodology-rules-section-icon {
  width: 76px;
  height: 76px;
  color: #bd7a00;
  border: 2px solid rgba(220, 159, 38, 0.28);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(255, 246, 226, 0.96));
  box-shadow:
    inset 0 0 0 12px rgba(220, 159, 38, 0.1),
    0 16px 34px rgba(220, 159, 38, 0.12);
}

.methodology-rules-section-icon svg {
  width: 36px;
  height: 36px;
}

.methodology-rules-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.methodology-rules-grid .methodology-rules-card {
  --rules-accent: #bd7a00;
  --rules-soft: rgba(255, 248, 232, 0.96);
  display: grid;
  gap: 15px;
  padding: 22px 24px;
  border: 1px solid color-mix(in srgb, var(--rules-accent) 17%, rgba(54, 45, 36, 0.12));
  border-radius: 8px;
  background:
    radial-gradient(circle at 7% 0%, color-mix(in srgb, var(--rules-accent) 8%, transparent), transparent 14rem),
    linear-gradient(180deg, color-mix(in srgb, var(--rules-soft) 64%, #fff), rgba(255, 255, 255, 0.92));
  box-shadow:
    0 14px 30px color-mix(in srgb, var(--rules-accent) 7%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.methodology-rules-grid .methodology-rules-card.is-social {
  --rules-accent: #4f8a4b;
  --rules-soft: rgba(240, 250, 238, 0.96);
}

.methodology-rules-grid .methodology-rules-card.is-roth {
  --rules-accent: #2675b5;
  --rules-soft: rgba(236, 247, 255, 0.96);
}

.methodology-rules-grid .methodology-rules-card.is-retired {
  --rules-accent: #7251a4;
  --rules-soft: rgba(247, 241, 255, 0.96);
}

.methodology-rules-card-main {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.methodology-rules-card-icon,
.methodology-rules-note > span:first-child {
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: var(--rules-accent);
  border: 1.5px solid color-mix(in srgb, var(--rules-accent) 22%, transparent);
  background: rgba(255, 255, 255, 0.75);
  box-shadow: 0 10px 20px color-mix(in srgb, var(--rules-accent) 9%, transparent);
}

.methodology-rules-card-icon {
  width: 56px;
  height: 56px;
}

.methodology-rules-card-icon svg {
  width: 31px;
  height: 31px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.methodology-rules-grid .methodology-rules-card h4 {
  margin: 4px 0 8px;
  color: var(--theme-heading);
  font-family: var(--font-display);
  font-size: 19px;
  font-weight: 850;
  line-height: 1.14;
}

.methodology-rules-grid .methodology-rules-card p {
  margin: 0;
  color: #344758;
  font-size: 14px;
  font-weight: 580;
  line-height: 1.58;
}

.methodology-rules-note {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding-top: 15px;
  border-top: 1px solid color-mix(in srgb, var(--rules-accent) 15%, rgba(54, 45, 36, 0.11));
}

.methodology-rules-note > span:first-child {
  width: 34px;
  height: 34px;
}

.methodology-rules-note > span:first-child svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.methodology-rules-note strong {
  color: var(--rules-accent);
  font-weight: 850;
}

.methodology-rules-note-copy {
  min-width: 0;
}

.methodology-tax-assumptions {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 16px;
  margin-top: 22px;
  padding: 20px;
  border: 1px solid rgba(189, 122, 0, 0.18);
  border-radius: 8px;
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 250, 238, 0.86));
}

.methodology-tax-assumptions-head {
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.6fr);
  gap: 18px;
  align-items: start;
}

.methodology-tax-assumptions-head h4 {
  margin: 0;
  color: var(--theme-heading);
  font-family: var(--font-display);
  font-size: 21px;
  font-weight: 850;
  line-height: 1.16;
}

.methodology-tax-assumptions-head p:last-child {
  margin: 0;
  color: #405266;
  font-size: 14px;
  font-weight: 580;
  line-height: 1.55;
}

.methodology-tax-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(189, 122, 0, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
}

.methodology-tax-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.methodology-tax-table th,
.methodology-tax-table td {
  padding: 14px 16px;
  border-bottom: 1px solid rgba(189, 122, 0, 0.12);
  color: #344758;
  font-size: 13px;
  font-weight: 580;
  line-height: 1.46;
  text-align: left;
  vertical-align: top;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

.methodology-tax-table th:first-child,
.methodology-tax-table td:first-child {
  width: 28%;
}

.methodology-tax-table th:nth-child(2),
.methodology-tax-table td:nth-child(2),
.methodology-tax-table th:nth-child(3),
.methodology-tax-table td:nth-child(3) {
  width: 36%;
}

.methodology-tax-table thead th {
  color: #76500a;
  background: rgba(255, 246, 226, 0.88);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.methodology-tax-table tbody th {
  color: var(--theme-heading);
  font-weight: 850;
}

.methodology-tax-table tr:last-child th,
.methodology-tax-table tr:last-child td {
  border-bottom: 0;
}

.methodology-validation-section {
  position: relative;
  overflow: hidden;
  padding: 32px 34px 34px;
  border-color: rgba(31, 145, 107, 0.2);
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 96% 0%, rgba(54, 152, 185, 0.11), transparent 24rem),
    radial-gradient(circle at 8% 8%, rgba(31, 145, 107, 0.08), transparent 18rem),
    linear-gradient(180deg, rgba(248, 255, 252, 0.99), rgba(255, 255, 255, 0.97)),
    var(--surface);
}

.methodology-validation-section::after {
  content: "";
  position: absolute;
  top: -18px;
  right: -10px;
  width: min(32%, 420px);
  height: 250px;
  opacity: 0.26;
  pointer-events: none;
  background:
    repeating-radial-gradient(ellipse at 100% 0%, rgba(31, 145, 107, 0.18) 0 1px, transparent 1px 10px);
}

.methodology-validation-section > * {
  position: relative;
  z-index: 1;
}

.methodology-validation-section .methodology-section-head {
  grid-template-columns: 94px minmax(0, 1fr);
  gap: 26px;
  align-items: start;
  margin-bottom: 30px;
}

.methodology-validation-section .methodology-section-head > div {
  padding-left: 26px;
  border-left: 2px solid rgba(31, 145, 107, 0.42);
}

.methodology-validation-section .methodology-eyebrow {
  color: #0f7f61;
}

.methodology-validation-section h3 {
  max-width: 1120px;
  color: var(--theme-heading);
  font-size: clamp(28px, 2.8vw, 42px);
  line-height: 1.08;
}

.methodology-validation-section .methodology-section-head p:last-child {
  max-width: 1050px;
  color: #35475a;
  font-size: clamp(14px, 1.12vw, 17px);
  font-weight: 580;
  line-height: 1.58;
}

.methodology-validation-section-icon {
  width: 76px;
  height: 76px;
  color: #0f7f61;
  border: 2px solid rgba(31, 145, 107, 0.27);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(233, 250, 244, 0.96));
  box-shadow:
    inset 0 0 0 12px rgba(31, 145, 107, 0.08),
    0 16px 34px rgba(31, 145, 107, 0.11);
}

.methodology-validation-section-icon svg {
  width: 36px;
  height: 36px;
}

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

.methodology-validation-grid .methodology-validation-card {
  --validation-accent: #0f7f61;
  --validation-soft: rgba(236, 251, 245, 0.96);
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 15px;
  padding: 22px 24px;
  border: 1px solid color-mix(in srgb, var(--validation-accent) 17%, rgba(54, 45, 36, 0.12));
  border-radius: 8px;
  background:
    radial-gradient(circle at 7% 0%, color-mix(in srgb, var(--validation-accent) 8%, transparent), transparent 14rem),
    linear-gradient(180deg, color-mix(in srgb, var(--validation-soft) 64%, #fff), rgba(255, 255, 255, 0.92));
  box-shadow:
    0 14px 30px color-mix(in srgb, var(--validation-accent) 7%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.methodology-validation-grid .methodology-validation-card.is-benchmark {
  --validation-accent: #2367bc;
  --validation-soft: rgba(235, 244, 255, 0.96);
}

.methodology-validation-grid .methodology-validation-card.is-workflow {
  --validation-accent: #6f56c6;
  --validation-soft: rgba(246, 241, 255, 0.96);
}

.methodology-validation-grid .methodology-validation-card.is-regression {
  --validation-accent: #0f8a91;
  --validation-soft: rgba(231, 249, 250, 0.96);
}

.methodology-validation-card-main {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.methodology-validation-card-icon,
.methodology-validation-note > span:first-child {
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: var(--validation-accent);
  border: 1.5px solid color-mix(in srgb, var(--validation-accent) 22%, transparent);
  background: rgba(255, 255, 255, 0.75);
  box-shadow: 0 10px 20px color-mix(in srgb, var(--validation-accent) 9%, transparent);
}

.methodology-validation-card-icon {
  width: 56px;
  height: 56px;
  margin: 0;
  padding: 0;
  flex: 0 0 56px;
}

.methodology-validation-card-icon svg {
  position: static;
  width: 31px;
  height: 31px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.methodology-validation-grid .methodology-validation-card h4 {
  margin: 4px 0 8px;
  color: var(--theme-heading);
  font-family: var(--font-display);
  font-size: 19px;
  font-weight: 850;
  line-height: 1.14;
}

.methodology-validation-grid .methodology-validation-card p {
  margin: 0;
  color: #344758;
  font-size: 14px;
  font-weight: 580;
  line-height: 1.58;
}

.methodology-validation-note {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: 0;
  padding-top: 15px;
  border-top: 1px solid color-mix(in srgb, var(--validation-accent) 15%, rgba(54, 45, 36, 0.11));
  color: #516274;
  font-size: 14px;
  font-weight: 580;
  line-height: 1.58;
}

.methodology-validation-note > span:first-child {
  width: 34px;
  height: 34px;
}

.methodology-validation-note > span:first-child svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.methodology-validation-note strong {
  color: var(--validation-accent);
  font-weight: 850;
}

.methodology-validation-note-copy {
  min-width: 0;
  color: #516274;
  font-size: 14px;
  font-weight: 580;
  line-height: 1.58;
}

.methodology-core-card .methodology-core-card-icon {
  display: inline-grid;
  place-items: center;
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  border: 1.5px solid color-mix(in srgb, var(--core-card-accent) 22%, transparent);
  border-radius: 999px;
  color: var(--core-card-accent);
  background: rgba(255, 255, 255, 0.75);
  box-shadow: 0 10px 20px color-mix(in srgb, var(--core-card-accent) 9%, transparent);
  margin: 0;
  padding: 0;
}

.methodology-core-card .methodology-core-card-icon svg {
  position: static;
  width: 31px;
  height: 31px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.methodology-list-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 18px;
  align-items: start;
}

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

.methodology-list-grid li {
  position: relative;
  padding-left: 22px;
}

.methodology-list-grid li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--theme-accent);
}

.methodology-list-grid aside p {
  margin: 0;
}

.methodology-interpretation-section {
  position: relative;
  overflow: hidden;
  padding: 32px 34px 34px;
  border-color: color-mix(in srgb, var(--red) 16%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 96% 0%, color-mix(in srgb, var(--red) 8%, transparent), transparent 24rem),
    radial-gradient(circle at 8% 8%, color-mix(in srgb, var(--theme-accent) 8%, transparent), transparent 18rem),
    linear-gradient(180deg, rgba(255, 251, 250, 0.99), rgba(255, 255, 255, 0.97)),
    var(--surface);
}

.methodology-interpretation-section::after {
  content: "";
  position: absolute;
  top: -18px;
  right: -10px;
  width: min(30%, 380px);
  height: 230px;
  opacity: 0.22;
  pointer-events: none;
  background:
    repeating-radial-gradient(ellipse at 100% 0%, color-mix(in srgb, var(--red) 16%, transparent) 0 1px, transparent 1px 10px);
}

.methodology-interpretation-section > * {
  position: relative;
  z-index: 1;
}

.methodology-interpretation-section .methodology-section-head {
  grid-template-columns: 94px minmax(0, 1fr);
  gap: 26px;
  align-items: start;
  margin-bottom: 28px;
}

.methodology-interpretation-section .methodology-section-head > div {
  padding-left: 26px;
  border-left: 2px solid color-mix(in srgb, var(--red) 34%, rgba(54, 45, 36, 0.14));
}

.methodology-interpretation-section .methodology-eyebrow {
  color: color-mix(in srgb, var(--red) 78%, var(--theme-accent-strong));
}

.methodology-interpretation-section .methodology-section-icon {
  width: 76px;
  height: 76px;
  border-width: 2px;
  box-shadow:
    inset 0 0 0 12px color-mix(in srgb, var(--red) 7%, transparent),
    0 16px 34px color-mix(in srgb, var(--red) 9%, transparent);
}

.methodology-interpretation-section .methodology-section-icon svg {
  width: 36px;
  height: 36px;
}

.methodology-interpretation-section h3 {
  max-width: 980px;
  color: var(--theme-heading);
  font-size: clamp(28px, 2.8vw, 42px);
  line-height: 1.08;
}

.methodology-interpretation-section .methodology-section-head p:last-child {
  max-width: 1050px;
  color: #35475a;
  font-size: clamp(14px, 1.12vw, 17px);
  font-weight: 580;
  line-height: 1.58;
}

.methodology-interpretation-section .methodology-list-grid {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 430px);
  gap: 20px;
  align-items: stretch;
}

.methodology-interpretation-section .methodology-list-grid ul {
  gap: 12px;
  padding: 18px;
  border: 1px solid rgba(54, 45, 36, 0.11);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(255, 250, 250, 0.86));
  box-shadow:
    0 14px 30px rgba(44, 37, 28, 0.045),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.methodology-interpretation-section .methodology-list-grid li {
  min-height: 42px;
  padding: 12px 14px 12px 46px;
  border: 1px solid color-mix(in srgb, var(--red) 10%, rgba(54, 45, 36, 0.09));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  color: #344758;
  font-size: 14px;
  font-weight: 580;
  line-height: 1.45;
}

.methodology-interpretation-section .methodology-list-grid li::before {
  content: "!";
  top: 50%;
  left: 14px;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  transform: translateY(-50%);
  color: color-mix(in srgb, var(--red) 72%, #8a4a00);
  background: color-mix(in srgb, var(--red) 8%, #fff);
  border: 1.5px solid color-mix(in srgb, var(--red) 26%, transparent);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
}

.methodology-results-card {
  align-self: stretch;
  padding: 26px 28px;
  border: 2px solid color-mix(in srgb, var(--theme-accent) 18%, rgba(54, 45, 36, 0.12));
  border-radius: 8px;
  background:
    radial-gradient(circle at 8% 8%, color-mix(in srgb, var(--theme-accent) 8%, transparent), transparent 14rem),
    linear-gradient(180deg, color-mix(in srgb, var(--theme-soft) 62%, #fff), rgba(255, 255, 255, 0.9));
  box-shadow: 0 16px 34px color-mix(in srgb, var(--theme-accent) 11%, transparent);
}

.methodology-results-card .methodology-advice-head {
  align-items: center;
  margin-bottom: 16px;
}

.methodology-results-card h4 {
  margin: 0;
  color: var(--theme-heading);
  font-family: var(--font-display);
  font-size: clamp(16px, 1.22vw, 19px);
  font-weight: 850;
  line-height: 1.16;
}

.methodology-results-card p {
  color: #334657;
  font-size: clamp(13px, 1vw, 15px);
  font-weight: 660;
  line-height: 1.58;
}

.methodology-results-card p + p {
  margin-top: 16px;
}

.settings-home,
.settings-detail-shell {
  background:
    radial-gradient(circle at 4% 0%, rgba(148, 88, 41, 0.055), transparent 30%),
    radial-gradient(circle at 92% 12%, rgba(43, 111, 186, 0.06), transparent 34%),
    linear-gradient(180deg, rgba(255, 253, 248, 0.98), rgba(255, 255, 255, 0.95)),
    var(--surface);
}

.settings-home {
  position: relative;
  overflow: hidden;
  padding: 30px 32px 32px;
  border-color: color-mix(in srgb, var(--theme-accent) 22%, rgba(54, 45, 36, 0.13));
  background:
    linear-gradient(90deg,
      var(--theme-accent-strong),
      var(--theme-accent) 58%,
      color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 5px no-repeat,
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--theme-accent) 12%, transparent), transparent 25rem),
    radial-gradient(circle at 93% 4%, color-mix(in srgb, var(--theme-accent) 10%, transparent), transparent 22rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(255, 252, 246, 0.965) 52%, rgba(255, 255, 255, 0.955)),
    var(--surface);
  box-shadow:
    0 24px 58px rgba(44, 37, 28, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.settings-home::before {
  content: "";
  position: absolute;
  inset: 5px 0 auto auto;
  width: min(48%, 620px);
  height: 124px;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12px 12px, color-mix(in srgb, var(--theme-accent) 17%, transparent) 0 2px, transparent 2.8px) 0 0 / 34px 34px,
    linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.12) 42%, rgba(255, 255, 255, 0.72) 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 28%, #000 100%);
  opacity: 0.68;
}

.settings-home::after {
  content: "";
  position: absolute;
  inset: auto 32px 18px;
  height: 130px;
  z-index: 0;
  pointer-events: none;
  border-radius: 999px;
  background: radial-gradient(ellipse at center, rgba(43, 111, 186, 0.075), transparent 68%);
  filter: blur(10px);
}

.settings-home > * {
  position: relative;
  z-index: 1;
}

.settings-panel-art {
  position: absolute;
  top: 8px;
  right: 52px;
  width: clamp(250px, 24vw, 340px);
  height: 100px;
  z-index: 0;
  pointer-events: none;
  color: var(--theme-accent-strong);
}

.settings-panel-art-dotfield {
  position: absolute;
  inset: -12px -18px 0 0;
  border-radius: 18px;
  background:
    radial-gradient(circle, color-mix(in srgb, var(--theme-accent) 18%, transparent) 0 1.8px, transparent 2.5px) 0 0 / 24px 24px;
  opacity: 0.4;
  mask-image: linear-gradient(90deg, transparent 0%, #000 26%, #000 100%);
}

.settings-panel-art-card {
  position: absolute;
  display: block;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 10%, rgba(101, 85, 64, 0.12));
  border-radius: 8px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.78));
  box-shadow:
    0 12px 28px rgba(54, 45, 36, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(3px);
}

.settings-panel-art-card-gear {
  top: 3px;
  right: 42px;
  width: 132px;
  height: 52px;
}

.settings-panel-art-card-gear svg {
  position: absolute;
  top: 11px;
  left: 14px;
  width: 30px;
  height: 30px;
  fill: color-mix(in srgb, var(--theme-accent) 31%, #eef2ff);
  stroke: color-mix(in srgb, var(--theme-accent-strong) 58%, #fff);
  stroke-width: 2.6;
  filter: drop-shadow(0 7px 10px color-mix(in srgb, var(--theme-accent) 15%, transparent));
}

.settings-panel-art-card-gear i {
  position: absolute;
  left: 56px;
  height: 6px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-accent) 13%, #e8edf8);
}

.settings-panel-art-card-gear i:nth-of-type(1) {
  top: 16px;
  width: 62px;
}

.settings-panel-art-card-gear i:nth-of-type(2) {
  top: 31px;
  width: 48px;
}

.settings-panel-art-card-sliders {
  top: 52px;
  right: 108px;
  width: 108px;
  height: 50px;
}

.settings-panel-art-card-sliders i {
  position: absolute;
  left: 16px;
  right: 16px;
  height: 5px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-accent) 13%, #e8edf8);
}

.settings-panel-art-card-sliders i::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-accent) 72%, #fff);
  box-shadow: 0 6px 14px color-mix(in srgb, var(--theme-accent) 24%, transparent);
  transform: translateY(-50%);
}

.settings-panel-art-card-sliders i:nth-child(1) {
  top: 12px;
}

.settings-panel-art-card-sliders i:nth-child(1)::after {
  left: 64%;
}

.settings-panel-art-card-sliders i:nth-child(2) {
  top: 25px;
}

.settings-panel-art-card-sliders i:nth-child(2)::after {
  left: 24%;
}

.settings-panel-art-card-sliders i:nth-child(3) {
  top: 38px;
}

.settings-panel-art-card-sliders i:nth-child(3)::after {
  left: 72%;
}

.settings-panel-art-card-toggle {
  top: 46px;
  right: 0;
  width: 78px;
  height: 58px;
}

.settings-panel-art-card-toggle i {
  position: absolute;
  left: 13px;
  height: 5px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-accent) 13%, #e8edf8);
}

.settings-panel-art-card-toggle i:nth-child(1) {
  top: 31px;
  width: 39px;
}

.settings-panel-art-card-toggle i:nth-child(2) {
  top: 43px;
  width: 49px;
}

.settings-panel-art-card-toggle b {
  position: absolute;
  top: 12px;
  right: 11px;
  width: 30px;
  height: 15px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-accent) 76%, #fff);
  box-shadow: 0 8px 16px color-mix(in srgb, var(--theme-accent) 20%, transparent);
}

.settings-panel-art-card-toggle b::after {
  content: "";
  position: absolute;
  top: 3px;
  right: 3px;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
}

.settings-detail-shell {
  position: relative;
  overflow: hidden;
  padding: 24px 28px 28px;
  border-color: rgba(54, 45, 36, 0.1);
  box-shadow: 0 18px 42px rgba(44, 37, 28, 0.06);
}

.settings-detail-shell::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: min(56%, 760px);
  height: 310px;
  pointer-events: none;
  background:
    radial-gradient(circle at 12px 12px, color-mix(in srgb, var(--theme-accent) 12%, transparent) 0 1.6px, transparent 2.5px) 0 0 / 26px 26px,
    linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.3) 34%, rgba(255, 255, 255, 0.84) 100%);
  mask-image:
    radial-gradient(ellipse at 72% 58%, transparent 0 24%, rgba(0, 0, 0, 0.28) 36%, #000 70%),
    linear-gradient(90deg, transparent 0%, #000 22%, #000 100%);
  mask-composite: intersect;
  opacity: 0;
}

.settings-detail-shell::after {
  display: none;
}

.settings-detail-shell > * {
  position: relative;
  z-index: 1;
}

.settings-detail-shell.is-profile-detail {
  padding: 30px 32px 32px;
  border-color: color-mix(in srgb, var(--theme-accent) 18%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 5% 0%, color-mix(in srgb, var(--theme-accent) 7%, transparent), transparent 24rem),
    radial-gradient(circle at 95% 6%, color-mix(in srgb, var(--theme-accent) 8%, transparent), transparent 20rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.988), rgba(255, 252, 248, 0.966) 55%, rgba(255, 255, 255, 0.958)),
    var(--surface);
  box-shadow:
    0 24px 58px rgba(44, 37, 28, 0.085),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.settings-detail-shell.is-profile-detail::before {
  opacity: 1;
}

.settings-detail-shell.is-profile-detail .settings-detail-head {
  min-height: 92px;
  align-items: flex-start;
  margin-bottom: 20px;
  padding-right: 220px;
}

.settings-detail-shell.is-profile-detail .settings-detail-actions {
  position: absolute;
  top: 32px;
  right: 32px;
  z-index: 4;
}

.settings-detail-shell.is-profile-detail .settings-detail-actions .button {
  min-width: 92px;
}

.settings-detail-shell.is-profile-detail #settings-done-button {
  min-height: 36px;
  border: 1px solid color-mix(in srgb, var(--theme-accent-strong) 72%, rgba(54, 45, 36, 0.12));
  border-radius: 11px;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 86%, #fff),
      var(--theme-accent-strong));
  color: #fff;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 950;
  box-shadow:
    0 14px 28px color-mix(in srgb, var(--theme-accent) 24%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.settings-detail-shell.is-profile-detail #settings-done-button:hover {
  border-color: color-mix(in srgb, var(--theme-accent-strong) 82%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 92%, #fff),
      color-mix(in srgb, var(--theme-accent-strong) 92%, #112));
  color: #fff;
  box-shadow:
    0 17px 32px color-mix(in srgb, var(--theme-accent) 30%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  transform: translateY(-1px);
}

.settings-detail-shell.is-profile-detail #settings-done-button:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--theme-accent) 18%, transparent),
    0 14px 28px color-mix(in srgb, var(--theme-accent) 24%, transparent);
}

.settings-detail-shell.is-profile-detail .settings-save-status {
  display: inline;
  max-width: 280px;
  color: #5d6874;
  font-size: 13px;
  font-weight: 800;
}

.settings-detail-shell.is-profile-detail .settings-detail-head h2 {
  margin-bottom: 8px;
  font-size: 36px;
  letter-spacing: 0;
}

.settings-detail-shell.is-profile-detail .settings-detail-head p {
  max-width: 720px;
  color: #465766;
  font-size: 14.5px;
  font-weight: 650;
}

.settings-detail-art {
  position: absolute;
  top: 82px;
  right: 48px;
  width: 348px;
  height: 196px;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  color: var(--theme-accent-strong);
}

.settings-detail-shell.is-profile-detail .settings-detail-art {
  top: 116px;
  right: 44px;
  width: 360px;
  height: 230px;
  z-index: 2;
  transform: scale(0.94);
  transform-origin: top right;
  opacity: 0.62;
}

.settings-detail-art-card {
  position: absolute;
  display: block;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 10%, rgba(54, 45, 36, 0.1));
  border-radius: 9px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.82));
  box-shadow:
    0 16px 38px color-mix(in srgb, var(--theme-accent) 12%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(6px);
}

.settings-detail-art-card-gear {
  top: 0;
  right: 58px;
  width: 158px;
  height: 66px;
}

.settings-detail-art-card-gear svg {
  position: absolute;
  top: 14px;
  left: 18px;
  width: 38px;
  height: 38px;
  fill: color-mix(in srgb, var(--theme-accent) 28%, #eef2ff);
  stroke: color-mix(in srgb, var(--theme-accent-strong) 58%, #fff);
  stroke-width: 2.6;
}

.settings-detail-art-card-gear i,
.settings-detail-art-card-list i,
.settings-detail-art-card-toggle i {
  position: absolute;
  height: 6px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-accent) 13%, #e8edf8);
}

.settings-detail-art-card-gear i {
  left: 72px;
}

.settings-detail-art-card-gear i:nth-of-type(1) {
  top: 20px;
  width: 76px;
}

.settings-detail-art-card-gear i:nth-of-type(2) {
  top: 40px;
  width: 58px;
}

.settings-detail-art-card-sliders {
  top: 92px;
  right: 184px;
  width: 128px;
  height: 64px;
}

.settings-detail-art-card-sliders i {
  position: absolute;
  left: 20px;
  right: 20px;
  height: 5px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-accent) 13%, #e8edf8);
}

.settings-detail-art-card-sliders i::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 11px;
  height: 11px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-accent) 72%, #fff);
  transform: translateY(-50%);
}

.settings-detail-art-card-sliders i:nth-child(1) {
  top: 22px;
}

.settings-detail-art-card-sliders i:nth-child(1)::after {
  left: 25%;
}

.settings-detail-art-card-sliders i:nth-child(2) {
  top: 43px;
}

.settings-detail-art-card-sliders i:nth-child(2)::after {
  left: 64%;
}

.settings-detail-art-card-list {
  top: 84px;
  right: 78px;
  width: 128px;
  height: 90px;
}

.settings-detail-art-card-list i {
  left: 24px;
  width: 82px;
}

.settings-detail-art-card-list i:nth-child(1) {
  top: 24px;
}

.settings-detail-art-card-list i:nth-child(2) {
  top: 45px;
}

.settings-detail-art-card-list i:nth-child(3) {
  top: 66px;
  width: 68px;
}

.settings-detail-art-card-toggle {
  top: 98px;
  right: 0;
  width: 82px;
  height: 70px;
}

.settings-detail-art-card-toggle i {
  left: 18px;
  bottom: 18px;
  width: 46px;
}

.settings-detail-art-card-toggle b {
  position: absolute;
  top: 17px;
  right: 15px;
  width: 34px;
  height: 17px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-accent) 76%, #fff);
}

.settings-detail-art-card-toggle b::after {
  content: "";
  position: absolute;
  top: 3px;
  right: 3px;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
}

.settings-page-head,
.settings-detail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}

.settings-page-head .eyebrow {
  display: none;
}

.settings-detail-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.settings-save-status {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}

.settings-save-status.is-saving {
  color: var(--blue-dark);
}

.settings-save-status.is-saved {
  color: var(--success);
}

.settings-save-status.is-error {
  color: var(--red);
}

.settings-page-head h2,
.settings-detail-head h2 {
  margin-bottom: 8px;
  color: var(--text);
  font-family: var(--font-display);
  font-size: 34px;
  line-height: 1.15;
}

.settings-page-head p,
.settings-detail-head p,
.settings-section-intro p {
  max-width: 820px;
  margin-bottom: 0;
  color: #42535f;
  font-size: 14px;
  line-height: 1.45;
}

.settings-home-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  gap: 18px;
  align-items: start;
}

.settings-domain-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  gap: 10px;
}

.settings-domain-card {
  position: relative;
  min-height: 126px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 12px 16px;
  align-items: start;
  padding: 20px 20px 18px;
  overflow: hidden;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.985), rgba(255, 253, 249, 0.92)),
    rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(54, 45, 36, 0.13);
  border-radius: 8px;
  box-shadow:
    0 12px 26px rgba(44, 37, 28, 0.052),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  cursor: pointer;
  transition: transform 170ms ease, box-shadow 170ms ease, border-color 170ms ease, background 170ms ease;
}

.settings-domain-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--theme-accent-strong), color-mix(in srgb, var(--theme-accent) 48%, #fff), transparent 78%);
  opacity: 0;
  transition: opacity 170ms ease;
}

.settings-domain-card::after {
  content: "›";
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  align-self: center;
  border-radius: 999px;
  color: #6b7b88;
  font-size: 25px;
  font-weight: 650;
  line-height: 1;
}

.settings-domain-card:hover {
  transform: translateY(-2px);
  border-color: rgba(43, 111, 186, 0.28);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.99), rgba(247, 251, 255, 0.94)),
    rgba(255, 255, 255, 0.94);
  box-shadow:
    0 18px 38px rgba(44, 37, 28, 0.085),
    inset 0 1px 0 rgba(255, 255, 255, 0.94);
}

.settings-domain-card:hover::before {
  opacity: 1;
}

.settings-domain-card:focus-visible {
  outline: none;
  border-color: rgba(43, 111, 186, 0.46);
  box-shadow:
    0 0 0 3px rgba(43, 111, 186, 0.12),
    0 16px 34px rgba(44, 37, 28, 0.07);
}

.settings-domain-icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: var(--blue-dark);
  background: var(--blue-soft);
  box-shadow:
    inset 0 0 0 1px rgba(43, 111, 186, 0.08),
    0 8px 16px rgba(43, 111, 186, 0.05);
}

.settings-domain-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.settings-domain-icon.money,
.settings-domain-icon.accounts,
.settings-domain-icon.taxes {
  color: #8a5b00;
  background: var(--gold-soft);
}

.settings-domain-icon.scenarios,
.settings-domain-icon.tools {
  color: #4b3d97;
  background: #f2efff;
}

.settings-domain-icon.income,
.settings-domain-icon.health,
.settings-domain-icon.withdrawals {
  color: var(--success);
  background: var(--success-soft);
}

.settings-domain-body {
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
}

.settings-module-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.settings-domain-card h3 {
  margin: 0;
  color: var(--text);
  font-size: 17px;
  letter-spacing: 0;
}

.settings-module-title-row > span {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(237, 245, 255, 0.72);
  color: var(--blue-dark);
  font-size: 10.5px;
  font-weight: 850;
}

.settings-domain-card p {
  margin: 0;
  color: #56626b;
  font-size: 12.5px;
  font-weight: 650;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.settings-domain-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

.settings-domain-meta > span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 25px;
  padding: 0 9px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 13%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.86), color-mix(in srgb, var(--theme-accent) 5%, rgba(255, 255, 255, 0.78)));
  color: color-mix(in srgb, var(--theme-accent-strong) 54%, #53616b);
  font-size: 11.5px;
  font-weight: 850;
  line-height: 1;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.settings-domain-meta > span span {
  display: inline;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  font: inherit;
}

.settings-card-actions {
  display: flex;
  gap: 8px;
  margin-top: 2px;
}

.settings-card-actions button {
  min-height: 30px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--blue-dark);
  padding: 0 10px;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.settings-domain-meta strong {
  color: var(--theme-accent-strong);
  font-weight: 900;
}

.settings-domain-card ul {
  display: none;
}

.settings-pinned-rail {
  display: grid;
  gap: 12px;
}

.settings-pin-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px;
  border: 1px solid rgba(54, 45, 36, 0.13);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(255, 253, 249, 0.9)),
    var(--surface);
  box-shadow:
    0 12px 28px rgba(44, 37, 28, 0.055),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.settings-pin-card.active-mode {
  position: relative;
  overflow: hidden;
  gap: 12px;
  border-color: color-mix(in srgb, var(--theme-accent) 34%, var(--subtle));
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--theme-accent) 20%, transparent), transparent 46%),
    linear-gradient(145deg, color-mix(in srgb, var(--theme-soft) 42%, #fff), rgba(255, 255, 255, 0.92) 58%, color-mix(in srgb, var(--theme-soft) 24%, #fff)),
    var(--surface);
  box-shadow:
    0 16px 34px color-mix(in srgb, var(--theme-accent) 12%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.settings-pin-card.active-mode::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-strong));
}

.settings-pin-card.active-mode > * {
  position: relative;
  z-index: 1;
}

.settings-pin-card.active-mode > span {
  color: var(--theme-accent-strong);
}

.settings-pin-card.active-mode strong {
  font-size: 22px;
}

.settings-mode-switch-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 42px;
  margin-top: 4px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 42%, var(--subtle));
  border-radius: 7px;
  background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-strong));
  color: #fff;
  padding: 0 14px;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  box-shadow:
    0 10px 20px color-mix(in srgb, var(--theme-accent) 22%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.24);
  cursor: pointer;
}

.settings-mode-switch-button:hover {
  background: linear-gradient(180deg, color-mix(in srgb, var(--theme-accent) 92%, #fff), color-mix(in srgb, var(--theme-accent-strong) 92%, #112));
  transform: translateY(-1px);
  box-shadow:
    0 13px 24px color-mix(in srgb, var(--theme-accent) 26%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.settings-mode-switch-button:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--theme-accent) 20%, transparent),
    0 13px 24px color-mix(in srgb, var(--theme-accent) 26%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.settings-pin-card span,
.settings-bottom-pins span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.settings-pin-card strong,
.settings-bottom-pins strong {
  color: var(--text);
  font-size: 19px;
  line-height: 1.15;
}

.settings-pin-card p,
.settings-bottom-pins p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.settings-glance-card {
  gap: 14px;
}

.settings-glance-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
}

.settings-glance-head span {
  color: var(--theme-accent-strong);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.04em;
}

.settings-glance-head p {
  margin-top: 4px;
}

.settings-glance-head .settings-inline-action {
  margin-top: 0;
  flex: 0 0 auto;
}

.settings-glance-list {
  display: grid;
  margin: 0;
  border-top: 1px solid rgba(54, 45, 36, 0.08);
}

.settings-glance-list button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 43px;
  border: 0;
  border-bottom: 1px solid rgba(54, 45, 36, 0.08);
  background: transparent;
  padding: 8px 0;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background 140ms ease, padding 140ms ease;
}

.settings-glance-list button:hover {
  background: rgba(43, 111, 186, 0.045);
  padding-left: 6px;
  padding-right: 6px;
}

.settings-glance-list button:last-child {
  border-bottom: 0;
}

.settings-glance-list dt {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 9px;
  color: var(--muted);
  font-size: 12.5px;
  font-weight: 750;
}

.settings-glance-list dt span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  border-radius: 8px;
  background: rgba(43, 111, 186, 0.1);
  color: var(--blue-dark);
}

.settings-glance-list dt span svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.settings-glance-icon.accounts,
.settings-glance-icon.taxes {
  color: #8a5b00;
  background: var(--gold-soft);
}

.settings-glance-icon.income,
.settings-glance-icon.health,
.settings-glance-icon.withdrawals {
  color: var(--success);
  background: var(--success-soft);
}

.settings-glance-icon.tools {
  color: #4b3d97;
  background: #f2efff;
}

.settings-glance-list dd {
  margin: 0;
  color: var(--text);
  font-size: 12.5px;
  font-weight: 900;
  text-align: right;
  white-space: nowrap;
}

.settings-pin-card a,
.settings-inline-action {
  margin-top: auto;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--blue-dark);
  font-weight: 850;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}

.settings-inline-action:hover {
  color: var(--blue);
}

.settings-bottom-pins {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 22px 0 22px;
  overflow: hidden;
  border: 2px solid rgba(20, 27, 35, 0.82);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(255, 252, 246, 0.92)),
    var(--surface);
  box-shadow:
    0 17px 38px rgba(20, 27, 35, 0.105),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.settings-bottom-pins article {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 88px;
  padding: 18px 24px;
  border-right: 2px solid rgba(20, 27, 35, 0.24);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.42));
}

.settings-bottom-pins article:last-child {
  border-right: 0;
}

.settings-bottom-pins strong {
  display: block;
  margin: 8px 0 0;
  font-size: 21px;
}

.settings-bottom-pins p {
  display: none;
}

.settings-pin-icon {
  display: inline-grid;
  width: 45px;
  height: 45px;
  place-items: center;
  border-radius: 13px;
  background: var(--blue-soft);
  color: var(--blue-dark);
  font-size: initial;
  font-weight: normal;
  letter-spacing: 0;
  text-transform: none;
}

.settings-pin-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.settings-pin-icon-contributions {
  background: var(--success-soft);
  color: var(--success);
}

.settings-pin-icon-target {
  background: var(--gold-soft);
  color: #b26812;
}

.settings-pin-icon-years {
  background: #edf5ff;
  color: #0a5fb4;
}

.settings-pro-tips-panel {
  display: grid;
  grid-template-columns: 126px minmax(0, 1fr);
  gap: 20px;
  align-items: stretch;
  margin-top: 18px;
  padding: 20px 24px;
  border: 2px solid rgba(20, 27, 35, 0.78);
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(255, 253, 246, 0.98), rgba(255, 253, 246, 0.86) 52%, rgba(245, 252, 249, 0.82)),
    var(--surface);
  box-shadow:
    0 17px 38px rgba(20, 27, 35, 0.095),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.settings-pro-tips-title {
  display: grid;
  gap: 10px;
  justify-items: center;
  align-content: center;
  min-width: 0;
  padding-right: 20px;
  border-right: 2px solid rgba(20, 27, 35, 0.22);
}

.settings-pro-tips-title > span {
  display: inline-grid;
  width: 68px;
  height: 68px;
  place-items: center;
  border-radius: 999px;
  background: rgba(255, 247, 223, 0.94);
  box-shadow:
    inset 0 0 0 1px rgba(214, 149, 35, 0.22),
    0 10px 20px rgba(143, 101, 22, 0.1);
}

.settings-pro-tips-title img {
  width: 43px;
  height: 43px;
  object-fit: contain;
}

.settings-pro-tips-title p {
  margin: 0;
  color: #8f6516;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-align: center;
}

.settings-pro-tip-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-width: 0;
}

.settings-pro-tip-grid article {
  min-width: 0;
  padding: 4px 20px;
  border-left: 2px solid rgba(20, 27, 35, 0.16);
}

.settings-pro-tip-grid article:first-child {
  border-left: 0;
}

.settings-pro-tip-grid strong {
  display: block;
  margin-bottom: 8px;
  color: #174d85;
  font-size: 14.5px;
  font-weight: 950;
  line-height: 1.22;
}

.settings-pro-tip-grid p {
  margin: 0;
  color: #53616b;
  font-size: 12.5px;
  font-weight: 650;
  line-height: 1.45;
}

.settings-detail-pro-tips-panel[hidden] {
  display: none;
}

.settings-detail-shell.is-spending-detail .settings-detail-pro-tips-panel,
.settings-detail-shell.is-income-detail .settings-detail-pro-tips-panel,
.settings-detail-shell.is-health-detail .settings-detail-pro-tips-panel,
.settings-detail-shell.is-tax-detail .settings-detail-pro-tips-panel,
.settings-detail-shell.is-accounts-detail .settings-detail-pro-tips-panel,
.settings-detail-shell.is-withdrawals-detail .settings-detail-pro-tips-panel,
.settings-detail-shell.is-planning-detail .settings-detail-pro-tips-panel,
.settings-detail-shell.is-scenarios-detail .settings-detail-pro-tips-panel {
  grid-template-columns: 126px minmax(0, 1fr);
  margin-top: 24px;
  border-color: color-mix(in srgb, var(--theme-accent-strong) 48%, rgba(20, 27, 35, 0.34));
  background:
    linear-gradient(90deg,
      rgba(255, 253, 246, 0.98),
      color-mix(in srgb, var(--theme-accent) 6%, rgba(255, 253, 246, 0.88)) 54%,
      color-mix(in srgb, var(--theme-accent) 8%, rgba(245, 252, 249, 0.84))),
    var(--surface);
  box-shadow:
    0 17px 38px rgba(20, 27, 35, 0.085),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.settings-detail-shell.is-spending-detail .settings-detail-pro-tips-panel .settings-pro-tip-grid,
.settings-detail-shell.is-income-detail .settings-detail-pro-tips-panel .settings-pro-tip-grid,
.settings-detail-shell.is-health-detail .settings-detail-pro-tips-panel .settings-pro-tip-grid,
.settings-detail-shell.is-tax-detail .settings-detail-pro-tips-panel .settings-pro-tip-grid,
.settings-detail-shell.is-accounts-detail .settings-detail-pro-tips-panel .settings-pro-tip-grid,
.settings-detail-shell.is-withdrawals-detail .settings-detail-pro-tips-panel .settings-pro-tip-grid,
.settings-detail-shell.is-planning-detail .settings-detail-pro-tips-panel .settings-pro-tip-grid,
.settings-detail-shell.is-scenarios-detail .settings-detail-pro-tips-panel .settings-pro-tip-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.settings-detail-shell .settings-detail-pro-tips-panel .settings-pro-tip-grid.has-four-tips {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.settings-detail-shell.is-spending-detail .settings-detail-pro-tips-panel .settings-pro-tips-title,
.settings-detail-shell.is-income-detail .settings-detail-pro-tips-panel .settings-pro-tips-title,
.settings-detail-shell.is-health-detail .settings-detail-pro-tips-panel .settings-pro-tips-title,
.settings-detail-shell.is-tax-detail .settings-detail-pro-tips-panel .settings-pro-tips-title,
.settings-detail-shell.is-accounts-detail .settings-detail-pro-tips-panel .settings-pro-tips-title,
.settings-detail-shell.is-withdrawals-detail .settings-detail-pro-tips-panel .settings-pro-tips-title,
.settings-detail-shell.is-planning-detail .settings-detail-pro-tips-panel .settings-pro-tips-title,
.settings-detail-shell.is-scenarios-detail .settings-detail-pro-tips-panel .settings-pro-tips-title {
  border-right-color: color-mix(in srgb, var(--theme-accent-strong) 18%, rgba(20, 27, 35, 0.18));
}

.settings-detail-shell.is-spending-detail .settings-detail-pro-tips-panel .settings-pro-tips-title p,
.settings-detail-shell.is-income-detail .settings-detail-pro-tips-panel .settings-pro-tips-title p,
.settings-detail-shell.is-health-detail .settings-detail-pro-tips-panel .settings-pro-tips-title p,
.settings-detail-shell.is-tax-detail .settings-detail-pro-tips-panel .settings-pro-tips-title p,
.settings-detail-shell.is-accounts-detail .settings-detail-pro-tips-panel .settings-pro-tips-title p,
.settings-detail-shell.is-withdrawals-detail .settings-detail-pro-tips-panel .settings-pro-tips-title p,
.settings-detail-shell.is-planning-detail .settings-detail-pro-tips-panel .settings-pro-tips-title p,
.settings-detail-shell.is-scenarios-detail .settings-detail-pro-tips-panel .settings-pro-tips-title p {
  color: var(--theme-accent-strong);
}

.settings-detail-shell.is-spending-detail .settings-detail-pro-tips-panel .settings-pro-tip-grid strong,
.settings-detail-shell.is-income-detail .settings-detail-pro-tips-panel .settings-pro-tip-grid strong,
.settings-detail-shell.is-health-detail .settings-detail-pro-tips-panel .settings-pro-tip-grid strong,
.settings-detail-shell.is-tax-detail .settings-detail-pro-tips-panel .settings-pro-tip-grid strong,
.settings-detail-shell.is-accounts-detail .settings-detail-pro-tips-panel .settings-pro-tip-grid strong,
.settings-detail-shell.is-withdrawals-detail .settings-detail-pro-tips-panel .settings-pro-tip-grid strong,
.settings-detail-shell.is-planning-detail .settings-detail-pro-tips-panel .settings-pro-tip-grid strong,
.settings-detail-shell.is-scenarios-detail .settings-detail-pro-tips-panel .settings-pro-tip-grid strong {
  color: var(--theme-accent-strong);
}

.settings-back-button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  margin: 0 0 13px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 14%, rgba(54, 45, 36, 0.1));
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), color-mix(in srgb, var(--theme-accent) 5%, rgba(255, 255, 255, 0.84)));
  color: var(--theme-accent-strong);
  padding: 0 12px 0 10px;
  font-size: 12.5px;
  font-weight: 850;
  cursor: pointer;
  box-shadow:
    0 8px 18px color-mix(in srgb, var(--theme-accent) 7%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
  transition: transform 150ms ease, border-color 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.settings-back-button::before {
  content: "<";
  display: inline-grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-accent) 11%, #fff);
  color: var(--theme-accent-strong);
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
}

.settings-back-button:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--theme-accent) 28%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), color-mix(in srgb, var(--theme-accent) 8%, rgba(255, 255, 255, 0.9)));
  box-shadow:
    0 11px 22px color-mix(in srgb, var(--theme-accent) 10%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.settings-back-button:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--theme-accent) 15%, transparent),
    0 8px 18px color-mix(in srgb, var(--theme-accent) 7%, transparent);
}

.settings-editor-summary-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}

.settings-detail-shell.is-profile-detail .settings-editor-summary-strip {
  width: min(980px, calc((100% - 24px) * 0.7));
  max-width: none;
  gap: 14px;
  margin-bottom: 22px;
}

.settings-editor-summary-strip article {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  min-height: 118px;
  padding: 18px 20px;
  border: 1px solid rgba(54, 45, 36, 0.1);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(248, 252, 255, 0.72)),
    var(--surface);
  box-shadow:
    0 12px 28px rgba(44, 37, 28, 0.045),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.settings-detail-shell.is-profile-detail .settings-editor-summary-strip article {
  min-height: 120px;
  padding: 20px 22px;
  align-content: center;
  border-radius: 9px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(250, 253, 255, 0.82)),
    var(--surface);
  box-shadow:
    0 14px 26px rgba(44, 37, 28, 0.052),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.settings-detail-shell.is-profile-detail .settings-editor-summary-strip article > div > span {
  font-size: 10px;
}

.settings-detail-shell.is-profile-detail .settings-editor-summary-strip strong {
  font-size: 18px;
}

.settings-quick-nav {
  display: grid;
  gap: 12px;
  justify-items: start;
  margin: -6px 0 22px;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 14%, rgba(54, 45, 36, 0.12));
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.9), color-mix(in srgb, var(--theme-soft) 26%, rgba(255, 255, 255, 0.72)));
  box-shadow:
    0 10px 22px rgba(44, 37, 28, 0.035),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.settings-quick-nav strong {
  display: block;
  color: var(--theme-accent-strong);
  font-size: 15px;
  font-weight: 950;
}

.settings-quick-nav p {
  margin: 3px 0 0;
  color: #667078;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
}

.settings-quick-nav label {
  display: grid;
  min-width: min(360px, 100%);
}

.settings-quick-nav label span {
  color: #1d2b38;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.settings-quick-nav select {
  min-height: 42px;
  width: 100%;
  padding: 0 38px 0 13px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 253, 248, 0.86)),
    var(--surface);
  color: #1d2b38;
  font: inherit;
  font-size: 13px;
  font-weight: 850;
}

.settings-quick-nav select:focus {
  outline: none;
  border-color: color-mix(in srgb, var(--theme-accent) 46%, var(--subtle));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-accent) 14%, transparent);
}

.settings-editor-summary-strip article > div > span {
  display: block;
  color: var(--theme-accent-strong);
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.settings-summary-icon {
  display: inline-flex;
  width: 58px;
  height: 58px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-accent) 10%, #fff);
  color: var(--theme-accent-strong);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--theme-accent) 10%, transparent),
    0 10px 18px color-mix(in srgb, var(--theme-accent) 8%, transparent);
}

.settings-summary-icon svg {
  width: 31px;
  height: 31px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.settings-summary-icon.profile {
  color: #7a5cf0;
  background: #eee9ff;
  box-shadow:
    inset 0 0 0 1px rgba(122, 92, 240, 0.07),
    0 12px 22px rgba(122, 92, 240, 0.12);
}

.settings-summary-icon.mode {
  color: var(--success);
  background: #e5f5eb;
  box-shadow:
    inset 0 0 0 1px rgba(18, 130, 76, 0.07),
    0 12px 22px rgba(18, 130, 76, 0.11);
}

.settings-summary-icon.mode svg {
  width: 32px;
  height: 32px;
}

.settings-summary-icon.mode .settings-flag-fill {
  fill: currentColor;
  stroke: currentColor;
}

.settings-summary-icon.mode .settings-flag-pole {
  fill: none;
  stroke: currentColor;
}

.settings-summary-icon.impact {
  color: #2f6fd8;
  background: #eaf2ff;
  box-shadow:
    inset 0 0 0 1px rgba(47, 111, 216, 0.07),
    0 12px 22px rgba(47, 111, 216, 0.11);
}

.settings-summary-icon.spending {
  color: var(--theme-accent-strong);
  background: color-mix(in srgb, var(--theme-accent) 11%, #fff);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--theme-accent) 10%, transparent),
    0 12px 22px color-mix(in srgb, var(--theme-accent) 10%, transparent);
}

.settings-summary-icon.spending svg {
  width: 32px;
  height: 32px;
}

.settings-summary-icon.income {
  color: var(--success);
  background: #e5f5eb;
  box-shadow:
    inset 0 0 0 1px rgba(18, 130, 76, 0.07),
    0 12px 22px rgba(18, 130, 76, 0.11);
}

.settings-summary-icon.income svg {
  width: 32px;
  height: 32px;
}

.settings-summary-icon.health {
  color: #2f6fd8;
  background: #eaf2ff;
  box-shadow:
    inset 0 0 0 1px rgba(47, 111, 216, 0.07),
    0 12px 22px rgba(47, 111, 216, 0.11);
}

.settings-summary-icon.health svg {
  width: 32px;
  height: 32px;
}

.settings-summary-icon.tax {
  color: #8a5b00;
  background: var(--gold-soft);
  box-shadow:
    inset 0 0 0 1px rgba(138, 91, 0, 0.08),
    0 12px 22px rgba(138, 91, 0, 0.11);
}

.settings-summary-icon.tax svg {
  width: 32px;
  height: 32px;
}

.settings-summary-icon.withdrawals {
  color: var(--success);
  background: #e5f5eb;
  box-shadow:
    inset 0 0 0 1px rgba(18, 130, 76, 0.07),
    0 12px 22px rgba(18, 130, 76, 0.11);
}

.settings-summary-icon.withdrawals svg {
  width: 32px;
  height: 32px;
}

.settings-summary-icon.planning {
  color: #2f6fd8;
  background: #eaf2ff;
  box-shadow:
    inset 0 0 0 1px rgba(47, 111, 216, 0.07),
    0 12px 22px rgba(47, 111, 216, 0.11);
}

.settings-summary-icon.planning svg {
  width: 32px;
  height: 32px;
}

.settings-summary-icon.accounts {
  color: #8a5b00;
  background: var(--gold-soft);
  box-shadow:
    inset 0 0 0 1px rgba(138, 91, 0, 0.08),
    0 12px 22px rgba(138, 91, 0, 0.11);
}

.settings-summary-icon.accounts svg {
  width: 32px;
  height: 32px;
}

.settings-editor-summary-strip .settings-summary-card-primary > div > span {
  color: #7a5cf0;
}

.settings-detail-shell.is-spending-detail .settings-editor-summary-strip .settings-summary-card-primary > div > span {
  color: var(--theme-accent-strong);
}

.settings-detail-shell.is-income-detail .settings-editor-summary-strip .settings-summary-card-primary > div > span {
  color: var(--success);
}

.settings-detail-shell.is-health-detail .settings-editor-summary-strip .settings-summary-card-primary > div > span {
  color: #2f6fd8;
}

.settings-detail-shell.is-tax-detail .settings-editor-summary-strip .settings-summary-card-primary > div > span {
  color: #8a5b00;
}

.settings-detail-shell.is-accounts-detail .settings-editor-summary-strip .settings-summary-card-primary > div > span {
  color: #8a5b00;
}

.settings-detail-shell.is-withdrawals-detail .settings-editor-summary-strip .settings-summary-card-primary > div > span {
  color: var(--success);
}

.settings-detail-shell.is-planning-detail .settings-editor-summary-strip .settings-summary-card-primary > div > span {
  color: #2f6fd8;
}

.settings-editor-summary-strip .settings-summary-card-mode > div > span {
  color: var(--success);
}

.settings-editor-summary-strip .settings-summary-card-impact > div > span {
  color: #2f6fd8;
}

.settings-editor-summary-strip strong {
  display: block;
  margin: 7px 0 6px;
  color: var(--text);
  font-size: 18px;
}

.settings-editor-summary-strip p {
  margin: 0;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.42;
}

.settings-editor-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  gap: 20px;
  align-items: start;
}

.settings-detail-shell.is-profile-detail .settings-editor-layout {
  grid-template-columns: minmax(0, 7fr) minmax(320px, 3fr);
  justify-content: start;
  gap: 24px;
}

.settings-editor-main {
  min-width: 0;
}

.settings-context-rail {
  display: grid;
  gap: 14px;
}

.settings-detail-shell.is-profile-detail .settings-context-card {
  position: relative;
  overflow: hidden;
  padding: 20px;
  border-radius: 9px;
  border-color: color-mix(in srgb, var(--theme-accent) 16%, rgba(54, 45, 36, 0.12));
  box-shadow:
    0 12px 26px rgba(44, 37, 28, 0.048),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.settings-detail-shell.is-profile-detail .settings-context-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--theme-accent-strong), color-mix(in srgb, var(--theme-accent) 44%, #fff), transparent 84%);
  opacity: 0.75;
}

.settings-context-card {
  padding: 22px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 13%, rgba(54, 45, 36, 0.11));
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 253, 249, 0.78)),
    var(--surface);
  box-shadow: 0 14px 30px rgba(44, 37, 28, 0.052);
}

.settings-context-card h3 {
  margin: 0 0 6px;
  color: var(--text);
  font-size: 16.5px;
  font-weight: 950;
}

.settings-detail-shell.is-scenarios-detail #settings-context-glance-card h3,
.settings-detail-shell.is-scenarios-detail .settings-tip-card h3 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 9px;
  font-size: 15.5px;
}

.settings-detail-shell.is-scenarios-detail #settings-context-glance-card h3::before,
.settings-detail-shell.is-scenarios-detail .settings-tip-card h3::before {
  content: "";
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 999px;
  background-color: color-mix(in srgb, var(--theme-accent) 12%, #fff);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 23px 23px;
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--theme-accent) 14%, transparent),
    0 10px 18px color-mix(in srgb, var(--theme-accent) 11%, transparent);
}

.settings-detail-shell.is-scenarios-detail #settings-context-glance-card h3::before {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%230f7f61' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='6' r='2.5'/%3E%3Ccircle cx='18' cy='7' r='2.5'/%3E%3Ccircle cx='18' cy='18' r='2.5'/%3E%3Cpath d='M8.5 6h4.2c2.6 0 3.8 1.2 3.8 3.8V15.5'/%3E%3Cpath d='M8.3 6.8c2.2 2.4 4.5 5.1 8.2 8.7'/%3E%3C/svg%3E");
}

.settings-detail-shell.is-scenarios-detail .settings-tip-card h3::before {
  background-color: rgba(255, 247, 223, 0.94);
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%238f6516' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3Cpath d='M8.2 14.2a6 6 0 1 1 7.6 0c-.8.6-1.3 1.4-1.5 2.3h-4.6c-.2-.9-.7-1.7-1.5-2.3Z'/%3E%3Cpath d='M12 2v1.5'/%3E%3Cpath d='m4.9 4.9 1.1 1.1'/%3E%3Cpath d='M2 12h1.5'/%3E%3Cpath d='m19.1 4.9-1.1 1.1'/%3E%3Cpath d='M20.5 12H22'/%3E%3C/svg%3E");
  box-shadow:
    inset 0 0 0 1px rgba(214, 149, 35, 0.22),
    0 10px 18px rgba(143, 101, 22, 0.1);
}

.settings-detail-shell.is-profile-detail #settings-context-glance-card h3,
.settings-detail-shell.is-profile-detail .settings-tip-card h3 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 8px;
  font-size: 15.5px;
}

.settings-detail-shell.is-profile-detail #settings-context-glance-card h3::before,
.settings-detail-shell.is-profile-detail .settings-tip-card h3::before {
  content: "";
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 9px;
  background:
    radial-gradient(circle at center, var(--theme-accent-strong) 0 2px, transparent 3px),
    color-mix(in srgb, var(--theme-accent) 10%, #fff);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--theme-accent) 9%, transparent);
}

.settings-detail-shell.is-profile-detail #settings-context-glance-card h3::before {
  width: 36px;
  height: 36px;
  flex-basis: 36px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 11px 11px, #7a5cf0 0 2px, transparent 2.6px),
    radial-gradient(circle at 11px 18px, #7a5cf0 0 2px, transparent 2.6px),
    radial-gradient(circle at 11px 25px, #7a5cf0 0 2px, transparent 2.6px),
    linear-gradient(#7a5cf0, #7a5cf0) 16px 10px / 13px 2.5px no-repeat,
    linear-gradient(#7a5cf0, #7a5cf0) 16px 17px / 13px 2.5px no-repeat,
    linear-gradient(#7a5cf0, #7a5cf0) 16px 24px / 13px 2.5px no-repeat,
    #eee9ff;
  box-shadow:
    inset 0 0 0 1px rgba(122, 92, 240, 0.07),
    0 10px 18px rgba(122, 92, 240, 0.1);
}

.settings-detail-shell.is-profile-detail .settings-tip-card h3::before {
  width: 36px;
  height: 36px;
  flex-basis: 36px;
  border-radius: 999px;
  background: #eee9ff;
  box-shadow:
    inset 0 0 0 1px rgba(122, 92, 240, 0.07),
    0 10px 18px rgba(122, 92, 240, 0.1);
}

.settings-detail-shell.is-profile-detail .settings-tip-card h3::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 50%;
  width: 18px;
  height: 16px;
  border: 2px solid #7a5cf0;
  border-radius: 4px;
  background:
    linear-gradient(#7a5cf0, #7a5cf0) 0 4px / 100% 3px no-repeat,
    linear-gradient(#7a5cf0, #7a5cf0) 5px 11px / 5px 2px no-repeat,
    radial-gradient(circle at 14px 11px, #7a5cf0 0 1.6px, transparent 2px),
    #eee9ff;
  box-shadow: none;
  transform: translateY(-50%);
}

.settings-context-card > p {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.45;
}

.settings-context-card dl {
  display: grid;
  margin: 0;
}

.settings-context-card dl div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 9px 0;
  border-top: 1px solid rgba(54, 45, 36, 0.08);
}

.settings-context-card dt {
  color: var(--muted);
  font-size: 12px;
}

.settings-context-card dd {
  margin: 0;
  color: var(--text);
  font-size: 12.5px;
  font-weight: 850;
  text-align: right;
}

.settings-import-context-card > p,
.settings-import-facts p,
.settings-import-detail-list p,
.settings-import-empty-state span {
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.45;
}

.settings-import-context-card > p strong,
.settings-import-facts strong,
.settings-import-detail-list strong {
  color: #21313b;
  font-weight: 850;
}

.settings-import-summary-list {
  display: grid;
  gap: 0;
  margin: 14px 0;
  padding: 10px 0;
  border-top: 1px solid var(--subtle);
  border-bottom: 1px solid var(--subtle);
}

.settings-context-card .settings-import-summary-list div {
  padding: 8px 0;
}

.settings-import-summary-list dt {
  font-weight: 760;
}

.settings-import-summary-list dd {
  max-width: 54%;
}

.settings-import-mode-note {
  margin: 12px 0 0;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  border-radius: 8px;
  background: color-mix(in srgb, var(--theme-soft) 42%, white);
  color: #53626b;
  padding: 10px 11px;
  font-size: 12.5px;
  line-height: 1.4;
}

.settings-import-facts {
  display: grid;
  gap: 8px;
  margin: 14px 0;
  padding: 12px 0;
  border-top: 1px solid var(--subtle);
  border-bottom: 1px solid var(--subtle);
}

.settings-import-facts p,
.settings-import-detail-list p {
  margin: 0;
}

.settings-import-details {
  margin-top: 12px;
}

.settings-import-details summary {
  cursor: pointer;
  color: var(--theme-accent-strong);
  font-size: 12px;
  font-weight: 850;
}

.settings-import-accounts-details {
  margin-top: 2px;
}

.settings-import-accounts-details summary {
  color: #40505e;
  font-size: 11.5px;
}

.settings-import-detail-list {
  display: grid;
  gap: 9px;
  margin-top: 12px;
}

.settings-import-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.settings-import-chip,
.settings-import-empty-chip,
.settings-import-count,
.settings-import-format {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 11.5px;
  font-weight: 780;
}

.settings-import-chip,
.settings-import-count,
.settings-import-format {
  background: color-mix(in srgb, var(--theme-soft) 78%, white);
  color: var(--theme-accent-strong);
}

.settings-import-empty-chip {
  background: #f5f7f8;
  color: #73808a;
}

.settings-import-warning {
  margin-top: 10px;
  border: 1px solid rgba(217, 119, 6, 0.22);
  border-radius: 8px;
  background: #fff7df;
  color: #92540a;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 750;
}

.settings-import-empty-state {
  display: grid;
  gap: 6px;
  margin-top: 12px;
  border: 1px dashed var(--subtle-strong);
  border-radius: 8px;
  background: color-mix(in srgb, var(--theme-soft) 38%, white);
  padding: 12px;
}

.settings-import-empty-state strong {
  color: var(--theme-accent-strong);
  font-size: 13px;
}

.settings-breadcrumb {
  margin: 0 0 6px;
  color: var(--muted);
  font-size: 12px;
}

.settings-tabs {
  display: none;
  flex-wrap: wrap;
  gap: 4px;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 22px;
  padding: 4px;
  border: 1px solid rgba(54, 45, 36, 0.1);
  border-radius: 13px;
  background: rgba(250, 248, 244, 0.74);
}

.settings-tab {
  position: relative;
  border: 0;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 10px;
  background: transparent;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  transition: background 150ms ease, color 150ms ease, box-shadow 150ms ease;
}

.settings-tab::after {
  display: none;
}

.settings-tab.active {
  background: rgba(255, 255, 255, 0.9);
  color: var(--blue-dark);
  box-shadow: 0 6px 16px rgba(44, 37, 28, 0.06);
}

.settings-tab:hover:not(.active) {
  background: rgba(255, 255, 255, 0.48);
  color: var(--text);
}

.settings-scenario-tabs {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: fit-content;
  max-width: 100%;
  padding: 4px;
  border: 1px solid rgba(54, 45, 36, 0.1);
  border-radius: 13px;
  background: rgba(250, 248, 244, 0.74);
}

.settings-scenario-tabs button {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 0;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 10px;
  background: transparent;
  color: var(--muted);
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
  transition: background 150ms ease, color 150ms ease, box-shadow 150ms ease;
}

.settings-scenario-tabs button small {
  display: inline-flex;
  min-height: 22px;
  align-items: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-accent) 10%, transparent);
  color: var(--theme-accent-strong);
  padding: 0 8px;
  font-size: 11px;
  font-weight: 950;
}

.settings-scenario-tabs button::after {
  display: none;
}

.settings-scenario-tabs button.active {
  background: rgba(255, 255, 255, 0.9);
  color: var(--blue-dark);
  box-shadow: 0 6px 16px rgba(44, 37, 28, 0.06);
}

.settings-scenario-tabs button:hover:not(.active) {
  background: rgba(255, 255, 255, 0.48);
  color: var(--text);
}

.settings-scenario-panel {
  display: grid;
  gap: 18px;
}

.settings-detail-shell.is-scenarios-detail .settings-section-intro h3 {
  color: var(--theme-display);
}

.settings-detail-section {
  display: grid;
  gap: 20px;
}

.settings-detail-shell.is-profile-detail .settings-detail-section[data-settings-detail="profile"] {
  padding: 26px;
  align-content: start;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 25%, rgba(54, 45, 36, 0.14));
  border-radius: 9px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 253, 249, 0.88)),
    var(--surface);
  box-shadow:
    0 20px 40px rgba(44, 37, 28, 0.082),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.settings-detail-shell.is-profile-detail .settings-detail-section[data-settings-detail="profile"]::before {
  content: "";
  height: 4px;
  margin: -26px -26px 0;
  background: linear-gradient(90deg, var(--theme-accent-strong), color-mix(in srgb, var(--theme-accent) 52%, #fff), transparent 82%);
}

.settings-detail-shell.is-profile-detail .settings-detail-section[data-settings-detail="profile"] .settings-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 820px;
  gap: 18px 22px;
}

.settings-detail-shell.is-profile-detail .settings-detail-section[data-settings-detail="profile"] .settings-toggle-row {
  margin-top: 2px;
}

.settings-editor-main .settings-detail-section[data-settings-detail="money"] > .settings-section-intro {
  display: none;
}

.settings-mode-hidden {
  display: none !important;
}

.settings-section-intro h3 {
  margin-bottom: 6px;
  color: var(--text);
  font-size: 17px;
}

.settings-profile-section-intro {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.settings-detail-shell.is-profile-detail .settings-profile-section-intro {
  grid-template-columns: 42px minmax(0, 1fr);
  padding-bottom: 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--theme-accent) 12%, rgba(54, 45, 36, 0.08));
}

.settings-detail-shell.is-profile-detail .settings-profile-section-intro .settings-section-intro-icon.profile {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: #eee9ff;
  color: #7a5cf0;
  box-shadow:
    inset 0 0 0 1px rgba(122, 92, 240, 0.07),
    0 10px 18px rgba(122, 92, 240, 0.1);
}

.settings-detail-shell.is-profile-detail .settings-profile-section-intro .settings-section-intro-icon.profile svg {
  width: 23px;
  height: 23px;
  stroke-width: 2.25;
}

.settings-detail-shell.is-profile-detail .settings-profile-section-intro h3 {
  margin-bottom: 5px;
  color: var(--text);
  font-size: 19px;
  font-weight: 950;
  letter-spacing: 0;
}

.settings-detail-shell.is-profile-detail .settings-profile-section-intro p {
  max-width: 760px;
  font-size: 13px;
  font-weight: 650;
}

.settings-section-intro-icon {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  color: var(--theme-accent-strong);
  background: color-mix(in srgb, var(--theme-accent) 10%, #fff);
}

.settings-section-intro-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.settings-subsection {
  display: grid;
  gap: 14px;
  padding-top: 18px;
  border-top: 1px solid rgba(54, 45, 36, 0.08);
}

.settings-subsection:first-of-type {
  padding-top: 0;
  border-top: 0;
}

.settings-subsection[hidden] {
  display: none;
}

.settings-money-tab-shell {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(54, 45, 36, 0.12);
  border-radius: 15px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(250, 248, 244, 0.58)),
    rgba(250, 248, 244, 0.7);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

.settings-money-tab-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 0 4px;
}

.settings-money-tab-head strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.settings-money-tab-head span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.settings-money-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.settings-money-tabs button {
  position: relative;
  display: grid;
  gap: 5px;
  min-height: 66px;
  border: 1px solid rgba(54, 45, 36, 0.11);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 253, 249, 0.86)),
    rgba(255, 255, 255, 0.82);
  color: var(--muted);
  padding: 12px;
  text-align: left;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68);
  transition: transform 150ms ease, background 150ms ease, border-color 150ms ease, box-shadow 150ms ease, color 150ms ease;
}

.settings-money-tabs button::before {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  top: 8px;
  height: 3px;
  border-radius: 999px;
  background: transparent;
}

.settings-money-tabs button:hover,
.settings-money-tabs button.active {
  transform: translateY(-1px);
  border-color: rgba(43, 111, 186, 0.32);
  background: rgba(255, 255, 255, 0.86);
  color: var(--text);
  box-shadow: 0 12px 26px rgba(44, 37, 28, 0.07);
}

.settings-money-tabs button.active {
  background:
    linear-gradient(180deg, rgba(237, 246, 255, 0.94), rgba(255, 255, 255, 0.9)),
    rgba(255, 255, 255, 0.9);
}

.settings-money-tabs button.active::before {
  background: var(--blue);
}

.settings-money-tabs strong {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  color: inherit;
  font-size: 14px;
  font-weight: 900;
  padding-top: 5px;
}

.settings-money-tabs small {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border-radius: 999px;
  background: rgba(43, 111, 186, 0.09);
  color: var(--blue);
  padding: 0 9px;
  font-size: 11px;
  font-weight: 900;
}

.settings-money-tabs button > span {
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.35;
}

.settings-money-tabs button.active small {
  background: var(--blue);
  color: #fff;
}

.settings-subsection-head {
  max-width: 820px;
}

.settings-subsection-head h4 {
  margin: 0 0 5px;
  color: var(--text);
  font-size: 15px;
  font-weight: 900;
}

.settings-subsection-head p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

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

.settings-field {
  display: grid;
  gap: 9px;
  color: var(--text);
  font-size: 13px;
  font-weight: 800;
}

.settings-field span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.settings-field-note {
  margin: -2px 0 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
}

.settings-field input,
.settings-field select {
  min-height: 44px;
  border: 1px solid rgba(54, 45, 36, 0.12);
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 253, 249, 0.9)),
    rgba(255, 255, 255, 0.82);
  color: var(--text);
  padding: 0 13px;
  font-weight: 650;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
  transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.settings-field select,
.settings-mini-field select {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(49, 62, 76, 0.68) 50%),
    linear-gradient(135deg, rgba(49, 62, 76, 0.68) 50%, transparent 50%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 253, 249, 0.9));
  background-position:
    calc(100% - 17px) 50%,
    calc(100% - 12px) 50%,
    0 0;
  background-size:
    5px 5px,
    5px 5px,
    100% 100%;
  background-repeat: no-repeat;
  padding-right: 34px;
}

.settings-field input:not([readonly]):focus,
.settings-field select:focus {
  border-color: rgba(43, 111, 186, 0.46);
  box-shadow: 0 0 0 3px rgba(43, 111, 186, 0.12);
  outline: none;
}

.settings-gk-preset-summary,
.settings-advanced-disclosure {
  grid-column: 1 / -1;
}

.settings-gk-preset-summary {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, rgba(54, 45, 36, 0.08));
  border-radius: 12px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--theme-accent) 8%, #fff), rgba(255, 253, 248, 0.82)),
    rgba(255, 255, 255, 0.76);
}

.settings-gk-preset-summary strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
}

.settings-gk-preset-summary p {
  margin: 0;
  max-width: 840px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
}

.settings-advanced-disclosure {
  padding: 0;
  border: 1px solid rgba(54, 45, 36, 0.08);
  border-radius: 12px;
  background: rgba(255, 253, 248, 0.56);
}

.settings-advanced-disclosure summary {
  cursor: pointer;
  padding: 13px 15px;
  color: var(--text);
  font-size: 12px;
  font-weight: 900;
}

.settings-advanced-disclosure summary::-webkit-details-marker {
  display: none;
}

.settings-advanced-disclosure summary::after {
  content: "+";
  float: right;
  color: var(--muted);
  font-weight: 950;
}

.settings-advanced-disclosure[open] summary::after {
  content: "-";
}

.settings-advanced-disclosure > p {
  margin: -3px 15px 14px;
  max-width: 760px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
}

.settings-advanced-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 0 15px 15px;
  gap: 12px;
}

.settings-advanced-grid .settings-field {
  font-size: 12px;
}

.settings-advanced-grid .settings-field input {
  min-height: 40px;
}

.settings-field.is-readonly input,
.settings-field input[readonly] {
  color: var(--muted);
  background: rgba(250, 248, 244, 0.74);
  cursor: default;
}

.settings-toggle-row {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  padding: 16px;
  border: 1px solid rgba(54, 45, 36, 0.1);
  border-radius: 13px;
  background:
    linear-gradient(180deg, rgba(255, 253, 248, 0.86), rgba(250, 248, 244, 0.72)),
    rgba(250, 248, 244, 0.72);
  box-shadow: 0 8px 20px rgba(44, 37, 28, 0.035);
  cursor: pointer;
  transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.settings-toggle-row:hover {
  transform: translateY(-1px);
  border-color: rgba(43, 111, 186, 0.18);
  box-shadow: 0 12px 26px rgba(44, 37, 28, 0.055);
}

.settings-toggle-row input[type="checkbox"] {
  appearance: none;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  margin: 0;
  position: relative;
  border: 1px solid var(--subtle-strong);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.88);
  cursor: pointer;
}

.settings-toggle-row input[type="checkbox"]:checked {
  border-color: var(--success);
  background: var(--success);
}

.settings-toggle-row input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 3px;
  width: 7px;
  height: 12px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.settings-toggle-row p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.settings-detail-shell.is-profile-detail .settings-field {
  align-self: start;
  gap: 9px;
  color: #1d2b38;
  font-size: 12px;
  font-weight: 950;
}

.settings-detail-shell.is-profile-detail .settings-field span {
  letter-spacing: 0.01em;
}

.settings-detail-shell.is-profile-detail .settings-field input,
.settings-detail-shell.is-profile-detail .settings-field select {
  min-height: 48px;
  border-color: color-mix(in srgb, var(--theme-accent) 13%, rgba(54, 45, 36, 0.16));
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9));
  font-size: 14px;
  font-weight: 780;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.86),
    0 6px 14px rgba(44, 37, 28, 0.025);
}

.settings-detail-shell.is-profile-detail .settings-field select {
  cursor: pointer;
  background-image:
    linear-gradient(45deg, transparent 50%, #42535f 50%),
    linear-gradient(135deg, #42535f 50%, transparent 50%),
    linear-gradient(180deg, rgba(54, 45, 36, 0.12), rgba(54, 45, 36, 0.12)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9));
  background-position:
    calc(100% - 21px) 50%,
    calc(100% - 15px) 50%,
    calc(100% - 42px) 50%,
    0 0;
  background-size:
    6px 6px,
    6px 6px,
    1px 24px,
    100% 100%;
  background-repeat: no-repeat;
  padding-right: 52px;
}

.settings-detail-shell.is-spending-detail {
  padding: 30px 32px 32px;
  border-color: color-mix(in srgb, var(--theme-accent) 18%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 5% 0%, color-mix(in srgb, var(--theme-accent) 7%, transparent), transparent 24rem),
    radial-gradient(circle at 95% 6%, color-mix(in srgb, var(--theme-accent) 8%, transparent), transparent 20rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.988), rgba(255, 252, 248, 0.966) 55%, rgba(255, 255, 255, 0.958)),
    var(--surface);
  box-shadow:
    0 24px 58px rgba(44, 37, 28, 0.085),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.settings-detail-shell.is-spending-detail::before {
  opacity: 1;
}

.settings-detail-shell.is-spending-detail .settings-detail-head {
  min-height: 92px;
  align-items: flex-start;
  margin-bottom: 20px;
  padding-right: 220px;
}

.settings-detail-shell.is-spending-detail .settings-detail-actions {
  position: absolute;
  top: 32px;
  right: 32px;
  z-index: 4;
}

.settings-detail-shell.is-spending-detail .settings-detail-actions .button {
  min-width: 92px;
}

.settings-detail-shell.is-spending-detail #settings-done-button {
  min-height: 36px;
  border: 1px solid color-mix(in srgb, var(--theme-accent-strong) 72%, rgba(54, 45, 36, 0.12));
  border-radius: 11px;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 86%, #fff),
      var(--theme-accent-strong));
  color: #fff;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 950;
  box-shadow:
    0 14px 28px color-mix(in srgb, var(--theme-accent) 24%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.settings-detail-shell.is-spending-detail #settings-done-button:hover {
  border-color: color-mix(in srgb, var(--theme-accent-strong) 82%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 92%, #fff),
      color-mix(in srgb, var(--theme-accent-strong) 92%, #112));
  color: #fff;
  box-shadow:
    0 17px 32px color-mix(in srgb, var(--theme-accent) 30%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  transform: translateY(-1px);
}

.settings-detail-shell.is-spending-detail #settings-done-button:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--theme-accent) 18%, transparent),
    0 14px 28px color-mix(in srgb, var(--theme-accent) 24%, transparent);
}

.settings-detail-shell.is-spending-detail .settings-save-status {
  display: inline;
  max-width: 280px;
  color: #5d6874;
  font-size: 13px;
  font-weight: 800;
}

.settings-detail-shell.is-spending-detail .settings-detail-head h2 {
  margin-bottom: 8px;
  font-size: 36px;
  letter-spacing: 0;
}

.settings-detail-shell.is-spending-detail .settings-detail-head p {
  max-width: 720px;
  color: #465766;
  font-size: 14.5px;
  font-weight: 650;
}

.settings-detail-shell.is-spending-detail .settings-detail-art {
  top: 116px;
  right: 44px;
  width: 360px;
  height: 230px;
  z-index: 2;
  transform: scale(0.94);
  transform-origin: top right;
  opacity: 0.62;
}

.settings-detail-shell.is-spending-detail .settings-editor-summary-strip {
  width: min(980px, calc((100% - 24px) * 0.7));
  max-width: none;
  gap: 14px;
  margin-bottom: 22px;
}

.settings-detail-shell.is-spending-detail .settings-editor-summary-strip article {
  min-height: 120px;
  padding: 20px 22px;
  align-content: center;
  border-radius: 9px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(250, 253, 255, 0.82)),
    var(--surface);
  box-shadow:
    0 14px 26px rgba(44, 37, 28, 0.052),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.settings-detail-shell.is-spending-detail .settings-editor-summary-strip article > div > span {
  font-size: 10px;
}

.settings-detail-shell.is-spending-detail .settings-editor-summary-strip strong {
  font-size: 18px;
}

.settings-detail-shell.is-spending-detail .settings-editor-layout {
  grid-template-columns: minmax(0, 7fr) minmax(320px, 3fr);
  justify-content: start;
  gap: 24px;
}

.settings-detail-shell.is-spending-detail .settings-context-card {
  position: relative;
  overflow: hidden;
  padding: 20px;
  border-radius: 9px;
  border-color: color-mix(in srgb, var(--theme-accent) 16%, rgba(54, 45, 36, 0.12));
  box-shadow:
    0 12px 26px rgba(44, 37, 28, 0.048),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.settings-detail-shell.is-spending-detail .settings-context-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--theme-accent-strong), color-mix(in srgb, var(--theme-accent) 44%, #fff), transparent 84%);
  opacity: 0.75;
}

.settings-detail-shell.is-spending-detail #settings-context-glance-card h3,
.settings-detail-shell.is-spending-detail .settings-tip-card h3 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 8px;
  font-size: 15.5px;
}

.settings-detail-shell.is-spending-detail #settings-context-glance-card h3::before,
.settings-detail-shell.is-spending-detail .settings-tip-card h3::before {
  content: "";
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 999px;
  background: #eee9ff;
  box-shadow:
    inset 0 0 0 1px rgba(122, 92, 240, 0.07),
    0 10px 18px rgba(122, 92, 240, 0.1);
}

.settings-detail-shell.is-spending-detail #settings-context-glance-card h3::before {
  background:
    radial-gradient(circle at 11px 11px, #7a5cf0 0 2px, transparent 2.6px),
    radial-gradient(circle at 11px 18px, #7a5cf0 0 2px, transparent 2.6px),
    radial-gradient(circle at 11px 25px, #7a5cf0 0 2px, transparent 2.6px),
    linear-gradient(#7a5cf0, #7a5cf0) 16px 10px / 13px 2.5px no-repeat,
    linear-gradient(#7a5cf0, #7a5cf0) 16px 17px / 13px 2.5px no-repeat,
    linear-gradient(#7a5cf0, #7a5cf0) 16px 24px / 13px 2.5px no-repeat,
    #eee9ff;
}

.settings-detail-shell.is-spending-detail .settings-tip-card h3::after {
  content: "$";
  position: absolute;
  left: 8px;
  top: 50%;
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  color: #7a5cf0;
  font-size: 18px;
  font-weight: 950;
  line-height: 1;
  transform: translateY(-50%);
}

.settings-detail-shell.is-spending-detail .settings-money-tab-shell {
  display: none;
}

.settings-detail-shell.is-spending-detail .settings-detail-section[data-settings-detail="money"] {
  gap: 0;
}

.settings-detail-shell.is-spending-detail .settings-subsection[data-settings-money-panel="spending"] {
  padding: 26px;
  align-content: start;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 25%, rgba(54, 45, 36, 0.14));
  border-radius: 9px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 253, 249, 0.88)),
    var(--surface);
  box-shadow:
    0 20px 40px rgba(44, 37, 28, 0.082),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.settings-detail-shell.is-spending-detail .settings-subsection[data-settings-money-panel="spending"]::before {
  content: "";
  height: 4px;
  margin: -26px -26px 0;
  background: linear-gradient(90deg, var(--theme-accent-strong), color-mix(in srgb, var(--theme-accent) 52%, #fff), transparent 82%);
}

.settings-detail-shell.is-spending-detail .settings-subsection[data-settings-money-panel="spending"] .settings-subsection-head {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding-bottom: 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--theme-accent) 12%, rgba(54, 45, 36, 0.08));
}

.settings-detail-shell.is-spending-detail .settings-spending-section-intro::before {
  content: none;
}

.settings-detail-shell.is-spending-detail .settings-spending-section-intro .settings-section-intro-icon.spending {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  color: var(--theme-accent-strong);
  background: color-mix(in srgb, var(--theme-accent) 11%, #fff);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--theme-accent) 10%, transparent),
    0 10px 18px color-mix(in srgb, var(--theme-accent) 8%, transparent);
}

.settings-detail-shell.is-spending-detail .settings-spending-section-intro .settings-section-intro-icon.spending svg {
  width: 22px;
  height: 22px;
  stroke-width: 2.25;
}

.settings-detail-shell.is-spending-detail .settings-spending-section-intro > div {
  min-width: 0;
}

.settings-detail-shell.is-spending-detail .settings-subsection[data-settings-money-panel="spending"] .settings-subsection-head:not(.settings-spending-section-intro)::before {
  content: "$";
  display: inline-flex;
  grid-row: 1 / span 2;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-accent) 11%, #fff);
  color: var(--theme-accent-strong);
  font-size: 20px;
  font-weight: 950;
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--theme-accent) 10%, transparent),
    0 10px 18px color-mix(in srgb, var(--theme-accent) 8%, transparent);
}

.settings-detail-shell.is-spending-detail .settings-subsection[data-settings-money-panel="spending"] .settings-subsection-head h4 {
  grid-column: 2;
  margin-bottom: 5px;
  color: var(--text);
  font-size: 19px;
  font-weight: 950;
  letter-spacing: 0;
}

.settings-detail-shell.is-spending-detail .settings-subsection[data-settings-money-panel="spending"] .settings-subsection-head p {
  grid-column: 2;
  max-width: 760px;
  font-size: 13px;
  font-weight: 650;
}

.settings-detail-shell.is-spending-detail .settings-subsection[data-settings-money-panel="spending"] .settings-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 820px;
  gap: 18px 22px;
}

.settings-detail-shell.is-spending-detail .settings-field {
  gap: 9px;
  color: #1d2b38;
  font-size: 12px;
  font-weight: 950;
}

.settings-detail-shell.is-spending-detail .settings-field span {
  letter-spacing: 0.01em;
}

.settings-detail-shell.is-spending-detail .settings-field input,
.settings-detail-shell.is-spending-detail .settings-field select {
  min-height: 48px;
  border-color: color-mix(in srgb, var(--theme-accent) 13%, rgba(54, 45, 36, 0.16));
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9));
  font-size: 14px;
  font-weight: 780;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.86),
    0 6px 14px rgba(44, 37, 28, 0.025);
}

.settings-detail-shell.is-spending-detail .settings-field select {
  cursor: pointer;
  background-image:
    linear-gradient(45deg, transparent 50%, #42535f 50%),
    linear-gradient(135deg, #42535f 50%, transparent 50%),
    linear-gradient(180deg, rgba(54, 45, 36, 0.12), rgba(54, 45, 36, 0.12)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9));
  background-position:
    calc(100% - 21px) 50%,
    calc(100% - 15px) 50%,
    calc(100% - 42px) 50%,
    0 0;
  background-size:
    6px 6px,
    6px 6px,
    1px 24px,
    100% 100%;
  background-repeat: no-repeat;
  padding-right: 52px;
}

.settings-detail-shell.is-spending-detail .settings-array-editor {
  gap: 12px;
  margin-top: 2px;
}

.settings-detail-shell.is-spending-detail .settings-array-editor-head,
.settings-detail-shell.is-spending-detail .settings-array-row,
.settings-detail-shell.is-spending-detail .settings-array-empty {
  border-color: color-mix(in srgb, var(--theme-accent) 12%, rgba(54, 45, 36, 0.12));
  border-radius: 9px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(250, 253, 255, 0.76));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

.settings-detail-shell.is-spending-detail .settings-array-editor-head {
  padding: 13px 14px;
}

.settings-detail-shell.is-spending-detail .settings-array-editor-head strong,
.settings-detail-shell.is-spending-detail .settings-array-row-head strong {
  font-weight: 950;
}

.settings-detail-shell.is-spending-detail .settings-array-editor-head p,
.settings-detail-shell.is-spending-detail .settings-array-row-head p {
  color: #596874;
}

.settings-detail-shell.is-spending-detail .settings-array-edit-grid .settings-mini-field:has([data-v2-array-field="fundingSource"]) {
  grid-column: 1 / span 2;
  max-width: 520px;
}

.settings-detail-shell.is-spending-detail .settings-array-edit-grid .settings-mini-field:has([data-v2-array-field="fundingSource"]) select {
  min-width: 0;
  width: 100%;
}

.settings-detail-shell.is-spending-detail #settings-spending-phases-summary .settings-array-edit-grid,
.settings-detail-shell.is-spending-detail #settings-one-time-expenses-summary .settings-array-edit-grid {
  align-items: start;
}

.settings-detail-shell.is-spending-detail #settings-spending-phases-summary .settings-mini-field,
.settings-detail-shell.is-spending-detail #settings-one-time-expenses-summary .settings-mini-field {
  align-self: start;
  align-content: start;
}

.settings-detail-shell.is-spending-detail #settings-pre-retirement-expenses-summary .settings-array-row {
  display: grid;
  grid-template-columns: minmax(170px, 0.18fr) minmax(0, 1fr);
  align-items: start;
}

.settings-detail-shell.is-spending-detail #settings-pre-retirement-expenses-summary .settings-array-row-note {
  grid-column: 2;
}

.settings-detail-shell.is-spending-detail #settings-pre-retirement-expenses-summary .settings-array-row-note {
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, rgba(54, 45, 36, 0.12));
  border-radius: 8px;
  background: color-mix(in srgb, var(--theme-accent-soft) 48%, #fff);
  padding: 10px 12px;
  color: #435765;
  font-weight: 720;
}

.settings-detail-shell.is-spending-detail .settings-array-editor-head .settings-link-button[data-v2-settings-array-action="add"] {
  min-height: 34px;
  border: 1px solid color-mix(in srgb, var(--theme-accent-strong) 64%, rgba(54, 45, 36, 0.12));
  border-radius: 10px;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 82%, #fff),
      var(--theme-accent-strong));
  color: #fff;
  padding: 0 13px;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
  box-shadow:
    0 10px 18px color-mix(in srgb, var(--theme-accent) 18%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.settings-detail-shell.is-spending-detail .settings-array-editor-head .settings-link-button[data-v2-settings-array-action="add"]:hover {
  border-color: color-mix(in srgb, var(--theme-accent-strong) 78%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 90%, #fff),
      color-mix(in srgb, var(--theme-accent-strong) 92%, #112));
  color: #fff;
  box-shadow:
    0 12px 22px color-mix(in srgb, var(--theme-accent) 24%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.32);
  transform: translateY(-1px);
}

.settings-detail-shell.is-spending-detail .settings-array-editor-head .settings-link-button[data-v2-settings-array-action="add"]:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--theme-accent) 18%, transparent),
    0 10px 18px color-mix(in srgb, var(--theme-accent) 18%, transparent);
}

.settings-detail-shell.is-spending-detail .settings-array-row-head .settings-link-button.danger[data-v2-settings-array-action="remove"] {
  min-height: 32px;
  border: 1px solid color-mix(in srgb, var(--red) 48%, rgba(54, 45, 36, 0.12));
  border-radius: 10px;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--red) 9%, #fff),
      color-mix(in srgb, var(--red) 5%, #fff));
  color: var(--red);
  padding: 0 12px;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
  box-shadow:
    0 8px 16px color-mix(in srgb, var(--red) 10%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.settings-detail-shell.is-spending-detail .settings-array-row-head .settings-link-button.danger[data-v2-settings-array-action="remove"]:hover {
  border-color: color-mix(in srgb, var(--red) 68%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--red) 92%, #fff),
      var(--red));
  color: #fff;
  box-shadow:
    0 10px 20px color-mix(in srgb, var(--red) 18%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
  transform: translateY(-1px);
}

.settings-detail-shell.is-spending-detail .settings-array-row-head .settings-link-button.danger[data-v2-settings-array-action="remove"]:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--red) 16%, transparent),
    0 8px 16px color-mix(in srgb, var(--red) 10%, transparent);
}

.settings-detail-shell.is-income-detail {
  padding: 30px 32px 32px;
  border-color: color-mix(in srgb, var(--theme-accent) 18%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 5% 0%, color-mix(in srgb, var(--theme-accent) 7%, transparent), transparent 24rem),
    radial-gradient(circle at 95% 6%, color-mix(in srgb, var(--theme-accent) 8%, transparent), transparent 20rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.988), rgba(255, 252, 248, 0.966) 55%, rgba(255, 255, 255, 0.958)),
    var(--surface);
  box-shadow:
    0 24px 58px rgba(44, 37, 28, 0.085),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.settings-detail-shell.is-income-detail::before {
  opacity: 1;
}

.settings-detail-shell.is-income-detail .settings-detail-head {
  min-height: 92px;
  align-items: flex-start;
  margin-bottom: 20px;
  padding-right: 220px;
}

.settings-detail-shell.is-income-detail .settings-detail-actions {
  position: absolute;
  top: 32px;
  right: 32px;
  z-index: 4;
}

.settings-detail-shell.is-income-detail .settings-detail-actions .button {
  min-width: 92px;
}

.settings-detail-shell.is-income-detail #settings-done-button {
  min-height: 36px;
  border: 1px solid color-mix(in srgb, var(--theme-accent-strong) 72%, rgba(54, 45, 36, 0.12));
  border-radius: 11px;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 86%, #fff),
      var(--theme-accent-strong));
  color: #fff;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 950;
  box-shadow:
    0 14px 28px color-mix(in srgb, var(--theme-accent) 24%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.settings-detail-shell.is-income-detail #settings-done-button:hover {
  border-color: color-mix(in srgb, var(--theme-accent-strong) 82%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 92%, #fff),
      color-mix(in srgb, var(--theme-accent-strong) 92%, #112));
  color: #fff;
  box-shadow:
    0 17px 32px color-mix(in srgb, var(--theme-accent) 30%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  transform: translateY(-1px);
}

.settings-detail-shell.is-income-detail #settings-done-button:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--theme-accent) 18%, transparent),
    0 14px 28px color-mix(in srgb, var(--theme-accent) 24%, transparent);
}

.settings-detail-shell.is-income-detail .settings-save-status {
  display: inline;
  max-width: 280px;
  color: #5d6874;
  font-size: 13px;
  font-weight: 800;
}

.settings-detail-shell.is-income-detail .settings-detail-head h2 {
  margin-bottom: 8px;
  font-size: 36px;
  letter-spacing: 0;
}

.settings-detail-shell.is-income-detail .settings-detail-head p {
  max-width: 720px;
  color: #465766;
  font-size: 14.5px;
  font-weight: 650;
}

.settings-detail-shell.is-income-detail .settings-detail-art {
  top: 116px;
  right: 44px;
  width: 360px;
  height: 230px;
  z-index: 2;
  transform: scale(0.94);
  transform-origin: top right;
  opacity: 0.62;
}

.settings-detail-shell.is-income-detail .settings-editor-summary-strip {
  width: min(980px, calc((100% - 24px) * 0.7));
  max-width: none;
  gap: 14px;
  margin-bottom: 22px;
}

.settings-detail-shell.is-income-detail .settings-editor-summary-strip article {
  min-height: 120px;
  padding: 20px 22px;
  align-content: center;
  border-radius: 9px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(250, 253, 255, 0.82)),
    var(--surface);
  box-shadow:
    0 14px 26px rgba(44, 37, 28, 0.052),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.settings-detail-shell.is-income-detail .settings-editor-summary-strip article > div > span {
  font-size: 10px;
}

.settings-detail-shell.is-income-detail .settings-editor-summary-strip strong {
  font-size: 18px;
}

.settings-detail-shell.is-income-detail .settings-editor-layout {
  grid-template-columns: minmax(0, 7fr) minmax(320px, 3fr);
  justify-content: start;
  gap: 24px;
}

.settings-detail-shell.is-income-detail .settings-context-card {
  position: relative;
  overflow: hidden;
  padding: 20px;
  border-radius: 9px;
  border-color: color-mix(in srgb, var(--theme-accent) 16%, rgba(54, 45, 36, 0.12));
  box-shadow:
    0 12px 26px rgba(44, 37, 28, 0.048),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.settings-detail-shell.is-income-detail .settings-context-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--theme-accent-strong), color-mix(in srgb, var(--theme-accent) 44%, #fff), transparent 84%);
  opacity: 0.75;
}

.settings-detail-shell.is-income-detail #settings-context-glance-card h3,
.settings-detail-shell.is-income-detail .settings-tip-card h3 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 8px;
  font-size: 15.5px;
}

.settings-detail-shell.is-income-detail #settings-context-glance-card h3::before,
.settings-detail-shell.is-income-detail .settings-tip-card h3::before {
  content: "";
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 999px;
  background: #eee9ff;
  box-shadow:
    inset 0 0 0 1px rgba(122, 92, 240, 0.07),
    0 10px 18px rgba(122, 92, 240, 0.1);
}

.settings-detail-shell.is-income-detail #settings-context-glance-card h3::before {
  background:
    radial-gradient(circle at 11px 11px, #7a5cf0 0 2px, transparent 2.6px),
    radial-gradient(circle at 11px 18px, #7a5cf0 0 2px, transparent 2.6px),
    radial-gradient(circle at 11px 25px, #7a5cf0 0 2px, transparent 2.6px),
    linear-gradient(#7a5cf0, #7a5cf0) 16px 10px / 13px 2.5px no-repeat,
    linear-gradient(#7a5cf0, #7a5cf0) 16px 17px / 13px 2.5px no-repeat,
    linear-gradient(#7a5cf0, #7a5cf0) 16px 24px / 13px 2.5px no-repeat,
    #eee9ff;
}

.settings-detail-shell.is-income-detail .settings-tip-card h3::after {
  content: "$";
  position: absolute;
  left: 8px;
  top: 50%;
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  color: #7a5cf0;
  font-size: 18px;
  font-weight: 950;
  line-height: 1;
  transform: translateY(-50%);
}

.settings-detail-shell.is-income-detail .settings-money-tab-shell {
  display: none;
}

.settings-detail-shell.is-income-detail .settings-detail-section[data-settings-detail="money"] {
  gap: 18px;
  padding: 26px;
  align-content: start;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 25%, rgba(54, 45, 36, 0.14));
  border-radius: 9px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 253, 249, 0.88)),
    var(--surface);
  box-shadow:
    0 20px 40px rgba(44, 37, 28, 0.082),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.settings-detail-shell.is-income-detail .settings-detail-section[data-settings-detail="money"]::before {
  content: "";
  height: 4px;
  margin: -26px -26px 0;
  background: linear-gradient(90deg, var(--theme-accent-strong), color-mix(in srgb, var(--theme-accent) 52%, #fff), transparent 82%);
}

.settings-detail-shell.is-income-detail .settings-subsection[data-settings-money-panel="income"] {
  gap: 18px;
  padding-top: 18px;
  border-top: 1px solid color-mix(in srgb, var(--theme-accent) 12%, rgba(54, 45, 36, 0.08));
}

.settings-detail-shell.is-income-detail .settings-subsection[data-settings-money-panel="income"]:first-of-type,
.settings-detail-shell.is-income-detail .settings-money-tab-shell + .settings-subsection[data-settings-money-panel="income"],
.settings-detail-shell.is-income-detail .settings-subsection.settings-mode-hidden + .settings-subsection[data-settings-money-panel="income"] {
  padding-top: 0;
  border-top: 0;
}

.settings-detail-shell.is-income-detail .settings-income-section-intro {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  max-width: none;
  padding-bottom: 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--theme-accent) 12%, rgba(54, 45, 36, 0.08));
}

.settings-detail-shell.is-income-detail .settings-income-section-intro .settings-section-intro-icon.income {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  color: var(--success);
  background: #e5f5eb;
  box-shadow:
    inset 0 0 0 1px rgba(18, 130, 76, 0.07),
    0 10px 18px rgba(18, 130, 76, 0.1);
}

.settings-detail-shell.is-income-detail .settings-income-section-intro .settings-section-intro-icon.income svg {
  width: 22px;
  height: 22px;
  stroke-width: 2.25;
}

.settings-detail-shell.is-income-detail .settings-income-section-intro h4 {
  margin-bottom: 5px;
  color: var(--text);
  font-size: 19px;
  font-weight: 950;
  letter-spacing: 0;
}

.settings-detail-shell.is-income-detail .settings-income-section-intro p {
  max-width: 760px;
  font-size: 13px;
  font-weight: 650;
}

.settings-detail-shell.is-income-detail .settings-income-group {
  display: grid;
  gap: 16px;
  max-width: 860px;
  padding: 2px 0 18px;
}

.settings-detail-shell.is-income-detail .settings-income-group + .settings-income-group {
  margin-top: 6px;
  padding-top: 18px;
  border-top: 1px solid color-mix(in srgb, var(--theme-accent) 12%, rgba(54, 45, 36, 0.12));
}

.settings-detail-shell.is-income-detail .settings-mini-heading {
  display: grid;
  gap: 4px;
}

.settings-detail-shell.is-income-detail .settings-mini-heading h5 {
  margin: 0;
  color: var(--theme-heading);
  font-size: 16px;
  font-weight: 950;
  letter-spacing: 0;
}

.settings-detail-shell.is-income-detail .settings-mini-heading p {
  max-width: 720px;
  margin: 0;
  color: #687678;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}

.settings-detail-shell.is-income-detail .settings-social-security-groups {
  display: grid;
  gap: 18px;
  max-width: 820px;
}

.settings-detail-shell.is-income-detail .settings-ss-section {
  display: grid;
  gap: 12px;
}

.settings-detail-shell.is-income-detail .settings-ss-section + .settings-ss-section {
  padding-top: 18px;
  border-top: 1px solid color-mix(in srgb, var(--theme-accent) 14%, rgba(54, 45, 36, 0.12));
}

.settings-detail-shell.is-income-detail .settings-ss-section-head {
  display: grid;
  gap: 3px;
}

.settings-detail-shell.is-income-detail .settings-ss-section-head h6 {
  margin: 0;
  color: var(--theme-heading);
  font-size: 13px;
  font-weight: 950;
  letter-spacing: 0;
}

.settings-detail-shell.is-income-detail .settings-ss-section-head p {
  margin: 0;
  color: #6b777a;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
}

.settings-detail-shell.is-income-detail .settings-ss-cola-section .settings-form-grid {
  max-width: 400px;
}

.settings-detail-shell.is-income-detail .settings-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 820px;
  gap: 18px 22px;
}

.settings-detail-shell.is-income-detail .settings-field {
  gap: 9px;
  color: #1d2b38;
  font-size: 12px;
  font-weight: 950;
}

.settings-detail-shell.is-income-detail .settings-field span {
  letter-spacing: 0.01em;
}

.settings-detail-shell.is-income-detail .settings-income-grid-note {
  grid-column: 1 / -1;
  max-width: 760px;
  margin: -8px 0 2px;
  color: #657477;
  font-size: 12px;
  font-weight: 750;
}

.settings-detail-shell.is-income-detail .settings-grid-spacer {
  min-height: 1px;
}

.settings-detail-shell.is-income-detail .settings-field input,
.settings-detail-shell.is-income-detail .settings-field select {
  min-height: 48px;
  border-color: color-mix(in srgb, var(--theme-accent) 13%, rgba(54, 45, 36, 0.16));
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9));
  font-size: 14px;
  font-weight: 780;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.86),
    0 6px 14px rgba(44, 37, 28, 0.025);
}

.settings-detail-shell.is-income-detail .settings-field select {
  cursor: pointer;
  background-image:
    linear-gradient(45deg, transparent 50%, #42535f 50%),
    linear-gradient(135deg, #42535f 50%, transparent 50%),
    linear-gradient(180deg, rgba(54, 45, 36, 0.12), rgba(54, 45, 36, 0.12)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9));
  background-position:
    calc(100% - 21px) 50%,
    calc(100% - 15px) 50%,
    calc(100% - 42px) 50%,
    0 0;
  background-size:
    6px 6px,
    6px 6px,
    1px 24px,
    100% 100%;
  background-repeat: no-repeat;
  padding-right: 52px;
}

.settings-detail-shell.is-income-detail .settings-array-editor {
  gap: 12px;
  margin-top: 2px;
}

.settings-detail-shell.is-income-detail .settings-income-group:has(#settings-recurring-income-summary) {
  max-width: none;
}

.settings-detail-shell.is-income-detail .settings-array-editor-head,
.settings-detail-shell.is-income-detail .settings-array-row,
.settings-detail-shell.is-income-detail .settings-array-empty {
  border-color: color-mix(in srgb, var(--theme-accent) 12%, rgba(54, 45, 36, 0.12));
  border-radius: 9px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(250, 253, 255, 0.76));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

.settings-detail-shell.is-income-detail .settings-array-editor-head {
  padding: 13px 14px;
}

.settings-detail-shell.is-income-detail #settings-recurring-income-summary .settings-array-row {
  grid-template-columns: minmax(150px, 0.18fr) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 16px;
}

.settings-detail-shell.is-income-detail #settings-recurring-income-summary .settings-array-row-head {
  flex-direction: column;
  justify-content: flex-start;
  gap: 12px;
  align-items: flex-start;
  padding-top: 26px;
}

.settings-detail-shell.is-income-detail #settings-recurring-income-summary .settings-array-edit-grid {
  grid-template-columns: minmax(130px, 0.92fr) minmax(210px, 1.48fr) minmax(115px, 0.82fr) minmax(100px, 0.7fr) minmax(120px, 0.86fr);
  align-items: start;
  gap: 12px;
}

.settings-detail-shell.is-income-detail #settings-recurring-income-summary .settings-mini-field {
  grid-template-rows: 20px 48px auto;
  align-content: start;
}

.settings-detail-shell.is-income-detail #settings-recurring-income-summary .settings-mini-field input,
.settings-detail-shell.is-income-detail #settings-recurring-income-summary .settings-mini-field select {
  min-height: 48px;
  height: 48px;
}

.settings-detail-shell.is-income-detail .settings-array-editor-head strong,
.settings-detail-shell.is-income-detail .settings-array-row-head strong {
  font-weight: 950;
}

.settings-detail-shell.is-income-detail .settings-array-editor-head p,
.settings-detail-shell.is-income-detail .settings-array-row-head p {
  color: #596874;
}

.settings-detail-shell.is-income-detail .settings-array-editor-head .settings-link-button[data-v2-settings-array-action="add"] {
  min-height: 34px;
  border: 1px solid color-mix(in srgb, var(--theme-accent-strong) 64%, rgba(54, 45, 36, 0.12));
  border-radius: 10px;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 82%, #fff),
      var(--theme-accent-strong));
  color: #fff;
  padding: 0 13px;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
  box-shadow:
    0 10px 18px color-mix(in srgb, var(--theme-accent) 18%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.settings-detail-shell.is-income-detail .settings-array-editor-head .settings-link-button[data-v2-settings-array-action="add"]:hover {
  border-color: color-mix(in srgb, var(--theme-accent-strong) 78%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 90%, #fff),
      color-mix(in srgb, var(--theme-accent-strong) 92%, #112));
  color: #fff;
  box-shadow:
    0 12px 22px color-mix(in srgb, var(--theme-accent) 24%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.32);
  transform: translateY(-1px);
}

.settings-detail-shell.is-income-detail .settings-array-row-head .settings-link-button.danger[data-v2-settings-array-action="remove"] {
  min-height: 32px;
  border: 1px solid color-mix(in srgb, var(--red) 48%, rgba(54, 45, 36, 0.12));
  border-radius: 10px;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--red) 9%, #fff),
      color-mix(in srgb, var(--red) 5%, #fff));
  color: var(--red);
  padding: 0 12px;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
  box-shadow:
    0 8px 16px color-mix(in srgb, var(--red) 10%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.settings-detail-shell.is-income-detail .settings-array-row-head .settings-link-button.danger[data-v2-settings-array-action="remove"]:hover {
  border-color: color-mix(in srgb, var(--red) 68%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--red) 92%, #fff),
      var(--red));
  color: #fff;
  box-shadow:
    0 10px 20px color-mix(in srgb, var(--red) 18%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
  transform: translateY(-1px);
}

.settings-detail-shell.is-health-detail {
  padding: 30px 32px 32px;
  border-color: color-mix(in srgb, var(--theme-accent) 18%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 5% 0%, color-mix(in srgb, var(--theme-accent) 7%, transparent), transparent 24rem),
    radial-gradient(circle at 95% 6%, color-mix(in srgb, var(--theme-accent) 8%, transparent), transparent 20rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.988), rgba(255, 252, 248, 0.966) 55%, rgba(255, 255, 255, 0.958)),
    var(--surface);
  box-shadow:
    0 24px 58px rgba(44, 37, 28, 0.085),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.settings-detail-shell.is-health-detail::before {
  opacity: 1;
}

.settings-detail-shell.is-health-detail .settings-detail-head {
  min-height: 92px;
  align-items: flex-start;
  margin-bottom: 20px;
  padding-right: 220px;
}

.settings-detail-shell.is-health-detail .settings-detail-actions {
  position: absolute;
  top: 32px;
  right: 32px;
  z-index: 4;
}

.settings-detail-shell.is-health-detail .settings-detail-actions .button {
  min-width: 92px;
}

.settings-detail-shell.is-health-detail #settings-done-button {
  min-height: 36px;
  border: 1px solid color-mix(in srgb, var(--theme-accent-strong) 72%, rgba(54, 45, 36, 0.12));
  border-radius: 11px;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 86%, #fff),
      var(--theme-accent-strong));
  color: #fff;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 950;
  box-shadow:
    0 14px 28px color-mix(in srgb, var(--theme-accent) 24%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.settings-detail-shell.is-health-detail #settings-done-button:hover {
  border-color: color-mix(in srgb, var(--theme-accent-strong) 82%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 92%, #fff),
      color-mix(in srgb, var(--theme-accent-strong) 92%, #112));
  color: #fff;
  box-shadow:
    0 17px 32px color-mix(in srgb, var(--theme-accent) 30%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  transform: translateY(-1px);
}

.settings-detail-shell.is-health-detail #settings-done-button:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--theme-accent) 18%, transparent),
    0 14px 28px color-mix(in srgb, var(--theme-accent) 24%, transparent);
}

.settings-detail-shell.is-health-detail .settings-save-status {
  display: inline;
  max-width: 280px;
  color: #5d6874;
  font-size: 13px;
  font-weight: 800;
}

.settings-detail-shell.is-health-detail .settings-detail-head h2 {
  margin-bottom: 8px;
  font-size: 36px;
  letter-spacing: 0;
}

.settings-detail-shell.is-health-detail .settings-detail-head p {
  max-width: 720px;
  color: #465766;
  font-size: 14.5px;
  font-weight: 650;
}

.settings-detail-shell.is-health-detail .settings-detail-art {
  top: 116px;
  right: 44px;
  width: 360px;
  height: 230px;
  z-index: 2;
  transform: scale(0.94);
  transform-origin: top right;
  opacity: 0.62;
}

.settings-detail-shell.is-health-detail .settings-editor-summary-strip {
  width: min(980px, calc((100% - 24px) * 0.7));
  max-width: none;
  gap: 14px;
  margin-bottom: 22px;
}

.settings-detail-shell.is-health-detail .settings-editor-summary-strip article {
  min-height: 120px;
  padding: 20px 22px;
  align-content: center;
  border-radius: 9px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(250, 253, 255, 0.82)),
    var(--surface);
  box-shadow:
    0 14px 26px rgba(44, 37, 28, 0.052),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.settings-detail-shell.is-health-detail .settings-editor-summary-strip article > div > span {
  font-size: 10px;
}

.settings-detail-shell.is-health-detail .settings-editor-summary-strip strong {
  font-size: 18px;
}

.settings-detail-shell.is-health-detail .settings-editor-layout {
  grid-template-columns: minmax(0, 7fr) minmax(320px, 3fr);
  justify-content: start;
  gap: 24px;
}

.settings-detail-shell.is-health-detail .settings-context-card {
  position: relative;
  overflow: hidden;
  padding: 20px;
  border-radius: 9px;
  border-color: color-mix(in srgb, var(--theme-accent) 16%, rgba(54, 45, 36, 0.12));
  box-shadow:
    0 12px 26px rgba(44, 37, 28, 0.048),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.settings-detail-shell.is-health-detail .settings-context-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--theme-accent-strong), color-mix(in srgb, var(--theme-accent) 44%, #fff), transparent 84%);
  opacity: 0.75;
}

.settings-detail-shell.is-health-detail #settings-context-glance-card h3,
.settings-detail-shell.is-health-detail .settings-tip-card h3 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 8px;
  font-size: 15.5px;
}

.settings-detail-shell.is-health-detail #settings-context-glance-card h3::before,
.settings-detail-shell.is-health-detail .settings-tip-card h3::before {
  content: "";
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 999px;
  background: #eee9ff;
  box-shadow:
    inset 0 0 0 1px rgba(122, 92, 240, 0.07),
    0 10px 18px rgba(122, 92, 240, 0.1);
}

.settings-detail-shell.is-health-detail #settings-context-glance-card h3::before {
  background:
    radial-gradient(circle at 11px 11px, #7a5cf0 0 2px, transparent 2.6px),
    radial-gradient(circle at 11px 18px, #7a5cf0 0 2px, transparent 2.6px),
    radial-gradient(circle at 11px 25px, #7a5cf0 0 2px, transparent 2.6px),
    linear-gradient(#7a5cf0, #7a5cf0) 16px 10px / 13px 2.5px no-repeat,
    linear-gradient(#7a5cf0, #7a5cf0) 16px 17px / 13px 2.5px no-repeat,
    linear-gradient(#7a5cf0, #7a5cf0) 16px 24px / 13px 2.5px no-repeat,
    #eee9ff;
}

.settings-detail-shell.is-health-detail .settings-tip-card h3::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 50%;
  width: 20px;
  height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237a5cf0' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5S4.5 16.2 4.5 9.8A4.2 4.2 0 0 1 12 7.2a4.2 4.2 0 0 1 7.5 2.6c0 6.4-7.5 10.7-7.5 10.7Z'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
  transform: translateY(-50%);
}

.settings-detail-shell.is-health-detail .settings-money-tab-shell {
  display: none;
}

.settings-detail-shell.is-health-detail .settings-detail-section[data-settings-detail="money"] {
  gap: 0;
}

.settings-detail-shell.is-health-detail .settings-subsection[data-settings-money-panel="health"] {
  padding: 26px;
  align-content: start;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 25%, rgba(54, 45, 36, 0.14));
  border-radius: 9px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 253, 249, 0.88)),
    var(--surface);
  box-shadow:
    0 20px 40px rgba(44, 37, 28, 0.082),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.settings-detail-shell.is-health-detail .settings-subsection[data-settings-money-panel="health"]::before {
  content: "";
  height: 4px;
  margin: -26px -26px 0;
  background: linear-gradient(90deg, var(--theme-accent-strong), color-mix(in srgb, var(--theme-accent) 52%, #fff), transparent 82%);
}

.settings-detail-shell.is-health-detail .settings-health-section-intro {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  max-width: none;
  padding-bottom: 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--theme-accent) 12%, rgba(54, 45, 36, 0.08));
}

.settings-detail-shell.is-health-detail .settings-health-section-intro .settings-section-intro-icon.health {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  color: #2f6fd8;
  background: #eaf2ff;
  box-shadow:
    inset 0 0 0 1px rgba(47, 111, 216, 0.07),
    0 10px 18px rgba(47, 111, 216, 0.1);
}

.settings-detail-shell.is-health-detail .settings-health-section-intro .settings-section-intro-icon.health svg {
  width: 22px;
  height: 22px;
  stroke-width: 2.25;
}

.settings-detail-shell.is-health-detail .settings-health-section-intro h4 {
  margin-bottom: 5px;
  color: var(--text);
  font-size: 19px;
  font-weight: 950;
  letter-spacing: 0;
}

.settings-detail-shell.is-health-detail .settings-health-section-intro p {
  max-width: 760px;
  font-size: 13px;
  font-weight: 650;
}

.settings-detail-shell.is-health-detail .settings-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 820px;
  gap: 18px 22px;
}

.settings-detail-shell.is-health-detail .settings-field {
  align-content: start;
  gap: 9px;
  color: #1d2b38;
  font-size: 12px;
  font-weight: 950;
}

.settings-detail-shell.is-health-detail .settings-field span {
  letter-spacing: 0.01em;
}

.settings-detail-shell.is-health-detail .settings-field input,
.settings-detail-shell.is-health-detail .settings-field select {
  min-height: 48px;
  border-color: color-mix(in srgb, var(--theme-accent) 13%, rgba(54, 45, 36, 0.16));
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9));
  font-size: 14px;
  font-weight: 780;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.86),
    0 6px 14px rgba(44, 37, 28, 0.025);
}

.settings-detail-shell.is-health-detail .settings-field select {
  cursor: pointer;
  background-image:
    linear-gradient(45deg, transparent 50%, #42535f 50%),
    linear-gradient(135deg, #42535f 50%, transparent 50%),
    linear-gradient(180deg, rgba(54, 45, 36, 0.12), rgba(54, 45, 36, 0.12)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9));
  background-position:
    calc(100% - 21px) 50%,
    calc(100% - 15px) 50%,
    calc(100% - 42px) 50%,
    0 0;
  background-size:
    6px 6px,
    6px 6px,
    1px 24px,
    100% 100%;
  background-repeat: no-repeat;
  padding-right: 52px;
}

.settings-detail-shell.is-health-detail .settings-aca-dependent-note {
  grid-column: 2;
  margin-top: -10px;
  max-width: 560px;
}

.settings-detail-shell.is-health-detail .settings-subsidy-auto-summary {
  max-width: 920px;
}

.settings-detail-shell.is-health-detail .settings-tax-auto-summary article {
  border-color: color-mix(in srgb, var(--theme-accent) 12%, rgba(54, 45, 36, 0.12));
  border-radius: 9px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(250, 253, 255, 0.76));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

.settings-detail-shell.is-health-detail .settings-tax-auto-summary strong {
  font-size: 14px;
}

.settings-detail-shell.is-health-detail .settings-array-editor {
  gap: 12px;
  margin-top: 2px;
}

.settings-detail-shell.is-health-detail .settings-array-editor-head,
.settings-detail-shell.is-health-detail .settings-array-row,
.settings-detail-shell.is-health-detail .settings-array-empty {
  border-color: color-mix(in srgb, var(--theme-accent) 12%, rgba(54, 45, 36, 0.12));
  border-radius: 9px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(250, 253, 255, 0.76));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

.settings-detail-shell.is-health-detail .settings-array-editor-head {
  padding: 13px 14px;
}

.settings-detail-shell.is-health-detail .settings-array-editor-head strong,
.settings-detail-shell.is-health-detail .settings-array-row-head strong {
  font-weight: 950;
}

.settings-detail-shell.is-health-detail .settings-array-editor-head p,
.settings-detail-shell.is-health-detail .settings-array-row-head p {
  color: #596874;
}

.settings-detail-shell.is-health-detail .settings-array-edit-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 820px;
}

.settings-detail-shell.is-health-detail .settings-array-editor-head .settings-link-button[data-v2-settings-array-action="add"] {
  min-height: 34px;
  border: 1px solid color-mix(in srgb, var(--theme-accent-strong) 64%, rgba(54, 45, 36, 0.12));
  border-radius: 10px;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 82%, #fff),
      var(--theme-accent-strong));
  color: #fff;
  padding: 0 13px;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
  box-shadow:
    0 10px 18px color-mix(in srgb, var(--theme-accent) 18%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.settings-detail-shell.is-health-detail .settings-array-editor-head .settings-link-button[data-v2-settings-array-action="add"]:hover {
  border-color: color-mix(in srgb, var(--theme-accent-strong) 78%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 90%, #fff),
      color-mix(in srgb, var(--theme-accent-strong) 92%, #112));
  color: #fff;
  box-shadow:
    0 12px 22px color-mix(in srgb, var(--theme-accent) 24%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.32);
  transform: translateY(-1px);
}

.settings-detail-shell.is-health-detail .settings-array-row-head .settings-link-button.danger[data-v2-settings-array-action="remove"] {
  min-height: 32px;
  border: 1px solid color-mix(in srgb, var(--red) 48%, rgba(54, 45, 36, 0.12));
  border-radius: 10px;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--red) 9%, #fff),
      color-mix(in srgb, var(--red) 5%, #fff));
  color: var(--red);
  padding: 0 12px;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
  box-shadow:
    0 8px 16px color-mix(in srgb, var(--red) 10%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.settings-detail-shell.is-health-detail .settings-array-row-head .settings-link-button.danger[data-v2-settings-array-action="remove"]:hover {
  border-color: color-mix(in srgb, var(--red) 68%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--red) 92%, #fff),
      var(--red));
  color: #fff;
  box-shadow:
    0 10px 20px color-mix(in srgb, var(--red) 18%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
  transform: translateY(-1px);
}

.settings-detail-shell.is-tax-detail {
  padding: 30px 32px 32px;
  border-color: color-mix(in srgb, var(--theme-accent) 18%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 5% 0%, color-mix(in srgb, var(--theme-accent) 7%, transparent), transparent 24rem),
    radial-gradient(circle at 95% 6%, color-mix(in srgb, var(--theme-accent) 8%, transparent), transparent 20rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.988), rgba(255, 252, 248, 0.966) 55%, rgba(255, 255, 255, 0.958)),
    var(--surface);
  box-shadow:
    0 24px 58px rgba(44, 37, 28, 0.085),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.settings-detail-shell.is-tax-detail::before {
  opacity: 1;
}

.settings-detail-shell.is-tax-detail .settings-detail-head {
  min-height: 92px;
  align-items: flex-start;
  margin-bottom: 20px;
  padding-right: 220px;
}

.settings-detail-shell.is-tax-detail .settings-detail-actions {
  position: absolute;
  top: 32px;
  right: 32px;
  z-index: 4;
}

.settings-detail-shell.is-tax-detail .settings-detail-actions .button {
  min-width: 92px;
}

.settings-detail-shell.is-tax-detail #settings-done-button {
  min-height: 36px;
  border: 1px solid color-mix(in srgb, var(--theme-accent-strong) 72%, rgba(54, 45, 36, 0.12));
  border-radius: 11px;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 86%, #fff),
      var(--theme-accent-strong));
  color: #fff;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 950;
  box-shadow:
    0 14px 28px color-mix(in srgb, var(--theme-accent) 24%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.settings-detail-shell.is-tax-detail #settings-done-button:hover {
  border-color: color-mix(in srgb, var(--theme-accent-strong) 82%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 92%, #fff),
      color-mix(in srgb, var(--theme-accent-strong) 92%, #112));
  color: #fff;
  box-shadow:
    0 17px 32px color-mix(in srgb, var(--theme-accent) 30%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  transform: translateY(-1px);
}

.settings-detail-shell.is-tax-detail #settings-done-button:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--theme-accent) 18%, transparent),
    0 14px 28px color-mix(in srgb, var(--theme-accent) 24%, transparent);
}

.settings-detail-shell.is-tax-detail .settings-save-status {
  display: inline;
  max-width: 280px;
  color: #5d6874;
  font-size: 13px;
  font-weight: 800;
}

.settings-detail-shell.is-tax-detail .settings-detail-head h2 {
  margin-bottom: 8px;
  font-size: 36px;
  letter-spacing: 0;
}

.settings-detail-shell.is-tax-detail .settings-detail-head p {
  max-width: 720px;
  color: #465766;
  font-size: 14.5px;
  font-weight: 650;
}

.settings-detail-shell.is-tax-detail .settings-detail-art {
  top: 116px;
  right: 44px;
  width: 360px;
  height: 230px;
  z-index: 2;
  transform: scale(0.94);
  transform-origin: top right;
  opacity: 0.62;
}

.settings-detail-shell.is-tax-detail .settings-editor-summary-strip {
  width: min(980px, calc((100% - 24px) * 0.7));
  max-width: none;
  gap: 14px;
  margin-bottom: 22px;
}

.settings-detail-shell.is-tax-detail .settings-editor-summary-strip article {
  min-height: 120px;
  padding: 20px 22px;
  align-content: center;
  border-radius: 9px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(250, 253, 255, 0.82)),
    var(--surface);
  box-shadow:
    0 14px 26px rgba(44, 37, 28, 0.052),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.settings-detail-shell.is-tax-detail .settings-editor-summary-strip article > div > span {
  font-size: 10px;
}

.settings-detail-shell.is-tax-detail .settings-editor-summary-strip strong {
  font-size: 18px;
}

.settings-detail-shell.is-tax-detail .settings-editor-layout {
  grid-template-columns: minmax(0, 7fr) minmax(320px, 3fr);
  justify-content: start;
  gap: 24px;
}

.settings-detail-shell.is-tax-detail .settings-context-card {
  position: relative;
  overflow: hidden;
  padding: 20px;
  border-radius: 9px;
  border-color: color-mix(in srgb, var(--theme-accent) 16%, rgba(54, 45, 36, 0.12));
  box-shadow:
    0 12px 26px rgba(44, 37, 28, 0.048),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.settings-detail-shell.is-tax-detail .settings-context-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--theme-accent-strong), color-mix(in srgb, var(--theme-accent) 44%, #fff), transparent 84%);
  opacity: 0.75;
}

.settings-detail-shell.is-tax-detail #settings-context-glance-card h3,
.settings-detail-shell.is-tax-detail .settings-tip-card h3 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 8px;
  font-size: 15.5px;
}

.settings-detail-shell.is-tax-detail #settings-context-glance-card h3::before,
.settings-detail-shell.is-tax-detail .settings-tip-card h3::before {
  content: "";
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 999px;
  background: #eee9ff;
  box-shadow:
    inset 0 0 0 1px rgba(122, 92, 240, 0.07),
    0 10px 18px rgba(122, 92, 240, 0.1);
}

.settings-detail-shell.is-tax-detail #settings-context-glance-card h3::before {
  background:
    radial-gradient(circle at 11px 11px, #7a5cf0 0 2px, transparent 2.6px),
    radial-gradient(circle at 11px 18px, #7a5cf0 0 2px, transparent 2.6px),
    radial-gradient(circle at 11px 25px, #7a5cf0 0 2px, transparent 2.6px),
    linear-gradient(#7a5cf0, #7a5cf0) 16px 10px / 13px 2.5px no-repeat,
    linear-gradient(#7a5cf0, #7a5cf0) 16px 17px / 13px 2.5px no-repeat,
    linear-gradient(#7a5cf0, #7a5cf0) 16px 24px / 13px 2.5px no-repeat,
    #eee9ff;
}

.settings-detail-shell.is-tax-detail .settings-tip-card h3::after {
  content: "%";
  position: absolute;
  left: 8px;
  top: 50%;
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  color: #7a5cf0;
  font-size: 18px;
  font-weight: 950;
  line-height: 1;
  transform: translateY(-50%);
}

.settings-detail-shell.is-tax-detail .settings-money-tab-shell {
  display: none;
}

.settings-detail-shell.is-tax-detail .settings-detail-section[data-settings-detail="money"] {
  gap: 0;
}

.settings-detail-shell.is-tax-detail .settings-subsection[data-settings-money-panel="taxes"] {
  padding: 26px;
  align-content: start;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 25%, rgba(54, 45, 36, 0.14));
  border-radius: 9px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 253, 249, 0.88)),
    var(--surface);
  box-shadow:
    0 20px 40px rgba(44, 37, 28, 0.082),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.settings-detail-shell.is-tax-detail .settings-subsection[data-settings-money-panel="taxes"]::before {
  content: "";
  height: 4px;
  margin: -26px -26px 0;
  background: linear-gradient(90deg, var(--theme-accent-strong), color-mix(in srgb, var(--theme-accent) 52%, #fff), transparent 82%);
}

.settings-detail-shell.is-tax-detail .settings-tax-section-intro {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  max-width: none;
  padding-bottom: 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--theme-accent) 12%, rgba(54, 45, 36, 0.08));
}

.settings-detail-shell.is-tax-detail .settings-tax-section-intro .settings-section-intro-icon.taxes {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  color: #8a5b00;
  background: var(--gold-soft);
  box-shadow:
    inset 0 0 0 1px rgba(138, 91, 0, 0.08),
    0 10px 18px rgba(138, 91, 0, 0.1);
}

.settings-detail-shell.is-tax-detail .settings-tax-section-intro .settings-section-intro-icon.taxes svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.settings-detail-shell.is-tax-detail .settings-tax-section-intro h4 {
  margin-bottom: 5px;
  color: var(--text);
  font-size: 19px;
  font-weight: 950;
  letter-spacing: 0;
}

.settings-detail-shell.is-tax-detail .settings-tax-section-intro p {
  max-width: 760px;
  font-size: 13px;
  font-weight: 650;
}

.settings-detail-shell.is-tax-detail .settings-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 820px;
  gap: 18px 22px;
}

.settings-detail-shell.is-tax-detail .settings-field {
  gap: 9px;
  color: #1d2b38;
  font-size: 12px;
  font-weight: 950;
}

.settings-detail-shell.is-tax-detail .settings-field span {
  letter-spacing: 0.01em;
}

.settings-detail-shell.is-tax-detail .settings-field input,
.settings-detail-shell.is-tax-detail .settings-field select {
  min-height: 48px;
  border-color: color-mix(in srgb, var(--theme-accent) 13%, rgba(54, 45, 36, 0.16));
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9));
  font-size: 14px;
  font-weight: 780;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.86),
    0 6px 14px rgba(44, 37, 28, 0.025);
}

.settings-detail-shell.is-tax-detail .settings-field select {
  cursor: pointer;
  background-image:
    linear-gradient(45deg, transparent 50%, #42535f 50%),
    linear-gradient(135deg, #42535f 50%, transparent 50%),
    linear-gradient(180deg, rgba(54, 45, 36, 0.12), rgba(54, 45, 36, 0.12)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9));
  background-position:
    calc(100% - 21px) 50%,
    calc(100% - 15px) 50%,
    calc(100% - 42px) 50%,
    0 0;
  background-size:
    6px 6px,
    6px 6px,
    1px 24px,
    100% 100%;
  background-repeat: no-repeat;
  padding-right: 52px;
}

.settings-detail-shell.is-tax-detail .settings-tax-auto-summary {
  max-width: 920px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.settings-detail-shell.is-tax-detail .settings-tax-auto-summary article,
.settings-detail-shell.is-tax-detail .settings-tax-manual-fields .settings-field {
  border-color: color-mix(in srgb, var(--theme-accent) 12%, rgba(54, 45, 36, 0.12));
}

.settings-detail-shell.is-tax-detail .settings-tax-auto-summary article {
  border-radius: 9px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(250, 253, 255, 0.76));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

.settings-detail-shell.is-tax-detail .settings-tax-auto-summary strong {
  font-size: 14px;
}

.settings-detail-shell.is-tax-detail .settings-tax-auto-summary p {
  margin: 8px 0 0;
  color: color-mix(in srgb, var(--muted) 88%, var(--theme-accent));
  font-size: 13px;
  line-height: 1.45;
}

.settings-detail-shell.is-withdrawals-detail {
  padding: 30px 32px 32px;
  border-color: color-mix(in srgb, var(--theme-accent) 18%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 5% 0%, color-mix(in srgb, var(--theme-accent) 7%, transparent), transparent 24rem),
    radial-gradient(circle at 95% 6%, color-mix(in srgb, var(--theme-accent) 8%, transparent), transparent 20rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.988), rgba(255, 252, 248, 0.966) 55%, rgba(255, 255, 255, 0.958)),
    var(--surface);
  box-shadow:
    0 24px 58px rgba(44, 37, 28, 0.085),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.settings-detail-shell.is-withdrawals-detail::before {
  opacity: 1;
}

.settings-detail-shell.is-withdrawals-detail .settings-detail-head {
  min-height: 92px;
  align-items: flex-start;
  margin-bottom: 20px;
  padding-right: 220px;
}

.settings-detail-shell.is-withdrawals-detail .settings-detail-actions {
  position: absolute;
  top: 32px;
  right: 32px;
  z-index: 4;
}

.settings-detail-shell.is-withdrawals-detail .settings-detail-actions .button {
  min-width: 92px;
}

.settings-detail-shell.is-withdrawals-detail #settings-done-button {
  min-height: 36px;
  border: 1px solid color-mix(in srgb, var(--theme-accent-strong) 72%, rgba(54, 45, 36, 0.12));
  border-radius: 11px;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 86%, #fff),
      var(--theme-accent-strong));
  color: #fff;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 950;
  box-shadow:
    0 14px 28px color-mix(in srgb, var(--theme-accent) 24%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.settings-detail-shell.is-withdrawals-detail #settings-done-button:hover {
  border-color: color-mix(in srgb, var(--theme-accent-strong) 82%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 92%, #fff),
      color-mix(in srgb, var(--theme-accent-strong) 92%, #112));
  color: #fff;
  box-shadow:
    0 17px 32px color-mix(in srgb, var(--theme-accent) 30%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  transform: translateY(-1px);
}

.settings-detail-shell.is-withdrawals-detail #settings-done-button:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--theme-accent) 18%, transparent),
    0 14px 28px color-mix(in srgb, var(--theme-accent) 24%, transparent);
}

.settings-detail-shell.is-withdrawals-detail .settings-save-status {
  display: inline;
  max-width: 280px;
  color: #5d6874;
  font-size: 13px;
  font-weight: 800;
}

.settings-detail-shell.is-withdrawals-detail .settings-detail-head h2 {
  margin-bottom: 8px;
  font-size: 36px;
  letter-spacing: 0;
}

.settings-detail-shell.is-withdrawals-detail .settings-detail-head p {
  max-width: 720px;
  color: #465766;
  font-size: 14.5px;
  font-weight: 650;
}

.settings-detail-shell.is-withdrawals-detail .settings-detail-art {
  top: 116px;
  right: 44px;
  width: 360px;
  height: 230px;
  z-index: 2;
  transform: scale(0.94);
  transform-origin: top right;
  opacity: 0.62;
}

.settings-detail-shell.is-withdrawals-detail .settings-editor-summary-strip {
  width: min(980px, calc((100% - 24px) * 0.7));
  max-width: none;
  gap: 14px;
  margin-bottom: 22px;
}

.settings-detail-shell.is-withdrawals-detail .settings-editor-summary-strip article {
  min-height: 120px;
  padding: 20px 22px;
  align-content: center;
  border-radius: 9px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(250, 253, 255, 0.82)),
    var(--surface);
  box-shadow:
    0 14px 26px rgba(44, 37, 28, 0.052),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.settings-detail-shell.is-withdrawals-detail .settings-editor-summary-strip article > div > span {
  font-size: 10px;
}

.settings-detail-shell.is-withdrawals-detail .settings-editor-summary-strip strong {
  font-size: 18px;
}

.settings-detail-shell.is-withdrawals-detail .settings-editor-layout {
  grid-template-columns: minmax(0, 7fr) minmax(320px, 3fr);
  justify-content: start;
  gap: 24px;
}

.settings-detail-shell.is-withdrawals-detail .settings-context-card {
  position: relative;
  overflow: hidden;
  padding: 20px;
  border-radius: 9px;
  border-color: color-mix(in srgb, var(--theme-accent) 16%, rgba(54, 45, 36, 0.12));
  box-shadow:
    0 12px 26px rgba(44, 37, 28, 0.048),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.settings-detail-shell.is-withdrawals-detail .settings-context-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--theme-accent-strong), color-mix(in srgb, var(--theme-accent) 44%, #fff), transparent 84%);
  opacity: 0.75;
}

.settings-detail-shell.is-withdrawals-detail #settings-context-glance-card h3,
.settings-detail-shell.is-withdrawals-detail .settings-tip-card h3 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 8px;
  font-size: 15.5px;
}

.settings-detail-shell.is-withdrawals-detail #settings-context-glance-card h3::before,
.settings-detail-shell.is-withdrawals-detail .settings-tip-card h3::before {
  content: "";
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 999px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312824c' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7h10'/%3E%3Cpath d='m14 4 3 3-3 3'/%3E%3Cpath d='M17 17H7'/%3E%3Cpath d='m10 14-3 3 3 3'/%3E%3C/svg%3E") center / 21px 21px no-repeat,
    #e5f5eb;
  box-shadow:
    inset 0 0 0 1px rgba(18, 130, 76, 0.07),
    0 10px 18px rgba(18, 130, 76, 0.1);
}

.settings-detail-shell.is-withdrawals-detail .settings-tip-card h3::after {
  content: none;
}

.settings-detail-shell.is-withdrawals-detail .settings-tabs {
  display: none;
}

.settings-detail-shell.is-withdrawals-detail .settings-detail-section[data-settings-detail="withdrawals"] {
  gap: 0;
}

.settings-detail-shell.is-withdrawals-detail .settings-withdrawal-section {
  padding: 26px;
  align-content: start;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 25%, rgba(54, 45, 36, 0.14));
  border-radius: 9px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 253, 249, 0.88)),
    var(--surface);
  box-shadow:
    0 20px 40px rgba(44, 37, 28, 0.082),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.settings-detail-shell.is-withdrawals-detail .settings-withdrawal-section::before {
  content: "";
  height: 4px;
  margin: -26px -26px 0;
  background: linear-gradient(90deg, var(--theme-accent-strong), color-mix(in srgb, var(--theme-accent) 52%, #fff), transparent 82%);
}

.settings-detail-shell.is-withdrawals-detail .settings-withdrawal-section-intro {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  max-width: none;
  padding-bottom: 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--theme-accent) 12%, rgba(54, 45, 36, 0.08));
}

.settings-detail-shell.is-withdrawals-detail .settings-withdrawal-section-intro .settings-section-intro-icon.withdrawals {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  color: var(--success);
  background: #e5f5eb;
  box-shadow:
    inset 0 0 0 1px rgba(18, 130, 76, 0.07),
    0 10px 18px rgba(18, 130, 76, 0.1);
}

.settings-detail-shell.is-withdrawals-detail .settings-withdrawal-section-intro .settings-section-intro-icon.withdrawals svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.settings-detail-shell.is-withdrawals-detail .settings-withdrawal-section-intro h4 {
  margin-bottom: 5px;
  color: var(--text);
  font-size: 19px;
  font-weight: 950;
  letter-spacing: 0;
}

.settings-detail-shell.is-withdrawals-detail .settings-withdrawal-section-intro p {
  max-width: 760px;
  font-size: 13px;
  font-weight: 650;
}

.settings-detail-shell.is-withdrawals-detail .settings-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 820px;
  gap: 18px 22px;
}

.settings-detail-shell.is-withdrawals-detail .settings-field {
  align-content: start;
  gap: 9px;
  color: #1d2b38;
  font-size: 12px;
  font-weight: 950;
}

.settings-detail-shell.is-withdrawals-detail .settings-field span {
  letter-spacing: 0.01em;
}

.settings-detail-shell.is-withdrawals-detail .settings-field input,
.settings-detail-shell.is-withdrawals-detail .settings-field select,
.settings-detail-shell.is-withdrawals-detail .settings-mini-field input,
.settings-detail-shell.is-withdrawals-detail .settings-mini-field select {
  min-height: 48px;
  border-color: color-mix(in srgb, var(--theme-accent) 13%, rgba(54, 45, 36, 0.16));
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9));
  font-size: 14px;
  font-weight: 780;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.86),
    0 6px 14px rgba(44, 37, 28, 0.025);
}

.settings-detail-shell.is-withdrawals-detail .settings-field select,
.settings-detail-shell.is-withdrawals-detail .settings-mini-field select {
  cursor: pointer;
  background-image:
    linear-gradient(45deg, transparent 50%, #42535f 50%),
    linear-gradient(135deg, #42535f 50%, transparent 50%),
    linear-gradient(180deg, rgba(54, 45, 36, 0.12), rgba(54, 45, 36, 0.12)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9));
  background-position:
    calc(100% - 21px) 50%,
    calc(100% - 15px) 50%,
    calc(100% - 42px) 50%,
    0 0;
  background-size:
    6px 6px,
    6px 6px,
    1px 24px,
    100% 100%;
  background-repeat: no-repeat;
  padding-right: 52px;
}

.settings-detail-shell.is-withdrawals-detail .settings-array-editor {
  margin-top: 20px;
}

.settings-detail-shell.is-withdrawals-detail .settings-array-editor-head,
.settings-detail-shell.is-withdrawals-detail .settings-array-row {
  border-color: color-mix(in srgb, var(--theme-accent) 14%, rgba(54, 45, 36, 0.12));
  border-radius: 9px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(252, 255, 253, 0.78));
}

.settings-detail-shell.is-withdrawals-detail .settings-array-editor-head .settings-link-button[data-v2-settings-array-action="add"] {
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid color-mix(in srgb, var(--theme-accent-strong) 70%, rgba(54, 45, 36, 0.12));
  border-radius: 9px;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 86%, #fff),
      var(--theme-accent-strong));
  color: #fff;
  font-size: 14px;
  font-weight: 950;
  box-shadow:
    0 14px 28px color-mix(in srgb, var(--theme-accent) 24%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.26);
}

.settings-detail-shell.is-withdrawals-detail .settings-array-row-head .settings-link-button.danger[data-v2-settings-array-action="remove"] {
  min-height: 40px;
  padding: 0 17px;
  border: 1px solid rgba(194, 65, 61, 0.45);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 246, 246, 0.86));
  color: var(--red);
  font-size: 13px;
  font-weight: 950;
}

.settings-detail-shell.is-planning-detail {
  padding: 30px 32px 32px;
  border-color: color-mix(in srgb, var(--theme-accent) 18%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 5% 0%, color-mix(in srgb, var(--theme-accent) 7%, transparent), transparent 24rem),
    radial-gradient(circle at 95% 6%, color-mix(in srgb, var(--theme-accent) 8%, transparent), transparent 20rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.988), rgba(255, 252, 248, 0.966) 55%, rgba(255, 255, 255, 0.958)),
    var(--surface);
  box-shadow:
    0 24px 58px rgba(44, 37, 28, 0.085),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.settings-detail-shell.is-planning-detail::before {
  opacity: 1;
}

.settings-detail-shell.is-planning-detail .settings-detail-head {
  min-height: 92px;
  align-items: flex-start;
  margin-bottom: 20px;
  padding-right: 220px;
}

.settings-detail-shell.is-planning-detail .settings-detail-actions {
  position: absolute;
  top: 32px;
  right: 32px;
  z-index: 4;
}

.settings-detail-shell.is-planning-detail .settings-detail-actions .button {
  min-width: 92px;
}

.settings-detail-shell.is-planning-detail #settings-done-button {
  min-height: 36px;
  border: 1px solid color-mix(in srgb, var(--theme-accent-strong) 72%, rgba(54, 45, 36, 0.12));
  border-radius: 11px;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 86%, #fff),
      var(--theme-accent-strong));
  color: #fff;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 950;
  box-shadow:
    0 14px 28px color-mix(in srgb, var(--theme-accent) 24%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.settings-detail-shell.is-planning-detail #settings-done-button:hover {
  transform: translateY(-1px);
}

.settings-detail-shell.is-planning-detail .settings-save-status {
  display: inline;
  max-width: 280px;
  color: #5d6874;
  font-size: 13px;
  font-weight: 800;
}

.settings-detail-shell.is-planning-detail .settings-detail-head h2 {
  margin-bottom: 8px;
  font-size: 36px;
  letter-spacing: 0;
}

.settings-detail-shell.is-planning-detail .settings-detail-head p {
  max-width: 720px;
  color: #465766;
  font-size: 14.5px;
  font-weight: 650;
}

.settings-detail-shell.is-planning-detail .settings-detail-art {
  top: 116px;
  right: 44px;
  width: 360px;
  height: 230px;
  z-index: 2;
  transform: scale(0.94);
  transform-origin: top right;
  opacity: 0.62;
}

.settings-detail-shell.is-planning-detail .settings-editor-summary-strip {
  width: min(980px, calc((100% - 24px) * 0.7));
  max-width: none;
  gap: 14px;
  margin-bottom: 22px;
}

.settings-detail-shell.is-planning-detail .settings-editor-summary-strip article {
  min-height: 120px;
  padding: 20px 22px;
  align-content: center;
  border-radius: 9px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(250, 253, 255, 0.82)),
    var(--surface);
  box-shadow:
    0 14px 26px rgba(44, 37, 28, 0.052),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.settings-detail-shell.is-planning-detail .settings-editor-summary-strip article > div > span {
  font-size: 10px;
}

.settings-detail-shell.is-planning-detail .settings-editor-summary-strip strong {
  font-size: 18px;
}

.settings-detail-shell.is-planning-detail .settings-editor-layout {
  grid-template-columns: minmax(0, 7fr) minmax(320px, 3fr);
  justify-content: start;
  gap: 24px;
}

.settings-detail-shell.is-planning-detail .settings-context-card {
  position: relative;
  overflow: hidden;
  padding: 20px;
  border-radius: 9px;
  border-color: color-mix(in srgb, var(--theme-accent) 16%, rgba(54, 45, 36, 0.12));
  box-shadow:
    0 12px 26px rgba(44, 37, 28, 0.048),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.settings-detail-shell.is-planning-detail .settings-context-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--theme-accent-strong), color-mix(in srgb, var(--theme-accent) 44%, #fff), transparent 84%);
  opacity: 0.75;
}

.settings-detail-shell.is-planning-detail #settings-context-glance-card h3,
.settings-detail-shell.is-planning-detail .settings-tip-card h3 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 8px;
  font-size: 15.5px;
}

.settings-detail-shell.is-planning-detail #settings-context-glance-card h3::before,
.settings-detail-shell.is-planning-detail .settings-tip-card h3::before {
  content: "";
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 999px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6fd8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V5'/%3E%3Cpath d='M4 19h16'/%3E%3Cpath d='m7 15 4-4 3 3 5-7'/%3E%3Cpath d='M15 7h4v4'/%3E%3C/svg%3E") center / 21px 21px no-repeat,
    #eaf2ff;
  box-shadow:
    inset 0 0 0 1px rgba(47, 111, 216, 0.07),
    0 10px 18px rgba(47, 111, 216, 0.1);
}

.settings-detail-shell.is-planning-detail .settings-tabs {
  display: none;
}

.settings-detail-shell.is-planning-detail .settings-detail-section[data-settings-detail="planning"] {
  gap: 0;
}

.settings-detail-shell.is-planning-detail .settings-planning-section {
  padding: 26px;
  align-content: start;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 25%, rgba(54, 45, 36, 0.14));
  border-radius: 9px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 253, 249, 0.88)),
    var(--surface);
  box-shadow:
    0 20px 40px rgba(44, 37, 28, 0.082),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.settings-detail-shell.is-planning-detail .settings-planning-section::before {
  content: "";
  height: 4px;
  margin: -26px -26px 0;
  background: linear-gradient(90deg, var(--theme-accent-strong), color-mix(in srgb, var(--theme-accent) 52%, #fff), transparent 82%);
}

.settings-detail-shell.is-planning-detail .settings-planning-section-intro {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  max-width: none;
  padding-bottom: 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--theme-accent) 12%, rgba(54, 45, 36, 0.08));
}

.settings-detail-shell.is-planning-detail .settings-planning-section-intro .settings-section-intro-icon.planning {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  color: #2f6fd8;
  background: #eaf2ff;
  box-shadow:
    inset 0 0 0 1px rgba(47, 111, 216, 0.07),
    0 10px 18px rgba(47, 111, 216, 0.1);
}

.settings-detail-shell.is-planning-detail .settings-planning-section-intro .settings-section-intro-icon.planning svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.settings-detail-shell.is-planning-detail .settings-planning-section-intro h4 {
  margin-bottom: 5px;
  color: var(--text);
  font-size: 19px;
  font-weight: 950;
  letter-spacing: 0;
}

.settings-detail-shell.is-planning-detail .settings-planning-section-intro p {
  max-width: 760px;
  font-size: 13px;
  font-weight: 650;
}

.settings-detail-shell.is-planning-detail .settings-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 820px;
  gap: 18px 22px;
  align-items: start;
}

.settings-detail-shell.is-planning-detail .settings-field {
  gap: 9px;
  color: #1d2b38;
  font-size: 12px;
  font-weight: 950;
}

.settings-detail-shell.is-planning-detail .settings-field input,
.settings-detail-shell.is-planning-detail .settings-field select {
  height: 48px;
  min-height: 48px;
  border-color: color-mix(in srgb, var(--theme-accent) 13%, rgba(54, 45, 36, 0.16));
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9));
  font-size: 14px;
  font-weight: 780;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.86),
    0 6px 14px rgba(44, 37, 28, 0.025);
}

.settings-detail-shell.is-planning-detail .settings-field select {
  appearance: none;
  padding-right: 42px;
  background:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.5 7.5 10 12l4.5-4.5' fill='none' stroke='%2327363d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 14px center / 16px 16px no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9));
}

.settings-detail-shell.is-planning-detail .settings-field-note {
  color: #65706c;
  font-size: 12px;
  font-weight: 720;
  line-height: 1.45;
}

.settings-detail-shell.is-planning-detail .settings-current-baseline-field.is-import-locked input {
  border-color: color-mix(in srgb, var(--theme-accent) 20%, rgba(54, 45, 36, 0.13));
  background:
    linear-gradient(180deg, rgba(247, 252, 255, 0.95), rgba(255, 255, 255, 0.86));
  color: #1d2b38;
  opacity: 1;
  cursor: default;
}

.settings-detail-shell.is-planning-detail .settings-current-baseline-field.is-import-locked .settings-field-note {
  color: color-mix(in srgb, var(--theme-accent) 42%, #4f5d58);
}

.settings-detail-shell.is-planning-detail .settings-field.is-auto-locked input {
  border-color: color-mix(in srgb, var(--theme-accent) 18%, rgba(54, 45, 36, 0.13));
  background:
    linear-gradient(180deg, rgba(247, 252, 255, 0.96), rgba(255, 255, 255, 0.88));
  color: #1d2b38;
  opacity: 1;
  cursor: default;
}

.settings-detail-shell.is-planning-detail .settings-inflation-auto-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 820px;
  margin-top: 18px;
  gap: 12px;
}

.settings-detail-shell.is-planning-detail .settings-inflation-auto-summary[hidden] {
  display: none;
}

.settings-detail-shell.is-planning-detail .settings-inflation-auto-summary article {
  border-color: color-mix(in srgb, var(--theme-accent) 16%, rgba(54, 45, 36, 0.1));
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(250, 253, 255, 0.82));
}

.settings-detail-shell.is-accounts-detail {
  --accounts-accent: #8a5b00;
  --accounts-soft: rgba(255, 246, 219, 0.72);
  padding: 30px 32px 32px;
  border-color: color-mix(in srgb, var(--theme-accent) 18%, rgba(54, 45, 36, 0.12));
  background:
    linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent) 58%, color-mix(in srgb, var(--theme-accent) 42%, #fff)) top / 100% 4px no-repeat,
    radial-gradient(circle at 5% 0%, color-mix(in srgb, var(--theme-accent) 7%, transparent), transparent 24rem),
    radial-gradient(circle at 95% 6%, color-mix(in srgb, var(--theme-accent) 8%, transparent), transparent 20rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.988), rgba(255, 252, 248, 0.966) 55%, rgba(255, 255, 255, 0.958)),
    var(--surface);
  box-shadow:
    0 24px 58px rgba(44, 37, 28, 0.085),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.settings-detail-shell.is-accounts-detail::before {
  opacity: 1;
}

.settings-detail-shell.is-accounts-detail .settings-detail-head {
  min-height: 92px;
  align-items: flex-start;
  margin-bottom: 20px;
  padding-right: 220px;
}

.settings-detail-shell.is-accounts-detail .settings-detail-actions {
  position: absolute;
  top: 32px;
  right: 32px;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 14px;
}

.settings-detail-shell.is-accounts-detail .settings-detail-actions .button {
  min-width: 92px;
}

.settings-detail-shell.is-accounts-detail #settings-done-button {
  min-height: 36px;
  padding: 0 18px;
  border: 1px solid color-mix(in srgb, var(--theme-accent-strong) 72%, rgba(54, 45, 36, 0.12));
  border-radius: 11px;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--theme-accent) 86%, #fff),
      var(--theme-accent-strong));
  color: #fff;
  font-size: 14px;
  font-weight: 950;
  box-shadow:
    0 14px 28px color-mix(in srgb, var(--theme-accent) 24%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.settings-detail-shell.is-accounts-detail .settings-detail-head h2 {
  font-family: Georgia, "Times New Roman", serif;
  margin-bottom: 8px;
  font-size: 36px;
  letter-spacing: 0;
}

.settings-detail-shell.is-accounts-detail .settings-detail-head p {
  max-width: 720px;
  color: #465766;
  font-size: 14.5px;
  font-weight: 650;
}

.settings-detail-shell.is-accounts-detail .settings-detail-art {
  top: 116px;
  right: 44px;
  width: 360px;
  height: 230px;
  z-index: 2;
  transform: scale(0.94);
  transform-origin: top right;
  opacity: 0.62;
  filter: none;
}

.settings-detail-shell.is-accounts-detail .settings-editor-summary-strip {
  width: min(980px, calc((100% - 24px) * 0.7));
  max-width: none;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 22px;
}

.settings-detail-shell.is-accounts-detail .settings-editor-summary-strip article {
  min-height: 120px;
  padding: 20px 22px;
  align-content: center;
  border-radius: 9px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(250, 253, 255, 0.82)),
    var(--surface);
  box-shadow:
    0 14px 26px rgba(44, 37, 28, 0.052),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.settings-detail-shell.is-accounts-detail .settings-editor-summary-strip article > div > span {
  font-size: 10px;
}

.settings-detail-shell.is-accounts-detail .settings-editor-summary-strip strong {
  font-size: 18px;
}

.settings-detail-shell.is-accounts-detail .settings-editor-layout {
  grid-template-columns: minmax(0, 1fr);
  justify-content: start;
  align-items: start;
  gap: 24px;
}

.settings-detail-shell.is-accounts-detail .settings-context-rail {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.settings-detail-shell.is-accounts-detail .settings-context-card {
  border-color: color-mix(in srgb, var(--accounts-accent) 18%, rgba(54, 45, 36, 0.12));
  border-radius: 8px;
}

.settings-detail-shell.is-accounts-detail #settings-context-glance-card h3,
.settings-detail-shell.is-accounts-detail .settings-tip-card h3 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 9px;
  font-size: 15.5px;
}

.settings-detail-shell.is-accounts-detail #settings-context-glance-card h3::before,
.settings-detail-shell.is-accounts-detail .settings-tip-card h3::before {
  content: "";
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 999px;
  color: var(--accounts-accent);
  background-color: var(--accounts-soft);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--accounts-accent) 9%, transparent),
    0 10px 18px color-mix(in srgb, var(--accounts-accent) 10%, transparent);
}

.settings-detail-shell.is-accounts-detail #settings-context-glance-card h3::before {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%238a5b00' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h16'/%3E%3Cpath d='M6 10v7'/%3E%3Cpath d='M10 10v7'/%3E%3Cpath d='M14 10v7'/%3E%3Cpath d='M18 10v7'/%3E%3Cpath d='M3.5 19h17'/%3E%3Cpath d='M12 4 4.5 8h15L12 4Z'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 22px 22px;
}

.settings-detail-shell.is-accounts-detail .settings-tip-card h3::before {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%238a5b00' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 18V8'/%3E%3Cpath d='M9 18v-6'/%3E%3Cpath d='M14 18v-9'/%3E%3Cpath d='M19 18V5'/%3E%3Cpath d='M4 18h16'/%3E%3Cpath d='m6 8 4 4 4-5 5 3'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 22px 22px;
}

.settings-detail-shell.is-accounts-detail .settings-tabs {
  display: none;
}

.settings-detail-shell.is-accounts-detail .settings-detail-section[data-settings-detail="accounts"] {
  display: grid;
  gap: 16px;
}

.settings-detail-shell.is-accounts-detail .settings-accounts-section {
  position: relative;
  overflow: hidden;
  padding: 34px 36px 30px;
  border-color: color-mix(in srgb, var(--accounts-accent) 24%, rgba(54, 45, 36, 0.12));
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 253, 248, 0.86)),
    var(--surface);
  box-shadow: 0 18px 46px rgba(44, 37, 28, 0.055);
}

.settings-detail-shell.is-accounts-detail .settings-accounts-section::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--theme-accent-strong), var(--theme-accent), color-mix(in srgb, var(--theme-accent) 42%, #fff));
}

.settings-detail-shell.is-accounts-detail .settings-accounts-section-intro {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 0;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(54, 45, 36, 0.08);
}

.settings-detail-shell.is-accounts-detail .settings-accounts-section-intro > div {
  flex: 1 1 auto;
  min-width: 0;
}

.settings-detail-shell.is-accounts-detail .settings-account-list-toolbar {
  display: flex;
  justify-content: flex-end;
  margin: 14px 0 8px;
}

.settings-detail-shell.is-accounts-detail .settings-account-toggle-all {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid color-mix(in srgb, var(--accounts-accent) 18%, rgba(54, 45, 36, 0.12));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
  color: var(--accounts-accent);
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(44, 37, 28, 0.04);
}

.settings-detail-shell.is-accounts-detail .settings-account-toggle-all:hover,
.settings-detail-shell.is-accounts-detail .settings-account-toggle-all:focus-visible {
  border-color: color-mix(in srgb, var(--accounts-accent) 34%, rgba(54, 45, 36, 0.12));
  background: color-mix(in srgb, var(--accounts-soft) 42%, white);
}

.settings-detail-shell.is-accounts-detail .settings-accounts-section-intro .settings-section-intro-icon.accounts {
  width: 42px;
  height: 42px;
  color: var(--accounts-accent);
  border-radius: 999px;
  background: var(--accounts-soft);
}

.settings-detail-shell.is-accounts-detail .settings-accounts-section-intro .settings-section-intro-icon.accounts svg {
  width: 23px;
  height: 23px;
}

.settings-detail-shell.is-accounts-detail .settings-accounts-section-intro h4 {
  margin: 0 0 4px;
  color: #1d2b38;
  font-size: 20px;
  font-weight: 950;
}

.settings-detail-shell.is-accounts-detail .settings-accounts-section-intro p {
  max-width: 760px;
  font-size: 13px;
  font-weight: 650;
}

.settings-detail-shell.is-accounts-detail .settings-accounts-individual-timing-note {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  margin: 18px 0 4px;
  padding: 16px 18px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 20%, rgba(54, 45, 36, 0.12));
  border-radius: 8px;
  background: color-mix(in srgb, var(--theme-accent-soft) 54%, white);
}

.settings-detail-shell.is-accounts-detail .settings-accounts-individual-timing-note[hidden] {
  display: none;
}

.settings-detail-shell.is-accounts-detail .settings-accounts-individual-timing-note span {
  display: block;
  margin-bottom: 3px;
  color: var(--theme-accent-strong);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.settings-detail-shell.is-accounts-detail .settings-accounts-individual-timing-note strong {
  display: block;
  color: #202a31;
  font-size: 16px;
  font-weight: 950;
}

.settings-detail-shell.is-accounts-detail .settings-accounts-individual-timing-note p {
  max-width: 850px;
  margin: 5px 0 0;
  color: #5e6b6b;
  font-size: 13px;
  line-height: 1.5;
}

.settings-detail-shell.is-accounts-detail .settings-investment-mix-banner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  margin: 18px 0 8px;
  padding: 20px 22px;
  border: 1px solid rgba(190, 128, 26, 0.34);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(255, 247, 226, 0.94), rgba(255, 252, 244, 0.86));
  box-shadow: 0 12px 28px rgba(91, 66, 25, 0.06);
}

.settings-detail-shell.is-accounts-detail .settings-investment-mix-banner[hidden] {
  display: none;
}

.settings-investment-mix-banner-copy > span {
  display: block;
  margin-bottom: 4px;
  color: #8b5c10;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.settings-investment-mix-banner-copy > .settings-investment-mix-new-pill {
  display: inline-flex;
  width: fit-content;
  min-height: 25px;
  align-items: center;
  margin: 0 0 9px;
  padding: 0 10px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 34%, transparent);
  border-radius: 999px;
  color: var(--theme-accent-strong);
  background: color-mix(in srgb, var(--theme-soft) 72%, white);
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: 0.075em;
  line-height: 1;
  text-transform: uppercase;
}

.settings-investment-mix-banner-copy > strong {
  display: block;
  color: var(--text);
  font-size: 18px;
  font-weight: 950;
}

.settings-investment-mix-banner-copy > p,
.settings-investment-mix-banner-copy details p {
  max-width: 900px;
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.settings-investment-mix-banner-copy details {
  margin-top: 9px;
}

.settings-investment-mix-banner-copy summary {
  color: var(--theme-accent-strong);
  cursor: pointer;
  font-size: 12px;
  font-weight: 900;
}

.settings-detail-shell.is-accounts-detail .settings-imported-account-metadata-section .settings-subsection-head {
  display: flex;
  align-items: center;
  gap: 16px;
}

.settings-detail-shell.is-accounts-detail .settings-imported-account-metadata-section .settings-section-intro-icon.accounts {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
}

.settings-detail-shell.is-accounts-detail .settings-account-list {
  gap: 14px;
}

.settings-detail-shell.is-accounts-detail .settings-account-row {
  padding: 0;
  border-color: color-mix(in srgb, var(--accounts-accent) 16%, rgba(54, 45, 36, 0.12));
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 253, 249, 0.82));
  box-shadow: none;
}

.settings-detail-shell.is-accounts-detail .settings-account-row:hover {
  transform: none;
  box-shadow: 0 12px 28px rgba(44, 37, 28, 0.045);
}

.settings-detail-shell.is-accounts-detail .settings-account-summary {
  grid-template-columns: minmax(220px, 1fr) minmax(0, 1.5fr);
  padding: 20px 22px;
}

.settings-detail-shell.is-accounts-detail .settings-account-summary strong {
  color: #202a31;
  font-size: 18px;
  font-weight: 950;
}

.settings-detail-shell.is-accounts-detail .settings-account-summary p {
  color: #5d6a70;
  font-size: 13px;
  font-weight: 650;
}

.settings-detail-shell.is-accounts-detail .settings-account-summary-meta span {
  color: #65706c;
  font-weight: 800;
  line-height: 1.35;
}

.settings-detail-shell.is-accounts-detail .settings-account-summary-meta i {
  border-color: color-mix(in srgb, var(--accounts-accent) 20%, rgba(43, 111, 186, 0.12));
  background: var(--accounts-soft);
}

.settings-detail-shell.is-accounts-detail .settings-account-summary-meta i::before {
  border-color: var(--accounts-accent);
}

.settings-detail-shell.is-accounts-detail .settings-account-edit-grid {
  grid-template-columns: 1fr;
  gap: 14px;
  margin: 0 22px 22px;
  padding: 18px 0 0;
}

.settings-detail-shell.is-accounts-detail .settings-account-field-group {
  display: grid;
  grid-template-columns: minmax(180px, 0.42fr) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--accounts-accent) 12%, rgba(54, 45, 36, 0.12));
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(255, 252, 246, 0.64));
}

.settings-detail-shell.is-accounts-detail .settings-account-field-group-head {
  display: grid;
  gap: 6px;
}

.settings-detail-shell.is-accounts-detail .settings-account-field-group h5 {
  margin: 0;
  color: #202a31;
  font-size: 13px;
  font-weight: 950;
}

.settings-detail-shell.is-accounts-detail .settings-account-field-group-head p {
  margin: 0;
  color: #65706c;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
}

.settings-detail-shell.is-accounts-detail .settings-account-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
  align-items: start;
}

.settings-detail-shell.is-accounts-detail .settings-account-split-contribution {
  display: grid;
  grid-column: 1 / -1;
  gap: 12px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, rgba(54, 45, 36, 0.12));
  border-radius: 8px;
  background: color-mix(in srgb, var(--theme-accent-soft) 38%, white);
}

.settings-detail-shell.is-accounts-detail .settings-account-split-contribution-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
}

.settings-detail-shell.is-accounts-detail .settings-account-split-contribution-head span {
  color: #1d2b38;
  font-size: 12px;
  font-weight: 950;
}

.settings-detail-shell.is-accounts-detail .settings-account-split-contribution-head strong {
  color: var(--theme-accent-strong);
  font-size: 15px;
  font-weight: 950;
}

.settings-detail-shell.is-accounts-detail .settings-account-split-contribution dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.settings-detail-shell.is-accounts-detail .settings-account-split-contribution dl > div {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(54, 45, 36, 0.09);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.82);
}

.settings-detail-shell.is-accounts-detail .settings-account-split-contribution dl > div.is-locked {
  border-color: rgba(116, 113, 108, 0.14);
  background:
    linear-gradient(180deg, rgba(247, 246, 243, 0.96), rgba(241, 239, 235, 0.88));
  cursor: not-allowed;
}

.settings-detail-shell.is-accounts-detail .settings-account-split-contribution dt {
  color: #65706c;
  font-size: 12px;
  font-weight: 800;
}

.settings-detail-shell.is-accounts-detail .settings-account-split-contribution dd {
  margin: 0 0 0 auto;
  color: #676d6d;
  font-size: 14px;
  font-weight: 950;
}

.settings-detail-shell.is-accounts-detail .settings-account-locked-icon {
  position: relative;
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
  border: 2px solid #c94342;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.74);
}

.settings-detail-shell.is-accounts-detail .settings-account-locked-icon::after {
  content: "";
  position: absolute;
  top: 8px;
  left: 2px;
  width: 13px;
  height: 2px;
  border-radius: 999px;
  background: #c94342;
  transform: rotate(-45deg);
  transform-origin: center;
}

.settings-detail-shell.is-accounts-detail .settings-account-split-contribution p {
  margin: 0;
  color: #65706c;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
}

.settings-detail-shell.is-accounts-detail .settings-account-split-contribution .settings-secondary-button {
  justify-self: start;
}

.settings-detail-shell.is-accounts-detail .settings-mini-field {
  align-self: start;
  align-content: start;
  gap: 8px;
}

.settings-detail-shell.is-accounts-detail .settings-mini-field span {
  display: flex;
  min-height: 18px;
  align-items: center;
  gap: 6px;
  color: #1d2b38;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: none;
}

.settings-detail-shell.is-accounts-detail .settings-mini-field em {
  min-height: 16px;
  line-height: 1;
  vertical-align: middle;
}

.settings-detail-shell.is-accounts-detail .settings-imported-account-metadata-section {
  position: relative;
  overflow: hidden;
  padding: 28px 30px 30px;
  border-color: color-mix(in srgb, var(--accounts-accent) 18%, rgba(54, 45, 36, 0.12));
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 253, 248, 0.84)),
    var(--surface);
  box-shadow: 0 14px 34px rgba(44, 37, 28, 0.045);
}

.settings-imported-account-metadata-list {
  display: grid;
  gap: 10px;
}

.settings-imported-account-row {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(221, 211, 197, 0.78);
  border-radius: 8px;
  background: rgba(255, 252, 247, 0.78);
}

.settings-imported-account-row.has-metadata-override {
  border-color: color-mix(in srgb, var(--theme-accent) 24%, rgba(221, 211, 197, 0.78));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--theme-soft) 20%, rgba(255, 255, 255, 0.92)), rgba(255, 252, 247, 0.82));
}

.settings-imported-account-mix {
  display: grid;
  grid-template-columns: minmax(210px, 0.55fr) minmax(240px, 0.75fr) minmax(260px, 1fr);
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
  border: 1px solid rgba(190, 128, 26, 0.25);
  border-radius: 8px;
  background: rgba(255, 248, 230, 0.62);
}

.settings-imported-account-mix > span {
  color: var(--text);
  font-size: 12px;
  font-weight: 900;
}

.settings-imported-account-mix em {
  margin-left: 5px;
  color: #8b5c10;
  font-size: 10px;
  font-style: normal;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.settings-imported-account-mix select {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--subtle);
  border-radius: 8px;
  padding: 0 11px;
  color: var(--text);
  background: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 780;
}

.settings-imported-account-mix small {
  color: var(--muted);
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.45;
}

.settings-imported-account-overview {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) max-content minmax(260px, 0.85fr);
  align-items: center;
  gap: 14px;
}

.settings-imported-account-main {
  min-width: 0;
}

.settings-imported-account-main strong,
.settings-imported-account-main p {
  display: block;
  overflow-wrap: anywhere;
}

.settings-imported-account-main strong {
  color: var(--text);
  font-size: 14px;
  font-weight: 900;
}

.settings-imported-account-main p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 740;
}

.settings-imported-account-bucket {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  max-width: 100%;
  gap: 8px;
  min-height: 38px;
  padding: 0 11px;
  border-radius: 8px;
  background: rgba(238, 242, 247, 0.92);
  color: var(--text);
  font-size: 12px;
  font-weight: 860;
  white-space: nowrap;
}

.settings-imported-account-bucket.brokerage {
  background: rgba(244, 235, 255, 0.78);
}

.settings-imported-account-bucket.savings {
  background: color-mix(in srgb, var(--success-soft) 70%, white);
}

.settings-imported-account-bucket.taxDeferred,
.settings-imported-account-bucket.roth {
  background: rgba(252, 235, 239, 0.82);
}

.settings-imported-account-bucket i {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.72);
}

.settings-imported-account-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.settings-imported-account-facts div {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid rgba(221, 211, 197, 0.7);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.66);
}

.settings-imported-account-facts dt,
.settings-imported-account-facts dd {
  margin: 0;
}

.settings-imported-account-facts dt {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.settings-imported-account-facts dd {
  margin-top: 3px;
  color: var(--text);
  font-size: 13px;
  font-weight: 860;
  overflow-wrap: anywhere;
}

.settings-imported-account-advanced {
  border-top: 1px solid rgba(221, 211, 197, 0.68);
  padding-top: 10px;
}

.settings-imported-account-advanced summary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  color: var(--theme-accent-strong);
  cursor: pointer;
  font-size: 12px;
  font-weight: 900;
  list-style: none;
}

.settings-imported-account-advanced summary::-webkit-details-marker {
  display: none;
}

.settings-imported-account-advanced summary::before {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  transition: transform 140ms ease;
}

.settings-imported-account-advanced[open] summary::before {
  transform: rotate(45deg);
}

.settings-imported-account-advanced summary em {
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(238, 242, 247, 0.88);
  color: var(--muted);
  font-style: normal;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.settings-imported-account-row.has-metadata-override .settings-imported-account-advanced summary em {
  background: color-mix(in srgb, var(--theme-soft) 68%, white);
  color: var(--theme-accent-strong);
}

.settings-imported-account-advanced > p {
  margin: 0 0 10px 16px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
}

.settings-imported-account-field-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
}

.settings-imported-account-field {
  display: grid;
  min-width: 0;
  gap: 6px;
}

.settings-imported-account-field span {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.settings-imported-account-field select {
  width: 100%;
  min-width: 0;
  min-height: 40px;
  border: 1px solid var(--subtle);
  border-radius: 8px;
  padding: 0 11px;
  color: var(--text);
  background: rgba(255, 255, 255, 0.9);
  font: inherit;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 780;
}

.settings-detail-shell.is-accounts-detail .settings-mini-field input,
.settings-detail-shell.is-accounts-detail .settings-mini-field select {
  height: 48px;
  min-height: 48px;
  border-color: color-mix(in srgb, var(--accounts-accent) 14%, rgba(54, 45, 36, 0.14));
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9));
  font-size: 14px;
  font-weight: 780;
}

.settings-detail-shell.is-accounts-detail .settings-mini-field select {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, color-mix(in srgb, var(--accounts-accent) 78%, #313e4c) 50%),
    linear-gradient(135deg, color-mix(in srgb, var(--accounts-accent) 78%, #313e4c) 50%, transparent 50%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9));
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 13px) 50%,
    0 0;
  background-repeat: no-repeat;
  background-size:
    5px 5px,
    5px 5px,
    100% 100%;
  padding-right: 36px;
}

.settings-detail-shell.is-accounts-detail .settings-mini-help {
  margin: 0;
  color: #65706c;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.42;
}

.settings-detail-shell.is-accounts-detail .settings-mini-help.import-locked,
.settings-detail-shell.is-accounts-detail .settings-mini-field.is-import-locked .settings-mini-help {
  color: color-mix(in srgb, var(--accounts-accent) 58%, #3f5d73);
  font-weight: 760;
}

.settings-detail-shell.is-accounts-detail .settings-mini-field.is-import-locked input:disabled {
  border-color: color-mix(in srgb, var(--accounts-accent) 22%, rgba(54, 45, 36, 0.14));
  background:
    linear-gradient(180deg, rgba(255, 250, 235, 0.95), rgba(255, 255, 255, 0.86));
  color: #1d2b38;
  opacity: 1;
}

.settings-detail-shell.is-profile-detail .settings-toggle-row {
  position: relative;
  margin-top: 2px;
  min-height: 76px;
  padding: 16px 72px 16px 68px;
  align-items: center;
  gap: 14px;
  border-color: rgba(18, 130, 76, 0.2);
  border-radius: 9px;
  background:
    linear-gradient(180deg, rgba(239, 252, 245, 0.94), rgba(250, 255, 252, 0.88));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.86),
    0 8px 18px rgba(18, 130, 76, 0.032);
}

.settings-detail-shell.is-profile-detail .settings-toggle-row:has(input[type="checkbox"]:not(:checked)) {
  border-color: rgba(54, 45, 36, 0.12);
  background:
    linear-gradient(180deg, rgba(250, 252, 253, 0.96), rgba(255, 255, 255, 0.88));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.86),
    0 8px 18px rgba(44, 37, 28, 0.032);
}

.settings-detail-shell.is-profile-detail .settings-toggle-row::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 50%;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(116, 128, 139, 0.26);
  background: rgba(255, 255, 255, 0.9);
  box-shadow:
    0 8px 16px rgba(44, 37, 28, 0.055),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
  transform: translateY(-50%);
}

.settings-detail-shell.is-profile-detail .settings-toggle-row:has(input[type="checkbox"]:checked)::before {
  border-color: transparent;
  background: var(--success);
  box-shadow:
    0 8px 16px rgba(18, 130, 76, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.settings-detail-shell.is-profile-detail .settings-toggle-row::after {
  content: "";
  position: absolute;
  left: 32px;
  top: 50%;
  width: 8px;
  height: 15px;
  border: solid #fff;
  border-width: 0 3px 3px 0;
  opacity: 0;
  transform: translateY(-58%) rotate(45deg);
}

.settings-detail-shell.is-profile-detail .settings-toggle-row:has(input[type="checkbox"]:checked)::after {
  opacity: 1;
}

.settings-detail-shell.is-profile-detail .settings-toggle-row strong {
  color: #25313a;
  font-size: 14px;
  font-weight: 950;
}

.settings-detail-shell.is-profile-detail .settings-toggle-row:has(input[type="checkbox"]:checked) strong {
  color: var(--success);
}

.settings-detail-shell.is-profile-detail .settings-toggle-row p {
  max-width: 560px;
  font-size: 12.5px;
  line-height: 1.4;
}

.settings-detail-shell.is-profile-detail .settings-toggle-row input[type="checkbox"] {
  position: absolute;
  right: 22px;
  top: 50%;
  width: 38px;
  height: 22px;
  flex-basis: 38px;
  border: 0;
  border-radius: 999px;
  background: rgba(116, 128, 139, 0.22);
  box-shadow:
    inset 0 0 0 1px rgba(54, 45, 36, 0.08),
    inset 0 1px 2px rgba(20, 27, 35, 0.12);
  transform: translateY(-50%);
}

.settings-detail-shell.is-profile-detail .settings-toggle-row input[type="checkbox"]:checked {
  background: var(--success);
  box-shadow:
    inset 0 0 0 1px rgba(18, 130, 76, 0.12),
    0 6px 14px rgba(18, 130, 76, 0.18);
}

.settings-detail-shell.is-profile-detail .settings-toggle-row input[type="checkbox"]:checked::after {
  left: 19px;
  top: 3px;
  width: 16px;
  height: 16px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 1px 4px rgba(20, 27, 35, 0.18);
  transform: none;
}

.settings-detail-shell.is-profile-detail .settings-toggle-row input[type="checkbox"]:not(:checked)::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 3px;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 1px 4px rgba(20, 27, 35, 0.18);
}

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

.settings-list-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(0, 2fr);
  gap: 18px;
  align-items: center;
  padding: 16px;
  border: 1px solid rgba(54, 45, 36, 0.1);
  border-radius: 13px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(255, 253, 249, 0.78)),
    rgba(255, 255, 255, 0.78);
  box-shadow: 0 8px 18px rgba(44, 37, 28, 0.035);
  transition: transform 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}

.settings-list-row:hover {
  transform: translateY(-1px);
  border-color: rgba(43, 111, 186, 0.16);
  box-shadow: 0 12px 26px rgba(44, 37, 28, 0.055);
}

.settings-list-row.is-current {
  border-color: rgba(18, 130, 76, 0.28);
  background: linear-gradient(180deg, rgba(232, 245, 238, 0.76), rgba(255, 255, 255, 0.82));
}

.scenario-row {
  position: relative;
}

.settings-detail-shell.is-scenarios-detail .scenario-row {
  grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.28fr);
}

.scenario-row.is-menu-open {
  z-index: 320;
}

.settings-list-row strong {
  display: block;
  margin-bottom: 4px;
  color: var(--text);
  font-size: 15px;
}

.settings-list-row p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.settings-account-row {
  display: block;
}

.settings-account-row summary {
  list-style: none;
}

.settings-account-row summary::-webkit-details-marker {
  display: none;
}

.settings-account-summary {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(0, 1.6fr);
  gap: 18px;
  align-items: center;
  cursor: pointer;
}

.settings-account-summary-meta {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  align-items: center;
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
  text-align: right;
}

.settings-account-summary-meta i {
  position: relative;
  display: inline-flex;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(43, 111, 186, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
}

.settings-account-summary-meta i::before {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--blue);
  border-bottom: 2px solid var(--blue);
  transform: rotate(45deg) translate(-1px, -1px);
  transition: transform 150ms ease;
}

.settings-account-row[open] .settings-account-summary-meta i::before {
  transform: rotate(225deg) translate(-1px, -1px);
}

.settings-account-row.is-collapsed-by-default:not([open]) {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(250, 248, 244, 0.68)),
    rgba(250, 248, 244, 0.68);
}

.settings-account-row.is-collapsed-by-default:not([open]) .settings-account-summary-meta span {
  color: var(--muted);
}

.settings-list-row dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.settings-detail-shell.is-scenarios-detail .settings-list-row dl {
  grid-template-columns: repeat(3, minmax(118px, 1fr));
}

.settings-scenario-row-meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}

.settings-row-actions {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.settings-menu {
  position: relative;
}

.settings-load-button,
.settings-menu-trigger {
  min-width: 92px;
  min-height: 38px;
  border: 1px solid rgba(18, 130, 76, 0.16);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.9);
  color: var(--success);
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 7px 16px rgba(44, 37, 28, 0.035);
  transition: transform 150ms ease, border-color 150ms ease, background 150ms ease, box-shadow 150ms ease;
}

.settings-load-button:hover,
.settings-menu-trigger:hover {
  transform: translateY(-1px);
  border-color: rgba(18, 130, 76, 0.22);
  background: rgba(247, 252, 249, 0.95);
  box-shadow: 0 10px 22px rgba(44, 37, 28, 0.055);
}

.settings-load-button:disabled {
  color: var(--muted);
  background: rgba(250, 248, 244, 0.78);
  cursor: default;
}

.settings-menu-trigger {
  min-width: 46px;
  color: var(--text);
  font-size: 17px;
  letter-spacing: 0.06em;
}

.settings-menu-popover {
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 340;
  min-width: 160px;
  padding: 6px;
  border: 1px solid rgba(54, 45, 36, 0.16);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(44, 37, 28, 0.2);
}

.settings-menu-popover[hidden] {
  display: none !important;
}

.settings-menu-popover.is-drop-up {
  top: auto;
  bottom: calc(100% + 6px);
}

.settings-menu-popover button {
  width: 100%;
  border: 0;
  border-radius: 7px;
  padding: 8px 10px;
  background: transparent;
  color: var(--text);
  font-weight: 750;
  text-align: left;
  cursor: pointer;
}

.settings-menu-popover button:hover {
  background: var(--surface-muted);
}

.settings-menu-popover button.danger {
  color: var(--red);
}

.settings-account-edit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(54, 45, 36, 0.08);
}

.settings-mini-field {
  display: grid;
  gap: 6px;
}

.settings-mini-field span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.settings-mini-field em {
  display: inline-flex;
  min-height: 18px;
  align-items: center;
  border: 1px solid rgba(160, 85, 45, 0.18);
  border-radius: 999px;
  background: rgba(255, 244, 235, 0.78);
  color: #7c3f1d;
  padding: 0 7px;
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
}

.settings-mini-field input,
.settings-mini-field select {
  min-height: 36px;
  width: 100%;
  border: 1px solid rgba(54, 45, 36, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
  color: var(--text);
  padding: 0 10px;
  font-weight: 750;
}

.settings-mini-help {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
}

.settings-mini-help.import-locked {
  color: var(--blue);
  font-weight: 850;
}

.settings-mini-field input:disabled,
.settings-mini-field.is-import-locked input {
  color: var(--muted);
  background:
    linear-gradient(180deg, rgba(250, 248, 244, 0.9), rgba(246, 241, 233, 0.76)),
    rgba(250, 248, 244, 0.74);
  cursor: not-allowed;
}

.settings-mini-field input:focus,
.settings-mini-field select:focus {
  border-color: rgba(43, 111, 186, 0.46);
  box-shadow: 0 0 0 3px rgba(43, 111, 186, 0.12);
  outline: none;
}

.settings-array-summary {
  display: grid;
  gap: 8px;
}

.settings-array-summary:empty {
  display: none;
}

.settings-array-summary article,
.settings-tax-auto-summary article {
  border: 1px solid rgba(54, 45, 36, 0.09);
  border-radius: 12px;
  background: rgba(255, 253, 248, 0.72);
  padding: 13px 14px;
}

.settings-array-summary article {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}

.settings-array-summary strong,
.settings-tax-auto-summary strong {
  color: var(--text);
}

.settings-array-summary p,
.settings-tax-auto-summary span {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.settings-array-editor {
  gap: 10px;
}

.settings-array-editor-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  border: 1px solid rgba(54, 45, 36, 0.09);
  border-radius: 12px;
  background: rgba(255, 253, 248, 0.72);
  padding: 13px 14px;
}

.settings-array-editor-title {
  display: flex;
  min-width: 0;
  gap: 12px;
  align-items: center;
}

.settings-array-editor-title-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(29, 100, 200, 0.17);
  border-radius: 999px;
  color: var(--blue);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(239, 247, 255, 0.88)),
    #fff;
  box-shadow: inset 0 0 0 8px rgba(29, 100, 200, 0.06);
}

.settings-array-editor-title-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.settings-array-editor-head strong,
.settings-array-row-head strong {
  display: block;
  margin-bottom: 4px;
  color: var(--text);
}

.settings-array-editor-head p,
.settings-array-row-head p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.settings-array-row,
.settings-array-empty {
  border: 1px solid rgba(54, 45, 36, 0.09);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
  padding: 13px;
}

.settings-array-row {
  display: grid;
  gap: 12px;
}

.settings-array-row.is-invalid {
  border-color: color-mix(in srgb, var(--red) 52%, rgba(54, 45, 36, 0.12));
  background: color-mix(in srgb, var(--red) 4%, rgba(255, 255, 255, 0.82));
}

.settings-array-row-validation {
  grid-column: 1 / -1;
  margin: 0;
  padding: 9px 11px;
  border: 1px solid color-mix(in srgb, var(--red) 28%, transparent);
  border-radius: 8px;
  color: color-mix(in srgb, var(--red) 84%, #381313);
  background: color-mix(in srgb, var(--red) 7%, #fff);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.4;
}

.settings-array-row-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: start;
}

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

.settings-array-row-note {
  grid-column: 1 / -1;
  margin: 0;
  border-top: 1px solid rgba(54, 45, 36, 0.08);
  padding-top: 10px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.settings-mini-toggle {
  display: flex;
  gap: 9px;
  align-items: center;
  min-height: 36px;
  padding: 8px 10px;
  border: 1px solid rgba(54, 45, 36, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.settings-mini-toggle input {
  width: 16px;
  height: 16px;
  accent-color: var(--blue);
}

.settings-link-button.danger {
  color: var(--red);
}

.settings-tax-auto-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.settings-subsidy-auto-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.settings-tax-auto-summary span {
  display: block;
  margin-bottom: 5px;
  font-weight: 800;
}

.settings-list-row dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.settings-list-row dd {
  margin: 4px 0 0;
  color: var(--text);
  font-size: 14px;
  font-weight: 800;
}

.settings-empty-state {
  padding: 18px;
  border: 1px dashed rgba(54, 45, 36, 0.18);
  border-radius: 13px;
  background: rgba(255, 253, 248, 0.72);
  color: var(--muted);
}

.settings-scenario-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: end;
}

.settings-scenario-save-copy {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 14%, var(--subtle));
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), color-mix(in srgb, var(--theme-soft) 26%, white)),
    var(--surface);
}

.settings-scenario-save-copy h4 {
  margin: 0;
  color: var(--theme-display);
  font-size: 15px;
  font-weight: 900;
}

.settings-scenario-save-copy p {
  margin: 0;
  max-width: 980px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.settings-scenario-list-head h4 {
  margin: 0 0 4px;
  color: var(--theme-display);
  font-size: 17px;
}

.settings-scenario-list-head p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.settings-compare-picker {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.settings-compare-output {
  display: grid;
  gap: 10px;
}

.settings-compare-summary {
  display: grid;
  gap: 10px;
  padding: 13px 14px;
  border: 1px solid rgba(43, 111, 186, 0.14);
  border-radius: 13px;
  background:
    linear-gradient(135deg, rgba(237, 245, 255, 0.62), rgba(255, 255, 255, 0.82)),
    rgba(255, 255, 255, 0.86);
  box-shadow: 0 8px 18px rgba(44, 37, 28, 0.035);
}

.settings-compare-summary > strong {
  color: var(--blue-dark);
  font-size: 13px;
  font-weight: 950;
}

.settings-compare-summary > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.settings-compare-summary span {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  gap: 7px;
  padding: 6px 10px;
  border: 1px solid rgba(43, 111, 186, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  color: var(--text);
  font-size: 12px;
  font-weight: 800;
}

.settings-compare-summary span b {
  color: var(--muted);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.settings-compare-summary p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.settings-compare-table {
  border: 1px solid rgba(54, 45, 36, 0.1);
  border-radius: 13px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 8px 18px rgba(44, 37, 28, 0.035);
}

.settings-compare-row {
  display: grid;
  grid-template-columns: minmax(170px, 1.1fr) repeat(2, minmax(0, 1fr)) minmax(120px, 0.72fr);
  gap: 14px;
  padding: 12px 14px;
  border-top: 1px solid rgba(54, 45, 36, 0.08);
  color: var(--muted);
  font-size: 13px;
}

.settings-compare-row:first-child {
  border-top: 0;
}

.settings-compare-row.header {
  background: rgba(250, 248, 244, 0.72);
  color: var(--text);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.settings-compare-row.changed {
  background: rgba(237, 245, 255, 0.42);
}

.settings-compare-row strong {
  color: var(--text);
}

.settings-compare-delta {
  display: inline-flex;
  width: fit-content;
  min-height: 26px;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(250, 248, 244, 0.84);
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.settings-compare-delta.positive,
.settings-compare-summary span.positive {
  border-color: rgba(18, 130, 76, 0.18);
  background: color-mix(in srgb, var(--success-soft) 58%, white);
  color: var(--success);
}

.settings-compare-delta.negative,
.settings-compare-summary span.negative {
  border-color: rgba(199, 60, 58, 0.18);
  background: rgba(252, 238, 238, 0.86);
  color: var(--red);
}

.settings-compare-delta.changed-neutral,
.settings-compare-summary span.changed-neutral {
  border-color: rgba(43, 111, 186, 0.18);
  background: color-mix(in srgb, var(--blue-soft) 64%, white);
  color: var(--blue-dark);
}

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

.settings-tool-card,
.settings-danger-grid article {
  padding: 17px;
  border: 1px solid rgba(54, 45, 36, 0.1);
  border-radius: 13px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(255, 253, 249, 0.76)),
    rgba(255, 255, 255, 0.78);
  box-shadow: 0 8px 18px rgba(44, 37, 28, 0.035);
  transition: transform 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}

.settings-tool-card:hover {
  transform: translateY(-1px);
  border-color: rgba(43, 111, 186, 0.16);
  box-shadow: 0 12px 26px rgba(44, 37, 28, 0.055);
}

.settings-tool-icon {
  min-width: 42px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  border-radius: 7px;
  background: var(--blue-soft);
  color: var(--blue-dark);
  font-size: 11px;
  font-weight: 900;
}

.settings-tool-card h4,
.settings-danger-grid h4 {
  margin: 0 0 6px;
  font-size: 15px;
}

.settings-tool-card p,
.settings-danger-grid p {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.settings-tool-card a,
.settings-link-button {
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--blue-dark);
  font-weight: 850;
  cursor: pointer;
}

.settings-link-button:hover {
  color: var(--blue);
}

.settings-link-button:disabled {
  color: var(--muted);
  cursor: default;
}

.settings-link-button.danger {
  color: var(--red);
}

.settings-danger-zone {
  margin-top: 4px;
  padding-top: 20px;
  border-top: 1px solid var(--subtle);
}

.settings-danger-zone > h3 {
  color: var(--red);
  font-size: 16px;
}

.settings-danger-grid article {
  border-color: rgba(194, 65, 61, 0.22);
  background: rgba(251, 240, 238, 0.44);
}

.settings-danger-grid a,
.settings-danger-grid .settings-link-button {
  color: var(--red);
  font-weight: 850;
}

.settings-detail-shell.is-data-detail .settings-detail-section[data-settings-detail="data"] {
  gap: 18px;
}

.settings-detail-shell.is-data-detail .settings-editor-summary-strip {
  display: none;
}

.settings-data-hero {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(340px, 0.82fr) minmax(500px, 1fr);
  gap: 0;
  align-items: center;
  overflow: visible;
  min-height: 252px;
  padding: 32px 0 32px 34px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, rgba(54, 45, 36, 0.12));
  border-bottom-color: transparent;
  border-radius: 12px 12px 0 0;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.98), rgba(255, 253, 247, 0.88)),
    var(--surface);
  box-shadow:
    0 16px 30px rgba(44, 37, 28, 0.045),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.settings-data-hero::before {
  content: "";
  position: absolute;
  inset: 22px auto auto 22px;
  width: min(48%, 520px);
  height: 166px;
  background:
    radial-gradient(circle at 42% 50%, color-mix(in srgb, var(--theme-accent) 26%, transparent) 0 2px, transparent 3px);
  background-size: 24px 24px;
  opacity: 0.18;
  pointer-events: none;
}

.settings-data-hero > div:first-child {
  position: relative;
  z-index: 2;
  max-width: 600px;
}

.settings-detail-shell.is-data-detail .settings-data-hero .settings-section-intro {
  position: relative;
  z-index: 2;
}

.settings-detail-shell.is-data-detail .settings-data-hero .settings-section-intro h3 {
  color: var(--theme-display);
  font-size: clamp(27px, 3vw, 42px);
}

.settings-detail-shell.is-data-detail .settings-data-hero .settings-section-intro p {
  max-width: 620px;
  font-size: 16px;
}

.settings-data-badges {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 18px;
}

.settings-data-badges span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 14%, rgba(54, 45, 36, 0.1));
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-soft) 52%, white);
  color: var(--theme-accent-strong);
  font-size: 12px;
  font-weight: 900;
}

.settings-data-hero-art {
  position: relative;
  z-index: 1;
  align-self: stretch;
  min-height: 330px;
  margin: -32px 0 -92px -96px;
  overflow: hidden;
  border-radius: 0 12px 0 0;
  pointer-events: none;
}

.settings-data-hero-art::before {
  content: none;
  pointer-events: none;
}

.settings-data-hero-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 48% 50%;
  filter: none;
}

.settings-data-panel {
  position: relative;
  display: grid;
  gap: 16px;
  padding: 22px 22px 24px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 12%, rgba(54, 45, 36, 0.12));
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 253, 248, 0.84)),
    var(--surface);
  box-shadow: 0 12px 28px rgba(44, 37, 28, 0.045);
}

.settings-data-panel-import {
  z-index: 3;
  margin-top: -86px;
  padding-top: 42px;
  border-top: 0;
  border-radius: 0 0 12px 12px;
  background:
    linear-gradient(180deg, transparent 0 48px, #fff 48px 100%);
  box-shadow: 0 18px 34px rgba(44, 37, 28, 0.055);
}

.settings-data-panel-import .settings-data-panel-head > span,
.settings-data-panel-import .settings-data-panel-head h4 {
  color: #168744;
}

.settings-data-panel-export .settings-data-panel-head > span,
.settings-data-panel-export .settings-data-panel-head h4 {
  color: var(--blue-dark);
}

.settings-data-panel-head {
  display: flex;
  gap: 10px;
  align-items: start;
}

.settings-data-panel-head > span {
  color: var(--theme-accent-strong);
  font-size: 16px;
  font-weight: 950;
}

.settings-data-panel-head h4 {
  margin: 0;
  color: var(--theme-display);
  font-size: 18px;
}

.settings-data-panel-head p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.settings-data-storage-panel {
  background:
    radial-gradient(circle at 10% 6%, rgba(22, 135, 68, 0.06), transparent 18rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(252, 255, 253, 0.88)),
    var(--surface);
}

.settings-local-storage-health {
  display: grid;
  gap: 12px;
  padding: 18px 22px;
  border: 1px solid rgba(54, 45, 36, 0.08);
  border-radius: 14px;
  background:
    radial-gradient(circle at 13% 10%, rgba(238, 250, 243, 0.62), transparent 15rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(252, 255, 253, 0.92));
  box-shadow:
    0 22px 46px rgba(44, 37, 28, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.settings-local-storage-head {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
}

.settings-local-storage-head-icon {
  display: inline-grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 999px;
  background: rgba(222, 244, 234, 0.82);
  color: #168744;
  box-shadow: inset 0 0 0 1px rgba(22, 135, 68, 0.08);
}

.settings-local-storage-head-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.settings-local-storage-head h5 {
  margin: 0 0 4px;
  color: var(--text);
  font-size: 24px;
  font-weight: 950;
  line-height: 1;
}

.settings-local-storage-head p {
  margin: 0;
  color: #53626b;
  font-size: 14px;
  line-height: 1.28;
}

.settings-local-storage-divider {
  height: 1px;
  background: rgba(54, 45, 36, 0.12);
}

.settings-local-storage-badge {
  display: none;
}

.settings-local-storage-usage {
  display: grid;
  gap: 6px;
}

.settings-local-storage-usage > span {
  color: var(--text);
  font-size: 15px;
  font-weight: 950;
}

.settings-local-storage-usage p {
  margin: 0;
  color: #6b7178;
  font-size: 21px;
  line-height: 1;
}

.settings-local-storage-usage strong {
  color: #168744;
  font-size: 32px;
  font-weight: 950;
  letter-spacing: 0;
}

.settings-local-storage-meter {
  position: relative;
  overflow: hidden;
  height: 9px;
  border-radius: 999px;
  background: rgba(46, 61, 73, 0.08);
}

.settings-local-storage-meter span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2eb66b, #21a960);
  transition: width 220ms ease;
}

.settings-local-storage-learn-more {
  border: 1px solid rgba(22, 135, 68, 0.18);
  border-radius: 12px;
  background: rgba(238, 250, 243, 0.78);
}

.settings-local-storage-learn-more summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 11px;
  align-items: center;
  min-height: 54px;
  padding: 10px 13px;
  cursor: pointer;
  list-style: none;
}

.settings-local-storage-learn-more summary::-webkit-details-marker {
  display: none;
}

.settings-local-storage-learn-more summary > span:first-child {
  position: relative;
  display: inline-grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 999px;
  background: transparent;
  color: #168744;
  font-size: 18px;
  font-weight: 950;
  line-height: 1;
}

.settings-local-storage-learn-more summary > span:first-child::before {
  content: "";
  position: absolute;
  width: 25px;
  height: 25px;
  border: 2px solid currentColor;
  border-radius: 10px 10px 13px 13px;
  transform: rotate(45deg);
  opacity: 0.95;
}

.settings-local-storage-learn-more summary strong {
  display: block;
  color: #168744;
  font-size: 16px;
  font-weight: 950;
  line-height: 1.15;
}

.settings-local-storage-learn-more summary em {
  display: block;
  margin-top: 3px;
  color: #53626b;
  font-size: 12.5px;
  font-style: normal;
  line-height: 1.25;
}

.settings-local-storage-learn-more summary i {
  display: inline-grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 2px solid currentColor;
  border-radius: 999px;
  color: #2aa467;
  font-size: 20px;
  font-style: normal;
  font-weight: 950;
  line-height: 1;
}

.settings-local-storage-health[data-storage-tone="warning"] .settings-local-storage-meter span {
  background: linear-gradient(90deg, #d69523, #f0b84e);
}

.settings-local-storage-health[data-storage-tone="warning"] .settings-local-storage-learn-more {
  border-color: rgba(143, 101, 22, 0.2);
  background: rgba(255, 247, 223, 0.86);
}

.settings-local-storage-health[data-storage-tone="warning"] .settings-local-storage-learn-more summary strong,
.settings-local-storage-health[data-storage-tone="warning"] .settings-local-storage-learn-more summary i,
.settings-local-storage-health[data-storage-tone="warning"] .settings-local-storage-learn-more summary > span:first-child {
  color: #8f6516;
}

.settings-local-storage-health[data-storage-tone="danger"] .settings-local-storage-meter span,
.settings-local-storage-health[data-storage-tone="unknown"] .settings-local-storage-meter span {
  background: linear-gradient(90deg, #e44943, #c92f2c);
}

.settings-local-storage-health[data-storage-tone="danger"] .settings-local-storage-learn-more,
.settings-local-storage-health[data-storage-tone="unknown"] .settings-local-storage-learn-more {
  border-color: rgba(194, 65, 61, 0.22);
  background: rgba(252, 238, 238, 0.86);
}

.settings-local-storage-health[data-storage-tone="danger"] .settings-local-storage-learn-more summary strong,
.settings-local-storage-health[data-storage-tone="danger"] .settings-local-storage-learn-more summary i,
.settings-local-storage-health[data-storage-tone="danger"] .settings-local-storage-learn-more summary > span:first-child,
.settings-local-storage-health[data-storage-tone="unknown"] .settings-local-storage-learn-more summary strong,
.settings-local-storage-health[data-storage-tone="unknown"] .settings-local-storage-learn-more summary i,
.settings-local-storage-health[data-storage-tone="unknown"] .settings-local-storage-learn-more summary > span:first-child {
  color: var(--red);
}

.settings-local-storage-learn-more > div {
  display: grid;
  gap: 10px;
  margin: 0 16px 16px;
  padding: 16px;
  border: 1px solid rgba(22, 135, 68, 0.12);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 255, 250, 0.88));
}

.settings-local-storage-learn-more h6 {
  margin: 0;
  color: #168744;
  font-size: 15px;
  font-weight: 950;
}

.settings-local-storage-learn-more p,
.settings-local-storage-learn-more li {
  margin: 0;
  color: #53626b;
  font-size: 12.5px;
  line-height: 1.55;
}

.settings-local-storage-learn-more ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-left: 20px;
}

.settings-local-storage-learn-more strong {
  color: #168744;
}

.settings-detail-shell.is-data-detail .settings-operational-grid {
  gap: 14px;
}

.settings-detail-shell.is-data-detail .settings-data-import-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.settings-detail-shell.is-data-detail .settings-data-export-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.settings-detail-shell.is-data-detail .settings-tool-card {
  position: relative;
  display: grid;
  gap: 12px;
  align-content: start;
  min-height: 164px;
  padding: 20px;
  border-color: color-mix(in srgb, var(--theme-accent) 14%, rgba(54, 45, 36, 0.1));
  border-radius: 12px;
  background:
    radial-gradient(circle at 14% 18%, color-mix(in srgb, var(--theme-soft) 48%, transparent), transparent 13rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(250, 255, 251, 0.82));
}

.settings-detail-shell.is-data-detail .settings-tool-card-featured {
  grid-template-columns: 86px minmax(0, 1fr);
  align-items: center;
  min-height: 152px;
}

.settings-detail-shell.is-data-detail .settings-tool-icon {
  display: grid;
  width: 70px;
  height: 70px;
  min-width: 70px;
  place-items: center;
  margin: 0;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 15%, transparent);
  border-radius: 16px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--theme-accent) 16%, white), rgba(255, 255, 255, 0.92));
  color: var(--theme-accent-strong);
  font-size: 12px;
  font-weight: 950;
  box-shadow: 0 12px 20px color-mix(in srgb, var(--theme-accent) 10%, transparent);
}

.settings-detail-shell.is-data-detail .settings-import-history-card,
.settings-detail-shell.is-data-detail .settings-sample-csv-card,
.settings-detail-shell.is-data-detail .settings-manual-balance-card {
  grid-template-columns: 118px minmax(0, 1fr);
  align-items: center;
  min-height: 190px;
  padding: 24px;
  border-color: rgba(22, 135, 68, 0.18);
  background:
    linear-gradient(180deg, rgba(248, 255, 250, 0.96), rgba(244, 253, 247, 0.9));
}

.settings-detail-shell.is-data-detail .settings-import-history-icon,
.settings-detail-shell.is-data-detail .settings-sample-csv-icon,
.settings-detail-shell.is-data-detail .settings-manual-balance-icon {
  width: 108px;
  height: 108px;
  min-width: 108px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.settings-detail-shell.is-data-detail .settings-import-history-icon img,
.settings-detail-shell.is-data-detail .settings-sample-csv-icon img,
.settings-detail-shell.is-data-detail .settings-manual-balance-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 14px 20px rgba(21, 90, 45, 0.13));
}

.settings-detail-shell.is-data-detail .settings-import-history-card p,
.settings-detail-shell.is-data-detail .settings-sample-csv-card p,
.settings-detail-shell.is-data-detail .settings-manual-balance-card p {
  max-width: 32rem;
}

.settings-detail-shell.is-data-detail .settings-import-history-card .settings-link-button,
.settings-detail-shell.is-data-detail .settings-import-history-card .settings-link-button.secondary,
.settings-detail-shell.is-data-detail .settings-sample-csv-card .settings-link-button,
.settings-detail-shell.is-data-detail .settings-manual-balance-card .settings-link-button {
  border-color: rgba(22, 135, 68, 0.42);
  background: rgba(255, 255, 255, 0.9);
  color: #168744;
}

.settings-detail-shell.is-data-detail .settings-import-history-card .settings-link-button:hover,
.settings-detail-shell.is-data-detail .settings-import-history-card .settings-link-button.secondary:hover,
.settings-detail-shell.is-data-detail .settings-sample-csv-card .settings-link-button:hover,
.settings-detail-shell.is-data-detail .settings-manual-balance-card .settings-link-button:hover {
  border-color: rgba(22, 135, 68, 0.58);
  box-shadow: 0 12px 22px rgba(22, 135, 68, 0.1);
}

.settings-detail-shell.is-data-detail .settings-data-panel-export .settings-tool-card {
  border-color: color-mix(in srgb, var(--blue) 20%, rgba(54, 45, 36, 0.1));
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--blue-soft) 46%, rgba(255, 255, 255, 0.98)), rgba(247, 251, 255, 0.9));
}

.settings-detail-shell.is-data-detail .settings-download-backup-card,
.settings-detail-shell.is-data-detail .settings-restore-backup-card,
.settings-detail-shell.is-data-detail .settings-export-csv-card {
  grid-template-columns: 118px minmax(0, 1fr);
  align-items: center;
  min-height: 164px;
  padding: 24px 30px;
}

.settings-detail-shell.is-data-detail .settings-download-backup-icon,
.settings-detail-shell.is-data-detail .settings-restore-backup-icon,
.settings-detail-shell.is-data-detail .settings-export-csv-icon {
  width: 104px;
  height: 104px;
  min-width: 104px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.settings-detail-shell.is-data-detail .settings-download-backup-icon img,
.settings-detail-shell.is-data-detail .settings-restore-backup-icon img,
.settings-detail-shell.is-data-detail .settings-export-csv-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 14px 20px rgba(35, 108, 214, 0.14));
}

.settings-detail-shell.is-data-detail .settings-restore-backup-icon img {
  filter: drop-shadow(0 14px 20px rgba(91, 74, 218, 0.14));
}

.settings-detail-shell.is-data-detail .settings-data-panel-export .settings-link-button {
  border-color: color-mix(in srgb, var(--blue) 50%, var(--subtle));
  background: rgba(255, 255, 255, 0.9);
  color: var(--blue-dark);
}

.settings-detail-shell.is-data-detail .settings-data-panel-export .settings-link-button:hover {
  border-color: color-mix(in srgb, var(--blue) 68%, var(--subtle));
  box-shadow: 0 12px 22px rgba(35, 108, 214, 0.11);
}

.settings-detail-shell.is-data-detail .settings-tool-card h4 {
  color: var(--text);
  font-size: 16px;
  font-weight: 950;
}

.settings-detail-shell.is-data-detail .settings-tool-card p {
  max-width: 34rem;
}

.settings-data-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.settings-detail-shell.is-data-detail .settings-link-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  width: fit-content;
  padding: 0 14px;
  border: 1px solid color-mix(in srgb, var(--theme-accent-strong) 42%, var(--subtle));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
  color: var(--theme-accent-strong);
  font-size: 12.5px;
  box-shadow: 0 8px 16px rgba(44, 37, 28, 0.04);
}

.settings-detail-shell.is-data-detail .settings-link-button.secondary {
  border-color: color-mix(in srgb, var(--theme-accent) 20%, var(--subtle));
  color: #53626b;
}

.settings-detail-shell.is-data-detail .settings-link-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 22px rgba(44, 37, 28, 0.06);
}

.settings-detail-shell.is-data-detail .settings-danger-zone {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.settings-detail-shell.is-data-detail .settings-danger-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.settings-detail-shell.is-data-detail .settings-danger-grid article {
  border-color: rgba(194, 65, 61, 0.24);
  background:
    linear-gradient(180deg, rgba(255, 248, 247, 0.98), rgba(253, 239, 237, 0.72));
}

.settings-detail-shell.is-data-detail .settings-link-button.danger {
  border-color: rgba(194, 65, 61, 0.34);
  color: var(--red);
}

.settings-detail-shell:not(.is-data-detail) .settings-context-card {
  overflow: hidden;
  padding: 0;
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 253, 249, 0.9)),
    var(--surface);
  box-shadow:
    0 15px 30px rgba(44, 37, 28, 0.055),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.settings-detail-shell:not(.is-data-detail) .settings-context-card::before,
.settings-detail-shell:not(.is-data-detail) .settings-tip-card h3::after {
  content: none;
}

.settings-detail-shell:not(.is-data-detail) #settings-context-glance-card h3,
.settings-detail-shell:not(.is-data-detail) .settings-tip-card h3 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  margin: 0;
  padding: 16px 18px;
  border-bottom: 1px solid color-mix(in srgb, var(--theme-accent) 12%, rgba(54, 45, 36, 0.1));
  background: linear-gradient(90deg, color-mix(in srgb, var(--theme-accent) 10%, #fff), rgba(255, 253, 249, 0.78));
  color: var(--text);
  font-size: 16.5px;
  font-weight: 950;
}

.settings-detail-shell:not(.is-data-detail) #settings-context-glance-card h3::before,
.settings-detail-shell:not(.is-data-detail) .settings-tip-card h3::before {
  content: "";
  display: block;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 9px;
  background-color: color-mix(in srgb, var(--theme-accent) 12%, #fff);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--theme-accent) 16%, transparent),
    0 10px 18px color-mix(in srgb, var(--theme-accent) 11%, transparent);
}

.settings-detail-shell:not(.is-data-detail) #settings-context-glance-card h3::before {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2353626b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16v16H4z'/%3E%3Cpath d='M8 8h8'/%3E%3Cpath d='M8 12h8'/%3E%3Cpath d='M8 16h5'/%3E%3C/svg%3E");
}

.settings-detail-shell:not(.is-data-detail) .settings-tip-card h3 {
  border-bottom-color: rgba(214, 149, 35, 0.18);
  background: linear-gradient(90deg, rgba(255, 248, 229, 0.98), rgba(255, 251, 242, 0.78));
}

.settings-detail-shell:not(.is-data-detail) .settings-tip-card h3::before {
  border-radius: 999px;
  background-color: rgba(255, 247, 223, 0.94);
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23d69523' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3Cpath d='M8.2 14.2a6 6 0 1 1 7.6 0c-.8.6-1.3 1.4-1.5 2.3h-4.6c-.2-.9-.7-1.7-1.5-2.3Z'/%3E%3Cpath d='M12 2v1.5'/%3E%3Cpath d='m4.9 4.9 1.1 1.1'/%3E%3Cpath d='M2 12h1.5'/%3E%3Cpath d='m19.1 4.9-1.1 1.1'/%3E%3Cpath d='M20.5 12H22'/%3E%3C/svg%3E");
  box-shadow:
    inset 0 0 0 1px rgba(214, 149, 35, 0.22),
    0 10px 18px rgba(143, 101, 22, 0.1);
}

.settings-detail-shell:not(.is-data-detail) .settings-context-card > p {
  margin: 0;
  padding: 14px 18px 0;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.45;
}

.settings-detail-shell:not(.is-data-detail) .settings-tip-card > p {
  padding-bottom: 18px;
}

.settings-detail-shell:not(.is-data-detail) .settings-context-card dl {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 14px 18px;
  border: 0;
}

.settings-detail-shell:not(.is-data-detail) .settings-context-card dl div {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) minmax(76px, auto);
  align-items: center;
  justify-content: stretch;
  gap: 8px;
  min-height: 34px;
  padding: 8px 0;
  border-top: 0;
}

.settings-detail-shell:not(.is-data-detail) .settings-context-card dl div + div {
  border-top: 1px solid rgba(221, 211, 197, 0.46);
}

.settings-glance-row-icon {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  color: #718091;
}

.settings-glance-row-icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.settings-detail-shell:not(.is-data-detail) .settings-context-card dt {
  margin: 0;
  min-width: 0;
  color: #53626b;
  font-size: 12.5px;
  font-weight: 700;
  text-align: left;
}

.settings-detail-shell:not(.is-data-detail) .settings-context-card dd {
  margin: 0;
  max-width: 172px;
  color: var(--text);
  font-size: 12.5px;
  font-weight: 950;
  text-align: right;
  line-height: 1.28;
}

.settings-detail-shell.is-data-detail .settings-context-card {
  overflow: hidden;
}

.settings-detail-shell.is-data-detail #settings-context-import-card,
.settings-detail-shell.is-data-detail .settings-tip-card {
  padding: 0;
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 253, 249, 0.9)),
    var(--surface);
  box-shadow:
    0 15px 30px rgba(44, 37, 28, 0.055),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.settings-detail-shell.is-data-detail #settings-context-import-card h3,
.settings-detail-shell.is-data-detail .settings-tip-card h3 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 9px;
  font-size: 15.5px;
}

.settings-detail-shell.is-data-detail #settings-context-import-card h3::before,
.settings-detail-shell.is-data-detail .settings-tip-card h3::before {
  content: "";
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 10px;
  background-color: color-mix(in srgb, var(--theme-accent) 12%, #fff);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 22px 22px;
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--theme-accent) 14%, transparent),
    0 10px 18px color-mix(in srgb, var(--theme-accent) 11%, transparent);
}

.settings-detail-shell.is-data-detail #settings-context-import-card h3::before {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%230f7f61' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3h8l4 4v14H8z'/%3E%3Cpath d='M16 3v5h5'/%3E%3Cpath d='M4 7v14h4'/%3E%3Cpath d='M11 13h6'/%3E%3Cpath d='M11 17h4'/%3E%3C/svg%3E");
}

.settings-detail-shell.is-data-detail .settings-tip-card h3::before {
  border-radius: 999px;
  background-color: rgba(255, 247, 223, 0.94);
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%238f6516' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3Cpath d='M8.2 14.2a6 6 0 1 1 7.6 0c-.8.6-1.3 1.4-1.5 2.3h-4.6c-.2-.9-.7-1.7-1.5-2.3Z'/%3E%3Cpath d='M12 2v1.5'/%3E%3Cpath d='m4.9 4.9 1.1 1.1'/%3E%3Cpath d='M2 12h1.5'/%3E%3Cpath d='m19.1 4.9-1.1 1.1'/%3E%3Cpath d='M20.5 12H22'/%3E%3C/svg%3E");
  box-shadow:
    inset 0 0 0 1px rgba(214, 149, 35, 0.22),
    0 10px 18px rgba(143, 101, 22, 0.1);
}

.settings-detail-shell.is-data-detail #settings-context-import-card .settings-data-rail-card-head h3::before,
.settings-detail-shell.is-data-detail .settings-data-tips-card .settings-data-rail-card-head h3::before {
  content: none;
}

.settings-data-rail-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 16px 18px;
  border-bottom: 1px solid color-mix(in srgb, var(--theme-accent) 12%, rgba(54, 45, 36, 0.1));
}

.settings-data-rail-card-head h3 {
  margin: 0;
  color: var(--text);
  font-size: 16.5px;
  font-weight: 950;
}

.settings-data-rail-card-icon {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  border-radius: 9px;
}

.settings-data-rail-card-icon svg,
.settings-data-rail-row-icon svg,
.settings-data-tip-list svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.settings-data-rail-card-head-current {
  background: linear-gradient(90deg, rgba(239, 251, 244, 0.96), rgba(250, 255, 252, 0.78));
}

.settings-data-rail-card-head-current .settings-data-rail-card-icon {
  border: 1px solid rgba(22, 135, 68, 0.2);
  background: rgba(235, 250, 242, 0.9);
  color: #168744;
}

.settings-data-rail-card-head-tip {
  border-bottom-color: rgba(214, 149, 35, 0.18);
  background: linear-gradient(90deg, rgba(255, 248, 229, 0.98), rgba(255, 251, 242, 0.78));
}

.settings-data-rail-card-head-tip .settings-data-rail-card-icon {
  border-radius: 999px;
  border: 1px solid rgba(214, 149, 35, 0.2);
  background: rgba(255, 247, 223, 0.94);
  color: #d69523;
}

.settings-detail-shell.is-data-detail .settings-import-summary-list.settings-data-rail-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 14px 18px;
  border: 0;
}

.settings-context-card .settings-import-summary-list.settings-data-rail-list .settings-data-rail-row {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) minmax(76px, auto);
  align-items: center;
  justify-content: stretch;
  gap: 8px;
  min-height: 34px;
  padding: 8px 0;
}

.settings-context-card .settings-import-summary-list.settings-data-rail-list .settings-data-rail-row + .settings-data-rail-row {
  border-top: 1px solid rgba(221, 211, 197, 0.46);
}

.settings-data-rail-row-icon {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  color: #718091;
}

.settings-data-rail-row dt {
  margin: 0;
  min-width: 0;
  color: #53626b;
  font-size: 12.5px;
  font-weight: 700;
  text-align: left;
}

.settings-data-rail-row dd {
  margin: 0;
  max-width: 172px;
  color: var(--text);
  font-size: 12.5px;
  font-weight: 950;
  text-align: right;
  line-height: 1.28;
}

.settings-data-rail-row dd.settings-data-status-good {
  color: #168744;
}

.settings-data-rail-row dd.settings-data-status-danger {
  color: var(--red);
}

.settings-detail-shell.is-data-detail #settings-context-import-card .settings-import-warning {
  margin: 12px 18px 0;
}

.settings-detail-shell.is-data-detail #settings-context-import-card .settings-import-empty-state {
  margin: 10px 18px 14px;
}

.settings-detail-shell.is-data-detail #settings-context-import-card .settings-import-mode-note,
.settings-detail-shell.is-data-detail #settings-context-import-card .settings-import-details {
  display: none;
}

.settings-data-tip-list {
  display: grid;
  gap: 13px;
  padding: 16px 18px;
}

.settings-data-tip-list p {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin: 0;
  color: #4d5d6a;
  font-size: 12.8px;
  line-height: 1.42;
}

.settings-data-tip-list span {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  color: #d69523;
}

.settings-detail-shell.is-data-detail .settings-danger-context-card {
  padding: 0;
  border-color: rgba(194, 65, 61, 0.26);
  background:
    linear-gradient(180deg, rgba(255, 249, 248, 0.98), rgba(255, 253, 250, 0.9)),
    var(--surface);
  box-shadow:
    0 16px 34px rgba(194, 65, 61, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.settings-detail-shell.is-data-detail .settings-danger-context-card h3 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0;
  padding: 17px 20px;
  border-bottom: 1px solid rgba(194, 65, 61, 0.18);
  background: linear-gradient(90deg, rgba(252, 238, 238, 0.95), rgba(255, 247, 246, 0.72));
  color: var(--text);
  font-size: 17px;
  font-weight: 950;
}

.settings-detail-shell.is-data-detail .settings-danger-context-card h3::before {
  content: "";
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 999px;
  background:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23c73c3a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z'/%3E%3Cpath d='M12 8v5'/%3E%3Cpath d='M12 16h.01'/%3E%3C/svg%3E") center / 22px 22px no-repeat,
    rgba(252, 238, 238, 0.96);
  box-shadow:
    inset 0 0 0 1px rgba(194, 65, 61, 0.22),
    0 10px 18px rgba(194, 65, 61, 0.1);
}

.settings-detail-shell.is-data-detail .settings-danger-context-card .settings-danger-zone {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 18px 20px 20px;
  border: 0;
}

.settings-detail-shell.is-data-detail .settings-danger-context-card .settings-danger-zone article {
  display: grid;
  gap: 8px;
}

.settings-detail-shell.is-data-detail .settings-danger-context-card .settings-danger-zone article + article {
  padding-top: 4px;
}

.settings-detail-shell.is-data-detail .settings-danger-context-card h4 {
  margin: 0;
  color: #1d2b38;
  font-size: 14px;
  font-weight: 950;
}

.settings-detail-shell.is-data-detail .settings-danger-context-card p {
  margin: 0;
  color: #53626b;
  font-size: 12.5px;
  line-height: 1.45;
}

.settings-detail-shell.is-data-detail .settings-danger-context-card .settings-link-button.danger {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(199, 60, 58, 0.58);
  background: rgba(255, 255, 255, 0.88);
  color: var(--red);
  font-size: 13px;
  font-weight: 950;
}

.settings-detail-shell.is-data-detail .settings-danger-context-card .settings-link-button.primary-danger {
  border-color: rgba(158, 39, 37, 0.8);
  background: linear-gradient(180deg, #e44943, #c92f2c);
  color: #fff;
  box-shadow: 0 12px 20px rgba(199, 60, 58, 0.18);
}

.settings-detail-shell.is-data-detail .settings-import-summary-list {
  margin-top: 12px;
}

.settings-detail-shell.is-data-detail .settings-import-mode-note {
  border-color: rgba(22, 135, 68, 0.18);
  background: rgba(238, 250, 243, 0.82);
  color: #23563b;
}

@media (max-width: 1700px) {
  .settings-detail-shell.is-scenarios-detail .settings-editor-layout {
    grid-template-columns: 1fr;
  }

  .settings-detail-shell.is-scenarios-detail .settings-context-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-detail-shell.is-data-detail .settings-editor-layout {
    grid-template-columns: 1fr;
  }

  .settings-detail-shell.is-data-detail .settings-context-rail {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .settings-detail-shell.is-data-detail .settings-context-card {
    min-width: 0;
  }

  .settings-detail-shell.is-data-detail .settings-data-hero {
    grid-template-columns: minmax(300px, 0.88fr) minmax(420px, 1fr);
  }

  .settings-detail-shell.is-data-detail .settings-data-export-grid {
    grid-template-columns: repeat(3, minmax(240px, 1fr));
  }
}

@media (max-width: 1180px) {
  .settings-detail-shell.is-scenarios-detail .settings-context-rail {
    grid-template-columns: 1fr;
  }

  .settings-detail-shell.is-scenarios-detail .settings-list-row dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-detail-shell.is-scenarios-detail .settings-row-actions {
    justify-content: flex-start;
  }

  .settings-detail-shell.is-data-detail .settings-context-rail,
  .settings-detail-shell.is-data-detail .settings-data-import-grid,
  .settings-detail-shell.is-data-detail .settings-data-export-grid {
    grid-template-columns: 1fr;
  }

  .settings-detail-shell.is-data-detail .settings-data-hero {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 28px 28px 0;
  }

  .settings-data-hero-art {
    min-height: 230px;
    margin: 8px -28px -76px;
    border-radius: 0;
  }

  .settings-data-panel-import {
    margin-top: -54px;
  }

  .settings-detail-shell.is-data-detail .settings-download-backup-card,
  .settings-detail-shell.is-data-detail .settings-restore-backup-card,
  .settings-detail-shell.is-data-detail .settings-export-csv-card {
    grid-template-columns: 112px minmax(0, 1fr);
  }
}

.settings-manual-dialog {
  width: min(1800px, calc(100vw - 36px));
  max-height: min(840px, calc(100vh - 36px));
  padding: 0;
  border: 1px solid var(--subtle);
  border-radius: 12px;
  background: var(--surface);
  box-shadow: 0 28px 72px rgba(25, 42, 54, 0.24);
}

.settings-manual-dialog::backdrop {
  background: rgba(36, 31, 24, 0.26);
  backdrop-filter: blur(4px);
}

.settings-manual-card {
  display: grid;
  gap: 16px;
  padding: 26px 30px;
}

.settings-manual-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
}

.settings-manual-head h3 {
  margin: 0 0 5px;
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: 22px;
}

.settings-manual-head p,
.settings-manual-actions p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.settings-manual-close {
  border: 1px solid var(--subtle-strong);
  border-radius: 8px;
  background: var(--surface);
  color: #33424f;
  padding: 8px 11px;
  font-weight: 800;
  cursor: pointer;
}

.settings-manual-date {
  max-width: 260px;
}

.settings-manual-rows {
  display: grid;
  gap: 10px;
  max-height: 500px;
  overflow: auto;
  padding-right: 4px;
}

.settings-manual-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 200px) minmax(150px, 200px) auto;
  align-items: center;
  gap: 14px;
  padding: 12px;
  border: 1px solid rgba(221, 211, 197, 0.78);
  border-radius: 8px;
  background: rgba(255, 252, 247, 0.78);
}

.settings-manual-row strong,
.settings-manual-row small {
  display: block;
}

.settings-manual-account-summary {
  min-width: 0;
}

.settings-manual-row small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11.5px;
}

.settings-manual-row input,
.settings-manual-row select {
  width: 100%;
  min-height: 40px;
  border: 1px solid var(--subtle);
  border-radius: 8px;
  padding: 0 11px;
  color: var(--text);
  font: inherit;
  font-weight: 760;
}

.settings-manual-bucket-pill {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  gap: 8px;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--success-soft) 70%, white);
  color: var(--text);
  font-size: 12.5px;
  font-weight: 850;
  white-space: nowrap;
}

.settings-manual-bucket-pill.brokerage {
  background: rgba(244, 235, 255, 0.78);
}

.settings-manual-bucket-pill.checking {
  background: rgba(238, 242, 247, 0.92);
}

.settings-manual-bucket-pill.taxDeferred,
.settings-manual-bucket-pill.roth {
  background: rgba(252, 235, 239, 0.82);
}

.settings-manual-bucket-pill i {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.72);
}

.settings-manual-new-row {
  grid-template-columns: minmax(280px, 1.18fr) minmax(300px, 1fr) minmax(340px, 1.12fr) minmax(250px, 0.82fr) minmax(180px, 0.62fr) auto;
  align-items: end;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--blue-soft) 38%, rgba(255, 255, 255, 0.92)), rgba(255, 252, 247, 0.84));
}

.settings-manual-new-row label,
.settings-manual-assigned-bucket {
  display: grid;
  gap: 6px;
}

.settings-manual-new-row label span,
.settings-manual-edit-details label span,
.settings-manual-assigned-bucket > span {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.settings-manual-remove-row,
.settings-manual-edit-row,
.settings-manual-add-account {
  min-height: 40px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  border-radius: 8px;
  background: color-mix(in srgb, var(--theme-soft) 24%, white);
  color: var(--theme-accent-strong);
  font-weight: 900;
  cursor: pointer;
}

.settings-manual-remove-row {
  padding: 0 12px;
  color: var(--red);
  background: rgba(255, 245, 244, 0.82);
}

.settings-manual-edit-row {
  padding: 0 12px;
  white-space: nowrap;
}

.settings-manual-existing-row.is-editing {
  border-color: color-mix(in srgb, var(--theme-accent) 28%, var(--subtle));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--theme-soft) 22%, rgba(255, 255, 255, 0.94)), rgba(255, 252, 247, 0.9));
}

.settings-manual-edit-details {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(320px, 1.18fr) minmax(300px, 1fr) minmax(340px, 1.12fr) minmax(250px, 0.82fr);
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(221, 211, 197, 0.72);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.68);
}

.settings-manual-edit-details[hidden] {
  display: none;
}

.settings-manual-edit-details label {
  display: grid;
  gap: 6px;
}

.settings-manual-add-account {
  justify-self: start;
  padding: 0 14px;
}

.settings-manual-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 4px;
}

.settings-manual-actions > div {
  display: flex;
  gap: 10px;
  flex: 0 0 auto;
}

.settings-manual-save {
  min-width: 142px;
  padding-inline: 18px;
  color: #fff !important;
  white-space: nowrap;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.16);
}

.settings-manual-save:disabled {
  color: #fff !important;
  opacity: 1;
}

.empty-note {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

@media (max-height: 860px) and (min-width: 1101px) {
  .sidebar {
    padding-block: 20px;
    gap: 16px;
  }

  .brand-logo {
    width: 168px;
  }

  .nav-list,
  .nav-section {
    gap: 7px;
  }

  .nav-section + .nav-section,
  .sidebar-footer .nav-section {
    padding-top: 13px;
  }

  .nav-section-title {
    margin-bottom: 0;
    font-size: 11px;
  }

  .nav-item {
    min-height: 40px;
    padding-block: 8px;
  }

  .sidebar-footer {
    gap: 10px;
  }

  .sidebar-footer .sidebar-system-section,
  .sidebar-support-section {
    padding-top: 13px;
  }

  .sidebar-footer .sidebar-system-section {
    padding-bottom: 13px;
  }

  .sidebar-support-card {
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 10px 12px;
  }

  .sidebar-support-icon {
    width: 42px;
    height: 42px;
  }

  .sidebar-support-card small {
    display: none;
  }

  .sidebar-support-card em {
    margin-top: 4px;
  }
}

@media (max-height: 720px) and (min-width: 1101px) {
  .sidebar-support-section {
    display: none;
  }
}

@media (min-width: 1101px) and (max-width: 1400px) {
  .scenario-mode-card {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    min-height: 188px;
    padding: 18px;
  }

  .scenario-mode-card .scenario-mode-check,
  .scenario-mode-card .scenario-mode-status {
    position: absolute;
    top: 16px;
  }

  .scenario-mode-card .scenario-mode-check {
    left: 16px;
  }

  .scenario-mode-card .scenario-mode-status {
    right: 16px;
  }

  .scenario-mode-card .scenario-mode-main {
    align-items: flex-start;
    min-width: 0;
    padding-top: 38px;
  }

  .scenario-mode-card .scenario-mode-main > div {
    min-width: 0;
  }
}

@media (max-width: 1100px) {
  .app-shell {
    grid-template-columns: 1fr;
  }

  .app-shell.sidebar-collapsed {
    grid-template-columns: 1fr;
  }

  .workspace {
    grid-column: 1;
    grid-row: auto;
  }

  .sidebar {
    position: static;
    height: auto;
  }

  .app-shell.sidebar-collapsed .sidebar {
    padding: 24px 18px;
  }

  .app-shell.sidebar-collapsed .sidebar-top {
    justify-content: space-between;
  }

  .app-shell.sidebar-collapsed .brand {
    display: flex;
  }

  .app-shell.sidebar-collapsed .nav-list {
    gap: 4px;
  }

  .app-shell.sidebar-collapsed .nav-section-title {
    width: auto;
    height: auto;
    margin: 4px 10px -10px;
    overflow: visible;
    color: #8a97a2;
    background: transparent;
    letter-spacing: 0.08em;
  }

  .app-shell.sidebar-collapsed .nav-item {
    width: auto;
    min-height: 40px;
    justify-content: flex-start;
    gap: 12px;
    margin: 0;
    padding: 9px 12px;
    font-size: 14px;
  }

  .app-shell.sidebar-collapsed .nav-item::after,
  .app-shell.sidebar-collapsed .sidebar-toggle::after {
    display: none;
  }

  .topbar,
  .topbar-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .scenario-select {
    width: 100%;
  }

  .scenario-select select {
    flex: 1 1 auto;
    min-width: 0;
  }

  .scenario-working-copy-actions {
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .v2-theme-trigger {
    width: 100%;
    justify-content: center;
  }

  .v2-theme-popover {
    right: auto;
    left: 0;
  }

  .kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .overview-hero-row,
  .overview-goal-column,
  .overview-goal {
    grid-template-columns: 1fr;
  }

  .goal-meter-top {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }

  .goal-meter-labels {
    display: grid;
    gap: 4px;
  }

  .goal-meter-labels .goal-target-date {
    justify-self: start;
    text-align: left;
  }

  .goal-meter-top strong {
    justify-self: start;
  }

  .overview-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .summary-story-row {
    grid-template-columns: 1fr;
  }

  .summary-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .plan-pulse-grid {
    grid-template-columns: 1fr;
  }

  .retired-current-year-pulse-head,
  .retired-current-year-pulse-grid {
    grid-template-columns: 1fr;
  }

  .retired-current-year-pulse .panel-action-link {
    justify-self: start;
  }

  .overview-annual-detail .surface-header,
  .overview-annual-detail-layout {
    grid-template-columns: 1fr;
  }

  .overview-annual-detail .surface-header {
    align-items: start;
  }

  .overview-annual-detail-sidecar-head {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .overview-annual-detail-remove-pin-button {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .overview-annual-detail-insights {
    grid-template-columns: 1fr;
  }

  .overview-annual-detail-insights article + article {
    border-top: 1px solid rgba(217, 226, 235, 0.82);
    border-left: 0;
  }

  .chart-legend {
    justify-content: flex-start;
  }

  .balance-metric-grid,
  .balance-account-groups,
  .balance-notes-grid,
  .balance-history-stat-grid,
  .balance-history-insights,
  .balance-evidence-row,
  .plan-tracking-top-grid,
  .plan-tracking-detail-grid,
  .expected-return-summary,
  .expected-return-question-grid,
  .retired-operating-year-grid,
  .health-tax-summary-grid,
  .health-tax-quarter-grid,
  .retired-withdrawal-recommendation,
  .plan-alignment-grid,
  .balance-toolkit-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .expected-return-reconciliation {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .expected-return-reconciliation > i {
    display: none;
  }

  .health-tax-hero {
    align-items: flex-start;
    flex-direction: column;
  }

  .account-detail-head {
    grid-template-columns: 1fr;
  }

  .balance-toolkit-intro,
  .balance-toolkit-actions {
    grid-column: 1 / -1;
  }

  .balance-history-stat-grid {
    max-width: none;
    margin-left: 0;
  }

  .balance-history-insight:nth-child(2) {
    border-right: 0;
  }

  .balance-history-insight:nth-child(n + 3) {
    border-top: 1px solid var(--subtle);
  }

  .expected-return-chart-row {
    grid-template-columns: 1fr;
  }

  .balance-toolkit-intro,
  .balance-toolkit-action {
    border-right: 1px solid color-mix(in srgb, var(--workspace-theme-accent) 16%, rgba(255, 255, 255, 0.78));
  }

  .allocation-card,
  .activity-card,
  .account-detail-card {
    grid-column: 1 / -1;
  }

  .main-chart,
  .side-stack,
  .scenario-chart-panel,
  .scenario-insights,
  .balance-chart-panel,
  .balance-insights,
  .span-7,
  .span-5,
  .span-12 {
    grid-column: 1 / -1;
  }

  .scenario-hero,
  .balance-hero {
    align-items: stretch;
    flex-direction: column;
  }

  .projection-roadmap {
    grid-template-columns: 1fr;
  }

  .projection-roadmap-flow {
    grid-template-columns: 1fr;
  }

  .roadmap-connector {
    width: 5px;
    height: 34px;
    justify-self: center;
  }

  .roadmap-connector::before {
    top: 0;
    right: auto;
    bottom: 11px;
    left: 50%;
    width: 5px;
    height: auto;
    transform: translateX(-50%);
  }

  .roadmap-connector::after {
    top: auto;
    right: auto;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
  }

  .projection-roadmap.is-retired-journey {
    min-height: 0;
    padding: 18px;
  }

  .projection-roadmap.is-retired-journey .projection-roadmap-flow {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .projection-roadmap.is-retired-journey .retired-journey-route {
    display: none;
  }

  .projection-roadmap.is-retired-journey .roadmap-step {
    min-height: 210px;
  }

  .projection-roadmap.is-retired-journey .roadmap-step > div {
    width: min(72%, 330px);
  }

  .scenario-card-grid,
  .scenario-comparison-steps,
  .scenario-mode-grid,
  .scenario-outcome-grid,
  .scenario-question-category-grid,
  .scenario-question-grid,
  .scenario-question-group-grid,
  .scenario-whatif-overview,
  .scenario-visual-grid,
  .scenario-analysis-grid,
  .scenario-select-workspace,
  .scenario-question-toolbar,
  .scenario-temporary-builder,
  .scenario-diagnostic-controls {
    grid-template-columns: 1fr;
  }

  .scenario-comparison-hero,
  .scenario-builder-intro,
  .scenario-diagnostic-lead,
  .scenario-guardrail-note,
  .scenario-temporary-builder {
    align-items: stretch;
    flex-direction: column;
  }

  .scenario-mode-card {
    grid-template-columns: 1fr;
  }

  .scenario-diagnostic-lead,
  .scenario-diagnostic-steps {
    grid-template-columns: 1fr;
  }

  .scenario-custom-query-suggestions {
    grid-template-columns: 1fr;
  }

  .scenario-custom-query-suggestion-list button {
    max-width: none;
  }

  .scenario-custom-query-save-card {
    grid-template-columns: 1fr;
  }

  .scenario-custom-query-save-button {
    justify-self: stretch;
  }

  .scenario-custom-query-save-actions {
    justify-content: stretch;
  }

  .scenario-results-empty-card {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .scenario-results-preview-art {
    grid-column: 1 / -1;
    justify-content: center;
  }

  .scenario-mode-status {
    justify-self: start;
  }

  .scenario-guardrail-note {
    background:
      linear-gradient(180deg, rgba(247, 251, 255, 0.98), rgba(247, 251, 255, 0.84)),
      url("assets/brand/comparison-rules-background-panel.png") center right / cover no-repeat,
      #f4f9ff;
  }

  .scenario-run-analysis-button {
    justify-self: stretch;
  }

  .scenario-preview-chart div {
    position: static;
    max-width: none;
    margin: 0 14px 14px;
  }

  .simulation-tool-launchpad,
  .simulation-tool-grid,
  .simulation-overview-strip,
  .simulation-monte-view-head,
  .simulation-lens-summary,
  .simulation-lens-analysis-grid,
  .simulation-path-briefing-grid,
  .simulation-selected-stats,
  .simulation-path-stats,
  .market-replay-learning-grid,
  .market-replay-stat-grid,
  .market-replay-timeline,
  .market-replay-takeaways,
  .monte-preview-metrics,
  .settings-money-tabs,
  .settings-domain-grid,
  .settings-operational-grid,
  .settings-danger-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-detail-shell.is-data-detail .settings-data-hero,
  .settings-detail-shell.is-data-detail .settings-data-export-grid {
    grid-template-columns: 1fr;
  }

  .simulation-lens-summary article {
    border-right: 0;
  }

  .simulation-lens-summary article:nth-child(odd) {
    border-right: 1px solid color-mix(in srgb, var(--subtle) 78%, transparent);
  }

  .simulation-lens-summary article:nth-child(-n + 2) {
    border-bottom: 1px solid color-mix(in srgb, var(--subtle) 78%, transparent);
  }

  .monte-preview-metrics article + article {
    border-left: 1px solid rgba(221, 211, 197, 0.78);
  }

  .monte-preview-metrics article:nth-child(odd) {
    border-left: 0;
  }

  .monte-preview-metrics article:nth-child(n + 3) {
    border-top: 1px solid rgba(221, 211, 197, 0.78);
  }

  .simulation-hero,
  .simulation-suite-intro,
  .simulation-mode-head,
  .simulation-lens-card-head,
  .simulation-filter-row,
  .simulation-selected-head,
  .market-replay-title-row {
    align-items: stretch;
    flex-direction: column;
  }

  .simulation-hero-actions {
    justify-content: flex-start;
  }

  .simulation-mode-tabs {
    align-self: flex-start;
    flex-wrap: wrap;
    border-radius: var(--radius);
  }

  .market-replay-layout {
    grid-template-columns: 1fr;
  }

  .market-replay-verdict-card {
    grid-template-columns: 1fr;
  }

  .market-replay-verdict-metrics {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  }

  .simulation-suite-intro,
  .simulation-overview-strip,
  .simulation-suite-verdict {
    width: calc(100% - 28px);
    min-width: 0;
  }

  .simulation-suite-verdict {
    grid-template-columns: 1fr;
  }

  .simulation-suite-funded-metric {
    min-height: 0;
    padding-top: 14px;
    padding-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--subtle) 86%, transparent);
    border-left: 0;
  }

  .simulation-suite-verdict .simulation-run-button {
    justify-self: start;
  }

  .market-backdrop-card,
  .market-timeline-card {
    grid-template-columns: 1fr;
  }

  .market-replay-picker {
    position: static;
  }

  .settings-page-head,
  .settings-detail-head {
    flex-direction: column;
  }

  .settings-home-layout {
    grid-template-columns: 1fr;
  }

  .settings-editor-layout,
  .settings-editor-summary-strip {
    grid-template-columns: 1fr;
  }

  .settings-quick-nav {
    align-items: stretch;
    justify-items: stretch;
  }

  .settings-detail-shell.is-profile-detail .settings-editor-summary-strip,
  .settings-detail-shell.is-spending-detail .settings-editor-summary-strip,
  .settings-detail-shell.is-income-detail .settings-editor-summary-strip,
  .settings-detail-shell.is-health-detail .settings-editor-summary-strip,
  .settings-detail-shell.is-tax-detail .settings-editor-summary-strip,
  .settings-detail-shell.is-accounts-detail .settings-editor-summary-strip,
  .settings-detail-shell.is-withdrawals-detail .settings-editor-summary-strip,
  .settings-detail-shell.is-planning-detail .settings-editor-summary-strip {
    width: 100%;
  }

  .settings-detail-shell.is-profile-detail .settings-detail-head,
  .settings-detail-shell.is-spending-detail .settings-detail-head,
  .settings-detail-shell.is-income-detail .settings-detail-head,
  .settings-detail-shell.is-health-detail .settings-detail-head,
  .settings-detail-shell.is-tax-detail .settings-detail-head {
    min-height: 0;
    padding-right: 0;
  }

  .settings-detail-shell.is-profile-detail .settings-detail-actions,
  .settings-detail-shell.is-spending-detail .settings-detail-actions,
  .settings-detail-shell.is-income-detail .settings-detail-actions,
  .settings-detail-shell.is-health-detail .settings-detail-actions,
  .settings-detail-shell.is-tax-detail .settings-detail-actions {
    position: static;
  }

  .settings-domain-grid {
    grid-template-columns: 1fr;
  }

  .settings-pinned-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-pro-tips-panel {
    grid-template-columns: 1fr;
  }

  .settings-pro-tip-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-detail-shell .settings-detail-pro-tips-panel .settings-pro-tip-grid.has-four-tips {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-pro-tips-title {
    grid-template-columns: auto auto;
    justify-content: start;
    padding-right: 0;
    padding-bottom: 16px;
    border-right: 0;
    border-bottom: 2px solid rgba(20, 27, 35, 0.22);
  }

  .settings-list-row,
  .settings-account-summary,
  .settings-scenario-toolbar,
  .settings-scenario-row-meta {
    grid-template-columns: 1fr;
  }

  .settings-account-summary-meta {
    justify-content: space-between;
    text-align: left;
  }

  .settings-list-row dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-account-edit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-detail-shell.is-accounts-detail .settings-account-edit-grid,
  .settings-detail-shell.is-accounts-detail .settings-account-field-group {
    grid-template-columns: 1fr;
  }

  .settings-imported-account-overview {
    grid-template-columns: minmax(220px, 1fr) max-content;
  }

  .settings-imported-account-facts,
  .settings-imported-account-field-grid {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-array-edit-grid,
  .settings-tax-auto-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-bottom-pins {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .app-shell.sidebar-collapsed .sidebar {
    padding: 10px 14px;
    gap: 0;
    border-radius: 0 0 14px 14px;
  }

  .app-shell.sidebar-collapsed .nav-list,
  .app-shell.sidebar-collapsed .sidebar-footer {
    display: none;
  }

  .app-shell.sidebar-collapsed .brand {
    display: flex;
  }

  .app-shell.sidebar-collapsed .brand-logo {
    width: min(168px, 55vw);
  }

  .topbar {
    width: min(calc(100% - 24px), var(--workspace-max-width));
    margin-top: 12px;
    padding: 14px;
  }

}

@media (max-width: 1600px) {
  .simulation-stress-row {
    grid-template-columns: 76px minmax(0, 1fr) 18px;
    gap: 12px;
  }

  .simulation-story-thumb {
    width: 76px;
  }

  .simulation-stress-row dl {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 10px 0 0;
    border-top: 1px solid color-mix(in srgb, var(--subtle) 82%, transparent);
    border-left: 0;
  }

  .simulation-stress-row .simulation-story-open {
    grid-column: 3;
    grid-row: 1;
  }

  .app-shell:not(.sidebar-collapsed) {
    grid-template-columns: minmax(292px, 312px) minmax(0, 1fr);
  }

  .sidebar {
    padding: 24px 18px;
    gap: 20px;
  }

  .brand-logo {
    width: 182px;
  }

  .nav-list {
    gap: 14px;
  }

  .nav-section + .nav-section,
  .sidebar-footer .nav-section {
    padding-top: 18px;
  }

  .nav-item {
    min-height: 44px;
    gap: 13px;
    padding: 10px 14px;
    font-size: 15px;
  }

  .sidebar-footer {
    gap: 14px;
  }

  .sidebar-support-card {
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 11px;
    padding: 13px 14px;
  }

  .sidebar-support-icon {
    width: 48px;
    height: 48px;
  }

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

  .sidebar-support-card small,
  .sidebar-support-card em {
    font-size: 11px;
  }

  .settings-detail-shell.is-profile-detail .settings-detail-art,
  .settings-detail-shell.is-spending-detail .settings-detail-art,
  .settings-detail-shell.is-income-detail .settings-detail-art,
  .settings-detail-shell.is-health-detail .settings-detail-art,
  .settings-detail-shell.is-tax-detail .settings-detail-art,
  .settings-detail-shell.is-accounts-detail .settings-detail-art,
  .settings-detail-shell.is-withdrawals-detail .settings-detail-art,
  .settings-detail-shell.is-planning-detail .settings-detail-art {
    display: none;
  }

  .settings-detail-shell.is-profile-detail .settings-editor-summary-strip,
  .settings-detail-shell.is-spending-detail .settings-editor-summary-strip,
  .settings-detail-shell.is-income-detail .settings-editor-summary-strip,
  .settings-detail-shell.is-health-detail .settings-editor-summary-strip,
  .settings-detail-shell.is-tax-detail .settings-editor-summary-strip,
  .settings-detail-shell.is-accounts-detail .settings-editor-summary-strip,
  .settings-detail-shell.is-withdrawals-detail .settings-editor-summary-strip,
  .settings-detail-shell.is-planning-detail .settings-editor-summary-strip {
    width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }

  .settings-detail-shell.is-profile-detail .settings-editor-summary-strip article,
  .settings-detail-shell.is-spending-detail .settings-editor-summary-strip article,
  .settings-detail-shell.is-income-detail .settings-editor-summary-strip article,
  .settings-detail-shell.is-health-detail .settings-editor-summary-strip article,
  .settings-detail-shell.is-tax-detail .settings-editor-summary-strip article,
  .settings-detail-shell.is-accounts-detail .settings-editor-summary-strip article,
  .settings-detail-shell.is-withdrawals-detail .settings-editor-summary-strip article,
  .settings-detail-shell.is-planning-detail .settings-editor-summary-strip article {
    min-height: 104px;
    padding: 16px 18px;
  }

  body[data-active-view="overview"] .overview-hero-row,
  body[data-active-view="overview"] .overview-hero-row.is-retired-cushion,
  body[data-active-view="overview"] .overview-goal-column,
  body[data-active-view="overview"] .overview-goal {
    grid-template-columns: 1fr;
  }

  body[data-active-view="overview"] .retired-current-year-pulse-head {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-active-view="overview"] .retired-current-year-pulse .panel-action-link {
    justify-self: start;
  }
}

@media (max-width: 1300px) {
  .simulation-result-table table.is-accumulation th:nth-child(6),
  .simulation-result-table table.is-accumulation td:nth-child(6),
  .simulation-result-table table.is-accumulation th:nth-child(7),
  .simulation-result-table table.is-accumulation td:nth-child(7),
  .simulation-result-table table.is-accumulation th:nth-child(9),
  .simulation-result-table table.is-accumulation td:nth-child(9),
  .simulation-result-table table.is-accumulation th:nth-child(11),
  .simulation-result-table table.is-accumulation td:nth-child(11) {
    display: none;
  }

  .simulation-result-table th,
  .simulation-result-table td {
    padding-right: 8px;
    padding-left: 8px;
  }

  body[data-active-view="overview"] .goal-meter-top {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }

  body[data-active-view="overview"] .goal-meter-labels {
    display: grid;
    gap: 4px;
  }

  body[data-active-view="overview"] .goal-meter-labels .goal-target-date,
  body[data-active-view="overview"] .goal-meter-top strong {
    justify-self: start;
    text-align: left;
  }

  body[data-active-view="overview"] .goal-cushion-metric-grid {
    grid-template-columns: 1fr;
  }

  body[data-active-view="overview"] .retired-current-year-pulse-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .content {
    padding: 18px;
  }

  .topbar {
    margin: 10px 12px 0;
    padding: 18px;
  }

  #topbar-scenario-select {
    min-height: 44px;
  }

  .simulation-tool-launchpad,
  .simulation-tool-grid,
  .simulation-overview-strip,
  .simulation-monte-view-head,
  .simulation-lens-summary,
  .simulation-lens-analysis-grid,
  .simulation-path-briefing-grid,
  .simulation-selected-stats,
  .simulation-path-stats,
  .market-replay-learning-grid,
  .market-replay-stat-grid,
  .market-replay-verdict-metrics,
  .market-backdrop-card,
  .market-timeline-card,
  .market-replay-timeline,
  .market-replay-takeaways,
  .monte-preview-metrics,
  .settings-money-tabs,
  .settings-domain-grid,
  .settings-editor-summary-strip,
  .settings-form-grid,
  .settings-compare-picker,
  .settings-imported-account-row,
  .settings-operational-grid,
  .settings-danger-grid,
  .expected-return-summary,
  .expected-return-definition-grid,
  .expected-return-question-grid,
  .expected-return-rows,
  .expected-return-row-main,
  .expected-return-bucket-header,
  .expected-return-chart-detail {
    grid-template-columns: 1fr;
  }

  .expected-return-attribution-head,
  .expected-return-reconciliation {
    grid-template-columns: 1fr;
  }

  .expected-return-attribution-status {
    grid-template-columns: 1fr;
    justify-self: start;
  }

  .expected-return-attribution-icon,
  .expected-return-attribution-confidence {
    justify-self: start;
  }

  .settings-detail-shell.is-data-detail .settings-data-import-grid,
  .settings-detail-shell.is-data-detail .settings-data-export-grid,
  .settings-detail-shell.is-data-detail .settings-danger-grid,
  .settings-detail-shell.is-data-detail .settings-tool-card-featured {
    grid-template-columns: 1fr;
  }

  .settings-detail-shell.is-income-detail .settings-grid-spacer {
    display: none;
  }

  .settings-detail-shell.is-health-detail .settings-aca-dependent-note {
    grid-column: 1 / -1;
    margin-top: -6px;
  }

  .settings-data-hero {
    grid-template-columns: 1fr;
    padding: 22px;
    overflow: hidden;
    border-bottom-color: color-mix(in srgb, var(--theme-accent) 18%, rgba(54, 45, 36, 0.12));
    border-radius: 12px;
  }

  .settings-data-hero-art {
    display: none;
  }

  .settings-data-panel-import {
    margin-top: 0;
    padding-top: 22px;
    border-radius: 12px;
  }

  .simulation-landing-placeholder,
  .simulation-welcome-layout,
  .simulation-welcome-card,
  .simulation-welcome-visual,
  .simulation-deep-dive-shell,
  .simulation-mode-head,
  .simulation-monte-view-head,
  .simulation-mode-control,
  .simulation-education-card,
  .simulation-lens-card {
    min-width: 0;
    max-width: 100%;
  }

  .simulation-welcome-layout {
    width: 100%;
  }

  .simulation-deep-dive-shell {
    padding: 14px;
  }

  .simulation-mode-head > div,
  .simulation-monte-view-head > div {
    min-width: 0;
    max-width: 100%;
  }

  .simulation-mode-control {
    align-items: stretch;
    flex-direction: column;
  }

  .historical-inflation-panel {
    grid-template-columns: minmax(0, 1fr);
    padding: 14px;
  }

  .historical-inflation-control {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .simulation-monte-toggle {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    border-radius: 14px;
  }

  .simulation-monte-toggle button {
    width: 100%;
  }

  .simulation-education-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .simulation-education-card img {
    width: 46px;
    height: 46px;
  }

  .simulation-lens-summary {
    padding: 10px 14px;
  }

  .simulation-lens-summary article,
  .simulation-lens-summary article:nth-child(odd),
  .simulation-lens-summary article:nth-child(-n + 2) {
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--subtle) 78%, transparent);
  }

  .simulation-lens-summary article:last-child {
    border-bottom: 0;
  }

  .monte-preview-outcome {
    grid-template-columns: 1fr;
  }

  .market-replay-verdict-metrics article:first-child,
  .market-replay-verdict-metrics article.is-pressure {
    grid-column: auto;
  }

  .monte-preview-metrics article + article,
  .monte-preview-metrics article:nth-child(odd) {
    border-left: 0;
  }

  .monte-preview-metrics article:nth-child(n + 2) {
    border-top: 1px solid rgba(221, 211, 197, 0.78);
  }

  .simulation-stress-row {
    grid-template-columns: 1fr;
  }

  .simulation-stress-row dl {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .market-replay-verdict-card dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .monte-preview-metrics article:last-child {
    grid-column: auto;
  }

  .settings-pinned-rail,
  .settings-bottom-pins,
  .settings-editor-layout {
    grid-template-columns: 1fr;
  }

  .kpi-grid {
    grid-template-columns: 1fr;
  }

  .balance-metric-grid,
  .balance-account-groups,
  .balance-notes-grid,
  .balance-history-stat-grid,
  .balance-history-insights,
  .plan-tracking-top-grid,
  .plan-tracking-detail-grid,
  .retired-withdrawal-recommendation,
  .plan-alignment-grid,
  .account-detail-summary-grid,
  .allocation-layout,
  .activity-metric-grid,
  .portfolio-snapshot-main,
  .balance-toolkit-panel,
  .balance-toolkit-actions {
    grid-template-columns: 1fr;
  }

  .health-tax-summary-grid,
  .health-tax-quarter-grid {
    grid-template-columns: 1fr;
  }

  .retired-ledger-preview-row {
    grid-template-columns: 1fr;
  }

  .balance-history-header {
    align-items: stretch;
    flex-direction: column;
  }

  .balance-history-title-block {
    align-items: start;
  }

  .balance-history-header .segmented-control {
    width: 100%;
    justify-content: stretch;
  }

  .balance-history-header .segmented-control button {
    flex: 1 1 0;
  }

  .expected-return-overall-row,
  .expected-return-row-main {
    min-height: 0;
    padding: 18px;
  }

  .expected-return-overall .expected-return-chart-account,
  .expected-return-chart-account {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
  }

  .expected-return-overall .expected-return-chart-measure,
  .expected-return-chart-row:not(.expected-return-overall-row) .expected-return-chart-measure,
  .expected-return-row-score,
  .expected-return-overall-score {
    grid-column: 1 / -1;
  }

  .expected-return-bar-line {
    grid-template-columns: minmax(82px, 0.9fr) minmax(92px, 1fr) minmax(42px, auto);
    gap: 8px;
  }

  .expected-return-bar-line b,
  .expected-return-bar-line em {
    font-size: 11px;
  }

  .expected-return-overall-score {
    justify-items: start;
    padding: 14px 0 0;
    border-top: 1px solid rgba(207, 218, 230, 0.9);
    border-left: 0;
    text-align: left;
  }

  .expected-return-row-score {
    justify-items: start;
    text-align: left;
  }

  .expected-return-overall-detail,
  .expected-return-chart-row:not(.expected-return-overall-row) .expected-return-chart-detail {
    grid-template-columns: 1fr;
    padding: 16px 18px 18px;
  }

  .expected-return-overall-detail > span,
  .expected-return-chart-row:not(.expected-return-overall-row) .expected-return-chart-detail > span {
    min-height: 0;
    padding: 12px 0;
  }

  .expected-return-chart-row:not(.expected-return-overall-row) .expected-return-chart-detail > span + span {
    border-top: 1px solid rgba(226, 232, 240, 0.9);
    border-left: 0;
  }

  .expected-return-bucket-header {
    align-items: stretch;
  }

  .expected-return-bucket-header > span:not(.expected-return-bucket-label) {
    justify-content: space-between;
  }

  .expected-return-bucket-label {
    flex-wrap: wrap;
  }

  .scenario-guardrail-note {
    min-height: 0;
    padding: 18px;
  }

  .scenario-compare-action-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .scenario-compare-action-row .scenario-guardrail-note {
    min-height: 0;
    padding: 16px;
    background:
      linear-gradient(180deg, rgba(247, 251, 255, 0.98), rgba(247, 251, 255, 0.9)),
      #f4f9ff;
  }

  .scenario-compare-action-row .scenario-run-analysis-button {
    justify-self: stretch;
    width: 100%;
  }

  .scenario-guardrail-copy {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .scenario-guardrail-copy strong {
    font-size: 18px;
    line-height: 1.18;
  }

  .scenario-select-field {
    min-width: 0;
  }

  .scenario-select-button span,
  #scenario-compare-select-b-label {
    white-space: normal;
  }

  .balance-history-legend {
    padding: 16px 16px 2px;
    gap: 12px;
  }

  .balance-history-chart-main .chart-frame {
    height: 360px;
    padding: 0 4px 8px;
  }

  .balance-history-insight,
  .balance-history-insight:nth-child(n + 2),
  .balance-history-insight:nth-child(n + 3) {
    min-height: 0;
    padding: 18px;
    border-top: 1px solid var(--subtle);
    border-right: 0;
  }

  .balance-history-insight:first-child {
    border-top: 0;
  }

  .plan-tracking-dashboard {
    padding: 12px;
  }

  .portfolio-snapshot-hero-head {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .portfolio-snapshot-import-badge {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .account-detail-card {
    padding: 16px;
  }

  .account-detail-title-lockup {
    align-items: start;
  }

  .plan-tracking-title-row,
  .plan-alignment-head,
  .balance-empty-guide,
  .balance-toolkit-intro {
    flex-direction: column;
  }

  .balance-empty-guide {
    grid-template-columns: 1fr;
    padding: 18px;
  }

  .balance-toolkit-panel {
    min-height: 0;
    padding: 14px;
  }

  .balance-toolkit-intro,
  .balance-toolkit-action,
  .balance-toolkit-note {
    grid-template-columns: 48px minmax(0, 1fr);
    min-height: 0;
    padding: 14px 8px;
  }

  .balance-toolkit-title-icon,
  .balance-toolkit-icon,
  .balance-toolkit-note-icon {
    width: 44px;
    height: 44px;
  }

  .balance-toolkit-cta,
  .balance-toolkit-status {
    grid-column: 1 / -1;
  }

  .allocation-list-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .allocation-list-row em {
    display: none;
  }

  .allocation-list-row strong,
  .allocation-list-row small {
    text-align: right;
  }

  .balance-bucket-delta-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .settings-manual-head,
  .settings-manual-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .settings-detail-shell.is-accounts-detail .settings-account-field-grid {
    grid-template-columns: 1fr;
  }

  .settings-detail-shell.is-accounts-detail .settings-accounts-individual-timing-note {
    grid-template-columns: 1fr;
  }

  .settings-detail-shell.is-accounts-detail .settings-investment-mix-banner,
  .settings-imported-account-mix {
    grid-template-columns: 1fr;
  }

  .settings-detail-shell.is-accounts-detail .settings-investment-mix-banner .settings-secondary-button {
    justify-self: start;
  }

  .settings-detail-shell.is-accounts-detail .settings-accounts-individual-timing-note .settings-secondary-button {
    justify-self: start;
  }

  .settings-detail-shell.is-accounts-detail .settings-account-split-contribution dl {
    grid-template-columns: 1fr;
  }

  .settings-manual-row {
    grid-template-columns: 1fr;
  }

  .settings-manual-new-row {
    grid-template-columns: 1fr;
  }

  .settings-manual-edit-details {
    grid-template-columns: 1fr;
  }

  .settings-list-row dl {
    grid-template-columns: 1fr;
  }

  .settings-account-edit-grid {
    grid-template-columns: 1fr;
  }

  .settings-array-edit-grid,
  .settings-tax-auto-summary {
    grid-template-columns: 1fr;
  }

  .settings-detail-shell.is-income-detail #settings-recurring-income-summary .settings-array-row {
    grid-template-columns: 1fr;
  }

  .settings-detail-shell.is-spending-detail #settings-pre-retirement-expenses-summary .settings-array-row {
    grid-template-columns: 1fr;
  }

  .settings-detail-shell.is-spending-detail #settings-pre-retirement-expenses-summary .settings-array-row-note {
    grid-column: 1;
  }

  .settings-detail-shell.is-income-detail #settings-recurring-income-summary .settings-array-row-head {
    padding-top: 0;
  }

  .settings-detail-shell.is-income-detail #settings-recurring-income-summary .settings-array-edit-grid {
    grid-template-columns: 1fr;
  }

  .settings-array-editor-head,
  .settings-array-row-head {
    align-items: stretch;
    flex-direction: column;
  }

  .methodology-hero,
  .methodology-card-grid,
  .methodology-core-grid,
  .methodology-randomized-model-grid,
  .methodology-randomized-boundaries,
  .methodology-validation-grid,
  .methodology-split-grid,
  .methodology-list-grid,
  .methodology-tax-assumptions-head {
    grid-template-columns: 1fr;
  }

  .methodology-hero {
    padding: 24px;
  }

  .methodology-section {
    padding: 22px;
  }

  .methodology-randomized-models {
    padding: 20px;
  }

  .methodology-randomized-models-head {
    grid-template-columns: 1fr;
  }

  .methodology-randomized-models-icon {
    width: 50px;
    height: 50px;
  }

  .methodology-randomized-boundaries > div + div {
    border-top: 1px solid rgba(122, 84, 212, 0.16);
    border-left: 0;
  }

  .methodology-randomized-models-footnote {
    padding-inline: 0;
  }

  .settings-compare-row {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .settings-pinned-rail,
  .settings-bottom-pins {
    grid-template-columns: 1fr;
  }

  .settings-pro-tip-grid {
    grid-template-columns: 1fr;
  }

  .settings-detail-shell .settings-detail-pro-tips-panel .settings-pro-tip-grid.has-four-tips {
    grid-template-columns: 1fr;
  }

  .settings-pro-tip-grid article {
    padding: 14px 0;
    border-top: 1px solid rgba(20, 27, 35, 0.18);
    border-left: 0;
  }

  .settings-pro-tip-grid article:first-child {
    border-top: 0;
  }

  .market-replay-timeline ol {
    display: grid;
    gap: 14px;
    padding: 0 0 0 18px;
  }

  .market-replay-timeline ol::before {
    top: 2px;
    bottom: 4px;
    left: 4px;
    width: 3px;
    height: auto;
    background:
      linear-gradient(180deg,
        color-mix(in srgb, #c2413d 72%, var(--theme-accent)),
        #d77913 36%,
        #d6a629 68%,
        color-mix(in srgb, var(--green) 74%, var(--theme-accent)));
  }

  .market-replay-timeline li {
    padding-right: 0;
  }

  .market-replay-timeline li::before {
    top: 2px;
    left: -19px;
    width: 10px;
    height: 10px;
    border-width: 2px;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--theme-soft) 58%, white);
  }
}

@media (max-width: 1280px) {
  .simulation-lens-analysis-grid {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 701px) and (max-width: 900px) {
  .simulation-stress-row {
    grid-template-columns: 76px minmax(0, 1fr) 18px;
  }

  .simulation-story-thumb {
    width: 76px;
  }

  .simulation-stress-row dl {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 10px 0 0;
    border-top: 1px solid color-mix(in srgb, var(--subtle) 82%, transparent);
    border-left: 0;
  }
}

@media (max-width: 560px) {
  .simulation-stress-row {
    grid-template-columns: 1fr;
  }

  .simulation-story-thumb {
    width: 100%;
    max-height: 120px;
  }

  .simulation-stress-row dl {
    grid-template-columns: 1fr;
  }

  .simulation-stress-row dl div,
  .simulation-stress-row dl div:last-child {
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--subtle) 84%, transparent);
  }

  .simulation-stress-row dl div:last-child {
    border-bottom: 0;
  }

  .simulation-story-open {
    justify-self: start;
  }

  .simulation-story-footer {
    align-items: flex-start;
    border-radius: var(--radius);
  }
}

@media (max-width: 1180px) {
  .health-tax-guardrail-grid,
  .health-tax-income-grid,
  .retired-operating-year-grid,
  .health-tax-quarter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .health-tax-equation-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .health-tax-equation-operator {
    display: none;
  }
}

@media (max-width: 760px) {
  .health-tax-guardrail-grid,
  .health-tax-income-grid,
  .retired-operating-year-grid,
  .health-tax-quarter-grid,
  .health-tax-tax-estimate-grid {
    grid-template-columns: 1fr;
  }

  .health-tax-guardrail-card {
    grid-template-columns: 1fr;
  }

  .health-tax-section-head {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .health-tax-section-meta {
    grid-column: 2;
    justify-self: start;
  }
}

.plan-report-view {
  max-width: none;
}

body[data-active-view="plan-report"] .content {
  padding-top: 26px;
  padding-bottom: 0;
}

.plan-report-shell {
  display: grid;
  gap: 22px;
}

.plan-report-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--subtle));
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), color-mix(in srgb, var(--theme-soft) 38%, white));
  padding: 20px 22px;
  box-shadow: 0 18px 38px rgba(44, 37, 28, 0.06);
}

.plan-report-toolbar h2 {
  margin: 3px 0 5px;
  color: var(--theme-accent-strong);
  font-size: 28px;
}

.plan-report-toolbar p:not(.eyebrow) {
  margin: 0;
  max-width: 760px;
  color: var(--muted);
  line-height: 1.45;
}

.plan-report-toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.plan-report-toolbar .button svg {
  width: 18px;
  height: 18px;
  fill: none;
}

.plan-report-document {
  display: grid;
  gap: 22px;
  max-width: 1280px;
  margin: 0 auto 54px;
  color: #202936;
}

body[data-active-view="plan-report"] .plan-report-document {
  margin-bottom: 0;
}

.plan-report-landing {
  position: relative;
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  border-radius: 22px;
  background: color-mix(in srgb, var(--theme-soft) 14%, #fff);
  box-shadow: 0 24px 64px rgba(35, 50, 72, 0.1);
}

.plan-report-landing::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 10;
  height: 4px;
  content: "";
  pointer-events: none;
  background: linear-gradient(
    90deg,
    var(--theme-accent-strong),
    var(--theme-accent) 58%,
    color-mix(in srgb, var(--theme-accent) 42%, #fff)
  );
}

.plan-report-landing-hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 440px;
  overflow: hidden;
  background-image: url("assets/brand/plan-report-landing-hero.png");
  background-position: center 49%;
  background-size: cover;
}

.plan-report-landing-hero::before {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.995) 0%, rgba(255, 255, 255, 0.985) 30%, rgba(255, 255, 255, 0.9) 43%, rgba(255, 255, 255, 0.52) 57%, rgba(255, 255, 255, 0.08) 76%, transparent 88%);
}

.plan-report-landing-copy {
  position: relative;
  z-index: 1;
  width: min(590px, 57%);
  padding: 52px 48px 92px;
}

.plan-report-landing-copy .eyebrow,
.plan-report-included .eyebrow {
  color: var(--theme-accent-strong);
  letter-spacing: 0.13em;
}

.plan-report-landing-copy h2 {
  max-width: 560px;
  margin: 8px 0 14px;
  color: #102f56;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 4vw, 66px);
  line-height: 0.98;
  letter-spacing: -0.035em;
}

.plan-report-landing-copy > p:not(.eyebrow):not(.plan-report-preparation-status) {
  max-width: 555px;
  margin: 0;
  color: #405064;
  font-size: 18px;
  line-height: 1.55;
}

.plan-report-landing-action {
  display: grid;
  justify-items: start;
  gap: 10px;
  width: 100%;
  margin: 0;
}

.plan-report-generate-button {
  width: min(100%, 430px);
  min-width: 320px;
  min-height: 68px;
  justify-content: center;
  border-radius: 11px;
  background: linear-gradient(135deg, var(--theme-accent), var(--theme-accent-strong));
  box-shadow: 0 14px 28px color-mix(in srgb, var(--theme-accent) 24%, transparent);
  font-size: 18px;
}

.plan-report-generate-button svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.plan-report-generate-button .plan-report-pdf-document-icon {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.plan-report-pdf-document-icon rect {
  fill: currentColor;
  stroke: currentColor;
}

.plan-report-pdf-document-icon text {
  fill: var(--theme-accent-strong);
  stroke: none;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.3px;
}

.plan-report-landing-action .plan-report-print-note {
  margin: 0;
  color: #627185;
  font-size: 12px;
  font-weight: 700;
}

.plan-report-landing-action .plan-report-preparation-status {
  max-width: 520px;
  margin: 0 !important;
  text-align: left;
}

.plan-report-landing-feature-strip {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(1040px, calc(100% - 96px));
  margin: -46px 48px 0;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 16%, #dce4ec);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 14px 34px rgba(35, 50, 72, 0.12);
}

.plan-report-landing-feature-strip > span {
  position: relative;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  min-height: 116px;
  padding: 20px 22px;
}

.plan-report-landing-feature-strip > span + span::before {
  position: absolute;
  top: 22px;
  bottom: 22px;
  left: 0;
  width: 1px;
  content: "";
  background: #dce3ea;
}

.plan-report-landing-icon,
.plan-report-included-grid svg,
.plan-report-privacy-card > svg {
  width: 58px;
  height: 58px;
  padding: 12px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--theme-soft) 66%, #eef6fb);
  color: var(--theme-accent-strong);
  stroke: currentColor;
  stroke-width: 1.7;
}

.plan-report-landing-icon {
  position: relative;
  display: block;
  grid-row: auto;
  flex: 0 0 auto;
  border: 1.5px solid color-mix(in srgb, var(--theme-accent) 34%, #dbe4ec);
}

.plan-report-landing-icon::before {
  position: absolute;
  inset: 11px;
  content: "";
  background: var(--theme-accent-strong);
  -webkit-mask-image: var(--plan-report-landing-icon-mask);
  mask-image: var(--plan-report-landing-icon-mask);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.plan-report-landing-icon.is-share {
  --plan-report-landing-icon-mask: url("assets/brand/plan-report-landing-share.png");
}

.plan-report-landing-icon.is-evidence {
  --plan-report-landing-icon-mask: url("assets/brand/plan-report-landing-evidence.png");
}

.plan-report-landing-icon.is-summary {
  --plan-report-landing-icon-mask: url("assets/brand/plan-report-landing-summary.png");
}

.plan-report-landing-icon.is-privacy {
  --plan-report-landing-icon-mask: url("assets/brand/plan-report-landing-privacy.png");
}

.plan-report-landing-feature-strip b {
  align-self: center;
  color: #14375d;
  font-size: 14px;
  line-height: 1.42;
}

.plan-report-landing-lower {
  display: grid;
  grid-template-columns: minmax(330px, 0.86fr) minmax(440px, 1.14fr);
  column-gap: 34px;
  row-gap: 8px;
  align-items: start;
  padding: 34px 48px 42px;
}

.plan-report-landing-left,
.plan-report-landing-preview-column {
  display: grid;
  gap: 26px;
  align-content: start;
}

.plan-report-landing-preview-column {
  gap: 8px;
}

.plan-report-included,
.plan-report-privacy-card {
  border: 1px solid color-mix(in srgb, var(--theme-accent) 15%, #dce4ec);
  border-radius: 16px;
  background: #fff;
}

.plan-report-included {
  min-height: 326px;
  padding: 30px 30px 28px;
}

.plan-report-included h3 {
  margin: 0 0 22px;
  color: #15375e;
  font-size: 24px;
}

.plan-report-included-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 28px;
}

.plan-report-included-grid > span {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  min-height: 72px;
  border-top: 1px solid #e3e9ef;
  color: #233f60;
  font-size: 13px;
}

.plan-report-included-grid svg {
  width: 42px;
  height: 42px;
  padding: 9px;
  border: 1.5px solid color-mix(in srgb, var(--theme-accent) 34%, #dbe4ec);
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.plan-report-privacy-card {
  display: flex;
  grid-column: 1 / -1;
  width: 100%;
  box-sizing: border-box;
  gap: 16px;
  align-items: flex-start;
  align-self: stretch;
  padding: 24px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--theme-soft) 54%, #f5fbff), #fff);
}

.plan-report-privacy-card > svg,
.plan-report-privacy-card > .plan-report-landing-icon {
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  padding: 13px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 22%, transparent);
}

.plan-report-landing-preview {
  position: absolute;
  top: -4%;
  left: 0;
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.plan-report-landing-preview-wrap {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1.55;
  margin: 0;
}

.plan-report-landing-preview-date {
  position: absolute;
  top: 36.5%;
  left: 5.7%;
  color: #183456;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
}

.plan-report-privacy-card strong {
  display: block;
  margin: 4px 0 7px;
  color: #17395e;
  font-size: 17px;
}

.plan-report-privacy-card p {
  margin: 0;
  color: #586879;
  font-size: 13px;
  line-height: 1.55;
}

@media (max-width: 1060px) {
  .plan-report-landing-feature-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: calc(100% - 76px);
    margin-inline: 38px;
  }

  .plan-report-landing-feature-strip > span:nth-child(3)::before {
    display: none;
  }

  .plan-report-landing-feature-strip > span:nth-child(n + 3) {
    border-top: 1px solid #dce3ea;
  }

  .plan-report-landing-lower {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .plan-report-landing-hero {
    min-height: 520px;
    align-items: end;
    background-position: 64% center;
  }

  .plan-report-landing-hero::before {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.99) 0%, rgba(255, 255, 255, 0.96) 60%, rgba(255, 255, 255, 0.36) 100%);
  }

  .plan-report-landing-copy {
    width: 100%;
    padding: 170px 24px 70px;
  }

  .plan-report-landing-copy h2 {
    font-size: 43px;
  }

  .plan-report-generate-button {
    width: 100%;
    min-width: 0;
  }

  .plan-report-landing-feature-strip {
    grid-template-columns: 1fr;
    width: calc(100% - 32px);
    margin-inline: 16px;
  }

  .plan-report-landing-action {
    width: calc(100% - 32px);
    margin-inline: 16px;
  }

  .plan-report-landing-feature-strip > span + span::before {
    display: none;
  }

  .plan-report-landing-feature-strip > span:nth-child(n + 2) {
    border-top: 1px solid #dce3ea;
  }

  .plan-report-landing-lower {
    padding: 24px 16px;
  }

  .plan-report-included-grid {
    grid-template-columns: 1fr;
  }
}

.plan-report-cover,
.plan-report-page {
  border: 1px solid rgba(40, 53, 72, 0.11);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 58px rgba(35, 50, 72, 0.09);
}

.plan-report-cover {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 28px;
  align-items: end;
  min-height: 340px;
  overflow: hidden;
  padding: 46px;
  background:
    radial-gradient(circle at 86% 18%, rgba(15, 111, 143, 0.17), transparent 28%),
    radial-gradient(circle at 14% 92%, rgba(176, 24, 100, 0.16), transparent 34%),
    linear-gradient(135deg, #fffdf8 0%, #f8fbff 48%, #f7fffb 100%);
  position: relative;
}

.plan-report-cover::before {
  content: "";
  position: absolute;
  inset: 0;
  border-top: 8px solid #0f6f8f;
  pointer-events: none;
}

.plan-report-cover.positive::before {
  border-top-color: #14875a;
}

.plan-report-cover.warning::before {
  border-top-color: #d49b20;
}

.plan-report-cover.negative::before {
  border-top-color: #c43f3f;
}

.plan-report-kicker {
  margin: 0 0 16px;
  color: #0f6f8f;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.plan-report-cover h2 {
  margin: 0;
  max-width: 760px;
  color: #152033;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 54px;
  line-height: 1.02;
}

.plan-report-cover p {
  margin: 18px 0 0;
  max-width: 720px;
  color: #52606d;
  font-size: 18px;
  line-height: 1.45;
}

.plan-report-cover aside {
  border: 1px solid rgba(24, 38, 56, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  padding: 22px;
  box-shadow: 0 18px 38px rgba(35, 50, 72, 0.08);
}

.plan-report-cover aside span,
.plan-report-kpi span,
.plan-report-simulation-verdict span {
  display: block;
  color: #66717c;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.plan-report-cover aside strong {
  display: block;
  margin: 8px 0 0;
  color: #152033;
  font-size: 26px;
  line-height: 1.1;
}

.plan-report-cover aside p {
  margin: 12px 0 0;
  font-size: 13px;
}

.plan-report-page {
  display: grid;
  gap: 22px;
  padding: 34px;
}

.plan-report-section-head {
  display: grid;
  gap: 6px;
  max-width: 820px;
}

.plan-report-section-head.compact {
  max-width: none;
}

.plan-report-section-head h3 {
  margin: 0;
  color: #152033;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  line-height: 1.08;
}

.plan-report-section-head.compact h3 {
  font-size: 24px;
}

.plan-report-section-head p:not(.eyebrow) {
  margin: 0;
  color: #61707a;
  line-height: 1.45;
}

.plan-report-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.plan-report-kpi {
  border: 1px solid rgba(28, 39, 54, 0.1);
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  padding: 18px;
}

.plan-report-kpi strong {
  display: block;
  margin: 8px 0 5px;
  color: #152033;
  font-size: 26px;
  line-height: 1.1;
}

.plan-report-kpi p {
  margin: 0;
  color: #687682;
  font-size: 13px;
  line-height: 1.35;
}

.plan-report-kpi.positive strong {
  color: #14875a;
}

.plan-report-kpi.warning strong {
  color: #9b6a00;
}

.plan-report-kpi.negative strong {
  color: #c43f3f;
}

.plan-report-two-column,
.plan-report-two-column-page {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 18px;
}

.plan-report-two-column-page {
  align-items: start;
}

.plan-report-card {
  display: grid;
  gap: 18px;
  border: 1px solid rgba(28, 39, 54, 0.1);
  border-radius: 16px;
  background: #fff;
  padding: 22px;
}

.plan-report-card h4 {
  margin: 0;
  color: #152033;
  font-size: 18px;
}

.plan-report-metric-list {
  display: grid;
  gap: 12px;
  margin: 0;
}

.plan-report-metric-list div {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
  gap: 12px;
  align-items: baseline;
  border-bottom: 1px solid rgba(28, 39, 54, 0.08);
  padding-bottom: 11px;
}

.plan-report-metric-list div:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.plan-report-metric-list dt {
  color: #687682;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.plan-report-metric-list dd {
  margin: 0;
  color: #202936;
  font-weight: 850;
}

.plan-report-metric-list p {
  grid-column: 2;
  margin: -5px 0 0;
  color: #697783;
  font-size: 12px;
}

.plan-report-chart {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid rgba(28, 39, 54, 0.08);
  border-radius: 16px;
  background: #fbfcff;
}

.plan-report-tracking-page {
  gap: 22px;
}

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

.plan-report-tracking-summary .plan-report-kpi {
  padding: 16px;
}

.plan-report-tracking-summary .plan-report-kpi strong {
  font-size: 24px;
}

.plan-report-tracking-page .plan-report-chart {
  min-height: 340px;
}

.plan-report-decision-page .plan-report-signal-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.plan-report-decision-page .plan-report-signal-list aside {
  grid-column: 1 / -1;
}

.plan-report-mix {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

.plan-report-mix svg {
  width: 132px;
  height: 132px;
}

.plan-report-mix text:first-of-type {
  fill: #152033;
  font-size: 18px;
  font-weight: 950;
}

.plan-report-mix text:last-of-type {
  fill: #687682;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.plan-report-mix-list {
  display: grid;
  gap: 8px;
}

.plan-report-mix-list div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
}

.plan-report-mix-list span {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  min-width: 0;
  color: #384655;
  font-size: 13px;
  font-weight: 850;
}

.plan-report-mix-list i {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-radius: 999px;
}

.plan-report-mix-list strong,
.plan-report-mix-list em {
  color: #202936;
  font-size: 13px;
  font-style: normal;
  font-weight: 850;
}

.plan-report-signal-list {
  display: grid;
  gap: 12px;
}

.plan-report-signal-list article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  border: 1px solid rgba(28, 39, 54, 0.09);
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, #fbfcff);
  padding: 14px;
}

.plan-report-signal-list article > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 999px;
  background: #edf5ff;
  color: #15517a;
  font-size: 12px;
  font-weight: 950;
}

.plan-report-signal-list article.positive > span {
  background: #eaf7f1;
  color: #14875a;
}

.plan-report-signal-list article.warning > span {
  background: #fff7df;
  color: #9b6a00;
}

.plan-report-signal-list article.negative > span {
  background: #fff0f0;
  color: #c43f3f;
}

.plan-report-signal-list strong {
  display: block;
  color: #202936;
  line-height: 1.25;
}

.plan-report-signal-list p {
  margin: 5px 0;
  color: #61707a;
  font-size: 13px;
  line-height: 1.35;
}

.plan-report-signal-list em {
  color: #15517a;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.plan-report-signal-list aside,
.plan-report-boundary {
  border: 1px solid rgba(15, 111, 143, 0.14);
  border-radius: 14px;
  background: #f7fbff;
  padding: 16px;
}

.plan-report-signal-list aside strong,
.plan-report-boundary strong {
  display: block;
  color: #15517a;
  font-size: 14px;
}

.plan-report-signal-list aside p,
.plan-report-boundary p {
  margin: 7px 0 0;
  color: #5d6975;
  font-size: 13px;
  line-height: 1.4;
}

.plan-report-signal-list ul {
  margin: 10px 0 0;
  padding-left: 18px;
  color: #5d6975;
  font-size: 13px;
}

.plan-report-simulation {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 18px;
}

.plan-report-simulation-verdict {
  border-radius: 18px;
  background:
    linear-gradient(180deg, #152033, #25344d);
  color: #fff;
  padding: 22px;
}

.plan-report-simulation-verdict span {
  color: rgba(255, 255, 255, 0.74);
}

.plan-report-simulation-verdict strong {
  display: block;
  margin: 10px 0;
  font-size: 34px;
  line-height: 1;
}

.plan-report-simulation-verdict p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.4;
}

.plan-report-stress-bars {
  display: grid;
  gap: 13px;
}

.plan-report-stress-bars article {
  border: 1px solid rgba(28, 39, 54, 0.09);
  border-radius: 14px;
  background: #fff;
  padding: 14px;
}

.plan-report-stress-bars article div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}

.plan-report-stress-bars strong {
  color: #202936;
}

.plan-report-stress-bars span {
  color: #15517a;
  font-weight: 950;
}

.plan-report-stress-bars i {
  display: block;
  height: 9px;
  margin: 10px 0 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf1f5;
}

.plan-report-stress-bars i::before {
  content: "";
  display: block;
  width: var(--plan-report-rate, 0%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #c43f3f, #d49b20 42%, #14875a);
}

.plan-report-stress-bars p {
  margin: 0;
  color: #61707a;
  font-size: 13px;
  line-height: 1.35;
}

.plan-report-assumptions {
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
  border: 1px solid rgba(28, 39, 54, 0.1);
  border-radius: 14px;
  background: #fff;
}

.plan-report-assumptions th,
.plan-report-assumptions td {
  border-bottom: 1px solid rgba(28, 39, 54, 0.08);
  padding: 13px 15px;
  text-align: left;
  vertical-align: top;
}

.plan-report-assumptions th {
  width: 34%;
  color: #66717c;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.plan-report-assumptions td {
  color: #202936;
  font-weight: 800;
}

.plan-report-assumptions tr:last-child th,
.plan-report-assumptions tr:last-child td {
  border-bottom: 0;
}

.plan-report-empty,
.plan-report-empty-state {
  margin: 0;
  border: 1px dashed rgba(28, 39, 54, 0.18);
  border-radius: 14px;
  background: #fbfcff;
  color: #61707a;
  padding: 18px;
  line-height: 1.45;
}

@media (max-width: 1100px) {
  .plan-report-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .plan-report-two-column,
  .plan-report-two-column-page,
  .plan-report-tracking-summary,
  .plan-report-decision-page .plan-report-signal-list,
  .plan-report-simulation {
    grid-template-columns: 1fr;
  }

  .plan-report-decision-page .plan-report-signal-list aside {
    grid-column: auto;
  }
}

@media (max-width: 760px) {
  .plan-report-toolbar,
  .plan-report-cover {
    grid-template-columns: 1fr;
  }

  .plan-report-toolbar {
    align-items: stretch;
  }

  .plan-report-toolbar-actions,
  .plan-report-toolbar .button {
    justify-content: stretch;
    width: 100%;
  }

  .plan-report-cover {
    padding: 30px;
  }

  .plan-report-cover h2 {
    font-size: 38px;
  }

  .plan-report-page {
    padding: 22px;
  }

  .plan-report-kpi-grid,
  .plan-report-tracking-summary,
  .plan-report-mix {
    grid-template-columns: 1fr;
  }

  .plan-report-tracking-page .plan-report-chart {
    min-height: 0;
  }
}

@media print {
  @page {
    size: letter;
    margin: 0.35in;
  }

  html,
  body {
    background: #fff !important;
  }

  .sidebar,
  .topbar,
  .sample-data-banner,
  .plan-report-toolbar,
  .loading-card,
  .no-saved-plan-view {
    display: none !important;
  }

  .app-shell,
  .workspace,
  .content,
  .plan-report-view,
  .plan-report-shell {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .content > section:not(#plan-report-view) {
    display: none !important;
  }

  #plan-report-view[hidden] {
    display: block !important;
  }

  .plan-report-document {
    display: block;
    max-width: none;
    margin: 0;
  }

  .plan-report-cover,
  .plan-report-page {
    box-sizing: border-box;
    break-after: page;
    break-inside: avoid;
    page-break-after: always;
    page-break-inside: avoid;
    box-shadow: none;
    border-radius: 0;
  }

  .plan-report-cover {
    grid-template-columns: minmax(0, 1fr) 2.1in;
    gap: 0.22in;
    min-height: 8.35in;
    padding: 0.42in;
  }

  .plan-report-cover h2 {
    font-size: 42px;
  }

  .plan-report-cover p {
    font-size: 15px;
  }

  .plan-report-cover aside {
    padding: 0.18in;
  }

  .plan-report-page {
    gap: 0.16in;
    min-height: 0;
    padding: 0.24in;
  }

  .plan-report-section-head {
    gap: 4px;
  }

  .plan-report-section-head h3 {
    font-size: 25px;
  }

  .plan-report-section-head p:not(.eyebrow) {
    font-size: 13px;
    line-height: 1.35;
  }

  .plan-report-kpi-grid,
  .plan-report-tracking-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.1in;
  }

  .plan-report-kpi {
    break-inside: avoid;
    page-break-inside: avoid;
    padding: 0.13in;
  }

  .plan-report-kpi strong,
  .plan-report-tracking-summary .plan-report-kpi strong {
    font-size: 21px;
  }

  .plan-report-kpi p {
    font-size: 11px;
  }

  .plan-report-two-column,
  .plan-report-two-column-page {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
    gap: 0.13in;
  }

  .plan-report-card,
  .plan-report-signal-list article,
  .plan-report-signal-list aside,
  .plan-report-boundary,
  .plan-report-stress-bars article {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .plan-report-card {
    gap: 0.11in;
    padding: 0.16in;
  }

  .plan-report-mix {
    grid-template-columns: 1in minmax(0, 1fr) !important;
    gap: 0.12in;
  }

  .plan-report-mix svg {
    width: 1in;
    height: 1in;
  }

  .plan-report-mix-list {
    gap: 5px;
  }

  .plan-report-mix-list div {
    gap: 7px;
  }

  .plan-report-mix-list span,
  .plan-report-mix-list strong,
  .plan-report-mix-list em {
    font-size: 11px;
  }

  .plan-report-chart {
    min-height: 0 !important;
  }

  .plan-report-decision-page .plan-report-signal-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.11in;
  }

  .plan-report-decision-page .plan-report-signal-list aside {
    grid-column: 1 / -1;
  }

  .plan-report-signal-list article {
    grid-template-columns: 0.34in minmax(0, 1fr);
    gap: 0.09in;
    padding: 0.12in;
  }

  .plan-report-signal-list article > span {
    width: 0.28in;
    height: 0.28in;
    font-size: 10px;
  }

  .plan-report-signal-list strong {
    font-size: 13px;
  }

  .plan-report-signal-list p,
  .plan-report-signal-list em,
  .plan-report-signal-list ul,
  .plan-report-boundary p {
    font-size: 11px;
  }

  .plan-report-simulation {
    grid-template-columns: 2in minmax(0, 1fr) !important;
    gap: 0.15in;
  }

  .plan-report-simulation-verdict {
    padding: 0.18in;
  }

  .plan-report-simulation-verdict strong {
    font-size: 28px;
  }

  .plan-report-assumptions th,
  .plan-report-assumptions td {
    padding: 0.08in 0.12in;
  }

  .plan-report-cover:last-child,
  .plan-report-page:last-child {
    break-after: auto;
    page-break-after: auto;
  }
}

.plan-report-print-note {
  margin-top: 8px !important;
  color: #15517a !important;
  font-size: 13px;
  font-weight: 800;
}

@media print {
  .report-page.report-assumptions-page {
    grid-template-rows: 2.83in auto minmax(0, 1fr) auto;
    background: #fff !important;
  }

  .report-page.report-assumptions-page::before {
    background: none;
  }

  .report-assumptions-page .report-page-masthead {
    position: absolute;
    inset: 0 0 auto;
    width: 100%;
    height: 2.83in;
    overflow: hidden;
  }

  .report-assumptions-page .report-page-masthead img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }

  .report-assumptions-page .report-page-header {
    grid-row: 2;
    padding: 0.08in 0.56in 0.13in;
  }

  .report-assumptions-page .report-page-header h3 {
    font-size: 38px;
    line-height: 1.03;
  }

  .report-assumptions-page .report-page-header p:not(.eyebrow) {
    max-width: 6.8in;
    margin-top: 0.11in;
    color: #3f5268;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12.5px;
    line-height: 1.4;
  }

  .report-assumptions-page .report-page-body {
    grid-row: 3;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 0.12in;
    min-height: 0;
    padding: 0.02in 0.55in 0.12in;
  }

  .report-assumptions-page .report-page-body:has(> .report-household-timing-strip) {
    grid-template-rows: auto minmax(0, 1fr) auto;
  }

  .report-assumptions-page .report-assumption-groups {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.13in;
    min-height: 0;
  }

  .report-assumptions-page .report-metric-group {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border: 1px solid #a9cfbd;
    border-radius: 0.1in;
    background: #fbfefb !important;
    color: #126a45;
  }

  .report-assumptions-page .report-metric-group.economic {
    border-color: #aec9e6;
    background: #f9fbff !important;
    color: #155a9c;
  }

  .report-assumptions-page .report-metric-group.tax {
    border-color: #dfc594;
    background: #fffdf8 !important;
    color: #ad6c00;
  }

  .report-assumptions-page .report-metric-group > h4 {
    display: grid;
    grid-template-columns: 0.55in minmax(0, 1fr);
    gap: 0.1in;
    align-items: center;
    min-height: 0.76in;
    margin: 0;
    border: 0;
    background: transparent !important;
    color: currentColor;
    padding: 0.12in 0.12in 0.09in;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 16.5px;
    line-height: 1.12;
  }

  .report-assumptions-page .report-metric-group > h4 i,
  .report-assumptions-page .report-metric-group dl > div > i {
    display: grid;
    place-items: center;
    border: 1px solid color-mix(in srgb, currentColor 32%, white);
    border-radius: 50%;
    background: #fff;
    color: currentColor;
    font-style: normal;
  }

  .report-assumptions-page .report-metric-group > h4 i {
    width: 0.54in;
    height: 0.54in;
    box-shadow: 0 3px 8px color-mix(in srgb, currentColor 12%, transparent);
  }

  .report-assumptions-page .report-metric-group > h4 svg {
    width: 0.32in;
    height: 0.32in;
  }

  .report-assumptions-page .report-metric-group dl {
    display: grid;
    grid-auto-rows: minmax(0, 1fr);
    min-height: 0;
    margin: 0;
    padding: 0 0.12in 0.08in;
  }

  .report-assumptions-page .report-metric-group dl > div {
    display: grid;
    grid-template-columns: 0.44in minmax(0, 1fr);
    gap: 0.1in;
    align-items: center;
    min-height: 0;
    border-bottom: 1px solid color-mix(in srgb, currentColor 18%, transparent);
    padding: 0.065in 0;
  }

  .report-assumptions-page .report-metric-group dl > div:last-child {
    border-bottom: 0;
  }

  .report-assumptions-page .report-metric-group dl > div > i {
    width: 0.42in;
    height: 0.42in;
  }

  .report-assumptions-page .report-metric-group svg {
    width: 0.25in;
    height: 0.25in;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .report-assumptions-page .report-metric-group section {
    min-width: 0;
  }

  .report-assumptions-page .report-metric-group dt {
    color: currentColor;
    font-family: Arial, sans-serif;
    font-size: 8.2px;
    font-weight: 900;
    letter-spacing: 0.055em;
    line-height: 1.2;
    text-transform: uppercase;
  }

  .report-assumptions-page .report-metric-group dd {
    margin: 0.04in 0 0;
    color: #12335f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12.5px;
    font-weight: 400;
    line-height: 1.22;
  }

  .report-assumptions-page .report-metric-group p {
    display: none;
  }

  .report-assumptions-page .report-metric-group dl > div.has-compact-note p {
    display: block;
    margin: 0.025in 0 0;
    color: #50657b;
    font-family: Arial, sans-serif;
    font-size: 6.8px;
    font-weight: 600;
    line-height: 1.15;
  }

  .report-assumptions-page .plan-report-boundary {
    display: grid;
    grid-template-columns: 0.56in minmax(0, 1fr);
    gap: 0.13in;
    align-items: center;
    min-height: 0.95in;
    border: 1px solid #a9c8e6;
    border-radius: 0.09in;
    background: #f9fbff !important;
    padding: 0.09in 0.13in;
  }

  .report-assumptions-page .plan-report-boundary > i {
    display: grid;
    width: 0.54in;
    height: 0.54in;
    place-items: center;
    border: 1px solid #9bbfe0;
    border-radius: 50%;
    background: #1769aa;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
  }

  .report-assumptions-page .plan-report-boundary strong {
    display: block;
    color: #123f73;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
    line-height: 1.15;
  }

  .report-assumptions-page .plan-report-boundary p {
    margin: 0.035in 0 0;
    color: #354c65;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 10.5px;
    line-height: 1.3;
  }

  .report-assumptions-page .plan-report-boundary .report-assumption-source {
    margin-top: 0.04in;
    color: #29486e;
    font-size: 9.8px;
  }

  .report-assumptions-page .report-footer {
    grid-row: 4;
    align-self: end;
  }
}

@media print {
  .report-page.report-stress-page {
    grid-template-rows: 2.76in auto minmax(0, 1fr) auto;
  }

  .report-stress-page .report-page-masthead {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 2.76in;
    margin: 0;
    overflow: hidden;
    background: #f7f4ed;
  }

  .report-stress-page .report-page-masthead img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }

  .report-stress-page .report-page-header {
    grid-row: 2;
    padding: 0.08in 0.55in 0.08in;
  }

  .report-stress-page .report-page-body {
    grid-row: 3;
  }

  .report-stress-page .report-footer {
    grid-row: 4;
  }

  .report-stress-page .report-page-header h3 {
    font-size: 38px;
    line-height: 1.04;
  }

  .report-stress-page .report-page-header p:not(.eyebrow) {
    max-width: 6.35in;
    margin-top: 0.12in;
    color: #425363;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13.5px;
    line-height: 1.45;
  }

  .report-stress-page .report-page-body {
    gap: 0.11in;
    padding: 0.02in 0.55in 0.14in;
  }

  .report-stress-page .report-stress-suite {
    gap: 0.11in;
  }

  .report-stress-page .report-stress-suite article {
    display: grid;
    grid-template-columns: 0.78in minmax(0, 1fr) minmax(0, 2.45in);
    gap: 0.15in;
    align-items: center;
    min-height: 1.14in;
    border: 1px solid #9bc4aa;
    border-radius: 0.1in;
    background: #fbfefb !important;
    padding: 0.11in 0.15in;
  }

  .report-stress-page .report-stress-suite article.historical {
    border-color: #a9c6e4;
    background: #f9fbff !important;
  }

  .report-stress-page .report-stress-suite article.replay {
    border-color: #dfc69a;
    background: #fffdf8 !important;
  }

  .report-stress-source-icon {
    display: grid;
    width: 0.7in;
    height: 0.7in;
    place-items: center;
    border: 1px solid #a9cdb8;
    border-radius: 50%;
    background: #fff;
    color: #148152;
    font-style: normal;
  }

  .report-stress-suite article.historical .report-stress-source-icon {
    border-color: #b6cde5;
    color: #155a9c;
  }

  .report-stress-suite article.replay .report-stress-source-icon {
    border-color: #e2c99b;
    color: #bd7b00;
  }

  .report-stress-source-icon svg {
    width: 0.44in;
    height: 0.44in;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .report-stress-source-icon svg .fill {
    fill: currentColor;
    stroke: none;
  }

  .report-stress-main span {
    color: #14794e;
    font-size: 9px;
    letter-spacing: 0.075em;
  }

  .report-stress-suite article.historical .report-stress-main span {
    color: #155a9c;
  }

  .report-stress-suite article.replay .report-stress-main span {
    color: #b57408;
  }

  .report-stress-page .report-stress-main strong {
    margin-top: 0.05in;
    color: #126a45;
    font-family: "Times New Roman", Times, serif;
    font-size: 27px;
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: "lnum" 1, "onum" 0, "tnum" 1;
    line-height: 1;
  }

  .report-stress-suite article.historical .report-stress-main strong {
    color: #123f73;
  }

  .report-stress-suite article.replay .report-stress-main strong {
    color: #9d6300;
  }

  .report-stress-suite article.negative .report-stress-main strong {
    color: #a63b37;
  }

  .report-stress-page .report-stress-main p {
    margin-top: 0.06in;
    color: #3f4f5e;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 10.5px;
    line-height: 1.35;
  }

  .report-stress-detail {
    display: grid;
    grid-template-columns: 0.48in minmax(0, 1fr);
    gap: 0.14in;
    align-items: center;
    min-height: 0.76in;
    border-left: 1px solid #c7dcd0;
    padding-left: 0.18in;
  }

  .report-stress-suite article.historical .report-stress-detail {
    border-color: #ccdaea;
  }

  .report-stress-suite article.replay .report-stress-detail {
    border-color: #e6d6b9;
  }

  .report-stress-detail > i {
    display: grid;
    width: 0.46in;
    height: 0.46in;
    place-items: center;
    box-sizing: border-box;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #148152;
    color: #fff;
    outline: 1px solid #148152;
    box-shadow: 0 3px 7px rgba(21, 32, 51, 0.18);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 800;
  }

  .report-stress-detail > i > span {
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1;
    text-transform: none;
  }

  .report-stress-suite article.historical .report-stress-detail > i {
    background: #155a9c;
    color: #fff;
    outline-color: #155a9c;
  }

  .report-stress-suite article.replay .report-stress-detail > i {
    background: #bd7b00;
    color: #fff;
    outline-color: #bd7b00;
  }

  .report-stress-page .report-stress-detail em {
    color: #344454;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 10.5px;
    line-height: 1.4;
  }

  .report-stress-teaching {
    display: grid;
    grid-template-columns: 0.72in minmax(0, 1fr);
    gap: 0.18in;
    align-items: center;
    min-height: 1.04in;
    border: 1px solid #a9c6e4;
    border-radius: 0.1in;
    background: #f8fbff !important;
    padding: 0.12in 0.17in;
  }

  .report-stress-teaching > span {
    display: grid;
    width: 0.66in;
    height: 0.66in;
    place-items: center;
    border-radius: 50%;
    background: #155a9c;
    color: #fff;
  }

  .report-stress-teaching svg {
    width: 0.42in;
    height: 0.42in;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .report-stress-teaching strong {
    display: block;
    color: var(--report-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    line-height: 1.1;
  }

  .report-stress-teaching p {
    margin: 0.06in 0 0;
    color: #344454;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 11px;
    line-height: 1.42;
  }
}

.plan-report-preparation-status {
  flex: 0 0 100%;
  max-width: 360px;
  margin: 0 !important;
  color: #15517a;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
  text-align: right;
}

.plan-report-preparation-status.is-error {
  color: #b53333;
}

.plan-report-document,
.plan-report-print-document {
  --report-navy: #152033;
  --report-teal: #0f6f8f;
  --report-green: #14875a;
  --report-red: #c43f3f;
  --report-gold: #b77a00;
  --report-ink: #202936;
  --report-muted: #5f6f7a;
  --report-line: rgba(28, 39, 54, 0.11);
  --report-wash: #f6fafc;
  align-items: start;
}

.plan-report-print-document {
  display: none;
}

.report-page {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(100%, 8.5in);
  min-height: 11in;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid var(--report-line);
  border-radius: 10px;
  background:
    linear-gradient(90deg, rgba(15, 111, 143, 0.055), transparent 20%),
    #fff;
  box-shadow: 0 24px 58px rgba(35, 50, 72, 0.09);
  color: var(--report-ink);
  page-break-after: always;
  break-after: page;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}

.report-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(circle at 92% 8%, rgba(15, 111, 143, 0.05), transparent 24%),
    linear-gradient(135deg, rgba(245, 249, 252, 0.54), transparent 36%);
  pointer-events: none;
}

.report-page > * {
  position: relative;
  z-index: 1;
}

.report-page-header {
  padding: 0.42in 0.5in 0.12in;
}

.report-page-header h3 {
  margin: 0;
  color: var(--report-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  line-height: 1.08;
}

.report-page-header p:not(.eyebrow) {
  margin: 8px 0 0;
  max-width: 6.7in;
  color: var(--report-muted);
  line-height: 1.4;
}

.report-page-body {
  display: grid;
  align-content: start;
  gap: 18px;
  min-height: 0;
  padding: 0.08in 0.5in 0.28in;
}

.report-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 18px;
  align-items: center;
  border-top: 1px solid var(--report-line);
  padding: 0.14in 0.5in;
  color: #61707a;
  font-size: 11px;
  font-weight: 800;
}

.report-cover {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 4.15in minmax(0, 1fr) auto;
  gap: 0;
  align-items: stretch;
  min-height: 11in;
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.report-cover-art {
  min-height: 4.15in;
  background: #f4f8f7;
  position: relative;
  overflow: hidden;
}

.report-cover-art::before {
  content: none;
}

.report-cover-art::after {
  content: none;
}

.report-cover-masthead-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 4.15in;
  object-fit: cover;
  object-position: center top;
}

.report-cover-brand {
  display: none;
}

.report-cover-logo-icon {
  display: block;
  width: 1.1in;
  height: 1.1in;
  border-radius: 999px;
  background:
    url("assets/brand/SimuPlan-welcome-logo.png") 8% 42% / 3.6in auto no-repeat,
    rgba(255, 255, 255, 0.78);
  box-shadow: 0 8px 20px rgba(10, 31, 49, 0.12);
}

.report-cover-brand strong {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 43px;
  line-height: 1;
}

.report-cover-brand strong b {
  color: #10264d;
  font-weight: 900;
}

.report-cover-brand strong i {
  color: #bd7b00;
  font-style: normal;
  font-weight: 900;
}

.report-cover-brand em {
  display: block;
  margin-top: 7px;
  color: #0e4f56;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.report-cover-brand em::before {
  content: "";
  display: block;
  width: 2.7in;
  height: 2px;
  margin-bottom: 7px;
  background: rgba(16, 38, 77, 0.74);
}

.report-cover-content {
  display: grid;
  align-content: start;
  gap: 0.12in;
  max-width: none;
  padding: 0.28in 0.58in 0.16in;
}

.report-cover-content > p:not(.plan-report-kicker),
.report-cover-content > h2,
.report-cover-content > .plan-report-kicker {
  max-width: 4.62in;
}

.report-cover h2 {
  margin: 0;
  color: var(--report-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 48px;
  line-height: 0.98;
}

.report-cover p {
  max-width: 6.4in;
}

.report-cover-content > p:not(.plan-report-kicker) {
  margin: 0;
  color: #23304a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  line-height: 1.38;
}

.report-cover .plan-report-kicker {
  margin-bottom: 0;
  color: #0b6d6d;
  font-size: 14px;
  letter-spacing: 0;
  text-transform: uppercase;
}

.report-cover .report-footer {
  grid-row: 3;
}

.report-verdict {
  position: absolute;
  right: 0.56in;
  top: 4.34in;
  width: 2.58in;
  border: 1px solid rgba(15, 111, 116, 0.34);
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(246, 252, 249, 0.98));
  padding: 0.2in;
  box-shadow: 0 18px 34px rgba(10, 31, 49, 0.08);
}

.report-chip em,
.report-metric-group dt,
.report-driver-list span,
.report-stress-suite span {
  display: block;
  color: #66717c;
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.report-verdict div {
  display: grid;
  grid-template-columns: 0.56in minmax(0, 1fr);
  gap: 0.15in;
  align-items: center;
}

.report-cover-verdict-icon,
.report-verdict-note span {
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #e8f8ef;
  color: #16834f;
}

.report-cover-verdict-icon {
  width: 0.54in;
  height: 0.54in;
  background: #16834f;
  color: #fff;
  box-shadow: 0 8px 18px rgba(20, 135, 90, 0.24);
}

.report-cover-verdict-icon svg {
  width: 0.34in;
  height: 0.34in;
  stroke: currentColor;
  stroke-width: 3.4;
}

.report-verdict em,
.report-cover-context em,
.report-cover-metric em {
  display: block;
  color: #0b6d6d;
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.report-verdict strong {
  display: block;
  margin-top: 6px;
  color: var(--report-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 1.04;
}

.report-verdict hr {
  border: 0;
  border-top: 1px solid rgba(15, 111, 116, 0.2);
  margin: 0.17in 0;
}

.report-verdict-note {
  display: grid;
  grid-template-columns: 0.34in minmax(0, 1fr);
  gap: 0.13in;
  align-items: center;
  margin: 0;
  color: #344258;
  font-size: 12px;
  line-height: 1.32;
}

.report-verdict-note span {
  width: 0.32in;
  height: 0.32in;
  background: #f0fbfb;
  color: #0b6d6d;
}

.report-verdict-note svg {
  width: 0.22in;
  height: 0.22in;
  stroke: currentColor;
  stroke-width: 2.2;
}

.report-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.report-chip {
  display: grid;
  gap: 4px;
  min-width: 1.35in;
  border: 1px solid var(--report-line);
  border-radius: 999px;
  background: #fff;
  padding: 10px 15px;
}

.report-chip strong {
  color: var(--report-navy);
  font-size: 16px;
  line-height: 1;
}

.report-cover-metric-row {
  display: grid;
  grid-template-columns: 1.55fr 1.55fr 1.4fr 1.15fr;
  gap: 0.11in;
  margin-top: 0.05in;
}

.report-cover-metric {
  display: grid;
  grid-template-columns: 0.56in minmax(0, 1fr);
  gap: 0.1in;
  align-items: center;
  min-height: 0.82in;
  border: 1px solid rgba(15, 111, 116, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  padding: 0.1in;
}

.report-cover-metric .report-cover-icon {
  width: 0.56in;
  height: 0.56in;
}

.report-cover-icon {
  display: grid;
  place-items: center;
  border: 1px solid rgba(15, 111, 116, 0.24);
  border-radius: 999px;
  background: #f4fbf8;
  color: #16834f;
}

.report-cover-icon svg,
.report-cover-proof svg {
  width: 0.31in;
  height: 0.31in;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.report-cover-metric strong {
  display: block;
  margin-top: 5px;
  color: #16834f;
  font-size: 24px;
  line-height: 1.02;
}

.report-cover-metric p {
  margin: 2px 0 0;
  color: #154f8f;
  font-size: 12px;
  line-height: 1.1;
}

.report-cover-metric.gold {
  grid-template-columns: 0.5in minmax(0, 1fr);
}

.report-cover-metric.gold .report-cover-icon {
  width: 0.5in;
  height: 0.5in;
}

.report-cover-metric.gold strong {
  font-size: 16px;
  line-height: 1.22;
}

.report-cover-metric.neutral strong,
.report-cover-metric.neutral .report-cover-icon,
.report-cover-metric.warning strong,
.report-cover-metric.warning .report-cover-icon {
  color: #154f8f;
}

.report-cover-metric.gold strong,
.report-cover-metric.gold .report-cover-icon,
.report-cover-metric.gold em {
  color: #b87700;
}

.report-cover-metric.gold {
  border-color: rgba(184, 119, 0, 0.24);
}

.report-cover-metric.gold .report-cover-icon {
  border-color: rgba(184, 119, 0, 0.26);
  background: #fff9ed;
}

.report-cover-proof {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: 0.06in;
  border: 1px solid rgba(21, 79, 143, 0.36);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.94);
}

.report-cover-proof span {
  position: relative;
  display: grid;
  grid-template-columns: 0.32in minmax(0, 1fr);
  gap: 0.12in;
  align-items: center;
  min-height: 0.54in;
  color: var(--report-navy);
  padding: 0.08in 0.14in;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.report-cover-proof span:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 25%;
  right: 0;
  width: 1px;
  height: 50%;
  background: rgba(21, 79, 143, 0.18);
}

.report-cover-proof svg {
  color: #154f8f;
}

.report-cover-context {
  position: absolute;
  right: 0.58in;
  bottom: 0.5in;
  left: 0.58in;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.17in;
}

.report-cover-context article {
  display: grid;
  grid-template-columns: 0.58in minmax(0, 1fr);
  gap: 0.14in;
  align-items: center;
  min-height: 1.14in;
  border: 1px solid rgba(15, 111, 116, 0.25);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(252, 255, 253, 0.94), rgba(255, 255, 255, 0.98)),
    radial-gradient(circle at 96% 0%, rgba(20, 135, 90, 0.1), transparent 42%);
  padding: 0.13in;
}

.report-cover-context .report-cover-icon {
  width: 0.56in;
  height: 0.56in;
  background: #f5fbf8;
}

.report-cover-context strong {
  display: block;
  margin-top: 7px;
  max-width: 2.15in;
  color: var(--report-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1.13;
}

.report-cover-context strong::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  margin: 0.08in 0 0;
  background: rgba(15, 111, 116, 0.22);
}

.report-cover-context p {
  margin: 0.06in 0 0;
  color: var(--report-muted);
  font-size: 11px;
  line-height: 1.35;
}

.report-chip.positive strong,
.report-metric-group .positive dd,
.report-stress-suite .positive strong {
  color: var(--report-green);
}

.report-chip.negative strong,
.report-metric-group .negative dd,
.report-stress-suite .negative strong {
  color: var(--report-red);
}

.report-chip.warning strong,
.report-stress-suite .warning strong {
  color: var(--report-gold);
}

.report-callout {
  border-left: 5px solid var(--report-teal);
  background: #f7fbff;
  padding: 15px 17px;
}

.report-callout strong {
  display: block;
  color: var(--report-navy);
  font-size: 17px;
}

.report-callout p {
  margin: 6px 0 0;
  color: var(--report-muted);
  line-height: 1.42;
}

.report-callout.positive {
  border-left-color: var(--report-green);
  background: #f1faf5;
}

.report-callout.negative {
  border-left-color: var(--report-red);
  background: #fff6f6;
}

.report-three-groups,
.report-secondary-grid,
.report-checkpoint-panel,
.report-assumption-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.report-secondary-grid,
.report-checkpoint-panel {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.report-checkpoint-panel .report-callout {
  grid-column: 1 / -1;
}

.report-panel,
.report-metric-group,
.report-driver-list article,
.report-stress-suite article,
.report-agenda article {
  border: 1px solid var(--report-line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
}

.report-panel {
  padding: 18px;
}

.report-panel h4,
.report-page-body h4,
.report-agenda h4 {
  margin: 0 0 10px;
  color: var(--report-navy);
  font-size: 17px;
}

.report-metric-group {
  overflow: hidden;
}

.report-metric-group h4 {
  margin: 0;
  border-bottom: 1px solid var(--report-line);
  background: #f7fbff;
  color: var(--report-teal);
  padding: 12px 14px;
  font-size: 13px;
}

.report-metric-group dl {
  display: grid;
  margin: 0;
}

.report-metric-group dl > div {
  border-bottom: 1px solid rgba(28, 39, 54, 0.08);
  padding: 12px 14px;
}

.report-metric-group dl > div:last-child {
  border-bottom: 0;
}

.report-metric-group dd {
  margin: 5px 0 0;
  color: var(--report-navy);
  font-size: 18px;
  font-weight: 900;
}

.report-metric-group p {
  margin: 4px 0 0;
  color: var(--report-muted);
  font-size: 12px;
  line-height: 1.35;
}

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

.report-flow article {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 0.94in;
  border-bottom: 4px solid rgba(15, 111, 143, 0.28);
  background: #f8fbfd;
  padding: 12px;
}

.report-flow span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 999px;
  background: var(--report-navy);
  color: #fff;
  font-weight: 950;
}

.report-flow strong {
  color: var(--report-navy);
  font-size: 20px;
}

.report-flow p,
.report-note,
.report-muted {
  margin: 5px 0 0;
  color: var(--report-muted);
  font-size: 12px;
  line-height: 1.35;
}

.report-driver-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.report-driver-list article {
  padding: 15px;
}

.report-driver-list strong {
  display: block;
  margin-top: 7px;
  color: var(--report-navy);
  font-size: 20px;
}

.report-driver-list p {
  margin: 7px 0 0;
  color: var(--report-muted);
  font-size: 12px;
  line-height: 1.35;
}

.report-explain-box,
.report-checkpoint-visual {
  border: 1px solid rgba(15, 111, 143, 0.14);
  border-radius: 8px;
  background: linear-gradient(135deg, #f7fbff, #ffffff 58%, #f6fbf7);
  padding: 15px;
}

.report-explain-box p {
  margin: 0;
  color: var(--report-muted);
  font-size: 13px;
  line-height: 1.45;
}

.report-explain-box p + p {
  margin-top: 8px;
}

.report-checkpoint-visual h4 {
  margin: 0 0 12px;
}

.report-checkpoint-bars {
  display: grid;
  gap: 12px;
}

.report-checkpoint-bars div {
  display: grid;
  grid-template-columns: 1.35in minmax(0, 1fr) 1.25in;
  gap: 10px;
  align-items: center;
}

.report-checkpoint-bars span {
  color: #66717c;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.report-checkpoint-bars i {
  display: block;
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eef3;
}

.report-checkpoint-bars b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--report-teal), var(--report-green));
}

.report-checkpoint-bars div:nth-child(2) b {
  background: linear-gradient(90deg, #d49b20, #f2c96e);
}

.report-checkpoint-bars strong {
  color: var(--report-navy);
  font-size: 14px;
  text-align: right;
}

.report-checkpoint-visual p {
  margin: 12px 0 0;
  color: var(--report-muted);
  font-size: 12px;
  line-height: 1.35;
}

.report-projection-page .plan-report-chart,
.report-tracking-page .plan-report-chart {
  min-height: 3.05in;
}

.report-stress-suite {
  display: grid;
  gap: 12px;
}

.report-stress-suite article {
  display: grid;
  grid-template-columns: 1.8in minmax(0, 1fr) minmax(0, 1.5fr);
  gap: 16px;
  align-items: center;
  padding: 16px;
}

.report-stress-suite strong {
  display: block;
  margin-top: 5px;
  color: var(--report-navy);
  font-size: 24px;
}

.report-stress-suite p,
.report-stress-suite em {
  margin: 0;
  color: var(--report-muted);
  font-size: 13px;
  font-style: normal;
  line-height: 1.35;
}

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

.report-agenda article {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 16px;
}

.report-agenda div {
  border-top: 1px solid rgba(28, 39, 54, 0.08);
  padding-top: 10px;
}

.report-agenda div:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.report-agenda strong {
  display: block;
  color: var(--report-navy);
}

.report-agenda p,
.report-agenda em {
  display: block;
  margin: 4px 0 0;
  color: var(--report-muted);
  font-size: 12px;
  font-style: normal;
  line-height: 1.35;
}

.report-assumption-groups {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.report-household-timing-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.report-household-timing-strip article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  border: 1px solid #a9c8e7;
  border-radius: 10px;
  background: #f7fbff;
  padding: 10px;
}

.report-household-timing-strip i {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: #fff;
  color: #155996;
  box-shadow: inset 0 0 0 1px #b7cde3;
}

.report-household-timing-strip svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.report-household-timing-strip span,
.report-household-timing-strip strong,
.report-household-timing-strip p {
  display: block;
  min-width: 0;
}

.report-household-timing-strip span {
  color: #18538d;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.report-household-timing-strip strong {
  margin-top: 2px;
  color: var(--report-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 14px;
  line-height: 1.18;
}

.report-household-timing-strip p {
  margin: 3px 0 0;
  color: #526675;
  font-size: 10px;
  line-height: 1.24;
}

.report-assumptions-page .plan-report-boundary {
  border-radius: 8px;
}

@media print {
  @page {
    size: letter;
    margin: 0;
  }

  html,
  body {
    width: 8.5in;
    min-height: 11in;
    background: #fff !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .sidebar,
  .topbar,
  .sample-data-banner,
  .plan-report-toolbar,
  .loading-card,
  .no-saved-plan-view {
    display: none !important;
  }

  .app-shell,
  .workspace,
  .content,
  .plan-report-view,
  .plan-report-shell,
  .plan-report-print-document {
    display: block !important;
    width: 8.5in !important;
    max-width: 8.5in !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .content > section:not(#plan-report-view) {
    display: none !important;
  }

  .plan-report-document {
    display: none !important;
  }

  .plan-report-print-document {
    display: block !important;
  }

  .report-page {
    width: 8.5in !important;
    height: 11in !important;
    min-height: 11in !important;
    max-height: 11in !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    page-break-after: always;
    break-after: page;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .report-page:last-child {
    page-break-after: auto;
    break-after: auto;
  }

  .report-page-header {
    padding: 0.38in 0.48in 0.1in;
  }

  .report-page-header h3 {
    font-size: 28px;
  }

  .report-page-header p:not(.eyebrow) {
    font-size: 13px;
  }

  .report-page-body {
    gap: 0.14in;
    padding: 0.08in 0.48in 0.18in;
  }

  .report-footer {
    padding: 0.12in 0.48in;
  }

  .report-cover {
    grid-template-rows: 4.15in minmax(0, 1fr) auto;
  }

  .report-cover-art {
    min-height: 4.15in;
  }

  .report-cover-content {
    padding: 0.28in 0.58in 0.16in;
  }

  .report-cover h2 {
    max-width: 4.75in;
    font-size: 43px;
    white-space: nowrap;
  }

  .report-cover h2.is-medium {
    font-size: 39px;
  }

  .report-cover h2.is-long {
    font-size: 28px;
  }

  .plan-report-cover .report-verdict {
    right: 0.52in;
    top: 4.8in;
    width: 2.62in;
    padding: 0.16in 0.14in;
  }

  .plan-report-cover .report-verdict div {
    grid-template-columns: 0.5in max-content;
    justify-content: center;
    gap: 0.12in;
  }

  .retired-plan-report-cover .report-verdict div {
    grid-template-columns: 0.5in minmax(0, 1fr);
  }

  .plan-report-cover .report-cover-verdict-icon {
    width: 0.5in;
    height: 0.5in;
    overflow: visible;
    background: transparent !important;
  }

  .report-verdict-note svg {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .plan-report-cover .report-cover-verdict-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .plan-report-cover .report-cover-verdict-icon.is-status-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
  }

  .report-verdict em {
    font-size: 9px;
    letter-spacing: 0.06em;
    white-space: nowrap;
  }

  .plan-report-cover .report-verdict strong {
    margin-top: 4px;
    font-size: 20px;
    letter-spacing: 0;
    line-height: 1;
    white-space: nowrap;
  }

  .retired-plan-report-cover .report-verdict strong {
    line-height: 1.05;
    white-space: normal;
  }

  .report-verdict hr {
    margin: 0.1in 0;
  }

  .plan-report-cover .report-verdict-note {
    grid-template-columns: 0.26in minmax(0, 1fr);
    gap: 0.08in;
    margin: 0;
    font-size: 10px;
    line-height: 1.2;
  }

  .plan-report-cover .report-verdict-note span {
    display: grid;
    width: 0.25in;
    height: 0.25in;
    place-items: center;
    color: #0b6d6d !important;
  }

  .report-verdict-note svg {
    stroke: #0b6d6d !important;
  }

  .report-cover-metric-row {
    grid-template-columns: 1.5fr 1.5fr 1.4fr 1.3fr !important;
  }

  .report-cover-proof {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .report-cover-proof span {
    grid-template-columns: 0.38in minmax(0, 1fr);
    gap: 0.1in;
    min-height: 0.62in;
    padding: 0.07in 0.13in;
    color: #102d5d;
    font-size: 10.5px;
    line-height: 1.15;
  }

  .report-cover-proof svg {
    width: 0.33in;
    height: 0.33in;
    color: #102d5d;
    stroke-width: 1.9;
  }

  .report-three-groups,
  .report-secondary-grid,
  .report-checkpoint-panel,
  .report-assumption-groups,
  .report-driver-list,
  .report-flow,
  .report-agenda,
  .plan-report-tracking-summary {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .report-three-groups,
  .report-assumption-groups {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .report-secondary-grid,
  .report-checkpoint-panel,
  .report-agenda {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .report-flow,
  .plan-report-tracking-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .report-driver-list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .report-panel,
  .report-metric-group,
  .report-driver-list article,
  .report-stress-suite article,
  .report-agenda article,
  .report-callout,
  .report-explain-box,
  .report-checkpoint-visual,
  .report-cover-context article,
  .plan-report-boundary {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .report-metric-group h4,
  .report-metric-group dl > div,
  .report-panel,
  .report-driver-list article,
  .report-agenda article {
    padding: 0.11in;
  }

  .report-metric-group dd {
    font-size: 16px;
  }

  .report-flow strong,
  .report-driver-list strong {
    font-size: 17px;
  }

  .report-stress-suite article {
    grid-template-columns: 1.55in minmax(0, 1fr) minmax(0, 1.45fr);
    padding: 0.13in;
  }

  .report-stress-suite strong {
    font-size: 20px;
  }

  .report-projection-page .plan-report-chart,
  .report-tracking-page .plan-report-chart {
    min-height: 0 !important;
  }

  .report-projection-page .plan-report-chart {
    max-height: 3.05in;
  }

  .report-checkpoint-bars div {
    grid-template-columns: 1.28in minmax(0, 1fr) 1.12in;
  }

  /* Keep the saved PDF quick to repaint in browser PDF viewers. */
  .report-page {
    background: #fff !important;
  }

  .report-page::before {
    display: none !important;
    background: none !important;
  }

  .report-verdict {
    background: #f7fbf9 !important;
    box-shadow: none !important;
  }

  .report-cover-verdict-icon {
    box-shadow: none !important;
  }

  .report-cover-metric,
  .report-cover-proof,
  .report-panel,
  .report-metric-group,
  .report-driver-list article,
  .report-stress-suite article,
  .report-agenda article {
    background: #fff !important;
  }

  .report-cover-context article {
    background: #fbfdfc !important;
  }

  .report-explain-box,
  .report-checkpoint-visual {
    background: #f7fafc !important;
  }

  .report-checkpoint-bars b {
    background: var(--report-green) !important;
  }

  .report-checkpoint-bars div:nth-child(2) b {
    background: #d49b20 !important;
  }

  .report-page,
  .report-page * {
    filter: none !important;
    text-shadow: none !important;
  }

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

  .report-footer span:nth-child(2) {
    color: var(--report-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-style: italic;
    font-weight: 400;
    text-align: center;
  }

  .report-footer span:last-child {
    text-align: right;
  }

  .plan-report-cover .report-cover-metric {
    grid-template-columns: 0.58in minmax(0, 1fr);
    gap: 0.08in;
    padding: 0.1in 0.11in;
  }

  .plan-report-cover .report-cover-metric .report-cover-icon {
    width: 0.58in;
    height: 0.58in;
  }

  .plan-report-cover .report-cover-metric .report-cover-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .plan-report-cover .report-cover-metric.is-target .report-cover-icon {
    overflow: hidden;
    border: 1px solid #bdd8d0;
    background: #f8fcfa;
    box-sizing: border-box;
  }

  .plan-report-cover .report-cover-metric.is-target .report-cover-icon img {
    transform: scale(1.12);
  }

  .plan-report-cover .report-cover-metric em {
    font-size: 8.5px;
    letter-spacing: 0.06em;
    white-space: nowrap;
  }

  .plan-report-cover .report-cover-metric strong {
    font-size: 22px;
  }

  .plan-report-cover .report-cover-metric > div {
    min-width: 0;
  }

  .plan-report-cover .report-cover-metric.is-wide-value strong {
    max-width: 100%;
    font-size: 18px;
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: "lnum" 1, "onum" 0, "tnum" 1;
    white-space: nowrap;
  }

  .plan-report-cover .report-cover-metric.is-very-wide-value strong {
    max-width: 100%;
    font-size: 16px;
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: "lnum" 1, "onum" 0, "tnum" 1;
    white-space: nowrap;
  }

  .plan-report-cover .report-cover-metric.is-target,
  .plan-report-cover .report-cover-metric.is-tracking {
    border-color: #c7ddd7;
    background: #fbfefc !important;
  }

  .plan-report-cover .report-cover-metric.negative {
    border-color: #e3bcbc;
    background: #fffafa !important;
  }

  .plan-report-cover .report-cover-metric.negative strong,
  .plan-report-cover .report-cover-metric.negative em,
  .plan-report-cover .report-cover-metric.negative .report-cover-icon {
    color: var(--report-red);
  }

  .plan-report-cover .report-cover-metric.negative .report-cover-icon {
    border-color: #e7bcbc;
    background: #fff3f3;
  }

  .plan-report-cover .report-cover-metric.is-shield {
    border-color: #bfd3e8;
    background: #f8fbff !important;
  }

  .plan-report-cover .report-cover-metric.is-shield .report-cover-icon,
  .plan-report-cover .report-cover-metric.is-shield em,
  .plan-report-cover .report-cover-metric.is-shield strong {
    color: #154f8f;
  }

  .plan-report-cover .report-cover-metric.is-shield .report-cover-icon {
    border-color: #bfd3e8;
    background: #f3f8fd;
  }

  .plan-report-cover .report-cover-metric.is-shield > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
  }

  .plan-report-cover .report-cover-metric.is-shield em {
    order: 0;
  }

  .plan-report-cover .report-cover-metric.is-shield p {
    order: 1;
    margin: 5px 0 0;
    color: var(--report-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13px;
    line-height: 1.08;
  }

  .plan-report-cover .report-cover-metric.is-shield strong {
    order: 2;
    margin-top: 4px;
    font-size: 24px;
  }

  .plan-report-cover .report-cover-metric.is-calendar {
    grid-template-columns: 0.52in minmax(0, 1fr);
    border-color: #ead5ad;
    background: #fffdf8 !important;
  }

  .plan-report-cover .report-cover-metric.is-calendar .report-cover-icon {
    width: 0.52in;
    height: 0.52in;
  }

  .plan-report-cover .report-cover-metric.is-calendar > div {
    min-width: 0;
    text-align: left;
  }

  .plan-report-cover .report-cover-metric.is-calendar strong {
    margin-top: 6px;
    color: var(--report-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.32;
    white-space: pre-line;
  }

  .plan-report-cover .report-cover-context article {
    grid-template-columns: 0.72in minmax(0, 1fr);
    gap: 0.16in;
    min-height: 2.45in;
    padding: 0.16in;
  }

  .plan-report-cover .report-cover-context article:first-child {
    border-color: #bfd9d0;
    background: #fbfefc !important;
  }

  .plan-report-cover .report-cover-context article:last-child {
    border-color: #bdd2e8;
    background: #f8fbff !important;
  }

  .plan-report-cover .report-cover-context .report-cover-icon {
    width: 0.68in;
    height: 0.68in;
    overflow: hidden;
    border: 1px solid;
    box-sizing: border-box;
  }

  .plan-report-cover .report-cover-context .report-cover-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: translateY(-4%) scale(1.1);
  }

  .plan-report-cover .report-cover-context article:first-child .report-cover-icon {
    border-color: #bed9d0;
    background: #f8fcfa;
    color: #16834f;
  }

  .plan-report-cover .report-cover-context article:last-child .report-cover-icon {
    border-color: #bfd2e7;
    background: #f7faff;
    color: #155a9c;
  }

  .plan-report-cover .report-cover-context article:last-child em {
    color: #155a9c;
  }

  .plan-report-cover .report-cover-context strong {
    max-width: 2.55in;
    font-size: 19px;
    line-height: 1.16;
  }

  .plan-report-cover .report-cover-context p {
    font-size: 11.5px;
    line-height: 1.42;
  }

  /*
   * The retired-now cover carries a two-part outlook summary, so its proof
   * strip sits lower than the planning cover's. Keep the closing cards compact
   * enough to preserve clear space between those two sections.
   */
  .retired-plan-report-cover .report-cover-context article {
    grid-template-columns: 0.62in minmax(0, 1fr);
    gap: 0.12in;
    min-height: 1.85in;
    padding: 0.13in;
  }

  .retired-plan-report-cover .report-cover-context .report-cover-icon {
    width: 0.6in;
    height: 0.6in;
  }

  .retired-plan-report-cover .report-cover-context strong {
    max-width: none;
    font-size: 17px;
    line-height: 1.12;
  }

  .retired-plan-report-cover .report-cover-context p {
    font-size: 10.5px;
    line-height: 1.32;
  }

  .plan-report-cover .report-document-title {
    font-variant-numeric: lining-nums;
    font-feature-settings: "lnum" 1, "onum" 0;
  }

  .report-executive-page .report-page-header {
    padding: 0.4in 0.54in 0.06in;
  }

  .report-executive-page .report-page-header h3 {
    font-size: 38px;
    line-height: 1.05;
  }

  .report-executive-page .report-page-header p:not(.eyebrow) {
    max-width: 6.45in;
    margin-top: 0.12in;
    color: #526270;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 14px;
    line-height: 1.45;
  }

  .report-executive-page .report-page-body {
    gap: 0.16in;
    padding: 0.02in 0.54in 0.18in;
  }

  .report-executive-conclusion {
    display: grid;
    grid-template-columns: 0.72in minmax(0, 1fr);
    gap: 0.18in;
    align-items: center;
    min-height: 1.42in;
    border: 1px solid #8bb59b;
    border-radius: 0.11in;
    background: #f8fcf8 !important;
    padding: 0.16in 0.19in;
  }

  .report-executive-conclusion-icon {
    display: grid;
    width: 0.7in;
    height: 0.7in;
    overflow: hidden;
    place-items: center;
    border: 1px solid #c6ddcd;
    border-radius: 50%;
    background: #fff;
  }

  .report-executive-conclusion-icon img {
    display: block;
    width: 0.58in;
    height: 0.58in;
    border-radius: 50%;
    clip-path: circle(50% at 50% 50%);
    object-fit: contain;
  }

  .report-executive-conclusion-icon.is-status-icon svg {
    width: 0.58in;
    height: 0.58in;
  }

  .report-executive-conclusion.negative {
    border-color: #dfa29e;
    background: #fff8f7 !important;
  }

  .report-executive-conclusion.negative .report-executive-conclusion-icon {
    border-color: #e6aaa5;
    background: #fffafa;
  }

  .report-executive-conclusion.negative em,
  .report-executive-conclusion.negative p strong {
    color: #a82327;
  }

  .report-executive-conclusion.negative p {
    color: #573c3d;
  }

  .report-executive-conclusion.warning {
    border-color: #d8b56a;
    background: #fffaf0 !important;
  }

  .report-executive-conclusion.warning .report-executive-conclusion-icon {
    border-color: #e4c887;
    background: #fffdf7;
  }

  .report-executive-conclusion.warning em,
  .report-executive-conclusion.warning p,
  .report-executive-conclusion.warning p strong {
    color: #8d5a00;
  }

  .report-executive-conclusion em {
    display: block;
    margin-bottom: 0.1in;
    color: #126a45;
    font-size: 9px;
    font-style: normal;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .report-executive-conclusion p {
    margin: 0;
    color: #264538;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 14px;
    line-height: 1.45;
  }

  .report-executive-conclusion p strong {
    color: #11653f;
    font-size: 16px;
  }

  .report-executive-page .report-three-groups {
    gap: 0.14in;
  }

  .report-executive-metric-group {
    min-height: 3in;
    overflow: hidden;
    border-radius: 0.09in;
  }

  .report-executive-metric-group.plan {
    border-color: #a9c9b3;
    background: #fbfefb !important;
  }

  .report-executive-metric-group.tracking {
    border-color: #b7cde5;
    background: #f9fbff !important;
  }

  .report-executive-metric-group.stress {
    border-color: #dfc9a2;
    background: #fffdf8 !important;
  }

  .report-executive-metric-group.negative {
    border-color: #dda19d;
    background: #fff9f8 !important;
  }

  .report-executive-metric-group.warning {
    border-color: #d8b56a;
    background: #fffaf0 !important;
  }

  .report-executive-metric-group header {
    display: grid;
    grid-template-columns: 0.5in minmax(0, 1fr);
    gap: 0.1in;
    align-items: center;
    padding: 0.12in 0.13in 0.08in;
  }

  .report-executive-metric-group header span {
    display: grid;
    width: 0.48in;
    height: 0.48in;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: #fff;
  }

  .report-executive-metric-group header svg {
    width: 0.31in;
    height: 0.31in;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .report-executive-metric-group.plan header span {
    overflow: hidden;
    border-color: #b9d2c7;
    background: #f9fcfa;
  }

  .report-executive-metric-group.plan header img {
    display: block;
    width: 0.48in;
    height: 0.48in;
    border-radius: 50%;
    object-fit: contain;
    transform: scale(1.3);
  }

  .report-executive-metric-group h4 {
    margin: 0;
    border-bottom: 1px solid currentColor;
    background: transparent;
    padding: 0 0 0.1in;
    font-size: 9px;
    line-height: 1.45;
    letter-spacing: 0.045em;
    text-transform: uppercase;
  }

  .report-executive-metric-group.plan header,
  .report-executive-metric-group.plan h4 {
    color: #126a45;
  }

  .report-executive-metric-group.tracking header,
  .report-executive-metric-group.tracking h4 {
    color: #15569a;
  }

  .report-executive-metric-group.stress header,
  .report-executive-metric-group.stress h4 {
    color: #174f8c;
  }

  .report-executive-metric-group.negative header,
  .report-executive-metric-group.negative h4,
  .report-executive-metric-group.negative dt {
    color: #a82327;
  }

  .report-executive-metric-group.warning header,
  .report-executive-metric-group.warning h4,
  .report-executive-metric-group.warning dt {
    color: #8d5a00;
  }

  .report-executive-metric-group.stress h4 {
    border-color: #dfc9a2;
  }

  .report-executive-metric-group dl > div {
    min-height: 0.96in;
    padding: 0.12in 0.13in;
  }

  .report-executive-metric-group dt {
    font-size: 8px;
    letter-spacing: 0.06em;
  }

  .report-executive-metric-group.plan dt {
    color: #126a45;
  }

  .report-executive-metric-group.tracking dt,
  .report-executive-metric-group.stress dt {
    color: #15569a;
  }

  .report-executive-metric-group dd {
    margin-top: 0.06in;
    font-family: "Times New Roman", Times, serif;
    font-size: 21px;
    line-height: 1.08;
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: "lnum" 1, "onum" 0, "tnum" 1;
  }

  .report-executive-metric-group.plan dd,
  .report-executive-metric-group.plan .positive dd {
    color: #126a45;
  }

  .report-executive-metric-group.tracking dd,
  .report-executive-metric-group.tracking .positive dd {
    color: #15569a;
  }

  .report-executive-metric-group.stress dd,
  .report-executive-metric-group.stress .positive dd {
    color: #123f73;
  }

  .report-executive-metric-group.stress .negative dd {
    color: #a82327;
  }

  .report-executive-metric-group.negative dd,
  .report-executive-metric-group.negative .positive dd,
  .report-executive-metric-group.negative .negative dd {
    color: #a82327;
  }

  .report-executive-metric-group.warning dd,
  .report-executive-metric-group.warning .positive dd {
    color: #8d5a00;
  }

  .report-executive-metric-group.negative p {
    color: #74383a;
  }

  .report-executive-metric-group.warning p {
    color: #6f5726;
  }

  .report-executive-metric-group p {
    margin-top: 0.06in;
    color: #425363;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 10px;
    line-height: 1.35;
  }

  .report-executive-page .report-secondary-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.15in;
  }

  .report-executive-page .report-secondary-grid .report-panel {
    min-height: 2.9in;
    border-radius: 0.09in;
    padding: 0.14in;
  }

  .report-executive-snapshot {
    border-color: #a9c9b3;
    background: #fbfefb !important;
  }

  .report-executive-account-mix {
    border-color: #abc8e5;
    background: #f9fbff !important;
  }

  .report-executive-page .report-secondary-grid h4 {
    display: flex;
    gap: 0.1in;
    align-items: center;
    margin: 0 0 0.1in;
    color: var(--report-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
  }

  .report-executive-page .report-secondary-grid h4 > span {
    display: grid;
    flex: 0 0 auto;
    width: 0.45in;
    height: 0.45in;
    place-items: center;
    border: 1px solid #b9d2ca;
    border-radius: 50%;
    background: #fff;
    color: #16774d;
  }

  .report-executive-account-mix h4 > span {
    border-color: #b9cee3 !important;
    color: #174f8c !important;
  }

  .report-executive-account-mix h4 svg {
    fill: currentColor !important;
    stroke: none !important;
  }

  .report-executive-page .report-secondary-grid h4 svg {
    width: 0.28in;
    height: 0.28in;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .report-executive-snapshot-list {
    gap: 0;
  }

  .report-executive-snapshot-list div {
    grid-template-columns: 0.32in minmax(0, 0.75fr) minmax(0, 1fr);
    gap: 0.08in;
    align-items: center;
    min-height: 0.43in;
    padding: 0.06in 0;
  }

  .report-executive-row-icon {
    display: grid;
    width: 0.29in;
    height: 0.29in;
    place-items: center;
    border: 1px solid #c4d9d0;
    border-radius: 50%;
    background: #f2faf5;
    color: #16774d;
  }

  .report-executive-row-icon svg {
    width: 0.19in;
    height: 0.19in;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .report-executive-snapshot-list dt {
    color: #126a45;
    font-size: 8px;
    letter-spacing: 0.05em;
  }

  .report-executive-snapshot-list dd {
    color: #29394a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 10px;
    font-weight: 400;
  }

  .report-executive-account-mix .plan-report-mix {
    grid-template-columns: 1.58in minmax(0, 1fr) !important;
    gap: 0.12in;
    align-items: center;
  }

  .report-executive-account-mix .plan-report-mix svg {
    width: 1.58in;
    height: 1.58in;
  }

  .report-executive-account-mix .plan-report-mix-list {
    gap: 0;
    min-width: 0;
  }

  .report-executive-account-mix .plan-report-mix-list div {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 0.11in;
    min-height: 0.48in;
    border-bottom: 1px solid #d7e2ec;
    padding: 0.065in 0;
  }

  .report-executive-account-mix .plan-report-mix-list div:last-child {
    border-bottom: 0;
  }

  .report-executive-account-mix .plan-report-mix-list span,
  .report-executive-account-mix .plan-report-mix-list strong,
  .report-executive-account-mix .plan-report-mix-list em {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13.5px;
    font-weight: 400;
  }

  .report-executive-account-mix .plan-report-mix-list span {
    min-width: 0;
    white-space: normal;
  }

  .report-executive-account-mix .plan-report-mix-list strong,
  .report-executive-account-mix .plan-report-mix-list em {
    white-space: nowrap;
    color: #172b45;
    font-size: 14.5px;
    font-weight: 700;
  }

  .report-executive-account-mix .plan-report-mix.is-dense .plan-report-mix-list div {
    min-height: 0.4in;
    padding: 0.045in 0;
  }

  .report-executive-account-mix .plan-report-mix.is-dense .plan-report-mix-list span,
  .report-executive-account-mix .plan-report-mix.is-dense .plan-report-mix-list strong,
  .report-executive-account-mix .plan-report-mix.is-dense .plan-report-mix-list em {
    font-size: 11.5px;
  }

  .report-executive-account-mix .plan-report-mix.is-dense .plan-report-mix-list strong,
  .report-executive-account-mix .plan-report-mix.is-dense .plan-report-mix-list em {
    font-size: 12.5px;
  }

  .report-executive-account-mix .plan-report-mix.is-max-density .plan-report-mix-list div {
    gap: 0.07in;
    min-height: 0.33in;
    padding: 0.03in 0;
  }

  .report-executive-account-mix .plan-report-mix.is-max-density .plan-report-mix-list span,
  .report-executive-account-mix .plan-report-mix.is-max-density .plan-report-mix-list strong,
  .report-executive-account-mix .plan-report-mix.is-max-density .plan-report-mix-list em {
    font-size: 10.2px;
  }

  .report-executive-account-mix .plan-report-mix.is-max-density .plan-report-mix-list strong,
  .report-executive-account-mix .plan-report-mix.is-max-density .plan-report-mix-list em {
    font-size: 11.2px;
  }

  .report-drivers-page .report-page-header {
    padding: 0.4in 0.54in 0.1in;
  }

  .report-drivers-page .report-page-header h3 {
    font-size: 40px;
    line-height: 1.05;
  }

  .report-drivers-page .report-page-header p:not(.eyebrow) {
    max-width: 6.45in;
    margin-top: 0.12in;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 14.5px;
    line-height: 1.45;
  }

  .report-drivers-page .report-page-body {
    gap: 0.18in;
    padding: 0.06in 0.54in 0.18in;
  }

  .report-drivers-page .report-page-body > section > h4 {
    margin: 0 0 0.12in;
    color: var(--report-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
  }

  .report-drivers-page .report-flow {
    grid-template-columns: minmax(0, 1fr) 0.18in minmax(0, 1fr) 0.18in minmax(0, 1fr) 0.18in minmax(0, 1fr) 0.18in minmax(0, 1fr) !important;
    gap: 0.025in;
    align-items: stretch;
  }

  .report-drivers-page .report-flow article {
    position: relative;
    display: flex;
    min-height: 1.68in;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid #b6d2c1;
    border-radius: 0.09in;
    background: #fbfefb !important;
    padding: 0.13in 0.045in;
    text-align: center;
  }

  .report-drivers-page .report-flow article.contributions {
    border-color: #b7cde5;
    background: #f9fbff !important;
  }

  .report-drivers-page .report-flow article.growth {
    border-color: #dfc9a2;
    background: #fffdf8 !important;
  }

  .report-drivers-page .report-flow article.spending {
    border-color: #e2b8b5;
    background: #fffafa !important;
  }

  .report-drivers-page .report-flow-icon {
    display: grid;
    width: 0.6in;
    height: 0.6in;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: #fff;
    color: #16774d;
  }

  .report-drivers-page .report-flow article.contributions .report-flow-icon {
    color: #15569a;
  }

  .report-drivers-page .report-flow article.growth .report-flow-icon {
    color: #b57408;
  }

  .report-drivers-page .report-flow article.spending .report-flow-icon {
    color: #b6403b;
  }

  .report-drivers-page .report-flow-icon svg {
    width: 0.33in;
    height: 0.33in;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .report-drivers-page .report-flow-icon img {
    width: 0.53in;
    height: 0.53in;
    border-radius: 50%;
    object-fit: contain;
    transform: scale(1.22);
  }

  .report-drivers-page .report-flow article.start .report-flow-icon img {
    width: 0.56in;
    height: 0.56in;
    transform: scale(1.12);
  }

  .report-drivers-page .report-flow article.start .report-flow-icon {
    overflow: hidden;
    border-color: #b9d2c7;
    background: #f9fcfa;
  }

  .report-drivers-page .report-flow article.growth .report-flow-icon {
    overflow: hidden;
    border-color: #e0cda6;
    background: #fffdf8;
  }

  .report-drivers-page .report-flow article.growth .report-flow-icon img {
    width: 0.56in;
    height: 0.56in;
    transform: scale(1.12);
  }

  .report-drivers-page .report-flow strong {
    margin-top: 0.13in;
    color: #126a45;
    font-family: "Times New Roman", Times, serif;
    font-size: 15.5px;
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: "lnum" 1, "onum" 0, "tnum" 1;
    line-height: 1;
    white-space: nowrap;
  }

  .report-drivers-page .report-flow article.contributions strong {
    color: #15569a;
  }

  .report-drivers-page .report-flow article.growth strong {
    color: #b57408;
  }

  .report-drivers-page .report-flow article.spending strong {
    color: #b6403b;
  }

  .report-drivers-page .report-flow p {
    margin-top: 0.09in;
    color: #344454;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 9.5px;
  }

  .report-flow-operator {
    display: grid;
    place-items: center;
    align-self: stretch;
    color: var(--report-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    line-height: 1;
  }

  .report-drivers-page .report-note {
    margin: 0.14in 0 0;
    color: #425363;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 11.2px;
    line-height: 1.45;
  }

  .report-drivers-page .report-driver-list {
    gap: 0.14in;
  }

  .report-drivers-page .report-drivers-intro {
    margin: -0.04in 0 0.11in;
    color: #526270;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 10.2px;
    line-height: 1.35;
  }

  .report-drivers-page .report-driver-list article {
    min-height: 1.95in;
    border-color: #a9c9b3;
    background: #fbfefb !important;
    padding: 0.15in;
  }

  .report-drivers-page .report-driver-list article.returns {
    border-color: #b7cde5;
    background: #f9fbff !important;
  }

  .report-drivers-page .report-driver-list article.spending {
    border-color: #dfc9a2;
    background: #fffdf8 !important;
  }

  .report-driver-heading {
    display: grid;
    grid-template-columns: 0.58in minmax(0, 1fr);
    gap: 0.1in;
    align-items: center;
    border-bottom: 1px solid #c7d8cf;
    padding-bottom: 0.14in;
  }

  .report-driver-heading i {
    display: grid;
    width: 0.56in;
    height: 0.56in;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: #fff;
    color: #16774d;
  }

  .report-driver-heading i svg {
    width: 0.33in;
    height: 0.33in;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .report-driver-list article.returns .report-driver-heading {
    border-color: #c7d7e7;
  }

  .report-driver-list article.returns .report-driver-heading i,
  .report-driver-list article.returns .report-driver-heading span,
  .report-driver-list article.returns .report-driver-heading strong {
    color: #15569a;
  }

  .report-driver-list article.spending .report-driver-heading {
    border-color: #e3d5ba;
  }

  .report-driver-list article.spending .report-driver-heading i,
  .report-driver-list article.spending .report-driver-heading span,
  .report-driver-list article.spending .report-driver-heading strong {
    color: #b57408;
  }

  .report-driver-heading span {
    color: #126a45;
    font-size: 8.7px;
    letter-spacing: 0.05em;
  }

  .report-driver-heading strong {
    margin-top: 0.05in;
    color: #126a45;
    font-family: "Times New Roman", Times, serif;
    font-size: 18.5px;
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: "lnum" 1, "onum" 0, "tnum" 1;
    line-height: 1.05;
  }

  .report-drivers-page .report-driver-list article > p {
    margin-top: 0.14in;
    color: #354656;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 11.2px;
    line-height: 1.45;
  }

  .report-drivers-page .report-why-section h4 {
    margin-bottom: 0.08in;
  }

  .report-drivers-page .report-explain-box {
    display: grid;
    grid-template-columns: 0.84in minmax(0, 1fr);
    gap: 0.18in;
    align-items: center;
    border-color: #abc8e5;
    background: #f9fbff !important;
    min-height: 1.25in;
    padding: 0.17in 0.18in;
  }

  .report-why-icon {
    display: grid;
    width: 0.78in;
    height: 0.78in;
    place-items: center;
    border: 1px solid #b9cee3;
    border-radius: 50%;
    background: #fff;
    color: #174f8c;
  }

  .report-why-icon svg {
    width: 0.5in;
    height: 0.5in;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .report-drivers-page .report-explain-box p {
    margin: 0;
    color: #354656;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 11.3px;
    line-height: 1.42;
  }

  .report-drivers-page .report-explain-box p + p {
    margin-top: 0.08in;
    border-top: 1px solid #cbdbea;
    padding-top: 0.08in;
  }

  .report-projection-page .report-page-header {
    padding: 0.38in 0.54in 0.08in;
  }

  .report-projection-page .report-page-header h3 {
    font-size: 38px;
    line-height: 1.05;
  }

  .report-projection-page .report-page-header p:not(.eyebrow) {
    max-width: 6.25in;
    margin-top: 0.12in;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13.5px;
    line-height: 1.45;
  }

  .report-projection-page .report-page-body {
    gap: 0.14in;
    padding: 0.02in 0.46in 0.18in;
  }

  .report-projection-page .plan-report-chart {
    width: 100%;
    max-height: none;
    border: 1px solid #c8d8d0;
    border-radius: 0.1in;
    background: #fff !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .report-projection-page .report-checkpoint-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.14in;
  }

  .report-checkpoint-comparison,
  .report-projection-page .report-checkpoint-cushion {
    min-height: 2.02in;
    border: 1px solid #a9c9b3;
    border-radius: 0.09in;
    background: #fbfefb !important;
    padding: 0.13in 0.14in;
  }

  .report-checkpoint-comparison h4,
  .report-projection-page .report-checkpoint-cushion h4 {
    display: flex;
    gap: 0.1in;
    align-items: center;
    margin: 0 0 0.08in;
    color: #185f42;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
  }

  .report-checkpoint-comparison h4 > span,
  .report-projection-page .report-checkpoint-cushion h4 > span {
    display: grid;
    flex: 0 0 auto;
    width: 0.4in;
    height: 0.4in;
    overflow: hidden;
    place-items: center;
    border: 1px solid #b9d2c7;
    border-radius: 50%;
    background: #fff;
    color: #16774d;
  }

  .report-checkpoint-comparison h4 img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: scale(1.18);
  }

  .report-checkpoint-comparison h4 svg,
  .report-projection-page .report-checkpoint-cushion h4 svg {
    width: 0.25in;
    height: 0.25in;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .report-checkpoint-comparison dl {
    display: grid;
    margin: 0;
  }

  .report-checkpoint-comparison dl > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.1in;
    align-items: center;
    min-height: 0.44in;
    border-top: 1px solid #d6e3dc;
  }

  .report-checkpoint-comparison dt {
    color: #226044;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.055em;
    text-transform: uppercase;
  }

  .report-checkpoint-comparison dd {
    margin: 0;
    color: #126a45;
    font-family: "Times New Roman", Times, serif;
    font-size: 18px;
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: "lnum" 1, "onum" 0, "tnum" 1;
    white-space: nowrap;
  }

  .report-checkpoint-comparison dd.target {
    color: #b57408;
  }

  .report-checkpoint-comparison dd.negative {
    color: #b6403b;
  }

  .report-checkpoint-comparison.negative {
    border-color: #e2b8b5;
    background: #fffafa !important;
  }

  .report-checkpoint-comparison.negative h4,
  .report-checkpoint-comparison.negative dt,
  .report-checkpoint-comparison.negative dd,
  .report-checkpoint-comparison.negative dd.negative {
    color: #9f3733;
  }

  .report-checkpoint-comparison.negative h4 > span {
    border-color: #e2b8b5;
    background: #fff3f3;
    color: #b6403b;
  }

  .report-checkpoint-comparison.negative dl > div {
    border-color: #ecd2d0;
  }

  .report-projection-page .report-checkpoint-cushion {
    border-color: #abc8e5;
    background: #f9fbff !important;
  }

  .report-projection-page .report-checkpoint-cushion h4 {
    color: #185f42;
  }

  .report-cushion-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid #d4e0e9;
    border-bottom: 1px solid #d4e0e9;
  }

  .report-cushion-metrics > div {
    min-width: 0;
    padding: 0.1in 0.1in 0.09in 0;
  }

  .report-cushion-metrics > div + div {
    border-left: 1px solid #d4e0e9;
    padding-right: 0;
    padding-left: 0.12in;
  }

  .report-cushion-metrics span {
    display: block;
    color: #31513f;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }

  .report-cushion-metrics strong {
    display: block;
    margin-top: 0.06in;
    color: #126a45;
    font-family: "Times New Roman", Times, serif;
    font-size: 17px;
    line-height: 1.05;
  }

  .report-cushion-metrics em {
    display: block;
    margin-top: 0.04in;
    color: #526270;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 8.5px;
    font-style: normal;
    line-height: 1.3;
  }

  .report-projection-page .report-checkpoint-cushion > p {
    margin-top: 0.12in;
    color: #425363;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 10px;
    line-height: 1.38;
  }

  .report-projection-page .report-checkpoint-cushion.negative {
    border-color: #e2b8b5;
    background: #fffafa !important;
  }

  .report-projection-page .report-checkpoint-cushion.negative h4,
  .report-projection-page .report-checkpoint-cushion.negative strong {
    color: #9f3733;
  }

  .report-projection-page .report-checkpoint-cushion.negative h4 > span {
    border-color: #e2b8b5;
    background: #fff3f3;
    color: #b6403b;
  }

  .report-projection-meaning {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: 0.62in minmax(0, 1fr);
    gap: 0.14in;
    align-items: center;
    min-height: 1.06in;
    border: 1px solid #a9c9b3;
    border-radius: 0.09in;
    background: #f8fcf8 !important;
    padding: 0.12in 0.16in;
  }

  .report-projection-meaning > span {
    display: grid;
    width: 0.58in;
    height: 0.58in;
    place-items: center;
    border: 1px solid #b9d2c7;
    border-radius: 50%;
    background: #16834f;
    color: #fff;
  }

  .report-projection-meaning > span svg {
    width: 0.36in;
    height: 0.36in;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .report-projection-meaning strong {
    display: block;
    margin-bottom: 0.04in;
    color: #185f42;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase;
  }

  .report-projection-meaning p {
    margin: 0;
    color: #24503b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12.5px;
    line-height: 1.38;
  }

  .report-projection-meaning.negative {
    border-color: #e2b8b5;
    background: #fffafa !important;
  }

  .report-projection-meaning.negative > span {
    border-color: #e2b8b5;
    background: #b6403b;
  }

  .report-projection-meaning.negative strong,
  .report-projection-meaning.negative p {
    color: #8d302d;
  }

  .report-tracking-page .report-page-header {
    padding: 0.38in 0.54in 0.08in;
  }

  .report-tracking-page .report-page-header h3 {
    font-size: 38px;
    line-height: 1.05;
  }

  .report-tracking-page .report-page-header p:not(.eyebrow) {
    max-width: 6.35in;
    margin-top: 0.12in;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13.5px;
    line-height: 1.45;
  }

  .report-tracking-page .report-page-body {
    gap: 0.14in;
    padding: 0.02in 0.48in 0.18in;
  }

  .report-tracking-verdict {
    display: grid;
    grid-template-columns: 0.72in minmax(0, 1fr);
    gap: 0.18in;
    align-items: center;
    min-height: 1.02in;
    border: 1px solid #8bb59b;
    border-radius: 0.1in;
    background: #f8fcf8 !important;
    padding: 0.13in 0.17in;
  }

  .report-tracking-verdict > span {
    display: grid;
    width: 0.68in;
    height: 0.68in;
    overflow: hidden;
    place-items: center;
    border: 1px solid #c6ddcd;
    border-radius: 50%;
    background: #fff;
    color: #16834f;
  }

  .report-tracking-verdict > span img {
    width: 0.58in;
    height: 0.58in;
    border-radius: 50%;
    object-fit: contain;
  }

  .report-tracking-verdict > span svg {
    width: 0.4in;
    height: 0.4in;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .report-tracking-verdict strong {
    display: block;
    color: #185f42;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    line-height: 1.15;
  }

  .report-tracking-verdict p {
    margin: 0.07in 0 0;
    color: #354f41;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 11.5px;
    line-height: 1.4;
  }

  .report-tracking-verdict.negative {
    border-color: #e2b8b5;
    background: #fffafa !important;
  }

  .report-tracking-verdict.negative > span,
  .report-tracking-verdict.negative strong {
    color: #a63b37;
  }

  .report-tracking-verdict.negative > span {
    border-color: #e2b8b5;
    background: #fff3f3;
  }

  .report-tracking-page .plan-report-tracking-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0.1in;
  }

  .report-tracking-page .plan-report-tracking-summary .plan-report-kpi {
    display: grid;
    grid-template-columns: 0.45in minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    gap: 0.05in 0.08in;
    min-height: 1.56in;
    border: 1px solid #b7cde5;
    border-radius: 0.09in;
    background: #f9fbff !important;
    padding: 0.11in;
  }

  .report-tracking-page .plan-report-kpi i {
    display: grid;
    grid-row: 1 / 3;
    width: 0.43in;
    height: 0.43in;
    overflow: hidden;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: #fff;
    color: #15569a;
    font-style: normal;
  }

  .report-tracking-page .plan-report-kpi i svg {
    width: 0.27in;
    height: 0.27in;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .report-tracking-page .plan-report-kpi i img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: scale(1.16);
  }

  .report-tracking-page .plan-report-kpi > span {
    align-self: end;
    color: #15569a;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.055em;
    line-height: 1.35;
    text-transform: uppercase;
  }

  .report-tracking-page .plan-report-kpi strong {
    grid-column: 1 / -1;
    margin: 0.08in 0 0.02in;
    color: #15569a;
    font-family: "Times New Roman", Times, serif;
    font-size: 20px;
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: "lnum" 1, "onum" 0, "tnum" 1;
    line-height: 1;
    white-space: nowrap;
  }

  .report-tracking-page .plan-report-kpi p {
    grid-column: 1 / -1;
    margin: 0;
    color: #4c5c68;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 9.5px;
    line-height: 1.35;
  }

  .report-tracking-page .plan-report-kpi:nth-child(2) {
    border-color: #b6d2c1;
    background: #fbfefb !important;
  }

  .report-tracking-page .plan-report-kpi:nth-child(2) i,
  .report-tracking-page .plan-report-kpi:nth-child(2) > span,
  .report-tracking-page .plan-report-kpi:nth-child(2) strong {
    color: #126a45;
  }

  .report-tracking-page .plan-report-kpi.trend {
    border-color: #c9c0e1;
    background: #fbfaff !important;
  }

  .report-tracking-page .plan-report-kpi.trend i,
  .report-tracking-page .plan-report-kpi.trend > span,
  .report-tracking-page .plan-report-kpi.trend strong {
    color: #51409b;
  }

  .report-tracking-page .plan-report-kpi.window {
    border-color: #dfc9a2;
    background: #fffdf8 !important;
  }

  .report-tracking-page .plan-report-kpi.window i,
  .report-tracking-page .plan-report-kpi.window > span,
  .report-tracking-page .plan-report-kpi.window strong {
    color: #b57408;
  }

  .report-tracking-page .plan-report-kpi.window strong {
    font-size: 16px;
    line-height: 1.1;
    white-space: normal;
  }

  .report-tracking-page .plan-report-kpi.negative:not(.trend) i,
  .report-tracking-page .plan-report-kpi.negative:not(.trend) > span,
  .report-tracking-page .plan-report-kpi.negative:not(.trend) strong {
    color: #b6403b;
  }

  .report-tracking-page .plan-report-kpi:nth-child(2).negative {
    border-color: #e2b8b5;
    background: #fffafa !important;
  }

  .report-tracking-page .plan-report-chart {
    width: 100%;
    max-height: none;
    border: 1px solid #b9cbd6;
    border-radius: 0.1in;
    background: #fff !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .report-tracking-evidence-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.12in;
  }

  .report-tracking-evidence-row article {
    display: grid;
    grid-template-columns: 0.46in minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 0.03in 0.09in;
    align-items: center;
    min-height: 0.78in;
    border: 1px solid #b6d2c1;
    border-radius: 0.09in;
    background: #fbfefb !important;
    padding: 0.1in 0.12in;
  }

  .report-tracking-evidence-row i {
    display: grid;
    grid-row: 1 / 3;
    width: 0.44in;
    height: 0.44in;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: #fff;
    color: #16774d;
    font-style: normal;
  }

  .report-tracking-evidence-row svg {
    width: 0.27in;
    height: 0.27in;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .report-tracking-evidence-row span {
    align-self: end;
    color: #226044;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.055em;
    text-transform: uppercase;
  }

  .report-tracking-evidence-row strong {
    align-self: start;
    color: #126a45;
    font-family: "Times New Roman", Times, serif;
    font-size: 17px;
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: "lnum" 1, "onum" 0, "tnum" 1;
    line-height: 1.05;
    white-space: nowrap;
  }

  .report-tracking-evidence-row article.trend {
    border-color: #c9c0e1;
    background: #fbfaff !important;
  }

  .report-tracking-evidence-row article.trend i,
  .report-tracking-evidence-row article.trend span,
  .report-tracking-evidence-row article.trend strong {
    color: #51409b;
  }

  .report-tracking-evidence-row article.strength {
    border-color: #b7cde5;
    background: #f9fbff !important;
  }

  .report-tracking-evidence-row article.strength i,
  .report-tracking-evidence-row article.strength span,
  .report-tracking-evidence-row article.strength strong {
    color: #15569a;
  }

  .report-page.report-agenda-page {
    grid-template-rows: 2.5in auto minmax(0, 1fr) auto;
  }

  .report-agenda-page .report-page-masthead {
    position: absolute;
    inset: 0 0 auto;
    width: 100%;
    height: 2.76in;
    overflow: hidden;
  }

  .report-agenda-page .report-page-masthead img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }

  .report-agenda-page .report-page-header {
    grid-row: 2;
    padding: 0.02in 0.54in 0.07in;
  }

  .report-agenda-page .report-page-header h3 {
    font-size: 34px;
    line-height: 1.04;
  }

  .report-agenda-page .report-page-header p:not(.eyebrow) {
    max-width: 6.25in;
    margin-top: 0.07in;
    color: #435361;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 11.5px;
    line-height: 1.4;
  }

  .report-agenda-page .report-page-body {
    grid-row: 3;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 0.1in;
    min-height: 0;
    padding: 0.02in 0.54in 0.11in;
  }

  .report-agenda-page .report-agenda {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 0.11in 0.16in;
    min-height: 0;
  }

  .report-agenda-page .report-agenda-group {
    display: grid;
    grid-template-rows: auto repeat(2, minmax(0, 1fr));
    gap: 0;
    min-height: 0;
    overflow: hidden;
    border: 1px solid currentColor;
    border-radius: 0.09in;
    background: #fbfefb !important;
    color: #147448;
    padding: 0.09in 0.12in;
  }

  .report-agenda-page .report-agenda-group.risk {
    background: #fffaf8 !important;
    color: #b8402b;
  }

  .report-agenda-page .report-agenda-group.tax {
    background: #f8fbff !important;
    color: #155a9c;
  }

  .report-agenda-page .report-agenda-group.risk,
  .report-agenda-page .report-agenda-group.tax {
    grid-template-rows: auto auto auto;
    align-content: start;
  }

  .report-agenda-page .report-agenda-group.risk .report-agenda-item:first-of-type,
  .report-agenda-page .report-agenda-group.tax .report-agenda-item:first-of-type {
    padding-bottom: 0.055in;
  }

  .report-agenda-page .report-agenda-group.other {
    background: #fffdf8 !important;
    color: #bd7b00;
  }

  .report-agenda-page .report-agenda-group > h4 {
    display: grid;
    grid-template-columns: 0.44in minmax(0, 1fr);
    gap: 0.1in;
    align-items: center;
    margin: 0;
    color: currentColor;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17.5px;
    line-height: 1.1;
  }

  .report-agenda-page .report-agenda-group > h4 i {
    display: grid;
    width: 0.42in;
    height: 0.42in;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: #fff;
    font-style: normal;
  }

  .report-agenda-page .report-agenda-group > h4 svg {
    width: 0.26in;
    height: 0.26in;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .report-agenda-page .report-agenda-group > h4 i.has-image {
    overflow: hidden;
    border: 1px solid currentColor;
    background: #fff;
  }

  .report-agenda-page .report-agenda-group > h4 i.has-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    clip-path: circle(35% at 50% 50%);
  }

  .report-agenda-page .report-agenda-item {
    display: grid;
    grid-template-columns: 0.25in minmax(0, 1fr);
    gap: 0.09in;
    align-content: start;
    border-top: 1px solid color-mix(in srgb, currentColor 24%, transparent);
    padding: 0.065in 0 0;
    margin-top: 0.06in;
  }

  .report-agenda-page .report-agenda-item:first-of-type {
    border-top: 0;
    margin-top: 0.09in;
  }

  .report-agenda-page .report-agenda-item > b {
    display: grid;
    width: 0.23in;
    height: 0.23in;
    place-items: center;
    border-radius: 50%;
    background: #147448;
    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 9px;
  }

  .report-agenda-page .report-agenda-group.risk .report-agenda-item > b {
    background: #b8402b;
  }

  .report-agenda-page .report-agenda-group.tax .report-agenda-item > b {
    background: #155a9c;
  }

  .report-agenda-page .report-agenda-group.other .report-agenda-item > b {
    background: #bd7b00;
  }

  .report-agenda-page .report-agenda-item section {
    min-width: 0;
  }

  .report-agenda-page .report-agenda-item section > strong {
    display: block;
    color: #111f38;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 11.5px;
    line-height: 1.22;
  }

  .report-agenda-page .report-agenda-item p {
    margin: 0.035in 0 0;
    color: #52606c;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 8.8px;
    line-height: 1.25;
  }

  .report-agenda-page .report-agenda-item em {
    display: flex;
    gap: 0.065in;
    align-items: baseline;
    margin-top: 0.05in;
    border-top: 1px solid color-mix(in srgb, currentColor 20%, transparent);
    padding-top: 0.04in;
    color: currentColor;
    font-style: normal;
  }

  .report-agenda-page .report-agenda-item em i {
    display: grid;
    flex: 0 0 auto;
    width: 0.25in;
    height: 0.25in;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: #fff;
    font-style: normal;
    transform: translateY(0.025in);
  }

  .report-agenda-page .report-agenda-item em i svg {
    width: 0.16in;
    height: 0.16in;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .report-agenda-page .report-agenda-item em i svg g {
    fill: currentColor;
    stroke: none;
  }

  .report-agenda-page .report-agenda-item em span {
    font-family: Arial, sans-serif;
    font-size: 8.8px;
    font-weight: 900;
  }

  .report-agenda-page .report-agenda-item em small {
    color: #68747e;
    font-size: 8px;
  }

  .report-agenda-page .report-agenda-item em strong {
    color: currentColor;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 14.25px;
    line-height: 1;
  }

  .report-agenda-page .report-muted {
    align-self: center;
    margin: 0.16in 0 0 0.58in;
    color: #68747e;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 10px;
  }

  .report-agenda-help {
    display: grid;
    grid-template-columns: 0.5in minmax(0, 1fr);
    gap: 0.13in;
    align-items: center;
    min-height: 0.66in;
    border: 1px solid #a9c7e4;
    border-radius: 0.09in;
    background: #f8fbff !important;
    padding: 0.09in 0.13in;
  }

  .report-agenda-help > i {
    display: grid;
    width: 0.46in;
    height: 0.46in;
    place-items: center;
    border: 1px solid #83acd4;
    border-radius: 50%;
    background: #fff;
    color: #155a9c;
    font-style: normal;
  }

  .report-agenda-help > i.has-image {
    overflow: hidden;
    border: 0;
    background: transparent;
  }

  .report-agenda-help > i.has-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .report-agenda-help svg {
    width: 0.29in;
    height: 0.29in;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
  }

  .report-agenda-help strong {
    display: block;
    color: #123f73;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13px;
  }

  .report-agenda-help p {
    margin: 0.055in 0 0;
    color: #435361;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 9px;
    line-height: 1.3;
  }

  .report-agenda-page .report-footer {
    grid-row: 4;
    align-self: end;
  }
}
.settings-household-separation-panel {
  display: grid;
  gap: 16px;
  margin-top: 18px;
  padding: 20px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 28%, var(--subtle));
  border-radius: 14px;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--theme-accent) 12%, transparent), transparent 44%),
    linear-gradient(145deg, color-mix(in srgb, var(--theme-soft) 32%, #fff), rgba(255, 255, 255, 0.96));
}

.settings-household-separation-panel[hidden] {
  display: none;
}

.settings-household-separation-heading,
.settings-household-separation-status,
.settings-household-separation-actions,
.settings-household-separation-section-title,
.settings-household-preview-actions,
.settings-household-separation-dialog-shell > header,
.settings-household-separation-dialog-shell > footer {
  display: flex;
  align-items: center;
  gap: 14px;
}

.settings-household-separation-heading {
  align-items: flex-start;
}

.settings-household-separation-heading h4,
.settings-household-separation-dialog h3,
.settings-household-separation-dialog h4 {
  margin: 0;
  color: var(--text);
}

.settings-household-separation-heading p,
.settings-household-separation-dialog p {
  margin: 4px 0 0;
  color: var(--muted);
  line-height: 1.5;
}

.settings-household-separation-kicker {
  display: block;
  margin-bottom: 4px;
  color: var(--theme-accent-strong);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.settings-household-separation-status {
  justify-content: space-between;
  align-items: flex-start;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 16%, var(--subtle));
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
}

.settings-household-separation-status span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.settings-household-separation-status strong {
  display: block;
  margin-top: 3px;
  color: var(--theme-accent-strong);
}

.settings-household-separation-status p {
  max-width: 520px;
  margin: 0;
  text-align: right;
}

.settings-primary-button,
.settings-secondary-button {
  min-height: 40px;
  padding: 0 16px;
  border-radius: 9px;
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
}

.settings-primary-button {
  border: 1px solid var(--theme-accent-strong);
  background: var(--theme-accent-strong);
  color: #fff;
}

.settings-secondary-button {
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, var(--subtle));
  background: rgba(255, 255, 255, 0.9);
  color: var(--theme-accent-strong);
}

.settings-primary-button:disabled,
.settings-secondary-button:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.settings-household-separation-dialog {
  width: min(940px, calc(100vw - 40px));
  max-height: calc(100vh - 40px);
  padding: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 24%, var(--subtle));
  border-radius: 18px;
  background: var(--surface);
  color: var(--text);
  box-shadow: 0 28px 80px rgba(23, 33, 42, 0.25);
}

.settings-household-separation-dialog::backdrop {
  background: rgba(16, 27, 37, 0.54);
  backdrop-filter: blur(3px);
}

.settings-household-separation-dialog-shell {
  display: grid;
  gap: 18px;
  max-height: calc(100vh - 40px);
  box-sizing: border-box;
  padding: 24px;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

.settings-household-separation-dialog-shell > header {
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--subtle);
}

.settings-dialog-close {
  flex: 0 0 auto;
  width: 50px;
  height: 50px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--workspace-theme-accent) 24%, rgba(34, 70, 98, 0.12));
  border-radius: 999px;
  background:
    linear-gradient(45deg, transparent 45%, var(--workspace-theme-accent-strong) 46%, var(--workspace-theme-accent-strong) 54%, transparent 55%) center / 23px 23px no-repeat,
    linear-gradient(-45deg, transparent 45%, var(--workspace-theme-accent-strong) 46%, var(--workspace-theme-accent-strong) 54%, transparent 55%) center / 23px 23px no-repeat,
    #fff;
  color: transparent;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--workspace-theme-accent-strong) 11%, transparent);
  cursor: pointer;
}

.settings-household-separation-backup {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 18px;
  align-items: center;
  padding: 16px;
  border: 1px solid #e2c16d;
  border-radius: 12px;
  background: #fff9e9;
}

.settings-household-separation-backup > span {
  grid-column: 1 / -1;
  color: #8a5b00;
  font-size: 12px;
  font-weight: 800;
}

.settings-household-separation-form-section,
.settings-household-separation-preview {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--subtle);
  border-radius: 12px;
  background: color-mix(in srgb, var(--theme-soft) 15%, #fff);
}

.settings-household-separation-section-title {
  align-items: flex-start;
}

.settings-household-separation-section-title > span {
  display: grid;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: var(--theme-accent-strong);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.settings-household-retirement-month-field {
  display: grid;
  grid-column: 1 / -1;
  gap: 8px;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 22%, var(--subtle));
  border-radius: 10px;
  background: color-mix(in srgb, var(--theme-soft) 38%, #fff);
}

.settings-household-retirement-month-field > span {
  color: var(--blue-dark);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.settings-household-retirement-month-field > strong {
  color: var(--text);
  font-family: var(--font-display);
  font-size: 22px;
  line-height: 1.15;
}

.settings-household-reconciliation {
  min-height: 40px;
  padding: 10px 12px;
  border-radius: 9px;
  background: rgba(237, 245, 255, 0.72);
  color: var(--blue-dark);
  font-size: 12.5px;
  font-weight: 750;
  line-height: 1.45;
}

.settings-household-reconciliation.is-warning {
  background: #fff4e2;
  color: #8a4c00;
}

.settings-household-reconciliation.is-valid {
  background: var(--success-soft);
  color: var(--success);
}

.settings-household-contribution-rows {
  display: grid;
  gap: 10px;
}

.settings-household-contribution-row {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) repeat(2, minmax(150px, 0.8fr));
  gap: 12px;
  align-items: end;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 12%, var(--subtle));
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.78);
}

.onboarding-mode-card > span {
  grid-row: 1 / span 2;
}

.settings-household-contribution-row > div strong,
.settings-household-contribution-row > div span {
  display: block;
}

.settings-household-contribution-row > div span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}

.settings-household-confirmation {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 20%, var(--subtle));
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--text);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
}

.settings-household-confirmation input {
  margin-top: 2px;
}

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

.settings-household-preview-grid article {
  padding: 16px;
  border: 1px solid var(--subtle);
  border-radius: 10px;
  background: #fff;
}

.settings-household-preview-grid article > span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.settings-household-preview-grid article > strong {
  display: block;
  margin-top: 8px;
  color: var(--theme-accent-strong);
  font-size: 24px;
}

.settings-household-preview-actions {
  justify-content: space-between;
}

.settings-household-preview-actions > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}

.settings-household-separation-error {
  padding: 12px 14px;
  border: 1px solid #e7aaa4;
  border-radius: 9px;
  background: #fff0ee;
  color: #a52f24 !important;
  font-weight: 800;
}

.settings-household-separation-dialog-shell > footer {
  justify-content: flex-end;
  padding-top: 18px;
  border-top: 1px solid var(--subtle);
}

@media (max-width: 720px) {
  .settings-household-separation-status,
  .settings-household-separation-dialog-shell > footer {
    align-items: stretch;
    flex-direction: column;
  }

  .settings-household-separation-status p {
    text-align: left;
  }

  .settings-household-separation-backup,
  .settings-household-contribution-row,
  .settings-household-preview-grid {
    grid-template-columns: 1fr;
  }

  .settings-household-separation-backup > span {
    grid-column: auto;
  }
}

@media (max-width: 720px) {
  .scenario-resilience-progress-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  #scenario-resilience-progress-status {
    text-align: left;
  }
}

/* Final specificity for the completed resilience lane. */
.scenario-mode-panel.scenario-resilience-workspace {
  border-top: 4px solid var(--theme-accent);
}

.scenario-mode-card-resilience:hover,
.scenario-mode-card-resilience.active {
  border-color: color-mix(in srgb, var(--theme-accent) 46%, var(--subtle));
  background:
    radial-gradient(circle at 9% 50%, color-mix(in srgb, var(--theme-accent) 14%, transparent), transparent 36%),
    linear-gradient(145deg, var(--theme-soft), #fff);
}

.scenario-mode-card-resilience.active::after,
.scenario-mode-card-resilience.active .scenario-mode-check {
  background: var(--theme-accent);
}

.scenario-mode-card-resilience.active .scenario-mode-icon {
  background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-strong));
  color: #fff;
}

.scenario-resilience-workspace:not([hidden]) ~ #scenario-diagnostic-builder {
  display: none !important;
}

/* Answer-first resilience results */
.scenario-resilience-answer {
  border: 1px solid rgba(18, 130, 76, 0.24);
  border-radius: 16px;
  background:
    radial-gradient(circle at 4% 0%, rgba(18, 130, 76, 0.14), transparent 24rem),
    linear-gradient(145deg, var(--success-soft), #fff 66%);
  padding: 28px;
  box-shadow: 0 16px 38px rgba(18, 94, 59, 0.08);
}

.scenario-resilience-answer h3 {
  max-width: 980px;
  margin: 5px 0 16px;
  color: #0b6840;
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.08;
}

.scenario-resilience-answer.is-narrow,
.scenario-resilience-answer.is-concern {
  border-color: rgba(217, 119, 6, 0.28);
  background:
    radial-gradient(circle at 4% 0%, rgba(217, 119, 6, 0.1), transparent 24rem),
    linear-gradient(145deg, #fff8e8, #fff 66%);
}

.scenario-resilience-answer.is-narrow h3,
.scenario-resilience-answer.is-concern h3 {
  color: #7c4a08;
}

.scenario-resilience-primary-finding {
  display: block;
  max-width: 1050px;
  color: var(--text);
  font-size: 19px;
  line-height: 1.42;
}

.scenario-resilience-answer > p:not(.eyebrow) {
  max-width: 1050px;
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
}

.scenario-resilience-comparison {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
  margin-top: 16px;
}

.scenario-resilience-comparison.is-single {
  grid-template-columns: minmax(0, 1fr);
}

.scenario-resilience-comparison article {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 154px;
  border: 1px solid var(--subtle);
  border-radius: 14px;
  background: #fff;
  padding: 20px;
}

.scenario-resilience-comparison article.is-current {
  border-color: rgba(18, 130, 76, 0.28);
  background: linear-gradient(145deg, var(--success-soft), #fff);
}

.scenario-resilience-comparison article.is-tested {
  border-color: rgba(217, 119, 6, 0.3);
  background: linear-gradient(145deg, #fff7e6, #fff);
}

.scenario-resilience-comparison article > span,
.scenario-resilience-measure-grid article > span {
  color: var(--brand-teal);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.scenario-resilience-comparison article > strong {
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: 26px;
}

.scenario-resilience-comparison article > em {
  justify-self: start;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.scenario-resilience-comparison .is-current > em {
  background: rgba(18, 130, 76, 0.12);
  color: #0b6840;
}

.scenario-resilience-comparison .is-tested > em {
  background: rgba(217, 119, 6, 0.13);
  color: #9a5705;
}

.scenario-resilience-comparison article > small {
  color: var(--muted);
  line-height: 1.4;
}

.scenario-resilience-comparison-arrow {
  align-self: center;
  color: var(--muted);
  font-size: 28px;
  font-weight: 900;
}

.scenario-resilience-measures,
.scenario-resilience-pressure-ranking,
.scenario-resilience-structural-audit,
.scenario-resilience-plan-diagnosis,
.scenario-resilience-watch-card,
.scenario-resilience-methodology {
  margin-top: 16px;
  border: 1px solid color-mix(in srgb, var(--theme-accent) 15%, var(--subtle));
  border-radius: 16px;
  background: #fff;
  padding: 24px;
  box-shadow: 0 14px 34px rgba(35, 50, 72, 0.05);
}

.scenario-resilience-structural-audit {
  border-color: rgba(79, 70, 229, 0.22);
  background: linear-gradient(145deg, #fbfaff, #fff 72%);
}

.scenario-resilience-structural-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 18px;
}

.scenario-resilience-structural-summary > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  background: var(--surface-muted);
  padding: 8px 12px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.scenario-resilience-structural-summary > span strong {
  font-size: 16px;
}

.scenario-resilience-structural-summary > span.pressure { background: #fff0e4; color: #9a4b0b; }
.scenario-resilience-structural-summary > span.watch { background: #fff8df; color: #84600a; }
.scenario-resilience-structural-summary > span.cushion { background: var(--success-soft); color: #0b6840; }
.scenario-resilience-structural-summary > span.context { background: #eef6ff; color: #14598a; }

.scenario-resilience-structural-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.scenario-resilience-structural-grid article {
  display: grid;
  align-content: start;
  gap: 8px;
  border: 1px solid var(--subtle);
  border-left: 5px solid #8aa7bf;
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.94);
  padding: 19px;
}

.scenario-resilience-structural-grid article.pressure { border-left-color: #d66b25; }
.scenario-resilience-structural-grid article.watch { border-left-color: #d7a51c; }
.scenario-resilience-structural-grid article.cushion { border-left-color: #15945b; }
.scenario-resilience-structural-grid article.context { border-left-color: #3d82b5; }
.scenario-resilience-structural-grid article.is-connected {
  box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.12), 0 12px 26px rgba(59, 52, 134, 0.07);
}

.scenario-resilience-structural-card-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.scenario-resilience-structural-card-head > span {
  color: var(--brand-teal);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.scenario-resilience-structural-card-head > em {
  border-radius: 999px;
  background: var(--surface-muted);
  padding: 5px 8px;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}

.scenario-resilience-structural-grid article.pressure .scenario-resilience-structural-card-head > em { background: #fff0e4; color: #9a4b0b; }
.scenario-resilience-structural-grid article.watch .scenario-resilience-structural-card-head > em { background: #fff8df; color: #84600a; }
.scenario-resilience-structural-grid article.cushion .scenario-resilience-structural-card-head > em { background: var(--success-soft); color: #0b6840; }

.scenario-resilience-structural-grid article > strong {
  color: var(--text);
  font-size: 17px;
  line-height: 1.35;
}

.scenario-resilience-structural-grid article > b {
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: 27px;
  line-height: 1.2;
}

.scenario-resilience-structural-grid article > p,
.scenario-resilience-structural-grid article > small,
.scenario-resilience-structural-grid details p {
  margin: 0;
  color: var(--muted);
  line-height: 1.52;
}

.scenario-resilience-structural-grid article > small {
  color: var(--text);
  font-size: 12px;
}

.scenario-resilience-structural-grid details {
  margin-top: 3px;
  border-top: 1px solid var(--subtle);
  padding-top: 9px;
}

.scenario-resilience-structural-grid details summary {
  cursor: pointer;
  color: var(--theme-accent-strong);
  font-size: 11px;
  font-weight: 850;
}

.scenario-resilience-structural-grid details p {
  margin-top: 8px;
  font-size: 11px;
}

.scenario-resilience-structural-connection {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin-top: 18px;
  border: 1px solid rgba(79, 70, 229, 0.22);
  border-radius: 13px;
  background: #f6f3ff;
  padding: 17px 19px;
}

.scenario-resilience-structural-connection > div {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #e6ddff;
  color: #5a2ba8;
  font-size: 22px;
  font-weight: 950;
}

.scenario-resilience-structural-connection h4,
.scenario-resilience-structural-connection p {
  margin: 0;
}

.scenario-resilience-structural-connection h4 {
  color: var(--text);
  font-size: 16px;
}

.scenario-resilience-structural-connection section > p:last-child {
  margin-top: 5px;
  color: var(--muted);
  line-height: 1.5;
}

.scenario-resilience-structural-limit {
  margin: 12px 2px 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .scenario-resilience-structural-grid {
    grid-template-columns: 1fr;
  }
}

.scenario-resilience-plan-diagnosis {
  border-color: rgba(25, 112, 148, 0.24);
  background: linear-gradient(145deg, #f1fbff, #fff 72%);
}

.scenario-resilience-plan-evidence-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.scenario-resilience-plan-evidence-grid article {
  display: grid;
  align-content: start;
  gap: 8px;
  border: 1px solid rgba(25, 112, 148, 0.18);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.88);
  padding: 20px;
}

.scenario-resilience-plan-evidence-grid article.concern {
  border-color: rgba(217, 119, 6, 0.3);
  background: linear-gradient(145deg, #fff8e8, #fff);
}

.scenario-resilience-plan-evidence-grid article.watch {
  border-color: rgba(107, 70, 193, 0.25);
  background: linear-gradient(145deg, #f7f2ff, #fff);
}

.scenario-resilience-plan-evidence-grid span {
  color: var(--brand-teal);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.scenario-resilience-plan-evidence-grid strong {
  color: var(--text);
  font-size: 17px;
  line-height: 1.35;
}

.scenario-resilience-plan-evidence-grid em {
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: 21px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.3;
}

.scenario-resilience-plan-evidence-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

@media (max-width: 1000px) {
  .scenario-resilience-plan-evidence-grid {
    grid-template-columns: 1fr;
  }
}

.scenario-resilience-pressure-list {
  display: grid;
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.scenario-resilience-pressure-list > li {
  display: grid;
  grid-template-columns: auto minmax(240px, 1.25fr) minmax(340px, 1fr);
  gap: 18px;
  align-items: start;
  border: 1px solid var(--subtle);
  border-radius: 13px;
  background: linear-gradient(145deg, var(--surface-muted), #fff);
  padding: 18px;
}

.scenario-resilience-pressure-list > li.is-highest {
  border-color: rgba(217, 119, 6, 0.34);
  background: linear-gradient(145deg, #fff6df, #fff);
  box-shadow: 0 10px 24px rgba(154, 87, 5, 0.08);
}

.scenario-resilience-pressure-rank {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--theme-soft);
  color: var(--theme-accent-strong);
  font-weight: 950;
}

.scenario-resilience-pressure-list .is-highest .scenario-resilience-pressure-rank {
  background: #f5d59a;
  color: #7c4a08;
}

.scenario-resilience-pressure-copy {
  display: grid;
  gap: 5px;
}

.scenario-resilience-pressure-copy > strong {
  color: var(--text);
  font-size: 17px;
}

.scenario-resilience-pressure-copy > p,
.scenario-resilience-pressure-copy > small {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.scenario-resilience-pressure-copy > small {
  color: #7c4a08;
  font-weight: 750;
}

.scenario-resilience-pressure-list dl {
  display: grid;
  gap: 0;
  margin: 0;
}

.scenario-resilience-pressure-list dl > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  padding: 7px 0;
  border-bottom: 1px solid var(--subtle);
}

.scenario-resilience-pressure-list dt,
.scenario-resilience-pressure-list dd {
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
}

.scenario-resilience-pressure-list dt {
  color: var(--muted);
}

.scenario-resilience-pressure-list dd {
  color: var(--text);
  font-weight: 850;
  text-align: right;
}

@media (max-width: 1050px) {
  .scenario-resilience-pressure-list > li {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .scenario-resilience-pressure-list dl {
    grid-column: 2;
  }
}

@media (max-width: 700px) {
  .scenario-resilience-pressure-list > li {
    grid-template-columns: 1fr;
  }

  .scenario-resilience-pressure-rank {
    width: 40px;
    height: 40px;
  }

  .scenario-resilience-pressure-list dl {
    grid-column: auto;
  }
}

.scenario-resilience-measure-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}

.scenario-resilience-measure-grid article {
  display: grid;
  gap: 8px;
  border: 1px solid var(--subtle);
  border-radius: 13px;
  background: var(--surface-muted);
  padding: 20px;
}

.scenario-resilience-measure-grid article > strong {
  color: var(--theme-display);
  font-family: var(--font-display);
  font-size: 27px;
}

.scenario-resilience-measure-grid article > p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.scenario-resilience-threshold-explanation {
  margin-top: 14px;
  border: 1px solid rgba(217, 119, 6, 0.25);
  border-radius: 12px;
  background: #fff8e8;
  padding: 16px 18px;
  color: #70420b;
}

.scenario-resilience-threshold-explanation strong {
  display: block;
  margin-bottom: 5px;
}

.scenario-resilience-threshold-explanation p {
  margin: 0;
  line-height: 1.5;
}

.scenario-resilience-repair-grid article > span {
  min-height: 30px;
  color: #8a520b;
}

.scenario-resilience-repair-grid article.positive > span {
  color: #0b6840;
}

.scenario-resilience-repair-grid dl {
  display: grid;
  gap: 0;
  margin: 4px 0 0;
  border-top: 1px solid var(--subtle);
}

.scenario-resilience-repair-grid dl > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid var(--subtle);
}

.scenario-resilience-repair-grid dt,
.scenario-resilience-repair-grid dd {
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
}

.scenario-resilience-repair-grid dt {
  color: var(--muted);
}

.scenario-resilience-repair-grid dd {
  color: var(--text);
  font-weight: 850;
  text-align: right;
}

.scenario-resilience-watch-card {
  display: grid;
  justify-items: start;
  gap: 10px;
}

.scenario-resilience-watch-card {
  border-color: rgba(18, 130, 76, 0.2);
  background: linear-gradient(145deg, var(--success-soft), #fff 70%);
}

.scenario-resilience-methodology {
  padding: 0;
  overflow: hidden;
}

.scenario-resilience-methodology summary {
  cursor: pointer;
  padding: 18px 22px;
  color: var(--theme-accent-strong);
  font-weight: 900;
}

.scenario-resilience-methodology[open] summary {
  border-bottom: 1px solid var(--subtle);
  background: var(--theme-soft);
}

.scenario-resilience-methodology > div {
  padding: 22px;
}

.scenario-resilience-methodology h4 {
  margin: 22px 0 8px;
  color: var(--text);
  font-size: 15px;
}

.scenario-resilience-methodology p,
.scenario-resilience-methodology li {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.scenario-resilience-methodology ol,
.scenario-resilience-methodology ul {
  display: grid;
  gap: 8px;
  padding-left: 22px;
}

.scenario-resilience-methodology ol li {
  padding-left: 5px;
}

.scenario-resilience-methodology ol strong,
.scenario-resilience-methodology ol span,
.scenario-resilience-methodology ol em {
  display: block;
}

.scenario-resilience-methodology ol em {
  margin-top: 3px;
  color: #9a5705;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

@media (max-width: 760px) {
  .scenario-resilience-comparison,
  .scenario-resilience-measure-grid {
    grid-template-columns: 1fr;
  }

  .scenario-resilience-comparison-arrow {
    justify-self: center;
    transform: rotate(90deg);
  }

  .scenario-resilience-repair-grid dl > div {
    grid-template-columns: 1fr;
  }

  .scenario-resilience-repair-grid dd {
    text-align: left;
  }
}

/* Analytical detail for the resilience review */
.scenario-resilience-answer-margin {
  border-left: 4px solid #d49624;
  padding-left: 13px;
  color: #684818 !important;
  font-weight: 750;
}

.scenario-resilience-comparison article > small b {
  color: var(--text);
  font-size: 15px;
}

.scenario-resilience-rule-summary {
  margin-top: 16px;
  border: 1px solid rgba(18, 130, 76, 0.2);
  border-radius: 12px;
  background: var(--success-soft);
  padding: 14px 16px;
}

.scenario-resilience-rule-summary.has-failures {
  border-color: rgba(217, 119, 6, 0.28);
  background: #fff8e8;
}

.scenario-resilience-rule-summary p {
  margin: 5px 0 0;
  color: var(--muted);
}

.scenario-resilience-rules-table {
  width: 100%;
  margin-top: 14px;
  border-collapse: collapse;
  font-size: 13px;
}

.scenario-resilience-rules-table th,
.scenario-resilience-rules-table td {
  border-bottom: 1px solid var(--subtle);
  padding: 13px 12px;
  text-align: left;
  vertical-align: top;
}

.scenario-resilience-rules-table thead th {
  color: var(--muted);
  font-size: 10px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.scenario-resilience-rules-table tbody th {
  min-width: 290px;
}

.scenario-resilience-rules-table tbody th strong,
.scenario-resilience-rules-table tbody th small {
  display: block;
}

.scenario-resilience-rules-table tbody th small {
  max-width: 630px;
  margin-top: 4px;
  color: var(--muted);
  font-weight: 500;
  line-height: 1.4;
}

.scenario-resilience-rules-table td:last-child span {
  display: inline-block;
  border-radius: 999px;
  background: rgba(18, 130, 76, 0.12);
  padding: 5px 8px;
  color: #0b6840;
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}

.scenario-resilience-rules-table tr.does-not-pass td:last-child span {
  background: rgba(217, 119, 6, 0.14);
  color: #8a520b;
}

.scenario-resilience-rules-table tr.not-evaluated td:last-child span {
  background: rgba(84, 98, 116, 0.12);
  color: var(--muted);
}

.scenario-resilience-validation-grid,
.scenario-resilience-target-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}

.scenario-resilience-target-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.scenario-resilience-validation-grid article,
.scenario-resilience-target-grid article {
  display: grid;
  align-content: start;
  gap: 7px;
  border: 1px solid var(--subtle);
  border-radius: 13px;
  background: var(--surface-muted);
  padding: 18px;
}

.scenario-resilience-validation-grid article.is-reported {
  border-color: rgba(83, 54, 160, 0.25);
  background: var(--theme-soft);
}

.scenario-resilience-validation-grid article > span,
.scenario-resilience-target-grid article > span {
  color: var(--brand-teal);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.scenario-resilience-validation-grid article > strong,
.scenario-resilience-target-grid article > strong {
  color: var(--theme-display);
  font-size: 18px;
  line-height: 1.25;
}

.scenario-resilience-validation-grid p,
.scenario-resilience-validation-grid small,
.scenario-resilience-target-grid p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.scenario-resilience-target > details,
.scenario-resilience-repair-details {
  margin-top: 14px;
  border: 1px solid var(--subtle);
  border-radius: 11px;
  background: #fff;
}

.scenario-resilience-target > details summary,
.scenario-resilience-repair-details summary {
  cursor: pointer;
  padding: 12px 14px;
  color: var(--theme-accent-strong);
  font-weight: 850;
}

.scenario-resilience-target > details p,
.scenario-resilience-repair-details > p,
.scenario-resilience-repair-details > h4,
.scenario-resilience-repair-details > dl,
.scenario-resilience-repair-details > .table-wrap,
.scenario-resilience-repair-details > .scenario-resilience-validation-grid,
.scenario-resilience-repair-details > .scenario-resilience-rule-summary {
  margin-left: 14px;
  margin-right: 14px;
}

.scenario-resilience-repair-result {
  display: grid;
  gap: 5px;
  border: 1px solid var(--subtle);
  border-radius: 11px;
  background: var(--surface-muted);
  padding: 13px;
}

.scenario-resilience-repair-result em {
  color: #8a520b;
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.scenario-resilience-repair-grid article.positive .scenario-resilience-repair-result em {
  color: #0b6840;
}

.scenario-resilience-repair-result strong {
  color: var(--theme-display);
  font-size: 19px;
}

.scenario-resilience-repair-result span {
  color: var(--muted);
  font-size: 12px;
}

.scenario-resilience-repair-settings {
  margin-top: 12px !important;
}

.scenario-resilience-repair-details {
  overflow: hidden;
}

.scenario-resilience-repair-details[open] summary {
  border-bottom: 1px solid var(--subtle);
  background: var(--theme-soft);
}

.scenario-resilience-repair-details h4 {
  margin-top: 16px;
  margin-bottom: 6px;
  font-size: 13px;
}

.scenario-resilience-repair-details .scenario-resilience-rules-table tbody th {
  min-width: 220px;
}

.scenario-resilience-repair-details .scenario-resilience-validation-grid {
  grid-template-columns: 1fr;
  margin-bottom: 14px;
}

.scenario-resilience-watch-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: min(100%, 620px);
  margin: 4px 0;
}

.scenario-resilience-watch-summary > div {
  border: 1px solid rgba(18, 130, 76, 0.18);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.7);
  padding: 10px 12px;
}

.scenario-resilience-watch-summary dt,
.scenario-resilience-watch-summary dd {
  margin: 0;
}

.scenario-resilience-watch-summary dt {
  color: var(--muted);
  font-size: 11px;
}

.scenario-resilience-watch-summary dd {
  margin-top: 3px;
  color: var(--text);
  font-weight: 900;
}

@media (max-width: 900px) {
  .scenario-resilience-validation-grid,
  .scenario-resilience-target-grid {
    grid-template-columns: 1fr;
  }

  .scenario-resilience-rules-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .scenario-resilience-rules-table,
  .scenario-resilience-rules-table tbody,
  .scenario-resilience-rules-table tr,
  .scenario-resilience-rules-table th,
  .scenario-resilience-rules-table td {
    display: block;
  }

  .scenario-resilience-rules-table tbody th {
    min-width: 0;
    border-bottom: 0;
    padding-bottom: 5px;
  }

  .scenario-resilience-rules-table td {
    border-bottom: 0;
    padding-top: 4px;
    padding-bottom: 4px;
  }

  .scenario-resilience-rules-table tr {
    border-bottom: 1px solid var(--subtle);
    padding-bottom: 10px;
  }
}

/* Keep the revised resilience story linear on tablets after legacy layout rules. */
@media (max-width: 900px) {
  .scenario-resilience-comparison,
  .scenario-resilience-review-summary,
  .scenario-resilience-ranking-primary,
  .scenario-resilience-factor-columns,
  .scenario-resilience-compact-rules,
  .scenario-resilience-repair-grid {
    grid-template-columns: 1fr;
  }
}
