/*
 * Makeen ERP responsive layer V20.9
 * Mobile/tablet ergonomics plus targeted print-density refinements; business logic is unchanged.
 */

:root {
  --erp-visual-height: 100dvh;
  --erp-safe-top: env(safe-area-inset-top, 0px);
  --erp-safe-right: env(safe-area-inset-right, 0px);
  --erp-safe-bottom: env(safe-area-inset-bottom, 0px);
  --erp-safe-left: env(safe-area-inset-left, 0px);
  --erp-mobile-nav-height: 64px;
}

body.erp-responsive-v20 {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overscroll-behavior-x: none;
}

body.erp-responsive-v20.erp-sidebar-open { overflow: hidden !important; }

body.erp-responsive-v20 :where(button, [role="button"], .nav-item, .launcher-card, .pos-product-card) {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

body.erp-responsive-v20 :where(.page, .modal-box, .settings-card, .dash-card, .kpi-card) {
  overflow-wrap: anywhere;
}

/* A real scrolling region is added around data tables by erp-responsive-v20.js. */
body.erp-responsive-v20 .erp-table-scroll {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin-block: 8px 14px;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid var(--line, #d8e0e8);
  border-radius: var(--r-lg, 14px);
  background: var(--surface, #fff);
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
  scrollbar-gutter: stable;
}

body.erp-responsive-v20 .erp-table-scroll:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--brand, #456f73) 28%, transparent);
  outline-offset: 2px;
}

body.erp-responsive-v20 .erp-table-scroll > table {
  display: table !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  overflow: visible !important;
  white-space: normal;
  box-shadow: none !important;
  border-radius: 0 !important;
}

body.erp-responsive-v20 .erp-table-scroll.is-overflowing::after {
  content: "مرّر لعرض بقية الأعمدة";
  position: sticky;
  right: 10px;
  bottom: 8px;
  display: inline-flex;
  width: max-content;
  margin: 8px;
  padding: 5px 9px;
  border: 1px solid color-mix(in srgb, var(--brand, #456f73) 18%, var(--line, #d8e0e8));
  border-radius: 999px;
  color: var(--ink-soft, #4b5d5f);
  background: color-mix(in srgb, var(--surface, #fff) 88%, transparent);
  box-shadow: 0 4px 14px rgba(8, 25, 42, .10);
  backdrop-filter: blur(12px);
  font-size:calc(10/14*var(--app-font-size));
  font-weight: 800;
  pointer-events: none;
  opacity: .92;
  transition: opacity .2s ease;
}

body.erp-responsive-v20 .erp-table-scroll.has-been-scrolled::after {
  opacity: 0;
}

body.erp-responsive-v20 table.erp-table-medium { min-width: 560px; }
body.erp-responsive-v20 table.erp-table-wide { min-width: 760px; }
body.erp-responsive-v20 table.erp-table-ultrawide { min-width: 980px; }

body.ui-v19.erp-responsive-v20 #appScreen,
body.ui-v19.erp-responsive-v20 #launcherScreen,
body.ui-v19.erp-responsive-v20 #launcherGroupScreen,
body.ui-v19.erp-responsive-v20 #posScreen {
  min-height: var(--erp-visual-height);
  max-height: var(--erp-visual-height);
}

body.ui-v19.erp-responsive-v20 .erp-mobile-form-row {
  min-width: 0;
  flex-wrap: wrap !important;
}

body.ui-v19.erp-responsive-v20 .erp-mobile-form-row > * {
  min-width: min(180px, 100%) !important;
  max-width: 100%;
}

body.ui-v19.erp-responsive-v20 .v192-open-screens {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

body.ui-v19.erp-responsive-v20 .v192-open-screens > * {
  flex: 0 0 auto;
}

@media (max-width: 980px) {
  body.ui-v19.erp-responsive-v20 #appScreen .main {
    padding-top: max(var(--v19-page-pad, 14px), var(--erp-safe-top)) !important;
    padding-right: max(var(--v19-page-pad, 14px), var(--erp-safe-right)) !important;
    padding-bottom: max(var(--v19-page-pad, 14px), var(--erp-safe-bottom)) !important;
    padding-left: max(var(--v19-page-pad, 14px), var(--erp-safe-left)) !important;
  }

  body.ui-v19.erp-responsive-v20 #appScreen .sidebar {
    padding-top: var(--erp-safe-top) !important;
    padding-bottom: var(--erp-safe-bottom) !important;
    z-index: 1201 !important;
    box-shadow: -16px 0 42px rgba(3, 12, 24, .24) !important;
  }

  /* Normal navigation owns a real off-canvas drawer. Launcher/large-button
     mode has its own navigation and must never expose this sidebar. */
  body.ui-v19.erp-responsive-v20:not(.launcher-nav-mode) #appScreen #mainSidebar.mobile-open {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    right: 0 !important;
    left: auto !important;
    display: flex !important;
    visibility: visible !important;
    width: min(82vw, 300px) !important;
    min-width: min(82vw, 300px) !important;
    max-width: 300px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
    height: var(--erp-visual-height) !important;
    z-index: 1201 !important;
  }

  html[dir="rtl"] body.ui-v19.erp-responsive-v20:not(.launcher-nav-mode) #appScreen:not(.sidebar-left) #mainSidebar.mobile-open {
    right: 0 !important;
    left: auto !important;
    margin: 0 !important;
    translate: none !important;
    transform: none !important;
  }

  body.ui-v19.erp-responsive-v20:not(.launcher-nav-mode) #appScreen.sidebar-left #mainSidebar.mobile-open,
  html[dir="ltr"] body.ui-v19.erp-responsive-v20:not(.launcher-nav-mode) #appScreen #mainSidebar.mobile-open {
    right: auto !important;
    left: 0 !important;
    transform: translateX(0) !important;
  }

  body.ui-v19.erp-responsive-v20.launcher-nav-mode #appScreen #mainSidebar,
  body.ui-v19.erp-responsive-v20.launcher-nav-mode #appScreen #mainSidebar.mobile-open {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    pointer-events: none !important;
    transform: translateX(110%) !important;
  }

  body.ui-v19.erp-responsive-v20.launcher-nav-mode #mobileSidebarToggle,
  body.ui-v19.erp-responsive-v20.launcher-nav-mode #sidebarBackdrop,
  body.ui-v19.erp-responsive-v20.launcher-nav-mode #sidebarBackdrop.show {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.ui-v19.erp-responsive-v20 #appScreen.sidebar-left .sidebar,
  html[dir="ltr"] body.ui-v19.erp-responsive-v20 #appScreen .sidebar {
    box-shadow: 16px 0 42px rgba(3, 12, 24, .24) !important;
  }

  body.ui-v19.erp-responsive-v20 #sidebarBackdrop {
    z-index: 1200 !important;
    background: rgba(3, 12, 24, .48) !important;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
  }

  body.ui-v19.erp-responsive-v20 #mobileSidebarToggle {
    position: sticky;
    top: 0;
    z-index: 88;
    display: inline-flex !important;
    width: fit-content;
    min-height: 46px !important;
    margin: 0 0 10px !important;
    padding-inline: 16px !important;
    background: color-mix(in srgb, var(--surface, #fff) 92%, transparent) !important;
    box-shadow: 0 8px 22px rgba(5, 18, 38, .12);
    backdrop-filter: blur(18px) saturate(150%);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
  }

  body.ui-v19.erp-responsive-v20 #sidebarBackdrop.show {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.ui-v19.erp-responsive-v20 .roles-layout,
  body.ui-v19.erp-responsive-v20 .settings-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.ui-v19.erp-responsive-v20 :where(.role-sidebar, .settings-sidebar) {
    position: static !important;
    width: 100% !important;
    max-height: none !important;
  }

  body.ui-v19.erp-responsive-v20 .perm-cards {
    grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)) !important;
  }

  body.ui-v19.erp-responsive-v20 :where(.list-filters-row, .dash-period-bar, .dashboard-filterbar) {
    max-width: 100%;
  }

  body.ui-v19.erp-responsive-v20 .erp-table-scroll > table.erp-table-wide { min-width: 720px; }
  body.ui-v19.erp-responsive-v20 .erp-table-scroll > table.erp-table-ultrawide { min-width: 900px; }
}

/* Primary sales actions stay in the requested order and in one row. */
body.ui-v19.erp-responsive-v20 #page-sales-invoices .erp-sales-primary-actions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: min(100%, 570px);
  min-width: 0;
  flex-wrap: nowrap !important;
}

body.ui-v19.erp-responsive-v20 #page-sales-invoices .erp-sales-primary-actions > button {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding-inline: 10px !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 720px) {
  body.ui-v19.erp-responsive-v20 {
    --erp-mobile-control: 48px;
  }

  body.ui-v19.erp-responsive-v20 #loginScreen > div:first-child {
    top: max(8px, var(--erp-safe-top)) !important;
    right: max(8px, var(--erp-safe-right)) !important;
    left: max(8px, var(--erp-safe-left)) !important;
    width: auto;
    justify-content: space-between;
    gap: 6px !important;
  }

  body.ui-v19.erp-responsive-v20 #loginScreen > div:first-child > * {
    min-width: 0;
    min-height: 42px !important;
    padding-inline: 9px !important;
  }

  body.ui-v19.erp-responsive-v20 .login-form-panel {
    padding-top: max(72px, calc(var(--erp-safe-top) + 64px)) !important;
    padding-right: max(12px, var(--erp-safe-right)) !important;
    padding-bottom: max(16px, var(--erp-safe-bottom)) !important;
    padding-left: max(12px, var(--erp-safe-left)) !important;
  }

  body.ui-v19.erp-responsive-v20 .login-card {
    width: min(100%, 430px) !important;
    max-height: calc(var(--erp-visual-height) - 86px);
    overflow-y: auto;
  }

  body.ui-v19.erp-responsive-v20 :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    min-width: 0 !important;
    min-height: var(--erp-mobile-control) !important;
    font-size:calc(16/14*var(--app-font-size)) !important;
  }

  body.ui-v19.erp-responsive-v20 :where(button, .btn-primary, .btn-ghost, .btn-danger, .fs-toggle-btn) {
    min-height: 46px !important;
  }

  body.ui-v19.erp-responsive-v20 .page {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.ui-v19.erp-responsive-v20 .page-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  body.ui-v19.erp-responsive-v20 .page-head > :where(button, .btn-primary, .btn-ghost, .btn-danger, select, input) {
    width: 100% !important;
    max-width: none !important;
  }

  body.ui-v19.erp-responsive-v20 #page-sales-invoices .page-head {
    gap: 9px !important;
  }

  body.ui-v19.erp-responsive-v20 #page-sales-invoices .erp-sales-primary-actions {
    width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 5px !important;
  }

  body.ui-v19.erp-responsive-v20 #page-sales-invoices .erp-sales-primary-actions > button {
    min-width: 0 !important;
    min-height: 46px !important;
    padding-inline: 4px !important;
    font-size: clamp(9.5px, 2.8vw, 12px) !important;
    letter-spacing: -.02em;
  }

  body.ui-v19.erp-responsive-v20 .erp-mobile-form-row,
  body.ui-v19.erp-responsive-v20 :where(.list-filters-row, .inventory-issue-filters) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 9px !important;
  }

  body.ui-v19.erp-responsive-v20 :where(.erp-mobile-form-row, .list-filters-row, .inventory-issue-filters) > * {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }

  body.ui-v19.erp-responsive-v20 .page [style*="grid-template-columns:1fr 1fr"],
  body.ui-v19.erp-responsive-v20 .page [style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.ui-v19.erp-responsive-v20 :where(.settings-card, .dash-card, .kpi-card, .perm-panel) {
    width: 100% !important;
    padding: 14px !important;
  }

  body.ui-v19.erp-responsive-v20 :where(.pm-tabs, .tabs, .report-tabs, .mod-report-tabs, .scope-toggle, .dash-period-toggle) {
    display: flex !important;
    max-width: 100%;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 4px;
    scroll-snap-type: inline proximity;
    -webkit-overflow-scrolling: touch;
  }

  body.ui-v19.erp-responsive-v20 :where(.pm-tab, .tab-btn, .report-tab, .mod-report-tab, .dash-period-btn) {
    flex: 0 0 auto;
    scroll-snap-align: start;
    white-space: nowrap;
  }

  body.ui-v19.erp-responsive-v20 .dash-period-bar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  body.ui-v19.erp-responsive-v20 .dash-period-bar > span { display: none; }
  body.ui-v19.erp-responsive-v20 .dash-period-bar .dash-period-toggle { grid-column: 1 / -1; }

  body.ui-v19.erp-responsive-v20 .dashboard-filterbar {
    display: block !important;
  }

  body.ui-v19.erp-responsive-v20 .dashboard-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.ui-v19.erp-responsive-v20 .dashboard-actions > * {
    width: 100% !important;
    max-width: none !important;
  }

  body.ui-v19.erp-responsive-v20 .modal-overlay.open:not(:has(> .fullscreen-modal)):not(#salesInvoiceModal):not(#purchaseInvoiceModal) {
    align-items: flex-end !important;
    padding: 0 !important;
  }

  body.ui-v19.erp-responsive-v20 :where(#salesInvoiceModal, #purchaseInvoiceModal) {
    height: var(--erp-visual-height) !important;
    min-height: var(--erp-visual-height) !important;
    max-height: var(--erp-visual-height) !important;
  }

  body.ui-v19.erp-responsive-v20 .modal-overlay.open:not(:has(> .fullscreen-modal)):not(#salesInvoiceModal):not(#purchaseInvoiceModal) > .modal-box {
    width: 100% !important;
    max-width: none !important;
    max-height: min(94dvh, calc(var(--erp-visual-height) - var(--erp-safe-top))) !important;
    margin: 0 !important;
    padding: 18px 14px max(14px, var(--erp-safe-bottom)) !important;
    border-radius: 20px 20px 0 0 !important;
    overscroll-behavior-y: contain;
  }

  body.ui-v19.erp-responsive-v20 .modal-box:not(.fullscreen-modal) > .modal-actions {
    position: sticky;
    bottom: calc(-1 * max(14px, var(--erp-safe-bottom)));
    z-index: 5;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px !important;
    margin: 16px -14px 0 !important;
    padding: 10px 14px max(10px, var(--erp-safe-bottom)) !important;
    border-top: 1px solid var(--line);
    background: color-mix(in srgb, var(--surface) 92%, transparent);
    backdrop-filter: blur(18px) saturate(140%);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
  }

  body.ui-v19.erp-responsive-v20 .modal-box:not(.fullscreen-modal) > .modal-actions > * {
    min-width: 0 !important;
    width: 100% !important;
  }

  body.ui-v19.erp-responsive-v20 :where(.fs-sticky-header, .fs-scroll-body, .fs-sticky-footer) {
    padding-inline: 10px !important;
  }

  body.ui-v19.erp-responsive-v20 :where(.fs-sticky-footer, .si-summary-dock) {
    padding-bottom: max(9px, var(--erp-safe-bottom)) !important;
  }

  body.ui-v19.erp-responsive-v20 .si-compact-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.ui-v19.erp-responsive-v20 .si-lines-table-scroll,
  body.ui-v19.erp-responsive-v20 #purchaseInvoiceModal .fs-scroll-body {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
  }

  body.ui-v19.erp-responsive-v20 .si-footer-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.ui-v19.erp-responsive-v20 .si-action-buttons {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100%;
  }

  body.ui-v19.erp-responsive-v20 .si-action-buttons button { width: 100%; }

  body.ui-v19.erp-responsive-v20 .launcher-topbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 9px !important;
    padding-top: max(10px, var(--erp-safe-top)) !important;
    padding-right: max(10px, var(--erp-safe-right)) !important;
    padding-left: max(10px, var(--erp-safe-left)) !important;
  }

  body.ui-v19.erp-responsive-v20 .launcher-topbar > div {
    min-width: 0;
    max-width: 100%;
    flex-wrap: wrap;
  }

  body.ui-v19.erp-responsive-v20 .launcher-user-pill {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.ui-v19.erp-responsive-v20 #aiAssistantPanel {
    right: max(8px, var(--erp-safe-right)) !important;
    bottom: max(8px, var(--erp-safe-bottom)) !important;
    left: max(8px, var(--erp-safe-left)) !important;
    width: auto !important;
    height: min(640px, calc(var(--erp-visual-height) - var(--erp-safe-top) - 16px)) !important;
    max-height: none !important;
    border-radius: 18px !important;
  }

  body.ui-v19.erp-responsive-v20 :where(#aiAssistantBtn, #notifFloatingBtn, #vkbToggleBtn) {
    bottom: max(16px, var(--erp-safe-bottom)) !important;
  }

  body.ui-v19.erp-responsive-v20 #vkbPanel {
    max-height: min(58dvh, calc(var(--erp-visual-height) - var(--erp-safe-top))) !important;
    padding-right: max(8px, var(--erp-safe-right)) !important;
    padding-bottom: max(8px, var(--erp-safe-bottom)) !important;
    padding-left: max(8px, var(--erp-safe-left)) !important;
    overflow-y: auto;
  }

  body.ui-v19.erp-responsive-v20 .vkb-row {
    min-width: max-content;
  }

  body.ui-v19.erp-responsive-v20 .vkb-key {
    min-width: 32px !important;
    height: 44px !important;
  }

  body.ui-v19.erp-responsive-v20 .erp-table-scroll {
    margin-inline: 0;
    border-radius: 12px;
  }

  body.ui-v19.erp-responsive-v20 .erp-table-scroll > table.erp-table-medium { min-width: 540px; }
  body.ui-v19.erp-responsive-v20 .erp-table-scroll > table.erp-table-wide { min-width: 700px; }
  body.ui-v19.erp-responsive-v20 .erp-table-scroll > table.erp-table-ultrawide { min-width: 860px; }
}

/* Tablet kiosk input: the native OS keyboard is suppressed with readonly plus
   inputmode=none; JavaScript still writes through the program keyboard. */
body.erp-tablet-program-keyboard [data-erp-tablet-keyboard-lock] {
  cursor: text;
  opacity: 1;
  -webkit-user-select: text;
  user-select: text;
}

body.ui-v19.erp-responsive-v20.erp-tablet-program-keyboard #vkbToggleBtn.show,
body.ui-v2.erp-responsive-v20.erp-tablet-program-keyboard:has(#loginScreen.active) #vkbToggleBtn.show,
body.ui-v19.erp-responsive-v20.erp-tablet-program-keyboard:has(#posScreen.active) #vkbToggleBtn.show {
  z-index: 1300 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

body.ui-v19.erp-responsive-v20.erp-tablet-program-keyboard #vkbPanel {
  z-index: 1400 !important;
}

@media (max-width: 420px) {
  body.ui-v19.erp-responsive-v20 #loginScreen > div:first-child button {
    padding-inline: 7px !important;
    font-size:calc(10/14*var(--app-font-size)) !important;
  }

  body.ui-v19.erp-responsive-v20 .modal-box:not(.fullscreen-modal) > .modal-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  body.ui-v19.erp-responsive-v20 .launcher-grid {
    gap: 8px !important;
    padding-inline: 8px !important;
  }

  body.ui-v19.erp-responsive-v20 .launcher-card {
    min-width: 0;
    padding-inline: 6px !important;
  }
}

/* Mobile POS switches between the catalogue and the cart; both stay full-height. */
#erpMobilePosNav { display: none; }

@media (max-width: 760px) {
  body.ui-v19.erp-responsive-v20:has(#posScreen.active) :where(#aiAssistantBtn, #notifFloatingBtn, #vkbToggleBtn) {
    display: none !important;
  }

  body.ui-v19.erp-responsive-v20:has(#posScreen.active) #aiAssistantPanel {
    display: none !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.active {
    inset: 0 !important;
    display: flex !important;
    height: var(--erp-visual-height) !important;
    min-height: var(--erp-visual-height) !important;
    max-height: var(--erp-visual-height) !important;
    padding-bottom: calc(var(--erp-mobile-nav-height) + var(--erp-safe-bottom)) !important;
    overflow: hidden !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen .pos-topbar {
    position: relative !important;
    top: auto !important;
    flex: 0 0 auto;
    max-height: 34dvh;
    padding-top: max(7px, var(--erp-safe-top)) !important;
    overflow-y: auto;
  }

  body.ui-v19.erp-responsive-v20 #posScreen .pos-body {
    display: block !important;
    flex: 1 1 auto !important;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    padding: 6px !important;
    overflow: hidden !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen :where(.pos-products, .pos-cart) {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    border: 1px solid var(--line) !important;
    border-radius: 16px !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen .pos-products {
    display: flex !important;
    flex-direction: column;
    padding: 10px 8px !important;
    overflow: hidden !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen .pos-header-fixed { flex: 0 0 auto; }

  body.ui-v19.erp-responsive-v20 #posScreen .pos-grid-wrap {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
  }

  body.ui-v19.erp-responsive-v20 #posScreen .pos-cart {
    display: none !important;
    flex-direction: column;
    overflow: hidden !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-cart-open .pos-products { display: none !important; }
  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-cart-open .pos-cart { display: flex !important; }

  body.ui-v19.erp-responsive-v20 #posScreen .pos-cart-items {
    flex: 1 1 auto;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
  }

  body.ui-v19.erp-responsive-v20 #posScreen .pos-cart-footer {
    flex: 0 0 auto;
    max-height: min(48dvh, 390px);
    padding-bottom: max(8px, var(--erp-safe-bottom)) !important;
    overflow-y: auto;
  }

  body.ui-v19.erp-responsive-v20 #posScreen .pos-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.ui-v19.erp-responsive-v20 #erpMobilePosNav {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 80;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: calc(var(--erp-mobile-nav-height) + var(--erp-safe-bottom));
    padding: 7px max(8px, var(--erp-safe-right)) max(7px, var(--erp-safe-bottom)) max(8px, var(--erp-safe-left));
    gap: 8px;
    border-top: 1px solid var(--line);
    background: color-mix(in srgb, var(--surface) 94%, transparent);
    box-shadow: 0 -12px 30px rgba(5, 18, 38, .14);
    backdrop-filter: blur(22px) saturate(160%);
    -webkit-backdrop-filter: blur(22px) saturate(160%);
  }

  body.ui-v19.erp-responsive-v20 #erpMobilePosNav button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    min-height: 48px !important;
    padding: 6px 10px;
    border: 1px solid var(--line);
    border-radius: 13px !important;
    color: var(--ink-soft);
    background: var(--surface-muted);
    font: inherit;
    font-weight: 800;
  }

  body.ui-v19.erp-responsive-v20 #erpMobilePosNav button.active {
    color: var(--v19-on-base, #fff);
    background: var(--brand);
    border-color: var(--brand);
  }

  body.ui-v19.erp-responsive-v20 #erpMobilePosNav .erp-pos-nav-meta {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size:calc(11/14*var(--app-font-size));
  }
}

@media (max-width: 370px) {
  body.ui-v19.erp-responsive-v20 :where(.si-meta-grid, .si-compact-fields, #purchaseInvoiceModal .si-compact-fields) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen .pos-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Super Admin receives the same drawer/table/modal behavior. */
body.erp-admin-shell #appScreen {
  width: 100%;
  height: var(--erp-visual-height);
  min-height: var(--erp-visual-height);
  overflow: hidden;
}

body.erp-admin-shell #appScreen .main {
  min-width: 0;
}

#erpAdminNavToggle,
#erpAdminSidebarBackdrop,
#erpAdminSidebarClose { display: none; }

@media (max-width: 900px) {
  body.erp-admin-shell #appScreen { display: block !important; }

  body.erp-admin-shell #appScreen .main {
    width: 100%;
    height: var(--erp-visual-height);
    padding: max(14px, var(--erp-safe-top)) max(14px, var(--erp-safe-right)) max(14px, var(--erp-safe-bottom)) max(14px, var(--erp-safe-left));
    overflow-x: hidden;
    overflow-y: auto;
  }

  body.erp-admin-shell #appScreen .sidebar {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    width: min(84vw, 300px);
    height: var(--erp-visual-height);
    padding-top: var(--erp-safe-top);
    padding-bottom: var(--erp-safe-bottom);
    transform: translateX(110%);
    transition: transform .22s ease;
    box-shadow: -16px 0 42px rgba(3, 12, 24, .26);
  }

  body.erp-admin-shell #appScreen .sidebar.mobile-open { transform: translateX(0); }

  body.erp-admin-shell #erpAdminSidebarClose {
    position: absolute;
    top: max(10px, var(--erp-safe-top));
    left: 10px;
    z-index: 3;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 50%;
    color: var(--ink-soft);
    background: var(--paper);
    font: inherit;
    font-size:calc(16/14*var(--app-font-size));
  }

  body.erp-admin-shell #erpAdminSidebarBackdrop {
    position: fixed;
    inset: 0;
    z-index: 999;
    display: block;
    visibility: hidden;
    opacity: 0;
    background: rgba(3, 12, 24, .48);
    backdrop-filter: blur(3px);
    transition: opacity .2s ease, visibility .2s ease;
  }

  body.erp-admin-shell #erpAdminSidebarBackdrop.show {
    visibility: visible;
    opacity: 1;
  }

  body.erp-admin-shell #erpAdminNavToggle {
    position: sticky;
    top: 0;
    z-index: 80;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 46px;
    margin-bottom: 14px;
    padding: 9px 15px;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--brand-dark);
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 8px 22px rgba(5, 18, 38, .12);
    backdrop-filter: blur(18px);
    font: inherit;
    font-weight: 800;
  }

  body.erp-admin-shell .page-head { gap: 10px; flex-wrap: wrap; }
  body.erp-admin-shell .erp-mobile-form-row { flex-wrap: wrap !important; }
  body.erp-admin-shell .erp-mobile-form-row > * { min-width: min(180px, 100%) !important; }
  body.erp-admin-shell table.erp-table-medium { min-width: 560px; }
  body.erp-admin-shell table.erp-table-wide { min-width: 760px; }
  body.erp-admin-shell table.erp-table-ultrawide { min-width: 940px; }
}

