/*
 * Hisaban Financial Precision — RTL layer
 * Marker: HISABAN_RTL_PREMIUM_LAYER_3514
 * Polish: HISABAN_UI_RTL_POLISH_3514
 * Direction: HISABAN_RTL_CONTENT_DIRECTION_RTL_3514
 * Sidebar: HISABAN_RTL_SIDEBAR_DIRECTION_3514
 *
 * Loaded AFTER hisaban-premium.css when html[dir="rtl"].
 * Shared by Persian (fa) and Arabic Oman (ar_om).
 * Does not redesign LTR. Does not change fonts.
 *
 * Architecture: dedicated premium RTL stylesheet (option B).
 * Premium CSS loads last among LTR sheets and was overriding app-rtl.css.
 *
 * Component contract
 * ------------------
 * .hs-page-header / .dashboard-hero
 *   Greeting/title at RTL start (right). Primary action at the opposite edge.
 * .hs-header-actions / .hs-panel-header
 *   Same start/end placement. No blanket row-reverse.
 * .quick-action-grid
 *   Inherits RTL. Create Invoice (.is-primary / .hs-rtl-priority-first)
 *   is first in the RTL reading sequence (RIGHT edge) via order:-1.
 *   Do not force the grid to LTR.
 * .quick-action-tile
 *   Icon at RTL start, copy follows. Plus/search icons are not mirrored.
 * .dashboard-period-tabs / .settings-section-nav / .filter-chip-row
 *   Flex row from RTL start. Active chip is not reordered.
 * .hs-setup-checklist / .hs-setup-item
 *   Title/progress/close use header start/end. Row icon at start, label after.
 * .sidebar-link / .sidebar-group-toggle
 *   Logical start alignment. Active indicator: border-inline-start.
 *   Down/up chevrons stay semantic. Sideways arrows only are mirrored.
 * .topbar-search.command-trigger
 *   [Ctrl K]  placeholder  [search icon]  — shortcut stays LTR.
 * tables
 *   Columns intentionally inherit RTL (first semantic column at reading start).
 *   Technical cells use .hs-ltr-value / [dir=ltr] / .hs-tabular-nums.
 * .invoice-builder-grid
 *   direction:rtl so RIGHT = Main Editor, LEFT = Summary.
 * .hs-summary-row
 *   Label at start, isolated amount at end.
 * .hs-settings-layout / .settings-section-nav
 *   Nav starts from the RTL edge. No English-style left subnav.
 * .modal-footer / .dialog-actions / .app-dialog-header
 *   Title at start, close at end. Primary action first from RTL start.
 * .list-header / .list-footer / .hs-filterbar / .pagination
 *   Logical start/end. Directional arrows mirrored.
 * Form actions
 *   LTR: Cancel then Save toward the end (right).
 *   RTL: Save (primary) first from the start (right), Cancel after.
 */

html[dir="rtl"] body.app-runtime {
  --hs-rtl-layer: 3514;
  --hs-rtl-polish: 3514;
  --hs-rtl-content-direction: rtl;
  --hs-rtl-sidebar-direction: rtl;
}

/*
 * ROOT FIX: AdminKit forces `.content { direction: ltr }`.
 * Descendants then inherit LTR, so text-align:start / margin-inline-*
 * resolve to physical left. Restore RTL only at the main content boundary.
 * Marker: HISABAN_RTL_CONTENT_DIRECTION_RTL_3514
 */
html[dir="rtl"] body.app-runtime .content,
html[dir="rtl"] body.superadmin-runtime .content {
  direction: rtl;
}

/*
 * ROOT FIX: AdminKit forces `.sidebar { direction: ltr }`.
 * Descendants inherit LTR, so text-align:start / flex start / inline-*
 * resolve to physical left. Restore a genuine RTL nav context.
 * SimpleBar `.simplebar-mask` uses direction:inherit — do not restyle
 * SimpleBar internals. Scrollbar follows the inherited direction.
 * Marker: HISABAN_RTL_SIDEBAR_DIRECTION_3514
 */
html[dir="rtl"] body.app-runtime .sidebar,
html[dir="rtl"] body.superadmin-runtime .sidebar {
  direction: rtl;
}

