:root {
    --md-blue: #051e6b;
    --blue: #0944A2;
    --brand-action-blue: #1f4fb9;
    --light-blue: #ACC0FF;
    --gray: #EAEBF1;
    --md-gray: #9CA1BA;
    --dark-gray: #60688A;
    --disabled-gray: #e9ecef;
    --app-font-family: "canada-type-gibson", sans-serif;
    --bs-primary: var(--brand-action-blue);
    --bs-primary-rgb: 31, 79, 185;
}

/* General Styles */
body {
  font-family: var(--app-font-family);
 /* background-color: #f8f9fa;*/
  margin-top: 0;
  color: #222;
}
.bg-blue {
    background-color: var(--blue); 
    color: white; 
}
.btn.bg-blue:hover {
    background-color: var(--md-blue); 
    color: white; 
}
.bg-md-blue {
    background-color: var(--md-blue); 
    color: white; 
}
.btn.bg-md-blue:hover {
    background-color: #102446; 
    color: white; 
}
.bg-gray {
    background-color: var(--gray); 
    color: var(--dark-gray); 
}

.bg-primary,
.card-header.bg-primary {
    background-color: var(--brand-action-blue) !important;
}

.text-primary {
    color: var(--brand-action-blue) !important;
}

.btn-check:focus + .btn,
.btn:focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(111, 127, 242, 0.25);
}

.form-control:focus,
.form-select:focus {
  border-color: rgba(111, 127, 242, 0.55);
  box-shadow: 0 0 0 0.25rem rgba(111, 127, 242, 0.25);
}

.form-control,
.form-select {
  font-weight: 300;
}

.btn.btn-secondary,
.btn.btn-outline-secondary {
  border-radius: 999px;
  padding: 0.5rem 1.05rem;
  font-size: 0.88rem;
  font-weight: 400;
  background: #fff;
  color: #1d2333;
  border: 2px solid #1f4fb9;
  box-shadow: none;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, box-shadow 140ms ease;
}

.btn.btn-secondary:hover,
.btn.btn-outline-secondary:hover,
.btn.btn-secondary:focus,
.btn.btn-outline-secondary:focus {
  background: #f5f8ff;
  color: #1d2333;
  border-color: #0b5ed7;
}

.btn.btn-secondary:active,
.btn.btn-outline-secondary:active,
.btn.btn-secondary.active,
.btn.btn-outline-secondary.active {
  background: #eef4ff;
  color: #1d2333;
  border-color: #0a58ca;
}

input.form-check-input[type="checkbox"] {
  border-radius: 0.2rem;
}

input.form-check-input[type="checkbox"]:checked {
  background-color: #1f4fb9;
  border-color: #1f4fb9;
  background-image: none;
  position: relative;
}

input.form-check-input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 0.27rem;
  top: 0.08rem;
  width: 0.28rem;
  height: 0.5rem;
  border: solid #fff;
  border-width: 0 0.12rem 0.12rem 0;
  transform: rotate(45deg);
}

/* Identity pages */
body.identity-page .container-fluid.flex-grow-1 {
  background: #f7f8fc;
}

body.identity-page main {
  margin: 0 auto;
  max-width: 1080px;
  padding: 1.25rem 1.5rem 2.5rem;
}

body.identity-page main > h1,
body.identity-page main > h2,
body.identity-page main > h3,
body.identity-page main > h4 {
  color: #172033;
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0 0 0.85rem;
}

body.identity-page main > h1:first-child {
  align-items: center;
  background: #fff;
  border: 1px solid #dde3ee;
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(20, 34, 58, 0.06);
  display: flex;
  min-height: 56px;
  padding: 0.9rem 1rem;
}

body.identity-page main > p,
body.identity-page main > div > p,
body.identity-page main section > p {
  color: #58627a;
  font-size: 0.94rem;
  font-weight: 300;
}

body.identity-page main > .row,
body.identity-page main > form,
body.identity-page main > div:not(.modal):not(.alert):not(.validation-summary-valid):not(.validation-summary-errors) {
  background: #fff;
  border: 1px solid #dde3ee;
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(20, 34, 58, 0.06);
  margin-left: 0;
  margin-right: 0;
  padding: 1rem;
}

body.identity-page main > .row > [class*="col-"] {
  padding: 0.75rem;
}

body.identity-page section,
body.identity-page form {
  max-width: 100%;
}

body.identity-page form h2,
body.identity-page form h3,
body.identity-page section h2,
body.identity-page section h3 {
  color: #172033;
  font-size: 1rem;
  font-weight: 500;
  margin-bottom: 0.75rem;
}

body.identity-page hr {
  border-color: #dfe5ef;
  margin: 0.85rem 0 1rem;
  opacity: 1;
}

body.identity-page .form-floating,
body.identity-page .form-group,
body.identity-page .mb-3 {
  margin-bottom: 0.85rem !important;
}

body.identity-page .form-label,
body.identity-page label {
  color: #303950;
  font-size: 0.84rem;
  font-weight: 500;
  margin-bottom: 0.3rem;
}

body.identity-page .form-control,
body.identity-page .form-select,
body.identity-page input[type="text"],
body.identity-page input[type="email"],
body.identity-page input[type="password"],
body.identity-page input[type="tel"],
body.identity-page textarea {
  border: 1px solid #d9deea;
  border-radius: 6px;
  color: #1d2333;
  font-size: 0.92rem;
  font-weight: 300;
  min-height: 38px;
}

body.identity-page .form-floating > label {
  color: #60688a;
  font-weight: 300;
  padding-left: 0.85rem;
}

body.identity-page .form-check {
  align-items: center;
  display: flex;
  gap: 0.45rem;
  margin: 0.65rem 0;
  min-height: 1.5rem;
}

body.identity-page .form-check .form-check-input {
  float: none;
  margin-left: 0;
  margin-top: 0;
}

body.identity-page .form-check-label {
  color: #303950;
  font-size: 0.9rem;
  font-weight: 300;
}

body.identity-page .btn {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.9rem;
  font-weight: 400;
  justify-content: center;
  min-height: 38px;
  padding: 0.48rem 1.05rem;
}

body.identity-page .btn.btn-primary,
body.identity-page button[type="submit"].btn-primary {
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
}

body.identity-page .btn.btn-primary:hover,
body.identity-page button[type="submit"].btn-primary:hover,
body.identity-page .btn.btn-primary:focus,
body.identity-page button[type="submit"].btn-primary:focus {
  background: var(--md-blue);
  border-color: var(--md-blue);
  color: #fff;
}

body.identity-page .btn.btn-lg {
  font-size: 0.94rem;
  min-height: 42px;
  padding: 0.58rem 1.2rem;
}

body.identity-page .btn-link {
  border-radius: 6px;
  color: var(--blue);
  min-height: auto;
  padding: 0.15rem 0.2rem;
  text-decoration: none;
}

body.identity-page .btn-link:hover,
body.identity-page a:hover {
  color: var(--md-blue);
  text-decoration: underline;
}

body.identity-page a {
  color: var(--blue);
  font-weight: 400;
}

body.identity-page .alert {
  border-radius: 6px;
  font-size: 0.92rem;
  font-weight: 300;
}

body.identity-page .validation-summary-errors,
body.identity-page .text-danger {
  font-size: 0.86rem;
}

body.identity-page ul {
  font-weight: 300;
}

body.identity-page .nav-pills,
body.identity-page ul.nav {
  gap: 0.35rem;
}

body.identity-page .nav-pills .nav-link,
body.identity-page ul.nav .nav-link {
  border-radius: 6px;
  color: #303950;
  font-size: 0.9rem;
  font-weight: 400;
  padding: 0.45rem 0.7rem;
}

body.identity-page .nav-pills .nav-link.active,
body.identity-page ul.nav .nav-link.active {
  background: var(--md-blue);
  color: #fff;
}

body.identity-page .list-group-item {
  border-color: #dde3ee;
  color: #303950;
  font-size: 0.92rem;
  font-weight: 300;
}

body.identity-page code,
body.identity-page kbd {
  border-radius: 4px;
  font-size: 0.9rem;
}

@media (max-width: 767px) {
  body.identity-page main {
    padding: 1rem 0.75rem 5rem;
  }

  body.identity-page main > .row,
  body.identity-page main > form,
  body.identity-page main > div:not(.modal):not(.alert):not(.validation-summary-valid):not(.validation-summary-errors) {
    padding: 0.85rem;
  }

  body.identity-page main > .row > [class*="col-"] {
    padding: 0.35rem 0;
  }
}

/* Identity auth layout */
body.identity-auth-page {
  background: #f7f8fc;
  min-height: 100vh;
}

.identity-auth-layout {
  background: #f7f8fc;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.identity-auth-topbar {
  align-items: center;
  background: linear-gradient(90deg, #0d1424 0%, var(--blue) 100%);
  box-shadow: 0 8px 22px rgba(20, 34, 58, 0.12);
  color: #fff;
  display: flex;
  justify-content: center;
  min-height: 56px;
  padding: 0.65rem 1.25rem;
}

.identity-auth-brand {
  align-items: center;
  color: #fff;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 500;
  gap: 0.75rem;
  text-decoration: none;
}

.identity-auth-brand:hover {
  color: #fff;
  text-decoration: none;
}

.identity-auth-brand img {
  height: 32px;
  width: auto;
}

.identity-auth-nav {
  align-items: center;
  display: flex;
  gap: 0.5rem;
}

.identity-auth-nav a {
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 999px;
  color: #fff;
  font-size: 0.86rem;
  font-weight: 400;
  padding: 0.38rem 0.75rem;
  text-decoration: none;
}

.identity-auth-nav a:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  text-decoration: none;
}

body.identity-auth-page main.identity-auth-main {
  align-items: center;
  display: flex;
  flex: 1;
  justify-content: center;
  margin: 0;
  max-width: none;
  padding: 2.25rem 1.25rem 2.75rem;
}

.identity-auth-shell {
  max-width: 480px;
  width: 100%;
}

body.identity-auth-page main.identity-auth-main > .identity-auth-shell {
  background: transparent;
  border: 0;
  box-shadow: none;
  max-width: 480px;
  padding: 0;
}

.identity-auth-card {
  background: #fff;
  border: 1px solid #dde3ee;
  border-radius: 8px;
  box-shadow: 0 16px 34px rgba(20, 34, 58, 0.08);
  overflow: hidden;
  width: 100%;
}

