/* IBM Plex Sans Arabic, Arabic glyphs only. License: ../fonts/ibm-plex-sans-arabic/OFL.txt */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/ibm-plex-sans-arabic/ibm-plex-sans-arabic-v15-arabic-400.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/ibm-plex-sans-arabic/ibm-plex-sans-arabic-v15-arabic-500.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/ibm-plex-sans-arabic/ibm-plex-sans-arabic-v15-arabic-600.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/ibm-plex-sans-arabic/ibm-plex-sans-arabic-v15-arabic-700.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

/* Shared usability and bidirectional layout. Business tables retain their full data. */
.ui-text { display: inline !important; color: inherit !important; font: inherit !important; }
.skip-link { position: fixed; inset-block-start: -100px; inset-inline-start: 16px; z-index: 3000; padding: 12px 18px; background: white; color: #182230; }
.skip-link:focus { inset-block-start: 12px; }
.language-switcher { display:flex; align-items:center; gap:4px; margin:0; }
.language-switcher button, .language-switcher a { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:6px 10px; border:1px solid #bccad4; border-radius:6px; color:#182230; background:white; font:inherit; cursor:pointer; text-decoration:none; }
.language-switcher button[aria-pressed="true"], .language-switcher a[aria-current="page"] { background:#1b6e79; color:white; border-color:#1b6e79; }
.account-menu { position:relative; }
.account-menu summary { list-style:none; cursor:pointer; border-radius:50%; }
.account-menu summary::-webkit-details-marker { display:none; }
.account-menu-panel { position:absolute; inset-inline-end:0; inset-block-start:calc(100% + 12px); z-index:1040; width:250px; padding:20px; display:grid; gap:16px; background:#fff; border:1px solid #ced8e2; border-radius:10px; box-shadow:0 12px 36px #18223026; }
.topbar-actions { flex-shrink:0; }
.global-search { min-width:0; }
.global-search input { min-width:0; }
.global-search button { flex-shrink:0; }
.mobile-menu-toggle { display:none; }
.table-pagination { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px; flex-wrap:wrap; }
.table-pagination>div { display:flex; gap:8px; }
.optional-details { margin-block:16px; padding:12px 16px; background:#f5f8fa; border:1px solid #d8e1e8; border-radius:8px; }
.optional-details summary { cursor:pointer; font-weight:650; padding-block:4px; }
.optional-details[open] summary { margin-block-end:14px; }
.readonly-summary { font-size:13px; color:#637083; }
.readonly-summary input[readonly] { border:0; background:transparent; padding:0; min-height:26px; font-size:13px; }
.field-hint { display:block; margin-block:5px 0; font-size:12px; color:#526171; font-weight:400; }
.required-marker { color:#992f32; font-size:12px; font-weight:600; margin-inline-start:6px; }
.field-error { display:block; color:#a72431; font-size:13px; margin-block-start:6px; font-weight:500; }
[aria-invalid="true"] { border-color:#ae2a37 !important; }
.form-error-summary { border:1px solid #b33b42; background:#fff5f5; padding:16px; border-radius:8px; margin-block-end:20px; color:#80222a; }
.form-error-summary ul { margin-block:8px 0; padding-inline-start:20px; }
.form-error-summary a { color:inherit; text-decoration:underline; }
.select-search { margin-block-end:12px; }
.select-search input { width:100%; }
.select-search-count { display:block; font-size:13px; color:#526171; margin-block-start:4px; }
.draft-dialog { color:#182230; border:1px solid #cbd6df; border-radius:12px; width:min(460px,calc(100vw - 32px)); padding:24px; box-shadow:0 20px 70px #0003; }
.draft-dialog::backdrop { background:#15223899; }
.draft-dialog h2 { font-size:21px; margin:0 0 12px; }
.draft-dialog .form-actions { display:flex; justify-content:flex-end; gap:10px; margin-block-start:20px; flex-wrap:wrap; }
.quick-actions { display:flex; flex-wrap:wrap; gap:10px; margin-block-end:22px; }
.setup-checklist { display:flex; flex-wrap:wrap; gap:12px; margin-block:16px; padding:18px; background:#ecf5f3; border:1px solid #bdd9d2; border-radius:10px; }
.setup-checklist a { display:flex; align-items:center; gap:8px; color:#155a63; font-weight:600; }
.document-feedback { margin-block:10px; }
.document-progress { width:100%; }
.modal-footer { gap:10px; flex-wrap:wrap; }
.modal-footer-note { flex:1 1 220px; min-width:0; }
.modal-footer>button { flex-shrink:0; }
input[type="tel"],input[type="email"],input[inputmode="numeric"],input[inputmode="decimal"],input[type="date"],input[type="number"],bdi { direction:ltr; unicode-bidi:isolate; }
[dir="rtl"] body { font-family:'IBM Plex Sans Arabic',Tahoma,'Segoe UI',Arial,sans-serif; }
[dir="rtl"] body :is(button,input,select,textarea) { font-family:inherit; }
/* Contain positioned accessibility labels within horizontally scrolling RTL tables. */
[dir="rtl"] .table-shell { position:relative; }
[dir="rtl"] .data-table th,[dir="rtl"] .data-table td,[dir="rtl"] .filter-bar label,[dir="rtl"] .modal-body,[dir="rtl"] .page-heading,[dir="rtl"] .stacked-form { text-align:start; }
[dir="rtl"] .modal-header .btn-close { margin-left:0; margin-right:auto; }
[dir="rtl"] .form-section-heading>span { flex-shrink:0; }
[dir="rtl"] .global-search>span { transform:scaleX(-1); }
[dir="rtl"] .sidebar-note { text-align:start; }
[dir="rtl"] .landing-nav,[dir="rtl"] .hero-copy { text-align:start; }
:focus-visible { outline:3px solid #287dad; outline-offset:3px; }
@media(max-width:900px) {
  .app-shell { display:block !important; }
  .sidebar { display:none !important; }
  .sidebar.mobile-open { display:flex !important; position:fixed; inset:74px 12px auto; width:auto !important; max-height:calc(100dvh - 90px); overflow-y:auto; z-index:1040; border-radius:12px; box-shadow:0 12px 48px #0005; padding:16px; }
  .sidebar.mobile-open .brand,.sidebar.mobile-open .sidebar-note { display:none; }
  .sidebar.mobile-open .side-nav { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
  .sidebar.mobile-open .nav-link { min-height:46px; }
  .mobile-menu-toggle { display:inline-flex; align-items:center; justify-content:center; min-height:44px; }
  .topbar { display:grid !important; grid-template-columns:auto minmax(0,1fr); gap:10px !important; padding:12px 16px !important; min-height:0 !important; }
  .topbar-actions { justify-content:space-between; min-width:0; width:100%; }
  .workspace-badge { min-width:0; max-width:calc(100vw - 160px); padding:3px 8px; }
  .workspace-badge strong { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .workspace-badge span { font-size:11px; }
  .global-search { grid-column:1 / -1; grid-row:2; width:100%; height:42px; }
  .global-search input { font-size:16px; }
  .content-area { min-width:0; padding:20px 16px !important; }
  .main-shell { min-width:0; }
  .heading-actions { gap:8px; }
  .heading-actions .btn-primary { order:-1; }
  .heading-actions .btn { min-height:44px; }
  .account-menu-panel { width:min(260px,calc(100vw - 32px)); }
  .modal { --bs-modal-margin:8px; }
  .modal-dialog { margin:8px; padding:0; }
  .modal-content { max-height:100%; }
  .modal-footer { display:flex; }
  .modal-footer-note { flex-basis:100%; font-size:12px; }
  .quick-actions .btn { flex:1 1 140px; }
}
@media print { .language-switcher,.mobile-menu-toggle,.account-menu,.skip-link,.quick-actions { display:none !important; } }
@media(max-width:650px) {
 .tenant-table,.tenant-table tbody { display:block;width:100%;min-width:0; }
 .tenant-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .tenant-table tr { display:block;border:1px solid #d5dfe7;border-radius:9px;padding:12px;margin-block-end:14px;background:#fff; }
 .tenant-table td { display:grid;grid-template-columns:90px minmax(0,1fr);gap:4px 10px;border:0;padding:7px 0;white-space:normal;overflow-wrap:anywhere; }
 .tenant-table td::before { content:attr(data-label);grid-row:1 / span 4;font-size:12px;font-weight:600;color:#637083; }
 .tenant-table td .record-actions { flex-wrap:wrap; }
 .tenant-table td .record-actions .btn { min-height:44px; }
}
[dir="rtl"] .sheet th,[dir="rtl"] .sheet td,[dir="rtl"] .print-table th,[dir="rtl"] .print-table td { text-align:start; }
