/* FIRSTCODE Typography System v1.10.0
 * Tajawal-first Arabic UI with disciplined global scale and resilient system fallbacks.
 */
:root{
  --font-ui:"Tajawal","Segoe UI",Tahoma,Arial,"Noto Sans Arabic",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  --font:var(--font-ui);
  --bs-body-font-family:var(--font-ui);
  --bs-font-sans-serif:var(--font-ui);
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  --fs-micro:.6875rem;
  --fs-2xs:.78rem;
  --fs-xs:.84rem;
  --fs-sm:.92rem;
  --fs-control:1rem;
  --fs-base:1rem;
  --fs-lg:1.125rem;
  --fs-xl:1.25rem;
  --fs-2xl:1.45rem;
  --fs-3xl:1.75rem;
  --fs-4xl:2.1rem;
  --fs-display:clamp(2rem,1.55rem + 1.8vw,3.15rem);
  --fs-hero:clamp(2.4rem,1.7rem + 3.2vw,4.25rem);
  --fw-light:300;
  --fw-regular:400;
  --fw-medium:500;
  --fw-semibold:600;
  --fw-bold:700;
  --fw-extrabold:800;
  --fw-black:900;
  --lh-tight:1.3;
  --lh-heading:1.42;
  --lh-ui:1.6;
  --lh-body:1.78;
  --lh-relaxed:1.95;
}
html{font-size:100%;text-size-adjust:100%;-webkit-text-size-adjust:100%}
html,body,button,input,select,textarea,optgroup,option,label,table,th,td{font-family:var(--font-ui)}
body{font-family:var(--font-ui)!important;font-size:var(--fs-base);font-weight:var(--fw-regular);line-height:var(--lh-body);font-synthesis:none;font-kerning:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:0;font-feature-settings:"kern" 1,"liga" 1}
button,input,select,textarea{font-size:var(--fs-control);line-height:var(--lh-ui);font-weight:var(--fw-regular)}
p,li,dd,dt{line-height:var(--lh-body)}
small,.small{font-size:var(--fs-xs);line-height:var(--lh-ui)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-ui);line-height:var(--lh-heading);text-wrap:balance;letter-spacing:0}
h1{font-size:var(--fs-4xl);font-weight:var(--fw-extrabold)}
h2{font-size:var(--fs-2xl);font-weight:var(--fw-bold)}
h3{font-size:var(--fs-xl);font-weight:var(--fw-bold)}
h4{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}
h5{font-size:var(--fs-base);font-weight:var(--fw-semibold)}
h6{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}
.btn,.form-control,.form-select,.input-group-text,.dropdown-menu,.modal,.offcanvas,.popover,.tooltip,.nav,.navbar,.card,.alert,.badge,.pagination,.table,.toast,.accordion,.list-group{font-family:var(--font-ui)}
::placeholder{font-family:var(--font-ui);font-size:var(--fs-sm)}
code,pre,kbd,samp,.font-mono{font-family:var(--font-mono)!important;font-variant-numeric:tabular-nums}
.dir-ltr,[dir="ltr"],input[type="email"],input[type="tel"],input[type="url"],.sar-money,.stat-card .value,.dash-val,.mini-stat-val{font-variant-numeric:tabular-nums}
.page-title{font-size:clamp(var(--fs-xl),1.1rem + .55vw,var(--fs-2xl));line-height:var(--lh-heading)}
.card-title{font-size:var(--fs-lg);line-height:var(--lh-heading)}
.table,table{font-size:var(--fs-sm);line-height:var(--lh-ui)}
th{font-size:var(--fs-xs)}
.badge{font-size:var(--fs-xs);line-height:1.35}
.alert{font-size:var(--fs-control)}
.form-group label,label{font-size:var(--fs-sm)}
.form-hint,.field-error{font-size:var(--fs-xs)}
.text-xs{font-size:var(--fs-xs)!important}.text-sm{font-size:var(--fs-sm)!important}.text-base{font-size:var(--fs-base)!important}.text-md{font-size:var(--fs-base)!important}.text-lg{font-size:var(--fs-lg)!important}.text-xl{font-size:var(--fs-xl)!important}.text-2xl{font-size:var(--fs-2xl)!important}
@media(max-width:767.98px){:root{--fs-micro:.7rem;--fs-2xs:.79rem;--fs-xs:.84rem;--fs-sm:.9rem;--fs-lg:1.05rem;--fs-xl:1.16rem;--fs-2xl:1.32rem;--fs-3xl:1.55rem;--fs-4xl:1.82rem;--fs-control:var(--fs-base)}body{line-height:1.68}.card-title{font-size:var(--fs-base)}button,input,select,textarea{font-size:var(--fs-control)}}
@media print{html,body,button,input,select,textarea,table,th,td{font-family:var(--font-ui)!important}}

/* Consistent interaction typography */
.btn,button,[role="button"]{font-weight:var(--fw-semibold)}
input,select,textarea{min-height:2.75rem}
input::placeholder,textarea::placeholder{font-weight:var(--fw-regular);opacity:.72}
.nav-item,.client-bottom-nav a,.breadcrumb-nav,.topbar-user-pill{font-weight:var(--fw-medium)}
.stat-card .value,.dash-val,.mini-stat-val,.sar-money{font-weight:var(--fw-bold)}

@media(max-width:359.98px){:root{--fs-base:.96rem;--fs-control:1rem;--fs-4xl:1.7rem}h1{overflow-wrap:anywhere}}
@media(min-width:1440px){:root{--fs-base:1.025rem;--fs-control:1rem}}