.identity-auth-header {
  align-items: center;
  background: linear-gradient(90deg, #0d1424 0%, var(--blue) 100%);
  color: #fff;
  display: flex;
  justify-content: space-between;
  min-height: 70px;
  padding: 1rem 1.15rem;
}

.identity-auth-eyebrow {
  color: rgba(255, 255, 255, 0.76);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0;
  margin: 0 0 0.2rem;
  text-transform: uppercase;
}

.identity-auth-header h1 {
  color: #fff;
  font-size: 1.45rem;
  font-weight: 600;
  line-height: 1.2;
  margin: 0;
}

.identity-auth-grid {
  display: grid;
  grid-template-columns: 1fr;
  padding: 1.25rem;
}

.identity-auth-panel h2 {
  color: #172033;
  font-size: 1rem;
  font-weight: 500;
  margin: 0 0 1rem;
}

.identity-auth-panel p {
  color: #58627a;
  font-size: 0.92rem;
  font-weight: 300;
  line-height: 1.5;
}

.identity-auth-form .form-label {
  color: #303950;
  font-size: 0.84rem;
  font-weight: 500;
  margin-bottom: 0.3rem;
}

.identity-auth-form .form-control {
  border: 1px solid #d9deea;
  border-radius: 6px;
  color: #1d2333;
  font-size: 0.94rem;
  font-weight: 300;
  min-height: 40px;
}

.identity-auth-check {
  margin-bottom: 1rem;
}

.identity-auth-submit {
  border-radius: 6px;
  font-weight: 500;
  min-height: 42px;
  width: 100%;
}

.identity-auth-links {
  display: grid;
  gap: 0.45rem;
  margin-top: 0.9rem;
}

.identity-auth-links a {
  font-size: 0.88rem;
  text-decoration: none;
}

.identity-auth-footer {
  align-items: center;
  border-top: 1px solid #e2e6ef;
  color: #60688a;
  display: flex;
  font-size: 0.82rem;
  gap: 0.6rem;
  justify-content: center;
  min-height: 42px;
  padding: 0.6rem 1rem;
}

.identity-auth-footer a {
  color: var(--blue);
  text-decoration: none;
}

@media (max-width: 767px) {
  .identity-auth-topbar {
    padding: 0.6rem 0.85rem;
  }

  .identity-auth-brand span {
    display: none;
  }

  body.identity-auth-page main.identity-auth-main {
    padding: 1rem 0.75rem 5rem;
  }

  .identity-auth-grid {
    grid-template-columns: 1fr;
    padding: 0.95rem;
  }
}

/* Dashboard layout */
.dashboard-page {
  min-height: 100vh;
}

/* Sidebar Styles */
.dashboard-sidebar {
  width: 220px;
  min-width: 220px;
  background: linear-gradient(to bottom, #14151a, #0944a2);
  border-right: 1px solid rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  height: 100vh;
  position: sticky;
  top: 0;
}

.sidebar-header {
  padding: 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.sidebar-header img {
  max-width: 120px;
  height: auto;
}

.sidebar-nav {
  flex-grow: 1;
  padding: 1.75rem;
}

.sidebar-nav .nav-link {
  color: #fff;
  padding: 0.65rem 0.75rem;
  display: flex;
  flex-direction: row;
  align-items: center;
  text-align: left;
  white-space: nowrap;
  border-radius: 6px;
}

.sidebar-nav .nav-link i {
  margin-right: 0.75rem;
  width: 1.6rem;
  text-align: center;
  font-size: 1.2rem;
  flex-shrink: 0;
}

.sidebar-nav .nav-link:hover {
  background-color: rgba(255, 255, 255, 0.06);
  text-decoration: none;
}

/* Sidebar footer */
.sidebar-footer {
  padding: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

/* Top navigation */
:root {
  --sidebar-width: 100px; /* default sidebar width - change this value to adjust rail width */
  --header-height: 80px; /* header height used for top offset */
  --footer-height: 56px; /* footer height to keep content clear */
  --app-nav-dark: #14151a;
  --app-nav-bright: #0944a2;
  --app-content-corner-size: 34px;
}
.navbar button.btn-light:hover{
    background-color: var(--light-blue); 
    border-color: var(--light-blue); 
}

/* Ensure confirmation modal appears above fixed header */
.modal-backdrop,
.modal-backdrop.show {
  z-index: 2000 !important;
}
.modal,
.modal.show {
  z-index: 2005 !important;
}

.dashboard-topnav {
  background: linear-gradient(90deg, #0d1424 0%, var(--app-nav-bright) 100%);
  background-repeat: no-repeat;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--header-height);
  width: 100%;
  z-index: 1050;
  display: flex;
  align-items: center;
  padding-left: 1.5rem;
  padding-right: 0;
}

.dashboard-topnav-titlebar {
  gap: 1.35rem;
  min-width: 0;
}

.dashboard-topnav-brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  flex-shrink: 0;
}

.dashboard-topnav-brand img {
  width: 92px;
  height: auto;
  display: block;
}

.mobile-sidebar-toggle {
  display: none;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.mobile-sidebar-toggle:hover,
.mobile-sidebar-toggle:focus-visible {
  background: rgba(255, 255, 255, 0.22);
  outline: none;
}

.mobile-sidebar-backdrop {
  display: none;
}

.dashboard-topnav .border-left {
    border-left: 2px solid #9ca1ba; 
    padding-left: .825rem;
}
.dashboard-topnav .select-dropdown label {
    font-size: .8rem;
    margin-bottom: 5px;
}

/* Main content */
.main-content {
  padding: 0 1.5rem 1.5rem 1.5rem;
  background: transparent;
}

/* KPI cards */
.dashboard-kpi {
  border: none;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(18, 38, 63, 0.06);
}

.dashboard-kpi .kpi-icon {
  width: 56px;
  height: 56px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.03);
}

.dashboard-kpi .kpi-body .small {
  font-size: 0.8rem;
}

/* Cards */
.card-header {
  background: #ffffff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}

/* Activity feed */
.dashboard-activity {
  max-height: 220px;
  overflow-y: auto;
  padding-right: 0.5rem;
}

/* Responsive tweaks */
@media (max-width: 991px) {
  .mobile-sidebar-toggle {
    display: inline-flex;
  }

  .dashboard-topnav {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .dashboard-topnav-titlebar {
    gap: 0.75rem;
    min-width: 0;
  }

  .dashboard-topnav-brand img {
    width: 78px;
  }

  .dashboard-topnav h5 {
    font-size: 1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .dashboard-topnav nav[aria-label="breadcrumb"] {
    display: none;
  }

  .dashboard-sidebar {
    display: flex !important;
    transform: translateX(-106%);
    transition: transform 180ms ease;
  }

  body.mobile-sidebar-open .dashboard-sidebar {
    transform: translateX(0);
  }

  body.mobile-sidebar-open .mobile-sidebar-backdrop {
    display: block;
  }

  .main-content {
    padding: 1rem;
  }
}

/* Sidebar icon-only collapsed style + hover-expand overrides
   - Keeps original structure intact; uses CSS overrides so no HTML changes required.
   - On small screens the sidebar still hides (existing media query).
*/
.dashboard-sidebar {
  /* Fixed full-height icon rail starting at the top of the page. Width driven by variable. */
  width: var(--sidebar-width) !important;
  min-width: var(--sidebar-width) !important;
  transition: none;
  overflow-x: visible;
  position: fixed;
  top: var(--header-height);
  left: 0;
  height: calc(100vh - var(--header-height));
  z-index: 1040;
}

/* Make header logo small when collapsed */
.dashboard-sidebar .sidebar-header img {
  max-width: 64px;
  transition: max-width 220ms cubic-bezier(0.2, 0.9, 0.3, 1);
}

/* Compact nav spacing and center icons (collapsed icon-rail layout) */
.dashboard-sidebar .sidebar-nav {
  padding: 0.5rem 0.25rem;
}
.dashboard-sidebar .sidebar-nav .nav-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.6rem 0.3rem;
  border-radius: 8px;
  position: relative;
  transition:
    background-color 160ms ease,
    transform 160ms ease;
  color: #fff;
}

/* Icon size: 19px per spec; circular background */
.dashboard-sidebar .sidebar-nav .nav-link i {
  font-size: 19px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: #fff;
  margin: 0;
  transition:
    background 160ms ease,
    transform 160ms ease;
}

/* Menu text centered directly below the icon (12px) */
.dashboard-sidebar .sidebar-nav .nav-link span {
  display: block;
  font-size: 12px;
  line-height: 1;
  text-align: center;
  margin-top: 6px;
  color: #fff;
  opacity: 1;
  transform: none;
  transition:
    opacity 180ms ease,
    transform 200ms ease;
}

/* Hover/active affordance for icons */
.dashboard-sidebar .sidebar-nav .nav-link:hover {
  transform: none;
}

/* Hide the footer in collapsed mode */
.dashboard-sidebar .sidebar-footer {
  display: none;
}

/* Sidebar is fixed-width and does not expand on hover.
   We intentionally keep the icon-rail at a fixed width and show centered labels
   beneath icons; hover no longer changes the width or layout. */
.dashboard-sidebar {
  /* keep sidebar width consistent - avoid hard-coded collapsed values */
  width: var(--sidebar-width) !important;
  min-width: var(--sidebar-width) !important;
}

/* Keep nav-link layout stable; on hover we keep subtle icon affordance only */
.dashboard-sidebar .sidebar-nav .nav-link {
  justify-content: center;
}

/* Prevent header/logo from changing size on hover */
.dashboard-sidebar .sidebar-header img {
  max-width: 64px;
}

/* Submenu flyout panel (matches wireframe style)
   - When a nav-group contains a collapsed submenu, show a floating panel on sidebar hover.
   - Panel appears beside the collapsed icons, with rounded corners and a soft shadow.
*/
.dashboard-sidebar .nav-group {
  position: relative;
}
.dashboard-sidebar .nav-group .submenu-panel {
  position: absolute;
  left: 68px; /* sits just right of the icon rail */
  top: 8px;
  min-width: 220px;
  background: #ffffff;
  color: #222;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(10, 20, 40, 0.12);
  padding: 0.5rem;
  transform-origin: left center;
  transform: translateX(-6px) scale(0.98);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 200ms ease,
    transform 200ms ease,
    visibility 200ms;
  z-index: 60;
}

/* Submenu list items */
.dashboard-sidebar .nav-group .submenu-panel .nav-link {
  display: flex;
  align-items: center;
  padding: 0.5rem 0.6rem;
  color: #222;
  background: transparent;
  border-radius: 6px;
  margin-bottom: 0.15rem;
}
.dashboard-sidebar .nav-group .submenu-panel .nav-link i {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.6rem;
  background: rgba(9, 65, 160, 0.06);
  color: #0944a2;
  border-radius: 6px;
}

/* Reveal submenu panel when the user hovers the specific nav-group (icon) or focuses it.
   This supports the fixed-width sidebar (icon rail) while still allowing offset flyouts. */
.dashboard-sidebar .nav-group:hover .submenu-panel,
.dashboard-sidebar .nav-group:focus-within .submenu-panel {
  transform: translateX(0) scale(1);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* If the nav-group collapse is used (Bootstrap), keep collapse hidden while sidebar is collapsed
   and move the collapsed content into the flyout panel on hover using a positioned wrapper.
   We keep an explicit fallback: hide the native collapse element to avoid duplicate UI. */
.dashboard-sidebar .nav-group .collapse {
  display: none !important;
}

/* Ensure content area is offset to account for fixed header and sidebar.
   The container-fluid used in the layout gets a left margin equal to the rail width
   and top padding equal to the header height so content is not hidden behind the fixed header. */
.container-fluid.flex-grow-1 {
  margin-left: var(--sidebar-width);
  padding-top: calc(var(--header-height) + 0.65rem); /* account for header height + top breathing room */
  padding-bottom: var(--footer-height); /* ensure content isn't hidden behind fixed footer */
  padding-left: 0.9rem;
  padding-right: 1rem;
  position: relative;
  background: #fff;
  isolation: isolate;
}

.container-fluid.flex-grow-1::before {
  content: "";
  position: fixed;
  top: var(--header-height);
  left: var(--sidebar-width);
  width: calc(var(--app-content-corner-size) + 2px);
  height: calc(var(--app-content-corner-size) + 2px);
  background: #fff;
  border-top-left-radius: 18px;
  z-index: 1087;
  pointer-events: none;
}

.container-fluid.flex-grow-1::after {
  content: "";
  position: fixed;
  top: calc(var(--header-height) - var(--app-content-corner-size));
  left: calc(var(--sidebar-width) - var(--app-content-corner-size));
  width: calc(var(--app-content-corner-size) * 2);
  height: calc(var(--app-content-corner-size) * 2);
  background: linear-gradient(180deg, #0d1424 0%, #13171f 100%);
  border-radius: 50%;
  z-index: 1046;
  pointer-events: none;
}

.container-fluid.flex-grow-1 > main[role="main"] {
  position: relative;
  z-index: 1088;
}

/* Main content area still has its normal padding; header height is accounted for above */
.main-content {
  padding-top: 0.25rem;
}

/* Responsive: mobile still hides the sidebar */
@media (max-width: 991px) {
  .dashboard-sidebar {
    display: flex !important;
    transform: translateX(-106%);
  }
  .container-fluid.flex-grow-1 {
    margin-left: 0 !important;
    padding-top: var(
      --header-height
    ); /* ensure content is visible below the header on mobile */
    padding-bottom: var(--footer-height);
  }
}

/* Keep the footer visible and pinned to bottom of viewport so it doesn't appear mid-content.
   It is offset from the left to account for the fixed sidebar; on small screens it spans full width. */
footer.footer {
  position: fixed;
  bottom: 0;
  left: var(--sidebar-width);
  right: 0;
  height: var(--footer-height);
  z-index: 1060;
  display: flex;
  align-items: center;
  background: #ffffff;
}

@media (max-width: 991px) {
  footer.footer {
    left: 0;
  }
}

/* Override: increase sidebar icon-rail width to 120px (double) and adjust offsets
   This keeps existing styles intact and provides a single place to tweak rail width.
*/
.dashboard-sidebar {
  width: var(--sidebar-width) !important;
  min-width: var(--sidebar-width) !important;
  left: 0;
}

/* Adjust main content offset to account for wider rail */
/* container offset kept above; duplicate rules removed */

/* Move submenu flyout to appear to the right of the wider rail */
.dashboard-sidebar .nav-group .submenu-panel {
  left: 128px !important;
}

/* Tweak icon centering in the wider rail */
.dashboard-sidebar .sidebar-nav .nav-link i {
  width: 36px;
  height: 36px;
  font-size: 19px;
}

/* Ensure no accidental hover expansion behavior remains */
.dashboard-sidebar:hover {
  width: var(--sidebar-width) !important;
}

/* Order Entry specific styles (namespaced) */
.order-entry {
  --oe-header-bg: #0b3b66;
  --oe-accent: #0944a2;
  --oe-header-text: #ffffff;
  --oe-muted: #6c757d;
  padding: 1rem;
}

/* Top dark header bar */
.order-entry .order-entry-header {
  background: var(--oe-header-bg);
  color: var(--oe-header-text);
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
}

/* Header actions container (right) */
.order-entry .order-entry-header-actions .form-select,
.order-entry .order-entry-header-actions .btn {
  font-size: 0.85rem;
  height: 34px;
}

/* Tab styles */
.nav-pills .nav-link {
  padding: .15rem .3rem;
  color: #333;
  border-radius: 6px;
  margin-right: 1rem;
}
.nav-pills .nav-link.active, 
.nav-pills .nav-link:hover{
  background: var(--blue);
  color: #fff;
  box-shadow: none;
}

/* Cards spacing inside order-entry */
.order-entry .card {
  border-radius: 6px;
}

/* Shipping to / Ship Details columns */
.order-entry .order-entry-shipping-to .card-header,
.order-entry .order-entry-ship-details .card-header {
  font-weight: 500;
  background: #ffffff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

/* Ship details card specific */
.order-entry .order-entry-ship-details {
  position: sticky;
  top: 8px;
}

/* Line items header: dark-blue row */
.order-entry .order-entry-lineitems .card-header.bg-primary {
  background: #0b4b78 !important;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  padding: 8px 12px;
}
.order-entry .order-lines-table thead th {
  padding: 10px 12px;
  font-weight: 500;
  font-size: 0.85rem;
}
.order-entry .order-lines-table {
    box-shadow: 0 2px 6px rgba(10, 20, 40, 0.04);
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 8px;
    overflow: hidden;
}
.order-entry .order-lines-table thead tr:first-child th:first-child {
    border-top-left-radius: 8px;
}
.order-entry .order-lines-table thead tr:first-child th:last-child {
    border-top-right-radius: 8px;
}

#createLotRowsTable.create-lot-table thead,
#createLotRowsTable.create-lot-table thead tr,
#createLotRowsTable.create-lot-table thead th {
    background: var(--md-blue) !important;
    color: #fff !important;
}

#createLotRowsTable.create-lot-table thead th {
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.2;
    vertical-align: middle;
}

#createLotRowsTable.create-lot-table .form-control-sm {
    font-size: 0.82rem;
}

#createLotRowsTable.create-lot-table .line-action-head,
#createLotRowsTable.create-lot-table tbody .line-row-actions {
    width: 34px;
    min-width: 34px;
    max-width: 34px;
    overflow: visible !important;
}

#createLotRowsTable.create-lot-table .line-action-head {
    background: #fff !important;
}

#createLotRowsTable.create-lot-table tbody .line-row-actions {
    background: #fff !important;
}

#createLotRowsTable.create-lot-table .line-action-head .add-line-item {
    left: 7px;
    top: 50%;
    transform: translateY(-50%);
}

.receipt-lot-picker {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 150px;
}

.receipt-lot-picker .line-lot-input {
    flex: 1 1 auto;
    min-width: 0;
}

.receipt-create-lot-trigger {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    border: 1.5px solid #2c63d7;
    border-radius: 999px;
    background: #fff;
    color: #2c63d7;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    font-size: 1rem;
    font-weight: 600;
}

.receipt-create-lot-trigger:hover,
.receipt-create-lot-trigger:focus-visible {
    background: #eef4ff;
    outline: none;
}

.receipt-create-lot-trigger > span {
    line-height: 1;
    transform: translateY(-0.5px);
}

.work-order-lot-picker {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 180px;
}

.work-order-lot-picker .form-control {
    flex: 1 1 auto;
    min-width: 0;
}

.work-order-create-lot-trigger {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border: 1.5px solid #2c63d7;
    border-radius: 999px;
    background: #fff;
    color: #2c63d7;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    font-size: 1rem;
    font-weight: 600;
}

.work-order-create-lot-trigger:hover,
.work-order-create-lot-trigger:focus-visible {
    background: #eef4ff;
    outline: none;
}

.work-order-create-lot-trigger > span {
    line-height: 1;
    transform: translateY(-0.5px);
}

.process-inline-picker {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 180px;
}

.process-inline-picker .form-control {
    flex: 1 1 auto;
    min-width: 0;
}

.process-create-related-trigger {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border: 1.5px solid #2c63d7;
    border-radius: 999px;
    background: #fff;
    color: #2c63d7;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    font-size: 1rem;
    font-weight: 600;
}

.process-inline-picker-sm .process-create-related-trigger {
    width: 24px;
    height: 24px;
}

.process-create-related-trigger:hover,
.process-create-related-trigger:focus-visible {
    background: #eef4ff;
    outline: none;
}

.process-create-related-trigger > span {
    line-height: 1;
    transform: translateY(-0.5px);
}

.lot-selection-chip-list {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
    min-height: 0;
}

.lot-selection-chip-list.d-none {
    display: none !important;
}

.lot-selection-chip {
    align-items: center;
    background: #fff;
    border: 1px solid #cdd7e8;
    border-radius: 999px;
    color: #263142;
    display: inline-flex;
    font-size: 0.78rem;
    gap: 4px;
    line-height: 1.2;
    max-width: 100%;
    padding: 3px 5px 3px 8px;
}

.lot-selection-chip.is-primary {
    background: #eef4ff;
    border-color: #2c63d7;
    color: #0d2e72;
}

.lot-selection-chip-label,
.lot-selection-chip-action {
    align-items: center;
    background: transparent;
    border: 0;
    color: inherit;
    display: inline-flex;
    font: inherit;
    justify-content: center;
    min-width: 0;
    padding: 0;
    text-decoration: none;
}

.lot-selection-chip-label {
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lot-selection-chip-label:hover,
.lot-selection-chip-action:hover,
.lot-selection-chip-label:focus-visible,
.lot-selection-chip-action:focus-visible {
    color: #164eb8;
    outline: none;
    text-decoration: none;
}

.lot-selection-chip-action {
    border-radius: 999px;
    height: 20px;
    width: 20px;
}

.lot-selection-chip-action:hover,
.lot-selection-chip-action:focus-visible {
    background: rgba(44, 99, 215, 0.12);
}

.process-transaction-entry .order-line-toolbar {
    height: 34px;
    margin-bottom: 6px;
}

.process-transaction-entry .order-line-toolbar .add-line-item {
    top: 4px;
}

.work-order-routing-card .subgrid-toolbar {
    height: 34px;
    margin-bottom: 6px;
}

.work-order-routing-card .subgrid-toolbar .add-line-item {
    top: 4px;
}

.routing-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 18px;
}

.routing-detail-field {
    min-width: 0;
}

.routing-detail-label {
    color: #6b7280;
    font-size: 0.82rem;
    font-weight: 700;
    margin-bottom: 4px;
}

.routing-detail-value {
    color: #1f2937;
    font-size: 0.95rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

@media (max-width: 768px) {
    .routing-detail-grid {
        grid-template-columns: 1fr;
    }
}

/* Thin borders for table */
.order-entry .order-lines-table tbody td {
  border-top: 1px solid rgba(0, 0, 0, 0.04);
  padding: 6px 8px;
}

/* Small rounded buttons */
.order-entry .btn-sm {
  border-radius: 6px;
}

/* Make form-controls compact in order-entry */
.order-entry .form-control-sm,
.order-entry .form-select-sm {
  padding: 6px 8px;
  font-size: 0.85rem;
}

/* Ensure Add-line + button stands out */
.order-entry #addOrderLine {
  width: 34px;
  height: 34px;
  padding: 0;
  font-weight: 600;
}

/* Avoid global collisions: scope modal placeholder */
#orderEntryModalPlaceholder .modal-content {
  border-radius: 8px;
}

/* Responsive tweaks for narrow screens */
@media (max-width: 767px) {
  .order-entry .order-entry-ship-details {
    position: static;
  }
  .order-entry .order-entry-tabs .nav-link {
    padding: 8px 10px;
    font-size: 0.85rem;
  }
}

/* Appended order-entry namespaced CSS: pixel-accurate styles matching Order Entry image */
.order-entry {
  --oe-nav: #072447; /* header/nav navy */
  --oe-accent: #0b5bb5; /* accent blue */
  --oe-grid-header: #0a3b6b; /* dark-blue grid header */
  --oe-muted: #6b7280;
  --oe-border: #e6e7ea;
  font-family: var(--app-font-family);
  color: #222;
}

/* Ensure dropdowns in order-entry appear above tables and are not clipped */
.order-entry .dropdown-menu {
  z-index: 3000;
}

/* Allow card-level overflow so dropdowns can extend outside the card header */
.order-entry .card {
  overflow: visible;
}

/* Line-item menu tabs (match primary top tabs appearance) */
.order-entry .oe-line-menu {
  gap: 14px;
  display: flex;
  align-items: center;
  margin-bottom: 0.55rem;
  flex-wrap: nowrap;
  overflow-x: auto;
  white-space: nowrap;
  scrollbar-width: none;
}

.order-entry .oe-line-menu::-webkit-scrollbar {
  display: none;
}

.order-entry .oe-line-menu .nav-link {
    padding: 0.18rem 0.5rem;
    color: #232b39;
    border-radius: 6px;
    margin-right: 0;
    font-size: 0.94rem;
    font-weight: 400;
    line-height: 1.3;
}
.order-entry .oe-line-menu .nav-link.active,
.order-entry .oe-line-menu .nav-link:hover {
    background: #1f4fb9;
    color: #fff;
    box-shadow: none;
}

.order-entry .order-line-panel {
    display: none;
}

.order-entry .order-line-panel.active {
    display: block;
}

.quote-entry .quote-top-panel,
.quote-entry .quote-line-panel {
    display: none;
}

.quote-entry .quote-top-panel.active,
.quote-entry .quote-line-panel.active {
    display: block;
}

.process-transaction-top-panel,
.work-order-top-panel,
.work-order-bottom-panel {
    display: none;
}

.process-transaction-top-panel.active,
.work-order-top-panel.active,
.work-order-bottom-panel.active {
    display: block;
}

.quote-entry .quote-line-row.is-selected td:not(.line-row-actions) {
    background: rgba(25, 84, 181, 0.08);
}

/* Tabs row */
.order-entry .oe-tabs {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  align-items: center;
}
.order-entry .oe-tabs .tab {
  padding: 8px 12px;
  border-radius: 6px 6px 0 0;
  background: #fff;
  color: #222;
  border: 1px solid var(--oe-border);
  font-size: 0.9rem;
  cursor: pointer;
}
.order-entry .oe-tabs .tab.active {
  background: linear-gradient(90deg, var(--oe-accent), #0a66c0);
  color: #fff;
  border-color: rgba(0, 0, 0, 0.06);
  box-shadow: none;
}

/* Cards */
.order-entry .oe-card {
  background: #fff;
  border: 1px solid var(--oe-border);
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 12px;
  box-shadow: 0 4px 14px rgba(10, 20, 40, 0.04);
}


/* Grid header (dark-blue) */
.order-entry .oe-grid thead {
  background: var(--oe-grid-header);
  color: #fff;
}
.order-entry .oe-grid thead th {
  padding: 10px 12px;
  font-weight: 500;
  font-size: 0.9rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  text-align: left;
}

/* Grid body rows and thin borders */
.order-entry .oe-grid tbody td {
  padding: 8px 10px;
  border-top: 1px solid rgba(0, 0, 0, 0.04);
  color: var(--oe-muted);
  font-size: 0.9rem;
}

/* Form controls spacing inside order-entry */
.order-entry .oe-form .form-control,
.order-entry .oe-form .form-select,
.order-entry .oe-form input,
.order-entry .oe-form textarea {
  padding: 6px 10px;
  font-size: 0.92rem;
  border: 1px solid var(--oe-border);
  border-radius: 6px;
  color: #111827;
}

/* Buttons */
.order-entry .oe-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 0.85rem;
  cursor: pointer;
  border: 1px solid transparent;
  background: #fff;
  color: var(--oe-nav);
}
.order-entry .oe-btn.primary {
  background: var(--oe-accent);
  color: #fff;
  border-color: var(--oe-accent);
  box-shadow: 0 2px 6px rgba(11, 91, 181, 0.12);
}
.order-entry .oe-btn.ghost {
  background: transparent;
  border-color: var(--oe-border);
  color: var(--oe-nav);
}
.order-entry .oe-btn.sm {
  padding: 4px 8px;
  font-size: 0.8rem;
  border-radius: 6px;
}

/* Utilities: muted text and small helper spacing */
.order-entry .oe-muted {
  color: var(--oe-muted);
  font-size: 0.875rem;
}
.order-entry .oe-gap-sm {
  margin-top: 6px;
  margin-bottom: 6px;
}
.order-entry .oe-gap {
  margin-top: 12px;
  margin-bottom: 12px;
}

/* Ensure no global collision: keep selectors scoped under .order-entry */

/* ===== Order Entry namespaced styles (appended) =====
   Scoped under .order-entry to avoid global collisions.
   Colors chosen to approximate the provided design.
*/
.order-entry {
  --oe-header-bg: #072447; /* header/nav navy */
  --oe-accent: #0b5bb5; /* accent blue */
  --oe-grid-navy: #0a3b6b; /* dark-blue grid header */
  --oe-muted: #6b7280;
  --oe-border: #e6e7ea;
  --oe-card-radius: 8px;
  --oe-gap: 16px;
  font-family: var(--app-font-family);
  color: #1f2937;
}

/* Top header bar */
.order-entry .oe-header {
  background: var(--oe-header-bg);
  color: #fff;
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
}
.order-entry .oe-header .title {
  font-size: 20px;
  font-weight: 500;
  display: flex;
  gap: 12px;
  align-items: center;
}
.order-entry .oe-header .title small {
  font-weight: 300;
  opacity: 0.85;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.88);
}

/* Header action buttons */
.order-entry .oe-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}
.order-entry .oe-actions .oe-btn {
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 13px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: transparent;
  color: #fff;
  cursor: pointer;
}
.order-entry .oe-actions .oe-btn.icon {
  width: 40px;
  height: 40px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
}
.order-entry .oe-actions .oe-btn.primary {
  background: var(--oe-accent);
  border-color: var(--oe-accent);
  box-shadow: 0 2px 0 rgba(11, 91, 181, 0.12);
}
.order-entry .oe-actions .oe-select {
  background: #fff;
  color: #0b5bb5;
  border-radius: 6px;
  padding: 6px 10px;
}

/* Tab row */
.order-entry .oe-tabs {
  display: flex;
  gap: 8px;
  background: transparent;
  padding: 12px 24px;
  border-bottom: 1px solid var(--oe-border);
  align-items: center;
}
.order-entry .oe-tabs .tab {
  padding: 10px 12px;
  border-radius: 6px;
  background: transparent;
  color: var(--oe-muted);
  cursor: pointer;
  font-size: 14px;
}
.order-entry .oe-tabs .tab.active {
  background: linear-gradient(180deg, var(--oe-accent), #0a66c0);
  color: #fff;
  box-shadow: 0 2px 6px rgba(11, 91, 181, 0.12);
}

/* Page container and columns */
.order-entry .oe-container {
  padding: 22px 32px;
}
.order-entry .oe-row {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

/* Card styling */
.order-entry .oe-card {
  background: #fff;
  border: 1px solid var(--oe-border);
  border-radius: var(--oe-card-radius);
  padding: 16px;
  box-shadow: 0 1px 0 rgba(12, 16, 20, 0.02);
}
.order-entry .oe-card .card-header {
  font-weight: 500;
  margin-bottom: 10px;
  color: #111827;
}
.order-entry .oe-card .form-row {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
}
.order-entry .oe-card .form-col {
  flex: 1 1 0;
}

/* Inputs */
.order-entry input.form-control,
.order-entry select.form-control,
.order-entry textarea.form-control {
  border: 1px solid var(--oe-border);
  padding: 8px 10px;
  border-radius: 6px;
  width: 100%;
  box-sizing: border-box;
  font-size: 14px;
}
.order-entry label {
  display: block;
  font-size: 13px;
  margin-bottom: 6px;
  color: #111827;
}

/* Splitter (horizontal draggable) */
.order-entry .oe-splitter::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 40px;
    height: 4px;
    transform: translate(-50%, -50%);
    background: rgba(7, 36, 71, 0.06);
    border-radius: 2px;
}

/* Splitter */
.order-entry .oe-splitter {
  height: 2px;
  background: #f3f4f6;
  cursor: row-resize;
  margin: 18px 0;
  border-top: 1px solid #eceff3;
  border-bottom: 1px solid #eceff3;
}
.order-entry .oe-splitter .grip {
  width: 36px;
  height: 6px;
  background: #e6e9ee;
  margin: 0 auto;
  border-radius: 3px;
}

/* Splitter subtle */
.order-entry .order-entry-splitter {
    height: 3px;
    background: var(--gray);
    border-radius: 3px;
    cursor: row-resize;
}

.order-entry .order-entry-splitter:after {
    content: "\276E   \276F";
    position: relative;
    bottom: 10px;
    display: block;
    left: 15px;
    line-height: 10px;
    font-size: .8rem;
    color: white;
    background-color: var(--md-blue);
    width: fit-content;
    padding: 5px 3px;
    border-radius: 8px;
    transform: rotate(90deg);
}
/* Grid / Line items */
.order-entry .oe-grid {
  margin-top: 10px;
  width: 100%;
  overflow: auto;
}
.order-entry .oe-grid table {
  border-collapse: collapse;
  width: 100%;
  min-width: 900px;
}
.order-entry .oe-grid thead th {
  background: var(--oe-grid-navy);
  color: #fff;
  padding: 12px 14px;
  font-weight: 600;
  text-align: left;
  border-bottom: 2px solid rgba(255, 255, 255, 0.04);
}
.order-entry .oe-grid tbody td {
  padding: 12px 14px;
  border-bottom: 1px solid #f3f4f6;
  vertical-align: middle;
}
.order-entry .oe-grid .add-line-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 20px;
  background: var(--oe-accent);
  color: #fff;
  border: none;
  cursor: pointer;
}

