/* Property Outlook — Underwriting Calculator (V3 port)
 * Math-only port from
 * `Market and Zoning Agent Presentation/mockups/underwriting-calculator-desktop-v3.html`.
 *
 * All styles namespaced under `.calc-page` to avoid collisions with existing
 * Property Outlook tokens (`.page`, `.top`, `.tbtn`, `.footnote`, `.illus-tag`).
 * Tokens (--brand, --g50, etc.) come from tokens.css.
 *
 * NOTE: V3's `.top` topbar is NOT ported — AppShell provides chrome.
 */

.calc-page { font-family: var(--f, 'Inter', system-ui, sans-serif); color: var(--g700); }
.calc-page button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
.calc-page i[data-lucide] { width: 1em; height: 1em; stroke-width: 2; vertical-align: middle; flex-shrink: 0; }
.calc-page input, .calc-page select { font: inherit; color: inherit; outline: none; border: none; background: none; }

/* Tokens local to calc that aren't in Property Outlook tokens.css */
.calc-page {
  --calc-illus: #B45309;
  --calc-m: 'JetBrains Mono', monospace;
}

/* PAGE GRID */
.calc-page {
  max-width: 1520px; margin: 0 auto; padding: 18px 24px 60px;
  display: grid; grid-template-columns: minmax(360px, 36fr) minmax(0, 64fr); gap: 18px;
}
@media (max-width: 1100px) { .calc-page { grid-template-columns: minmax(0, 1fr); } }

