/* Workspace typography v26.
   Extends the approved type and text-colour hierarchy to every non-case page. */

#appShell {
  --ws-font:"WL Manrope","WL Vazirmatn","Segoe UI",Arial,sans-serif;
  --ws-text-primary:#001e60;
  --ws-text-secondary:#314a7c;
  --ws-text-muted:#7181a5;
  --ws-text-subtle:#98a4bc;
  --ws-text-disabled:#c1c9d8;
  --ws-link:#165dcc;
  font-family:var(--ws-font)!important;
  font-style:normal;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

#appShell :is(button,input,select,textarea) {
  font-family:inherit!important;
  font-style:normal!important;
  letter-spacing:0;
}

#appShell :is([lang="fa"],[lang="ar"],[dir="rtl"]) {
  font-family:"WL Vazirmatn",Tahoma,sans-serif!important;
  font-style:normal!important;
  letter-spacing:0!important;
}

:is(#page-dashboard,#page-catalog,#page-contracts,#page-vouchers,#page-travelers,#page-users,#page-generic) {
  --gray-900:var(--ws-text-primary);
  --gray-700:var(--ws-text-secondary);
  --gray-500:var(--ws-text-muted);
  --gray-400:var(--ws-text-subtle);
  --color-text-primary:var(--ws-text-primary);
  --color-text-secondary:var(--ws-text-secondary);
  --color-text-muted:var(--ws-text-muted);
  color:var(--ws-text-secondary);
  font-family:var(--ws-font)!important;
  font-size:14px;
  font-style:normal;
  font-weight:400;
  line-height:1.5;
  letter-spacing:0;
}

:is(#page-dashboard,#page-catalog,#page-contracts,#page-vouchers,#page-travelers,#page-users,#page-generic) :is(em) {
  font-style:normal!important;
}

/* Shared page hierarchy. */
:is(#page-catalog,#page-contracts,#page-vouchers,#page-travelers,#page-users,#page-generic) h1 {
  color:var(--ws-text-primary)!important;
  font-size:24px!important;
  font-style:normal!important;
  font-weight:700!important;
  line-height:32px!important;
  letter-spacing:-.02em!important;
}

:is(#page-catalog,#page-contracts,#page-vouchers,#page-travelers,#page-users,#page-generic) h2 {
  color:var(--ws-text-primary)!important;
  font-size:17px!important;
  font-style:normal!important;
  font-weight:600!important;
  line-height:24px!important;
  letter-spacing:-.01em!important;
}

:is(#page-catalog,#page-contracts,#page-vouchers,#page-travelers,#page-users,#page-generic) h3 {
  color:var(--ws-text-primary)!important;
  font-size:15px!important;
  font-style:normal!important;
  font-weight:600!important;
  line-height:22px!important;
  letter-spacing:-.01em!important;
}

:is(#page-catalog,#page-contracts,#page-vouchers,#page-travelers,#page-users) .eyebrow {
  color:var(--ws-text-muted)!important;
  font-size:12px!important;
  font-style:normal!important;
  font-weight:600!important;
  line-height:17px!important;
  letter-spacing:.025em!important;
}

:is(.workspace-module-head,.contracts-page-head,.travelers-hero,.settings-hero)>div>p:last-child,
#page-users .ai-settings-head p:last-child {
  color:var(--ws-text-muted)!important;
  font-size:13px!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:20px!important;
  letter-spacing:0!important;
}

:is(#page-dashboard,#page-catalog,#page-contracts,#page-vouchers,#page-travelers,#page-users) .button {
  font-size:14px!important;
  font-style:normal!important;
  font-weight:600!important;
  line-height:20px!important;
  letter-spacing:0!important;
}

:is(#page-dashboard,#page-catalog,#page-contracts,#page-vouchers,#page-travelers,#page-users) :is(input,select,textarea) {
  color:var(--ws-text-secondary)!important;
  font-size:14px!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:20px!important;
}

:is(#page-dashboard,#page-catalog,#page-contracts,#page-vouchers,#page-travelers,#page-users) :is(input,textarea)::placeholder {
  color:var(--ws-text-subtle)!important;
  font-style:normal!important;
  font-weight:400!important;
}

