/* Shared reading rhythm for customer, admin and authentication screens. */
:root,html { --sans:"Segoe UI",Arial,sans-serif; --font-sans:var(--sans); --font-num:var(--sans); --fs-xs:.875rem; --fs-sm:.9375rem; --fs-base:1rem; --fw-bold:600; --fw-med:500; }
body { font-family:var(--sans)!important; font-size:16px!important; line-height:1.65!important; letter-spacing:normal!important; font-feature-settings:normal!important; }
h1,h2,h3,h4 { font-family:var(--sans)!important; font-weight:600!important; letter-spacing:normal!important; line-height:1.35!important; }
button,input,select,textarea { font-family:var(--sans)!important; font-size:16px!important; letter-spacing:normal!important; }
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,.smm-btn { min-height:44px; }
.smm-nav__link { font-size:16px!important; font-weight:500!important; min-height:46px; }
.smm-sidebar__label { font-size:13px!important; letter-spacing:.04em!important; }
.smm-card__title,.card-hd h2 { font-size:20px!important; }
.smm-card p,td,.ov-recent-name,.ov-open-row b { font-size:16px; line-height:1.65; }
small,.tiny,.smm-muted,.smm-card__sub,.smm-page__sub,td small,th,.card-sub,.smm-hint,.ov-recent-link,.ov-recent-meta { font-size:14px!important; line-height:1.6!important; }
strong,b { font-weight:600; }
.mono,.num,.u-num,.u-money,.stat-v,.kpi>b,.adm-bal-n,.smm-stat__value,.tbl .mono { font-family:var(--sans)!important; font-variant-numeric:tabular-nums; letter-spacing:normal!important; font-weight:600!important; }
:root[data-theme=light] { --ink-muted:#506176; --ink-subtle:#506176; }
:root[data-theme=dark] { --ink-muted:#b6c3d1; --ink-subtle:#b6c3d1; }
.smm-table td,.tbl td { padding-top:16px; padding-bottom:16px; }
.stats-grid,.adm-grid-2,.adm-grid-3,.ov-grid { gap:20px; margin-bottom:20px; }
.ov-grid { align-items:stretch; }
.ov-col { display:flex; flex-direction:column; gap:20px; min-width:0; }
.ov-col>.smm-card { margin:0; }
.ov-col>.smm-card:last-child { flex:1; }
.ov-grid>.smm-card { margin:0; }
.adm-grid-2>.smm-card,.adm-grid-3>.smm-card { height:100%; }
.smm-card { min-width:0; }
/* A restrained chart grid, consistent labels and focusable data points. */
.bars,.adm-bars { border-bottom:1px solid var(--border); background:repeating-linear-gradient(to top,transparent 0,transparent 39px,var(--border-soft) 40px); padding-inline:8px; }
.bar-stack,.adm-bar-stack { max-width:36px; width:100%; margin-inline:auto; border-radius:6px 6px 0 0; }
.bar-stack.is-solid,.adm-bar-stack { background:linear-gradient(to top,var(--accent),var(--accent-text)); }
.bar-stack.is-zero,.adm-bar-stack.is-zero { background:var(--surface-3); }
.bar-d,.adm-bar-d { font-family:var(--sans); font-size:12px; height:22px; line-height:22px; color:var(--ink-muted); }
.bar,.adm-bar { position:relative; }
.bar:focus-visible,.adm-bar:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.bar:hover::after,.bar:focus-visible::after,.adm-bar:hover::after,.adm-bar:focus-visible::after { content:attr(aria-label); position:absolute; z-index:5; bottom:100%; inset-inline-start:0; width:max-content; max-width:220px; padding:8px 12px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--ink); box-shadow:var(--e2); font-size:14px; white-space:normal; pointer-events:none; }
.bar:nth-last-child(-n+4)::after,.adm-bar:nth-last-child(-n+4)::after { inset-inline-start:auto; inset-inline-end:0; }
@media(max-width:760px) { .stats-grid,.adm-grid-2,.adm-grid-3,.ov-grid,.ov-col { gap:16px; margin-bottom:16px; } .ov-col { margin-bottom:0; } }