/* Small rounded buttons */
.order-entry .oe-btn {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid var(--oe-border);
  color: #111827;
  cursor: pointer;
}
.order-entry .oe-btn.ghost {
  background: transparent;
  border: 1px solid var(--oe-accent);
  color: var(--oe-accent);
}
.order-entry .oe-btn.primary {
  background: var(--oe-accent);
  color: #fff;
  border: 1px solid var(--oe-accent);
}

/* Utilities */
.order-entry .oe-muted {
  color: var(--oe-muted);
  font-size: 13px;
}
.order-entry .oe-gap {
  height: var(--oe-gap);
}

/* Responsive tweaks (desktop-first) */
@media (max-width: 1024px) {
  .order-entry .oe-row {
    flex-direction: column;
  }
  .order-entry .oe-actions {
    flex-wrap: wrap;
    gap: 8px;
  }
}

/* Hide duplicate page header for Order Entry (keeps only global header visible) */
.order-entry .oe-header {
  display: none !important;
}


/* Tables */
table.dataTable td.dataTables_empty {
    text-align: center; 
    border-bottom: none; 
}
table.dataTable thead.bg-md-blue > tr > th.sorting:before,
table.dataTable thead.bg-md-blue > tr > th.sorting:after {
    display: none !important;
}
table.dataTable thead.bg-md-blue > tr > th.sorting_asc:before,
table.dataTable thead.bg-md-blue > tr > th.sorting_desc:after {
    display: none !important;
}

table.dataTable th.action-col {
    width: 4rem !important;
    min-width: 4rem !important;
    max-width: 4rem !important;
    background: transparent !important;
    border-bottom: 0 !important;
    border-right: 0 !important;
    color: transparent !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

table.dataTable td.action-col {
    width: 4rem !important;
    min-width: 4rem !important;
    max-width: 4rem !important;
    border: 0 !important;
    padding: 0 0.45rem !important;
    background: transparent !important;
    overflow: visible !important;
    position: relative;
    opacity: 1 !important;
}

#accountsTable.dataTable th.action-col,
#accountsTable.dataTable td.action-col {
    width: 7rem !important;
    min-width: 7rem !important;
    max-width: 7rem !important;
}

#postingPeriods.dataTable th.action-col,
#postingPeriods.dataTable td.action-col {
    width: 5.5rem !important;
    min-width: 5.5rem !important;
    max-width: 5.5rem !important;
}

table.dataTable td.action-col .table-action-rail {
    display: inline-flex !important;
    align-items: center;
    gap: 0.45rem;
    justify-content: center;
    white-space: nowrap !important;
    width: 100%;
    opacity: 0;
    transition: opacity 120ms ease;
    z-index: 5;
}

table.dataTable td.action-col > .d-flex,
table.dataTable td.action-col > .action-rail {
    align-items: center;
    display: inline-flex !important;
    gap: 0.45rem;
    justify-content: center;
    opacity: 0;
    transition: opacity 120ms ease;
    width: 100%;
}

table.dataTable td.action-col a,
table.dataTable td.action-col button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    padding: 0 !important;
    margin-left: 0;
    color: var(--blue);
    background: transparent;
    border: 0;
    border-radius: 999px;
    vertical-align: middle;
    float: none !important;
    line-height: 1;
    text-decoration: none;
    transition: background-color 120ms ease, color 120ms ease, opacity 120ms ease;
}

table.dataTable td.action-col > a,
table.dataTable td.action-col > button {
    opacity: 0;
    transition: opacity 120ms ease;
}

table.dataTable tbody tr:hover td.action-col a,
table.dataTable tbody tr:hover td.action-col button {
    opacity: 1;
}

table.dataTable tbody tr:hover td.action-col .table-action-rail {
    opacity: 1;
}

table.dataTable tbody tr:hover td.action-col > .d-flex,
table.dataTable tbody tr:hover td.action-col > .action-rail {
    opacity: 1;
}

table.dataTable tbody tr:focus-within td.action-col .table-action-rail {
    opacity: 1;
}

table.dataTable tbody tr:focus-within td.action-col > .d-flex,
table.dataTable tbody tr:focus-within td.action-col > .action-rail {
    opacity: 1;
}

table.dataTable tbody tr:focus-within td.action-col > a,
table.dataTable tbody tr:focus-within td.action-col > button {
    opacity: 1;
}

table.dataTable td.action-col a:hover,
table.dataTable td.action-col a:focus-visible,
table.dataTable td.action-col button:hover,
table.dataTable td.action-col button:focus-visible,
.table-action-rail a:hover,
.table-action-rail a:focus-visible,
.table-action-rail button:hover,
.table-action-rail button:focus-visible,
.line-row-actions a:hover,
.line-row-actions a:focus-visible,
.line-row-actions button:hover,
.line-row-actions button:focus-visible,
.subgrid-action-cell a:hover,
.subgrid-action-cell a:focus-visible,
.subgrid-action-cell button:hover,
.subgrid-action-cell button:focus-visible,
.action-rail a:hover,
.action-rail a:focus-visible,
.action-rail button:hover,
.action-rail button:focus-visible {
    background: var(--blue) !important;
    border-radius: 999px;
    color: #fff !important;
    outline: none;
}

table.dataTable td.action-col a:hover i,
table.dataTable td.action-col a:focus-visible i,
table.dataTable td.action-col button:hover i,
table.dataTable td.action-col button:focus-visible i,
.table-action-rail a:hover i,
.table-action-rail a:focus-visible i,
.table-action-rail button:hover i,
.table-action-rail button:focus-visible i,
.line-row-actions a:hover i,
.line-row-actions a:focus-visible i,
.line-row-actions button:hover i,
.line-row-actions button:focus-visible i,
.subgrid-action-cell a:hover i,
.subgrid-action-cell a:focus-visible i,
.subgrid-action-cell button:hover i,
.subgrid-action-cell button:focus-visible i,
.action-rail a:hover i,
.action-rail a:focus-visible i,
.action-rail button:hover i,
.action-rail button:focus-visible i {
    color: inherit !important;
}

table.dataTable thead.bg-md-blue{
    color: white;
}
table.dataTable th.action-col-shown {
    width: 10px;
    border: none;
    padding: 0;
    background-color: white; 
}
table.dataTable thead.bg-md-blue th.action-col-shown .btn {
    color: var(--blue); 
    border: none;
}
table.dataTable td.action-col-shown {
    border: none;
}

/*Orders Pages*/
table.dataTable.no-footer#ordersTable {
    border-bottom: none;
}

#topSections .card {
    border: none; 
    box-shadow: none;
}

#topSections .card-header {
    padding-left: 0;
    border: none;
}

#topSections .card-body {
    padding-left: 0; 
    padding-bottom: 0; 
}

#topSections .card-header {
    font-size: 1.35em;
}

/*Company Pages*/
table.dataTable.no-footer#companiesTable {
    border-bottom: none;
}

/*Search with icon*/
.search-with-icon{ 
    display: flex; 
    align-items: center;
    border: 1px solid gray; 
    border-radius: 5px;
    padding: .25rem .65rem;
    min-width: 0;
    background: #fff;
}

.search-with-icon input, 
.search-with-icon input.form-control{ 
   flex: 1 1 auto;
   min-width: 0;
   width: 100%;
   border: none; 
   padding: .15rem 0;
   background: transparent;
}

.search-with-icon input:focus{
    border: none; 
    box-shadow: none;
}

.search-with-icon:focus-within {
    border-color: rgba(111, 127, 242, 0.55);
    box-shadow: 0 0 0 0.25rem rgba(111, 127, 242, 0.25);
}

.search-with-icon .padded-right-icon {
    flex: 0 0 auto;
    padding: 0;
    margin-left: .55rem;
}

.search-with-icon.disabled {
    background-color: var(--disabled-gray);
    border: none; 
}

/* Shared listing pages */
.listing-toolbar {
    padding: 0.35rem 0 1rem;
}

.listing-toolbar-row {
    width: 100%;
    gap: 0.9rem;
    align-items: center;
    flex-wrap: wrap;
}

.listing-toolbar-row > .btn.btn-primary,
.listing-toolbar-row > a.btn.btn-primary,
.listing-toolbar-row > button.btn.bg-blue,
.listing-toolbar-row > a.btn.bg-blue {
    order: -1;
    margin-right: auto;
    margin-left: 0 !important;
    min-width: 142px;
    border-radius: 999px;
    padding: 0.72rem 1.5rem;
    font-size: 0.96rem;
    font-weight: 500;
    border: 0;
    background: #1f4fb9 !important;
    color: #fff !important;
    box-shadow: none;
}

.listing-toolbar-row > .btn.btn-primary:hover,
.listing-toolbar-row > a.btn.btn-primary:hover,
.listing-toolbar-row > button.btn.bg-blue:hover,
.listing-toolbar-row > a.btn.bg-blue:hover {
    background: #1f4fb9 !important;
    color: #fff !important;
    box-shadow: none;
}

.listing-toolbar-row > .btn.btn-primary:focus,
.listing-toolbar-row > a.btn.btn-primary:focus,
.listing-toolbar-row > button.btn.bg-blue:focus,
.listing-toolbar-row > a.btn.bg-blue:focus {
    background: #1f4fb9 !important;
    color: #fff !important;
    box-shadow: 0 0 0 0.25rem rgba(111, 127, 242, 0.25) !important;
}

.btn.btn-primary:not(.rounded-circle):not(.btn-icon) {
    border-radius: 999px;
    padding: 0.5rem 1.05rem;
    font-size: 0.88rem;
    font-weight: 400;
    border: 1px solid #1f4fb9;
    background: #1f4fb9;
    color: #fff;
    box-shadow: none;
    transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}

.btn.btn-sm.btn-primary:not(.rounded-circle):not(.btn-icon) {
    padding: 0.42rem 0.95rem;
    font-size: 0.84rem;
}

.btn.btn-primary:not(.rounded-circle):not(.btn-icon):hover,
.btn.btn-primary:not(.rounded-circle):not(.btn-icon):focus {
    color: #fff;
    background-color: #0b5ed7;
    border-color: #0a58ca;
}

.inspection-reports-page .card-body {
    background: #eaebf1;
}

.listing-toolbar-row > .search-with-icon {
    margin-left: auto;
    min-width: 260px;
    height: 42px;
    border: 1px solid #cfd6e5;
    border-radius: 8px;
    background: #fff;
    padding: 0 0.95rem;
    box-shadow: none;
}

.listing-toolbar-row > .search-with-icon input,
.listing-toolbar-row > .search-with-icon input.form-control {
    font-size: 0.95rem;
    color: #26334d;
    background: transparent;
    height: 100%;
    line-height: 1.1;
}

.listing-toolbar-row > .search-with-icon i {
    color: #5f6985;
    font-size: 0.92rem;
}

.listing-toolbar-row > .text-center {
    color: #26334d;
    font-size: 0.95rem;
    font-weight: 400;
    margin-left: 0 !important;
    white-space: nowrap;
}

.listing-toolbar-row > .form-select,
.listing-toolbar-row > select.form-select,
.listing-toolbar-row > .dropdown > .btn.bg-gray {
    min-width: 124px;
    height: 42px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: #eef1f7;
    color: #7a84a2;
    font-size: 0.95rem;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0.95rem;
    padding-right: 2.15rem;
    line-height: 1.1;
    box-shadow: none;
    background-position: right 0.7rem center;
    background-size: 12px 10px;
}

.listing-toolbar-row > .form-select:focus,
.listing-toolbar-row > select.form-select:focus {
    border-color: rgba(111, 127, 242, 0.55);
    box-shadow: 0 0 0 0.25rem rgba(111, 127, 242, 0.25);
}

.listing-toolbar-row > .search-with-icon input::placeholder {
    color: #5f6985;
}

.listing-filter-trigger {
    align-items: center;
    background: transparent;
    border: 0;
    color: #50617f;
    display: none;
    flex: 0 0 auto;
    height: 2.4rem;
    justify-content: center;
    margin-left: 0.25rem;
    padding: 0;
    width: 2.4rem;
}

.listing-filter-trigger i {
    font-size: 1rem;
    line-height: 1;
}

.listing-filter-trigger:hover,
.listing-filter-trigger:focus-visible {
    color: #18327b;
    outline: none;
}

.listing-filter-modal[hidden] {
    display: none;
}

.listing-filter-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 1rem;
    position: fixed;
    z-index: 2200;
}

.listing-filter-modal__backdrop {
    background: rgba(15, 24, 53, 0.38);
    inset: 0;
    position: absolute;
}

.listing-filter-modal__dialog {
    background: #fff;
    border: 1px solid #dce3f0;
    border-radius: 14px;
    box-shadow: 0 18px 48px rgba(15, 24, 53, 0.22);
    max-width: 22rem;
    padding: 1rem;
    position: relative;
    width: min(100%, 22rem);
}

.listing-filter-modal__header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.9rem;
}

.listing-filter-modal__header h2 {
    color: #18233d;
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
}

.listing-filter-modal__close {
    align-items: center;
    background: #eef1f7;
    border: 0;
    border-radius: 999px;
    color: #44526e;
    display: inline-flex;
    font-size: 1.15rem;
    height: 2rem;
    justify-content: center;
    line-height: 1;
    width: 2rem;
}

.listing-filter-modal__label {
    color: #8190b0;
    display: block;
    font-size: 0.78rem;
    font-weight: 500;
    margin-bottom: 0.35rem;
}

.listing-filter-modal__actions {
    align-items: center;
    display: flex;
    gap: 0.6rem;
    justify-content: flex-end;
    margin-top: 1rem;
}

table.listing-table,
table.listing-table.dataTable,
table.app-datatable,
table.app-datatable.dataTable {
    --app-table-action-rail-width: 4rem;
    --app-table-row-hover-bg: #eaebf1;
    --app-pagination-active-bg: #162c78;
    --app-pagination-inactive-bg: #eef1f7;
    --app-pagination-hover-bg: #6f7ff2;
    --app-pagination-active-color: #fff;
    --app-pagination-inactive-color: #8d97b5;
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0;
    border: 1px solid #eaebf1;
    border-radius: 0.75rem;
    overflow: visible;
    background: #fff;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

table.listing-table:has(thead th.action-col),
table.listing-table.dataTable:has(thead th.action-col),
table.app-datatable:has(thead th.action-col),
table.app-datatable.dataTable:has(thead th.action-col) {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.listing-table-scroll-host:has(> table.listing-table thead th.action-col),
.listing-table-scroll-host:has(> table.app-datatable thead th.action-col),
.listing-table-frame-host,
.table-responsive:has(> table.listing-table thead th.action-col),
.table-responsive:has(> table.app-datatable thead th.action-col),
.listing-table-responsive:has(> table.listing-table thead th.action-col),
.listing-table-responsive:has(> table.app-datatable thead th.action-col) {
    position: relative;
}

.listing-table-scroll-host:has(> table.listing-table thead th.action-col)::before,
.listing-table-scroll-host:has(> table.app-datatable thead th.action-col)::before,
.listing-table-frame-host::before,
.table-responsive:has(> table.listing-table thead th.action-col)::before,
.table-responsive:has(> table.app-datatable thead th.action-col)::before,
.listing-table-responsive:has(> table.listing-table thead th.action-col)::before,
.listing-table-responsive:has(> table.app-datatable thead th.action-col)::before {
    border: 1px solid #eaebf1;
    border-radius: 0.75rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    content: "";
    height: var(--app-table-frame-height, 100%);
    left: var(--app-table-frame-left, 0);
    pointer-events: none;
    position: absolute;
    top: var(--app-table-frame-top, 0);
    width: var(--app-table-frame-width, calc(100% - var(--app-table-action-rail-width, 4rem)));
    z-index: 30;
}

.mobile-card-listing-wrapper .listing-table-scroll-host::before,
.mobile-card-listing-wrapper.table-responsive::before,
.mobile-card-listing-wrapper.listing-table-responsive::before {
    display: none !important;
}

table.listing-table.dataTable thead.bg-md-blue,
table.listing-table thead.bg-md-blue,
table.app-datatable.dataTable thead.bg-md-blue,
table.app-datatable thead.bg-md-blue {
    background: transparent !important;
    background-color: transparent !important;
    color: #fff;
}

table.listing-table.dataTable thead.bg-md-blue > tr,
table.listing-table thead.bg-md-blue > tr,
table.app-datatable.dataTable thead.bg-md-blue > tr,
table.app-datatable thead.bg-md-blue > tr {
    background: transparent !important;
    background-color: transparent !important;
    color: #fff;
}

table.listing-table.dataTable thead.bg-md-blue > tr > th,
table.listing-table thead.bg-md-blue > tr > th,
table.app-datatable.dataTable thead.bg-md-blue > tr > th,
table.app-datatable thead.bg-md-blue > tr > th {
    background: #162c78;
    color: #fff;
    padding: 0.1rem 0.55rem;
    border-bottom: 0;
    border-right: 2px solid #6f7ff2;
    font-size: 0.92rem;
    font-weight: 400;
    line-height: 1.85rem;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

table.listing-table:has(thead th.action-col) thead.bg-md-blue > tr > th:not(.action-col),
table.listing-table.dataTable:has(thead th.action-col) thead.bg-md-blue > tr > th:not(.action-col),
table.app-datatable:has(thead th.action-col) thead.bg-md-blue > tr > th:not(.action-col),
table.app-datatable.dataTable:has(thead th.action-col) thead.bg-md-blue > tr > th:not(.action-col) {
    border-top: 1px solid #eaebf1;
}

table.listing-table:has(thead th.action-col) thead.bg-md-blue > tr > th:first-child,
table.listing-table.dataTable:has(thead th.action-col) thead.bg-md-blue > tr > th:first-child,
table.app-datatable:has(thead th.action-col) thead.bg-md-blue > tr > th:first-child,
table.app-datatable.dataTable:has(thead th.action-col) thead.bg-md-blue > tr > th:first-child {
    border-left: 1px solid #eaebf1;
}

table.listing-table.dataTable thead.bg-md-blue > tr > th.datatable-sortable-header,
table.listing-table thead.bg-md-blue > tr > th.datatable-sortable-header,
table.app-datatable.dataTable thead.bg-md-blue > tr > th.datatable-sortable-header,
table.app-datatable thead.bg-md-blue > tr > th.datatable-sortable-header {
    padding-right: 1.85rem;
}

table.listing-table.dataTable thead.bg-md-blue > tr > th:first-child,
table.listing-table thead.bg-md-blue > tr > th:first-child,
table.app-datatable.dataTable thead.bg-md-blue > tr > th:first-child,
table.app-datatable thead.bg-md-blue > tr > th:first-child {
    border-top-left-radius: 0.75rem;
}

table.listing-table.dataTable thead.bg-md-blue > tr > th:last-child,
table.listing-table thead.bg-md-blue > tr > th:last-child,
table.app-datatable.dataTable thead.bg-md-blue > tr > th:last-child,
table.app-datatable thead.bg-md-blue > tr > th:last-child {
    border-top-right-radius: 0.75rem;
}

table.listing-table.dataTable thead.bg-md-blue > tr > th:has(+ th.action-col),
table.listing-table thead.bg-md-blue > tr > th:has(+ th.action-col),
table.app-datatable.dataTable thead.bg-md-blue > tr > th:has(+ th.action-col),
table.app-datatable thead.bg-md-blue > tr > th:has(+ th.action-col) {
    border-right: 1px solid #eaebf1 !important;
    border-top-right-radius: 0.75rem !important;
}

table.listing-table.dataTable thead.bg-md-blue > tr > th:not(:last-child),
table.listing-table thead.bg-md-blue > tr > th:not(:last-child),
table.app-datatable.dataTable thead.bg-md-blue > tr > th:not(:last-child),
table.app-datatable thead.bg-md-blue > tr > th:not(:last-child) {
    border-top-right-radius: 0 !important;
}

table.listing-table.dataTable thead.bg-md-blue > tr > th:has(+ th.action-col),
table.listing-table thead.bg-md-blue > tr > th:has(+ th.action-col),
table.app-datatable.dataTable thead.bg-md-blue > tr > th:has(+ th.action-col),
table.app-datatable thead.bg-md-blue > tr > th:has(+ th.action-col) {
    border-top-right-radius: 0.75rem !important;
}

table.listing-table.dataTable thead.bg-md-blue > tr > th.action-col,
table.listing-table thead.bg-md-blue > tr > th.action-col,
table.app-datatable.dataTable thead.bg-md-blue > tr > th.action-col,
table.app-datatable thead.bg-md-blue > tr > th.action-col {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: transparent !important;
    padding: 0 !important;
}

.datatable-sort-label {
    display: inline-block;
}

.datatable-sort-trigger {
    position: absolute;
    top: 50%;
    right: 0.55rem;
    transform: translateY(-50%);
    width: 1.1rem;
    height: 1.25rem;
    padding: 0;
    border: 0;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.95);
    z-index: 3;
}

.datatable-sort-trigger i {
    font-size: 0.95rem;
    line-height: 1;
}

.datatable-sort-trigger:hover,
.datatable-sort-trigger.is-open,
.datatable-sort-trigger:focus-visible {
    color: #ffffff;
    outline: none;
}

.datatable-sort-menu {
    position: absolute;
    z-index: 2000;
    min-width: 10.5rem;
    padding: 0.35rem;
    border: 1px solid #d9dfeb;
    border-radius: 0.8rem;
    background: #fff;
    box-shadow: 0 16px 32px rgba(15, 24, 53, 0.18);
}

.datatable-sort-menu__item {
    width: 100%;
    border: 0;
    background: transparent;
    border-radius: 0.55rem;
    padding: 0.55rem 0.7rem;
    text-align: left;
    color: #24314e;
    font-size: 0.92rem;
    font-weight: 300;
}

.datatable-sort-menu__item:hover,
.datatable-sort-menu__item:focus-visible {
    background: #eaebf1;
    outline: none;
}

table.listing-table.dataTable thead.bg-md-blue > tr > th:last-child,
table.listing-table thead.bg-md-blue > tr > th:last-child {
    border-right: 0;
}

#inspectionReportsTable thead.bg-md-blue > tr > th,
#machinesTable thead.bg-md-blue > tr > th {
    font-weight: 400 !important;
}

#machinesTable thead.bg-md-blue > tr > th {
    padding-top: 0.1rem;
    padding-bottom: 0.1rem;
    line-height: 1.35;
    font-size: 0.9rem;
}