/* ---- Utilities ---- */
html[dir="rtl"] .hs-ltr-value,
html[dir="rtl"] .hs-tabular-nums,
html[dir="rtl"] .command-shortcut,
html[dir="rtl"] [data-hs-ltr],
html[dir="rtl"] input[type="number"],
html[dir="rtl"] input[type="email"],
html[dir="rtl"] input[type="tel"],
html[dir="rtl"] input[type="url"],
html[dir="rtl"] input[name="sku"],
html[dir="rtl"] input[name="barcode"],
html[dir="rtl"] input[name="currency"],
html[dir="rtl"] select[name="currency"] {
  direction: ltr;
  unicode-bidi: isolate;
}

html[dir="rtl"] .hs-rtl-mirror {
  transform: scaleX(-1);
}

html[dir="rtl"] .hs-no-mirror {
  transform: none !important;
}

/* ---- Page header / panels ---- */
html[dir="rtl"] .hs-page-header,
html[dir="rtl"] .hs-panel-header,
html[dir="rtl"] .dashboard-hero,
html[dir="rtl"] .list-header,
html[dir="rtl"] .list-footer,
html[dir="rtl"] .invoice-builder-header,
html[dir="rtl"] .invoice-panel-header,
html[dir="rtl"] .app-dialog-header,
html[dir="rtl"] .command-head {
  flex-direction: row;
  justify-content: space-between;
  text-align: start;
}

/* After .content is RTL, space-between is enough. Neutralize the
 * LTR-era first-child auto-margin so single- and two-child headers
 * both use logical start/end instead of compensation.
 */
html[dir="rtl"] .hs-panel-header > :first-child,
html[dir="rtl"] .list-header > :first-child,
html[dir="rtl"] .invoice-panel-header > :first-child,
html[dir="rtl"] .hs-page-header > :first-child {
  margin-inline-end: 0;
  margin-inline-start: 0;
}

html[dir="rtl"] .hs-header-actions,
html[dir="rtl"] .toolbar-actions {
  flex-direction: row;
  margin-inline-start: 0;
  margin-inline-end: 0;
}

html[dir="rtl"] .hs-page-heading,
html[dir="rtl"] .hs-page-subtitle,
html[dir="rtl"] .hs-panel-title,
html[dir="rtl"] .hs-panel-subtitle {
  text-align: start;
}

html[dir="rtl"] .hs-page-heading bdi,
html[dir="rtl"] .hs-page-heading span {
  unicode-bidi: isolate;
}

/* ---- Quick actions: Create Invoice is first visual item from the RIGHT ----
 * Grid inherits RTL. order:-1 places the primary tile first in auto-placement,
 * which starts at inline-start (physical right) at 1440/1024/768/390.
 */
html[dir="rtl"] .quick-action-grid {
  direction: rtl;
}

html[dir="rtl"] .quick-action-tile {
  direction: rtl;
  text-align: start;
  flex-direction: row;
}

html[dir="rtl"] .quick-action-tile.is-primary,
html[dir="rtl"] .quick-action-tile.hs-rtl-priority-first {
  order: -1;
}

html[dir="rtl"] .quick-action-copy {
  text-align: start;
}

/* ---- Period tabs / chips / settings section nav ---- */
html[dir="rtl"] .dashboard-period-tabs,
html[dir="rtl"] .filter-chip-row,
html[dir="rtl"] .quick-chip-row,
html[dir="rtl"] .settings-section-nav,
html[dir="rtl"] .hs-filterbar,
html[dir="rtl"] .filter-toolbar {
  flex-direction: row;
  justify-content: flex-start;
}

html[dir="rtl"] .settings-section-nav {
  text-align: start;
}

/* ---- Setup checklist ---- */
html[dir="rtl"] .hs-setup-checklist {
  text-align: start;
}

html[dir="rtl"] .hs-setup-item {
  flex-direction: row;
  justify-content: flex-start;
  text-align: start;
}

/* ---- Sidebar: genuine RTL context; no row-reverse ---- */
html[dir="rtl"] body.app-runtime .sidebar-link,
html[dir="rtl"] body.app-runtime a.sidebar-link,
html[dir="rtl"] body.app-runtime .sidebar-group-toggle,
html[dir="rtl"] body.app-runtime .sidebar-brand {
  flex-direction: row;
  text-align: start;
}

