/* ==========================================================================
   NeumERP components layer
   Global restyle of every inner-page component (AdminLTE 2 / Bootstrap 3,
   daisyUI "tw-dw-*" and the jQuery plugins) on top of tokens.css.
   Loaded after vendor.css, rtl.css, app.css and tokens.css; before shell.css.

   Rules of the road
   - Colors, radii, shadows and fonts come from tokens.css (--nm-*).
   - Never hide elements, never change `display` of plugin-toggled nodes,
     never touch widths DataTables / select2 compute.
   - !important only where the vendor layer already uses it (AdminLTE bg-*
     helpers, rtl.css font stack, SweetAlert runtime CSS).
   - RTL: logical properties where possible, [dir=rtl] where vendor is
     physical.

   Sections
   00 Local component tokens        10 Dropdown menus
   01 Typography & icon fonts       11 Modals
   02 Page header                   12 Alerts & callouts
   03 Cards / boxes / widgets       13 Labels, badges, status pills
   04 Buttons                       14 Pagination, progress, wells, lists
   05 Forms                         15 Tooltips & popovers
   06 Checkbox / radio / iCheck     16 Date pickers
   07 select2                       17 Toastr & SweetAlert
   08 Tables & DataTables           18 Misc (empty states, small-box, info-box)
   09 Tabs & pills                  19 POS guard rails
   ========================================================================== */

/* 00 — Local component tokens ------------------------------------------- */
:root {
  --nm-c-h:     40px;   /* default control height (inputs, buttons, select2) */
  --nm-c-h-sm:  34px;
  --nm-c-h-xs:  26px;
  --nm-c-h-lg:  44px;
  --nm-c-r:     var(--nm-radius);    /* control radius (8px) */
  --nm-c-r-sm:  var(--nm-radius-sm);
  --nm-c-pad-x: 12px;
  --nm-c-border: var(--nm-border-strong);
  --nm-c-hover-row: var(--nm-gray-25);
  --nm-c-transition: background-color var(--nm-dur) var(--nm-ease), border-color var(--nm-dur) var(--nm-ease),
                     color var(--nm-dur) var(--nm-ease), box-shadow var(--nm-dur) var(--nm-ease);
  --nm-c-btn-inset: inset 0 1px 0 rgba(255, 255, 255, .14);
}

