/* Shared chrome and type refinements. Values continue the existing tokens;
   the full rail hairline is Oscar's explicit change from the short seam. */
@media(min-width:721px){
  body.repshell .topbar::after{left:calc(-1 * var(--rail-w));width:var(--rail-w)}
  body.repshell.railmin .topbar::after{left:calc(-1 * var(--rail-min));width:var(--rail-min)}
}
/* Numerical classes keep tabular alignment through the existing shared rule.
   These legacy names are aliases, not a second typeface. */
.pqbk,.pqbk-list,.pqbk-tip,.pqbk-empty{--k-mono:var(--font-sans)}
body.dark .pqbk,body.dark .pqbk-list,body.dark .pqbk-tip,body.dark .pqbk-empty{--k-mono:var(--font-sans)}
.pending-banner{color:var(--c-bad);background:var(--c-bad-bg);border-color:var(--c-bad)}
.pending-banner .pb-warn,.pending-banner .pb-go{color:inherit}
.npop-row.pendrow{background:var(--c-bad-bg)}
.st.st-in{background:var(--c-good-bg);color:var(--c-good);border-color:transparent}
.st.st-ord{background:var(--c-warn-bg);color:var(--c-warn);border-color:transparent}
.st.st-na{background:var(--c-bad-bg);color:var(--c-bad);border-color:transparent}
.totlabel,.modal-code,.saved b,.cr-warn,.onb-sub{letter-spacing:0}
/* One mobile input size also governs deeply nested cart and account fields. */
@media(max-width:720px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:var(--fs-body)!important}}
