/* Shared low-level primitives — Operation Metrics Dashboard / Cathy Weekly Portal
   Loaded after tokens.css by every module and by the portal shell.

   Judgment call (documented per the Phase 1 task's own request to flag these):
   dev-masterportal.html and dev-transactionportal.html look and read as "the same design
   language" but were never actually byte-identical component-by-component — verified by
   diffing every candidate shared class before moving anything here. Examples of REAL,
   pre-existing differences that block a naive merge: .btn-ghost/.btn-primary padding differs
   (9px 14px vs 9px 16px), .hamburger-btn background differs (var(--panel) vs var(--panel-hi)),
   .notes-panel border-radius/padding differs (10px/16-18px vs 12px/20-22px), h1-h4 differs
   (tp adds text-wrap:balance), --panel-hi itself differs (#22262f vs #232732, see tokens.css).
   Forcing these into one shared rule would silently change one app's real, already-shipped
   appearance — exactly the kind of transcription drift this refactor is supposed to avoid,
   not introduce. So only rules verified BYTE-IDENTICAL between both original files live here;
   every genuinely-shared data/behavior piece (METRICS, SLA_LADDER, getMetricValue, fmtDelta,
   formatMinutesToMMSS, etc.) is still centralized — see assets/js/shared/. Component-level
   CSS (kpi-card, tabs, ledger, modals, drawer, buttons, notes-panel, etc.) stays defined once
   per module, in modules/omd/omd.css and modules/transaction-portal/transaction.css respectively, exactly
   as it looked in the original single-file source. */

*{ box-sizing: border-box; }