@media (max-width: 680px) {
  body.erp-admin-shell #loginScreen {
    padding: max(12px, var(--erp-safe-top)) max(12px, var(--erp-safe-right)) max(12px, var(--erp-safe-bottom)) max(12px, var(--erp-safe-left));
  }

  body.erp-admin-shell .login-card { padding: 24px 18px; }

  body.erp-admin-shell :where(input, select, textarea) {
    min-height: 48px;
    font-size:calc(16/14*var(--app-font-size));
  }

  body.erp-admin-shell :where(button, .btn-primary, .btn-ghost, .btn-danger) { min-height: 46px; }

  body.erp-admin-shell .page-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  body.erp-admin-shell .page-head > :where(button, select, input) { width: 100%; }

  body.erp-admin-shell .erp-mobile-form-row,
  body.erp-admin-shell #page-subscriptions > div[style*="display:flex"] {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 9px !important;
  }

  body.erp-admin-shell .erp-mobile-form-row > *,
  body.erp-admin-shell #page-subscriptions > div[style*="display:flex"] > * {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body.erp-admin-shell #page-dashboard > div[style*="grid-template-columns"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.erp-admin-shell .modal-overlay.open {
    align-items: flex-end;
    padding: 0;
  }

  body.erp-admin-shell .modal-box {
    width: 100%;
    max-width: none;
    max-height: min(94dvh, calc(var(--erp-visual-height) - var(--erp-safe-top)));
    margin: 0;
    padding: 18px 14px max(14px, var(--erp-safe-bottom));
    border-radius: 20px 20px 0 0;
  }

  body.erp-admin-shell .modal-actions {
    position: sticky;
    bottom: calc(-1 * max(14px, var(--erp-safe-bottom)));
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 10px 0 max(10px, var(--erp-safe-bottom));
    background: rgba(255, 255, 255, .94);
  }

  body.erp-admin-shell .modal-actions > * { width: 100%; min-width: 0; }
}

/* Program keyboard: keep the physical key order readable in an RTL interface. */
body.erp-responsive-v20 #vkbKeysArea .vkb-row {
  direction: ltr !important;
}

body.erp-responsive-v20 #vkbKeysArea .erp-vkb-symbol-row {
  padding-top: 2px;
  border-top: 1px solid color-mix(in srgb, var(--line, #d8e0e8) 72%, transparent);
}

body.erp-responsive-v20 #vkbKeysArea .erp-vkb-symbol-row .vkb-key {
  max-width: 46px;
  font-size:calc(13/14*var(--app-font-size));
}

body.ui-v19.erp-responsive-v20.erp-phone-document-keyboard #vkbToggleBtn.show,
body.ui-v19.erp-responsive-v20.erp-phone-document-keyboard:has(#posScreen.active) #vkbToggleBtn.show,
body.ui-v19.erp-responsive-v20.erp-phone-document-keyboard:has(.erp-compact-document-modal.open) #vkbToggleBtn.show {
  z-index: 1300 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* Document panes are a mobile space-saving control; desktop remains unchanged. */
.erp-invoice-tabs { display: none; }
.erp-removed-purchase-field { display: none !important; }

@media (max-width: 760px) {
  body.ui-v19.erp-responsive-v20 .erp-compact-document-modal.open {
    inset: 0 !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    width: 100vw !important;
    height: var(--erp-visual-height) !important;
    padding: 0 !important;
  }

  body.ui-v19.erp-responsive-v20 .erp-compact-document-modal.open > .modal-box {
    width: 100vw !important;
    height: var(--erp-visual-height) !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 5px 6px max(5px, var(--erp-safe-bottom)) !important;
    overflow-y: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  body.ui-v19.erp-responsive-v20 :where(#salesInvoiceModal,#purchaseInvoiceModal).erp-compact-document-modal > .modal-box {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.ui-v19.erp-responsive-v20 .erp-invoice-tabs {
    z-index: 15;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    flex: 0 0 34px;
    gap: 4px;
    width: 100%;
    min-height: 34px;
    padding: 3px 5px;
    border-block: 1px solid var(--line);
    background: var(--surface);
  }

  body.ui-v19.erp-responsive-v20 .erp-invoice-tabs button {
    min-width: 0 !important;
    min-height: 27px !important;
    height: 27px !important;
    padding: 2px 6px !important;
    border: 1px solid var(--line);
    border-radius: 8px !important;
    color: var(--ink-soft);
    background: var(--surface-muted);
    font: inherit;
    font-size:calc(9/14*var(--app-font-size)) !important;
    font-weight: 850;
  }

  body.ui-v19.erp-responsive-v20 .erp-invoice-tabs button.active {
    color: #fff;
    border-color: var(--brand);
    background: var(--brand);
  }

  body.ui-v19.erp-responsive-v20 .erp-compact-document-modal[data-erp-document-tab="items"] [data-erp-document-pane="summary"],
  body.ui-v19.erp-responsive-v20 .erp-compact-document-modal[data-erp-document-tab="summary"] [data-erp-document-pane="items"] {
    display: none !important;
  }

  body.ui-v19.erp-responsive-v20 :where(#salesInvoiceModal,#purchaseInvoiceModal)[data-erp-document-tab="items"] [data-erp-document-pane="items"],
  body.ui-v19.erp-responsive-v20 :where(#salesInvoiceModal,#purchaseInvoiceModal)[data-erp-document-tab="summary"] [data-erp-document-pane="summary"] {
    display: block !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: auto !important;
  }

  body.ui-v19.erp-responsive-v20 :where(#salesInvoiceModal,#purchaseInvoiceModal) .fs-sticky-header {
    position: relative !important;
    inset: auto !important;
    flex: 0 0 auto !important;
    padding: max(3px, var(--erp-safe-top)) 6px 4px !important;
  }

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-titlebar {
    min-height: 22px !important;
    margin: 0 !important;
  }

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal :where(.si-title-icon,.si-eyebrow,.si-draft-state) {
    display: none !important;
  }

  body.ui-v19.erp-responsive-v20 :where(#salesInvoiceModal,#purchaseInvoiceModal) h2 {
    margin: 0 !important;
    font-size:calc(11/14*var(--app-font-size)) !important;
    line-height: 1.25 !important;
  }

  /* فاتورة المبيعات مستثناة عمدًا: العميل/الفرع/المستودع/التاريخ تبقى بصف واحد، فالتضييق هنا
     يخص فاتورة الشراء فقط (حقولها أكثر). */
  body.ui-v19.erp-responsive-v20 #purchaseInvoiceModal .si-compact-fields {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 3px !important;
    margin-top: 2px !important;
  }

  body.ui-v19.erp-responsive-v20 :where(#salesInvoiceModal,#purchaseInvoiceModal) .si-meta-field,
  body.ui-v19.erp-responsive-v20 #purchaseInvoiceModal .si-compact-fields > div {
    min-width: 0 !important;
    padding: 1px 2px !important;
    margin: 0 !important;
  }

  body.ui-v19.erp-responsive-v20 :where(#salesInvoiceModal,#purchaseInvoiceModal) label {
    margin: 0 0 1px !important;
    font-size:calc(7.5/14*var(--app-font-size)) !important;
    line-height: 1.2 !important;
  }

  body.ui-v19.erp-responsive-v20 :where(#salesInvoiceModal,#purchaseInvoiceModal) :where(input:not([type="checkbox"]),select,textarea,.searchable-select-input) {
    min-height: 29px !important;
    height: 29px !important;
    padding: 3px 5px !important;
    border-radius: 7px !important;
    font-size:calc(10/14*var(--app-font-size)) !important;
  }

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-add-customer {
    width: 30px !important;
    min-width: 30px !important;
    min-height: 29px !important;
    height: 29px !important;
    padding: 0 !important;
  }

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-add-customer span,
  body.ui-v19.erp-responsive-v20 #purchaseInvoiceModal .fs-toggle-btn {
    font-size: 0 !important;
  }

  body.ui-v19.erp-responsive-v20 #purchaseInvoiceModal .fs-toggle-btn {
    width: 31px !important;
    min-width: 31px !important;
    min-height: 29px !important;
    height: 29px !important;
    padding: 0 !important;
  }

  body.ui-v19.erp-responsive-v20 :where(#salesInvoiceModal,#purchaseInvoiceModal) .fs-scroll-body {
    padding: 4px 5px !important;
  }

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-product-entry {
    margin: 0 0 4px !important;
    padding: 4px !important;
  }

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal :where(.si-section-head,.si-lines-heading) {
    min-height: 0 !important;
    margin-bottom: 3px !important;
    padding: 0 !important;
  }

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal :where(.si-section-kicker,.si-section-head h3,.si-scan-hint,.si-lines-heading > span:last-child) {
    display: none !important;
  }

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-lines-shell {
    min-height: 0 !important;
    padding: 4px !important;
  }

  body.ui-v19.erp-responsive-v20 :where(#salesInvoiceModal,#purchaseInvoiceModal) .invoice-lines {
    min-width: 440px !important;
    margin: 0 !important;
    font-size:calc(9/14*var(--app-font-size)) !important;
  }

  body.ui-v19.erp-responsive-v20 :where(#salesInvoiceModal,#purchaseInvoiceModal) .invoice-lines :where(th,td) {
    height: auto !important;
    padding: 3px !important;
    font-size:calc(8/14*var(--app-font-size)) !important;
  }

  body.ui-v19.erp-responsive-v20 .invoice-lines .erp-mobile-tax-column {
    display: none !important;
  }

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-line-actions {
    gap: 4px !important;
    padding-top: 3px !important;
  }

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-line-actions button,
  body.ui-v19.erp-responsive-v20 #purchaseInvoiceModal .fs-scroll-body > button {
    min-height: 30px !important;
    height: 30px !important;
    padding: 3px 7px !important;
    font-size:calc(8.5/14*var(--app-font-size)) !important;
  }

  body.ui-v19.erp-responsive-v20 :where(#salesInvoiceModal,#purchaseInvoiceModal) .fs-sticky-footer {
    position: relative !important;
    inset: auto !important;
    padding: 7px 8px max(7px, var(--erp-safe-bottom)) !important;
  }

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 6px !important;
  }

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal :where(.si-footer-left,.si-footer-right) {
    width: 100% !important;
    gap: 5px !important;
  }

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .invoice-totals,
  body.ui-v19.erp-responsive-v20 #purchaseInvoiceModal .invoice-totals {
    gap: 3px !important;
    padding: 5px !important;
    font-size:calc(9/14*var(--app-font-size)) !important;
  }

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-shortcuts { display: none !important; }

  body.ui-v19.erp-responsive-v20 .erp-simple-document-modal > .modal-box > h2 {
    margin: 0 0 4px !important;
    font-size:calc(13/14*var(--app-font-size)) !important;
  }

  body.ui-v19.erp-responsive-v20 .erp-simple-document-modal > .modal-box > .erp-invoice-tabs {
    position: sticky;
    top: -5px;
    margin: 0 0 5px;
  }

  body.ui-v19.erp-responsive-v20 .erp-simple-document-modal[data-erp-document-tab="summary"] [data-erp-document-pane="summary"] {
    display: block !important;
  }
}