table.listing-table.dataTable tbody td,
table.listing-table tbody td,
table.app-datatable.dataTable tbody td,
table.app-datatable tbody td {
    padding: 0.1rem 0.55rem;
    border-top: 0;
    border-bottom: 1px solid #eaebf1;
    color: #1f2937;
    font-size: 0.95rem;
    font-weight: 300;
    line-height: 1.85rem;
    letter-spacing: 0;
    vertical-align: middle;
    background: #fff;
    overflow-wrap: anywhere;
}

table.listing-table:has(thead th.action-col) tbody td:first-child:not(.action-col),
table.listing-table.dataTable:has(thead th.action-col) tbody td:first-child:not(.action-col),
table.app-datatable:has(thead th.action-col) tbody td:first-child:not(.action-col),
table.app-datatable.dataTable:has(thead th.action-col) tbody td:first-child:not(.action-col) {
    border-left: 1px solid #eaebf1;
}

table.listing-table:has(thead th.action-col) tbody td:has(+ td.action-col),
table.listing-table.dataTable:has(thead th.action-col) tbody td:has(+ td.action-col),
table.app-datatable:has(thead th.action-col) tbody td:has(+ td.action-col),
table.app-datatable.dataTable:has(thead th.action-col) tbody td:has(+ td.action-col) {
    border-right: 1px solid #eaebf1;
}

table.listing-table.dataTable tbody tr:first-child td,
table.listing-table tbody tr:first-child td,
table.app-datatable.dataTable tbody tr:first-child td,
table.app-datatable tbody tr:first-child td {
    border-top: 0;
}

table.listing-table.dataTable tbody tr:last-child td,
table.listing-table tbody tr:last-child td,
table.app-datatable.dataTable tbody tr:last-child td,
table.app-datatable tbody tr:last-child td {
    border-bottom: 1px solid #eaebf1;
}

table.listing-table.dataTable tbody tr:last-child td:first-child,
table.listing-table tbody tr:last-child td:first-child,
table.app-datatable.dataTable tbody tr:last-child td:first-child,
table.app-datatable tbody tr:last-child td:first-child {
    border-bottom-left-radius: 0.75rem;
}

table.listing-table.dataTable tbody tr:last-child td:last-child,
table.listing-table tbody tr:last-child td:last-child,
table.app-datatable.dataTable tbody tr:last-child td:last-child,
table.app-datatable tbody tr:last-child td:last-child {
    border-bottom-right-radius: 0.75rem;
}

table.listing-table.dataTable tbody tr:last-child td:has(+ td.action-col),
table.listing-table tbody tr:last-child td:has(+ td.action-col),
table.app-datatable.dataTable tbody tr:last-child td:has(+ td.action-col),
table.app-datatable tbody tr:last-child td:has(+ td.action-col) {
    border-bottom-right-radius: 0.75rem !important;
}

table.listing-table.dataTable tbody tr:last-child td.action-col,
table.listing-table tbody tr:last-child td.action-col,
table.app-datatable.dataTable tbody tr:last-child td.action-col,
table.app-datatable tbody tr:last-child td.action-col {
    border-bottom-right-radius: 0 !important;
}