/* 01 — Typography & icon fonts ------------------------------------------ */
body {
  font-family: var(--nm-font);
  font-size: var(--nm-fs-base);
  color: var(--nm-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* rtl.css forces Tajawal with !important on a long selector list (including
   every [class*="tw-"] element). Re-point that same list to the design-system
   font. Specificity is raised with html[dir] so this wins. */
html[dir="rtl"], html[dir="rtl"] body,
html[dir="rtl"] input, html[dir="rtl"] textarea, html[dir="rtl"] select, html[dir="rtl"] button,
html[dir="rtl"] .form-control, html[dir="rtl"] .btn, html[dir="rtl"] .nav, html[dir="rtl"] .navbar,
html[dir="rtl"] .dropdown-menu, html[dir="rtl"] .modal, html[dir="rtl"] .alert, html[dir="rtl"] .card,
html[dir="rtl"] .table, html[dir="rtl"] th, html[dir="rtl"] td, html[dir="rtl"] label, html[dir="rtl"] .badge,
html[dir="rtl"] .tag, html[dir="rtl"] .breadcrumb, html[dir="rtl"] .pagination, html[dir="rtl"] .tooltip,
html[dir="rtl"] .popover, html[dir="rtl"] h1, html[dir="rtl"] h2, html[dir="rtl"] h3, html[dir="rtl"] h4,
html[dir="rtl"] h5, html[dir="rtl"] h6, html[dir="rtl"] .sidebar-menu, html[dir="rtl"] .treeview-menu,
html[dir="rtl"] .box-title, html[dir="rtl"] .box-header, html[dir="rtl"] .info-box, html[dir="rtl"] .small-box,
html[dir="rtl"] .nav-tabs, html[dir="rtl"] .tab-content, html[dir="rtl"] .panel, html[dir="rtl"] .list-group,
html[dir="rtl"] .media, html[dir="rtl"] [class*="tw-"], html[dir="rtl"] .select2-container,
html[dir="rtl"] .select2-results, html[dir="rtl"] .swal2-popup, html[dir="rtl"] .swal-modal,
html[dir="rtl"] .dataTables_wrapper, html[dir="rtl"] .dt-buttons, html[dir="rtl"] .tw-font-sans,
html[dir="rtl"] .daterangepicker, html[dir="rtl"] #toast-container, html[dir="rtl"] .content-wrapper,
html[dir="rtl"] .select2-dropdown, html[dir="rtl"] .tooltip-inner, html[dir="rtl"] .popover-content,
html[dir="rtl"] .swal-overlay .swal-modal, html[dir="rtl"] .bootstrap-datetimepicker-widget {
  font-family: var(--nm-font) !important;
}
html[dir] .ti, html[dir] [class^="ti-"], html[dir] [class*=" ti-"] { font-family: "tabler-icons" !important; }

/* …but that list also catches icon elements that carry a tw- class
   (e.g. <i class="fa fa-wrench !tw-text-sm">), which then render as boxes.
   Restore the icon fonts with higher specificity. */
html .fa, html .fas, html .far, html[dir] .fa, html[dir] .fas, html[dir] .far,
html[dir] i.fa[class*="tw-"], html[dir] i.fas[class*="tw-"], html[dir] i.far[class*="tw-"],
html[dir] span.fa[class*="tw-"], html[dir] span.fas[class*="tw-"] {
  font-family: "Font Awesome 5 Free" !important;
}
html .fab, html[dir] .fab, html[dir] .fab[class*="tw-"] { font-family: "Font Awesome 5 Brands" !important; }
html[dir] .glyphicon { font-family: "Glyphicons Halflings" !important; }
html[dir] .ion, html[dir] [class^="ion-"], html[dir] [class*=" ion-"] { font-family: "Ionicons" !important; }

/* rtl.css sets body line-height 1.7 which makes dense UI airy; 1.55 reads
   well for both scripts. */
html[dir="rtl"] body { line-height: 1.6; }

.content h1, .content h2, .content h3, .content h4, .content h5, .content h6,
.modal h1, .modal h2, .modal h3, .modal h4, .modal h5, .modal h6 {
  color: var(--nm-text);
  letter-spacing: -.005em;
}
html[dir="rtl"] .content h1, html[dir="rtl"] .content h2, html[dir="rtl"] .content h3,
html[dir="rtl"] .content h4 { letter-spacing: 0; }

a { color: var(--nm-link); }
a:hover, a:focus { color: var(--nm-link-hover); }

.text-muted, .help-block { color: var(--nm-text-3); }
.text-primary { color: var(--nm-brand-600); }
.text-success { color: var(--nm-success-700); }
.text-danger, .text-red { color: var(--nm-danger-700); }
.text-warning, .text-yellow { color: var(--nm-warning-700); }
.text-info, .text-aqua { color: var(--nm-info-500); }
.text-green { color: var(--nm-success-700); }
a.text-primary:hover, a.text-primary:focus { color: var(--nm-brand-700); }
.text-bold, strong, b { font-weight: 600; }
.lead { color: var(--nm-text-2); }
hr { border-top-color: var(--nm-border); }
code, kbd, samp, .nm-mono {
  font-family: var(--nm-font-mono);
}
code {
  color: var(--nm-brand-700); background: var(--nm-brand-50);
  border-radius: var(--nm-c-r-sm); padding: 2px 6px; font-size: .9em;
}
::selection { background: var(--nm-brand-100); color: var(--nm-brand-900); }

/* "?" helper icons that live next to labels everywhere */
.hover-q, i.fa-info-circle.text-info { color: var(--nm-gray-400) !important; transition: color var(--nm-dur) var(--nm-ease); }
.hover-q:hover, i.fa-info-circle.text-info:hover { color: var(--nm-brand-500) !important; }

/* 02 — Page header ------------------------------------------------------ */
.content-header { padding-top: var(--nm-space-6); padding-bottom: var(--nm-space-2); }
.content-header > h1,
.content-header > h1.tw-text-xl {
  font-size: var(--nm-fs-xl);
  line-height: 1.3;
  font-weight: 700;
  color: var(--nm-text);
  letter-spacing: var(--nm-tracking-tight);
  margin: 0;
}
html[dir="rtl"] .content-header > h1 { letter-spacing: 0; }
.content-header > h1 > small,
.content-header > h1 > small.tw-text-sm {
  font-size: var(--nm-fs-base);
  font-weight: 400;
  color: var(--nm-text-3);
  padding-inline-start: var(--nm-space-2);
  letter-spacing: 0;
}
.content-header > .breadcrumb { background: transparent; color: var(--nm-text-3); font-size: var(--nm-fs-sm); }
.content-header > .breadcrumb > li > a { color: var(--nm-text-3); }

/* 03 — Cards / boxes / widgets ------------------------------------------ */
/* AdminLTE .box, panels, and the v6 Tailwind "widget"/"filters" components
   (rendered as bare tw-bg-white tw-rounded-xl tw-ring-1 divs). */
.box,
.panel,
.content .tw-bg-white.tw-rounded-xl.tw-ring-1,
.modal .tw-bg-white.tw-rounded-xl.tw-ring-1 {
  background-color: var(--nm-surface);
  border: 1px solid var(--nm-border);
  border-radius: var(--nm-radius-lg);
  box-shadow: var(--nm-shadow-xs);
  transform: none;
}
.content .tw-bg-white.tw-rounded-xl.tw-ring-1 { --tw-ring-shadow: 0 0 #0000; }
.content .tw-bg-white.tw-rounded-xl.tw-ring-1:hover {
  /* the widget markup lifts/moves on hover; keep cards calm */
  transform: none;
  box-shadow: var(--nm-shadow-xs);
}
.box { border-top-width: 1px; margin-bottom: var(--nm-space-5); }
.box.box-primary, .box.box-info, .box.box-success, .box.box-warning, .box.box-danger, .box.box-default {
  border-top-color: var(--nm-border);
}
/* keep a quiet brand accent on "primary" boxes */
.box.box-primary:not(.box-solid) { box-shadow: inset 0 2px 0 var(--nm-brand-500), var(--nm-shadow-xs); }
.box.box-solid { border-color: var(--nm-border); }
.box.box-solid > .box-header { color: var(--nm-text); }
.box.box-solid.box-primary > .box-header,
.box.box-solid.box-info > .box-header,
.box.box-solid.box-success > .box-header {
  background: var(--nm-surface-muted);
  color: var(--nm-text);
  border-bottom: 1px solid var(--nm-border);
  border-radius: var(--nm-radius-lg) var(--nm-radius-lg) 0 0;
}
.box.box-solid.box-primary > .box-header .btn, .box.box-solid.box-primary > .box-header a { color: var(--nm-text-2); }

.box-header { color: var(--nm-text); padding: 14px var(--nm-space-5); }
.box-header.with-border { border-bottom: 1px solid var(--nm-gray-100); }
.box-header .box-title,
.box-header > .box-title {
  font-size: var(--nm-fs-md);
  font-weight: 600;
  line-height: 1.4;
  color: var(--nm-text);
  letter-spacing: -.005em;
}
.box-header > .fa, .box-header > .glyphicon, .box-header > .ion,
.box-header .box-title > .fa, .box-header .box-title > i {
  color: var(--nm-brand-500);
}
.box-header > small, .box-header small { color: var(--nm-text-3); font-size: var(--nm-fs-sm); }
.box-body { padding: var(--nm-space-4) var(--nm-space-5); color: var(--nm-text); }
.box-footer {
  background: var(--nm-surface-muted);
  border-top: 1px solid var(--nm-gray-100);
  padding: var(--nm-space-3) var(--nm-space-5);
  border-radius: 0 0 var(--nm-radius-lg) var(--nm-radius-lg);
}
.box .overlay, .overlay-wrapper .overlay {
  background: rgba(255, 255, 255, .7);
  border-radius: var(--nm-radius-lg);
}
.box .overlay > .fa, .overlay-wrapper .overlay > .fa { color: var(--nm-brand-500); }
.btn-box-tool { color: var(--nm-text-3); }
/* tools sit at the inline-end of the header (vendor floats them right in RTL too) */
html[dir="rtl"] .box-header > .box-tools { float: left; }
.box-header > .box-tools { margin-top: -2px; margin-bottom: -2px; }
.btn-box-tool:hover, .open .btn-box-tool { color: var(--nm-text); }

/* Collapsible "Filters" card header (components.filters) */
.content .tw-rounded-xl.tw-ring-1 > .box-header.with-border {
  border-bottom: 0;
  padding: 10px var(--nm-space-4);
}
.box-header .box-title > a[data-toggle="collapse"] {
  display: inline-flex;
  align-items: center;
  gap: var(--nm-space-2);
  color: var(--nm-text) !important;
  font-size: var(--nm-fs-base);
  font-weight: 600;
  text-decoration: none;
}
.box-header .box-title > a[data-toggle="collapse"] > .fa {
  display: inline-grid; place-items: center;
  width: 28px; height: 28px; border-radius: var(--nm-c-r);
  background: var(--nm-brand-50); color: var(--nm-brand-600);
  font-size: 12px;
}
.box-header .box-title > a[data-toggle="collapse"]::after {
  content: "\f078";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 10px;
  color: var(--nm-text-3);
  margin-inline-start: var(--nm-space-1);
  transition: transform var(--nm-dur) var(--nm-ease);
}
.box-header .box-title > a[data-toggle="collapse"][aria-expanded="true"]::after { transform: rotate(180deg); }
.content .tw-rounded-xl.tw-ring-1 > .panel-collapse { border-top: 1px solid var(--nm-gray-100); }
.content .tw-rounded-xl.tw-ring-1 > .panel-collapse.tw-pt-4 { padding-top: var(--nm-space-3); padding-bottom: var(--nm-space-2); }

/* Panels */
.panel { margin-bottom: var(--nm-space-5); }
.panel > .panel-heading {
  background: var(--nm-surface-muted);
  border-bottom: 1px solid var(--nm-border);
  color: var(--nm-text);
  font-weight: 600;
  border-radius: var(--nm-radius-lg) var(--nm-radius-lg) 0 0;
  padding: var(--nm-space-3) var(--nm-space-4);
}
.panel > .panel-footer {
  background: var(--nm-surface-muted);
  border-top: 1px solid var(--nm-border);
  border-radius: 0 0 var(--nm-radius-lg) var(--nm-radius-lg);
}

/* Wells */
.well {
  background: var(--nm-surface-muted);
  border: 1px solid var(--nm-border);
  border-radius: var(--nm-radius);
  box-shadow: none;
}

/* 04 — Buttons ---------------------------------------------------------- */
/* One engine for both systems (Bootstrap .btn and daisyUI .tw-dw-btn).
   Variants only set custom properties. */
.btn,
.tw-dw-btn {
  --nmb-bg: var(--nm-surface);
  --nmb-fg: var(--nm-gray-700);
  --nmb-bd: var(--nm-c-border);
  --nmb-bg-h: var(--nm-gray-50);
  --nmb-fg-h: var(--nm-gray-900);
  --nmb-bd-h: var(--nm-gray-400);
  --nmb-shadow: var(--nm-shadow-xs);

  font-family: inherit;
  font-size: var(--nm-fs-sm);
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 0;
  border-radius: var(--nm-c-r);
  border: 1px solid var(--nmb-bd);
  background-color: var(--nmb-bg);
  background-image: none;
  color: var(--nmb-fg);
  box-shadow: var(--nmb-shadow);
  transition: var(--nm-c-transition), transform 80ms var(--nm-ease);
  text-shadow: none;
}
.btn {
  padding: 9px 16px;
}
.tw-dw-btn.tw-dw-btn {
  /* doubled class: daisyUI sets colors with 2-class selectors */
  border: 1px solid var(--nmb-bd);
  background-color: var(--nmb-bg);
  color: var(--nmb-fg);
}
.tw-dw-btn {
  height: var(--nm-c-h);
  min-height: var(--nm-c-h);
  padding-left: 14px;
  padding-right: 14px;
  gap: 6px;
  animation: none;
}
.btn:hover, .btn:focus, .btn.focus,
.tw-dw-btn.tw-dw-btn:hover {
  background-color: var(--nmb-bg-h);
  border-color: var(--nmb-bd-h);
  color: var(--nmb-fg-h);
  text-decoration: none;
}
.btn:focus-visible, .tw-dw-btn.tw-dw-btn:focus-visible {
  outline: 0;
  box-shadow: var(--nmb-shadow), var(--nm-focus-ring);
}
.btn:focus:not(:focus-visible) { outline: 0; }
.btn:active, .btn.active, .btn:active:hover, .btn:active:focus, .btn.active:hover, .btn.active:focus,
.open > .dropdown-toggle.btn, .open > .dropdown-toggle.btn:hover, .open > .dropdown-toggle.btn:focus,
.tw-dw-btn.tw-dw-btn:active {
  background-color: var(--nmb-bg-h);
  border-color: var(--nmb-bd-h);
  color: var(--nmb-fg-h);
  background-image: none;
  box-shadow: inset 0 1px 2px rgba(16, 20, 46, .12);
}
.tw-dw-btn.tw-dw-btn:active:hover, .tw-dw-btn.tw-dw-btn:active:focus { transform: scale(.98); }
.btn.disabled, .btn[disabled], fieldset[disabled] .btn,
.tw-dw-btn.tw-dw-btn-disabled, .tw-dw-btn[disabled], .tw-dw-btn:disabled {
  opacity: .5;
  box-shadow: none;
  cursor: not-allowed;
}
.tw-dw-btn[disabled], .tw-dw-btn:disabled { background-color: var(--nmb-bg); color: var(--nmb-fg); border-color: var(--nmb-bd); }

/* Icons inside buttons */
.btn > .fa, .btn > .fas, .btn > .far, .btn > i { opacity: .92; }
.tw-dw-btn > svg, .tw-dw-btn > span > svg, .btn > svg { width: 18px; height: 18px; flex-shrink: 0; stroke-width: 2; }
.tw-dw-btn-xs > svg, .tw-dw-btn-sm > svg { width: 15px; height: 15px; }

/* ---- Variants ---- */
/* Primary (also: the gradient "Add" pills used in page headers) */
.btn.btn-primary,
.tw-dw-btn.tw-dw-btn-primary:not(.tw-dw-btn-outline),
.tw-dw-btn.tw-bg-gradient-to-r {
  --nmb-bg: var(--nm-brand-600);
  --nmb-fg: #fff;
  --nmb-bd: var(--nm-brand-600);
  --nmb-bg-h: var(--nm-brand-700);
  --nmb-fg-h: #fff;
  --nmb-bd-h: var(--nm-brand-700);
  --nmb-shadow: var(--nm-c-btn-inset), 0 1px 2px rgba(42, 54, 177, .25);
}
.tw-dw-btn.tw-bg-gradient-to-r {
  background-image: none;
  border-radius: var(--nm-c-r);
  border: 1px solid var(--nmb-bd);
  font-weight: 600;
}

/* Secondary / default / neutral → white, hairline border */
.btn.btn-default,
.tw-dw-btn.tw-dw-btn-neutral:not(.tw-dw-btn-outline),
.tw-dw-btn.tw-dw-btn-ghost {
  --nmb-bg: var(--nm-surface);
  --nmb-fg: var(--nm-gray-700);
  --nmb-bd: var(--nm-c-border);
  --nmb-bg-h: var(--nm-gray-50);
  --nmb-fg-h: var(--nm-gray-900);
  --nmb-bd-h: var(--nm-gray-400);
}
.btn.btn-default.bg-white { background-color: var(--nm-surface) !important; }
.tw-dw-btn.tw-dw-btn-ghost { --nmb-bg: transparent; --nmb-bd: transparent; --nmb-shadow: none; --nmb-bd-h: transparent; }

/* Solid semantic */
.btn.btn-success, .tw-dw-btn.tw-dw-btn-success:not(.tw-dw-btn-outline) {
  --nmb-bg: var(--nm-success-500); --nmb-fg: #fff; --nmb-bd: var(--nm-success-500);
  --nmb-bg-h: var(--nm-success-700); --nmb-fg-h: #fff; --nmb-bd-h: var(--nm-success-700);
  --nmb-shadow: var(--nm-c-btn-inset), var(--nm-shadow-xs);
}
.btn.btn-danger, .tw-dw-btn.tw-dw-btn-error:not(.tw-dw-btn-outline) {
  --nmb-bg: var(--nm-danger-500); --nmb-fg: #fff; --nmb-bd: var(--nm-danger-500);
  --nmb-bg-h: var(--nm-danger-700); --nmb-fg-h: #fff; --nmb-bd-h: var(--nm-danger-700);
  --nmb-shadow: var(--nm-c-btn-inset), var(--nm-shadow-xs);
}
.btn.btn-warning, .tw-dw-btn.tw-dw-btn-warning:not(.tw-dw-btn-outline) {
  --nmb-bg: var(--nm-warning-500); --nmb-fg: #fff; --nmb-bd: var(--nm-warning-500);
  --nmb-bg-h: var(--nm-warning-700); --nmb-fg-h: #fff; --nmb-bd-h: var(--nm-warning-700);
  --nmb-shadow: var(--nm-c-btn-inset), var(--nm-shadow-xs);
}
.btn.btn-info, .tw-dw-btn.tw-dw-btn-info:not(.tw-dw-btn-outline),
.tw-dw-btn.tw-dw-btn-accent:not(.tw-dw-btn-outline) {
  --nmb-bg: var(--nm-info-500); --nmb-fg: #fff; --nmb-bd: var(--nm-info-500);
  --nmb-bg-h: var(--nm-info-700); --nmb-fg-h: #fff; --nmb-bd-h: var(--nm-info-700);
  --nmb-shadow: var(--nm-c-btn-inset), var(--nm-shadow-xs);
}

/* Outline (daisyUI tw-dw-btn-outline and Bootstrap/AdminLTE .btn-outline):
   neutral border, tinted text, soft tinted hover — Linear-style. */
.tw-dw-btn.tw-dw-btn-outline, .btn.btn-outline {
  --nmb-bg: var(--nm-surface);
  --nmb-fg: var(--nm-gray-700);
  --nmb-bd: var(--nm-c-border);
  --nmb-bg-h: var(--nm-gray-50);
  --nmb-fg-h: var(--nm-gray-900);
  --nmb-bd-h: var(--nm-gray-400);
}
.tw-dw-btn.tw-dw-btn-outline.tw-dw-btn-primary, .btn.btn-outline.btn-primary {
  --nmb-fg: var(--nm-brand-700); --nmb-bd: var(--nm-brand-200);
  --nmb-bg-h: var(--nm-brand-50); --nmb-fg-h: var(--nm-brand-800); --nmb-bd-h: var(--nm-brand-300);
}
.tw-dw-btn.tw-dw-btn-outline.tw-dw-btn-info, .tw-dw-btn.tw-dw-btn-outline.tw-dw-btn-accent,
.btn.btn-outline.btn-info {
  --nmb-fg: var(--nm-gray-700); --nmb-bd: var(--nm-c-border);
  --nmb-bg-h: var(--nm-gray-50); --nmb-fg-h: var(--nm-gray-900); --nmb-bd-h: var(--nm-gray-400);
}
.tw-dw-btn.tw-dw-btn-outline.tw-dw-btn-success, .btn.btn-outline.btn-success {
  --nmb-fg: var(--nm-success-700); --nmb-bd: rgba(19, 184, 158, .35);
  --nmb-bg-h: var(--nm-success-50); --nmb-fg-h: var(--nm-success-700); --nmb-bd-h: var(--nm-success-500);
}
.tw-dw-btn.tw-dw-btn-outline.tw-dw-btn-error, .btn.btn-outline.btn-danger {
  --nmb-fg: var(--nm-danger-700); --nmb-bd: rgba(229, 72, 77, .32);
  --nmb-bg-h: var(--nm-danger-50); --nmb-fg-h: var(--nm-danger-700); --nmb-bd-h: var(--nm-danger-500);
}
.tw-dw-btn.tw-dw-btn-outline.tw-dw-btn-warning, .btn.btn-outline.btn-warning {
  --nmb-fg: var(--nm-warning-700); --nmb-bd: rgba(242, 161, 15, .38);
  --nmb-bg-h: var(--nm-warning-50); --nmb-fg-h: var(--nm-warning-700); --nmb-bd-h: var(--nm-warning-500);
}
.tw-dw-btn.tw-dw-btn-outline.tw-dw-btn-neutral {
  --nmb-fg: var(--nm-gray-700); --nmb-bd: var(--nm-c-border);
}

/* Link / flat / box-tool */
.btn.btn-link {
  --nmb-bg: transparent; --nmb-bd: transparent; --nmb-fg: var(--nm-primary);
  --nmb-bg-h: transparent; --nmb-bd-h: transparent; --nmb-fg-h: var(--nm-primary-hover);
  --nmb-shadow: none;
}
.btn.btn-box-tool {
  --nmb-bg: transparent; --nmb-bd: transparent; --nmb-fg: var(--nm-text-3);
  --nmb-bg-h: var(--nm-gray-100); --nmb-bd-h: transparent; --nmb-fg-h: var(--nm-text);
  --nmb-shadow: none;
  padding: 4px 8px;
}
.btn.btn-flat { border-radius: var(--nm-c-r); box-shadow: var(--nmb-shadow); }

/* AdminLTE colored helpers used on buttons (bg-* carry !important in vendor) */
.btn.bg-navy, .btn.bg-purple, .btn.bg-maroon, .btn.bg-olive, .btn.bg-orange,
.tw-dw-btn.bg-purple, .tw-dw-btn.bg-maroon {
  border-color: transparent;
  color: #fff;
  box-shadow: var(--nm-c-btn-inset), var(--nm-shadow-xs);
}
.btn.bg-navy, .btn.bg-purple, .tw-dw-btn.bg-purple { background-color: var(--nm-brand-800) !important; }
.btn.bg-maroon, .tw-dw-btn.bg-maroon { background-color: var(--nm-gray-800) !important; }
.btn.bg-navy:hover, .btn.bg-purple:hover, .tw-dw-btn.bg-purple:hover,
.btn.bg-maroon:hover, .tw-dw-btn.bg-maroon:hover { filter: brightness(1.12); color: #fff; }

/* ---- Sizes ---- */
.btn-lg, .btn-group-lg > .btn { padding: 10px 20px; font-size: var(--nm-fs-base); line-height: 22px; border-radius: var(--nm-radius); }
.btn-sm, .btn-group-sm > .btn { padding: 5px 11px; font-size: var(--nm-fs-sm); line-height: 20px; border-radius: var(--nm-c-r); }
.btn-xs, .btn-group-xs > .btn { padding: 2px 8px; font-size: var(--nm-fs-xs); line-height: 18px; border-radius: var(--nm-c-r-sm); }
.tw-dw-btn.tw-dw-btn-lg { height: var(--nm-c-h-lg); min-height: var(--nm-c-h-lg); padding-left: 22px; padding-right: 22px; font-size: var(--nm-fs-base); border-radius: var(--nm-radius); }
.tw-dw-btn.tw-dw-btn-sm { height: var(--nm-c-h-sm); min-height: var(--nm-c-h-sm); padding-left: 12px; padding-right: 12px; font-size: var(--nm-fs-sm); }
.tw-dw-btn.tw-dw-btn-xs { height: var(--nm-c-h-xs); min-height: var(--nm-c-h-xs); padding-left: 9px; padding-right: 9px; font-size: var(--nm-fs-xs); border-radius: var(--nm-c-r-sm); gap: 4px; font-weight: 500; }
.btn-block { padding-left: 14px; padding-right: 14px; }

/* App buttons (dashboard shortcut tiles) */
.btn-app {
  border-radius: var(--nm-radius);
  background: var(--nm-surface);
  border: 1px solid var(--nm-border);
  color: var(--nm-text-2);
  box-shadow: var(--nm-shadow-xs);
}
.btn-app:hover { background: var(--nm-gray-50); border-color: var(--nm-border-strong); color: var(--nm-text); }

/* Button groups: logical radii so RTL joins correctly */
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; }
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  border-radius: 0;
  border-start-start-radius: var(--nm-c-r); border-end-start-radius: var(--nm-c-r);
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
  border-radius: 0;
  border-start-end-radius: var(--nm-c-r); border-end-end-radius: var(--nm-c-r);
}
.btn-group > .btn + .dropdown-toggle { padding-left: 9px; padding-right: 9px; }
.btn .caret { border-top-color: currentColor; opacity: .7; }

/* "Actions" dropdown trigger rendered in every DataTable row */
.tw-dw-btn.dropdown-toggle.tw-dw-btn-xs { padding-inline: 8px; }
.tw-dw-btn.dropdown-toggle .caret, .tw-dw-btn.dropdown-toggle .fa-caret-down { opacity: .6; }

/* 05 — Forms ------------------------------------------------------------ */
label, .control-label {
  font-size: var(--nm-fs-sm);
  font-weight: 600;
  color: var(--nm-text-2);
  margin-bottom: 6px;
}
.form-group { margin-bottom: var(--nm-space-4); }
.form-control {
  height: var(--nm-c-h);
  padding: 9px var(--nm-c-pad-x);
  font-size: var(--nm-fs-base);
  line-height: 20px;
  color: var(--nm-text);
  background-color: var(--nm-surface);
  border: 1px solid var(--nm-c-border);
  border-radius: var(--nm-c-r);
  box-shadow: var(--nm-shadow-xs);
  transition: var(--nm-c-transition);
}
.form-control:hover:not(:focus):not([disabled]):not([readonly]) { border-color: var(--nm-gray-400); }
.form-control:focus {
  border-color: var(--nm-brand-500);
  box-shadow: var(--nm-focus-ring);
  outline: 0;
}
.form-control::placeholder { color: var(--nm-gray-400); opacity: 1; }
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
  background-color: var(--nm-gray-50);
  color: var(--nm-text-2);
  border-color: var(--nm-border);
  box-shadow: none;
}
.form-control[readonly]:not([disabled]) { cursor: default; }
/* date / time inputs are readonly but clickable (datetimepicker) */
.form-control[readonly][class*="date"], .form-control[readonly][id*="date"] { background-color: var(--nm-surface); cursor: pointer; }
textarea.form-control { padding-top: 9px; padding-bottom: 9px; line-height: 1.55; min-height: var(--nm-c-h); }
.input-sm, .form-group-sm .form-control { height: var(--nm-c-h-sm); padding: 5px 10px; font-size: var(--nm-fs-sm); line-height: 20px; border-radius: var(--nm-c-r); }
.input-lg, .form-group-lg .form-control { height: var(--nm-c-h-lg); padding: 10px 14px; font-size: var(--nm-fs-md); border-radius: var(--nm-radius); }
select.input-sm { height: var(--nm-c-h-sm); line-height: 20px; }

/* Native selects: modern chevron, direction-aware */
select.form-control:not([multiple]):not([size]) {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a80a0' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 12px;
  padding-right: 30px;
}
html[dir="rtl"] select.form-control:not([multiple]):not([size]) {
  background-position: left 10px center;
  padding-right: var(--nm-c-pad-x);
  padding-left: 30px;
}
select.form-control[multiple] { padding: 6px; }

/* File inputs */
input[type="file"].form-control, .form-control[type="file"] { padding: 5px 8px; height: auto; min-height: var(--nm-c-h); }
input[type="file"]::file-selector-button {
  font: inherit; font-size: var(--nm-fs-sm); font-weight: 600;
  color: var(--nm-gray-700); background: var(--nm-gray-50);
  border: 1px solid var(--nm-c-border); border-radius: var(--nm-c-r-sm);
  padding: 4px 10px; margin-inline-end: 10px; cursor: pointer;
}
/* bootstrap-fileinput (used for product images, logos, documents) */
.file-input .file-caption.form-control,
.file-caption-main .file-caption { border-radius: var(--nm-c-r); }
.file-input .btn-file, .file-caption-main .btn-file {
  --nmb-bg: var(--nm-brand-600); --nmb-fg: #fff; --nmb-bd: var(--nm-brand-600);
  --nmb-bg-h: var(--nm-brand-700); --nmb-fg-h: #fff; --nmb-bd-h: var(--nm-brand-700);
}
.file-preview { border-radius: var(--nm-radius); border-color: var(--nm-border); }
.file-drop-zone { border-radius: var(--nm-radius); border: 1px dashed var(--nm-border-strong); }
.file-drop-zone-title { color: var(--nm-text-3); }

/* Help text & validation */
.help-block { font-size: var(--nm-fs-xs); color: var(--nm-text-3); margin-top: 6px; margin-bottom: 0; }
p.help-block i, .help-block em { font-style: normal; }
.has-error .form-control, .form-control.error, .form-control[aria-invalid="true"] {
  border-color: var(--nm-danger-500);
  box-shadow: none;
}
.has-error .form-control:focus, .form-control.error:focus { box-shadow: 0 0 0 4px rgba(229, 72, 77, .14); border-color: var(--nm-danger-500); }
.has-error .help-block, .has-error .control-label, .has-error label, label.error, span.error, .text-error {
  color: var(--nm-danger-700);
}
label.error, .form-group label.error {
  display: block;
  font-size: var(--nm-fs-xs);
  font-weight: 500;
  margin-top: 6px;
  margin-bottom: 0;
}
.has-success .form-control { border-color: var(--nm-success-500); box-shadow: none; }
.has-warning .form-control { border-color: var(--nm-warning-500); box-shadow: none; }

/* Input groups */
.input-group-addon {
  padding: 0 11px;
  min-width: var(--nm-c-h);
  font-size: var(--nm-fs-sm);
  color: var(--nm-text-3);
  background-color: var(--nm-gray-50);
  border: 1px solid var(--nm-c-border);
  border-radius: var(--nm-c-r);
  box-shadow: var(--nm-shadow-xs);
}
.input-group-addon .fa, .input-group-addon .fas, .input-group-addon i { color: var(--nm-gray-500); }
.input-group-addon .text-primary, .input-group-addon .fa.text-primary { color: var(--nm-brand-600); }
.input-group-addon.bg-white, .input-group-btn > .btn.bg-white { background-color: var(--nm-surface) !important; }
.input-group .form-control, .input-group-addon, .input-group-btn > .btn { box-shadow: none; }
.input-group { box-shadow: var(--nm-shadow-xs); border-radius: var(--nm-c-r); }
.input-group:has(.select2-container) { box-shadow: none; }
.input-group-btn > .btn,
.input-group-btn > .btn-group > .btn {
  padding-top: 9px; padding-bottom: 9px;
  border-color: var(--nm-c-border);
}
.input-group-btn > .btn.btn-default { color: var(--nm-text-2); }
.input-group-sm .input-group-addon, .input-group-sm .form-control { height: var(--nm-c-h-sm); }
.input-group-sm > .input-group-btn > .btn { padding-top: 6px; padding-bottom: 6px; }
body.lockscreen .input-group-btn > .btn { padding-top: 7px; padding-bottom: 7px; }

/* Joined corners — every child square, then round only the outer edges
   using logical properties (works in both LTR and RTL; beats rtl.css). */
.input-group .form-control:not(:first-child):not(:last-child),
.input-group > .input-group-addon:not(:first-child):not(:last-child),
.input-group > .input-group-btn:not(:first-child):not(:last-child) > .btn,
.input-group .form-control:first-child,
.input-group .form-control:last-child,
.input-group > .input-group-addon:first-child,
.input-group > .input-group-addon:last-child,
.input-group > .input-group-btn:first-child > .btn,
.input-group > .input-group-btn:last-child > .btn,
.input-group > .input-group-btn > .btn-group > .btn {
  border-radius: 0;
}
.input-group > .form-control:first-child,
.input-group > .input-group-addon:first-child,
.input-group > .input-group-btn:first-child > .btn:first-child,
.input-group > .input-group-btn:first-child > .btn-group:first-child > .btn {
  border-start-start-radius: var(--nm-c-r);
  border-end-start-radius: var(--nm-c-r);
}
.input-group > .form-control:last-child,
.input-group > .input-group-addon:last-child,
.input-group > .input-group-btn:last-child > .btn:last-child,
.input-group > .input-group-btn:last-child > .btn-group:last-child > .btn,
.input-group > .input-group-btn:last-child > .dropdown-toggle {
  border-start-end-radius: var(--nm-c-r);
  border-end-end-radius: var(--nm-c-r);
}
.input-group > .form-control:only-child { border-radius: var(--nm-c-r); }
/* rtl.css draws hard 1px #ccc addon borders on one side only */
html[dir="rtl"] .input-group-addon:first-child { border-right: 1px solid var(--nm-c-border); border-left: 0; }
html[dir="rtl"] .input-group-addon:last-child { border-left: 1px solid var(--nm-c-border); border-right: 0; }
html[dir="rtl"] .input-group-addon:first-child:last-child { border: 1px solid var(--nm-c-border); }
/* keep focus ring on top of neighbours */
.input-group .form-control:focus { position: relative; z-index: 3; }

/* Fieldsets / legends */
legend { color: var(--nm-text); font-size: var(--nm-fs-md); font-weight: 600; border-bottom-color: var(--nm-border); padding-bottom: 8px; }

/* Tailwind daisyUI form bits */
.tw-dw-label { color: var(--nm-gray-700); font-size: var(--nm-fs-sm); }

/* 06 — Checkbox / radio / iCheck ---------------------------------------- */
.checkbox label, .radio label, .checkbox-inline, .radio-inline {
  font-weight: 500;
  color: var(--nm-gray-700);
}
input[type="checkbox"], input[type="radio"] { accent-color: var(--nm-brand-600); }

/* iCheck square-blue → token-driven, sprite-free */
.icheckbox_square-blue, .iradio_square-blue {
  width: 18px;
  height: 18px;
  background: var(--nm-surface) none;
  border: 1.5px solid var(--nm-gray-300);
  border-radius: 5px;
  box-shadow: var(--nm-shadow-xs);
  transition: var(--nm-c-transition);
  vertical-align: -4px;
  margin-inline-end: 6px;
}
.iradio_square-blue { border-radius: 50%; }
.icheckbox_square-blue.hover, .iradio_square-blue.hover { border-color: var(--nm-brand-400); }
.icheckbox_square-blue.focus, .iradio_square-blue.focus { box-shadow: var(--nm-focus-ring); border-color: var(--nm-brand-500); }
.icheckbox_square-blue.checked {
  background: var(--nm-brand-600) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat;
  border-color: var(--nm-brand-600);
}
.iradio_square-blue.checked {
  background: var(--nm-surface) radial-gradient(circle, var(--nm-brand-600) 0 4px, transparent 4.5px) no-repeat;
  border-color: var(--nm-brand-600);
}
.icheckbox_square-blue.indeterminate {
  background: var(--nm-brand-600) linear-gradient(#fff, #fff) center / 8px 2px no-repeat;
  border-color: var(--nm-brand-600);
}
.icheckbox_square-blue.disabled, .iradio_square-blue.disabled { background-color: var(--nm-gray-100); border-color: var(--nm-gray-200); cursor: not-allowed; }
.icheckbox_square-blue.checked.disabled { background-color: var(--nm-brand-300); border-color: var(--nm-brand-300); }
/* iCheck labels next to the box */
label > .icheckbox_square-blue + strong, label > .iradio_square-blue + strong { font-weight: 500; }

/* 07 — select2 ---------------------------------------------------------- */
.select2-container { font-size: var(--nm-fs-base); }
.select2-container--default .select2-selection--single,
.select2-selection .select2-selection--single {
  height: var(--nm-c-h);
  padding: 0;
  border: 1px solid var(--nm-c-border);
  border-radius: var(--nm-c-r);
  background-color: var(--nm-surface);
  box-shadow: var(--nm-shadow-xs);
  transition: var(--nm-c-transition);
  outline: 0;
}
.select2-container--default .select2-selection--single:hover { border-color: var(--nm-gray-400); }
.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: calc(var(--nm-c-h) - 2px);
  margin-top: 0;
  height: auto;
  padding-left: var(--nm-c-pad-x);
  padding-right: 30px;
  color: var(--nm-text);
}
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__rendered,
html[dir="rtl"] .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding-right: var(--nm-c-pad-x);
  padding-left: 30px;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder { color: var(--nm-gray-400); }
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: calc(var(--nm-c-h) - 2px);
  top: 0;
  width: 28px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border: 0;
  width: 12px; height: 12px;
  margin: -6px 0 0 -6px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237a80a0' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / 12px no-repeat;
  transition: transform var(--nm-dur) var(--nm-ease);
}
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border: 0;
  transform: rotate(180deg);
}
.select2-container--default .select2-selection--single .select2-selection__clear {
  color: var(--nm-gray-400); font-weight: 400; margin-inline-end: 4px;
}
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--multiple {
  border-color: var(--nm-brand-500);
  box-shadow: var(--nm-focus-ring);
}
.select2-container--default.select2-container--disabled .select2-selection--single,
.select2-container--default.select2-container--disabled .select2-selection--multiple {
  background-color: var(--nm-gray-50);
  box-shadow: none;
}
.has-error .select2-container--default .select2-selection { border-color: var(--nm-danger-500); }