/* ============== INPUT PANE (LEFT) ============== */
.calc-page .inp { background: #fff; border: 1px solid var(--g200); border-radius: var(--r-lg, 12px); box-shadow: var(--sh-sm, 0 1px 3px rgba(0,0,0,.06)); overflow: hidden; align-self: start; position: sticky; top: 72px; max-height: calc(100vh - 90px); overflow-y: auto; }
.calc-page .inp::-webkit-scrollbar { width: 6px; }
.calc-page .inp::-webkit-scrollbar-thumb { background: var(--g300); border-radius: 3px; }

.calc-page .inp-head { padding: 16px 22px 14px; border-bottom: 1px solid var(--g150); background: linear-gradient(180deg, var(--brand-wash) 0%, transparent 100%); }
.calc-page .inp-eyebrow { font: 700 10px var(--calc-m); color: var(--brand); text-transform: uppercase; letter-spacing: .1em; margin-bottom: 4px; display: flex; align-items: center; gap: 5px; }
.calc-page .inp-eyebrow i { width: 11px; height: 11px; }
.calc-page .inp-title { font-size: 18px; font-weight: 700; color: var(--g900); letter-spacing: -.015em; margin-bottom: 3px; }
.calc-page .inp-sub { font-size: 11.5px; color: var(--g600); line-height: 1.5; }
.calc-page .inp-sub strong { color: var(--g800); font-weight: 600; }

.calc-page .inp-section { padding: 14px 22px 12px; border-bottom: 1px solid var(--g150); }
.calc-page .inp-section:last-of-type { border-bottom: none; }
.calc-page .inp-section-h { display: flex; align-items: center; gap: 8px; margin-bottom: 11px; }
.calc-page .inp-section-t { font: 700 10px var(--calc-m); color: var(--g500); text-transform: uppercase; letter-spacing: .08em; display: flex; align-items: center; gap: 5px; }
.calc-page .inp-section-t i { width: 11px; height: 11px; color: var(--brand); }

.calc-page .field { margin-bottom: 10px; min-width: 0; }
.calc-page .field:last-child { margin-bottom: 0; }
.calc-page .field-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; margin-bottom: 10px; }
.calc-page .field-row > .field { min-width: 0; }
.calc-page .field-l { font: 600 10.5px var(--f); color: var(--g700); margin-bottom: 3px; display: flex; align-items: center; gap: 4px; min-width: 0; overflow: hidden; white-space: nowrap; }
.calc-page .field-l > span:first-child { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.calc-page .field-l .opt { font: 500 9px var(--calc-m); color: var(--g400); text-transform: uppercase; letter-spacing: .06em; margin-left: auto; flex-shrink: 0; }

.calc-page .inp-box { display: flex; align-items: center; gap: 6px; padding: 7px 11px; background: var(--g50); border: 1.5px solid var(--g200); border-radius: var(--r-sm, 6px); font-size: 12.5px; transition: border-color 200ms; min-width: 0; width: 100%; }
.calc-page .inp-box:focus-within { border-color: var(--brand); background: #fff; }
.calc-page .inp-box i.lead { width: 13px; height: 13px; color: var(--g500); flex-shrink: 0; }
.calc-page .inp-box input { flex: 1; font: 500 12.5px var(--f); color: var(--g900); min-width: 0; width: 100%; }
.calc-page .inp-box input::placeholder { color: var(--g400); }
.calc-page .inp-box .unit { font: 500 10.5px var(--calc-m); color: var(--g500); flex-shrink: 0; padding-left: 3px; border-left: 1px solid var(--g200); margin-left: auto; }
.calc-page .inp-box.currency::before { content: '$'; font: 700 12.5px var(--calc-m); color: var(--g500); margin-right: -2px; }

.calc-page .select-box { display: flex; align-items: center; gap: 6px; padding: 7px 11px; background: var(--g50); border: 1.5px solid var(--g200); border-radius: var(--r-sm, 6px); font-size: 12.5px; cursor: pointer; transition: border-color 200ms; position: relative; min-width: 0; width: 100%; }
.calc-page .select-box:hover { border-color: var(--g300); }
.calc-page .select-box select { flex: 1; font: 500 12.5px var(--f); color: var(--g900); cursor: pointer; appearance: none; -webkit-appearance: none; background: transparent; width: 100%; min-width: 0; padding-right: 14px; }
.calc-page .select-box::after { content: ''; position: absolute; right: 11px; top: 50%; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid var(--g500); transform: translateY(-2px); pointer-events: none; }

.calc-page .preset-row { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 5px; }
.calc-page .preset-btn { padding: 4px 10px; background: #fff; border: 1px solid var(--g200); border-radius: var(--r-full, 9999px); font: 600 10.5px var(--f); color: var(--g600); transition: all 200ms; }
.calc-page .preset-btn:hover { border-color: var(--brand); color: var(--brand); }
.calc-page .preset-btn.on { background: var(--brand-wash); border-color: var(--brand-sub); color: var(--brand-dk); font-weight: 700; }

.calc-page .market-pill { display: inline-flex; align-items: center; gap: 4px; font: 600 10px var(--calc-m); background: var(--info-wash, rgba(59,130,246,.06)); color: var(--info, #3B82F6); padding: 2px 8px; border-radius: var(--r-full, 9999px); letter-spacing: .04em; text-transform: uppercase; }

.calc-page .cc-panel { margin: 0; border: none; background: var(--g50); }
.calc-page .cc-panel summary { padding: 11px 22px; cursor: pointer; font: 700 11px var(--calc-m); color: var(--g700); text-transform: uppercase; letter-spacing: .06em; display: flex; align-items: center; gap: 7px; list-style: none; border-bottom: 1px solid var(--g150); transition: background 200ms; }
.calc-page .cc-panel summary::-webkit-details-marker { display: none; }
.calc-page .cc-panel summary:hover { background: var(--g100); }
.calc-page .cc-panel summary i.lead { width: 13px; height: 13px; color: var(--brand); }
.calc-page .cc-panel summary i.chev { width: 14px; height: 14px; color: var(--g400); margin-left: auto; transition: transform 200ms; }
.calc-page .cc-panel[open] summary i.chev { transform: rotate(180deg); }
.calc-page .cc-panel-body { padding: 14px 22px; }
.calc-page .cc-table { width: 100%; border-collapse: collapse; font-size: 11.5px; }
.calc-page .cc-table th { background: #fff; border: 1px solid var(--g200); padding: 7px 9px; text-align: left; font: 700 9.5px var(--calc-m); color: var(--g500); text-transform: uppercase; letter-spacing: .06em; }
.calc-page .cc-table th.r { text-align: right; }
.calc-page .cc-table td { border: 1px solid var(--g200); padding: 5px 9px; background: #fff; color: var(--g700); }
.calc-page .cc-table td.strat { font-weight: 600; color: var(--g900); font-size: 11px; }
.calc-page .cc-table td input { width: 100%; text-align: right; font: 600 11.5px var(--calc-m); color: var(--g900); background: transparent; padding: 1px 0; }

/* ================ OUTPUT PANE (RIGHT) ================ */
.calc-page .out { display: flex; flex-direction: column; gap: 14px; }

/* HEADLINE BANNER */
.calc-page .hl { background: linear-gradient(135deg, var(--brand-dk) 0%, var(--brand) 60%, #2E5A5B 100%); color: #fff; border-radius: var(--r-lg, 12px); padding: 18px 22px; display: grid; grid-template-columns: 1fr auto auto auto auto; gap: 18px; align-items: center; box-shadow: var(--sh-md); position: relative; overflow: hidden; }
.calc-page .hl::before { content: ''; position: absolute; top: 0; right: 0; width: 200px; height: 100%; background: radial-gradient(circle at 100% 50%, rgba(255,255,255,.08), transparent); pointer-events: none; }
@media (max-width: 920px) { .calc-page .hl { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.calc-page .hl-l { min-width: 0; grid-column: 1 / -1; }
@media (min-width: 920px) { .calc-page .hl-l { grid-column: auto; } }
.calc-page .hl-eyebrow { font: 700 10px var(--calc-m); letter-spacing: .12em; text-transform: uppercase; opacity: .78; margin-bottom: 3px; display: flex; align-items: center; gap: 5px; }
.calc-page .hl-eyebrow i { width: 11px; height: 11px; }
.calc-page .hl-best { font-size: 18px; font-weight: 700; letter-spacing: -.01em; line-height: 1.2; }
.calc-page .hl-best em { font-style: normal; color: #A7E8C9; }
.calc-page .hl-sub { font-size: 11.5px; opacity: .78; margin-top: 2px; line-height: 1.5; }
.calc-page .hl-met { min-width: 0; }
.calc-page .hl-met-l { font: 700 8.5px var(--calc-m); letter-spacing: .1em; text-transform: uppercase; opacity: .7; margin-bottom: 2px; display: flex; align-items: center; gap: 3px; }
.calc-page .hl-met-l i { width: 10px; height: 10px; }
.calc-page .hl-met-v { font-family: var(--calc-m); font-weight: 700; font-size: 18px; line-height: 1; }
.calc-page .hl-met-v.ok { color: #A7E8C9; }
.calc-page .hl-met-v .u { font-family: var(--f); font-size: 10.5px; font-weight: 500; opacity: .78; margin-left: 3px; }
.calc-page .hl-met-sub { font-size: 10px; opacity: .7; margin-top: 2px; }

/* COMPARISON STRIP */
.calc-page .cmp { background: #fff; border: 1px solid var(--g200); border-radius: var(--r-lg, 12px); box-shadow: var(--sh-sm); overflow: hidden; }
.calc-page .cmp-h { padding: 11px 18px; background: var(--g50); border-bottom: 1px solid var(--g200); display: flex; align-items: center; gap: 10px; font: 700 10.5px var(--calc-m); color: var(--g600); text-transform: uppercase; letter-spacing: .08em; }
.calc-page .cmp-h i { width: 12px; height: 12px; color: var(--brand); }
.calc-page .cmp-h-r { margin-left: auto; font: 500 10px var(--f); color: var(--g500); text-transform: none; letter-spacing: 0; }
.calc-page .cmp-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.calc-page .cmp-table th { background: var(--g50); border-bottom: 1px solid var(--g200); padding: 8px 12px; text-align: left; font: 700 9.5px var(--calc-m); color: var(--g500); text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; }
.calc-page .cmp-table th.r { text-align: right; }
.calc-page .cmp-table td { border-bottom: 1px solid var(--g150); padding: 9px 12px; color: var(--g700); vertical-align: middle; cursor: pointer; transition: background 200ms; }
.calc-page .cmp-table tr:hover td { background: var(--brand-wash); }
.calc-page .cmp-table tr.selected td { background: var(--brand-wash); font-weight: 600; }
.calc-page .cmp-table tr.selected td:first-child { box-shadow: inset 3px 0 0 var(--brand); }
.calc-page .cmp-table tr.best td { background: linear-gradient(90deg, var(--ok-wash, rgba(16,185,129,.08)), transparent 60%); }
.calc-page .cmp-table tr.best.selected td { background: linear-gradient(90deg, rgba(16,185,129,.16), var(--brand-wash) 70%); }
.calc-page .cmp-table tr:last-child td { border-bottom: none; }
.calc-page .cmp-table td.r { text-align: right; font-family: var(--calc-m); font-weight: 600; color: var(--g900); white-space: nowrap; }
.calc-page .cmp-table td.r.ok { color: var(--ok, #10B981); }
.calc-page .cmp-table td.r.warn { color: #B45309; }
.calc-page .cmp-table td.r.err { color: var(--err, #EF4444); }
.calc-page .cmp-table td.name { font-weight: 600; color: var(--g900); min-width: 160px; }
.calc-page .cmp-table td.name .name-inner { display: flex; align-items: center; gap: 8px; }
.calc-page .cmp-table td.name .icon { width: 24px; height: 24px; border-radius: var(--r-sm, 6px); background: var(--brand-wash); color: var(--brand); display: grid; place-items: center; flex-shrink: 0; }
.calc-page .cmp-table td.name .icon i { width: 11px; height: 11px; }
.calc-page .cmp-table td.name .badge { font: 700 8.5px var(--calc-m); background: var(--ok, #10B981); color: #fff; padding: 1px 5px; border-radius: var(--r-full, 9999px); letter-spacing: .06em; margin-left: 6px; }
.calc-page .verdict { display: inline-flex; align-items: center; font: 700 9px var(--calc-m); padding: 2px 7px; border-radius: var(--r-full, 9999px); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.calc-page .verdict.hot { background: var(--ok-wash, rgba(16,185,129,.08)); color: var(--ok, #10B981); }
.calc-page .verdict.warm { background: rgba(52,211,153,.12); color: #059669; }
.calc-page .verdict.cool { background: var(--info-wash, rgba(59,130,246,.06)); color: var(--info, #3B82F6); }
.calc-page .verdict.cold { background: rgba(245,158,11,.10); color: #B45309; }
.calc-page .verdict.frozen { background: rgba(239,68,68,.10); color: #B91C1C; }

/* DETAIL PANEL */
.calc-page .det { background: #fff; border: 1px solid var(--g200); border-radius: var(--r-lg, 12px); box-shadow: var(--sh-sm); overflow: hidden; }
.calc-page .det-h { padding: 13px 20px; background: linear-gradient(90deg, var(--brand-wash), transparent); border-bottom: 1px solid var(--g200); display: flex; align-items: center; gap: 11px; flex-wrap: wrap; }
.calc-page .det-h-icon { width: 32px; height: 32px; border-radius: var(--r-sm, 6px); background: var(--brand); color: #fff; display: grid; place-items: center; }
.calc-page .det-h-icon i { width: 15px; height: 15px; }
.calc-page .det-h-name { flex: 1; min-width: 0; }
.calc-page .det-h-name-t { font-size: 15px; font-weight: 700; color: var(--g900); letter-spacing: -.005em; line-height: 1.2; }
.calc-page .det-h-name-sub { font: 500 10.5px var(--calc-m); color: var(--g500); margin-top: 1px; }
.calc-page .det-h-r { display: flex; gap: 5px; flex-wrap: wrap; align-items: center; }
.calc-page .dscr-pill { display: inline-flex; align-items: center; gap: 4px; padding: 4px 9px; border-radius: var(--r-full, 9999px); font: 700 10px var(--calc-m); letter-spacing: .06em; text-transform: uppercase; }
.calc-page .dscr-pill.strong { background: var(--ok-wash, rgba(16,185,129,.08)); color: var(--ok, #10B981); }
.calc-page .dscr-pill.caution { background: rgba(245,158,11,.10); color: #B45309; }
.calc-page .dscr-pill.weak { background: rgba(239,68,68,.10); color: #B91C1C; }
.calc-page .dscr-pill i { width: 10px; height: 10px; }

.calc-page .det-body { padding: 14px 18px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
@media (max-width: 740px) { .calc-page .det-body { grid-template-columns: minmax(0, 1fr); } }

.calc-page .pl-block { background: var(--g50); border: 1px solid var(--g200); border-radius: var(--r-md, 8px); overflow: hidden; }
.calc-page .pl-block-h { padding: 9px 14px; background: #fff; border-bottom: 1px solid var(--g200); font: 700 10px var(--calc-m); color: var(--g600); text-transform: uppercase; letter-spacing: .08em; display: flex; align-items: center; gap: 6px; }
.calc-page .pl-block-h i { width: 11px; height: 11px; color: var(--brand); }
.calc-page .pl-block-h .right { margin-left: auto; font-family: var(--f); font-weight: 500; font-size: 10px; color: var(--g500); text-transform: none; letter-spacing: 0; }
.calc-page .pl-rows { padding: 4px 0; }
.calc-page .pl-row { display: flex; align-items: center; gap: 10px; padding: 6px 14px; font-size: 12px; }
.calc-page .pl-row.sub { padding-left: 24px; font-size: 11.5px; }
.calc-page .pl-row .label { flex: 1; min-width: 0; color: var(--g700); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.calc-page .pl-row .label .hint { font-size: 10px; color: var(--g400); margin-left: 5px; font-weight: 400; }
.calc-page .pl-row .label.muted { color: var(--g500); }
.calc-page .pl-row .label.editable { color: var(--g900); font-weight: 500; }
.calc-page .pl-row .v { font-family: var(--calc-m); font-weight: 600; color: var(--g900); white-space: nowrap; font-size: 12.5px; }
.calc-page .pl-row .v.neg { color: var(--err, #EF4444); }
.calc-page .pl-row .v.pos { color: var(--ok, #10B981); }
.calc-page .pl-row .v.muted { color: var(--g400); }
.calc-page .pl-row.divider { border-top: 1px dashed var(--g300); margin: 3px 14px; padding: 6px 0; }
.calc-page .pl-row.subtotal { background: var(--brand-wash); font-weight: 700; }
.calc-page .pl-row.subtotal .label { color: var(--g900); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; font-size: 10.5px; }
.calc-page .pl-row.subtotal .v { font-size: 13.5px; color: var(--g900); }
.calc-page .pl-row.headline { background: linear-gradient(90deg, var(--brand-dk) 0%, var(--brand) 100%); color: #fff; padding: 9px 14px; }
.calc-page .pl-row.headline .label { color: #fff; text-transform: uppercase; font-weight: 700; letter-spacing: .06em; font-size: 10.5px; }
.calc-page .pl-row.headline .v { font-size: 14.5px; color: #fff; }
.calc-page .pl-row.headline .v.pos { color: #A7E8C9; }
.calc-page .pl-row.headline .v.neg { color: #FCA5A5; }

/* RETURNS PANEL */
.calc-page .returns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 10px; background: var(--g50); border: 1px solid var(--g200); border-radius: var(--r-md, 8px); }
.calc-page .return-cell { padding: 9px 12px; background: #fff; border-radius: var(--r-sm, 6px); min-width: 0; }
.calc-page .return-cell.span { grid-column: 1 / -1; }
.calc-page .return-cell-l { font: 700 9px var(--calc-m); color: var(--g500); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 2px; display: flex; align-items: center; gap: 4px; }
.calc-page .return-cell-l i { width: 11px; height: 11px; color: var(--brand); }
.calc-page .return-cell-v { font-family: var(--calc-m); font-weight: 700; font-size: 16px; color: var(--g900); line-height: 1.1; }
.calc-page .return-cell-v.ok { color: var(--ok, #10B981); }
.calc-page .return-cell-v.warn { color: #B45309; }
.calc-page .return-cell-v.err { color: var(--err, #EF4444); }
.calc-page .return-cell-v .u { font-family: var(--f); font-size: 10px; color: var(--g500); font-weight: 500; margin-left: 2px; }
.calc-page .return-cell-sub { font-size: 9.5px; color: var(--g500); margin-top: 2px; line-height: 1.4; }

/* Strategy assumptions panel */
.calc-page .assump { padding: 11px 14px; background: linear-gradient(180deg, rgba(212,160,23,.04), transparent); border-top: 1px solid var(--g200); }
.calc-page .assump-h { font: 700 9.5px var(--calc-m); color: var(--g500); text-transform: uppercase; letter-spacing: .08em; display: flex; align-items: center; gap: 5px; margin-bottom: 8px; }
.calc-page .assump-h i { width: 11px; height: 11px; color: var(--gold, #D4A017); }
.calc-page .assump-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 6px; }
.calc-page .assump-cell { padding: 7px 9px; background: #fff; border: 1px solid var(--g200); border-radius: var(--r-sm, 6px); min-width: 0; }
.calc-page .assump-cell-l { font: 600 9px var(--calc-m); color: var(--g600); margin-bottom: 2px; text-transform: uppercase; letter-spacing: .04em; }
.calc-page .assump-cell input { width: 100%; font: 600 11.5px var(--calc-m); color: var(--g900); background: transparent; padding: 0; text-align: right; }
.calc-page .assump-cell input:focus { color: var(--brand); }
.calc-page .assump-cell .u { font-family: var(--f); font-size: 10px; color: var(--g500); font-weight: 500; margin-left: 2px; }
.calc-page .assump-cell .row { display: flex; align-items: baseline; gap: 2px; }

/* SENSITIVITY SWEEP */
.calc-page .sens { background: #fff; border: 1px solid var(--g200); border-radius: var(--r-lg, 12px); box-shadow: var(--sh-sm); overflow: hidden; }
.calc-page .sens-h { padding: 11px 18px; background: var(--g50); border-bottom: 1px solid var(--g200); display: flex; align-items: center; gap: 8px; font: 700 10.5px var(--calc-m); color: var(--g600); text-transform: uppercase; letter-spacing: .08em; }
.calc-page .sens-h i { width: 12px; height: 12px; color: var(--brand); }
.calc-page .sens-h .sens-h-sub { margin-left: auto; font: 500 10px var(--f); color: var(--g500); text-transform: none; letter-spacing: 0; }
.calc-page .sens-table { width: 100%; border-collapse: collapse; font-size: 11.5px; }
.calc-page .sens-table th { background: #fff; border-bottom: 1px solid var(--g200); padding: 8px 10px; text-align: right; font: 700 9.5px var(--calc-m); color: var(--g500); text-transform: uppercase; letter-spacing: .06em; }
.calc-page .sens-table th.l { text-align: left; }
.calc-page .sens-table th.current { background: var(--brand-wash); color: var(--brand-dk); }
.calc-page .sens-table th.ltr { background: var(--info-wash, rgba(59,130,246,.06)); color: var(--info, #3B82F6); border-left: 2px solid var(--info-wash, rgba(59,130,246,.06)); }
.calc-page .sens-table td { padding: 7px 10px; text-align: right; color: var(--g700); font-family: var(--calc-m); font-weight: 600; border-bottom: 1px solid var(--g150); font-size: 11.5px; }
.calc-page .sens-table td.l { text-align: left; font-family: var(--f); font-weight: 600; color: var(--g700); font-size: 10.5px; text-transform: uppercase; letter-spacing: .04em; }
.calc-page .sens-table td.current { background: var(--brand-wash); color: var(--brand-dk); font-weight: 700; }
.calc-page .sens-table td.ltr { background: var(--info-wash, rgba(59,130,246,.06)); color: var(--info, #3B82F6); border-left: 2px solid var(--info-wash, rgba(59,130,246,.06)); font-weight: 700; }
.calc-page .sens-table td.best { background: var(--ok-wash, rgba(16,185,129,.08)); color: var(--ok, #10B981); font-weight: 700; }
.calc-page .sens-table td.bad { color: #B45309; }
.calc-page .sens-table td.frozen { color: #B91C1C; }
.calc-page .sens-table tr:last-child td { border-bottom: none; }

/* DISCLOSURE */
.calc-page .disclose { background: #fff; border: 1px solid var(--g200); border-radius: var(--r-lg, 12px); box-shadow: var(--sh-sm); overflow: hidden; }
.calc-page .disclose summary { padding: 13px 18px; cursor: pointer; font: 700 11px var(--calc-m); color: var(--g700); text-transform: uppercase; letter-spacing: .06em; display: flex; align-items: center; gap: 7px; list-style: none; transition: background 200ms; }
.calc-page .disclose summary::-webkit-details-marker { display: none; }
.calc-page .disclose summary:hover { background: var(--g50); }
.calc-page .disclose summary i.lead { width: 13px; height: 13px; color: var(--brand); }
.calc-page .disclose summary i.chev { width: 14px; height: 14px; color: var(--g400); margin-left: auto; transition: transform 200ms; }
.calc-page .disclose[open] summary i.chev { transform: rotate(180deg); }
.calc-page .disclose-body { padding: 6px 18px 16px; font-size: 11.5px; color: var(--g600); line-height: 1.65; border-top: 1px solid var(--g150); }
.calc-page .disclose-body p { margin: 9px 0; }
.calc-page .disclose-body strong { color: var(--g800); font-weight: 600; }

.calc-page .calc-illus-tag { display: inline-block; font: 700 9px var(--calc-m); color: var(--calc-illus); background: rgba(245,158,11,.10); padding: 1px 5px; border-radius: 3px; margin-left: 3px; letter-spacing: .04em; text-transform: uppercase; vertical-align: baseline; }

.calc-page .calc-footnote { font-size: 11px; color: var(--g500); line-height: 1.6; padding: 13px 18px; background: var(--g50); border: 1px solid var(--g200); border-radius: var(--r-md, 8px); }
.calc-page .calc-footnote strong { color: var(--g700); }