table.listing-table.table-hover > tbody > tr:hover,
table.listing-table.dataTable.table-hover > tbody > tr:hover,
table.app-datatable.table-hover > tbody > tr:hover,
table.app-datatable.dataTable.table-hover > tbody > tr:hover {
    --bs-table-accent-bg: var(--app-table-row-hover-bg, #eaebf1);
    color: var(--bs-table-hover-color, inherit);
}

table.listing-table.table-hover > tbody > tr:hover > td,
table.listing-table.dataTable.table-hover > tbody > tr:hover > td,
table.listing-table.dataTable tbody tr:hover > td,
table.listing-table tbody tr:hover > td,
table.app-datatable.table-hover > tbody > tr:hover > td,
table.app-datatable.dataTable.table-hover > tbody > tr:hover > td,
table.app-datatable.dataTable tbody tr:hover > td,
table.app-datatable tbody tr:hover > td {
    background: var(--bs-table-accent-bg, var(--app-table-row-hover-bg, #eaebf1)) !important;
    color: var(--bs-table-hover-color, inherit);
}

table.listing-table.dataTable tbody tr:hover td:not(.action-col),
table.listing-table tbody tr:hover td:not(.action-col),
table.app-datatable.dataTable tbody tr:hover td:not(.action-col),
table.app-datatable tbody tr:hover td:not(.action-col) {
    background: var(--app-table-row-hover-bg, #eaebf1) !important;
}

table.listing-table.dataTable tbody td.action-col,
table.listing-table tbody td.action-col,
table.app-datatable.dataTable tbody td.action-col,
table.app-datatable tbody td.action-col,
table.listing-table.dataTable tbody tr:hover td.action-col,
table.listing-table tbody tr:hover td.action-col,
table.app-datatable.dataTable tbody tr:hover td.action-col,
table.app-datatable tbody tr:hover td.action-col {
    --bs-table-accent-bg: transparent;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

table.listing-table.dataTable tbody td.text-end,
table.listing-table tbody td.text-end,
table.app-datatable.dataTable tbody td.text-end,
table.app-datatable tbody td.text-end {
    font-variant-numeric: tabular-nums;
}

table.listing-table tbody td a,
table.listing-table.dataTable tbody td a,
table.app-datatable tbody td a,
table.app-datatable.dataTable tbody td a {
    color: inherit;
    text-decoration: none;
    font-weight: inherit;
}

table.listing-table tbody td a:hover,
table.listing-table tbody td a:focus,
table.listing-table.dataTable tbody td a:hover,
table.listing-table.dataTable tbody td a:focus,
table.listing-table tbody td a:visited,
table.listing-table.dataTable tbody td a:visited,
table.app-datatable tbody td a:hover,
table.app-datatable tbody td a:focus,
table.app-datatable.dataTable tbody td a:hover,
table.app-datatable.dataTable tbody td a:focus,
table.app-datatable tbody td a:visited,
table.app-datatable.dataTable tbody td a:visited {
    color: inherit;
}

table.listing-table tbody tr.listing-row-link,
table.listing-table.dataTable tbody tr.listing-row-link,
table.app-datatable tbody tr.listing-row-link,
table.app-datatable.dataTable tbody tr.listing-row-link {
    cursor: pointer;
}

.listing-table_wrapper,
.app-datatable-wrapper,
[id$='Table_wrapper'] {
    overflow: visible;
}

.listing-table-responsive {
    overflow: visible;
}

.listing-table_wrapper .dataTables_paginate,
.app-datatable-wrapper .dataTables_paginate,
[id$='Table_wrapper'] .dataTables_paginate {
    margin: 0 auto;
    float: none !important;
    clear: both;
    text-align: center;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0.45rem;
    max-width: 100%;
    min-width: 0;
    white-space: nowrap;
    width: max-content;
}

.listing-table_wrapper .dataTables_paginate > span,
.app-datatable-wrapper .dataTables_paginate > span,
[id$='Table_wrapper'] .dataTables_paginate > span {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.45rem;
    white-space: nowrap;
}

.listing-table_wrapper > .d-flex.justify-content-between.align-items-center.mt-3,
.app-datatable-wrapper > .d-flex.justify-content-between.align-items-center.mt-3,
[id$='Table_wrapper'] > .d-flex.justify-content-between.align-items-center.mt-3 {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    position: relative;
    width: 100%;
    min-height: 2.5rem;
    margin-top: 1rem !important;
}

.listing-table_wrapper > .d-flex.justify-content-between.align-items-center.mt-3 .dataTables_paginate,
.app-datatable-wrapper > .d-flex.justify-content-between.align-items-center.mt-3 .dataTables_paginate,
[id$='Table_wrapper'] > .d-flex.justify-content-between.align-items-center.mt-3 .dataTables_paginate {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    margin-left: 0;
    margin-right: 0;
}

.listing-table_wrapper > .d-flex.justify-content-between.align-items-center.mt-3 .dataTables_info,
.app-datatable-wrapper > .d-flex.justify-content-between.align-items-center.mt-3 .dataTables_info,
[id$='Table_wrapper'] > .d-flex.justify-content-between.align-items-center.mt-3 .dataTables_info {
    margin-left: auto;
    text-align: right;
    align-self: center;
}

.listing-table_wrapper .paginate_button,
.app-datatable-wrapper .paginate_button,
[id$='Table_wrapper'] .paginate_button {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0.8rem !important;
    min-width: 2rem;
    height: 2rem;
    line-height: 2rem !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-size: 1rem !important;
    font-weight: 400;
    flex: 0 0 auto;
    color: #8d97b5 !important;
    vertical-align: middle;
    transition: background-color 140ms ease, color 140ms ease, opacity 140ms ease;
}

.listing-table_wrapper .paginate_button.current,
.app-datatable-wrapper .paginate_button.current,
[id$='Table_wrapper'] .paginate_button.current {
    background: var(--app-pagination-active-bg, #162c78) !important;
    border-radius: 6px !important;
    padding: 0.5em 0.75em !important;
    color: var(--app-pagination-active-color, #fff) !important;
    margin: 0 5px !important;
    min-width: auto;
    width: auto;
    height: auto;
    line-height: 1 !important;
}

.listing-table_wrapper .paginate_button.current:hover,
.listing-table_wrapper .paginate_button.current:focus,
.app-datatable-wrapper .paginate_button.current:hover,
.app-datatable-wrapper .paginate_button.current:focus,
[id$='Table_wrapper'] .paginate_button.current:hover,
[id$='Table_wrapper'] .paginate_button.current:focus {
    color: var(--app-pagination-active-color, #fff) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
.app-datatable-wrapper .dataTables_paginate .paginate_button.current,
.app-datatable-wrapper .dataTables_paginate .paginate_button.current:hover {
    color: var(--app-pagination-active-color, #fff) !important;
    background: var(--app-pagination-active-bg, #162c78) !important;
    background-color: var(--app-pagination-active-bg, #162c78) !important;
    border-color: transparent !important;
}

.listing-table_wrapper.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.listing-table_wrapper.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
.app-datatable-wrapper.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.app-datatable-wrapper.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
[id$='Table_wrapper'].dataTables_wrapper .dataTables_paginate .paginate_button.current,
[id$='Table_wrapper'].dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    color: #fff !important;
    background: #162c78 !important;
    background-color: #162c78 !important;
    border: 0 !important;
}

.listing-table_wrapper .paginate_button:not(.current):not(.previous):not(.next):not(.first):not(.last),
.app-datatable-wrapper .paginate_button:not(.current):not(.previous):not(.next):not(.first):not(.last),
[id$='Table_wrapper'] .paginate_button:not(.current):not(.previous):not(.next):not(.first):not(.last) {
    background: var(--app-pagination-inactive-bg, #eef1f7) !important;
    border-radius: 6px !important;
    padding: 0.5em 0.75em !important;
    color: var(--app-pagination-inactive-color, #8d97b5) !important;
    margin: 0 5px !important;
    min-width: auto;
    width: auto;
    height: auto;
    line-height: 1 !important;
}

.listing-table_wrapper .paginate_button:not(.current):not(.previous):not(.next):not(.first):not(.last):hover,
.listing-table_wrapper .paginate_button:not(.current):not(.previous):not(.next):not(.first):not(.last):focus,
.app-datatable-wrapper .paginate_button:not(.current):not(.previous):not(.next):not(.first):not(.last):hover,
.app-datatable-wrapper .paginate_button:not(.current):not(.previous):not(.next):not(.first):not(.last):focus,
[id$='Table_wrapper'] .paginate_button:not(.current):not(.previous):not(.next):not(.first):not(.last):hover,
[id$='Table_wrapper'] .paginate_button:not(.current):not(.previous):not(.next):not(.first):not(.last):focus {
    background: var(--app-pagination-hover-bg, #6f7ff2) !important;
    color: var(--app-pagination-active-color, #fff) !important;
}

[id$='Table_wrapper'] .paginate_button.previous,
[id$='Table_wrapper'] .paginate_button.next,
[id$='Table_wrapper'] .paginate_button.first,
[id$='Table_wrapper'] .paginate_button.last,
.listing-table_wrapper .paginate_button.previous,
.listing-table_wrapper .paginate_button.next,
.listing-table_wrapper .paginate_button.first,
.listing-table_wrapper .paginate_button.last,
.app-datatable-wrapper .paginate_button.previous,
.app-datatable-wrapper .paginate_button.next,
.app-datatable-wrapper .paginate_button.first,
.app-datatable-wrapper .paginate_button.last,
[id$='Table_wrapper'] .paginate_button.previous,
[id$='Table_wrapper'] .paginate_button.next,
[id$='Table_wrapper'] .paginate_button.first,
[id$='Table_wrapper'] .paginate_button.last {
    min-width: 1.35rem;
    width: 1.35rem;
    height: 2rem;
    line-height: 2rem !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #161d2f !important;
    font-size: 0 !important;
    position: relative;
}

[id$='Table_wrapper'] .paginate_button.previous::before,
[id$='Table_wrapper'] .paginate_button.next::before,
[id$='Table_wrapper'] .paginate_button.first::before,
[id$='Table_wrapper'] .paginate_button.last::before,
.listing-table_wrapper .paginate_button.previous::before,
.listing-table_wrapper .paginate_button.next::before,
.listing-table_wrapper .paginate_button.first::before,
.listing-table_wrapper .paginate_button.last::before,
.app-datatable-wrapper .paginate_button.previous::before,
.app-datatable-wrapper .paginate_button.next::before,
.app-datatable-wrapper .paginate_button.first::before,
.app-datatable-wrapper .paginate_button.last::before,
[id$='Table_wrapper'] .paginate_button.previous::before,
[id$='Table_wrapper'] .paginate_button.next::before,
[id$='Table_wrapper'] .paginate_button.first::before,
[id$='Table_wrapper'] .paginate_button.last::before {
    display: block;
    font-size: 1.2rem;
    line-height: 1;
    font-weight: 300;
    color: currentColor;
    position: relative;
    top: -1px;
}

.listing-table_wrapper .paginate_button.previous::before,
.app-datatable-wrapper .paginate_button.previous::before,
[id$='Table_wrapper'] .paginate_button.previous::before {
    content: "‹";
}

.listing-table_wrapper .paginate_button.next::before,
.app-datatable-wrapper .paginate_button.next::before,
[id$='Table_wrapper'] .paginate_button.next::before {
    content: "›";
}

.listing-table_wrapper .paginate_button.first::before,
.app-datatable-wrapper .paginate_button.first::before,
[id$='Table_wrapper'] .paginate_button.first::before {
    content: "‹‹";
    letter-spacing: -0.2rem;
}

.listing-table_wrapper .paginate_button.last::before,
.app-datatable-wrapper .paginate_button.last::before,
[id$='Table_wrapper'] .paginate_button.last::before {
    content: "››";
    letter-spacing: -0.2rem;
}

.listing-table_wrapper .paginate_button.disabled,
.app-datatable-wrapper .paginate_button.disabled,
[id$='Table_wrapper'] .paginate_button.disabled {
    opacity: 0.38;
    cursor: default !important;
}

.listing-table_wrapper .dataTables_info,
.app-datatable-wrapper .dataTables_info,
[id$='Table_wrapper'] .dataTables_info {
    color: #59657f;
    font-size: 0.92rem;
    padding-top: 0 !important;
    margin: 0;
    line-height: 1;
}

.listing-table_wrapper > .datatable-footer,
.app-datatable-wrapper > .datatable-footer,
[id$='Table_wrapper'] > .datatable-footer {
    align-items: center;
    display: flex !important;
    justify-content: flex-end;
    min-height: 2.5rem;
    margin-top: 1rem;
    position: relative;
    width: 100%;
}

.listing-table_wrapper > .datatable-footer .dataTables_paginate,
.app-datatable-wrapper > .datatable-footer .dataTables_paginate,
[id$='Table_wrapper'] > .datatable-footer .dataTables_paginate {
    left: 50%;
    margin-left: 0;
    margin-right: 0;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.listing-table_wrapper > .datatable-footer .dataTables_info,
.app-datatable-wrapper > .datatable-footer .dataTables_info,
[id$='Table_wrapper'] > .datatable-footer .dataTables_info {
    align-self: center;
    margin-left: auto;
    text-align: right;
}

@media (max-width: 640px) {
    .listing-toolbar {
        padding: 0.25rem 0 1rem;
    }

    .listing-toolbar-row {
        align-items: stretch !important;
        flex-direction: column;
        gap: 0.55rem;
        justify-content: center !important;
        padding-right: 0 !important;
        width: 100%;
    }

    .listing-toolbar-row > .search-with-icon {
        background: #f8fafd;
        border: 1px solid #d8dfeb;
        border-radius: 18px;
        box-shadow: 0 1px 2px rgba(15, 24, 53, 0.04);
        height: 3.25rem;
        margin-left: 0;
        min-width: 0;
        order: 2;
        padding: 0 0.55rem 0 1rem;
        width: 100%;
    }

    .listing-toolbar-row > .search-with-icon > i {
        color: #536886;
        font-size: 1.05rem;
        order: 1;
        padding: 0 0.8rem 0 0;
    }

    .listing-toolbar-row > .search-with-icon input,
    .listing-toolbar-row > .search-with-icon input.form-control {
        color: #52657f;
        flex: 1 1 auto;
        font-size: 1rem;
        min-width: 0 !important;
        order: 2;
    }

    .listing-toolbar-row > .search-with-icon input::placeholder {
        color: #52657f;
    }

    .listing-toolbar-row > .search-with-icon .listing-filter-trigger {
        display: inline-flex;
        order: 3;
    }

    .listing-toolbar-row > .text-center,
    .listing-toolbar-row > .form-select,
    .listing-toolbar-row > select.form-select,
    .listing-toolbar-row > .dropdown > .btn.bg-gray {
        display: none !important;
    }

    .listing-toolbar-row > .btn.btn-primary,
    .listing-toolbar-row > a.btn.btn-primary,
    .listing-toolbar-row > button.btn.bg-blue,
    .listing-toolbar-row > a.btn.bg-blue {
        align-self: center;
        margin: 0 auto 0.55rem !important;
        min-width: 150px;
        order: 1;
        text-align: center;
    }

    .mobile-card-listing-wrapper .listing-table-scroll-host,
    .mobile-card-listing-wrapper.table-range-scroll-host,
    .mobile-card-listing-wrapper .table-range-scroll-host {
        overflow-x: visible !important;
    }

    .mobile-card-listing-wrapper > .subgrid-horizontal-scroll {
        display: none !important;
    }

    table.mobile-card-listing,
    table.mobile-card-listing.dataTable {
        background: transparent;
        border-collapse: separate !important;
        border-spacing: 0;
        display: block;
        min-width: 0 !important;
        width: 100% !important;
    }

    table.mobile-card-listing thead,
    table.mobile-card-listing.dataTable thead {
        display: none;
    }

    table.mobile-card-listing tbody,
    table.mobile-card-listing.dataTable tbody {
        display: grid;
        gap: 0.75rem;
        width: 100%;
    }

    table.mobile-card-listing tbody tr,
    table.mobile-card-listing.dataTable tbody tr {
        --bs-table-accent-bg: transparent;
        --bs-table-bg: transparent;
        --bs-table-hover-bg: transparent;
        --bs-table-striped-bg: transparent;
        background: #fff !important;
        border: 1px solid #dce3f0;
        border-radius: 14px;
        box-shadow: 0 6px 18px rgba(15, 24, 53, 0.08);
        display: grid;
        gap: 0.3rem 0.85rem;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        min-height: 6.25rem;
        overflow: hidden;
        padding: 0.95rem;
        position: relative;
        width: 100%;
    }

    table.mobile-card-listing tbody tr:hover,
    table.mobile-card-listing.dataTable tbody tr:hover {
        background: #f7f9fe !important;
    }

    table.mobile-card-listing.table-hover > tbody > tr:hover > td,
    table.mobile-card-listing.dataTable.table-hover > tbody > tr:hover > td,
    table.mobile-card-listing.dataTable tbody tr:hover > td,
    table.mobile-card-listing tbody tr:hover > td,
    table.mobile-card-listing.dataTable tbody tr:hover > td:not(.action-col),
    table.mobile-card-listing tbody tr:hover > td:not(.action-col) {
        background: transparent !important;
        box-shadow: none !important;
    }

    table.mobile-card-listing tbody td,
    table.mobile-card-listing.dataTable tbody td {
        --bs-table-accent-bg: transparent;
        --bs-table-bg: transparent;
        --bs-table-hover-bg: transparent;
        --bs-table-striped-bg: transparent;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        color: #101827;
        display: flex !important;
        flex-direction: column;
        font-size: 0.94rem;
        font-weight: 400;
        gap: 0.15rem;
        grid-column: auto;
        line-height: 1.2;
        min-height: 0;
        min-width: 0;
        order: var(--mobile-card-order, 20);
        padding: 0.25rem 0 !important;
        text-align: left !important;
        white-space: normal;
        word-break: break-word;
    }

    table.mobile-card-listing tbody td > :not(.btn):not(button):not(.badge):not(.action-rail),
    table.mobile-card-listing.dataTable tbody td > :not(.btn):not(button):not(.badge):not(.action-rail) {
        background-color: transparent;
        box-shadow: none;
    }

    table.mobile-card-listing tbody td::before,
    table.mobile-card-listing.dataTable tbody td::before {
        color: #8190b0;
        content: attr(data-mobile-label);
        display: block;
        font-size: 0.74rem;
        font-weight: 400;
        line-height: 1.1;
    }

    table.mobile-card-listing tbody td.mobile-card-empty,
    table.mobile-card-listing.dataTable tbody td.mobile-card-empty {
        display: none !important;
    }

    table.mobile-card-listing tbody td.mobile-card-meta,
    table.mobile-card-listing.dataTable tbody td.mobile-card-meta,
    table.mobile-card-listing tbody td.mobile-card-title,
    table.mobile-card-listing.dataTable tbody td.mobile-card-title {
        grid-column: 1 / -1;
        padding-right: 7rem !important;
    }

    table.mobile-card-listing tbody td.mobile-card-meta,
    table.mobile-card-listing.dataTable tbody td.mobile-card-meta {
        color: #8898bd;
        font-size: 0.82rem;
        font-weight: 500;
        letter-spacing: 0.01em;
        padding-bottom: 0 !important;
        text-transform: uppercase;
    }

    table.mobile-card-listing tbody td.mobile-card-title,
    table.mobile-card-listing.dataTable tbody td.mobile-card-title {
        color: #020817;
        font-size: 1.08rem;
        font-weight: 600;
        padding-top: 0 !important;
    }

    table.mobile-card-listing tbody td.mobile-card-meta::before,
    table.mobile-card-listing.dataTable tbody td.mobile-card-meta::before,
    table.mobile-card-listing tbody td.mobile-card-title::before,
    table.mobile-card-listing.dataTable tbody td.mobile-card-title::before,
    table.mobile-card-listing tbody td.mobile-card-status::before,
    table.mobile-card-listing.dataTable tbody td.mobile-card-status::before,
    table.mobile-card-listing tbody td.mobile-card-action::before,
    table.mobile-card-listing.dataTable tbody td.mobile-card-action::before {
        display: none;
    }

    table.mobile-card-listing tbody td.mobile-card-status,
    table.mobile-card-listing.dataTable tbody td.mobile-card-status {
        align-items: center;
        background: #eef4ff !important;
        border-radius: 999px;
        color: #18327b;
        display: inline-flex !important;
        flex-direction: row;
        font-size: 0.82rem;
        font-weight: 500;
        justify-content: center;
        line-height: 1;
        max-width: 42%;
        min-height: 2rem;
        padding: 0.35rem 0.65rem !important;
        position: absolute;
        right: 0.95rem;
        text-align: center !important;
        top: 0.95rem;
        width: auto;
        z-index: 1;
    }

    table.mobile-card-listing tbody td.mobile-card-status-success,
    table.mobile-card-listing.dataTable tbody td.mobile-card-status-success {
        background: #cff7df !important;
        color: #00684f;
    }

    table.mobile-card-listing tbody td.mobile-card-status-warning,
    table.mobile-card-listing.dataTable tbody td.mobile-card-status-warning {
        background: #ffedb3 !important;
        color: #8a4b00;
    }

    table.mobile-card-listing tbody td.mobile-card-status-danger,
    table.mobile-card-listing.dataTable tbody td.mobile-card-status-danger {
        background: #ffdce5 !important;
        color: #b0003a;
    }

    table.mobile-card-listing tbody td.mobile-card-amount,
    table.mobile-card-listing.dataTable tbody td.mobile-card-amount {
        font-variant-numeric: tabular-nums;
    }

    table.mobile-card-listing tbody td.mobile-card-action,
    table.mobile-card-listing.dataTable tbody td.mobile-card-action {
        align-items: center;
        border-top: 1px solid #e6ebf4 !important;
        flex-direction: row;
        gap: 0.45rem;
        grid-column: 1 / -1;
        justify-content: flex-end;
        margin-top: 0.35rem;
        padding-top: 0.65rem !important;
    }

    table.mobile-card-listing tbody td.mobile-card-action .action-rail,
    table.mobile-card-listing.dataTable tbody td.mobile-card-action .action-rail {
        justify-content: flex-end;
        width: 100%;
    }
}

@media (max-width: 991px) {
    .listing-table_wrapper > .d-flex.justify-content-between.align-items-center.mt-3,
    .app-datatable-wrapper > .d-flex.justify-content-between.align-items-center.mt-3,
    [id$='Table_wrapper'] > .d-flex.justify-content-between.align-items-center.mt-3,
    .listing-table_wrapper > .datatable-footer,
    .app-datatable-wrapper > .datatable-footer,
    [id$='Table_wrapper'] > .datatable-footer {
        flex-direction: column;
        gap: 0.45rem;
        justify-content: center;
        min-height: 0;
    }

    .listing-table_wrapper > .d-flex.justify-content-between.align-items-center.mt-3 .dataTables_paginate,
    .app-datatable-wrapper > .d-flex.justify-content-between.align-items-center.mt-3 .dataTables_paginate,
    [id$='Table_wrapper'] > .d-flex.justify-content-between.align-items-center.mt-3 .dataTables_paginate,
    .listing-table_wrapper > .datatable-footer .dataTables_paginate,
    .app-datatable-wrapper > .datatable-footer .dataTables_paginate,
    [id$='Table_wrapper'] > .datatable-footer .dataTables_paginate {
        left: auto;
        max-width: 100%;
        order: 1;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 0.1rem 0.25rem;
        position: static;
        scrollbar-width: none;
        transform: none;
    }

    .listing-table_wrapper > .d-flex.justify-content-between.align-items-center.mt-3 .dataTables_paginate::-webkit-scrollbar,
    .app-datatable-wrapper > .d-flex.justify-content-between.align-items-center.mt-3 .dataTables_paginate::-webkit-scrollbar,
    [id$='Table_wrapper'] > .d-flex.justify-content-between.align-items-center.mt-3 .dataTables_paginate::-webkit-scrollbar,
    .listing-table_wrapper > .datatable-footer .dataTables_paginate::-webkit-scrollbar,
    .app-datatable-wrapper > .datatable-footer .dataTables_paginate::-webkit-scrollbar,
    [id$='Table_wrapper'] > .datatable-footer .dataTables_paginate::-webkit-scrollbar {
        display: none;
    }

    .listing-table_wrapper > .d-flex.justify-content-between.align-items-center.mt-3 .dataTables_info,
    .app-datatable-wrapper > .d-flex.justify-content-between.align-items-center.mt-3 .dataTables_info,
    [id$='Table_wrapper'] > .d-flex.justify-content-between.align-items-center.mt-3 .dataTables_info,
    .listing-table_wrapper > .datatable-footer .dataTables_info,
    .app-datatable-wrapper > .datatable-footer .dataTables_info,
    [id$='Table_wrapper'] > .datatable-footer .dataTables_info {
        align-self: center;
        margin-left: 0;
        order: 2;
        text-align: center;
    }

    .listing-table_wrapper .dataTables_paginate,
    .app-datatable-wrapper .dataTables_paginate,
    [id$='Table_wrapper'] .dataTables_paginate {
        gap: 0.28rem;
    }

    .listing-table_wrapper .dataTables_paginate > span,
    .app-datatable-wrapper .dataTables_paginate > span,
    [id$='Table_wrapper'] .dataTables_paginate > span {
        gap: 0.28rem;
    }

    .listing-table_wrapper .paginate_button,
    .app-datatable-wrapper .paginate_button,
    [id$='Table_wrapper'] .paginate_button {
        min-width: 1.75rem;
        height: 1.75rem;
        line-height: 1.75rem !important;
    }

    .listing-table_wrapper .paginate_button.current,
    .app-datatable-wrapper .paginate_button.current,
    [id$='Table_wrapper'] .paginate_button.current,
    .listing-table_wrapper .paginate_button:not(.current):not(.previous):not(.next):not(.first):not(.last),
    .app-datatable-wrapper .paginate_button:not(.current):not(.previous):not(.next):not(.first):not(.last),
    [id$='Table_wrapper'] .paginate_button:not(.current):not(.previous):not(.next):not(.first):not(.last) {
        height: 1.9rem;
        margin: 0 1px !important;
        min-width: 1.9rem;
        padding: 0 !important;
        width: 1.9rem;
    }

    .listing-table_wrapper .paginate_button.previous,
    .listing-table_wrapper .paginate_button.next,
    .listing-table_wrapper .paginate_button.first,
    .listing-table_wrapper .paginate_button.last,
    .app-datatable-wrapper .paginate_button.previous,
    .app-datatable-wrapper .paginate_button.next,
    .app-datatable-wrapper .paginate_button.first,
    .app-datatable-wrapper .paginate_button.last,
    [id$='Table_wrapper'] .paginate_button.previous,
    [id$='Table_wrapper'] .paginate_button.next,
    [id$='Table_wrapper'] .paginate_button.first,
    [id$='Table_wrapper'] .paginate_button.last {
        height: 1.75rem;
        line-height: 1.75rem !important;
        min-width: 1.15rem;
        width: 1.15rem;
    }
}

.dashboard-sidebar {
    --sidebar-rail-width: 100px;
    width: var(--sidebar-rail-width) !important;
    min-width: var(--sidebar-rail-width) !important;
    background: linear-gradient(180deg, #0d1424 0%, #0d2e72 100%);
    border-right: 0;
    overflow: visible;
    z-index: 1200;
}

.dashboard-sidebar .sidebar-header {
    padding: 1.35rem 1rem 1.15rem;
}

.dashboard-sidebar .sidebar-nav {
    padding: 1rem 0.35rem 1.25rem;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.3rem;
    min-height: 0;
    overflow-y: auto;
    scrollbar-width: none;
}

.dashboard-sidebar .sidebar-nav::-webkit-scrollbar {
    display: none;
}

.dashboard-sidebar .nav-link,
.dashboard-sidebar .sidebar-flyout-toggle {
    width: 100%;
    box-sizing: border-box;
    border: 0;
    background: transparent;
    color: #fff;
    border-radius: 12px;
    min-height: 74px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.35rem;
    padding: 0.85rem 0.5rem;
    text-decoration: none;
    transition: background-color 160ms ease, transform 160ms ease;
}

.dashboard-sidebar .nav-link:hover,
.dashboard-sidebar .nav-link.active,
.dashboard-sidebar .sidebar-flyout-group.is-open > .sidebar-flyout-toggle,
.dashboard-sidebar .sidebar-flyout-toggle:hover,
.dashboard-sidebar .sidebar-flyout-toggle:focus-visible {
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
    transform: none;
    text-decoration: none;
}

.dashboard-sidebar .nav-link i,
.dashboard-sidebar .sidebar-flyout-toggle i {
    width: 36px;
    height: 36px;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}

.dashboard-sidebar .nav-link span,
.dashboard-sidebar .sidebar-flyout-toggle span {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.15;
    text-align: center;
}

.dashboard-sidebar .sidebar-bottom-link {
    margin-top: auto;
}

.sidebar-scroll-control {
    align-items: center;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(14, 38, 92, 0.18);
    border-radius: 999px;
    box-shadow: 0 8px 18px rgba(4, 13, 35, 0.2);
    color: #0d2e72;
    display: none;
    height: 30px;
    justify-content: center;
    left: 50%;
    opacity: 0;
    padding: 0;
    pointer-events: none;
    position: absolute;
    transform: translateX(-50%);
    transition: opacity 140ms ease, transform 140ms ease, background-color 140ms ease;
    width: 30px;
    z-index: 1260;
}

.sidebar-scroll-control:hover,
.sidebar-scroll-control:focus-visible {
    background: #fff;
    color: #0944a2;
    outline: none;
    transform: translateX(-50%) scale(1.06);
}

.sidebar-scroll-control-up {
    top: 0.45rem;
}

.sidebar-scroll-control-down {
    bottom: 0.45rem;
}

@media (min-width: 992px) {
    .dashboard-sidebar.has-nav-overflow .sidebar-nav {
        padding-top: 2.65rem;
        padding-bottom: 2.9rem;
    }

    .dashboard-sidebar.has-nav-overflow .sidebar-scroll-control.is-visible {
        display: inline-flex;
        opacity: 1;
        pointer-events: auto;
    }
}

.dashboard-shortcuts {
    padding: 1.25rem 0.25rem 2rem;
}

.dashboard-shortcuts-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.dashboard-shortcuts-title {
    margin: 0;
    font-size: 1.85rem;
    font-weight: 600;
    color: #17233c;
}

.dashboard-shortcuts-subtitle {
    margin: 0.35rem 0 0;
    color: #65708a;
    font-size: 0.98rem;
}

.dashboard-shortcut-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 1rem;
}

.dashboard-shortcut-card {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 0.95rem;
    align-items: center;
    padding: 1rem 1.05rem;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #f6f8fd 100%);
    border: 1px solid #dbe3f2;
    box-shadow: 0 10px 24px rgba(15, 29, 63, 0.08);
    text-decoration: none;
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.dashboard-shortcut-card:hover,
.dashboard-shortcut-card:focus-visible {
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 16px 30px rgba(15, 29, 63, 0.12);
    border-color: #bfcdec;
}

.dashboard-shortcut-icon {
    width: 54px;
    height: 54px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #16368c 0%, #244fbf 100%);
    color: #fff;
    font-size: 1.2rem;
}

.dashboard-shortcut-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.dashboard-shortcut-name {
    color: #17233c;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.25;
}

.dashboard-shortcut-url {
    color: #72809c;
    font-size: 0.82rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dashboard-shortcut-empty {
    min-height: 300px;
    border: 1px dashed #ccd6e8;
    border-radius: 18px;
    background: linear-gradient(180deg, #fbfcff 0%, #f2f5fb 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 2rem;
}

.dashboard-shortcut-empty-icon {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    background: #e8eefc;
    color: #1f4fba;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    margin-bottom: 1rem;
}

.dashboard-shortcut-empty h2 {
    margin: 0 0 0.5rem;
    font-size: 1.2rem;
    color: #17233c;
}

.dashboard-shortcut-empty p {
    max-width: 420px;
    margin: 0;
    color: #67738c;
}

.sidebar-flyout-group {
    position: relative;
}

.sidebar-flyout-panel {
    position: fixed;
    left: var(--sidebar-width);
    top: var(--header-height);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(4px);
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
    z-index: 1300;
}

.sidebar-flyout-panel::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -10px;
    width: 10px;
    background: transparent;
}

.sidebar-flyout-group.is-open .sidebar-flyout-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.sidebar-flyout-card {
    width: 308px;
    background: #eef1f8;
    border: 1px solid #cfd5e5;
    border-left: 0;
    border-radius: 0 10px 10px 0;
    box-shadow: 0 14px 28px rgba(15, 24, 53, 0.18);
    padding: 0.45rem;
}

/* Shared layout override: full-width header with the nav rail tucked underneath it. */
.dashboard-topnav {
    left: 0;
    width: 100%;
    padding-left: 1.5rem;
}

.dashboard-sidebar {
    top: var(--header-height);
    height: calc(100vh - var(--header-height));
}

.container-fluid.flex-grow-1 {
    margin-left: var(--sidebar-width);
    padding-left: 1.2rem;
}

.container-fluid.flex-grow-1 .order-entry.container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.container-fluid.flex-grow-1:has(.order-entry.container-fluid) {
    padding-top: var(--header-height) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.container-fluid.flex-grow-1 .order-entry.container-fluid {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.container-fluid.flex-grow-1 .order-entry.container-fluid > form {
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
}

.picking-entry .picking-ticket-table-shell {
    padding-top: 0.75rem;
    border-radius: 8px;
    overflow: auto;
}

@media (max-width: 991px) {
    .dashboard-sidebar {
        display: flex !important;
        flex-direction: column;
        top: 0;
        left: 0;
        width: min(82vw, 320px) !important;
        min-width: min(82vw, 320px) !important;
        height: 100vh;
        padding-top: var(--header-height);
        transform: translateX(-106%);
        transition: transform 180ms ease;
        z-index: 2105;
        overflow-y: auto;
        box-shadow: 18px 0 32px rgba(0, 0, 0, 0.28);
    }

    body.mobile-sidebar-open .dashboard-sidebar {
        transform: translateX(0);
    }

    .dashboard-sidebar .sidebar-nav {
        min-height: calc(100vh - var(--header-height));
        padding-bottom: 1rem;
    }

    .sidebar-flyout-panel {
        left: min(82vw, 320px);
        max-width: calc(100vw - min(82vw, 320px) - 12px);
    }

    .mobile-sidebar-backdrop {
        position: fixed;
        inset: 0;
        display: none;
        background: rgba(4, 9, 18, 0.46);
        z-index: 2100;
    }

    body.mobile-sidebar-open .mobile-sidebar-backdrop {
        display: block;
    }

    body.has-mobile-action-toolbar .dashboard-topnav .btn-toolbar {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1900;
        display: flex !important;
        flex-wrap: nowrap;
        justify-content: space-around;
        align-items: center;
        gap: 0.4rem !important;
        min-height: 82px;
        padding: 0.55rem 0.65rem calc(0.55rem + env(safe-area-inset-bottom));
        margin: 0 !important;
        background: rgba(0, 0, 0, 0.78);
        backdrop-filter: blur(10px);
        box-shadow: 0 -12px 28px rgba(0, 0, 0, 0.24);
        overflow-x: auto;
    }

    body.has-mobile-action-toolbar .dashboard-topnav .btn-toolbar > .d-flex,
    body.has-mobile-action-toolbar .dashboard-topnav .btn-toolbar .dashboard-topnav-logout {
        flex-shrink: 0;
    }

    body.has-mobile-action-toolbar .dashboard-topnav .btn-toolbar .border-left {
        border-left: 0;
        padding-left: 0;
    }

    body.has-mobile-action-toolbar .dashboard-topnav .select-dropdown {
        min-width: 128px;
    }

    body.has-mobile-action-toolbar .dashboard-topnav .select-dropdown label,
    body.has-mobile-action-toolbar .dashboard-topnav .btn-toolbar small {
        font-size: 0.7rem;
        line-height: 1.1;
    }

    body.has-mobile-action-toolbar .dashboard-topnav .btn-toolbar .btn {
        width: 42px !important;
        height: 42px !important;
    }

    body.has-mobile-action-toolbar .dashboard-topnav .btn-toolbar .dropdown-menu {
        top: auto !important;
        bottom: calc(100% + 0.5rem) !important;
    }

    body.has-mobile-action-toolbar .container-fluid.flex-grow-1,
    body.has-mobile-action-toolbar .container-fluid.flex-grow-1 > main[role="main"],
    body.has-mobile-action-toolbar .container-fluid.flex-grow-1 .order-entry.container-fluid {
        padding-bottom: calc(7.25rem + env(safe-area-inset-bottom)) !important;
    }
}

:root {
    --split-entry-inline-padding: 1rem;
}

.split-entry-top-shell,
.split-entry-panels {
    padding-left: var(--split-entry-inline-padding);
    padding-right: var(--split-entry-inline-padding);
    box-sizing: border-box;
}

.split-entry-top-shell {
    padding-top: 1rem;
}

.split-entry-top-content-shell {
    padding-top: 0;
}

.split-entry-top-shell > .order-entry-tabs,
.split-entry-top-shell > .customer-entry-top-tabs,
.split-entry-top-shell > .vendor-entry-top-tabs,
.split-entry-top-shell > .nav.row .order-entry-tabs {
    margin-top: 0 !important;
}

.arcon-responsive-tabs {
    align-items: center;
    flex-wrap: nowrap;
    overflow: visible;
    width: 100%;
}

.arcon-responsive-tabs > .nav-item:not(.responsive-tabs-overflow) {
    flex: 0 0 auto;
}

.arcon-responsive-tabs .responsive-tabs-overflow {
    flex: 0 0 auto;
    margin-left: auto;
    position: relative;
}

.arcon-responsive-tabs .responsive-tabs-overflow-toggle {
    min-width: 2.5rem;
    padding-left: 0.85rem;
    padding-right: 0.85rem;
}

.arcon-responsive-tabs .responsive-tabs-overflow-menu {
    min-width: 14rem;
    padding: 0.35rem;
}

.arcon-responsive-tabs .responsive-tabs-overflow-menu .nav-item {
    width: 100%;
}

.arcon-responsive-tabs .responsive-tabs-overflow-menu .nav-link {
    border-radius: 6px;
    display: block;
    margin-right: 0;
    text-align: left;
    width: 100%;
}

.split-entry-top-shell > #topSections,
.split-entry-top-shell > #quoteTopSections,
.split-entry-top-shell > .tab-content,
.split-entry-top-shell > .cash-receipts-top-shell,
.split-entry-top-shell > .row {
    margin-bottom: 0 !important;
}

.split-entry-top-shell > #topSections,
.split-entry-top-shell > #quoteTopSections,
.split-entry-top-shell > .cash-receipts-top-shell,
.split-entry-top-shell > .row,
.split-entry-top-shell > .tab-content > .tab-pane {
    padding-top: 0.65rem;
    padding-bottom: 0.75rem;
}

.item-entry .item-entry-top-shell,
.item-entry .item-entry-panels {
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
}

.item-entry .item-entry-top-shell {
    padding-top: 1rem;
}

.item-entry #itemSplitter {
    margin-left: 0;
    margin-right: 0;
}

footer.footer {
    left: var(--sidebar-width);
}

.sidebar-flyout-card-history {
    width: 320px;
}

.sidebar-flyout-header {
    color: #1d2333;
    font-size: 1rem;
    font-weight: 600;
    padding: 0.65rem 0.8rem 0.55rem;
}

.sidebar-flyout-empty {
    color: #656d84;
    font-size: 0.9rem;
    padding: 0.35rem 0.8rem 0.8rem;
}

.sidebar-flyout-list {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.sidebar-flyout-item {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 0.75rem;
    min-height: 48px;
    padding: 0.55rem 0.75rem;
    border-radius: 12px;
    color: #3a4050;
    text-decoration: none;
    position: relative;
}

.sidebar-flyout-item:hover,
.sidebar-flyout-item:focus-visible {
    background: #ced6ff;
    color: #2c355d;
    text-decoration: none;
}

.sidebar-flyout-icon {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: #e5ebff;
    color: #2553c7;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
}

.sidebar-flyout-text {
    font-size: 0.98rem;
    font-weight: 400;
    line-height: 1.2;
}

.sidebar-favorite {
    border: 0;
    background: transparent;
    color: #787d8a;
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 140ms ease, color 140ms ease;
}

.sidebar-flyout-item:hover .sidebar-favorite,
.sidebar-flyout-item:focus-visible .sidebar-favorite,
.sidebar-favorite.is-visible {
    opacity: 1;
}

.sidebar-favorite.is-starred {
    color: #6f7280;
    opacity: 1;
}

.sidebar-history-item {
    display: block;
    padding: 0.7rem 0.8rem;
    color: #2f3444;
    text-decoration: none;
    border-bottom: 1px solid #d9deea;
    font-size: 0.9rem;
    line-height: 1.25;
}

.sidebar-history-item:last-child {
    border-bottom: 0;
}

.sidebar-history-item:hover,
.sidebar-history-item:focus-visible {
    background: #e4e9f6;
    color: #1f2740;
    text-decoration: none;
}

.sidebar-flyout-history-list {
    max-height: calc(100vh - var(--header-height) - 2.5rem);
    overflow-y: auto;
}

.mobile-sidebar-header {
    display: none;
}

@media (max-width: 991px) {
    .container-fluid.flex-grow-1::before,
    .container-fluid.flex-grow-1::after {
        content: none !important;
        display: none !important;
    }

    body.mobile-sidebar-open {
        overflow: hidden;
    }

    .dashboard-sidebar {
        background: linear-gradient(180deg, #0d1424 0%, #0944a2 100%);
        box-shadow: none;
        display: flex !important;
        flex-direction: column;
        height: 100vh !important;
        inset: 0 !important;
        min-width: 100vw !important;
        opacity: 0;
        overflow: hidden;
        padding-top: 0 !important;
        pointer-events: none;
        position: fixed !important;
        top: 0 !important;
        transform: none !important;
        transition: opacity 160ms ease, visibility 160ms ease;
        visibility: hidden;
        width: 100vw !important;
        z-index: 2105;
    }

    body.mobile-sidebar-open .dashboard-sidebar {
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
    }

    .mobile-sidebar-backdrop,
    body.mobile-sidebar-open .mobile-sidebar-backdrop {
        display: none !important;
    }

    .mobile-sidebar-header {
        align-items: center;
        border-bottom: 1px solid rgba(255, 255, 255, 0.16);
        display: grid;
        flex: 0 0 auto;
        gap: 0.75rem;
        grid-template-columns: minmax(5.25rem, auto) minmax(0, 1fr) 2.75rem;
        min-height: 64px;
        padding: calc(0.85rem + env(safe-area-inset-top)) 1rem 0.85rem;
    }

    .mobile-sidebar-title {
        color: #fff;
        font-size: 1.05rem;
        font-weight: 700;
        min-width: 0;
        overflow: hidden;
        text-align: center;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .mobile-sidebar-back,
    .mobile-sidebar-close {
        align-items: center;
        background: rgba(255, 255, 255, 0.12);
        border: 1px solid rgba(255, 255, 255, 0.24);
        border-radius: 8px;
        color: #fff;
        display: inline-flex;
        font-size: 0.9rem;
        font-weight: 600;
        gap: 0.45rem;
        justify-content: center;
        min-height: 42px;
        padding: 0 0.7rem;
    }

    .mobile-sidebar-close {
        justify-self: end;
        padding: 0;
        width: 42px;
    }

    .mobile-sidebar-back {
        justify-self: start;
        visibility: hidden;
        pointer-events: none;
    }

    body.mobile-sidebar-drilldown .mobile-sidebar-back {
        pointer-events: auto;
        visibility: visible;
    }

    .dashboard-sidebar .sidebar-nav {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        gap: 0.45rem;
        min-height: 0 !important;
        overflow-y: auto;
        padding: 0.9rem 1rem calc(1.25rem + env(safe-area-inset-bottom)) !important;
        width: 100%;
    }

    .dashboard-sidebar .sidebar-nav > a,
    .dashboard-sidebar .sidebar-nav > .sidebar-flyout-group {
        flex: 0 0 auto;
        width: 100%;
    }

    .dashboard-sidebar .nav-link,
    .dashboard-sidebar .sidebar-flyout-toggle {
        align-items: center !important;
        border-radius: 8px !important;
        flex-direction: row !important;
        gap: 0.85rem;
        justify-content: flex-start !important;
        min-height: 56px;
        padding: 0.85rem 1rem !important;
        text-align: left !important;
        width: 100%;
    }

    .dashboard-sidebar .nav-link i,
    .dashboard-sidebar .sidebar-flyout-toggle i {
        flex: 0 0 auto;
        height: 30px !important;
        margin: 0 !important;
        width: 30px !important;
    }

    .dashboard-sidebar .nav-link span,
    .dashboard-sidebar .sidebar-flyout-toggle span {
        font-size: 0.98rem !important;
        line-height: 1.2 !important;
        margin: 0 !important;
        min-width: 0;
        text-align: left !important;
    }

    body.mobile-sidebar-drilldown .dashboard-sidebar .sidebar-nav > a,
    body.mobile-sidebar-drilldown .dashboard-sidebar .sidebar-nav > .sidebar-flyout-group:not(.is-mobile-active) {
        display: none !important;
    }

    body.mobile-sidebar-drilldown .dashboard-sidebar .sidebar-flyout-group.is-mobile-active > .sidebar-flyout-toggle {
        display: none !important;
    }

    .dashboard-sidebar .sidebar-flyout-panel {
        display: none !important;
        left: auto !important;
        max-height: none !important;
        max-width: none !important;
        opacity: 1 !important;
        padding: 0 !important;
        pointer-events: auto !important;
        position: static !important;
        top: auto !important;
        transform: none !important;
        visibility: visible !important;
        width: 100% !important;
    }

    body.mobile-sidebar-drilldown .dashboard-sidebar .sidebar-flyout-group.is-mobile-active .sidebar-flyout-panel {
        display: block !important;
    }

    .dashboard-sidebar .sidebar-flyout-panel::before {
        display: none !important;
    }

    .dashboard-sidebar .sidebar-flyout-card {
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        min-width: 0;
        padding: 0;
        width: 100%;
    }

    .dashboard-sidebar .sidebar-flyout-card-history {
        width: 100%;
    }

    .dashboard-sidebar .sidebar-flyout-header,
    .dashboard-sidebar .sidebar-flyout-empty {
        color: rgba(255, 255, 255, 0.82);
    }

    .dashboard-sidebar .sidebar-flyout-list {
        gap: 0.45rem;
    }

    .dashboard-sidebar .sidebar-flyout-item,
    .dashboard-sidebar .sidebar-history-item {
        background: rgba(255, 255, 255, 0.08);
        border: 0;
        border-radius: 8px;
        color: #fff;
        min-height: 54px;
        padding: 0.85rem 1rem;
        width: 100%;
    }

    .dashboard-sidebar .sidebar-flyout-item:hover,
    .dashboard-sidebar .sidebar-flyout-item:focus-visible,
    .dashboard-sidebar .sidebar-history-item:hover,
    .dashboard-sidebar .sidebar-history-item:focus-visible {
        background: rgba(255, 255, 255, 0.16);
        color: #fff;
    }

    .dashboard-sidebar .sidebar-flyout-icon {
        background: rgba(255, 255, 255, 0.14);
        color: #fff;
    }

    .dashboard-sidebar .sidebar-flyout-text {
        color: #fff;
        font-size: 0.98rem;
    }

    .dashboard-sidebar .sidebar-favorite {
        color: rgba(255, 255, 255, 0.78);
        opacity: 1;
    }

    .dashboard-sidebar .sidebar-bottom-link {
        margin-top: auto;
    }
}

.lookup-field {
    position: relative;
}

.lookup-field.lookup-clearable .form-control {
    padding-right: 2.25rem;
}

.lookup-clear-btn {
    position: absolute;
    top: 50%;
    right: 0.55rem;
    transform: translateY(-50%);
    width: 1.35rem;
    height: 1.35rem;
    border: 0;
    border-radius: 999px;
    background: #d8deee;
    color: #33415c;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    line-height: 1;
    padding: 0;
    z-index: 3;
}

.lookup-field.lookup-has-selection .lookup-clear-btn {
    display: inline-flex;
}

.lookup-clear-btn[hidden],
.lookup-field.lookup-readonly .lookup-clear-btn {
    display: none !important;
}

.lookup-clear-btn:hover,
.lookup-clear-btn:focus-visible {
    background: #c9d2ea;
    color: #17213a;
}

.lookup-dropdown {
    position: fixed;
    top: 0;
    left: 0;
    background: #f3f4f8;
    border: 1px solid #d2d7e2;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(18, 24, 39, 0.12);
    display: none;
    z-index: 5000;
    overflow: hidden;
    max-height: min(320px, calc(100vh - var(--header-height) - 2rem));
    overflow-y: auto;
}

.lookup-dropdown.is-open {
    display: block;
}

.lookup-dropdown-header {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #7a8090;
    padding: 0.7rem 0.8rem 0.5rem;
    background: #eef0f4;
    border-bottom: 1px solid #d8dde8;
}

.lookup-option {
    width: 100%;
    border: 0;
    background: transparent;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.65rem;
    align-items: center;
    padding: 0.65rem 0.8rem;
    text-align: left;
}

.lookup-option:hover,
.lookup-option:focus-visible {
    background: #e5e9f5;
}

.lookup-token {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    padding: 0.15rem 0.45rem;
    border-radius: 6px;
    background: #d8dce5;
    color: #5f6473;
    font-size: 0.85rem;
    font-weight: 500;
}

.lookup-label {
    color: #3e4453;
    font-size: 0.95rem;
}

.routing-work-station-picker {
    border: 1px solid #d9e2f0;
    border-radius: 8px;
    padding: 0.75rem;
    background: #fff;
}

.routing-work-station-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    min-height: 2rem;
}

.routing-work-station-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid #b9c8e2;
    border-radius: 999px;
    padding: 0.25rem 0.65rem;
    background: #f5f8fd;
    color: #1f2d3d;
    font-weight: 600;
}

.routing-work-station-chip-remove {
    border: 0;
    background: transparent;
    color: #526172;
    font: inherit;
    line-height: 1;
    padding: 0;
}

.routing-work-station-chip-remove:hover,
.routing-work-station-chip-remove:focus {
    color: var(--brand-blue);
}

.routing-work-station-input-row {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.routing-work-station-input-row .form-control {
    min-width: 14rem;
}

.routing-work-station-empty {
    color: #6b7280;
    font-weight: 600;
}

.order-lines-shell,
.subgrid-lines-shell,
.order-entry-lineitems,
.order-entry-lineitems .table-responsive {
    overflow: visible;
}

.order-lines-shell,
.subgrid-lines-shell {
    padding-left: 0;
    padding-right: 18px;
    box-sizing: border-box;
}

.customer-entry .order-lines-shell,
.item-entry .order-lines-shell {
    padding-left: 76px;
}

.customer-entry .customer-entry-panels {
  min-height: 320px;
}

.customer-entry .customer-entry-bottom-tabs {
  margin-top: 0.25rem;
}

.item-entry .item-entry-panels {
  min-height: 320px;
}

.item-entry .item-entry-top-panel {
  display: none;
}

.item-entry .item-entry-top-panel.active {
  display: block;
}

.item-entry .item-entry-header > .container-fluid {
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
}

.entity-audit-trail {
  flex: 0 0 100%;
  max-width: 100%;
}

.entity-audit-trail,
.entity-related-documents {
  padding-top: 0.65rem;
  padding-bottom: 0.75rem;
}

.entity-related-documents .item-pricing-search,
.entity-audit-trail .item-pricing-search {
  width: min(100%, 360px);
  min-width: min(100%, 320px);
}

.entity-related-documents .search-with-icon,
.entity-audit-trail .search-with-icon {
  min-height: 38px;
  border-color: #cfd8ea;
  border-radius: 8px;
}

.entity-related-documents .search-with-icon input::placeholder,
.entity-audit-trail .search-with-icon input::placeholder {
  color: #6f7c8b;
  opacity: 1;
}

.entity-audit-table tbody td {
  vertical-align: top;
}

.cash-receipts-entry .tab-content > .tab-pane,
.container-fluid.mt-3 > form > .tab-content > .tab-pane {
  min-height: 220px;
}

.billing-entry .billing-top-tab-content > .tab-pane:not(.show) {
  min-height: 220px;
}

.billing-entry .billing-top-form-content {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  box-sizing: border-box;
}

.customer-entry .customer-top-form-content,
.vendor-entry .vendor-top-form-content,
.receipt-entry .receipt-top-form-content,
.purchase-order-entry .purchase-order-top-form-content,
.order-entry .order-top-form-content,
.quote-entry .quote-top-form-content,
.rma-entry .rma-top-form-content,
.journal-entry-page .journal-top-form-content {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  box-sizing: border-box;
}

.journal-entry-page .journal-entry-top-shell {
  padding: 1rem;
}

.journal-entry-page .empty-state-panel {
  border: 1px solid #eaebf1;
  border-radius: 0.75rem;
  background: #fff;
  padding: 1rem 1.25rem;
}

.journal-entry-page .journal-lines-table td:not(.subgrid-action-cell) {
  vertical-align: middle;
}

.journal-entry-page .journal-lines-table {
  border: 0;
  border-left: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none !important;
}

.journal-entry-page .journal-lines-table thead .subgrid-action-head,
.journal-entry-page .journal-lines-table tbody .subgrid-action-cell {
  background: transparent !important;
  border: 0 !important;
}

.journal-entry-page .journal-lines-table thead.journal-lines-head .subgrid-action-head,
.journal-entry-page .journal-lines-table thead.journal-lines-head > tr > th:first-child,
.journal-entry-page .journal-lines-table tbody > tr > td:first-child,
.journal-entry-page .journal-lines-table tbody > tr > td.subgrid-action-cell {
  background: transparent !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

.journal-entry-page .journal-lines-table thead .subgrid-action-head {
  border-right: 0 !important;
}

.journal-entry-page .journal-lines-table thead.journal-lines-head > tr > th:nth-child(2) {
  background: #132c7c;
  color: #fff;
  border-top-left-radius: 8px;
  border-left: 1px solid #e2e8f2;
}

.journal-entry-page .journal-lines-table thead.journal-lines-head > tr > th:nth-child(n+2) {
  background: #132c7c;
  color: #fff;
}

.journal-entry-page .journal-lines-table thead.journal-lines-head > tr > th:last-child {
  border-right: 1px solid #e2e8f2 !important;
  border-top-right-radius: 8px;
}

.journal-entry-page .journal-lines-table tbody td:nth-child(2) {
  border-left: 1px solid #e2e8f2;
}

.journal-entry-page .journal-lines-table tbody td {
  border-top: 0;
  border-bottom: 1px solid #edf1f7;
}

.journal-entry-page .journal-lines-table tbody td:last-child {
  border-right: 1px solid #e2e8f2;
}

.journal-entry-page .journal-lines-table tbody tr:last-child td:nth-child(2) {
  border-bottom-left-radius: 8px;
}

.journal-entry-page .journal-lines-table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 8px;
}

.journal-entry-page .journal-lines-table tbody .subgrid-action-cell {
  border-top: 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
  --bs-table-accent-bg: transparent !important;
  box-shadow: none !important;
}

.journal-entry-page .journal-lines-table.table-hover > tbody > tr:hover > .subgrid-action-cell,
.journal-entry-page .journal-lines-table > tbody > tr:hover > .subgrid-action-cell,
.journal-entry-page .journal-lines-table > tbody > tr:focus-within > .subgrid-action-cell {
  background: transparent !important;
  --bs-table-accent-bg: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

.journal-entry-page .journal-lines-table .subgrid-edit-field {
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  padding-left: 0;
  padding-right: 0;
  min-height: 2rem;
}

.journal-entry-page .journal-lines-table .subgrid-edit-field:focus {
  background: transparent;
  border: 0;
  box-shadow: none;
  outline: none;
}

#topFormContent:has(#postingPeriodForm) {
  margin-bottom: 1.25rem;
}

.posting-period-status-pill {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1.2;
  min-width: 4.75rem;
  padding: 0.22rem 0.65rem;
  text-transform: uppercase;
}

.posting-period-status-pill--open {
  background: #e8f6ee;
  border-color: #b7e0c6;
  color: #126334;
}

.posting-period-status-pill--closed {
  background: #fff4df;
  border-color: #f0c36a;
  color: #7a4b00;
}

.posting-period-status-pill--neutral {
  background: #eef1f7;
  border-color: #d9dfec;
  color: #4b5875;
}

.location-status-pill {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1.2;
  min-width: 4.75rem;
  padding: 0.22rem 0.65rem;
  text-transform: uppercase;
}

.location-status-pill--active {
  background: #e8f6ee;
  border-color: #b7e0c6;
  color: #126334;
}

.location-status-pill--inactive {
  background: #eef1f7;
  border-color: #d9dfec;
  color: #4b5875;
}

.posting-periods-table thead .posting-periods-actions-head,
.posting-periods-table tbody td.action-col {
  background: transparent !important;
  border-left: 0 !important;
  border-right: 0 !important;
  box-shadow: none !important;
}

.posting-periods-table thead .posting-periods-actions-head {
  width: 5.5rem;
  min-width: 5.5rem;
  max-width: 5.5rem;
  padding: 0 !important;
}

.posting-periods-table tbody td.action-col {
  width: 5.5rem;
  min-width: 5.5rem;
  max-width: 5.5rem;
  text-align: center;
}

.posting-periods-actions {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  opacity: 0;
  pointer-events: none;
  transform: translateY(1px);
  transition: opacity 120ms ease, transform 120ms ease;
}

.posting-periods-table tbody tr:hover .posting-periods-actions,
.posting-periods-table tbody tr:focus-within .posting-periods-actions {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.item-entry .item-entry-panel {
  display: none;
}

.item-entry .item-entry-panel.active {
  display: block;
}

.item-entry .item-entry-bottom-tabs {
  margin-top: 0.25rem;
}

.item-entry .item-pricing-filters .item-pricing-search {
  min-width: 260px;
}

.item-entry .item-lot-filters .item-lot-search {
  min-width: 260px;
}

.item-entry .item-routing-empty-state {
  background: #f8f9fc;
  color: #4e576c;
}

.item-entry #itemRoutingTable td {
  white-space: normal;
}

.item-entry #itemRoutingTable .item-routing-notes-text {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.inspection-report-entry .inspection-report-status-pill {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 0 0.85rem;
  border-radius: 999px;
  background: #e8eefc;
  color: #24449b;
  font-weight: 500;
}

.inspection-report-entry .inspection-measurements-table th,
.inspection-report-entry .inspection-measurements-table td {
  vertical-align: middle;
  white-space: nowrap;
}

.inspection-report-entry .inspection-measurements-table thead th {
  background: #132c7c;
  color: #fff;
  border-color: #132c7c;
}

.customer-entry .customer-entry-panel {
  display: none;
}

.customer-entry .customer-entry-panel.active {
  display: block;
}

.customer-entry .customer-entry-table thead th,
.customer-entry .customer-entry-table tbody td,
.item-entry .customer-entry-table thead th,
.item-entry .customer-entry-table tbody td {
  white-space: nowrap;
  vertical-align: middle;
}

.customer-entry .customer-entry-table tbody td,
.item-entry .customer-entry-table tbody td {
  min-width: 110px;
}

.customer-entry .customer-entry-table tbody td .form-control,
.item-entry .customer-entry-table tbody td .form-control,
.item-entry .customer-entry-table tbody td .form-select,
.item-entry .customer-entry-table tbody td textarea {
  min-width: 120px;
}

.customer-entry .item-pricing-filters .item-pricing-search {
  min-width: 260px;
}

.customer-entry .customer-readonly-table tbody tr a {
  color: var(--blue);
  text-decoration: none;
}

.customer-entry .customer-readonly-table tbody tr a:hover {
  text-decoration: underline;
}

.customer-entry .customer-grid-check {
  margin-top: 0;
}

.customer-entry .customer-subgrid .oe-line-menu .nav-link {
  pointer-events: none;
}

.customer-entry .subgrid-display-field,
.item-entry .subgrid-display-field {
  display: inline-block;
  min-height: 1.25rem;
  color: #1f2533;
}

.customer-entry .subgrid-row .subgrid-edit-trigger,
.item-entry .subgrid-row .subgrid-edit-trigger,
.item-entry .subgrid-row .lot-print-trigger {
  opacity: 0;
}

.customer-entry .subgrid-row:hover .subgrid-edit-trigger,
.customer-entry .subgrid-row.is-editing .subgrid-save-trigger,
.customer-entry .subgrid-row.is-editing .subgrid-cancel-trigger,
.customer-entry .subgrid-row.is-editing .subgrid-delete-trigger,
.item-entry .subgrid-row:hover .subgrid-edit-trigger,
.item-entry .subgrid-row:hover .lot-print-trigger,
.item-entry .subgrid-row.is-editing .subgrid-save-trigger,
.item-entry .subgrid-row.is-editing .subgrid-cancel-trigger,
.item-entry .subgrid-row.is-editing .subgrid-delete-trigger {
  opacity: 1;
}

.item-entry .lot-print-trigger {
  left: 4px;
}

.customer-entry .subgrid-save-trigger,
.item-entry .subgrid-save-trigger {
  left: -66px;
  right: auto;
}

.customer-entry .subgrid-cancel-trigger,
.item-entry .subgrid-cancel-trigger {
  left: -40px;
  right: auto;
}

.customer-entry .subgrid-delete-trigger,
.item-entry .subgrid-delete-trigger {
  left: -14px;
  right: auto;
}

.line-action-head,
.line-row-actions {
    width: 0;
    min-width: 0;
    max-width: 0;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    position: relative;
    overflow: visible !important;
}

.order-line-toolbar {
    position: relative;
    height: 0;
}

.subgrid-toolbar {
    position: relative;
    height: 0;
}

.add-line-item {
    border: 1.5px solid #2c63d7 !important;
    background: #fff !important;
    color: #2c63d7 !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    padding: 0 !important;
    width: 24px;
    height: 24px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 999px !important;
    box-shadow: 0 1px 3px rgba(17, 24, 39, 0.12);
    position: absolute;
    left: 6px;
    top: 8px;
    z-index: 2;
}

.add-line-item > span {
    display: block;
    line-height: 1;
    transform: translateY(-0.5px);
}

.subgrid-toolbar .add-line-item,
.order-line-toolbar .add-line-item {
    left: 6px;
    top: 8px;
}

.accounting-subgrid-toolbar {
    height: 0;
    margin-bottom: 0;
}

.accounting-subgrid-toolbar .add-line-item {
    left: 6px;
    top: 8px;
    transform: none;
}

.line-row-action {
    border: 0;
    background: transparent;
    color: var(--blue);
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: auto;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
}

.tooltip.arcon-large-tooltip {
    --bs-tooltip-max-width: 280px;
    --bs-tooltip-padding-x: 0.75rem;
    --bs-tooltip-padding-y: 0.55rem;
    --bs-tooltip-font-size: 0.95rem;
}

.tooltip.arcon-large-tooltip .tooltip-inner {
    line-height: 1.35;
    text-align: left;
    font-weight: 600;
}

.subgrid-row .subgrid-edit-trigger {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.15s ease;
}

.subgrid-row:hover .subgrid-edit-trigger,
.subgrid-row:focus-within .subgrid-edit-trigger,
.subgrid-row .line-row-actions:hover .subgrid-edit-trigger,
.subgrid-row .line-row-actions:focus-within .subgrid-edit-trigger {
    opacity: 1;
    pointer-events: auto;
}

.subgrid-row .subgrid-edit-trigger.d-none {
    opacity: 0 !important;
    pointer-events: none !important;
}

.subgrid-row .subgrid-hover-action {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.15s ease;
}

.subgrid-row:hover .subgrid-hover-action,
.subgrid-row:focus-within .subgrid-hover-action,
.subgrid-row .line-row-actions:hover .subgrid-hover-action,
.subgrid-row .line-row-actions:focus-within .subgrid-hover-action {
    opacity: 1;
    pointer-events: auto;
}

.line-save-trigger {
    right: 36px;
}

.line-delete-trigger,
.schedule-delete-trigger {
    right: 8px;
}

.schedule-save-trigger {
    right: 36px;
}

.order-line-row .line-edit-trigger,
.order-schedule-row .schedule-edit-trigger {
    opacity: 0;
}

.order-line-row:hover .line-edit-trigger,
.order-line-row:focus-within .line-edit-trigger,
.order-line-row.is-selected .line-edit-trigger,
.order-line-row.is-editing .line-save-trigger,
.order-line-row.is-editing .line-delete-trigger,
.order-schedule-row:hover .schedule-edit-trigger,
.order-schedule-row.is-editing .schedule-save-trigger,
.order-schedule-row.is-editing .schedule-delete-trigger {
    opacity: 1;
}

.order-line-row.is-selected td:not(.line-row-actions) {
    background: rgba(37, 99, 235, 0.08);
}

.schedule-context-label {
    color: #5d6474;
    font-size: 0.88rem;
    margin-bottom: 0.35rem;
    display: none;
}

.line-product-token {
    color: #7180a0;
    font-size: 0.9rem;
}

.line-product-name {
    color: #7b869c;
    font-size: 0.82rem;
    margin-top: 0.1rem;
}

.order-entry .order-entry-lineitems {
    background: transparent;
}

.order-entry .order-entry-lineitems .card-body {
    padding-top: 0 !important;
}

.order-entry .order-lines-shell,
.order-entry .subgrid-lines-shell {
    padding-left: 0;
    padding-right: 18px;
    overflow: visible;
}

.order-entry .order-lines-table,
.order-entry .subgrid-table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    border: 1px solid #e2e8f2;
    border-radius: 8px;
    overflow: visible;
    background: #fff;
    box-shadow: none;
}

.order-entry .subgrid-action-rail-table {
    border-radius: 0 8px 8px 8px;
}

.order-entry .order-lines-table thead th,
.order-entry .subgrid-table thead th {
    background: #132c7c;
    color: #fff;
    border-right: 1px solid rgba(255, 255, 255, 0.34);
    border-bottom: 0;
    padding: 9px 14px;
    font-size: 0.92rem;
    font-weight: 500;
    white-space: nowrap;
}

.order-entry .order-lines-table thead .line-action-head,
.order-entry .order-lines-table tbody .line-row-actions,
.order-entry .subgrid-table thead .subgrid-action-head,
.order-entry .subgrid-table tbody .subgrid-action-cell {
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.order-entry .order-lines-table thead th:last-child,
.order-entry .subgrid-table thead th:last-child {
    border-right: 0;
}

.order-entry .order-lines-table tbody td,
.order-entry .subgrid-table tbody td {
    padding: 9px 14px;
    border-top: 1px solid #edf1f7;
    color: #273142;
    font-size: 0.95rem;
    vertical-align: middle;
}

.order-entry .order-lines-table tbody .line-row-actions,
.order-entry .subgrid-table tbody .subgrid-action-cell {
    position: relative;
    overflow: visible;
}

.entity-document-panel.card {
    border: 0;
    box-shadow: none;
    background: transparent;
}

.entity-document-panel > .card-body {
    padding: 0;
}

.entity-document-panel .entity-document-edit-panel {
    border: 0;
    box-shadow: none;
    background: #f8fafc;
}

.order-entry .entity-document-panel .entity-document-table,
.billing-entry .entity-document-panel .entity-document-table,
.customer-entry .entity-document-panel .entity-document-table {
    border: 0;
}

.billing-entry .order-lines-table thead .line-action-head,
.billing-entry .order-lines-table tbody .line-row-actions {
    width: 70px !important;
    min-width: 70px !important;
    max-width: 70px !important;
    padding: 0 8px 0 6px !important;
    border-right: 1px solid #edf1f7 !important;
    background: #fff !important;
    white-space: nowrap;
}

.billing-entry .order-lines-table thead .line-action-head {
    background: #132c7c !important;
    border-right: 1px solid rgba(255, 255, 255, 0.34) !important;
}

.billing-entry .order-lines-table .line-row-action {
    position: static;
    transform: none;
    margin: 0 6px 0 0;
    vertical-align: middle;
}

.billing-entry .order-lines-table .line-row-action:last-child {
    margin-right: 0;
}

.order-entry .subgrid-action-rail-table {
    border: 0;
    border-left: 0;
    border-radius: 0;
    background: transparent;
}

.order-entry .subgrid-action-rail-table thead .subgrid-action-head,
.order-entry .subgrid-action-rail-table tbody .subgrid-action-cell {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: center;
}

.order-entry .subgrid-action-rail-table thead .subgrid-action-head {
    position: relative;
    background: transparent !important;
    border-right: 0 !important;
    vertical-align: middle;
    text-align: right;
}

.order-entry .subgrid-action-rail-table thead .subgrid-action-head .add-line-item {
    position: relative;
    transform: none;
    margin: 0 .5em 0 auto;
    vertical-align: middle;
    text-align: center;
    top: unset;
    left: unset;
}

.order-entry .subgrid-action-rail-table thead th:nth-child(2) {
    background: #132c7c;
    color: #fff;
    border-top-left-radius: 8px;
    border-left: 1px solid #e2e8f2;
}

.order-entry .subgrid-action-rail-table thead th:nth-child(n+2) {
    background: #132c7c;
    color: #fff;
}

.order-entry .subgrid-action-rail-table tbody td:nth-child(2) {
    border-left: 1px solid #e2e8f2;
}

.order-entry .subgrid-action-rail-table tbody td {
    border-top: 0;
    border-bottom: 1px solid #edf1f7;
}

.order-entry .subgrid-action-rail-table thead th:last-child {
    border-right: 1px solid #e2e8f2 !important;
    border-top-right-radius: 8px;
}

.order-entry .subgrid-action-rail-table tbody .subgrid-action-cell {
    display: table-cell;
    justify-content: flex-end;
    gap: 8px;
    white-space: nowrap;
    border-top: 0 !important;
    border-bottom: 0 !important;
    height: 100%;
    min-height: 100%;
    vertical-align: middle;
    text-align: right;
    padding-right: 0.25em !important;
}

.order-entry .subgrid-action-rail-table tbody tr:last-child td:nth-child(2) {
    border-bottom-left-radius: 8px;
}

.order-entry .subgrid-action-rail-table tbody td:last-child {
    border-right: 1px solid #e2e8f2;
}

.order-entry .subgrid-action-rail-table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 8px;
}

.order-entry .subgrid-action-rail-table .line-row-action {
    position: static;
    transform: none;
    margin: 0;
    font-size: 11px;
}

:is(.billing-entry, .customer-entry, .item-entry, .vendor-entry, .rma-entry) .subgrid-action-rail-table .subgrid-row.is-editing td:not(.line-row-actions):has(.subgrid-edit-field:not(.d-none)) {
    background: #fff9c3;
}

:is(.billing-entry, .customer-entry, .item-entry, .vendor-entry, .rma-entry) .subgrid-action-rail-table .subgrid-row.is-editing .subgrid-edit-field:not(.d-none) {
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    padding-left: 0;
    padding-right: 0;
}

:is(.billing-entry, .customer-entry, .item-entry, .vendor-entry, .rma-entry) .subgrid-action-rail-table .subgrid-row.is-editing .subgrid-edit-field:not(.d-none) .form-control,
:is(.billing-entry, .customer-entry, .item-entry, .vendor-entry, .rma-entry) .subgrid-action-rail-table .subgrid-row.is-editing .subgrid-edit-field:not(.d-none) .form-select {
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    padding-left: 0;
    padding-right: 0;
}

:is(.billing-entry, .customer-entry, .item-entry, .vendor-entry, .rma-entry) .subgrid-action-rail-table .subgrid-row.is-editing .subgrid-edit-field:not(.d-none):focus,
:is(.billing-entry, .customer-entry, .item-entry, .vendor-entry, .rma-entry) .subgrid-action-rail-table .subgrid-row.is-editing .subgrid-edit-field:not(.d-none) .form-control:focus,
:is(.billing-entry, .customer-entry, .item-entry, .vendor-entry, .rma-entry) .subgrid-action-rail-table .subgrid-row.is-editing .subgrid-edit-field:not(.d-none) .form-select:focus {
    background: transparent;
    border: 0;
    box-shadow: none;
    outline: none;
}

.order-entry .subgrid-action-rail-table .order-line-row.is-editing td:not(.line-row-actions):has(.line-edit-field:not(.d-none)) {
    background: #fff9c3;
}

.order-entry .subgrid-action-rail-table .order-line-row.is-editing .line-edit-field:not(.d-none),
.order-entry .subgrid-action-rail-table .order-line-row.is-editing .line-edit-field:not(.d-none) .form-control {
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    padding-left: 0;
    padding-right: 0;
}

.order-entry .subgrid-action-rail-table .order-line-row.is-editing .line-edit-field:not(.d-none):focus,
.order-entry .subgrid-action-rail-table .order-line-row.is-editing .line-edit-field:not(.d-none) .form-control:focus {
    background: transparent;
    border: 0;
    box-shadow: none;
    outline: none;
}

.item-specification-table-shell {
    padding-bottom: 1.25rem;
}

#itemSpecificationFormTable thead th {
    font-weight: 500;
}

.order-entry .line-price-text {
    vertical-align: middle;
}

.order-entry .line-price-variance {
    align-items: center;
    display: inline-flex;
    height: 1.25rem;
    justify-content: center;
    line-height: 1;
    margin-left: 0.4rem;
    vertical-align: middle;
}

.order-entry .line-price-variance.d-none {
    display: none !important;
}

.order-entry .line-price-variance-icon {
    align-items: center;
    background: #fff;
    border: 2px solid #ffb300;
    border-radius: 999px;
    color: #ffb300;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.75rem;
    font-weight: 800;
    height: 1.1rem;
    justify-content: center;
    line-height: 1;
    width: 1.1rem;
}

.order-entry .order-line-row.is-schedule-managed .line-lot-text {
    color: #687386;
    font-weight: 400;
}

.order-entry .subgrid-action-rail-table .order-schedule-row.is-editing td:not(.line-row-actions):has(.schedule-edit-field:not(.d-none)),
.order-entry .subgrid-action-rail-table .order-shipment-row.is-editing td:not(.line-row-actions):has(.shipment-edit-field:not(.d-none)),
.order-entry .subgrid-action-rail-table .order-item-shipment-row.is-editing td:not(.line-row-actions):has(.item-shipment-edit-field:not(.d-none)) {
    background: #fff9c3;
}

.order-entry .subgrid-action-rail-table .order-schedule-row.is-editing .schedule-edit-field:not(.d-none),
.order-entry .subgrid-action-rail-table .order-shipment-row.is-editing .shipment-edit-field:not(.d-none),
.order-entry .subgrid-action-rail-table .order-item-shipment-row.is-editing .item-shipment-edit-field:not(.d-none) {
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    padding-left: 0;
    padding-right: 0;
}

.order-entry .subgrid-action-rail-table .order-schedule-row.is-editing .schedule-edit-field:not(.d-none):focus,
.order-entry .subgrid-action-rail-table .order-shipment-row.is-editing .shipment-edit-field:not(.d-none):focus,
.order-entry .subgrid-action-rail-table .order-item-shipment-row.is-editing .item-shipment-edit-field:not(.d-none):focus {
    background: transparent;
    border: 0;
    box-shadow: none;
    outline: none;
}

.quote-entry .quote-line-subgrid-table tbody td:has(.quote-line-product-select),
.quote-entry .quote-line-subgrid-table tbody td:has(.quote-line-description-input),
.quote-entry .quote-line-subgrid-table tbody td:has(.quote-line-revision-input),
.quote-entry .quote-line-subgrid-table tbody td:has(.quote-line-reference-input),
.quote-entry .quote-line-subgrid-table tbody td:has(.quote-line-qty-input),
.quote-entry .quote-line-subgrid-table tbody td:has(.quote-line-price-input) {
    background: #fff9c3;
}

.quote-entry .quote-line-subgrid-table .quote-line-product-select,
.quote-entry .quote-line-subgrid-table .quote-line-description-input,
.quote-entry .quote-line-subgrid-table .quote-line-revision-input,
.quote-entry .quote-line-subgrid-table .quote-line-reference-input,
.quote-entry .quote-line-subgrid-table .quote-line-qty-input,
.quote-entry .quote-line-subgrid-table .quote-line-price-input {
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
}

.quote-entry .quote-line-subgrid-table .quote-line-product-select:focus,
.quote-entry .quote-line-subgrid-table .quote-line-description-input:focus,
.quote-entry .quote-line-subgrid-table .quote-line-revision-input:focus,
.quote-entry .quote-line-subgrid-table .quote-line-reference-input:focus,
.quote-entry .quote-line-subgrid-table .quote-line-qty-input:focus,
.quote-entry .quote-line-subgrid-table .quote-line-price-input:focus {
    background: transparent;
    border: 0;
    box-shadow: none;
    outline: none;
}

.quote-entry .quote-schedule-subgrid-table tbody td:has(.quote-schedule-release-date-input),
.quote-entry .quote-schedule-subgrid-table tbody td:has(.quote-schedule-release-qty-input),
.quote-entry .quote-schedule-subgrid-table tbody td:has(.quote-schedule-expedite-input),
.quote-entry .quote-schedule-subgrid-table tbody td:has(.quote-schedule-pick-input),
.quote-entry .quote-schedule-subgrid-table tbody td:has(.quote-schedule-picked-input),
.quote-entry .quote-schedule-subgrid-table tbody td:has(.quote-schedule-quoted-input),
.quote-entry .quote-schedule-subgrid-table tbody td:has(.quote-schedule-allocated-input) {
    background: #fff9c3;
}

.quote-entry .quote-schedule-subgrid-table .quote-schedule-release-date-input,
.quote-entry .quote-schedule-subgrid-table .quote-schedule-release-qty-input,
.quote-entry .quote-schedule-subgrid-table .quote-schedule-expedite-input,
.quote-entry .quote-schedule-subgrid-table .quote-schedule-pick-input,
.quote-entry .quote-schedule-subgrid-table .quote-schedule-picked-input,
.quote-entry .quote-schedule-subgrid-table .quote-schedule-quoted-input,
.quote-entry .quote-schedule-subgrid-table .quote-schedule-allocated-input {
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
}

.quote-entry .quote-schedule-subgrid-table .quote-schedule-release-date-input:focus,
.quote-entry .quote-schedule-subgrid-table .quote-schedule-release-qty-input:focus,
.quote-entry .quote-schedule-subgrid-table .quote-schedule-expedite-input:focus,
.quote-entry .quote-schedule-subgrid-table .quote-schedule-pick-input:focus,
.quote-entry .quote-schedule-subgrid-table .quote-schedule-picked-input:focus,
.quote-entry .quote-schedule-subgrid-table .quote-schedule-quoted-input:focus,
.quote-entry .quote-schedule-subgrid-table .quote-schedule-allocated-input:focus {
    background: transparent;
    border: 0;
    box-shadow: none;
    outline: none;
}

.order-entry .order-shipments-shell {
    padding-left: 18px;
    padding-right: 24px;
}

.order-entry .order-shipments-table thead .line-action-head,
.order-entry .order-shipments-table tbody .line-row-actions {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: center;
}

.order-entry .order-shipments-table thead .line-action-head {
    background: transparent !important;
    border-right: 0 !important;
    text-align: right;
}

.order-entry .order-shipments-table .line-row-action {
    position: static;
    transform: none;
    margin: 0;
    font-size: 11px;
}

.order-entry .order-shipments-table .shipment-save-trigger,
.order-entry .order-shipments-table .shipment-delete-trigger,
.order-entry .order-shipments-table .shipment-edit-trigger {
    right: auto;
}

.order-entry .order-shipments-add-btn {
    margin: 0 .5em 0 auto;
}

.order-entry .order-item-shipments-shell {
    padding-left: 18px;
    padding-right: 24px;
}

.order-entry .order-item-shipments-table thead .line-action-head,
.order-entry .order-item-shipments-table tbody .line-row-actions {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    padding: 0 8px 0 6px !important;
    border-right: 1px solid #edf1f7 !important;
    background: #fff !important;
}

.order-entry .order-item-shipments-table thead .line-action-head {
    background: #132c7c !important;
    border-right: 1px solid rgba(255, 255, 255, 0.34) !important;
}

.order-entry .order-item-shipments-table .line-row-action {
    position: static;
    transform: none;
    margin: 0 auto;
}

.order-entry .order-item-shipments-table .item-shipment-save-trigger,
.order-entry .order-item-shipments-table .item-shipment-delete-trigger,
.order-entry .order-item-shipments-table .item-shipment-edit-trigger {
    right: auto;
}

.order-entry .order-item-shipments-add-btn {
    margin-right: 0;
    box-shadow: 0 1px 3px rgba(17, 24, 39, 0.12);
}

.order-pricing-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 0.85rem;
}

.order-pricing-search-wrap {
    max-width: 320px;
}

.order-pricing-meta {
    margin-bottom: 0.6rem;
    color: #5f6c86;
    font-size: 0.92rem;
}

.order-entry .order-lines-table tbody tr:first-child td,
.order-entry .subgrid-table tbody tr:first-child td {
    border-top: 0;
}

.cash-receipts-entry {
    padding: 0.75rem 1.25rem 1.5rem;
}

.cash-receipts-entry .order-entry-tabs {
    flex-wrap: wrap;
    row-gap: 0.45rem;
}

.cash-receipts-entry .cash-receipts-top-shell {
    height: 320px;
    overflow-y: auto;
    overflow-x: hidden;
    background: #ffffff;
    padding: 0.75rem;
    border-radius: 6px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

.cash-receipts-entry .cash-receipts-primary-card {
    border: 1px solid #e6e7ea;
    border-radius: 8px;
    box-shadow: none;
    background: #fff;
}

.cash-receipts-entry .cash-receipts-primary-card .card-body {
    padding: 1rem;
}

.cash-receipts-entry .cash-receipts-lineitems {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

.cash-receipts-entry .cash-receipts-lineitems .card-body {
    padding: 0;
}

.cash-receipts-entry .cash-receipts-panels {
    padding-top: 0;
}

.cash-receipts-entry .cash-receipts-primary-card .form-label {
    font-weight: 500;
    margin-bottom: 0.35rem;
    color: #111827;
}

.cash-receipts-entry .cash-receipts-lineitems .order-entry-tabs {
    margin-top: 0;
}

.cash-receipts-entry .cash-receipts-invoice-tools {
    display: flex;
    justify-content: flex-end;
}

.cash-receipts-entry .cash-receipts-invoice-filter {
    width: min(360px, 100%);
}

.cash-receipts-entry .cash-receipts-table {
    width: 100%;
    min-width: 1200px;
}

.cash-receipts-entry .cash-receipts-table thead th {
    white-space: nowrap;
}

.cash-receipts-entry .cash-receipts-table tbody td {
    white-space: nowrap;
}

.cash-receipts-entry .cash-receipts-table input.form-control-sm {
    min-width: 92px;
}

.cash-receipts-entry .pagination {
    margin-top: 1rem;
}

.order-quick-actions-shell {
    position: static;
}

.order-quick-actions-trigger {
    min-width: 136px;
    border-radius: 999px;
    box-shadow: 0 8px 18px rgba(19, 44, 124, 0.18);
}

.order-quick-actions-flyout {
    position: fixed;
    top: 96px;
    left: 0;
    width: 330px;
    background: #eef1f8;
    border: 1px solid #ccd4e4;
    border-radius: 12px;
    box-shadow: 0 16px 28px rgba(15, 24, 53, 0.18);
    padding: 1rem 1rem 0.9rem;
    z-index: 2300;
}

.order-quick-actions-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.8rem 0;
    border-bottom: 1px solid #d7ddea;
}

.order-quick-actions-row:last-of-type {
    border-bottom: 0;
}

.order-quick-actions-title {
    font-weight: 600;
    color: #232b39;
}

.order-quick-actions-row .form-check {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.order-quick-actions-row .form-check-input {
    margin-top: 0;
}

.order-quick-actions-apply {
    min-width: 110px;
    border-radius: 999px;
}

.entry-status-messages {
    display: grid;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.entry-status-message {
    border: 1px solid transparent;
    border-radius: 6px;
    padding: 0.65rem 0.85rem;
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.35;
}

.entry-status-message--success {
    background: #e8f6ee;
    border-color: #b7e0c6;
    color: #126334;
}

.entry-status-message--error {
    background: #fdecec;
    border-color: #f3b7b7;
    color: #8a1f1f;
}

.entry-status-message__list {
    margin: 0;
    padding-left: 1.1rem;
}

#customersTable_wrapper .dataTables_scroll,
#vendorsTable_wrapper .dataTables_scroll,
#processTransactionsTable_wrapper .dataTables_scroll,
#receiptsTable_wrapper .dataTables_scroll,
#cashReceiptsTable_wrapper .dataTables_scroll,
#itemsTable_wrapper .dataTables_scroll,
#ordersTable_wrapper .dataTables_scroll,
#quotesTable_wrapper .dataTables_scroll,
#purchaseOrdersTable_wrapper .dataTables_scroll,
#rmasTable_wrapper .dataTables_scroll,
#journalEntriesTable_wrapper .dataTables_scroll,
#creditMemosTable_wrapper .dataTables_scroll,
#billsTable_wrapper .dataTables_scroll,
#invoicesTable_wrapper .dataTables_scroll,
#inspectionReportsTable_wrapper .dataTables_scroll,
#customersTable_wrapper .dataTables_scrollBody,
#vendorsTable_wrapper .dataTables_scrollBody,
#processTransactionsTable_wrapper .dataTables_scrollBody,
#receiptsTable_wrapper .dataTables_scrollBody,
#cashReceiptsTable_wrapper .dataTables_scrollBody,
#itemsTable_wrapper .dataTables_scrollBody,
#ordersTable_wrapper .dataTables_scrollBody,
#quotesTable_wrapper .dataTables_scrollBody,
#purchaseOrdersTable_wrapper .dataTables_scrollBody,
#rmasTable_wrapper .dataTables_scrollBody,
#journalEntriesTable_wrapper .dataTables_scrollBody,
#creditMemosTable_wrapper .dataTables_scrollBody,
#billsTable_wrapper .dataTables_scrollBody,
#invoicesTable_wrapper .dataTables_scrollBody,
#inspectionReportsTable_wrapper .dataTables_scrollBody,
#customersTable_wrapper .dataTables_wrapper,
#vendorsTable_wrapper .dataTables_wrapper,
#processTransactionsTable_wrapper .dataTables_wrapper,
#receiptsTable_wrapper .dataTables_wrapper,
#cashReceiptsTable_wrapper .dataTables_wrapper,
#itemsTable_wrapper .dataTables_wrapper,
#ordersTable_wrapper .dataTables_wrapper,
#quotesTable_wrapper .dataTables_wrapper,
#purchaseOrdersTable_wrapper .dataTables_wrapper,
#rmasTable_wrapper .dataTables_wrapper,
#journalEntriesTable_wrapper .dataTables_wrapper,
#creditMemosTable_wrapper .dataTables_wrapper,
#billsTable_wrapper .dataTables_wrapper,
#invoicesTable_wrapper .dataTables_wrapper,
#inspectionReportsTable_wrapper .dataTables_wrapper,
#usersTable_wrapper .dataTables_wrapper {
    overflow: visible !important;
}

#customersTable_wrapper,
#vendorsTable_wrapper,
#processTransactionsTable_wrapper,
#receiptsTable_wrapper,
#cashReceiptsTable_wrapper,
#itemsTable_wrapper,
#ordersTable_wrapper,
#quotesTable_wrapper,
#purchaseOrdersTable_wrapper,
#rmasTable_wrapper,
#journalEntriesTable_wrapper,
#creditMemosTable_wrapper,
#billsTable_wrapper,
#invoicesTable_wrapper,
#inspectionReportsTable_wrapper,
#usersTable_wrapper {
    padding-right: 0;
    box-sizing: border-box;
}

#customersTable tbody td:not(.action-col),
#vendorsTable tbody td:not(.action-col),
#processTransactionsTable tbody td:not(.action-col),
#receiptsTable tbody td:not(.action-col),
#cashReceiptsTable tbody td:not(.action-col),
#itemsTable tbody td:not(.action-col),
#ordersTable tbody td:not(.action-col),
#quotesTable tbody td:not(.action-col),
#purchaseOrdersTable tbody td:not(.action-col),
#rmasTable tbody td:not(.action-col),
#journalEntriesTable tbody td:not(.action-col),
#creditMemosTable tbody td:not(.action-col),
#billsTable tbody td:not(.action-col),
#invoicesTable tbody td:not(.action-col),
#inspectionReportsTable tbody td:not(.action-col),
#usersTable tbody td:not(.action-col) {
    border-right: 0;
}

#customersTable tbody tr:hover td:not(.action-col),
#vendorsTable tbody tr:hover td:not(.action-col),
#processTransactionsTable tbody tr:hover td:not(.action-col),
#receiptsTable tbody tr:hover td:not(.action-col),
#cashReceiptsTable tbody tr:hover td:not(.action-col),
#itemsTable tbody tr:hover td:not(.action-col),
#ordersTable tbody tr:hover td:not(.action-col),
#quotesTable tbody tr:hover td:not(.action-col),
#purchaseOrdersTable tbody tr:hover td:not(.action-col),
#rmasTable tbody tr:hover td:not(.action-col),
#journalEntriesTable tbody tr:hover td:not(.action-col),
#creditMemosTable tbody tr:hover td:not(.action-col),
#billsTable tbody tr:hover td:not(.action-col),
#invoicesTable tbody tr:hover td:not(.action-col),
#inspectionReportsTable tbody tr:hover td:not(.action-col),
#usersTable tbody tr:hover td:not(.action-col) {
    background-color: #e9ecf3 !important;
}

@media (max-width: 640px) {
    #customersTable_wrapper,
    #vendorsTable_wrapper,
    #processTransactionsTable_wrapper,
    #receiptsTable_wrapper,
    #cashReceiptsTable_wrapper,
    #itemsTable_wrapper,
    #ordersTable_wrapper,
    #quotesTable_wrapper,
    #purchaseOrdersTable_wrapper,
    #rmasTable_wrapper,
    #journalEntriesTable_wrapper,
    #creditMemosTable_wrapper,
    #billsTable_wrapper,
    #invoicesTable_wrapper,
    #inspectionReportsTable_wrapper,
    #usersTable_wrapper,
    .mobile-card-listing-wrapper {
        padding-right: 0 !important;
    }

    #customersTable.mobile-card-listing tbody tr:hover td:not(.action-col),
    #vendorsTable.mobile-card-listing tbody tr:hover td:not(.action-col),
    #processTransactionsTable.mobile-card-listing tbody tr:hover td:not(.action-col),
    #receiptsTable.mobile-card-listing tbody tr:hover td:not(.action-col),
    #cashReceiptsTable.mobile-card-listing tbody tr:hover td:not(.action-col),
    #itemsTable.mobile-card-listing tbody tr:hover td:not(.action-col),
    #ordersTable.mobile-card-listing tbody tr:hover td:not(.action-col),
    #quotesTable.mobile-card-listing tbody tr:hover td:not(.action-col),
    #purchaseOrdersTable.mobile-card-listing tbody tr:hover td:not(.action-col),
    #rmasTable.mobile-card-listing tbody tr:hover td:not(.action-col),
    #journalEntriesTable.mobile-card-listing tbody tr:hover td:not(.action-col),
    #creditMemosTable.mobile-card-listing tbody tr:hover td:not(.action-col),
    #billsTable.mobile-card-listing tbody tr:hover td:not(.action-col),
    #invoicesTable.mobile-card-listing tbody tr:hover td:not(.action-col),
    #inspectionReportsTable.mobile-card-listing tbody tr:hover td:not(.action-col),
    #usersTable.mobile-card-listing tbody tr:hover td:not(.action-col),
    table.mobile-card-listing tbody tr:hover td:not(.action-col) {
        background: transparent !important;
        box-shadow: none !important;
    }
}

.attachment-form-message {
    border-radius: 6px;
    font-size: 0.9rem;
    padding: 0.65rem 0.75rem;
}

.attachment-form-message--error {
    background: #fdecec;
    border: 1px solid #f3b7b7;
    color: #8a1f1f;
}

.attachment-form-message--success {
    background: #e8f6ee;
    border: 1px solid #b7e0c6;
    color: #126334;
}

.attachment-preview-header {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.attachment-preview-header > div:first-child {
    flex: 1 1 auto;
    min-width: 0;
}

.attachment-preview-header [data-doc-close-after-upload] {
    flex: 0 0 auto;
    white-space: nowrap;
}

.subgrid-scroll-host,
.table-range-scroll-host,
.listing-table-scroll-host {
    overflow-x: auto !important;
    overflow-y: visible;
    scrollbar-width: none;
    width: 100%;
}

.subgrid-scroll-host::-webkit-scrollbar,
.table-range-scroll-host::-webkit-scrollbar,
.listing-table-scroll-host::-webkit-scrollbar {
    display: none;
}

.listing-table_wrapper > .listing-table-scroll-host,
.app-datatable-wrapper > .listing-table-scroll-host,
[id$='Table_wrapper'] > .listing-table-scroll-host {
    display: block;
}

.listing-table_wrapper > .subgrid-horizontal-scroll,
.app-datatable-wrapper > .subgrid-horizontal-scroll,
[id$='Table_wrapper'] > .subgrid-horizontal-scroll {
    clear: both;
    flex: 0 0 auto;
    margin-bottom: 0.25rem;
    position: relative;
    z-index: 1;
}

.subgrid-horizontal-scroll {
    --subgrid-scroll-progress: 0%;
    align-items: center;
    display: none;
    justify-content: stretch;
    min-height: 28px;
    padding: 0.35rem 0 0.15rem;
    width: 100%;
}

.subgrid-horizontal-scroll.is-visible {
    display: flex;
}

.subgrid-horizontal-scroll__range {
    appearance: none;
    -webkit-appearance: none;
    background: linear-gradient(90deg, #dbdffc 0%, #dbdffc var(--subgrid-scroll-progress), #eef0f4 var(--subgrid-scroll-progress), #eef0f4 100%);
    border: 1px solid #ffffff;
    border-radius: 999px;
    cursor: grab;
    flex: 1 1 auto;
    height: 10px;
    max-width: none;
    min-width: 0;
    outline: none;
    margin-top: 1em;
    width: 100%;
}

.subgrid-horizontal-scroll__range:active {
    cursor: grabbing;
}

.subgrid-horizontal-scroll__range::-webkit-slider-runnable-track {
    background: transparent;
    border-radius: 999px;
    height: 10px;
}

.subgrid-horizontal-scroll__range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    background: #051e6b;
    border: 1px solid rgba(13, 46, 114, 0.08);
    border-radius: 999px;
    height: 16px;
    margin-top: -3px;
    width: 16px;
}

.subgrid-horizontal-scroll__range::-moz-range-track {
    background: transparent;
    border: 0;
    border-radius: 999px;
    height: 10px;
}

.subgrid-horizontal-scroll__range::-moz-range-thumb {
    background: #051e6b;
    border: 1px solid rgba(13, 46, 114, 0.08);
    border-radius: 999px;
    height: 16px;
    width: 16px;
}

.work-order-entry-modal .modal-body .form-label {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0;
    margin-top: 0.65rem;
    margin-bottom: 0.15rem;
}

.work-order-entry-modal .modal-body .form-group:first-child .form-label {
    margin-top: 0;
}

.subgrid-horizontal-scroll__range:focus-visible {
    box-shadow:
        inset 0 0 0 1px rgba(13, 46, 114, 0.08),
        0 0 0 0.16rem rgba(57, 201, 240, 0.28),
        0 3px 8px rgba(15, 24, 53, 0.1);
}

@media (max-width: 991px) {
    .order-entry :is(
        .order-header .container-fluid,
        .billing-top-form-content,
        .customer-top-form-content,
        .vendor-top-form-content,
        .receipt-top-form-content,
        .purchase-order-top-form-content,
        .order-top-form-content,
        .quote-top-form-content,
        .rma-top-form-content,
        .journal-top-form-content
    ) > .row > [class*="col-"],
    .cash-receipts-primary-card .card-body > .row > [class*="col-"],
    #topSections > .row > [class*="col-"] {
        flex: 0 0 100%;
        max-width: 100%;
        width: 100%;
    }

    .order-entry :is(
        .order-header .container-fluid,
        .billing-top-form-content,
        .customer-top-form-content,
        .vendor-top-form-content,
        .receipt-top-form-content,
        .purchase-order-top-form-content,
        .order-top-form-content,
        .quote-top-form-content,
        .rma-top-form-content,
        .journal-top-form-content
    ) > .row > [class*="col-"]:has(input[type="date"]),
    .cash-receipts-primary-card .card-body > .row > [class*="col-"]:has(input[type="date"]),
    #topSections > .row > [class*="col-"]:has(input[type="date"]) {
        flex: 0 0 50%;
        max-width: 50%;
        width: 50%;
    }

    .order-entry :is(
        .order-header .container-fluid,
        .billing-top-form-content,
        .customer-top-form-content,
        .vendor-top-form-content,
        .receipt-top-form-content,
        .purchase-order-top-form-content,
        .order-top-form-content,
        .quote-top-form-content,
        .rma-top-form-content,
        .journal-top-form-content
    ) > .row > [class*="col-"]:has(.lookup-field):has(+ [class*="col-"] .lookup-field),
    .cash-receipts-primary-card .card-body > .row > [class*="col-"]:has(.lookup-field):has(+ [class*="col-"] .lookup-field),
    #topSections > .row > [class*="col-"]:has(.lookup-field):has(+ [class*="col-"] .lookup-field) {
        flex: 0 0 40%;
        max-width: 40%;
        width: 40%;
    }

    .order-entry :is(
        .order-header .container-fluid,
        .billing-top-form-content,
        .customer-top-form-content,
        .vendor-top-form-content,
        .receipt-top-form-content,
        .purchase-order-top-form-content,
        .order-top-form-content,
        .quote-top-form-content,
        .rma-top-form-content,
        .journal-top-form-content
    ) > .row > [class*="col-"]:has(.lookup-field):has(+ [class*="col-"] .lookup-field) + [class*="col-"]:has(.lookup-field),
    .cash-receipts-primary-card .card-body > .row > [class*="col-"]:has(.lookup-field):has(+ [class*="col-"] .lookup-field) + [class*="col-"]:has(.lookup-field),
    #topSections > .row > [class*="col-"]:has(.lookup-field):has(+ [class*="col-"] .lookup-field) + [class*="col-"]:has(.lookup-field) {
        flex: 0 0 60%;
        max-width: 60%;
        width: 60%;
    }

    .order-entry :is(
        .order-header .container-fluid,
        .billing-top-form-content,
        .customer-top-form-content,
        .vendor-top-form-content,
        .receipt-top-form-content,
        .purchase-order-top-form-content,
        .order-top-form-content,
        .quote-top-form-content,
        .rma-top-form-content,
        .journal-top-form-content
    ) .row.g-2 > [class*="col-"] {
        flex: 1 1 0;
        max-width: none;
        width: auto;
    }

    .order-entry .form-check,
    .order-entry .form-check-inline {
        margin-bottom: 0.35rem;
    }

    .order-entry .d-flex:has(.form-check) {
        flex-wrap: wrap;
        gap: 0.45rem 0.75rem;
    }
}

@media (max-width: 575px) {
    .order-entry :is(
        .order-header .container-fluid,
        .billing-top-form-content,
        .customer-top-form-content,
        .vendor-top-form-content,
        .receipt-top-form-content,
        .purchase-order-top-form-content,
        .order-top-form-content,
        .quote-top-form-content,
        .rma-top-form-content,
        .journal-top-form-content
    ) > .row > [class*="col-"]:has(input[type="date"]),
    .cash-receipts-primary-card .card-body > .row > [class*="col-"]:has(input[type="date"]),
    #topSections > .row > [class*="col-"]:has(input[type="date"]) {
        flex: 0 0 100%;
        max-width: 100%;
        width: 100%;
    }
}

.attachment-markup-shell {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr) 190px;
    gap: 12px;
    min-height: 68vh;
}

.attachment-markup-tools,
.attachment-markup-revisions {
    border: 1px solid #d8dde8;
    border-radius: 6px;
    padding: 12px;
    background: #f8fafc;
    overflow: auto;
}

.attachment-markup-stage {
    align-items: center;
    background: #eef1f6;
    border: 1px solid #d8dde8;
    border-radius: 6px;
    display: flex;
    justify-content: center;
    min-height: 68vh;
    overflow: auto;
    padding: 12px;
}

.attachment-markup-stage canvas {
    background: #fff;
    box-shadow: 0 3px 18px rgba(20, 34, 58, 0.18);
    max-height: 66vh;
    max-width: 100%;
}

.attachment-markup-layer-title {
    color: #4b5565;
    font-size: 0.78rem;
    font-weight: 700;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.attachment-markup-layer {
    border: 1px solid #cfd6e2;
    border-radius: 5px;
    cursor: pointer;
    font-size: 0.85rem;
    margin-bottom: 6px;
    padding: 6px 8px;
    user-select: none;
}

.attachment-markup-layer.is-active {
    background: #e4efff;
    border-color: #7ea7e8;
}

.attachment-markup-layer.is-dragging {
    opacity: 0.55;
}

.attachment-markup-layer.is-drop-target {
    border-color: #0944a2;
    box-shadow: inset 0 0 0 1px #0944a2;
}

.attachment-markup-footer {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: space-between;
    margin-top: 12px;
}

@media (max-width: 992px) {
    .attachment-markup-shell {
        grid-template-columns: 1fr;
    }

    .attachment-markup-tools,
    .attachment-markup-revisions,
    .attachment-markup-stage {
        min-height: auto;
    }
}