/* multiple */
.select2-container--default .select2-selection--multiple {
  min-height: var(--nm-c-h);
  border: 1px solid var(--nm-c-border);
  border-radius: var(--nm-c-r);
  box-shadow: var(--nm-shadow-xs);
  padding: 2px 4px 3px;
}
.select2-container--default .select2-selection--multiple .select2-selection__rendered { padding: 0 2px; }
.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: var(--nm-brand-50);
  border: 1px solid var(--nm-brand-100);
  color: var(--nm-brand-800);
  border-radius: var(--nm-c-r-sm);
  font-size: var(--nm-fs-xs);
  font-weight: 500;
  line-height: 20px;
  padding: 0 7px;
  margin-top: 3px;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: var(--nm-brand-400);
  margin-inline-end: 4px;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { color: var(--nm-brand-800); }
.select2-container--default .select2-search--inline .select2-search__field { margin-top: 4px; height: 24px; font-size: var(--nm-fs-sm); }

/* dropdown panel */
.select2-dropdown {
  border: 1px solid var(--nm-border);
  border-radius: var(--nm-radius);
  box-shadow: var(--nm-shadow-lg);
  overflow: hidden;
  background: var(--nm-surface);
}
.select2-container--open .select2-dropdown--below { margin-top: 4px; border-top: 1px solid var(--nm-border); border-radius: var(--nm-radius); }
.select2-container--open .select2-dropdown--above { margin-top: -4px; border-bottom: 1px solid var(--nm-border); border-radius: var(--nm-radius); }
.select2-search--dropdown { padding: 8px; }
.select2-container--default .select2-search--dropdown .select2-search__field {
  height: var(--nm-c-h-sm);
  border: 1px solid var(--nm-c-border);
  border-radius: var(--nm-c-r-sm);
  padding: 4px 10px;
  outline: 0;
}
.select2-container--default .select2-search--dropdown .select2-search__field:focus { border-color: var(--nm-brand-500); box-shadow: var(--nm-focus-ring); }
.select2-results__options { padding: 4px; }
.select2-results__option {
  padding: 7px 10px;
  border-radius: var(--nm-c-r-sm);
  font-size: var(--nm-fs-sm);
  color: var(--nm-text);
}
.select2-container--default .select2-results__option[aria-selected="true"] {
  background-color: var(--nm-brand-50);
  color: var(--nm-brand-800);
  font-weight: 500;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[aria-selected]:hover {
  background-color: var(--nm-gray-100);
  color: var(--nm-text);
}
.select2-container--default .select2-results__option[aria-disabled="true"] { color: var(--nm-gray-400); }
.select2-container--default .select2-results__group { color: var(--nm-text-3); font-size: var(--nm-fs-xs); font-weight: 600; padding: 8px 10px 4px; }
.select2-results__message, .select2-results__option.loading-results { color: var(--nm-text-3); }

/* select2 inside input groups */
.input-group .select2-container--default .select2-selection { box-shadow: none; border-radius: 0; }
.input-group > .select2-container:last-child .select2-selection {
  border-start-end-radius: var(--nm-c-r);
  border-end-end-radius: var(--nm-c-r);
}
.input-group > select:first-child + .select2-container .select2-selection {
  border-start-start-radius: var(--nm-c-r);
  border-end-start-radius: var(--nm-c-r);
}

/* 08 — Tables & DataTables ---------------------------------------------- */
.table {
  color: var(--nm-text);
  font-size: var(--nm-fs-sm);
  margin-bottom: var(--nm-space-4);
  background-color: transparent;
}
.table > thead > tr > th,
.table > thead > tr > td {
  background-color: var(--nm-gray-50);
  color: var(--nm-gray-600);
  font-size: var(--nm-fs-xs);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .01em;
  padding: 10px 12px;
  vertical-align: middle;
  border-bottom: 1px solid var(--nm-border);
  border-top: 1px solid var(--nm-border);
  white-space: normal;
}
html[dir="rtl"] .table > thead > tr > th { letter-spacing: 0; font-size: var(--nm-fs-sm); }
.table > tbody > tr > td, .table > tbody > tr > th,
.table > tfoot > tr > td, .table > tfoot > tr > th {
  padding: 10px 12px;
  line-height: 1.5;
  vertical-align: middle;
  border-top: 1px solid var(--nm-gray-100);
}
.table > tbody > tr:first-child > td { border-top-color: transparent; }
.table > thead > tr > th small { color: var(--nm-text-3); font-weight: 500; }

/* bordered → hairline rows only, no grid */
.table-bordered { border: 0; }
.table-bordered > thead > tr > th, .table-bordered > thead > tr > td,
.table-bordered > tbody > tr > th, .table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > th, .table-bordered > tfoot > tr > td {
  border-left: 0;
  border-right: 0;
}
.table-bordered > thead > tr > th, .table-bordered > thead > tr > td { border-bottom-width: 1px; }
.table-bordered > tbody > tr > td, .table-bordered > tbody > tr > th { border-top: 0; border-bottom: 1px solid var(--nm-gray-100); }
.table-bordered > tbody > tr:last-child > td { border-bottom-color: var(--nm-border); }

/* striped off; calm hover */
.table-striped > tbody > tr:nth-of-type(odd) { background-color: transparent; }
.table > tbody > tr { transition: background-color var(--nm-dur) var(--nm-ease); }
.table-hover > tbody > tr:hover,
table.dataTable > tbody > tr:hover,
.table > tbody > tr:hover { background-color: var(--nm-c-hover-row); }
table.dataTable tbody > tr.selected, table.dataTable tbody > tr > .selected { background-color: var(--nm-brand-50); }

/* Footers: totals row */
.table > tfoot > tr > td, .table > tfoot > tr > th {
  background-color: var(--nm-surface-muted);
  border-top: 1px solid var(--nm-border);
  font-weight: 600;
}
.table > tfoot > tr.bg-gray, .table > tfoot > tr.footer-total, tr.bg-gray.footer-total,
.table tr.bg-gray, .table > tfoot > tr.bg-gray > td {
  background-color: var(--nm-gray-50) !important;
  color: var(--nm-text) !important;
}
.font-17 { font-size: var(--nm-fs-base) !important; }

/* condensed / slim variants stay dense */
.table-condensed > thead > tr > th, .table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td, .table-condensed > tbody > tr > th,
.table-slim > tbody > tr > td, .table-slim > thead > tr > th {
  padding: 6px 10px;
}

/* Responsive wrappers */
.table-responsive { border: 0; }

/* Product-page "hide-footer" tfoot hosts mass action buttons */
table.hide-footer > tfoot > tr > td { background: var(--nm-surface); font-weight: 400; padding-top: 12px; }
table.hide-footer > tfoot > tr > td > div { gap: 6px; align-items: center; flex-wrap: wrap; }

/* Table header cell text in ajax tables (ajax_view sets cursor) */
table.ajax_view tbody tr { cursor: pointer; }

/* ---- DataTables chrome ---- */
.dataTables_wrapper { position: relative; }
.dataTables_wrapper > .row:first-child,
.dataTables_wrapper > .row.margin-bottom-20 {
  margin-bottom: var(--nm-space-3);
}
.dataTables_wrapper > .row.margin-bottom-20 {
  clear: both;   /* a flex row would otherwise shrink beside floated header buttons */
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
}
.dataTables_wrapper > .row.margin-bottom-20::before,
.dataTables_wrapper > .row.margin-bottom-20::after { display: none; }
.dataTables_wrapper > .row.margin-bottom-20 > [class*="col-"] {
  float: none;
  width: auto;
  min-height: 1px;
  padding-left: 0;
  padding-right: 0;
}
.dataTables_wrapper > .row.margin-bottom-20 { margin-left: 0; margin-right: 0; }
.dataTables_wrapper > .row.margin-bottom-20 > [class*="col-"]:has(.dataTables_length) { flex: 0 0 auto; }
.dataTables_wrapper > .row.margin-bottom-20 > [class*="col-"]:has(.dt-buttons) { flex: 1 1 auto; }
.dataTables_wrapper > .row.margin-bottom-20 > [class*="col-"]:has(.dataTables_filter) { flex: 0 1 260px; margin-inline-start: auto; }
@media (max-width: 767px) {
  .dataTables_wrapper > .row.margin-bottom-20 > [class*="col-"]:has(.dataTables_filter),
  .dataTables_wrapper > .row.margin-bottom-20 > [class*="col-"]:has(.dt-buttons) { flex-basis: 100%; }
  .dataTables_wrapper .dt-buttons { justify-content: flex-start; }
}
.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_info {
  font-size: var(--nm-fs-sm);
  font-weight: 400;
  color: var(--nm-text-3);
}
.dataTables_wrapper .dataTables_length label { white-space: nowrap; margin: 0; }
.dataTables_wrapper .dataTables_length select.form-control {
  height: var(--nm-c-h-sm);
  width: auto;
  margin: 0 6px;
  font-size: var(--nm-fs-sm);
  color: var(--nm-text);
}
.dataTables_wrapper .dataTables_filter label { margin: 0; width: 100%; }
.dataTables_wrapper .dataTables_filter input.form-control {
  height: var(--nm-c-h-sm);
  margin: 0;
  width: 100%;
  min-width: 160px;
  font-size: var(--nm-fs-sm);
  padding-left: 32px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a3a8c3' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 10px center;
  background-size: 15px;
}
html[dir="rtl"] .dataTables_wrapper .dataTables_filter input.form-control {
  padding-left: var(--nm-c-pad-x);
  padding-right: 32px;
  background-position: right 10px center;
}
/* Export buttons → a tidy row of secondary buttons */
.dataTables_wrapper .dt-buttons {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
  padding-top: 0;
}
.dataTables_wrapper .dt-buttons > .tw-dw-btn,
.dataTables_wrapper .dt-buttons > .btn {
  float: none;
  margin: 0 !important;
  height: var(--nm-c-h-sm);
  min-height: var(--nm-c-h-sm);
  padding-left: 11px;
  padding-right: 11px;
  font-size: var(--nm-fs-xs);
  font-weight: 600;
  border-radius: var(--nm-c-r);
}
.dataTables_wrapper .dt-buttons > .tw-dw-btn .fa,
.dataTables_wrapper .dt-buttons > .btn .fa { color: var(--nm-gray-500); margin-inline-end: 4px; }
.dataTables_wrapper .dt-buttons > .tw-dw-btn:hover .fa { color: var(--nm-gray-700); }
/* Column-visibility popup */
div.dt-button-collection {
  background: var(--nm-surface);
  border: 1px solid var(--nm-border);
  border-radius: var(--nm-radius);
  box-shadow: var(--nm-shadow-lg);
  padding: 6px;
}
div.dt-button-collection .dt-button, div.dt-button-collection .buttons-columnVisibility,
div.dt-button-collection a.tw-dw-btn, div.dt-button-collection .btn {
  --nmb-bg: transparent; --nmb-bd: transparent; --nmb-shadow: none;
  --nmb-bg-h: var(--nm-gray-50); --nmb-bd-h: transparent;
  justify-content: flex-start;
  text-align: start;
  font-weight: 500;
  border-radius: var(--nm-c-r-sm);
  margin: 0 0 2px;
}
div.dt-button-collection .dt-button.active, div.dt-button-collection .buttons-columnVisibility.active,
div.dt-button-collection a.tw-dw-btn.active {
  --nmb-bg: var(--nm-brand-50); --nmb-fg: var(--nm-brand-800); --nmb-bg-h: var(--nm-brand-100); --nmb-fg-h: var(--nm-brand-900);
  box-shadow: none;
}
div.dt-button-background { background: rgba(16, 20, 46, .08); }

/* Sort indicators: tidy chevrons at the inline-end of the header cell */
table.dataTable thead > tr > th.sorting,
table.dataTable thead > tr > th.sorting_asc,
table.dataTable thead > tr > th.sorting_desc,
table.dataTable thead > tr > td.sorting,
table.dataTable thead > tr > td.sorting_asc,
table.dataTable thead > tr > td.sorting_desc {
  padding-right: 26px;
}
html[dir="rtl"] table.dataTable thead > tr > th.sorting,
html[dir="rtl"] table.dataTable thead > tr > th.sorting_asc,
html[dir="rtl"] table.dataTable thead > tr > th.sorting_desc {
  padding-right: 12px;
  padding-left: 26px;
}
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:after,
table.dataTable thead .sorting_asc_disabled:after,
table.dataTable thead .sorting_desc_disabled:after {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900;
  font-size: 10px;
  bottom: auto;
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
  left: auto;
  color: var(--nm-gray-400);
  opacity: 1;
}
html[dir="rtl"] table.dataTable thead .sorting:after,
html[dir="rtl"] table.dataTable thead .sorting_asc:after,
html[dir="rtl"] table.dataTable thead .sorting_desc:after,
html[dir="rtl"] table.dataTable thead .sorting_asc_disabled:after,
html[dir="rtl"] table.dataTable thead .sorting_desc_disabled:after {
  right: auto;
  left: 10px;
}
table.dataTable thead .sorting:after { content: "\f0dc"; opacity: .55; }
table.dataTable thead .sorting_asc:after { content: "\f0de"; color: var(--nm-brand-600); }
table.dataTable thead .sorting_desc:after { content: "\f0dd"; color: var(--nm-brand-600); }
table.dataTable thead .sorting_asc, table.dataTable thead .sorting_desc { color: var(--nm-gray-900); }
table.dataTable thead .sorting:hover { color: var(--nm-gray-900); }
table.dataTable thead .sorting:hover:after { opacity: 1; }
table.dataTable thead > tr > th:active, table.dataTable thead > tr > td:active { outline: 0; }
table.dataTable { border-collapse: collapse !important; margin-top: 0 !important; margin-bottom: 0 !important; }

/* Scrolling tables: one continuous header surface */
.dataTables_scrollHead, .dataTables_scrollFoot { background: var(--nm-gray-50); }
.dataTables_scrollBody { border-bottom: 0 !important; }
.dataTables_scrollBody > table > thead > tr > th { background: transparent; border-top: 0; }
.dataTables_scrollBody::-webkit-scrollbar, .table-responsive::-webkit-scrollbar { height: 10px; width: 10px; }
.dataTables_scrollBody::-webkit-scrollbar-thumb, .table-responsive::-webkit-scrollbar-thumb {
  background: var(--nm-gray-300); border-radius: 10px; border: 2px solid var(--nm-surface);
}
.dataTables_scrollBody::-webkit-scrollbar-track, .table-responsive::-webkit-scrollbar-track { background: transparent; }

/* Empty row */
.dataTables_wrapper td.dataTables_empty {
  padding: var(--nm-space-10) var(--nm-space-4) !important;
  text-align: center;
  color: var(--nm-text-3);
  font-size: var(--nm-fs-sm);
  background: var(--nm-surface);
}
.dataTables_wrapper td.dataTables_empty::before {
  content: "";
  display: block;
  width: 44px; height: 44px;
  margin: 0 auto var(--nm-space-3);
  border-radius: 12px;
  background: var(--nm-gray-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a3a8c3' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7.5 12 3l9 4.5v9L12 21l-9-4.5z'/%3E%3Cpath d='M3 7.5 12 12l9-4.5M12 12v9'/%3E%3C/svg%3E") center / 22px no-repeat;
  border: 1px solid var(--nm-border);
}
.dataTables_wrapper tr:hover > td.dataTables_empty { background: var(--nm-surface); }

/* Info + pagination row */
.dataTables_wrapper .dataTables_info { padding-top: 14px; white-space: normal; }
.dataTables_wrapper .dataTables_paginate { margin-top: 8px; }
.dataTables_wrapper .dataTables_paginate .pagination { margin: 0; }

/* Processing indicator: floating pill with spinner (DataTables toggles display) */
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_processing.panel {
  top: 72px;
  left: 50%;
  width: auto;
  min-width: 0;
  height: auto;
  margin: 0;
  transform: translateX(-50%);
  padding: 8px 16px 8px 14px;
  background: var(--nm-surface);
  border: 1px solid var(--nm-border);
  border-radius: var(--nm-radius-full);
  box-shadow: var(--nm-shadow-md);
  color: var(--nm-text-2);
  font-size: var(--nm-fs-sm);
  font-weight: 500;
  text-align: center;
  z-index: 20;
  white-space: nowrap;
}
.dataTables_wrapper .dataTables_processing::before {
  content: "";
  display: inline-block;
  width: 14px; height: 14px;
  margin-inline-end: 8px;
  vertical-align: -2px;
  border-radius: 50%;
  border: 2px solid var(--nm-brand-100);
  border-top-color: var(--nm-brand-600);
  animation: nm-spin .7s linear infinite;
}
@keyframes nm-spin { to { transform: rotate(360deg); } }

/* DataTables responsive child rows */
table.dataTable > tbody > tr.child ul.dtr-details > li { border-bottom-color: var(--nm-gray-100); padding: 8px 0; }
table.dataTable > tbody > tr.child span.dtr-title { color: var(--nm-text-3); font-weight: 500; }
table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child:before {
  background-color: var(--nm-brand-600);
  border: 2px solid var(--nm-surface);
  box-shadow: var(--nm-shadow-sm);
}

/* Action column dropdowns inside tables */
.table .dropdown-menu { min-width: 180px; }

/* 09 — Tabs & pills ----------------------------------------------------- */
.nav-tabs-custom {
  background: var(--nm-surface);
  border: 1px solid var(--nm-border);
  border-radius: var(--nm-radius-lg);
  box-shadow: var(--nm-shadow-xs);
  margin-bottom: var(--nm-space-5);
}
.nav-tabs-custom > .nav-tabs {
  border-bottom: 1px solid var(--nm-border);
  border-radius: var(--nm-radius-lg) var(--nm-radius-lg) 0 0;
  padding: 0 var(--nm-space-3);
  margin: 0;
  background: transparent;
}
.nav-tabs-custom > .nav-tabs > li {
  border-top: 0;
  margin-bottom: -1px;
  margin-right: 0;
}
.nav-tabs-custom > .nav-tabs > li > a,
.nav-tabs > li > a {
  color: var(--nm-text-3);
  font-size: var(--nm-fs-sm);
  font-weight: 500;
  padding: 13px 14px 12px;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  transition: color var(--nm-dur) var(--nm-ease), box-shadow var(--nm-dur) var(--nm-ease);
}
.nav-tabs-custom > .nav-tabs > li > a > .fa, .nav-tabs > li > a > .fa,
.nav-tabs-custom > .nav-tabs > li > a > i { color: var(--nm-gray-400); margin-inline-end: 4px; }
.nav-tabs-custom > .nav-tabs > li > a:hover,
.nav-tabs > li > a:hover {
  color: var(--nm-text);
  background: transparent;
  border: 0;
}
.nav-tabs-custom > .nav-tabs > li.active,
.nav-tabs-custom > .nav-tabs > li.active > a,
.nav-tabs-custom > .nav-tabs > li.active:hover > a,
.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
  color: var(--nm-brand-700);
  background: transparent;
  border: 0;
  border-top-color: transparent;
  box-shadow: inset 0 -2px 0 var(--nm-brand-600);
}
.nav-tabs-custom > .nav-tabs > li.active > a > .fa, .nav-tabs > li.active > a > .fa,
.nav-tabs-custom > .nav-tabs > li.active > a > i { color: var(--nm-brand-500); }
.nav-tabs-custom > .nav-tabs > li:first-of-type.active > a { border-left-color: transparent; border-right-color: transparent; }
.nav-tabs-custom > .tab-content { padding: var(--nm-space-4) var(--nm-space-5); border-radius: 0 0 var(--nm-radius-lg) var(--nm-radius-lg); }
.nav-tabs-custom > .nav-tabs > li.header { color: var(--nm-text); font-weight: 600; }
.nav-tabs { border-bottom-color: var(--nm-border); }
.nav-tabs > li { margin-bottom: -1px; }

/* Pills */
.nav-pills > li > a {
  border-radius: var(--nm-c-r);
  color: var(--nm-text-2);
  font-weight: 500;
  font-size: var(--nm-fs-sm);
  padding: 8px 12px;
  border: 0;
}
.nav-pills > li > a:hover { background: var(--nm-gray-100); color: var(--nm-text); }
.nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus {
  background: var(--nm-brand-50);
  color: var(--nm-brand-700);
  border: 0;
  border-top-color: transparent;
  font-weight: 600;
}
.nav-stacked > li > a { border-radius: var(--nm-c-r); border-left: 0; }

/* Vertical settings tabs (business settings, POS settings …) */
div.pos-tab-container {
  background: var(--nm-surface);
  border: 1px solid var(--nm-border);
  border-radius: var(--nm-radius-lg);
  box-shadow: var(--nm-shadow-xs);
}
div.pos-tab-menu { padding: var(--nm-space-3) !important; }
div.pos-tab-menu div.list-group {
  border-radius: 0;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
div.pos-tab-menu div.list-group > a,
div.pos-tab-menu div.list-group > a.list-group-item {
  border: 0;
  border-radius: var(--nm-c-r) !important;
  background: transparent;
  color: var(--nm-text-2);
  font-size: var(--nm-fs-sm);
  font-weight: 500;
  line-height: 1.45;
  padding: 9px 12px;
  margin: 0;
  text-align: start;
  transition: var(--nm-c-transition);
}
div.pos-tab-menu div.list-group > a:hover { background: var(--nm-gray-50); color: var(--nm-text); }
div.pos-tab-menu div.list-group > a .fa, div.pos-tab-menu div.list-group > a .glyphicon { color: var(--nm-gray-400); }
div.pos-tab-menu div.list-group > a.active,
div.pos-tab-menu div.list-group > a.active:hover,
div.pos-tab-menu div.list-group > a.active:focus {
  background: var(--nm-brand-50);
  color: var(--nm-brand-700);
  font-weight: 600;
  box-shadow: inset 3px 0 0 var(--nm-brand-600);
}
html[dir="rtl"] div.pos-tab-menu div.list-group > a.active { box-shadow: inset -3px 0 0 var(--nm-brand-600); }
div.pos-tab-menu div.list-group > a.active .fa, div.pos-tab-menu div.list-group > a.active .glyphicon { color: var(--nm-brand-500); background: transparent; }
div.pos-tab-content { padding: var(--nm-space-5) var(--nm-space-5) var(--nm-space-2); }

/* List groups */
.list-group-item {
  border-color: var(--nm-border);
  color: var(--nm-text);
  font-size: var(--nm-fs-sm);
}
.list-group-item:first-child { border-top-left-radius: var(--nm-radius); border-top-right-radius: var(--nm-radius); }
.list-group-item:last-child { border-bottom-left-radius: var(--nm-radius); border-bottom-right-radius: var(--nm-radius); }
a.list-group-item:hover, button.list-group-item:hover { background: var(--nm-gray-50); }
.list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus {
  background: var(--nm-brand-50); border-color: var(--nm-brand-100); color: var(--nm-brand-800);
}

/* 10 — Dropdown menus --------------------------------------------------- */
.dropdown-menu {
  background: var(--nm-surface);
  border: 1px solid var(--nm-border);
  border-radius: var(--nm-radius);
  box-shadow: var(--nm-shadow-lg);
  padding: 6px;
  font-size: var(--nm-fs-sm);
  margin-top: 4px;
}
.dropdown-menu > li > a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border-radius: var(--nm-c-r-sm);
  color: var(--nm-gray-700);
  font-weight: 500;
  line-height: 1.45;
  white-space: nowrap;
}
.dropdown-menu > li > a > .fa, .dropdown-menu > li > a > .fas, .dropdown-menu > li > a > .far,
.dropdown-menu > li > a > i, .dropdown-menu > li > a > .glyphicon {
  color: var(--nm-gray-400);
  width: 16px;
  text-align: center;
  margin: 0 !important;
  flex-shrink: 0;
}
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
  background: var(--nm-gray-50);
  color: var(--nm-text);
}
.dropdown-menu > li > a:hover > .fa, .dropdown-menu > li > a:hover > i { color: var(--nm-brand-600); }
.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {
  background: var(--nm-brand-50); color: var(--nm-brand-800);
}
.dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover { color: var(--nm-gray-400); background: transparent; }
.dropdown-menu > li > a.delete_sell_button,
.dropdown-menu > li > a[class*="delete"],
.dropdown-menu > li > a.text-danger { color: var(--nm-danger-700); }
.dropdown-menu > li > a[class*="delete"] > i, .dropdown-menu > li > a[class*="delete"] > .fa { color: var(--nm-danger-500); }
.dropdown-menu > li > a[class*="delete"]:hover { background: var(--nm-danger-50); color: var(--nm-danger-700); }
.dropdown-menu .divider, .dropdown-menu > li.divider { background-color: var(--nm-gray-100); margin: 5px -6px; }
.dropdown-header { color: var(--nm-text-3); font-size: var(--nm-fs-xs); font-weight: 600; padding: 6px 10px 4px; }
html[dir="rtl"] .dropdown-menu { text-align: right; }