html[dir="rtl"] body.app-runtime .sidebar-header,
html[dir="rtl"] body.app-runtime .sidebar-brand-text {
  text-align: start;
}

html[dir="rtl"] body.app-runtime .sidebar-brand img,
html[dir="rtl"] body.app-runtime .sidebar-brand-logo,
html[dir="rtl"] body.app-runtime .sidebar-logo {
  transform: none;
}

html[dir="rtl"] body.app-runtime .sidebar-link,
html[dir="rtl"] body.app-runtime a.sidebar-link {
  border-left: 0 !important;
  border-right: 0 !important;
  border-inline-start: 3px solid transparent;
}

html[dir="rtl"] body.app-runtime .sidebar-item.active > .sidebar-link {
  border-left: 0 !important;
  border-right: 0 !important;
  border-inline-start: 3px solid var(--hs-sidebar-active-text, currentColor);
}

html[dir="rtl"] body.app-runtime .sidebar-link:hover,
html[dir="rtl"] body.app-runtime .sidebar-link:focus {
  border-left-color: transparent !important;
  border-right-color: transparent !important;
}

html[dir="rtl"] body.app-runtime .sidebar-link i,
html[dir="rtl"] body.app-runtime .sidebar-link svg {
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-inline-start: 0;
  margin-inline-end: 0;
}

html[dir="rtl"] body.app-runtime .sidebar-group-toggle {
  flex-direction: row;
  justify-content: space-between;
}

html[dir="rtl"] body.app-runtime .sidebar-group-toggle svg,
html[dir="rtl"] body.app-runtime .sidebar-group-toggle i {
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-inline-start: 0;
  margin-inline-end: 0;
}

/* Down/up chevrons stay semantic. Sideways arrows only. */
html[dir="rtl"] .feather-chevron-left,
html[dir="rtl"] .feather-chevron-right,
html[dir="rtl"] .feather-arrow-left,
html[dir="rtl"] .feather-arrow-right {
  transform: scaleX(-1);
}

html[dir="rtl"] .feather-chevron-down,
html[dir="rtl"] .feather-chevron-up,
html[dir="rtl"] .feather-plus,
html[dir="rtl"] .feather-plus-circle,
html[dir="rtl"] .feather-check,
html[dir="rtl"] .feather-check-circle,
html[dir="rtl"] .feather-trash,
html[dir="rtl"] .feather-trash-2,
html[dir="rtl"] .feather-file,
html[dir="rtl"] .feather-file-text,
html[dir="rtl"] .feather-calendar,
html[dir="rtl"] .feather-search,
html[dir="rtl"] .feather-user,
html[dir="rtl"] .feather-users,
html[dir="rtl"] .feather-settings {
  transform: none;
}

/* Desktop sidebar stays on the RTL start edge (right). */
html[dir="rtl"] body.app-runtime .sidebar {
  left: auto;
  right: 0;
  margin-left: 0;
  margin-right: 0;
}

html[dir="rtl"] body.app-runtime .main {
  margin-left: 0;
  margin-right: 260px;
}

html[dir="rtl"] body.app-runtime .sidebar {
  border-inline-end: 1px solid rgba(255, 255, 255, 0.05);
}

/* ---- Topbar / command search ----
 * Inherited RTL flex: [icon | label | Ctrl K] → icon at visual right, shortcut LTR at left.
 */
html[dir="rtl"] .navbar.navbar-bg {
  flex-direction: row;
}

html[dir="rtl"] .topbar-search.command-trigger {
  flex-direction: row;
  text-align: start;
  padding: 0.45rem 0.9rem 0.45rem 0.65rem;
}

html[dir="rtl"] .topbar-search.command-trigger .search-icon {
  position: static;
  inset: auto;
  transform: none;
  flex: 0 0 auto;
}

html[dir="rtl"] .command-trigger-label {
  text-align: start;
}

html[dir="rtl"] .navbar-align {
  margin-inline-start: auto;
  margin-inline-end: 0;
}

html[dir="rtl"] .hs-topbar-user-cluster {
  direction: rtl;
}

html[dir="rtl"] .hs-topbar-user-cluster .hs-theme-toggle-wrap {
  order: 1;
}

