/* r197: readable text is the baseline; layouts grow or wrap with the content. */
:root{font-size:clamp(16px,.94rem + .08vw,17px);--readable-text:1rem;--readable-small:.875rem}
body{font-size:var(--readable-text);line-height:1.5;-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,input,select,textarea{font-family:inherit;font-size:1rem;line-height:1.4}
:is(.view,dialog) :is(p,td){line-height:1.5;font-size:1rem}
:is(.view,dialog) :is(input,select,textarea){font-size:1rem;min-height:44px}
:is(.view,dialog) :is(button.primary,button.secondary,.mini-btn){font-size:.9375rem;min-height:38px;white-space:normal;line-height:1.35}
:is(.view,dialog) :is(small,.muted,.field-hint){line-height:1.45;overflow-wrap:anywhere}
.view :is(h2,h3,h4){line-height:1.3}.view h2{font-size:clamp(1.45rem,1.25rem + .3vw,1.85rem)}
.view table{font-size:1rem}.view :is(th,td){padding-block:13px}.view th{font-size:.875rem;line-height:1.35;letter-spacing:.02em}
.mini-actions,.filter-toolbar,.filter-row{flex-wrap:wrap;gap:8px}.view :is(.card,.panel,article){min-width:0}
dialog{box-sizing:border-box;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto}
dialog :is(form,.form-grid,.form-row){min-width:0;max-width:100%}dialog :is(input,select,textarea){box-sizing:border-box;max-width:100%}dialog :is(footer,.dialog-actions){flex-wrap:wrap;gap:10px}
.sidebar :is(.nav-group-label,.nav-section-title,.nav-heading,.sidebar-group-title){line-height:1.4;letter-spacing:.07em}
.sidebar :is(.nav-item,.nav-btn){min-height:44px;white-space:normal}.sidebar :is(.favorite-item,.nav-favorite){min-height:42px}
/* Reconciliation sources and anomaly rows need room for the evidence text. */
:is(.manager-source-row,.manager-reconcile-row,.manager-reconciliation-row,.source-status-row,.control-source-row){min-height:64px;align-items:center;gap:14px}
:is(.manager-source-row,.manager-reconcile-row,.manager-reconciliation-row,.source-status-row,.control-source-row) :is(strong,span,p){font-size:1rem}
@media(max-width:820px){:root{font-size:16px}:is(.view,dialog) :is(button.primary,button.secondary,.mini-btn){min-height:44px;font-size:1rem}.view :is(th,td){padding-block:12px}dialog{max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.view input[type=search]{min-width:0;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