/* 11 — Modals ----------------------------------------------------------- */
.modal-backdrop { background-color: var(--nm-gray-900); }
.modal-backdrop.in { opacity: .45; }
.modal-dialog { margin-top: 48px; }
.modal-content {
  border: 1px solid rgba(16, 20, 46, .06);
  border-radius: var(--nm-radius-lg);
  box-shadow: 0 24px 64px -16px rgba(16, 20, 46, .28), 0 6px 16px -6px rgba(16, 20, 46, .1);
  background: var(--nm-surface);
  overflow: hidden;
}
.modal-header {
  padding: 18px var(--nm-space-6) 14px;
  border-bottom: 1px solid var(--nm-gray-100);
  background: var(--nm-surface);
}
.modal-header .modal-title, .modal-title {
  font-size: var(--nm-fs-md);
  font-weight: 600;
  line-height: 1.45;
  color: var(--nm-text);
}
.modal-header .close, .modal .close {
  opacity: 1;
  text-shadow: none;
  color: var(--nm-gray-400);
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  width: 32px;
  height: 32px;
  margin-top: -5px;
  border-radius: var(--nm-c-r);
  transition: var(--nm-c-transition);
}
.modal-header .close:hover, .modal .close:hover { color: var(--nm-text); background: var(--nm-gray-100); opacity: 1; }
html[dir="rtl"] .modal-header .close { float: left; margin-left: -8px; margin-right: 0; }
html[dir="ltr"] .modal-header .close, html:not([dir="rtl"]) .modal-header .close { margin-right: -8px; }
.modal-body { padding: var(--nm-space-5) var(--nm-space-6); color: var(--nm-text); }
.modal-footer {
  padding: var(--nm-space-3) var(--nm-space-6);
  border-top: 1px solid var(--nm-gray-100);
  background: var(--nm-surface-muted);
}
.modal-footer .btn + .btn, .modal-footer .tw-dw-btn + .tw-dw-btn { margin-inline-start: 8px; margin-left: 0; }
html:not([dir="rtl"]) .modal-footer .btn + .btn, html:not([dir="rtl"]) .modal-footer .tw-dw-btn + .tw-dw-btn { margin-left: 8px; }
.modal .box, .modal .tw-rounded-xl.tw-ring-1 { box-shadow: none; }
/* Arabic: flip close/footer alignment that Bootstrap hard-codes */
html[dir="rtl"] .modal-footer { text-align: left; }

