/* One readable scale across KolamFlow. rem units respect the browser's default text size. */
:root{font-size:100%!important;--kf-text-small:.875rem;--kf-text-body:1rem;--kf-text-section:1.375rem;--kf-text-title:2.25rem;--kf-text-title-mobile:2rem}
html#kf-admin-root body,body#kf-owner-access,body.kf-registration-aqua,body.kf-aqua-landing,body.kf-live-aqua{font-size:var(--kf-text-body)!important}
/* Keep control text legible and prevent focus zoom on narrow touch screens. */
html#kf-admin-root :is(input:not([type=checkbox]):not([type=radio]),select,textarea),#kf-owner-access :is(input:not([type=checkbox]):not([type=radio]),select,textarea),body.kf-registration-aqua :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:var(--kf-text-body)!important;line-height:1.5;min-height:44px}
html#kf-admin-root .aa-page-heading h1,html.kf-super-shell.kf-super-shell#kf-admin-root h1{font-size:var(--kf-text-title)!important;line-height:1.2!important}
html#kf-admin-root .aa-page-heading p{font-size:var(--kf-text-body);line-height:1.65}
html#kf-admin-root [data-admin-title-target]{font-size:var(--kf-text-body)}
html#kf-admin-root :is(.aa-panel-head,.participants-table-head,.kf-dash-card-head,.weigh-card-head,.kf-settings-section-head,.kf-menu-section-head,.gallery-list-head,.records-list-head) :is(h2,h3){font-size:var(--kf-text-section);line-height:1.35}
html#kf-admin-root :is(td,th){line-height:1.6}
html#kf-admin-root .kf-admin-topbar{min-height:80px!important;gap:16px}
html#kf-admin-root .kf-admin-header-controls{flex-wrap:wrap;row-gap:8px}
html#kf-admin-root .kf-admin-topbar .notify-badge{min-width:24px;height:24px;line-height:20px}
html#kf-admin-root .kf-admin-nav-scroll>a{min-height:44px!important;line-height:1.5!important}
html#kf-admin-root .kf-admin-workspace,html#kf-admin-root .kf-admin-account{min-width:0}
html#kf-admin-root .kf-admin-workspace>div,html#kf-admin-root .kf-admin-account>div{min-width:0;overflow-wrap:anywhere}
html#kf-admin-root :is(button,.primary-action,.secondary-btn,.mini-btn){white-space:normal}
/* Text can grow without being clipped by fixed card heights. */
#kf-owner-access :is(.oa-nav,.oa-header),body.kf-registration-aqua :is(.kr-nav,.kr-nav-right),body.kf-public-aqua :is(.kp-nav,.kp-nav-actions){flex-wrap:wrap}
#kf-owner-access .oa-nav{row-gap:8px}
body.kf-registration-aqua :is(.kr-field,.kr-summary,.kr-card){min-width:0}
@media(max-width:900px){
 html#kf-admin-root .aa-page-heading h1,html.kf-super-shell.kf-super-shell#kf-admin-root h1{font-size:var(--kf-text-title-mobile)!important}
 html#kf-admin-root .kf-admin-topbar{gap:8px}
}
@media(max-width:480px){
 html#kf-admin-root .kf-admin-header-controls{gap:6px}
 html#kf-admin-root .kf-admin-topbar .language-switcher>a{padding:5px 6px!important}
 #kf-owner-access .oa-header{align-items:flex-start;gap:16px}
 #kf-owner-access .oa-nav{gap:12px}
}
/* Native <small> otherwise falls below the shared minimum when it inherits 16px. */
html#kf-admin-root small,#kf-owner-access small,body.kf-registration-aqua small,#kf-live-leaderboard small,#kf-aqua small{font-size:var(--kf-text-small)}
/* Dense filter rows reflow instead of pushing wider than the screen. */
html#kf-admin-root .activity-filter-tabs,html#kf-admin-root .participants-selected-grid{flex-wrap:wrap}
html#kf-admin-root .participants-selected-grid>span{min-width:0;overflow-wrap:anywhere}
html#kf-admin-root .form,html#kf-admin-root .form>*,html#kf-admin-root .form label{min-width:0;max-width:100%}
html#kf-admin-root .form :is(input,select,textarea){max-width:100%;min-width:0}
@media(max-width:600px){
 html#kf-admin-root .manual{flex-direction:column;align-items:stretch}
 html#kf-admin-root .manual>label,html#kf-admin-root .manual>input{flex:auto;width:100%}
 html#kf-admin-root .participants-selected-grid>span{flex:1 1 100px}
}
