/* All styles are scoped to this calculator's container. */
#k401-tool{--k401-ink:#213047;--k401-muted:#64748b;--k401-line:#dfe7ef;--k401-accent:#2563eb;--k401-light:#eff6ff;--k401-green:#0f9b83;--k401-orange:#f5a623;font-family:inherit;color:var(--k401-ink);font-size:13px;max-width:100%;}
#k401-tool *{box-sizing:border-box}#k401-tool .k401-layout{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(0,1.1fr);align-items:start;gap:14px}#k401-tool .k401-panel{background:#fff;border:1px solid var(--k401-line);border-radius:12px;padding:15px;min-width:0;margin-bottom:13px;box-shadow:0 2px 8px rgba(15,23,42,.025)}#k401-tool .k401-inputs{margin-bottom:0}#k401-tool .k401-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:750;margin-bottom:13px}#k401-tool .k401-panel-heading i{color:var(--k401-accent);margin-right:5px}#k401-tool .k401-section-heading{border-top:1px solid var(--k401-line);padding-top:14px;margin-top:16px;margin-bottom:10px;font-weight:750;color:#334155}#k401-tool .k401-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 10px}#k401-tool .k401-field{min-width:0}#k401-tool .k401-field label{display:block;font-size:11px;font-weight:650;color:#526177;margin-bottom:4px;min-height:15px}#k401-tool .k401-field label small{font-size:10px;font-weight:450}#k401-tool .k401-field input,#k401-tool .k401-field select{width:100%;font-size:12px;min-height:34px;border:1px solid #d7e0ea;border-radius:7px;background:#fff;color:#263449;padding:6px 9px;box-shadow:none}#k401-tool .k401-field input:focus,#k401-tool .k401-field select:focus{outline:2px solid #b9d2fe;border-color:var(--k401-accent)}#k401-tool .k401-addon{display:flex;align-items:center;border:1px solid #d7e0ea;border-radius:7px;overflow:hidden;background:#f8fafc}#k401-tool .k401-addon span{padding:0 8px;color:#64748b;font-size:11px;white-space:nowrap}#k401-tool .k401-addon input{border:0;border-left:1px solid #e2e8f0;border-radius:0;min-width:0}#k401-tool .k401-addon:focus-within{outline:2px solid #b9d2fe}#k401-tool .k401-info{margin-left:4px;color:#94a3b8}#k401-tool .k401-check{display:flex;align-items:center;gap:8px;margin:13px 0 3px;font-size:12px;color:#475569;cursor:pointer}#k401-tool .k401-check input{accent-color:var(--k401-accent)}#k401-tool .k401-check small{color:#94a3b8}#k401-tool #k401-calculate{margin-top:17px;border-radius:8px;min-height:41px;font-size:13px;font-weight:700}#k401-tool .k401-link{border:0;background:transparent;color:var(--k401-accent);font-size:12px;font-weight:650;cursor:pointer;padding:2px 0}#k401-tool .k401-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:13px}#k401-tool .k401-metric{padding:14px 12px;border:1px solid var(--k401-line);border-radius:11px;background:#fff;min-width:0}#k401-tool .k401-metric-primary{background:linear-gradient(135deg,#1746ad,#3575e8);color:#fff;border-color:#3575e8}#k401-tool .k401-metric span,#k401-tool .k401-metric small{display:block;font-size:10px;color:#64748b}#k401-tool .k401-metric strong{display:block;font-size:clamp(17px,2.05vw,25px);font-weight:800;letter-spacing:-.6px;line-height:1.35;margin:5px 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}#k401-tool .k401-metric-primary span,#k401-tool .k401-metric-primary small{color:#dbeafe}#k401-tool .k401-toggle{display:flex;gap:2px;padding:2px;border-radius:7px;background:#edf2f8}#k401-tool .k401-toggle button{font-size:10px;border:0;background:transparent;border-radius:5px;color:#5b6b80;padding:5px 7px}#k401-tool .k401-toggle button.active{background:#fff;color:#1d4ed8;box-shadow:0 1px 3px #0002}#k401-tool .k401-legend{display:flex;flex-wrap:wrap;gap:12px;color:#64748b;font-size:11px;margin:-2px 0 6px}#k401-tool .k401-dot{display:inline-block;height:9px;width:9px;border-radius:50%;margin-right:4px}#k401-tool .k401-dot-balance{background:#2563eb}#k401-tool .k401-dot-contrib{background:#0f9b83}#k401-tool .k401-canvas-wrap{position:relative;height:230px;width:100%;min-width:0}#k401-tool canvas{display:block;width:100%;height:100%}#k401-tool .k401-tooltip{position:absolute;pointer-events:none;z-index:5;background:#12243e;color:#fff;padding:7px 10px;border-radius:7px;font-size:11px;white-space:nowrap;box-shadow:0 4px 12px #0003}#k401-tool .k401-footnote{font-size:10px;color:#8290a0;line-height:1.5;margin-top:8px}#k401-tool .k401-stack{display:flex;height:13px;overflow:hidden;border-radius:99px;background:#edf2f7;margin-bottom:14px}#k401-tool .k401-stack span:nth-child(1){background:#7688ad}#k401-tool .k401-stack span:nth-child(2){background:#0f9b83}#k401-tool .k401-stack span:nth-child(3){background:#f5a623}#k401-tool .k401-stack span:nth-child(4){background:#2563eb}#k401-tool .k401-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#k401-tool .k401-breakdown-item{min-width:0}#k401-tool .k401-breakdown-item small{display:block;color:#64748b;font-size:10px}#k401-tool .k401-breakdown-item b{font-size:14px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}#k401-tool .k401-scenarios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}#k401-tool .k401-scenario{border-radius:9px;background:#f8fafc;padding:10px 8px;border:1px solid #e8eef5}#k401-tool .k401-scenario span,#k401-tool .k401-scenario small{display:block;color:#718096;font-size:10px}#k401-tool .k401-scenario strong{display:block;font-size:clamp(12px,1.3vw,16px);overflow-wrap:anywhere;margin:5px 0}#k401-tool .k401-scenario:nth-child(2){background:#eff6ff;border-color:#bfdbfe}#k401-tool .k401-table-wrap{max-height:275px;overflow:auto}#k401-tool .k401-table{font-size:11px;white-space:nowrap;margin:0}#k401-tool .k401-table th{position:sticky;top:0;background:#f1f5f9;z-index:1;color:#506179;font-size:10px;padding:8px}#k401-tool .k401-table td{padding:7px 8px;font-variant-numeric:tabular-nums}#k401-tool .k401-table td:not(:first-child),#k401-tool .k401-table th:not(:first-child){text-align:right}#k401-tool .k401-table tbody tr:last-child{background:#eff6ff;font-weight:700}#k401-tool .k401-notes{font-size:11px;color:#52637a;line-height:1.6}#k401-tool .k401-notes p{margin:0 0 6px}#k401-tool .k401-footer{display:flex;gap:8px;justify-content:flex-end;margin:12px 0}#k401-tool .k401-disclaimer{color:#8793a4;line-height:1.5;font-size:10px;margin:10px 0}#k401-tool .k401-inputs .form-select{background-position:right .5rem center;padding-right:25px}
@media(max-width:1050px){#k401-tool .k401-layout{grid-template-columns:1fr}#k401-tool .k401-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){#k401-tool .k401-panel{padding:12px}#k401-tool .k401-metric{padding:11px 9px}#k401-tool .k401-metric strong{font-size:18px}#k401-tool .k401-fields{gap:10px 8px}#k401-tool .k401-canvas-wrap{height:205px}#k401-tool .k401-panel-heading{flex-wrap:wrap}}

/* Flat, consistent backgrounds for all key output results. */
#k401-tool .k401-metric,
#k401-tool .k401-metric-primary,
#k401-tool .k401-scenario,
#k401-tool .k401-scenario:nth-child(2),
#k401-tool .k401-table tbody tr:last-child {
  background: #F0F5FE;
  background-image: none;
  color: var(--k401-ink);
  border-color: var(--k401-line);
}
#k401-tool .k401-metric-primary span,
#k401-tool .k401-metric-primary small {
  color: #64748b;
}