/* 12 — Alerts & callouts ------------------------------------------------ */
.alert {
  border-radius: var(--nm-radius);
  border: 1px solid transparent;
  padding: 12px 16px;
  font-size: var(--nm-fs-sm);
  line-height: 1.55;
  box-shadow: none;
}
.alert h4 { font-size: var(--nm-fs-base); font-weight: 600; margin-bottom: 4px; color: inherit; }
.alert .icon { margin-inline-end: 6px; }
.alert a, .alert .alert-link { color: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.alert-success, .alert-success.alert { background-color: var(--nm-success-50) !important; border-color: rgba(19, 184, 158, .25) !important; color: var(--nm-success-700) !important; }
.alert-danger, .alert-error, .alert-danger.alert { background-color: var(--nm-danger-50) !important; border-color: rgba(229, 72, 77, .22) !important; color: var(--nm-danger-700) !important; }
.alert-warning, .alert-warning.alert { background-color: var(--nm-warning-50) !important; border-color: rgba(242, 161, 15, .28) !important; color: var(--nm-warning-700) !important; }
.alert-info, .alert-info.alert { background-color: var(--nm-info-50) !important; border-color: rgba(60, 73, 192, .22) !important; color: var(--nm-info-700) !important; }
.alert .close { color: currentColor; opacity: .5; text-shadow: none; }
.alert .close:hover { opacity: .9; }

.callout {
  border-radius: var(--nm-radius);
  border: 1px solid var(--nm-border);
  border-inline-start-width: 3px;
  padding: 12px 16px;
  background: var(--nm-surface) !important;
  color: var(--nm-text) !important;
  box-shadow: var(--nm-shadow-xs);
}
.callout h4 { font-size: var(--nm-fs-base); font-weight: 600; color: var(--nm-text); }
.callout p { color: var(--nm-text-2); }
.callout.callout-info { border-inline-start-color: var(--nm-info-500); background: var(--nm-info-50) !important; }
.callout.callout-success { border-inline-start-color: var(--nm-success-500); background: var(--nm-success-50) !important; }
.callout.callout-warning { border-inline-start-color: var(--nm-warning-500); background: var(--nm-warning-50) !important; }
.callout.callout-danger { border-inline-start-color: var(--nm-danger-500); background: var(--nm-danger-50) !important; }
.callout a { color: var(--nm-primary); }

/* 13 — Labels, badges, status pills ------------------------------------- */
.label, .badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 9px;
  font-size: var(--nm-fs-xs);
  font-weight: 600;
  line-height: 18px;
  border-radius: var(--nm-radius-full);
  border: 1px solid transparent;
  letter-spacing: 0;
  white-space: nowrap;
  vertical-align: middle;
  background-color: var(--nm-gray-100);
  color: var(--nm-gray-700);
  text-shadow: none;
}
.label-round { border-radius: var(--nm-radius-full); }
/* soft status palette (AdminLTE bg-* carry !important) */
.label.bg-green, .label.bg-light-green, .label.label-success, .label.bg-success, .label.bg-olive,
.badge.bg-green, .badge.bg-success, .badge.label-success {
  background-color: var(--nm-success-50) !important; color: var(--nm-success-700) !important; border-color: rgba(19, 184, 158, .22);
}
.label.bg-red, .label.label-danger, .label.bg-danger, .label.bg-maroon,
.badge.bg-red, .badge.bg-danger {
  background-color: var(--nm-danger-50) !important; color: var(--nm-danger-700) !important; border-color: rgba(229, 72, 77, .2);
}
.label.bg-yellow, .label.label-warning, .label.bg-warning, .label.bg-orange,
.badge.bg-yellow, .badge.bg-warning, .badge.bg-orange {
  background-color: var(--nm-warning-50) !important; color: var(--nm-warning-700) !important; border-color: rgba(242, 161, 15, .25);
}
.label.bg-aqua, .label.bg-info, .label.label-info, .label.bg-light-blue, .label.bg-blue, .label.bg-teal,
.badge.bg-aqua, .badge.bg-info, .badge.bg-light-blue, .badge.bg-blue {
  background-color: var(--nm-info-50) !important; color: var(--nm-info-700) !important; border-color: rgba(60, 73, 192, .2);
}
.label.bg-primary, .label.label-primary, .label.bg-purple, .label.bg-navy,
.badge.bg-primary, .badge.bg-purple, .badge.bg-navy {
  background-color: var(--nm-brand-50) !important; color: var(--nm-brand-700) !important; border-color: var(--nm-brand-100);
}
.label.bg-gray, .label.label-default, .label.bg-lightgray, .label.bg-black,
.badge.bg-gray, .badge.bg-lightgray {
  background-color: var(--nm-gray-100) !important; color: var(--nm-gray-700) !important; border-color: var(--nm-gray-200);
}
.label.bg-lightgray.text-danger { color: var(--nm-danger-700) !important; }
/* status dot for pills that represent states inside tables */
.table .label::before, .payment-status-label .label::before, .status-label::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: currentColor;
  opacity: .85;
  flex-shrink: 0;
}
.payment-status-label, a.payment-status-label { text-decoration: none !important; }
.payment-status-label:hover .label { filter: saturate(1.3) brightness(.97); }
/* "badge" inside nav/sidebar counters stay compact */
.badge { min-width: 20px; justify-content: center; padding: 1px 7px; }
.discount-badge, .discount-badge-small { border-radius: var(--nm-c-r-sm); }

