/* Laundrix type scale: seven sizes, nothing below 11px.
   Sidebars, page headers and tabs keep their own sizes; receipts and print keep theirs. */
:root{
    --fs-title:20px;    /* page title inside the content */
    --fs-stat:20px;     /* stat values: totals, counts */
    --fs-section:16px;  /* section and card titles */
    --fs-body:14px;     /* body text, names, table cells, inputs, buttons */
    --fs-label:13px;    /* form and filter labels */
    --fs-meta:12px;     /* dates, captions, hints, table headers */
    --fs-chip:11px;     /* badges, status pills, eyebrows */
    --font-size-small:var(--fs-meta);
    --font-size-xs:var(--fs-chip);
}

/* Shop app and Hub: the same roles look the same on every page (page header and sidebar excluded).
   Exceptions keep their old size because the new one made them wrap: the Customers table header
   and the compact period pickers on Reports. */
.sidebar ~ main > :not(header) h1:not(.sr-only){font-size:var(--fs-title)!important}
.sidebar ~ main > :not(header) th:not(.desktop-customer-table th){font-size:var(--fs-meta)!important}
.sidebar ~ main > :not(header) :is(label:not([class]),.field-label,.form-label):not(.period-select *){font-size:var(--fs-label)!important}
.sidebar ~ main > :not(header) :is(.primary,.secondary,.primary-button,.secondary-button,.danger-button,.ghost-button,.button-link):not([class*="tab"]){font-size:var(--fs-body)!important}
.sidebar ~ main > :not(header) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea):not(.period-select *){font-size:var(--fs-body)!important}
.sidebar ~ main > :not(header) :is(.status,.request-status,.task-kind-badge,[class*="status-pill"],[class*="status-badge"]):not([class*="tab"]){font-size:var(--fs-chip)!important}

/* Phones: 16px fields so iPhones don't zoom in when a field is tapped. */
@media (max-width:760px){
    :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]),select,textarea){font-size:16px!important}
}

/* iPad/iPhone Safari: never inflate text on rotation or in narrow columns. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