/* Compact export control, situated immediately below Calculate. */
#k401-tool .k401-export-control{position:relative;margin-top:16px}
#k401-tool .k401-export-trigger{min-height:40px;font-size:13px;font-weight:650;display:flex;align-items:center;justify-content:center;gap:2px}
#k401-tool .k401-export-menu{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;padding:5px;border:1px solid #dfe7ef;border-radius:9px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.13)}
#k401-tool .k401-export-menu[hidden]{display:none}
#k401-tool .k401-export-menu button{display:flex;gap:10px;align-items:center;width:100%;padding:10px 11px;border:0;border-radius:6px;background:#fff;color:#263449;text-align:left;font-size:12px}
#k401-tool .k401-export-menu button:hover,#k401-tool .k401-export-menu button:focus-visible{background:#F0F5FE;outline:none}
#k401-tool .k401-export-menu button i{width:16px;color:#2563eb;text-align:center}
#k401-tool .k401-metric{background:#F0F5FE;border-radius:9px}

/* Action controls: one row for Calculate and compact Reset, export below. */
#k401-tool .k401-action-row{margin-top:17px;min-width:0}
#k401-tool .k401-action-row #k401-calculate{margin-top:0;min-width:0;min-height:41px}
#k401-tool .k401-reset-btn{flex:0 0 auto;min-height:41px;padding:0 12px;font-size:12px;white-space:nowrap}
#k401-tool .k401-export-control{margin-top:14px}
#k401-tool .k401-export-trigger{width:100%;min-height:40px}
@media(max-width:460px){#k401-tool .k401-action-row{display:flex;flex-wrap:nowrap}#k401-tool .k401-reset-btn{padding:0 11px}#k401-tool .k401-reset-btn span{display:none}}

/* Responsive within the actual host column (which may be 2/3 of the page). */
#k401-tool {
  width:100%;
  min-width:0;
  container-type:inline-size;
  overflow-wrap:normal;
}
#k401-tool .k401-layout,
#k401-tool .k401-results,
#k401-tool .k401-inputs,
#k401-tool .k401-panel,
#k401-tool .k401-metrics,
#k401-tool .k401-fields,
#k401-tool .k401-canvas-wrap { min-width:0; max-width:100%; }
#k401-tool .k401-table-wrap { max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
#k401-tool .k401-table { width:max-content; min-width:100%; }
#k401-tool .k401-addon { min-width:0; }
#k401-tool .k401-addon input { min-width:0; width:100%; }
#k401-tool .k401-panel-heading > span { min-width:0; }
#k401-tool .k401-metric strong { font-size:clamp(16px, 3.5cqw, 24px); }
#k401-tool .k401-action-row { display:flex; flex-wrap:nowrap; }
#k401-tool .k401-action-row #k401-calculate { flex:1 1 0%; width:auto; }
#k401-tool .k401-export-control { width:100%; }