/* 14 — Pagination, progress, misc --------------------------------------- */
.pagination { display: inline-flex; flex-wrap: wrap; gap: 4px; border-radius: 0; }
.pagination > li > a, .pagination > li > span {
  float: none;
  min-width: 32px;
  height: 32px;
  padding: 0 10px;
  margin: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--nm-border);
  border-radius: var(--nm-c-r) !important;
  background: var(--nm-surface);
  color: var(--nm-gray-700);
  font-size: var(--nm-fs-sm);
  font-weight: 500;
  line-height: 1;
  box-shadow: var(--nm-shadow-xs);
  transition: var(--nm-c-transition);
}
.pagination > li > a:hover, .pagination > li > a:focus, .pagination > li > span:hover {
  background: var(--nm-gray-50);
  border-color: var(--nm-border-strong);
  color: var(--nm-text);
}
.pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus,
.pagination > .active > span, .pagination > .active > span:hover {
  background: var(--nm-brand-600);
  border-color: var(--nm-brand-600);
  color: #fff;
  box-shadow: var(--nm-c-btn-inset), 0 1px 2px rgba(42, 54, 177, .25);
}
.pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > span {
  background: var(--nm-surface);
  color: var(--nm-gray-400);
  border-color: var(--nm-gray-100);
  box-shadow: none;
}
.pager li > a, .pager li > span { border-radius: var(--nm-c-r); border-color: var(--nm-border); color: var(--nm-gray-700); }

