/* GENERATED by marketing/build-tool-partials.py — DO NOT EDIT.
   Source of truth: marketing/tools/allocation-reality-check.html */
/* Tool-local layout only. Every colour is a token or a color-mix of one —
     the shared design system owns the palette (tools-core.css BRAND RULES). */

  /* ---- the target/actual entry grid ------------------------------------ */
  .ist-tool.ist-tool.ist-tool.ist-tool .lhead, .ist-tool.ist-tool.ist-tool.ist-tool .lrow {
    display: grid;
    grid-template-columns: 1fr 78px 78px;
    gap: var(--sp-2);
    align-items: center;
  }
  .ist-tool.ist-tool.ist-tool.ist-tool .lhead {
    font: 600 10px/1.2 var(--font-ui); letter-spacing: .1em; text-transform: uppercase;
    color: var(--muted); padding-bottom: var(--sp-2); border-bottom: 1px solid var(--line);
  }
  .ist-tool.ist-tool.ist-tool.ist-tool .lhead span:not(:first-child) { text-align: right; }
  .ist-tool.ist-tool.ist-tool.ist-tool .lrow { padding: var(--seam-y) 0; border-bottom: 1px solid var(--line); }
  .ist-tool.ist-tool.ist-tool.ist-tool .lrow:last-of-type { border-bottom: none; }
  .ist-tool.ist-tool.ist-tool.ist-tool .lrow .nm { font-size: 14px; }
  .ist-tool.ist-tool.ist-tool.ist-tool .lrow .nm small {
    display: block; font-size: 11px; line-height: 1.35; color: var(--muted); margin-top: 1px;
  }
  /* T-188(b) — 13px is BELOW the iOS auto-zoom floor. Safari zooms whenever a focused
     control computes under 16px and does not restore afterwards, so a reader tapping
     a target field is left in a zoomed page with no way back. The kit already ships
     16px on input/select/textarea (tools-core.css, since DS-35); this per-tool
     override was reintroducing the defect underneath it.
     Scoped rather than deleted: the density is right on a wide screen, and below the
     breakpoint the control simply inherits the kit's 16px.
     ⚠ Do NOT "fix" iOS zoom with `maximum-scale=1` on the viewport meta — that
     disables pinch-zoom, which is an a11y regression traded for a cosmetic one. */
  @media (min-width: 481px) {
    .ist-tool.ist-tool.ist-tool.ist-tool .lrow input { font-size: 13px; }
  }
  .ist-tool.ist-tool.ist-tool.ist-tool .lrow input { padding: var(--sp-1) var(--sp-2); text-align: right; }
  .ist-tool.ist-tool.ist-tool.ist-tool .lrow input.bad { border-color: color-mix(in srgb, var(--alarm) 70%, transparent); }
  /* A Charter-sourced target is the author's own POLICY, shown and not re-typed —
     so it must not LOOK typeable. A read-only field wearing an editable field's
     chrome invites an edit that silently does nothing. */
  .ist-tool.ist-tool.ist-tool.ist-tool .lrow input[readonly] {
    background: transparent;
    border-color: transparent;
    color: color-mix(in srgb, var(--text) 88%, transparent);
    cursor: default;
    padding-right: 0;
  }

  /* ---- the tolerance control (same primitive the Charter Wizard uses) ---- */
  .ist-tool.ist-tool.ist-tool.ist-tool .tol {
    margin-top: var(--seam-y); padding: var(--row-y) var(--pad-x);
    border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
    border-radius: var(--r);
    background: color-mix(in srgb, var(--accent) 5%, transparent);
  }
  .ist-tool.ist-tool.ist-tool.ist-tool .tol .tolrow { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; }
  .ist-tool.ist-tool.ist-tool.ist-tool .tol input { width: 84px; text-align: right; }
  .ist-tool.ist-tool.ist-tool.ist-tool .tol p { font-size: 12px; line-height: 1.5; color: var(--muted); margin: var(--sp-2) 0 0; }

  /* ---- the per-Layer breakdown ------------------------------------------ */
  .ist-tool.ist-tool.ist-tool.ist-tool .arow { padding: var(--row-y) 0; border-top: 1px solid var(--line); }
  .ist-tool.ist-tool.ist-tool.ist-tool .arow:first-child { border-top: none; }
  .ist-tool.ist-tool.ist-tool.ist-tool .arow .top {
    display: flex; justify-content: space-between; align-items: baseline; gap: var(--sp-3);
  }
  .ist-tool.ist-tool.ist-tool.ist-tool .arow .nm { font-size: 14px; font-weight: 500; }
  .ist-tool.ist-tool.ist-tool.ist-tool .arow .figs {
    font-family: var(--font-mono); font-variant-numeric: tabular-nums;
    font-size: 11px; color: var(--muted); margin-top: var(--sp-1);
  }
  /* The bar gets its own seam from the figures above it, on the spacing scale —
     the marker's diamond reaches into the top of the bar's box, so the gap the
     eye reads is smaller than the box implies (UI-STANDARDS §1.2/§1.4). */
  .ist-tool.ist-tool.ist-tool.ist-tool .arow .bandbar { margin-top: var(--sp-2); }
  .ist-tool.ist-tool.ist-tool.ist-tool .arow .figs b { color: var(--text); font-weight: 500; }
  .ist-tool.ist-tool.ist-tool.ist-tool .arow .figs .out { color: var(--accent-active); }

  /* Provenance affordance (UI-STANDARDS §9 CA3): a reader who cannot tell a
     POLICY choice from a CALCULATED result cannot meaningfully disagree with it,
     and disagreement is the precondition for deciding. */
  .ist-tool.ist-tool.ist-tool.ist-tool .prov {
    font: 600 10px/1.2 var(--font-mono); letter-spacing: .1em; text-transform: uppercase;
    color: var(--muted); border: 1px solid var(--line); border-radius: 3px;
    padding: 1px 4px; vertical-align: 1px; white-space: nowrap;
  }
  .ist-tool.ist-tool.ist-tool.ist-tool .provkey { display: flex; gap: var(--sp-3); flex-wrap: wrap; margin: 0 0 var(--sp-2); }
  .ist-tool.ist-tool.ist-tool.ist-tool .provkey span { font-size: 11px; color: var(--muted); }

  /* ---- the C2 deduction ledger ------------------------------------------ */
  .ist-tool.ist-tool.ist-tool.ist-tool .ledger { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
  .ist-tool.ist-tool.ist-tool.ist-tool .ledger .kv .v.zero { color: var(--muted); }
  .ist-tool.ist-tool.ist-tool.ist-tool .ledger .kv.total { border-bottom: none; border-top: 1px solid var(--line); margin-top: var(--sp-1); }
  .ist-tool.ist-tool.ist-tool.ist-tool .ledger .kv.total .k { color: var(--text); }
  .ist-tool.ist-tool.ist-tool.ist-tool .ledger .kv.total .v { font-size: 19px; }

  /* ---- the one-page policy template ------------------------------------- */
  .ist-tool.ist-tool.ist-tool.ist-tool #policy-doc table { width: 100%; border-collapse: collapse; font-size: 13px; }
  .ist-tool.ist-tool.ist-tool.ist-tool #policy-doc th, .ist-tool.ist-tool.ist-tool.ist-tool #policy-doc td {
    text-align: left; padding: 5px 6px; border-bottom: 1px solid var(--line);
  }
  .ist-tool.ist-tool.ist-tool.ist-tool #policy-doc th {
    font: 600 10px/1.2 var(--font-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--muted);
  }
  .ist-tool.ist-tool.ist-tool.ist-tool #policy-doc td.n {
    text-align: right; font-family: var(--font-mono); font-variant-numeric: tabular-nums;
  }
  .ist-tool.ist-tool.ist-tool.ist-tool #policy-doc .rule {
    font-size: 13px; line-height: 1.6; padding: var(--sp-2) 0 var(--sp-2) var(--sp-3);
    border-left: 2px solid color-mix(in srgb, var(--accent) 55%, transparent); margin: 0 0 var(--sp-2);
  }

  /* CA1 — the null option is RENDERED, equally weighted, never implied. */
  .ist-tool.ist-tool.ist-tool.ist-tool .null-option {
    margin-top: var(--card-gap); padding: var(--row-y) var(--pad-x);
    border: 1px solid color-mix(in srgb, var(--positive) 40%, transparent);
    border-radius: var(--r);
    background: color-mix(in srgb, var(--positive) 7%, transparent);
  }
  .ist-tool.ist-tool.ist-tool.ist-tool .null-option p:last-child { margin: 0; }

  @media print {
    body { background: white; }
    .ist-tool.ist-tool.ist-tool.ist-tool { max-width: none; padding: 0; color: black; background: white; }
    .ist-tool.ist-tool.ist-tool.ist-tool > *:not(#policy) { display: none !important; }
    .ist-tool.ist-tool.ist-tool.ist-tool #policy { display: block; color: black; border: none; padding: 0; }
    .ist-tool.ist-tool.ist-tool.ist-tool #policy .noprint { display: none !important; }
    .ist-tool.ist-tool.ist-tool.ist-tool #policy h2 { font: 400 24px/1.2 var(--font-display); margin: 0 0 10px; }
    .ist-tool.ist-tool.ist-tool.ist-tool #policy .eyebrow { color: black; }
    .ist-tool.ist-tool.ist-tool.ist-tool #policy .rule { border-left: 2px solid black; }
    .ist-tool.ist-tool.ist-tool.ist-tool #policy th, .ist-tool.ist-tool.ist-tool.ist-tool #policy td { border-bottom: 1px solid black; }
    .ist-tool.ist-tool.ist-tool.ist-tool #policy .null-option { border: 1px solid black; background: none; }
  }

  @media (max-width: 480px) {
    .ist-tool.ist-tool.ist-tool.ist-tool .lhead, .ist-tool.ist-tool.ist-tool.ist-tool .lrow { grid-template-columns: 1fr 66px 66px; gap: var(--sp-1); }
  }