/* ==========================================================================
   Real Trading — E-commerce Admin Panel (rtAdmin Polaris Inspired Theme)
   Brand Colors: Primary #514943 | Black #000000 | Gray #909090
   ========================================================================== */

:root {
  /* Brand Palette */
  --brand-primary: #514943;
  --brand-primary-hover: #3e3833;
  --brand-primary-light: #f5f4f2;
  --brand-primary-subtle: rgba(81, 73, 67, 0.08);
  --brand-primary-border: #d4cfcb;

  --brand-black: #000000;
  --brand-gray: #909090;

  /* rtAdmin Polaris Surface & Neutral Tokens */
  --p-surface: #ffffff;
  --p-surface-subdued: #fafbfb;
  --p-surface-hover: #f1f2f3;
  --p-surface-active: #ebebeb;
  --p-background: #f1f2f4;

  --p-topbar-bg: #1a1a1a;
  --p-sidebar-bg: #ffffff;
  --p-sidebar-border: #e1e3e5;

  /* Typography Colors */
  --p-text-main: #202223;
  --p-text-subdued: #6d7175;
  --p-text-disabled: #8c9196;
  --p-text-on-dark: #ffffff;

  /* Borders */
  --p-border: #d2d5d8;
  --p-border-subdued: #e1e3e5;
  --p-border-subtle: #edeeef;

  /* Status Colors (rtAdmin Badge Palette) */
  --p-badge-success-bg: #cbf4c9;
  --p-badge-success-text: #0e623b;
  --p-badge-info-bg: #e0f5fe;
  --p-badge-info-text: #006097;
  --p-badge-warning-bg: #fff4e5;
  --p-badge-warning-text: #8a6100;
  --p-badge-critical-bg: #ffe4e4;
  --p-badge-critical-text: #b91c1c;
  --p-badge-neutral-bg: #edeeef;
  --p-badge-neutral-text: #414548;

  /* Dimensions */
  --sidebar-width: 240px;
  --topbar-height: 56px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;

  /* Shadows */
  --p-shadow-card: 0 0 0 1px rgba(63, 63, 68, 0.05), 0 1px 3px 0 rgba(63, 63, 68, 0.15);
  --p-shadow-button: 0 1px 0 rgba(0, 0, 0, 0.05);
  --p-shadow-popover: 0 3px 6px -3px rgba(23, 24, 24, 0.08), 0 8px 20px -4px rgba(23, 24, 24, 0.12);

  /* Transitions */
  --transition-fast: 0.12s ease;
  --transition-normal: 0.2s ease;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
  background-color: var(--p-background);
  color: var(--p-text-main);
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: -0.01em;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

a {
  color: var(--brand-primary);
  text-decoration: none;
}

a:hover {
  color: var(--brand-primary-hover);
}

/* ==========================================================================
   Top Navigation Bar (rtAdmin Header Style)
   ========================================================================== */
.rtAdmin-topbar {
  height: var(--topbar-height);
  background-color: var(--p-topbar-bg);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  position: sticky;
  top: 0;
  z-index: 1030;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.topbar-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.topbar-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: #ffffff;
}

.topbar-logo-img {
  height: 40px;
  width: auto;
  object-fit: contain;
}

.topbar-store-name {
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
  letter-spacing: -0.01em;
}

.topbar-toggle-btn {
  background: transparent;
  border: none;
  color: #c9cccf;
  width: 32px;
  height: 32px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 18px;
  transition: all var(--transition-fast);
}

@media (min-width: 992px) {
  .topbar-toggle-btn {
    display: none !important;
  }
}

.topbar-toggle-btn:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

/* Central Search (rtAdmin Polaris Universal Search) */
.topbar-center {
  flex: 1;
  max-width: 520px;
  margin: 0 20px;
  display: flex;
  align-items: center;
}

.topbar-search-box {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
}

.topbar-search-input {
  width: 100%;
  height: 34px;
  background: #303030;
  border: 1px solid #4a4a4a;
  border-radius: var(--radius-md);
  padding: 0 36px 0 38px;
  color: #ffffff;
  font-size: 13px;
  line-height: 32px;
  transition: all var(--transition-fast);
  outline: none;
}

.topbar-search-input:focus {
  background: #3a3a3a;
  border-color: #808080;
  box-shadow: none !important;
  outline: none !important;
}

.topbar-search-input::placeholder {
  color: #8c9196;
}

.topbar-search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #8c9196;
  font-size: 14px;
  pointer-events: none;
}

.topbar-search-kbd {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: #202020;
  color: #8c9196;
  border: 1px solid #404040;
  border-radius: var(--radius-sm);
  padding: 1px 5px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
}

/* Topbar Right Icons & User */
.topbar-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.topbar-btn {
  background: transparent;
  border: none;
  color: #c9cccf;
  width: 34px;
  height: 34px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 15px;
  position: relative;
  transition: all var(--transition-fast);
}

.topbar-btn:hover,
.topbar-btn:focus,
.topbar-btn[aria-expanded="true"] {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

.topbar-badge-dot {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 7px;
  height: 7px;
  background: #e53e3e;
  border-radius: 50%;
  border: 1.5px solid var(--p-topbar-bg);
}

.topbar-badge-pill {
  position: absolute;
  top: 2px;
  right: 2px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  background: #d82c0d;
  color: #ffffff;
  font-size: 10px;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
  border-radius: 10px;
  border: 1.5px solid var(--p-topbar-bg);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* ==========================================================================
   rtAdmin Polaris Header Notification Dropdown
   ========================================================================== */
.notification-dropdown {
  width: 380px;
  max-width: calc(100vw - 24px);
  background: var(--p-surface);
  border: 1px solid var(--p-border-subdued);
  border-radius: var(--radius-lg);
  box-shadow: 0 12px 32px -4px rgba(0, 0, 0, 0.14), 0 4px 12px -2px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  margin-top: 8px !important;
  z-index: 1060;
  animation: polarisDropdownFade 0.15s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes polarisDropdownFade {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.notification-header {
  padding: 12px 16px 10px;
  background: var(--p-surface);
  border-bottom: 1px solid var(--p-border-subtle);
}

.notification-title {
  font-size: 13.5px;
  font-weight: 650;
  color: var(--p-text-main);
  letter-spacing: -0.01em;
}

.notification-count-badge {
  background: var(--brand-primary);
  color: #ffffff;
  font-size: 10.5px;
  font-weight: 600;
  padding: 1px 7px;
  border-radius: 10px;
}

.notification-mark-read {
  font-size: 11.5px;
  color: var(--p-text-subdued);
  text-decoration: none !important;
  transition: color var(--transition-fast);
  cursor: pointer;
  background: transparent;
  border: none;
}

.notification-mark-read:hover {
  color: var(--brand-primary);
}

.notification-tabs {
  display: inline-flex;
  background: var(--p-surface-hover);
  padding: 2.5px;
  border-radius: 7px;
  width: 100%;
  gap: 2px;
}

.notif-tab-btn {
  flex: 1;
  border: none;
  background: transparent;
  font-size: 11.5px;
  font-weight: 500;
  color: var(--p-text-subdued);
  padding: 4px 8px;
  border-radius: 5px;
  cursor: pointer;
  text-align: center;
  transition: all var(--transition-fast);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.notif-tab-btn:hover {
  color: var(--p-text-main);
}

.notif-tab-btn.active {
  background: #ffffff;
  color: var(--p-text-main);
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.notif-tab-btn .tab-count {
  font-size: 10px;
  padding: 0 4px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.06);
}

.notif-tab-btn.active .tab-count {
  background: var(--brand-primary-light);
  color: var(--brand-primary);
}

.notification-body {
  max-height: 330px;
  overflow-y: auto;
}

.notification-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--p-border-subtle);
  color: inherit;
  text-decoration: none;
  position: relative;
  transition: background var(--transition-fast);
}

.notification-item:last-child {
  border-bottom: none;
}

.notification-item:hover {
  background: var(--p-surface-hover);
  color: inherit;
}

.notification-item.unread {
  background: rgba(81, 73, 67, 0.025);
}

.notification-item.unread:hover {
  background: rgba(81, 73, 67, 0.06);
}

.notification-icon-wrap {
  width: 34px;
  height: 34px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
  margin-top: 2px;
}

.notification-content {
  flex: 1;
  min-width: 0;
}

.notification-item-title {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--p-text-main);
  line-height: 1.3;
}

.notification-time {
  font-size: 11px;
  color: var(--p-text-disabled);
  white-space: nowrap;
}

.notification-desc {
  font-size: 12px;
  color: var(--p-text-subdued);
  margin: 3px 0 6px 0;
  line-height: 1.38;
}

.notification-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.notification-unread-dot {
  width: 7px;
  height: 7px;
  background: #006097;
  border-radius: 50%;
  position: absolute;
  top: 14px;
  right: 12px;
}

.notification-footer {
  padding: 10px 16px;
  background: var(--p-surface-subdued);
  border-top: 1px solid var(--p-border-subtle);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.notification-footer-link {
  font-size: 12px;
  font-weight: 600;
  color: var(--brand-primary);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  text-decoration: none;
}

.notification-footer-link:hover {
  color: var(--brand-primary-hover);
  text-decoration: underline;
}

.notification-settings-link {
  color: var(--p-text-subdued);
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border-radius: 4px;
  transition: all var(--transition-fast);
}

.notification-settings-link:hover {
  color: var(--p-text-main);
  background: var(--p-surface-hover);
}

.topbar-user-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  padding: 3px 10px 3px 4px;
  color: #ffffff;
  cursor: pointer;
  transition: background var(--transition-fast);
}

.topbar-user-btn:hover {
  background: rgba(255, 255, 255, 0.16);
}

.topbar-user-avatar {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--brand-primary);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
}

.topbar-user-name {
  font-size: 12px;
  font-weight: 500;
}

/* ==========================================================================
   Layout Wrapper
   ========================================================================== */
.rtAdmin-wrapper,
.rtAdmin-layout-wrapper {
  display: flex;
  min-height: calc(100vh - var(--topbar-height));
  width: 100vw;
}

/* ==========================================================================
   rtAdmin Polaris Sidebar
   ========================================================================== */
.rtAdmin-sidebar {
  width: var(--sidebar-width);
  min-width: var(--sidebar-width);
  background: var(--p-sidebar-bg);
  border-right: 1px solid var(--p-sidebar-border);
  height: calc(100vh - var(--topbar-height));
  position: sticky;
  top: var(--topbar-height);
  overflow-y: auto;
  padding: 12px 8px;
  display: flex;
  flex-direction: column;
  transition: width var(--transition-normal), transform var(--transition-normal);
  z-index: 1020;
}

.rtAdmin-sidebar::-webkit-scrollbar {
  width: 4px;
}

.rtAdmin-sidebar::-webkit-scrollbar-thumb {
  background: #d2d5d8;
  border-radius: 4px;
}

/* Sidebar Section Headers */
.sidebar-section-title {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--p-text-subdued);
  padding: 8px 12px 4px;
  letter-spacing: 0.04em;
  margin: 0;
}

/* Nav Item List */
.sidebar-nav-list {
  list-style: none;
  padding: 0;
  margin: 0 0 10px 0;
}

.sidebar-nav-item {
  margin-bottom: 2px;
}

.sidebar-nav-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 12px;
  color: var(--p-text-main);
  font-size: 13px;
  font-weight: 500;
  border-radius: var(--radius-md);
  text-decoration: none;
  transition: background var(--transition-fast), color var(--transition-fast);
  cursor: pointer;
}

.sidebar-nav-link i.nav-icon {
  font-size: 15px;
  color: var(--p-text-subdued);
  width: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sidebar-nav-link:hover {
  background: var(--p-surface-hover);
  color: var(--p-text-main);
}

.sidebar-nav-link:hover i.nav-icon {
  color: var(--p-text-main);
}

/* Active Nav Item */
.sidebar-nav-item.active>.sidebar-nav-link {
  background: var(--p-surface-active);
  color: var(--p-text-main);
  font-weight: 600;
}

.sidebar-nav-item.active>.sidebar-nav-link i.nav-icon {
  color: var(--brand-primary);
}

/* Submenu / Tree styling */
.nav-arrow-icon {
  margin-left: auto;
  font-size: 11px;
  color: var(--p-text-subdued);
  transition: transform var(--transition-fast);
}

.sidebar-nav-item.open>.sidebar-nav-link .nav-arrow-icon {
  transform: rotate(90deg);
}

.sidebar-subnav {
  list-style: none;
  padding: 2px 0 2px 24px;
  margin: 0;
  display: none;
}

.sidebar-nav-item.open>.sidebar-subnav {
  display: block;
}

.sidebar-subnav-item {
  margin: 1px 0;
}

.sidebar-subnav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 12px;
  font-size: 12.5px;
  color: var(--p-text-subdued);
  border-radius: var(--radius-sm);
  text-decoration: none;
  font-weight: 450;
  transition: all var(--transition-fast);
}

.sidebar-subnav-link:hover {
  color: var(--p-text-main);
  background: var(--p-surface-hover);
}

.sidebar-subnav-item.active .sidebar-subnav-link {
  color: var(--brand-primary);
  font-weight: 600;
  background: var(--brand-primary-light);
}

.sidebar-badge {
  font-size: 11px;
  font-weight: 600;
  padding: 1px 6px;
  border-radius: 10px;
}

/* Sidebar Footer Area */
.sidebar-footer {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid var(--p-border-subtle);
}

/* ==========================================================================
   Main Content Area
   ========================================================================== */
.rtAdmin-main {
  flex: 1;
  padding: 16px 20px 40px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: hidden;
}

/* Page Header (Polaris Page Title Area) */
.rtAdmin-page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 20px;
  flex-wrap: wrap;
  gap: 12px;
}

.rtAdmin-page-title-wrap {
  display: flex;
  flex-direction: column;
}

.rtAdmin-page-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--p-text-main);
  margin: 0 0 2px 0;
  letter-spacing: -0.02em;
}

.rtAdmin-page-subtitle {
  font-size: 12.5px;
  color: var(--p-text-subdued);
  margin: 0;
}

.rtAdmin-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* rtAdmin Polaris Button Styles */
.btn-polaris-primary {
  background-color: var(--brand-primary);
  border: 1px solid var(--brand-primary);
  color: #ffffff;
  font-size: 13px;
  font-weight: 550;
  padding: 6px 12px;
  border-radius: var(--radius-md);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  box-shadow: var(--p-shadow-button);
  transition: all var(--transition-fast);
  cursor: pointer;
}

.btn-polaris-primary:hover,
.btn-polaris-primary:focus {
  background-color: var(--brand-primary-hover);
  border-color: var(--brand-primary-hover);
  color: #ffffff;
}

.btn-polaris-secondary {
  background-color: #ffffff;
  border: 1px solid var(--p-border);
  color: var(--p-text-main);
  font-size: 13px;
  font-weight: 500;
  padding: 6px 12px;
  border-radius: var(--radius-md);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  box-shadow: var(--p-shadow-button);
  transition: all var(--transition-fast);
  cursor: pointer;
}

.btn-polaris-secondary:hover {
  background-color: var(--p-surface-hover);
  border-color: #babfc3;
  color: var(--p-text-main);
}

/* Date segmented tab group */
.polaris-segmented-tabs {
  display: inline-flex;
  background: #e4e5e7;
  border-radius: var(--radius-md);
  padding: 2px;
}

.polaris-tab-btn {
  border: none;
  background: transparent;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 500;
  color: var(--p-text-subdued);
  border-radius: 6px;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.polaris-tab-btn.active {
  background: #ffffff;
  color: var(--p-text-main);
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

/* Polaris Alert / Banner */
.polaris-banner {
  background: #ffffff;
  border: 1px solid var(--p-border-subdued);
  border-left: 4px solid var(--brand-primary);
  border-radius: var(--radius-md);
  padding: 12px 16px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: var(--p-shadow-card);
}

.polaris-banner-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--p-text-main);
  margin-bottom: 2px;
}

.polaris-banner-desc {
  font-size: 12px;
  color: var(--p-text-subdued);
  margin: 0;
}

/* ==========================================================================
   Polaris Card Component
   ========================================================================== */
.polaris-card {
  background: var(--p-surface);
  border: 1px solid var(--p-border-subdued);
  border-radius: var(--radius-md);
  box-shadow: var(--p-shadow-card);
  margin-bottom: 16px;
  overflow: hidden;
}

.polaris-card-header {
  padding: 14px 16px;
  border-bottom: 1px solid var(--p-border-subtle);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.polaris-card-title {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--p-text-main);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}

.polaris-card-body {
  padding: 16px;
}

/* ==========================================================================
   rtAdmin Metric KPI Cards
   ========================================================================== */
