/* R357 — Global Stitch Typography Contract (system-wide owner)
   Single source of truth for all business pages, tables, drawers, overlays,
   generated detail views, SVG text and fullscreen UI.
   Page styles may own layout/color only; typography family is global. */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Sans+Thai:wght@400;500;600;700&display=swap');

:root{
  --lop-font-ui:"IBM Plex Sans Thai","IBM Plex Sans",Arial,sans-serif;
  --st-font:var(--lop-font-ui);
  --cct-font:var(--lop-font-ui);
  --coi-font-ui:var(--lop-font-ui);
  --coi-density-font:var(--lop-font-ui);
  --ui-font:var(--lop-font-ui);
  --ui-font-data:var(--lop-font-ui);
  --ent-font:var(--lop-font-ui);
  --ent-font-data:var(--lop-font-ui);
  --r238-font:var(--lop-font-ui);
  --r-font:var(--lop-font-ui);
  --bp-font:var(--lop-font-ui);
  --font-ui:var(--lop-font-ui);
  --font-code:var(--lop-font-ui);
  --lop-font:var(--lop-font-ui);
  --stitch-type-display:36px;
  --stitch-type-title:24px;
  --stitch-type-section:18px;
  --stitch-type-body:14px;
  --stitch-type-compact:13px;
  --stitch-type-table-head:12px;
  --stitch-type-caption:12px;
  --stitch-line-body:20px;
  --stitch-line-compact:18px;
  --stitch-line-table:18px;
}

html,body,
button,input,select,textarea,option,
table,thead,tbody,tfoot,tr,th,td,
h1,h2,h3,h4,h5,h6,p,a,label,small,strong,b,
div,span,section,article,header,footer,nav,aside,main,
svg text,svg tspan{
  font-family:var(--lop-font-ui)!important;
  font-synthesis:none!important;
}
html,body{font-size:var(--stitch-type-body);line-height:var(--stitch-line-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
button,input,select,textarea,option{font-size:var(--stitch-type-compact)!important;line-height:var(--stitch-line-compact)!important;font-weight:400}
button{font-weight:500}

/* Every table uses one Stitch data typography scale. */
html body table th,html body table thead th{
  font-size:var(--stitch-type-table-head)!important;
  line-height:16px!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
}
html body table td,html body table tbody td{
  font-size:var(--stitch-type-compact)!important;
  line-height:var(--stitch-line-table)!important;
  font-weight:400;
  letter-spacing:0!important;
}
html body table td :is(a,strong,b){font-weight:600}
html body table td small,html body table th small{font-size:var(--stitch-type-caption)!important;line-height:16px!important}

/* Dynamic overlays/details inherit the same family and data scale. */
:is([role="dialog"],.drawer,.modal,.overlay,.flow-location-overlay,.flow-container-detail,.stitch-drilldown,.coi-overlay) :is(button,input,select,textarea,table,th,td,div,span,p,a,label,small,strong,h1,h2,h3,h4){font-family:var(--lop-font-ui)!important}

/* Icon fonts are intentionally excluded from the text-font contract. */
.material-symbols-outlined,.material-icons,.material-icons-outlined{
  font-family:'Material Symbols Outlined'!important;
  font-weight:normal!important;font-style:normal!important;line-height:1!important;letter-spacing:normal!important;text-transform:none!important;white-space:nowrap!important;word-wrap:normal!important;direction:ltr!important;
}
