/*
 * ToChoose Enterprise — Arabic typography layer
 * Version: 8.0.2-security-typography
 * Uses local/system fonts only; no external font files or third-party requests.
 */
:root{
  --font-ui-ar:"Noto Sans Arabic","Segoe UI",Tahoma,Arial,sans-serif;
  --font-display-ar:"Noto Kufi Arabic","IBM Plex Sans Arabic","Noto Sans Arabic","Segoe UI",Tahoma,Arial,sans-serif;
  --text-xs:.75rem;
  --text-sm:.875rem;
  --text-base:1rem;
  --text-md:1.0625rem;
  --text-lg:1.1875rem;
  --text-xl:1.375rem;
  --text-2xl:1.75rem;
  --text-3xl:2.25rem;
  --leading-tight:1.4;
  --leading-normal:1.72;
  --leading-relaxed:1.9;
}

html{
  font-family:var(--font-ui-ar);
  font-size:16px;
  line-height:var(--leading-normal);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body,
button,
input,
select,
textarea,
optgroup{
  font-family:var(--font-ui-ar);
}

body{
  font-size:var(--text-base);
  line-height:var(--leading-normal);
  font-weight:400;
}

h1,h2,h3,h4,h5,h6,
.brand strong,
.login-title,
.section-title,
.card-head h2,
.card-head h3,
.suite-hero h2,
.marketing-section h2,
.marketing-cta h2,
.public-opportunities-head h2{
  font-family:var(--font-display-ar);
  line-height:var(--leading-tight);
  letter-spacing:0;
  text-wrap:balance;
}

h1{font-size:clamp(1.65rem,2.2vw,2rem);font-weight:750}
h2{font-size:clamp(1.35rem,1.8vw,1.65rem);font-weight:750}
h3{font-size:clamp(1.1rem,1.35vw,1.28rem);font-weight:700}
h4{font-size:1.05rem;font-weight:700}
p,li,dd,dt{line-height:var(--leading-normal)}
small,.hint,.muted{line-height:1.65}

/* Header and navigation */
.brand strong{font-size:1.05rem;font-weight:800}
.brand small{font-size:.79rem;line-height:1.45}
.nav-section-label{font-family:var(--font-display-ar);font-size:.74rem;font-weight:700;line-height:1.45}
.sidebar nav a{font-size:.91rem;font-weight:650;line-height:1.45}
.sidebar-foot,.sidebar-subscription{font-size:.82rem}
.topbar h1{font-size:1.48rem;font-weight:780;line-height:1.35}
.topbar p{font-size:.82rem;line-height:1.5}
.topbar-eyebrow{font-size:.75rem;line-height:1.4}
.guest-top-nav a,.public-nav a{font-size:.9rem;font-weight:650}

/* Forms */
.form-group{gap:8px}
.form-group label{
  font-size:.91rem;
  font-weight:700;
  line-height:1.55;
  color:var(--ink);
}
.input,.select,.textarea,
input,select,textarea{
  font-size:.96rem;
  line-height:1.55;
}
.input,.select{min-height:46px}
.textarea{min-height:112px;line-height:1.7}
.hint{font-size:.78rem}
.check-row{font-size:.9rem;line-height:1.6}

/* Buttons and status labels */
.btn{font-size:.9rem;font-weight:700;line-height:1.4;min-height:42px}
.btn-sm{font-size:.79rem;min-height:34px}
.btn-lg{font-size:1rem;min-height:50px}
.badge{font-size:.76rem;font-weight:750;line-height:1.35}
.alert{font-size:.91rem;line-height:1.75}

/* Cards, metrics and descriptive copy */
.card-head h2,.card-head h3{font-size:1.25rem;font-weight:760}
.card-head p{font-size:.88rem;line-height:1.7}
.section-title{font-size:1.08rem;font-weight:760}
.stat-card small,.dashboard-stat small{font-size:.82rem;line-height:1.45}
.stat-card strong,.dashboard-stat>strong,.suite-kpis strong,.marketing-proof-grid strong{
  font-family:var(--font-display-ar);
  font-variant-numeric:tabular-nums;
  font-weight:800;
}
.stat-card strong{font-size:1.8rem}
.stat-card em{font-size:.78rem;line-height:1.5}
.suite-hero h2{font-size:clamp(1.55rem,2.2vw,2rem)}
.suite-hero p{font-size:.96rem;line-height:1.8}
.quick-actions-grid strong{font-size:.98rem;line-height:1.45}
.quick-actions-grid small{font-size:.8rem;line-height:1.6}

/* Tables */
.table th{
  font-family:var(--font-display-ar);
  font-size:.84rem;
  font-weight:750;
  line-height:1.55;
}
.table td{
  font-size:.9rem;
  line-height:1.65;
}
.table td strong{font-weight:750}
.table .btn{font-size:.78rem}

/* Candidate portal and progress */
.step-dot{font-size:.84rem;line-height:1.55}
.timeline-item{font-size:.91rem;line-height:1.72}
.timeline-item small{font-size:.79rem}
.file-row{font-size:.9rem;line-height:1.6}
.candidate-header h2,.candidate-header h3{font-size:1.3rem}
.score-ring strong{font-size:1.05rem;font-variant-numeric:tabular-nums}

/* Guest, login and marketing pages */
.guest-hero h1{font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.38}
.guest-hero p{font-size:1.02rem;line-height:2}
.hero-features span{font-size:.8rem;line-height:1.4}
.login-title{font-size:1.55rem;font-weight:800;line-height:1.4}
.login-subtitle{font-size:.92rem;line-height:1.75}
.tab-btn{font-size:.9rem;font-weight:650}
.marketing-feature-card h3{font-size:1.15rem;line-height:1.5}
.marketing-feature-card p{font-size:.9rem;line-height:1.85}
.section-intro h2{font-size:clamp(1.7rem,3vw,2.2rem)}
.section-intro p{font-size:.98rem;line-height:1.85}
.marketing-dark h2{font-size:clamp(1.55rem,2.7vw,2rem)}
.marketing-dark p{font-size:.95rem;line-height:1.9}
.marketing-cta h2{font-size:clamp(1.4rem,2.4vw,1.85rem)}
.marketing-cta p{font-size:.92rem;line-height:1.75}
.pricing-card .price strong{font-size:2.25rem;font-variant-numeric:tabular-nums}
.pricing-card ul{font-size:.92rem;line-height:2}

/* Numbers, dates and code */
code,.code,pre,kbd,samp{
  font-family:"Cascadia Mono","Segoe UI Mono",Consolas,monospace;
}
input[inputmode="numeric"],
input[type="number"],
.score-ring,
.stat-card,
.table,
.badge{
  font-variant-numeric:tabular-nums;
}

/* Long Arabic text */
.card p,
.alert,
.empty,
.document-review-card,
.assessment-question,
.consent-row,
.report-row{
  overflow-wrap:anywhere;
}

@media (max-width:900px){
  html{font-size:15.5px}
  .topbar h1{font-size:1.35rem}
  .sidebar nav a{font-size:.93rem}
  .table th{font-size:.83rem}
  .table td{font-size:.89rem}
}

@media (max-width:560px){
  html{font-size:15px}
  body{line-height:1.68}
  .topbar h1{font-size:1.25rem}
  .topbar p{font-size:.78rem}
  .card-head h2,.card-head h3{font-size:1.16rem}
  .form-group label{font-size:.9rem}
  .input,.select,.textarea,input,select,textarea{font-size:1rem}
  .btn{font-size:.91rem}
  .guest-hero h1{font-size:2rem}
  .login-title{font-size:1.4rem}
}

@media print{
  html,body{font-family:var(--font-ui-ar);font-size:11pt;line-height:1.55}
  h1{font-size:18pt}h2{font-size:15pt}h3{font-size:13pt}
  .table th,.table td{font-size:9.5pt;line-height:1.45}
}
