/* MSH Organize typography design system — screen UI only. */
:root{
  --msh-font-ui:"Noto Sans Thai",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --msh-font-report:"TH Sarabun New","Sarabun",sans-serif;
  --msh-text-xs:12px;--msh-text-sm:.8125rem;--msh-text-md:.9375rem;
  --msh-text-lg:1.0625rem;--msh-text-xl:clamp(1.25rem,1.05rem + .6vw,1.6rem);
  --msh-text-2xl:clamp(1.5rem,1.2rem + 1vw,2rem);
  font-family:var(--msh-font-ui)!important;font-synthesis:none;text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
html,body,button,input,select,textarea,option,dialog{font-family:var(--msh-font-ui)!important}
/* Screen typography has one owner. Explicit legacy font declarations in module CSS
   cannot reintroduce Inter/Looped after first paint. Reports and icon glyph fonts are excluded. */
body *:not(svg):not(path):not(.material-symbols-outlined):not(.official-print-report):not(.official-print-report *){font-family:var(--msh-font-ui)!important}
.material-symbols-outlined{font-family:"Material Symbols Outlined"!important;font-weight:normal!important;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-feature-settings:"liga"}
body{font-weight:400;line-height:1.5}
p,li,td,.meta,.muted,.lead{font-weight:400}
strong,b,th{font-weight:650}
button,.primary,.ghost,.soft,.danger,.tabs a,.tabs button,label,.field-label-line,.table-head,.listHead{font-weight:600}
input,select,textarea{font-weight:400;line-height:1.45}
h1,h2,h3,h4,h5,h6{color:#172033;line-height:1.25;letter-spacing:-.012em}
h1{font-size:var(--msh-text-2xl);font-weight:700}
h2{font-size:var(--msh-text-xl);font-weight:700}
h3,.card-title,.section-title b{font-size:var(--msh-text-lg);font-weight:650}
.msh-page-topbar,.msh-nav-drawer{font-family:var(--msh-font-ui)!important}
.msh-page-topbar .brand h1{font-size:clamp(1.3rem,1.12rem + .45vw,1.62rem)!important;font-weight:700!important;letter-spacing:-.02em}
.msh-page-topbar .brand .eyebrow{font-size:12px!important;font-weight:500!important}
.msh-nav-drawer>header b{font-size:1.4rem;font-weight:700}
.msh-nav-drawer nav a b{font-size:1rem;font-weight:650}
.msh-nav-drawer nav a small{font-size:12px!important}
.dialog h2,dialog h2,.dialogHead h2{font-weight:700}
.title{font-weight:650}
.eyebrow,.meta,.muted,small{letter-spacing:0}
/* Accessibility floor for secondary UI copy. Explicit larger component sizes still win. */
small,.eyebrow,.meta,.muted,.badge,.caption,.hint,.helper-text,.form-hint,.field-hint,.status-copy small,.job small,.profile-status-copy small,.msh-user-copy small{font-size:12px!important}
button,input,select,textarea{font-size:max(1rem,16px)}
button{line-height:1.2}
@media(min-width:761px){input,select,textarea{font-size:var(--msh-text-md)}button{font-size:max(12px,var(--msh-text-sm))}}
@media(max-width:760px){
  :root{font-size:16px}
  .msh-page-topbar .brand h1{font-size:1.12rem!important}
  .msh-page-topbar .brand .eyebrow{font-size:12px!important}
  .dialog h2,dialog h2,.dialogHead h2{font-size:1.25rem}
  input,select,textarea{font-size:16px!important}
}
.official-print-report,.official-print-report *{font-family:var(--msh-font-report)!important}
@media print{.official-print-report{font-size:16pt!important;font-weight:400}.official-print-report *{font-family:var(--msh-font-report)!important}}
