/* Isthafa business model page: assumption tiles, wide tables, model chart. */
.input-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.55rem; margin-bottom: var(--stack); }
@media (max-width: 1100px) { .input-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 760px) { .input-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 520px) { .input-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.input-tile {
  display: grid; gap: 0.25rem; align-content: start;
  padding: 0.65rem 0.75rem; border-radius: 12px;
  border: 1px solid var(--line); background: var(--surface);
}
.input-tile.plan { border-color: color-mix(in oklab, var(--lagoon) 32%, transparent); }
.input-tile.placeholder { border-style: dashed; border-color: color-mix(in oklab, var(--sand) 45%, transparent); }
.input-label { font-size: 0.68rem; line-height: 1.3; color: var(--text-muted); min-height: 2.6em; }
.input-row { display: flex; align-items: baseline; gap: 0.3rem; flex-wrap: wrap; }
.input-value {
  font-family: var(--font-display); font-size: clamp(1.25rem, 1rem + 0.9vw, 1.7rem);
  letter-spacing: -0.02em; line-height: 1; color: var(--text); font-variant-numeric: tabular-nums;
}
.input-unit { font-size: 0.66rem; color: var(--text-dim); white-space: nowrap; }
.input-note { font-size: 0.6rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: var(--text-dim); }
.input-tile.plan .input-note { color: var(--lagoon); }
.input-tile.placeholder .input-note { color: var(--sand); }
.series-card .series { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: var(--text-sm); color: var(--text); letter-spacing: 0.03em; line-height: 1.5; }

.fin-table.wide { font-size: var(--text-xs); }
.fin-table.wide th, .fin-table.wide td { padding: 0.38rem 0.45rem; white-space: nowrap; }
.fin-table.wide th { white-space: normal; line-height: 1.25; vertical-align: bottom; }
.fin-table.wide th:first-child, .fin-table.wide td:first-child { text-align: left; }
.fin-table td.neg { color: var(--coral); }
.fin-table td.pos { color: var(--lagoon); }
.fin-table tr.quiet td:first-child::after { content: " · free"; color: var(--sand); font-size: 0.6rem; letter-spacing: 0.1em; text-transform: uppercase; }
.fin-table tfoot td { font-weight: 700; color: var(--text); border-top: 1px solid var(--line-strong); border-bottom: 0; }
.fin-table tfoot td:first-child { color: var(--sand); }
.matrix td.price-cell { font-weight: 700; color: var(--text); }
.funnel { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { .funnel { grid-template-columns: 1fr; } }

.chart .bar.rev { fill: var(--lagoon); }
.chart .bar.cost { fill: var(--coral); }
.chart .net-line { fill: none; stroke: var(--sand); stroke-width: 2; stroke-linejoin: round; }
.chart .net-dot { fill: var(--sand); }
.legend .swatch.cost { background: var(--coral); }
.legend .swatch.net { background: var(--sand); }
.gtm .tl-track .burn { grid-column: 1 / 7; }
.gtm .tl-track .earn { grid-column: 7 / 19; }

@media (max-height: 820px) {
  .input-tile { padding: 0.5rem 0.6rem; }
  .input-label { min-height: 2.2em; }
  .fin-table.wide th, .fin-table.wide td { padding: 0.28rem 0.4rem; }
}