/* Mobile POS: remove the search band and halve catalogue density automatically. */
@media (max-width: 760px) {
  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact {
    font-size:calc(9/14*var(--app-font-size)) !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-topbar {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    flex: 0 0 auto !important;
    gap: 3px !important;
    max-height: none !important;
    min-height: 0 !important;
    padding: max(2px, var(--erp-safe-top)) 3px 3px !important;
    overflow: visible !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-topbar-main {
    gap: 2px !important;
    padding: 0 !important;
    background: transparent !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact :where(.pos-brand-mark,.pos-topbar-actions) {
    display: none !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-topbar-main button {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 0 !important;
    font-size:calc(9/14*var(--app-font-size)) !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-context-controls {
    grid-column: 2 !important;
    display: grid !important;
    grid-template-columns: minmax(82px, 1.6fr) 26px repeat(2, minmax(58px, 1fr)) !important;
    gap: 2px !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-context-controls > label > span {
    display: none !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-context-controls :where(select,button) {
    width: 100% !important;
    min-width: 0 !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 2px 3px !important;
    border-radius: 6px !important;
    font-size:calc(8/14*var(--app-font-size)) !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-body {
    padding: 3px !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-products {
    padding: 3px !important;
    border-radius: 9px !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-products-headline,
  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-search-row,
  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-unit-modal-overlay:not(.open) {
    display: none !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-cat-tabs-row {
    height: 31px !important;
    min-height: 31px !important;
    gap: 3px !important;
    margin: 0 0 3px !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-cat-tabs-row.erp-empty-pos-categories {
    display: none !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-cat-nav-btn {
    display: none !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact :where(#posCatAllTab,.pos-cat-tabs) {
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact :where(.pos-cat-tab,.pos-cat-nav-btn) {
    min-width: 42px !important;
    height: 29px !important;
    min-height: 29px !important;
    padding: 2px 5px !important;
    border-radius: 6px !important;
    font-size:calc(7.5/14*var(--app-font-size)) !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-grid-wrap {
    overflow-y: auto !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-grid,
  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-grid.pos-grid-fill {
    display: grid !important;
    grid-template-columns: repeat(var(--erp-pos-cols, 4), minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    grid-auto-flow: row !important;
    grid-auto-rows: 88px !important;
    align-content: start !important;
    gap: 4px !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-product-card,
  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-grid.pos-grid-fill .pos-product-card {
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    align-content: center !important;
    justify-items: stretch !important;
    width: 100% !important;
    height: 88px !important;
    min-height: 88px !important;
    margin: 0 !important;
    gap: 3px !important;
    padding: 6px 4px !important;
    overflow: hidden !important;
    border-radius: 9px !important;
    border: 1px solid color-mix(in srgb, var(--brand) 13%, var(--line)) !important;
    background: color-mix(in srgb, var(--surface) 97%, var(--brand-tint)) !important;
    box-shadow: 0 4px 10px rgba(5, 18, 38, .07) !important;
    text-align: center !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact :where(.pos-product-visual,.pos-hot-badge,.pos-p-stock) {
    display: none !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-product-card .pos-p-name {
    min-height: 0 !important;
    margin: 0 !important;
    display: -webkit-box !important;
    min-height: calc(3em * 1.25) !important;
    max-height: calc(3em * 1.25) !important;
    font-size:calc(9.5/14*var(--app-font-size)) !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow: hidden !important;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    text-align: center !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-product-meta {
    justify-content: center !important;
    font-size:calc(8/14*var(--app-font-size)) !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-p-price {
    padding: 1px 3px !important;
    font-size:calc(8/14*var(--app-font-size)) !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-grid-pager {
    min-height: 25px !important;
    padding: 2px 0 !important;
    font-size:calc(7/14*var(--app-font-size)) !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-grid-pager button {
    min-height: 24px !important;
    height: 24px !important;
    padding: 1px 5px !important;
    font-size:calc(7/14*var(--app-font-size)) !important;
  }

  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact #erpMobilePosNav button {
    font-size:calc(9/14*var(--app-font-size)) !important;
  }
}

/* Tailoring order uses the full viewport and a dense multi-column workspace. */
body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact {
  inset: 0 !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  padding: 0 !important;
}

body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact > .modal-box {
  position: fixed !important;
  inset: 0 !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto auto !important;
  gap: 3px !important;
  width: 100vw !important;
  height: var(--erp-visual-height) !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 5px 7px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  animation: none !important;
  transform: none !important;
}

body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact > .modal-box > h2 {
  min-height: 25px !important;
  margin: 0 !important;
  padding: 1px 2px 3px !important;
  font-size:calc(14/14*var(--app-font-size)) !important;
}

body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact .v197-tailoring-body {
  display: grid !important;
  grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(185px, .75fr)) !important;
  grid-template-rows: auto repeat(3, auto) !important;
  align-content: start !important;
  gap: 4px !important;
  min-height: 0 !important;
  overflow: auto !important;
}

body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact .v197-tailoring-customer {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
}

body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact .v197-tailoring-core {
  grid-column: 1 !important;
  grid-row: 2 / span 3 !important;
  display: block !important;
}

body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact .v197-tailoring-piece { grid-column: 2 !important; grid-row: 2 !important; }
body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact .v197-tailoring-responsible { grid-column: 3 !important; grid-row: 2 !important; }
body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact .v197-tailoring-materials { grid-column: 2 !important; grid-row: 3 !important; }
body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact .v197-tailoring-finance { grid-column: 3 !important; grid-row: 3 / span 2 !important; }
/* v27.4.7 — قسم "تفاصيل الموديل والتفصيل" أصبح عنصرًا مستقلًا على مستوى v197-tailoring-body (لم يعد متداخلًا
   داخل v197-tailoring-core) لإتاحة تصميم شاشة سطح المكتب الجديد (عمود مستقل للثوب في الوسط). في نمط "compact"
   (شاشات أضيق من 1000px) لا تعريف خاص له هنا سابقًا، فيسقط بترتيب تلقائي قد يتداخل مع عناصر أخرى — نضيف له
   صفًا خامسًا صريحًا بعرض كامل بعد "finance" بدل الاعتماد على الترتيب التلقائي. */
body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact .v197-tailoring-body { grid-template-rows: auto repeat(3, auto) auto !important; }
body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact .v197-tailoring-style { grid-column: 1 / -1 !important; grid-row: 5 !important; }

body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact #toMenDiagramWrap {
  display: none !important;
}

body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact .to-section-block {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 4px 5px !important;
  border-radius: 7px !important;
}

body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact .to-section-block h4 {
  margin: 0 0 3px !important;
  font-size:calc(9.5/14*var(--app-font-size)) !important;
  line-height: 1.2 !important;
}

body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact :where(.to-grid-3,.v197-tailoring-customer .to-grid-3) {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 3px !important;
}

body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact .v197-tailoring-customer .to-grid-3 {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact #toMeasurementsGrid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 2px !important;
  margin-top: 3px !important;
}

body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact .field {
  min-width: 0 !important;
  margin: 0 !important;
}

body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact .field label {
  display: block;
  margin: 0 0 1px !important;
  overflow: hidden;
  font-size:calc(8/14*var(--app-font-size)) !important;
  line-height: 1.15 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact :where(input,select,button) {
  min-width: 0 !important;
  min-height: 28px !important;
  height: 28px !important;
  padding: 2px 4px !important;
  font-size:calc(9/14*var(--app-font-size)) !important;
}

body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact :where(.vop-row,#vopStitch) {
  gap: 3px !important;
  margin: 2px 0 3px !important;
}

body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact .vop-item {
  min-width: 48px !important;
  max-width: 72px !important;
  min-height: 28px !important;
  padding: 2px !important;
  font-size:calc(7/14*var(--app-font-size)) !important;
}

body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact #toTotalsSummary {
  margin-top: 3px !important;
  padding: 4px 6px !important;
  font-size:calc(9/14*var(--app-font-size)) !important;
}

body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact > .modal-box > .modal-actions {
  min-height: 31px !important;
  margin: 0 !important;
  padding: 2px 0 0 !important;
}

body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact > .modal-box > .modal-actions button {
  min-height: 28px !important;
  height: 28px !important;
  padding: 2px 10px !important;
  font-size:calc(9/14*var(--app-font-size)) !important;
}

@media (max-width: 920px) {
  body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact .v197-tailoring-body {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto !important;
  }
  /* v27.4.7: :where() → :is() — :where() له خصوصية صفر دائمًا، فكانت هذه القاعدة تخسر أمام القواعد
     الأساسية الفردية (.v197-tailoring-core{grid-column:1!important;...} وأخواتها، خصوصية 1 معرّف+4
     أصناف) رغم ظهورها لاحقًا في الملف ورغم !important (الخصوصية تُحسم أولًا داخل طبقة !important نفسها).
     لم تظهر المشكلة سابقًا لأن v197-tailoring-core لم يكن يُطبَّق أصلًا (محدِّد :has() معطوب في
     ui-v19.js)، فتفعيله الآن لأول مرة (هذا الإصدار) كشف هذا الخلل الكامن. :is() يرث خصوصية أقوى وسيطه،
     فيساوي خصوصية القواعد الأساسية تمامًا ويكسب بترتيب الظهور كما هو متوقَّع. */
  body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact :is(.v197-tailoring-customer,.v197-tailoring-core,.v197-tailoring-style) {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }
  body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact :is(.v197-tailoring-piece,.v197-tailoring-responsible,.v197-tailoring-materials,.v197-tailoring-finance) {
    grid-column: auto !important;
    grid-row: auto !important;
  }
  body.ui-v19.erp-responsive-v20 #tailoringOrderModal.erp-tailoring-compact .v197-tailoring-customer .to-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Existing mobile-first portals receive safe-area and narrow-screen refinements. */
@media (max-width: 520px) {
  body.erp-employee-shell .top { gap: 10px; flex-wrap: wrap; }
  body.erp-employee-shell .top > .btn { width: 100%; }
  body.erp-employee-shell .hero { flex-direction: column; }
  body.erp-employee-shell .hero-stat { width: 100%; }
  body.erp-employee-shell .cards { grid-template-columns: minmax(0, 1fr); }
  body.erp-employee-shell .actions { grid-template-columns: minmax(0, 1fr); }
  body.erp-employee-shell .bottom { padding-bottom: max(7px, var(--erp-safe-bottom)); }

  body.erp-signup-shell main { margin: 0 auto !important; padding: max(12px, var(--erp-safe-top)) max(12px, var(--erp-safe-right)) max(12px, var(--erp-safe-bottom)) max(12px, var(--erp-safe-left)) !important; }
  body.erp-signup-shell .card { padding: 20px 16px !important; border-radius: 18px !important; }
  body.erp-signup-shell :where(input, select, button) { font-size:calc(16/14*var(--app-font-size)) !important; }
}

@media (min-width: 600px) and (max-width: 1100px) {
  body.erp-order-shell .ord-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 1080px;
    margin-inline: auto;
  }

  body.erp-order-shell .ord-cats,
  body.erp-order-shell .ord-tabs,
  body.erp-order-shell .ord-my-order { max-width: 1080px; margin-inline: auto; }

  body.erp-order-shell .ord-modal-overlay { align-items: center; justify-content: center; padding: 24px; }
  body.erp-order-shell .ord-modal { width: min(680px, 100%); border-radius: 22px; }
}

@media (max-width: 599px) {
  body.erp-order-shell { padding-bottom: calc(90px + var(--erp-safe-bottom)); }
  body.erp-order-shell .ord-header { padding-top: max(22px, calc(var(--erp-safe-top) + 12px)); }
  body.erp-order-shell .ord-cart-bar { padding-bottom: max(16px, var(--erp-safe-bottom)); }
  body.erp-order-shell .ord-modal { padding-bottom: max(22px, var(--erp-safe-bottom)); }
  body.erp-order-shell :where(button, input, select, textarea) { min-height: 46px; font-size:calc(16/14*var(--app-font-size)); }
}

@media (orientation: landscape) and (max-width: 980px) and (max-height: 600px) {
  body.ui-v19.erp-responsive-v20 #appScreen .sidebar { width: min(48vw, 310px) !important; }
  body.ui-v19.erp-responsive-v20 .modal-overlay.open:not(:has(> .fullscreen-modal)) > .modal-box { max-height: 96dvh !important; }
  body.ui-v19.erp-responsive-v20 #posScreen .pos-topbar { max-height: 42dvh; }
  body.erp-admin-shell #appScreen .sidebar { width: min(48vw, 310px); }
}

@media (pointer: coarse) {
  body.erp-responsive-v20 :where(button, [role="button"], input, select, textarea, .nav-item, .settings-tab) {
    min-height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.erp-responsive-v20 *,
  body.erp-responsive-v20 *::before,
  body.erp-responsive-v20 *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Formal A4 vouchers share one accounting-grade, monochrome layout. */
#printInvoiceArea.format-a4.erp-official-print-area,
#printInvoiceArea.format-a4:has(.erp-official-voucher) {
  display: block !important;
  width: 210mm !important;
  min-height: 297mm !important;
  padding: 10mm 11mm !important;
  border: 0 !important;
  outline: 0 !important;
  color: #111827 !important;
  background: #fff !important;
  box-shadow: none !important;
}

#printInvoiceArea .erp-official-voucher,
#printInvoiceArea .erp-official-voucher * {
  box-sizing: border-box;
  color: #111827;
  font-family: var(--app-font, "Segoe UI", sans-serif);
}

#printInvoiceArea .erp-official-voucher {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 272mm;
  margin: 0;
  padding: 0;
  font-size: 11.5px;
}

#printInvoiceArea .erp-official-header {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(230px, .85fr);
  gap: 10px 18px;
  padding-bottom: 10px;
  border-bottom: 2px solid #111827;
}

#printInvoiceArea .erp-official-company {
  display: flex;
  align-items: center;
  gap: 11px;
}

#printInvoiceArea .erp-official-company img,
#printInvoiceArea .erp-official-logo {
  display: grid;
  flex: 0 0 58px;
  place-items: center;
  width: 58px;
  height: 58px;
  object-fit: contain;
  border: 1px solid #9ca3af;
}

#printInvoiceArea .erp-official-logo { font-size: 15px; font-weight: 900; letter-spacing: 1px; }
#printInvoiceArea .erp-official-company h1 { margin: 0 0 3px; font-size: 18px; }
#printInvoiceArea .erp-official-company p { margin: 1px 0; color: #4b5563; font-size: 9.5px; }

#printInvoiceArea .erp-official-title {
  position: relative;
  padding: 7px 10px;
  border: 1.5px solid #111827;
  text-align: center;
}

#printInvoiceArea .erp-official-title > span {
  position: absolute;
  top: -9px;
  left: 9px;
  padding: 2px 7px;
  border: 1px solid #111827;
  background: #fff;
  font-size: 8px;
  font-weight: 800;
}

#printInvoiceArea .erp-official-title h2 { margin: 2px 0 0; font-size: 20px; }
#printInvoiceArea .erp-official-title p { margin: 1px 0 5px; color: #4b5563; font-size: 8.5px; letter-spacing: .8px; }
#printInvoiceArea .erp-official-title strong { display: block; padding-top: 4px; border-top: 1px solid #d1d5db; font-family: "IBM Plex Mono", monospace; font-size: 12px; }
#printInvoiceArea .erp-official-contact { grid-column: 1 / -1; color: #4b5563; font-size: 9px; text-align: center; }

#printInvoiceArea .erp-official-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 12px 0;
  border: 1px solid #9ca3af;
}

#printInvoiceArea .erp-official-meta > div {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  min-height: 34px;
  border-inline-end: 1px solid #d1d5db;
  border-bottom: 1px solid #d1d5db;
}

#printInvoiceArea .erp-official-meta > div:nth-child(3n) { border-inline-end: 0; }
#printInvoiceArea .erp-official-meta > div:nth-last-child(-n + 3) { border-bottom: 0; }
#printInvoiceArea .erp-official-meta span { display: flex; align-items: center; padding: 6px; color: #4b5563; background: #f3f4f6; font-size: 9px; font-weight: 700; }
#printInvoiceArea .erp-official-meta strong { display: flex; align-items: center; padding: 6px; font-size: 10px; }

#printInvoiceArea .erp-official-party {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  align-items: center;
  min-height: 45px;
  margin-bottom: 9px;
  border: 1px solid #9ca3af;
}

#printInvoiceArea .erp-official-party span { align-self: stretch; display: flex; align-items: center; padding: 8px 10px; background: #f3f4f6; font-weight: 750; }
#printInvoiceArea .erp-official-party strong { padding: 8px 12px; font-size: 13px; }

#printInvoiceArea .erp-official-amount {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  margin-bottom: 12px;
  border: 2px solid #111827;
}

#printInvoiceArea .erp-official-amount > div { min-height: 62px; padding: 8px 11px; }
#printInvoiceArea .erp-official-amount > div + div { border-inline-start: 1px solid #9ca3af; }
#printInvoiceArea .erp-official-amount span { display: block; margin-bottom: 5px; color: #4b5563; font-size: 8.5px; font-weight: 750; }
#printInvoiceArea .erp-official-amount strong { font-size: 12px; line-height: 1.65; }
#printInvoiceArea .erp-official-amount > div:first-child strong { font-family: "IBM Plex Mono", monospace; font-size: 20px; }
#printInvoiceArea .erp-official-amount small { font-family: inherit; font-size: 9px; }

#printInvoiceArea table.erp-official-details {
  width: 100%;
  margin: 0 0 10px;
  border: 1px solid #6b7280;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 10px;
}

#printInvoiceArea .erp-official-details th,
#printInvoiceArea .erp-official-details td {
  padding: 7px 6px;
  border: 1px solid #d1d5db;
  text-align: right;
}

#printInvoiceArea .erp-official-details th { color: #111827; background: #e5e7eb; font-weight: 850; }
#printInvoiceArea .erp-official-details th:last-child,
#printInvoiceArea .erp-official-details td:last-child { width: 105px; text-align: center; }
#printInvoiceArea .erp-official-details tfoot td { background: #f3f4f6; font-weight: 900; }
#printInvoiceArea .erp-official-inventory .erp-official-details th:first-child { width: 32px; }

#printInvoiceArea .erp-official-notes {
  min-height: 54px;
  margin-bottom: 9px;
  padding: 7px 10px;
  border: 1px solid #9ca3af;
}

#printInvoiceArea .erp-official-notes span { display: block; margin-bottom: 3px; color: #4b5563; font-size: 8.5px; font-weight: 800; }
#printInvoiceArea .erp-official-notes p { margin: 0; line-height: 1.7; }

#printInvoiceArea .erp-official-control {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding: 6px 9px;
  border: 1px dashed #6b7280;
  color: #374151;
  font-size: 8.5px;
}

#printInvoiceArea .erp-official-signatures {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: auto;
  padding-top: 22px;
}

#printInvoiceArea .erp-official-signatures > div { min-height: 63px; text-align: center; }
#printInvoiceArea .erp-official-signatures span { display: block; font-size: 9.5px; font-weight: 800; }
#printInvoiceArea .erp-official-signatures i { display: block; height: 33px; margin: 4px 0; border-bottom: 1px solid #6b7280; }
#printInvoiceArea .erp-official-signatures small { color: #6b7280; font-size: 7.5px; }
#printInvoiceArea .erp-official-voucher > footer { margin-top: 12px; padding-top: 6px; border-top: 1px solid #d1d5db; color: #6b7280; font-size: 8px; text-align: center; }

/* V20.3 system-owned dialogs replace browser alert/confirm/prompt surfaces. */
.erp-program-dialog {
  position: fixed;
  inset: 0;
  z-index: 1900;
  display: none;
  place-items: center;
  padding: max(14px, var(--erp-safe-top)) max(14px, var(--erp-safe-right)) max(14px, var(--erp-safe-bottom)) max(14px, var(--erp-safe-left));
  background: rgba(4, 12, 23, .54);
  backdrop-filter: blur(9px) saturate(125%);
  -webkit-backdrop-filter: blur(9px) saturate(125%);
}

.erp-program-dialog.open { display: grid; }

.erp-program-dialog-card {
  width: min(430px, 100%);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--brand) 20%, var(--line));
  border-radius: 20px;
  color: var(--ink);
  background: var(--surface-raised, #fff);
  box-shadow: 0 30px 80px rgba(2, 10, 22, .34), 0 3px 12px rgba(2, 10, 22, .16);
  animation: erpDialogIn .2s ease-out;
}

@keyframes erpDialogIn {
  from { opacity: 0; transform: translateY(16px) scale(.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.erp-program-dialog-card > header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 17px 18px 11px;
}

.erp-program-dialog-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 11px;
  color: #fff;
  background: linear-gradient(145deg, var(--brand), var(--brand-dark));
  box-shadow: 0 8px 18px color-mix(in srgb, var(--brand) 28%, transparent);
  font-weight: 900;
}

.erp-program-dialog-card h2 { margin: 0; font-size:calc(16/14*var(--app-font-size)); }
.erp-program-dialog-message { padding: 3px 18px 18px; white-space: pre-wrap; line-height: 1.8; color: var(--ink-soft); }
.erp-program-dialog-input { display: grid; gap: 5px; padding: 0 18px 16px; }
.erp-program-dialog-input[hidden] { display: none !important; }
.erp-program-dialog-input > span { font-size:calc(11/14*var(--app-font-size)); font-weight: 800; color: var(--ink-soft); }
.erp-program-dialog-input input { width: 100%; }
.erp-program-dialog-card > footer {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 12px 18px max(14px, var(--erp-safe-bottom));
  border-top: 1px solid var(--line);
  background: var(--surface-muted);
}
.erp-program-dialog-card > footer button:only-child { grid-column: 1 / -1; }
.erp-program-dialog-card > footer button[hidden] { display: none !important; }
.erp-program-dialog-card > footer button[hidden] + button { grid-column: 1 / -1; }

/* The tablet keyboards must stay above the in-app dialog that owns the field. */
body.erp-global-tablet-keyboard #vkbPanel { z-index: 2200 !important; }
body.erp-global-tablet-keyboard #vkbToggleBtn { z-index: 2210 !important; }
body.erp-global-tablet-keyboard #numericKeypadBackdrop { z-index: 2300 !important; }
body.erp-global-tablet-keyboard #numericKeypadFloat { z-index: 2301 !important; direction: rtl; }

/* Cairo is the application default; numeric columns retain their tabular mono font. */
html[data-erp-default-font="Cairo"] body,
html[data-erp-default-font="Cairo"] body :where(button,input,select,textarea,table) {
  font-family: var(--app-font, "Cairo", "Segoe UI", sans-serif) !important;
}
html[data-erp-default-font="Cairo"] body .num { font-family: "IBM Plex Mono", monospace !important; }

/* More orderly invoice/POS workspaces on medium tablet widths. */
@media (min-width: 761px) and (max-width: 1180px) {
  body.ui-v19.erp-responsive-v20 :where(#salesInvoiceModal,#purchaseInvoiceModal) .fs-sticky-header {
    padding: 10px 12px 8px !important;
    border-bottom: 1px solid var(--line);
  }
  /* فاتورة المبيعات مستثناة عمدًا هنا أيضًا لنفس السبب أعلاه — تبقى بصف واحد على عرض اللابتوب
     المتوسط بدل الالتفاف لسطرين. */
  body.ui-v19.erp-responsive-v20 #purchaseInvoiceModal .si-compact-fields {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }
  body.ui-v19.erp-responsive-v20 :where(#salesInvoiceModal,#purchaseInvoiceModal) .fs-scroll-body {
    padding: 9px 11px !important;
    background: color-mix(in srgb, var(--paper) 94%, var(--brand-tint));
  }
  body.ui-v19.erp-responsive-v20 :where(#salesInvoiceModal,#purchaseInvoiceModal) .fs-sticky-footer {
    padding: 9px 12px !important;
    border-top: 1px solid var(--line);
  }
  body.ui-v19.erp-responsive-v20 #posScreen .pos-body {
    display: grid !important;
    grid-template-columns: minmax(290px, 34%) minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 8px !important;
  }
  body.ui-v19.erp-responsive-v20 #posScreen :where(.pos-cart,.pos-products) {
    min-width: 0 !important;
    border: 1px solid var(--line) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }
  body.ui-v19.erp-responsive-v20 #posScreen .pos-grid {
    grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)) !important;
    grid-auto-rows: 108px !important;
    gap: 8px !important;
  }
  body.ui-v19.erp-responsive-v20 #posScreen .pos-product-card {
    width: 100% !important;
    height: 108px !important;
    min-height: 108px !important;
    margin: 0 !important;
  }
}

/* The mobile drawer is intentionally slimmer and denser. */
@media (max-width: 540px) {
  body.ui-v19.erp-responsive-v20:not(.launcher-nav-mode) #appScreen #mainSidebar.mobile-open {
    width: min(76vw, 270px) !important;
    min-width: min(76vw, 270px) !important;
    max-width: 270px !important;
  }
  body.ui-v19.erp-responsive-v20 #mainSidebar :where(.sidebar-head,.sidebar-foot) { padding: 12px 11px !important; }
  body.ui-v19.erp-responsive-v20 #mainSidebar .company { font-size:calc(13/14*var(--app-font-size)) !important; }
  body.ui-v19.erp-responsive-v20 #mainSidebar :where(.company-en,.uemail) { font-size:calc(8.5/14*var(--app-font-size)) !important; }
  body.ui-v19.erp-responsive-v20 #mainSidebar .nav-group-label {
    min-height: 39px !important;
    padding: 7px 9px !important;
    font-size:calc(10.5/14*var(--app-font-size)) !important;
  }
  body.ui-v19.erp-responsive-v20 #mainSidebar .nav-item {
    min-height: 37px !important;
    padding: 6px 10px !important;
    font-size:calc(10/14*var(--app-font-size)) !important;
  }
  body.ui-v19.erp-responsive-v20 #mainSidebar .nav-icon { font-size:calc(11/14*var(--app-font-size)) !important; }
  body.ui-v19.erp-responsive-v20 #uiThemeToggle { display: none !important; }
}

/* Stable report surface: keep it in the DOM until afterprint to prevent blank sheets. */
#landscapePrintArea .erp-report-print-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
  padding-bottom: 9px;
  border-bottom: 2px solid #111827;
}
#landscapePrintArea .erp-report-print-header > div { display: flex; align-items: center; gap: 9px; }
#landscapePrintArea .erp-report-print-header img { width: 44px; height: 44px; object-fit: contain; }
#landscapePrintArea .erp-report-print-header span { display: grid; gap: 2px; }
#landscapePrintArea .erp-report-print-header strong { font-size: 14px; }
#landscapePrintArea .erp-report-print-header small { color: #4b5563; font-size: 9px; }
#landscapePrintArea .erp-report-print-content table { width: 100% !important; border-collapse: collapse !important; }
#landscapePrintArea .erp-report-print-content :where(th,td) { border: 1px solid #9ca3af !important; padding: 5px 6px !important; color: #111827 !important; }
#landscapePrintArea .erp-report-print-content th { background: #e5e7eb !important; font-weight: 850; }

@media print {
  #erpMobilePosNav,
  #erpAdminNavToggle,
  #erpAdminSidebarBackdrop,
  #sidebarBackdrop,
  #vkbToggleBtn,
  #vkbPanel,
  #numericKeypadBackdrop,
  #notifFloatingBtn,
  #aiAssistantBtn,
  #aiAssistantPanel,
  body.erp-responsive-v20 .erp-table-scroll::after { display: none !important; }

  body.erp-responsive-v20 .erp-table-scroll {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: visible !important;
    border: 0 !important;
  }

  body.erp-responsive-v20 .erp-table-scroll > table { min-width: 0 !important; }

  body.erp-landscape-printing > *:not(#landscapePrintArea) { display: none !important; }
  body.erp-landscape-printing #landscapePrintArea,
  body.erp-landscape-printing #landscapePrintArea * { visibility: visible !important; }
  body.erp-landscape-printing #landscapePrintArea {
    display: block !important;
    position: static !important;
    inset: auto !important;
    width: 297mm !important;
    margin: 0 !important;
    padding: 9mm !important;
    color: #111827 !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }
}

/* V20.4: one-click silent-print launcher in the printing settings. */
body.ui-v19.erp-responsive-v20 .erp-silent-print-card {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px 16px;
  border-color: color-mix(in srgb, var(--brand) 24%, var(--line)) !important;
  background: linear-gradient(145deg, color-mix(in srgb, var(--brand-tint) 56%, var(--surface)), var(--surface)) !important;
}

body.ui-v19.erp-responsive-v20 .erp-silent-print-card .settings-card-title { margin: 0 !important; }
body.ui-v19.erp-responsive-v20 .erp-silent-print-card .settings-card-title small {
  color: var(--brand);
  font-size:calc(9/14*var(--app-font-size));
  font-weight: 850;
}
body.ui-v19.erp-responsive-v20 .erp-silent-print-status {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 11px;
  border: 1px solid color-mix(in srgb, var(--brand) 22%, var(--line));
  border-radius: 999px;
  color: var(--brand-dark);
  background: color-mix(in srgb, var(--brand-tint) 68%, var(--surface));
  font-size:calc(10/14*var(--app-font-size));
  font-weight: 800;
}
body.ui-v19.erp-responsive-v20 .erp-silent-print-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(230px, 1.15fr) minmax(210px, .85fr);
  gap: 8px;
}
body.ui-v19.erp-responsive-v20 .erp-silent-print-actions :where(a,button) {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 12px;
  border-radius: 11px;
  font: 800 11px var(--app-font, Cairo, sans-serif);
  text-align: center;
  text-decoration: none;
}

@media (max-width: 720px) {
  body.ui-v19.erp-responsive-v20 .erp-silent-print-card { grid-template-columns: 1fr; }
  body.ui-v19.erp-responsive-v20 .erp-silent-print-status { width: 100%; border-radius: 12px; }
  body.ui-v19.erp-responsive-v20 .erp-silent-print-actions { grid-template-columns: 1fr; }
}

/* V20.5: tax mode for quotations and orders. */
body.ui-v19.erp-responsive-v20 .erp-preinvoice-tax-mode {
  min-width: 0;
}
body.ui-v19.erp-responsive-v20 .erp-preinvoice-tax-mode > small {
  display: block;
  margin-top: 3px;
  color: var(--ink-faint);
  font-size:calc(9.5/14*var(--app-font-size));
  line-height: 1.5;
}

/* A collapsed mobile group must occupy no hidden rows or inherited flex gaps. */
@media (max-width: 540px) {
  body.ui-v19.erp-responsive-v20 #mainSidebar #navMenu {
    gap: 1px !important;
    padding-block: 5px !important;
  }
  body.ui-v19.erp-responsive-v20 #mainSidebar .nav-group-label,
  body.ui-v19.erp-responsive-v20 #mainSidebar .nav-group-label.open,
  body.ui-v19.erp-responsive-v20 #mainSidebar .nav-group-label:not(.open) {
    margin: 0 !important;
  }
  body.ui-v19.erp-responsive-v20 #mainSidebar .nav-item.nav-hidden-collapsed {
    display: none !important;
  }
}

/* Large-button/launcher mode gives sales and purchase invoices the entire viewport. */
body.ui-v19.erp-responsive-v20.launcher-nav-mode #salesInvoiceModal.open,
body.ui-v19.erp-responsive-v20.launcher-nav-mode #purchaseInvoiceModal.open {
  inset: 0 !important;
  width: 100vw !important;
  height: var(--erp-visual-height, 100dvh) !important;
  min-height: var(--erp-visual-height, 100dvh) !important;
  max-height: var(--erp-visual-height, 100dvh) !important;
  padding: 0 !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  animation: none !important;
  transform: none !important;
}
body.ui-v19.erp-responsive-v20.launcher-nav-mode #salesInvoiceModal.open > .modal-box.fullscreen-modal,
body.ui-v19.erp-responsive-v20.launcher-nav-mode #purchaseInvoiceModal.open > .modal-box.fullscreen-modal {
  position: fixed !important;
  inset: 0 !important;
  right: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: var(--erp-visual-height, 100dvh) !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  animation: none !important;
  transform: none !important;
}

/* Invoice print surface: A4 uses the real printable width and thermal uses the
   physical roll width. These selectors intentionally override V19's old
   zero-padding rule which could crop both invoice formats. */
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 {
  width: 192mm !important;
  max-width: 192mm !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 7mm !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  color: #111827 !important;
  background: #fff !important;
  break-before: auto !important;
  break-after: auto !important;
  page-break-before: auto !important;
  page-break-after: auto !important;
}

body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-thermal {
  width: var(--erp-invoice-thermal-paper-width, 80mm) !important;
  max-width: var(--erp-invoice-thermal-paper-width, 80mm) !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 2mm var(--erp-invoice-thermal-side-padding, 3mm) !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  color: #000 !important;
  background: #fff !important;
  break-before: auto !important;
  break-after: auto !important;
  page-break-before: auto !important;
  page-break-after: auto !important;
}

body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204 :where(.pi-table,.pit-items,.pit-totals) {
  break-inside: auto;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204 :where(.pi-table tr,.pit-item,.pit-totals > div,.pi-meta-cell) {
  break-inside: avoid;
  page-break-inside: avoid;
}

@media (max-width: 620px) {
  body.erp-responsive-v20 #companyModulesGrid {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 8px !important;
  }
  body.erp-responsive-v20 #companyModulesGrid .co-module-row {
    min-width: 0;
  }
}

/* إصلاح: عنصر .modal-box يفرض overflow-wrap:anywhere (أعلى هذا الملف) لمنع نصوص طويلة من
   تجاوز حدود البطاقات على الشاشات الصغيرة. هذا موروث تلقائيًا لكل نص داخل نافذة "الوحدات
   المفعَّلة"، ولأن anywhere (خلافًا لـ break-word) يقلّص الحد الأدنى لعرض النص المحتسَب من
   المتصفح إلى حرف واحد تقريبًا، ينهار عرض كل صف داخل الشبكة grid-template-columns:repeat(2,...)
   فيلتف اسم كل وحدة رأسيًا حرفًا بحرف بدل عرضه بشكل طبيعي. نلغي التوريث هنا تحديدًا فقط —
   بدون التأثير على باقي البطاقات (.page, .settings-card, .dash-card, .kpi-card) التي تعتمد
   على anywhere لمنع تجاوز نصوص طويلة (بريد إلكتروني، أرقام فواتير...) لحدودها على الموبايل. */
body.erp-responsive-v20 #companyModulesGrid .co-module-row {
  overflow-wrap: normal;
}

@media print {
  html.erp-invoice-print-a4 {
    width: 192mm !important;
    max-width: 192mm !important;
    direction: ltr !important;
  }
  html.erp-invoice-print-thermal {
    width: var(--erp-invoice-thermal-paper-width, 80mm) !important;
    max-width: var(--erp-invoice-thermal-paper-width, 80mm) !important;
    direction: ltr !important;
  }
  html,
  body.ui-v19.erp-responsive-v20.printing-document {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
  }
  /* Keep the body itself at the physical printable width. Without this the
     RTL screen viewport can place the invoice several paper-widths to the
     right, producing blank sheets before the invoice. */
  body.ui-v19.erp-responsive-v20.printing-document:has(> #printInvoiceArea.erp-invoice-print-v204.format-a4) {
    width: 192mm !important;
    max-width: 192mm !important;
    direction: ltr !important;
  }
  body.ui-v19.erp-responsive-v20.printing-document:has(> #printInvoiceArea.erp-invoice-print-v204.format-thermal) {
    width: var(--erp-invoice-thermal-paper-width, 80mm) !important;
    max-width: var(--erp-invoice-thermal-paper-width, 80mm) !important;
    direction: ltr !important;
  }
  body.ui-v19.erp-responsive-v20.printing-document > #printInvoiceArea.erp-invoice-print-v204,
  body.ui-v19.erp-responsive-v20.printing-document > #printInvoiceArea.erp-invoice-print-v204 * {
    visibility: visible !important;
  }
  body.ui-v19.erp-responsive-v20.printing-document > #printInvoiceArea.erp-invoice-print-v204.format-a4 {
    display: flex !important;
    position: static !important;
    width: 192mm !important;
    max-width: 192mm !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 7mm !important;
  }
  body.ui-v19.erp-responsive-v20.printing-document > #printInvoiceArea.erp-invoice-print-v204.format-thermal {
    display: block !important;
    position: static !important;
    width: var(--erp-invoice-thermal-paper-width, 80mm) !important;
    max-width: var(--erp-invoice-thermal-paper-width, 80mm) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 2mm var(--erp-invoice-thermal-side-padding, 3mm) !important;
  }
}

/* =====================================================================
   V20.8 — direct sales shortcuts and consistent invoice/POS controls
   ===================================================================== */
body.ui-v19.erp-responsive-v20 #navMenu .nav-pinned-actions {
  position: sticky;
  top: 0;
  z-index: 12;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
  padding: 7px 6px 10px;
  margin: 0 0 7px;
  border-bottom: 1px solid color-mix(in srgb, var(--v19-sidebar-text) 18%, transparent);
  background: color-mix(in srgb, var(--v19-dark) 94%, transparent);
  backdrop-filter: blur(16px) saturate(135%);
}
body.ui-v19.erp-responsive-v20 #navMenu .nav-item-pinned {
  box-sizing: border-box;
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  width: 100%;
  min-height: 42px;
  margin: 0;
  padding: 8px 11px;
  border: 1px solid color-mix(in srgb, var(--v19-sidebar-text) 22%, transparent) !important;
  border-radius: 11px;
  color: var(--v19-sidebar-text) !important;
  background: color-mix(in srgb, var(--v19-base) 34%, var(--v19-dark)) !important;
  font: inherit;
  font-size: calc(11.5/14*var(--app-font-size));
  font-weight: 850;
  text-align: start;
  cursor: pointer;
}
body.ui-v19.erp-responsive-v20 #navMenu .nav-item-pinned + .nav-item-pinned {
  background: color-mix(in srgb, var(--v19-mid) 26%, var(--v19-dark)) !important;
}
body.ui-v19.erp-responsive-v20 #navMenu .nav-item-pinned:hover,
body.ui-v19.erp-responsive-v20 #navMenu .nav-item-pinned:focus-visible {
  border-color: color-mix(in srgb, var(--v19-sidebar-text) 48%, transparent) !important;
  filter: brightness(1.08);
  transform: translateY(-1px);
}

