/* Financial surfaces: scoped to the portfolio and planning workspace. */
.home-analytics-grid,
#sectionPlanning {
  --finance-surface: #101923;
  --finance-border: #263747;
  --finance-muted: #a4b5c6;
  --finance-accent: #62d9bc;
}

.home-analytics-grid { gap: 20px; }
.home-analytics-grid > section,
#sectionPlanning .planning-panel {
  background: linear-gradient(145deg, #13202c 0%, #0e1720 48%, #0b131c 100%);
  border: 1px solid var(--finance-border);
  border-radius: 18px;
  box-shadow: 0 12px 32px #00000024;
}
.home-analytics-grid > section { padding: 24px; }
.finance-eyebrow {
  color: var(--finance-accent);
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.5;
  margin-bottom: 10px;
}
.home-analytics-grid .panel-title,
#sectionPlanning > .planning-panel > .panel-title {
  padding: 0;
  border: 0;
  align-items: flex-start;
  flex-wrap: wrap;
  color: #f0f5fa;
  font-size: 1.2rem;
  font-weight: 650;
  letter-spacing: -.025em;
  text-transform: none;
  gap: 12px;
}
.home-analytics-grid .panel-title > span { flex: 1 1 180px; overflow-wrap: anywhere; }
.home-analytics-grid .panel-title b,
#sectionPlanning #planningCount {
  color: var(--finance-muted);
  background: #ffffff05;
  border: 1px solid var(--finance-border);
  border-radius: 7px;
  padding: 7px 9px;
  font-size: .67rem;
  font-weight: 500;
  letter-spacing: 0;
  white-space: normal;
}
.home-analytics-grid .portfolio-caption {
  color: var(--finance-muted);
  font-size: .76rem;
  line-height: 1.65;
  margin: 12px 0 20px;
}
.home-analytics-grid .portfolio-heatmap { padding: 0; }
.home-analytics-grid .portfolio-map-filter {
  justify-content: space-between;
  margin: 24px 0 0;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--finance-border);
  color: var(--finance-muted);
}
.home-analytics-grid .portfolio-map-filter select {
  background: #0b141d;
  border-color: #32485c;
  color: #dce8f2;
  border-radius: 8px;
  padding: 9px 12px;
  font-size: .76rem;
}
.home-analytics-grid .portfolio-map-layout { gap: 22px; margin: 28px 0; }
.home-analytics-grid .portfolio-donut {
  max-width: 280px;
  box-shadow: 0 0 0 7px #ffffff02, 0 16px 35px #00000030;
}
.home-analytics-grid .portfolio-donut-center {
  width: 73%;
  height: 73%;
  background: #101923;
  box-shadow: inset 0 0 22px #00000020;
  gap: 10px;
}
.home-analytics-grid .portfolio-donut-center strong { font-size: clamp(1rem, 1.35vw, 1.5rem); letter-spacing: -.04em; }
.home-analytics-grid .portfolio-donut-center span { font-size: .7rem; }
.home-analytics-grid .portfolio-donut-center small { font-size: .64rem; }
.home-analytics-grid .portfolio-map-item {
  padding: 13px 8px;
  border-bottom: 1px solid #ffffff07;
  border-radius: 7px;
  gap: 10px;
}
.home-analytics-grid .portfolio-map-item strong { font-size: .78rem; font-weight: 500; }
.home-analytics-grid .portfolio-map-item b { color: #dce8f2; font-weight: 600; }
.home-analytics-grid .portfolio-map-item small { color: var(--finance-muted); font-variant-numeric: tabular-nums; }
.home-analytics-grid .portfolio-footer { gap: 12px; padding-top: 20px; border-top: 1px solid var(--finance-border); }
.home-analytics-grid .wealth-summary { padding: 0; gap: 10px; margin: 22px 0; }
.home-analytics-grid .info-card {
  border-radius: 11px;
  border: 1px solid var(--finance-border);
  background: #0a141c90;
  padding: 16px 13px;
  gap: 9px;
  align-content: start;
}
.home-analytics-grid .info-card > span { font-size: .69rem; text-transform: none; color: var(--finance-muted); }
.home-analytics-grid .info-card > strong { font-size: clamp(.94rem, 1.15vw, 1.25rem); font-weight: 650; letter-spacing: -.025em; font-variant-numeric: tabular-nums; }
.home-analytics-grid .info-card > small { font-size: .66rem; line-height: 1.6; color: #97aabc; }
.home-analytics-grid .wealth-summary .info-card:first-child { border-color: #3d8b7d70; background: #15312850; }
.home-analytics-grid .wealth-summary .info-card:nth-child(2) strong { color: #e3edf7; }
.home-analytics-grid .wealth-summary .info-card strong { color: var(--finance-accent); }
.home-analytics-grid .portfolio-insight {
  margin: 20px 0;
  border: 1px solid #345773;
  border-left: 3px solid #63a9e5;
  background: #14273870;
  padding: 16px 18px;
  color: #b6cbdf;
  border-radius: 10px;
  font-size: .76rem;
  line-height: 1.7;
}
.home-analytics-grid .chart-controls { padding: 14px 0 0; border-top: 1px solid var(--finance-border); gap: 10px; }
.home-analytics-grid .chart-controls span { color: var(--finance-muted); font-size: .7rem; }
.home-analytics-grid .chart-mode-controls { background: #09131c; border-color: var(--finance-border); border-radius: 8px; }
.home-analytics-grid .chart-mode-controls button { font-weight: 600; text-transform: none; padding: 7px 10px; }
.home-analytics-grid .chart-mode-controls button.active { background: #1b4037; color: #92e8d2; }
.home-analytics-grid .icon-action { border-radius: 7px; min-height: 34px; }

#sectionPlanning .planning-panel { padding: 28px; }
#sectionPlanning .planning-panel > .panel-title { font-size: clamp(1.35rem, 2vw, 1.8rem); }
#sectionPlanning .planning-panel > .planning-note { max-width: 850px; margin: 12px 0 22px; }
#sectionPlanning .planning-note { color: var(--finance-muted); font-size: .8rem; line-height: 1.7; }
#sectionPlanning .planning-card-toggle { display: flex; align-items: center; gap: 10px; color: #b5c6d7; font-size: .8rem; line-height: 1.5; }
#sectionPlanning .planning-card-toggle input { width: 18px; height: 18px; min-height: 18px; flex: 0 0 18px; margin: 0; accent-color: #62d9bc; }
#sectionPlanning .planning-steps { gap: 12px 28px; margin: 0 0 28px; font-size: .76rem; }
#sectionPlanning .planning-steps b { background: #1a3832; color: #8de3cc; width: 26px; height: 26px; font-size: .7rem; }
#sectionPlanning .planning-setup,
#sectionPlanning .planning-block {
  padding: 22px;
  border-radius: 14px;
  border: 1px solid var(--finance-border);
  background: #0b141b80;
  margin: 24px 0;
  min-width: 0;
}
#sectionPlanning .planning-setup { background: #15222f70; margin-top: 0; }
.finance-section-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
#sectionPlanning .finance-section-heading h3 { margin: 0; font-size: .98rem; font-weight: 600; letter-spacing: -.015em; color: #eaf1f8; }
.finance-section-heading > span { color: #91a7bb; font-size: .68rem; }
#sectionPlanning .planning-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 20px 0 0; }
#sectionPlanning .planning-filters label { gap: 9px; font-size: .73rem; color: #b5c6d7; }
#sectionPlanning .planning-filters label:nth-child(5) { grid-column: span 2; }
#sectionPlanning .planning-filters input,
#sectionPlanning .planning-filters select,
#sectionPlanning .planning-table input {
  background: #0a131c;
  border: 1px solid #34495c;
  border-radius: 8px;
  color: #edf4fb;
  min-height: 44px;
  padding: 10px 12px;
  font-size: .82rem;
  color-scheme: dark;
}
#sectionPlanning .planning-filters #planningCash { color: #98ead5; font-size: 1.05rem; font-weight: 600; letter-spacing: .01em; }
#sectionPlanning #planningClear { justify-self: end; grid-column: 4; min-height: 44px; border: 1px solid #34495c; border-radius: 8px; background: transparent; color: #b5c6d7; font-size: .76rem; }
#sectionPlanning #planningSummary { padding: 0; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
#sectionPlanning #planningSummary .info-card { padding: 18px; border-color: var(--finance-border); border-radius: 12px; background: #0c1721; align-content: start; gap: 10px; }
#sectionPlanning #planningSummary .info-card > span { font-size: .7rem; color: #adc0d2; text-transform: none; line-height: 1.5; }
#sectionPlanning #planningSummary .info-card > strong { font-size: clamp(1.1rem, 1.7vw, 1.6rem); letter-spacing: -.035em; font-weight: 600; font-variant-numeric: tabular-nums; }
#sectionPlanning #planningSummary .info-card > small { font-size: .68rem; line-height: 1.65; color: #91a7bc; }
#sectionPlanning #planningSummary .info-card:nth-child(5) { border-color: #347864; background: #102b2455; }
#sectionPlanning #planningSummary .info-card:nth-child(5) > strong { color: #82dfc3; }
#sectionPlanning #planningSummary .info-card:last-child { border-color: #8a704444; background: #30271844; }
#sectionPlanning #planningSummary .info-card:last-child > strong { color: #e6c185; }
#sectionPlanning .planning-decision { padding: 24px 26px; border-radius: 13px; border: 1px solid #427c704d; border-left: 4px solid #62d9bc; background: linear-gradient(110deg, #19382f70, #101b25); margin: 22px 0; }
#sectionPlanning .planning-decision > strong { display: block; letter-spacing: -.025em; line-height: 1.4; font-weight: 600; }
#sectionPlanning .planning-kicker { font-size: .63rem; letter-spacing: .13em; color: #85d9c4; }
#sectionPlanning #planningWarnings:not(:empty) { padding: 16px 18px; color: #e5c58d; background: #30271877; border: 1px solid #8a704455; border-radius: 10px; margin: 20px 0; }
#sectionPlanning #planningWarnings:empty { display: none; }
#sectionPlanning .planning-scroll { border-color: var(--finance-border); border-radius: 10px; }
#sectionPlanning .planning-table { font-size: .78rem; }
#sectionPlanning .planning-table th,
#sectionPlanning .planning-table td { padding: 16px; border-color: #26374799; font-variant-numeric: tabular-nums; }
#sectionPlanning .planning-table thead th { background: #192a39; color: #bcd0e1; font-size: .7rem; font-weight: 600; }
#sectionPlanning .planning-table tbody tr:nth-child(even) { background: #15223050; }
#sectionPlanning .planning-table tbody tr:hover { background: #203a4b55; }
#sectionPlanning .planning-table tbody th { background: #101c27; color: #d3e1ec; }
#sectionPlanning .planning-table th:first-child { position: sticky; left: 0; z-index: 1; box-shadow: 1px 0 #263747; }
#sectionPlanning .planning-table tbody td strong { font-weight: 550; }
#sectionPlanning .planning-table small { font-size: .66rem; line-height: 1.65; }
#sectionPlanning .planning-table thead th.planning-selected-rate { color: #93e6cc; background: #1c4035; }
#sectionPlanning .planning-comparison { background: #111e2980; border-color: var(--finance-border); border-radius: 10px; padding: 18px; margin: 18px 0 0; }
#sectionPlanning .planning-comparison summary { color: #bfd3e6; font-size: .8rem; line-height: 1.5; }
#sectionPlanning .planning-comparison[open] summary { padding-bottom: 16px; border-bottom: 1px solid var(--finance-border); }
.home-analytics-grid :is(button, select):focus-visible,
#sectionPlanning :is(button, input, select, summary):focus-visible { outline: 2px solid #78d9c2; outline-offset: 3px; }

@media (max-width: 1400px) and (min-width: 1151px) {
  .home-analytics-grid > section { padding: 20px; }
  .home-analytics-grid .portfolio-map-layout { grid-template-columns: 1fr; }
  .home-analytics-grid .portfolio-map-legend { max-height: 220px; }
}
@media (max-width: 1000px) {
  #sectionPlanning .planning-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #sectionPlanning #planningClear { grid-column: 2; }
  #sectionPlanning .planning-filters label:nth-child(5) { grid-column: auto; }
  #sectionPlanning #planningSummary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .home-analytics-grid > section { padding: 18px 14px; border-radius: 13px; }
  .home-analytics-grid .panel-title { font-size: 1.1rem; }
  .home-analytics-grid .wealth-summary { grid-template-columns: 1fr; }
  .home-analytics-grid .wealth-summary .info-card { grid-template-columns: minmax(0, 1fr) auto; gap: 7px 12px; padding: 13px; }
  .home-analytics-grid .wealth-summary .info-card > small { grid-column: 1 / -1; }
  .home-analytics-grid .wealth-summary .info-card > strong { font-size: 1.05rem; }
  .home-analytics-grid .portfolio-map-layout { grid-template-columns: 1fr; }
  .home-analytics-grid .portfolio-donut { max-width: 255px; }
  .home-analytics-grid .portfolio-donut-center strong { font-size: 1.35rem; }
  .home-analytics-grid .portfolio-map-legend { max-height: 290px; }
  .home-analytics-grid .portfolio-footer .info-card { padding: 12px; }
  #sectionPlanning .planning-panel { padding: 18px 12px; border-radius: 13px; }
  #sectionPlanning .planning-setup,
  #sectionPlanning .planning-block { padding: 16px 12px; }
  #sectionPlanning .planning-steps { display: grid; gap: 10px; }
  #sectionPlanning .planning-filters { gap: 14px 10px; }
  #sectionPlanning .planning-filters label:nth-child(n+3) { grid-column: 1 / -1; }
  #sectionPlanning #planningClear { grid-column: 1 / -1; justify-self: stretch; }
  #sectionPlanning #planningSummary { gap: 8px; }
  #sectionPlanning #planningSummary .info-card { padding: 13px 10px; gap: 8px; }
  #sectionPlanning #planningSummary .info-card > strong { font-size: 1.1rem; }
  #sectionPlanning .planning-decision { padding: 18px 16px; }
  #sectionPlanning .planning-table th:first-child { min-width: 140px; max-width: 160px; white-space: normal; }
  #sectionPlanning .planning-comparison { padding: 12px; }
}
@media (max-width: 360px) {
  #sectionPlanning #planningSummary { grid-template-columns: 1fr; }
  .home-analytics-grid .wealth-summary .info-card { grid-template-columns: 1fr; }
}