html[dir="rtl"] .hs-topbar-user-cluster .dropdown-menu,
html[dir="rtl"] .hs-topbar-user-cluster .dropdown-menu[data-bs-popper],
html[dir="rtl"] .hs-topbar-user-cluster .dropdown-menu-end[data-bs-popper] {
  left: auto;
  right: 0;
  text-align: start;
}

html[dir="rtl"] .hs-lang-item[dir="ltr"] {
  direction: ltr;
  text-align: start;
}

html[dir="rtl"] .command-search-row {
  flex-direction: row;
}

html[dir="rtl"] .command-item {
  text-align: start;
}

/* ---- Tables: columns mirror with document direction (intentional).
 * First semantic column sits at the RTL reading edge.
 * Technical/numeric cells are LTR-isolated and aligned to the column end.
 */
html[dir="rtl"] .table,
html[dir="rtl"] table.table,
html[dir="rtl"] .hs-table {
  direction: rtl;
  text-align: start;
}

html[dir="rtl"] .table th,
html[dir="rtl"] .table td,
html[dir="rtl"] .hs-table th,
html[dir="rtl"] .hs-table td {
  text-align: start;
}

html[dir="rtl"] .table .hs-tabular-nums,
html[dir="rtl"] .table [dir="ltr"],
html[dir="rtl"] .hs-table .hs-tabular-nums,
html[dir="rtl"] td.hs-ltr-value,
html[dir="rtl"] th.hs-ltr-value,
html[dir="rtl"] .hs-ltr-value {
  direction: ltr;
  unicode-bidi: isolate;
  text-align: end;
}

html[dir="rtl"] .hs-table-actions-head,
html[dir="rtl"] .hs-table-actions-cell {
  text-align: start;
}

html[dir="rtl"] .hs-row-actions {
  justify-content: flex-start;
}

html[dir="rtl"] .invoice-qty-control {
  direction: ltr;
  unicode-bidi: isolate;
  justify-content: flex-end;
}

/* ---- Invoice wizard: RIGHT = Main Editor, LEFT = Summary ---- */
html[dir="rtl"] body.app-runtime .invoice-builder-grid {
  direction: rtl;
}

html[dir="rtl"] body.app-runtime .invoice-builder-main,
html[dir="rtl"] body.app-runtime .invoice-builder-side {
  direction: rtl;
}

html[dir="rtl"] .invoice-search-row,
html[dir="rtl"] .hs-d-flex {
  text-align: start;
}

html[dir="rtl"] .hs-summary-row,
html[dir="rtl"] .invoice-summary-card .d-flex,
html[dir="rtl"] .totals-row {
  justify-content: space-between;
  flex-direction: row;
}

html[dir="rtl"] .invoice-summary-card .hs-tabular-nums,
html[dir="rtl"] .invoice-summary-card [dir="ltr"] {
  direction: ltr;
  unicode-bidi: isolate;
}

html[dir="rtl"] .invoice-item-name {
  text-align: start;
}

html[dir="rtl"] .mobile-quick-action-bar {
  flex-direction: row;
}

html[dir="rtl"] .wizard-actions-primary {
  flex-direction: row;
}

html[dir="rtl"] .wizard-actions-primary .hs-btn-primary {
  order: -1;
}

html[dir="rtl"] .wizard-action-preview {
  align-self: flex-start;
}

/* ---- Settings: section nav starts from RTL edge ---- */
html[dir="rtl"] .hs-settings-layout {
  flex-direction: row;
}

html[dir="rtl"] .hs-settings-nav {
  order: 0;
}

html[dir="rtl"] .hs-settings-content {
  order: 0;
}

/* ---- Forms / dialogs ---- */
html[dir="rtl"] .hs-form-label,
html[dir="rtl"] .form-label,
html[dir="rtl"] .page-subtitle {
  text-align: start;
}

html[dir="rtl"] .form-check,
html[dir="rtl"] .form-switch,
html[dir="rtl"] .permission-option {
  text-align: start;
}

html[dir="rtl"] .form-select {
  background-position: left 0.75rem center;
  padding-left: 2.25rem;
  padding-right: 0.75rem;
}

