/* Inherited text and controls with no explicit size in the original styles. */
body{font-size:var(--font-size-body,16px)}
:root[data-font-colors~="body"] body{color:var(--font-color-body)}
:root[data-font-colors~="caption"] .muted{color:var(--font-color-caption)}
:root[data-font-sizes~="buttons"] :is(.btn,.navBtn,.seg button,.photoPicker,.linkButton){font-size:var(--font-size-buttons)}
:root[data-font-sizes~="title"] h1{font-size:var(--font-size-title)}
:root[data-font-sizes~="heading"] :is(h2,h3){font-size:var(--font-size-heading)}
:root[data-font-colors~="title"] h1{color:var(--font-color-title)}
:root[data-font-colors~="heading"] :is(h2,h3){color:var(--font-color-heading)}
:root[data-font-colors~="buttons"] :is(.btn.ghost,.navBtn,.seg button,.photoPicker,.linkButton){color:var(--font-color-buttons)}
:root[data-font-colors~="buttons"] .btn.primary{color:var(--font-color-button-filled)}
/* Meaningful status colors keep their semantics, including within controls. */
:root[data-font-colors~="buttons"] .btn.red{color:var(--redText)}
:root[data-font-colors~="buttons"] .btn.amber{color:var(--amberText)}
:root[data-font-colors~="buttons"] .btn.blue{color:var(--blueText)}
.typographySettings{margin-top:20px;min-width:0}
.typographyList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}
.typographyRow{border:1px solid var(--line);border-radius:14px;padding:14px;min-width:0;margin:0}
.typographyRow legend{font-weight:750;padding:0 6px;max-width:100%;overflow-wrap:anywhere}
.typographyControls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.typographyControls .field{min-width:0;margin:6px 0}
.typographyControls input{min-width:0}
.typographySample{padding:14px 0;min-height:64px;line-height:1.45;overflow-wrap:anywhere}
.typographySample .btn{font-size:inherit;min-height:44px;max-width:100%;white-space:normal;line-height:1.4}
.typographyRow>[data-font-reset]{max-width:100%;white-space:normal;line-height:1.4;min-height:44px}
.typographySettings .rightActions>.btn{white-space:normal;min-height:44px}
[data-font-row="title"] legend{font-size:var(--font-size-heading,16px)}
@media(max-width:720px){.typographyList{grid-template-columns:minmax(0,1fr)}}

/* Today's sessions: include inherited cell text and mobile field labels. */
:root[data-font-sizes~="body"] .homeSessionsTable :is(td,.personCell>span:not(.personAvatar)){font-size:var(--font-size-body)!important}
:root[data-font-sizes~="caption"] .homeSessionsTable :is(th,.status,.lateBadge){font-size:var(--font-size-caption)!important}
:root[data-font-sizes~="caption"] .homeSessionsTable td[data-label]::before{font-size:var(--font-size-caption)!important}
:root[data-font-colors~="body"] .homeSessionsTable :is(td,.personCell>span:not(.personAvatar)){color:var(--font-color-body)}
:root[data-font-colors~="caption"] .homeSessionsTable th,:root[data-font-colors~="caption"] .homeSessionsTable td[data-label]::before{color:var(--font-color-caption)}