/* Fallback for browsers without container queries. */
@media (max-width: 767.98px) {
  #k401-tool .k401-layout { grid-template-columns:minmax(0,1fr); }
  #k401-tool .k401-scenarios { grid-template-columns:1fr; }
}
@media (max-width: 420px) {
  #k401-tool .k401-fields { grid-template-columns:minmax(0,1fr); }
  #k401-tool .k401-metrics { grid-template-columns:minmax(0,1fr); }
  #k401-tool .k401-breakdown { grid-template-columns:minmax(0,1fr); }
}

/* Container breakpoints respond to the section width, not the viewport width. */
@container (max-width: 780px) {
  #k401-tool .k401-layout { grid-template-columns:minmax(0,1fr); gap:12px; }
  #k401-tool .k401-results { width:100%; }
  #k401-tool .k401-panel { margin-bottom:12px; }
}
@container (max-width: 480px) {
  #k401-tool .k401-fields { grid-template-columns:minmax(0,1fr); gap:10px; }
  #k401-tool .k401-metrics { grid-template-columns:minmax(0,1fr); gap:9px; }
  #k401-tool .k401-breakdown { grid-template-columns:minmax(0,1fr); gap:9px; }
  #k401-tool .k401-scenarios { grid-template-columns:minmax(0,1fr); }
  #k401-tool .k401-panel { padding:12px; }
  #k401-tool .k401-panel-heading { flex-wrap:wrap; }
  #k401-tool .k401-canvas-wrap { height:205px; }
  #k401-tool .k401-metric strong { font-size:20px; }
  #k401-tool .k401-reset-btn { padding-inline:12px; }
  #k401-tool .k401-reset-btn span { display:none; }
  #k401-tool .k401-action-row { width:100%; }
  #k401-tool .k401-export-control { margin-top:14px; }
}
@container (max-width: 300px) {
  #k401-tool .k401-toggle { width:100%; justify-content:flex-start; }
  #k401-tool .k401-canvas-wrap { height:175px; }
  #k401-tool .k401-legend { gap:7px; }
}
