/* css/modules/rc.css: the .rc-* module — split out of css/app.css by #360's sibling stage (#362).
   Load order is core.css, then every modules/*.css alphabetically; rules here
   are in their original relative order, and no selector in this file appears in
   any other (asserted in tests/css-split-check.js). */

/* ==========================================================================
   RATES IN THE BACK (#259) — the Rates screen, the derivation panel and the
   provenance chips that ride on a quote and an invoice.
   Prefix `rc-`, verified unused in css/app.css, driver/driver.css and
   portal/portal.css before it was added. No bare single-word class is reused:
   `.reco` once collided and rendered a panel sideways.
   ========================================================================== */
/* `.card` carries NO padding of its own — a card whose direct child is a
   `.table` is a scroll container (the `:has(>.table)` rule), so a content card
   has to say it wants padding. Same reason the process card and the job-thread
   card do. A card that holds BOTH prose and a table wraps the table in a bare
   div, which the same rule matches, so the table still handles its own overflow. */
.rc-pad{padding:18px 20px}
.rc-hd{margin-bottom:14px}
.rc-sect{margin:18px 2px 8px}
.rc-note{margin:0;font-size:13.5px;font-weight:700;color:var(--muted);line-height:1.55;max-width:96ch}
.rc-note b{color:var(--ink)}
.rc-note-card{margin-bottom:14px}
.rc-tabs{display:inline-flex;gap:4px;background:#eef2fb;padding:4px;border-radius:10px;margin-bottom:14px}
.rc-vtab{border:none;cursor:pointer;font-family:var(--font);font-weight:800;font-size:13px;
  padding:6px 14px;border-radius:7px;background:transparent;color:var(--muted)}
.rc-vtab.is-on{background:#fff;color:var(--blue);box-shadow:0 1px 2px rgba(20,30,60,.12)}
.rc-cb{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:13px;color:var(--muted)}
.rc-addcard{margin-bottom:14px}
.rc-hint{font-size:12.5px;font-weight:700;color:var(--muted);line-height:1.5;margin:10px 0}
.rc-hint b{color:var(--ink)}
.rc-foot{font-size:12.5px;font-weight:700;color:var(--muted);line-height:1.55;margin:12px 2px 0;max-width:96ch}
.rc-foot b{color:var(--ink)}
.rc-empty{text-align:center;color:var(--muted);font-weight:700;padding:26px 12px}
.rc-desc,.rc-effect,.rc-noteCell{font-size:12.5px;font-weight:700;color:var(--muted);line-height:1.5;max-width:46ch}
.rc-effect b{color:var(--ink)}
.rc-rate,.rc-uplift{width:100%;max-width:120px;padding:8px 10px;border:1px solid var(--line);
  border-radius:8px;font-family:var(--font);font-weight:700;font-size:13px}
.rc-retired{opacity:.6}
.rc-std{font-weight:800;color:var(--blue)}
.rc-allin{display:inline-block;font-size:11px;font-weight:800;padding:2px 7px;border-radius:5px;
  background:rgba(37,82,164,.1);color:var(--blue)}
.rc-any{font-size:12px;font-weight:700;color:var(--muted)}
.rc-sample{color:var(--orange);font-weight:800}
/* State of a service tier. `--un` is the one that matters: an uplift nobody has
   given us is neither 0 nor a number, so it is never drawn as either. */
.rc-chip{display:inline-block;font-size:11px;font-weight:800;padding:3px 9px;border-radius:6px;white-space:nowrap}
.rc-chip--ok{background:rgba(31,157,85,.12);color:#15703d}
.rc-chip--base{background:rgba(37,82,164,.1);color:var(--blue)}
.rc-chip--un{background:rgba(242,60,0,.1);color:#a52c00;
  background-image:repeating-linear-gradient(45deg,rgba(242,60,0,.08) 0 5px,transparent 5px 10px)}
/* Where a figure came from. Reused on the derivation panel, a quote's charge
   list and an invoice line, so the same claim reads the same everywhere. */
.rc-src{display:inline-block;font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:5px;white-space:nowrap}
.rc-src--own{background:rgba(37,82,164,.12);color:var(--blue)}
.rc-src--std{background:#eef2fb;color:var(--muted)}
.rc-src--card{background:rgba(245,138,42,.14);color:#8a4a00}
.rc-src--terms{background:rgba(31,157,85,.12);color:#15703d}
.rc-src--tier{background:rgba(252,217,17,.22);color:#6b5300}
.rc-src--ov{background:rgba(245,138,42,.2);color:#8a4a00}
.rc-src--un{background:rgba(242,60,0,.12);color:#a52c00}
.rc-via{display:block;color:var(--muted);font-weight:700;font-size:11.5px;line-height:1.45;margin-top:2px}
.rc-ov{display:inline-block;font-size:11px;font-weight:800;padding:2px 7px;border-radius:5px;margin-top:3px;
  background:rgba(245,138,42,.18);color:#8a4a00}
/* An incomplete price. Full size, never a footnote: a total that is missing a
   charge is the one thing on this screen that costs money. */
.rc-warn{border-left:4px solid var(--red);margin-bottom:14px}
.rc-warn>b{display:block;font-size:14px;line-height:1.5;color:#8c2200}
.rc-warnline{margin:10px 0 0;padding:10px 12px;border-radius:8px;font-size:12.5px;font-weight:700;
  line-height:1.5;background:rgba(242,60,0,.08);border:1px solid rgba(242,60,0,.3);color:#8c2200}
.rc-unlist{margin:10px 0 0;padding-left:20px;font-size:12.5px;font-weight:700;line-height:1.6;color:var(--muted)}
.rc-unlist b{color:var(--ink)}
.rc-unrow{background:rgba(242,60,0,.05)}
.rc-trace{margin:6px 0 0;padding-left:20px;font-size:12.5px;font-weight:700;line-height:1.65;color:var(--muted)}
.rc-trace b{color:var(--ink)}
.rc-tot{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.rc-tot>div{display:flex;justify-content:space-between;gap:16px;font-size:13px;font-weight:800;
  color:var(--muted);padding:3px 0}
.rc-tot__t{font-size:16px;font-weight:900;color:var(--ink);border-top:1px solid var(--line);
  margin-top:6px;padding-top:8px}
.rc-sub{color:var(--muted-2);font-weight:700}
.rc-up{color:var(--orange)}
.rc-down{color:#15703d}
.rc-card{margin-top:18px}
.rc-card .card{margin-bottom:12px}
.rc-none{font-size:13px;font-weight:700;color:var(--muted);line-height:1.55;margin:0 0 10px;max-width:90ch}
.rc-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.rc-meta{font-size:12px;font-weight:700;color:var(--muted)}
.rc-autobar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:12px}
@media(max-width:640px){
  .rc-autobar{align-items:stretch}
  .rc-rate,.rc-uplift{max-width:none}
}