.progress {
  height: 8px;
  border-radius: var(--nm-radius-full);
  background: var(--nm-gray-100);
  box-shadow: none;
  overflow: hidden;
}
.progress.sm, .progress-sm { height: 6px; }
.progress.xs, .progress-xs { height: 4px; }
.progress-bar { background-color: var(--nm-brand-600); box-shadow: none; border-radius: var(--nm-radius-full); }
.progress-bar-success, .progress-bar.bg-green { background-color: var(--nm-success-500) !important; }
.progress-bar-warning, .progress-bar.bg-yellow { background-color: var(--nm-warning-500) !important; }
.progress-bar-danger, .progress-bar.bg-red { background-color: var(--nm-danger-500) !important; }
.progress-bar-info, .progress-bar.bg-aqua { background-color: var(--nm-info-500) !important; }

.breadcrumb { background: transparent; padding: 0; font-size: var(--nm-fs-sm); }

/* Description lists / detail views (view modals) */
dl dt { color: var(--nm-text-3); font-weight: 500; font-size: var(--nm-fs-sm); }
dl dd { color: var(--nm-text); }

/* 15 — Tooltips & popovers ---------------------------------------------- */
.tooltip { font-family: inherit; }
.tooltip.in { opacity: 1; }
.tooltip-inner {
  background: var(--nm-gray-900);
  color: #fff;
  font-size: var(--nm-fs-xs);
  font-weight: 500;
  line-height: 1.45;
  padding: 6px 10px;
  border-radius: var(--nm-c-r-sm);
  box-shadow: var(--nm-shadow-md);
  max-width: 260px;
}
.tooltip.top .tooltip-arrow, .tooltip.top-left .tooltip-arrow, .tooltip.top-right .tooltip-arrow { border-top-color: var(--nm-gray-900); }
.tooltip.bottom .tooltip-arrow, .tooltip.bottom-left .tooltip-arrow, .tooltip.bottom-right .tooltip-arrow { border-bottom-color: var(--nm-gray-900); }
.tooltip.left .tooltip-arrow { border-left-color: var(--nm-gray-900); }
.tooltip.right .tooltip-arrow { border-right-color: var(--nm-gray-900); }

.popover {
  font-family: inherit;
  border: 1px solid var(--nm-border);
  border-radius: var(--nm-radius);
  box-shadow: var(--nm-shadow-lg);
  padding: 0;
  color: var(--nm-text);
  font-size: var(--nm-fs-sm);
}
.popover-title {
  background: var(--nm-surface);
  border-bottom: 1px solid var(--nm-gray-100);
  border-radius: var(--nm-radius) var(--nm-radius) 0 0;
  padding: 10px 14px;
  font-size: var(--nm-fs-sm);
  font-weight: 600;
  color: var(--nm-text);
}
.popover-content { padding: 10px 14px; line-height: 1.55; color: var(--nm-text-2); }
.popover.top > .arrow { border-top-color: var(--nm-border); }
.popover.bottom > .arrow { border-bottom-color: var(--nm-border); }
.popover.left > .arrow { border-left-color: var(--nm-border); }
.popover.right > .arrow { border-right-color: var(--nm-border); }
/* bootstrap-tour popovers (help tour) */
.popover.tour { max-width: 340px; }
.popover.tour .popover-navigation { padding: 10px 14px; border-top: 1px solid var(--nm-gray-100); display: flex; gap: 6px; flex-wrap: wrap; }
.popover.tour .popover-navigation .btn.btn-success {
  --nmb-bg: var(--nm-brand-600); --nmb-bd: var(--nm-brand-600); --nmb-bg-h: var(--nm-brand-700); --nmb-bd-h: var(--nm-brand-700);
}
.tour-backdrop { background: var(--nm-gray-900); opacity: .45; }

/* 16 — Date pickers ----------------------------------------------------- */
.daterangepicker {
  font-family: inherit;
  font-size: var(--nm-fs-sm);
  border: 1px solid var(--nm-border);
  border-radius: var(--nm-radius-lg);
  box-shadow: var(--nm-shadow-lg);
  color: var(--nm-text);
  padding: 0;
  line-height: 1.2;
}
.daterangepicker:before { border-bottom-color: var(--nm-border); }
.daterangepicker .ranges { padding: 4px 0; }
.daterangepicker .ranges ul { padding: 6px; }
.daterangepicker .ranges li {
  font-size: var(--nm-fs-sm);
  padding: 7px 12px;
  border-radius: var(--nm-c-r-sm);
  color: var(--nm-gray-700);
  font-weight: 500;
  margin-bottom: 1px;
}
.daterangepicker .ranges li:hover { background: var(--nm-gray-50); color: var(--nm-text); }
.daterangepicker .ranges li.active { background: var(--nm-brand-50); color: var(--nm-brand-700); font-weight: 600; }
.daterangepicker .drp-calendar { padding: 10px; }
.daterangepicker .calendar-table { border: 0; }
.daterangepicker .calendar-table th, .daterangepicker .calendar-table td {
  border-radius: var(--nm-c-r-sm);
  font-size: var(--nm-fs-xs);
  min-width: 30px; width: 30px; height: 28px;
}
.daterangepicker th.month { font-size: var(--nm-fs-sm); font-weight: 600; color: var(--nm-text); }
.daterangepicker td.available:hover, .daterangepicker th.available:hover { background: var(--nm-gray-100); }
.daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date { color: var(--nm-gray-300); }
.daterangepicker td.in-range { background: var(--nm-brand-50); color: var(--nm-brand-900); border-radius: 0; }
.daterangepicker td.active, .daterangepicker td.active:hover,
.daterangepicker td.start-date, .daterangepicker td.end-date {
  background: var(--nm-brand-600);
  color: #fff;
}
.daterangepicker td.start-date { border-radius: var(--nm-c-r-sm) 0 0 var(--nm-c-r-sm); }
.daterangepicker td.end-date { border-radius: 0 var(--nm-c-r-sm) var(--nm-c-r-sm) 0; }
.daterangepicker td.start-date.end-date { border-radius: var(--nm-c-r-sm); }
.daterangepicker .drp-buttons { border-top: 1px solid var(--nm-gray-100); padding: 10px; }
.daterangepicker .drp-buttons .btn { font-weight: 600; padding: 4px 12px; font-size: var(--nm-fs-xs); }
.daterangepicker .drp-selected { color: var(--nm-text-3); font-size: var(--nm-fs-xs); }
.daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.secondselect,
.daterangepicker select.ampmselect, .daterangepicker select.monthselect, .daterangepicker select.yearselect {
  border: 1px solid var(--nm-c-border); border-radius: var(--nm-c-r-sm); padding: 2px 4px; background: var(--nm-surface);
}
.daterangepicker.show-ranges.ltr .drp-calendar.left { border-left-color: var(--nm-gray-100); }
.daterangepicker.show-ranges.rtl .drp-calendar.right { border-right-color: var(--nm-gray-100); }