body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  grid-auto-rows: 1fr;
  align-items: stretch !important;
  gap: 8px !important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-field {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  min-width: 0;
  min-height: 72px;
  height: 100%;
  padding: 7px 8px !important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-field {
  border: 1px solid color-mix(in srgb, var(--brand) 10%, var(--line)) !important;
  border-radius: 14px !important;
  background: color-mix(in srgb, var(--surface-raised) 88%, var(--brand-tint)) !important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-field > label:first-child {
  display: flex;
  align-items: center;
  min-height: 18px;
  margin: 0 1px 4px !important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-grid :where(input:not([type="checkbox"]), select, .searchable-select-input, .si-installment-toggle),
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-add-customer {
  box-sizing: border-box;
  min-width: 0;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-control {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch !important;
  width: 100%;
  min-width: 0;
  gap: 7px !important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-control > .searchable-select-wrap { width: 100%; min-width: 0; }
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-add-customer { width: auto !important; min-width: 98px !important; padding-inline: 10px !important; }
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-quick-add-control,
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-quick-add-control > :where(input, button) { min-height: 42px !important; height: 42px !important; }
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-line-actions,
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-action-buttons {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  gap: 8px !important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-action-buttons { min-width: 320px; }
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-line-actions button,
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-action-buttons button {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 44px !important;
  min-height: 44px !important;
  padding: 7px 12px !important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-right :where(input, select, textarea) { min-height: 42px !important; }

body.ui-v19.erp-responsive-v20 #posScreen :where(.pos-topbar-main, .pos-context-controls, .pos-topbar-actions) { align-items: stretch !important; min-height: 44px; }
body.ui-v19.erp-responsive-v20 #posScreen .pos-topbar :where(button, select, input) { box-sizing: border-box; height: 44px !important; min-height: 44px !important; }
body.ui-v19.erp-responsive-v20 #posScreen .pos-topbar-actions button,
body.ui-v19.erp-responsive-v20 #posScreen :where(.pos-back-btn, .pos-home-btn, .pos-add-customer-btn) { min-width: 44px !important; padding-inline: 10px !important; }
body.ui-v19.erp-responsive-v20 #posScreen .pos-grid {
  grid-auto-rows: minmax(var(--pos-card-h, 150px), auto) !important;
  grid-auto-flow: row !important;
  align-items: stretch !important;
}
body.ui-v19.erp-responsive-v20 #posScreen .pos-product-card {
  box-sizing: border-box;
  width: 100% !important;
  height: auto !important;
  min-height: var(--pos-card-h, 150px) !important;
  max-height: none !important;
  margin: 0 !important;
  overflow: hidden !important;
  isolation: isolate;
}
body.ui-v19.erp-responsive-v20 #posScreen .pos-product-card .pos-p-name {
  display: -webkit-box !important;
  max-height: 4.35em;
  overflow: hidden !important;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
body.ui-v19.erp-responsive-v20 #posScreen .pos-product-card .pos-product-visual {
  min-height: 0 !important;
  max-height: 52px;
  overflow: hidden;
}
body.ui-v19.erp-responsive-v20 #posScreen .pos-product-card .pos-product-meta {
  flex: 0 0 auto;
  min-width: 0;
}
body.ui-v19.erp-responsive-v20 #posScreen .pos-product-card .pos-p-stock {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.ui-v19.erp-responsive-v20 #posScreen :where(.pos-cat-tab, .pos-cat-nav-btn) { box-sizing: border-box; height: 44px !important; min-height: 44px !important; }
body.ui-v19.erp-responsive-v20 #posScreen .pos-checkout-btn { height: 52px !important; min-height: 52px !important; }

@media (max-width: 1180px) {
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 760px) {
  body.ui-v19.erp-responsive-v20 #navMenu .nav-pinned-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.ui-v19.erp-responsive-v20 #navMenu .nav-item-pinned { justify-content: center; min-height: 46px; padding-inline: 7px; text-align: center; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 6px !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-field { grid-column: 1 / -1; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-field { min-height: 62px !important; padding: 4px 5px !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-grid :where(input:not([type="checkbox"]), select, .searchable-select-input, .si-installment-toggle),
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-add-customer { height: 38px !important; min-height: 38px !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-add-customer { min-width: 42px !important; width: 42px !important; padding: 0 !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-add-customer span { display: none !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-action-buttons { min-width: 0; }
  body.ui-v19.erp-responsive-v20 #posScreen .pos-topbar :where(button, select, input) { height: 40px !important; min-height: 40px !important; }
}
@media (max-width: 430px) {
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-grid { grid-template-columns: minmax(0, 1fr) !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-field { grid-column: auto; }
}

/* =====================================================================
   V20.9 — compact A4 invoice and overlap-safe POS product cards
   ===================================================================== */
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-invoice-header {
  grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr) !important;
  min-height: 0 !important;
  gap: 6px !important;
  margin-bottom: 4px !important;
  padding-bottom: 4px !important;
}
/* V21: centred A4 logo — visible but still compact enough for one-page invoices. */
/* V21 A4 column placement: Arabic | centred logo | English. */
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-header-ar { grid-column: 1 !important; }
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-header-logo { grid-column: 2 !important; justify-self:center !important; align-self:center !important; }
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-header-en { grid-column: 3 !important; }
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-header-logo img {
  width: auto !important;
  max-width: 46px !important;
  max-height: 46px !important;
  object-fit: contain !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-header .pi-co-details {
  margin-top: 0 !important;
  line-height: 1.3 !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-title {
  margin: 4px 0 !important;
  padding-block: 3px !important;
  line-height: 1.25 !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-meta-row {
  gap: 4px !important;
  margin-bottom: 2px !important;
  padding-bottom: 2px !important;
  line-height: 1.25 !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-party-panels {
  gap: 6px !important;
  margin: 5px 0 !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-party-card {
  min-height: 0 !important;
  padding: 5px 7px !important;
  line-height: 1.35 !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-party-card h3 {
  margin: -5px -7px 3px !important;
  padding: 3px 7px !important;
  line-height: 1.25 !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-party-card p {
  margin: 0 !important;
  line-height: 1.35 !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-table {
  margin: 4px 0 !important;
  line-height: 1.25 !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-table :where(th, td) {
  padding: 3px 4px !important;
  line-height: 1.25 !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-totals-row {
  gap: 4px !important;
  margin-top: 3px !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-side-info {
  gap: 4px !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-payment-breakdown {
  padding: 4px 7px !important;
  line-height: 1.3 !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-payment-breakdown-title {
  margin-bottom: 1px !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-totals > div {
  padding: 2px !important;
  line-height: 1.3 !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-totals .pi-grand {
  margin-top: 3px !important;
  padding: 5px 8px !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-notes {
  margin-top: 4px !important;
  padding: 4px 7px !important;
  line-height: 1.35 !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-codes-bottom {
  gap: 8px !important;
  margin-top: 5px !important;
  padding-top: 4px !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-footer {
  min-height: 0 !important;
  margin-top: 4px !important;
  padding-top: 4px !important;
  line-height: 1.3 !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-footer-brand {
  margin-top: 2px !important;
  line-height: 1.2 !important;
}


/* =====================================================================
   Link Ac v23.2 — فاتورة مبيعات: صف علوي أوضح وتذييل مضغوط محسّن
   ===================================================================== */
@media (min-width: 901px) {
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-grid {
    grid-template-columns: minmax(390px,2.45fr) minmax(145px,.82fr) minmax(135px,.78fr) minmax(145px,.82fr) minmax(145px,.82fr) !important;
    grid-auto-flow: column !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-field { min-width: 390px !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-control .searchable-select-input { text-overflow: clip !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-main { grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr) !important; gap:12px !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-right { align-items:flex-end !important; justify-items:end !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox { width:292px !important; grid-template-columns:148px 132px !important; gap:8px !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-action-buttons { width:auto !important; min-width:0 !important; grid-template-columns:148px 72px !important; justify-content:end !important; }
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox select,
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox input { height:48px !important; min-height:48px !important; }
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox label { min-height:18px !important; font-size:calc(10.5/14*var(--app-font-size)) !important; color:var(--ink) !important; font-weight:800 !important; }
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-field textarea { height:72px !important; min-height:72px !important; resize:vertical !important; }
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .invoice-totals .grand,
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .invoice-totals .grand :where(span,small) { color:#111827 !important; }
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .invoice-totals .grand { background:color-mix(in srgb,var(--brand) 13%,#fff) !important; border-color:color-mix(in srgb,var(--brand) 35%,#fff) !important; }
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-action-buttons button { padding-inline:9px !important; white-space:nowrap !important; }
@media (min-width: 761px) and (max-width: 900px) {
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-grid { grid-template-columns:minmax(290px,1.8fr) repeat(4,minmax(100px,1fr)) !important; overflow-x:auto; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-field { grid-column:auto !important; }
}
@media (max-width:760px){
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox{grid-template-columns:1fr 1fr !important;width:100% !important}
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-action-buttons{grid-template-columns:minmax(0,1fr) 76px !important;width:100% !important}
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-field textarea{height:64px !important;min-height:64px !important}
}

/* Permission-hard hidden quick sales actions */
#navMenu .nav-item-quick[hidden],#navMenu .nav-pinned-actions[hidden],#openPosBtn[hidden],#addSalesInvoiceBtn[hidden]{display:none!important}


/* =====================================================================
   Link Ac v23.3 — Sales Invoice compact one-row header + balanced footer
   ===================================================================== */
@media (min-width: 901px) {
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-workspace-header {
    padding-block: 7px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-titlebar {
    min-height: 34px !important;
    margin-bottom: 5px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-titlebar h2 {
    margin: 0 !important;
    line-height: 1.15 !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-eyebrow { display:none !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-grid {
    grid-template-columns: minmax(360px,2.35fr) minmax(145px,.82fr) minmax(135px,.76fr) minmax(145px,.82fr) minmax(145px,.82fr) !important;
    grid-auto-rows: 46px !important;
    gap: 6px !important;
    align-items: center !important;
    overflow: visible !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-field {
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:stretch !important;
    gap:6px !important;
    min-height:46px !important;
    height:46px !important;
    padding:4px 6px !important;
    overflow:visible !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-field > label:first-child {
    flex:0 0 auto !important;
    min-height:0 !important;
    margin:0 !important;
    font-size:calc(10.5/14*var(--app-font-size)) !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-field > label:first-child { min-width:48px !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-control,
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-field > :where(select,input,.si-installment-toggle) {
    flex:1 1 auto !important;
    min-width:0 !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-grid :where(input:not([type="checkbox"]),select,.searchable-select-input,.si-installment-toggle),
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-add-customer {
    height:36px !important;
    min-height:36px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-installment-toggle {
    justify-content:center !important;
    padding:5px 7px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-add-customer {
    min-width:82px !important;
    padding-inline:8px !important;
  }

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-summary-dock {
    padding:8px 10px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-main {
    display:grid !important;
    grid-template-columns:minmax(0,1.8fr) minmax(278px,.58fr) !important;
    gap:10px !important;
    align-items:stretch !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-left {
    display:grid !important;
    grid-template-columns:minmax(320px,1.25fr) minmax(255px,.75fr) !important;
    gap:10px !important;
    align-items:stretch !important;
    min-width:0 !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-field {
    margin:0 !important;
    min-width:0 !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-field textarea {
    height:82px !important;
    min-height:82px !important;
    resize:none !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-left .invoice-totals {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
    align-content:start !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-left .invoice-totals > div {
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    min-height:38px !important;
    padding:5px 7px !important;
    border:1px solid var(--line) !important;
    border-radius:9px !important;
    background:var(--surface) !important;
    gap:2px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-left .invoice-totals > div > span:first-child {
    font-size:calc(10.5/14*var(--app-font-size)) !important;
    color:var(--ink-soft) !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-left .invoice-totals .grand {
    grid-column:1 / -1 !important;
    min-height:38px !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    background:#fff5f5 !important;
    border-color:#fecaca !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .invoice-totals .grand,
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .invoice-totals .grand :where(span,small) {
    color:#dc2626 !important;
    font-weight:900 !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-right {
    display:flex !important;
    flex-direction:column !important;
    justify-content:space-between !important;
    align-items:stretch !important;
    gap:8px !important;
    min-width:0 !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox {
    width:100% !important;
    grid-template-columns:minmax(0,1fr) minmax(0,.86fr) !important;
    gap:7px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox :where(select,input) {
    height:42px !important;
    min-height:42px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-action-buttons {
    width:100% !important;
    min-width:0 !important;
    grid-template-columns:minmax(0,1.5fr) minmax(70px,.5fr) !important;
    gap:7px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-action-buttons button {
    height:42px !important;
    min-height:42px !important;
  }
}

@media (min-width: 761px) and (max-width: 900px) {
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-summary-dock { padding:8px !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-main { gap:8px !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .invoice-totals .grand,
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .invoice-totals .grand :where(span,small) { color:#dc2626 !important; }
}
@media (max-width:760px){
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .invoice-totals .grand,
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .invoice-totals .grand :where(span,small) { color:#dc2626 !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .invoice-totals .grand { background:#fff5f5 !important; border-color:#fecaca !important; }
}


/* =====================================================================
   Link Ac v23.4 — Sales invoice: contained metadata cards + space-efficient footer
   ===================================================================== */
@media (min-width: 901px) {
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-workspace-header {
    padding:7px 12px 8px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-titlebar {
    min-height:34px !important;
    margin-bottom:6px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-grid {
    display:grid !important;
    grid-template-columns:minmax(360px,2.45fr) minmax(155px,.95fr) minmax(145px,.9fr) minmax(165px,1fr) minmax(145px,.88fr) !important;
    grid-auto-rows:58px !important;
    gap:7px !important;
    margin-top:0 !important;
    align-items:stretch !important;
    overflow:visible !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-field,
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-field {
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:2px !important;
    height:58px !important;
    min-height:58px !important;
    min-width:0 !important;
    padding:5px 9px 6px !important;
    overflow:hidden !important;
    border:1px solid color-mix(in srgb,var(--brand) 14%,var(--line)) !important;
    border-radius:11px !important;
    background:var(--surface) !important;
    box-shadow:0 1px 2px rgba(15,23,42,.035) !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-field:focus-within,
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-field:focus-within {
    border-color:color-mix(in srgb,var(--brand) 72%,var(--line)) !important;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 10%,transparent) !important;
    transform:none !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-field > label:first-child,
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-field > label:first-child {
    display:flex !important;
    align-items:center !important;
    gap:5px !important;
    flex:0 0 auto !important;
    min-width:0 !important;
    min-height:14px !important;
    margin:0 !important;
    color:var(--ink-faint) !important;
    font-size:calc(9.5/14*var(--app-font-size)) !important;
    font-weight:800 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-field > label:first-child i,
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-field > label:first-child i { color:var(--brand) !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-field > :where(select,input,.si-installment-toggle),
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-control {
    flex:1 1 auto !important;
    min-width:0 !important;
    width:100% !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-grid :where(input:not([type="checkbox"]),select,.searchable-select-input) {
    width:100% !important;
    height:30px !important;
    min-height:30px !important;
    padding:2px 0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:var(--ink) !important;
    font-size:calc(12/14*var(--app-font-size)) !important;
    font-weight:800 !important;
    line-height:1.25 !important;
    text-overflow:ellipsis !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-control {
    display:flex !important;
    align-items:center !important;
    gap:6px !important;
    overflow:hidden !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-control > .searchable-select-wrap { flex:1 1 auto !important; min-width:0 !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-add-customer {
    flex:0 0 auto !important;
    width:34px !important;
    min-width:34px !important;
    height:30px !important;
    min-height:30px !important;
    padding:0 !important;
    border-radius:8px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-add-customer span { display:none !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-installment-toggle {
    width:100% !important;
    height:30px !important;
    min-height:30px !important;
    justify-content:flex-start !important;
    padding:2px 0 !important;
    white-space:nowrap !important;
  }

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-summary-dock {
    padding:8px 10px 7px !important;
    overflow:visible !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-main.si-footer-v234 {
    display:grid !important;
    grid-template-columns:minmax(285px,.95fr) minmax(520px,1.75fr) minmax(210px,.62fr) !important;
    grid-template-areas:"tools totals actions" !important;
    gap:9px !important;
    align-items:stretch !important;
    direction:ltr !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-tools { grid-area:tools; direction:rtl; display:grid !important; grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr); gap:7px !important; min-width:0; align-items:stretch; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals { grid-area:totals; direction:rtl; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-actions { grid-area:actions; direction:rtl; display:flex !important; flex-direction:column !important; justify-content:center !important; gap:5px !important; min-width:0; }

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-trigger {
    min-width:0 !important;
    min-height:62px !important;
    padding:7px 8px !important;
    display:grid !important;
    grid-template-columns:34px minmax(0,1fr) 18px !important;
    align-items:center !important;
    gap:7px !important;
    border:1px solid var(--line) !important;
    border-radius:10px !important;
    background:var(--surface) !important;
    color:var(--ink) !important;
    text-align:right !important;
    cursor:pointer !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-trigger:hover { border-color:color-mix(in srgb,var(--brand) 45%,var(--line)) !important; background:var(--brand-tint) !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-trigger-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:9px; background:var(--brand-tint); color:var(--brand-dark); }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-trigger-copy { min-width:0; display:flex; flex-direction:column; gap:2px; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-trigger-copy strong { font-size:calc(10.5/14*var(--app-font-size)); color:var(--ink); }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-trigger-copy small { max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--ink-faint); font-size:calc(9/14*var(--app-font-size)); }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-trigger-copy small.has-notes { color:var(--brand-dark); font-weight:700; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-trigger-edit { color:var(--ink-faint); }

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-compact {
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:4px !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox .field { margin:0 !important; min-width:0 !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox label { display:none !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox :where(select,input) {
    width:100% !important;
    height:29px !important;
    min-height:29px !important;
    padding:3px 7px !important;
    font-size:calc(10.5/14*var(--app-font-size)) !important;
    border-radius:8px !important;
  }

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,.72fr)) minmax(190px,1.45fr) !important;
    gap:6px !important;
    margin:0 !important;
    padding:0 !important;
    align-items:stretch !important;
    color:var(--ink-soft) !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals > div {
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:3px !important;
    min-width:0 !important;
    min-height:62px !important;
    padding:7px 9px !important;
    border:1px solid var(--line) !important;
    border-radius:10px !important;
    background:var(--surface) !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals > div > span:first-child { font-size:calc(9.5/14*var(--app-font-size)) !important; color:var(--ink-faint) !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals > div > span:last-child { font-size:calc(14/14*var(--app-font-size)) !important; font-weight:850 !important; color:var(--ink) !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals #siDiscountRow { border-color:#fed7aa !important; background:#fffaf2 !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals #siDiscountRow > span:last-child { color:#c2410c !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals .grand {
    min-height:62px !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    background:#fff1f2 !important;
    border:1px solid #fecdd3 !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals .grand > span:first-child { color:#be123c !important; font-size:calc(10.5/14*var(--app-font-size)) !important; font-weight:900 !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals .grand #siGrand,
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals .grand small { color:#dc2626 !important; font-weight:950 !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals .grand #siGrand { font-size:calc(22/14*var(--app-font-size)) !important; letter-spacing:-.02em; }

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-action-buttons {
    width:100% !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 72px !important;
    gap:6px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-action-buttons button { width:100% !important; height:42px !important; min-height:42px !important; padding-inline:8px !important; white-space:nowrap !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-hint { display:flex; align-items:center; justify-content:center; gap:5px; color:var(--ink-faint); font-size:calc(8.5/14*var(--app-font-size)); white-space:nowrap; }
}

/* Floating invoice notes editor */
body.ui-v19.erp-responsive-v20 #salesInvoiceNotesModal { padding:14px !important; background:rgba(5,12,24,.48) !important; backdrop-filter:blur(8px) !important; }
body.ui-v19.erp-responsive-v20 #salesInvoiceNotesModal .si-notes-modal { width:min(680px,94vw) !important; max-width:680px !important; padding:18px !important; border-radius:16px !important; }
body.ui-v19.erp-responsive-v20 #salesInvoiceNotesModal .si-notes-modal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:8px; }
body.ui-v19.erp-responsive-v20 #salesInvoiceNotesModal .si-notes-modal-head h2 { margin:2px 0 0; display:flex; align-items:center; gap:8px; }
body.ui-v19.erp-responsive-v20 #salesInvoiceNotesModal .si-notes-close { width:38px !important; height:38px !important; padding:0 !important; }
body.ui-v19.erp-responsive-v20 #salesInvoiceNotesModal .si-notes-modal-help { margin:0 0 10px; color:var(--ink-soft); font-size:calc(11/14*var(--app-font-size)); line-height:1.65; }
body.ui-v19.erp-responsive-v20 #salesInvoiceNotesModal #fSiNotes { width:100%; min-height:210px !important; resize:vertical !important; padding:12px 14px !important; line-height:1.7 !important; font-size:calc(13/14*var(--app-font-size)) !important; border:1px solid var(--line) !important; border-radius:12px !important; background:var(--surface) !important; color:var(--ink) !important; }
body.ui-v19.erp-responsive-v20 #salesInvoiceNotesModal #fSiNotes:focus { border-color:var(--brand) !important; box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent) !important; outline:none !important; }
body.ui-v19.erp-responsive-v20 #salesInvoiceNotesModal .si-notes-modal-meta { display:flex; justify-content:space-between; gap:10px; margin-top:6px; color:var(--ink-faint); font-size:calc(9.5/14*var(--app-font-size)); }
body.ui-v19.erp-responsive-v20 #salesInvoiceNotesModal .si-notes-modal-actions { margin-top:12px !important; }

@media (min-width:761px) and (max-width:1100px){
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-main.si-footer-v234 { grid-template-columns:minmax(235px,.85fr) minmax(430px,1.6fr) !important; grid-template-areas:"tools totals" "actions actions" !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-actions { flex-direction:row !important; align-items:center !important; justify-content:flex-end !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-action-buttons { width:260px !important; }
}
@media (max-width:900px){
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-grid { grid-template-columns:minmax(260px,1.7fr) repeat(2,minmax(135px,1fr)) !important; grid-auto-flow:row !important; grid-auto-rows:56px !important; overflow:visible !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-field,body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-field { height:56px !important; min-height:56px !important; }
}
@media (max-width:760px){
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-main.si-footer-v234 { grid-template-columns:1fr !important; grid-template-areas:"totals" "tools" "actions" !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-tools { grid-template-columns:1fr 1fr !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals { grid-template-columns:1fr 1fr !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals .grand { grid-column:1/-1 !important; }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-hint { display:none !important; }
}

/* =====================================================================
   Link Ac v23.4 final — sales invoice workspace refinement
   ===================================================================== */
@media (min-width:1101px){
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-title-block h2{font-size:calc(15/14*var(--app-font-size)) !important; line-height:1.15 !important; margin:0 !important;}
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-eyebrow{font-size:calc(8/14*var(--app-font-size)) !important; line-height:1 !important; margin-bottom:2px !important;}
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-title-icon{width:32px !important;height:32px !important;min-width:32px !important;}
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-titlebar{min-height:32px !important;}
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-grid{
    grid-template-columns:minmax(390px,2.6fr) minmax(145px,.9fr) minmax(145px,.88fr) minmax(170px,1fr) minmax(145px,.88fr) !important;
    gap:6px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-field,
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-field{
    height:56px !important;min-height:56px !important;padding:5px 9px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-field > label:first-child,
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-field > label:first-child{
    max-width:100% !important;margin:0 !important;position:static !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-control select,
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-control .searchable-select-input{
    overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important;
  }

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-summary-dock{padding:7px 10px 6px !important;}
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-main.si-footer-v234{
    display:grid !important;
    grid-template-columns:minmax(300px,.68fr) minmax(570px,1.7fr) minmax(210px,.48fr) !important;
    grid-template-areas:"tools totals actions" !important;
    gap:7px !important;align-items:stretch !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-tools{
    grid-template-columns:minmax(126px,.72fr) minmax(150px,1fr) !important;gap:6px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-trigger{
    min-height:58px !important;height:58px !important;padding:6px 7px !important;
    grid-template-columns:30px minmax(0,1fr) 14px !important;gap:5px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-trigger-icon{width:30px !important;height:30px !important;border-radius:8px !important;}
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-trigger-copy strong{font-size:calc(9.5/14*var(--app-font-size)) !important;}
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-trigger-copy small{font-size:calc(8.5/14*var(--app-font-size)) !important;}
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-compact{
    grid-template-columns:1fr 1fr !important;gap:5px !important;align-content:center !important;
    min-height:58px !important;padding:5px !important;border:1px solid var(--line) !important;border-radius:10px !important;background:var(--surface) !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox label{display:block !important;margin:0 0 2px !important;font-size:calc(8.5/14*var(--app-font-size)) !important;color:var(--ink-faint) !important;white-space:nowrap !important;}
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox :where(select,input){height:28px !important;min-height:28px !important;padding:2px 6px !important;background:var(--paper) !important;border:1px solid var(--line) !important;}

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals{
    grid-template-columns:minmax(112px,.72fr) minmax(112px,.72fr) minmax(112px,.72fr) minmax(220px,1.48fr) !important;gap:5px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals > div{min-height:58px !important;height:58px !important;padding:6px 9px !important;}
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals .grand{min-height:58px !important;height:58px !important;}
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals .grand #siGrand{font-size:calc(21/14*var(--app-font-size)) !important;}

  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-actions{justify-content:center !important;gap:3px !important;}
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-action-buttons{grid-template-columns:minmax(0,1fr) 68px !important;gap:5px !important;}
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-action-buttons button{height:40px !important;min-height:40px !important;}
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-hint{font-size:calc(8/14*var(--app-font-size)) !important;}
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-shortcuts{display:none !important;}
}


/* =====================================================================
   Link Ac v23.9 — compact sales invoice footer / zero wasted space
   ===================================================================== */
@media (min-width:1101px){
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .fs-sticky-footer.si-summary-dock{
    padding:4px 8px max(4px,var(--erp-safe-bottom)) !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-main.si-footer-v234{
    display:grid !important;
    grid-template-columns:minmax(285px,.72fr) minmax(555px,1.55fr) minmax(205px,.46fr) !important;
    grid-template-areas:"tools totals actions" !important;
    gap:5px !important;
    align-items:center !important;
    min-height:0 !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-tools{
    display:grid !important;
    grid-template-columns:minmax(120px,.72fr) minmax(160px,1fr) !important;
    gap:5px !important;
    min-width:0 !important;
    align-items:center !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-trigger{
    height:46px !important; min-height:46px !important;
    padding:4px 6px !important;
    grid-template-columns:27px minmax(0,1fr) 12px !important;
    gap:4px !important;
    border-radius:9px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-trigger-icon{
    width:27px !important;height:27px !important;border-radius:7px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-trigger-copy strong{
    font-size:calc(9/14*var(--app-font-size)) !important;line-height:1.1 !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-trigger-copy small{
    font-size:calc(8/14*var(--app-font-size)) !important;line-height:1.1 !important;
    white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-compact{
    min-height:46px !important;height:46px !important;
    grid-template-columns:minmax(0,1fr) minmax(0,.8fr) !important;
    gap:4px !important;padding:3px 4px !important;border-radius:9px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox label{
    margin:0 0 1px !important;font-size:calc(7.5/14*var(--app-font-size)) !important;line-height:1 !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox :where(select,input){
    height:25px !important;min-height:25px !important;padding:1px 5px !important;font-size:calc(9/14*var(--app-font-size)) !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals{
    grid-template-columns:minmax(92px,.62fr) minmax(92px,.62fr) minmax(92px,.62fr) minmax(205px,1.35fr) !important;
    gap:4px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals > div,
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals .grand{
    height:46px !important;min-height:46px !important;padding:4px 7px !important;border-radius:9px !important;gap:1px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals > div > span:first-child{
    font-size:calc(8/14*var(--app-font-size)) !important;line-height:1 !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals > div > span:last-child{
    font-size:calc(12/14*var(--app-font-size)) !important;line-height:1.05 !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals .grand #siGrand{
    font-size:calc(19/14*var(--app-font-size)) !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-actions{
    gap:0 !important;justify-content:center !important;align-items:stretch !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-action-buttons{
    width:100% !important;grid-template-columns:minmax(0,1fr) 62px !important;gap:4px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-action-buttons button{
    height:36px !important;min-height:36px !important;padding:2px 7px !important;font-size:calc(9.5/14*var(--app-font-size)) !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-hint,
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-shortcuts{display:none !important;}
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #salesInvoiceModalError:empty{display:none !important;}
}

/* =====================================================================
   Link Ac ERP v24.0 — invoice workspace, stable login & access lanes
   ===================================================================== */

/* شاشة الدخول مستقلة تماماً عن ثيم المنشأة: لون ثابت قبل/بعد تحميل الجلسة */
body.ui-v19 #loginScreen,
body.ui-v2 #loginScreen,
#loginScreen{
  background:linear-gradient(135deg,#ffffff 0%,#f8fafc 54%,#eef2ff 100%) !important;
  transition:none !important;
}
body.ui-v19 #loginScreen .login-brand-panel,
body.ui-v2 #loginScreen .login-brand-panel,
#loginScreen .login-brand-panel{
  background:linear-gradient(145deg,#0f172a 0%,#172554 38%,#1e3a8a 72%,#2563eb 100%) !important;
  color:#fff !important;
  transition:none !important;
}
body.ui-v19 #loginScreen .login-form-panel,
body.ui-v2 #loginScreen .login-form-panel,
#loginScreen .login-form-panel{
  background:linear-gradient(160deg,#ffffff 0%,#f8fafc 54%,#eef2ff 100%) !important;
  color:#172033 !important;
  transition:none !important;
}
#loginScreen .login-card{background:rgba(255,255,255,.96)!important;border-color:#dce5f2!important;box-shadow:0 24px 64px rgba(15,35,70,.14)!important;}
#loginScreen :where(input,select){background:#fff!important;color:#172033!important;border-color:#cbd8e8!important;}
#loginScreen .btn-primary{background:linear-gradient(135deg,#1e40af,#2563eb)!important;color:#fff!important;border-color:transparent!important;}

/* عرض السعر: مساحة عمل واسعة بدل نافذة ضيقة */
body.ui-v19.erp-responsive-v20 #quotationModal.open > .quotation-workspace,
#quotationModal.open > .quotation-workspace{
  width:min(1680px,calc(100vw - 24px)) !important;
  max-width:1680px !important;
  min-height:min(760px,94vh) !important;
  max-height:96vh !important;
  display:flex !important;
  flex-direction:column !important;
}
#quotationModal .document-lines-scroll{flex:1;min-height:260px;overflow-y:auto!important;overflow-x:hidden!important;}
#quotationModal .quotation-lines-table{width:100%!important;min-width:0!important;table-layout:fixed!important;}
#quotationModal .quotation-lines-table th:nth-child(1){width:auto!important;}
#quotationModal .quotation-lines-table th:nth-child(2){width:10%!important;}
#quotationModal .quotation-lines-table th:nth-child(3){width:13%!important;}
#quotationModal .quotation-lines-table th:nth-child(4){width:10%!important;}
#quotationModal .quotation-lines-table th:nth-child(5){width:13%!important;}
#quotationModal .quotation-lines-table th:nth-child(6){width:48px!important;}
#quotationModal .quotation-lines-table td:first-child :where(input,select){width:100%!important;min-width:0!important;}

/* كل شاشات إدخال الفواتير تستخدم العرض المتاح وتُظهر تفاصيل البنود دون تمرير أفقي */
body.ui-v19.erp-responsive-v20 :where(#salesInvoiceModal,#purchaseInvoiceModal).open > .modal-box,
body.ui-v19.erp-responsive-v20 :where(#salesInvoiceModal,#purchaseInvoiceModal) > .modal-box{
  width:calc(100vw - 18px)!important;
  max-width:1680px!important;
}
#salesInvoiceModal .si-lines-table-scroll,
#purchaseInvoiceModal .fs-scroll-body{overflow-x:hidden!important;}
#salesInvoiceModal .sales-lines-table,
#purchaseInvoiceModal .purchase-lines-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
#salesInvoiceModal .sales-lines-table th:nth-child(1){width:auto!important;}
#salesInvoiceModal .sales-lines-table th:nth-child(2){width:11%!important;}
#salesInvoiceModal .sales-lines-table th:nth-child(3){width:15%!important;}
#salesInvoiceModal .sales-lines-table th:nth-child(4){width:10%!important;}
#salesInvoiceModal .sales-lines-table th:nth-child(5){width:14%!important;}
#salesInvoiceModal .sales-lines-table th:nth-child(6){width:46px!important;}
#purchaseInvoiceModal .purchase-lines-table th:nth-child(1){width:auto!important;}
#purchaseInvoiceModal .purchase-lines-table th:nth-child(2){width:9%!important;}
#purchaseInvoiceModal .purchase-lines-table th:nth-child(3){width:13%!important;}
#purchaseInvoiceModal .purchase-lines-table th:nth-child(4){width:12%!important;}
#purchaseInvoiceModal .purchase-lines-table th:nth-child(5){width:9%!important;}
#purchaseInvoiceModal .purchase-lines-table th:nth-child(6){width:13%!important;}
#purchaseInvoiceModal .purchase-lines-table th:nth-child(7){width:44px!important;}
:where(#salesInvoiceModal,#purchaseInvoiceModal,#quotationModal) .invoice-lines td{overflow:visible!important;white-space:normal!important;}
:where(#salesInvoiceModal,#purchaseInvoiceModal,#quotationModal) .invoice-lines :where(input,select,textarea){width:100%!important;min-width:0!important;box-sizing:border-box!important;}

/* ذيل فاتورة البيع: ملخص نصي قديم بلا بطاقات + خصم متناسق + أزرار بنسبة 2:1 */
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .fs-sticky-footer.si-summary-dock{
  padding:6px 10px!important;
  min-height:0!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-main.si-footer-v234{
  display:grid!important;
  grid-template-columns:minmax(330px,.95fr) minmax(270px,.72fr) minmax(220px,.55fr)!important;
  grid-template-areas:"tools actions totals"!important;
  gap:12px!important;
  align-items:center!important;
  direction:rtl!important;
  padding:0!important;
  min-height:0!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-tools{
  grid-area:tools!important;
  display:grid!important;
  grid-template-columns:minmax(0,.72fr) minmax(230px,1.28fr)!important;
  gap:8px!important;
  align-items:end!important;
  min-width:0!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-trigger{
  min-height:48px!important;height:48px!important;padding:5px 8px!important;border-radius:9px!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-notes-trigger-copy small{max-width:170px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-compact{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;padding:0!important;background:transparent!important;border:0!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox .field{margin:0!important;min-width:0!important;}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox :where(select,input){height:36px!important;min-height:36px!important;padding:5px 8px!important;}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals{
  grid-area:totals!important;
  display:flex!important;flex-direction:column!important;gap:1px!important;
  min-width:210px!important;max-width:270px!important;justify-self:start!important;
  direction:rtl!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals > div,
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals .grand{
  display:flex!important;flex-direction:row!important;align-items:baseline!important;justify-content:space-between!important;
  gap:16px!important;min-height:0!important;height:auto!important;padding:1px 0!important;margin:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  color:var(--ink)!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals > div > span:first-child{
  color:var(--ink-soft)!important;font-size:calc(10.5/14*var(--app-font-size))!important;font-weight:700!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals > div > span:last-child{
  color:var(--ink)!important;font-size:calc(13.5/14*var(--app-font-size))!important;font-weight:850!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals #siDiscountRow{border:0!important;background:transparent!important;}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals .grand{padding-top:3px!important;margin-top:2px!important;border-top:1px solid color-mix(in srgb,var(--line) 75%,transparent)!important;}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals .grand > span:first-child{color:#b91c1c!important;font-weight:900!important;}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals .grand #siGrand,
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals .grand small{color:#dc2626!important;font-weight:950!important;}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals .grand #siGrand{font-size:calc(20/14*var(--app-font-size))!important;}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-actions{
  grid-area:actions!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;min-width:0!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-action-buttons{
  display:grid!important;grid-template-columns:2fr 1fr!important;gap:7px!important;width:min(100%,330px)!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-action-buttons #saveSalesInvoiceBtn{height:44px!important;min-height:44px!important;font-size:calc(13/14*var(--app-font-size))!important;font-weight:850!important;}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-action-buttons .btn-ghost{height:44px!important;min-height:44px!important;}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-hint{display:none!important;}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-shortcuts{margin-top:3px!important;min-height:0!important;font-size:9px!important;}

/* فاتورة المشتريات: نفس لغة الخصم بالمبيعات */
#purchaseInvoiceModal .pi-footer-layout{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(260px,.45fr);gap:16px;align-items:end;width:100%;}
#purchaseInvoiceModal .pi-discount-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;align-items:end;}
#purchaseInvoiceModal .pi-discount-controls .field{margin:0;}
#purchaseInvoiceModal .pi-discount-controls small{grid-column:1/-1;color:var(--ink-faint);font-size:10px;}
#purchaseInvoiceModal .pi-footer-totals{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:2px!important;background:transparent!important;}
#purchaseInvoiceModal .pi-footer-totals > div{display:flex;justify-content:space-between;gap:18px;border:0;background:transparent;padding:1px 0;}
#purchaseInvoiceModal .fs-sticky-footer{padding-block:7px!important;}

/* مركز الصلاحيات الجديد: مسارات وصول (lanes) بدل بطاقات متفرقة */
#page-roles .perm-category{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface);margin-bottom:12px;}
#page-roles .perm-category-head{background:color-mix(in srgb,var(--brand-tint) 38%,var(--surface));padding:9px 12px!important;border-bottom:1px solid var(--line);}
#page-roles .perm-cards{display:flex!important;flex-direction:column!important;gap:0!important;}
#page-roles .perm-module.access-policy-row{
  display:grid!important;grid-template-columns:minmax(185px,225px) minmax(0,1fr)!important;gap:0!important;
  border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;padding:0!important;background:var(--surface)!important;box-shadow:none!important;
}
#page-roles .perm-module.access-policy-row:last-child{border-bottom:0!important;}
#page-roles .access-policy-row .mtitle-row{padding:12px!important;margin:0!important;border:0!important;border-inline-end:1px solid var(--line)!important;background:color-mix(in srgb,var(--brand-tint) 12%,var(--surface));display:flex;flex-direction:column;align-items:flex-start!important;justify-content:flex-start;gap:8px;}
#page-roles .access-policy-row .mtitle-all{align-self:flex-start;}
#page-roles .access-policy-row .perm-action-list{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;gap:0!important;align-items:stretch!important;}
#page-roles .access-policy-row .perm-action{border:0!important;border-inline-end:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;min-height:86px;padding:0!important;}
#page-roles .access-policy-row .perm-action.checked{background:color-mix(in srgb,var(--brand-tint) 25%,var(--surface))!important;}
#page-roles .access-policy-row .perm-action-row{padding:10px!important;min-height:86px!important;align-items:flex-start!important;}
#page-roles .perm-action-copy{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0;}
#page-roles .perm-action-desc{font-size:9.5px;line-height:1.45;color:var(--ink-soft);font-weight:500;white-space:normal;}
#page-roles .perm-action-key{font-size:8.5px;opacity:.62;}
#page-roles .scope-row{margin:0 9px 9px!important;padding-top:7px!important;}
#page-roles .perm-ui-category .perm-action-desc{color:var(--ink-faint);}

@media(max-width:1100px){
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-main.si-footer-v234{grid-template-columns:1fr 1fr!important;grid-template-areas:"tools totals" "actions actions"!important;}
  #purchaseInvoiceModal .pi-footer-layout{grid-template-columns:1fr;}
  #page-roles .perm-module.access-policy-row{grid-template-columns:1fr!important;}
  #page-roles .access-policy-row .mtitle-row{border-inline-end:0!important;border-bottom:1px solid var(--line)!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;}
}
@media(max-width:760px){
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-main.si-footer-v234{grid-template-columns:1fr!important;grid-template-areas:"totals" "tools" "actions"!important;}
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-tools{grid-template-columns:1fr!important;}
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-totals{justify-self:stretch!important;max-width:none!important;}
  #purchaseInvoiceModal .pi-discount-controls{grid-template-columns:1fr 1fr;}
}

/* === v25.6: لوحة تحكم بيضاء صافية بحدود وظلال فقط === */
body.ui-v19.erp-responsive-v20 #page-dashboard,
body.ui-v19.erp-responsive-v20 #page-dashboard::before,
body.ui-v19.erp-responsive-v20 #page-dashboard::after,
body.ui-v19.erp-responsive-v20 #page-dashboard :where(
  .dashboard-commandbar,
  .dashboard-filterbar,
  .dash-period-bar,
  .dash-period-toggle,
  .dashboard-widgets-grid,
  .dashboard-widget,
  .dashboard-kpi-shell,
  .dashboard-kpi-shell .kpi-grid,
  .dashboard-widget > .dash-card,
  .dashboard-widget > .dash-shortcuts-box,
  .dashboard-kpi-shell .kpi-card,
  .dashboard-customize-row,
  .dashboard-chart
) {
  background:#ffffff!important;
  background-color:#ffffff!important;
  background-image:none!important;
}
body.ui-v19.erp-responsive-v20 #page-dashboard :where(
  .dashboard-commandbar,
  .dashboard-filterbar,
  .dashboard-widget > .dash-card,
  .dashboard-widget > .dash-shortcuts-box,
  .dashboard-kpi-shell .kpi-card,
  .dashboard-customize-row
) {
  border:1px solid var(--v19-base)!important;
  box-shadow:0 8px 20px rgba(15,23,42,.09)!important;
}
body.ui-v19.erp-responsive-v20 #page-dashboard :where(
  .dashboard-widget,
  .dashboard-kpi-shell,
  .dashboard-widgets-grid,
  .dashboard-kpi-shell .kpi-grid
) {
  border-color:transparent!important;
  box-shadow:none!important;
}
body.ui-v19.erp-responsive-v20 #page-dashboard .dashboard-kpi-shell .kpi-card::before,
body.ui-v19.erp-responsive-v20 #page-dashboard .dashboard-kpi-shell .kpi-card::after,
body.ui-v19.erp-responsive-v20 #page-dashboard .dashboard-widget > .dash-card::before,
body.ui-v19.erp-responsive-v20 #page-dashboard .dashboard-widget > .dash-card::after {
  display:none!important;
  background:none!important;
}
body.ui-v19.erp-responsive-v20 #page-dashboard :where(.dashboard-widget-title i,.kpi-icon,.icon-tile-glow) {
  background:#ffffff!important;
  background-image:none!important;
  color:var(--v19-base)!important;
  border:1px solid var(--v19-base)!important;
  box-shadow:none!important;
}

/* =====================================================================
   Link Ac v25.4 — ثيم صريح، خلفية بيضاء، وتقارير مرتبة
   ===================================================================== */
body.ui-v19.erp-responsive-v20 #appScreen,
body.ui-v19.erp-responsive-v20 #appScreen .main,
body.ui-v19.erp-responsive-v20 #appScreen .page,
body.ui-v19.erp-responsive-v20 #appScreen .settings-content,
body.ui-v19.erp-responsive-v20 #appScreen :where(
  .settings-card,.dash-card,.kpi-card,.dashboard-widget,.card,.table-wrap,.modal-box,
  .role-sidebar,.settings-sidebar,.v19-theme-studio,.v19-custom-editor
) {
  background-color:#ffffff!important;
  background-image:none!important;
}

/* القوائم الرئيسية تتبع اللون المشبع للثيم الحالي دائماً. */
html[data-v19-preset] body.ui-v19.erp-responsive-v20 #appScreen #mainSidebar .nav-group-label,
html[data-v19-preset] body.ui-v19.erp-responsive-v20 #appScreen #navMenu .nav-group-label,
body.ui-v19.erp-responsive-v20 #appScreen #mainSidebar .nav-group-label,
body.ui-v19.erp-responsive-v20 #appScreen #navMenu .nav-group-label {
  background:var(--v19-base)!important;
  background-image:none!important;
  border-color:var(--v19-base)!important;
  color:#ffffff!important;
  box-shadow:none!important;
}
body.ui-v19.erp-responsive-v20 #appScreen :where(#mainSidebar,#navMenu) .nav-group-label :where(span,i,svg) {
  color:#ffffff!important;
}
body.ui-v19.erp-responsive-v20 #appScreen :where(#mainSidebar,#navMenu) .nav-group-label:hover,
body.ui-v19.erp-responsive-v20 #appScreen :where(#mainSidebar,#navMenu) .nav-group-label.open {
  background:color-mix(in srgb,var(--v19-base) 84%,#000000)!important;
  border-color:color-mix(in srgb,var(--v19-base) 84%,#000000)!important;
}
body.ui-v19.erp-responsive-v20 #appScreen [data-oil-change-nav] .oil-nav-icon {
  width:18px!important;
  height:18px!important;
  flex:0 0 18px;
}
body.ui-v19.erp-responsive-v20 #appScreen .nav-item[data-oil-change-nav] > .oil-nav-icon {
  margin-inline-end:7px;
}

/* عند إخفاء الدرجات الفاتحة تبقى كل الأسطح بيضاء دون تدرج من لون الثيم. */
html[data-v19-light-accents="hidden"] body.ui-v19.erp-responsive-v20 #appScreen :where(
  .topbar,.page-head,.oil-page-head,.v19-theme-hero,.v201-curated-themes,.v19-custom-editor,
  .settings-hint,.settings-cat-label,.oil-kpi,.auto-service-scope,.report-toolbar,
  .report-tab-strip,.report-result-panel,.scope-row,.perm-category,.permission-diagnostics
) {
  background:#ffffff!important;
  background-image:none!important;
}
html[data-v19-light-accents="hidden"] body.ui-v19.erp-responsive-v20 #appScreen :where(
  .nav-item,.nav-item:hover,.nav-item.active,.settings-tab:not(.active),tbody tr,tbody tr:hover
) {
  background-color:#ffffff!important;
  background-image:none!important;
}

/* بنية موحدة لكل شاشات التقارير. */
body.ui-v19.erp-responsive-v20 #appScreen .report-screen {
  background:#ffffff!important;
  display:none;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-screen > :where(.page-head,.oil-page-head) {
  margin:0 0 14px!important;
  padding:14px 16px!important;
  border:1px solid color-mix(in srgb,var(--v19-base) 32%,#d8dee8)!important;
  border-inline-start:5px solid var(--v19-base)!important;
  border-radius:12px!important;
  background:#ffffff!important;
  background-image:none!important;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-screen > :where(.page-head,.oil-page-head) h1 {
  margin:0!important;
  color:var(--v19-base)!important;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-toolbar {
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  align-items:end!important;
  gap:10px!important;
  margin:0 0 14px!important;
  padding:14px!important;
  border:1px solid color-mix(in srgb,var(--v19-base) 34%,#d8dee8)!important;
  border-radius:12px!important;
  background:#ffffff!important;
  background-image:none!important;
  box-shadow:0 5px 15px color-mix(in srgb,var(--v19-base) 10%,transparent)!important;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-toolbar .report-date-fields {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(135px,1fr));
  gap:10px!important;
  grid-column:span 2;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-toolbar :where(.field,label) {
  min-width:0!important;
  margin:0!important;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-toolbar :where(input,select,button) {
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-tab-strip {
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(155px,1fr));
  gap:8px!important;
  margin:0 0 14px!important;
  padding:10px!important;
  border:1px solid color-mix(in srgb,var(--v19-base) 28%,#d8dee8)!important;
  border-radius:12px!important;
  background:#ffffff!important;
  background-image:none!important;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-tab-strip > button {
  width:100%!important;
  min-height:44px!important;
  margin:0!important;
  padding:8px 10px!important;
  white-space:normal!important;
  line-height:1.45!important;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-tab-strip > button.active {
  background:var(--v19-base)!important;
  background-image:none!important;
  border-color:var(--v19-base)!important;
  color:#ffffff!important;
  box-shadow:none!important;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-result-panel {
  min-height:160px;
  padding:14px!important;
  border:1px solid color-mix(in srgb,var(--v19-base) 30%,#d8dee8)!important;
  border-radius:12px!important;
  background:#ffffff!important;
  background-image:none!important;
  overflow:auto;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-result-panel :where(.table-wrap,table,thead,tbody,tfoot,tr,th,td) {
  background:#ffffff!important;
  background-image:none!important;
}
body.ui-v19.erp-responsive-v20 #appScreen #page-oil-change-reports .oil-grid-2 > div {
  min-width:0;
  padding:12px;
  border:1px solid color-mix(in srgb,var(--v19-base) 26%,#d8dee8);
  border-radius:10px;
  background:#ffffff;
}

/* v25.8 — مركز واحد يجمع التقارير حسب النوع، مع إبقاء مسارات الصلاحيات خارج القائمة المرئية. */
body.ui-v19.erp-responsive-v20 #mainSidebar .report-route-source,
body.ui-v19.erp-responsive-v20 #mainSidebar .report-route-source[hidden] {
  display:none!important;
}
body.ui-v19.erp-responsive-v20 #appScreen :where(#reportFilters,#reportResult,.report-center-selection)[hidden] {
  display:none!important;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-legacy-tabs {
  display:none!important;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-page-head > div {
  min-width:0;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-page-head p {
  margin:5px 0 0!important;
  color:#4b5563!important;
  font-size:calc(12/14*var(--app-font-size))!important;
  line-height:1.55!important;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-hub {
  margin:0 0 14px!important;
  padding:14px!important;
  border:1px solid color-mix(in srgb,var(--v19-base) 30%,#d8dee8)!important;
  border-radius:14px!important;
  background:#ffffff!important;
  background-image:none!important;
  box-shadow:none!important;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-tools {
  display:grid;
  grid-template-columns:minmax(230px,.8fr) minmax(0,2fr);
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-search {
  position:relative;
  min-width:0;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-search > i {
  position:absolute;
  inset-inline-start:14px;
  top:50%;
  z-index:1;
  color:var(--v19-base)!important;
  transform:translateY(-50%);
  pointer-events:none;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-search input {
  width:100%!important;
  min-height:46px!important;
  padding-inline-start:40px!important;
  background:#ffffff!important;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-groups {
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  overflow-x:auto;
  padding:2px;
  scrollbar-width:thin;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-group {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-width:max-content!important;
  min-height:44px!important;
  padding:8px 12px!important;
  border:1px solid color-mix(in srgb,var(--v19-base) 38%,#d8dee8)!important;
  border-radius:10px!important;
  background:#ffffff!important;
  background-image:none!important;
  color:#111827!important;
  box-shadow:none!important;
  transform:none!important;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-group b {
  min-width:24px;
  padding:2px 6px;
  border-radius:999px;
  background:color-mix(in srgb,var(--v19-base) 10%,#ffffff)!important;
  color:var(--v19-base)!important;
  font-size:11px;
  font-variant-numeric:tabular-nums;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-group.active {
  background:var(--v19-base)!important;
  border-color:var(--v19-base)!important;
  color:#ffffff!important;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-group.active b {
  background:#ffffff!important;
  color:var(--v19-base)!important;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:10px;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-card {
  position:relative;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) auto;
  grid-template-areas:"icon copy arrow" "icon group arrow";
  align-items:center!important;
  gap:4px 12px!important;
  min-width:0!important;
  min-height:104px!important;
  margin:0!important;
  padding:14px!important;
  text-align:start!important;
  border:1px solid color-mix(in srgb,var(--v19-base) 28%,#d8dee8)!important;
  border-radius:12px!important;
  background:#ffffff!important;
  background-image:none!important;
  color:#111827!important;
  box-shadow:none!important;
  transform:none!important;
  cursor:pointer!important;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-card:hover {
  border-color:var(--v19-base)!important;
  background:color-mix(in srgb,var(--v19-base) 4%,#ffffff)!important;
  color:#111827!important;
  box-shadow:none!important;
  transform:none!important;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-card-icon {
  grid-area:icon;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:1px solid color-mix(in srgb,var(--v19-base) 32%,#ffffff);
  border-radius:11px;
  background:color-mix(in srgb,var(--v19-base) 9%,#ffffff)!important;
  color:var(--v19-base)!important;
  font-size:19px;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-card-copy {
  grid-area:copy;
  display:grid;
  gap:4px;
  min-width:0;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-card-copy strong {
  color:#111827!important;
  font-size:calc(13.5/14*var(--app-font-size));
  line-height:1.45;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-card-copy small {
  color:#4b5563!important;
  font-size:calc(11/14*var(--app-font-size));
  line-height:1.55;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-card-group {
  grid-area:group;
  width:max-content;
  max-width:100%;
  color:var(--v19-base)!important;
  font-size:10.5px;
  font-weight:750;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-card-arrow {
  grid-area:arrow;
  color:var(--v19-base)!important;
  font-size:13px;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-empty {
  grid-column:1/-1;
  display:grid;
  place-items:center;
  gap:7px;
  min-height:190px;
  padding:24px;
  border:1px dashed color-mix(in srgb,var(--v19-base) 42%,#d8dee8);
  border-radius:12px;
  color:#4b5563;
  text-align:center;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-empty > i {
  color:var(--v19-base)!important;
  font-size:24px;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-selection {
  display:flex;
  align-items:center;
  gap:12px;
  min-height:64px;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-selection > span:nth-child(2) {
  display:grid;
  gap:2px;
  min-width:0;
  margin-inline-end:auto;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-selection small {
  color:var(--v19-base)!important;
  font-size:10.5px;
  font-weight:750;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-selection strong {
  color:#111827!important;
  font-size:calc(14/14*var(--app-font-size));
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-selection-icon {
  display:grid;
  place-items:center;
  width:44px;
  min-width:44px;
  height:44px;
  border-radius:10px;
  background:var(--v19-base)!important;
  color:#ffffff!important;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-selection > button,
body.ui-v19.erp-responsive-v20 #appScreen .report-center-back {
  min-height:44px!important;
  box-shadow:none!important;
  transform:none!important;
}
body.ui-v19.erp-responsive-v20 #appScreen .report-center-hub.is-compact .report-center-tools,
body.ui-v19.erp-responsive-v20 #appScreen .report-center-hub.is-compact .report-center-grid {
  display:none!important;
}

@media(max-width:760px){
  body.ui-v19.erp-responsive-v20 #appScreen .report-screen > :where(.page-head,.oil-page-head){padding:12px!important}
  body.ui-v19.erp-responsive-v20 #appScreen .report-toolbar{grid-template-columns:1fr!important;padding:10px!important}
  body.ui-v19.erp-responsive-v20 #appScreen .report-toolbar .report-date-fields{grid-column:auto;grid-template-columns:1fr!important}
  body.ui-v19.erp-responsive-v20 #appScreen .report-tab-strip{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px!important}
  body.ui-v19.erp-responsive-v20 #appScreen .report-result-panel{padding:10px!important}
  body.ui-v19.erp-responsive-v20 #appScreen .report-center-tools{grid-template-columns:1fr}
  body.ui-v19.erp-responsive-v20 #appScreen .report-center-grid{grid-template-columns:1fr}
  body.ui-v19.erp-responsive-v20 #appScreen .report-center-selection{align-items:flex-start;flex-wrap:wrap}
  body.ui-v19.erp-responsive-v20 #appScreen .report-center-selection > button{width:100%!important}
}
@media(max-width:430px){
  body.ui-v19.erp-responsive-v20 #appScreen .report-tab-strip{grid-template-columns:1fr}
}
.invoice-product-meta{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:3px;font-size:9.5px;color:var(--ink-faint);line-height:1.25;}
.invoice-product-meta span{display:inline-flex;align-items:center;min-width:0;overflow-wrap:anywhere;}
.invoice-product-meta span+span::before{content:'•';margin-inline-end:6px;opacity:.55;}


/* v24.1 — Floating keyboard icon is opt-in and docks into the safe left edge. */
#vkbToggleBtn:not(.erp-floating-keyboard-enabled){display:none!important;}
body.ui-v19.erp-responsive-v20 #vkbToggleBtn.erp-floating-keyboard-enabled,
body.ui-v2.erp-responsive-v20 #vkbToggleBtn.erp-floating-keyboard-enabled{
  position:fixed!important;
  left:-16px!important;
  right:auto!important;
  top:68%!important;
  bottom:auto!important;
  width:40px!important;
  height:40px!important;
  min-height:40px!important;
  border-radius:0 12px 12px 0!important;
  opacity:.68!important;
  transform:translateY(-50%)!important;
  z-index:1280!important;
}
body.ui-v19.erp-responsive-v20 #vkbToggleBtn.erp-floating-keyboard-enabled:hover,
body.ui-v19.erp-responsive-v20 #vkbToggleBtn.erp-floating-keyboard-enabled:focus-visible,
body.ui-v2.erp-responsive-v20 #vkbToggleBtn.erp-floating-keyboard-enabled:hover,
body.ui-v2.erp-responsive-v20 #vkbToggleBtn.erp-floating-keyboard-enabled:focus-visible{
  left:6px!important;
  opacity:1!important;
  transform:translateY(-50%) scale(1.03)!important;
}
body:has(.modal-overlay.open .fullscreen-modal) #vkbToggleBtn.erp-floating-keyboard-enabled,
body:has(#posScreen.active) #vkbToggleBtn.erp-floating-keyboard-enabled{display:none!important;}
.v241-switch-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;}
.v241-switch-row>input{width:20px;height:20px;min-width:20px;margin-top:2px;accent-color:var(--brand);}
.v241-switch-row>span{display:flex;flex-direction:column;gap:2px;min-width:0;}
.v241-switch-row strong{font-size:calc(12.5/14*var(--app-font-size));color:var(--ink);}
.v241-switch-row small{font-size:calc(10.5/14*var(--app-font-size));line-height:1.55;color:var(--ink-faint);}


/* v24.1.1 — sales invoice notes aligned with discount controls */
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-tools{
  display:block!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes{
  display:grid!important;
  grid-template-columns:minmax(120px,.82fr) minmax(120px,.82fr) minmax(150px,1fr)!important;
  gap:8px!important;
  align-items:end!important;
  width:100%!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes .field{
  margin:0!important;
  min-width:0!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes .field > label{
  display:block!important;
  margin-bottom:4px!important;
  min-height:14px!important;
  line-height:14px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes :where(select,input,.si-notes-trigger){
  height:36px!important;
  min-height:36px!important;
  box-sizing:border-box!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes .si-notes-trigger{
  width:100%!important;
  padding:4px 8px!important;
  border-radius:8px!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  justify-content:flex-start!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes .si-notes-trigger-copy{
  min-width:0!important;
  flex:1 1 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes .si-notes-trigger-copy strong{
  white-space:nowrap!important;
  font-size:calc(11/14*var(--app-font-size))!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes .si-notes-trigger-copy small{
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:none!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:calc(9/14*var(--app-font-size))!important;
}
@media(max-width:760px){
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes{
    grid-template-columns:1fr 1fr!important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes .si-notes-field{
    grid-column:1/-1!important;
  }
}

/* === v25.7: النمط المفرغ بحد فقط؛ لا ظل في أي مكوّن أو قائمة رئيسية === */
html[data-v19-preset] body.ui-v19.erp-responsive-v20[data-v19-style="outlined"] #appScreen #mainSidebar .nav-group-label,
body.ui-v19.erp-responsive-v20[data-v19-style="outlined"] #appScreen #mainSidebar .nav-group-label,
body.ui-v19.erp-responsive-v20[data-v19-style="outlined"] #appScreen #navMenu .nav-group-label,
html[data-v19-preset] body.ui-v19.erp-responsive-v20[data-v19-style="outlined"] #appScreen #mainSidebar .nav-group-label:hover,
body.ui-v19.erp-responsive-v20[data-v19-style="outlined"] #appScreen #mainSidebar .nav-group-label:hover,
body.ui-v19.erp-responsive-v20[data-v19-style="outlined"] #appScreen #mainSidebar .nav-group-label.open {
  background:#ffffff!important;
  background-image:none!important;
  border:1.5px solid var(--v19-base)!important;
  color:var(--v19-base)!important;
  box-shadow:none!important;
  transform:none!important;
}
body.ui-v19.erp-responsive-v20[data-v19-style="outlined"] #appScreen #mainSidebar .nav-group-label :where(span,i,svg,.glabel-icon,.chevron) {
  color:var(--v19-base)!important;
}
body.ui-v19.erp-responsive-v20[data-v19-style="outlined"] #appScreen :where(
  .v192-open-screens,
  #page-dashboard .dashboard-commandbar,
  #page-dashboard .dashboard-filterbar,
  #page-dashboard .dashboard-widget > .dash-card,
  #page-dashboard .dashboard-widget > .dash-shortcuts-box,
  #page-dashboard .dashboard-kpi-shell .kpi-card,
  #page-dashboard .dashboard-customize-row
) {
  box-shadow:none!important;
}

/* v25.6 final: إطار مساحة العمل نفسه أبيض حتى لا يظهر شريط خفيف فوق لوحة التحكم. */
body.ui-v19.erp-responsive-v20 #appScreen .main,
body.ui-v19.erp-responsive-v20 #appScreen .v197-workspace-viewport,
body.ui-v19.erp-responsive-v20 #appScreen .v192-open-screens {
  background:#ffffff!important;
  background-color:#ffffff!important;
  background-image:none!important;
}
body.ui-v19.erp-responsive-v20 #appScreen .v192-open-screens {
  border:1px solid var(--v19-base)!important;
  box-shadow:0 8px 20px rgba(15,23,42,.09)!important;
}

/* =====================================================================
   Link Ac v25.5 — تنقل مغلق بالكامل ومركز صلاحيات سريع
   ===================================================================== */

/* لا يبقى أي جزء من القوائم الفرعية ظاهرًا وهي مغلقة. */
body.ui-v19.erp-responsive-v20 #mainSidebar #navMenu > .nav-item.nav-hidden-collapsed {
  display:none!important;
}
body.ui-v19.erp-responsive-v20 #mainSidebar #navMenu > .nav-group-label:not(.open) {
  margin:6px 0!important;
}
body.ui-v19.erp-responsive-v20 #mainSidebar #navMenu > .nav-group-label.open {
  margin:6px 0 3px!important;
}
body.ui-v19.erp-responsive-v20 #mainSidebar #navMenu > .nav-group-label:first-of-type {
  margin-top:0!important;
}
body.ui-v19.erp-responsive-v20 #mainSidebar [data-oil-change-nav="1"] > :where(.nav-icon,i):not(.oil-nav-icon) {
  display:none!important;
}

/* في النمط المفرغ فقط: أزرار الأقسام الرئيسية بيضاء وحدودها وأيقوناتها بلون الثيم. */
html[data-v19-preset] body.ui-v19.erp-responsive-v20[data-v19-style="outlined-shadow"] #appScreen #mainSidebar .nav-group-label,
body.ui-v19.erp-responsive-v20[data-v19-style="outlined-shadow"] #appScreen #mainSidebar .nav-group-label,
body.ui-v19.erp-responsive-v20[data-v19-style="outlined-shadow"] #appScreen #navMenu .nav-group-label,
html[data-v19-preset] body.ui-v19.erp-responsive-v20[data-v19-style="outlined-shadow"] #appScreen #mainSidebar .nav-group-label:hover,
body.ui-v19.erp-responsive-v20[data-v19-style="outlined-shadow"] #appScreen #mainSidebar .nav-group-label:hover,
body.ui-v19.erp-responsive-v20[data-v19-style="outlined-shadow"] #appScreen #mainSidebar .nav-group-label.open {
  background:#ffffff!important;
  background-image:none!important;
  border:1.5px solid var(--v19-base)!important;
  color:var(--v19-base)!important;
  box-shadow:0 5px 14px color-mix(in srgb,var(--v19-base) 19%,transparent)!important;
}
body.ui-v19.erp-responsive-v20[data-v19-style="outlined-shadow"] #appScreen #mainSidebar .nav-group-label :where(span,i,svg,.glabel-icon,.chevron) {
  color:var(--v19-base)!important;
}

/* مركز تحكم الصلاحيات: بحث واحد، انتقال سريع، وفلاتر واضحة. */
#page-roles .roles-layout {
  grid-template-columns:minmax(215px,245px) minmax(0,1fr)!important;
  gap:12px!important;
}
#page-roles .role-sidebar {
  top:8px!important;
  max-height:calc(100dvh - 92px);
  display:flex;
  flex-direction:column;
}
#page-roles .role-list {
  min-height:0;
  overflow:auto;
}
#page-roles .perm-panel {
  overflow:visible!important;
}
#page-roles .v255-permission-command {
  position:sticky;
  top:0;
  z-index:9;
  grid-template-columns:minmax(280px,1fr) minmax(150px,190px) minmax(145px,170px) minmax(86px,105px) auto;
  gap:8px;
  align-items:stretch;
  padding:10px 14px;
  border-block:1px solid var(--line);
  background:#ffffff;
  box-shadow:0 8px 18px -16px rgba(15,23,42,.45);
}
#page-roles .v255-permission-search {
  min-width:0;
  min-height:42px;
  display:grid;
  grid-template-columns:22px minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  padding:0 10px;
  border:1.5px solid var(--brand);
  border-radius:10px;
  background:#fff;
  color:var(--brand-dark);
}
#page-roles .v255-permission-search .perm-search {
  display:block!important;
  width:100%;
  min-width:0!important;
  height:38px;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#page-roles .v255-permission-search kbd {
  min-width:22px;
  padding:2px 6px;
  border:1px solid var(--line);
  border-radius:6px;
  background:#f8fafc;
  color:var(--ink-faint);
  font-family:inherit;
  font-size:10px;
  text-align:center;
}
#page-roles .v255-permission-jump {
  display:grid;
  grid-template-rows:auto 1fr;
  gap:2px;
  color:var(--ink-soft);
  font-size:9px;
  font-weight:800;
}
#page-roles .v255-permission-jump select {
  width:100%;
  min-width:0;
  min-height:30px;
}
#page-roles .v255-granted-filter {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:5px 9px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  cursor:pointer;
}
#page-roles .v255-granted-filter input { width:18px; height:18px; accent-color:var(--brand); }
#page-roles .v255-granted-filter span,#page-roles .v255-granted-filter strong,#page-roles .v255-granted-filter small { display:block; }
#page-roles .v255-granted-filter strong { color:var(--ink); font-size:10.5px; }
#page-roles .v255-granted-filter small { color:var(--ink-faint); font-size:8.5px; }
#page-roles .v255-permission-result {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:42px;
  border-radius:10px;
  background:#fff;
  border:1px solid var(--line);
}
#page-roles .v255-permission-result strong { color:var(--brand); font-size:18px; line-height:1; }
#page-roles .v255-permission-result span { color:var(--ink-faint); font-size:8.5px; }
#page-roles .v255-permission-reset { min-height:42px; white-space:nowrap; }
#page-roles .perm-controlbar {
  position:sticky;
  top:63px;
  z-index:8;
  background:#ffffff!important;
}
#page-roles .perm-category-head {
  background:#ffffff!important;
}
#page-roles .perm-empty-state {
  min-height:240px;
  display:grid;
  place-items:center;
  text-align:center;
}

@media(max-width:1180px){
  #page-roles .v255-permission-command { grid-template-columns:minmax(230px,1fr) minmax(145px,180px) minmax(135px,160px); }
  #page-roles .v255-permission-result,#page-roles .v255-permission-reset { display:none!important; }
}
@media(max-width:900px){
  #page-roles .roles-layout { grid-template-columns:1fr!important; }
  #page-roles .role-sidebar { position:static!important; max-height:none; }
  #page-roles .role-list { max-height:210px; }
  #page-roles .v255-permission-command { position:static; grid-template-columns:1fr 1fr; }
  #page-roles .v255-permission-search { grid-column:1/-1; }
  #page-roles .perm-controlbar { position:static; }
}
@media(max-width:560px){
  #page-roles .v255-permission-command { grid-template-columns:1fr; }
  #page-roles .v255-permission-search { grid-column:1; }
}

/* v25.4 final white-surface guard: no mixed-color gradient inside the application. */
body.ui-v19.erp-responsive-v20 #appScreen :where(.page-head,.oil-page-head) h1::before {
  background:var(--v19-base)!important;
  background-image:none!important;
}
html[data-v19-light-accents="hidden"] body.ui-v19.erp-responsive-v20 #appScreen :where(
  .erp-silent-print-card,.v195-backup-hero,.access-map-row.has-checked,
  .perm-action.checked,.permission-diagnostics>summary
) {
  background:#ffffff!important;
  background-image:none!important;
}

/* v25.2 — شاشة الدخول ثابتة ولا تتغير مع ثيم الواجهة المحفوظ. */
html[data-v19-preset][data-v19-color-scheme] #loginScreen{
  background:linear-gradient(135deg,#ffffff 0%,#f8fafc 54%,#eef2ff 100%)!important;
}
html[data-v19-preset][data-v19-color-scheme] #loginScreen .login-brand-panel{
  background:linear-gradient(145deg,#0f172a 0%,#172554 38%,#1e3a8a 72%,#2563eb 100%)!important;
  color:#ffffff!important;
}
html[data-v19-preset][data-v19-color-scheme] #loginScreen .login-form-panel{
  background:linear-gradient(160deg,#ffffff 0%,#f8fafc 58%,#eef2ff 100%)!important;
  color:#172033!important;
}
html[data-v19-preset][data-v19-color-scheme] #loginScreen .login-card{
  background:rgba(255,255,255,.97)!important;
  border-color:#d8e2f0!important;
  box-shadow:0 24px 64px rgba(15,35,70,.14)!important;
}
html[data-v19-preset][data-v19-color-scheme] #loginScreen :where(input,select){
  background:#ffffff!important;
  color:#172033!important;
  border-color:#cbd8e8!important;
}
html[data-v19-preset][data-v19-color-scheme] #loginScreen .btn-primary{
  background:linear-gradient(135deg,#1e40af,#2563eb)!important;
  color:#ffffff!important;
  border-color:transparent!important;
}

/* v24.1.2 — keep invoice notes button fully visible and aligned with discount controls */
@media (min-width:1101px){
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-main.si-footer-v234{
    grid-template-columns:minmax(500px,1.25fr) minmax(270px,.68fr) minmax(220px,.52fr)!important;
    gap:12px!important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes{
    grid-template-columns:minmax(130px,.82fr) minmax(130px,.82fr) minmax(220px,1.36fr)!important;
    gap:9px!important;
    align-items:end!important;
    overflow:visible!important;
  }
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes .si-notes-field{
  min-width:0!important;
  overflow:visible!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes .si-notes-field > label{
  display:none!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes .si-notes-field{
  padding-top:18px!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes .si-notes-trigger{
  height:40px!important;
  min-height:40px!important;
  width:100%!important;
  min-width:0!important;
  padding:5px 11px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  justify-content:center!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes .si-notes-trigger-copy{
  flex:0 1 auto!important;
  justify-content:center!important;
  overflow:hidden!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes .si-notes-trigger-copy strong{
  display:block!important;
  max-width:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  font-size:calc(11.5/14*var(--app-font-size))!important;
  line-height:1!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes .si-notes-trigger-copy small{
  display:none!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes .si-notes-trigger-icon,
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes .si-notes-trigger-edit{
  flex:0 0 auto!important;
}
@media(max-width:1100px) and (min-width:761px){
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes{
    grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(190px,1.35fr)!important;
  }
}
@media(max-width:760px){
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes .si-notes-field{
    padding-top:0!important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes .si-notes-trigger{
    min-height:42px!important;
    height:42px!important;
  }
}

/* === v24.2.0: Access Map + permission diagnostics === */
#page-roles .access-map-legend{
  grid-template-columns:220px minmax(0,1fr) minmax(180px,.45fr);
  gap:0;
  margin:12px 20px 0;
  border:1px solid var(--line);
  border-radius:12px 12px 0 0;
  overflow:hidden;
  background:var(--surface-muted);
  color:var(--ink-soft);
  font-size:11px;
}
#page-roles .access-map-legend span{padding:8px 10px;border-inline-end:1px solid var(--line)}
#page-roles .access-map-legend span:last-child{border-inline-end:0}
#page-roles .access-map-legend b{display:block;color:var(--ink);font-size:11.5px;margin-bottom:1px}
#page-roles .perm-matrix.access-map{padding-top:0!important}
#page-roles .permission-level-flow{
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
  gap:8px;
  align-items:center;
  margin:0 0 12px;
}
#page-roles .permission-level-flow>i{color:var(--brand);font-size:16px}
#page-roles .permission-level-card{min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
#page-roles .permission-level-card span{display:block;color:var(--brand);font-size:10px;font-weight:900}
#page-roles .permission-level-card strong{display:block;margin:2px 0;font-size:13px;color:var(--ink)}
#page-roles .permission-level-card small{display:block;color:var(--ink-soft);font-size:10px;line-height:1.4}
#page-roles .permission-level-card.effective{border-color:var(--brand);box-shadow:0 5px 14px color-mix(in srgb,var(--brand) 16%,transparent)}
#page-roles .perm-action.package-blocked{background:#fff8f7!important}
#page-roles .perm-action-package-state{width:max-content;max-width:100%;padding:2px 6px;border-radius:999px;background:#fee2e2;color:#b42318;font-size:9px;font-weight:900}
@media(max-width:760px){
  #page-roles .permission-level-flow{grid-template-columns:1fr}
  #page-roles .permission-level-flow>i{transform:rotate(-90deg);justify-self:center}
}
#page-roles .perm-category{margin-top:14px}
#page-roles .perm-cards{display:flex!important;flex-direction:column!important;gap:0!important;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
#page-roles .access-map-row{
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr)!important;
  gap:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  border-radius:0!important;
  background:var(--surface)!important;
  box-shadow:none!important;
}
#page-roles .access-map-row:last-child{border-bottom:0!important}
#page-roles .access-map-row.has-checked{background:color-mix(in srgb,var(--brand-tint) 18%,var(--surface))!important}
#page-roles .access-map-service{
  padding:11px 12px;
  border-inline-end:1px solid var(--line);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:10px;
  background:color-mix(in srgb,var(--surface-muted) 62%,var(--surface));
}
#page-roles .access-map-service .mtitle-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
#page-roles .access-map-service .mtitle{font-size:12.5px;font-weight:850;color:var(--ink)}
#page-roles .access-map-module-key{font-family:'IBM Plex Mono',monospace;direction:ltr;color:var(--ink-faint);font-size:8.5px;opacity:.78}
#page-roles .access-map-service .mtitle-all{width:100%;min-height:30px;padding:5px 8px;font-size:10px}
#page-roles .access-map-routes{min-width:0}
#page-roles .access-map-row .perm-action-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;
  gap:0!important;
  height:100%;
}
#page-roles .access-map-row .perm-action{
  min-height:72px!important;
  border:0!important;
  border-inline-end:1px solid var(--line)!important;
  border-bottom:1px solid var(--line)!important;
  border-radius:0!important;
  padding:0!important;
  background:transparent!important;
}
#page-roles .access-map-row .perm-action.checked{background:color-mix(in srgb,var(--brand-tint) 32%,var(--surface))!important}
#page-roles .access-map-row .perm-action-row{padding:9px 10px!important;min-height:72px!important;align-items:flex-start!important}
#page-roles .access-map-row .scope-row{padding:0 9px 9px!important;margin:0!important;border:0!important}
#page-roles .access-map-row .scope-toggle{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
#page-roles .access-map-row .scope-toggle button{min-width:0!important;padding:5px 6px!important;font-size:9px!important}
#page-roles .permission-diagnostics{margin:14px 20px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}
#page-roles .permission-diagnostics>summary{cursor:pointer;list-style:none;padding:12px 14px;font-weight:850;color:var(--ink);background:color-mix(in srgb,var(--brand-tint) 22%,var(--surface-muted));display:flex;align-items:center;gap:8px}
#page-roles .permission-diagnostics>summary::-webkit-details-marker{display:none}
#page-roles .permission-diagnostics>summary span{font-size:10px;font-weight:550;color:var(--ink-soft)}
#page-roles .permission-diagnostics-body{padding:12px}
#page-roles .permission-diagnostics-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:10px}
#page-roles .permission-diagnostics-head p{margin:0;color:var(--ink-soft);font-size:11px;line-height:1.7}
#page-roles .permission-diagnostics-table-wrap{overflow:auto;max-height:320px;border:1px solid var(--line);border-radius:10px}
#page-roles .permission-diagnostics-table{margin:0;min-width:760px}
#page-roles .permission-diagnostics-table th,#page-roles .permission-diagnostics-table td{font-size:10.5px;padding:8px 9px;vertical-align:top}
#page-roles .permission-request-cell{max-width:360px;white-space:normal;word-break:break-word;direction:ltr;text-align:left}
@media(max-width:900px){
  #page-roles .access-map-legend{display:none!important}
  #page-roles .access-map-row{grid-template-columns:1fr!important}
  #page-roles .access-map-service{border-inline-end:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center}
  #page-roles .access-map-service .mtitle-all{width:auto}
  #page-roles .permission-diagnostics-head{align-items:stretch;flex-direction:column}
}


/* === v24.2.1: definitive sales-invoice notes alignment === */
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-summary-dock,
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-main.si-footer-v234,
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-footer-tools,
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes{
  overflow:visible!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes{
  display:grid!important;
  grid-template-columns:minmax(138px,.9fr) minmax(138px,.9fr) minmax(230px,1.35fr)!important;
  gap:9px!important;
  align-items:end!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes > .si-notes-inline-control{
  align-self:end!important;
  margin:0!important;
  padding:5px 12px!important;
  width:100%!important;
  min-width:0!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  transform:none!important;
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes > .si-notes-inline-control .si-notes-trigger-copy{
  min-width:0!important;
  flex:0 1 auto!important;
  display:block!important;
  overflow:visible!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes > .si-notes-inline-control .si-notes-trigger-copy strong{
  display:block!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-size:calc(11.5/14*var(--app-font-size))!important;
  line-height:1!important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes > .si-notes-inline-control .si-notes-trigger-copy small{display:none!important;}
@media(max-width:760px){
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes{
    grid-template-columns:1fr 1fr!important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siDiscountInputBox.si-discount-with-notes > .si-notes-inline-control{
    grid-column:1/-1!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
  }
}

/* v25.7 final: إلغاء الظلال بعد جميع حراس لوحة التحكم ومساحة العمل. */
body.ui-v19.erp-responsive-v20[data-v19-style="outlined"] #appScreen :where(
  .v192-open-screens,
  .settings-card,.dash-card,.kpi-card,.dashboard-widget,.card,.table-wrap,.modal-box,
  #page-dashboard .dashboard-commandbar,
  #page-dashboard .dashboard-filterbar,
  #page-dashboard .dashboard-widget > .dash-card,
  #page-dashboard .dashboard-widget > .dash-shortcuts-box,
  #page-dashboard .dashboard-kpi-shell .kpi-card,
  #page-dashboard .dashboard-customize-row
),
body.ui-v19.erp-responsive-v20[data-v19-style="outlined"] .modal-overlay > .modal-box,
body.ui-v19.erp-responsive-v20[data-v19-style="outlined"] .fullscreen-modal {
  box-shadow:none!important;
}

/* v25.11 final: تعميم نمط بدون حد مع ظل، مع حقول تاريخ وكمبوبوكس أوضح. */
body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] :is(
  #appScreen,#posScreen,#launcherScreen,#launcherGroupScreen
) {
  background:#ffffff!important;
  background-image:none!important;
}

/* =====================================================================
   Link Ac v25.13 — فاتورة بيع بصف علوي واحد وبحث الصنف داخل البند
   ===================================================================== */
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-workspace-body {
  padding-top:6px !important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal #siExtraFieldsBox:empty {
  display:none !important;
  margin:0 !important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-lines-shell {
  margin-top:0 !important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-product-search-cell {
  position:relative !important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-line-product-search {
  padding-inline-start:34px !important;
  background-color:var(--surface) !important;
  background-image:linear-gradient(transparent,transparent) !important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-product-search-cell::before {
  content:'\f002';
  position:absolute;
  z-index:2;
  inset-inline-start:17px;
  top:50%;
  translate:0 -50%;
  color:var(--brand);
  font-family:'Font Awesome 6 Free';
  font-size:calc(11/14*var(--app-font-size));
  font-weight:900;
  pointer-events:none;
}
#siLineSearchPortal.si-line-search-portal {
  position:fixed !important;
  right:auto !important;
  bottom:auto !important;
  z-index:10050 !important;
  margin:0 !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  direction:rtl;
  background:var(--surface) !important;
  border:1px solid var(--line) !important;
  border-radius:11px !important;
  box-shadow:0 16px 38px rgba(15,23,42,.2) !important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-line-actions {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  width:100% !important;
  padding:5px 9px !important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-line-actions button {
  flex:0 0 auto !important;
  width:auto !important;
  min-width:108px !important;
  height:36px !important;
  min-height:36px !important;
  padding:4px 12px !important;
  font-size:calc(10/14*var(--app-font-size)) !important;
}
body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-clear-invoice-btn {
  color:var(--danger) !important;
}

@media (min-width:1101px) {
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-workspace-header {
    display:grid !important;
    grid-template-columns:minmax(250px,.72fr) minmax(0,3.28fr) !important;
    align-items:stretch !important;
    gap:7px !important;
    padding:5px 10px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-titlebar {
    min-width:0 !important;
    min-height:56px !important;
    height:56px !important;
    margin:0 !important;
    padding:5px 8px !important;
    border:1px solid color-mix(in srgb,var(--brand) 14%,var(--line)) !important;
    border-radius:11px !important;
    background:var(--surface) !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-title-block {
    width:100% !important;
    min-width:0 !important;
    gap:8px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-title-icon {
    flex:0 0 30px !important;
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-title-copy {
    flex:1 1 auto;
    min-width:0;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-eyebrow {
    display:none !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-heading-line {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:7px;
    min-width:0;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-heading-line h2 {
    flex:1 1 auto;
    min-width:128px;
    margin:0 !important;
    font-size:calc(14/14*var(--app-font-size)) !important;
    line-height:1.2 !important;
    white-space:nowrap;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-draft-state {
    flex:0 0 auto;
    display:inline-flex !important;
    align-items:center;
    gap:4px;
    margin:0 !important;
    padding:4px 7px !important;
    font-size:calc(8.5/14*var(--app-font-size)) !important;
    line-height:1 !important;
    white-space:nowrap;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-grid {
    grid-template-columns:minmax(210px,.88fr) minmax(135px,.74fr) minmax(135px,.7fr) minmax(145px,.76fr) minmax(135px,.7fr) !important;
    grid-auto-rows:56px !important;
    grid-auto-flow:column !important;
    align-items:stretch !important;
    gap:6px !important;
    margin:0 !important;
    overflow:visible !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-field,
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-field {
    min-width:0 !important;
    width:auto !important;
    height:56px !important;
    min-height:56px !important;
  }
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-customer-field {
    grid-column:auto !important;
  }
}

@media (max-width:760px) {
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-line-actions button {
    min-width:96px !important;
    padding-inline:9px !important;
  }
}

body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] :is(
  #appScreen,#posScreen,#launcherScreen,#launcherGroupScreen,.modal-overlay,.pos-unit-modal-overlay
) :is(
  .page-head,.oil-page-head,.fs-sticky-header,.fs-sticky-footer,
  .si-workspace-header,.ii-workspace-head,.ii-workspace-footer,
  .table-wrap,.data-table-wrap,.table-scroll,.ii-table-scroll,.si-lines-table-scroll,.permission-diagnostics-table-wrap,.pos-grid-wrap,
  .form-section,.filter-card,.filter-panel,.inventory-issue-filters,
  .v192-open-screens,.v19-custom-editor,.v19-display-preferences-panel,.v19-style-option,.v19-help-card,.v195-step,.v195-restore-panel,
  .report-center-hub,.report-center-selection,.report-center-tools,
  .dashboard-widget,.dashboard-commandbar,.dashboard-customize-row,.perm-controlbar,.pos-products,.pos-cart,.oil-kpi,
  .sidebar,.tabs,.cat-tabs,.report-tab-strip,.v241-switch-row,.mb-setting-switch,.si-quick-add-control,
  .report-center-empty,.perm-empty-state,.opx-empty-card,.dc-empty,.oil-empty,.dash-list-empty,.role-empty,.m14-empty,.v194-launcher-favorites-empty,
  .quick-search-results,.searchable-select-list,.oil-product-matches,.journal-copy-results,[role="listbox"],
  [class$="-results"],[class*="-results "],[class$="-matches"],[class*="-matches "],
  .auto-service-scope,.to-section-block,.to-measurements-panel,.to-thobe-field,.vop-item,
  [class$="-card"],[class*="-card "],
  [class$="-panel"],[class*="-panel "],
  [class$="-box"],[class*="-box "],
  [class$="-toolbar"],[class*="-toolbar "],
  [class$="-filterbar"],[class*="-filterbar "],
  [class$="-dock"],[class*="-dock "],
  [class$="-shell"],[class*="-shell "],
  [class$="-sidebar"],[class*="-sidebar "],
  [class$="-tabs"],[class*="-tabs "],
  [class$="-summary"],[class*="-summary "],
  [class$="-topbar"],[class*="-topbar "],
  [class$="-titlebar"],[class*="-titlebar "],
  [class$="-footer"],[class*="-footer "],
  [class$="-bar"],[class*="-bar "]
) {
  background:#ffffff!important;
  background-image:none!important;
  border:0!important;
  box-shadow:var(--v19-borderless-surface-shadow)!important;
  transform:none!important;
}

body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] :is(
  #appScreen,#posScreen,#launcherScreen,#launcherGroupScreen,.modal-overlay,.pos-unit-modal-overlay
) :is(
  button:not(.v19-color-preset),[role="button"],[role="tab"],
  .nav-group-label,.nav-item,.shortcut-chip,.vop-item,
  [class$="-tab"],[class*="-tab "],
  [class$="-toggle"],[class*="-toggle "],
  [class$="-chip"],[class*="-chip "],
  [class$="-badge"],[class*="-badge "],
  [class$="-pill"],[class*="-pill "]
) {
  background:#ffffff!important;
  background-image:none!important;
  border:0!important;
  color:var(--v19-base)!important;
  box-shadow:var(--v19-borderless-control-shadow)!important;
  transform:none!important;
}

body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] :is(
  #appScreen,#posScreen,#launcherScreen,#launcherGroupScreen,.modal-overlay,.pos-unit-modal-overlay
) :is(
  button:not(.v19-color-preset),[role="button"],[role="tab"],
  .nav-group-label,.nav-item,.shortcut-chip,.vop-item,
  [class$="-tab"],[class*="-tab "],
  [class$="-toggle"],[class*="-toggle "],
  [class$="-chip"],[class*="-chip "],
  [class$="-badge"],[class*="-badge "],
  [class$="-pill"],[class*="-pill "]
):hover,
body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] :is(
  #appScreen,#posScreen,#launcherScreen,#launcherGroupScreen,.modal-overlay,.pos-unit-modal-overlay
) :is(.active,[aria-selected="true"],[aria-pressed="true"]) {
  background:#ffffff!important;
  border:0!important;
  color:color-mix(in srgb,var(--v19-base) 86%,#000000)!important;
  box-shadow:var(--v19-borderless-hover-shadow)!important;
  transform:none!important;
}

body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] :is(
  #appScreen,#posScreen,#launcherScreen,#launcherGroupScreen,.modal-overlay,.pos-unit-modal-overlay
) :is(
  button:not(.v19-color-preset),[role="button"],[role="tab"],
  .nav-group-label,.nav-item,.shortcut-chip,.vop-item,
  [class$="-tab"],[class*="-tab "],
  [class$="-toggle"],[class*="-toggle "],
  [class$="-chip"],[class*="-chip "],
  [class$="-badge"],[class*="-badge "],
  [class$="-pill"],[class*="-pill "]
) :where(i,span,svg) {
  color:inherit!important;
}

/* V25.16: توزيع مخصص لعرض السعر المطبوع وملف PDF. */
#printInvoiceArea.format-a4.print-document-quotation .pi-header-logo img {
  width: auto !important;
  max-width: 23px !important;
  max-height: 23px !important;
  object-fit: contain !important;
}

#printInvoiceArea.format-a4.print-document-quotation .pi-table {
  width: 100% !important;
  table-layout: fixed !important;
}

#printInvoiceArea.format-a4.print-document-quotation .pi-table :is(th,td):nth-child(1) {
  width: 5% !important;
  padding-inline: 2px !important;
  text-align: center !important;
}

#printInvoiceArea.format-a4.print-document-quotation .pi-table :is(th,td):nth-child(2) {
  width: 43% !important;
  text-align: right !important;
}

#printInvoiceArea.format-a4.print-document-quotation .pi-table :is(th,td):nth-child(3) { width: 10% !important; }
#printInvoiceArea.format-a4.print-document-quotation .pi-table :is(th,td):nth-child(4) { width: 14% !important; }
#printInvoiceArea.format-a4.print-document-quotation .pi-table :is(th,td):nth-child(5) { width: 12% !important; }
#printInvoiceArea.format-a4.print-document-quotation .pi-table :is(th,td):nth-child(6) { width: 16% !important; }

body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] :is(
  #appScreen,#posScreen,#launcherScreen,#launcherGroupScreen,.modal-overlay,.pos-unit-modal-overlay
) :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
  select,textarea,[contenteditable="true"],[role="combobox"],[aria-haspopup="listbox"],input[list],
  .searchable-select-input,.combobox,.combo-box,.select2-selection,.choices__inner,.dropdown-toggle,
  [class$="-combobox"],[class*="-combobox "],[class$="-combo-box"],[class*="-combo-box "]
) {
  background:#ffffff!important;
  background-image:none!important;
  border:0!important;
  color:#111827!important;
  box-shadow:var(--v19-borderless-field-shadow)!important;
}

body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] :is(
  #appScreen,#posScreen,#launcherScreen,#launcherGroupScreen,.modal-overlay,.pos-unit-modal-overlay
) :is(input[type="range"],input[type="color"]) {
  border:0!important;
  box-shadow:var(--v19-borderless-field-shadow)!important;
}

body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] :is(
  #appScreen,#posScreen,#launcherScreen,#launcherGroupScreen,.modal-overlay,.pos-unit-modal-overlay
) :is(input[type="checkbox"],input[type="radio"]) {
  border:0!important;
  accent-color:var(--v19-base)!important;
  box-shadow:0 3px 9px -5px color-mix(in srgb,var(--v19-base) 48%,transparent)!important;
}

body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] :is(
  #appScreen,#posScreen,#launcherScreen,#launcherGroupScreen,.modal-overlay,.pos-unit-modal-overlay
) :is(
  button:not(.v19-color-preset),[role="button"],[role="tab"],.nav-group-label,.nav-item,.shortcut-chip,
  input:not([type="checkbox"]):not([type="radio"]),select,textarea,[contenteditable="true"],
  [role="combobox"],[aria-haspopup="listbox"],.searchable-select-input,.combobox,.combo-box,.select2-selection,.choices__inner,.dropdown-toggle
):focus-visible {
  border:0!important;
  outline:0!important;
  box-shadow:var(--v19-borderless-focus-shadow)!important;
}

body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] :is(
  #appScreen,#posScreen,#launcherScreen,#launcherGroupScreen,.modal-overlay,.pos-unit-modal-overlay
) .v19-color-preset {
  border:0!important;
  box-shadow:var(--v19-borderless-control-shadow)!important;
}

body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] :is(
  #appScreen,#posScreen,#launcherScreen,#launcherGroupScreen,.modal-overlay,.pos-unit-modal-overlay
) :is(.table-wrap,.data-table-wrap,.table-scroll,.table-shell,.ii-table-scroll,.si-lines-table-scroll,.permission-diagnostics-table-wrap) :is(table,thead,tbody,tr) {
  background:#ffffff!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}
body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] :is(
  #appScreen,#posScreen,#launcherScreen,#launcherGroupScreen,.modal-overlay,.pos-unit-modal-overlay
) :is(th,td) {
  background:#ffffff!important;
  border:0!important;
  box-shadow:var(--v19-borderless-divider-shadow)!important;
}
body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] :is(
  #appScreen,#posScreen,#launcherScreen,#launcherGroupScreen,.modal-overlay,.pos-unit-modal-overlay
) th {
  color:var(--v19-base)!important;
}

html[data-v19-preset] body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] #appScreen #mainSidebar #navMenu > .nav-group-label,
body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] #appScreen #mainSidebar #navMenu > .nav-group-label,
body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] #appScreen #mainSidebar #navMenu > .nav-group-label:hover,
body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] #appScreen #mainSidebar #navMenu > .nav-group-label.open {
  background:#ffffff!important;
  border:0!important;
  color:var(--v19-base)!important;
  box-shadow:var(--v19-borderless-hover-shadow)!important;
}
body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] #appScreen #mainSidebar #navMenu .nav-item {
  background:#ffffff!important;
  background-image:none!important;
  border:0!important;
  color:#111827!important;
  box-shadow:var(--v19-borderless-control-shadow)!important;
}
body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] #appScreen #mainSidebar #navMenu .nav-item:is(.active,:hover) {
  background:#ffffff!important;
  color:#111827!important;
  box-shadow:var(--v19-borderless-hover-shadow)!important;
}
body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] #appScreen #mainSidebar #navMenu .nav-item-quick {
  color:var(--v19-base)!important;
}
body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] #appScreen #mainSidebar #navMenu :where(.nav-group-label,.nav-item) :where(span,i,svg,.glabel-icon,.chevron) {
  color:inherit!important;
}

body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] :is(
  #appScreen,#posScreen,#launcherScreen,#launcherGroupScreen,.modal-overlay,.pos-unit-modal-overlay
) :is(button:disabled,input:disabled,select:disabled,textarea:disabled,[aria-disabled="true"]) {
  opacity:.5!important;
  box-shadow:var(--v19-borderless-disabled-shadow)!important;
  cursor:not-allowed!important;
}

/* حقول ذات محددات قديمة عالية الأولوية داخل فاتورة البيع وملاحظاتها. */
body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] #salesInvoiceModal #siDiscountInputBox :is(input,select,textarea),
body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] #salesInvoiceNotesModal #fSiNotes {
  background:#ffffff!important;
  background-image:none!important;
  border:0!important;
  color:#111827!important;
  box-shadow:var(--v19-borderless-field-shadow)!important;
}
body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] #salesInvoiceModal #siDiscountInputBox :is(input,select,textarea):focus-visible,
body.ui-v19.erp-responsive-v20[data-v19-style="borderless-shadow"] #salesInvoiceNotesModal #fSiNotes:focus-visible {
  border:0!important;
  outline:0!important;
  box-shadow:var(--v19-borderless-focus-shadow)!important;
}
/* قرار الوصول المختوم من مركز الصلاحيات يتغلب على أي إضافة واجهة قديمة
   تحاول إعادة إظهار عنصر القائمة بتغيير style.display بعد اكتمال الدخول. */
#navMenu .nav-item.nav-access-denied{
  display:none !important;
}
#navMenu .nav-group-label.nav-group-access-denied{
  display:none !important;
}

/* =====================================================================
   V26.0.1 — ترويسة A4 ثنائية اللغة بلا التفاف أو تداخل

   تثبيت مواضع الإنجليزية والشعار والعربية بمناطق Grid مسماة يمنع تأثر
   ترتيبها باتجاه المستند العام، ويُبقي عنوان الفاتورة في صف مستقل أسفلها.
   ===================================================================== */
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-invoice-header {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(84px,104px) minmax(0,1fr) !important;
  grid-template-areas:"company-en company-logo company-ar" !important;
  align-items:center !important;
  width:100% !important;
  height:auto !important;
  min-height:82px !important;
  gap:14px !important;
  margin:0 0 8px !important;
  padding:8px 0 !important;
  direction:ltr !important;
  position:relative !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-invoice-header .pi-header-en {
  grid-area:company-en !important;
  grid-column:auto !important;
  min-width:0 !important;
  align-self:center !important;
  direction:ltr !important;
  text-align:left !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-invoice-header .pi-header-logo {
  grid-area:company-logo !important;
  grid-column:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  justify-self:stretch !important;
  align-self:center !important;
  width:100% !important;
  min-width:0 !important;
  height:70px !important;
  overflow:hidden !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-invoice-header .pi-header-logo img {
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:70px !important;
  margin:auto !important;
  object-fit:contain !important;
  object-position:center !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-invoice-header .pi-header-ar {
  grid-area:company-ar !important;
  grid-column:auto !important;
  min-width:0 !important;
  align-self:center !important;
  direction:rtl !important;
  text-align:right !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-invoice-header .pi-co-name {
  margin:0 !important;
  line-height:1.3 !important;
  overflow-wrap:anywhere !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-invoice-header .pi-co-details {
  margin-top:3px !important;
  line-height:1.45 !important;
  overflow-wrap:anywhere !important;
}
body.ui-v19.erp-responsive-v20 #printInvoiceArea.erp-invoice-print-v204.format-a4 .pi-invoice-header + .pi-title {
  position:relative !important;
  inset:auto !important;
  z-index:0 !important;
  clear:both !important;
  margin-top:0 !important;
}

/* =====================================================================
   v26.2.0 — مركز الصلاحيات وتباين القائمة الجانبية
   ===================================================================== */

/* تباين ثابت لزر الشاشة النشطة: يمنع اختفاء اسم الشاشة مع أي لون مخصص. */
html body.ui-v2 #appScreen #mainSidebar .nav-group-label,
html body.ui-v19 #appScreen #mainSidebar .nav-group-label{
  color:#fff!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--v19-base,var(--brand,#456f73)) 42%,#000),color-mix(in srgb,var(--v19-dark,var(--brand-dark,#284b4f)) 40%,#000))!important;
  border-color:color-mix(in srgb,var(--v19-base,var(--brand,#456f73)) 38%,#111827)!important;
}
html body.ui-v2 #appScreen #mainSidebar .nav-group-label :where(span,i,.glabel-icon,.chevron),
html body.ui-v19 #appScreen #mainSidebar .nav-group-label :where(span,i,.glabel-icon,.chevron){
  color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;
}
html body.ui-v2 #appScreen #mainSidebar .nav-item:not(.active),
html body.ui-v19 #appScreen #mainSidebar .nav-item:not(.active){
  color:#1f2937!important;background:#fff!important;text-shadow:none!important;
  -webkit-text-fill-color:currentColor!important;
}
html body.ui-v2 #appScreen #mainSidebar .nav-item:not(.active):hover,
html body.ui-v19 #appScreen #mainSidebar .nav-item:not(.active):hover{
  color:#111827!important;background:color-mix(in srgb,var(--v19-base,var(--brand,#456f73)) 9%,#fff)!important;
  border-color:color-mix(in srgb,var(--v19-base,var(--brand,#456f73)) 34%,#d1d5db)!important;
}
html body.ui-v2 #appScreen #mainSidebar .nav-item.active,
html body.ui-v19 #appScreen #mainSidebar .nav-item.active{
  color:#fff!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--v19-base,var(--brand,#456f73)) 42%,#000),color-mix(in srgb,var(--v19-dark,var(--brand-dark,#284b4f)) 38%,#000))!important;
  border:1px solid color-mix(in srgb,#fff 19%,transparent)!important;
  border-inline-start:4px solid #fff!important;
  box-shadow:0 8px 18px color-mix(in srgb,var(--v19-base,var(--brand,#456f73)) 22%,transparent)!important;
  font-weight:850!important;opacity:1!important;text-shadow:0 1px 2px rgba(0,0,0,.24)!important;
  -webkit-text-fill-color:#fff!important;
}
html body.ui-v2 #appScreen #mainSidebar .nav-item.active :where(span,strong,i,.nav-label,.nav-icon,.v194-svg-icon),
html body.ui-v19 #appScreen #mainSidebar .nav-item.active :where(span,strong,i,.nav-label,.nav-icon,.v194-svg-icon){
  color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;visibility:visible!important;text-shadow:inherit!important;
}
html body.ui-v2 #appScreen #mainSidebar .nav-item.active::before,
html body.ui-v19 #appScreen #mainSidebar .nav-item.active::before{background:#fff!important;opacity:1!important}
html body.ui-v2 #appScreen #mainSidebar .nav-item:focus-visible,
html body.ui-v19 #appScreen #mainSidebar .nav-item:focus-visible{outline:3px solid color-mix(in srgb,var(--v19-base,var(--brand,#456f73)) 34%,transparent)!important;outline-offset:2px}

#page-roles{--access-active:color-mix(in srgb,var(--v19-base,var(--brand,#456f73)) 42%,#000);--access-soft:color-mix(in srgb,var(--v19-base,var(--brand,#456f73)) 8%,#fff)}
#page-roles .roles-page-head{align-items:center;gap:18px;margin-bottom:16px;padding:18px 20px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--brand-tint) 48%,var(--surface)));box-shadow:0 10px 26px rgba(15,23,42,.055)}
#page-roles .roles-title-block{display:flex;align-items:center;gap:13px;min-width:0}
#page-roles .roles-title-icon{width:50px;height:50px;display:grid;place-items:center;flex:0 0 50px;border-radius:15px;color:#fff;background:linear-gradient(145deg,var(--access-active),color-mix(in srgb,var(--access-active) 70%,#000));box-shadow:0 10px 22px color-mix(in srgb,var(--brand) 22%,transparent);font-size:19px}
#page-roles .roles-eyebrow{display:block;margin-bottom:2px;color:var(--brand-dark);font-size:10px;font-weight:900}
#page-roles .roles-title-block h1{margin:0;color:var(--ink)!important;font-size:clamp(20px,2vw,27px)!important;line-height:1.25}
#page-roles .roles-title-block p{max-width:720px;margin:4px 0 0;color:var(--ink-soft);font-size:11.5px;line-height:1.65}
#page-roles .roles-page-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-inline-start:auto}
#page-roles .roles-page-actions button{min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:7px}

#page-roles .roles-layout{display:grid!important;grid-template-columns:270px minmax(0,1fr)!important;gap:14px!important;align-items:start!important}
#page-roles .role-sidebar{position:sticky!important;top:12px!important;max-height:calc(100vh - 120px);padding:0!important;overflow:hidden!important;border:1px solid var(--line)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 8px 24px rgba(15,23,42,.045)!important}
#page-roles .role-sidebar-head{padding:16px 15px 12px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--brand-tint) 68%,#fff),#fff)}
#page-roles .role-sidebar-head>div{display:flex;align-items:center;justify-content:space-between;gap:8px}
#page-roles .role-sidebar-head strong{color:#111827;font-size:13px}
#page-roles .role-sidebar-head p{margin:4px 0 0;color:#4b5563;font-size:10px;line-height:1.55}
#page-roles .role-count-badge{min-width:27px;padding:3px 8px;border-radius:999px;color:#fff;background:var(--access-active);font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:900;text-align:center}
#page-roles .role-search{width:calc(100% - 24px)!important;margin:12px!important;padding:10px 12px!important;border:1.5px solid #cbd5e1!important;border-radius:11px!important;color:#111827!important;background:#fff!important;box-sizing:border-box}
#page-roles .role-search:focus{border-color:var(--brand)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 13%,transparent)!important;outline:0!important}
#page-roles .role-list{display:flex!important;flex-direction:column!important;gap:4px!important;max-height:calc(100vh - 260px)!important;overflow:auto!important;padding:0 8px 10px!important}
#page-roles .role-empty{padding:24px 10px;text-align:center;color:#6b7280;font-size:12px}
#page-roles .role-btn{width:100%!important;min-height:44px!important;margin:0!important;padding:9px 10px!important;border:1px solid transparent!important;border-radius:11px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;color:#374151!important;background:#fff!important;box-shadow:none!important;text-align:start!important;text-shadow:none!important;-webkit-text-fill-color:currentColor!important}
#page-roles .role-btn:hover{color:#111827!important;background:var(--access-soft)!important;border-color:color-mix(in srgb,var(--brand) 24%,var(--line))!important}
#page-roles .role-btn.active{color:#fff!important;background:linear-gradient(135deg,var(--access-active),color-mix(in srgb,var(--access-active) 74%,#000))!important;border-color:rgba(255,255,255,.18)!important;border-inline-start:4px solid #fff!important;box-shadow:0 8px 18px color-mix(in srgb,var(--brand) 20%,transparent)!important;-webkit-text-fill-color:#fff!important}
#page-roles .role-btn .rb-name{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit!important;-webkit-text-fill-color:currentColor!important}
#page-roles .role-btn .rb-name>i{width:18px;text-align:center;color:var(--brand-dark)}
#page-roles .role-btn.active :where(.rb-name,.rb-name>i,.rb-tag,.rb-count){color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important}
#page-roles .role-btn .rb-tag{padding:2px 5px;border-radius:999px;background:rgba(17,24,39,.07);font-size:9px;font-weight:800}
#page-roles .role-btn .rb-count{min-width:28px;padding:3px 7px;border-radius:999px;color:#374151;background:#eef2f7;font-family:'IBM Plex Mono',monospace;font-size:9.5px;font-weight:900;text-align:center}
#page-roles .role-btn.active .rb-count{background:rgba(255,255,255,.18)!important}

#page-roles .perm-panel{min-width:0!important;overflow:clip!important;border:1px solid var(--line)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 8px 24px rgba(15,23,42,.045)!important}
#page-roles .perm-panel-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;padding:18px 20px 15px!important;border-bottom:0!important;background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--brand-tint) 45%,#fff))!important}
#page-roles .perm-panel-head>div:first-child{flex:1;min-width:0}
#page-roles .perm-panel-kicker{display:block;margin-bottom:4px;color:var(--brand-dark);font-size:9.5px;font-weight:900}
#page-roles .perm-panel-head h2{margin:0!important;color:#111827!important;font-size:17px!important}
#page-roles .perm-summary{margin-top:4px!important;color:#4b5563!important;font-size:11.5px!important}
#page-roles .perm-summary b{color:var(--access-active)!important}
#page-roles .access-center-stats{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:8px;margin-top:13px}
#page-roles .access-stat{display:grid;grid-template-columns:1fr auto;grid-template-areas:"label value" "label sub";align-items:center;gap:1px 8px;min-height:58px;padding:9px 11px;border:1px solid #d8dee8;border-radius:11px;background:#fff}
#page-roles .access-stat span{grid-area:label;color:#4b5563;font-size:10.5px;font-weight:750;line-height:1.45}
#page-roles .access-stat strong{grid-area:value;color:var(--access-active);font-family:'IBM Plex Mono',monospace;font-size:18px;line-height:1}
#page-roles .access-stat small{grid-area:sub;color:#6b7280;font-size:9px;text-align:end}
#page-roles .perm-panel-actions{display:flex;align-items:center;gap:8px}

#page-roles .permission-command-grid{grid-template-columns:minmax(240px,1.5fr) auto minmax(150px,.75fr) auto auto;gap:8px;align-items:center;padding:10px 20px;border-block:1px solid var(--line);background:#f8fafc}
#page-roles .permission-search-shell{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:42px;padding:0 11px;border:1.5px solid #cbd5e1;border-radius:11px;background:#fff;color:#64748b}
#page-roles .permission-search-shell:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}
#page-roles .permission-search-shell .perm-search{display:block!important;width:100%!important;min-width:0!important;height:38px!important;min-height:38px!important;padding:0!important;border:0!important;outline:0!important;box-shadow:none!important;color:#111827!important;background:transparent!important}
#page-roles .permission-search-shell kbd{padding:2px 6px;border:1px solid #d1d5db;border-bottom-width:2px;border-radius:5px;background:#f9fafb;color:#6b7280;font:700 10px 'IBM Plex Mono',monospace}
#page-roles .permission-granted-filter{min-height:42px;padding:0 11px;border:1px solid #d8dee8;border-radius:11px;display:flex;align-items:center;gap:7px;color:#374151;background:#fff;font-size:10.5px;font-weight:800;white-space:nowrap;cursor:pointer}
#page-roles .permission-granted-filter input{width:17px;height:17px;accent-color:var(--access-active)}
#page-roles .permission-jump-label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-height:42px;padding:0 9px;border:1px solid #d8dee8;border-radius:11px;color:#4b5563;background:#fff;font-size:9.5px;font-weight:750}
#page-roles .permission-jump-label select{min-width:0!important;height:34px!important;min-height:34px!important;padding:0 6px!important;border:0!important;color:#111827!important;background:transparent!important;font-size:10.5px!important}
#page-roles .permission-reset-btn{min-height:42px!important;padding:7px 10px!important;white-space:nowrap}
#page-roles .permission-result-count{color:#6b7280;font-size:10px;white-space:nowrap}
#page-roles .permission-result-count b{color:var(--access-active);font-family:'IBM Plex Mono',monospace;font-size:13px}

#page-roles .perm-controlbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 20px;border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap}
#page-roles .perm-view-tabs{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
#page-roles .perm-view-tab{min-height:36px;padding:6px 11px;border:1px solid #d1d5db;border-radius:999px;color:#374151;background:#fff;font:800 10.5px inherit;cursor:pointer}
#page-roles .perm-view-tab:hover{border-color:var(--brand);background:var(--access-soft)}
#page-roles .perm-view-tab.active{color:#fff!important;background:var(--access-active)!important;border-color:var(--access-active)!important;box-shadow:0 6px 14px color-mix(in srgb,var(--brand) 18%,transparent)!important;-webkit-text-fill-color:#fff!important}
#page-roles .perm-bulk-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#page-roles .perm-bulk-actions button{min-height:36px!important;padding:6px 10px!important;font-size:10px!important}
#page-roles .perm-package-note{align-items:flex-start;gap:8px;margin:10px 20px 0;padding:9px 11px;border:1px solid color-mix(in srgb,var(--brand) 24%,#d1d5db);border-radius:10px;color:#374151;background:color-mix(in srgb,var(--brand-tint) 58%,#fff);font-size:10.5px;line-height:1.65}
#page-roles .perm-package-note i{margin-top:2px;color:var(--access-active)}

#page-roles .permission-level-flow{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center;margin:12px 20px 0}
#page-roles .permission-level-flow>i{color:var(--access-active)!important;font-size:15px}
#page-roles .permission-level-card{min-width:0;padding:10px 12px;border:1px solid #d8dee8;border-radius:11px;background:#fff}
#page-roles .permission-level-card>span{display:block;color:var(--access-active);font-size:9px;font-weight:900}
#page-roles .permission-level-card>strong{display:block;margin:2px 0;color:#111827;font-size:12.5px}
#page-roles .permission-level-card>small{display:block;color:#4b5563;font-size:9.5px;line-height:1.45}
#page-roles .permission-level-card.effective{border-color:var(--access-active);background:var(--access-soft);box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 13%,transparent)}
#page-roles .access-map-legend{grid-template-columns:220px minmax(0,1fr) minmax(180px,.45fr);gap:0;margin:12px 20px 0;border:1px solid #d8dee8;border-radius:11px 11px 0 0;overflow:hidden;color:#4b5563;background:#f3f6f9;font-size:9.5px}
#page-roles .access-map-legend span{padding:8px 10px;border-inline-end:1px solid #d8dee8}
#page-roles .access-map-legend span:last-child{border-inline-end:0}
#page-roles .access-map-legend b{display:block;margin-bottom:2px;color:#111827;font-size:10.5px}

#page-roles .perm-matrix.access-map{padding:0 20px 22px!important;background:#fff!important}
#page-roles .perm-category{margin:13px 0 0!important;overflow:hidden;border:1px solid #d8dee8;border-radius:13px;background:#fff;scroll-margin-top:90px}
#page-roles .perm-category-head{margin:0!important;padding:10px 13px!important;border-bottom:1px solid #d8dee8!important;background:#f8fafc!important}
#page-roles .perm-category-title{color:#111827!important;font-size:12.5px!important}
#page-roles .perm-category-count{color:#4b5563!important;font-size:9.5px!important}
#page-roles .perm-cards{display:flex!important;flex-direction:column!important;gap:0!important;overflow:hidden!important;border:0!important;border-radius:0!important;background:#fff!important}
#page-roles .access-map-row{display:grid!important;grid-template-columns:220px minmax(0,1fr)!important;gap:0!important;margin:0!important;padding:0!important;border:0!important;border-bottom:1px solid #d8dee8!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
#page-roles .access-map-row:last-child{border-bottom:0!important}
#page-roles .access-map-row.has-checked{background:color-mix(in srgb,var(--brand-tint) 17%,#fff)!important}
#page-roles .access-map-service{display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:10px!important;padding:11px 12px!important;border-inline-end:1px solid #d8dee8!important;background:#f8fafc!important}
#page-roles .access-map-service .mtitle-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
#page-roles .access-map-service .mtitle{color:#111827!important;font-size:12px!important;font-weight:850!important;line-height:1.45}
#page-roles .access-map-module-key{max-width:100%;overflow:hidden;text-overflow:ellipsis;color:#6b7280!important;font:8px 'IBM Plex Mono',monospace;direction:ltr}
#page-roles .access-map-service .mtitle-all{width:100%!important;min-height:31px!important;padding:5px 8px!important;border:1px solid color-mix(in srgb,var(--brand) 22%,#d1d5db)!important;border-radius:8px!important;color:var(--access-active)!important;background:var(--access-soft)!important;font-size:9.5px!important;font-weight:850!important}
#page-roles .access-map-routes{min-width:0}
#page-roles .access-map-row .perm-action-list{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(205px,1fr))!important;gap:0!important;height:100%}
#page-roles .access-map-row .perm-action{min-height:78px!important;margin:0!important;padding:0!important;border:0!important;border-inline-end:1px solid #e1e6ed!important;border-bottom:1px solid #e1e6ed!important;border-radius:0!important;color:#111827!important;background:#fff!important}
#page-roles .access-map-row .perm-action.checked{background:color-mix(in srgb,var(--brand-tint) 38%,#fff)!important}
#page-roles .access-map-row .perm-action.package-blocked{background:#fff7f5!important}
#page-roles .access-map-row .perm-action-row{min-height:78px!important;padding:9px 10px!important;align-items:flex-start!important}
#page-roles .perm-action-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
#page-roles .perm-action-label{color:#1f2937!important;font-size:11.5px!important;font-weight:800!important;line-height:1.45}
#page-roles .perm-action-desc{color:#4b5563!important;font-size:9px;line-height:1.5}
#page-roles .perm-action-key{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6b7280!important;font:7.8px 'IBM Plex Mono',monospace;direction:ltr;text-align:start}
#page-roles .perm-action-package-state{width:max-content;max-width:100%;padding:2px 6px;border-radius:999px;color:#9f2d20!important;background:#fee2e2;font-size:8.5px;font-weight:900}
#page-roles .perm-switch{position:relative;width:38px!important;height:22px!important;flex:0 0 38px!important}
#page-roles .perm-switch input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important}
#page-roles .perm-switch .track{position:absolute!important;inset:0!important;border-radius:999px!important;background:#94a3b8!important;transition:.16s!important}
#page-roles .perm-switch .track::before{content:""!important;position:absolute!important;left:2px!important;top:2px!important;width:18px!important;height:18px!important;border-radius:50%!important;background:#fff!important;box-shadow:0 1px 4px rgba(0,0,0,.25)!important;transition:.16s!important}
#page-roles .perm-switch input:checked + .track{background:var(--access-active)!important}
#page-roles .perm-switch input:checked + .track::before{transform:translateX(16px)!important}
#page-roles .perm-switch input:focus-visible + .track{outline:3px solid color-mix(in srgb,var(--brand) 28%,transparent);outline-offset:2px}
#page-roles .access-map-row .scope-row{margin:0!important;padding:0 9px 9px!important;border:0!important}
#page-roles .access-map-row .scope-toggle{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;padding:2px!important;border-color:#d1d5db!important;background:#fff!important}
#page-roles .access-map-row .scope-toggle button{min-width:0!important;padding:5px 6px!important;color:#4b5563!important;font-size:9px!important}
#page-roles .access-map-row .scope-toggle button.active{color:#fff!important;background:var(--access-active)!important;-webkit-text-fill-color:#fff!important}
#page-roles .branch-chip.active{color:#fff!important;background:var(--access-active)!important;border-color:var(--access-active)!important;-webkit-text-fill-color:#fff!important}
#page-roles .perm-package-badge{display:inline-flex;padding:3px 7px;border:1px solid;border-radius:999px;font-size:8.5px;font-weight:850;white-space:nowrap}
#page-roles .perm-package-badge.enabled{color:#065f46;background:#d1fae5;border-color:#6ee7b7}
#page-roles .perm-package-badge.disabled{color:#9a3412;background:#ffedd5;border-color:#fdba74}
#page-roles .perm-empty-state{min-height:260px;padding:50px 20px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#6b7280!important;text-align:center}
#page-roles .perm-empty-state>i{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;color:var(--access-active);background:var(--access-soft);font-size:20px}
#page-roles .perm-empty-state>strong{color:#111827;font-size:14px}
#page-roles .perm-empty-state>span{max-width:420px;font-size:11px;line-height:1.6}
#page-roles .perm-save-bar{position:sticky!important;bottom:0!important;z-index:8!important;padding:11px 20px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;border-top:1px solid #d8dee8!important;background:rgba(255,255,255,.95)!important;backdrop-filter:blur(14px)!important}
#page-roles .perm-save-bar.is-dirty{box-shadow:0 -8px 22px rgba(15,23,42,.07)}
#page-roles .perm-save-copy{display:flex;flex-direction:column;gap:2px}
#page-roles .perm-save-copy strong{color:#111827;font-size:11.5px}
#page-roles .perm-save-copy span{color:#6b7280;font-size:9.5px}
#page-roles .perm-save-bar.is-dirty .perm-save-copy span{color:#9a5b00;font-weight:800}
#page-roles #savePermsBtn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#fff!important;background:linear-gradient(135deg,var(--access-active),color-mix(in srgb,var(--access-active) 72%,#000))!important;border-color:transparent!important;-webkit-text-fill-color:#fff!important}

@media(max-width:1180px){
  #page-roles .access-center-stats{grid-template-columns:1fr 1fr}
  #page-roles .permission-command-grid{grid-template-columns:minmax(220px,1fr) auto minmax(150px,.7fr)}
  #page-roles .permission-reset-btn,#page-roles .permission-result-count{grid-row:2}
}
@media(max-width:900px){
  #page-roles .roles-layout{grid-template-columns:1fr!important}
  #page-roles .role-sidebar{position:static!important;max-height:none!important}
  #page-roles .role-list{max-height:230px!important}
  #page-roles .access-map-legend{display:none!important}
  #page-roles .access-map-row{grid-template-columns:1fr!important}
  #page-roles .access-map-service{border-inline-end:0!important;border-bottom:1px solid #d8dee8!important;flex-direction:row!important;align-items:center!important}
  #page-roles .access-map-service .mtitle-all{width:auto!important}
}
@media(max-width:720px){
  #page-roles .roles-page-head{align-items:stretch;flex-direction:column;padding:14px}
  #page-roles .roles-page-actions{display:grid;grid-template-columns:1fr;width:100%;margin:0}
  #page-roles .roles-page-actions button{width:100%}
  #page-roles .access-center-stats{grid-template-columns:1fr 1fr}
  #page-roles .permission-command-grid{grid-template-columns:1fr;padding-inline:12px}
  #page-roles .permission-reset-btn,#page-roles .permission-result-count{grid-row:auto}
  #page-roles .perm-controlbar{align-items:stretch;padding-inline:12px}
  #page-roles .perm-view-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}
  #page-roles .perm-bulk-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  #page-roles .permission-level-flow{grid-template-columns:1fr;margin-inline:12px}
  #page-roles .permission-level-flow>i{transform:rotate(-90deg);justify-self:center}
  #page-roles .perm-package-note{margin-inline:12px}
  #page-roles .perm-matrix.access-map{padding-inline:12px!important}
  #page-roles .access-map-row .perm-action-list{grid-template-columns:1fr!important}
  #page-roles .perm-save-copy{display:none}
  #page-roles #savePermsBtn{width:100%}
}
@media(max-width:460px){
  #page-roles .roles-title-icon{width:42px;height:42px;flex-basis:42px}
  #page-roles .roles-title-block p{display:none}
  #page-roles .access-center-stats{grid-template-columns:1fr}
}

/* ================================================================
   v27.3.8 — إصلاح تصميم فاتورة المبيعات ونقطة البيع على الجوال
   يُضاف عمدًا بنهاية الملف ليكسب الأولوية (بترتيب الظهور بالكود) على
   القواعد المتراكمة والمتعارضة أعلاه المستهدفة لنفس هذه العناصر عند
   نفس مقاسات الشاشة، دون حذف أو إعادة ترتيب أي قاعدة سابقة.
   ================================================================ */

/* 1) خانة اختيار/البحث عن العميل بفاتورة المبيعات (بحث + زر "عميل
   جديد") تحتاج مساحة أوسع من عمود واحد بشبكة الحقول العلوية الخماسية؛
   إجبارها على مشاركة عمود مع خانة "الفرع" بالشبكات الثلاثية/الرباعية
   المستخدمة حاليًا بين 760-900px كان يدفع خانة الفرع فعليًا خارج حدود
   الشاشة (رُصد ذلك مباشرة: خانة الفرع تُرسَم عند إحداثي أفقي سالب).
   اجعل خانة العميل تمتد دائمًا كامل عرض الصف بمفردها. */
@media (max-width:900px){
  body.ui-v19.erp-responsive-v20 #salesInvoiceModal .si-meta-grid .si-customer-field{
    grid-column:1/-1 !important;
  }
}

/* 2) جدول بنود فاتورة المبيعات كان ممنوعًا من التمرير الأفقي
   (overflow-x:hidden) على الجوال/التابلت، فتخرج خانة "الإجمالي" وزر
   حذف السطر عن حدود الشاشة تمامًا بلا أي وسيلة للوصول إليهما. أعِد
   تفعيل التمرير الأفقي لهذا الجدول تحديدًا (دون أي تغيير لنافذة فاتورة
   المشتريات) مع عرض أدنى يكفي لعرض كل الأعمدة بوضوح، فيصير التمرير
   الجانبي وسيلة وصول طبيعية لها، تمامًا كأي جدول بيانات عريض بجوال. */
@media (max-width:900px){
  #salesInvoiceModal .si-lines-table-scroll{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
  }
  #salesInvoiceModal .si-lines-table-scroll .invoice-lines{
    min-width:620px !important;
  }
}

/* 3) خط قوائم الفرع/العميل/المستودع بشريط نقطة البيع العلوي كان بحجم
   8px فقط على الجوال — أصغر من كل معايير القراءة المريحة المعتمدة
   ببقية شاشات الجوال بهذا الملف نفسه — فيبدو الشريط وكأنه فارغ رغم أن
   القيمة المختارة موجودة فعليًا. كبِّر الخط لحجم مقروء مع إبقاء الشريط
   مضغوطًا كما هو مصمَّم. */
@media (max-width:760px){
  body.ui-v19.erp-responsive-v20 #posScreen.erp-mobile-pos-compact .pos-context-controls :where(select,button){
    font-size:calc(11/14*var(--app-font-size)) !important;
  }
}

/* 4) تلميح اختصار لوحة المفاتيح "F9" أسفل زر الدفع بنقطة البيع لا
   معنى له على جهاز لمس بلا لوحة مفاتيح فعلية؛ أخفِه على الجوال فقط
   (لوحة المفاتيح اليدوية/الاختيارية الأخرى بالتطبيق لا علاقة لها بهذا
   التلميح إطلاقًا ولم تُمَس). */
@media (max-width:760px){
  body.ui-v19.erp-responsive-v20 .pos-checkout-hint{
    display:none !important;
  }
}
