/* Shared screen presentation. Calculation, source evidence and exports are untouched. */
@media screen {
  body[data-suite-tool] {
    --data-bg:#101d23;--data-raised:#17272e;--data-line:#2a3e47;
    --data-ink:#d5dfe2;--data-muted:#94a6af;--data-accent:#d58972;
    --data-positive:#9db7a6;--data-negative:#efa898;
  }
  body[data-suite-tool] table {
    width:100%;border-collapse:separate;border-spacing:0;
    background:var(--data-bg);color:var(--data-ink);
    font:400 12px/1.5 Inter,"Segoe UI",Arial,sans-serif;
    font-variant-numeric:tabular-nums lining-nums;
  }
  body[data-suite-tool] :is(th,td) {
    padding:9px 12px;border:0;border-bottom:1px solid var(--data-line);
    vertical-align:top;
  }
  body[data-suite-tool] thead th {
    position:sticky;top:0;z-index:2;
    background:var(--data-raised);color:#b7c5cc;
    font-size:11px;font-weight:500;line-height:1.45;
    letter-spacing:0;text-transform:none;vertical-align:bottom;
    border-bottom:1px solid #52636b;
  }
  body[data-suite-tool] tbody tr:nth-child(even)>:is(td,th) {background:#132229}
  body[data-suite-tool] tbody tr:hover>:is(td,th) {background:#203139}
  body[data-suite-tool] :is(tfoot td,tfoot th,.total-row td,.total-row th,.type-total td,.type-check td) {
    background:#203139;color:#edb39e;border-top:1px solid #9a6d5a;
    font-weight:600;
  }
  body[data-suite-tool] table tbody :is(tr.parent,tr.type-header,tr.type-subtotal)>td {
    background:#1b2d35;color:var(--data-ink);font-weight:500;
  }
  body[data-suite-tool] table tbody :is(tr.total-row,tr.type-total,tr.type-check)>:is(td,th) {
    background:#203139;color:#edb39e;border-top:1px solid #9a6d5a;font-weight:600;
  }
  body[data-suite-tool] table td[data-suite-outcome="pass"] {color:#9db7a6;font-weight:500}
  body[data-suite-tool] table td[data-suite-outcome="fail"] {color:#efa898;font-weight:600}
  body[data-suite-tool] table td[data-suite-outcome="not evaluated"] {color:#d6c2a2}
  body[data-suite-tool] :is(td.number,.suite-numeric) {
    text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;
    font-family:Inter,"Segoe UI",Arial,sans-serif;
  }
  body[data-suite-tool] table :is(button,[role="button"]) {
    min-height:28px;padding:3px 8px;border-color:transparent;
    background:transparent;color:#edb39e;font-size:12px;
  }
  body[data-suite-tool] :is(.table-wrap,.table-scroll,.scroll,.suite-table-scroll) {
    max-width:100%;min-width:0;overflow:auto;
    border:1px solid var(--data-line);border-radius:6px;
    scrollbar-color:#52636b #101d23;scrollbar-width:thin;
    overscroll-behavior-x:contain;
  }
  body[data-suite-tool] :is(.table-wrap,.scroll,.suite-table-scroll) {max-height:72vh}
  body[data-suite-tool] .suite-table-scroll:focus-visible {outline:2px solid #d58972;outline-offset:3px}
  body[data-suite-tool] :is(.metric,.suite-kpi,.kpis>div,.scores>div) {
    min-width:0;padding:14px 16px;
    background:var(--data-bg);border:1px solid var(--data-line);border-top:2px solid #9a6d5a;
    border-radius:6px;box-shadow:none;
  }
  body[data-suite-tool] :is(.metric strong,.kpis strong,.suite-kpi-value) {
    display:block;margin:4px 0;font:400 clamp(22px,2.2vw,30px)/1.2 Inter,"Segoe UI",Arial,sans-serif;
    letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--data-ink);
    overflow-wrap:anywhere;
  }
  body[data-suite-tool] :is(.metric span,.kpis span,.kpis small,.scores span,.suite-kpi-label) {
    font-size:12px;font-weight:400;color:var(--data-muted);
  }
  body[data-suite-tool] :is(.metrics,.kpis,.scores,.suite-kpi-grid) {
    gap:12px;background:transparent;align-items:stretch;
  }
  body[data-suite-tool] :is(.finding,.comparison-change,.panel) {
    background:var(--data-bg);border:1px solid var(--data-line);
    border-radius:6px;padding:20px;box-shadow:none;
  }
  body[data-suite-tool] :is(.panel h2,.finding h3,.comparison-change h3,.financial-section h3) {
    font-family:Inter,"Segoe UI",Arial,sans-serif;font-weight:400;
    font-size:20px;line-height:1.3;letter-spacing:-.02em;
  }
  body[data-suite-tool] :is(.result-panel,.assumptions-panel,.sheet) {
    background:var(--data-bg);border:1px solid var(--data-line);border-radius:6px;
  }
  body[data-suite-tool] :is(.suite-redundant,.suite-empty-caption) {display:none}
  /* TANGE: the estimate and its drivers share space evenly; the result is not
     pinned above a long block of assumptions. Tables and charts use the full row. */
  body[data-suite-tool="tange"] .decision-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  body[data-suite-tool="tange"] :is(.result-panel,.assumptions-panel) {padding:20px}
  body[data-suite-tool="tange"] .result-panel {position:static;border-top:2px solid var(--data-accent)}
  body[data-suite-tool="tange"] .headline-value {font:400 clamp(36px,4vw,52px)/1.1 Inter,sans-serif;color:#edb39e;margin:8px 0 20px}
  body[data-suite-tool="tange"] .headline-value strong {font-weight:400}
  body[data-suite-tool="tange"] .sensitivity-effect {text-align:right}
  body[data-suite-tool="tange"] .sensitivity-lead {font-size:12px;line-height:1.6;margin-bottom:12px}
  body[data-suite-tool="tange"] :is(.demonstration,.charts) {margin:32px 0}
  body[data-suite-tool="tange"] :is(.demonstration>h2,.charts>h2) {font:400 24px/1.3 Inter,sans-serif;margin:0 0 16px}
  body[data-suite-tool="tange"] .calculation-table {background:transparent;margin-bottom:20px}
  body[data-suite-tool="tange"] .calculation-table-heading {padding:12px 0}
  body[data-suite-tool="tange"] .calculation-table-heading h3 {font-size:17px;font-weight:400}
  body[data-suite-tool="tange"] #chart-list {grid-template-columns:minmax(0,1fr);gap:16px}
  body[data-suite-tool="tange"] .charts figure {padding:20px;border:1px solid var(--data-line);border-radius:6px}
  body[data-suite-tool="tange"] .charts figcaption {font-size:15px;font-weight:400}
  body[data-suite-tool="tange"] .charts svg {max-height:360px}
  body[data-suite-tool="tange"] .charts text {font:14px Inter,sans-serif;fill:var(--data-ink)}
  body[data-suite-tool="tange"] .cash-flow-chart rect {fill:#d58972}
  body[data-suite-tool="tange"] .value-split-chart .explicit-value rect {fill:#d58972}
  body[data-suite-tool="tange"] .value-split-chart .terminal-value rect {fill:#7d9eab}
  body[data-suite-tool="tange"] .value-split-chart text {fill:#0b1418}
  /* BOOLE uses these tokens for marks, gradients, legends and tooltips. */
  body[data-suite-tool="boole"] .viz-root {
    --viz-balance:#d58972;--viz-interest:#7d9eab;--viz-principal:#d58972;--viz-balloon:#d6c2a2;
    --viz-series-1:#d58972;--viz-series-2:#7d9eab;--viz-series-3:#d6c2a2;--viz-series-4:#9db7a6;
    --viz-series-5:#b99ba9;--viz-series-6:#a6b6c7;--viz-series-7:#b6b17d;--viz-series-8:#a87862;
    --viz-grid:#2a3e47;--viz-text:#a7bac3;--viz-surface:#101d23;
    gap:16px;
  }
  body[data-suite-tool="boole"] figure {padding:18px;background:var(--data-bg);border:1px solid var(--data-line);border-radius:6px}
  body[data-suite-tool="boole"] figure>div:has(.recharts-responsive-container) {height:320px}
  body[data-suite-tool="boole"] figcaption {min-height:44px}
  body[data-suite-tool="boole"] figcaption h3 {font-size:15px;font-weight:400}
  body[data-suite-tool="boole"] figcaption p {font-size:11px;line-height:1.5;margin-top:3px}
  body[data-suite-tool="boole"] .suite-table-scroll table {min-width:1200px}
  body[data-suite-tool="boole"] tbody td {white-space:nowrap;padding:6px 10px}
  body[data-suite-tool="boole"] table :is(button,[role="button"]) {min-height:26px;padding:2px 5px;border-color:transparent;background:transparent;font-size:12px;color:#edb39e}
  /* MIES is a document output. Preserve its prose; give the sheet more width. */
  body[data-suite-tool="mies"] .grid {grid-template-columns:minmax(240px,280px) minmax(0,1fr);gap:20px}
  body[data-suite-tool="mies"] .filters {padding:18px;gap:18px}
  body[data-suite-tool="mies"] .sheet {padding:24px}
  body[data-suite-tool="mies"] .sheet h2 {font-size:26px;margin:12px 0}
  body[data-suite-tool="mies"] .sheet h3 {font-size:19px;margin:24px 0 10px}
  body[data-suite-tool="mies"] .sheet :is(p,li) {font-size:13px;line-height:1.65}
  body[data-suite-tool="mies"] .profilo {font-size:12px}
  body[data-suite-tool="mies"] .profilo td {padding:8px 10px}
  body[data-suite-tool="mies"] .sheet h5 {margin:20px 0 10px}
  body[data-suite-tool="mies"] #nome {display:none}
  body[data-suite-tool="ma-layers"] .shell {grid-template-columns:210px minmax(0,1fr)}
  body[data-suite-tool="ma-layers"] .shell>main {padding:24px 0 24px 24px}
  body[data-suite-tool="ma-layers"] .shell>aside {padding:24px 14px 24px 0}
  body[data-suite-tool="ma-layers"] .card {padding:18px;margin:16px 0}
  body[data-suite-tool="ma-layers"] .tabs {margin:16px 0}
  body[data-suite-tool="ma-layers"] .table-wrap {max-height:74vh}
  body[data-suite-tool="aalto"] .panel {padding:18px;margin-top:20px}
  body[data-suite-tool="aalto"] .result-head {gap:20px;padding-bottom:18px;align-items:center}
  body[data-suite-tool="aalto"] .result-head h1 {font-size:28px;letter-spacing:-.02em}
  body[data-suite-tool="aalto"] .grade strong {font-size:32px;font-variant-numeric:tabular-nums}
  body[data-suite-tool="aalto"] .scores strong {font-size:22px;color:var(--data-ink);font-variant-numeric:tabular-nums}
  body[data-suite-tool="aalto"] .quality-warning {font-size:12px;line-height:1.6}
  body[data-suite-tool="aalto"] .financial td:first-child small {display:inline;margin:0 0 0 8px;font-size:10px}
  body[data-suite-tool="aalto"] .flag:empty {display:none}
  body[data-suite-tool="aalto"] .panel td:first-child {overflow-wrap:anywhere}
  body[data-suite-tool="piano"] :is(#results,#comparison-results,#recalc-results) {margin-top:28px;padding-top:24px}
  body[data-suite-tool="piano"] :is(#results,#comparison-results,#recalc-results) p {font-size:13px;line-height:1.65;margin:10px 0}
  body[data-suite-tool="piano"] .status {padding:16px;margin:18px 0}
  body[data-suite-tool="piano"] .tools {gap:8px;margin:18px 0}
  body[data-suite-tool="piano"] .metrics {grid-template-columns:repeat(4,minmax(0,1fr))}
  body[data-suite-tool="piano"] .financial-editor {border:1px solid var(--data-line);border-radius:6px;padding:14px 16px;background:var(--data-bg)}
  body[data-suite-tool="piano"] .financial-editor>summary {font-size:13px;color:#d6af9b}
  body[data-suite-tool="piano"] .financial-editor[open]>summary {margin-bottom:18px}
  @media(max-width:900px) {
    body[data-suite-tool="tange"] .decision-grid,body[data-suite-tool="mies"] .grid,
    body[data-suite-tool="ma-layers"] .shell {grid-template-columns:minmax(0,1fr)}
    body[data-suite-tool="ma-layers"] .shell>main {padding:20px 0}
    body[data-suite-tool="ma-layers"] .shell>aside {padding:12px 0}
    body[data-suite-tool] :is(.metrics,.suite-kpi-grid) {grid-template-columns:repeat(2,minmax(0,1fr))}
  }
  @media(max-width:600px) {
    body[data-suite-tool] :is(th,td) {padding:8px 10px}
    body[data-suite-tool="mies"] .sheet {padding:18px 14px}
    body[data-suite-tool="boole"] figure>div:has(.recharts-responsive-container) {height:280px}
    body[data-suite-tool="piano"] .metrics {grid-template-columns:repeat(2,minmax(0,1fr))}
    body[data-suite-tool] :is(.metric strong,.suite-kpi-value) {font-size:22px}
  }
}

/* Keep the sensitivity data within narrow screens. */
@media(max-width:700px){body[data-suite-tool="tange"] .sensitivity-table{display:block;max-width:100%;overflow-x:auto}}