.bootstrap-datetimepicker-widget.dropdown-menu {
  padding: 8px;
  border-radius: var(--nm-radius-lg);
  width: 18em;
}
.bootstrap-datetimepicker-widget table th, .bootstrap-datetimepicker-widget table td {
  border-radius: var(--nm-c-r-sm);
  font-size: var(--nm-fs-xs);
}
.bootstrap-datetimepicker-widget table th.picker-switch { font-size: var(--nm-fs-sm); font-weight: 600; }
.bootstrap-datetimepicker-widget table td.day:hover, .bootstrap-datetimepicker-widget table td.hour:hover,
.bootstrap-datetimepicker-widget table td.minute:hover, .bootstrap-datetimepicker-widget table td span:hover,
.bootstrap-datetimepicker-widget table thead tr:first-child th:hover { background: var(--nm-gray-100); }
.bootstrap-datetimepicker-widget table td.active, .bootstrap-datetimepicker-widget table td.active:hover,
.bootstrap-datetimepicker-widget table td span.active {
  background-color: var(--nm-brand-600);
  color: #fff;
  text-shadow: none;
}
.bootstrap-datetimepicker-widget table td.today:before { border-bottom-color: var(--nm-brand-500); }
.bootstrap-datetimepicker-widget table td.old, .bootstrap-datetimepicker-widget table td.new { color: var(--nm-gray-300); }
.bootstrap-datetimepicker-widget .btn[data-action] { --nmb-shadow: none; --nmb-bd: transparent; }
.datepicker table tr td.active, .datepicker table tr td.active:hover,
.datepicker table tr td.active.active, .datepicker table tr td.selected {
  background: var(--nm-brand-600) !important; color: #fff !important; text-shadow: none;
}
.datepicker.dropdown-menu { padding: 8px; }
.datepicker table tr td, .datepicker table tr th { border-radius: var(--nm-c-r-sm); }

/* 17 — Toastr & SweetAlert ---------------------------------------------- */
#toast-container > div {
  width: 360px;
  padding: 14px 16px 14px 48px;
  border-radius: var(--nm-radius);
  background-color: var(--nm-surface);
  color: var(--nm-text);
  opacity: 1;
  box-shadow: var(--nm-shadow-lg);
  font-size: var(--nm-fs-sm);
  line-height: 1.5;
  border: 1px solid var(--nm-border);
  background-position: 16px 15px;
  background-size: 20px;
  background-repeat: no-repeat;
}
#toast-container > div:hover { box-shadow: var(--nm-shadow-lg); opacity: 1; }
#toast-container > div.rtl, html[dir="rtl"] #toast-container > div {
  padding: 14px 48px 14px 16px;
  background-position: right 16px top 15px;
}
#toast-container > .toast-success { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2313b89e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='m8 12.5 2.8 2.8L16.5 9.5'/%3E%3C/svg%3E") !important; }
#toast-container > .toast-error { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e5484d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='m15 9-6 6M9 9l6 6'/%3E%3C/svg%3E") !important; }
#toast-container > .toast-warning { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2a10f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9 2.4 17.5A2 2 0 0 0 4.1 20.5h15.8a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z'/%3E%3Cpath d='M12 9.5v4M12 17h.01'/%3E%3C/svg%3E") !important; }
#toast-container > .toast-info { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233c49c0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M12 16v-4.5M12 8h.01'/%3E%3C/svg%3E") !important; }
#toast-container .toast-title { font-weight: 600; margin-bottom: 2px; color: var(--nm-text); }
#toast-container .toast-message { color: var(--nm-text-2); }
#toast-container .toast-message a { color: var(--nm-primary); }
#toast-container .toast-progress { opacity: .9; height: 2px; }
#toast-container > .toast-success .toast-progress { background: var(--nm-success-500); }
#toast-container > .toast-error .toast-progress { background: var(--nm-danger-500); }
#toast-container > .toast-warning .toast-progress { background: var(--nm-warning-500); }
#toast-container > .toast-info .toast-progress { background: var(--nm-info-500); }
#toast-container .toast-close-button { color: var(--nm-gray-400); opacity: 1; text-shadow: none; font-weight: 400; }
#toast-container .toast-close-button:hover { color: var(--nm-text); }

/* SweetAlert v1 — its CSS is injected at runtime after this file, so
   selectors are doubled up to stay ahead. */
.swal-overlay.swal-overlay { background-color: rgba(16, 20, 46, .45); }
.swal-overlay .swal-modal {
  border-radius: var(--nm-radius-lg);
  box-shadow: 0 24px 64px -16px rgba(16, 20, 46, .3);
  padding-top: 8px;
  font-family: var(--nm-font);
  width: 440px;
}
.swal-overlay .swal-modal .swal-title {
  font-size: var(--nm-fs-lg);
  font-weight: 600;
  color: var(--nm-text);
  padding-top: 8px;
}
.swal-overlay .swal-modal .swal-text {
  font-size: var(--nm-fs-base);
  color: var(--nm-text-2);
  text-align: center;
  line-height: 1.6;
}
.swal-overlay .swal-modal .swal-footer {
  background: var(--nm-surface-muted);
  border-top: 1px solid var(--nm-gray-100);
  margin-top: 22px;
  padding: 12px 18px;
  border-radius: 0 0 var(--nm-radius-lg) var(--nm-radius-lg);
  text-align: center;
}
.swal-overlay .swal-modal .swal-button {
  font-family: inherit;
  font-size: var(--nm-fs-sm);
  font-weight: 600;
  padding: 8px 18px;
  border-radius: var(--nm-c-r);
  background-color: var(--nm-brand-600);
  box-shadow: var(--nm-c-btn-inset), 0 1px 2px rgba(42, 54, 177, .25);
  border: 1px solid var(--nm-brand-600);
}
.swal-overlay .swal-modal .swal-button:not([disabled]):hover { background-color: var(--nm-brand-700); }
.swal-overlay .swal-modal .swal-button:focus { box-shadow: var(--nm-focus-ring); }
.swal-overlay .swal-modal .swal-button--cancel {
  background-color: var(--nm-surface);
  color: var(--nm-gray-700);
  border-color: var(--nm-c-border);
  box-shadow: var(--nm-shadow-xs);
}
.swal-overlay .swal-modal .swal-button--cancel:not([disabled]):hover { background-color: var(--nm-gray-50); }
.swal-overlay .swal-modal .swal-button--danger { background-color: var(--nm-danger-500); border-color: var(--nm-danger-500); }
.swal-overlay .swal-modal .swal-button--danger:not([disabled]):hover { background-color: var(--nm-danger-700); }
.swal-overlay .swal-modal .swal-icon--warning { border-color: var(--nm-warning-500); }
.swal-overlay .swal-modal .swal-icon--warning__body, .swal-overlay .swal-modal .swal-icon--warning__dot { background-color: var(--nm-warning-500); }
.swal-overlay .swal-modal .swal-icon--success { border-color: rgba(19, 184, 158, .3); }
.swal-overlay .swal-modal .swal-icon--success__line { background-color: var(--nm-success-500); }
.swal-overlay .swal-modal .swal-icon--success__ring { border-color: rgba(19, 184, 158, .25); }
.swal-overlay .swal-modal .swal-icon--error { border-color: var(--nm-danger-500); }
.swal-overlay .swal-modal .swal-icon--error__line { background-color: var(--nm-danger-500); }
.swal-overlay .swal-modal .swal-content__input, .swal-overlay .swal-modal .swal-content__textarea {
  border: 1px solid var(--nm-c-border); border-radius: var(--nm-c-r);
}
.swal-overlay .swal-modal .swal-content__input:focus { border-color: var(--nm-brand-500); box-shadow: var(--nm-focus-ring); }

/* 18 — Misc: small-box, info-box, timeline, empty-ish states ------------- */
.small-box, .info-box {
  border-radius: var(--nm-radius-lg);
  box-shadow: var(--nm-shadow-xs);
  overflow: hidden;
}
.info-box { border: 1px solid var(--nm-border); min-height: 84px; }
.info-box-icon { border-radius: var(--nm-radius) !important; margin: 12px; height: 60px; width: 60px; line-height: 60px; font-size: 26px; }
.info-box-content { padding: 14px 10px; }
.info-box-text { font-size: var(--nm-fs-sm); color: var(--nm-text-3); text-transform: none; font-weight: 500; }
.info-box-number { font-size: var(--nm-fs-lg); font-weight: 700; color: var(--nm-text); }

.timeline > li > .timeline-item {
  border-radius: var(--nm-radius);
  border: 1px solid var(--nm-border);
  box-shadow: var(--nm-shadow-xs);
}
.timeline:before { background: var(--nm-gray-200); }

/* "No data" helpers used in some modules */
.no-data, .empty-state, .text-center.text-muted.no-records {
  color: var(--nm-text-3);
  padding: var(--nm-space-8) var(--nm-space-4);
  text-align: center;
}

/* TinyMCE / summernote frame borders */
.tox.tox-tinymce { border: 1px solid var(--nm-c-border) !important; border-radius: var(--nm-c-r) !important; box-shadow: var(--nm-shadow-xs); }
.note-editor.note-frame { border-color: var(--nm-c-border); border-radius: var(--nm-c-r); }

/* Print section / invoice previews keep plain styling */
.print_section .table > thead > tr > th, .invoice .table > thead > tr > th { background: transparent; }

/* 19 — POS guard rails --------------------------------------------------- */
/* POS (/pos/create, body.lockscreen) is dense: keep controls compact and do
   not decorate its product grid or totals. */
body.lockscreen .content .tw-bg-white.tw-rounded-xl.tw-ring-1,
body.lockscreen .box { border-radius: var(--nm-radius-lg); }
body.lockscreen { --nm-c-h: 36px; --nm-c-h-sm: 32px; }
body.lockscreen .btn { padding-top: 7px; padding-bottom: 7px; }
body.lockscreen .form-control { padding-top: 7px; padding-bottom: 7px; }
body.lockscreen .box-body { padding: 10px; }
body.lockscreen .table > thead > tr > th { padding: 8px 10px; }
body.lockscreen .table > tbody > tr > td { padding: 6px 8px; }
body.lockscreen #pos_table > tbody > tr:hover { background: transparent; }
body.lockscreen .pos_form_totals .table > tbody > tr > td,
body.lockscreen .pos_form_totals td { background: transparent; padding: 6px 8px; }
body.lockscreen .box.box-solid.payment_row.bg-lightgray { background: var(--nm-gray-50) !important; }
body.lockscreen .dataTables_wrapper td.dataTables_empty::before { display: none; }
/* Calculator keys: plain tiles */
#calculator .btn, .calculator .btn { --nmb-shadow: none; font-weight: 600; }

/* 20 — Module sub-navigation (Essentials/HRM, Accounting, CRM, …) -------- */
/* Rendered as <nav class="navbar-default tw-rounded-2xl tw-border-2 …"> in
   every module's layout header. */
.content-wrapper nav.navbar-default, #scrollable-container nav.navbar-default {
  border: 1px solid var(--nm-border);
  border-radius: var(--nm-radius-lg);
  box-shadow: var(--nm-shadow-xs);
  min-height: 52px;
}
nav.navbar-default .navbar-brand {
  color: var(--nm-text);
  font-weight: 700;
  font-size: var(--nm-fs-md);
  letter-spacing: var(--nm-tracking-tight);
}
html[dir="rtl"] nav.navbar-default .navbar-brand { letter-spacing: 0; }
nav.navbar-default .navbar-brand > .fa, nav.navbar-default .navbar-brand > i { color: var(--nm-brand-600); }
nav.navbar-default .navbar-nav > li > a {
  color: var(--nm-text-3);
  font-size: var(--nm-fs-sm);
  font-weight: 600;
  transition: color var(--nm-dur) var(--nm-ease), box-shadow var(--nm-dur) var(--nm-ease);
}
nav.navbar-default .navbar-nav > li > a:hover, nav.navbar-default .navbar-nav > li > a:focus {
  color: var(--nm-text);
  background: transparent;
}
nav.navbar-default .navbar-nav > .active > a,
nav.navbar-default .navbar-nav > .active > a:hover,
nav.navbar-default .navbar-nav > .active > a:focus,
nav.navbar-default .navbar-nav > .open > a,
nav.navbar-default .navbar-nav > .open > a:hover {
  color: var(--nm-brand-700);
  background: transparent;
  box-shadow: inset 0 -2px 0 var(--nm-brand-600);
}
