/* /fees-scholarships — page-local overrides.
   Loaded last in the head, after ice-profile-v1.css and fee-calculator.css, so
   it can adjust both for this one route without editing either shared sheet.
   Scoped to body.page-fees throughout; nothing here may leak to /rank or /apply,
   which load the same calculator stylesheet. */

/* ── The included block outside the calculator had no tokens ───────────────
   `.fee-incl` is styled in fee-calculator.css entirely out of `--fc-zero`,
   `--fc-ink`, `--fc-muted` and `--fc-line`, and all four are declared on
   `.fee-calc`. This page renders a second copy of the same block inside the
   full-table panel, where `.fee-calc` is not an ancestor, so every one of those
   `var()` calls resolved to nothing.

   Measured on the page 2026-09-08 (and identical on production): background
   `rgba(0,0,0,0)` against the intended 10% green wash, `border: 0px none`
   because `1px solid color-mix(in srgb, var(--fc-zero) 34%, transparent)` is
   invalid at computed-value time and drops the whole shorthand, "Rs 0" in body
   ink instead of the green, and the detail line in full ink instead of muted.
   The same block eleven hundred pixels lower, inside the calculator, renders
   correctly — so the page showed two versions of one component.

   Declaring the four here fixes this route without touching the shared sheet.
   The two greens are copied from fee-calculator.css rather than referenced,
   because a custom property cannot be read out of a selector it was not
   declared on. Keep them in step if that file's change. */
body.page-fees .pf-panel .fee-incl {
  --fc-zero: #1f7a4d;
  --fc-ink: var(--pf-brand, var(--ink));
  --fc-muted: var(--pf-muted, var(--slate));
  --fc-line: var(--pf-line, var(--hairline));
}

html[data-theme='dark'] body.page-fees .pf-panel .fee-incl {
  --fc-zero: #4ec38a;
}

/* ⚠️ TWO RULES THAT WERE HERE MOVED TO fee-calculator.css ON 2026-09-08, and
   the reason is the same for both: this page renders `.fee-incl` TWICE, once
   inside the calculator and once inside the `#structure` panel, and a
   page-scoped rule styled one of them and not the other. The award mark's own
   type is now `.fee-incl .fee-incl__mark`, and the fixed first column is now on
   `.fee-incl .fee-incl__list li`, both in the shared sheet — so the list reads
   identically here, on /rank and on /apply. Nothing about the mark is
   page-local any more. */

/* ── "Ask for this in writing" ─────────────────────────────────────────────
   Marks a money question this college has not published an answer to. It has
   to read as a caveat on the answer above it rather than as a second sentence
   of that answer, so it gets the accent ink and a rule, not a badge — a badge
   would look like a feature. */
body.page-fees .pf-note .fee-ask {
  display: block;
  margin-top: 8px;
  padding-top: 7px;
  border-top: 1px solid var(--pf-line);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--ice-color-text-accent);
}

/* ── The calculator now opens the page ─────────────────────────────────────
   The identity card, its ring rail and the tab bar are shared components and
   are left alone. What this page controls is its own first panel, which is the
   calculator since 2026-09-08.

   ⚠️ Do not add section padding back here. `.pf :where(section,article,aside,
   nav){padding:0}` in ice-profile-v1.css deliberately strips the calculator's
   own `clamp(2.5rem,5vw,4rem)` inside a profile layout, and the panel gap is
   the `.pf-main` grid gap instead. The measured padding on this page is 16px,
   which is the profile padding, not the component's.

   What is left to reclaim is the head block: 226px of it stood between the
   panel top and the rank field at 375px wide. The heading is the page's second
   h1-sized string in a row, directly under a real h1 that clamps to 39px, so it
   competes with it rather than following it. */
body.page-fees .fee-calc .fee-calc__head h2 {
  font-size: clamp(1.3rem, 3vw, 1.75rem);
  line-height: 1.18;
}

body.page-fees .fee-calc .fee-calc__head {
  margin-bottom: clamp(.9rem, 2.4vw, 1.75rem);
}

/* The intro paragraph carries the one fact the identity card above does not
   state, so it stays. It sets tighter here than the 1.7 the standalone pages
   use, because on this page it is the last thing before the rank field. */
body.page-fees .fee-calc .fee-calc__head p {
  line-height: 1.55;
}