.polaris-metric-card {
  background: var(--p-surface);
  border: 1px solid var(--p-border-subdued);
  border-radius: var(--radius-md);
  padding: 14px 16px;
  box-shadow: var(--p-shadow-card);
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

.polaris-metric-card:hover {
  border-color: #babfc3;
  box-shadow: 0 4px 12px -2px rgba(0, 0, 0, 0.08);
}

/* Interactive KPI Matrix Cards across portal */
.order-kpi-card,
.return-kpi-card,
.product-kpi-card,
.inventory-kpi-card,
.customer-kpi-card,
.category-kpi-card,
.polaris-metric-card[role="button"] {
  cursor: pointer;
  user-select: none;
  transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
}

.order-kpi-card:hover,
.return-kpi-card:hover,
.product-kpi-card:hover,
.inventory-kpi-card:hover,
.customer-kpi-card:hover,
.category-kpi-card:hover,
.polaris-metric-card[role="button"]:hover {
  border-color: var(--brand-primary, #514943);
  box-shadow: 0 4px 14px rgba(81, 73, 67, 0.12);
  transform: translateY(-2px);
}

.order-kpi-card:focus-visible,
.return-kpi-card:focus-visible,
.product-kpi-card:focus-visible,
.inventory-kpi-card:focus-visible,
.customer-kpi-card:focus-visible,
.category-kpi-card:focus-visible,
.polaris-metric-card[role="button"]:focus-visible {
  outline: none;
  border-color: var(--brand-primary, #514943);
  box-shadow: 0 0 0 3px rgba(81, 73, 67, 0.2);
}

/* Selected / Active KPI Matrix Card */
.polaris-metric-card.active-kpi,
.order-kpi-card.active-kpi,
.return-kpi-card.active-kpi,
.product-kpi-card.active-kpi,
.inventory-kpi-card.active-kpi,
.customer-kpi-card.active-kpi,
.category-kpi-card.active-kpi {
  border-color: var(--brand-primary, #514943) !important;
  background: #fdfbf7 !important;
  box-shadow: 0 0 0 1.5px var(--brand-primary, #514943), 0 4px 12px rgba(81, 73, 67, 0.1) !important;
}

.polaris-metric-card.active-kpi::before,
.order-kpi-card.active-kpi::before,
.return-kpi-card.active-kpi::before,
.product-kpi-card.active-kpi::before,
.inventory-kpi-card.active-kpi::before,
.customer-kpi-card.active-kpi::before,
.category-kpi-card.active-kpi::before,
.agent-kpi-card.active-kpi::before,
.supplier-kpi-card.active-kpi::before,
.po-kpi-card.active-kpi::before,
.rt-kpi-card.active-kpi::before {
  content: none !important;
  display: none !important;
  border: none !important;
}

.metric-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.metric-label {
  font-size: 12.5px;
  font-weight: 500;
  color: var(--p-text-subdued);
  margin: 0;
}

.metric-icon-wrap {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}

.metric-value {
  font-size: 21px;
  font-weight: 700;
  color: var(--p-text-main);
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.metric-footer {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  color: var(--p-text-subdued);
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--p-border-subtle);
  flex-wrap: wrap;
}

.trend-badge {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-weight: 600;
  font-size: 11px;
  padding: 1px 5px;
  border-radius: 4px;
}

.trend-badge.up {
  color: #108043;
  background: rgba(16, 128, 67, 0.08);
}

.trend-badge.down {
  color: #d82c0d;
  background: rgba(216, 44, 13, 0.08);
}

.trend-badge.neutral {
  color: var(--brand-primary);
  background: var(--brand-primary-light);
}

.trend-badge.info {
  color: #006097;
  background: #e0f5fe;
}

/* ==========================================================================
   rtAdmin Status Badges (Polaris Badges)
   ========================================================================== */
.badge-polaris {
  font-size: 11px;
  font-weight: 500;
  padding: 2px 8px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  line-height: 1.3;
}

.badge-paid {
  background: var(--p-badge-success-bg);
  color: var(--p-badge-success-text);
}

.badge-fulfilled {
  background: var(--p-badge-info-bg);
  color: var(--p-badge-info-text);
}

.badge-unfulfilled {
  background: var(--p-badge-warning-bg);
  color: var(--p-badge-warning-text);
}

.badge-critical {
  background: var(--p-badge-critical-bg);
  color: var(--p-badge-critical-text);
}

.badge-b2b {
  background: var(--brand-primary-light);
  color: var(--brand-primary);
  border: 1px solid var(--brand-primary-border);
}

.badge-b2c {
  background: var(--p-badge-neutral-bg);
  color: var(--p-badge-neutral-text);
}

/* ==========================================================================
   rtAdmin Polaris Data Table
   ========================================================================== */
.polaris-table-filter-bar {
  padding: 10px 16px;
  border-bottom: 1px solid var(--p-border-subtle);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: var(--p-surface-subdued);
  flex-wrap: nowrap !important;
}

.polaris-filter-tabs {
  display: flex;
  align-items: center;
  gap: 4px;
  overflow-x: auto;
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  scrollbar-width: none;
}

.polaris-filter-tabs::-webkit-scrollbar {
  display: none;
}

.filter-tab-item {
  background: transparent;
  border: none;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--p-text-subdued);
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  white-space: nowrap;
}

.filter-tab-item.active {
  background: #ffffff;
  color: var(--p-text-main);
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

/* ==========================================================================
   rtAdmin Universal Table Typography & Consistency Across All View Pages
   Ensures identical font sizing for every table on every view page
   ========================================================================== */
.polaris-table,
.table-inventory,
.table-transactions,
.table-price-lists,
.table-recent-orders,
.variant-table,
.channel-matrix-table,
.receive-table,
.agent-cust-modal-table,
.grn-items-table,
table.table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12.5px !important;
  margin-bottom: 0;
  vertical-align: middle;
}

/* All Table Headers Uniformity (11px, Uppercase, Semi-bold, Letter-spaced) */
.polaris-table th,
.table-inventory thead th,
.table-transactions thead th,
.table-price-lists thead th,
.table-recent-orders th,
.variant-table th,
.channel-matrix-table thead th,
.receive-table thead th,
.agent-cust-modal-table thead th,
.grn-items-table thead th,
table.table thead th {
  background: var(--p-surface-subdued, #fafbfb);
  color: var(--p-text-subdued, #6d7175);
  font-weight: 600 !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  padding: 10px 12px;
  border-bottom: 1px solid var(--p-border-subdued, #e1e3e5);
  border-top: none;
  white-space: nowrap;
  vertical-align: middle;
}

/* All Table Body Cells Uniformity (12.5px) */
.polaris-table td,
.table-inventory tbody td,
.table-transactions tbody td,
.table-price-lists tbody td,
.table-recent-orders td,
.variant-table td,
.channel-matrix-table tbody td,
.receive-table tbody td,
.agent-cust-modal-table tbody td,
.grn-items-table tbody td,
table.table tbody td {
  padding: 10px 12px;
  vertical-align: middle;
  border-bottom: 1px solid var(--p-border-subtle, #edeeef);
  color: var(--p-text-main, #202223);
  font-size: 12.5px !important;
  white-space: nowrap;
}

/* Primary Cell Text and Links Consistency (12.5px) */
.polaris-table td a:not(.badge):not(.badge-polaris):not(.btn),
.polaris-table td .fw-semibold:not(.fs-9):not(.text-muted),
.polaris-table td .fw-bold:not(.fs-9):not(.text-muted),
.polaris-table td .fw-medium:not(.fs-9):not(.text-muted),
.polaris-table td .font-monospace:not(.badge-polaris):not(.badge-status),
.table-inventory tbody td a,
.table-transactions tbody td a,
.table-price-lists tbody td a,
.channel-matrix-table tbody td a,
.receive-table tbody td a,
.product-title-link,
.brand-title-link,
.flavour-title-link,
.ratio-title-link,
.material-title-link,
.range-title-link,
.nicotine-title-link,
.size-title-link,
.price-wholesale {
  font-size: 12.5px !important;
}

/* Prevent accidental shrinking of primary table cell elements by utility classes */
.polaris-table td > span.fs-8:not(.text-muted):not(.badge-polaris),
.polaris-table td > a.fs-8:not(.badge-polaris),
.polaris-table td > div > span.fs-8:not(.text-muted):not(.badge-polaris),
.polaris-table td > div > a.fs-8:not(.badge-polaris),
table.table td > span.fs-8:not(.text-muted):not(.badge-polaris),
table.table td > a.fs-8:not(.badge-polaris),
table.table td > div > span.fs-8:not(.text-muted):not(.badge-polaris),
table.table td > div > a.fs-8:not(.badge-polaris),
.polaris-table td .badge.font-monospace,
.polaris-table td .badge.bg-light,
table.table td .badge.font-monospace,
table.table td .badge.bg-light {
  font-size: 12px !important;
}

.polaris-table td.col-wrap {
  white-space: normal;
  min-width: 170px;
}

.polaris-table tbody tr {
  transition: background var(--transition-fast);
}

.polaris-table tbody tr:hover {
  background: #f8fafc;
}

/* Dashboard Recent Orders Table Alignment & Sizing */
.table-recent-orders {
  width: 100%;
}

.table-recent-orders th,
.table-recent-orders td {
  padding: 11px 14px;
  vertical-align: middle;
}

.table-recent-orders .col-order {
  width: 100px;
  min-width: 90px;
  text-align: left;
}

.table-recent-orders .col-customer {
  min-width: 170px;
  text-align: left;
}

.table-recent-orders .col-items {
  min-width: 150px;
  text-align: left;
}

.table-recent-orders .col-total {
  width: 110px;
  min-width: 100px;
  text-align: right !important;
}

.table-recent-orders .col-payment {
  width: 110px;
  min-width: 100px;
  text-align: center !important;
}

.table-recent-orders .col-fulfillment {
  width: 120px;
  min-width: 110px;
  text-align: center !important;
}

.table-recent-orders .badge-polaris {
  justify-content: center;
  min-width: 78px;
}

/* Stock Progress Bar */
.polaris-stock-bar {
  height: 4px;
  background: #e1e3e5;
  border-radius: 2px;
  overflow: hidden;
  margin-top: 4px;
}

.stock-fill {
  height: 100%;
}

.stock-fill.danger {
  background: #d82c0d;
}

.stock-fill.warning {
  background: #b98900;
}

.stock-fill.good {
  background: #108043;
}

/* Responsive adjustments */
@media (max-width: 991.98px) {
  .rtAdmin-sidebar {
    position: fixed;
    top: var(--topbar-height);
    left: 0;
    transform: translateX(-100%);
    box-shadow: var(--p-shadow-popover);
    z-index: 1050;
  }

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

  body.sidebar-open::after {
    content: '';
    position: fixed;
    top: var(--topbar-height);
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1045;
    backdrop-filter: blur(1px);
    -webkit-backdrop-filter: blur(1px);
    animation: polarisBackdropFade 0.15s ease-out;
  }

  @keyframes polarisBackdropFade {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }

  .rtAdmin-main {
    padding: 16px;
  }

  .topbar-center {
    display: none;
  }
}

/* ==========================================================================
   Portal Typography & Utility Scale (Consistency across portal)
   ========================================================================== */
.fs-6 {
  font-size: 14px !important;
}

.fs-7 {
  font-size: 12px !important;
}

.fs-8 {
  font-size: 11px !important;
}

.fs-9 {
  font-size: 10px !important;
}

.fw-450 {
  font-weight: 450 !important;
}

.fw-550 {
  font-weight: 550 !important;
}

.bg-success-subtle {
  background-color: var(--p-badge-success-bg) !important;
  color: var(--p-badge-success-text) !important;
}

.bg-danger-subtle {
  background-color: var(--p-badge-critical-bg) !important;
  color: var(--p-badge-critical-text) !important;
}

.bg-warning-subtle {
  background-color: var(--p-badge-warning-bg) !important;
  color: var(--p-badge-warning-text) !important;
}

.bg-info-subtle {
  background-color: var(--p-badge-info-bg) !important;
  color: var(--p-badge-info-text) !important;
}

.bg-primary-subtle {
  background-color: var(--brand-primary-light) !important;
  color: var(--brand-primary) !important;
}

.bg-secondary-subtle {
  background-color: var(--p-badge-neutral-bg) !important;
  color: var(--p-badge-neutral-text) !important;
}

.custom-scroll::-webkit-scrollbar {
  width: 4px;
}

.custom-scroll::-webkit-scrollbar-track {
  background: transparent;
}

.custom-scroll::-webkit-scrollbar-thumb {
  background: #d2d5d8;
  border-radius: 4px;
}

.custom-scroll::-webkit-scrollbar-thumb:hover {
  background: #b0b4b8;
}

/* ==========================================================================
   Category Hierarchy & Management Styles
   ========================================================================== */
.cat-level-card-selector {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 16px;
}

.cat-level-option {
  border: 2px solid var(--p-border-subdued);
  border-radius: var(--radius-md);
  padding: 12px 14px;
  cursor: pointer;
  background: var(--p-surface);
  transition: all var(--transition-fast);
  display: flex;
  align-items: flex-start;
  gap: 10px;
  position: relative;
}

.cat-level-option:hover {
  border-color: #babfc3;
  background: var(--p-surface-hover);
}

.cat-level-option.active {
  border-color: var(--brand-primary);
  background: var(--brand-primary-light);
}

.cat-level-radio {
  margin-top: 3px;
  accent-color: var(--brand-primary);
}

.cat-level-info {
  flex: 1;
}

.cat-level-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--p-text-main);
  margin-bottom: 2px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.cat-level-desc {
  font-size: 11.5px;
  color: var(--p-text-subdued);
  margin: 0;
  line-height: 1.35;
}

/* Category Table Hierarchy Styling */
.cat-row-main {
  background: #ffffff;
  font-weight: 550;
}

.cat-row-sub {
  background: #fafbfb;
}

.cat-row-sub:hover {
  background: #f4f5f6 !important;
}

.cat-tree-indicator {
  display: inline-flex;
  align-items: center;
  color: var(--p-text-disabled);
  margin-right: 6px;
  font-size: 13px;
}

.cat-name-wrap {
  display: flex;
  align-items: center;
}

.cat-icon-badge {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  margin-right: 10px;
  flex-shrink: 0;
}

.badge-level-1 {
  background: var(--brand-primary-light);
  color: var(--brand-primary);
  border: 1px solid var(--brand-primary-border);
  font-size: 10.5px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 4px;
}

.badge-level-2 {
  background: #eef2f6;
  color: #475569;
  border: 1px solid #cbd5e1;
  font-size: 10.5px;
  font-weight: 500;
  padding: 2px 7px;
  border-radius: 4px;
}

.category-parent-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11.5px;
  color: var(--p-text-subdued);
  background: var(--p-surface-subdued);
  border: 1px solid var(--p-border-subtle);
  padding: 2px 8px;
  border-radius: 6px;
}

.category-parent-pill i {
  font-size: 11px;
}

.cat-code-badge {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 11px;
  background: #f1f2f3;
  color: #555;
  padding: 2px 6px;
  border-radius: 4px;
}

.sku-count-pill {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--p-text-main);
  background: #edf2f7;
  padding: 2px 8px;
  border-radius: 10px;
}

/* ==========================================================================
   FORM CONTROLS & THEME CONSISTENCY SYSTEM (Universal Brand Overrides)
   Strictly zero box-shadow on focus across all inputs, textareas, and controls.
   Unified rtAdmin Polaris theme colors, borders, typography, and states.
   ========================================================================== */

:root {
  --radius-btn: 6px;
  --radius-input: 6px;
}

/* 1. Global Reset for All Focus States (Eliminates Bootstrap Default Blue Glow & Box-Shadow) */
*,
*::before,
*::after {
  --bs-focus-ring-color: transparent !important;
  --bs-focus-ring-shadow: none !important;
}

:focus,
:focus-visible,
*:focus,
*:focus-visible,
button:focus,
input:focus,
select:focus,
textarea:focus,
a:focus,
.btn:focus,
.btn:focus-visible,
.btn:active:focus,
.form-control:focus,
.form-select:focus,
.form-check-input:focus,
.accordion-button:focus,
.nav-link:focus,
.dropdown-toggle:focus {
  outline: none !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

/* 2. Text Inputs, Textareas, and Base Form Controls */
.form-control,
input[type="text"].form-control,
input[type="email"].form-control,
input[type="password"].form-control,
input[type="number"].form-control,
input[type="search"].form-control,
input[type="tel"].form-control,
input[type="url"].form-control,
input[type="date"].form-control,
textarea.form-control,
.form-control:focus,
.form-control:focus-visible,
textarea.form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="date"]:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* ==========================================================================
   FORM CONTROLS & FIELD HEIGHT UNIFORMITY (STRICT 30PX EVERYWHERE)
   ========================================================================== */
.form-control,
input[type="text"].form-control,
input[type="email"].form-control,
input[type="password"].form-control,
input[type="number"].form-control,
input[type="search"].form-control,
input[type="tel"].form-control,
input[type="url"].form-control,
input[type="date"].form-control,
input[type="time"].form-control,
input[type="datetime-local"].form-control,
textarea.form-control {
  color: var(--p-text-main);
  background-color: #ffffff;
  border: 1px solid var(--p-border);
  border-radius: var(--radius-input, 6px) !important;
  font-size: 12px !important;
  font-family: inherit;
  box-shadow: none !important;
  outline: none !important;
  transition: border-color var(--transition-fast), background-color var(--transition-fast);
}

/* 1. All Form Controls, Inputs, Selects, Input-Groups (Strict 30px Height Everywhere) */
.form-control:not(textarea):not(.polaris-search-input):not(.topbar-search-input),
.form-select,
.input-group>.form-control:not(.polaris-search-input):not(.topbar-search-input),
.input-group>.form-select,
.input-group>.input-group-text,
.input-group>.btn,
.form-section-card .form-control:not(textarea):not(.polaris-search-input):not(.topbar-search-input),
.form-section-card .form-select,
.form-section-card .input-group>.form-control:not(.polaris-search-input):not(.topbar-search-input),
.form-section-card .input-group>.form-select,
.form-section-card .input-group>.input-group-text,
.form-section-card .input-group>.btn,
input[type="text"].form-control:not(.polaris-search-input):not(.topbar-search-input),
input[type="email"].form-control,
input[type="password"].form-control,
input[type="number"].form-control,
input[type="search"].form-control:not(.polaris-search-input):not(.topbar-search-input),
input[type="tel"].form-control,
input[type="url"].form-control,
input[type="date"].form-control,
input[type="time"].form-control,
input[type="datetime-local"].form-control,
.form-control-sm:not(.polaris-search-input):not(.topbar-search-input),
.form-select-sm,
.input-group-sm>.form-control:not(.polaris-search-input):not(.topbar-search-input),
.input-group-sm>.form-select,
.input-group-sm>.input-group-text,
.input-group-sm>.btn {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  line-height: 28px !important;
  padding: 0 8px !important;
  font-size: 12px !important;
  box-sizing: border-box !important;
}

/* Date, Time and Datetime-local Pickers Precise 30px Vertical Alignment */
input[type="date"].form-control,
input[type="time"].form-control,
input[type="datetime-local"].form-control {
  display: inline-flex !important;
  align-items: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  line-height: 28px !important;
}

input[type="date"].form-control::-webkit-date-and-time-value,
input[type="time"].form-control::-webkit-date-and-time-value,
input[type="datetime-local"].form-control::-webkit-date-and-time-value {
  text-align: left;
  line-height: 28px;
  margin: 0;
  padding: 0;
}

input[type="date"].form-control::-webkit-calendar-picker-indicator,
input[type="time"].form-control::-webkit-calendar-picker-indicator,
input[type="datetime-local"].form-control::-webkit-calendar-picker-indicator {
  cursor: pointer;
  margin-right: 0;
  padding: 0;
}

.form-control:hover,
textarea.form-control:hover {
  border-color: #babfc3;
}

.form-control:focus,
.form-control:focus-visible,
input[type="text"].form-control:focus,
input[type="email"].form-control:focus,
input[type="password"].form-control:focus,
input[type="number"].form-control:focus,
input[type="search"].form-control:focus,
input[type="tel"].form-control:focus,
input[type="url"].form-control:focus,
input[type="date"].form-control:focus,
input[type="datetime-local"].form-control:focus,
textarea.form-control:focus {
  color: var(--p-text-main) !important;
  background-color: #ffffff !important;
  border-color: var(--brand-primary) !important;
  outline: none !important;
  box-shadow: none !important;
}

.form-control:disabled,
.form-control[readonly],
textarea.form-control:disabled,
textarea.form-control[readonly] {
  background-color: #f6f6f7 !important;
  border-color: #e1e3e5 !important;
  color: #8c9196 !important;
  cursor: not-allowed;
  opacity: 1;
}

/* Input group container normalization (Strict 30px) */
.input-group,
.input-group-sm,
.form-section-card .input-group {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
}

.input-group .input-group-text,
.input-group-sm .input-group-text,
.form-section-card .input-group .input-group-text {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12px !important;
  line-height: 28px !important;
  padding: 0 8px !important;
}

/* Textarea normalization */
textarea.form-control {
  height: auto !important;
  min-height: 50px !important;
  max-height: none !important;
  line-height: 1.45 !important;
  padding: 6px 8px !important;
  font-size: 12px !important;
}

/* 3. Select Dropdowns (Strict 30px) */
.form-select,
.form-select-sm {
  color: var(--p-text-main);
  background-color: #ffffff;
  border: 1px solid var(--p-border);
  border-radius: var(--radius-input, 6px) !important;
  font-size: 12px !important;
  font-family: inherit;
  box-shadow: none !important;
  outline: none !important;
  cursor: pointer;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  line-height: 28px !important;
  padding-right: 24px !important;
  padding-left: 8px !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236d7175' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.5rem center !important;
  background-size: 12px 8px !important;
  transition: border-color var(--transition-fast);
  box-sizing: border-box !important;
}

.form-select:hover {
  border-color: #babfc3;
}

.form-select:focus,
.form-select:focus-visible {
  border-color: var(--brand-primary) !important;
  outline: none !important;
  box-shadow: none !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23514943' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
}

.form-select:disabled {
  background-color: #f6f6f7 !important;
  border-color: #e1e3e5 !important;
  color: #8c9196 !important;
  cursor: not-allowed;
}

/* 4. Checkboxes & Radios Pixel-Level Uniformity (Identical 16px size in header and body) */
.form-check-input,
.form-check-input[type="checkbox"],
.form-check-input[type="radio"],
#selectAllCategories,
.cat-select-check {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: middle !important;
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: 1.5px solid #babfc3 !important;
  border-radius: 4px !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  cursor: pointer;
  outline: none !important;
  box-shadow: none !important;
  display: inline-block !important;
  flex-shrink: 0;
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
}

.form-check-input[type="checkbox"] {
  border-radius: 4px !important;
}

.form-check-input:hover:not(:checked):not(:disabled) {
  border-color: var(--brand-primary) !important;
  background-color: #fcfbfa;
}

.form-check-input:focus,
.form-check-input:focus-visible {
  border-color: var(--brand-primary) !important;
  outline: none !important;
  box-shadow: none !important;
}

.form-check-input:checked,
.form-check-input[type="checkbox"]:checked {
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
  outline: none !important;
  box-shadow: none !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m4.5 10 4 4 7-8'/%3e%3c/svg%3e") !important;
}

.form-check-input[type="checkbox"]:indeterminate {
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
  outline: none !important;
  box-shadow: none !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 10h10'/%3e%3c/svg%3e") !important;
}

.form-check-input:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
  background-color: #e4e5e7;
  border-color: #d2d5d8;
}

/* 5. Radio Buttons */
.form-check-input[type="radio"] {
  border-radius: 50% !important;
}

.form-check-input[type="radio"]:focus,
.form-check-input[type="radio"]:focus-visible {
  border-color: var(--brand-primary) !important;
  outline: none !important;
  box-shadow: none !important;
}

.form-check-input[type="radio"]:checked {
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
  outline: none !important;
  box-shadow: none !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2.2' fill='%23ffffff'/%3e%3c/svg%3e") !important;
}

/* 6. Form Switches */
.form-switch .form-check-input {
  width: 2.25em !important;
  min-width: 2.25em !important;
  height: 1.15em !important;
  margin-left: -2.5em !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23909090'/%3e%3c/svg%3e");
  background-position: left center;
  border-radius: 2em !important;
  outline: none !important;
  box-shadow: none !important;
  transition: background-position 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

.form-switch .form-check-input:focus {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23514943'/%3e%3c/svg%3e");
  outline: none !important;
  box-shadow: none !important;
  border-color: var(--brand-primary) !important;
}

.form-switch .form-check-input:checked {
  background-position: right center;
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
  outline: none !important;
  box-shadow: none !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e") !important;
}

/* 7. Input Groups & Search Controls (Standard 6px Border Radius Alignment) */
.input-group {
  border-radius: var(--radius-input, 6px) !important;
}

.input-group> :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.input-group> :not(:first-child):not(.dropdown-menu):not(.form-floating) {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.input-group>.input-group-text:first-child,
.input-group>.btn:first-child,
.input-group>.form-control:first-child {
  border-top-left-radius: var(--radius-input, 6px) !important;
  border-bottom-left-radius: var(--radius-input, 6px) !important;
}

.input-group>.input-group-text:last-child,
.input-group>.btn:last-child,
.input-group>.form-control:last-child {
  border-top-right-radius: var(--radius-input, 6px) !important;
  border-bottom-right-radius: var(--radius-input, 6px) !important;
}

.input-group:focus-within {
  box-shadow: none !important;
  outline: none !important;
}

.input-group:focus-within .form-control,
.input-group:focus-within .form-select {
  border-color: var(--brand-primary) !important;
  box-shadow: none !important;
  outline: none !important;
  z-index: 3;
}

.input-group:focus-within .input-group-text {
  border-color: var(--brand-primary) !important;
  color: var(--brand-primary) !important;
  background-color: #ffffff;
  outline: none !important;
  box-shadow: none !important;
}

.input-group-text {
  background-color: #fafbfb;
  border: 1px solid var(--p-border);
  color: var(--p-text-subdued);
  font-size: 13px;
  border-radius: var(--radius-input, 6px);
  transition: border-color var(--transition-fast), color var(--transition-fast), background-color var(--transition-fast);
}

/* Standalone Polaris Search Box Component (Standard 6px Radius, Uniform 30px Height) */
.polaris-search-box {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 240px;
  height: 30px;
  vertical-align: middle;
}

.polaris-search-box .polaris-search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--p-text-subdued, #6d7175);
  font-size: 13px;
  line-height: 1;
  pointer-events: none;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  margin: 0;
  padding: 0;
  transition: color var(--transition-fast);
}

.polaris-search-box input[type="text"].form-control,
.polaris-search-box input[type="search"].form-control,
.polaris-search-box input.form-control,
.polaris-search-box .polaris-search-input,
.polaris-search-box .form-control {
  padding-left: 38px !important;
  padding-right: 12px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  line-height: 28px !important;
  font-size: 12px !important;
  border-radius: var(--radius-input, 6px) !important;
  border: 1px solid var(--p-border, #d2d5d8) !important;
  background-color: #ffffff !important;
  width: 100% !important;
  box-shadow: none !important;
  outline: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  transition: border-color var(--transition-fast), background-color var(--transition-fast);
}

.polaris-search-box input:hover,
.polaris-search-box .polaris-search-input:hover,
.polaris-search-box .form-control:hover {
  border-color: #babfc3 !important;
}

.polaris-search-box input:focus,
.polaris-search-box .polaris-search-input:focus,
.polaris-search-box .form-control:focus {
  border-color: var(--brand-primary, #514943) !important;
  background-color: #ffffff !important;
  box-shadow: none !important;
  outline: none !important;
}

.polaris-search-box:focus-within .polaris-search-icon {
  color: var(--brand-primary, #514943) !important;
}

/* 8. Table Checkbox Alignment (Pixel-Perfect Uniformity) */
.polaris-table th:has(.form-check-input):not(:has(.form-switch)):not(:has(.dropdown)):not(.th-status):not(.col-status),
.polaris-table td:has(.form-check-input):not(:has(.form-switch)):not(:has(.dropdown)):not(.td-status):not(.col-status),
.polaris-table th.col-checkbox,
.polaris-table td.col-checkbox,
.polaris-table th.th-checkbox,
.polaris-table td.td-checkbox {
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  text-align: center !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
  vertical-align: middle !important;
}

.polaris-table th:has(.form-check-input):not(:has(.form-switch)):not(:has(.dropdown)):not(.th-status):not(.col-status) .form-check-input:not(.status-toggle-switch),
.polaris-table td:has(.form-check-input):not(:has(.form-switch)):not(:has(.dropdown)):not(.td-status):not(.col-status) .form-check-input:not(.status-toggle-switch),
.polaris-table th.col-checkbox .form-check-input,
.polaris-table td.col-checkbox .form-check-input {
  display: inline-block !important;
  margin: 0 auto !important;
  vertical-align: middle !important;
}

.polaris-table thead .form-check-input,
.polaris-table tbody .form-check-input {
  margin: 0 !important;
}

.polaris-table tbody tr:hover .form-check-input:not(:checked) {
  border-color: var(--brand-primary) !important;
}

/* 9. Universal Button Sizing & Radius Alignment */
.btn,
.btn-sm,
.btn-lg,
.btn-polaris-primary,
.btn-polaris-secondary,
.btn-polaris-danger,
.btn-primary,
.btn-secondary,
.btn-outline-primary,
.btn-outline-secondary,
.btn-danger,
.btn-light {
  border-radius: var(--radius-btn, 6px) !important;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  outline: none !important;
  box-shadow: none !important;
  transition: all var(--transition-fast);
}

.btn-sm {
  font-size: 12px !important;
  padding: 5px 10px !important;
  border-radius: var(--radius-btn, 6px) !important;
}

.btn-polaris-primary,
.btn-primary {
  background-color: var(--brand-primary, #514943) !important;
  border: 1px solid var(--brand-primary, #514943) !important;
  color: #ffffff !important;
  padding: 6px 14px !important;
  font-weight: 550 !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}

.btn-polaris-primary:hover,
.btn-polaris-primary:focus,
.btn-polaris-primary:active,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: var(--brand-primary-hover, #3e3833) !important;
  border-color: var(--brand-primary-hover, #3e3833) !important;
  color: #ffffff !important;
  outline: none !important;
  box-shadow: none !important;
}

.btn-polaris-secondary,
.btn-outline-secondary {
  background-color: #ffffff !important;
  border: 1px solid var(--p-border, #d2d5d8) !important;
  color: var(--p-text-main, #202223) !important;
  padding: 6px 14px !important;
  font-weight: 500 !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}

.btn-polaris-secondary:hover,
.btn-polaris-secondary:focus,
.btn-polaris-secondary:active,
.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:active {
  background-color: var(--p-surface-hover, #f6f6f7) !important;
  border-color: #babfc3 !important;
  color: var(--brand-primary, #514943) !important;
  outline: none !important;
  box-shadow: none !important;
}

.btn-polaris-danger,
.btn-danger {
  background-color: #b91c1c !important;
  border: 1px solid #b91c1c !important;
  color: #ffffff !important;
  padding: 6px 14px !important;
  font-weight: 550 !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}

.btn-polaris-danger:hover,
.btn-polaris-danger:focus,
.btn-polaris-danger:active,
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active {
  background-color: #991b1b !important;
  border-color: #991b1b !important;
  color: #ffffff !important;
  outline: none !important;
  box-shadow: none !important;
}

.btn-light {
  background-color: #ffffff !important;
  border: 1px solid var(--p-border, #d2d5d8) !important;
  color: var(--p-text-main, #202223) !important;
}

.btn-light:hover,
.btn-light:focus,
.btn-light:active {
  background-color: var(--p-surface-hover, #f6f6f7) !important;
  border-color: #babfc3 !important;
  color: var(--brand-primary, #514943) !important;
  outline: none !important;
  box-shadow: none !important;
}

.btn-close:focus,
.btn-close:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

.cat-level-option:focus-within {
  border-color: var(--brand-primary) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* 10. Dropdowns & Select Option Hover / Active Theme Alignment */
.dropdown-menu {
  background-color: #ffffff !important;
  border: 1px solid var(--p-border, #d2d5d8) !important;
  border-radius: var(--radius-btn, 6px) !important;
  padding: 4px !important;
  box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04) !important;
}

.dropdown-item {
  font-size: 12.5px !important;
  color: var(--p-text-main, #202223) !important;
  padding: 6px 12px !important;
  border-radius: 4px !important;
  font-weight: 500 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: background-color 0.12s ease, color 0.12s ease !important;
  outline: none !important;
  box-shadow: none !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background-color: var(--brand-primary-light, #f5f4f2) !important;
  color: var(--brand-primary, #514943) !important;
  outline: none !important;
  box-shadow: none !important;
}

.dropdown-item:hover i,
.dropdown-item:focus i,
.dropdown-item:hover .bi,
.dropdown-item:focus .bi {
  color: var(--brand-primary, #514943) !important;
}

.dropdown-item:active,
.dropdown-item.active {
  background-color: var(--brand-primary, #514943) !important;
  color: #ffffff !important;
}

.dropdown-item:active i,
.dropdown-item.active i,
.dropdown-item:active .bi,
.dropdown-item.active .bi {
  color: #ffffff !important;
}

.dropdown-divider {
  border-top: 1px solid var(--p-border-subtle, #edeeef) !important;
  margin: 4px 0 !important;
  opacity: 1 !important;
}

/* 11. Pagination Items */
.page-item.active .page-link {
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
  color: #ffffff !important;
  border-radius: var(--radius-btn, 6px) !important;
}

.page-link {
  border-radius: var(--radius-btn, 6px) !important;
  color: var(--p-text-main) !important;
}

.page-link:focus,
.page-link:focus-visible {
  color: var(--brand-primary) !important;
  background-color: var(--p-surface-hover) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* 12. Icons & SVGs Theme Alignment (Eliminate Default Bootstrap Blues) */
.text-primary,
i.text-primary,
svg.text-primary,
.bi-pencil-square.text-primary,
.bi-plus-circle.text-primary,
.bi-folder-plus.text-primary,
.bi-folder2-open.text-primary,
.bi-file-earmark-arrow-up.text-primary {
  color: var(--brand-primary, #514943) !important;
  fill: var(--brand-primary, #514943) !important;
}

.modal-title i,
.modal-title .bi {
  color: var(--brand-primary, #514943) !important;
}

.cat-icon-badge.text-primary {
  color: var(--brand-primary, #514943) !important;
}

.text-info,
i.text-info {
  color: #006097 !important;
}

.bg-info-subtle {
  background-color: #e0f5fe !important;
  color: #006097 !important;
}

/* 13. Modal & Dialog Polish */
.modal-content {
  border: 1px solid var(--p-border-subtle) !important;
  border-radius: var(--radius-modal, 12px) !important;
  box-shadow: var(--p-shadow-popover) !important;
}

.modal-header {
  border-bottom: 1px solid var(--p-border-subtle);
  background-color: #ffffff;
}

.modal-footer {
  border-top: 1px solid var(--p-border-subtle);
  background-color: var(--p-surface-subdued);
}

/* 14. Product Listing & Catalog Styling */
.product-cell-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

.product-thumb {
  width: 42px;
  height: 42px;
  border-radius: var(--radius-input, 6px);
  border: 1px solid var(--p-border-subtle, #edeeef);
  background-color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  font-size: 18px;
  color: var(--p-text-subdued);
}

.product-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.product-title-link {
  font-weight: 600;
  color: var(--p-text-main);
  text-decoration: none;
  font-size: 12.5px;
  line-height: 1.35;
  display: block;
  transition: color 0.12s ease;
}

.product-title-link:hover {
  color: var(--brand-primary);
  text-decoration: underline;
}

.product-meta-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
  font-size: 11px;
  color: var(--p-text-subdued);
}

.product-sku-tag {
  background-color: var(--p-surface-hover, #f1f2f3);
  color: #414548;
  padding: 1px 6px;
  border-radius: 4px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 10.5px;
  font-weight: 500;
  border: 1px solid var(--p-border-subtle);
}

.price-wholesale {
  font-weight: 600;
  font-size: 12.5px;
  color: var(--p-text-main);
}

.price-rrp {
  font-size: 11px;
  color: var(--p-text-subdued);
}

.stock-indicator-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 500;
  padding: 2px 8px;
  border-radius: 12px;
}

.stock-indicator-pill.in-stock {
  background-color: #e3f8e5;
  color: #0e623b;
}

.stock-indicator-pill.low-stock {
  background-color: #fff4e5;
  color: #8a6100;
}

.stock-indicator-pill.out-stock {
  background-color: #ffe4e4;
  color: #b91c1c;
}

.stock-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}

.stock-dot.in-stock {
  background-color: #1a7f37;
}

.stock-dot.low-stock {
  background-color: #b25e00;
}

.stock-dot.out-stock {
  background-color: #cf222e;
}

.filter-select-control {
  font-size: 12px !important;
  height: 31px !important;
  padding-top: 3px !important;
  padding-bottom: 3px !important;
  border-radius: var(--radius-input, 6px) !important;
  border-color: var(--p-border, #d2d5d8) !important;
  color: var(--p-text-main) !important;
  background-color: #ffffff !important;
}

.filter-select-control:focus {
  border-color: var(--brand-primary, #514943) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* ==========================================================================
   15. Add Product Form & Variant Management Styling
   ========================================================================== */
.form-section-card {
  background: var(--p-surface, #ffffff);
  border: 1px solid #d8dcde;
  border-radius: var(--radius-md, 8px);
  padding: 24px;
  margin-bottom: 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

/* Receive Goods / GRN intake (matches receive-goods.html) */
.badge-pending { background-color:#fff7ed !important; color:#c2410c !important; border:1px solid #fed7aa !important; font-weight:700 !important; font-size:12.5px !important; padding:4px 10px !important; border-radius:6px !important; display:inline-flex; align-items:center; gap:4px; letter-spacing:.02em; box-shadow:0 1px 2px rgba(194,65,12,.08); }
.badge-pending.zero { background-color:#f0fdf4 !important; color:#15803d !important; border-color:#bbf7d0 !important; box-shadow:none; }
.badge-pending.over { background-color:#fef2f2 !important; color:#dc2626 !important; border-color:#fecaca !important; }
.receive-table thead th { background-color:#f8fafc; color:#475569; font-size:11.5px; font-weight:600; text-transform:uppercase; letter-spacing:.03em; padding:10px 12px; border-bottom:2px solid #e2e8f0; white-space:nowrap; }
.receive-table tbody td { padding:10px 12px; vertical-align:middle; border-bottom:1px solid #edf2f7; }
.receive-table tbody tr:hover { background-color:#f8fafc; }
.receive-table .form-control-sm,.receive-table .form-select-sm { font-size:12.5px; }
.receive-qty-input { font-weight:700 !important; color:#0f172a !important; background-color:#fff !important; border:1.5px solid #cbd5e1 !important; transition:all .15s ease-in-out; }
.receive-qty-input:focus { border-color:#514943 !important; box-shadow:0 0 0 3px rgba(81,73,67,.15) !important; }
.receive-qty-input.has-qty { background-color:#f0fdf4 !important; border-color:#86efac !important; color:#166534 !important; }
.receive-table .input-group { flex-wrap:nowrap !important; }
.receive-table .item-price-input { min-width:65px; font-family:inherit; font-weight:600; }
.quick-action-pill { font-size:12px; font-weight:500; padding:5px 12px; border-radius:6px; border:1px solid #d2d5d8; background:#fff; color:#202223; transition:all .15s ease; cursor:pointer; display:inline-flex; align-items:center; line-height:1.3; }
.quick-action-pill:hover { background:#f6f6f7; color:#514943; border-color:#babfc3; }
.quick-action-pill.active-pill { background:#514943; color:#fff; border-color:#514943; }
.summary-stat-box { background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; padding:14px 16px; text-align:center; display:flex; flex-direction:column; justify-content:center; align-items:center; height:100%; }
.summary-stat-box .stat-val { font-size:20px; font-weight:700; color:#0f172a; line-height:1.2; }
.summary-stat-box .stat-label { font-size:11px; font-weight:600; color:#64748b; text-transform:uppercase; letter-spacing:.04em; margin-top:2px; }
.summary-stat-box.highlight { background:#f5f4f2; border-color:#d4cfcb; }.summary-stat-box.highlight .stat-val { color:#514943; }
.summary-stat-box.highlight-warning { background:#fff7ed; border-color:#fed7aa; }.summary-stat-box.highlight-warning .stat-val { color:#c2410c; }
.summary-stat-box.highlight-success { background:#f0fdf4; border-color:#bbf7d0; }.summary-stat-box.highlight-success .stat-val { color:#16a34a; }

.form-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #edf0f2;
}

.form-section-title {
  font-size: 15px;
  font-weight: 650;
  color: var(--p-text-main, #202223);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.form-section-subtitle {
  font-size: 12px;
  color: var(--p-text-subdued, #6d7175);
  margin: 2px 0 0;
}

/* Channel Info Switcher Pills (B2B vs B2C) */
.channel-segmented-switcher {
  display: inline-flex;
  background: #f1f3f5;
  padding: 3px;
  border-radius: 8px;
  border: 1px solid #d8dcde;
  gap: 3px;
}

.channel-segmented-btn {
  border: none;
  background: transparent;
  padding: 5px 12px;
  border-radius: 6px;
  font-size: 11.5px;
  font-weight: 600;
  color: #6c757d;
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  display: flex;
  align-items: center;
  gap: 5px;
}

.channel-segmented-btn:hover {
  color: #212529;
}

.channel-segmented-btn.active {
  background: #514943;
  color: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

/* Multi-select Tag Component */
.tag-input-container {
  min-height: 30px;
  border: 1px solid var(--p-border, #d2d5d8);
  border-radius: var(--radius-input, 6px);
  background-color: #ffffff;
  padding: 1px 6px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  cursor: pointer;
  box-sizing: border-box;
  transition: border-color var(--transition-fast);
}

.tag-input-container:focus-within {
  border-color: var(--brand-primary, #514943);
  outline: none;
  box-shadow: none;
}

.tag-input-container.tag-input-tall {
  min-height: 85px;
  align-items: flex-start;
  align-content: flex-start;
  padding: 8px 10px;
}

.tag-pill {
  background: var(--brand-primary-light, #f5f4f2);
  color: var(--brand-primary, #514943);
  border: 1px solid var(--brand-primary-border, #d4cfcb);
  font-size: 11.5px;
  font-weight: 550;
  padding: 2px 8px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.tag-pill .tag-close {
  cursor: pointer;
  color: var(--p-text-subdued);
  font-size: 12px;
  line-height: 1;
}

.tag-pill .tag-close:hover {
  color: #b91c1c;
}

.tag-search-input {
  border: none;
  outline: none;
  font-size: 12.5px;
  flex: 1;
  min-width: 90px;
  padding: 2px 4px;
  background: transparent;
}

.tag-dropdown-menu {
  max-height: 220px;
  overflow-y: auto;
  border-radius: var(--radius-md, 8px);
  border: 1px solid var(--p-border-subdued, #e1e3e5);
  box-shadow: var(--p-shadow-popover);
  padding: 6px 0;
}

.tag-option-item {
  padding: 7px 14px;
  font-size: 12.5px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--p-text-main);
  transition: background-color var(--transition-fast);
}

.tag-option-item:hover {
  background-color: var(--p-surface-hover, #f1f2f3);
  color: var(--brand-primary);
}

.tag-option-item.selected {
  background-color: var(--brand-primary-light, #f5f4f2);
  color: var(--brand-primary, #514943);
  font-weight: 600;
}

/* Notification table date treatment from the reference table. */
.notif-date-main {
  font-size: 12px;
  font-weight: 500;
  color: var(--p-text-main, #202223);
  white-space: nowrap;
}

.notif-date-sub {
  font-size: 11px;
  color: var(--p-text-subdued, #6d7175);
  white-space: nowrap;
}

/* Warehouse packing modal controls from the warehouse-orders reference. */
.packing-radio-group { display:flex; align-items:center; gap:20px; min-height:30px; }
.packing-radio-option { display:inline-flex; align-items:center; gap:8px; margin:0; font-size:12px; color:var(--p-text-main,#202223); line-height:16px; cursor:pointer; user-select:none; }
.packing-radio-option .form-check-input { margin:0; }
#warehousePackModal .modal-body { overflow-y:auto; }
.rt-admin-ajax-overlay { position:fixed; inset:0; z-index:2000; display:flex; align-items:center; justify-content:center; background:rgba(31,33,36,.16); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .14s ease, visibility .14s ease; }
.rt-admin-ajax-overlay.is-visible { opacity:1; visibility:visible; pointer-events:auto; }
.packing-image-grid { display:flex; flex-wrap:wrap; gap:10px; min-height:96px; }
.packing-image-tile { position:relative; width:90px; height:112px; border:1px solid var(--p-border,#d2d5d8); background:#fff; overflow:hidden; }
.packing-image-tile img { width:100%; height:88px; object-fit:cover; display:block; }
.packing-image-remove { position:absolute; bottom:0; left:0; width:100%; height:24px; border:0; background:#111; color:#fff; font-size:10px; cursor:pointer; }
.packing-image-add { width:90px; height:88px; border:1px dashed var(--p-border,#8c9196); background:#f6f6f7; color:var(--p-text-subdued,#6d7175); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; font-size:11px; cursor:pointer; }
.packing-image-add:disabled { opacity:.5; cursor:not-allowed; }

/* Notification modal: reference customer multi-select component. */
.cust-search-inner-icon {
  font-size: 11px;
  color: var(--p-text-subdued, #6d7175);
  margin-left: 2px;
  margin-right: 4px;
  display: inline-flex;
  align-items: center;
  align-self: center;
  line-height: 1;
  pointer-events: none;
  flex-shrink: 0;
}

#modalCustomerTagBox,
#planogramTagBox,
#homepageTagBox {
  min-height: 34px;
  max-height: 96px;
  overflow-y: auto;
  padding: 3px 6px;
  background-color: #ffffff;
  border: 1px solid var(--p-border, #d2d5d8);
  border-radius: var(--radius-input, 6px);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  cursor: pointer;
  box-sizing: border-box;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

#modalCustomerTagBox:focus-within,
#planogramTagBox:focus-within,
#homepageTagBox:focus-within {
  border-color: var(--brand-primary, #514943);
  box-shadow: 0 0 0 1px var(--brand-primary, #514943);
}

#modalCustomerTagBox .tag-search-input,
#planogramTagBox .tag-search-input,
#homepageTagBox .tag-search-input {
  border: none;
  outline: none;
  font-size: 12px;
  flex: 1;
  min-width: 140px;
  padding: 2px 4px;
  background: transparent;
}

#modalCustomerDropdownMenu,
#planogramDropdownMenu,
#homepageDropdownMenu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  margin-top: 4px !important;
  max-height: 220px;
  overflow-y: auto;
  border-radius: var(--radius-md, 8px);
  border: 1px solid var(--p-border-subdued, #e1e3e5);
  box-shadow: var(--p-shadow-popover, 0 4px 14px rgba(0, 0, 0, 0.08));
  padding: 4px 0;
  z-index: 1060;
}

#modalCustomerDropdownMenu .tag-option-item,
#planogramDropdownMenu .tag-option-item,
#homepageDropdownMenu .tag-option-item {
  padding: 6px 12px;
  font-size: 12px;
}

/* Image Upload Cards with Update & Delete options */
.media-upload-card {
  border: 1.5px dashed var(--p-border, #d2d5d8);
  border-radius: var(--radius-md, 8px);
  background: var(--p-surface-subdued, #fafbfb);
  padding: 16px;
  text-align: center;
  position: relative;
  transition: all var(--transition-fast);
}

.media-upload-card:hover {
  border-color: var(--brand-primary, #514943);
  background: #ffffff;
}

.media-upload-dropzone {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 16px 10px;
  cursor: pointer;
}

.media-preview-container {
  position: relative;
  width: 100%;
  height: 160px;
  border-radius: var(--radius-sm, 4px);
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--p-border-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
}

.media-preview-container img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.media-actions-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 10px;
}

/* Channel specific badges */
.badge-vs {
  background-color: #f3e8ff;
  color: #6b21a8;
  border: 1px solid #d8b4fe;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 4px;
}

.badge-vp {
  background-color: #ecfeff;
  color: #0e7490;
  border: 1px solid #a5f3fc;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 4px;
}

.badge-pl {
  background-color: #fef3c7;
  color: #92400e;
  border: 1px solid #fde68a;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 4px;
}

/* Variant Matrix Table */
.variant-matrix-card {
  border: 1px solid var(--p-border-subtle, #edeeef);
  border-radius: var(--radius-md, 8px);
  overflow: hidden;
  background: #ffffff;
}

.variant-table th {
  background: var(--p-surface-subdued, #fafbfb);
  font-size: 11px;
  font-weight: 600;
  color: var(--p-text-subdued);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 10px 12px;
  border-bottom: 1px solid var(--p-border-subdued);
}

.variant-table td {
  padding: 10px 12px;
  font-size: 12.5px;
  border-bottom: 1px solid var(--p-border-subtle);
  vertical-align: middle;
}

.variant-input-sm {
  font-size: 12px !important;
  padding: 4px 8px !important;
  height: 30px !important;
  border-radius: var(--radius-input, 6px) !important;
}

/* Form Bottom Action Bar (Normal inline layout) */
.sticky-form-bar {
  position: static;
  margin-top: 32px;
  margin-bottom: 24px;
  background: transparent;
  border: none;
  border-top: 1px solid #e1e3e5;
  border-radius: 0;
  padding: 20px 0 0 0;
  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media (max-width: 576px) {
  .sticky-form-bar {
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
    padding-top: 16px;
  }

  .sticky-form-bar>div {
    justify-content: space-between;
    width: 100%;
  }
}

/* Single-select with Search */
.single-select-search-wrap .dropdown-menu {
  border: 1px solid var(--p-border-subdued);
  border-radius: var(--radius-md);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  padding: 8px;
}

.single-select-search-wrap .dropdown-item {
  font-size: 12px;
  color: var(--p-text-main);
  padding: 6px 10px;
  border-radius: var(--radius-input, 6px);
  cursor: pointer;
  transition: all var(--transition-fast);
}

.single-select-search-wrap .dropdown-item:hover {
  background-color: var(--p-surface-hover, #f6f6f7);
  color: var(--brand-primary);
}

.single-select-search-wrap .dropdown-item.selected {
  background-color: var(--brand-primary-light, #f5f3f0);
  color: var(--brand-primary);
  font-weight: 600;
}

.single-select-search-wrap .single-search-input {
  padding-left: 32px !important;
  font-size: 12px;
  height: 32px;
}

/* ==========================================================================
   Section 16: Unified Price & Channel-Specific Matrix (VS, VP & PL)
   ========================================================================== */
.channel-table-container {
  border: none;
  background: transparent;
  box-shadow: none;
  overflow-x: auto;
  padding-top: 4px;
}

.channel-matrix-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12.5px;
  background: #ffffff;
}

/* Row 1: Top Channel Header Tabs - Completely borderless */
.channel-matrix-table thead tr:first-child th {
  padding: 0;
  /*background: transparent !important;*/
  border: none !important;
  box-shadow: none !important;
  vertical-align: bottom;
}

.channel-header-tab {
  background-color: #514943 !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center !important;
  padding: 10px 12px !important;
  border: none !important;
  box-shadow: none !important;
}

.channel-header-tab.tab-vs {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border: none !important;
}

.channel-header-tab.tab-vp {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border: none !important;
}

/* Row 2: Sub-headers - Structured table header borders */
.channel-matrix-table thead tr:last-child th {
  background: #f8f9fa;
  font-size: 11px;
  font-weight: 600;
  color: #495057;
  padding: 8px 6px;
  border: 1px solid #d8dcde !important;
  /*border-bottom: 2px solid #b8bec4 !important;*/
  text-align: center;
  vertical-align: top;
  height: 100%;
}

.channel-matrix-table thead tr:last-child th.th-left {
  text-align: left;
  padding-left: 10px;
}

/* Body rows & proper internal cell borders */
.channel-matrix-table tbody td {
  padding: 6px 6px;
  border: 1px solid #e1e4e6 !important;
  vertical-align: middle;
  background: #ffffff;
  transition: background-color 0.15s ease;
}

.channel-matrix-table tbody tr:hover td {
  background-color: #f8fafc;
}

/* Group boundary borders (Crisp vertical column division) */
.channel-matrix-table thead tr:last-child th.col-group-vs,
.channel-matrix-table tbody td.col-group-vs {
  border-left: 1px solid #514943 !important;
}

.channel-matrix-table thead tr:last-child th.col-group-vp,
.channel-matrix-table tbody td.col-group-vp {
  border-left: 1px solid #514943 !important;
}

/* Thumbnail Cell Upload Component */
.tbl-thumb-upload {
  width: 32px;
  height: 32px;
  border: 1px dashed #cbd0d6;
  border-radius: 4px;
  background: #fafbfc;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: all 0.15s ease-in-out;
  margin: 0 auto;
}

.tbl-thumb-upload:hover {
  border-color: #514943;
  background: #f0f2f4;
}

.tbl-thumb-upload img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tbl-thumb-upload .thumb-delete-btn {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.65);
  color: #ffffff;
  display: none;
  align-items: center;
  justify-content: center;
  font-size: 11px;
}

.tbl-thumb-upload:hover .thumb-delete-btn {
  display: flex;
}

.th-apply-all-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  min-height: 48px;
  gap: 6px;
}

.th-apply-all-wrap span {
  font-size: 10.5px;
  line-height: 1.25;
}

.th-apply-all-wrap .form-check-input {
  width: 14px;
  height: 14px;
  margin: 0;
  margin-top: auto;
  cursor: pointer;
}

.channel-matrix-table .variant-input-sm {
  font-size: 11.5px !important;
  height: 30px !important;
  padding: 3px 6px !important;
  border: 1px solid #d2d5d8 !important;
  border-radius: 5px !important;
  background: #ffffff !important;
}

.channel-matrix-table .variant-input-sm:focus {
  border-color: #514943 !important;
  box-shadow: none !important;
}

/* Delete Matrix Row Button - Small Outlined Red Button */
.delete-matrix-row-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  color: #d82c0d !important;
  background-color: #ffffff;
  border: 1px solid #f8a599;
  border-radius: 6px;
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  transition: all 0.18s ease-in-out;
}

.delete-matrix-row-btn:hover {
  color: #ffffff !important;
  background-color: #d82c0d;
  border-color: #d82c0d;
  box-shadow: 0 2px 6px rgba(216, 44, 13, 0.25);
  transform: translateY(-1px);
}

.delete-matrix-row-btn:active {
  transform: translateY(0) scale(0.95);
  background-color: #b82309;
  border-color: #b82309;
}

/* ==========================================================================
   Sales Orders Page Styling
   ========================================================================== */
.badge-channel-vs {
  background: #f5f4f2;
  color: #514943;
  border: 1px solid #d4cfcb;
  font-weight: 600;
  font-size: 10.5px;
  padding: 1px 7px;
  border-radius: 4px;
}

.badge-channel-vp {
  background: #ecfdf5;
  color: #065f46;
  border: 1px solid #a7f3d0;
  font-weight: 600;
  font-size: 10.5px;
  padding: 1px 7px;
  border-radius: 4px;
}

/* 8 Core Order Status Badges */
.badge-status-new,
.badge-status-printed,
.badge-status-packed,
.badge-status-invoiced,
.badge-status-shipped,
.badge-status-out-for-delivery,
.badge-status-delivery,
.badge-status-delivered,
.badge-status-cancelled {
  border-radius: 12px !important;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  line-height: 1.3;
}

.badge-status-new {
  background: #eef2ff;
  color: #4338ca;
  border: 1px solid #c7d2fe;
}

.badge-status-printed {
  background: #ecfeff;
  color: #0e7490;
  border: 1px solid #a5f3fc;
}

.badge-status-printed.cursor-pointer {
  cursor: pointer !important;
  transition: all var(--transition-fast, 0.15s ease);
  user-select: none;
}

.badge-status-printed.cursor-pointer:hover {
  filter: brightness(0.94);
  box-shadow: 0 2px 6px rgba(14, 116, 144, 0.25);
  transform: translateY(-1px);
}

.badge-status-packed {
  background: #fffbeb;
  color: #b45309;
  border: 1px solid #fde68a;
}

.badge-status-invoiced {
  background: #f5f4f2;
  color: #514943;
  border: 1px solid #d4cfcb;
}

.badge-status-shipped {
  background: #f5f3ff;
  color: #6d28d9;
  border: 1px solid #ddd6fe;
}

.badge-status-out-for-delivery,
.badge-status-delivery {
  background: #fff7ed;
  color: #c2410c;
  border: 1px solid #fed7aa;
}

.badge-status-delivered {
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #a7f3d0;
}

.badge-status-cancelled {
  background: #fef2f2;
  color: #b91c1c;
  border: 1px solid #fecaca;
}

/* Return Orders Ledger Status Badges (3 Canonical Statuses: Cancelled, Not Posted, Posted) */
.badge-ledger-posted {
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #a7f3d0;
  font-weight: 600;
}

.badge-ledger-not-posted {
  background: #fffbeb;
  color: #b45309;
  border: 1px solid #fde68a;
  font-weight: 600;
}

.badge-ledger-cancelled {
  background: #fef2f2;
  color: #b91c1c;
  border: 1px solid #fecaca;
  font-weight: 600;
}

/* Multi-Level Sorting Styles (users.html standard - Supports up to 4 Sorting Levels) */
.sort-order-bar {
  background-color: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  min-height: 44px;
}

.sort-level-chip,
.customer-sort-chip,
.warehouse-sort-chip,
.inventory-sort-chip,
.sort-order-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background-color: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  padding: 3px 6px 3px 8px;
  font-size: 12px;
  color: #1e293b;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  transition: all 0.15s ease;
}

.sort-level-chip:hover,
.customer-sort-chip:hover,
.warehouse-sort-chip:hover,
.inventory-sort-chip:hover,
.sort-order-chip:hover {
  border-color: #94a3b8;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}

.sort-level-badge {
  background-color: var(--brand-primary, #514943);
  color: #ffffff;
  font-size: 10px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  line-height: 1.4;
}

.sort-field-name {
  font-weight: 600;
  color: #0f172a;
}

.btn-clear-sort {
  background: transparent;
  border: none;
  padding: 0;
  margin-left: 2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  transition: all 0.15s ease;
}

.btn-clear-sort:hover {
  background-color: #fee2e2;
  color: #ef4444;
}

.sortable-th {
  cursor: pointer !important;
  user-select: none !important;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.sortable-th:hover {
  background-color: #f8fafc;
}

.sortable-th.active-sort {
  background-color: #f1f5f9;
  color: var(--brand-primary, #514943);
}

.sort-th-level-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 17px;
  background-color: var(--brand-primary, #514943);
  color: #ffffff;
  border-radius: 50%;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  margin-left: 3px;
}

.sortable-th.sorted-asc .sort-icon,
.sortable-th.sorted-desc .sort-icon {
  color: var(--brand-primary) !important;
  opacity: 1 !important;
}

.sortable-th.sorted-asc,
.sortable-th.sorted-desc {
  color: var(--brand-primary) !important;
  background-color: #f8fafc !important;
  box-shadow: inset 0 -2px 0 var(--brand-primary) !important;
}

/* ==========================================================================
   Interactive Order Status Badge Dropdown Buttons
   ========================================================================== */
.order-status-dropdown-wrap {
  position: relative;
  display: inline-block;
}

.btn-order-status-badge {
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 6px;
  line-height: 1.2;
}

.btn-order-status-badge:hover,
.btn-order-status-badge:focus,
.btn-order-status-badge[aria-expanded="true"] {
  filter: brightness(0.95);
  box-shadow: 0 0 0 2px rgba(67, 56, 202, 0.15);
}

.btn-order-status-badge.dropdown-toggle::after {
  display: inline-block;
  margin-left: 5px;
  vertical-align: middle;
  content: "";
  border-top: 3.5px solid;
  border-right: 3px solid transparent;
  border-bottom: 0;
  border-left: 3px solid transparent;
  opacity: 0.6;
}

.btn-order-status-badge:not(.dropdown-toggle) {
  cursor: default;
}

.btn-order-status-badge:not(.dropdown-toggle):hover,
.btn-order-status-badge:not(.dropdown-toggle):focus {
  filter: none;
  box-shadow: none;
}

.order-status-menu {
  border-radius: 8px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.12), 0 8px 10px -6px rgba(0, 0, 0, 0.08);
  min-width: 230px;
  padding: 6px 0;
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
}

.order-status-menu .status-action-icon {
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 12px;
  flex-shrink: 0;
}

.order-status-menu .dropdown-item {
  transition: background-color 0.12s ease;
  border-radius: 4px;
  margin: 1px 4px;
  width: calc(100% - 8px);
}

.order-status-menu .dropdown-item:hover {
  background-color: #f3f4f6;
}

.order-status-menu .dropdown-item.active-status-opt {
  background-color: #eef2ff;
  font-weight: 600;
}

.order-customer-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #f1f2f4;
  color: #374151;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 11px;
  border: 1px solid #e5e7eb;
  flex-shrink: 0;
}

.order-items-snippet {
  font-size: 12px;
  color: var(--p-text-subdued);
  max-width: 240px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.order-table-row {
  cursor: pointer;
  transition: background-color var(--transition-fast);
}

.order-table-row:hover {
  background-color: #f8fafc !important;
}

.bulk-actions-floating-bar {
  background: #202223;
  color: #ffffff;
  border-radius: 8px;
  padding: 8px 16px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
  display: none;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  animation: slideDownFade 0.2s ease-out;
}

.bulk-actions-floating-bar.show {
  display: flex !important;
}

@keyframes slideDownFade {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ==========================================================================
   Bulk Process Orders Modal & Stage Transition Options
   ========================================================================== */
.bulk-modal-info-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 16px;
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  margin-bottom: 16px;
}

.bulk-modal-info-left {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.bulk-modal-info-icon {
  width: 34px;
  height: 34px;
  min-width: 34px;
  border-radius: 8px;
  background-color: #e0f2fe;
  color: #0284c7;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}

.bulk-modal-info-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
}

.bulk-modal-info-title {
  font-size: 12.5px;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.2;
}

.bulk-modal-info-sub {
  font-size: 11.5px;
  color: #64748b;
  line-height: 1.2;
}

.bulk-modal-info-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 12px;
  background-color: #1e293b;
  color: #ffffff;
  font-size: 11.5px;
  font-weight: 600;
  border-radius: 9999px;
  white-space: nowrap;
  flex-shrink: 0;
}

.bulk-stage-option {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 13px 16px;
  background-color: #ffffff;
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  transition: all var(--transition-fast);
  cursor: pointer;
  user-select: none;
  position: relative;
  margin-bottom: 10px;
}

.bulk-stage-option:hover {
  background-color: #f8fafc;
  border-color: #cbd5e1;
}

.bulk-stage-option.active,
.bulk-stage-option:has(input:checked) {
  background-color: #f0fdf4 !important;
  border-color: #22c55e !important;
  box-shadow: 0 0 0 1.5px #22c55e, 0 2px 6px 0 rgba(34, 197, 94, 0.12) !important;
}

/* Radio button wrapping & alignment */
.bulk-stage-radio-wrap {
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.bulk-stage-radio-wrap .form-check-input,
.bulk-stage-radio {
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  vertical-align: middle !important;
  cursor: pointer;
}

.bulk-stage-radio-wrap .form-check-input:checked,
.bulk-stage-radio:checked {
  background-color: #16a34a;
  border-color: #16a34a;
}

/* Main Content Area */
.bulk-stage-content {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

/* Header line (badges + arrow + match count) */
.bulk-stage-header {
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}

/* Flow: Pill 1 -> Arrow -> Pill 2 */
.bulk-stage-flow {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
}

/* Status Pill with consistent column width and left-aligned icon & text */
.bulk-stage-pill {
  width: 130px;
  min-width: 130px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 10px;
  border-radius: 6px;
  white-space: nowrap;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: -0.01em;
  gap: 6px;
  box-sizing: border-box;
}

.bulk-pill-icon {
  width: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11.5px;
  flex-shrink: 0;
  line-height: 1;
}

.bulk-pill-text {
  display: inline-block;
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Arrow between pills */
.bulk-stage-arrow-wrap {
  width: 20px;
  min-width: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.bulk-stage-arrow {
  color: #94a3b8;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* Match Pill on right side */
.bulk-stage-match-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 90px;
  height: 26px;
  background: #f1f5f9;
  color: #475569;
  border: 1px solid #e2e8f0;
  font-size: 11px;
  font-weight: 600;
  padding: 0 10px;
  border-radius: 9999px;
  white-space: nowrap;
  flex-shrink: 0;
}

.bulk-stage-option.active .bulk-stage-match-pill,
.bulk-stage-option:has(input:checked) .bulk-stage-match-pill {
  background: #dcfce7;
  color: #15803d;
  border-color: #86efac;
}

/* Description Text */
.bulk-stage-desc {
  font-size: 12px;
  color: #64748b;
  line-height: 1.45;
  margin: 6px 0 0 0;
}

.order-timeline {
  position: relative;
  padding-left: 20px;
}

.order-timeline::before {
  content: '';
  position: absolute;
  left: 6px;
  top: 4px;
  bottom: 4px;
  width: 2px;
  background: #e5e7eb;
}

.order-timeline-item {
  position: relative;
  margin-bottom: 16px;
}

.order-timeline-item:last-child {
  margin-bottom: 0;
}

.order-timeline-dot {
  position: absolute;
  left: -20px;
  top: 3px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #ffffff;
  border: 2px solid #514943;
}

.order-timeline-dot.success {
  border-color: #10b981;
  background: #ecfdf5;
}

.order-timeline-dot.primary {
  border-color: #3b82f6;
  background: #eff6ff;
}

/* ==========================================================================
   Stock View (Warehouse Prepared Stock Photos) Buttons & Badges
   ========================================================================== */
.btn-stock-view {
  font-size: 11.5px !important;
  font-weight: 550 !important;
  padding: 3.5px 8px !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  line-height: 1.3 !important;
  transition: all var(--transition-fast) !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.btn-stock-has-photos {
  background-color: #f0fdf4 !important;
  color: #15803d !important;
  border: 1px solid #bbf7d0 !important;
}

.btn-stock-has-photos:hover {
  background-color: #dcfce7 !important;
  border-color: #86efac !important;
  color: #166534 !important;
  box-shadow: 0 1px 3px rgba(22, 101, 52, 0.12) !important;
  transform: translateY(-0.5px);
}

.btn-stock-has-photos i {
  color: #16a34a !important;
  font-size: 11px;
}

.btn-stock-pending-photos {
  background-color: #fefce8 !important;
  color: #a16207 !important;
  border: 1px solid #fef08a !important;
}

.btn-stock-pending-photos:hover {
  background-color: #fef9c3 !important;
  border-color: #fde047 !important;
  color: #854d0e !important;
}

.btn-stock-no-photos {
  background-color: #f3f4f6 !important;
  color: #6b7280 !important;
  border: 1px solid #e5e7eb !important;
}

.btn-stock-no-photos:hover {
  background-color: #e5e7eb !important;
  color: #374151 !important;
}

/* ==========================================================================
   Stock View Modal & Image Slider / Rotation Studio
   ========================================================================== */
.stock-viewer-container {
  background: #ffffff;
  border: 1px solid #e1e3e5;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--p-shadow-card);
}

.stock-viewer-toolbar {
  padding: 10px 16px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 50px;
}

.stock-toolbar-left {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1 1 auto;
  min-width: 0;
}

.stock-toolbar-tag {
  background-color: var(--brand-primary, #514943);
  color: #ffffff;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 4px;
  white-space: nowrap;
  line-height: 1.2;
}

.stock-toolbar-title {
  font-size: 13px;
  font-weight: 600;
  color: #1e293b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.stock-toolbar-counter {
  font-size: 11.5px;
  color: #64748b;
  font-weight: 500;
  white-space: nowrap;
}

.stock-toolbar-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.stock-btn-group {
  display: inline-flex;
  align-items: center;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.stock-action-btn {
  height: 30px;
  padding: 0 10px;
  background: transparent;
  border: none;
  border-right: 1px solid #e2e8f0;
  color: #334155;
  font-size: 12px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  line-height: 1;
  cursor: pointer;
  transition: all var(--transition-fast);
  white-space: nowrap;
}

.stock-action-btn:last-child {
  border-right: none;
}

.stock-action-btn:hover {
  background: #f1f5f9;
  color: #0f172a;
}

.stock-action-btn:active {
  background: #e2e8f0;
}

.stock-action-btn i {
  font-size: 13px;
  line-height: 1;
}

.stock-angle-badge,
.rotate-indicator-badge {
  height: 30px;
  min-width: 38px;
  padding: 0 8px;
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  color: #475569;
  font-size: 11.5px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  user-select: none;
}

.stock-download-btn {
  height: 30px;
  padding: 0 12px;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  color: #334155;
  font-size: 12px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  text-decoration: none;
  line-height: 1;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  transition: all var(--transition-fast);
  white-space: nowrap;
}

.stock-download-btn:hover {
  background: #f8fafc;
  border-color: #94a3b8;
  color: #0f172a;
}

.stock-download-btn i {
  font-size: 12px;
  line-height: 1;
}

.stock-slide-main-stage {
  position: relative;
  background: #080c14;
  height: 560px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  user-select: none;
}

.stock-slide-img-container {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0;
  overflow: hidden;
}

.stock-slide-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
  display: block;
}

.stock-slider-nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(15, 23, 42, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  cursor: pointer;
  transition: all var(--transition-fast);
  z-index: 10;
  backdrop-filter: blur(4px);
}

.stock-slider-nav-btn:hover {
  background: rgba(15, 23, 42, 0.9);
  border-color: rgba(255, 255, 255, 0.5);
  transform: translateY(-50%) scale(1.08);
  color: #ffffff;
}

.stock-slider-prev {
  left: 14px;
}

.stock-slider-next {
  right: 14px;
}

.stock-slider-caption-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 8px 16px;
  background: linear-gradient(to top, rgba(11, 15, 25, 0.92) 0%, rgba(11, 15, 25, 0.4) 75%, transparent 100%);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  z-index: 5;
}

.stock-thumbs-strip {
  padding: 10px 14px;
  background: #f8fafc;
  border-top: 1px solid #e2e8f0;
  display: flex;
  gap: 10px;
  overflow-x: auto;
  align-items: center;
}

.stock-thumb-item {
  width: 68px;
  height: 68px;
  flex-shrink: 0;
  border-radius: 6px;
  overflow: hidden;
  border: 2px solid #cbd5e1;
  background: #ffffff;
  cursor: pointer;
  transition: all var(--transition-fast);
  position: relative;
}

.stock-thumb-item:hover {
  border-color: var(--brand-primary);
  transform: scale(1.04);
}

.stock-thumb-item.active {
  border-color: var(--brand-primary);
  box-shadow: 0 0 0 2px rgba(81, 73, 67, 0.35);
}

.stock-thumb-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}



/* Mini Photo Strip inside Order Preview */
.stock-preview-strip {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 4px;
}

.stock-preview-thumb-card {
  width: 70px;
  height: 70px;
  flex-shrink: 0;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid #d2d5d8;
  position: relative;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.stock-preview-thumb-card:hover {
  border-color: var(--brand-primary);
  transform: scale(1.04);
}

.stock-preview-thumb-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================================================
   Fulfillment Column Header Filter Dropdown
   ========================================================================== */
.fulfillment-filter-btn {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: all var(--transition-fast);
  color: var(--p-text-subdued, #6d7175);
  background: transparent;
  border: 1px solid transparent;
  padding: 0;
  cursor: pointer;
  vertical-align: middle;
}

.fulfillment-filter-btn:hover,
.fulfillment-filter-btn[aria-expanded="true"] {
  background-color: var(--p-surface-hover, #f6f6f7);
  border-color: #d2d5d8;
  color: var(--brand-primary);
}

.fulfillment-filter-btn.active-filter {
  color: #0969da !important;
  background-color: #eff6ff !important;
  border-color: #bfdbfe !important;
}

.fulfillment-filter-dropdown {
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
  border: 1px solid #e1e3e5 !important;
  border-radius: 8px !important;
  overflow: hidden;
  text-align: left !important;
}

.fulfillment-filter-dropdown .status-filter-list {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
}

.fulfillment-filter-dropdown .status-filter-label,
.status-filter-label {
  font-size: 12.5px;
  user-select: none;
  transition: background-color var(--transition-fast);
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: left !important;
  gap: 10px !important;
  width: 100% !important;
  border-radius: 6px;
  padding: 6px 10px !important;
  cursor: pointer;
}

.status-filter-label:hover {
  background-color: var(--p-surface-hover, #f6f6f7);
}

.fulfillment-filter-dropdown .form-check-input,
.status-filter-label .form-check-input,
.status-filter-check {
  cursor: pointer;
  margin: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
}

.status-filter-label .badge-polaris {
  flex-shrink: 0;
}

/* ==========================================================================
   rtAdmin Universal KPI Matrix & Metric Cards (Consistent Across Entire Portal)
   ========================================================================== */
.polaris-metric-card,
.order-kpi-card,
.rt-kpi-card {
  padding: 10px 14px;
  border-radius: var(--radius-md, 8px);
  user-select: none;
  transition: transform var(--transition-fast, 0.15s ease), border-color var(--transition-fast, 0.15s ease), box-shadow var(--transition-fast, 0.15s ease), background-color var(--transition-fast, 0.15s ease);
  position: relative;
  background: var(--p-surface, #ffffff);
  border: 1px solid var(--p-border-subdued, #e1e3e5);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 72px;
  height: 100%;
}

.order-kpi-card,
.polaris-metric-card[role="button"],
.rt-kpi-card[role="button"] {
  cursor: pointer;
}

.polaris-metric-card:hover,
.order-kpi-card:hover,
.rt-kpi-card:hover {
  transform: translateY(-2px);
  border-color: #babfc3;
  box-shadow: 0 4px 12px -2px rgba(0, 0, 0, 0.08);
}

.polaris-metric-card:focus-visible,
.order-kpi-card:focus-visible,
.rt-kpi-card:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--brand-primary, #514943);
}

.polaris-metric-card.active-kpi,
.order-kpi-card.active-kpi,
.rt-kpi-card.active-kpi {
  border-color: var(--brand-primary, #514943) !important;
  background-color: #faf9f8 !important;
  box-shadow: 0 0 0 2px rgba(81, 73, 67, 0.18), 0 4px 10px rgba(0, 0, 0, 0.06) !important;
}

.polaris-metric-card.active-kpi::after,
.order-kpi-card.active-kpi::after,
.rt-kpi-card.active-kpi::after,
.agent-kpi-card.active-kpi::after,
.customer-kpi-card.active-kpi::after,
.product-kpi-card.active-kpi::after,
.return-kpi-card.active-kpi::after,
.inventory-kpi-card.active-kpi::after,
.category-kpi-card.active-kpi::after,
.supplier-kpi-card.active-kpi::after,
.po-kpi-card.active-kpi::after {
  content: none !important;
  display: none !important;
  border: none !important;
}

.metric-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}

.metric-label {
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  color: var(--p-text-subdued, #6d7175) !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

.metric-icon-wrap {
  width: 26px;
  height: 26px;
  min-width: 26px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
}

.metric-card-bottom {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px;
  flex-wrap: wrap;
}

.metric-value {
  font-size: 1.25rem !important; /* ~20px */
  font-weight: 700 !important;
  line-height: 1.1 !important;
  color: var(--p-text-main, #202223) !important;
  margin: 0 !important;
}

.metric-footer {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  font-size: 10px;
  font-weight: 500;
  color: var(--p-text-subdued, #6d7175);
}

.metric-footer .badge-polaris,
.order-kpi-card .badge-polaris,
.polaris-metric-card .badge-polaris {
  font-size: 10px;
  font-weight: 500;
  white-space: nowrap;
  padding: 2px 6px;
}

.trend-badge {
  font-size: 10px;
  font-weight: 600;
  padding: 1px 5px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  line-height: 1.3;
}

.trend-badge.up {
  background-color: #e3f1df;
  color: #108043;
}

.trend-badge.down {
  background-color: #fed3d1;
  color: #bf0711;
}

.trend-badge.neutral {
  background-color: #f1f2f3;
  color: #6d7175;
}

.trend-badge.info {
  background-color: #e0f2fe;
  color: #0369a1;
}

/* ==========================================================================
   Polaris Table Filter Controls & Toolbar Elements
   ========================================================================== */
.filter-select-control {
  font-size: 12px !important;
  height: 32px !important;
  line-height: 1.4 !important;
  padding: 4px 28px 4px 10px !important;
  border-radius: var(--radius-input, 6px) !important;
  border: 1px solid var(--p-border, #d2d5d8) !important;
  color: var(--p-text-main, #202223) !important;
  background-color: #ffffff !important;
  box-shadow: var(--p-shadow-button, 0 1px 0 rgba(0, 0, 0, 0.05)) !important;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast) !important;
  cursor: pointer !important;
}

.filter-select-control:hover {
  border-color: #babfc3 !important;
}

.filter-select-control:focus {
  border-color: var(--brand-primary, #514943) !important;
  box-shadow: 0 0 0 1px var(--brand-primary, #514943) !important;
  outline: none !important;
}

.polaris-table-filter-bar .btn-polaris-secondary {
  height: 32px !important;
  padding: 4px 12px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  border-radius: var(--radius-input, 6px) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

.filter-dropdown-control {
  font-size: 12px !important;
  font-weight: 500 !important;
  height: 32px !important;
  line-height: 1.4 !important;
  padding: 4px 10px !important;
  border-radius: var(--radius-input, 6px) !important;
  border: 1px solid var(--p-border, #d2d5d8) !important;
  color: var(--p-text-main, #202223) !important;
  background-color: #ffffff !important;
  box-shadow: var(--p-shadow-button, 0 1px 0 rgba(0, 0, 0, 0.05)) !important;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

.filter-dropdown-control:hover {
  border-color: #babfc3 !important;
  background-color: var(--p-surface-hover, #f6f6f7) !important;
  color: var(--p-text-main, #202223) !important;
}

.filter-dropdown-control:focus,
.filter-dropdown-control.show {
  border-color: var(--brand-primary, #514943) !important;
  box-shadow: 0 0 0 1px var(--brand-primary, #514943) !important;
  background-color: #ffffff !important;
  color: var(--brand-primary, #514943) !important;
  outline: none !important;
}

.filter-dropdown-control::after {
  margin-left: 6px !important;
  vertical-align: 0 !important;
  border-top-color: var(--p-text-subdued, #6d7175) !important;
}

.filter-dropdown-control.has-selected {
  border-color: var(--brand-primary, #514943) !important;
  color: var(--brand-primary, #514943) !important;
  font-weight: 600 !important;
  background-color: #fbfaf9 !important;
}

.polaris-table-filter-bar .polaris-search-box {
  height: 32px !important;
}

.polaris-table-filter-bar .polaris-search-box .polaris-search-input,
.polaris-table-filter-bar .polaris-search-box .form-control {
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  line-height: 30px !important;
}

.filter-lock-control,
.customer-filter-lock,
.pl-filter-lock,
[id*="FiltersLock"],
[id*="filterLock"],
[id*="FilterLock"] {
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  min-width: 36px !important;
  width: 36px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: var(--radius-input, 6px) !important;
  border: 1px solid var(--p-border, #d2d5d8) !important;
  background-color: #ffffff !important;
  color: var(--p-text-main, #202223) !important;
  box-shadow: var(--p-shadow-button, 0 1px 0 rgba(0, 0, 0, 0.05)) !important;
  transition: all var(--transition-fast, 0.15s ease) !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

.filter-lock-control:hover,
.customer-filter-lock:hover,
.pl-filter-lock:hover,
[id*="FiltersLock"]:hover,
[id*="filterLock"]:hover,
[id*="FilterLock"]:hover {
  border-color: #babfc3 !important;
  background-color: var(--p-surface-hover, #f6f6f7) !important;
  color: var(--p-text-main, #202223) !important;
}

.filter-lock-control:has(.bi-lock-fill),
.customer-filter-lock:has(.bi-lock-fill),
.pl-filter-lock:has(.bi-lock-fill),
[id*="FiltersLock"]:has(.bi-lock-fill),
[id*="filterLock"]:has(.bi-lock-fill),
[id*="FilterLock"]:has(.bi-lock-fill) {
  border-color: var(--brand-primary, #514943) !important;
  color: var(--brand-primary, #514943) !important;
  background-color: var(--brand-primary-light, #fbfaf9) !important;
  box-shadow: 0 0 0 1px var(--brand-primary, #514943) !important;
}

.tab-count-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 9.5px !important;
  font-weight: 600 !important;
  padding: 1px 6px !important;
  border-radius: 999px !important;
  margin-left: 5px !important;
  background-color: var(--p-surface-hover, #f1f2f3) !important;
  color: var(--p-text-subdued, #4b5563) !important;
  border: 1px solid var(--p-border-subtle, #e1e3e5) !important;
  line-height: 1.3 !important;
  vertical-align: middle !important;
}

.filter-tab-item.active .tab-count-badge {
  background-color: #f1f2f4 !important;
  color: #202223 !important;
  border-color: #d2d5d8 !important;
}

.warehouse-company-option span,
.warehouse-status-option span {
  vertical-align: top !important;
}

.warehouse-filter-form {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap !important;
  flex-shrink: 0 !important;
}

/* ==========================================================================
   18. Add Order Page Responsive Layout & Mobile Product Cards
   ========================================================================== */
@media (max-width: 991.98px) {
  .rtAdmin-main {
    padding: 16px 14px 40px;
  }
}

@media (max-width: 767.98px) {
  .rtAdmin-main {
    padding: 12px 10px 32px;
  }

  .rtAdmin-page-header {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    margin-bottom: 16px;
  }

  .rtAdmin-page-title-wrap {
    width: 100%;
  }

  .rtAdmin-page-title {
    font-size: 18px;
  }

  .rtAdmin-page-subtitle {
    font-size: 12px;
  }

  .rtAdmin-header-actions {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 8px;
  }

  .rtAdmin-header-actions .btn-polaris-secondary,
  .rtAdmin-header-actions .btn-polaris-primary {
    flex: 1 1 auto;
    justify-content: center;
    text-align: center;
    padding: 8px 12px;
    font-size: 12px;
    min-height: 38px;
  }

  .form-section-card {
    padding: 14px;
    border-radius: 8px;
  }

  .form-section-header {
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
    padding-bottom: 10px;
  }

  /* Responsive Line Items Table Transformation for Mobile (< 768px) */
  #orderItemsTable {
    border: none !important;
    margin-bottom: 0 !important;
  }

  #orderItemsTable thead {
    display: none !important;
  }

  #orderItemsTable,
  #orderItemsTable tbody {
    display: block;
    width: 100%;
  }

  .table-responsive {
    overflow-x: visible !important;
    border: none !important;
  }

  #orderItemsTable tbody tr.order-item-row {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
    padding: 14px;
    margin-bottom: 12px;
    background: #ffffff;
    border: 1px solid #e1e3e5 !important;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  }

  #orderItemsTable tbody tr.order-item-row td {
    display: block;
    padding: 0 !important;
    border: none !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  /* Cell 1: Product SKU */
  #orderItemsTable tbody tr.order-item-row td:nth-child(1) {
    grid-column: span 6;
  }

  #orderItemsTable tbody tr.order-item-row td:nth-child(1)::before {
    content: "Product SKU";
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: var(--p-text-subdued, #6d7175);
    margin-bottom: 3px;
  }

  /* Cell 2: Product Name */
  #orderItemsTable tbody tr.order-item-row td:nth-child(2) {
    grid-column: span 6;
  }

  #orderItemsTable tbody tr.order-item-row td:nth-child(2)::before {
    content: "Product Name";
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: var(--p-text-subdued, #6d7175);
    margin-bottom: 3px;
  }

  /* Cell 3: Pack */
  #orderItemsTable tbody tr.order-item-row td:nth-child(3) {
    grid-column: span 2;
  }

  #orderItemsTable tbody tr.order-item-row td:nth-child(3)::before {
    content: "Pack (Qty/Pk)";
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: var(--p-text-subdued, #6d7175);
    margin-bottom: 3px;
    text-align: center;
  }

  /* Cell 4: Quantity */
  #orderItemsTable tbody tr.order-item-row td:nth-child(4) {
    grid-column: span 2;
  }

  #orderItemsTable tbody tr.order-item-row td:nth-child(4)::before {
    content: "Qty (Packs)";
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: var(--p-text-subdued, #6d7175);
    margin-bottom: 3px;
    text-align: center;
  }

  /* Cell 5: Unit Price */
  #orderItemsTable tbody tr.order-item-row td:nth-child(5) {
    grid-column: span 2;
  }

  #orderItemsTable tbody tr.order-item-row td:nth-child(5)::before {
    content: "Unit Price";
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: var(--p-text-subdued, #6d7175);
    margin-bottom: 3px;
    text-align: right;
  }

  /* Cell 6: Total Amount */
  #orderItemsTable tbody tr.order-item-row td:nth-child(6) {
    grid-column: span 3;
    display: flex;
    align-items: center;
    padding-top: 10px !important;
    border-top: 1px dashed #e1e3e5 !important;
    margin-top: 4px;
    font-size: 13px !important;
  }

  #orderItemsTable tbody tr.order-item-row td:nth-child(6)::before {
    content: "Line Total: ";
    font-size: 11.5px;
    font-weight: 600;
    color: var(--p-text-subdued, #6d7175);
    margin-right: 6px;
  }

  /* Cell 7: Delete Action */
  #orderItemsTable tbody tr.order-item-row td:nth-child(7) {
    grid-column: span 3;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 10px !important;
    border-top: 1px dashed #e1e3e5 !important;
    margin-top: 4px;
  }

  #orderItemsTable tbody tr.order-item-row td:nth-child(7) .btn-remove-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px !important;
    background-color: #fff1f0;
    border: 1px solid #ffccc7;
    border-radius: 6px;
    font-size: 11.5px;
    color: #cf1322 !important;
    text-decoration: none;
  }

  #orderItemsTable tbody tr.order-item-row td:nth-child(7) .btn-remove-item::after {
    content: " Remove";
    font-weight: 500;
  }

  #btnAddEmptyLineItem {
    width: 100%;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12.5px;
  }
}

@media (max-width: 480px) {
  .rtAdmin-header-actions #btnTopSaveOrder {
    width: 100%;
    flex: 1 1 100%;
    order: -1;
  }

  .rtAdmin-header-actions #btnDiscardOrder,
  .rtAdmin-header-actions #btnSaveDraftOrder {
    flex: 1 1 calc(50% - 4px);
  }

  #orderItemsTable tbody tr.order-item-row {
    padding: 12px 10px;
    gap: 8px;
  }

  #orderItemsTable tbody tr.order-item-row .btn-qty-minus,
  #orderItemsTable tbody tr.order-item-row .btn-qty-plus {
    padding: 2px 6px !important;
    font-size: 11px !important;
  }

  #orderItemsTable tbody tr.order-item-row .item-qty-input {
    width: 36px !important;
    padding: 2px !important;
    font-size: 11px !important;
  }

  #orderItemsTable tbody tr.order-item-row .item-price-input {
    font-size: 11px !important;
  }

  #orderItemsTable tbody tr.order-item-row .input-group-text {
    padding: 0 4px !important;
    font-size: 11px !important;
  }
}

/* ==========================================================================
   Edit Order Status Pipeline & Workflow Styles
   ========================================================================== */
.order-status-pipeline-container {
  background: #f8fafc;
  border-radius: 8px;
}

#orderStatusPipeline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  overflow-x: auto;
  padding: 4px 2px;
}

.pipeline-step {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 20px;
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  color: #64748b;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  transition: all var(--transition-fast, 0.15s ease);
}

.pipeline-step:hover {
  background-color: #f1f5f9;
  border-color: #cbd5e1;
  color: #334155;
}

.pipeline-step .step-circle {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #f1f5f9;
  color: #94a3b8;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  transition: all var(--transition-fast, 0.15s ease);
}

.pipeline-step.completed {
  background-color: #f0fdf4;
  border-color: #bbf7d0;
  color: #166534;
}

.pipeline-step.completed .step-circle {
  background: #22c55e;
  color: #ffffff;
}

.pipeline-step.active {
  background-color: #514943;
  border-color: #514943;
  color: #ffffff;
  box-shadow: 0 2px 6px rgba(81, 73, 67, 0.25);
}

.pipeline-step.active .step-circle {
  background: #ffffff;
  color: #514943;
}

.step-connector {
  flex-grow: 1;
  height: 2px;
  background: #e2e8f0;
  min-width: 12px;
}

.step-connector.completed {
  background: #22c55e;
}

/* ==========================================================================
   Price Lists Page & Sticky Multi-Tier Table Styles
   ========================================================================== */
.table-price-lists-card {
  border-radius: var(--radius-lg, 8px);
  border: 1px solid #e1e3e5;
  background: #ffffff;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  overflow: hidden;
}

.table-price-lists-wrapper {
  position: relative;
  overflow-x: auto;
  overflow-y: visible;
  max-width: 100%;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 #f8fafc;
}

.table-price-lists-wrapper::-webkit-scrollbar {
  height: 8px;
}

.table-price-lists-wrapper::-webkit-scrollbar-track {
  background: #f8fafc;
}

.table-price-lists-wrapper::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}

.table-price-lists-wrapper::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

.table-price-lists {
  min-width: 2400px;
  border-collapse: separate;
  border-spacing: 0;
  margin-bottom: 0;
  font-size: 12.5px;
}

.table-price-lists th,
.table-price-lists td {
  padding: 8px 12px;
  vertical-align: middle;
  border-bottom: 1px solid #edf0f2;
  border-top: none;
}

.table-price-lists thead th {
  background-color: #f7f8f9 !important;
  color: #5c5f62;
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  white-space: nowrap;
  border-bottom: 2px solid #e1e3e5;
}

/* Frozen / Fixed 4 Columns (Product Name, Variant, SKU, Standard Price) */
.table-price-lists .sticky-col-1 {
  position: sticky !important;
  left: 0 !important;
  min-width: 240px;
  max-width: 240px;
  width: 240px;
  background-color: #ffffff;
  z-index: 15;
}

.table-price-lists .sticky-col-2 {
  position: sticky !important;
  left: 240px !important;
  min-width: 200px;
  max-width: 200px;
  width: 200px;
  background-color: #ffffff;
  z-index: 15;
}

.table-price-lists .sticky-col-3 {
  position: sticky !important;
  left: 440px !important;
  min-width: 150px;
  max-width: 150px;
  width: 150px;
  background-color: #ffffff;
  z-index: 15;
}

.table-price-lists .sticky-col-4 {
  position: sticky !important;
  left: 590px !important;
  min-width: 130px;
  max-width: 130px;
  width: 130px;
  background-color: #fafbfc;
  font-weight: 600;
  z-index: 15;
  box-shadow: 4px 0 8px -2px rgba(0, 0, 0, 0.08);
  border-right: 2px solid #dde1e5 !important;
}

.table-price-lists thead th.sticky-col-1,
.table-price-lists thead th.sticky-col-2,
.table-price-lists thead th.sticky-col-3 {
  z-index: 25;
  background-color: #f7f8f9 !important;
}

.table-price-lists thead th.sticky-col-4 {
  z-index: 25;
  background-color: #eef2f6 !important;
  color: #1e293b;
  box-shadow: 4px 0 8px -2px rgba(0, 0, 0, 0.08);
  border-right: 2px solid #dde1e5 !important;
}

/* Sortable Headers for Price Lists Matrix */
.table-price-lists thead th.sortable-th {
  cursor: pointer !important;
  user-select: none;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}

.table-price-lists thead th.sortable-th:hover {
  background-color: #edf0f3 !important;
  color: #111827 !important;
}

.table-price-lists thead th.sortable-th .sort-icon {
  font-size: 11px;
  line-height: 1;
  transition: transform var(--transition-fast), color var(--transition-fast);
}

.table-price-lists thead th.sortable-th.active-sort {
  color: var(--brand-primary, #514943) !important;
  font-weight: 700;
}

/* Row Hover for Sticky Columns */
.table-price-lists tbody tr:hover td {
  background-color: #f9fafb;
}

.table-price-lists tbody tr:hover td.sticky-col-1,
.table-price-lists tbody tr:hover td.sticky-col-2,
.table-price-lists tbody tr:hover td.sticky-col-3 {
  background-color: #f9fafb;
}

.table-price-lists tbody tr:hover td.sticky-col-4 {
  background-color: #f1f5f9;
}

/* Selected row */
.table-price-lists tbody tr.selected-row td,
.table-price-lists tbody tr.selected-row td.sticky-col-1,
.table-price-lists tbody tr.selected-row td.sticky-col-2,
.table-price-lists tbody tr.selected-row td.sticky-col-3 {
  background-color: #f0f7ff;
}

.table-price-lists tbody tr.selected-row td.sticky-col-4 {
  background-color: #e6f0fa;
}

/* Dynamic Price Columns */
.table-price-lists .price-col {
  min-width: 155px;
  max-width: 180px;
  text-align: right;
  white-space: nowrap;
}

.table-price-lists thead th.price-col {
  text-align: right;
  padding: 8px 12px;
}

.price-cell-content {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.price-val {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: #202223;
}

/* Price difference indicator displayed as regular text instead of badge */
.price-diff-badge,
.price-diff-text {
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.price-diff-badge.badge-discount,
.price-diff-text.text-success {
  background: transparent !important;
  color: #137333 !important;
}

.price-diff-badge.badge-markup,
.price-diff-text.text-warning {
  background: transparent !important;
  color: #b06000 !important;
}

.price-diff-badge.badge-equal,
.price-diff-text.text-muted {
  background: transparent !important;
  color: #6d7175 !important;
}

/* Inline Edit Field */
.table-price-lists .price-inline-input {
  width: 80px;
  height: 26px !important;
  padding: 2px 6px;
  font-size: 12px;
  font-weight: 600;
  text-align: right;
  border-radius: 4px;
  border: 1px solid #cbd5e1;
}

.table-price-lists .price-inline-input:focus {
  border-color: #514943;
  outline: none;
  box-shadow: 0 0 0 2px rgba(81, 73, 67, 0.2);
}

/* Dynamic Column Header with Options */
.price-list-col-header {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.price-list-col-header .col-title-group {
  display: flex;
  align-items: center;
  gap: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 135px;
}

.price-list-col-header .col-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
  font-size: 12px;
  color: #202223;
}

.price-col-options-btn {
  width: 22px;
  height: 22px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: #6d7175;
  cursor: pointer;
  transition: all 0.15s ease;
  line-height: 1;
}

.price-col-options-btn:hover,
.price-col-options-btn[aria-expanded="true"] {
  background-color: #e4e5e7;
  color: #202223;
  border-color: #cbd5e1;
}

.price-col-dropdown .dropdown-menu {
  min-width: 155px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  border: 1px solid #d2d5d8;
  border-radius: 6px;
  padding: 4px 0;
  z-index: 1060;
}

.price-col-dropdown .dropdown-item {
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 500;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.price-col-dropdown .dropdown-item:hover {
  background-color: #f6f6f7;
}

.price-col-dropdown .dropdown-item.text-danger:hover {
  background-color: #feebe8;
  color: #d72c0d !important;
}

.price-list-col-actions {
  opacity: 0.7;
  cursor: pointer;
  transition: opacity 0.15s ease;
}

.price-list-col-actions:hover {
  opacity: 1;
}

/* Fixed column elements */
.prod-name-title {
  font-weight: 600;
  color: #202223;
  text-decoration: none;
  display: inline-block;
  max-width: 220px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.prod-name-title:hover {
  color: #514943;
  text-decoration: underline;
}

.prod-category-sub {
  font-size: 11px;
  color: #6d7175;
}

/* Variant & SKU displayed as regular text instead of badges */
.prod-variant-pill,
.prod-variant-text {
  display: inline-block;
  color: #202223;
  font-size: 12.5px;
  font-weight: 450;
  white-space: normal;
  word-break: normal;
  line-height: 1.4;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.prod-sku-code,
.prod-sku-text {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 12px;
  font-weight: 450;
  color: #5c5f62;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  letter-spacing: 0.02em;
}

/* Add Price List Product Table Styling */
#addPriceListTable thead th {
  font-size: 11.5px;
  font-weight: 600;
  color: #5c5f62;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  background-color: #f7f8f9;
  border-bottom: 2px solid #e1e3e5;
  padding: 8px 12px;
}

#addPriceListTable tbody tr.product-active-row {
  background-color: #f0f7ff;
}

#addPriceListTable tbody tr.product-active-row td {
  background-color: #f0f7ff;
}

#addPriceListTable tbody td {
  padding: 8px 12px;
  vertical-align: middle;
}

#addPriceListTable .row-price-input:disabled {
  background-color: #f6f6f7 !important;
  color: #8c9196 !important;
  border-color: #e1e3e5 !important;
  cursor: not-allowed;
}

#addPriceListTable .row-price-input:not(:disabled) {
  background-color: #ffffff !important;
  border-color: var(--brand-primary, #514943) !important;
  font-weight: 600;
  color: #202223;
}

/* ==========================================================================
   VIEW INVENTORY (Grouped Column Table & Section Headers)
   ========================================================================== */
.table-inventory {
  font-size: 12.5px;
  border-collapse: separate;
  border-spacing: 0;
}

.table-inventory thead th {
  background-color: #f8fafc;
  color: #334155;
  font-size: 11px;
  font-weight: 600;
  padding: 6px 10px;
  border-bottom: 1px solid #e2e8f0;
  border-top: none;
}

/* Table Header Row 1 (Grouped) */
.table-inventory thead tr.table-header-group th {
  border-bottom: 1px solid #cbd5e1;
  padding-top: 8px;
  padding-bottom: 8px;
}

/* Table Header Row 2 (Sub-columns) */
.table-inventory thead tr.table-header-sub th {
  background-color: #f1f5f9;
  font-size: 11px;
  font-weight: 600;
  color: #475569;
  border-bottom: 2px solid #cbd5e1;
  padding: 5px 8px;
}

/* Section Header Titles */
.group-header-badge,
.group-header-title {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0;
  border-radius: 0;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.02em;
  background: none !important;
  border: none !important;
  color: #1e293b !important;
}

.group-badge-warehouse,
.group-badge-msl,
.group-badge-incoming {
  background: none !important;
  border: none !important;
  color: #1e293b !important;
}

/* Group Column Backgrounds & Separators */
.table-inventory .group-header-warehouse,
.table-inventory .group-header-msl,
.table-inventory .group-header-incoming {
  background-color: #f8fafc !important;
  color: #1e293b;
}

/* Vertical Group Boundaries */
.table-inventory th:nth-child(5),
.table-inventory td:nth-child(5) {
  border-right: 2px solid #cbd5e1 !important;
}

.table-inventory th.group-header-warehouse,
.table-inventory th.col-warehouse-last,
.table-inventory td.col-warehouse-last {
  border-right: 2px solid #cbd5e1 !important;
}

.table-inventory th.group-header-msl,
.table-inventory th.col-msl-last,
.table-inventory td.col-msl-last {
  border-right: 2px solid #cbd5e1 !important;
}

.table-inventory th.group-header-incoming,
.table-inventory th.sub-col-incoming,
.table-inventory th.col-incoming-last,
.table-inventory td.col-incoming,
.table-inventory td.col-incoming-last {
  border-right: 2px solid #cbd5e1 !important;
}

/* Table Body Cells */
.table-inventory tbody td {
  padding: 7px 10px;
  vertical-align: middle;
  border-bottom: 1px solid #f1f5f9;
}

.table-inventory tbody tr:hover td {
  background-color: #f8fafc;
}

.table-inventory .num-stock {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: #1e293b;
}

.table-inventory .num-inuse {
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  color: #d97706;
}

.table-inventory .num-balance {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  color: #0f766e;
}

.table-inventory .num-msl {
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  color: #64748b;
}

/* DIFF Badges */
.badge-diff-positive {
  background-color: #ecfdf5;
  color: #047857;
  border: 1px solid #a7f3d0;
  font-weight: 600;
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 4px;
}

.badge-diff-negative {
  background-color: #fef2f2;
  color: #b91c1c;
  border: 1px solid #fecaca;
  font-weight: 700;
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 4px;
}

.badge-diff-zero {
  background-color: #f1f5f9;
  color: #64748b;
  border: 1px solid #e2e8f0;
  font-weight: 500;
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 4px;
}

/* Priority Badges */
.badge-priority-critical {
  background-color: #fee2e2;
  color: #991b1b;
  border: 1px solid #f87171;
  font-weight: 700;
  font-size: 10.5px;
  padding: 2px 7px;
  border-radius: 12px;
}

.badge-priority-high {
  background-color: #ffedd5;
  color: #9a3412;
  border: 1px solid #fdba74;
  font-weight: 600;
  font-size: 10.5px;
  padding: 2px 7px;
  border-radius: 12px;
}

.badge-priority-medium {
  background-color: #fef9c3;
  color: #854d0e;
  border: 1px solid #fde047;
  font-weight: 500;
  font-size: 10.5px;
  padding: 2px 7px;
  border-radius: 12px;
}

.badge-priority-adequate {
  background-color: #f0fdf4;
  color: #15803d;
  border: 1px solid #86efac;
  font-weight: 500;
  font-size: 10.5px;
  padding: 2px 7px;
  border-radius: 12px;
}

/* Sortable Headers for Inventory */
.table-inventory thead th.sortable-inv-th {
  cursor: pointer;
  user-select: none;
  transition: background-color 0.12s ease;
}

.table-inventory thead th.sortable-inv-th:hover {
  background-color: #e2e8f0 !important;
  color: #0f172a !important;
}

.table-inventory .sort-inv-icon {
  font-size: 10px;
  opacity: 0.45;
  margin-left: 3px;
  transition: opacity 0.15s ease;
}

.table-inventory thead th.sortable-inv-th:hover .sort-inv-icon,
.table-inventory thead th.sortable-inv-th.active-sort .sort-inv-icon {
  opacity: 1;
}

.table-inventory thead th.sortable-inv-th.active-sort {
  color: var(--brand-primary, #514943) !important;
  font-weight: 700;
}

/* Adjust Stock Modal Tabs & Bulk Upload Styling */
.modal-nav-pills {
  background-color: #f1f5f9;
  padding: 4px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  display: flex;
  gap: 4px;
}

.modal-nav-pills .nav-item {
  flex: 1;
}

.modal-nav-pills .nav-link {
  color: #64748b;
  border-radius: 6px;
  padding: 6px 12px;
  font-size: 12.5px;
  font-weight: 600;
  transition: all 0.15s ease-in-out;
  border: none;
  background: transparent;
  width: 100%;
  text-align: center;
}

.modal-nav-pills .nav-link:hover {
  color: #1e293b;
  background-color: rgba(255, 255, 255, 0.5);
}

.modal-nav-pills .nav-link.active {
  background-color: #ffffff;
  color: #0f172a;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.bulk-dropzone {
  border: 2px dashed #cbd5e1;
  background-color: #f8fafc;
  border-radius: 8px;
  padding: 20px 16px;
  text-align: center;
  transition: all 0.2s ease;
  cursor: pointer;
}

.bulk-dropzone:hover,
.bulk-dropzone.dragover {
  border-color: #2563eb;
  background-color: #eff6ff;
}

.bulk-file-badge {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
}

/* Stock Transactions Table Styles */
.table-transactions thead th {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-weight: 600 !important;
  color: var(--p-text-subdued, #6d7175);
  background-color: var(--p-surface-subdued, #fafbfb);
  border-bottom: 1px solid var(--p-border-subdued, #e1e3e5);
  vertical-align: middle;
  padding: 10px 14px;
  white-space: nowrap;
}

.table-transactions thead th.sortable-txn-th {
  cursor: pointer;
  user-select: none;
  transition: background-color 0.12s ease;
}

.table-transactions thead th.sortable-txn-th:hover {
  background-color: #f1f2f4 !important;
  color: var(--p-text-main, #202223) !important;
}

.table-transactions .sort-txn-icon {
  font-size: 11px;
  opacity: 0.45;
  margin-left: 4px;
  transition: opacity 0.15s ease;
}

.table-transactions thead th.sortable-txn-th:hover .sort-txn-icon,
.table-transactions thead th.sortable-txn-th.active-sort .sort-txn-icon {
  opacity: 1;
}

.table-transactions thead th.sortable-txn-th.active-sort {
  color: var(--brand-primary, #514943) !important;
  font-weight: 700 !important;
}

.table-transactions tbody td {
  padding: 10px 14px;
  font-size: 12.5px;
  vertical-align: middle;
  border-bottom: 1px solid var(--p-border-subtle, #edeeef);
  color: var(--p-text-main, #202223);
}

.table-transactions tbody tr:hover td {
  background-color: var(--p-surface-hover, #f6f6f7);
}

.table-transactions tbody td .bi-calendar3 {
  margin-right: 8px;
  font-size: 11px;
  vertical-align: -1px;
  display: inline-block;
}

.gap-1\.5,
.gap-1-5 {
  gap: 0.375rem !important;
}

.me-1\.5,
.me-1-5 {
  margin-right: 0.375rem !important;
}

/* ==========================================================================
   Brand Management Page Styles (brands.html)
   ========================================================================== */
.brand-logo-avatar {
  width: 42px;
  height: 42px;
  min-width: 42px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.5px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(0, 0, 0, 0.08);
  user-select: none;
  overflow: hidden;
  background-color: var(--brand-primary, #514943);
  color: #ffffff;
  flex-shrink: 0;
  vertical-align: middle;
}

.brand-logo-avatar.lg {
  width: 58px;
  height: 58px;
  min-width: 58px;
  font-size: 18px;
  border-radius: 10px;
}

.brand-logo-thumb {
  width: 42px;
  height: 42px;
  min-width: 42px;
  border-radius: 8px;
  border: 1px solid var(--p-border-subdued, #e1e3e5);
  background-color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  flex-shrink: 0;
  vertical-align: middle;
  transition: border-color var(--transition-fast, 0.15s ease), box-shadow var(--transition-fast, 0.15s ease);
}

.brand-logo-thumb:hover {
  border-color: var(--brand-primary, #514943);
}

.brand-logo-thumb.lg {
  width: 58px;
  height: 58px;
  min-width: 58px;
  border-radius: 10px;
  padding: 4px;
}

.brand-logo-thumb .brand-logo-img,
.brand-logo-img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.brand-logo-text {
  line-height: 1;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.brand-title-link {
  font-weight: 600;
  color: #0f172a;
  text-decoration: none;
  font-size: 12.5px;
  transition: color 0.15s ease;
}

.brand-title-link:hover {
  color: var(--brand-primary, #514943);
  text-decoration: underline;
}

.brand-slug-text {
  font-size: 11px;
  color: #64748b;
  font-family: var(--font-monospace, monospace);
  display: block;
  margin-top: 1px;
}

.btn-icon-polaris {
  width: 30px;
  height: 30px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
  background-color: #ffffff;
  color: #475569;
  font-size: 13px;
  transition: all 0.15s ease;
  flex-shrink: 0;
}

.btn-icon-polaris:hover {
  background-color: #f1f5f9;
  border-color: #cbd5e1;
  color: #0f172a;
}

td.text-end > .btn-icon-polaris + .btn-icon-polaris,
td.text-end > .btn-icon-polaris + a.btn-icon-polaris,
td.text-end > a.btn-icon-polaris + .btn-icon-polaris,
td.text-end > a.btn-icon-polaris + a.btn-icon-polaris {
  margin-left: 4px;
}

/* ==========================================================================
   Flavour Management Page Styles (flavours.html)
   ========================================================================== */
.flavour-title-link {
  font-weight: 600;
  color: #0f172a;
  text-decoration: none;
  font-size: 12.5px;
  transition: color 0.15s ease;
  display: inline-block;
}

.flavour-title-link:hover {
  color: var(--brand-primary, #514943);
  text-decoration: underline;
}

.flavour-notes-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}

.flavour-notes-tags .badge {
  font-weight: 500;
  border-radius: 4px;
  color: #475569 !important;
  background-color: #f8fafc !important;
  border-color: #e2e8f0 !important;
}

.sortable-flavour-th {
  cursor: pointer !important;
  user-select: none !important;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.sortable-flavour-th:hover {
  background-color: #f1f5f9 !important;
  color: var(--brand-primary, #514943);
}

.sortable-flavour-th:hover .sort-flavour-icon {
  color: var(--brand-primary, #514943) !important;
}

.sortable-flavour-th.active-sort {
  color: var(--brand-primary, #514943);
  font-weight: 600;
}

.sort-flavour-icon {
  transition: transform 0.15s ease, color 0.15s ease;
}

/* ==========================================================================
   PG/VG Ratio Management Page Styles (pg-vg.html)
   ========================================================================== */
.ratio-title-link {
  font-weight: 600;
  color: #0f172a;
  text-decoration: none;
  font-size: 12.5px;
  transition: color 0.15s ease;
  display: inline-block;
}

.ratio-title-link:hover {
  color: var(--brand-primary, #514943);
  text-decoration: underline;
}

.sortable-ratio-th {
  cursor: pointer !important;
  user-select: none !important;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.sortable-ratio-th:hover {
  background-color: #f1f5f9 !important;
  color: var(--brand-primary, #514943);
}

.sortable-ratio-th:hover .sort-ratio-icon {
  color: var(--brand-primary, #514943) !important;
}

.sortable-ratio-th.active-sort {
  color: var(--brand-primary, #514943);
  font-weight: 600;
}

.sort-ratio-icon {
  transition: transform 0.15s ease, color 0.15s ease;
}

/* ==========================================================================
   Material Management Page Styles (material.html)
   ========================================================================== */
.material-title-link {
  font-weight: 600;
  color: #0f172a;
  text-decoration: none;
  font-size: 12.5px;
  transition: color 0.15s ease;
  display: inline-block;
}

.material-title-link:hover {
  color: var(--brand-primary, #514943);
  text-decoration: underline;
}

.sortable-material-th {
  cursor: pointer !important;
  user-select: none !important;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.sortable-material-th:hover {
  background-color: #f1f5f9 !important;
  color: var(--brand-primary, #514943);
}

.sortable-material-th:hover .sort-material-icon {
  color: var(--brand-primary, #514943) !important;
}

.sortable-material-th.active-sort {
  color: var(--brand-primary, #514943);
  font-weight: 600;
}

/* ==========================================================================
   Range Management Page Styles (range.html)
   ========================================================================== */
.range-title-link {
  font-weight: 600;
  color: #0f172a;
  text-decoration: none;
  font-size: 12.5px;
  transition: color 0.15s ease;
  display: inline-block;
}

.range-title-link:hover {
  color: var(--brand-primary, #514943);
  text-decoration: underline;
}

.sortable-range-th {
  cursor: pointer !important;
  user-select: none !important;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.sortable-range-th:hover {
  background-color: #f1f5f9 !important;
  color: var(--brand-primary, #514943);
}

.sortable-range-th:hover .sort-range-icon {
  color: var(--brand-primary, #514943) !important;
}

.sortable-range-th.active-sort {
  color: var(--brand-primary, #514943);
  font-weight: 600;
}

.sort-range-icon {
  transition: transform 0.15s ease, color 0.15s ease;
}

/* ==========================================================================
   Nicotine Management Page Styles (nicotines.html)
   ========================================================================== */
.nicotine-title-link {
  font-weight: 600;
  color: #0f172a;
  text-decoration: none;
  font-size: 12.5px;
  transition: color 0.15s ease;
  display: inline-block;
}

.nicotine-title-link:hover {
  color: var(--brand-primary, #514943);
  text-decoration: underline;
}

.sortable-nicotine-th {
  cursor: pointer !important;
  user-select: none !important;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.sortable-nicotine-th:hover {
  background-color: #f1f5f9 !important;
  color: var(--brand-primary, #514943);
}

.sortable-nicotine-th:hover .sort-nicotine-icon {
  color: var(--brand-primary, #514943) !important;
}

.sortable-nicotine-th.active-sort {
  color: var(--brand-primary, #514943);
  font-weight: 600;
}

.sort-nicotine-icon {
  transition: transform 0.15s ease, color 0.15s ease;
}

/* ==========================================================================
   Size Management Page Styles (sizes.html)
   ========================================================================== */
.size-title-link {
  font-weight: 600;
  color: #0f172a;
  text-decoration: none;
  font-size: 12.5px;
  transition: color 0.15s ease;
  display: inline-block;
}

.size-title-link:hover {
  color: var(--brand-primary, #514943);
  text-decoration: underline;
}

.sortable-size-th {
  cursor: pointer !important;
  user-select: none !important;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.sortable-size-th:hover {
  background-color: #f1f5f9 !important;
  color: var(--brand-primary, #514943);
}

.sortable-size-th:hover .sort-size-icon {
  color: var(--brand-primary, #514943) !important;
}

.sortable-size-th.active-sort {
  color: var(--brand-primary, #514943);
  font-weight: 600;
}

.sort-size-icon {
  transition: transform 0.15s ease, color 0.15s ease;
}

.gap-2\.5,
.gap-2-5 {
  gap: 0.625rem !important;
}

/* ==========================================================================
   Portal-Wide Avatar Standards (Reference: View Agent Page)
   ========================================================================== */
.agent-avatar,
.user-avatar,
.table-user-avatar,
.customer-avatar,
.avatar {
  width: 32px;
  height: 32px;
  min-width: 32px;
  max-width: 32px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 12px;
  line-height: 1;
  color: #ffffff;
  background-color: var(--brand-primary, #514943);
  user-select: none;
  flex-shrink: 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.sortable-agent-th {
  cursor: pointer !important;
  user-select: none !important;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.sortable-agent-th:hover {
  background-color: #f1f5f9 !important;
  color: var(--brand-primary, #514943);
}

.sortable-agent-th:hover .sort-agent-icon {
  color: var(--brand-primary, #514943) !important;
}

.sortable-agent-th.active-sort {
  color: var(--brand-primary, #514943);
  font-weight: 600;
}

.sort-agent-icon,
.sort-supplier-icon,
.sort-po-icon {
  transition: transform 0.15s ease, color 0.15s ease;
}

.agent-kpi-card,
.supplier-kpi-card,
.po-kpi-card {
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
  cursor: pointer;
}

.agent-kpi-card:hover,
.supplier-kpi-card:hover,
.po-kpi-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.agent-kpi-card.active-kpi,
.supplier-kpi-card.active-kpi,
.po-kpi-card.active-kpi {
  border-color: var(--brand-primary, #514943) !important;
  box-shadow: 0 0 0 2px rgba(81, 73, 67, 0.2);
}

/* ==========================================================================
   Supplier Management Page Styles (suppliers.html) & PO (purchase-orders.html)
   ========================================================================== */
.supplier-avatar {
  width: 32px;
  height: 32px;
  min-width: 32px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 11.5px;
  color: #ffffff;
  background-color: var(--brand-primary, #514943);
  user-select: none;
}

.sortable-supplier-th,
.sortable-po-th {
  cursor: pointer !important;
  user-select: none !important;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.sortable-supplier-th:hover,
.sortable-po-th:hover {
  background-color: #f1f5f9 !important;
  color: var(--brand-primary, #514943);
}

.sortable-supplier-th:hover .sort-supplier-icon,
.sortable-po-th:hover .sort-po-icon {
  color: var(--brand-primary, #514943) !important;
}

.sortable-supplier-th.active-sort,
.sortable-po-th.active-sort {
  color: var(--brand-primary, #514943);
  font-weight: 600;
}

/* Standard Polaris Table Pagination Footer */
.polaris-table-footer {
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--border-color, #e2e8f0);
  background-color: #f8fafc;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* Agent Customer Assignment Table in Modals */
.agent-assign-modal-dialog {
  max-width: 95%;
  transition: max-width 0.2s ease;
}

@media (min-width: 992px) {
  .agent-assign-modal-dialog {
    max-width: 1040px !important;
  }
}

@media (min-width: 1400px) {
  .agent-assign-modal-dialog {
    max-width: 1080px !important;
  }
}

.agent-cust-scroll-container {
  max-height: 270px;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  border-radius: 6px;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 #f1f5f9;
}

/* Custom Visible Scrollbar for Webkit Browsers */
.agent-cust-scroll-container::-webkit-scrollbar {
  width: 7px;
  height: 0px;
}

.agent-cust-scroll-container::-webkit-scrollbar-track {
  background: #f1f5f9;
  border-radius: 4px;
}

.agent-cust-scroll-container::-webkit-scrollbar-thumb {
  background-color: #cbd5e1;
  border-radius: 4px;
  border: 2px solid #f1f5f9;
}

.agent-cust-scroll-container::-webkit-scrollbar-thumb:hover {
  background-color: #94a3b8;
}

.agent-cust-modal-table {
  width: 100% !important;
  table-layout: auto;
  font-size: 12px;
}

.agent-cust-modal-table thead th {
  background-color: #f8fafc !important;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--p-text-subdued, #6d7175);
  border-bottom: 1px solid var(--border-color, #e2e8f0);
  padding: 8px 12px;
  white-space: nowrap;
}

.agent-cust-modal-table tbody tr {
  cursor: pointer;
  transition: background-color 0.1s ease;
}

.agent-cust-modal-table tbody tr:hover {
  background-color: #f8fafc;
}

.agent-cust-modal-table tbody tr.cust-assigned-row {
  background-color: rgba(81, 73, 67, 0.04);
}

.agent-cust-modal-table td {
  padding: 7px 12px;
  white-space: nowrap;
}

/* Agent Modal Password Input Group & Toggle */
.btn-toggle-agent-pwd {
  border-color: #cbd5e1;
  background-color: #ffffff;
  color: #64748b;
  padding: 0.25rem 0.65rem;
  font-size: 0.8125rem;
  transition: all 0.15s ease;
}

.btn-toggle-agent-pwd:hover,
.btn-toggle-agent-pwd:focus {
  background-color: #f8fafc;
  border-color: #94a3b8;
  color: #1e293b;
}

.input-group:focus-within .btn-toggle-agent-pwd {
  border-color: #514943;
}

/* ==========================================================================
   Goods Receipts (GRN) & KPI Card Interactive Styles
   ========================================================================== */
.polaris-metric-card.active-kpi {
  border-color: #514943 !important;
  box-shadow: 0 0 0 1.5px #514943, 0 2px 6px rgba(0, 0, 0, 0.08) !important;
}

.grn-row {
  transition: background-color 0.15s ease;
}

.grn-row:hover {
  background-color: #f8fafc;
}

.grn-doc-code {
  font-family: var(--font-family-mono, SFMono-Regular, Menlo, Monaco, Consolas, monospace);
  font-size: 11.5px;
  color: #475569;
  background-color: #f1f5f9;
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid #e2e8f0;
}

.grn-total-recv-cell {
  line-height: 1.35;
}

.grn-items-table th {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  background-color: #f8fafc !important;
  color: var(--p-text-subdued, #6d7175);
}

.grn-items-table td {
  font-size: 12px;
  vertical-align: middle;
}

/* Printable GRN Slip Layout */
@media print {
  body {
    background: #ffffff !important;
    color: #000000 !important;
    font-size: 11pt !important;
  }

  .rtAdmin-topbar,
  .rtAdmin-sidebar,
  .rtAdmin-header-actions,
  .polaris-table-filter-bar,
  .polaris-table-footer,
  .modal-footer,
  .btn-close,
  .toast-container,
  #bulkActionsBar,
  .col-select-all,
  .po-select-check,
  .grn-select-check,
  th:last-child,
  td:last-child {
    display: none !important;
  }

  .rtAdmin-wrapper {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .rtAdmin-main {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
  }

  .modal {
    position: static !important;
    display: block !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .modal-dialog {
    max-width: 100% !important;
    margin: 0 !important;
  }

  .modal-content {
    border: none !important;
    box-shadow: none !important;
  }
}

/* Orders Module - Copy Animation & Date Filter Styles */
.table-success-highlight {
  background-color: rgba(22, 101, 52, 0.08) !important;
  transition: background-color 2.5s ease-out;
}

#orderDateRangeWrap input[type="date"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 0.6;
}

#orderDateRangeWrap input[type="date"]::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
}

.item-vat-select {
  background-color: #f8fafc;
  border-color: #e2e8f0;
  font-size: 11.5px;
}

/* ==========================================================================
   Account Settings & Profile Management Styles (Polaris Theme)
   ========================================================================== */
.account-hero-card {
  background: linear-gradient(135deg, #ffffff 0%, #fafaf9 100%);
  border: 1px solid var(--p-border, #d8dcde);
  border-radius: 10px;
  padding: 22px 24px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  margin-bottom: 20px;
  position: relative;
  overflow: hidden;
}

.account-hero-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #514943 0%, #8a7e76 50%, #10b981 100%);
}

.account-avatar-hero {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: var(--brand-primary, #514943);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.5px;
  box-shadow: 0 4px 12px rgba(81, 73, 67, 0.2);
  border: 3px solid #ffffff;
  position: relative;
  flex-shrink: 0;
  overflow: hidden;
}

.account-avatar-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.account-avatar-status-dot {
  position: absolute;
  bottom: 2px;
  right: 2px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: #10b981;
  border: 2.5px solid #ffffff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

.account-hero-title {
  font-size: 20px;
  font-weight: 700;
  color: #202223;
  margin-bottom: 3px;
  letter-spacing: -0.02em;
}

.account-hero-meta {
  font-size: 13px;
  color: #6d7175;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.account-hero-stat-badge {
  background: #f1f2f4;
  border: 1px solid #e1e3e5;
  border-radius: 6px;
  padding: 6px 12px;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 110px;
}

.account-hero-stat-badge .stat-label {
  font-size: 10.5px;
  text-transform: uppercase;
  color: #8c9196;
  font-weight: 600;
  letter-spacing: 0.5px;
}

.account-hero-stat-badge .stat-val {
  font-size: 13.5px;
  font-weight: 700;
  color: #202223;
}

/* Settings Tabs Bar */
.account-tabs-nav {
  display: flex;
  gap: 4px;
  border-bottom: 1px solid var(--p-border, #d8dcde);
  margin-bottom: 24px;
  overflow-x: auto;
  scrollbar-width: none;
}

.account-tabs-nav::-webkit-scrollbar {
  display: none;
}

.account-tab-item {
  padding: 10px 18px;
  font-size: 13px;
  font-weight: 500;
  color: #5c5f62;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  transition: all 0.15s ease;
  white-space: nowrap;
  background: transparent;
  border-top: none;
  border-left: none;
  border-right: none;
  cursor: pointer;
}

.account-tab-item:hover {
  color: #202223;
  background-color: rgba(0, 0, 0, 0.02);
}

.account-tab-item.active {
  color: #202223;
  font-weight: 600;
  border-bottom-color: var(--brand-primary, #514943);
}

.account-tab-item .tab-icon {
  font-size: 14px;
  color: #8c9196;
}

.account-tab-item.active .tab-icon {
  color: var(--brand-primary, #514943);
}

/* Avatar Upload / Studio Box */
.avatar-studio-box {
  background: #fbfbfb;
  border: 1px dashed #c9cccf;
  border-radius: 8px;
  padding: 18px;
  display: flex;
  align-items: center;
  gap: 18px;
  transition: border-color 0.2s ease;
}

.avatar-studio-box:hover {
  border-color: #514943;
}

.avatar-color-swatch-list {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.avatar-color-swatch {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid #ffffff;
  box-shadow: 0 0 0 1px #d8dcde;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.avatar-color-swatch:hover,
.avatar-color-swatch.active {
  transform: scale(1.15);
  box-shadow: 0 0 0 2px #514943;
}

/* Password Strength Meter */
.password-strength-wrap {
  margin-top: 8px;
}

.password-strength-bars {
  display: flex;
  gap: 4px;
  height: 5px;
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 6px;
  background: #e1e3e5;
}

.password-strength-bar-seg {
  flex: 1;
  background: #e1e3e5;
  transition: background-color 0.25s ease;
}

.password-strength-bar-seg.active-weak {
  background-color: #e53e3e;
}

.password-strength-bar-seg.active-medium {
  background-color: #dd6b20;
}

.password-strength-bar-seg.active-strong {
  background-color: #3182ce;
}

.password-strength-bar-seg.active-very-strong {
  background-color: #38a169;
}

.strength-checklist {
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 6px;
}

.strength-check-item {
  font-size: 11.5px;
  color: #6d7175;
  display: flex;
  align-items: center;
  gap: 5px;
}

.strength-check-item.met {
  color: #2e7d32;
  font-weight: 500;
}

.strength-check-item.met i {
  color: #2e7d32;
}

/* Active Sessions List */
.session-card-item {
  border: 1px solid var(--p-border, #d8dcde);
  border-radius: 8px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
  background: #ffffff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.session-card-item:hover {
  border-color: #babec3;
  box-shadow: 0 2px 4px rgba(0,0,0,0.03);
}

.session-device-icon {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  background: #f1f2f4;
  color: #514943;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}

/* Activity Audit Timeline */
.activity-timeline {
  position: relative;
  padding-left: 28px;
  margin-top: 10px;
}

.activity-timeline::before {
  content: '';
  position: absolute;
  top: 12px;
  bottom: 12px;
  left: 10px;
  width: 2px;
  background: #e1e3e5;
}

.activity-node {
  position: relative;
  margin-bottom: 20px;
}

.activity-node:last-child {
  margin-bottom: 0;
}

.activity-node-icon {
  position: absolute;
  left: -28px;
  top: 2px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #ffffff;
  border: 2px solid var(--brand-primary, #514943);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  color: var(--brand-primary, #514943);
  z-index: 2;
}

.activity-node-body {
  background: #fcfcfc;
  border: 1px solid #ebebeb;
  border-radius: 6px;
  padding: 10px 14px;
}

/* Floating Sticky Unsaved Changes Bar */
.unsaved-floating-bar {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(100px);
  background: #202223;
  color: #ffffff;
  padding: 12px 22px;
  border-radius: 30px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  gap: 16px;
  z-index: 1060;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
  opacity: 0;
  pointer-events: none;
}

.unsaved-floating-bar.show {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
  pointer-events: auto;
}

/* 2FA QR Code Showcase */
.qr-code-box {
  background: #ffffff;
  border: 1px solid #d8dcde;
  border-radius: 8px;
  padding: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04);
}

/* Modals and Backdrops Layering & Application Theme Styling */
.modal-backdrop {
  z-index: 1050 !important;
  background-color: #2b2623 !important; /* Application theme warm charcoal matching --brand-primary */
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition: opacity 0.22s ease-in-out;
}
.modal-backdrop.show {
  opacity: 0.52 !important;
}
.modal {
  z-index: 1055 !important;
}

/* ==========================================================================
   Section: Add/Edit Product Enhancements
   ========================================================================== */

/* 1. Brand & PG/VG Dropdown Search Box Icon Alignment */
.single-select-search-wrap .search-input-wrap {
  position: relative;
  margin-bottom: 8px;
  padding: 0 4px;
}
.single-select-search-wrap .search-box-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #8c9196;
  font-size: 13px;
  line-height: 1;
  pointer-events: none;
  z-index: 5;
}
.single-select-search-wrap .single-search-input {
  padding-left: 32px !important;
  font-size: 12px;
  height: 32px;
  border-radius: 6px;
  border-color: #d2d5d8;
}
.single-select-search-wrap .single-search-input:focus {
  border-color: var(--brand-primary, #514943);
  box-shadow: 0 0 0 1px var(--brand-primary, #514943);
}

/* 2. Variants Quick Add Attribute Buttons & Modal */
.btn-quick-add-attr {
  font-size: 11.5px;
  color: var(--brand-primary, #514943);
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  transition: color 0.15s ease;
}
.btn-quick-add-attr:hover {
  color: #1a1a1a;
  text-decoration: underline !important;
}

/* 3. Quill Rich Text Editor Polaris Theme Styling */
.rich-text-editor-wrap {
  margin-bottom: 1rem;
}
.ql-toolbar.ql-snow {
  border-color: #d2d5d8 !important;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  background: #f9fafb;
  padding: 6px 10px !important;
}
.ql-container.ql-snow {
  border-color: #d2d5d8 !important;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  background: #ffffff;
  min-height: 120px;
}
.ql-editor {
  min-height: 120px;
  font-size: 13px;
  line-height: 1.5;
  color: #202223;
  padding: 10px 14px !important;
}
.ql-editor.ql-blank::before {
  color: #8c9196;
  font-style: normal;
  left: 14px;
}
.ql-snow.ql-toolbar button:hover,
.ql-snow .ql-toolbar button:hover,
.ql-snow.ql-toolbar button:focus,
.ql-snow .ql-toolbar button:focus,
.ql-snow.ql-toolbar button.ql-active,
.ql-snow .ql-toolbar button.ql-active {
  color: var(--brand-primary, #514943) !important;
}
.ql-snow.ql-toolbar button:hover .ql-stroke,
.ql-snow .ql-toolbar button:hover .ql-stroke,
.ql-snow.ql-toolbar button.ql-active .ql-stroke,
.ql-snow .ql-toolbar button.ql-active .ql-stroke {
  stroke: var(--brand-primary, #514943) !important;
}
.ql-snow.ql-toolbar button:hover .ql-fill,
.ql-snow .ql-toolbar button:hover .ql-fill,
.ql-snow.ql-toolbar button.ql-active .ql-fill,
.ql-snow .ql-toolbar button.ql-active .ql-fill {
  fill: var(--brand-primary, #514943) !important;
}

/* 4. Product Suggestion Card Styling */
.suggestion-table-container {
  max-height: 380px;
  overflow-y: auto;
}
.suggestion-product-row {
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.suggestion-product-row:hover {
  background-color: #f8f9fa;
}
.suggestion-product-row.selected {
  background-color: #f5f3f0;
}
.suggestion-selected-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: #fbfbfb;
  border-radius: 6px;
  border: 1px dashed #d2d5d8;
}
.suggestion-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #ffffff;
  border: 1px solid #d2d5d8;
  border-radius: 20px;
  padding: 4px 10px;
  font-size: 11.5px;
  font-weight: 500;
  color: #202223;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}
.suggestion-pill .pill-remove {
  cursor: pointer;
  color: #8c9196;
  font-size: 13px;
  line-height: 1;
}
.suggestion-pill .pill-remove:hover {
  color: #d72c0d;
}

/* View Inventory — DIFF Column Filter Icon & Dropdown Menu */
.diff-filter-btn {
  transition: all 0.15s ease;
  outline: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 4px;
}

.diff-filter-btn:hover {
  background-color: rgba(0, 0, 0, 0.05) !important;
}

.diff-filter-btn:hover #diffFilterIcon {
  color: var(--brand-primary, #514943) !important;
  transform: scale(1.1);
}

.diff-filter-option {
  cursor: pointer;
  font-size: 12px;
  color: #334155;
  transition: background-color 0.15s ease;
}

.diff-filter-option:hover {
  background-color: #f1f5f9;
}

.diff-filter-option.active {
  background-color: #f8fafc;
  font-weight: 600;
  color: #0f172a;
}

.diff-filter-option .check-mark {
  font-size: 13px;
  color: var(--brand-primary, #514943);
}

/* Multi-Row Adjust Stock Table & Modal */
#adjustStockModal .modal-dialog {
  max-width: 1220px;
  width: 96%;
  margin: 1.5rem auto;
}

@media (max-width: 767.98px) {
  #adjustStockModal .modal-dialog {
    width: 98%;
    margin: 0.5rem auto;
  }
}

#adjustStockModal .modal-body {
  overflow-x: hidden;
  overflow-y: auto;
  min-height: 500px;
  padding-bottom: 110px !important;
}

#adjustStockModal .table-responsive {
  overflow: visible !important;
  position: relative;
  z-index: 2;
}

#tableAdjustStockEntries {
  margin-bottom: 0;
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  min-width: 1110px;
  table-layout: fixed;
}

#tableAdjustStockEntries th {
  padding: 9px 8px;
  font-size: 11.5px;
  font-weight: 600;
  color: #475569;
  border-bottom: 1px solid #e2e8f0;
  white-space: nowrap;
  background-color: #f8fafc;
  box-sizing: border-box;
}

#tableAdjustStockEntries td {
  padding: 6px 8px;
  vertical-align: middle;
  border-bottom: 1px solid #f1f5f9;
  position: relative;
  box-sizing: border-box;
}

/* Active Row Stacking: Ensures open dropdown always floats above subsequent rows and surrounding elements */
#tbodyAdjustStockRows tr.adjust-stock-row {
  position: relative;
  z-index: 1;
}

#tbodyAdjustStockRows tr.adjust-stock-row.dropdown-active,
#tbodyAdjustStockRows tr.adjust-stock-row:has(.dropdown-menu.show),
#tbodyAdjustStockRows tr.adjust-stock-row:has(.btn-sku-select.show),
#tbodyAdjustStockRows tr.adjust-stock-row:has(.btn-prod-select.show) {
  position: relative;
  z-index: 1060 !important;
}

#tbodyAdjustStockRows tr.adjust-stock-row.dropdown-active td,
#tbodyAdjustStockRows tr.adjust-stock-row:has(.dropdown-menu.show) td,
#tbodyAdjustStockRows tr.adjust-stock-row:has(.btn-sku-select.show) td,
#tbodyAdjustStockRows tr.adjust-stock-row:has(.btn-prod-select.show) td {
  position: relative;
  z-index: 1060 !important;
}

/* Adjust Stock Table Overflow Handling: Horizontal scroll container with plenty of breathing room */
.adjust-stock-table-wrap {
  overflow-x: auto !important;
  overflow-y: visible !important;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
  min-height: 420px;
}

/* Form controls in Adjust Stock Table: Exclude search inputs inside dropdown menus */
#tableAdjustStockEntries .form-control:not(.polaris-search-input):not(.search-sku-filter):not(.search-prod-filter),
#tableAdjustStockEntries .form-select.adj-product {
  border-radius: 6px !important;
  border-color: #d2d5d8 !important;
  font-size: 12px !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  line-height: 28px !important;
  padding: 0 8px !important;
  transition: all 0.15s ease;
}

#tableAdjustStockEntries .form-select.adj-product {
  padding-right: 28px !important;
  background-position: right 8px center !important;
  background-size: 12px 10px !important;
}

#tableAdjustStockEntries .form-control:not(.polaris-search-input):not(.search-sku-filter):not(.search-prod-filter):focus,
#tableAdjustStockEntries .form-select.adj-product:focus {
  border-color: var(--brand-primary, #514943) !important;
  box-shadow: 0 0 0 2px rgba(81, 73, 67, 0.15) !important;
  outline: none !important;
}

/* Searchable Select Dropdown & Buttons (Pixel-Perfect Alignment, No Overlap) */
.search-select-dropdown {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.search-select-dropdown.show,
.search-select-dropdown:has(.show),
.search-select-dropdown:has(.dropdown-menu.show),
.search-select-dropdown.dropdown-active {
  position: relative;
  z-index: 1065 !important;
}

#tableAdjustStockEntries .search-select-dropdown .btn-sku-select,
#tableAdjustStockEntries .search-select-dropdown .btn-prod-select,
.search-select-dropdown .btn-sku-select,
.search-select-dropdown .btn-prod-select {
  cursor: pointer;
  background-color: #ffffff !important;
  background-image: none !important;
  text-align: left;
  user-select: none;
  font-weight: 400;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  line-height: 28px !important;
  padding: 0 10px !important;
  border-radius: 6px !important;
  border: 1px solid #d2d5d8 !important;
  font-size: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-shadow: none !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#tableAdjustStockEntries .search-select-dropdown .btn-sku-select:hover,
#tableAdjustStockEntries .search-select-dropdown .btn-prod-select:hover,
.search-select-dropdown .btn-sku-select:hover,
.search-select-dropdown .btn-prod-select:hover {
  border-color: #babfc3 !important;
}

#tableAdjustStockEntries .search-select-dropdown.show .btn-sku-select,
#tableAdjustStockEntries .search-select-dropdown.show .btn-prod-select,
#tableAdjustStockEntries .search-select-dropdown .btn-sku-select:focus,
#tableAdjustStockEntries .search-select-dropdown .btn-prod-select:focus,
.search-select-dropdown.show .btn-sku-select,
.search-select-dropdown.show .btn-prod-select,
.search-select-dropdown .btn-sku-select:focus,
.search-select-dropdown .btn-prod-select:focus {
  border-color: var(--brand-primary, #514943) !important;
  box-shadow: 0 0 0 2px rgba(81, 73, 67, 0.15) !important;
  outline: none !important;
}

.search-select-dropdown .btn-sku-select .selected-sku-text,
.search-select-dropdown .btn-prod-select .selected-prod-text {
  flex: 1 1 auto;
  min-width: 0;
  max-width: calc(100% - 18px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-right: 6px;
  line-height: 28px;
  display: inline-block;
  vertical-align: middle;
}

.search-select-dropdown .select-arrow-icon {
  flex-shrink: 0;
  width: 12px;
  font-size: 11px;
  color: #64748b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease, color 0.15s ease;
}

.search-select-dropdown.show .select-arrow-icon {
  transform: rotate(180deg);
  color: var(--brand-primary, #514943);
}

.search-select-menu {
  position: absolute;
  top: 100% !important;
  left: 0 !important;
  margin-top: 4px !important;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.18), 0 8px 10px -6px rgba(0, 0, 0, 0.12) !important;
  background: #ffffff;
  z-index: 1070 !important;
}

.sku-dropdown-menu,
.prod-dropdown-menu {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Search Box Wrap & Icon Alignment with Generous Spacing */
.search-box-wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.search-box-wrap .search-icon {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  font-size: 12px;
  line-height: 1;
  color: var(--p-text-subdued, #6d7175);
  pointer-events: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  margin: 0;
  padding: 0;
  transition: color 0.15s ease-in-out;
}

#tableAdjustStockEntries .search-box-wrap input[type="text"].form-control,
#tableAdjustStockEntries .search-box-wrap input[type="search"].form-control,
#tableAdjustStockEntries .search-box-wrap input.form-control,
#tableAdjustStockEntries .search-box-wrap .polaris-search-input,
#tableAdjustStockEntries .search-box-wrap .search-sku-filter,
#tableAdjustStockEntries .search-box-wrap .search-prod-filter,
#adjustStockModal .search-box-wrap .form-control,
.search-box-wrap input[type="text"].form-control,
.search-box-wrap input[type="search"].form-control,
.search-box-wrap input.form-control,
.search-box-wrap .polaris-search-input,
.search-box-wrap .search-sku-filter,
.search-box-wrap .search-prod-filter,
.search-box-wrap .form-control {
  width: 100% !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  line-height: 28px !important;
  padding-left: 30px !important;
  padding-right: 10px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  font-size: 12px !important;
  border-radius: 6px !important;
  border: 1px solid #d2d5d8 !important;
  background-color: #ffffff !important;
  box-sizing: border-box !important;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

#tableAdjustStockEntries .search-box-wrap input[type="text"].form-control:focus,
#tableAdjustStockEntries .search-box-wrap input.form-control:focus,
#adjustStockModal .search-box-wrap .form-control:focus,
.search-box-wrap input[type="text"].form-control:focus,
.search-box-wrap input.form-control:focus,
.search-box-wrap .search-sku-filter:focus,
.search-box-wrap .search-prod-filter:focus,
.search-box-wrap .form-control:focus {
  background-color: #ffffff !important;
  border-color: var(--brand-primary, #514943) !important;
  box-shadow: 0 0 0 2px rgba(81, 73, 67, 0.15) !important;
  outline: none !important;
}

.search-box-wrap:focus-within .search-icon {
  color: var(--brand-primary, #514943) !important;
}

.search-box-wrap input[type="text"].form-control::placeholder,
.search-box-wrap .search-sku-filter::placeholder,
.search-box-wrap .search-prod-filter::placeholder,
.search-box-wrap .form-control::placeholder {
  color: var(--p-text-subdued, #6d7175) !important;
  font-size: 12px !important;
  opacity: 0.85;
}

.search-options-list {
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 #f8fafc;
}

.search-options-list::-webkit-scrollbar {
  width: 5px;
}

.search-options-list::-webkit-scrollbar-track {
  background: #f8fafc;
}

.search-options-list::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}

.search-options-list .dropdown-item {
  white-space: normal;
  border-radius: 6px;
  font-size: 12px;
  color: #1e293b;
  padding: 6px 10px;
  line-height: 1.35;
  transition: background-color 0.1s ease;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  text-align: left;
  overflow: hidden;
}

.search-options-list .dropdown-item span {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.sku-options-list .dropdown-item,
.prod-options-list .dropdown-item {
  font-size: 12px;
  padding: 6px 10px;
  letter-spacing: -0.1px;
  border-radius: 6px;
}

.search-options-list .dropdown-item:hover,
.search-options-list .dropdown-item:focus {
  background-color: #f1f5f9;
  color: #0f172a;
}

.search-options-list .dropdown-item.active,
.search-options-list .dropdown-item:active {
  background-color: rgba(81, 73, 67, 0.08);
  color: var(--brand-primary, #514943);
  font-weight: 600;
}

/* Stock In / Stock Out Mode Selector directly above Adjustment Table */
.stock-type-selector {
  display: inline-flex;
  align-items: center;
  background: #ffffff;
  padding: 3px;
  border-radius: 8px;
  border: 1px solid #d2d5d8;
  gap: 4px;
}

.stock-type-selector .btn-stock-type {
  font-size: 12px;
  font-weight: 600;
  padding: 5px 14px;
  border-radius: 6px;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  background-color: transparent;
  line-height: 1.25;
  user-select: none;
}

/* Stock In Button: Green */
.stock-type-selector .btn-stock-type-in {
  color: #16a34a;
  background-color: transparent;
  border-color: transparent;
}

.stock-type-selector .btn-stock-type-in:hover {
  background-color: #f0fdf4;
  color: #15803d;
}

.stock-type-selector .btn-stock-type-in.active {
  background-color: #16a34a !important;
  color: #ffffff !important;
  border-color: #15803d !important;
  box-shadow: 0 1px 3px rgba(22, 163, 74, 0.35);
}

.stock-type-selector .btn-stock-type-in.active i {
  color: #ffffff !important;
}

/* Stock Out Button: Red */
.stock-type-selector .btn-stock-type-out {
  color: #dc2626;
  background-color: transparent;
  border-color: transparent;
}

.stock-type-selector .btn-stock-type-out:hover {
  background-color: #fef2f2;
  color: #b91c1c;
}

.stock-type-selector .btn-stock-type-out.active {
  background-color: #dc2626 !important;
  color: #ffffff !important;
  border-color: #b91c1c !important;
  box-shadow: 0 1px 3px rgba(220, 38, 38, 0.35);
}

.stock-type-selector .btn-stock-type-out.active i {
  color: #ffffff !important;
}

/* Stock In / Stock Out Action Select in Table Rows */
.select-adjust-action {
  font-weight: 600;
  border-radius: 6px;
  transition: all 0.15s ease;
}

.select-adjust-action.text-success {
  color: #16a34a !important;
  background-color: #f0fdf4;
  border-color: #bbf7d0;
}

.select-adjust-action.text-danger {
  color: #dc2626 !important;
  background-color: #fef2f2;
  border-color: #fecaca;
}

.select-adjust-action:focus {
  box-shadow: 0 0 0 2px rgba(81, 73, 67, 0.15) !important;
}

/* Stock Badges with Fixed Metric Cells */
.stock-stat-cell,
.inuse-stat-cell,
.balance-stat-cell {
  height: 42px;
  padding-left: 6px !important;
  padding-right: 6px !important;
  vertical-align: middle;
}

.stock-badge,
.inuse-badge,
.balance-badge {
  font-family: inherit;
  font-size: 11.5px;
  height: 26px;
  line-height: 24px;
  padding: 0 8px;
  border-radius: 5px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 52px;
  text-align: right;
  letter-spacing: 0.2px;
  box-sizing: border-box;
}

.btn-remove-adjust-row {
  width: 28px;
  height: 28px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  border-color: #f1f2f4;
  color: #94a3b8;
  transition: all 0.15s ease;
}

.btn-remove-adjust-row:hover {
  background-color: #fee2e2;
  border-color: #fca5a5;
  color: #dc2626;
}

.bulk-dropzone.dragover {
  border-color: var(--brand-primary, #514943) !important;
  background-color: #f5f4f2 !important;
}

/* Stock Transactions Toolbar & Date Filters */
.txn-date-range-container {
  display: inline-flex;
  align-items: center;
}

.txn-date-input-group {
  display: inline-flex;
  border-radius: 6px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.txn-date-range-container {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
  flex-shrink: 0;
}

.txn-date-input-group {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  width: 185px;
}

.txn-date-input-group .input-group-text {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  line-height: 28px !important;
  padding: 0 8px !important;
  font-size: 12px !important;
  border-color: #d2d5d8 !important;
  border-radius: 6px 0 0 6px !important;
  background-color: #ffffff !important;
  color: var(--p-text-subdued, #6d7175) !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
}

.txn-date-input-group input[type="date"].form-control {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  line-height: 28px !important;
  font-size: 12px !important;
  padding: 0 6px !important;
  border-color: #d2d5d8 !important;
  border-radius: 0 6px 6px 0 !important;
  cursor: pointer;
  min-width: 110px !important;
  flex: 1 1 auto;
  box-shadow: none !important;
  outline: none !important;
}

.txn-date-input-group input[type="date"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  padding: 0;
  margin: 0;
  opacity: 0.65;
  transition: opacity 0.15s ease;
}

.txn-date-input-group input[type="date"]::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
}

.txn-date-input-group:focus-within {
  border-radius: 6px;
  box-shadow: 0 0 0 2px rgba(81, 73, 67, 0.15);
}

.txn-date-input-group:focus-within .input-group-text,
.txn-date-input-group:focus-within input[type="date"].form-control {
  border-color: var(--brand-primary, #514943) !important;
}

#txnTypeFilter {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  line-height: 28px !important;
  font-size: 12px !important;
  border-radius: 6px !important;
  border-color: #d2d5d8 !important;
  padding: 0 24px 0 8px !important;
}

#btnResetTxnFilters {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  line-height: 28px !important;
  font-size: 12px !important;
  padding: 0 12px !important;
  border-radius: 6px !important;
}

#txnDateFrom::-webkit-calendar-picker-indicator,
#txnDateTo::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 0.65;
  font-size: 13px;
  padding: 0 2px;
  margin: 0;
  transition: opacity 0.15s ease-in-out;
}

#txnDateFrom::-webkit-calendar-picker-indicator:hover,
#txnDateTo::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
}

/* ==========================================================================
   User Information Card & Table (#customerUsersTable)
   ========================================================================== */
#customerUsersTable {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}

#customerUsersTable thead th {
  background-color: #f8fafb;
  color: var(--p-text-subdued, #514943);
  font-size: 11.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  padding: 10px 12px;
  border-bottom: 1px solid #d8dcde;
  vertical-align: middle;
  white-space: nowrap;
}

#customerUsersTable tbody td {
  padding: 8px 10px;
  vertical-align: middle !important;
  border-bottom: 1px solid #edf0f2;
  background-color: #ffffff;
  transition: background-color 0.15s ease;
  height: 48px;
}

#customerUsersTable tbody tr:hover td {
  background-color: #fbfcfd;
}

#customerUsersTable tbody tr:last-child td {
  border-bottom: none;
}

/* 1. Serial Number (# / user-row-index) Alignment */
#customerUsersTable .user-row-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #f1f3f5;
  border: 1px solid #dcdfe3;
  color: #514943;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  margin: 0 auto;
}

#customerUsersTable .form-control {
  font-size: 12px !important;
  height: 32px !important;
  min-height: 32px !important;
  border-radius: 6px !important;
  border: 1px solid #d8dcde !important;
  background-color: #ffffff !important;
  padding: 4px 10px !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#customerUsersTable .form-control:focus {
  border-color: #514943 !important;
  box-shadow: 0 0 0 1px #514943 !important;
  outline: none !important;
}

#customerUsersTable .form-control.is-invalid {
  border-color: #e51c00 !important;
  box-shadow: 0 0 0 1px #e51c00 !important;
}

/* 2. Checkbox Alignment & Centering */
#customerUsersTable .user-table-check-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 32px !important;
  min-height: 32px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

#customerUsersTable .user-table-check-wrap .form-check-input,
#customerUsersTable .form-check-input {
  float: none !important;
  position: static !important;
  margin: 0 auto !important;
  width: 18px !important;
  height: 18px !important;
  border: 1.5px solid #babfc3 !important;
  border-radius: 4px !important;
  cursor: pointer;
  display: block !important;
  transition: all 0.15s ease-in-out;
}

#customerUsersTable .form-check-input:checked {
  background-color: #514943 !important;
  border-color: #514943 !important;
}

#customerUsersTable .form-check-input:focus {
  box-shadow: 0 0 0 2px rgba(81, 73, 67, 0.2) !important;
  outline: none !important;
}

/* 3. Action Delete Button Centering */
#customerUsersTable .btn-remove-user-row {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  color: #d72c0d;
  background-color: transparent;
  border: 1px solid transparent;
  margin: 0 auto;
  transition: all 0.15s ease;
}

#customerUsersTable .btn-remove-user-row:hover {
  background-color: #fbeae5;
  border-color: #fed3d1;
  color: #bf0711;
}

#customerUsersTable .btn-remove-user-row:active {
  background-color: #fed3d1;
}

@media (max-width: 768px) {
  #customerUsersTable th,
  #customerUsersTable td {
    padding: 8px 6px;
  }
}

/* Quick Add Tax Code Link */
#btnOpenAddTaxCodeModal {
  color: var(--brand-primary, #514943) !important;
  font-weight: 600;
  transition: all 0.15s ease-in-out;
}

#btnOpenAddTaxCodeModal:hover {
  color: #202223 !important;
  text-decoration: underline !important;
}

/* ==========================================================================
   Export Inventory Modal — Searchable Multi-Select Product Name / SKU
   ========================================================================== */
#exportInventoryModal .modal-content,
#exportInventoryModal .modal-body {
  overflow: visible;
}

#exportProductTagBox {
  min-height: 34px;
  max-height: 100px;
  overflow-y: auto;
  padding: 3px 8px;
  background-color: #ffffff;
  border: 1px solid var(--p-border, #d2d5d8);
  border-radius: var(--radius-input, 6px);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  cursor: pointer;
  box-sizing: border-box;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

#exportProductTagBox:hover {
  border-color: #babfc3;
}

#exportProductTagBox:focus-within {
  border-color: var(--brand-primary, #514943);
  box-shadow: 0 0 0 2px rgba(81, 73, 67, 0.15);
}

.export-prod-search-icon {
  font-size: 11.5px;
  color: var(--p-text-subdued, #6d7175);
  margin-left: 2px;
  margin-right: 4px;
  display: inline-flex;
  align-items: center;
  line-height: 1;
  pointer-events: none;
  flex-shrink: 0;
}

.export-prod-chevron-icon {
  font-size: 11px;
  color: var(--p-text-subdued, #6d7175);
  margin-left: auto;
  padding-left: 4px;
  display: inline-flex;
  align-items: center;
  line-height: 1;
  pointer-events: none;
  flex-shrink: 0;
  transition: transform 0.2s ease, color 0.15s ease;
}

#exportProdMultiSelectWrap:has(#exportProductDropdownMenu.show) .export-prod-chevron-icon,
#exportProductTagBox[aria-expanded="true"] .export-prod-chevron-icon {
  transform: rotate(180deg);
  color: var(--brand-primary, #514943);
}

#exportProductTagBox .tag-search-input {
  border: none;
  outline: none;
  font-size: 12px;
  flex: 1;
  min-width: 150px;
  padding: 2px 4px;
  background: transparent;
}

#exportProductDropdownMenu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  margin-top: 4px !important;
  max-height: 220px;
  overflow-y: auto;
  border-radius: var(--radius-md, 8px);
  border: 1px solid var(--p-border-subdued, #e1e3e5);
  box-shadow: var(--p-shadow-popover, 0 10px 25px -5px rgba(0, 0, 0, 0.15));
  padding: 4px 0;
  z-index: 1070;
}

#exportProductDropdownMenu .tag-option-item {
  padding: 6px 12px;
  font-size: 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--p-text-main, #202223);
  transition: background-color var(--transition-fast);
}

#exportProductDropdownMenu .tag-option-item:hover {
  background-color: var(--p-surface-hover, #f1f2f3);
  color: var(--brand-primary, #514943);
}

#exportProductDropdownMenu .tag-option-item.selected {
  background-color: var(--brand-primary-light, #f5f4f2);
  color: var(--brand-primary, #514943);
  font-weight: 600;
}

#exportInventoryModal .export-format-check {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding-left: 0 !important;
  min-height: 20px !important;
  margin-bottom: 0 !important;
}

#exportInventoryModal .export-format-check .form-check-input {
  float: none !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  cursor: pointer;
}

#exportInventoryModal .export-format-check .form-check-label {
  margin: 0 !important;
  line-height: 1.35 !important;
  cursor: pointer;
  user-select: none;
}

/* Website pages */
.pages-kpi-card{cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}
.pages-kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.06)}
.pages-kpi-card.active-kpi{border-color:var(--brand-primary)!important;background-color:#fbfaf9}
.badge-category{font-size:11px;font-weight:550;padding:3px 8px;border-radius:6px;display:inline-flex;align-items:center;gap:4px}.badge-cat-legal{background:#f3e8ff;color:#6b21a8;border:1px solid #e9d5ff}.badge-cat-company{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.badge-cat-support{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.badge-cat-ops{background:#fef3c7;color:#b45309;border:1px solid #fde68a}
.polaris-table th.th-status,.polaris-table td.td-status{width:175px!important;min-width:175px!important;text-align:left!important;padding-left:12px!important;padding-right:12px!important;white-space:nowrap!important}.status-row-align{display:inline-flex!important;align-items:center!important;gap:9px!important;vertical-align:middle!important;white-space:nowrap!important}.status-row-align .status-toggle-switch{width:34px!important;min-width:34px!important;height:18px!important;min-height:18px!important;margin:0!important;cursor:pointer!important;background-color:#d1d5db!important;border-color:#d1d5db!important}.status-row-align .status-toggle-switch:checked{background-color:var(--brand-primary)!important;border-color:var(--brand-primary)!important}.badge-status-sm{font-size:10px;font-weight:550;padding:2px 7px;border-radius:10px;display:inline-flex;align-items:center;gap:3.5px;line-height:1.25}
.modal-form-card{background:#fff;border:1px solid var(--p-border-subdued,#e1e3e5);border-radius:8px;padding:20px 22px;box-shadow:0 1px 3px rgba(0,0,0,.04);width:100%}.modal-form-card .card-section-header{border-bottom:1px solid var(--p-border-subtle,#f1f2f3);padding-bottom:10px;margin-bottom:14px}.modal-form-card .card-section-header h6{font-size:13px!important;font-weight:650!important;color:#111827;letter-spacing:-.01em}
.image-upload-dropzone{border:1.5px dashed #cbd5e1!important;border-radius:8px;padding:22px 16px;text-align:center;cursor:pointer;background-color:#fafbfc;transition:all .15s ease;width:100%;display:block}
.image-upload-dropzone:hover,.image-upload-dropzone.drag-over{border-color:var(--brand-primary,#514943)!important;background-color:#f7f6f5!important}
.image-upload-dropzone .dropzone-icon{font-size:28px;color:var(--brand-primary,#514943);line-height:1;margin-bottom:6px}
.image-preview-container{background:#fafbfc;border:1px solid var(--p-border-subdued,#e1e3e5);border-radius:8px;padding:12px 16px;width:100%}
.image-preview-thumb{width:80px;height:56px;object-fit:cover;border-radius:6px;border:1px solid #e2e8f0;background-color:#fff}
.page-content-editor-wrap{border:1px solid #d1d5db;border-radius:8px;overflow:hidden;background:#fff;transition:border-color .15s ease,box-shadow .15s ease;width:100%}
.page-content-editor-wrap:focus-within{border-color:var(--brand-primary,#514943);box-shadow:0 0 0 1px var(--brand-primary,#514943)}
.editor-toolbar{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:6px 10px}
.editor-btn{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;border:1px solid transparent;background:transparent;color:#4b5563;font-size:13px;cursor:pointer;transition:all .15s ease}
.editor-btn:hover{background:#e5e7eb;color:#111827;border-color:#d1d5db}
.editor-btn.active{background:#e5e7eb;color:var(--brand-primary,#514943);border-color:#cbd5e1}
#pageContentVisualEditor{min-height:220px;max-height:380px;overflow-y:auto;outline:none;padding:14px 18px;line-height:1.6;font-size:13px;color:#1f2937}
#pageContentVisualEditor h1,#pageContentVisualEditor h2,#pageContentVisualEditor h3,#pageContentVisualEditor h4{color:#111827;font-weight:650;line-height:1.35}
#pageContentVisualEditor h1{font-size:18px;margin-top:14px;margin-bottom:8px}
#pageContentVisualEditor h2{font-size:16px;margin-top:12px;margin-bottom:6px}
#pageContentVisualEditor h3{font-size:14.5px;margin-top:10px;margin-bottom:4px}
#pageContentVisualEditor h4{font-size:13.5px;margin-top:8px;margin-bottom:4px}
#pageContentVisualEditor h1:first-child,#pageContentVisualEditor h2:first-child,#pageContentVisualEditor h3:first-child,#pageContentVisualEditor p:first-child{margin-top:0}
#pageContentVisualEditor p{margin-bottom:10px;color:#4b5563}
#pageContentVisualEditor ul,#pageContentVisualEditor ol{padding-left:20px;margin-bottom:10px;color:#4b5563}
#pageContentVisualEditor blockquote{border-left:3px solid var(--brand-primary,#514943);padding-left:12px;color:#6b7280;font-style:italic;margin:10px 0}
#pageContentVisualEditor .callout-box{background:#eff6ff;border-left:3px solid #3b82f6;padding:8px 12px;border-radius:4px;margin:10px 0;font-size:12px}
#pageContentVisualEditor:empty:before{content:attr(placeholder);color:#9ca3af;pointer-events:none;display:block}
#pageContentTextarea{min-height:220px;max-height:380px;resize:vertical;border:none;border-radius:0;padding:14px 18px;font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;font-size:12.5px;line-height:1.5;outline:none;box-shadow:none!important}
.editor-statusbar{background:#f9fafb;border-top:1px solid #e5e7eb;padding:6px 14px;font-size:11px;color:#6b7280}
#contentPageEditorModal .modal-dialog{max-width:920px!important}
#contentPageEditorModal .modal-content{border-radius:12px!important;overflow:hidden!important;box-shadow:0 20px 60px rgba(0,0,0,.28)!important;border:1px solid rgba(0,0,0,.12)!important}
#contentPageEditorModal .modal-header{padding:16px 24px!important;background:#fff!important}
#contentPageEditorModal #editorTabs .nav-link{color:var(--p-text-subdued,#6d7175);border:none;border-bottom:2px solid transparent;padding:10px 18px;font-weight:500;transition:all .15s ease}
#contentPageEditorModal #editorTabs .nav-link:hover{color:var(--p-text-main,#202223);border-bottom-color:#d1d5db}
#contentPageEditorModal #editorTabs .nav-link.active{color:var(--brand-primary,#514943);font-weight:600;border-bottom:2px solid var(--brand-primary,#514943);background:transparent}
#contentPageEditorModal .modal-body{padding:20px 24px!important;max-height:calc(100vh - 215px)!important;overflow-y:auto!important}
#contentPageEditorModal .modal-footer{padding:14px 24px!important;background:#fff!important}
.seo-preview-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:14px 18px;font-family:Arial,sans-serif}
.seo-preview-url{font-size:12px;color:#202124;margin-bottom:2px;display:flex;align-items:center;gap:4px}
.seo-preview-title{display:inline-block;color:#1a0dab;font-size:17px;font-weight:400;line-height:1.3;margin-bottom:4px;text-decoration:none}
.seo-preview-title:hover{text-decoration:underline}
.seo-preview-desc{font-size:13px;color:#4d5156;line-height:1.5;margin-bottom:0}

/* Product sequence reference layout */
.sticky-save-bar{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(100px);z-index:1050;background:#1e1b19;color:#fff;padding:10px 20px;border-radius:30px;box-shadow:0 8px 30px rgba(0,0,0,.35);display:flex;align-items:center;gap:16px;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s ease;opacity:0;pointer-events:none}.sticky-save-bar.show{transform:translateX(-50%) translateY(0);opacity:1;pointer-events:auto}
.customer-filter-lock{min-width:36px}
.customer-import-dropzone{border:2px dashed var(--p-border);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.customer-import-dropzone:hover,.customer-import-dropzone.is-dragging{border-color:var(--brand-primary);background:#f3f7ff!important}.customer-import-file-name{min-height:20px}
.seq-input-control.is-modified{border-color:#f59e0b;background-color:#fffbeb;color:#b45309;box-shadow:0 0 0 2px rgba(245,158,11,.18)}
tr.product-seq-row.is-modified-row{background-color:#fffdf5!important}tr.product-seq-row.is-modified-row:hover{background-color:#fff9e6!important}
tr.product-seq-row.seq-swapped-highlight{animation:rowSwapPulse 1.8s ease}@keyframes rowSwapPulse{0%{background-color:#dbeafe!important}50%{background-color:#eff6ff!important}100%{background-color:transparent!important}}

/* View notifications reference layout */
.notif-kpi-card{cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.notif-kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.06)}.notif-kpi-card.active-kpi{border-color:var(--brand-primary)!important;background-color:#fbfaf9}.notif-table-responsive{overflow-x:hidden;width:100%}#notificationsTable{width:100%!important;table-layout:fixed!important;border-collapse:collapse;margin-bottom:0}#notificationsTable th,#notificationsTable td{padding:8px!important;vertical-align:middle;font-size:12px!important}#notificationsTable th{white-space:nowrap!important;font-size:11px!important;letter-spacing:.02em;padding:9px 8px!important;text-transform:uppercase!important}#notificationsTable td{white-space:normal!important;word-break:break-word;overflow-wrap:break-word}.col-notif-check{width:38px;text-align:center;padding-left:8px!important;padding-right:4px!important;white-space:nowrap!important}.col-notif-sno{width:52px;font-size:12px!important;white-space:nowrap!important}.col-notif-category{font-size:12px!important;line-height:1.35;font-weight:500}.col-notif-title{width:15%;line-height:1.35}.notif-title-link{font-size:12.5px;font-weight:600;color:var(--p-text-main,#202223);text-decoration:none;line-height:1.35;display:inline-block;white-space:normal!important;word-break:break-word;transition:color .15s ease}.notif-title-link:hover{color:var(--brand-primary,#514943)!important;text-decoration:underline!important}.col-notif-planogram,.col-notif-homepage{font-size:12px!important;line-height:1.35}.customer-badges-wrap{display:flex;flex-wrap:wrap;gap:3px;width:100%}.cust-badge-item{display:inline-flex;align-items:center;padding:1.5px 5px;border-radius:4px;font-size:11px;font-weight:450;color:#374151;background-color:#f3f4f6;border:1px solid #e5e7eb;max-width:100%;white-space:normal!important;word-break:break-word;line-height:1.25}.cust-more-pill{font-size:10.5px;font-weight:600;padding:1.5px 5px;border-radius:4px;background:#f1f2f3;color:#4b5563;border:1px solid #d1d5db;cursor:pointer;white-space:nowrap!important}.col-notif-status{width:88px;white-space:nowrap!important}.col-notif-scheduled{width:105px;line-height:1.25}.col-notif-action{width:116px;white-space:nowrap!important;text-align:right}@media(max-width:991.98px){.notif-table-responsive{overflow-x:auto}#notificationsTable{min-width:880px}}
