/* Result panels: preserve readable figures at narrower desktop widths. */
.grid3{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}

.stats-grid{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}

.stat{
  display:grid;
  align-content:start;
  gap:7px;
  min-width:0;
}

.stat span{
  margin-bottom:0;
  line-height:1.35;
}

.stat strong{
  font-size:clamp(27px,2.25vw,34px);
  line-height:1.05;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}

.stat small{
  min-height:2.8em;
  line-height:1.4;
}

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

.result-kv{
  table-layout:fixed;
}

.result-kv td{
  padding:9px 4px;
  line-height:1.35;
  vertical-align:middle;
}

.result-kv td:first-child{
  width:64%;
  color:#475569;
}

.result-kv td:last-child{
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}

.chart-panel{position:relative;}

#percentileChart,#failureChart,#sweepChart,#cashflowChart{cursor:crosshair;}

.chart-tooltip{
  position:absolute;
  z-index:2;
  display:grid;
  gap:3px;
  min-width:148px;
  padding:9px 11px;
  border:1px solid #bfdbfe;
  border-radius:9px;
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 18px rgba(15,23,42,.14);
  color:#334155;
  font-size:12px;
  line-height:1.35;
  pointer-events:none;
}

.chart-tooltip strong{color:#1d4ed8;}

.setting-group{border-bottom:1px solid #edf1f5;}
.setting-group>summary{padding:13px 4px;cursor:pointer;color:#334155;font-size:14px;font-weight:700;list-style:none;}
.setting-group>summary::-webkit-details-marker{display:none;}
.setting-group>summary::after{content:'＋';float:right;color:#64748b;}
.setting-group[open]>summary::after{content:'－';}
.setting-group>section{padding-left:4px;padding-right:4px;}

.insights{padding:16px 18px;}
.decision-summary{display:grid;gap:5px;padding:18px 20px;border-color:#bfdbfe;background:linear-gradient(135deg,#eff6ff,#fff);}
.decision-summary .eyebrow{font-size:12px;font-weight:700;color:#2563eb;letter-spacing:.04em;}
.decision-summary strong{font-size:18px;line-height:1.4;}
.decision-summary p{margin:0;color:#475569;font-size:13px;line-height:1.55;}
.insight-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;}
.insight{display:grid;gap:4px;padding:12px 13px;border-radius:10px;border-left:4px solid #f59e0b;background:#fffbeb;color:#78350f;}
.insight strong{font-size:13px;}.insight span{font-size:12px;line-height:1.45;}
.insight.risk{border-left-color:#dc2626;background:#fef2f2;color:#991b1b;}
.insight.good{border-left-color:#16a34a;background:#f0fdf4;color:#166534;}

.comparison-panel{padding:16px 18px;}
.future-events{display:grid;gap:7px;}
.event-row{display:grid;grid-template-columns:72px 84px minmax(0,1fr) auto;gap:6px;align-items:end;padding:8px;border:1px solid #e2e8f0;border-radius:9px;background:#f8fafc;}
.event-row label{gap:3px;font-size:11px;}.event-row input,.event-row select{padding:6px 7px;}
.event-remove{padding:6px 8px;color:#b91c1c;background:#fff;border-color:#fecaca;}
.goal-tool{padding:16px 18px;}.goal-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap;}.goal-controls label{width:104px;}.goal-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;}.goal-result>span{color:#64748b;font-size:13px;}.goal-card{padding:12px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;}.goal-card span{display:block;color:#64748b;font-size:12px;margin-bottom:5px;}.goal-card strong{display:block;font-size:19px;font-variant-numeric:tabular-nums;}.goal-card small{display:block;margin-top:5px;color:#64748b;font-size:11px;line-height:1.4;}
.comparison-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:12px;}
.comparison-controls label{width:150px;}
.table-scroll{overflow:auto;border:1px solid #e2e8f0;border-radius:9px;}
.comparison-table{width:100%;min-width:680px;border-collapse:collapse;font-size:13px;}
.comparison-table th,.comparison-table td{padding:10px 12px;border-bottom:1px solid #e8edf3;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
.comparison-table th{background:#f8fafc;color:#475569;font-size:12px;}.comparison-table th:first-child,.comparison-table td:first-child{text-align:left;}
.comparison-table td:first-child small{display:block;margin-top:3px;color:#64748b;font-weight:400;font-variant-numeric:normal;}
.empty-state{margin:0;padding:18px;color:#64748b;font-size:13px;}

@media print{
  @page{margin:12mm;}
  body{background:#fff;font-size:11px;}
  .topbar,.settings-panel,.runbar,.progressCard,.sweep-controls,button,.file-button{display:none!important;}
  .layout{display:block;padding:0;}.content{gap:10px;}.panel{box-shadow:none;break-inside:avoid;border-color:#cbd5e1;}
  .stats-grid{grid-template-columns:repeat(4,1fr);}.stat{padding:10px;}.stat strong{font-size:22px;}
  canvas{max-height:260px;object-fit:contain;}.two-col{grid-template-columns:1fr 1fr;}.chart-tooltip{display:none!important;}
}

@media(max-width:1100px){
  .stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
  .two-col{grid-template-columns:1fr;}
}

@media(max-width:680px){
  .grid3{grid-template-columns:1fr;}
  .section-title-row{align-items:flex-start;flex-direction:column;}
  .hint{white-space:normal;}
  .event-row{grid-template-columns:1fr 1fr;}.event-row .event-remove{grid-column:span 2;}.goal-result{grid-template-columns:1fr;}
}
