﻿/* Viewport-based type scale: bounded sizes preserve readability and browser zoom. */
@media screen {
html[data-theme] body.hms-ui{--type-body:clamp(.8125rem,.69rem + .18vw,1rem);--type-small:clamp(.75rem,.66rem + .12vw,.875rem);--type-label:clamp(.75rem,.64rem + .15vw,.9375rem);--type-title:clamp(1.4rem,1.05rem + .6vw,2rem);font-size:var(--type-body)}
html[data-theme] body.hms-ui .page :is(p,td,.td-primary,.dx-hero p,.dx-act strong,.dx-team p),html[data-theme] body.hms-ui .table-wrap>table tbody td{font-size:var(--type-body)}
html[data-theme] body.hms-ui :is(.form-label,.auth-body label,.f label,.dx-tools label,.dx-kpi .lbl,.stat-card .label){font-size:var(--type-label)}
html[data-theme] body.hms-ui :is(.dx-kpi .cap,.dx-act small,.form-hint,.text-muted,.pager-info,.sidebar .nav-label){font-size:var(--type-small)}
html[data-theme] body.hms-ui :is(.btn,.dx-btn,.submit-btn,.sidebar .nav-item){font-size:var(--type-body)}
html[data-theme] body.hms-ui .page :is(.page-header h1,.dx-hero h1){font-size:var(--type-title)}
html[data-theme] body.hms-ui :is(.card-header h2,.dx-ph h2){font-size:clamp(.9375rem,.8rem + .2vw,1.1875rem)}
html[data-theme] body.hms-ui :is(.dx-kpi .val,.stat-card .value){font-size:clamp(1.5rem,1.15rem + .6vw,2.125rem)}
html[data-theme] body.hms-home :is(.hero .lead,.sh p,.dept p,.b p,.role ul){font-size:var(--type-body)}
html[data-theme] body.public-care :is(.auth-card-top p,.login-intro p,.public-care-banner p,.register-link,.recovery-help){font-size:var(--type-small)}
html[data-theme] body.hms-ui :is(.page,.auth-body,.book) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:var(--type-body)}
@media(max-width:767px){html[data-theme] body.hms-ui :is(.page,.auth-body,.book) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:1rem}}
}
/* Consistent type hierarchy across application pages and public forms. */
@media screen {
html[data-theme] body.hms-ui{--type-body:clamp(.8125rem,.625rem + .25vw,1rem);--type-small:clamp(.75rem,.625rem + .16vw,.875rem);--type-label:clamp(.75rem,.6rem + .2vw,.9375rem);--type-title:clamp(1.375rem,.9rem + .75vw,2rem)}
html[data-theme] body.hms-ui .page{font-size:var(--type-body);line-height:1.6}
html[data-theme] body.hms-ui .page :is(label,li,dt,dd,select,textarea,.form-control,.badge,.tab,.record-tab,.nav-link){font-size:var(--type-body)}
html[data-theme] body.hms-ui .page :is(h1,.page-header h1,.section-title-row h1){font-size:var(--type-title);line-height:1.25}
html[data-theme] body.hms-ui .page :is(h2,.section-title-row h2,.card-header h2){font-size:clamp(1.0625rem,.8rem + .4vw,1.5rem);line-height:1.35}
html[data-theme] body.hms-ui .page h3{font-size:clamp(.9375rem,.75rem + .3vw,1.25rem);line-height:1.4}
html[data-theme] body.hms-ui .page :is(h4,h5,h6){font-size:var(--type-body)}
html[data-theme] body.hms-ui .page :is(small,.hint,.help-text,.text-small,.form-text),html[data-theme] body.hms-ui .table-wrap>table thead th{font-size:var(--type-small)}
html[data-theme] body.hms-ui .page :is(table,table td,table th){font-size:var(--type-body)}
html[data-theme] body.hms-ui .page table thead th{font-size:var(--type-small)}
html[data-theme] body.hms-ui :is(.header-title,.sidebar-logo .brand){font-size:clamp(1rem,.8rem + .3vw,1.375rem)}
html[data-theme] body.hms-ui :is(.workspace-caption,.workspace-identity small,.shell-footer,.auth-footer,.foot){font-size:var(--type-small)}
html[data-theme] body.public-care :is(.auth-card-top h1,.login-layout .auth-card-top h1){font-size:var(--type-title)}
html[data-theme] body.public-care .login-intro h2{font-size:clamp(1.5rem,1rem + 1vw,2.25rem)!important}
html[data-theme] body.hms-home .hero h1{font-size:clamp(1.75rem,1.1rem + 1.3vw,2.75rem)}
html[data-theme] body.hms-home .hero-promise{font-size:clamp(1.875rem,1.15rem + 1.5vw,3rem)}
html[data-theme] body.hms-home .sh h2{font-size:clamp(1.375rem,.95rem + .8vw,2.125rem)}
html[data-theme] body.hms-home :is(.dept h3,.b h3,.role h3){font-size:clamp(1rem,.8rem + .35vw,1.375rem)}
@media(max-width:767px){html[data-theme] body.hms-ui .page :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:1rem}}
}
/* Display-width scaling for shared navigation and page typography. */
@media screen {
html[data-theme] body.hms-ui{--type-body:clamp(.8125rem,.5625rem + .3125vw,1rem);--type-small:clamp(.75rem,.55rem + .25vw,.875rem);--type-label:clamp(.75rem,.5rem + .3125vw,.9375rem);--type-title:clamp(1.375rem,.875rem + .625vw,2rem)}
html[data-theme] body.hms-ui .header .header-title{font-size:clamp(1rem,.75rem + .3125vw,1.375rem)}
html[data-theme] body.hms-ui .sidebar .sidebar-logo .brand{font-size:clamp(1rem,.75rem + .3125vw,1.375rem)}
html[data-theme] body.hms-ui .sidebar .sidebar-brand-tagline{font-size:clamp(.5rem,.375rem + .15625vw,.6875rem);letter-spacing:.1em;max-width:100%}
html[data-theme] body.hms-ui .sidebar .nav-item{font-size:var(--type-body)}
html[data-theme] body.hms-ui .sidebar .nav-submenu .nav-item{font-size:var(--type-small)}
html[data-theme] body.hms-ui .sidebar .nav-label{font-size:clamp(.625rem,.5rem + .15625vw,.75rem)}
html[data-theme] body.hms-ui .header .shell-breadcrumb{font-size:var(--type-small)}
html[data-theme] body.hms-ui .page .form-control{font-size:var(--type-body)}
@media(max-width:767px){html[data-theme] body.hms-ui .page .form-control{font-size:1rem}}
}
