/* Finance reporting.
 *
 * Loaded after network.css and adds only what this page has that /network does
 * not: a requirement broken into parts, the comparison grid, and the payment
 * formula. Cards, chips, tiles and tables are inherited unchanged, on purpose
 * -- the two pages answer to the same list in the same room, and a reader
 * should not have to learn two visual languages to compare them.
 */

/* The paragraph from the source list, kept verbatim above the breakdown. Set
   quieter than the parts under it: it is the ask, and the parts are the
   answer. */
.req-detail {
  margin: 0 0 14px;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--text-muted);
}

/* ---------- A requirement's parts ---------- */

.parts {
  display: grid;
  gap: 8px;
  margin-bottom: 14px;
}

/* Indented behind their own rule so the eye reads them as inside the
   requirement rather than as five more requirements. */
.part {
  padding: 10px 12px;
  border-left: 2px solid var(--border);
  background: var(--surface-2, rgba(127, 127, 127, 0.05));
  border-radius: 0 var(--radius) var(--radius) 0;
}

.part-live { border-left-color: var(--status-good); }
.part-buildable { border-left-color: var(--brand-orange); }
.part-blocked { border-left-style: dashed; }

.part-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.part-what {
  font-size: 14px;
  font-weight: 600;
}

.part-note {
  margin: 5px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-muted);
}

.part .req-link {
  display: inline-block;
  margin-top: 8px;
}

/* ---------- The three comparisons ---------- */

.compare-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
  margin-bottom: 20px;
}

.compare {
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-top: 2px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-1);
}

.compare-live { border-top-color: var(--status-good); }
.compare-buildable { border-top-color: var(--brand-orange); }
.compare-blocked { border-top-style: dashed; }

/* ---------- The payment formula ---------- */

/* Kept on one line and allowed to scroll rather than wrap: a formula broken
   across lines at an arbitrary point reads as two formulas. */
.formula {
  display: inline-block;
  max-width: 100%;
  overflow-x: auto;
  padding: 2px 7px;
  border: 1px solid var(--border);
  border-radius: 5px;
  background: var(--surface-1);
  font-size: 13.5px;
  white-space: nowrap;
  vertical-align: middle;
}

#payment-table td.term {
  font-weight: 600;
  white-space: nowrap;
}

/* The inherited table sets `white-space: nowrap` on every cell, which is right
   for the figure tables it was written for and wrong for a column of prose --
   the note ran off the edge and had to be scrolled to. This column wraps, and
   is given a width to wrap within. */
#payment-table td.quiet {
  font-size: 13px;
  line-height: 1.5;
  white-space: normal;
  width: 42%;
  min-width: 260px;
}

/* ---------- Services ---------- */

#service-table td.line {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* The empty revenue tile is the argument of the page, so it is drawn as
   deliberately empty rather than as a missing number. */
.hero-stats .tile:last-child .tile-value { color: var(--text-muted); }