html[dir="rtl"] .modal-header,
html[dir="rtl"] .command-head,
html[dir="rtl"] [role="dialog"] .hs-panel-header,
html[dir="rtl"] .qty-modal-header {
  flex-direction: row;
  text-align: start;
}

html[dir="rtl"] .modal-footer,
html[dir="rtl"] .dialog-actions,
html[dir="rtl"] .qty-modal-actions,
html[dir="rtl"] .app-dialog-footer {
  flex-direction: row;
  justify-content: flex-start;
}

html[dir="rtl"] .modal-footer .hs-btn-primary,
html[dir="rtl"] .dialog-actions .hs-btn-primary,
html[dir="rtl"] .qty-modal-actions .btn-primary,
html[dir="rtl"] .app-dialog-footer .hs-btn-primary {
  order: -1;
}

html[dir="rtl"] .dropdown-menu {
  text-align: start;
}

html[dir="rtl"] .dropdown-menu[data-bs-popper] {
  left: auto;
  right: 0;
}

html[dir="rtl"] .dropdown-menu-end[data-bs-popper] {
  right: auto;
  left: 0;
}

/* ---- Pagination ---- */
html[dir="rtl"] .pagination,
html[dir="rtl"] .pagination-nav {
  flex-direction: row;
}

html[dir="rtl"] .pagination .feather-chevron-left,
html[dir="rtl"] .pagination .feather-chevron-right,
html[dir="rtl"] .pagination .feather-arrow-left,
html[dir="rtl"] .pagination .feather-arrow-right,
html[dir="rtl"] .pagination-nav .feather-chevron-left,
html[dir="rtl"] .pagination-nav .feather-chevron-right {
  transform: scaleX(-1);
}

/* ---- KPI / cards / mobile records ---- */
html[dir="rtl"] .hs-kpi,
html[dir="rtl"] .hs-kpi-label,
html[dir="rtl"] .hs-kpi-value {
  text-align: start;
}

html[dir="rtl"] .hs-kpi-value {
  direction: ltr;
  unicode-bidi: isolate;
}

html[dir="rtl"] .mobile-record-card,
html[dir="rtl"] .empty-state,
html[dir="rtl"] .notice-box {
  text-align: start;
}

html[dir="rtl"] .mobile-record-actions {
  justify-content: flex-start;
}

/* ---- Auth (login) : form at RTL start (right), visual on the left ---- */
html[dir="rtl"] .hs-auth-card {
  flex-direction: row-reverse;
}

html[dir="rtl"] .hs-auth-title,
html[dir="rtl"] .hs-auth-subtitle,
html[dir="rtl"] .hs-auth-form {
  text-align: start;
}

/* ---- Platform shell ---- */
html[dir="rtl"] body.superadmin-runtime .hs-page-header,
html[dir="rtl"] body.superadmin-runtime .hs-panel-header,
html[dir="rtl"] body.superadmin-runtime .sidebar-link,
html[dir="rtl"] body.superadmin-runtime .sidebar-header {
  text-align: start;
}

/* ---- Mobile drawer: open from RTL start (right) ---- */
@media (max-width: 991.98px) {
  html[dir="rtl"] body.app-runtime .sidebar {
    left: auto;
    right: 0;
    margin-left: 0;
    margin-right: -260px;
  }

  html[dir="rtl"] body.app-runtime.sidebar-open .sidebar,
  html[dir="rtl"] body.app-runtime .sidebar.is-drawer-open,
  html[dir="rtl"] body.app-runtime .sidebar.collapsed,
  html[dir="rtl"] body.app-runtime .sidebar.toggled,
  html[dir="rtl"] body.app-runtime .js-sidebar.toggled {
    margin-right: 0;
  }

  html[dir="rtl"] body.app-runtime .main {
    margin-left: 0;
    margin-right: 0;
  }

  html[dir="rtl"] .quick-action-grid {
    direction: rtl;
  }

  html[dir="rtl"] .quick-action-tile.is-primary,
  html[dir="rtl"] .quick-action-tile.hs-rtl-priority-first {
    order: -1;
  }

  html[dir="rtl"] body.app-runtime .mobile-quick-action-bar {
    inset-inline: 0;
    left: auto;
    right: auto;
    width: 100%;
  }

  html[dir="rtl"] .hs-settings-nav {
    flex-direction: row;
  }
}