/* Shared module cards and tables. */
:is(#page-catalog,#page-vouchers) .module-card-head h2{font-size:17px!important;font-weight:600!important;line-height:24px!important}
:is(#page-catalog,#page-vouchers) .module-card-head p{color:var(--ws-text-muted)!important;font-size:13px!important;font-weight:400!important;line-height:20px!important}
:is(#page-catalog,#page-vouchers) .module-summary-grid span{color:var(--ws-text-muted)!important;font-size:12px!important;font-weight:600!important;line-height:17px!important;letter-spacing:.025em!important}
:is(#page-catalog,#page-vouchers) .module-summary-grid strong{color:var(--ws-text-primary)!important;font-size:24px!important;font-weight:700!important;line-height:32px!important;font-variant-numeric:tabular-nums}
:is(#page-catalog,#page-vouchers) .module-summary-grid small{color:var(--ws-text-subtle)!important;font-size:11px!important;font-weight:400!important;line-height:16px!important}
:is(#page-catalog,#page-vouchers) .module-filter-tabs button{color:var(--ws-text-secondary)!important;font-size:13px!important;font-weight:500!important;line-height:20px!important}
:is(#page-catalog,#page-vouchers) .module-filter-tabs button.is-active{color:var(--ws-text-primary)!important;font-weight:600!important}
:is(#page-catalog,#page-vouchers) .module-table th{color:var(--ws-text-muted)!important;font-size:11px!important;font-weight:600!important;line-height:16px!important;letter-spacing:.035em!important}
:is(#page-catalog,#page-vouchers) .module-table td{color:var(--ws-text-secondary)!important;font-size:13px!important;font-weight:400!important;line-height:20px!important}
:is(#page-catalog,#page-vouchers) .module-table td b{color:var(--ws-text-primary)!important;font-size:14px!important;font-weight:600!important;line-height:20px!important}
:is(#page-catalog,#page-vouchers) .module-table td small{color:var(--ws-text-muted)!important;font-size:11px!important;font-weight:400!important;line-height:16px!important}
:is(#page-catalog,#page-vouchers) .module-row-actions button{font-size:13px!important;font-weight:600!important;line-height:20px!important}
:is(#page-catalog,#page-vouchers) .module-status{font-size:11px!important;font-weight:600!important;line-height:16px!important;letter-spacing:0!important}

/* Catalog. */
#page-catalog .country-chip b{color:var(--ws-text-primary)!important;font-size:14px!important;font-weight:600!important;line-height:20px!important}
#page-catalog .country-chip small{color:var(--ws-text-muted)!important;font-size:11px!important;font-weight:400!important;line-height:16px!important}
#page-catalog .country-code{color:var(--ws-text-secondary)!important;font-size:12px!important;font-weight:700!important;line-height:17px!important}
#page-catalog .catalog-ai-head p{color:var(--ws-text-muted)!important;font-size:13px!important;font-weight:400!important;line-height:20px!important}

/* Voucher cards. Semantic badge colours remain unchanged. */
#page-vouchers .voucher-type-card h3{color:var(--ws-text-primary)!important;font-size:15px!important;font-weight:600!important;line-height:22px!important}
#page-vouchers .voucher-type-card p{color:var(--ws-text-muted)!important;font-size:13px!important;font-weight:400!important;line-height:20px!important}
#page-vouchers .voucher-type-card>strong{font-size:18px!important;font-weight:700!important;line-height:25px!important;font-variant-numeric:tabular-nums}
#page-vouchers .voucher-type-card footer small{color:var(--ws-text-subtle)!important;font-size:11px!important;font-weight:400!important;line-height:16px!important}
#page-vouchers .voucher-type-card footer button{font-size:13px!important;font-weight:600!important;line-height:20px!important}
#page-vouchers .voucher-kind{font-size:11px!important;font-weight:600!important;line-height:16px!important;letter-spacing:0!important}

/* Contract list. */
#page-contracts .contracts-status-switch button{color:var(--ws-text-secondary)!important;font-size:13px!important;font-style:normal!important;font-weight:500!important;line-height:20px!important}
#page-contracts .contracts-status-switch button.is-active{color:var(--ws-text-primary)!important;font-weight:600!important}
#page-contracts .contracts-search-popover>label{color:var(--ws-text-primary)!important;font-size:13px!important;font-weight:600!important;line-height:20px!important}
#page-contracts .contracts-search-popover>small{color:var(--ws-text-muted)!important;font-size:11px!important;font-weight:400!important;line-height:16px!important}
#page-contracts .contract-list-person-copy b{color:var(--ws-text-primary)!important;font-size:15px!important;font-style:normal!important;font-weight:600!important;line-height:22px!important}
#page-contracts .contract-list-person-copy span{color:var(--ws-text-muted)!important;font-size:11px!important;font-style:normal!important;font-weight:400!important;line-height:16px!important}
#page-contracts .contract-list-cell small{color:var(--ws-text-muted)!important;font-size:11px!important;font-style:normal!important;font-weight:600!important;line-height:16px!important;letter-spacing:.025em!important}
#page-contracts .contract-list-cell strong{color:var(--ws-text-secondary)!important;font-size:13px!important;font-style:normal!important;font-weight:500!important;line-height:20px!important}
#page-contracts .contract-assignment-popover>header b{color:var(--ws-text-primary)!important;font-size:14px!important;font-weight:600!important;line-height:20px!important}
#page-contracts .contract-assignment-popover>header small{color:var(--ws-text-muted)!important;font-size:11px!important;font-weight:400!important;line-height:16px!important}
#page-contracts .contract-assignment-option i{font-style:normal!important;font-weight:700!important}
#page-contracts .contract-assignment-option span{color:var(--ws-text-secondary)!important;font-size:11px!important;font-weight:500!important;line-height:16px!important}
#page-contracts .contract-delivery-date b{color:var(--ws-text-primary)!important;font-size:14px!important;font-weight:600!important;line-height:20px!important;font-variant-numeric:tabular-nums}
#page-contracts .contract-delivery-date small{color:var(--ws-text-muted)!important;font-size:11px!important;font-weight:600!important;line-height:16px!important;letter-spacing:.025em!important}

/* Travelers directory. */
#page-travelers .traveler-directory-count span{color:var(--ws-text-muted)!important;font-size:12px!important;font-weight:600!important;line-height:17px!important;letter-spacing:.025em!important}
#page-travelers .traveler-directory-count strong{color:var(--ws-text-primary)!important;font-size:24px!important;font-weight:700!important;line-height:32px!important;font-variant-numeric:tabular-nums}
#page-travelers .traveler-directory-table-head span{color:var(--ws-text-muted)!important;font-size:11px!important;font-weight:600!important;line-height:16px!important;letter-spacing:.035em!important}
#page-travelers .traveler-primary>b{color:var(--ws-text-primary)!important;font-size:14px!important;font-style:normal!important;font-weight:600!important;line-height:20px!important}
#page-travelers :is(.traveler-primary small,.traveler-primary em){color:var(--ws-text-muted)!important;font-size:11px!important;font-style:normal!important;font-weight:400!important;line-height:16px!important}
#page-travelers .traveler-contact small{color:var(--ws-text-secondary)!important;font-size:13px!important;font-weight:400!important;line-height:20px!important}
#page-travelers .traveler-contract-count{color:var(--ws-text-secondary)!important;font-size:13px!important;font-weight:400!important;line-height:20px!important}
#page-travelers .traveler-contract-count b{color:var(--ws-text-primary)!important;font-size:14px!important;font-weight:600!important;font-variant-numeric:tabular-nums}
#page-travelers .traveler-search-popover>label{color:var(--ws-text-primary)!important;font-size:13px!important;font-weight:600!important;line-height:20px!important}
#page-travelers .traveler-search-popover>small{color:var(--ws-text-muted)!important;font-size:11px!important;font-weight:400!important;line-height:16px!important}

/* Settings and users. */
#page-users .user-stat-grid span{color:var(--ws-text-muted)!important;font-size:12px!important;font-weight:600!important;line-height:17px!important}
#page-users .user-stat-grid strong{color:var(--ws-text-primary)!important;font-size:24px!important;font-weight:700!important;line-height:32px!important;font-variant-numeric:tabular-nums}
#page-users .user-table th{color:var(--ws-text-muted)!important;font-size:11px!important;font-weight:600!important;line-height:16px!important;letter-spacing:.035em!important}
#page-users .user-table td{color:var(--ws-text-secondary)!important;font-size:13px!important;font-weight:400!important;line-height:20px!important}
#page-users .user-identity b{color:var(--ws-text-primary)!important;font-size:14px!important;font-weight:600!important;line-height:20px!important}
#page-users :is(.user-identity span,.user-job-title){color:var(--ws-text-muted)!important;font-size:11px!important;font-weight:400!important;line-height:16px!important}
#page-users :is(.role-badge,.account-badge){font-size:11px!important;font-weight:600!important;line-height:16px!important;letter-spacing:0!important}
#page-users .access-summary{color:var(--ws-text-secondary)!important;font-size:13px!important;font-weight:400!important;line-height:20px!important}
#page-users .user-row-actions button{color:var(--ws-text-secondary)!important;font-size:13px!important;font-weight:600!important;line-height:20px!important}
#page-users .ai-settings-status{color:var(--ws-text-muted);font-size:13px;font-weight:400;line-height:20px}

/* Dashboard calendar. */
#page-dashboard .range-title strong{color:var(--ws-text-primary)!important;font-size:14px!important;font-style:normal!important;font-weight:600!important;line-height:20px!important;font-variant-numeric:tabular-nums}
#page-dashboard .range-title span{color:var(--ws-text-muted)!important;font-size:12px!important;font-style:normal!important;font-weight:400!important;line-height:17px!important}
#page-dashboard :is(.today-button,.view-switch button){color:var(--ws-text-secondary)!important;font-size:13px!important;font-style:normal!important;font-weight:500!important;line-height:20px!important}
#page-dashboard .view-switch button.is-active{color:#fff!important;font-weight:600!important}
#page-dashboard .day-label span{color:var(--ws-text-muted)!important;font-size:11px!important;font-style:normal!important;font-weight:600!important;line-height:16px!important;letter-spacing:.025em!important}
#page-dashboard .day-label strong{color:var(--ws-text-primary)!important;font-size:14px!important;font-style:normal!important;font-weight:600!important;line-height:20px!important;font-variant-numeric:tabular-nums}
#page-dashboard .day-head em{color:var(--ws-text-muted)!important;font-size:11px!important;font-style:normal!important;font-weight:400!important;line-height:16px!important}
#page-dashboard .case-title{color:var(--ws-text-primary)!important;font-size:14px!important;font-style:normal!important;font-weight:600!important;line-height:20px!important}
#page-dashboard .visa-line{color:var(--ws-text-muted)!important;font-size:11px!important;font-style:normal!important;font-weight:400!important;line-height:16px!important}
#page-dashboard .latest-action{color:var(--ws-text-secondary)!important;font-size:13px!important;font-style:normal!important;font-weight:500!important;line-height:20px!important}
#page-dashboard .card-footer{color:var(--ws-text-muted)!important;font-size:11px!important;font-style:normal!important;font-weight:400!important;line-height:16px!important;font-variant-numeric:tabular-nums}

/* Catalog, voucher and user modals follow the same roles. */
:is(.module-modal-card,#userModal .user-dialog){
  --ws-text-primary:#001e60;--ws-text-secondary:#314a7c;--ws-text-muted:#7181a5;--ws-text-subtle:#98a4bc;
  color:var(--ws-text-secondary);font-family:var(--ws-font,"WL Manrope","WL Vazirmatn","Segoe UI",Arial,sans-serif)!important;font-size:14px;font-style:normal;font-weight:400;line-height:1.5
}
:is(.module-modal-card,#userModal .user-dialog) :is(button,input,select,textarea){font-family:inherit!important;font-style:normal!important;letter-spacing:0}
:is(.module-modal-card,#userModal .user-dialog) h2{color:var(--ws-text-primary)!important;font-size:21px!important;font-style:normal!important;font-weight:700!important;line-height:28px!important;letter-spacing:-.015em!important}
:is(.module-modal-card,#userModal .user-dialog) h3{color:var(--ws-text-primary)!important;font-size:15px!important;font-style:normal!important;font-weight:600!important;line-height:22px!important}
:is(.module-modal-card,#userModal .user-dialog) .eyebrow{color:var(--ws-text-muted)!important;font-size:12px!important;font-style:normal!important;font-weight:600!important;line-height:17px!important;letter-spacing:.025em!important}
:is(.module-modal-card,#userModal .user-dialog) label{color:var(--ws-text-muted)!important;font-size:12px!important;font-style:normal!important;font-weight:600!important;line-height:17px!important}
:is(.module-modal-card,#userModal .user-dialog) :is(input,select,textarea){color:var(--ws-text-secondary)!important;font-size:14px!important;font-style:normal!important;font-weight:400!important;line-height:20px!important}

@media(max-width:1100px){
  :is(#page-catalog,#page-contracts,#page-vouchers,#page-travelers,#page-users,#page-generic) h1{font-size:22px!important;line-height:30px!important}
  :is(#page-catalog,#page-contracts,#page-vouchers,#page-travelers,#page-users) h2{font-size:16px!important;line-height:23px!important}
  :is(#page-catalog,#page-vouchers) .module-table td,#page-users .user-table td{font-size:12.5px!important;line-height:19px!important}
}

@media(max-width:767px){
  :is(#page-catalog,#page-contracts,#page-vouchers,#page-travelers,#page-users,#page-generic) h1{font-size:19px!important;line-height:27px!important}
  :is(#page-catalog,#page-contracts,#page-vouchers,#page-travelers,#page-users) h2{font-size:16px!important;line-height:23px!important}
  :is(#page-dashboard,#page-catalog,#page-contracts,#page-vouchers,#page-travelers,#page-users) .button{min-height:44px}
  :is(.module-modal-card,#userModal .user-dialog) h2{font-size:18px!important;line-height:25px!important}
}
