/* ============================================================
   app.css — Diwan ERP unified stylesheet (Admin / Auth / Shop)
   Design tokens load separately via wwwroot/css/system-tokens.css
   (source of truth) — every shell links that file first.
   POS stays light: system-tokens + all-pages + app-confirm only.
   See docs/ui-design-principles-ar.md.
   Order after tokens: admin console base -> store -> shared
   components -> module system -> feature-specific.
   ============================================================ */

/* ---- admin console base (from former global.css: themes, dashboard, admin-dashboard, responsive, effects) ---- */
/* ── themes.css (98 lines) ── */
/* Color/radius/shadow tokens were moved to system-tokens.css. */

/* ========== Apply Theme Variables ========== */
body {
  background-color: var(--bg-primary);
  color: var(--text-primary);
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  transition: background-color var(--transition), color var(--transition);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

[dir="rtl"] body {
  font-family: 'Cairo', system-ui, sans-serif;
}

.card {
  background-color: var(--card-bg);
  border: 1px solid var(--card-border);
  box-shadow: var(--card-shadow);
  border-radius: var(--card-radius);
}

.form-control,
.form-select {
  background-color: var(--input-bg);
  border-color: var(--input-border);
  color: var(--text-primary);
  border-radius: var(--input-radius);
  padding: 0.5rem 0.8rem;
  transition: border-color var(--transition), box-shadow var(--transition);
}

.form-control:focus,
.form-select:focus {
  background-color: var(--input-bg);
  border-color: var(--input-focus-border);
  color: var(--text-primary);
  box-shadow: 0 0 0 3px var(--input-focus-ring);
}

.form-label {
  font-weight: 500;
  font-size: 0.875rem;
  margin-bottom: 6px;
  color: var(--text-primary);
}

.table {
  --bs-table-bg: var(--card-bg);
  --bs-table-color: var(--text-primary);
  --bs-table-border-color: var(--border-color);
}

.table-striped>tbody>tr:nth-of-type(odd)>* {
  --bs-table-bg-type: var(--bg-tertiary);
}

.dropdown-menu {
  background-color: var(--bg-secondary);
  border: 1px solid var(--card-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  padding: 6px;
}

.dropdown-item {
  color: var(--text-primary);
  border-radius: var(--radius-sm);
  padding: 8px 12px;
  font-size: 0.875rem;
  transition: background-color var(--transition);
}

.dropdown-item:hover,
.dropdown-item:focus {
  background-color: var(--bg-tertiary);
  color: var(--text-primary);
}

.modal-content {
  background-color: var(--bg-secondary);
  border: 1px solid var(--card-border);
  color: var(--text-primary);
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-xl);
}

.modal-header {
  background-color: var(--bg-tertiary);
  border-bottom: 1px solid var(--border-color);
  padding: 1.25rem 1.5rem;
}

.modal-footer {
  background-color: var(--bg-tertiary);
  border-top: 1px solid var(--border-color);
  padding: 1rem 1.5rem;
}

.modal-body {
  padding: 1.5rem;
}

.badge {
  border-radius: var(--sys-radius);
  font-weight: 500;
  padding: 4px 10px;
  font-size: 0.73rem;
  letter-spacing: 0.01em;
}

.text-muted {
  color: var(--text-muted) !important;
}

a {
  color: var(--link-color);
}

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

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-thumb {
  background: var(--border-color);
  border-radius: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
}


/* ── dashboard.css (1991 lines) ── */
/* ========== Dashboard Layout ========== */
.dashboard-wrapper {
  display: flex;
  min-height: 100dvh;
  height: 100dvh;
  position: relative;
}

/* Full-width topbar: sibling of sidebar/main (not inside overflow-hidden .main-content). */
body.admin-shell .dashboard-wrapper>header.tb {
  position: fixed;
  top: 0;
  inset-inline: 0;
  width: 100%;
  height: var(--topbar-height);
  z-index: 1050;
  flex-shrink: 0;
}

/* ========== Sidebar ========== */
.sidebar {
  width: var(--sidebar-width, 260px);
  background: var(--sidebar-gradient);
  color: var(--sidebar-text);
  position: fixed;
  top: var(--topbar-height);
  left: 0;
  bottom: 0;
  z-index: 1040;
  transition: width var(--transition-slow), transform var(--transition-slow);
  overflow-y: hidden;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  border-inline-end: 1px solid var(--border-color);
}

.sidebar::-webkit-scrollbar {
  width: 3px;
}

.sidebar::-webkit-scrollbar-thumb {
  background: var(--border-color);
  border-radius: 4px;
}

.sidebar::-webkit-scrollbar-track {
  background: transparent;
}

[dir="rtl"] .sidebar {
  left: auto;
  right: 0;
  border-inline-end: none;
  border-inline-start: 1px solid var(--border-color);
}

.sidebar.collapsed,
.sidebar-pref-collapsed .sidebar {
  width: var(--sidebar-collapsed-width, 70px);
}

.sidebar.collapsed.hover-expanded {
  width: var(--sidebar-width, 260px);
  box-shadow: 0 18px 45px rgba(7, 10, 9, 0.14);
}

[dir="rtl"] .sidebar.collapsed.hover-expanded {
  box-shadow: 0 18px 45px rgba(7, 10, 9, 0.14);
}

/* â”€â”€ Nav â”€â”€ */
.sidebar-nav {
  padding: 8px 0;
  list-style: none;
  margin: 0;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.sidebar-nav .nav-section {
  padding: 16px 18px 6px;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--sidebar-section-color);
  white-space: nowrap;
  overflow: hidden;
  font-weight: 600;
}

.sidebar-nav .nav-section:not(:first-child) {
  border-top: 1px solid var(--sidebar-border);
  margin-top: 4px;
}

.sidebar.collapsed:not(.hover-expanded) .nav-section,
.sidebar-pref-collapsed .sidebar:not(.hover-expanded) .nav-section {
  text-align: center;
  padding: 10px 0 4px;
}

.sidebar.collapsed:not(.hover-expanded) .nav-section span,
.sidebar-pref-collapsed .sidebar:not(.hover-expanded) .nav-section span {
  display: none;
}

.sidebar-nav .nav-item:not(:last-child) {
  border-bottom: none;
}

/* Collapsible groups */
.sidebar-nav .nav-group {
  list-style: none;
}

.sidebar-nav .nav-group:not(:last-child) {
  border-bottom: none;
}

.sidebar-nav .nav-group-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  padding: 11px 14px;
  margin: 2px 10px;
  width: calc(100% - 20px);
  border-radius: var(--radius-md);
  color: var(--sidebar-text);
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: start;
  font: inherit;
  font-size: 0.9375rem;
  font-weight: 600;
  transition: all var(--transition);
  white-space: nowrap;
  overflow: hidden;
}

.sidebar-nav .nav-group-toggle:hover {
  background-color: var(--sidebar-hover-bg);
}

/* Open main group â€” gradient header (ERP-style, was settings-only) */
.sidebar-nav .nav-group.open>.nav-group-toggle {
  background: linear-gradient(135deg, #122b26 0%, #173630 48%, #122b26 100%);
  color: #fff;
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  margin-bottom: 0;
  border-bottom-color: transparent;
}

.sidebar-nav .nav-group.open>.nav-group-toggle>i:first-child,
.sidebar-nav .nav-group.open>.nav-group-toggle>.nav-icon:first-child,
.sidebar-nav .nav-group.open>.nav-group-toggle .nav-chevron {
  color: rgba(255, 255, 255, 0.92);
}

/* Open nested sub-group â€” lighter indigo strip */
.sidebar-nav .nav-group--nested.open>.nav-group-toggle {
  background: color-mix(in srgb, #122b26 14%, var(--sidebar-hover-bg));
  color: var(--adm-brand-600, #122b26);
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
  margin-bottom: 0;
  border-bottom: 1px solid color-mix(in srgb, #122b26 20%, var(--border-color));
  opacity: 1;
  font-weight: 700;
}

.sidebar-nav .nav-group--nested.open>.nav-group-toggle>i:first-child,
.sidebar-nav .nav-group--nested.open>.nav-group-toggle>.nav-icon:first-child,
.sidebar-nav .nav-group--nested.open>.nav-group-toggle .nav-chevron {
  color: var(--adm-brand-600, #122b26);
}

.sidebar-nav .nav-group .nav-group-items {
  background: color-mix(in srgb, #122b26 4%, var(--sidebar-bg, #f8fafc));
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  padding-block: 0.35rem 0.45rem;
}

.sidebar-nav .nav-group-toggle .nav-text {
  margin-inline-start: 12px;
}

.sidebar-nav .nav-group-toggle>i:first-child {
  min-width: 26px;
  text-align: center;
  font-size: 1.12rem;
  flex-shrink: 0;
}

.sidebar-nav .nav-group-toggle>.nav-icon:first-child {
  width: 26px;
  min-width: 26px;
  height: 26px;
  flex-shrink: 0;
  color: var(--text-secondary);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sidebar-nav .nav-group-toggle .nav-chevron {
  margin-inline-start: auto;
  font-size: 0.75rem;
  opacity: 0.6;
  transition: transform var(--transition);
  flex-shrink: 0;
}

.sidebar-nav .nav-group.open .nav-group-toggle .nav-chevron {
  transform: rotate(-180deg);
}

.sidebar-nav .nav-group-items {
  list-style: none;
  margin: 0 8px 4px;
  padding: 0;
  overflow: hidden;
}

.sidebar-nav .nav-group:not(.open) .nav-group-items {
  display: none;
}

.sidebar-nav .nav-group .nav-item {
  margin: 0;
}

[dir="rtl"] .sidebar-nav .nav-group .nav-item {
  margin: 0;
}

/* Item separator â€” not after the last row in a group */
.sidebar-nav .nav-group .nav-item:not(:last-child) {
  border-bottom: 1px solid var(--border-color);
}

.sidebar-nav .nav-group .nav-item:last-child {
  border-bottom: none;
}

.sidebar-nav .nav-group .nav-item:last-child>.nav-link {
  border-bottom-color: transparent;
}

.sidebar-nav .nav-group .nav-item:last-child>.nav-link.active {
  border-bottom-color: transparent;
}

.sidebar-nav .nav-group .nav-link {
  padding: 10px 16px 10px 20px;
  margin: 0;
  border-radius: 0;
  font-size: 0.875rem;
  border-inline-start: 4px solid transparent;
  border-bottom: 1px solid transparent;
}

[dir="rtl"] .sidebar-nav .nav-group .nav-link {
  padding: 10px 20px 10px 16px;
}

/* Active sub-item â€” light indigo rail (ERP-style) */
.sidebar-nav .nav-group .nav-link.active {
  background: linear-gradient(90deg, color-mix(in srgb, #122b26 16%, transparent), color-mix(in srgb, #122b26 8%, transparent));
  color: var(--adm-brand-600, #122b26);
  font-weight: 700;
  box-shadow: inset 4px 0 0 #122b26;
  border-bottom-color: color-mix(in srgb, #122b26 22%, var(--border-color));
  padding-block: 10px;
  transform: none;
}

.sidebar-nav .nav-group .nav-link.active i,
.sidebar-nav .nav-group .nav-link.active .nav-icon {
  color: var(--adm-brand-600, #122b26) !important;
  opacity: 1;
}

.sidebar-nav .nav-group .nav-link.active:hover {
  background: linear-gradient(90deg, color-mix(in srgb, #122b26 20%, transparent), color-mix(in srgb, #122b26 10%, transparent));
  color: var(--adm-brand-600, #122b26);
}

[dir="rtl"] .sidebar-nav .nav-group .nav-link.active {
  box-shadow: inset -4px 0 0 #122b26;
  border-inline-start-color: transparent;
}

[data-theme="dark"] .sidebar-nav .nav-group .nav-link.active {
  color: #a7dbd2;
  background: linear-gradient(90deg, color-mix(in srgb, #173630 24%, transparent), color-mix(in srgb, #173630 10%, transparent));
}

[data-theme="dark"] .sidebar-nav .nav-group .nav-link.active i,
[data-theme="dark"] .sidebar-nav .nav-group .nav-link.active .nav-icon {
  color: #65c0af !important;
}

/* Round top corners on first item, bottom on last */
.sidebar-nav .nav-group .nav-item:first-child .nav-link {
  border-radius: 0;
}

.sidebar-nav .nav-group .nav-item:last-child .nav-link {
  border-radius: 0 0 var(--radius-md) var(--radius-md);
}

.sidebar.collapsed:not(.hover-expanded) .nav-group .nav-group-items,
.sidebar-pref-collapsed .sidebar:not(.hover-expanded) .nav-group .nav-group-items {
  display: none !important;
}

.sidebar.collapsed:not(.hover-expanded) .nav-group-toggle .nav-chevron,
.sidebar-pref-collapsed .sidebar:not(.hover-expanded) .nav-group-toggle .nav-chevron {
  display: none;
}

/* Nested sub-group (e.g. Reports inside Accounting) */
.sidebar-nav .nav-group--nested {
  margin: 2px 0;
}

.sidebar-nav .nav-group--nested>.nav-group-toggle {
  padding-inline-start: 12px;
  font-size: 0.8rem;
  background: transparent;
  border-radius: var(--radius-sm);
  opacity: 0.85;
}

.sidebar-nav .nav-group--nested>.nav-group-toggle:hover {
  opacity: 1;
}

.sidebar-nav .nav-group--nested>.nav-group-items {
  background: color-mix(in srgb, #122b26 2%, transparent);
  padding-inline-start: 8px;
}

.sidebar-nav .nav-group--nested .nav-item {
  margin: 0;
}

.sidebar-nav .nav-group--nested .nav-item:not(:last-child) {
  border-bottom: 1px solid var(--border-color);
}

.sidebar-nav .nav-group--nested .nav-item:last-child {
  border-bottom: none;
}

.sidebar-nav .nav-group--nested .nav-item:last-child>.nav-link,
.sidebar-nav .nav-group--nested .nav-item:last-child>.nav-link.active {
  border-bottom-color: transparent;
}

.sidebar-nav .nav-group--nested .nav-link {
  padding: 8px 14px 8px 24px;
  margin: 0;
  border-radius: 0;
  font-size: 0.8rem;
}

[dir="rtl"] .sidebar-nav .nav-group--nested .nav-link {
  padding: 8px 24px 8px 14px;
}

.sidebar-nav .nav-group--nested .nav-item:last-child .nav-link {
  border-radius: 0 0 var(--radius-md) var(--radius-md);
}

/* Nested subgroup inside a module list (e.g. ZATCA under Settings) */
.sidebar-nav .nav-group-items>.nav-group--nested {
  margin: 0;
  border-bottom: 1px solid var(--border-color);
}

.sidebar-nav .nav-group-items>.nav-group--nested:last-child {
  border-bottom: none;
}

.sidebar-nav .nav-group--nested:not(.open)>.nav-group-toggle {
  border-radius: 0;
  margin-bottom: 0;
}

.sidebar-nav .nav-group--nested>.nav-group-toggle .nav-chevron {
  transition: transform var(--transition), opacity var(--transition), color var(--transition);
}

.sidebar-nav .nav-group--nested.open>.nav-group-toggle .nav-chevron {
  transform: rotate(-180deg);
  opacity: 0.85;
}

.sidebar-nav .nav-group--nested:not(.open)>.nav-group-toggle .nav-chevron {
  transform: rotate(0deg);
}

.sidebar-nav .nav-group--nested.open>.nav-group-items {
  border-bottom: none;
}

/* Nav links */
.sidebar-nav .nav-link {
  display: flex;
  align-items: center;
  padding: 11px 14px;
  margin: 2px 10px;
  border-radius: var(--radius-md);
  color: var(--sidebar-text);
  text-decoration: none;
  transition: all var(--transition);
  white-space: nowrap;
  overflow: hidden;
  position: relative;
  border-inline-start: 4px solid transparent;
  font-size: 0.9375rem;
  font-weight: 500;
}

[dir="rtl"] .sidebar-nav .nav-link {
  border-inline-start: none;
  border-inline-end: 4px solid transparent;
}

.sidebar-nav .nav-link:hover {
  background-color: var(--sidebar-hover-bg);
  color: var(--text-primary);
  text-decoration: none;
}

/* Top-level leaf links (e.g. Dashboard) â€” same active language as sub-items */
.sidebar-nav>.nav-item>.nav-link.active {
  background: linear-gradient(90deg, color-mix(in srgb, #122b26 16%, transparent), color-mix(in srgb, #122b26 8%, transparent));
  color: var(--adm-brand-600, #122b26);
  font-weight: 700;
  box-shadow: inset 4px 0 0 #122b26;
  border-inline-start-color: transparent;
  border-bottom: 1px solid color-mix(in srgb, #122b26 18%, var(--border-color));
  padding-block: 12px;
  transform: none;
}

[dir="rtl"] .sidebar-nav>.nav-item>.nav-link.active {
  box-shadow: inset -4px 0 0 #122b26;
}

.sidebar-nav>.nav-item>.nav-link.active:hover {
  background: linear-gradient(90deg, color-mix(in srgb, #122b26 20%, transparent), color-mix(in srgb, #122b26 10%, transparent));
  color: var(--adm-brand-600, #122b26);
}

.sidebar-nav>.nav-item>.nav-link.active i {
  color: var(--adm-brand-600, #122b26) !important;
  font-size: 1.12rem;
}

.sidebar-nav .nav-link.active {
  background: linear-gradient(90deg, color-mix(in srgb, #122b26 16%, transparent), color-mix(in srgb, #122b26 8%, transparent));
  color: var(--adm-brand-600, #122b26);
  box-shadow: inset 4px 0 0 #122b26;
  border-inline-start-color: transparent;
  font-weight: 700;
  padding-block: 12px;
  transform: none;
}

[dir="rtl"] .sidebar-nav .nav-link.active {
  box-shadow: inset -4px 0 0 #122b26;
  border-inline-end-color: transparent;
}

.sidebar-nav .nav-link.active:hover {
  background: linear-gradient(90deg, color-mix(in srgb, #122b26 20%, transparent), color-mix(in srgb, #122b26 10%, transparent));
  color: var(--adm-brand-600, #122b26);
}

.sidebar-nav .nav-link.active i {
  color: var(--adm-brand-600, #122b26) !important;
  font-size: 1.12rem;
}

.sidebar-nav .nav-link i {
  min-width: 26px;
  text-align: center;
  font-size: 1.12rem;
  flex-shrink: 0;
  color: var(--text-secondary);
}

.sidebar-nav .nav-link .nav-text {
  margin-inline-start: 12px;
}

.sidebar.collapsed:not(.hover-expanded) .nav-text,
.sidebar-pref-collapsed .sidebar:not(.hover-expanded) .nav-text {
  display: none;
}

/* Icon-rail: centered icons with pill active state */
.sidebar.collapsed:not(.hover-expanded) .nav-link,
.sidebar-pref-collapsed .sidebar:not(.hover-expanded) .nav-link {
  justify-content: center;
  padding: 11px 0;
  margin: 5px 10px;
  width: calc(100% - 20px);
  border-inline: none;
  border-radius: var(--sys-radius);
}

.sidebar.collapsed:not(.hover-expanded) .nav-link i,
.sidebar-pref-collapsed .sidebar:not(.hover-expanded) .nav-link i {
  margin: 0;
  font-size: 1.2rem;
}

.sidebar.collapsed:not(.hover-expanded) .nav-link.active,
.sidebar-pref-collapsed .sidebar:not(.hover-expanded) .nav-link.active {
  padding-block: 12px;
  background: linear-gradient(135deg, #122b26 0%, #173630 48%, #122b26 100%);
  color: #fff;
  box-shadow: 0 4px 14px rgba(30, 58, 53, 0.35);
}

.sidebar.collapsed:not(.hover-expanded) .nav-link.active i,
.sidebar-pref-collapsed .sidebar:not(.hover-expanded) .nav-link.active i {
  color: #fff !important;
}

.sidebar.collapsed:not(.hover-expanded) .nav-group-toggle,
.sidebar-pref-collapsed .sidebar:not(.hover-expanded) .nav-group-toggle {
  justify-content: center;
  padding: 10px 0;
  margin: 4px 10px;
  width: calc(100% - 20px);
  border-radius: var(--sys-radius);
}

.sidebar.collapsed:not(.hover-expanded) .nav-group-toggle>i:first-child,
.sidebar-pref-collapsed .sidebar:not(.hover-expanded) .nav-group-toggle>i:first-child {
  margin: 0;
  font-size: 1.12rem;
}

.sidebar-nav .nav-link.disabled,
.sidebar-nav span.nav-link {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

/* Support footer */
.sidebar-user-footer {
  position: sticky;
  bottom: 0;
  inset-block-end: 0;
  margin-top: auto;
  padding: 0;
  border-top: 1px solid var(--sidebar-border);
  background: var(--sidebar-gradient);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  flex-shrink: 0;
  z-index: 3;
}

.sidebar-support-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 6px 8px;
  border-radius: var(--radius-sm);
  text-decoration: none;
  transition: background var(--transition), transform var(--transition);
  white-space: nowrap;
  overflow: hidden;
  position: relative;
}

.sidebar-support-btn:hover {
  transform: translateY(-1px);
  text-decoration: none;
  background: rgba(28, 62, 56, 0.07);
}

.sidebar-support-btn:active {
  transform: translateY(0);
}

.support-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--gradient-primary);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(28, 62, 56, 0.3);
  position: relative;
}

.support-avatar::after {
  content: '';
  position: absolute;
  top: -1px;
  right: -1px;
  width: 9px;
  height: 9px;
  background: #22c55e;
  border-radius: 50%;
  border: 1.5px solid var(--bg-tertiary);
  animation: supportPulse 2.5s ease-in-out infinite;
}

@keyframes supportPulse {

  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.5);
  }

  50% {
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0);
  }
}

.sidebar-user-info {
  overflow: hidden;
  flex: 1;
}

.sidebar-user-name {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--sidebar-text);
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidebar-user-role {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.68rem;
  font-weight: 600;
  color: #3f7a6e;
  background: rgba(75, 169, 151, 0.12);
  border: 1px solid rgba(75, 169, 151, 0.2);
  border-radius: var(--sys-radius);
  padding: 2px 8px;
  margin-top: 3px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}

.support-chevron {
  font-size: 0.7rem;
  color: rgba(148, 163, 184, 0.5);
  flex-shrink: 0;
  transition: transform var(--transition), color var(--transition);
  margin-inline-start: auto;
}

.sidebar-support-btn:hover .support-chevron {
  color: #53b6a4;
}

[dir="rtl"] .sidebar-support-btn:hover .support-chevron {
  transform: rotate(180deg);
}

.sidebar.collapsed:not(.hover-expanded) .sidebar-user-footer,
.sidebar-pref-collapsed .sidebar:not(.hover-expanded) .sidebar-user-footer {
  padding: 10px 8px;
  justify-content: center;
}

.sidebar.collapsed:not(.hover-expanded) .sidebar-support-btn,
.sidebar-pref-collapsed .sidebar:not(.hover-expanded) .sidebar-support-btn {
  justify-content: center;
  padding: 6px;
  width: auto;
}

.sidebar.collapsed:not(.hover-expanded) .sidebar-user-info,
.sidebar.collapsed:not(.hover-expanded) .support-chevron,
.sidebar-pref-collapsed .sidebar:not(.hover-expanded) .sidebar-user-info,
.sidebar-pref-collapsed .sidebar:not(.hover-expanded) .support-chevron {
  display: none;
}

/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   TOPBAR  â€”  .tb  prefix
â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */
.tb {
  --tb-control-h: 2.875rem;
  --tb-font: 0.9375rem;
  --tb-font-sm: 0.875rem;
  --tb-font-xs: 0.75rem;
  --tb-icon: 1.35rem;
  --tb-gap: 0.5rem;
  --tb-pad-x: 1.25rem;
  height: var(--topbar-height);
  background: var(--topbar-bg);
  backdrop-filter: var(--topbar-blur);
  -webkit-backdrop-filter: var(--topbar-blur);
  border-bottom: 1px solid var(--topbar-border);
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1050;
  padding: 0 var(--tb-pad-x);
  gap: var(--tb-gap);
  overflow: visible;
}

.tb-start {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
  overflow: visible;
}

.tb-end {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  flex-shrink: 0;
  overflow: visible;
}

/* Sticky topbar panels â€” anchored below trigger, stay open until toggled closed */
.tb-end .dropdown,
.tb-fiscal-slot .dropdown {
  position: relative;
}

.tb-end .dropdown.show,
.tb-fiscal-slot .dropdown.show {
  z-index: 1086;
}

.tb .dropdown-menu.tb-drop-sticky.show {
  position: absolute !important;
  top: calc(100% + 14px) !important;
  bottom: auto !important;
  transform: none !important;
  margin: 0 !important;
}

/* Localized sticky panels â€” single source of truth for open direction */
.tb .dropdown-menu.tb-drop-localized.tb-drop-sticky.show {
  left: auto !important;
  right: auto !important;
}

html[dir="rtl"] .tb .dropdown-menu.tb-drop-localized.tb-drop-sticky.show {
  direction: rtl;
  text-align: right;
  inset-inline-end: 0 !important;
  inset-inline-start: auto !important;
}

html[dir="ltr"] .tb .dropdown-menu.tb-drop-localized.tb-drop-sticky.show {
  direction: ltr;
  text-align: left;
  inset-inline-start: 0 !important;
  inset-inline-end: auto !important;
}

/* A panel whose trigger sits at the end of the bar carries .dropdown-menu-end
   in the markup; the localized rule above was ignoring that in LTR and pinning
   every panel to the start edge, so Messages / Notifications / Alerts / Fiscal
   opened to the left of their own button. Honour what the markup declares. */
html[dir="ltr"] .tb .dropdown-menu.dropdown-menu-end.tb-drop-localized.tb-drop-sticky.show,
html[dir="ltr"] .tb-fiscal-slot .dropdown-menu.dropdown-menu-end.tb-drop-localized.tb-drop-sticky.show {
  inset-inline-end: 0 !important;
  inset-inline-start: auto !important;
}

.tb .dropdown-menu.dropdown-menu-end.tb-drop-sticky.show:not(.tb-drop-localized) {
  inset-inline-end: 0 !important;
  inset-inline-start: auto !important;
}

.tb .dropdown-menu.dropdown-menu-start.tb-drop-sticky.show:not(.tb-drop-localized) {
  inset-inline-start: 0 !important;
  inset-inline-end: auto !important;
}

.admin-fiscal__menu.tb-drop-sticky.show .admin-fiscal__list-wrap {
  max-height: min(360px, calc(100dvh - var(--topbar-height) - 7rem));
  overflow-y: auto;
  overscroll-behavior: contain;
}

/* Inbox â€” caret on list header start (part of the panel, not floating outside) */
.tb-end .tb-inbox-group .dropdown.show {
  overflow: visible;
}

.tb .dropdown-menu.tb-drop-inbox.tb-drop-sticky.show {
  overflow: visible !important;
}

.tb-drop-inbox>.tb-drop-head {
  position: relative;
  z-index: 1;
  overflow: visible;
}

.tb-drop-inbox>.tb-drop-head::before,
.tb-drop-inbox>.tb-drop-head::after {
  content: '';
  position: absolute;
  top: 0;
  left: 1rem;
  width: 0;
  height: 0;
  border-style: solid;
  pointer-events: none;
  z-index: 2;
  transform: translate(-50%, -100%);
}

.tb-drop-inbox>.tb-drop-head::before {
  border-width: 0 9px 9px 9px;
  border-color: transparent transparent var(--border-color) transparent;
}

.tb-drop-inbox>.tb-drop-head::after {
  border-width: 0 8px 8px 8px;
  border-color: transparent transparent var(--bg-tertiary) transparent;
  transform: translate(-50%, calc(-100% + 1px));
}

/* User menu — no caret. The pointer used to hang off .tb-user-card, which
   forced `overflow: visible` up the chain and stopped .tb-drop from clipping
   its own top corners: the card's grey fill painted square over the radius
   while the bottom edge stayed rounded. Dropping the caret lets .tb-drop's
   `overflow: hidden` apply, so both ends match. Other menus keep their carets. */
/* Tenant menu â€” caret on header right start (mirror of inbox left) */
.tb-start .dropdown.show:has(.admin-tenant-menu) {
  overflow: visible;
}

.tb .dropdown-menu.admin-tenant-menu.show {
  overflow: visible !important;
}

.admin-tenant-menu__head {
  position: relative;
  z-index: 1;
  overflow: visible;
}

.admin-tenant-menu__head::before,
.admin-tenant-menu__head::after {
  content: '';
  position: absolute;
  top: 0;
  right: 1rem;
  left: auto;
  width: 0;
  height: 0;
  border-style: solid;
  pointer-events: none;
  z-index: 2;
  transform: translate(50%, -100%);
}

.admin-tenant-menu__head::before {
  border-width: 0 9px 9px 9px;
  border-color: transparent transparent var(--border-color) transparent;
}

.admin-tenant-menu__head::after {
  border-width: 0 8px 8px 8px;
  border-color: transparent transparent var(--tenant-menu-head-bg, var(--bg-tertiary)) transparent;
  transform: translate(50%, calc(-100% + 1px));
}

.tb-sep {
  display: inline-block;
  width: 1px;
  height: calc(var(--tb-control-h) - 1.125rem);
  background: var(--border-color);
  flex-shrink: 0;
  margin: 0 0.45rem;
}

/* Toggle */
.tb-toggle {
  background: none;
  border: none;
  color: var(--text-secondary);
  font-size: calc(var(--tb-icon) + 0.05rem);
  cursor: pointer;
  padding: 0;
  width: var(--tb-control-h);
  height: var(--tb-control-h);
  border-radius: var(--radius-sm);
  transition: background var(--transition), color var(--transition);
  line-height: 1;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tb-toggle:hover {
  background: var(--bg-tertiary);
  color: var(--text-primary);
}

/* Logo */
.tb-logo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  flex-shrink: 0;
  padding: 0 4px;
}

.tb-logo:hover {
  text-decoration: none;
}

.tb-logo-img {
  height: calc(var(--tb-control-h) - 0.375rem);
  max-width: 140px;
  object-fit: contain;
  display: block;
}

.tb-logo-fallback {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.tb-logo-icon {
  width: calc(var(--tb-control-h) - 0.375rem);
  height: calc(var(--tb-control-h) - 0.375rem);
  border-radius: var(--sys-radius);
  background: var(--gradient-primary);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.05rem;
  flex-shrink: 0;
  box-shadow: 0 3px 10px rgba(28, 62, 56, 0.35);
  transition: transform var(--transition), box-shadow var(--transition);
}

.tb-logo:hover .tb-logo-icon {
  transform: scale(1.06);
  box-shadow: 0 5px 16px rgba(28, 62, 56, 0.5);
}

.tb-logo-text {
  font-size: var(--tb-font);
  font-weight: 800;
  color: var(--text-primary);
  white-space: nowrap;
  letter-spacing: -0.3px;
}

/* Context button (branch / tenant) */
.tb-ctx-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: var(--bg-secondary);
  border: none;
  color: var(--text-primary);
  min-height: var(--tb-control-h);
  padding: 0 0.75rem;
  border-radius: var(--radius-sm);
  font-size: var(--tb-font-sm);
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  transition: all var(--transition);
  white-space: nowrap;
  max-width: 220px;
}

.tb-ctx-btn>.bi-buildings {
  font-size: 1rem;
  color: var(--adm-brand-600, #173630);
  flex-shrink: 0;
}

.tb-ctx-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 150px;
}

.tb-ctx-caret {
  font-size: 0.65rem;
  opacity: 0.5;
  flex-shrink: 0;
  transition: transform var(--transition);
}

.tb-ctx-btn[aria-expanded="true"] .tb-ctx-caret {
  transform: rotate(-180deg);
}

.tb-ctx-btn::after {
  display: none !important;
}

.tb-ctx-btn:hover,
.tb-ctx-btn.show {
  background: var(--bg-tertiary);
  border-color: #173630;
}

/* Search */
.tb-search-wrap {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  min-width: 0;
}

.tb-search {
  position: relative;
  width: 100%;
  max-width: 900px;
}

.tb-search-icon {
  position: absolute;
  inset-inline-start: 0.9rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: var(--tb-font-sm);
  color: var(--text-muted);
  pointer-events: none;
  z-index: 1;
  transition: color var(--transition);
}

.tb-search-input {
  width: 100%;
  height: var(--tb-control-h);
  background: var(--bg-tertiary);
  border: 1.5px solid var(--border-color);
  border-radius: var(--radius-sm);
  padding-inline-start: 2.35rem;
  padding-inline-end: 4.5rem;
  font-size: var(--tb-font-sm);
  color: var(--text-primary);
  font-family: inherit;
  outline: none;
  transition: all 0.22s ease;
}

.tb-search-input::placeholder {
  color: var(--text-muted);
}

.tb-search-input::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.tb-search-input:focus {
  border-color: #173630;
  background: var(--input-bg, var(--bg-secondary));
  box-shadow: 0 0 0 3.5px rgba(28, 62, 56, 0.15);
}

.tb-search:focus-within .tb-search-icon {
  color: var(--adm-brand-600, #173630);
}

.tb-search-hint {
  position: absolute;
  inset-inline-end: 10px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  gap: 3px;
  align-items: center;
  pointer-events: none;
}

.tb-search-key {
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--text-muted);
  background: var(--bg-primary);
  border: 1px solid var(--border-color);
  border-radius: 4px;
  padding: 2px 6px;
  line-height: 1.35;
}

/* Icon buttons */
.tb-icon-btn {
  position: relative;
  background: none;
  border: none;
  color: var(--text-secondary);
  font-size: var(--tb-icon);
  cursor: pointer;
  padding: 0;
  width: var(--tb-control-h);
  height: var(--tb-control-h);
  min-width: var(--tb-control-h);
  min-height: var(--tb-control-h);
  border-radius: var(--radius-sm);
  transition: background var(--transition), color var(--transition);
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.tb-icon-btn::after {
  display: none !important;
}

.tb-icon-btn:hover,
.tb-icon-btn.show {
  background: var(--bg-tertiary);
  color: var(--text-primary);
}

/* Badge */
.tb-badge {
  position: absolute;
  top: 4px;
  inset-inline-end: 4px;
  min-width: 18px;
  height: 18px;
  border-radius: var(--sys-radius);
  font-size: 0.625rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  line-height: 1;
  border: 2px solid var(--topbar-bg);
  pointer-events: none;
  color: #fff;
  animation: tbBadgePop 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
}

@keyframes tbBadgePop {
  from {
    transform: scale(0);
    opacity: 0;
  }

  to {
    transform: scale(1);
    opacity: 1;
  }
}

.tb-badge-red {
  background: #ef4444;
}

.tb-badge-green {
  background: #22c55e;
}

.tb-badge-blue {
  background: #173630;
}

.tb-badge.is-empty {
  display: none;
  animation: none;
}

.tb-badge.is-active {
  display: flex;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.22);
}

.tb-badge-green.is-active {
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.28);
}

.tb-badge-amber {
  background: #f59e0b;
}

.tb-badge-amber.is-active {
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.28);
}

/* Header inbox icons (alerts آ· notifications آ· messages) â€” flat, no grouped chrome */
.tb-inbox-group {
  display: inline-flex;
  align-items: center;
  gap: 0;
}

.tb-inbox-group .tb-icon-btn {
  margin: 0;
}

/* Force topbar dropdowns to open downward (except sticky panels â€” positioned below trigger) */
.tb .dropdown-menu:not(.tb-drop-inbox):not(.tb-drop-sticky) {
  top: 100% !important;
  bottom: auto !important;
  margin-top: 14px !important;
}

.tb .dropdown-menu.tb-drop-inbox {
  z-index: 1075;
  text-align: start;
}

.tb .dropdown-menu.tb-drop-inbox:not(.show) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.tb .dropdown-menu.show.tb-drop-inbox {
  display: flex;
  flex-direction: column;
  visibility: visible;
  pointer-events: auto;
}

/* Backdrop while inbox panel is open (tablet / mobile) */
.tb-inbox-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1070;
  background: rgba(7, 10, 9, 0.28);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: default;
}

.tb-inbox-backdrop.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Shared dropdown shell */
.tb-drop {
  min-width: 300px;
  padding: 0;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  background: var(--bg-secondary);
  overflow: hidden;
  margin-top: 6px !important;
}

.tb-drop-head-meta {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--text-muted);
  background: var(--bg-tertiary);
  border-radius: var(--sys-radius);
  padding: 2px 8px;
  line-height: 1.3;
}

.tb-drop-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px 10px;
  border-bottom: 1px solid var(--border-color);
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: var(--bg-tertiary);
}

.tb-drop-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  border-radius: var(--sys-radius);
  background: #173630;
  color: #fff;
  font-size: 0.65rem;
  font-weight: 700;
  padding: 0 5px;
}

.tb-drop-action {
  background: none;
  border: none;
  font-size: 0.75rem;
  color: var(--adm-brand-600, #173630);
  cursor: pointer;
  padding: 0;
  font-family: inherit;
  transition: opacity var(--transition);
  text-transform: none;
  letter-spacing: 0;
  font-weight: 500;
}

.tb-drop-action:hover {
  opacity: 0.75;
}

.tb-drop-body {
  padding: 4px 0;
}

.tb-drop-footer {
  padding: 10px 16px;
  border-top: 1px solid var(--border-color);
  background: var(--bg-tertiary);
}

.tb-drop-footer-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--adm-brand-600, #173630);
  text-decoration: none;
  transition: opacity var(--transition);
}

.tb-drop-footer-link:hover {
  opacity: 0.75;
  text-decoration: none;
}

[dir="rtl"] .tb-drop-footer-chev {
  transform: scaleX(-1);
}

.tb-drop-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 32px 16px;
  color: var(--text-muted);
  font-size: 0.85rem;
}

.tb-drop-empty i {
  font-size: 1.8rem;
  opacity: 0.4;
}

.tb-drop-divider {
  height: 1px;
  background: var(--border-color);
  margin: 4px 0;
}

/* Branch / tenant dropdown */
.tb-drop-branch {
  min-width: 260px;
}

.tb-drop-search-wrap {
  position: relative;
  padding: 8px 10px;
  border-bottom: 1px solid var(--border-color);
}

.tb-drop-search-ic {
  position: absolute;
  inset-inline-start: 20px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-muted);
  font-size: 0.8rem;
  pointer-events: none;
}

.tb-drop-search {
  width: 100%;
  height: 32px;
  border: 1px solid var(--border-color);
  border-radius: var(--sys-radius);
  background: var(--bg-tertiary);
  padding-inline-start: 30px;
  padding-inline-end: 10px;
  font-size: 0.82rem;
  color: var(--text-primary);
  font-family: inherit;
  outline: none;
}

.tb-drop-search:focus {
  border-color: #173630;
}

.tb-branch-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 9px 14px;
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.85rem;
  color: var(--text-primary);
  transition: background var(--transition);
  text-align: start;
}

.tb-branch-item:hover {
  background: var(--bg-tertiary);
}

.tb-branch-item.active {
  background: rgba(28, 62, 56, 0.07);
}

.tb-branch-avatar {
  width: 32px;
  height: 32px;
  border-radius: var(--sys-radius);
  background: var(--gradient-primary);
  color: #fff;
  font-size: 0.85rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.tb-branch-info {
  flex: 1;
  overflow: hidden;
}

.tb-branch-name {
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}

.tb-branch-check {
  color: var(--adm-brand-600, #173630);
  font-size: 1rem;
  flex-shrink: 0;
}

/* Fiscal year */
.tb-drop-fy {
  min-width: 320px;
}

.tb-fy-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 9px 14px;
  background: none;
  border: none;
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-family: inherit;
  transition: background var(--transition);
  text-align: start;
}

.tb-fy-item:hover {
  background: var(--bg-tertiary);
}

.tb-fy-item.active {
  background: rgba(28, 62, 56, 0.07);
}

.tb-fy-item.closed {
  opacity: 0.65;
}

.tb-fy-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--border-color);
}

.tb-fy-dot.active {
  background: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.18);
}

.tb-fy-dot.closed {
  background: #94a3b8;
}

.tb-fy-body {
  flex: 1;
  overflow: hidden;
}

.tb-fy-name {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tb-fy-dates {
  display: block;
  font-size: 0.73rem;
  color: var(--text-secondary);
  font-variant-numeric: tabular-nums;
  margin-top: 1px;
}

.tb-fy-tags {
  display: flex;
  gap: 4px;
  flex-shrink: 0;
}

.tb-tag {
  display: inline-flex;
  align-items: center;
  padding: 1px 7px;
  border-radius: var(--sys-radius);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.tb-tag-blue {
  background: rgba(28, 62, 56, 0.12);
  color: var(--adm-brand-600, #173630);
}

.tb-tag-gray {
  background: var(--bg-tertiary);
  color: var(--text-muted);
}

/* Notifications & messages â€” capped height with scrollable list (flex only while open) */
.tb-drop-notif,
.tb-drop-msg {
  max-height: min(calc(100dvh - 5.5rem), 480px);
}

.tb-drop-notif .tb-drop-head,
.tb-drop-notif .tb-drop-footer,
.tb-drop-msg .tb-drop-head,
.tb-drop-msg .tb-drop-footer {
  flex-shrink: 0;
}

.tb-drop-notif .tb-drop-body,
.tb-drop-alert .tb-drop-body,
.tb-drop-msg .tb-drop-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--text-muted) 45%, transparent) transparent;
}

.tb-drop-notif .tb-drop-body::-webkit-scrollbar,
.tb-drop-alert .tb-drop-body::-webkit-scrollbar,
.tb-drop-msg .tb-drop-body::-webkit-scrollbar {
  width: 6px;
}

.tb-drop-notif .tb-drop-body::-webkit-scrollbar-thumb,
.tb-drop-alert .tb-drop-body::-webkit-scrollbar-thumb,
.tb-drop-msg .tb-drop-body::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--text-muted) 40%, transparent);
  border-radius: var(--sys-radius);
}

/* Notifications */
.tb-drop-notif {
  width: min(460px, calc(100vw - 24px));
  min-width: min(360px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
}

.tb-notif-item {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 11px 16px;
  border-bottom: 1px solid var(--border-color);
  transition: background var(--transition);
  cursor: pointer;
  position: relative;
}

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

.tb-notif-item:hover {
  background: var(--bg-tertiary);
}

.tb-notif-item.unread {
  background: rgba(28, 62, 56, 0.04);
}

.tb-notif-ic {
  width: 36px;
  height: 36px;
  border-radius: var(--sys-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  flex-shrink: 0;
}

.tb-notif-ic.blue {
  background: rgba(28, 62, 56, 0.12);
  color: var(--adm-brand-600, #173630);
}

.tb-notif-ic.orange {
  background: rgba(251, 146, 60, 0.12);
  color: #f97316;
}

.tb-notif-ic.green {
  background: rgba(34, 197, 94, 0.12);
  color: #22c55e;
}

.tb-notif-ic.purple {
  background: rgba(23, 54, 48, 0.12);
  color: var(--adm-brand-600, #2c5a51);
}

.tb-notif-ic.teal {
  background: rgba(20, 184, 166, 0.12);
  color: #14b8a6;
}

.tb-notif-body {
  flex: 1;
  overflow: hidden;
  min-width: 0;
}

.tb-notif-title {
  display: -webkit-box;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text-primary);
  overflow: hidden;
  overflow-wrap: anywhere;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.tb-notif-sub {
  display: -webkit-box;
  font-size: 0.78rem;
  color: var(--text-secondary);
  overflow: hidden;
  overflow-wrap: anywhere;
  white-space: normal;
  margin-top: 2px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.tb-notif-time {
  display: block;
  font-size: 0.72rem;
  color: var(--text-muted);
  margin-top: 4px;
}

.tb-notif-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #173630;
  flex-shrink: 0;
  margin-top: 6px;
  box-shadow: 0 0 0 2px rgba(28, 62, 56, 0.2);
}

/* Operational alerts */
.tb-drop-alert {
  width: min(460px, calc(100vw - 24px));
  min-width: min(360px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
}

.tb-drop-alert .tb-drop-head,
.tb-drop-alert .tb-drop-footer {
  flex-shrink: 0;
}

.tb-alert-item {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 11px 16px;
  border-bottom: 1px solid var(--border-color);
  transition: background var(--transition);
  cursor: pointer;
  position: relative;
  color: inherit;
}

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

.tb-alert-item:hover {
  background: var(--bg-tertiary);
}

.tb-alert-item.unread {
  background: rgba(245, 158, 11, 0.07);
}

.tb-alert-ic {
  width: 36px;
  height: 36px;
  border-radius: var(--sys-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
  background: rgba(245, 158, 11, 0.14);
  color: #d97706;
}

.tb-alert-body {
  flex: 1;
  overflow: hidden;
  min-width: 0;
}

.tb-alert-title {
  display: -webkit-box;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text-primary);
  overflow: hidden;
  overflow-wrap: anywhere;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.tb-alert-sub {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  color: #d97706;
  margin-top: 2px;
}

.tb-alert-detail {
  display: -webkit-box;
  font-size: 0.76rem;
  color: var(--text-secondary);
  margin-top: 3px;
  overflow: hidden;
  overflow-wrap: anywhere;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.tb-alert-time {
  display: block;
  font-size: 0.72rem;
  color: var(--text-muted);
  margin-top: 4px;
}

.tb-alert-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #f59e0b;
  flex-shrink: 0;
  margin-top: 6px;
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.22);
}

/* Messages */
.tb-drop-msg {
  width: min(460px, calc(100vw - 24px));
  min-width: min(360px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
}

.tb-msg-item {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 11px 16px;
  border-bottom: 1px solid var(--border-color);
  transition: background var(--transition);
  cursor: pointer;
}

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

.tb-msg-item:hover {
  background: var(--bg-tertiary);
}

.tb-msg-item.unread {
  background: rgba(34, 197, 94, 0.04);
}

.tb-msg-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.82rem;
  font-weight: 700;
  color: #fff;
  flex-shrink: 0;
}

.tb-msg-avatar.blue {
  background: linear-gradient(135deg, #173630, #173630);
}

.tb-msg-avatar.green {
  background: linear-gradient(135deg, #22c55e, #16a34a);
}

.tb-msg-avatar.orange {
  background: linear-gradient(135deg, #f97316, #ea580c);
}

.tb-msg-avatar.purple {
  background: linear-gradient(135deg, #2c5a51, #122b26);
}

.tb-msg-body {
  flex: 1;
  overflow: hidden;
  min-width: 0;
}

.tb-msg-name {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tb-msg-preview {
  display: block;
  font-size: 0.78rem;
  color: var(--text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 2px;
}

.tb-msg-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 5px;
  flex-shrink: 0;
}

.tb-msg-time {
  font-size: 0.71rem;
  color: var(--text-muted);
  white-space: nowrap;
}

.tb-msg-count {
  min-width: 18px;
  height: 18px;
  border-radius: var(--sys-radius);
  background: #22c55e;
  color: #fff;
  font-size: 0.62rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
}

/* User button */
.tb-user-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: none;
  border: none;
  color: var(--text-primary);
  min-height: var(--tb-control-h);
  padding: 0 0.65rem 0 0.35rem;
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-family: inherit;
  font-size: var(--tb-font-sm);
  transition: all var(--transition);
  flex-shrink: 0;
}

.tb-user-btn::after {
  display: none !important;
}

.tb-user-btn:hover,
.tb-user-btn.show {
  background: var(--bg-tertiary);
}

.tb-user-avatar {
  width: calc(var(--tb-control-h) - 0.625rem);
  height: calc(var(--tb-control-h) - 0.625rem);
  border-radius: 50%;
  background: var(--gradient-primary);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--tb-font-xs);
  font-weight: 700;
  flex-shrink: 0;
  transition: box-shadow var(--transition);
  overflow: hidden;
}

.tb-user-btn:hover .tb-user-avatar {
  box-shadow: 0 0 0 3px rgba(28, 62, 56, 0.25);
}

.tb-user-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.tb-user-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  overflow: hidden;
}

.tb-user-name {
  font-size: var(--tb-font-sm);
  font-weight: 600;
  color: var(--text-primary);
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.25;
}

.tb-user-role {
  font-size: var(--tb-font-xs);
  color: var(--text-muted);
  white-space: nowrap;
  line-height: 1.15;
  margin-top: 2px;
}

.tb-user-caret {
  font-size: 0.65rem;
  opacity: 0.5;
  flex-shrink: 0;
  transition: transform var(--transition);
}

.tb-user-btn[aria-expanded="true"] .tb-user-caret {
  transform: rotate(-180deg);
}

/* User dropdown */
.tb-drop-user {
  min-width: 270px;
}

.tb-user-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  background: var(--bg-tertiary);
  border-bottom: 1px solid var(--border-color);
}

.tb-user-card-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--gradient-primary);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 700;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(28, 62, 56, 0.3);
  overflow: hidden;
}

.tb-user-card-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.tb-user-card-info {
  overflow: hidden;
}

.tb-user-card-name {
  display: block;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tb-user-card-email {
  display: block;
  font-size: 0.75rem;
  color: var(--text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tb-user-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 16px;
  font-size: 0.85rem;
  color: var(--text-primary);
  text-decoration: none;
  cursor: pointer;
  transition: background var(--transition);
  gap: 10px;
}

.tb-user-row:hover {
  background: var(--bg-tertiary);
  text-decoration: none;
  color: var(--text-primary);
}

.tb-user-row-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
}

.tb-user-row-icon {
  font-size: 0.9rem;
  color: var(--text-muted);
  width: 16px;
  text-align: center;
}

.tb-user-row-value {
  font-size: 0.78rem;
  color: var(--text-muted);
  font-weight: 500;
}

/* Theme switch */
.tb-theme-switch {
  position: relative;
  display: inline-block;
  width: 38px;
  height: 21px;
  flex-shrink: 0;
  cursor: pointer;
  margin: 0;
}

.tb-theme-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.tb-theme-slider {
  position: absolute;
  inset: 0;
  border-radius: var(--sys-radius);
  background: var(--border-color);
  transition: background 0.25s ease;
}

.tb-theme-slider::before {
  content: '';
  position: absolute;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #fff;
  top: 3px;
  inset-inline-start: 3px;
  transition: inset-inline-start 0.25s ease;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}

.tb-theme-switch input:checked+.tb-theme-slider {
  background: #173630;
}

.tb-theme-switch input:checked+.tb-theme-slider::before {
  inset-inline-start: calc(100% - 18px);
}

.tb-user-menuitem {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 9px 16px;
  background: none;
  border: none;
  font-family: inherit;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--text-primary);
  cursor: pointer;
  text-decoration: none;
  transition: background var(--transition), color var(--transition);
  text-align: start;
}

.tb-user-menuitem i {
  font-size: 0.9rem;
  color: var(--text-muted);
  width: 16px;
  text-align: center;
}

.tb-user-menuitem svg {
  flex-shrink: 0;
  color: var(--text-muted);
}

.tb-user-menuitem:hover {
  background: var(--bg-tertiary);
  color: var(--text-primary);
  text-decoration: none;
}

.tb-user-menuitem.danger {
  color: #ef4444;
}

.tb-user-menuitem.danger i,
.tb-user-menuitem.danger svg {
  color: #ef4444;
}

.tb-user-menuitem.danger:hover {
  background: rgba(239, 68, 68, 0.07);
}

/* ========== Main Content ========== */
.main-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  position: relative;
  margin-inline-start: 260px;
  transition: margin-inline-start var(--transition-slow);
  min-width: 0;
  min-height: 100dvh;
  height: 100dvh;
  overflow: hidden;
  padding-top: var(--topbar-height);
  box-sizing: border-box;
}

.sidebar.collapsed~.main-content,
.sidebar-pref-collapsed .main-content {
  margin-inline-start: var(--sidebar-collapsed-width, 70px);
}

.content-wrapper {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}

.content-wrapper__main {
  flex: 1 0 auto;
  padding-top: 20px;
  padding-inline: 24px;
  padding-bottom: 24px;
}

/* Short pages: grow main + margin-top:auto pin footer to shell bottom.
   Long pages: main grows with content; footer stays after all data (scroll). */
.content-wrapper>.content-page-footer,
.content-wrapper>.admin-footer.content-page-footer,
.content-wrapper>footer.shell-footer-surface.content-page-footer {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  margin-top: auto;
  padding: 0;
  border-radius: 0;
  box-sizing: border-box;
  flex-shrink: 0;
}

/* ERP shell footer â€” tenant context آ· compliance links آ· runtime meta */
.erp-shell-footer {
  min-height: 43px;
  padding: 0;
}

.erp-shell-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 12px 20px;
  width: 100%;
  min-height: 68px;
  padding: 7px clamp(12px, 2vw, 19px);
  box-sizing: border-box;
  border-top: 1px solid var(--sidebar-border);
}

.erp-shell-footer__start {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  justify-self: start;
}

.erp-shell-footer__context-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: var(--sys-radius);
  background: rgba(23, 54, 48, 0.1);
  color: var(--adm-brand-600, #173630);
  flex-shrink: 0;
  font-size: 0.9rem;
}

.erp-shell-footer__context-text {
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.erp-shell-footer__nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2px 4px;
  justify-self: center;
}

.erp-shell-footer__link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--text-secondary);
  text-decoration: none;
  white-space: nowrap;
  transition: background var(--transition), color var(--transition);
}

.erp-shell-footer__link i {
  font-size: 0.82rem;
  opacity: 0.85;
}

.erp-shell-footer__link:hover {
  background: var(--bg-tertiary);
  color: var(--text-primary);
  text-decoration: none;
}

.erp-shell-footer__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px 8px;
  min-width: 0;
  justify-self: end;
  font-size: 0.72rem;
  color: var(--text-muted);
  font-variant-numeric: tabular-nums;
}

[dir="rtl"] .erp-shell-footer__meta {
  justify-content: flex-start;
}

[dir="rtl"] .erp-shell-footer__start {
  justify-self: end;
}

.erp-shell-footer__env {
  display: inline-flex;
  align-items: center;
  padding: 1px 8px;
  border-radius: var(--sys-radius);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.45;
  border: 1px solid transparent;
}

.erp-shell-footer__env--production {
  color: #15803d;
  background: rgba(34, 197, 94, 0.12);
  border-color: rgba(34, 197, 94, 0.28);
}

.erp-shell-footer__env--development {
  color: #c2410c;
  background: rgba(249, 115, 22, 0.12);
  border-color: rgba(249, 115, 22, 0.28);
}

.erp-shell-footer__env--staging {
  color: #b45309;
  background: rgba(245, 158, 11, 0.14);
  border-color: rgba(245, 158, 11, 0.32);
}

.erp-shell-footer__env--testing,
.erp-shell-footer__env--custom {
  color: #475569;
  background: rgba(100, 116, 139, 0.12);
  border-color: rgba(100, 116, 139, 0.28);
}

[data-theme="dark"] .erp-shell-footer__env--production {
  color: #86efac;
  background: rgba(34, 197, 94, 0.16);
}

[data-theme="dark"] .erp-shell-footer__env--development {
  color: #fdba74;
  background: rgba(249, 115, 22, 0.18);
}

.erp-shell-footer__version {
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--adm-brand-600, #173630);
  background: rgba(23, 54, 48, 0.08);
  border: 1px solid rgba(23, 54, 48, 0.18);
  border-radius: var(--sys-radius);
  padding: 1px 8px;
}

.erp-shell-footer__sep {
  opacity: 0.45;
  user-select: none;
}

.erp-shell-footer__clock {
  white-space: nowrap;
}

.erp-shell-footer__copy {
  white-space: nowrap;
}

@media (max-width: 991.98px) {
  .erp-shell-footer__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
      "start meta"
      "nav nav";
  }

  .erp-shell-footer__start {
    grid-area: start;
  }

  .erp-shell-footer__meta {
    grid-area: meta;
  }

  .erp-shell-footer__nav {
    grid-area: nav;
    justify-self: stretch;
    justify-content: flex-start;
    padding-top: 2px;
    border-top: 1px solid var(--border-color);
  }
}

@media (max-width: 575.98px) {
  .erp-shell-footer__grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "start"
      "meta"
      "nav";
    gap: 8px;
    padding-block: 8px;
  }

  .erp-shell-footer__meta {
    justify-content: flex-start;
    justify-self: stretch;
  }

  .erp-shell-footer__link span {
    display: none;
  }

  .erp-shell-footer__link {
    padding: 6px 8px;
  }

  .erp-shell-footer__copy {
    display: none;
  }
}

/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   UNIFIED SHELL FOOTER (page + sidebar)
â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */
.shell-footer-surface {
  box-sizing: border-box;
  flex-shrink: 0;
  padding: 7px 19px;
  min-height: 43px;
  border-top: 1px solid var(--sidebar-border);
  background: var(--sidebar-gradient);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
}

.shell-footer-surface__inner {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
}

.shell-footer-surface__inner--end {
  justify-content: flex-end;
}

[dir="rtl"] .shell-footer-surface__inner--end {
  justify-content: flex-start;
}

.shell-footer-surface__version {
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--adm-brand-600, #173630);
  background: rgba(23, 54, 48, 0.08);
  border: 1px solid rgba(23, 54, 48, 0.18);
  border-radius: var(--sys-radius);
  padding: 1px 8px;
}

.shell-footer-surface__sep {
  color: var(--text-muted);
  opacity: 0.45;
  user-select: none;
}

.shell-footer-surface__year {
  font-size: 0.72rem;
  color: var(--text-muted);
}

[data-theme="dark"] .shell-footer-surface {
  background: var(--adm-bg-surface, var(--bg-secondary));
}

.admin-shell-footer {
  flex-shrink: 0;
  position: relative;
  background: #fff;
  border-top: 1px solid var(--sidebar-border);
}

[data-theme="dark"] .admin-shell-footer {
  background: var(--adm-bg-surface, var(--bg-secondary));
  border-top-color: var(--sidebar-border);
}

.admin-shell-footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 19px;
  min-height: 43px;
  flex-wrap: wrap;
}

.admin-shell-footer__brand {
  display: flex;
  align-items: center;
  gap: 0;
  min-width: 0;
  flex: 1 1 auto;
}

.admin-shell-footer__brand-name {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--text-secondary);
  white-space: nowrap;
}

.admin-shell-footer__tagline {
  font-size: 0.72rem;
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.admin-shell-footer__dot {
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--text-muted);
  opacity: 0.45;
  margin: 0 8px;
  flex-shrink: 0;
}

.admin-shell-footer__nav {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex-wrap: wrap;
  justify-content: center;
}

.admin-shell-footer__link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--text-secondary);
  text-decoration: none;
  transition: background var(--transition), color var(--transition);
  white-space: nowrap;
}

.admin-shell-footer__link i {
  font-size: 0.85rem;
  opacity: 0.9;
}

.admin-shell-footer__link:hover {
  background: var(--bg-tertiary);
  color: var(--text-primary);
  text-decoration: none;
}

.admin-shell-footer__link--muted {
  cursor: default;
  opacity: 0.65;
}

.admin-shell-footer__link--muted:hover {
  background: transparent;
  color: var(--text-secondary);
}

.admin-shell-footer__meta {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.admin-shell-footer__version {
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--adm-brand-600, #173630);
  background: rgba(23, 54, 48, 0.08);
  border: 1px solid rgba(23, 54, 48, 0.18);
  border-radius: var(--sys-radius);
  padding: 1px 8px;
}

.admin-shell-footer__year {
  font-size: 0.72rem;
  color: var(--text-muted);
}

@media (max-width: 991.98px) {
  .admin-shell-footer__inner {
    flex-direction: column;
    align-items: stretch;
  }

  .admin-shell-footer__nav {
    justify-content: flex-start;
    padding-top: 4px;
    border-top: 1px solid var(--border-color);
  }

  .admin-shell-footer__tagline {
    display: none;
  }

  .admin-shell-footer__brand .admin-shell-footer__dot {
    display: none;
  }
}

@media (max-width: 575.98px) {
  .admin-shell-footer__inner {
    padding: 7px 12px;
  }
}

/* Legacy aliases */
.admin-footer {
  flex-shrink: 0;
  background: #fff;
  border-top: 1px solid var(--sidebar-border);
  position: relative;
}

.admin-footer--global {
  position: static;
  margin: 0;
  width: 100%;
  flex-shrink: 0;
  z-index: 1;
}

.admin-footer.shell-footer-surface {
  background: var(--sidebar-gradient);
  border-top: 1px solid var(--sidebar-border);
  padding: 7px 19px;
  min-height: 43px;
}

.content-page-footer {
  position: static;
  inset: auto;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* Thin gradient rule at the top edge */
.admin-footer-accent {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  inset-inline-end: 0;
  height: 2px;
  background: linear-gradient(90deg, #173630 0%, #173630 50%, #2c5a51 100%);
  opacity: 0.5;
}

.admin-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 24px;
  min-height: 44px;
  gap: 12px;
  flex-wrap: wrap;
}

.admin-footer-nav {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  justify-content: center;
  flex: 1 1 auto;
  min-width: 0;
}

.admin-footer-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--text-secondary);
  text-decoration: none;
  transition: background var(--transition), color var(--transition);
  white-space: nowrap;
}

.admin-footer-link i {
  font-size: 0.85rem;
  opacity: 0.85;
}

.admin-footer-link:hover {
  background: var(--bg-tertiary);
  color: var(--text-primary);
  text-decoration: none;
}

.admin-footer-link--muted {
  cursor: default;
  opacity: 0.65;
}

.admin-footer-link--muted:hover {
  background: transparent;
  color: var(--text-secondary);
}

/* â”€â”€ Start side: brand name + separator + tagline â”€â”€ */
.admin-footer-start {
  display: flex;
  align-items: center;
  gap: 0;
  min-width: 0;
  overflow: hidden;
}

.admin-footer-brand-name {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--text-secondary);
  white-space: nowrap;
  flex-shrink: 0;
}

/* bullet separator between items */
.admin-footer-sep {
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--text-muted);
  opacity: 0.45;
  flex-shrink: 0;
  margin: 0 8px;
  vertical-align: middle;
}

.admin-footer-tagline {
  font-size: 0.72rem;
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

/* â”€â”€ End side: version pill + separator + year â”€â”€ */
.admin-footer-end {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 0;
}

.admin-footer-version {
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--adm-brand-600, #173630);
  background: rgba(23, 54, 48, 0.08);
  border: 1px solid rgba(23, 54, 48, 0.18);
  border-radius: var(--sys-radius);
  padding: 1px 8px;
  white-space: nowrap;
  letter-spacing: 0.02em;
}

.admin-footer-copy {
  font-size: 0.72rem;
  color: var(--text-muted);
  white-space: nowrap;
}

/* â”€â”€ Responsive â”€â”€ */
@media (max-width: 991.98px) {
  .admin-footer-nav {
    order: 3;
    width: 100%;
    justify-content: flex-start;
    padding-top: 4px;
    border-top: 1px solid var(--border-color);
    margin-top: 2px;
  }
}

@media (max-width: 767.98px) {
  .admin-footer-inner {
    padding: 8px 18px;
  }
}

@media (max-width: 575.98px) {
  .admin-footer-inner {
    padding: 7px 12px;
    min-height: 38px;
  }

  .admin-footer-tagline {
    display: none;
  }

  .admin-footer-start .admin-footer-sep {
    display: none;
  }
}

@media (max-width: 479.98px) {
  .admin-footer-brand-name {
    display: none;
  }
}

/* ========== Buttons ==========
   Owned by wwwroot/css/system-buttons.css (loaded after this file in all shells).
   Do not reintroduce .btn / .btn-primary visuals here. */

/* ========== Stat Cards ========== */
.stat-card {
  border-radius: var(--radius-lg);
  padding: 24px;
  background-color: var(--card-bg);
  border: 1px solid var(--card-border);
  box-shadow: var(--shadow-sm);
  transition: transform var(--transition), box-shadow var(--transition);
  position: relative;
  overflow: hidden;
}

.stat-card::before {
  content: '';
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  bottom: 0;
  width: 4px;
  border-radius: 4px 0 0 4px;
}

[dir="rtl"] .stat-card::before {
  border-radius: 0 4px 4px 0;
}

.stat-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}

.stat-card-blue::before {
  background: var(--gradient-primary);
}

.stat-card-green::before {
  background: var(--gradient-success);
}

.stat-card-amber::before {
  background: var(--gradient-warning);
}

.stat-card-red::before {
  background: var(--gradient-danger);
}

.stat-card-purple::before {
  background: linear-gradient(135deg, #2c5a51, #0d201c);
}

.stat-card .stat-icon {
  width: 50px;
  height: 50px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  flex-shrink: 0;
}

.stat-icon-blue {
  background: linear-gradient(135deg, rgba(28, 62, 56, 0.12), rgba(23, 54, 48, 0.18));
  color: var(--adm-brand-600, #173630);
}

.stat-icon-green {
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.12), rgba(22, 163, 74, 0.18));
  color: #22c55e;
}

.stat-icon-amber {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.12), rgba(217, 119, 6, 0.18));
  color: #f59e0b;
}

.stat-icon-red {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.12), rgba(220, 38, 38, 0.18));
  color: #ef4444;
}

.stat-card .stat-value {
  font-size: 2rem;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.stat-card .stat-label {
  font-size: 0.82rem;
  color: var(--text-secondary);
  margin-bottom: 4px;
  font-weight: 500;
}

.stat-card .stat-trend {
  font-size: 0.75rem;
  font-weight: 600;
  margin-top: 4px;
  color: var(--text-secondary);
}

/* ========== Quick Action Cards ========== */
.quick-action-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: var(--radius-md);
  border: 1px solid var(--card-border);
  background-color: var(--card-bg);
  color: var(--text-primary);
  transition: all var(--transition);
  text-decoration: none;
}

.quick-action-card:hover {
  border-color: #173630;
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  color: var(--text-primary);
  text-decoration: none;
}

.quick-action-card i {
  font-size: 1.3rem;
  color: var(--adm-brand-600, #173630);
}

.quick-action-card span {
  font-weight: 500;
  font-size: 0.875rem;
}

/* ========== Page Header ========== */
.page-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
}

.page-header h4 {
  font-weight: 700;
  margin-bottom: 4px;
  letter-spacing: -0.01em;
  position: relative;
  display: inline-block;
}

.page-header h4::after {
  content: '';
  position: absolute;
  inset-inline-start: 0;
  bottom: -4px;
  height: 3px;
  width: 32px;
  background: var(--gradient-primary);
  border-radius: 4px;
  transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.page-header p {
  color: var(--text-secondary);
  margin-bottom: 0;
  font-size: 0.875rem;
}

/* ========== Form Cards ========== */
.form-card {
  border: 1px solid var(--card-border);
  border-radius: var(--radius-lg);
  background-color: var(--card-bg);
  box-shadow: var(--shadow-sm);
}

.form-card .card-body {
  padding: 2rem;
}

/* ========== Alerts ========== */
.alert {
  border-radius: var(--radius-md);
  border: 1px solid transparent;
  font-size: 0.875rem;
}

/* ========== Breadcrumb ========== */
.breadcrumb {
  font-size: 0.825rem;
}

.breadcrumb-item a {
  color: var(--text-secondary);
  text-decoration: none;
  transition: color var(--transition);
}

.breadcrumb-item a:hover {
  color: var(--link-color);
}

.breadcrumb-item.active {
  color: var(--text-primary);
  font-weight: 500;
}

.breadcrumb-item+.breadcrumb-item::before {
  color: var(--text-muted);
}

/* ========== Sidebar Overlay (mobile) ========== */
.sidebar-overlay {
  display: none;
  position: fixed;
  top: var(--topbar-height);
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 1039;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

/* ========== Responsive ========== */

/* Stat card icon glow on hover */
.stat-icon-blue {
  box-shadow: 0 0 0 0 rgba(28, 62, 56, 0);
  transition: box-shadow 0.35s ease;
}

.stat-icon-green {
  box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
  transition: box-shadow 0.35s ease;
}

.stat-icon-amber {
  box-shadow: 0 0 0 0 rgba(245, 158, 11, 0);
  transition: box-shadow 0.35s ease;
}

.stat-icon-red {
  box-shadow: 0 0 0 0 rgba(239, 68, 68, 0);
  transition: box-shadow 0.35s ease;
}

.stat-card:hover .stat-icon-blue {
  box-shadow: 0 0 14px 4px rgba(28, 62, 56, 0.28);
}

.stat-card:hover .stat-icon-green {
  box-shadow: 0 0 14px 4px rgba(34, 197, 94, 0.28);
}

.stat-card:hover .stat-icon-amber {
  box-shadow: 0 0 14px 4px rgba(245, 158, 11, 0.28);
}

.stat-card:hover .stat-icon-red {
  box-shadow: 0 0 14px 4px rgba(239, 68, 68, 0.28);
}

/* Focus ring */
:focus-visible {
  outline: 2px solid rgba(28, 62, 56, 0.5);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

/* Enhanced modal backdrop â€” light frosted scrim (not solid black) */
.modal-backdrop.show {
  --bs-backdrop-opacity: 1;
  background-color: rgba(7, 10, 9, 0.2) !important;
  opacity: 1 !important;
  backdrop-filter: blur(8px) saturate(120%);
  -webkit-backdrop-filter: blur(8px) saturate(120%);
}

[data-theme="dark"] .modal-backdrop.show {
  background-color: rgba(2, 5, 5, 0.55) !important;
}


/* ── admin-dashboard.css (2562 lines) ── */
/* Admin console shell â€” shared across Admin + ERP module Areas.
 * Loads after site.css + store.css on body.admin-shell. Prefer --adm-* tokens here; store tokens (--store-*) are for .store-shell storefront pages.
 * Base Bootstrap tweaks belong in site.css unless the admin shell needs a different density. */

/* Theme/radius/border/shadow tokens moved to system-tokens.css. */
:root {
  --adm-font-display: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --adm-font-mono: ui-monospace, "Cascadia Code", "Consolas", monospace;
  --adm-fz-xs: 0.68rem;
  --adm-fz-sm: 0.78rem;
  --adm-fz-base: 0.88rem;
  --adm-fz-md: 0.95rem;
  --adm-fz-lg: 1.05rem;
  --adm-fz-xl: 1.35rem;
  --adm-fz-2xl: 1.75rem;
  --adm-fw-semibold: 600;
  --adm-fw-bold: 700;
  --adm-fw-extrabold: 800;
  --adm-leading-tight: 1.15;
  --adm-leading-snug: 1.25;
  --adm-leading-normal: 1.45;
  --adm-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --adm-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --adm-dur-fast: 0.12s;
  --adm-dur-base: 0.18s;
  --adm-dur-slow: 0.28s;
  --adm-z-sticky: 1030;
  --adm-z-scrim: 1040;
  --adm-z-drawer: 1050;
  --adm-z-dropdown: 1060;
  --adm-space-1: 0.25rem;
  --adm-space-2: 0.5rem;
  --adm-space-3: 0.75rem;
  --adm-space-4: 1rem;
  --adm-space-5: 1.25rem;
  --adm-space-6: 1.5rem;
  --adm-bp-sm: 576px;
  --adm-bp-md: 768px;
  --adm-bp-lg: 992px;
  --adm-bp-xl: 1200px;
  --adm-bp-xxl: 1400px;
  --adm-scroll-dropdown-width: 8px;
}

/* Lock shell to one viewport: sidebar + main scroll independently (no document/body scroll). */
html:has(body.admin-shell) {
  height: 100%;
  min-height: 100dvh;
  overflow: hidden;
}

/* _AdminLayout: shell fills the viewport; scroll lives in .sidebar-nav and .content-wrapper, not the document. */
body.admin-shell .dashboard-wrapper {
  flex: 1 1 auto;
  min-height: 0;
  max-height: 100dvh;
  width: 100%;
}

body.admin-shell .main-content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
  height: 100dvh;
  padding-top: var(--topbar-height);
  box-sizing: border-box;
  overflow: hidden;
}

body.admin-shell .content-wrapper {
  flex: 1 1 auto;
  min-height: 0;
  padding: 0;
  overflow: auto;
  display: flex;
  flex-direction: column;
}

.admin-shell {
  margin: 0;
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100dvh;
  height: 100dvh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: var(--adm-bg-page);
  color: var(--adm-text-strong);
  font-family: var(--font-sans, var(--adm-font-display));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

[data-theme="dark"] .admin-shell {
  background: var(--adm-bg-page);
}

.admin-topbar {
  --admin-topbar-hit: 2.875rem;
  position: sticky;
  top: 0;
  flex-shrink: 0;
  z-index: var(--adm-z-sticky);
  background: rgba(255, 255, 255, 0.97);
  background: color-mix(in srgb, var(--adm-bg-surface) 94%, transparent);
  border-bottom: 1px solid var(--adm-border-subtle);
  backdrop-filter: saturate(140%) blur(12px);
  box-shadow: var(--adm-shadow-sm);
}

[data-theme="dark"] .admin-topbar {
  background: rgba(7, 10, 9, 0.96);
  background: color-mix(in srgb, var(--adm-bg-surface) 92%, transparent);
  border-bottom-color: var(--adm-border);
  box-shadow: var(--adm-shadow-lg-dark);
}

.admin-topbar-inner {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.65rem 0.85rem;
  padding: 0.6rem clamp(0.85rem, 2vw, 1.35rem);
  max-width: 100%;
  margin-inline: auto;
  min-height: var(--topbar-height, 74px);
}

.admin-topbar__leading {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.45rem 0.55rem;
  min-width: 0;
  flex: 0 1 auto;
}

.admin-topbar__trailing {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.4rem 0.55rem;
  flex: 0 0 auto;
  margin-inline-start: auto;
}

.admin-topbar__icon-group {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.admin-topbar__fiscal-wrap {
  display: flex;
  align-items: center;
}

.admin-topbar-vr {
  display: inline-block;
  width: 1px;
  align-self: stretch;
  min-height: 1.85rem;
  background: rgba(7, 10, 9, 0.08);
  flex-shrink: 0;
}

[data-theme="dark"] .admin-topbar-vr {
  background: rgba(154, 178, 173, 0.12);
}

.admin-sidebar-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.65rem;
  height: 2.65rem;
  padding: 0;
  border: none;
  border-radius: var(--sys-radius);
  background: transparent;
  color: #64748b;
  cursor: pointer;
  flex-shrink: 0;
  font-size: 1.45rem;
  transition: background 0.15s ease, color 0.15s ease;
}

.admin-sidebar-toggle:hover,
.admin-sidebar-toggle:focus-visible {
  background: rgba(7, 10, 9, 0.07);
  color: #334155;
  outline: none;
}

.admin-hamburger {
  display: block;
  position: relative;
  width: 1.15rem;
  height: 2px;
  background: currentColor;
  border-radius: 1px;
  transition: background var(--adm-dur-base) var(--adm-ease-out);
}

.admin-hamburger::before,
.admin-hamburger::after {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: currentColor;
  border-radius: 1px;
  transition:
    transform var(--adm-dur-slow) var(--adm-ease-out),
    top var(--adm-dur-slow) var(--adm-ease-out),
    bottom var(--adm-dur-slow) var(--adm-ease-out);
}

.admin-hamburger::before {
  top: -5px;
}

.admin-hamburger::after {
  bottom: -5px;
  top: auto;
}

/* X morph when mobile nav is open */
.admin-shell--nav-open .admin-hamburger {
  background: transparent;
}

.admin-shell--nav-open .admin-hamburger::before {
  top: 0;
  transform: rotate(45deg);
}

.admin-shell--nav-open .admin-hamburger::after {
  bottom: 0;
  transform: rotate(-45deg);
}

[data-theme="dark"] .admin-sidebar-toggle {
  color: #9ab2ad;
}

[data-theme="dark"] .admin-sidebar-toggle:hover,
[data-theme="dark"] .admin-sidebar-toggle:focus-visible {
  background: rgba(154, 178, 173, 0.1);
  color: #e6eceb;
}

/* Tenant switcher â€” pill + dropdown (reference layout) */
.admin-tenant {
  min-width: 0;
  max-width: min(18rem, 46vw);
}

.admin-tenant-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  min-height: var(--admin-topbar-hit);
  border: none;
  border-radius: .25rem;
  background-color: transparent;
  padding: 0.28rem 0.65rem 0.28rem 0.55rem;
  font: inherit;
  line-height: 1.2;
  color: inherit;
  text-align: inherit;
  cursor: pointer;
  max-width: min(18rem, 46vw);
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.admin-tenant-btn:hover,
.admin-tenant-btn:focus-visible,
.admin-tenant-btn.show {
  background: #fafafa;
  border-color: #d1d5db;
  box-shadow: 0 2px 10px rgba(7, 10, 9, 0.06);
  outline: none;
}

.admin-tenant-btn::after {
  display: none !important;
}

/* Chevron shared by tenant / fiscal / user dropdowns â€” same SVG + rotate when open */
.admin-drop-chev {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #9ca3af;
  line-height: 0;
  transition: transform var(--adm-dur-base) var(--adm-ease-out);
}

[data-theme="dark"] .admin-drop-chev {
  color: #9ab2ad;
}

.admin-drop-chev svg {
  width: 15px;
  height: 15px;
  display: block;
}

.admin-tenant-btn.dropdown-toggle.show .admin-drop-chev,
.admin-tenant-btn.dropdown-toggle[aria-expanded="true"] .admin-drop-chev,
.admin-user-btn.dropdown-toggle.show .admin-drop-chev,
.admin-user-btn.dropdown-toggle[aria-expanded="true"] .admin-drop-chev,
.admin-fiscal__trigger.show .admin-drop-chev,
.admin-fiscal__trigger[aria-expanded="true"] .admin-drop-chev {
  transform: rotate(180deg);
}

.admin-tenant-label {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #111827;
  line-height: 1.25;
}

.admin-tenant-ico {
  color: var(--adm-brand-600, #122b26);
  flex-shrink: 0;
  display: inline-flex;
  font-size: 1.15rem;
}

[data-theme="dark"] .admin-tenant-label {
  color: #f4f6f6;
}

[data-theme="dark"] .admin-tenant-btn {
  background: rgba(30, 59, 52, 0.75);
  border-color: rgba(154, 178, 173, 0.2);
  box-shadow: none;
}

[data-theme="dark"] .admin-tenant-btn:hover,
[data-theme="dark"] .admin-tenant-btn:focus-visible,
[data-theme="dark"] .admin-tenant-btn.show {
  background: rgba(51, 85, 77, 0.55);
  border-color: rgba(69, 151, 136, 0.35);
}

[data-theme="dark"] .admin-user-pill .admin-user-btn {
  background: rgba(30, 59, 52, 0.7);
  border-color: rgba(154, 178, 173, 0.18);
}

[data-theme="dark"] .admin-user-pill .admin-user-btn:hover,
[data-theme="dark"] .admin-user-pill .admin-user-btn:focus-visible,
[data-theme="dark"] .admin-user-pill .admin-user-btn.show {
  background: rgba(51, 85, 77, 0.6);
  border-color: rgba(69, 151, 136, 0.3);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .admin-footer.admin-shell-footer {
  background: var(--adm-bg-surface, #070a09);
  border-top-color: var(--sidebar-border);
}

.admin-tenant-menu {
  min-width: min(22rem, 96vw);
  max-width: min(28rem, 100vw);
  max-height: min(32rem, 86vh);
  border-radius: var(--sys-radius) !important;
  border: 1px solid rgba(7, 10, 9, 0.08) !important;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(7, 10, 9, 0.12) !important;
}

[data-theme="dark"] .admin-tenant-menu {
  border-color: rgba(154, 178, 173, 0.15) !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45) !important;
}

.admin-tenant-menu__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.65rem 0.85rem;
  border-bottom: 1px solid rgba(7, 10, 9, 0.07);
  background: #fff;
  --tenant-menu-head-bg: #fff;
}

.admin-tenant-menu__head-start {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.admin-tenant-menu__head-ico {
  display: inline-flex;
  color: var(--adm-brand-600, #122b26);
  flex-shrink: 0;
  font-size: 1.05rem;
}

.admin-tenant-menu__head-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: #374151;
}

.admin-tenant-menu__head-badge {
  flex-shrink: 0;
  min-width: 1.65rem;
  height: 1.65rem;
  padding: 0 0.4rem;
  border-radius: var(--sys-radius);
  background: #122b26;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

[data-theme="dark"] .admin-tenant-menu__head {
  background: rgba(7, 10, 9, 0.98);
  border-bottom-color: rgba(154, 178, 173, 0.12);
  --tenant-menu-head-bg: rgba(7, 10, 9, 0.98);
}

[data-theme="dark"] .admin-tenant-menu__head-title {
  color: #e5ebea;
}

.admin-tenant-menu__list {
  max-height: min(18rem, 52vh);
  overflow-y: auto;
  padding: 0.25rem 0.45rem 0.55rem;
}

.admin-tenant-menu__group {
  list-style: none;
  margin-bottom: 0.25rem;
}

.admin-tenant-menu__company-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.55rem 0.2rem;
  user-select: none;
}

.admin-tenant-menu__company-head-avatar {
  width: 1.85rem;
  height: 1.85rem;
  border-radius: var(--sys-radius);
  background: rgba(27, 54, 49, 0.12);
  color: var(--adm-brand-600, #122b26);
  font-size: 0.78rem;
  font-weight: 800;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.admin-tenant-menu__company-head-title {
  font-size: 0.84rem;
  font-weight: 800;
  color: #64748b;
}

[data-theme="dark"] .admin-tenant-menu__company-head-title {
  color: #9ab2ad;
}

[data-theme="dark"] .admin-tenant-menu__company-head-avatar {
  background: rgba(69, 151, 136, 0.15);
  color: #65c0af;
}

.admin-tenant-menu__branches {
  padding-inline-start: 0.35rem;
  margin-inline-start: 0.85rem;
  margin-bottom: 0.15rem;
  border-inline-start: 2px solid rgba(23, 54, 48, 0.22);
}

.admin-tenant-menu__branch-item {
  list-style: none;
}

.admin-tenant-row--branch {
  padding-block: 0.38rem;
}

.admin-tenant-row {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: inherit;
  padding: 0.5rem 0.55rem;
  margin-bottom: 0.15rem;
  border-radius: var(--sys-radius);
  transition: background 0.12s ease;
}

.admin-tenant-row:hover,
.admin-tenant-row:focus-visible {
  background: rgba(23, 54, 48, 0.07);
  outline: none;
}

.admin-tenant-row--selected {
  background: rgba(23, 54, 48, 0.1);
}

.admin-tenant-row--static {
  cursor: default;
  box-sizing: border-box;
}

.admin-tenant-row--static.admin-tenant-row:hover,
.admin-tenant-row--static.admin-tenant-row:focus-visible {
  outline: none;
}

.admin-tenant-row--static.admin-tenant-row--selected:hover,
.admin-tenant-row--static.admin-tenant-row--selected:focus-visible {
  background: rgba(23, 54, 48, 0.1);
}

[data-theme="dark"] .admin-tenant-row--static.admin-tenant-row--selected:hover,
[data-theme="dark"] .admin-tenant-row--static.admin-tenant-row--selected:focus-visible {
  background: rgba(23, 54, 48, 0.18);
}

.admin-tenant-row__avatar {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: var(--sys-radius);
  background: #122b26;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 800;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.admin-tenant-row__body {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
  flex: 1 1 auto;
}

.admin-tenant-row__title {
  font-size: 0.88rem;
  font-weight: 700;
  color: #111827;
}

.admin-tenant-row__meta {
  font-size: 0.72rem;
  font-weight: 500;
}

.admin-tenant-row__check {
  flex-shrink: 0;
  margin-inline-start: auto;
  display: inline-flex;
}

[data-theme="dark"] .admin-tenant-row__title {
  color: #f4f6f6;
}

[data-theme="dark"] .admin-tenant-row--selected {
  background: rgba(23, 54, 48, 0.18);
}

.admin-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: inherit;
  font-weight: 800;
}

.admin-brand:hover {
  color: var(--brand);
}

.admin-brand-sub {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--text-muted);
}

.admin-brand-mark--logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.admin-brand-logo-img {
  display: block;
  max-height: 2.6rem;
  max-width: min(12rem, 46vw);
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center;
}

.admin-brand-text--solo {
  min-width: 0;
}

.admin-brand-text--solo .admin-brand-name {
  display: block;
  max-width: min(14rem, 46vw);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1.02rem;
  font-weight: 800;
  color: #070a09;
  line-height: 1.25;
}

[data-theme="dark"] .admin-brand-text--solo .admin-brand-name {
  color: #f4f6f6;
}

.admin-topbar__search.admin-search-wrap {
  flex: 1 1 14rem;
  min-width: 0;
  max-width: min(40rem, 100%);
  position: relative;
  margin-inline: 0;
}

.admin-search-ico {
  position: absolute;
  inset-inline-start: 1.05rem;
  top: 50%;
  transform: translateY(-50%);
  color: #94a3b8;
  pointer-events: none;
  z-index: 1;
  font-size: 1.05rem;
}

.admin-search-input {
  padding-inline-start: 2.75rem;
  padding-inline-end: 4.25rem;
  padding-block: 0.5rem;
  min-height: var(--admin-topbar-hit);
  border-radius: var(--sys-radius);
  border: 1px solid rgba(7, 10, 9, 0.09);
  background: #f1f5f9;
  font-size: 0.9375rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.admin-search-input:hover {
  background: #e2e8f0;
  border-color: rgba(7, 10, 9, 0.12);
}

.admin-search-input:focus {
  background: #fff;
  border-color: rgba(27, 54, 49, 0.45);
  box-shadow: 0 0 0 3px rgba(27, 54, 49, 0.12);
  outline: none;
}

[data-theme="dark"] .admin-search-input {
  background: rgba(30, 59, 52, 0.85);
  border-color: rgba(154, 178, 173, 0.18);
  color: #e0efed;
}

[data-theme="dark"] .admin-search-input:hover {
  background: rgba(51, 85, 77, 0.6);
}

[data-theme="dark"] .admin-search-input:focus {
  background: rgba(7, 10, 9, 0.95);
  border-color: rgba(69, 151, 136, 0.5);
  box-shadow: 0 0 0 3px rgba(23, 54, 48, 0.2);
}

/* Fiscal year + periods (admin top bar) */
.admin-fiscal {
  --fiscal-violet: #122b26;
  --fiscal-violet-soft: rgba(23, 54, 48, 0.14);
  --fiscal-violet-border: rgba(23, 54, 48, 0.25);
  --fiscal-row-bg: rgba(248, 250, 252, 0.95);
  --fiscal-current-tint: rgba(23, 50, 45, 0.12);
}

.admin-fiscal__trigger {
  align-items: center;
  gap: 0.5rem;
  min-height: var(--admin-topbar-hit);
  border: 1px solid rgba(29, 47, 44, 0.12);
  border-radius: var(--sys-radius);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), var(--fiscal-violet-soft));
  color: var(--fiscal-violet);
  font: inherit;
  padding: 0.35rem 0.72rem 0.35rem 0.55rem;
  max-width: 15.5rem;
  line-height: 1.2;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset, 0 1px 2px rgba(7, 10, 9, 0.04);
  transition: box-shadow 0.15s ease, border-color 0.15s ease, transform 0.12s ease;
}

/* Topbar (compact) look: match notifications/messages icon style */
.admin-topbar__fiscal-wrap .admin-fiscal__trigger {
  border: 0;
  background: transparent;
  box-shadow: none;
  border-radius: var(--sys-radius);
  padding: 0.2rem 0.4rem;
  gap: 0.35rem;
  max-width: none;
  color: var(--adm-text-secondary);
}

.admin-topbar__fiscal-wrap .admin-fiscal__trigger:hover,
.admin-topbar__fiscal-wrap .admin-fiscal__trigger:focus-visible,
.admin-topbar__fiscal-wrap .admin-fiscal__trigger.show {
  background: rgba(7, 10, 9, 0.07);
  color: var(--adm-text-strong);
  box-shadow: none;
}

[data-theme="dark"] .admin-topbar__fiscal-wrap .admin-fiscal__trigger:hover,
[data-theme="dark"] .admin-topbar__fiscal-wrap .admin-fiscal__trigger:focus-visible,
[data-theme="dark"] .admin-topbar__fiscal-wrap .admin-fiscal__trigger.show {
  background: rgba(154, 178, 173, 0.1);
  color: var(--adm-text-strong);
}

.admin-fiscal__trigger-text {
  min-width: 0;
}

.admin-fiscal__trigger-text .admin-fiscal__code {
  gap: 0.35rem;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.admin-fiscal__trigger:hover,
.admin-fiscal__trigger:focus-visible,
.admin-fiscal__trigger.show {
  border-color: var(--fiscal-violet-border);
  box-shadow: 0 2px 10px rgba(23, 54, 48, 0.15);
  color: var(--adm-brand-600, #121f1d);
  outline: none;
}

.admin-fiscal__trigger-ico {
  display: inline-flex;
  color: var(--adm-brand-600, #173630);
  flex-shrink: 0;
}

.admin-fiscal__trigger-ico .bi {
  display: inline-block;
  font-size: 1.15rem;
  line-height: 1;
}

.admin-topbar__fiscal-wrap .admin-fiscal__code {
  color: var(--adm-text-secondary);
  font-size: 0.9375rem;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.admin-fiscal__eyebrow {
  font-size: 0.63rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #64748b;
  line-height: 1.15;
}

.admin-fiscal__code {
  font-size: 0.9rem;
  font-weight: 800;
  color: #070a09;
  letter-spacing: -0.01em;
  line-height: 1.15;
  word-break: break-word;
}

.admin-fiscal__code-sub {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--adm-brand-600, #173630);
  letter-spacing: 0.01em;
  white-space: normal;
  word-break: break-word;
}

.admin-fiscal__line {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--adm-brand-600, #173630);
  margin-top: 0.05rem;
  line-height: 1.1;
}

.admin-fiscal__menu {
  min-width: 20rem;
  max-width: min(24rem, 92vw);
  border-radius: var(--sys-radius) !important;
  overflow: hidden;
  border: 1px solid rgba(7, 10, 9, 0.07) !important;
  box-shadow: 0 12px 40px rgba(7, 10, 9, 0.12) !important;
  margin-top: 0.25rem !important;
}

.admin-fiscal__menu-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.65rem 1rem;
  background: linear-gradient(180deg, #f8fafc, #f1f5f9);
  border-bottom: 1px solid rgba(7, 10, 9, 0.06);
}

html[dir="rtl"] .admin-fiscal__menu,
.admin-fiscal[dir="rtl"] .admin-fiscal__menu {
  direction: rtl;
  text-align: right;
}

html[dir="ltr"] .admin-fiscal__menu,
.admin-fiscal[dir="ltr"] .admin-fiscal__menu {
  direction: ltr;
  text-align: start;
}

html[dir="rtl"] .admin-fiscal__menu-head,
.admin-fiscal[dir="rtl"] .admin-fiscal__menu-head {
  flex-direction: row;
}

.admin-fiscal__head-line {
  display: flex;
  align-items: baseline;
  flex-wrap: nowrap;
  gap: 0.35rem;
  min-width: 0;
}

.admin-fiscal__head-ico {
  color: var(--adm-brand-600, #173630);
  flex-shrink: 0;
}

.admin-fiscal__head-title {
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #64748b;
  line-height: 1.2;
  flex-shrink: 0;
}

.admin-fiscal__head-sep {
  flex-shrink: 0;
  font-size: 0.75rem;
  font-weight: 800;
  color: #94a3b8;
  line-height: 1;
}

.admin-fiscal__head-sub {
  font-size: 0.9rem;
  font-weight: 800;
  color: #070a09;
  line-height: 1.2;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

html[dir="rtl"] .admin-fiscal__head-line,
html[dir="rtl"] .admin-fiscal__row,
html[dir="rtl"] .admin-fiscal__row-line,
.admin-fiscal[dir="rtl"] .admin-fiscal__head-line,
.admin-fiscal[dir="rtl"] .admin-fiscal__row,
.admin-fiscal[dir="rtl"] .admin-fiscal__row-line {
  text-align: right;
}

html[dir="ltr"] .admin-fiscal__head-line {
  text-align: start;
}

.admin-fiscal__list {
  max-height: min(22rem, 70vh);
  overflow-y: auto;
  padding: 0.25rem 0;
}

.admin-fiscal__row {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  width: 100%;
  border: 0;
  background: transparent;
  text-align: inherit;
  padding: 0.5rem 1rem;
  cursor: pointer;
  color: inherit;
  transition: background 0.12s ease;
}

.admin-fiscal__row:hover {
  background: rgba(23, 54, 48, 0.06);
}

.admin-fiscal__row--sys {
  background: var(--fiscal-current-tint);
}

.admin-fiscal__row--sel {
  box-shadow: inset 3px 0 0 #173630;
}

html[dir="rtl"] .admin-fiscal__row--sel {
  box-shadow: inset -3px 0 0 #173630;
}

.admin-fiscal__row-line {
  display: flex;
  align-items: baseline;
  flex: 1 1 auto;
  gap: 0.35rem;
  min-width: 0;
  flex-wrap: nowrap;
}

.admin-fiscal__dash {
  flex-shrink: 0;
  font-weight: 700;
  color: #94a3b8;
  font-size: 0.75rem;
  line-height: 1;
}

.admin-fiscal__period-idx {
  font-weight: 800;
  font-size: 0.88rem;
  color: #070a09;
  flex-shrink: 0;
}

.admin-fiscal__status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10b981;
  flex-shrink: 0;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);
}

.admin-fiscal__pill {
  font-size: 0.65rem;
  font-weight: 700;
  padding: 0.12rem 0.5rem;
  border-radius: var(--sys-radius);
  background: rgba(23, 50, 45, 0.2);
  color: var(--adm-brand-600, #0f1f1c);
  white-space: nowrap;
  flex-shrink: 0;
  margin-inline-start: auto;
}

.admin-fiscal__dates {
  font-size: 0.72rem;
  font-weight: 500;
  color: #64748b;
  line-height: 1.25;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-theme="dark"] .admin-fiscal__trigger {
  background: linear-gradient(180deg, rgba(30, 59, 52, 0.95), rgba(21, 31, 29, 0.25));
  border-color: rgba(69, 151, 136, 0.2);
  color: #65c0af;
}

[data-theme="dark"] .admin-fiscal__code {
  color: #f4f6f6;
}

[data-theme="dark"] .admin-fiscal__eyebrow {
  color: #9ab2ad;
}

[data-theme="dark"] .admin-fiscal__line {
  color: #65c0af;
}

[data-theme="dark"] .admin-fiscal__menu {
  background: rgba(7, 10, 9, 0.98);
  border-color: rgba(154, 178, 173, 0.15) !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45) !important;
}

[data-theme="dark"] .admin-fiscal__menu-head {
  background: linear-gradient(180deg, #1e3b34, #070a09);
  border-color: rgba(154, 178, 173, 0.1);
}

[data-theme="dark"] .admin-fiscal__head-sub,
[data-theme="dark"] .admin-fiscal__period-idx {
  color: #f4f6f6;
}

[data-theme="dark"] .admin-fiscal__head-sep {
  color: #648b82;
}

[data-theme="dark"] .admin-fiscal__dates {
  color: #9ab2ad;
}

[data-theme="dark"] .admin-fiscal__dash {
  color: #648b82;
}

[data-theme="dark"] .admin-fiscal__row:hover {
  background: rgba(23, 54, 48, 0.12);
}

[data-theme="dark"] .admin-fiscal__row--sys {
  background: rgba(23, 50, 45, 0.12);
}

.admin-icon-btn {
  position: relative;
  width: 2.65rem;
  height: 2.65rem;
  border-radius: var(--sys-radius);
  border: none;
  background: transparent;
  color: #64748b;
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  font-size: 1.35rem;
  transition: background 0.15s ease, color 0.15s ease;
}

.admin-icon-btn:hover,
.admin-icon-btn:focus-visible,
.admin-icon-btn.show {
  background: rgba(7, 10, 9, 0.07);
  color: #334155;
  outline: none;
}

[data-theme="dark"] .admin-icon-btn {
  color: #9ab2ad;
}

[data-theme="dark"] .admin-icon-btn:hover,
[data-theme="dark"] .admin-icon-btn:focus-visible,
[data-theme="dark"] .admin-icon-btn.show {
  background: rgba(154, 178, 173, 0.1);
  color: #e6eceb;
}

.admin-badge-dot {
  position: absolute;
  top: 6px;
  inset-inline-end: 6px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 2px solid #fff;
}

.admin-badge-dot-danger {
  background: #ef4444;
}

@keyframes adminBadgePop {
  from {
    transform: scale(0);
    opacity: 0;
  }

  to {
    transform: scale(1);
    opacity: 1;
  }
}

.admin-icon-badge {
  position: absolute;
  top: 0.05rem;
  inset-inline-end: 0.05rem;
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0 0.32rem;
  border-radius: var(--sys-radius);
  font-size: 0.65rem;
  font-weight: 800;
  line-height: 1.2rem;
  text-align: center;
  color: #fff;
  border: 2px solid #fff;
  pointer-events: none;
  box-shadow: 0 1px 3px rgba(7, 10, 9, 0.25);
  animation: adminBadgePop 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.admin-icon-badge--danger {
  background: #ef4444;
}

.admin-icon-badge--success {
  background: #16a34a;
}

[data-theme="dark"] .admin-icon-badge {
  border-color: rgba(7, 10, 9, 0.95);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

.admin-user-pill .admin-user-btn {
  border: 1px solid rgba(7, 10, 9, 0.09);
  border-radius: var(--sys-radius);
  min-height: var(--admin-topbar-hit);
  padding: 0.32rem 0.62rem 0.32rem 0.45rem;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  background: rgba(248, 250, 252, 0.8);
  color: inherit;
  font: inherit;
  line-height: 1.1;
  cursor: pointer;
  max-width: min(14rem, 38vw);
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.admin-user-pill .admin-user-btn:hover,
.admin-user-pill .admin-user-btn:focus-visible,
.admin-user-pill .admin-user-btn.show {
  background: #fff;
  border-color: rgba(27, 54, 49, 0.2);
  box-shadow: 0 2px 8px rgba(27, 54, 49, 0.07);
  outline: none;
}

.admin-user-pill .admin-user-btn::after {
  display: none !important;
}

.admin-user-menu-ico {
  display: inline-flex;
  color: #64748b;
  flex-shrink: 0;
}

[data-theme="dark"] .admin-user-menu-ico {
  color: #9ab2ad;
}

.admin-user-initials {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1;
}

.admin-user-avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(23, 54, 48, 0.2), rgba(27, 54, 49, 0.35));
  display: grid;
  place-items: center;
  color: var(--adm-brand-600, #122b26);
  flex-shrink: 0;
}

.admin-user-avatar--photo {
  padding: 0;
  overflow: hidden;
  background: rgba(7, 10, 9, 0.08);
}

.admin-user-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

[data-theme="dark"] .admin-user-avatar--photo {
  background: rgba(7, 10, 9, 0.45);
}

.admin-user-name {
  font-size: 0.9rem;
  font-weight: 700;
  max-width: 8rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-user-role {
  font-size: 0.75rem;
  line-height: 1.2;
}

.admin-body {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  max-width: none;
  margin-inline: 0;
  overflow: hidden;
  position: relative;
}

.admin-content-column {
  flex: 1;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
  /* Vertical scroll for main + footer (document scroll is disabled on admin shell). */
  scrollbar-gutter: stable;
}

.admin-sidebar {
  width: 260px;
  flex-shrink: 0;
  background: var(--adm-bg-surface);
  border-inline-end: 1px solid var(--adm-border);
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
  min-height: 0;
  /* LTR box: vertical scrollbar sits on the physical end of the panel (away from main content). */
  direction: ltr;
  unicode-bidi: isolate;
}

[data-theme="dark"] .admin-sidebar {
  background: var(--adm-bg-surface);
  border-color: var(--adm-border);
}

.admin-nav {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-height: 100%;
  overflow-x: hidden;
  padding: 1rem 0.65rem 1.15rem;
}

html[dir="rtl"] .admin-sidebar .admin-nav {
  direction: rtl;
}

html[dir="ltr"] .admin-sidebar .admin-nav {
  direction: ltr;
}

.admin-nav-section {
  font-size: 0.65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--adm-text-muted-ui);
  margin: 1.1rem 0.45rem 0.4rem;
  line-height: 1.2;
}

.admin-nav-section:first-child {
  margin-top: 0;
}

/* Support block pinned to bottom of nav */
.admin-nav .admin-nav-section.mt-auto {
  margin-top: auto;
  margin-bottom: 0;
  padding-top: 1rem;
  margin-inline: -0.65rem;
  padding-inline: 0.65rem;
  padding-bottom: 0.35rem;
  border-top: 1px solid var(--adm-border-subtle);
  border-radius: var(--adm-radius-md);
  background: linear-gradient(180deg, transparent, var(--adm-bg-surface-2));
}

[data-theme="dark"] .admin-nav .admin-nav-section.mt-auto {
  background: linear-gradient(180deg, transparent, rgba(30, 59, 52, 0.55));
  border-color: var(--adm-border-subtle);
}

.admin-nav-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.58rem 0.7rem;
  border-radius: var(--adm-radius-md);
  font-size: var(--adm-fz-base);
  font-weight: var(--adm-fw-semibold);
  color: var(--text);
  text-decoration: none;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
  transition:
    background var(--adm-dur-base) var(--adm-ease-out),
    color var(--adm-dur-base) var(--adm-ease-out),
    border-color var(--adm-dur-base) var(--adm-ease-out),
    box-shadow var(--adm-dur-base) var(--adm-ease-out);
}

.admin-nav-item:focus-visible {
  outline: none;
  border-color: rgba(27, 54, 49, 0.35);
  border-color: color-mix(in srgb, var(--adm-brand-600) 35%, transparent);
  box-shadow: 0 0 0 3px var(--adm-focus-ring);
}

.admin-nav-item:hover:not(.disabled):not(.active) {
  background: color-mix(in srgb, var(--adm-accent-500) 9%, transparent);
  border-color: transparent;
}

.admin-nav-item.active {
  color: var(--adm-brand-600);
  background: linear-gradient(105deg,
      color-mix(in srgb, var(--adm-brand-600) 14%, transparent),
      color-mix(in srgb, var(--adm-accent-500) 12%, transparent));
  border-color: color-mix(in srgb, var(--adm-brand-600) 18%, transparent);
  box-shadow: none;
}

.admin-nav-item.active::before {
  content: "";
  position: absolute;
  inset-inline-start: 0.28rem;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 62%;
  max-height: 1.65rem;
  border-radius: var(--adm-radius-pill);
  background: var(--adm-brand-600);
}

[data-theme="dark"] .admin-nav-item.active {
  color: var(--adm-accent-500);
  background: linear-gradient(105deg,
      color-mix(in srgb, var(--adm-accent-500) 16%, transparent),
      color-mix(in srgb, var(--adm-brand-600) 10%, transparent));
  border-color: color-mix(in srgb, var(--adm-accent-500) 22%, transparent);
}

[data-theme="dark"] .admin-nav-item.active::before {
  background: var(--adm-accent-500);
}

.admin-nav-item.disabled {
  opacity: 0.48;
  cursor: not-allowed;
  pointer-events: none;
  font-style: normal;
}

.admin-nav-ico {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.55rem;
  height: 1.55rem;
  opacity: 0.88;
  color: var(--adm-text-muted-ui);
  transition: color var(--adm-dur-base) var(--adm-ease-out), opacity var(--adm-dur-base) var(--adm-ease-out);
}

.admin-nav-item:hover:not(.disabled):not(.active) .admin-nav-ico {
  color: var(--adm-accent-500);
  opacity: 1;
}

.admin-nav-item.active .admin-nav-ico {
  color: var(--adm-brand-600);
  opacity: 1;
}

[data-theme="dark"] .admin-nav-item.active .admin-nav-ico {
  color: var(--adm-accent-500);
}

.admin-nav-item.small.text-muted {
  font-size: var(--adm-fz-sm);
  font-weight: var(--adm-fw-semibold);
  padding-block: 0.35rem;
  border: none;
  cursor: default;
  color: var(--adm-text-muted-ui) !important;
}

.admin-main {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  padding: 1.25rem 1rem 0.5rem;
}

.admin-dash-title {
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  font-weight: 800;
  letter-spacing: -0.02em;
}

.admin-dash-sub {
  font-size: 0.95rem;
}

.admin-stat-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.1rem;
  border-radius: var(--adm-radius-lg);
  background: var(--adm-bg-surface);
  border: 1px solid var(--adm-border);
  box-shadow: var(--adm-shadow-xs);
  height: 100%;
  position: relative;
  overflow: hidden;
  transition:
    box-shadow var(--adm-dur-base) var(--adm-ease-out),
    transform var(--adm-dur-base) var(--adm-ease-out),
    border-color var(--adm-dur-base) var(--adm-ease-out);
}

[data-theme="dark"] .admin-stat-card {
  background: var(--adm-bg-surface);
  border-color: var(--adm-border);
}

.admin-stat-body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
}

.admin-stat-ico {
  width: 3rem;
  height: 3rem;
  border-radius: var(--sys-radius);
  display: grid;
  place-items: center;
  background: rgba(23, 54, 48, 0.12);
  color: var(--adm-brand-600, #122b26);
}

.admin-stat-value {
  display: block;
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.1;
}

.admin-stat-label {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--text-muted);
}

.admin-card {
  padding: 1.15rem 1.25rem;
  border-radius: var(--adm-radius-lg);
  background: var(--adm-bg-surface);
  border: 1px solid var(--adm-border);
  box-shadow: var(--adm-shadow-xs);
  transition:
    box-shadow var(--adm-dur-base) var(--adm-ease-out),
    transform var(--adm-dur-base) var(--adm-ease-out),
    border-color var(--adm-dur-base) var(--adm-ease-out);
}

[data-theme="dark"] .admin-card {
  background: var(--adm-bg-surface);
  border-color: var(--adm-border);
}

.admin-card-title {
  font-weight: 800;
  color: var(--text);
}

.admin-dl {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.admin-dl-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.88rem;
}

.admin-dl-row dt {
  color: var(--text-muted);
  font-weight: 600;
}

.admin-dl-row dd {
  margin: 0;
}

.admin-module-hero {
  background: linear-gradient(135deg, rgba(23, 54, 48, 0.06), rgba(23, 50, 45, 0.05));
}

[data-theme="dark"] .admin-module-hero {
  background: linear-gradient(135deg, rgba(23, 54, 48, 0.12), rgba(23, 50, 45, 0.08));
}

.admin-topbar-scrim {
  position: fixed;
  inset: 0;
  z-index: var(--adm-z-scrim);
  background: var(--adm-scrim);
  backdrop-filter: var(--adm-dropdown-backdrop);
  -webkit-backdrop-filter: var(--adm-dropdown-backdrop);
  transition: opacity var(--adm-dur-slow) var(--adm-ease-out), visibility var(--adm-dur-slow);
}

.admin-topbar-scrim[hidden] {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.admin-topbar-scrim:not([hidden]) {
  opacity: 1;
  visibility: visible;
}

.admin-drop-panel {
  min-width: min(18rem, calc(100vw - 1.5rem));
  max-width: min(22rem, calc(100vw - 1rem));
  border-radius: var(--sys-radius) !important;
  overflow: hidden;
  border: 1px solid rgba(7, 10, 9, 0.08) !important;
  box-shadow: 0 12px 40px rgba(7, 10, 9, 0.12) !important;
}

[data-theme="dark"] .admin-drop-panel {
  border-color: rgba(154, 178, 173, 0.14) !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45) !important;
}

.admin-drop-h {
  padding: 0.5rem 0.75rem;
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #64748b;
  background: rgba(248, 250, 252, 0.95);
  border-bottom: 1px solid rgba(7, 10, 9, 0.06);
}

.admin-drop-user {
  min-width: min(17rem, calc(100vw - 1.5rem));
  max-width: calc(100vw - 1rem);
  border-radius: var(--sys-radius) !important;
  border: 1px solid rgba(7, 10, 9, 0.08) !important;
  box-shadow: 0 12px 40px rgba(7, 10, 9, 0.12) !important;
  padding-block: 0.35rem !important;
}

[data-theme="dark"] .admin-drop-user {
  border-color: rgba(154, 178, 173, 0.14) !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45) !important;
}

.admin-drop-user .dropdown-item {
  padding-block: 0.5rem;
}

.admin-drop-user .dropdown-item:active {
  background: rgba(23, 54, 48, 0.12);
}

.admin-footer.admin-shell-footer {
  border-top: 1px solid var(--sidebar-border);
  padding: 0;
  background: #fff;
  color: var(--text-muted);
  font-size: 0.8rem;
  margin-top: 0;
  min-height: 43px;
}

.admin-footer.admin-shell-footer .admin-shell-footer__inner {
  min-height: 43px;
  padding: 7px 19px;
}

.admin-footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.admin-footer-logo-mark {
  width: 1.35rem;
  height: 1.35rem;
  border-radius: var(--sys-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--gradient-primary);
  flex-shrink: 0;
}

.admin-footer-copy {
  display: inline-flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.2;
}

.admin-footer-copy strong {
  color: var(--adm-text-strong);
  font-size: 0.74rem;
  font-weight: 700;
}

.admin-footer-copy span {
  color: var(--adm-text-muted-ui);
  font-size: 0.68rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.admin-footer-meta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
}

.admin-footer-badge {
  border-radius: var(--sys-radius);
  padding: 0.1rem 0.4rem;
  border: 1px solid var(--adm-border);
  background: var(--adm-bg-surface-2);
  color: var(--adm-text-secondary);
  font-size: 0.64rem;
  font-weight: 600;
}

.admin-footer-year {
  color: var(--adm-text-muted-ui);
  font-size: 0.68rem;
}

/* Desktop: narrow (icon) sidebar */

/* Mobile: drawer + overlay (JS toggles admin-shell--nav-open / --nav-closed) */

/* Very narrow: fiscal = icon + chevron only (full label in native tooltip) */

/* â”€â”€ Drop panel shared: body, footer, divider, action â”€â”€ */
.admin-drop-notif,
.admin-drop-msg {
  min-width: min(22rem, calc(100vw - 1rem));
  max-width: min(24rem, calc(100vw - 1rem));
}

.admin-drop-body {
  max-height: 340px;
  overflow-y: auto;
}

/* Scrollbars inside admin dropdowns â€” same look everywhere (Firefox + WebKit) */
body.admin-shell .admin-tenant-menu__list,
body.admin-shell .admin-fiscal__list,
body.admin-shell .admin-drop-body {
  scrollbar-width: thin;
  scrollbar-color: var(--adm-scroll-dropdown-thumb) var(--adm-scroll-dropdown-track);
}

body.admin-shell .admin-tenant-menu__list::-webkit-scrollbar,
body.admin-shell .admin-fiscal__list::-webkit-scrollbar,
body.admin-shell .admin-drop-body::-webkit-scrollbar {
  width: var(--adm-scroll-dropdown-width);
}

body.admin-shell .admin-tenant-menu__list::-webkit-scrollbar-track,
body.admin-shell .admin-fiscal__list::-webkit-scrollbar-track,
body.admin-shell .admin-drop-body::-webkit-scrollbar-track {
  background: var(--adm-scroll-dropdown-track);
  border-radius: var(--adm-radius-pill);
}

body.admin-shell .admin-tenant-menu__list::-webkit-scrollbar-thumb,
body.admin-shell .admin-fiscal__list::-webkit-scrollbar-thumb,
body.admin-shell .admin-drop-body::-webkit-scrollbar-thumb {
  background: var(--adm-scroll-dropdown-thumb);
  border-radius: var(--adm-radius-pill);
  border: 2px solid transparent;
  background-clip: content-box;
}

body.admin-shell .admin-tenant-menu__list::-webkit-scrollbar-thumb:hover,
body.admin-shell .admin-fiscal__list::-webkit-scrollbar-thumb:hover,
body.admin-shell .admin-drop-body::-webkit-scrollbar-thumb:hover {
  background-color: var(--adm-scroll-dropdown-thumb-hover);
}

.admin-drop-action {
  border: none;
  background: transparent;
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--adm-brand-600, #122b26);
  cursor: pointer;
  padding: 0;
  line-height: 1;
  flex-shrink: 0;
}

.admin-drop-action:hover {
  text-decoration: underline;
}

.admin-drop-divider {
  border: none;
  border-top: 1px solid rgba(7, 10, 9, 0.07);
  margin: 0.25rem 0;
}

[data-theme="dark"] .admin-drop-divider {
  border-color: rgba(154, 178, 173, 0.1);
}

.admin-drop-footer {
  border-top: 1px solid rgba(7, 10, 9, 0.06);
  padding: 0.6rem 1rem;
}

[data-theme="dark"] .admin-drop-footer {
  border-color: rgba(154, 178, 173, 0.1);
}

.admin-drop-footer-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--adm-brand-600, #122b26);
  text-decoration: none;
}

.admin-drop-footer-link:hover {
  text-decoration: underline;
}

/* â”€â”€ Notification items â”€â”€ */
.admin-notif-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(7, 10, 9, 0.05);
  position: relative;
  transition: background 0.12s ease;
  cursor: pointer;
}

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

.admin-notif-item:hover {
  background: rgba(23, 54, 48, 0.04);
}

.admin-notif-item.unread {
  background: rgba(27, 54, 49, 0.03);
}

.admin-notif-item.unread:hover {
  background: rgba(27, 54, 49, 0.07);
}

[data-theme="dark"] .admin-notif-item:hover {
  background: rgba(23, 54, 48, 0.08);
}

[data-theme="dark"] .admin-notif-item.unread {
  background: rgba(27, 54, 49, 0.07);
}

.admin-notif-ic {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: var(--sys-radius);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  margin-top: 0.05rem;
}

.admin-notif-ic--blue {
  background: rgba(27, 54, 49, 0.12);
  color: var(--adm-brand-600, #122b26);
}

.admin-notif-ic--orange {
  background: rgba(234, 88, 12, 0.12);
  color: #ea580c;
}

.admin-notif-ic--green {
  background: rgba(22, 163, 74, 0.12);
  color: #16a34a;
}

.admin-notif-ic--purple {
  background: rgba(23, 54, 48, 0.12);
  color: var(--adm-brand-600, #122b26);
}

.admin-notif-ic--teal {
  background: rgba(13, 148, 136, 0.12);
  color: var(--adm-brand-600, #0d9488);
}

.admin-notif-body {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
  flex: 1;
}

.admin-notif-title {
  font-size: 0.85rem;
  font-weight: 700;
  color: #070a09;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-theme="dark"] .admin-notif-title {
  color: #f4f6f6;
}

.admin-notif-sub {
  font-size: 0.78rem;
  color: #64748b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.admin-notif-time {
  font-size: 0.7rem;
  color: #94a3b8;
  margin-top: 0.1rem;
}

.admin-notif-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #122b26;
  flex-shrink: 0;
  margin-top: 0.45rem;
  box-shadow: 0 0 0 2px rgba(27, 54, 49, 0.18);
}

/* â”€â”€ Message items â”€â”€ */
.admin-msg-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.7rem 1rem;
  border-bottom: 1px solid rgba(7, 10, 9, 0.05);
  transition: background 0.12s ease;
  cursor: pointer;
}

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

.admin-msg-item:hover {
  background: rgba(23, 54, 48, 0.04);
}

.admin-msg-item.unread {
  background: rgba(27, 54, 49, 0.03);
}

[data-theme="dark"] .admin-msg-item:hover {
  background: rgba(23, 54, 48, 0.08);
}

[data-theme="dark"] .admin-msg-item.unread {
  background: rgba(27, 54, 49, 0.07);
}

.admin-msg-avatar {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 0.72rem;
  font-weight: 800;
  flex-shrink: 0;
  color: #fff;
  letter-spacing: 0.02em;
}

.admin-msg-avatar--blue {
  background: linear-gradient(135deg, #122b26, #122b26);
}

.admin-msg-avatar--green {
  background: linear-gradient(135deg, #16a34a, #0d9488);
}

.admin-msg-avatar--orange {
  background: linear-gradient(135deg, #ea580c, #d97706);
}

.admin-msg-avatar--purple {
  background: linear-gradient(135deg, #122b26, #122b26);
}

.admin-msg-body {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
  flex: 1;
}

.admin-msg-name {
  font-size: 0.85rem;
  font-weight: 700;
  color: #070a09;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-theme="dark"] .admin-msg-name {
  color: #f4f6f6;
}

.admin-msg-preview {
  font-size: 0.78rem;
  color: #64748b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.admin-msg-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.3rem;
  flex-shrink: 0;
}

.admin-msg-time {
  font-size: 0.68rem;
  color: #94a3b8;
  white-space: nowrap;
}

.admin-msg-count {
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0 0.3rem;
  border-radius: var(--sys-radius);
  background: #122b26;
  color: #fff;
  font-size: 0.65rem;
  font-weight: 800;
  line-height: 1.2rem;
  text-align: center;
}

/* â”€â”€ User dropdown: profile card â”€â”€ */
.admin-drop-user {
  min-width: min(17rem, calc(100vw - 1.5rem));
  max-width: calc(100vw - 1rem);
  border-radius: var(--sys-radius) !important;
  border: 1px solid rgba(7, 10, 9, 0.08) !important;
  box-shadow: 0 12px 40px rgba(7, 10, 9, 0.12) !important;
  padding: 0 !important;
  overflow: hidden;
}

[data-theme="dark"] .admin-drop-user {
  border-color: rgba(154, 178, 173, 0.14) !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45) !important;
}

.admin-user-card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1rem 0.85rem;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.95) 0%, rgba(241, 245, 249, 0.7) 100%);
  border-bottom: 1px solid rgba(7, 10, 9, 0.06);
}

[data-theme="dark"] .admin-user-card {
  background: linear-gradient(180deg, rgba(30, 59, 52, 0.95), rgba(7, 10, 9, 0.8));
  border-color: rgba(154, 178, 173, 0.1);
}

.admin-user-card-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(23, 54, 48, 0.25), rgba(27, 54, 49, 0.4));
  display: grid;
  place-items: center;
  flex-shrink: 0;
  border: 2px solid rgba(23, 54, 48, 0.2);
}

.admin-user-card-avatar--photo {
  padding: 0;
  overflow: hidden;
  background: rgba(7, 10, 9, 0.1);
}

.admin-user-card-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

[data-theme="dark"] .admin-user-card-avatar--photo {
  background: rgba(7, 10, 9, 0.45);
}

.admin-user-card-avatar span {
  font-size: 0.9rem;
  font-weight: 800;
  color: var(--adm-brand-600, #122b26);
  letter-spacing: 0.02em;
  line-height: 1;
}

[data-theme="dark"] .admin-user-card-avatar span {
  color: #65c0af;
}

.admin-user-card-info {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.admin-user-card-name {
  font-size: 0.9rem;
  font-weight: 700;
  color: #070a09;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-theme="dark"] .admin-user-card-name {
  color: #f4f6f6;
}

.admin-user-card-role {
  font-size: 0.72rem;
  color: #64748b;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* â”€â”€ User dropdown: theme/lang rows â”€â”€ */
.admin-user-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.55rem 1rem;
  font-size: 0.85rem;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.12s ease;
  border: none;
  background: transparent;
  width: 100%;
}

.admin-user-row:hover {
  background: rgba(23, 54, 48, 0.06);
  text-decoration: none;
  color: inherit;
}

[data-theme="dark"] .admin-user-row:hover {
  background: rgba(23, 54, 48, 0.1);
}

.admin-user-row-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: #334155;
}

[data-theme="dark"] .admin-user-row-label {
  color: #d0dcd9;
}

.admin-user-row-ico {
  color: #64748b;
  flex-shrink: 0;
}

[data-theme="dark"] .admin-user-row-ico {
  color: #9ab2ad;
}

.admin-user-row-badge {
  font-size: 0.68rem;
  font-weight: 700;
  padding: 0.15rem 0.5rem;
  border-radius: var(--sys-radius);
  background: rgba(7, 10, 9, 0.07);
  color: #334155;
  border: 1px solid rgba(7, 10, 9, 0.08);
}

[data-theme="dark"] .admin-user-row-badge {
  background: rgba(154, 178, 173, 0.12);
  color: #d0dcd9;
  border-color: rgba(154, 178, 173, 0.15);
}

/* â”€â”€ Theme toggle switch â”€â”€ */
.admin-user-theme-row {
  cursor: default;
}

.admin-theme-switch {
  position: relative;
  display: inline-block;
  width: 38px;
  height: 21px;
  flex-shrink: 0;
  cursor: pointer;
  margin: 0;
}

.admin-theme-switch input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}

.admin-theme-slider {
  position: absolute;
  inset: 0;
  border-radius: var(--sys-radius);
  background: #cbd5e1;
  transition: background 0.2s ease;
}

.admin-theme-slider::before {
  content: '';
  position: absolute;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #fff;
  inset-block: 3px;
  inset-inline-start: 3px;
  transition: transform 0.2s ease;
  box-shadow: 0 1px 3px rgba(7, 10, 9, 0.2);
}

.admin-theme-switch input:checked+.admin-theme-slider {
  background: #122b26;
}

.admin-theme-switch input:checked+.admin-theme-slider::before {
  transform: translateX(17px);
}

[dir="rtl"] .admin-theme-switch input:checked+.admin-theme-slider::before {
  transform: translateX(-17px);
}

/* Theme icons: light/dark mode display */
.theme-ico-dark {
  display: none;
}

.theme-ico-light {
  display: inline;
}

[data-theme="dark"] .theme-ico-dark {
  display: inline;
}

[data-theme="dark"] .theme-ico-light {
  display: none;
}

/* â”€â”€ User dropdown: menu items â”€â”€ */
.admin-user-menuitem {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.5rem 1rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: #334155;
  text-decoration: none;
  border: none;
  background: transparent;
  width: 100%;
  text-align: inherit;
  cursor: pointer;
  transition: background 0.12s ease, color 0.12s ease;
}

.admin-user-menuitem:hover {
  background: rgba(23, 54, 48, 0.06);
  color: #1e293b;
  text-decoration: none;
}

[data-theme="dark"] .admin-user-menuitem {
  color: #d0dcd9;
}

[data-theme="dark"] .admin-user-menuitem:hover {
  background: rgba(23, 54, 48, 0.1);
  color: #f4f6f6;
}

.admin-user-menuitem--danger,
.admin-user-menuitem--danger:hover {
  color: #dc2626;
}

[data-theme="dark"] .admin-user-menuitem--danger,
[data-theme="dark"] .admin-user-menuitem--danger:hover {
  color: #f87171;
}

/* dark mode drop-panel background */
[data-theme="dark"] .admin-drop-panel,
[data-theme="dark"] .admin-drop-notif,
[data-theme="dark"] .admin-drop-msg {
  background: rgba(7, 10, 9, 0.98);
}

[data-theme="dark"] .admin-drop-h {
  background: rgba(30, 59, 52, 0.95);
  border-color: rgba(154, 178, 173, 0.1);
  color: #9ab2ad;
}

[data-theme="dark"] .admin-notif-sub,
[data-theme="dark"] .admin-notif-time,
[data-theme="dark"] .admin-msg-preview,
[data-theme="dark"] .admin-msg-time {
  color: #9ab2ad;
}

/* Settings â€” company profile */
.settings-company-form .form-control,
.settings-company-form .form-select {
  border-color: rgba(7, 10, 9, 0.12);
}

[data-theme="dark"] .settings-company-form .form-control,
[data-theme="dark"] .settings-company-form .form-select {
  border-color: rgba(154, 178, 173, 0.2);
}

.settings-logo-preview {
  width: 120px;
  height: 120px;
  flex-shrink: 0;
}

.settings-favicon-preview {
  width: 56px;
  height: 56px;
  flex-shrink: 0;
}

/* â”€â”€ Responsive: layout polish (phones â†’ ultra-wide) â”€â”€ */

.admin-main-inner,
.admin-footer-inner {
  width: 100%;
  max-width: min(1100px, 100%);
  margin-inline: auto;
  box-sizing: border-box;
}

.admin-footer-inner {
  padding-inline: clamp(0.5rem, 2vw, 1rem);
}

/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   Phase 2 â€” Unified admin dropdowns (surface, shadow, motion, sections)
   Phase 4 â€” Child stagger (Popper owns outer transform; inner gets motion)
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */

body.admin-shell .dropdown-menu {
  z-index: var(--adm-z-dropdown);
}

body.admin-shell .dropdown-menu.admin-tenant-menu,
body.admin-shell .dropdown-menu.admin-fiscal__menu,
body.admin-shell .dropdown-menu.admin-drop-panel,
body.admin-shell .dropdown-menu.admin-drop-user {
  border-radius: var(--adm-radius-lg) !important;
  border: 1px solid var(--adm-border) !important;
  box-shadow: var(--adm-shadow-lg) !important;
  background: var(--adm-drop-surface) !important;
  backdrop-filter: var(--adm-dropdown-backdrop);
  -webkit-backdrop-filter: var(--adm-dropdown-backdrop);
}

[data-theme="dark"] body.admin-shell .dropdown-menu.admin-tenant-menu,
[data-theme="dark"] body.admin-shell .dropdown-menu.admin-fiscal__menu,
[data-theme="dark"] body.admin-shell .dropdown-menu.admin-drop-panel,
[data-theme="dark"] body.admin-shell .dropdown-menu.admin-drop-user {
  box-shadow: var(--adm-shadow-lg-dark) !important;
  border-color: var(--adm-border) !important;
}

body.admin-shell .dropdown-menu .admin-drop-h,
body.admin-shell .dropdown-menu .admin-tenant-menu__head,
body.admin-shell .dropdown-menu .admin-fiscal__menu-head {
  border-bottom: 1px solid var(--adm-border-subtle);
  background: var(--adm-bg-surface-2);
  --tenant-menu-head-bg: var(--adm-bg-surface-2);
}

[data-theme="dark"] body.admin-shell .dropdown-menu .admin-drop-h,
[data-theme="dark"] body.admin-shell .dropdown-menu .admin-tenant-menu__head,
[data-theme="dark"] body.admin-shell .dropdown-menu .admin-fiscal__menu-head {
  background: var(--adm-bg-surface-2);
}

body.admin-shell .dropdown-menu .dropdown-item:focus-visible,
body.admin-shell .dropdown-menu .admin-user-menuitem:focus-visible,
body.admin-shell .dropdown-menu .admin-tenant-row:focus-visible {
  outline: 2px solid var(--adm-focus-ring);
  outline-offset: 1px;
}

body.admin-shell .dropdown-menu .admin-user-menuitem:active,
body.admin-shell .dropdown-menu .admin-tenant-row:active:not(.admin-tenant-row--static) {
  transform: scale(0.992);
}

/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   Phase 3 â€” Breakpoints (mobile-first), topbar density, stats grid
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */

/* sm: 576px آ· md: 768px آ· lg: 992px آ· xl: 1200px آ· xxl: 1400px (see :root --adm-bp-*) */

.admin-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--adm-space-3);
  margin-bottom: var(--adm-space-5);
}

/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   Phase 4 â€” Page / card motion, ripple host, smooth scroll, skeletons
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */

html:has(body.admin-shell) {
  scroll-behavior: smooth;
}

.admin-ripple-container {
  position: relative;
  overflow: hidden;
}

.admin-ripple-fx {
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--adm-ripple);
  pointer-events: none;
  transform: translate(-50%, -50%) scale(0);
  opacity: 0.55;
}

.admin-skeleton {
  position: relative;
  overflow: hidden;
  background: linear-gradient(90deg,
      var(--adm-bg-surface-3) 0%,
      var(--adm-bg-surface-2) 42%,
      var(--adm-bg-surface-3) 84%);
  background-size: 200% 100%;
  border-radius: var(--adm-radius-md);
  min-height: 0.75rem;
}

.admin-skeleton-line {
  height: 0.65rem;
  margin-bottom: 0.45rem;
}

.admin-skeleton-line:last-child {
  margin-bottom: 0;
  width: 72%;
}

.admin-skeleton-title {
  height: 1.1rem;
  width: 55%;
  margin-bottom: 0.65rem;
  border-radius: var(--adm-radius-sm);
}

.admin-skeleton-card {
  min-height: 5.5rem;
  border-radius: var(--adm-radius-lg);
  border: 1px solid var(--adm-border);
}

/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   Phase 5 â€” Buttons, cards, tables, forms, badges, stat accents
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */

.admin-shell .btn:focus-visible {
  box-shadow: 0 0 0 3px var(--adm-focus-ring);
}

.admin-shell .btn-sm {
  min-height: 2rem;
  padding-inline: 0.75rem;
}

.admin-shell .btn-lg {
  min-height: 2.65rem;
  padding-inline: 1.15rem;
}

.admin-stat-card::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: var(--adm-radius-pill);
  background: linear-gradient(180deg, var(--adm-brand-600), var(--adm-accent-500));
  opacity: 0.85;
}

.admin-stats-grid .admin-stat-card:nth-child(4n + 2)::before {
  background: linear-gradient(180deg, var(--adm-info), var(--adm-accent-500));
}

.admin-stats-grid .admin-stat-card:nth-child(4n + 3)::before {
  background: linear-gradient(180deg, var(--adm-success), #0d9488);
}

.admin-stats-grid .admin-stat-card:nth-child(4n + 4)::before {
  background: linear-gradient(180deg, var(--adm-warning), #ea580c);
}

.admin-table-scroll {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  max-height: min(60vh, 28rem);
  border-radius: var(--adm-radius-md);
  border: 1px solid var(--adm-border);
}

.admin-shell .table {
  --bs-table-striped-bg: var(--adm-table-stripe);
  --bs-table-hover-bg: var(--adm-table-hover);
  border-color: var(--adm-border);
}

.admin-shell .table thead th {
  background: var(--adm-bg-surface-2);
  font-size: var(--adm-fz-sm);
  font-weight: var(--adm-fw-extrabold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--adm-text-muted-ui);
}

.admin-table-scroll .table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  box-shadow: inset 0 -1px 0 var(--adm-border);
}

.admin-shell .table-striped>tbody>tr:nth-of-type(odd)>* {
  --bs-table-accent-bg: var(--adm-table-stripe);
}

.admin-shell .form-control:focus,
.admin-shell .form-select:focus {
  border-color: var(--adm-brand-600);
  box-shadow: 0 0 0 3px var(--adm-focus-ring);
}

.admin-shell .form-control.is-invalid,
.admin-shell .form-select.is-invalid {
  border-color: var(--adm-danger);
}

.admin-shell .form-control.is-invalid:focus,
.admin-shell .form-select.is-invalid:focus {
  box-shadow: 0 0 0 3px var(--adm-danger-soft);
}

.admin-shell .form-control.is-valid,
.admin-shell .form-select.is-valid {
  border-color: var(--adm-success);
}

.admin-shell .form-control.is-valid:focus,
.admin-shell .form-select.is-valid:focus {
  box-shadow: 0 0 0 3px var(--adm-success-soft);
}

.admin-shell .invalid-feedback {
  color: var(--adm-danger);
}

.admin-shell .valid-feedback {
  color: var(--adm-success);
}

.admin-pill,
.admin-shell .badge.rounded-pill {
  font-size: var(--adm-fz-xs);
  font-weight: var(--adm-fw-bold);
  padding-inline: 0.55rem;
  padding-block: 0.2rem;
  border-radius: var(--adm-radius-pill);
}

.admin-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: var(--adm-fz-xs);
  font-weight: var(--adm-fw-bold);
  padding: 0.12rem 0.45rem;
  border-radius: var(--adm-radius-sm);
  background: var(--adm-bg-surface-3);
  border: 1px solid var(--adm-border);
  color: var(--adm-text-secondary);
}

/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   Phase 6 â€” Enhanced motion, tooltips, micro-interactions, polish
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */

/* â”€â”€ Dropdown panel-level entrance animation â”€â”€ */

/* â”€â”€ Slim sidebar: CSS tooltips â”€â”€ */

/* â”€â”€ Notification badge: entrance pop + persistent pulse glow â”€â”€ */
@keyframes admBadgePulse {
  0% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.55), 0 1px 3px rgba(7, 10, 9, 0.25);
  }

  60% {
    box-shadow: 0 0 0 5px rgba(239, 68, 68, 0), 0 1px 3px rgba(7, 10, 9, 0.25);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0), 0 1px 3px rgba(7, 10, 9, 0.25);
  }
}

@keyframes admBadgePulseSuccess {
  0% {
    box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.55), 0 1px 3px rgba(7, 10, 9, 0.25);
  }

  60% {
    box-shadow: 0 0 0 5px rgba(22, 163, 74, 0), 0 1px 3px rgba(7, 10, 9, 0.25);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(22, 163, 74, 0), 0 1px 3px rgba(7, 10, 9, 0.25);
  }
}

/* â”€â”€ Search bar: keyboard shortcut hint â”€â”€ */
.admin-search-hint {
  position: absolute;
  inset-inline-end: 0.65rem;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  gap: 0.18rem;
  pointer-events: none;
  transition: opacity var(--adm-dur-base) var(--adm-ease-out);
}

.admin-search-input:focus~.admin-search-hint,
.admin-search-input:not(:placeholder-shown)~.admin-search-hint {
  opacity: 0;
}

.admin-search-key {
  font-size: 0.68rem;
  font-weight: 700;
  padding: 0.12rem 0.35rem;
  border-radius: 5px;
  background: var(--adm-bg-surface-3);
  border: 1px solid var(--adm-border-strong);
  color: var(--adm-text-muted-ui);
  line-height: 1.5;
  white-space: nowrap;
}

/* â”€â”€ Stat-card left accent bar: scale-in from top â”€â”€ */

/* â”€â”€ Active sidebar nav indicator: scale-in â”€â”€ */

/* â”€â”€ Broader card reveal: any admin-card in content area â”€â”€ */

/* â”€â”€ Enhanced card hover: desktop only â”€â”€ */

/* â”€â”€ Sidebar nav item: hover left-slide shimmer â”€â”€ */

/* â”€â”€ Icon buttons: active press micro-interaction â”€â”€ */
.admin-icon-btn:active,
.admin-sidebar-toggle:active {
  transform: scale(0.9);
}

/* â”€â”€ Content column: smooth focus ring on focusable elements â”€â”€ */
.admin-content-column *:focus-visible {
  outline: 2px solid var(--adm-focus-ring);
  outline-offset: 2px;
}

/* â”€â”€ Admin brand: subtle hover glow â”€â”€ */

/* â”€â”€ Notification dot: pulse animation â”€â”€ */
@keyframes admNotifDotPulse {

  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(27, 54, 49, 0.45);
  }

  50% {
    box-shadow: 0 0 0 4px rgba(27, 54, 49, 0);
  }
}

/* â”€â”€ Messages/notifications item: left accent on hover â”€â”€ */
.admin-notif-item,
.admin-msg-item {
  position: relative;
}

.admin-notif-item.unread::before,
.admin-msg-item.unread::before {
  content: '';
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--adm-brand-600);
  border-radius: var(--adm-radius-pill);
  opacity: 0.7;
}

/* â”€â”€ Fiscal pill active: glow ring â”€â”€ */
.admin-fiscal__row--sel .admin-fiscal__status-dot {
  animation: admNotifDotPulse 2.5s ease-in-out infinite;
}

/* â”€â”€ User avatar: ring on hover â”€â”€ */
.admin-user-btn:hover .admin-user-avatar,
.admin-user-btn.show .admin-user-avatar {
  box-shadow: 0 0 0 2px var(--adm-bg-surface), 0 0 0 4px var(--adm-brand-600);
}

/* â”€â”€ Admin content column: page-level scroll indicator â”€â”€ */
.admin-content-column {
  scroll-behavior: smooth;
}

/* â”€â”€ Form inputs: richer focus animation â”€â”€ */

/* â”€â”€ Responsive: nav scrim with blur on mobile â”€â”€ */
.admin-topbar-scrim {
  backdrop-filter: blur(3px) saturate(120%);
  -webkit-backdrop-filter: blur(3px) saturate(120%);
}

/* â”€â”€ Sidebar top padding: add brand strip for mobile overlay â”€â”€ */

/* â”€â”€ Reduced-motion overrides for Phase 6 â”€â”€ */

/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   Phase 7 â€” Dropdown fix, mobile header redesign, search overlay
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */

/* â”€â”€ Fix: dropdown animation â€” scale-only (no translateY that conflicts with Popper) â”€â”€ */

/* â”€â”€ Fix: dropdown panels â€” flex column + constrained max-height (only when open) â”€â”€ */
body.admin-shell .dropdown-menu.admin-drop-panel.admin-drop-notif,
body.admin-shell .dropdown-menu.admin-drop-panel.admin-drop-msg {
  flex-direction: column;
  max-height: min(80vh, 32rem);
  overflow: hidden;
}

body.admin-shell .dropdown-menu.admin-drop-panel.admin-drop-notif.show,
body.admin-shell .dropdown-menu.admin-drop-panel.admin-drop-msg.show {
  display: flex !important;
}

body.admin-shell .dropdown-menu.admin-drop-panel .admin-drop-body {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
}

body.admin-shell .dropdown-menu.admin-drop-panel .admin-drop-h {
  flex-shrink: 0;
}

body.admin-shell .dropdown-menu.admin-drop-panel .admin-drop-footer {
  flex-shrink: 0;
}

/* â”€â”€ Mobile header: override grid â†’ single-row flex â”€â”€ */

/* On very small screens: hide brand text, keep logo/icon mark */

/* â”€â”€ Search overlay (mobile/tablet) â”€â”€ */
.admin-search-overlay {
  position: absolute;
  inset: 0;
  z-index: calc(var(--adm-z-sticky) + 8);
  background: var(--adm-bg-surface);
  display: flex;
  align-items: center;
  padding-inline: max(0.6rem, env(safe-area-inset-inline-start, 0px));
  gap: 0.4rem;
  border-bottom: 1px solid var(--adm-border);
}

.admin-search-overlay[hidden] {
  display: none !important;
}

/* Only relevant on mobile/tablet */

.admin-search-overlay__form {
  flex: 1;
  min-width: 0;
  position: relative;
  display: flex;
  align-items: center;
}

.admin-search-overlay__form .admin-search-ico {
  position: absolute;
  inset-inline-start: 0.85rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--adm-text-muted-ui);
  pointer-events: none;
  z-index: 1;
}

.admin-search-overlay__input {
  flex: 1;
  padding-inline-start: 2.6rem !important;
  padding-inline-end: 1rem !important;
  background: var(--adm-bg-surface-2) !important;
  border: 1px solid var(--adm-border) !important;
  border-radius: var(--adm-radius-md) !important;
  font-size: 1rem !important;
  height: 2.5rem;
  color: var(--adm-text-strong);
}

.admin-search-overlay__input:focus {
  background: var(--adm-bg-surface) !important;
  border-color: var(--adm-brand-600) !important;
  box-shadow: 0 0 0 3px var(--adm-focus-ring) !important;
  outline: none !important;
}

.admin-search-overlay__close {
  flex-shrink: 0;
  width: 2.4rem;
  height: 2.4rem;
  border: none;
  background: transparent;
  color: var(--adm-text-muted-ui);
  display: inline-grid;
  place-items: center;
  border-radius: var(--adm-radius-md);
  cursor: pointer;
  transition: background var(--adm-dur-fast) ease, color var(--adm-dur-fast) ease;
}

.admin-search-overlay__close:hover {
  background: var(--adm-danger-soft);
  color: var(--adm-danger);
}

/* â”€â”€ Topbar: relative positioning needed for overlay â”€â”€ */
.admin-topbar {
  position: sticky;
  isolation: isolate;
}

/* â”€â”€ Dropdown: ensure position relative for Popper â”€â”€ */
body.admin-shell .admin-topbar .dropdown {
  position: relative;
}

/* â”€â”€ Reduced-motion overrides for Phase 7 â”€â”€ */

/* User/profile admin forms */
.profile-page .profile-card,
.user-admin-form {
  border-radius: var(--sys-radius-lg);
  border: 1px solid var(--sys-border-subtle);
  background: var(--sys-surface-card);
  box-shadow: var(--sys-shadow-md);
}

.profile-page .profile-card-body,
.user-admin-form {
  padding: 1.25rem;
}

.profile-page .form-label,
.user-admin-form .form-label {
  font-weight: 600;
  margin-bottom: .4rem;
}

.profile-page .form-control,
.profile-page .form-select,
.user-admin-form .form-control,
.user-admin-form .form-select {
  min-height: 42px;
  border-radius: var(--sys-radius-md);
}

.profile-page .btn,
.user-admin-form .btn {
  min-height: 42px;
  border-radius: var(--sys-radius-md);
}

.profile-photo-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.profile-photo-preview {
  width: 112px;
  height: 112px;
  object-fit: cover;
}

.profile-photo-initials {
  background: linear-gradient(135deg, #173630, #173630);
  font-size: 2rem;
}

.profile-photo-action {
  position: absolute;
  right: 0;
  bottom: 6px;
  width: 34px;
  height: 34px;
  border: none;
  border-radius: var(--sys-radius);
  background: var(--adm-brand-600);
  color: #fff;
  box-shadow: var(--sys-shadow-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.profile-photo-trash {
  position: absolute;
  left: 0;
  bottom: 6px;
  width: 34px;
  height: 34px;
  border: none;
  border-radius: var(--sys-radius);
  background: var(--adm-danger, #dc2626);
  color: #fff;
  box-shadow: var(--sys-shadow-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.profile-photo-tip {
  position: absolute;
  bottom: -28px;
  background: #2f3237;
  color: #fff;
  font-size: .78rem;
  padding: .25rem .5rem;
  border-radius: .35rem;
}

.profile-user-name {
  margin-top: 1.1rem;
}


/* ── responsive.css (2443 lines) ── */
/* ================================================================
   responsive.css â€” Comprehensive responsive system
   Breakpoints:
     xs  : < 480px   (small phones)
     sm  : < 576px   (phones)
     md  : < 768px   (large phones / phablets)
     lg  : < 992px   (tablets / mobile)
     xl  : 992â€“1199px (small desktop â€” icons-only sidebar)
     xxl : â‰¥ 1400px  (large desktop)
   ================================================================ */

/* â”€â”€ CSS custom prop overrides per breakpoint â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 991.98px) {
  :root {
    --topbar-height: 64px;
  }
}

@media (max-width: 575.98px) {
  :root {
    --topbar-height: 58px;
  }
}

/* ================================================================
   1. LAYOUT SHELL
   ================================================================ */

/* â”€â”€ Desktop default: main-content pushed right of sidebar â”€â”€ */
.main-content {
  margin-inline-start: var(--sidebar-width, 260px);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  transition: margin-inline-start 0.3s ease;
}

/* Collapsed sidebar on desktop */
.sidebar.collapsed~.main-content,
.sidebar-pref-collapsed .main-content {
  margin-inline-start: var(--sidebar-collapsed-width, 70px);
}

/* â”€â”€ xxl: large desktop (â‰¥ 1400px) â”€â”€ */
@media (min-width: 1400px) {
  .sidebar {
    width: 280px;
  }

  .main-content {
    margin-inline-start: 280px;
  }

  .sidebar.collapsed~.main-content,
  .sidebar-pref-collapsed .main-content {
    margin-inline-start: var(--sidebar-collapsed-width, 70px);
  }
}

/* â”€â”€ xl: narrow desktop (992â€“1199px) â€” auto-collapse to icons â”€â”€
   dashboard.css already handles this with .sidebar:not(.show).
   We only add anything missing here. â”€â”€ */

/* â”€â”€ lg: tablets & mobile (< 992px) â€” sidebar becomes a drawer â”€â”€ */
@media (max-width: 991.98px) {

  /* Sidebar sits above the overlay */
  .sidebar {
    z-index: 1060;
  }

  .main-content {
    margin-inline-start: 0 !important;
  }

  /* Overlay backdrop â€” z-index must be BELOW sidebar (1060) */
  .sidebar-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    z-index: 1055;
    cursor: pointer;
  }
}

/* ================================================================
   2. TOPBAR  (.tb)
   ================================================================ */

/* lg */
@media (max-width: 991.98px) {
  .tb {
    --tb-control-h: 2.625rem;
    --tb-pad-x: 0.75rem;
    --tb-gap: 0.35rem;
    padding: 0 var(--tb-pad-x);
    gap: var(--tb-gap);
  }

  .tb-ctx-text {
    max-width: 110px;
  }
}

/* md â€” hide search form, reduce tenant btn */
@media (max-width: 767.98px) {
  .tb {
    --tb-control-h: 2.5rem;
    --tb-pad-x: 0.625rem;
    --tb-gap: 0.25rem;
    padding: 0 var(--tb-pad-x);
    gap: var(--tb-gap);
  }

  .tb-search-wrap {
    display: none;
  }

  /* show search-toggle icon instead */
  .tb-ctx-text {
    max-width: 80px;
  }

  .tb-drop {
    min-width: min(300px, 90vw) !important;
  }

  .tb-user-info {
    display: none !important;
  }

  .tb-user-caret {
    display: none !important;
  }

  .tb-user-btn {
    padding: 4px;
    border-radius: 50%;
  }
}

/* sm */
@media (max-width: 575.98px) {
  .tb {
    --tb-control-h: 2.375rem;
    --tb-pad-x: 0.5rem;
    --tb-gap: 0.15rem;
    padding: 0 var(--tb-pad-x);
    gap: var(--tb-gap);
  }

  .tb-ctx-text,
  .tb-ctx-caret {
    display: none;
  }

  .tb-ctx-btn {
    padding: 0 0.5rem;
    border-radius: var(--radius-md);
  }

  .tb-logo-text {
    display: none;
  }

  .tb-sep {
    display: none !important;
  }

  .tb-icon-btn {
    width: var(--tb-control-h);
    height: var(--tb-control-h);
    min-width: var(--tb-control-h);
    min-height: var(--tb-control-h);
    padding: 0;
    justify-content: center;
  }
}

/* xs */
@media (max-width: 479.98px) {
  .tb {
    --tb-control-h: 2.25rem;
    --tb-pad-x: 0.375rem;
    padding: 0 var(--tb-pad-x);
    gap: 0.1rem;
  }

  .tb-icon-btn {
    width: var(--tb-control-h);
    height: var(--tb-control-h);
    font-size: 1.15rem;
  }

  .tb-badge {
    font-size: 0.58rem;
    min-width: 16px;
    height: 16px;
  }

  .tb-user-btn {
    width: var(--tb-control-h);
    height: var(--tb-control-h);
    min-width: var(--tb-control-h);
    min-height: var(--tb-control-h);
  }
}

/* â”€â”€ Sticky topbar panels: width cap on narrow viewports â”€â”€ */
@media (max-width: 991.98px) {
  .tb .dropdown-menu.tb-drop-sticky.show {
    width: min(420px, calc(100vw - 20px)) !important;
    min-width: unset !important;
    max-width: calc(100vw - 20px) !important;
    max-height: min(calc(100dvh - var(--topbar-height, 56px) - 16px), 480px) !important;
  }
}

@media (max-width: 479.98px) {
  .tb .dropdown-menu.tb-drop-sticky.show {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }
}

/* â”€â”€ Other topbar dropdowns on small screens (RTL-aware) â”€â”€ */
@media (max-width: 575.98px) {
  .tb .dropdown-menu:not(.tb-drop-inbox):not(.tb-drop-sticky) {
    position: fixed !important;
    top: calc(var(--topbar-height, 56px) + 4px) !important;
    inset-inline: 8px !important;
    left: unset !important;
    right: unset !important;
    min-width: unset !important;
    max-width: none !important;
    width: auto !important;
    max-height: calc(100dvh - var(--topbar-height, 56px) - 24px);
    overflow-y: auto;
    transform: none !important;
  }
}

/* ================================================================
   3. CONTENT WRAPPER
      Always keep padding-top â‰¥ topbar height so content clears
      the fixed topbar. Only the side / bottom padding is reduced.
   ================================================================ */

.content-wrapper__main {
  flex: 1;
  padding-top: 20px;
  padding-bottom: 32px;
  padding-inline: 28px;
}

@media (max-width: 1199.98px) {
  .content-wrapper__main {
    padding-top: 20px;
    padding-bottom: 28px;
    padding-inline: 24px;
  }
}

@media (max-width: 991.98px) {
  .content-wrapper__main {
    padding-top: 16px;
    padding-bottom: 24px;
    padding-inline: 18px;
  }
}

@media (max-width: 767.98px) {
  .content-wrapper__main {
    padding-top: 14px;
    padding-bottom: 20px;
    padding-inline: 14px;
  }
}

@media (max-width: 575.98px) {
  .content-wrapper__main {
    padding-top: 12px;
    padding-bottom: 16px;
    padding-inline: 10px;
  }
}

@media (max-width: 479.98px) {
  .content-wrapper__main {
    padding-top: 10px;
    padding-bottom: 14px;
    padding-inline: 8px;
  }
}

/* ================================================================
   4. PAGE TITLES & TYPOGRAPHY
   ================================================================ */

h1,
.h1 {
  font-size: clamp(1.25rem, 4vw, 2rem);
}

h2,
.h2 {
  font-size: clamp(1.1rem, 3.5vw, 1.6rem);
}

h3,
.h3 {
  font-size: clamp(1rem, 3vw, 1.35rem);
}

.page-title,
.content-wrapper__main>h1:first-child,
.content-wrapper__main>.page-header h1 {
  font-size: clamp(1.1rem, 3vw, 1.6rem);
  margin-bottom: 1rem;
}

@media (max-width: 575.98px) {
  .page-title {
    font-size: 1.1rem;
  }

  .page-header {
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
  }

  .page-header .btn {
    width: 100%;
    justify-content: center;
  }
}

/* ================================================================
   5. CARDS & STAT CARDS
   ================================================================ */

.row-stats,
.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px;
}

@media (max-width: 767.98px) {
  .stat-card {
    padding: 16px;
  }

  .stat-card .stat-value {
    font-size: 1.4rem;
  }

  .row-stats,
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}

@media (max-width: 479.98px) {

  .row-stats,
  .stats-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .stat-card {
    padding: 14px;
  }
}

@media (max-width: 479.98px) {
  .col-sm-6 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* ================================================================
   6. TABLES â†’ CARD LAYOUT ON MOBILE
   ================================================================ */

@media (max-width: 991.98px) {
  .table-responsive {
    -webkit-overflow-scrolling: touch;
  }

  .table th,
  .table td {
    white-space: nowrap;
  }

  .table {
    font-size: 0.85rem;
  }
}

@media (max-width: 575.98px) {
  .table-card-mobile thead {
    display: none;
  }

  .table-card-mobile tbody tr {
    display: block;
    background: var(--card-bg, var(--bg-secondary));
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg, 12px);
    margin-bottom: 12px;
    padding: 12px;
    box-shadow: var(--shadow-sm);
  }

  .table-card-mobile tbody td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 4px;
    border: none;
    border-bottom: 1px solid var(--border-color);
    font-size: 0.85rem;
    white-space: normal;
  }

  .table-card-mobile tbody td:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }

  .table-card-mobile tbody td::before {
    content: attr(data-label);
    font-weight: 600;
    font-size: 0.75rem;
    color: var(--text-muted);
    flex-shrink: 0;
    margin-inline-end: 8px;
  }

  .table-card-mobile tbody td.actions {
    justify-content: flex-end;
    gap: 6px;
    border-bottom: none;
    padding-top: 10px;
  }
}

/* ================================================================
   7. FORMS
   ================================================================ */

@media (max-width: 767.98px) {

  .form-card,
  .card.p-4,
  .card.p-3 {
    padding: 16px !important;
  }

  .form-row,
  .row.g-3,
  .row.g-4 {
    row-gap: 12px;
  }
}

@media (max-width: 575.98px) {

  .col-sm-6,
  .col-md-6,
  .col-lg-4,
  .col-lg-6,
  .col-xl-4 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .form-label {
    font-size: 0.82rem;
  }

  .form-control,
  .form-select {
    font-size: 0.9rem;
    padding: 8px 10px;
  }

  .input-group {
    width: 100%;
  }
}

/* ================================================================
   8. BUTTONS
   ================================================================ */

@media (max-width: 575.98px) {

  .btn-toolbar,
  .actions-bar,
  .page-actions {
    flex-direction: column;
    width: 100%;
    gap: 8px;
  }

  .btn-toolbar .btn,
  .actions-bar .btn,
  .page-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .btn-icon,
  .btn-sm.btn-icon {
    width: auto;
    padding: 6px 10px;
  }
}

/* Touch-friendly tap targets */
@media (max-width: 991.98px) {
  .btn {
    min-height: 38px;
  }

  .btn-sm {
    min-height: 32px;
  }

  .btn-lg {
    min-height: 46px;
  }

  .dropdown-item {
    padding: 10px 16px;
    min-height: 40px;
  }

  .table .btn-sm {
    padding: 5px 10px;
    font-size: 0.78rem;
  }
}

/* ================================================================
   9. MODALS â€” bottom sheet on small phones
   ================================================================ */

@media (max-width: 575.98px) {
  .modal-dialog {
    margin: 0;
    max-width: 100%;
    min-height: 100%;
    align-items: flex-end;
  }

  .modal-content {
    border-radius: var(--radius-xl, 20px) var(--radius-xl, 20px) 0 0 !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    max-height: 90dvh;
    overflow-y: auto;
  }

  .modal-content::before {
    content: '';
    display: block;
    width: 40px;
    height: 4px;
    background: var(--border-color);
    border-radius: 2px;
    margin: 12px auto 0;
  }

  .modal-header {
    padding: 12px 16px;
  }

  .modal-body {
    padding: 16px;
  }

  .modal-footer {
    padding: 12px 16px;
    flex-wrap: wrap;
    gap: 8px;
  }

  .modal-footer .btn {
    flex: 1 1 auto;
    justify-content: center;
  }

  .modal-fullscreen-sm-down .modal-dialog {
    max-height: 100dvh;
    margin: 0;
  }

  .modal-fullscreen-sm-down .modal-content {
    border-radius: 0 !important;
    max-height: 100dvh;
  }
}

@media (max-width: 767.98px) {
  .modal-dialog:not(.modal-sm):not(.modal-lg):not(.modal-xl) {
    max-width: calc(100vw - 20px);
    margin: 10px auto;
  }
}

/* ================================================================
   10. DROPDOWNS
   ================================================================ */

@media (max-width: 575.98px) {
  .dropdown-menu {
    min-width: min(280px, 90vw);
    font-size: 0.88rem;
  }

  .content-wrapper .dropdown-menu {
    min-width: 100%;
  }
}

/* ================================================================
   11. SIDEBAR MOBILE HEADER
   ================================================================ */

.sidebar-mobile-header {
  display: none;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px 0 14px;
  height: 52px;
  min-height: 52px;
  border-bottom: 1px solid var(--sidebar-border, var(--border-color));
  flex-shrink: 0;
  gap: 8px;
  background: var(--sidebar-gradient);
}

[dir="rtl"] .sidebar-mobile-header {
  padding: 0 14px 0 10px;
}

.sidebar-mobile-brand {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.sidebar-mobile-brand-icon {
  width: 30px;
  height: 30px;
  border-radius: var(--sys-radius);
  background: var(--gradient-primary);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(23, 54, 48, 0.35);
}

.sidebar-mobile-brand-text {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--sidebar-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: -0.2px;
}

.sidebar-close-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  background: none;
  border: none;
  border-radius: var(--radius-sm);
  color: var(--sidebar-text);
  font-size: 1rem;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  opacity: 0.7;
  transition: background 0.18s ease, opacity 0.18s ease;
  line-height: 1;
}

.sidebar-close-btn:hover {
  background: var(--sidebar-hover-bg);
  opacity: 1;
}

@media (max-width: 991.98px) {
  .sidebar-mobile-header {
    display: flex;
  }
}

/* ================================================================
   12. SIDEBAR FOOTER
   ================================================================ */

@media (max-width: 991.98px) {
  .sidebar-user-footer {
    padding: 6px 10px;
  }

  .sidebar-user-name {
    font-size: 0.82rem;
  }

  .sidebar-user-role {
    font-size: 0.72rem;
  }
}

/* ================================================================
   13. SIDEBAR â€” ICONS-ONLY STATE (992â€“1199px)
       dashboard.css handles the core collapse; we hide text/icons here.
   ================================================================ */

@media (min-width: 992px) and (max-width: 1199.98px) {
  /* :not(.show) — in this band the nav rides as a rail and .show is what opens
     it, exactly as dashboard.css has it. Without the guard this pinned the
     width even once .show was on, so on a landscape tablet the toggle added
     the class and nothing moved. */
  .sidebar:not(.show) {
    width: var(--sidebar-collapsed-width, 72px) !important;
  }

  .sidebar:not(.show)~.main-content,
  .sidebar:not(.show).collapsed~.main-content,
  .sidebar-pref-collapsed .sidebar:not(.show)~.main-content {
    margin-inline-start: var(--sidebar-collapsed-width, 72px) !important;
  }

  .sidebar:not(.show) .nav-text,
  .sidebar:not(.show) .nav-chevron,
  .sidebar:not(.show) .sidebar-user-info,
  .sidebar:not(.show) .support-chevron {
    display: none;
  }

  .sidebar:not(.show) .nav-group-items {
    display: none !important;
  }

  .sidebar:not(.show) .nav-group-toggle {
    justify-content: center;
    padding: 10px 0;
    width: calc(100% - 20px);
    margin: 4px 10px;
    border-radius: var(--sys-radius);
  }

  .sidebar:not(.show) .nav-group-toggle>i:first-child {
    margin: 0;
    min-width: unset;
    font-size: 1.12rem;
  }

  .sidebar:not(.show) .nav-link {
    justify-content: center;
    padding: 10px 0;
    margin: 4px 10px;
    width: calc(100% - 20px);
    border-radius: var(--sys-radius);
    border-inline: none;
  }

  .sidebar:not(.show) .nav-link>i:first-child {
    margin: 0;
    font-size: 1.12rem;
  }

  .sidebar:not(.show) .nav-link.active {
    box-shadow: inset 4px 0 0 #122b26;
  }

  [dir="rtl"] .sidebar:not(.show) .nav-link.active {
    box-shadow: inset -4px 0 0 #122b26;
  }

  .sidebar:not(.show) .sidebar-user-footer {
    justify-content: center;
    padding: 8px 0;
  }

  .sidebar:not(.show) .sidebar-support-btn {
    justify-content: center;
    padding: 8px;
    width: calc(100% - 20px);
    margin: 0 10px;
    border-radius: var(--sys-radius);
  }

  .sidebar:not(.show) .support-avatar {
    margin: 0;
  }
}

/* ================================================================
   13. GRIDS & LAYOUTS
   ================================================================ */

.grid-auto {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 20px;
}

@media (max-width: 767.98px) {
  .grid-auto {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 14px;
  }
}

@media (max-width: 479.98px) {
  .grid-auto {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

@media (max-width: 575.98px) {
  .row.g-4 {
    --bs-gutter-x: 12px;
    --bs-gutter-y: 12px;
  }

  .row.g-3 {
    --bs-gutter-x: 10px;
    --bs-gutter-y: 10px;
  }
}

/* ================================================================
   14. BREADCRUMB & PAGE HEADER
   ================================================================ */

@media (max-width: 767.98px) {
  .breadcrumb {
    font-size: 0.78rem;
    flex-wrap: wrap;
  }

  .breadcrumb-item+.breadcrumb-item::before {
    padding: 0 4px;
  }
}

@media (max-width: 575.98px) {

  .page-header,
  .d-flex.justify-content-between.align-items-center {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px;
  }
}

/* ================================================================
   15. BADGES & PILLS
   ================================================================ */

@media (max-width: 575.98px) {
  .badge {
    font-size: 0.68rem;
    padding: 3px 7px;
  }
}

/* ================================================================
   16. ALERTS & TOASTS
   ================================================================ */

@media (max-width: 575.98px) {
  .alert {
    padding: 12px 14px;
    font-size: 0.875rem;
  }

  .toast-top-right,
  .toast-top-left {
    top: calc(var(--topbar-height) + 8px) !important;
    inset-inline-end: 8px !important;
    inset-inline-start: 8px !important;
    width: auto !important;
  }

  .toast-container .toast {
    min-width: unset;
    width: 100%;
  }
}

/* ================================================================
   17. TABS & NAV-TABS
   ================================================================ */

@media (max-width: 767.98px) {
  .nav-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }

  .nav-tabs .nav-link {
    white-space: nowrap;
    padding: 8px 14px;
    font-size: 0.85rem;
  }

  .nav-tabs::-webkit-scrollbar {
    display: none;
  }
}

/* ================================================================
   18. PAGINATION
   ================================================================ */

@media (max-width: 575.98px) {
  .pagination {
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px;
  }

  .page-link {
    padding: 6px 10px;
    font-size: 0.82rem;
    min-width: 34px;
    text-align: center;
  }

  .pagination .page-item:not(.active):not(:first-child):not(:last-child):not(.disabled) {
    display: none;
  }

  .pagination .page-item.active,
  .pagination .page-item:first-child,
  .pagination .page-item:last-child,
  .pagination .page-item.disabled {
    display: flex;
  }
}

/* ================================================================
   19. FISCAL CONTEXT
   ================================================================ */

@media (max-width: 767.98px) {
  .accounting-fiscal-context {
    font-size: 0.78rem;
  }
}

@media (max-width: 479.98px) {
  .accounting-fiscal-context .fiscal-label {
    display: none;
  }
}

/* ================================================================
   20. CHARTS
   ================================================================ */

@media (max-width: 767.98px) {
  .chart-container {
    height: 220px !important;
  }
}

@media (max-width: 479.98px) {
  .chart-container {
    height: 180px !important;
  }
}

/* ================================================================
   21. SAFE AREA (NOTCH / DYNAMIC ISLAND)
   ================================================================ */

@supports (padding-top: env(safe-area-inset-top)) {
  @media (max-width: 991.98px) {
    .tb {
      padding-inline-start: max(8px, env(safe-area-inset-left));
      padding-inline-end: max(8px, env(safe-area-inset-right));
    }

    .sidebar {
      padding-bottom: max(16px, env(safe-area-inset-bottom));
    }

    .modal-content {
      padding-bottom: max(0px, env(safe-area-inset-bottom));
    }
  }
}

/* ================================================================
   22. PRINT
   ================================================================ */

@media print {

  .sidebar,
  .sidebar-overlay,
  .tb,
  .btn-toolbar,
  .actions-bar,
  #scroll-progress,
  #scroll-to-top {
    display: none !important;
  }

  .main-content {
    margin-inline-start: 0 !important;
  }

  .content-wrapper__main {
    padding: 0 !important;
  }

  .table th,
  .table td {
    font-size: 10pt;
    padding: 4px 6px;
  }

  .card {
    break-inside: avoid;
    box-shadow: none !important;
    border: 1px solid #ddd !important;
  }

  * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* ================================================================
   23. ACCESSIBILITY â€” FOCUS VISIBLE
   ================================================================ */

@media (max-width: 991.98px) {
  :focus-visible {
    outline: 3px solid rgba(23, 54, 48, 0.6);
    outline-offset: 2px;
  }
}

/* ================================================================
   24. REDUCED MOTION
   ================================================================ */

@media (prefers-reduced-motion: reduce) {
  .sidebar {
    transition: none !important;
  }

  .main-content {
    transition: none !important;
  }

  .sidebar-overlay {
    transition: none !important;
  }
}

/* ================================================================
   25. ADMIN DASHBOARD MOBILE TUNING (single responsive source)
   ================================================================ */

@media (max-width: 575.98px) {
  .admin-stats-grid {
    grid-template-columns: 1fr;
    gap: var(--adm-space-2);
  }

  .admin-stat-card {
    padding: 0.82rem 0.9rem;
    border-radius: var(--adm-radius-md);
  }

  .admin-stat-value {
    font-size: 1.2rem;
  }

  .admin-stat-label {
    font-size: 0.72rem;
  }

  .admin-stat-ico {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: var(--sys-radius);
  }

  .admin-stat-ico svg {
    width: 20px;
    height: 20px;
  }

  .admin-card {
    padding: 0.95rem 0.9rem;
    border-radius: var(--adm-radius-md);
  }

  .admin-dl-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.32rem;
  }

  .admin-dl-row dd {
    width: 100%;
  }

  .admin-dash-header {
    margin-bottom: 0.85rem !important;
  }

  .admin-dash-title {
    font-size: 1.04rem;
    line-height: 1.2;
    margin-bottom: 0.2rem;
  }

  .admin-dash-sub {
    font-size: 0.76rem;
  }

  .admin-card .d-flex.flex-wrap.gap-2 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.42rem !important;
  }

  .admin-card .btn.btn-outline-primary.btn-sm.rounded-pill {
    width: 100%;
    min-height: 32px;
    font-size: 0.68rem;
    padding: 0.28rem 0.46rem;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (max-width: 420px) {
  .tb {
    --tb-pad-x: 0.375rem;
    padding: 0 var(--tb-pad-x);
    gap: 0.1rem;
  }

  .tb-start {
    gap: 2px;
  }

  .tb-end {
    gap: 0;
  }

  .tb-ctx-btn {
    padding: 0 0.375rem;
  }

  .tb-logo-icon {
    width: calc(var(--tb-control-h) - 0.375rem);
    height: calc(var(--tb-control-h) - 0.375rem);
  }

  .tb-icon-btn {
    padding: 0;
    font-size: 1.15rem;
  }

  .tb-badge {
    min-width: 15px;
    height: 15px;
    font-size: 0.54rem;
    top: 2px;
    inset-inline-end: 2px;
  }

  .tb-end #adminMsgBtn {
    display: inline-flex !important;
  }
}

@media (max-width: 399.98px) {
  .admin-card .d-flex.flex-wrap.gap-2 {
    grid-template-columns: 1fr;
  }

  .admin-card .btn.btn-outline-primary.btn-sm.rounded-pill {
    min-height: 34px;
    font-size: 0.72rem;
  }
}

/* ================================================================
   26. MOVED MEDIA QUERIES (single responsive source)
   ================================================================ */

/* ---- From: dashboard.css ---- */
@media (max-width: 991.98px) {
  .sidebar {
    transform: translateX(-100%);
    width: min(300px, 88vw) !important;
    top: var(--topbar-height);
    box-shadow: none;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
  }

  [dir="rtl"] .sidebar {
    transform: translateX(100%);
  }

  .sidebar.show {
    transform: translateX(0);
    box-shadow: 4px 0 32px rgba(0, 0, 0, 0.22);
  }

  [dir="rtl"] .sidebar.show {
    box-shadow: -4px 0 32px rgba(0, 0, 0, 0.22);
  }

  .sidebar.show .nav-text,
  .sidebar.show .nav-chevron,
  .sidebar.show .sidebar-user-info,
  .sidebar.show .support-chevron {
    display: revert;
  }

  .sidebar.show .nav-group.open .nav-group-items {
    display: block !important;
  }

  .sidebar.show~.sidebar-overlay {
    display: block;
  }

  .main-content {
    margin-inline-start: 0 !important;
  }

  .tb-user-info,
  .tb-user-caret {
    display: none;
  }

  .tb-user-btn {
    padding: 4px 6px;
    border-radius: 50%;
  }

  .content-wrapper__main {
    padding-inline-start: 16px;
    padding-inline-end: 16px;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {

  .sidebar.collapsed:not(.show),
  .sidebar-pref-collapsed .sidebar:not(.show) {
    width: var(--sidebar-collapsed-width, 70px);
  }

  .sidebar.collapsed.hover-expanded {
    width: var(--sidebar-width, 260px);
  }

  .sidebar.collapsed:not(.hover-expanded):not(.show) .nav-text,
  .sidebar.collapsed:not(.hover-expanded):not(.show) .nav-chevron,
  .sidebar.collapsed:not(.hover-expanded):not(.show) .nav-section span,
  .sidebar.collapsed:not(.hover-expanded):not(.show) .sidebar-user-info,
  .sidebar.collapsed:not(.hover-expanded):not(.show) .support-chevron,
  .sidebar-pref-collapsed .sidebar:not(.hover-expanded):not(.show) .nav-text,
  .sidebar-pref-collapsed .sidebar:not(.hover-expanded):not(.show) .nav-chevron,
  .sidebar-pref-collapsed .sidebar:not(.hover-expanded):not(.show) .nav-section span,
  .sidebar-pref-collapsed .sidebar:not(.hover-expanded):not(.show) .sidebar-user-info,
  .sidebar-pref-collapsed .sidebar:not(.hover-expanded):not(.show) .support-chevron {
    display: none;
  }

  .sidebar.collapsed:not(.hover-expanded):not(.show) .nav-group-items,
  .sidebar-pref-collapsed .sidebar:not(.hover-expanded):not(.show) .nav-group-items {
    display: none !important;
  }

  .sidebar.collapsed:not(.hover-expanded):not(.show) .nav-section,
  .sidebar-pref-collapsed .sidebar:not(.hover-expanded):not(.show) .nav-section {
    text-align: center;
    padding: 12px 0 5px;
  }

  .sidebar:not(.show).collapsed~.main-content,
  .sidebar-pref-collapsed .sidebar:not(.show)~.main-content {
    margin-inline-start: var(--sidebar-collapsed-width, 70px);
  }
}

@media (min-width: 1400px) {
  .sidebar {
    width: 270px;
  }

  .main-content {
    margin-inline-start: 270px;
  }

  .sidebar.collapsed~.main-content,
  .sidebar-pref-collapsed .main-content {
    margin-inline-start: var(--sidebar-collapsed-width, 70px);
  }

  .content-wrapper__main {
    padding-inline-start: 30px;
    padding-inline-end: 30px;
  }
}

@media (max-width: 767.98px) {
  .tb {
    padding: 0 10px;
    gap: 3px;
  }

  .tb-ctx-text {
    max-width: 90px;
  }

  .tb-search-wrap {
    padding: 0 6px;
  }

  .tb-drop {
    min-width: min(300px, 90vw) !important;
  }
}

@media (max-width: 575.98px) {
  .tb {
    padding: 0 8px;
    gap: 2px;
  }

  .tb-search-wrap {
    display: none;
  }

  .tb-ctx-text,
  .tb-ctx-caret {
    display: none;
  }

  .tb-ctx-btn {
    padding: 6px 8px;
    max-width: none;
  }

  .tb-logo-text {
    display: none;
  }

  .tb-sep {
    display: none;
  }

  .tb-icon-btn {
    padding: 7px 8px;
  }

  .tb-drop {
    min-width: min(290px, 92vw) !important;
  }

  .content-wrapper__main {
    padding-inline-start: 10px;
    padding-inline-end: 10px;
  }
}

/* ---- From: admin-dashboard.css ---- */
@media (min-width: 992px) {
  .admin-topbar-inner {
    padding-inline: clamp(0.85rem, 2vw, 1.35rem);
  }
}

@media (prefers-reduced-motion: reduce) {

  .admin-hamburger,
  .admin-hamburger::before,
  .admin-hamburger::after {
    transition: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-drop-chev {
    transition: none;
  }
}

@media (min-width: 992px) {
  .admin-shell--sidebar-slim .admin-sidebar {
    width: 72px;
    padding: 0;
  }

  .admin-shell--sidebar-slim .admin-nav {
    padding: 0.5rem 0.35rem 0.65rem;
  }

  .admin-shell--sidebar-slim .admin-nav-section {
    display: none;
  }

  .admin-shell--sidebar-slim .admin-nav-item {
    font-size: 0;
    justify-content: center;
    padding: 0.52rem 0.32rem;
    border-radius: var(--adm-radius-md);
  }

  .admin-shell--sidebar-slim .admin-nav-item.active::before {
    display: none;
  }

  .admin-shell--sidebar-slim .admin-nav-item.active {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--adm-brand-600) 22%, transparent);
  }

  [data-theme="dark"] .admin-shell--sidebar-slim .admin-nav-item.active {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--adm-accent-500) 28%, transparent);
  }

  .admin-shell--sidebar-slim .admin-nav-ico {
    width: auto;
    height: auto;
    font-size: 1.25rem;
  }

  .admin-shell--sidebar-slim .admin-nav-ico,
  .admin-shell--sidebar-slim .admin-nav-ico svg {
    opacity: 1;
  }

  .admin-shell--sidebar-slim .admin-nav .admin-nav-section.mt-auto {
    margin-inline: -0.35rem;
    padding-inline: 0.4rem;
  }
}

@media (max-width: 991.98px) {
  .admin-body {
    flex-direction: row;
    flex: 1 1 auto;
    min-height: 0;
  }

  /* Topbar: grid keeps leading + trailing on one row; search full-width row below */
  .admin-topbar-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    column-gap: 0.45rem;
    row-gap: 0.45rem;
    align-items: center;
  }

  .admin-topbar__leading {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.35rem 0.45rem;
    flex: unset;
    min-width: 0;
    order: unset;
  }

  .admin-topbar__trailing {
    grid-column: 2;
    grid-row: 1;
    margin-inline-start: 0;
    justify-self: end;
    align-self: center;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.3rem 0.4rem;
    max-width: 100%;
    order: unset;
  }

  .admin-topbar__search.admin-search-wrap {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    order: unset;
  }

  .admin-topbar__leading .admin-brand {
    min-width: 0;
    flex-shrink: 1;
  }

  .admin-topbar__leading .admin-brand-mark--logo {
    flex-shrink: 0;
  }

  .admin-topbar__leading .admin-brand-logo-img {
    max-height: clamp(1.55rem, 4.2vw, 2rem);
    max-width: min(7.5rem, 30vw);
  }

  .admin-topbar__fiscal-wrap {
    flex-shrink: 1;
    min-width: 0;
  }

  .admin-topbar__fiscal-wrap .admin-fiscal__trigger {
    max-width: min(11rem, 38vw);
    padding-inline: 0.5rem;
  }

  .admin-topbar__icon-group {
    flex-shrink: 0;
  }

  .admin-user-pill {
    flex-shrink: 0;
  }

  .admin-tenant {
    flex: 1 1 0;
    min-width: 0;
    max-width: min(52vw, 15rem);
  }

  .admin-tenant-btn {
    max-width: 100%;
    min-width: 0;
  }

  .admin-tenant-label {
    max-width: 100%;
  }

  .admin-brand-text .admin-brand-name {
    max-width: min(36vw, 9rem);
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: bottom;
  }

  .admin-content-column {
    flex: 1 1 0;
  }

  .admin-sidebar {
    position: fixed;
    z-index: var(--adm-z-drawer);
    inset-block-start: 0;
    inset-block-end: 0;
    /* RTL: hug inline-start (physical right); LTR: hug inline-start (physical left) */
    inset-inline-start: 0;
    inset-inline-end: auto;
    width: min(20rem, calc(100vw - env(safe-area-inset-inline-start, 0px) - env(safe-area-inset-inline-end, 0px)));
    max-width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
    background: var(--adm-bg-surface);
    border-inline-end: 1px solid var(--adm-border);
    border-bottom: 0;
    margin: 0;
    padding: 0;
    flex-shrink: 0;
    flex-direction: column;
    display: flex;
    transition:
      transform var(--adm-dur-slow) var(--adm-ease-out),
      visibility var(--adm-dur-slow) var(--adm-ease-out),
      box-shadow var(--adm-dur-slow) var(--adm-ease-out);
    visibility: visible;
    /* Rounded corners on the edge that faces the page (inline-end side of the panel) */
    border-start-end-radius: var(--adm-radius-lg);
    border-end-end-radius: var(--adm-radius-lg);
    box-shadow: 4px 0 28px rgba(7, 10, 9, 0.1);
  }

  [dir="rtl"] .admin-sidebar {
    box-shadow: -4px 0 28px rgba(7, 10, 9, 0.1);
  }

  [dir="ltr"] .admin-shell--nav-closed .admin-sidebar {
    transform: translate3d(calc(-100% - 12px), 0, 0);
    visibility: hidden;
    pointer-events: none;
  }

  [dir="rtl"] .admin-shell--nav-closed .admin-sidebar {
    transform: translate3d(calc(100% + 12px), 0, 0);
    visibility: hidden;
    pointer-events: none;
  }

  [dir="ltr"] .admin-shell--nav-open .admin-sidebar,
  [dir="rtl"] .admin-shell--nav-open .admin-sidebar {
    transform: none;
  }

  [data-theme="dark"] .admin-sidebar {
    background: var(--adm-bg-surface);
    box-shadow: 4px 0 32px rgba(0, 0, 0, 0.38);
  }

  [data-theme="dark"][dir="rtl"] .admin-sidebar {
    box-shadow: -4px 0 32px rgba(0, 0, 0, 0.38);
  }

  .admin-nav {
    flex-direction: column;
    flex-wrap: nowrap;
    min-height: 100%;
    padding-block-start: calc(1rem + 56px + env(safe-area-inset-block-start, 0px));
    padding-block-end: max(1.5rem, env(safe-area-inset-block-end, 0px));
    padding-inline-start: max(0.65rem, env(safe-area-inset-inline-start, 0px));
    padding-inline-end: max(0.65rem, env(safe-area-inset-inline-end, 0px));
  }

  .admin-nav-item {
    flex: none;
    min-width: 0;
    width: 100%;
    justify-content: flex-start;
  }

  .admin-nav-section {
    width: auto;
    margin-top: 0.5rem;
  }

  .admin-nav .admin-nav-section.mt-auto {
    margin-inline: 0;
  }
}

@media (max-width: 767.98px) {
  .admin-fiscal__eyebrow {
    display: none;
  }

  .admin-fiscal__code {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
  }
}

@media (max-width: 575.98px) {
  .admin-topbar-inner {
    row-gap: 0;
    grid-template-rows: auto;
  }

  .admin-topbar-vr.d-none.d-md-inline-block {
    display: none !important;
  }

  .admin-topbar__trailing .admin-topbar-vr.d-none.d-sm-inline-block {
    display: none !important;
  }

  .admin-fiscal__trigger {
    padding-block: 0.35rem;
  }
}

@media (max-width: 479.98px) {
  .admin-fiscal__trigger-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip-path: inset(50%);
    white-space: nowrap !important;
    border: 0 !important;
  }

  .admin-fiscal__trigger {
    position: relative;
    max-width: none;
    padding: 0.3rem 0.42rem;
    gap: 0.2rem;
  }

  .admin-fiscal__chev {
    margin-inline-start: 0;
  }

  .admin-topbar__fiscal-wrap .admin-fiscal__trigger {
    max-width: none;
  }

  .admin-tenant {
    max-width: min(58vw, 13.5rem);
  }

  .admin-tenant-chev {
    display: none;
  }

  .admin-tenant-btn {
    padding-inline: 0.45rem;
    gap: 0.32rem;
  }

  .admin-sidebar-toggle {
    width: 2.25rem;
    height: 2.25rem;
  }

  .admin-icon-btn {
    width: 2.2rem;
    height: 2.2rem;
    font-size: 1.1rem;
  }
}

@media (max-width: 767.98px) {
  .admin-main {
    padding: clamp(0.65rem, 2.5vw, 1rem) clamp(0.45rem, 3vw, 0.85rem) max(0.5rem, env(safe-area-inset-bottom));
  }

  .admin-topbar-inner {
    padding-inline: max(0.55rem, env(safe-area-inset-inline-start, 0px)) max(0.55rem, env(safe-area-inset-inline-end, 0px));
  }

  .admin-body {
    padding-inline: max(0px, env(safe-area-inset-inline-start, 0px)) max(0px, env(safe-area-inset-inline-end, 0px));
  }

  .admin-dash-sub {
    font-size: 0.88rem;
  }

  .admin-stat-card {
    padding: 0.85rem 0.95rem;
  }

  .admin-card {
    padding: 1rem 0.9rem;
  }

  .admin-module-hero {
    padding: 1rem 0.9rem;
  }

  .row.g-3>[class*="col-"],
  .row.g-4>[class*="col-"] {
    min-width: 0;
  }
}

@media (max-width: 991.98px) {
  .admin-main {
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }

  .settings-company-form .row>[class*="col-"] {
    min-width: 0;
  }
}

@media (max-width: 575.98px) {
  .admin-topbar__icon-group .admin-icon-btn {
    min-width: 2.5rem;
    min-height: 2.5rem;
  }

  .admin-user-name {
    max-width: min(8rem, 36vw);
  }

  .admin-search-input {
    font-size: 16px;
    /* iOS: avoid zoom-on-focus */
  }
}

@media (min-width: 1200px) {
  .admin-main {
    padding-inline: clamp(0.85rem, 1.4vw, 1.35rem);
  }

  .admin-main-inner,
  .admin-footer-inner {
    max-width: min(1180px, 100%);
  }
}

@media (min-width: 1400px) {

  .admin-main-inner,
  .admin-footer-inner {
    max-width: min(1240px, 100%);
  }
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes admPanelChildIn {
    from {
      opacity: 0;
      transform: translateY(-8px) scale(0.985);
    }

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

  body.admin-shell .dropdown-menu.admin-tenant-menu.show>*,
  body.admin-shell .dropdown-menu.admin-fiscal__menu.show>*,
  body.admin-shell .dropdown-menu.admin-drop-panel.show>*,
  body.admin-shell .dropdown-menu.admin-drop-user.show>li {
    animation: admPanelChildIn var(--adm-dur-slow) var(--adm-ease-out) both;
  }

  body.admin-shell .dropdown-menu.admin-tenant-menu.show>*:nth-child(1),
  body.admin-shell .dropdown-menu.admin-fiscal__menu.show>*:nth-child(1),
  body.admin-shell .dropdown-menu.admin-drop-panel.show>*:nth-child(1),
  body.admin-shell .dropdown-menu.admin-drop-user.show>li:nth-child(1) {
    animation-delay: 0.02s;
  }

  body.admin-shell .dropdown-menu.admin-tenant-menu.show>*:nth-child(2),
  body.admin-shell .dropdown-menu.admin-fiscal__menu.show>*:nth-child(2),
  body.admin-shell .dropdown-menu.admin-drop-panel.show>*:nth-child(2),
  body.admin-shell .dropdown-menu.admin-drop-user.show>li:nth-child(2) {
    animation-delay: 0.04s;
  }

  body.admin-shell .dropdown-menu.admin-tenant-menu.show>*:nth-child(3),
  body.admin-shell .dropdown-menu.admin-fiscal__menu.show>*:nth-child(3),
  body.admin-shell .dropdown-menu.admin-drop-panel.show>*:nth-child(3),
  body.admin-shell .dropdown-menu.admin-drop-user.show>li:nth-child(3) {
    animation-delay: 0.06s;
  }
}

@media (max-width: 575.98px) {
  .admin-topbar__search.admin-search-wrap {
    display: none !important;
  }
}

/* ================================================================
   27. TOPBAR ICON LAYOUT FIX (mobile-first)
   Keep header icons visible and aligned across narrow widths.
   ================================================================ */

@media (max-width: 575.98px) {
  .tb {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
    padding-inline: 8px;
  }

  .tb-start,
  .tb-end {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    flex-shrink: 0;
  }

  .tb-start {
    gap: 2px;
  }

  .tb-end {
    gap: 2px;
    margin-inline-start: auto;
  }

  .tb-end .dropdown {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
  }

  .tb-icon-btn,
  .tb-user-btn {
    width: var(--tb-control-h);
    height: var(--tb-control-h);
    min-width: var(--tb-control-h);
    min-height: var(--tb-control-h);
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .tb-user-btn {
    border-radius: 50%;
  }

  .tb-user-avatar {
    width: calc(var(--tb-control-h) - 0.625rem);
    height: calc(var(--tb-control-h) - 0.625rem);
  }

  .tb-badge {
    min-width: 15px;
    height: 15px;
    font-size: 0.54rem;
    top: 2px;
    inset-inline-end: 2px;
  }
}

@media (max-width: 420px) {
  .tb {
    padding-inline: 6px;
    gap: 2px;
  }

  .tb-end {
    gap: 1px;
  }

  .tb-toggle {
    padding: 6px;
    font-size: 1.2rem;
  }

  .tb-ctx-btn {
    padding: 5px 6px;
  }

  /* Keep notifications + messages + user visible on very small widths */
  .tb-end #adminMsgBtn,
  .tb-end #adminNotifBtn {
    display: inline-flex !important;
  }
}

/* Final hard overrides for topbar icon alignment on small screens */
@media (max-width: 575.98px) {
  .tb {
    flex-wrap: nowrap !important;
    overflow: hidden;
  }

  .tb-start,
  .tb-end {
    flex-wrap: nowrap !important;
  }

  .tb-start {
    max-width: 46%;
    overflow: hidden;
  }

  .tb-end {
    max-width: 54%;
    overflow: visible;
    justify-content: flex-end;
  }

  .tb-ctx-btn {
    width: var(--tb-control-h);
    min-width: var(--tb-control-h);
    max-width: var(--tb-control-h);
    height: var(--tb-control-h);
    padding: 0 !important;
    justify-content: center;
    gap: 0;
  }

  .tb-ctx-btn>.bi-buildings {
    margin: 0;
    font-size: 0.92rem;
  }

  .tb-search-toggle {
    display: inline-flex !important;
  }
}

@media (max-width: 420px) {

  /* Hide tenant switcher only on ultra-small widths to keep icons stable */
  .tb-start>.dropdown {
    display: none !important;
  }

  .tb-start {
    max-width: 38%;
  }

  .tb-end {
    max-width: 62%;
  }
}

@media (max-width: 575.98px) {
  .admin-stats-grid {
    grid-template-columns: 1fr;
    gap: var(--adm-space-2);
  }

  .admin-stat-card {
    padding: 0.82rem 0.9rem;
    border-radius: var(--adm-radius-md);
  }

  .admin-stat-value {
    font-size: 1.2rem;
  }

  .admin-stat-label {
    font-size: 0.72rem;
  }

}

@media (min-width: 576px) {
  .admin-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--adm-space-4);
  }
}

@media (min-width: 992px) {
  .admin-stats-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .admin-stats-grid {
    gap: var(--adm-space-4) var(--adm-space-5);
  }
}

@media (prefers-reduced-motion: reduce) {
  html:has(body.admin-shell) {
    scroll-behavior: auto;
  }
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes admPageShellIn {
    from {
      opacity: 0;
      transform: translateY(10px);
    }

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

  @keyframes admCardReveal {
    from {
      opacity: 0;
      transform: translateY(12px);
    }

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

  body.admin-shell.admin-shell--ready .admin-main-inner {
    animation: admPageShellIn 0.45s var(--adm-ease-out) both;
  }

  body.admin-shell.admin-shell--ready .admin-stats-grid .admin-stat-card {
    animation: admCardReveal 0.42s var(--adm-ease-out) both;
  }

  body.admin-shell.admin-shell--ready .admin-stats-grid .admin-stat-card:nth-child(1) {
    animation-delay: 0.04s;
  }

  body.admin-shell.admin-shell--ready .admin-stats-grid .admin-stat-card:nth-child(2) {
    animation-delay: 0.08s;
  }

  body.admin-shell.admin-shell--ready .admin-stats-grid .admin-stat-card:nth-child(3) {
    animation-delay: 0.12s;
  }

  body.admin-shell.admin-shell--ready .admin-stats-grid .admin-stat-card:nth-child(4) {
    animation-delay: 0.16s;
  }

  body.admin-shell.admin-shell--ready .admin-main-inner>.row.g-3 .admin-card {
    animation: admCardReveal 0.48s var(--adm-ease-out) both;
  }

  body.admin-shell.admin-shell--ready .admin-main-inner>.row.g-3 .admin-card:nth-child(1) {
    animation-delay: 0.06s;
  }

  body.admin-shell.admin-shell--ready .admin-main-inner>.row.g-3 .admin-card:nth-child(2) {
    animation-delay: 0.1s;
  }
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes admRipple {
    to {
      transform: translate(-50%, -50%) scale(20);
      opacity: 0;
    }
  }

  .admin-ripple-fx {
    animation: admRipple 0.55s var(--adm-ease-out) forwards;
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-ripple-fx {
    animation: none;
    opacity: 0;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .admin-skeleton {
    animation: admShimmer 1.15s ease-in-out infinite;
  }

  @keyframes admShimmer {
    0% {
      background-position: 100% 0;
    }

    100% {
      background-position: -100% 0;
    }
  }
}

@media (prefers-reduced-motion: no-preference) {

  .admin-card:hover,
  .admin-stat-card:hover {
    box-shadow: var(--adm-shadow-md);
    transform: translateY(-2px);
    border-color: var(--adm-border-strong);
  }
}

@media (prefers-reduced-motion: reduce) {

  .admin-card:hover,
  .admin-stat-card:hover,
  body.admin-shell.admin-shell--ready .admin-main-inner,
  body.admin-shell.admin-shell--ready .admin-stats-grid .admin-stat-card,
  body.admin-shell.admin-shell--ready .admin-main-inner>.row.g-3 .admin-card,
  body.admin-shell .dropdown-menu.admin-tenant-menu.show>*,
  body.admin-shell .dropdown-menu.admin-fiscal__menu.show>*,
  body.admin-shell .dropdown-menu.admin-drop-panel.show>*,
  body.admin-shell .dropdown-menu.admin-drop-user.show>li {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes admDropPanelIn {
    from {
      opacity: 0;
      transform: translateY(-8px) scale(0.965);
    }

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

  body.admin-shell .dropdown-menu.admin-tenant-menu.show,
  body.admin-shell .dropdown-menu.admin-fiscal__menu.show,
  body.admin-shell .dropdown-menu.admin-drop-panel.show,
  body.admin-shell .dropdown-menu.admin-drop-user.show {
    animation: admDropPanelIn 0.22s var(--adm-ease-out) both;
    transform-origin: top center;
  }

  body.admin-shell .dropdown-menu-end.admin-drop-user.show {
    transform-origin: top right;
  }

  html[dir="rtl"] body.admin-shell .dropdown-menu-end.admin-drop-user.show {
    transform-origin: top left;
  }
}

@media (min-width: 992px) {
  .admin-shell--sidebar-slim .admin-sidebar .admin-nav-item[data-tip] {
    position: relative;
  }

  .admin-shell--sidebar-slim .admin-sidebar .admin-nav-item[data-tip]::after {
    content: attr(data-tip);
    position: absolute;
    inset-inline-start: calc(100% + 10px);
    top: 50%;
    transform: translateY(-50%) translateX(-6px);
    white-space: nowrap;
    background: var(--adm-bg-surface);
    color: var(--adm-text-strong);
    font-size: 0.78rem;
    font-weight: 600;
    padding: 0.3rem 0.7rem;
    border-radius: var(--adm-radius-sm);
    border: 1px solid var(--adm-border);
    box-shadow: var(--adm-shadow-md);
    pointer-events: none;
    opacity: 0;
    transition:
      opacity var(--adm-dur-base) var(--adm-ease-out),
      transform var(--adm-dur-base) var(--adm-ease-out);
    z-index: calc(var(--adm-z-dropdown) + 10);
  }

  .admin-shell--sidebar-slim .admin-sidebar .admin-nav-item[data-tip]:hover::after {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .admin-icon-badge--danger {
    animation:
      adminBadgePop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) both,
      admBadgePulse 2.4s ease-out 0.8s infinite;
  }

  .admin-icon-badge--success {
    animation:
      adminBadgePop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) both,
      admBadgePulseSuccess 2.4s ease-out 1s infinite;
  }
}

@media (max-width: 767.98px) {
  .admin-search-hint {
    display: none;
  }
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes admStatBarIn {
    from {
      transform: scaleY(0);
      transform-origin: top;
      opacity: 0;
    }

    to {
      transform: scaleY(1);
      transform-origin: top;
      opacity: 0.85;
    }
  }

  body.admin-shell.admin-shell--ready .admin-stats-grid .admin-stat-card::before {
    animation: admStatBarIn 0.55s var(--adm-ease-spring) both;
  }

  body.admin-shell.admin-shell--ready .admin-stats-grid .admin-stat-card:nth-child(1)::before {
    animation-delay: 0.1s;
  }

  body.admin-shell.admin-shell--ready .admin-stats-grid .admin-stat-card:nth-child(2)::before {
    animation-delay: 0.14s;
  }

  body.admin-shell.admin-shell--ready .admin-stats-grid .admin-stat-card:nth-child(3)::before {
    animation-delay: 0.18s;
  }

  body.admin-shell.admin-shell--ready .admin-stats-grid .admin-stat-card:nth-child(4)::before {
    animation-delay: 0.22s;
  }
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes admNavBarScaleIn {
    from {
      transform: translateY(-50%) scaleY(0);
      opacity: 0;
    }

    to {
      transform: translateY(-50%) scaleY(1);
      opacity: 1;
    }
  }

  .admin-nav-item.active::before {
    animation: admNavBarScaleIn 0.35s var(--adm-ease-spring) both;
  }
}

@media (prefers-reduced-motion: no-preference) {
  body.admin-shell.admin-shell--ready .admin-main-inner .admin-card {
    animation: admCardReveal 0.45s var(--adm-ease-out) both;
  }

  body.admin-shell.admin-shell--ready .admin-main-inner .col:nth-child(1) .admin-card,
  body.admin-shell.admin-shell--ready .admin-main-inner .col-md-6:nth-child(1) .admin-card,
  body.admin-shell.admin-shell--ready .admin-main-inner .col-lg-6:nth-child(1) .admin-card {
    animation-delay: 0.05s;
  }

  body.admin-shell.admin-shell--ready .admin-main-inner .col:nth-child(2) .admin-card,
  body.admin-shell.admin-shell--ready .admin-main-inner .col-md-6:nth-child(2) .admin-card,
  body.admin-shell.admin-shell--ready .admin-main-inner .col-lg-6:nth-child(2) .admin-card {
    animation-delay: 0.1s;
  }

  body.admin-shell.admin-shell--ready .admin-main-inner .col:nth-child(3) .admin-card,
  body.admin-shell.admin-shell--ready .admin-main-inner .col-md-4:nth-child(3) .admin-card {
    animation-delay: 0.14s;
  }

  body.admin-shell.admin-shell--ready .admin-main-inner .col:nth-child(4) .admin-card {
    animation-delay: 0.18s;
  }
}

@media (min-width: 992px) and (prefers-reduced-motion: no-preference) {

  .admin-card:hover,
  .admin-stat-card:hover {
    box-shadow: var(--adm-shadow-lg);
    transform: translateY(-3px);
    border-color: var(--adm-border-strong);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .admin-nav-item::before {
    transition:
      transform 0.35s var(--adm-ease-spring),
      opacity 0.35s var(--adm-ease-out);
  }
}

@media (prefers-reduced-motion: reduce) {

  .admin-icon-btn:active,
  .admin-sidebar-toggle:active {
    transform: none;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .admin-brand {
    transition: opacity var(--adm-dur-base) var(--adm-ease-out);
  }

  .admin-brand:hover {
    opacity: 0.82;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .admin-notif-dot {
    animation: admNotifDotPulse 2.2s ease-in-out infinite;
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-content-column {
    scroll-behavior: auto;
  }
}

@media (prefers-reduced-motion: no-preference) {

  .admin-shell .form-control,
  .admin-shell .form-select {
    transition:
      border-color var(--adm-dur-base) var(--adm-ease-out),
      box-shadow var(--adm-dur-base) var(--adm-ease-out),
      background var(--adm-dur-base) var(--adm-ease-out);
  }
}

@media (max-width: 991.98px) {
  .admin-sidebar {
    border-start-end-radius: var(--adm-radius-xl);
    border-end-end-radius: var(--adm-radius-xl);
  }

  [dir="rtl"] .admin-sidebar {
    border-start-start-radius: var(--adm-radius-xl);
    border-end-start-radius: var(--adm-radius-xl);
    border-start-end-radius: 0;
    border-end-end-radius: 0;
  }
}

@media (prefers-reduced-motion: reduce) {

  body.admin-shell .dropdown-menu.admin-tenant-menu.show,
  body.admin-shell .dropdown-menu.admin-fiscal__menu.show,
  body.admin-shell .dropdown-menu.admin-drop-panel.show,
  body.admin-shell .dropdown-menu.admin-drop-user.show,
  .admin-notif-dot,
  .admin-icon-badge--danger,
  .admin-icon-badge--success,
  body.admin-shell.admin-shell--ready .admin-stats-grid .admin-stat-card::before,
  body.admin-shell.admin-shell--ready .admin-main-inner .admin-card {
    animation: none !important;
  }

  .admin-user-btn:hover .admin-user-avatar,
  .admin-user-btn.show .admin-user-avatar {
    transition: none;
  }
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes admDropPanelIn {
    from {
      opacity: 0;
      transform: scale(0.93);
    }

    to {
      opacity: 1;
      transform: scale(1);
    }
  }

  body.admin-shell .dropdown-menu.admin-tenant-menu.show,
  body.admin-shell .dropdown-menu.admin-fiscal__menu.show,
  body.admin-shell .dropdown-menu.admin-drop-panel.show,
  body.admin-shell .dropdown-menu.admin-drop-user.show {
    animation: admDropPanelIn 0.18s var(--adm-ease-out) both;
    transform-origin: top center;
    will-change: transform, opacity;
  }

  body.admin-shell .dropdown-menu-end.admin-drop-user.show,
  body.admin-shell .dropdown-menu-end.admin-fiscal__menu.show {
    transform-origin: top right;
  }

  html[dir="rtl"] body.admin-shell .dropdown-menu-end.admin-drop-user.show,
  html[dir="rtl"] body.admin-shell .dropdown-menu-end.admin-fiscal__menu.show {
    transform-origin: top left;
  }
}

@media (max-width: 991.98px) {
  .admin-topbar-inner {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.25rem;
    padding-block: 0.4rem;
    min-height: 3.2rem;
  }

  .admin-topbar__leading {
    flex: 0 0 auto;
    gap: 0.3rem;
    grid-column: unset;
    grid-row: unset;
  }

  .admin-topbar__trailing {
    margin-inline-start: auto;
    flex: 0 0 auto;
    gap: 0.1rem;
    grid-column: unset;
    grid-row: unset;
    align-items: center;
  }

  /* Hide search form â€” use mobile overlay instead */
  .admin-topbar__search.admin-search-wrap {
    display: none !important;
  }

  /* Hide fiscal period */
  .admin-topbar__fiscal-wrap {
    display: none !important;
  }

  /* Hide all VR separators */
  .admin-topbar-vr {
    display: none !important;
  }

  /* Hide tenant switcher on mobile (accessible via sidebar) */
  .admin-tenant {
    display: none !important;
  }

  /* Compact icon group */
  .admin-topbar__icon-group {
    gap: 0.1rem;
  }

  /* Icon buttons: tighter on mobile */
  .admin-icon-btn {
    width: 2.25rem;
    height: 2.25rem;
  }

  /* User pill: avatar-only circle button on mobile */
  .admin-user-pill .admin-user-btn {
    padding: 0.2rem;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 50%;
    min-height: 2.25rem;
    width: 2.25rem;
    gap: 0;
    transition: background var(--adm-dur-fast) ease;
  }

  .admin-user-pill .admin-user-btn:hover,
  .admin-user-pill .admin-user-btn.show {
    background: rgba(7, 10, 9, 0.08) !important;
    border: none !important;
    box-shadow: none !important;
  }

  [data-theme="dark"] .admin-user-pill .admin-user-btn:hover,
  [data-theme="dark"] .admin-user-pill .admin-user-btn.show {
    background: rgba(154, 178, 173, 0.12) !important;
  }

  .admin-user-meta,
  .admin-user-chev {
    display: none !important;
  }

  .admin-user-avatar {
    width: 1.9rem;
    height: 1.9rem;
  }

  .admin-user-initials {
    font-size: 0.62rem;
  }
}

@media (max-width: 479.98px) {
  .admin-brand-text {
    display: none !important;
  }

  .admin-brand-mark {
    display: inline-flex !important;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .admin-search-overlay:not([hidden]) {
    animation: admSearchOverlayIn 0.2s var(--adm-ease-out) both;
  }

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

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

@media (min-width: 992px) {
  .admin-search-overlay {
    display: none !important;
  }

  .admin-search-toggle {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {

  body.admin-shell .dropdown-menu.admin-tenant-menu.show,
  body.admin-shell .dropdown-menu.admin-fiscal__menu.show,
  body.admin-shell .dropdown-menu.admin-drop-panel.show,
  body.admin-shell .dropdown-menu.admin-drop-user.show,
  .admin-search-overlay:not([hidden]) {
    animation: none !important;
    transform: none !important;
  }
}

/* ---- From: site.css ---- */
@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

@media (max-width: 575.98px) {

  .container,
  .container-fluid {
    --bs-gutter-x: 0.75rem;
  }
}

/* ---- From: store.css ---- */
@media (min-width: 992px) {
  :root {
    --store-header-offset: 6.75rem;
    --store-gutter-x: 0.875rem;
  }
}

@media (max-width: 575.98px) {
  :root {
    --store-gutter-x: 0.5rem;
  }
}

@media (min-width: 1200px) {
  :root {
    --store-content-max-width: 1240px;
  }
}

@media (max-width: 991.98px) {
  .store-nav-collapse {
    border-top: 1px solid var(--border);
    margin-top: 0.5rem;
    padding-top: 0.5rem;
  }

  .store-nav-toolbar {
    width: 100%;
    padding-top: 0.5rem;
    margin-top: 0.25rem;
    border-top: 1px solid var(--border);
  }
}

@media (min-width: 992px) {
  .store-nav-collapse {
    flex-grow: 1;
    align-items: center !important;
  }
}

@media (max-width: 400px) {
  .module-showcase-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

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

@media (max-width: 768px) {
  .cat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 992px) {
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .product-grid {
    grid-template-columns: 1fr;
  }
}

/* ---- From: effects.css ---- */
@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ---- From: auth-split.css ---- */
@media (max-width: 991.98px) {
  .auth-split-page {
    flex-direction: column;
  }

  .auth-split-visual {
    flex: 0 1 auto;
    width: 100%;
    min-height: min(38vh, 280px);
    padding: 1.5rem max(1rem, env(safe-area-inset-left)) 1.5rem max(1rem, env(safe-area-inset-right));
  }

  .auth-split-main {
    flex: 1 1 auto;
    width: 100%;
    padding-inline: max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right));
    padding-bottom: max(2rem, env(safe-area-inset-bottom));
  }

  .auth-split-feature-grid {
    max-width: 20rem;
    margin-inline: auto;
  }
}

@media (max-width: 575.98px) {
  .auth-split-visual {
    min-height: 32vh;
    padding-block: 1.25rem;
  }

  .auth-split-main {
    padding-block: 1rem;
  }

  .auth-split-card {
    border-radius: var(--sys-radius);
  }
}

@media (prefers-reduced-motion: reduce) {

  .auth-split-visual-bg::after,
  .auth-split-stars,
  .auth-split-logo,
  .auth-split-card,
  .auth-reveal,
  .auth-form-panel {
    animation: none !important;
  }

  .auth-split-card:hover {
    transform: none;
  }
}

/* ================================================================
   28. FINAL TOPBAR STABILITY OVERRIDES
   Last-in-file overrides to resolve spacing + dropdown behavior.
   ================================================================ */
@media (max-width: 575.98px) {
  .tb {
    padding-inline: clamp(6px, 2.2vw, 10px) !important;
    gap: clamp(1px, 0.8vw, 4px) !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
  }

  .tb-start,
  .tb-end {
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    min-width: 0;
  }

  .tb-start {
    gap: clamp(1px, 0.6vw, 3px) !important;
  }

  .tb-end {
    gap: clamp(1px, 0.6vw, 3px) !important;
    margin-inline-start: auto;
  }

  .tb-end .dropdown,
  .tb-start .dropdown {
    display: inline-flex !important;
    align-items: center;
    flex-shrink: 0;
  }

  .tb-icon-btn,
  .tb-user-btn,
  .tb-ctx-btn {
    width: clamp(32px, 8.8vw, 36px) !important;
    height: clamp(32px, 8.8vw, 36px) !important;
    min-width: clamp(32px, 8.8vw, 36px) !important;
    min-height: clamp(32px, 8.8vw, 36px) !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .tb-ctx-text,
  .tb-ctx-caret,
  .tb-logo-text,
  .tb-sep {
    display: none !important;
  }

  .tb .dropdown-menu {
    z-index: 1085 !important;
  }

  .tb-end #adminNotifBtn,
  .tb-end #adminMsgBtn,
  .tb-end #adminUserMenuBtn,
  .tb-end #tbSearchToggle {
    display: inline-flex !important;
  }
}

@media (max-width: 420px) {
  .tb-start>.dropdown {
    display: none !important;
  }
}

/* ================================================================
   30. Fiscal Trigger Visual Alignment
   Transparent chip, no border/shadow, same radius as notification icons.
   ================================================================ */
.tb .admin-fiscal__trigger,
.tb .admin-topbar__fiscal-wrap .admin-fiscal__trigger {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: var(--sys-radius) !important;
  color: #64748b !important;
  transition: background 0.15s ease, color 0.15s ease !important;
}

.tb .admin-fiscal__trigger:hover,
.tb .admin-fiscal__trigger:focus-visible,
.tb .admin-fiscal__trigger.show,
.tb .admin-topbar__fiscal-wrap .admin-fiscal__trigger:hover,
.tb .admin-topbar__fiscal-wrap .admin-fiscal__trigger:focus-visible,
.tb .admin-topbar__fiscal-wrap .admin-fiscal__trigger.show {
  background: rgba(7, 10, 9, 0.07) !important;
  color: #334155 !important;
  border: 0 !important;
  box-shadow: none !important;
}

[data-theme="dark"] .tb .admin-fiscal__trigger,
[data-theme="dark"] .tb .admin-topbar__fiscal-wrap .admin-fiscal__trigger {
  color: #9ab2ad !important;
}

[data-theme="dark"] .tb .admin-fiscal__trigger:hover,
[data-theme="dark"] .tb .admin-fiscal__trigger:focus-visible,
[data-theme="dark"] .tb .admin-fiscal__trigger.show,
[data-theme="dark"] .tb .admin-topbar__fiscal-wrap .admin-fiscal__trigger:hover,
[data-theme="dark"] .tb .admin-topbar__fiscal-wrap .admin-fiscal__trigger:focus-visible,
[data-theme="dark"] .tb .admin-topbar__fiscal-wrap .admin-fiscal__trigger.show {
  background: rgba(154, 178, 173, 0.1) !important;
  color: #e6eceb !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ================================================================
   31. SMALL-SCREEN DROPDOWN FIX
   Force dropdown visibility and interaction on mobile/tablet.
   ================================================================ */
.tb-logo-favicon {
  display: none;
}

@media (max-width: 1024px) {

  .tb,
  .tb-start,
  .tb-end,
  .tb .dropdown {
    overflow: visible !important;
  }

  .tb .dropdown-menu.show:not(.tb-drop-inbox),
  body.admin-shell .dropdown-menu.show:not(.tb-drop-inbox) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 2000 !important;
  }

  .tb .dropdown-menu.tb-drop-inbox.show {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 1075 !important;
  }

  .tb .dropdown-menu.admin-fiscal__menu.tb-drop-sticky.show {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 1075 !important;
  }

  .tb .dropdown-menu.tb-drop-inbox:not(.show),
  .tb .dropdown-menu.tb-drop-sticky:not(.show) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* ================================================================
   34. Small-Screen Header Size + Centering
   ================================================================ */
@media (max-width: 575.98px) {
  .tb {
    height: 58px !important;
    min-height: 58px !important;
    padding-block: 0 !important;
    display: flex;
    align-items: center !important;
  }

  .tb-start,
  .tb-end {
    height: 100%;
    display: inline-flex !important;
    align-items: center !important;
  }

  .tb-toggle,
  .tb-icon-btn,
  .tb-user-btn,
  .tb-ctx-btn,
  .tb-logo {
    align-self: center !important;
  }

  /* Give page content a cleaner offset below fixed header */
  .content-wrapper__main {
    padding-top: 14px !important;
    padding-inline: 12px !important;
  }

  .content-wrapper__main> :first-child {
    margin-top: 2px;
  }
}

/* ================================================================
   35. HARD FINAL LAYOUT LOCK (footer positions)
   ================================================================ */
@media (max-width: 991.98px) {
  .sidebar {
    display: flex !important;
    flex-direction: column !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    padding-bottom: 0 !important;
    transform: translateX(-100%) !important;
  }

  [dir="rtl"] .sidebar {
    transform: translateX(100%) !important;
  }

  .sidebar.show {
    transform: translateX(0) !important;
  }

  /* Needs to out-rank [dir="rtl"] .sidebar above, which otherwise keeps the
     panel parked off the right edge even once .show is on it — in RTL the
     off-canvas nav never slid in. */
  [dir="rtl"] .sidebar.show {
    transform: translateX(0) !important;
  }

  .sidebar-nav {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
  }

  .sidebar-user-footer {
    position: static !important;
    margin-top: auto !important;
    margin-bottom: 0 !important;
    bottom: auto !important;
    inset-block-end: auto !important;
    flex-shrink: 0 !important;
    width: 100%;
  }
}

.dashboard-wrapper {
  min-height: 100dvh !important;
  display: flex !important;
}

.main-content {
  min-height: 100dvh !important;
  height: 100dvh !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100%;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.content-wrapper {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: auto !important;
  display: flex !important;
  flex-direction: column !important;
}

.content-wrapper__main {
  flex: 1 0 auto !important;
}

.content-wrapper>.content-page-footer,
.content-wrapper>.admin-footer.content-page-footer,
.content-wrapper>footer.shell-footer-surface.content-page-footer {
  margin: 0 !important;
  margin-top: auto !important;
  width: 100% !important;
  max-width: none !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
}

@media (max-width: 991.98px) {
  .main-content {
    padding-bottom: 0 !important;
  }

  .main-content>.admin-footer,
  .admin-footer {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* ================================================================
   36. Absolute bottom-gap removal (last resort)
   ================================================================ */
@media (max-width: 991.98px) {

  .sidebar,
  .main-content {
    padding-bottom: 0 !important;
  }

  .sidebar-user-footer {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }

  .admin-footer,
  .main-content>.admin-footer {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }

  .admin-footer-inner {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* Desktop and tablet: shell height; page footer scrolls inside .content-wrapper */
@media (min-width: 992px) {
  .dashboard-wrapper {
    min-height: 100dvh !important;
  }

  .main-content {
    min-height: 100dvh !important;
  }
}

/* ================================================================
   33. Mobile Sidebar Full-Height From Top
   ================================================================ */
@media (max-width: 991.98px) {
  .sidebar {
    top: 0 !important;
    bottom: 0 !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    padding-top: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .sidebar-mobile-header {
    margin-top: 0 !important;
  }

  .sidebar-nav {
    padding-top: 0 !important;
    margin-top: 0 !important;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
  }

  .sidebar-user-footer {
    margin: 0 !important;
    margin-top: auto !important;
    padding: 0 !important;
    position: static !important;
    bottom: auto !important;
    flex-shrink: 0;
  }

  .sidebar-overlay {
    top: 0 !important;
    bottom: 0 !important;
    height: 100dvh !important;
  }
}

@media (max-width: 991.98px) {

  .tb-end .tb-fiscal-slot,
  .tb-end .admin-topbar__fiscal-wrap,
  .tb-end .accounting-fiscal-context {
    display: inline-flex !important;
    align-items: center !important;
    flex-shrink: 0;
    min-width: 0;
  }
}

@media (max-width: 575.98px) {

  /* Mobile logo as favicon-sized mark to avoid crowding */
  .tb-logo-favicon {
    display: none;
  }

  .tb-logo {
    padding: 0 !important;
    gap: 0 !important;
    max-width: var(--tb-control-h);
    min-width: var(--tb-control-h);
    width: var(--tb-control-h);
    justify-content: center;
    overflow: hidden;
  }

  /* Hide wide logo image and show saved holding-group favicon instead */
  .tb-logo-img {
    display: none !important;
  }

  .tb-logo-favicon {
    display: inline-block !important;
    width: calc(var(--tb-control-h) - 0.5rem);
    height: calc(var(--tb-control-h) - 0.5rem);
    border-radius: var(--sys-radius);
    flex: 0 0 calc(var(--tb-control-h) - 0.5rem);
    object-fit: contain;
  }

  .tb-logo-fallback {
    gap: 0 !important;
  }

  .tb-logo-fallback .tb-logo-icon {
    width: 28px !important;
    height: 28px !important;
    border-radius: var(--sys-radius);
  }

  .tb-logo-fallback .tb-logo-text {
    display: none !important;
  }
}

/* ================================================================
   32. Fiscal Control = Topbar Control Style
   Make fiscal period match header items visually and align in row.
   ================================================================ */
.tb .accounting-fiscal-context,
.tb .admin-topbar__fiscal-wrap {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.tb .accounting-fiscal-context .admin-fiscal__trigger,
.tb .admin-topbar__fiscal-wrap .admin-fiscal__trigger {
  height: var(--tb-control-h);
  min-height: var(--tb-control-h);
  padding: 0 0.65rem !important;
  border-radius: var(--sys-radius) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  font-size: var(--tb-font-sm, 0.875rem);
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #64748b !important;
  transition: background 0.15s ease, color 0.15s ease !important;
}

.tb .accounting-fiscal-context .admin-fiscal__trigger:hover,
.tb .accounting-fiscal-context .admin-fiscal__trigger:focus-visible,
.tb .accounting-fiscal-context .admin-fiscal__trigger.show,
.tb .admin-topbar__fiscal-wrap .admin-fiscal__trigger:hover,
.tb .admin-topbar__fiscal-wrap .admin-fiscal__trigger:focus-visible,
.tb .admin-topbar__fiscal-wrap .admin-fiscal__trigger.show {
  background: rgba(7, 10, 9, 0.07) !important;
  color: #334155 !important;
}

[data-theme="dark"] .tb .accounting-fiscal-context .admin-fiscal__trigger,
[data-theme="dark"] .tb .admin-topbar__fiscal-wrap .admin-fiscal__trigger {
  color: #9ab2ad !important;
}

[data-theme="dark"] .tb .accounting-fiscal-context .admin-fiscal__trigger:hover,
[data-theme="dark"] .tb .accounting-fiscal-context .admin-fiscal__trigger:focus-visible,
[data-theme="dark"] .tb .accounting-fiscal-context .admin-fiscal__trigger.show,
[data-theme="dark"] .tb .admin-topbar__fiscal-wrap .admin-fiscal__trigger:hover,
[data-theme="dark"] .tb .admin-topbar__fiscal-wrap .admin-fiscal__trigger:focus-visible,
[data-theme="dark"] .tb .admin-topbar__fiscal-wrap .admin-fiscal__trigger.show {
  background: rgba(154, 178, 173, 0.1) !important;
  color: #e6eceb !important;
}

@media (max-width: 1024px) {

  .tb .accounting-fiscal-context .admin-fiscal__eyebrow,
  .tb .accounting-fiscal-context .admin-fiscal__code-sub,
  .tb .admin-topbar__fiscal-wrap .admin-fiscal__eyebrow,
  .tb .admin-topbar__fiscal-wrap .admin-fiscal__code-sub {
    display: none !important;
  }
}

@media (max-width: 575.98px) {

  /* Fiscal on mobile matches branch switcher compact look */
  .tb .accounting-fiscal-context .admin-fiscal__trigger,
  .tb .admin-topbar__fiscal-wrap .admin-fiscal__trigger {
    height: var(--tb-control-h);
    min-height: var(--tb-control-h);
    max-width: 112px;
    padding-inline: 0.5rem !important;
    border-radius: var(--radius-sm, 8px) !important;
    gap: 4px !important;
  }

  .tb .accounting-fiscal-context .admin-fiscal__trigger-text,
  .tb .admin-topbar__fiscal-wrap .admin-fiscal__trigger-text {
    max-width: 70px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .tb .accounting-fiscal-context .admin-fiscal__chev,
  .tb .admin-topbar__fiscal-wrap .admin-fiscal__chev {
    display: none !important;
  }

  .tb .accounting-fiscal-context .admin-drop-chev,
  .tb .admin-topbar__fiscal-wrap .admin-drop-chev,
  .tb .accounting-fiscal-context .admin-fiscal__trigger .bi-chevron-down,
  .tb .admin-topbar__fiscal-wrap .admin-fiscal__trigger .bi-chevron-down {
    display: none !important;
  }
}

/* ================================================================
   29. IPAD / TABLET TOPBAR NORMALIZATION
   Fix crowded header and dropdown interaction on 768-1024 widths.
   ================================================================ */
@media (min-width: 768px) and (max-width: 1024px) {
  .tb {
    padding-inline: 10px !important;
    gap: 4px !important;
    overflow: visible !important;
  }

  .tb-start,
  .tb-end {
    display: inline-flex !important;
    align-items: center !important;
    min-width: 0;
    overflow: visible !important;
  }

  .tb-end {
    margin-inline-start: auto;
    gap: 2px;
  }

  .tb-end>.d-none.d-md-flex,
  .tb-end>.tb-sep.d-none.d-md-inline-block {
    display: none !important;
  }

  .tb-search-wrap {
    display: none !important;
  }

  .tb-search-toggle {
    display: inline-flex !important;
  }

  .tb-sep {
    display: none !important;
  }

  .tb-ctx-btn {
    max-width: 140px;
    padding-inline: 8px;
  }

  .tb-ctx-text {
    max-width: 80px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .tb-icon-btn,
  .tb-user-btn {
    width: var(--tb-control-h);
    height: var(--tb-control-h);
    min-width: var(--tb-control-h);
    min-height: var(--tb-control-h);
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .tb-user-info,
  .tb-user-caret {
    display: none !important;
  }

  .tb .dropdown,
  .tb .dropdown-menu {
    overflow: visible !important;
  }

  .tb .dropdown-menu {
    z-index: 1085 !important;
  }

  .content-wrapper__main {
    padding-inline: 14px !important;
  }
}

/* ================================================================
   37. Sidebar Footer Lock (final override)
   Keep footer fixed at bottom; scroll only nav area.
   ================================================================ */
.sidebar {
  overflow-y: hidden !important;
}

.sidebar-nav {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
}

.sidebar-user-footer {
  position: sticky !important;
  bottom: 0 !important;
  inset-block-end: 0 !important;
  margin-top: auto !important;
  z-index: 4 !important;
  flex-shrink: 0 !important;
}


/* ── effects.css (457 lines) ── */
/* ============================================================
   effects.css â€” Visual effects & motion layer
   ============================================================ */

/* â”€â”€ 1. Scroll progress bar â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
#scroll-progress {
  position: fixed;
  top: 0;
  inset-inline-start: 0;
  height: 3px;
  width: 0%;
  background: linear-gradient(90deg, #173630, #173630, #2c5a51);
  z-index: 9999;
  transition: width 0.1s linear;
  border-radius: 0 2px 2px 0;
  box-shadow: 0 0 10px rgba(23, 54, 48, 0.6);
}

/* â”€â”€ 2. Page enter â€” staggered fade-up â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(22px);
  }

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

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.93);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-24px);
  }

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

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(24px);
  }

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

.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal.from-left {
  transform: translateX(-20px);
}

.reveal.from-right {
  transform: translateX(20px);
}

.reveal.from-left.visible,
.reveal.from-right.visible {
  transform: translateX(0);
}

/* Stagger helpers */
.reveal-stagger>* {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal-stagger.visible>*:nth-child(1) {
  transition-delay: 0.04s;
}

.reveal-stagger.visible>*:nth-child(2) {
  transition-delay: 0.10s;
}

.reveal-stagger.visible>*:nth-child(3) {
  transition-delay: 0.16s;
}

.reveal-stagger.visible>*:nth-child(4) {
  transition-delay: 0.22s;
}

.reveal-stagger.visible>*:nth-child(5) {
  transition-delay: 0.28s;
}

.reveal-stagger.visible>*:nth-child(6) {
  transition-delay: 0.34s;
}

.reveal-stagger.visible>* {
  opacity: 1;
  transform: translateY(0);
}

/* â”€â”€ 3. Stat / KPI cards â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.stat-card,
.card,
[class*="kpi-card"],
[class*="summary-card"] {
  transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1),
    box-shadow 0.28s ease;
  will-change: transform, box-shadow;
}

.stat-card:hover,
.card:hover {
  transform: translateY(-5px) scale(1.01);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.13), 0 6px 16px rgba(0, 0, 0, 0.07);
}

/* Glowing border on hover â€” gradient sweep */
.stat-card::before,
.card::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, transparent, transparent);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.stat-card {
  position: relative;
}

.card {
  position: relative;
}

.stat-card:hover::before,
.card:hover::before {
  background: linear-gradient(135deg, rgba(28, 62, 56, 0.5), rgba(45, 99, 89, 0.5), rgba(28, 62, 56, 0.5));
  opacity: 1;
}

/* Colored glow by accent variant */
.stat-card[class*="blue"]:hover,
.stat-card .stat-icon-blue:hover {
  box-shadow: 0 0 28px rgba(28, 62, 56, 0.35);
}

.stat-card[class*="green"]:hover {
  box-shadow: 0 0 28px rgba(34, 197, 94, 0.35);
}

.stat-card[class*="amber"]:hover,
.stat-card[class*="warning"]:hover {
  box-shadow: 0 0 28px rgba(245, 158, 11, 0.35);
}

.stat-card[class*="red"]:hover,
.stat-card[class*="danger"]:hover {
  box-shadow: 0 0 28px rgba(239, 68, 68, 0.35);
}

/* â”€â”€ 4. Animated gradient text â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@keyframes gradientShift {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

.gradient-text,
.page-title,
h1.title,
.content-wrapper__main h1:first-child {
  background: linear-gradient(135deg, #173630, #173630, #2c5a51, #173630);
  background-size: 300% 300%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: gradientShift 6s ease infinite;
}

[data-theme="dark"] .gradient-text,
[data-theme="dark"] .page-title,
[data-theme="dark"] h1.title,
[data-theme="dark"] .content-wrapper__main h1:first-child {
  background-image: linear-gradient(135deg, #e5c690, #f1dcb4, #d4b273, #e5c690);
}

/* Button visuals owned by system-buttons.css — keep ripple only. */

/* Ripple element (injected by JS) */
.ripple-wave {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.35);
  transform: scale(0);
  animation: rippleAnim 0.6s linear;
  pointer-events: none;
}

@keyframes rippleAnim {
  to {
    transform: scale(4);
    opacity: 0;
  }
}

/* â”€â”€ 6. Nav link hover â€” sliding underline â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.sidebar-nav .nav-link {
  position: relative;
  overflow: hidden;
}

.sidebar-nav .nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  inset-inline-start: 0;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, #173630, #173630);
  transition: width 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  border-radius: 1px;
}

.sidebar-nav .nav-link:hover::after {
  width: 100%;
}

.sidebar-nav .nav-link.active::after {
  display: none;
  width: 0;
}

/* Active rail defined in dashboard.css â€” no pulse override */
.sidebar-nav .nav-link.active {
  animation: none;
}

/* â”€â”€ 7. Table rows â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@keyframes rowSlideIn {
  from {
    opacity: 0;
    transform: translateX(-8px);
  }

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

.table tbody tr {
  transition: background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
  position: relative;
}

.table tbody tr:hover {
  transform: translateX(3px);
  box-shadow: -3px 0 0 #173630;
  background-color: rgba(23, 54, 48, 0.05) !important;
  z-index: 1;
}

[dir="rtl"] .table tbody tr:hover {
  transform: translateX(-3px);
  box-shadow: 3px 0 0 #173630;
}

/* Stagger rows on load */
.table-animate tbody tr {
  animation: rowSlideIn 0.35s both;
}

.table-animate tbody tr:nth-child(1) {
  animation-delay: 0.03s;
}

.table-animate tbody tr:nth-child(2) {
  animation-delay: 0.06s;
}

.table-animate tbody tr:nth-child(3) {
  animation-delay: 0.09s;
}

.table-animate tbody tr:nth-child(4) {
  animation-delay: 0.12s;
}

.table-animate tbody tr:nth-child(5) {
  animation-delay: 0.15s;
}

.table-animate tbody tr:nth-child(6) {
  animation-delay: 0.18s;
}

.table-animate tbody tr:nth-child(7) {
  animation-delay: 0.21s;
}

.table-animate tbody tr:nth-child(8) {
  animation-delay: 0.24s;
}

.table-animate tbody tr:nth-child(n+9) {
  animation-delay: 0.27s;
}

/* â”€â”€ 8. Dropdown spring entrance â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@keyframes dropIn {
  from {
    opacity: 0;
    transform: scale(0.9) translateY(-8px);
  }

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

.dropdown-menu.show,
.dropdown-menu[style*="display: block"] {
  animation: dropIn 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) both;
  transform-origin: top center;
}

[dir="rtl"] .dropdown-menu.show {
  transform-origin: top right;
}

/* â”€â”€ 9. Badge pulse animation (notification / topbar badges only) â”€â”€ */
@keyframes badgePulse {

  0%,
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.5);
  }

  50% {
    transform: scale(1.12);
    box-shadow: 0 0 0 5px rgba(239, 68, 68, 0);
  }
}

.badge:not(.badge-static):not([data-hg-active-badge]),
.tb-badge:not(.badge-static) {
  animation: badgePulse 2.8s ease infinite;
}

/* â”€â”€ 10. Modal entrance â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@keyframes modalSlideUp {
  from {
    opacity: 0;
    transform: translateY(30px) scale(0.97);
  }

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

.modal.show .modal-dialog {
  animation: modalSlideUp 0.35s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.modal-backdrop.show {
  animation: fadeIn 0.2s ease both;
}

/* â”€â”€ 11. Topbar ambient glow streak â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@keyframes topbarGlow {
  0% {
    opacity: 0.4;
    transform: translateX(-100%) skewX(-20deg);
  }

  100% {
    opacity: 0;
    transform: translateX(400%) skewX(-20deg);
  }
}

.tb::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 30%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(23, 54, 48, 0.06), transparent);
  animation: topbarGlow 8s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}

/* â”€â”€ 12. Skeleton shimmer (loading state) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }

  100% {
    background-position: 200% 0;
  }
}

.skeleton {
  background: linear-gradient(90deg,
      var(--bg-tertiary, #f0f0f0) 25%,
      var(--bg-secondary, #e0e0e0) 50%,
      var(--bg-tertiary, #f0f0f0) 75%);
  background-size: 200% 100%;
  animation: shimmer 1.6s infinite;
  border-radius: 6px;
}

.skeleton-text {
  height: 1em;
  margin-bottom: 0.5em;
}

.skeleton-title {
  height: 1.4em;
  width: 60%;
  margin-bottom: 1em;
}

.skeleton-avatar {
  height: 40px;
  width: 40px;
  border-radius: 50%;
}

/* â”€â”€ 13. Form input focus glow â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.form-control,
.form-select {
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.form-control:focus,
.form-select:focus {
  transform: none;
  box-shadow: 0 0 0 1px rgba(23, 54, 48, 0.35) !important;
}

/* â”€â”€ 14. Sidebar avatar â€” rotating gradient ring â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.sidebar-user-avatar,
.tb-user-avatar,
.admin-user-avatar {
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.sidebar-user-avatar:hover,
.tb-user-avatar:hover,
.admin-user-avatar:hover {
  transform: scale(1.12);
}

/* Rotating gradient ring */
@keyframes spinGradient {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.sidebar-user-avatar,
.tb-user-avatar {
  position: relative;
}

.sidebar-user-avatar::before,
.tb-user-avatar::before {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  background: conic-gradient(#173630, #173630, #2c5a51, #2c5a51, #173630);
  z-index: -1;
  opacity: 0;
  animation: spinGradient 3s linear infinite;
  transition: opacity 0.3s ease;
}

.sidebar-user-avatar:hover::before,
.tb-user-avatar:hover::before {
  opacity: 1;
}

/* â”€â”€ 15. Count-up number flash â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@keyframes numFlash {
  0% {
    color: inherit;
  }

  50% {
    color: var(--adm-brand-600, #173630);
    text-shadow: 0 0 12px rgba(23, 54, 48, 0.5);
  }

  100% {
    color: inherit;
  }
}

.count-up {
  animation: numFlash 0.5s ease;
}

/* â”€â”€ 16. Notification dot breathing â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@keyframes breathe {

  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(23, 54, 48, 0.5);
  }

  50% {
    box-shadow: 0 0 0 6px rgba(23, 54, 48, 0);
  }
}

.tb-notif-dot,
[class*="notif-dot"],
[class*="status-dot"] {
  animation: breathe 2s ease infinite;
}

/* â”€â”€ 17. Icon hover bounce â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.tb-icon-btn:hover i,
.tb-icon-btn:hover svg,
.admin-icon-btn:hover i,
.sidebar-nav .nav-link:hover i {
  animation: iconBounce 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes iconBounce {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.25) rotate(-5deg);
  }

  100% {
    transform: scale(1) rotate(0deg);
  }
}

/* â”€â”€ 18. Alert / toast entrance â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@keyframes toastSlide {
  from {
    opacity: 0;
    transform: translateX(100%) scale(0.9);
  }

  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

.toast-top-right .toast,
.toast-top-left .toast {
  animation: toastSlide 0.35s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* â”€â”€ 19. Floating labels lift â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.form-floating>label {
  transition: opacity 0.2s ease, transform 0.2s ease, color 0.2s ease;
}

.form-floating>.form-control:focus~label,
.form-floating>.form-control:not(:placeholder-shown)~label {
  color: var(--adm-brand-600, #173630);
}

/* â”€â”€ 20. Smooth page content wrapper â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.content-wrapper {
  animation: fadeUp 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* â”€â”€ 21. Topbar icon buttons â€” magnetic hover â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.tb-icon-btn,
.admin-icon-btn {
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1),
    background-color 0.18s ease,
    box-shadow 0.18s ease;
}

.tb-icon-btn:hover,
.admin-icon-btn:hover {
  transform: translateY(-2px) scale(1.08);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.tb-icon-btn:active,
.admin-icon-btn:active {
  transform: scale(0.94);
}

/* â”€â”€ 22. Card number counter animation â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.stat-value,
[class*="stat-number"],
[class*="kpi-value"] {
  display: inline-block;
  transition: color 0.3s ease;
}

/* â”€â”€ 23. Sidebar section separator glow â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.sidebar-nav .nav-section:not(:first-child) {
  position: relative;
}

.sidebar-nav .nav-section:not(:first-child)::before {
  content: '';
  position: absolute;
  top: 0;
  inset-inline-start: 12px;
  inset-inline-end: 12px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(23, 54, 48, 0.3), transparent);
}

/* â”€â”€ 24. Quick action card gradient border â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.quick-action-card,
[class*="action-card"] {
  position: relative;
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.25s ease;
}

.quick-action-card:hover,
[class*="action-card"]:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 16px 36px rgba(23, 54, 48, 0.18);
}

/* â”€â”€ 25. Scroll to top button â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
#scroll-to-top {
  position: fixed;
  bottom: 28px;
  inset-inline-end: 24px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, #173630, #173630);
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(23, 54, 48, 0.4);
  opacity: 0;
  transform: translateY(12px) scale(0.8);
  transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  z-index: 1050;
  font-size: 1rem;
}

#scroll-to-top.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

#scroll-to-top:hover {
  transform: translateY(-3px) scale(1.1);
  box-shadow: 0 8px 24px rgba(23, 54, 48, 0.5);
}

/* â”€â”€ prefers-reduced-motion â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */



/* ---- admin console base cont. (from former global.css: ui-controls, hijri-datepicker, admin-pages) ---- */
/* ── ui-controls.css (43 lines) ── */
.ts-wrapper.single .ts-control,
.ts-wrapper.multi .ts-control {
  min-height: 42px;
  border-radius: var(--sys-radius);
  border-color: var(--sys-border-subtle);
  box-shadow: none;
  background: var(--sys-surface-card);
  padding-top: .45rem;
  padding-bottom: .45rem;
}

.ts-wrapper.focus .ts-control {
  border-color: var(--accent-primary-500, #122b26);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-primary-500, #122b26) 20%, transparent 80%);
}

.ts-dropdown {
  border-radius: var(--sys-radius);
  border: 1px solid var(--sys-border-subtle);
  overflow: hidden;
  box-shadow: var(--sys-shadow-md);
}

.ts-dropdown .active {
  background: color-mix(in srgb, var(--accent-primary-500, #122b26) 16%, transparent 84%);
}

.ts-option-check {
  color: var(--accent-primary-500, #122b26);
  font-weight: 700;
}

/* Tom Select in dark mode. The control's background already follows a token, but
   the vendor stylesheet paints the selected value, the typed text and the whole
   dropdown in fixed light-theme colours — so every select in every form showed
   its value as #343a40 on a dark field. The dropdown can be appended to <body>,
   so these do not require the admin shell as an ancestor. */
html[data-theme="dark"] .ts-wrapper .ts-control,
html[data-theme="dark"] .ts-wrapper .ts-control > .item,
html[data-theme="dark"] .ts-wrapper .ts-control > input {
  color: var(--adm-text, #f4f6f6);
}

html[data-theme="dark"] .ts-wrapper .ts-control > input::placeholder {
  color: var(--adm-text-muted-ui, #9ab2ad);
}

html[data-theme="dark"] .ts-wrapper.multi .ts-control > .item {
  background: var(--adm-bg-surface-3, #254840);
  border-color: var(--adm-border-strong, rgba(154, 178, 173, 0.24));
}

html[data-theme="dark"] .ts-dropdown {
  background: var(--adm-bg-surface, #070b0a);
  border-color: var(--adm-border, rgba(154, 178, 173, 0.14));
  color: var(--adm-text, #f4f6f6);
}

html[data-theme="dark"] .ts-dropdown .option,
html[data-theme="dark"] .ts-dropdown .create,
html[data-theme="dark"] .ts-dropdown .no-results {
  color: var(--adm-text, #f4f6f6);
}

html[data-theme="dark"] .ts-dropdown .active {
  color: var(--adm-text, #f4f6f6);
}

html[data-theme="dark"] .ts-dropdown .optgroup-header {
  background: var(--adm-bg-surface-2, #1e3b34);
  color: var(--adm-text-muted-ui, #9ab2ad);
}

.flatpickr-calendar {
  border: 1px solid var(--sys-border-subtle);
  border-radius: var(--sys-radius);
  box-shadow: var(--sys-shadow-md);
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background: var(--accent-primary-500, #122b26);
  border-color: var(--accent-primary-500, #122b26);
}

.ui-hijri-hint {
  margin-top: .25rem;
  font-size: .78rem;
  color: var(--text-muted);
}


/* ── company-hijri-datepicker.css (9 lines) ── */
.company-date-input .company-date-field {
  width: 100%;
}

.company-date-input .company-date-hint {
  margin-top: 0.25rem;
}

.company-date-input input[type="date"] {
  width: 100%;
}


/* ── admin-pages.css (566 lines) ── */
/* ================================================================
   admin-pages.css â€” Professional page layout & UI components
   Scoped to .dashboard-wrapper to avoid bleed into store shell
   ================================================================ */

/* â”€â”€â”€ Page Header â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.page-header {
  margin-bottom: 1.75rem;
}

.page-header .page-title {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--adm-text-strong);
  line-height: 1.3;
  margin-bottom: 0.25rem;
}

.page-header .page-subtitle {
  font-size: 0.875rem;
  color: var(--adm-text-muted-ui);
  margin-bottom: 0;
  line-height: 1.5;
}

/* â”€â”€â”€ Breadcrumb â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.adm-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 0;
  margin: 0 0 0.5rem;
  list-style: none;
  font-size: 0.79rem;
  line-height: 1;
}

.adm-breadcrumb-item {
  display: inline-flex;
  align-items: center;
  color: var(--adm-text-muted-ui);
}

.adm-breadcrumb-item+.adm-breadcrumb-item::before {
  content: "/";
  padding: 0 0.45rem;
  color: var(--adm-border-strong);
  font-weight: 400;
  speak: none;
}

[dir="rtl"] .adm-breadcrumb-item+.adm-breadcrumb-item::before {
  content: "\005C";
}

.adm-breadcrumb-item a {
  color: var(--adm-brand-600);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.13s ease;
}

.adm-breadcrumb-item a:hover {
  color: var(--accent-primary-600);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.adm-breadcrumb-item.active {
  color: var(--adm-text-muted-ui);
  font-weight: 400;
}

/* â”€â”€â”€ Content Card â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.content-card {
  background: var(--adm-bg-surface);
  border: 1px solid var(--adm-border);
  border-radius: var(--adm-radius-lg);
  box-shadow: var(--adm-shadow-sm);
  padding: 1.75rem 2rem;
}

/* Narrow variant: constrained width for single-column forms */
.content-card-narrow {
  max-width: 860px;
}

/* Table card: flush table edges with rounded overflow */
.content-card.p-0 {
  overflow: hidden;
}

/* Card sub-header (title + actions row inside a card) */
.content-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding-bottom: 1rem;
  margin-bottom: 1.25rem;
  border-bottom: 1px solid var(--adm-border-subtle);
}

.content-card-header .card-label {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--adm-text-strong);
  margin: 0;
  text-transform: none;
  letter-spacing: 0;
}

/* â”€â”€â”€ Section Divider & Label â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.section-hr {
  border: 0;
  border-top: 1px solid var(--adm-border-subtle);
  opacity: 1;
  margin: 1.625rem 0;
}

.section-title {
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--adm-text-muted-ui);
  margin-bottom: 1rem;
  margin-top: 0;
}

/* â”€â”€â”€ Form Controls â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-wrapper .form-control,
.dashboard-wrapper .form-select {
  background-color: var(--input-bg);
  border-color: var(--input-border, #e2e8f0);
  border-radius: var(--sys-radius-sm);
  min-height: 42px;
  font-size: 0.9rem;
  color: var(--adm-text-strong);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  box-shadow: none;
}

.dashboard-wrapper .form-control:focus,
.dashboard-wrapper .form-select:focus {
  border-color: var(--input-focus-border, #173630);
  box-shadow: 0 0 0 1px var(--input-focus-ring, rgba(23, 54, 48, 0.35));
  background-color: var(--input-bg);
  outline: 0;
}

.dashboard-wrapper .form-control::placeholder {
  color: var(--adm-text-muted-ui);
  opacity: 0.65;
}

.dashboard-wrapper .form-control.is-invalid,
.dashboard-wrapper .form-select.is-invalid {
  border-color: var(--adm-danger);
  box-shadow: none;
}

.dashboard-wrapper .form-control.is-invalid:focus,
.dashboard-wrapper .form-select.is-invalid:focus {
  box-shadow: 0 0 0 1px var(--adm-danger-soft);
}

.dashboard-wrapper .form-control[readonly] {
  background-color: var(--adm-bg-surface-2);
  color: var(--adm-text-muted-ui);
}

.dashboard-wrapper .form-control-sm,
.dashboard-wrapper .form-select-sm {
  min-height: 36px;
  font-size: 0.84rem;
  border-radius: var(--sys-radius-xs);
}

/* Form label */
.dashboard-wrapper .form-label {
  font-size: 0.84375rem;
  font-weight: 500;
  color: var(--adm-text-secondary);
  margin-bottom: 0.375rem;
}

/* Form text / hint */
.dashboard-wrapper .form-text {
  color: var(--adm-text-muted-ui);
  font-size: 0.79rem;
}

/* Validation messages */
.dashboard-wrapper span.text-danger.small,
.dashboard-wrapper .field-validation-error {
  font-size: 0.79rem;
  color: var(--adm-danger);
  margin-top: 0.25rem;
  display: block;
}

/* Validation summary */
.dashboard-wrapper .validation-summary-errors {
  background: var(--adm-danger-soft);
  border: 1px solid var(--adm-danger);
  border-radius: var(--sys-radius-sm);
  padding: 0.75rem 1rem;
  color: var(--adm-danger);
  font-size: 0.875rem;
  margin-bottom: 1rem;
}

.dashboard-wrapper .validation-summary-errors ul {
  margin: 0;
  padding-left: 1.25rem;
}

[dir="rtl"] .dashboard-wrapper .validation-summary-errors ul {
  padding-left: 0;
  padding-right: 1.25rem;
}

/* â”€â”€â”€ Input Group â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-wrapper .input-group-text {
  background-color: var(--adm-bg-surface-2);
  border-color: var(--input-border, #e2e8f0);
  color: var(--adm-text-muted-ui);
  font-size: 0.875rem;
  min-height: 42px;
}

.dashboard-wrapper .input-group .form-control-sm~.input-group-text,
.dashboard-wrapper .input-group-sm .input-group-text {
  min-height: 36px;
  font-size: 0.84rem;
}

/* â”€â”€â”€ Buttons â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-wrapper .btn {
  font-weight: 500;
  font-size: 0.875rem;
  border-radius: var(--adm-radius-sm);
  padding: 0.5rem 1.125rem;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  transition: background-color 0.15s ease, border-color 0.15s ease,
    box-shadow 0.15s ease, transform 0.1s ease;
  line-height: 1;
}

.dashboard-wrapper .btn:active {
  transform: scale(0.97);
}

/* Primary/outline button colors owned by system-buttons.css */

/* Outline Secondary */
.dashboard-wrapper .btn-outline-secondary {
  border-color: var(--adm-border-strong);
  color: var(--adm-text-secondary);
  background: transparent;
}

.dashboard-wrapper .btn-outline-secondary:hover {
  background-color: var(--adm-bg-surface-3);
  border-color: var(--adm-border-strong);
  color: var(--adm-text-strong);
}

/* Outline Primary */
.dashboard-wrapper .btn-outline-primary {
  color: var(--adm-brand-600);
  border-color: var(--adm-brand-600);
  background: transparent;
}

.dashboard-wrapper .btn-outline-primary:hover {
  background-color: color-mix(in srgb, var(--adm-brand-600) 10%, transparent 90%);
  color: var(--adm-brand-600);
  border-color: var(--adm-brand-600);
}

/* Outline Danger */
.dashboard-wrapper .btn-outline-danger {
  color: var(--adm-danger);
  border-color: var(--adm-danger);
  background: transparent;
}

.dashboard-wrapper .btn-outline-danger:hover {
  background-color: var(--adm-danger-soft);
  color: var(--adm-danger);
  border-color: var(--adm-danger);
}

/* Small variant */
.dashboard-wrapper .btn-sm {
  font-size: 0.8125rem;
  padding: 0.3125rem 0.75rem;
  min-height: 32px;
  border-radius: var(--adm-radius-xs);
}

/* Link button */
.dashboard-wrapper .btn-link {
  color: var(--adm-brand-600);
  text-decoration: none;
  padding-left: 0;
  padding-right: 0;
  min-height: auto;
}

.dashboard-wrapper .btn-link:hover {
  color: var(--accent-primary-600);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* â”€â”€â”€ Form Actions Row â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.form-actions {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding-top: 1.25rem;
  margin-top: 0.5rem;
  border-top: 1px solid var(--adm-border-subtle);
}

/* â”€â”€â”€ Form Check / Switch â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-wrapper .form-check-input:checked {
  background-color: var(--adm-brand-600);
  border-color: var(--adm-brand-600);
}

.dashboard-wrapper .form-check-input:focus {
  box-shadow: 0 0 0 3px var(--adm-focus-ring);
  border-color: var(--adm-brand-600);
}

.dashboard-wrapper .form-check-label {
  font-size: 0.875rem;
  color: var(--adm-text-secondary);
}

/* Branch activation tiles */
.dashboard-wrapper .form-check.border {
  border-color: var(--adm-border) !important;
  background: var(--adm-bg-surface-2);
  transition: border-color 0.13s ease, background 0.13s ease;
}

.dashboard-wrapper .form-check.border:has(.form-check-input:checked) {
  border-color: var(--adm-brand-600) !important;
  background: color-mix(in srgb, var(--adm-brand-600) 7%, var(--adm-bg-surface) 93%);
}

/* â”€â”€â”€ Table â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-wrapper .table {
  --bs-table-bg: var(--adm-bg-surface);
  --bs-table-border-color: var(--adm-border-subtle);
  font-size: 0.875rem;
}

.dashboard-wrapper .table-light {
  --bs-table-bg: var(--adm-bg-surface-2);
  --bs-table-color: var(--adm-text-secondary);
}

.dashboard-wrapper .table thead th {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--adm-text-muted-ui);
  border-bottom-width: 1px;
  padding: 0.625rem 0.875rem;
  white-space: nowrap;
}

.dashboard-wrapper .table td {
  border-color: var(--adm-border-subtle);
  padding: 0.5625rem 0.875rem;
  vertical-align: middle;
}

/* Hover row highlight for all data tables */
.dashboard-wrapper .table-hover>tbody>tr:hover>td,
.dashboard-wrapper .table-hover>tbody>tr:hover>th {
  --bs-table-bg-state: color-mix(in srgb, var(--adm-brand-600) 4%, transparent 96%);
}

/* Action column â€” keep buttons on one line */
.dashboard-wrapper .table td.text-nowrap,
.dashboard-wrapper .table th.text-nowrap {
  white-space: nowrap;
}

/* Empty state inside a table card */
.dashboard-wrapper .table-empty-state {
  padding: 3rem 1.5rem;
  text-align: center;
  color: var(--adm-text-muted-ui);
  font-size: 0.875rem;
}

.dashboard-wrapper .table-empty-state .bi {
  font-size: 2rem;
  display: block;
  margin-bottom: 0.5rem;
  opacity: 0.4;
}

/* Status badge helpers used in tables */
.badge.status-active {
  --bs-badge-bg: var(--adm-success);
}

.badge.status-inactive {
  --bs-badge-bg: var(--adm-border-strong);
  color: var(--adm-text-secondary);
}

/* Compact table variant for inline line-editors */
.dashboard-wrapper .table-compact thead th,
.dashboard-wrapper .table-compact td {
  padding: 0.3125rem 0.625rem;
}

/* â”€â”€â”€ Page stats / KPI strip â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.kpi-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.kpi-card {
  flex: 1 1 160px;
  background: var(--adm-bg-surface);
  border: 1px solid var(--adm-border);
  border-radius: var(--adm-radius-md);
  padding: 1rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  box-shadow: var(--adm-shadow-sm);
  transition: box-shadow 0.15s ease;
}

.kpi-card:hover {
  box-shadow: var(--adm-shadow-md, 0 4px 16px rgba(0, 0, 0, 0.08));
}

.kpi-card .kpi-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--adm-text-muted-ui);
}

.kpi-card .kpi-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--adm-text-strong);
  line-height: 1.2;
}

.kpi-card .kpi-sub {
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui);
}

/* â”€â”€â”€ Alert improvements â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-wrapper .alert-info {
  background: var(--adm-info-soft);
  border-color: var(--adm-info);
  color: var(--adm-text-secondary);
  border-radius: var(--adm-radius-sm);
  font-size: 0.875rem;
}

/* â”€â”€â”€ UOM multi box â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-wrapper .uom-multi-box {
  background: var(--adm-bg-surface-2);
  border-color: var(--adm-border) !important;
  border-radius: var(--adm-radius-md) !important;
}

/* â”€â”€â”€ Unified file / image drop zone â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-wrapper .file-dropzone,
.dashboard-wrapper .product-image-drop {
  border: 2px dashed var(--adm-border-strong);
  border-radius: var(--adm-radius-md);
  padding: 2rem 1rem;
  cursor: pointer;
  text-align: center;
  background: var(--adm-bg-surface-2);
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.dashboard-wrapper .file-dropzone:hover,
.dashboard-wrapper .file-dropzone:focus,
.dashboard-wrapper .product-image-drop:hover,
.dashboard-wrapper .product-image-drop:focus {
  border-color: var(--adm-brand-600);
  background: color-mix(in srgb, var(--adm-brand-600) 5%, transparent 95%);
  box-shadow: 0 0 0 3px var(--adm-focus-ring);
  outline: none;
}

.dashboard-wrapper .file-dropzone.is-dragover,
.dashboard-wrapper .product-image-drop.is-dragover {
  border-color: var(--adm-brand-600);
  background: color-mix(in srgb, var(--adm-brand-600) 8%, transparent 92%);
  box-shadow: 0 0 0 4px var(--adm-focus-ring);
}

.dashboard-wrapper .file-dropzone .dropzone-icon,
.dashboard-wrapper .product-image-drop .bi-image {
  font-size: 2rem;
  color: var(--adm-text-muted-ui);
  display: block;
  margin-bottom: 0.5rem;
}

.dashboard-wrapper .file-dropzone .dropzone-text {
  font-size: 0.84rem;
  color: var(--adm-text-muted-ui);
}

/* File preview card */
.dashboard-wrapper .file-preview {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  background: var(--adm-bg-surface-2);
  border: 1px solid var(--adm-border);
  border-radius: var(--adm-radius-sm);
  margin-top: 0.75rem;
}

.dashboard-wrapper .file-preview img {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: var(--adm-radius-sm);
  border: 1px solid var(--adm-border);
}

.dashboard-wrapper .file-preview .file-preview-actions {
  margin-inline-start: auto;
  display: flex;
  gap: 0.375rem;
}

/* â”€â”€â”€ Image preview (product / entity images) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-wrapper .image-preview-wrap {
  position: relative;
  max-width: 280px;
  margin-inline: auto;
  text-align: center;
}

.dashboard-wrapper .image-preview-wrap img {
  width: 100%;
  max-height: 200px;
  object-fit: contain;
  border-radius: var(--adm-radius-sm);
  border: 1px solid var(--adm-border);
  background: var(--adm-bg-surface-2);
}

.dashboard-wrapper .image-preview-actions {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

/* â”€â”€â”€ Dark theme overrides â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[data-theme="dark"] .content-card {
  background: var(--adm-bg-surface);
  border-color: var(--adm-border);
}

[data-theme="dark"] .dashboard-wrapper .form-control,
[data-theme="dark"] .dashboard-wrapper .form-select {
  background-color: var(--adm-bg-surface-2);
  border-color: var(--adm-border);
  color: var(--adm-text-strong);
}

[data-theme="dark"] .dashboard-wrapper .form-control[readonly] {
  background-color: var(--adm-bg-surface-3);
}

[data-theme="dark"] .dashboard-wrapper .input-group-text {
  background-color: var(--adm-bg-surface-3);
  border-color: var(--adm-border);
}

[data-theme="dark"] .dashboard-wrapper .uom-multi-box {
  background: var(--adm-bg-surface-2);
}

[data-theme="dark"] .dashboard-wrapper .form-check.border {
  background: var(--adm-bg-surface-2);
}

[data-theme="dark"] .kpi-card {
  background: var(--adm-bg-surface);
  border-color: var(--adm-border);
}

[data-theme="dark"] .dashboard-wrapper .table {
  --bs-table-bg: var(--adm-bg-surface);
  --bs-table-border-color: var(--adm-border);
}

[data-theme="dark"] .dashboard-wrapper .table-light {
  --bs-table-bg: var(--adm-bg-surface-2);
}

/* â”€â”€â”€ Responsive: stack page-header on narrow screens â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 575.98px) {
  .page-header.d-flex {
    flex-direction: column;
    align-items: flex-start !important;
  }

  .page-header .d-flex.gap-2 {
    width: 100%;
    flex-wrap: wrap;
  }

  .content-card {
    padding: 1.25rem 1rem;
  }
}

/* ── Flat module form UI: no card/button/input decorative halos ── */
.dashboard-wrapper [class*="-module-page"] .card,
.dashboard-wrapper [class*="-module-page"] .card:hover,
.dashboard-wrapper [class*="-module-page"] .stat-card,
.dashboard-wrapper [class*="-module-page"] .stat-card:hover,
.dashboard-wrapper [class*="-module-page"] [class*="kpi-card"],
.dashboard-wrapper [class*="-module-page"] [class*="summary-card"],
.dashboard-wrapper [class*="-module-page"] [class*="summary-card"]:hover {
  transform: none !important;
  box-shadow: none !important;
}

.dashboard-wrapper [class*="-module-page"] .card::before,
.dashboard-wrapper [class*="-module-page"] .card:hover::before,
.dashboard-wrapper [class*="-module-page"] .stat-card::before,
.dashboard-wrapper [class*="-module-page"] .stat-card:hover::before {
  display: none !important;
  opacity: 0 !important;
}

.dashboard-wrapper [class*="-module-page"] .btn,
.dashboard-wrapper [class*="-module-page"] .btn:hover,
.dashboard-wrapper [class*="-module-page"] .btn:active,
.dashboard-wrapper [class*="-module-page"] .btn:focus-visible {
  transform: none !important;
  box-shadow: none !important;
}

.dashboard-wrapper [class*="-module-page"] .btn::after {
  display: none !important;
}

.dashboard-wrapper [class*="-module-page"] .form-control:focus,
.dashboard-wrapper [class*="-module-page"] .form-select:focus {
  transform: none !important;
  box-shadow: none !important;
  outline: none;
}

.dashboard-wrapper [class*="-module-page"] .form-card {
  box-shadow: none !important;
}


/* ---- store.css ---- */
/* Diwan storefront + shell — theme tokens, responsive, RTL-friendly.
 * Loaded on public pages and on the admin console (_AdminLayout) for shared design tokens.
 * Admin-specific layout/density lives in admin-dashboard.css (body.admin-shell); avoid duplicating the same overrides in both files. */

:root {
  --store-font-sans: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  --store-radius: 14px;
  --store-radius-sm: 10px;
  --store-shadow: 0 18px 50px rgba(7, 10, 9, 0.12);
  --store-shadow-soft: 0 10px 30px rgba(7, 10, 9, 0.08);
  --store-transition: 0.22s ease;
  /* Page column: same max-width + horizontal padding as header & footer */
  --store-content-max-width: 1200px;
  /* Horizontal inset for header · main · footer (also drives Bootstrap .container gutters on store-shell) */
  --store-gutter-x: 0.625rem;
  /* Fixed header: collapsed bar + open menu safe margin on small screens */
  --store-header-offset: 5.75rem;
}

/* Locale fonts — `lang` on <html> is set in _Layout (ar / en); Google Fonts loaded per locale */
html[lang|="ar"] {
  --store-font-sans: "Cairo", "Segoe UI", system-ui, -apple-system, sans-serif;
  --bs-font-sans-serif: "Cairo", "Segoe UI", system-ui, -apple-system, sans-serif;
  --bs-body-font-family: var(--bs-font-sans-serif);
}

html[lang|="en"] {
  --store-font-sans: "Source Sans 3", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  --bs-font-sans-serif: "Source Sans 3", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  --bs-body-font-family: var(--bs-font-sans-serif);
}

.store-page-x {
  width: 100%;
  max-width: var(--store-content-max-width);
  margin-inline: auto;
  padding-inline: var(--store-gutter-x);
  box-sizing: border-box;
}

/* Inner pages: same max width column as header/footer (horizontal padding via --bs-gutter-x on body.store-shell) */
body.store-shell .container {
  max-width: var(--store-content-max-width);
}

html {
  scroll-padding-top: var(--store-header-offset);
}

[data-theme="light"] {
  color-scheme: light;
  --store-bg: #f3f7f6;
  --store-bg-elevated: #ffffff;
  --store-text: #070a09;
  --store-text-muted: #475569;
  --store-border: rgba(7, 10, 9, 0.08);
  --store-brand: var(--accent-primary-500, #173630);
  --store-brand-2: var(--accent-primary-600, #122b26);
  --store-accent: #17332e;
  --store-hero-bg: radial-gradient(1200px 600px at 10% -10%, rgba(23, 54, 48, 0.18), transparent 55%), radial-gradient(900px 500px at 90% 0%, rgba(23, 54, 48, 0.16), transparent 50%), linear-gradient(180deg, #eef8f6 0%, #f8fafc 40%, #f3f7f6 100%);
  --store-nav-bg: rgba(255, 255, 255, 0.82);
  --store-card: #ffffff;
  --store-chip: rgba(23, 54, 48, 0.1);
}

[data-theme="dark"] {
  color-scheme: dark;
  --store-bg: #050807;
  --store-bg-elevated: #070b0a;
  --store-text: #e0efed;
  --store-text-muted: #adc2bd;
  --store-border: rgba(154, 178, 173, 0.14);
  --store-brand: var(--accent-primary-400, #3f7a6e);
  --store-brand-2: var(--accent-primary-500, #2c5a51);
  --store-accent: #5ee7df;
  --store-hero-bg: radial-gradient(900px 500px at 15% -20%, rgba(57, 138, 123, 0.22), transparent 55%), radial-gradient(700px 400px at 85% 10%, rgba(23, 54, 48, 0.18), transparent 50%), linear-gradient(180deg, #050807 0%, #070a09 55%, #050807 100%);
  --store-nav-bg: rgba(7, 10, 9, 0.75);
  --store-card: #070b0a;
  --store-chip: rgba(57, 138, 123, 0.12);
}

html,
body {
  font-family: var(--store-font-sans);
}

body.store-shell {
  background: var(--store-bg);
  color: var(--store-text);
  min-height: 100vh;
  margin: 0;
  display: flex;
  flex-direction: column;
  /* Bootstrap .container uses padding = 0.5 * --bs-gutter-x per side */
  --bs-gutter-x: calc(var(--store-gutter-x) * 2);
}

.store-site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
}

.store-nav {
  backdrop-filter: blur(16px);
  background: var(--store-nav-bg) !important;
  border-bottom: 1px solid var(--store-border) !important;
  box-shadow: 0 4px 28px rgba(7, 10, 9, 0.1);
}

.store-nav-tall {
  min-height: 4.25rem;
}

[data-theme="dark"] .store-nav {
  box-shadow: 0 4px 28px rgba(0, 0, 0, 0.35);
}

.store-nav-bar {
  padding-block: 0.75rem;
}

.store-nav-toggler {
  border: 1px solid var(--store-border) !important;
  border-radius: var(--sys-radius);
  padding: 0.45rem 0.65rem;
}

.store-nav-collapse .store-nav-toolbar {
  flex-shrink: 0;
}

.store-nav .navbar-brand,
.store-brand {
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--store-text) !important;
  text-decoration: none !important;
}

.store-brand-text {
  font-size: clamp(1.1rem, 2.2vw, 1.35rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--store-text);
}

.store-brand-mark {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  filter: drop-shadow(0 6px 14px rgba(23, 54, 48, 0.35));
}

.store-nav-links {
  gap: 0.35rem;
}

.store-nav-link {
  display: inline-flex;
  align-items: center;
  color: var(--store-text-muted) !important;
  font-weight: 600;
  font-size: clamp(0.9rem, 1.6vw, 1.02rem);
  border-radius: var(--sys-radius);
  padding: 0.55rem 0.8rem !important;
  text-decoration: none !important;
}

.store-nav-link:hover,
.store-nav-link:focus {
  color: var(--store-text) !important;
  background: rgba(23, 54, 48, 0.08);
}

[data-theme="dark"] .store-nav-link:hover,
[data-theme="dark"] .store-nav-link:focus {
  background: rgba(69, 151, 136, 0.12);
}

.store-nav-ico {
  opacity: 0.85;
}

.btn-lang-pill {
  border: 1px solid var(--store-border);
  border-radius: var(--sys-radius);
  padding: 0.4rem 0.85rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--store-text-muted);
  background: var(--store-bg-elevated);
  text-decoration: none;
  transition: border-color var(--store-transition), color var(--store-transition), box-shadow var(--store-transition);
}

.btn-lang-pill:hover {
  border-color: rgba(23, 54, 48, 0.45);
  color: var(--store-text);
  box-shadow: 0 4px 14px rgba(23, 54, 48, 0.12);
}

.btn-lang-pill-lg {
  padding: 0.5rem 1rem;
  font-size: 0.95rem;
}

.btn-theme-icon {
  width: 40px;
  height: 40px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  border-radius: var(--sys-radius);
  border: 1px solid var(--store-border);
  background: var(--store-bg-elevated);
  color: var(--store-text-muted);
  transition: color var(--store-transition), border-color var(--store-transition), background var(--store-transition);
}

.btn-theme-icon-lg {
  width: 46px;
  height: 46px;
  border-radius: var(--sys-radius);
}

.btn-theme-icon:hover {
  color: var(--store-text);
  border-color: rgba(23, 54, 48, 0.4);
}

.theme-ico-sun {
  display: none;
}

.store-site-header .btn-sm {
  padding: 0.5rem 1.05rem;
  font-size: 0.95rem;
  border-radius: var(--sys-radius);
}

.btn-login-gradient {
  border: none;
  border-radius: var(--sys-radius);
  font-weight: 700;
  font-size: 0.95rem;
  color: #fff !important;
  background: linear-gradient(120deg, #122b26 0%, #122b26 45%, #122b26 100%);
  box-shadow: 0 10px 28px rgba(27, 54, 49, 0.38);
  transition: transform 0.15s ease, box-shadow 0.2s ease;
}

.btn-login-gradient:hover {
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 34px rgba(27, 54, 49, 0.45);
}

.btn-register-ghost {
  border-radius: var(--sys-radius);
  font-weight: 600;
  font-size: 0.9rem;
  border: 1px solid var(--store-border);
  color: var(--store-text-muted) !important;
  background: transparent;
}

.btn-register-ghost:hover {
  border-color: rgba(23, 54, 48, 0.45);
  color: var(--store-text) !important;
}

[data-theme="dark"] .btn-login-gradient {
  box-shadow: 0 10px 28px rgba(30, 58, 53, 0.35);
}

.store-nav .btn-ghost {
  border: 1px solid var(--store-border);
  color: var(--store-text);
  background: transparent;
  border-radius: var(--sys-radius);
  padding: 0.35rem 0.75rem;
  font-size: 0.85rem;
}

.store-nav .btn-ghost:hover {
  border-color: var(--store-brand);
  color: var(--store-brand);
}

.store-nav .btn-group .btn-ghost.active {
  border-color: var(--store-brand);
  color: var(--store-brand);
  background: rgba(23, 54, 48, 0.1);
}

[data-theme="dark"] .store-nav .btn-group .btn-ghost.active {
  background: rgba(57, 138, 123, 0.15);
}

.store-nav .navbar-toggler {
  border-color: var(--store-border);
}

[data-theme="dark"] .store-nav .navbar-toggler-icon {
  filter: invert(1) brightness(1.1);
}

.store-main {
  flex: 1;
  padding-top: var(--store-header-offset);
}

.hero {
  background: var(--store-hero-bg);
  border-bottom: 1px solid var(--store-border);
  position: relative;
  overflow: hidden;
  /* Fill viewport below fixed header (fallback → dynamic viewport on mobile) */
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: calc(100vh - var(--store-header-offset));
  min-height: calc(100dvh - var(--store-header-offset));
}

.hero-inner.hero-erp-inner {
  width: 100%;
  max-width: var(--store-content-max-width);
  margin-inline: auto;
  padding: clamp(2.5rem, 6vw, 5rem) var(--store-gutter-x);
  position: relative;
  z-index: 1;
  box-sizing: border-box;
}

.hero-erp-glow {
  position: absolute;
  inset-inline-start: -5%;
  inset-block-end: -20%;
  width: min(520px, 90vw);
  height: min(420px, 55vh);
  background: radial-gradient(closest-side, rgba(27, 54, 49, 0.22), rgba(27, 54, 49, 0.08) 55%, transparent 70%);
  pointer-events: none;
}

[data-theme="dark"] .hero-erp-glow {
  background: radial-gradient(closest-side, rgba(75, 169, 151, 0.18), rgba(23, 54, 48, 0.1) 55%, transparent 70%);
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.85rem;
  border-radius: var(--sys-radius);
  background: var(--store-chip);
  color: var(--store-brand);
  font-size: 0.8rem;
  font-weight: 600;
}

.hero-badge-erp {
  background: rgba(27, 54, 49, 0.1);
  color: var(--adm-brand-600, #122b26);
  border: 1px solid rgba(27, 54, 49, 0.15);
  font-weight: 700;
  font-size: 0.78rem;
}

[data-theme="dark"] .hero-badge-erp {
  background: rgba(69, 151, 136, 0.12);
  color: #65c0af;
  border-color: rgba(69, 151, 136, 0.2);
}

.hero h1 {
  font-size: clamp(2rem, 4.5vw, 3.1rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin: 1rem 0 0.75rem;
}

.hero-title-erp {
  font-size: clamp(2.05rem, 4.8vw, 3.25rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.15;
  margin: 1rem 0 0.85rem;
  color: var(--store-text);
}

.hero-title-glow {
  background: linear-gradient(115deg, #122b26 0%, #173630 40%, #122b26 85%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.hero-lead-erp {
  font-size: clamp(1rem, 2.1vw, 1.18rem);
  color: var(--store-text-muted);
  max-width: 32rem;
  line-height: 1.75;
  margin-bottom: 0;
}

.hero-cta-erp .btn {
  border-radius: var(--sys-radius);
  padding: 0.7rem 1.5rem;
  font-weight: 700;
  font-size: 0.95rem;
}

.btn-hero-primary {
  color: #fff !important;
  border: none;
  background: linear-gradient(120deg, #122b26 0%, #122b26 50%, #0d201c 100%);
  box-shadow: 0 14px 36px rgba(27, 54, 49, 0.38);
}

.btn-hero-primary:hover {
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 18px 40px rgba(27, 54, 49, 0.45);
}

.btn-hero-secondary {
  border: 1px solid var(--store-border);
  color: var(--store-text) !important;
  background: var(--store-bg-elevated);
  box-shadow: 0 4px 18px rgba(7, 10, 9, 0.06);
}

.btn-hero-secondary:hover {
  border-color: rgba(23, 54, 48, 0.35);
  background: var(--store-bg-elevated);
}

.btn-hero-play {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid currentColor;
  display: inline-grid;
  place-items: center;
  opacity: 0.75;
}

.btn-hero-play::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent currentColor;
  margin-inline-start: 2px;
}

[dir="rtl"] .btn-hero-play::after {
  border-width: 5px 8px 5px 0;
  border-color: transparent currentColor transparent transparent;
  margin-inline-start: 0;
  margin-inline-end: 2px;
}

.module-showcase {
  position: relative;
}

.module-showcase-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}

.module-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 1.15rem 0.75rem;
  border-radius: var(--sys-radius);
  background: var(--store-bg-elevated);
  border: 1px solid var(--store-border);
  box-shadow: 0 10px 28px rgba(7, 10, 9, 0.07);
  text-decoration: none !important;
  color: var(--store-text) !important;
  transition: transform 0.18s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.module-tile:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(23, 54, 48, 0.15);
  border-color: rgba(23, 54, 48, 0.25);
}

.module-tile-ico {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: var(--sys-radius);
  background: linear-gradient(145deg, rgba(23, 54, 48, 0.18), rgba(27, 54, 49, 0.12));
  color: var(--adm-brand-600, #0d201c);
}

[data-theme="dark"] .module-tile-ico {
  color: #65c0af;
  background: linear-gradient(145deg, rgba(69, 151, 136, 0.2), rgba(75, 169, 151, 0.12));
}

.module-tile-label {
  font-size: 0.82rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.35;
  color: var(--store-text-muted);
}

.module-tile:hover .module-tile-label {
  color: var(--store-text);
}

[data-theme="dark"] .hero-badge {
  color: var(--store-accent);
}

.hero p.lead {
  font-size: clamp(1rem, 2.2vw, 1.2rem);
  color: var(--store-text-muted);
  max-width: 38rem;
  line-height: 1.6;
}

.hero-cta .btn {
  border-radius: var(--sys-radius);
  padding: 0.65rem 1.35rem;
  font-weight: 600;
}

.hero-cta .btn-primary {
  box-shadow: 0 12px 30px rgba(23, 54, 48, 0.35);
}

.section {
  width: 100%;
  max-width: var(--store-content-max-width);
  margin-inline: auto;
  padding: clamp(2.25rem, 5vw, 3.5rem) var(--store-gutter-x);
  box-sizing: border-box;
}

.section-title {
  font-weight: 800;
  letter-spacing: -0.02em;
  margin-bottom: 0.35rem;
}

.section-sub {
  color: var(--store-text-muted);
  margin-bottom: 1.75rem;
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.feature-card {
  border-radius: var(--store-radius);
  border: 1px solid var(--store-border);
  background: var(--store-card);
  padding: 1.35rem 1.25rem;
  box-shadow: var(--store-shadow-soft);
  height: 100%;
}

.feature-card h3 {
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.feature-card p {
  color: var(--store-text-muted);
  font-size: 0.92rem;
  line-height: 1.55;
  margin: 0;
}

.icon-bubble {
  width: 42px;
  height: 42px;
  border-radius: var(--sys-radius);
  display: grid;
  place-items: center;
  margin-bottom: 0.75rem;
  background: linear-gradient(135deg, rgba(23, 54, 48, 0.15), rgba(23, 54, 48, 0.15));
  color: var(--store-brand);
  font-size: 1.15rem;
}

.cat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.cat-card {
  border-radius: var(--store-radius-sm);
  border: 1px dashed var(--store-border);
  padding: 1rem;
  text-align: center;
  font-weight: 600;
  color: var(--store-text-muted);
  background: var(--store-bg-elevated);
  transition: border-color var(--store-transition), color var(--store-transition), transform var(--store-transition);
}

.cat-card:hover {
  border-style: solid;
  border-color: var(--store-brand);
  color: var(--store-text);
  transform: translateY(-2px);
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.product-card {
  border-radius: var(--store-radius);
  border: 1px solid var(--store-border);
  background: var(--store-card);
  overflow: hidden;
  box-shadow: var(--store-shadow-soft);
  display: flex;
  flex-direction: column;
}

.product-media {
  height: 140px;
  background: linear-gradient(135deg, rgba(23, 54, 48, 0.35), rgba(23, 54, 48, 0.45));
  position: relative;
}

.product-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.35), transparent 45%);
  mix-blend-mode: soft-light;
}

.product-body {
  padding: 1rem 1.1rem 1.15rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  flex: 1;
}

.product-body h4 {
  font-size: 1rem;
  font-weight: 700;
  margin: 0;
}

.product-body .price {
  font-weight: 800;
  color: var(--store-brand);
}

[data-theme="dark"] .product-body .price {
  color: var(--store-accent);
}

.contact-band {
  border-radius: var(--store-radius);
  border: 1px solid var(--store-border);
  background: linear-gradient(120deg, rgba(23, 54, 48, 0.12), rgba(23, 54, 48, 0.12));
  padding: 1.75rem 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.store-footer {
  border-top: 1px solid var(--store-border);
  background: var(--store-bg-elevated);
  margin-top: auto;
}

.store-footer .inner {
  padding-block: 1.25rem;
  color: var(--store-text-muted);
  font-size: 0.9rem;
}

/* Identity / account pages inside same layout */
body.page-account .store-main .container {
  max-width: 460px;
}

body.page-account .store-main {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 2.5rem;
}

body.page-account .store-main h1 {
  font-weight: 800;
  letter-spacing: -0.02em;
}

body.page-account .store-main .form-floating>label {
  color: var(--store-text-muted);
}

body.page-account .store-main .form-control {
  border-radius: var(--store-radius-sm);
  background: var(--store-bg-elevated);
  color: var(--store-text);
  border-color: var(--store-border);
}

body.page-account .store-main .btn-primary {
  border-radius: var(--sys-radius);
  font-weight: 600;
  padding-block: 0.65rem;
}

body.page-account .store-main a {
  color: var(--store-brand);
}

[data-theme="dark"] body.page-account .store-main a {
  color: var(--store-accent);
}

/* ---- site.css ---- */
html {
  font-size: 14px;
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #193c35;
}

html {
  position: relative;
  min-height: 100%;
}

/* Sticky footer margin for generic pages — not store (has own footer) or admin console */
body:not(.store-shell):not(.admin-shell) {
  margin-bottom: 60px;
}

/* Media defaults: avoid layout blowout from oversized embeds */
img,
video,
canvas {
  max-width: 100%;
  height: auto;
}

/* Bootstrap tables: ensure horizontal scroll lives in wrapper, not the viewport */
.table-responsive {
  max-width: 100%;
}

/* Slightly tighter gutters on very narrow phones (store + public use Bootstrap containers) */

.form-floating>.form-control-plaintext::placeholder,
.form-floating>.form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating>.form-control-plaintext:focus::placeholder,
.form-floating>.form-control:focus::placeholder {
  text-align: start;
}

.js-taxcode-status-badge {
  min-width: 72px;
  text-align: center;
}

.js-taxcode-status-help {
  font-size: 12px;
  line-height: 1;
  text-decoration: none;
}

.tax-engine-card .table td,
.tax-engine-card .table th {
  vertical-align: middle;
}

.tax-engine-card .js-rule-audit-text {
  min-width: 170px;
  border-inline-start: 3px solid #e9ecef;
  padding-inline-start: 0.55rem;
}

.tax-engine-card .js-rule-audit-text .fw-medium {
  color: #374151;
}

.tax-engine-card .js-audit-source-badge {
  font-weight: 600;
  letter-spacing: 0.2px;
}

.tax-engine-card .js-rule-audit-time {
  color: #6b7280;
  font-size: 12px;
}

.tax-engine-audit-filter {
  min-width: 240px;
}

.pricing-source-badge {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2px;
}

.pricing-reason {
  color: #6b7280;
}

.field-focus-highlight {
  outline: 2px solid var(--bs-warning);
  border-radius: var(--sys-radius);
  padding: 0.75rem;
  background: rgba(var(--bs-warning-rgb), 0.08);
}

/* ---- toastr-app.css ---- */
/* Toastr tweaks for store + admin shells */
#toast-container.toast-top-full-width>div,
#toast-container.toast-bottom-full-width>div {
  width: 96%;
  max-width: 42rem;
}

.admin-shell #toast-container>div,
.store-shell #toast-container>div {
  box-shadow: 0 8px 24px rgba(7, 10, 9, 0.15);
  border-radius: 0.35rem;
  opacity: 1;
}

#toast-container>.toast-success {
  background-color: #059669;
  background-image: none !important;
}

#toast-container>.toast-success .toast-progress {
  background-color: rgba(255, 255, 255, 0.45);
}

#toast-container>.toast-warning {
  background-color: #d97706;
  background-image: none !important;
}

#toast-container>.toast-error {
  background-color: #dc2626;
  background-image: none !important;
}

#toast-container>.toast-info {
  background-color: #112a25;
  background-image: none !important;
}

[data-theme="dark"] .toast {
  background-color: #1e3b34;
  color: #e6eceb;
}

[data-theme="dark"] .toast-success,
[data-theme="dark"] #toast-container>.toast-success {
  background-color: #047857;
}

[data-theme="dark"] .toast-error {
  background-color: #7f1d1d;
}

[data-theme="dark"] .toast-warning {
  background-color: #713f12;
}

[data-theme="dark"] .toast-info {
  background-color: #0e1615;
}

.toast-action-link {
  color: inherit;
}

.toast-action-link:hover,
.toast-action-link:focus {
  color: inherit;
  opacity: 0.85;
}

/* ---- app-confirm.css ---- */
/* ── Light scrim (replaces heavy black Bootstrap backdrop) ─────────────── */
body.app-confirm-open .modal-backdrop.show {
  --bs-backdrop-opacity: 1;
  background-color: rgba(7, 10, 9, 0.18) !important;
  opacity: 1 !important;
  backdrop-filter: blur(10px) saturate(125%);
  -webkit-backdrop-filter: blur(10px) saturate(125%);
  transition: opacity 0.22s ease, backdrop-filter 0.22s ease;
}

[data-theme="dark"] body.app-confirm-open .modal-backdrop.show {
  background-color: rgba(2, 5, 5, 0.52) !important;
  backdrop-filter: blur(12px) saturate(110%);
  -webkit-backdrop-filter: blur(12px) saturate(110%);
}

/* ── Dialog chrome ─────────────────────────────────────────────────────── */
.app-confirm-modal .modal-content {
  border-radius: 1rem;
  background: var(--adm-bg-surface, var(--bg-secondary, #fff));
  color: var(--adm-text-primary, var(--text-primary, #070a09));
  border: 1px solid color-mix(in srgb, var(--adm-border-subtle, #e2e8f0) 85%, transparent);
  box-shadow:
    0 24px 48px rgba(7, 10, 9, 0.1),
    0 8px 16px rgba(7, 10, 9, 0.04);
}

.app-confirm-modal .modal-footer {
  background: color-mix(in srgb, var(--adm-bg-subtle, #f8fafc) 92%, var(--adm-bg-surface, #fff));
  border-top: 1px solid var(--adm-border-subtle, #e2e8f0);
  border-radius: 0 0 1rem 1rem;
  gap: 0.5rem;
}

.app-confirm-modal .app-confirm-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 0.875rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--adm-brand-600, #122b26);
  background: rgba(27, 54, 49, 0.12);
}

.app-confirm-modal .app-confirm-icon.is-warning {
  color: #d97706;
  background: rgba(245, 158, 11, 0.14);
}

.app-confirm-modal .app-confirm-icon.is-danger {
  color: #dc2626;
  background: rgba(239, 68, 68, 0.14);
}

.app-confirm-modal .app-confirm-message {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  line-height: 1.65;
}

.app-confirm-modal.show .modal-dialog {
  animation: appConfirmIn 0.28s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes appConfirmIn {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.98);
  }

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

[data-theme="dark"] .app-confirm-modal .modal-content {
  background: var(--adm-bg-surface, #070a09);
  color: var(--adm-text-primary, #e6eceb);
  border-color: var(--adm-border-subtle, rgba(154, 178, 173, 0.2));
  box-shadow:
    0 24px 48px rgba(0, 0, 0, 0.35),
    0 0 0 1px rgba(154, 178, 173, 0.08);
}

[data-theme="dark"] .app-confirm-modal .modal-footer {
  background: color-mix(in srgb, var(--adm-bg-elevated, #1e3b34) 88%, transparent);
  border-top-color: var(--adm-border-subtle, rgba(154, 178, 173, 0.18));
}

[data-theme="dark"] .app-confirm-modal .text-muted {
  color: #9ab2ad !important;
}

@media (prefers-reduced-motion: reduce) {

  body.app-confirm-open .modal-backdrop.show,
  .app-confirm-modal.show .modal-dialog {
    animation: none;
    transition: none;
  }
}

/* ---- account-shared.css ---- */
.account-shell-card {
  border: 1px solid var(--sys-border-subtle);
  border-radius: var(--sys-radius-lg);
  background: var(--sys-surface-card);
  box-shadow: var(--sys-shadow-md);
}

.account-shell-card .form-label {
  font-weight: 600;
  margin-bottom: .4rem;
}

.account-shell-card .form-control,
.account-shell-card .form-select,
.account-shell-card .btn {
  min-height: 42px;
  border-radius: var(--sys-radius-md);
}

.account-shell-title {
  margin-bottom: .25rem;
  font-weight: 700;
}

.account-shell-subtitle {
  color: var(--text-muted);
  font-size: .9rem;
}

.user-create-form {
  border-radius: var(--sys-radius);
}

.user-create-section {
  border: 1px solid var(--sys-border-subtle);
  border-radius: var(--sys-radius);
  padding: 1rem;
  background: color-mix(in srgb, var(--sys-surface-card) 92%, var(--accent-primary-500, #173630) 8%);
}

.user-create-section__title {
  font-size: .98rem;
  font-weight: 700;
  margin-bottom: .9rem;
}

.user-create-dropdown-btn {
  min-height: 42px;
  border-color: var(--sys-border-subtle);
  background: var(--sys-surface-card);
}

.user-create-dropdown-menu {
  max-height: 260px;
  overflow: auto;
  border-radius: var(--sys-radius);
  border: 1px solid var(--sys-border-subtle);
}

/* Roles Matrix - polished final style */
.role-matrix-card {
  border-radius: var(--sys-radius);
}

.role-matrix-toolbar .btn {
  min-height: 34px;
  padding-inline: .8rem;
}

.role-matrix-wrap {
  max-height: 68vh;
  border: 1px solid var(--sys-border-subtle);
  border-radius: var(--sys-radius);
  overflow: auto;
  background: var(--sys-surface-card);
}

.role-matrix-table {
  margin-bottom: 0;
}

.role-matrix-table thead th {
  position: sticky;
  top: 0;
  z-index: 3;
  background: color-mix(in srgb, var(--sys-surface-card) 92%, #eef8f6 8%);
  border-bottom: 1px solid var(--sys-border-subtle);
  font-size: .86rem;
  font-weight: 700;
  white-space: nowrap;
}

.role-matrix-row td {
  border-bottom: 1px solid color-mix(in srgb, var(--sys-border-subtle) 85%, transparent 15%);
  padding-top: .7rem;
  padding-bottom: .7rem;
  vertical-align: middle;
}

.role-matrix-row:hover {
  background: color-mix(in srgb, var(--sys-surface-card) 92%, #cce9e4 8%);
}

.role-matrix-toggle {
  width: 1.05rem;
  height: 1.05rem;
  cursor: pointer;
  accent-color: #173630;
}

.role-matrix-master {
  accent-color: #0ea5a5;
}

/* ---- portal-experience.css ---- */
/* ── Cross-portal navigation (storefront ↔ ERP ↔ store admin) ── */

.portal-switcher {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
}

.portal-switcher--compact {
  flex-direction: column;
  align-items: stretch;
}

.portal-switcher-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.75rem;
  border-radius: var(--sys-radius);
  border: 1px solid rgba(7, 10, 9, 0.12);
  background: #fff;
  color: #334155;
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.portal-switcher--compact .portal-switcher-pill {
  border-radius: var(--sys-radius);
  justify-content: flex-start;
}

.portal-switcher-pill:hover {
  border-color: var(--shop-primary, #173630);
  color: var(--shop-primary, #173630);
  background: rgba(23, 54, 48, 0.06);
}

.portal-switcher-pill--active {
  background: var(--shop-primary, #173630);
  border-color: var(--shop-primary, #173630);
  color: #fff;
}

.shop-portal-strip {
  background: rgba(248, 250, 252, 0.95);
  border-bottom: 1px solid rgba(7, 10, 9, 0.06);
}

/* ── Shop header enhancements ── */

.shop-nav--desktop {
  gap: 0.15rem;
}

.shop-nav-search,
.shop-nav-cart,
.shop-lang-toggle {
  color: #3d4f5f;
  text-decoration: none;
  font-weight: 600;
  margin-inline: 0.45rem;
  font-size: 0.92rem;
}

.shop-nav-search:hover,
.shop-nav-cart:hover,
.shop-lang-toggle:hover {
  color: var(--shop-primary);
}

.shop-lang-toggle {
  border: 1px solid rgba(7, 10, 9, 0.12);
  border-radius: var(--sys-radius);
  padding: 0.2rem 0.65rem;
  font-size: 0.78rem;
}

.shop-mobile-toggle {
  border-radius: var(--sys-radius);
}

.shop-mobile-drawer .shop-mobile-nav {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.shop-mobile-drawer .shop-mobile-nav a {
  padding: 0.55rem 0.35rem;
  color: var(--shop-text, #1e293b);
  text-decoration: none;
  font-weight: 600;
  border-radius: var(--sys-radius);
}

.shop-mobile-drawer .shop-mobile-nav a:hover {
  background: var(--shop-primary-muted);
  color: var(--shop-primary);
}

.shop-mobile-nav-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.55rem 0.35rem;
  background: none;
  border: none;
  color: var(--shop-text, #1e293b);
  font-weight: 600;
  font-size: 1rem;
  border-radius: var(--sys-radius);
  text-align: start;
}

.shop-mobile-nav-toggle:hover {
  background: var(--shop-primary-muted);
  color: var(--shop-primary);
}

.shop-mobile-nav-toggle[aria-expanded="true"] i:last-child {
  transform: rotate(180deg);
}

.shop-mobile-nav-toggle i:last-child {
  transition: transform 0.2s ease;
  font-size: 0.7rem;
}

.shop-mobile-nav-sublist {
  display: flex;
  flex-direction: column;
  padding-inline-start: 1.25rem;
}

.shop-mobile-nav-sublist a {
  padding: 0.45rem 0.35rem;
  color: var(--shop-text-muted);
  text-decoration: none;
  font-size: 0.92rem;
  border-radius: var(--sys-radius);
}

.shop-mobile-nav-sublist a:hover {
  background: var(--shop-primary-muted);
  color: var(--shop-primary);
}

/* ── User menu (storefront header) ── */

.shop-user-menu-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  border: 1px solid rgba(7, 10, 9, 0.12);
  border-radius: var(--sys-radius);
  background: #fff;
  padding: 0.2rem 0.55rem 0.2rem 0.2rem;
  font-weight: 600;
  font-size: 0.85rem;
  color: #1e293b;
}

.shop-user-menu-trigger::after {
  margin-inline-start: 0.15rem;
}

.shop-user-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--shop-primary), var(--shop-secondary));
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.shop-user-dropdown {
  min-width: 260px;
  border-radius: var(--sys-radius);
  border: 1px solid rgba(7, 10, 9, 0.08);
  padding: 0.35rem;
}

.shop-user-dropdown-label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
  font-weight: 700;
  margin-bottom: 0.35rem;
}

.shop-guest-more {
  border-radius: var(--sys-radius);
  width: 34px;
  height: 34px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ── Customer account hub ── */

.shop-account-page {
  max-width: 1140px;
}

.shop-account-nav {
  background: #fff;
  border: 1px solid rgba(7, 10, 9, 0.08);
  border-radius: var(--sys-radius);
  padding: 1rem;
  position: sticky;
  top: 5.5rem;
}

.shop-account-nav-user {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding-bottom: 0.85rem;
  margin-bottom: 0.85rem;
  border-bottom: 1px solid rgba(7, 10, 9, 0.08);
}

.shop-account-nav-avatar {
  width: 42px;
  height: 42px;
  border-radius: var(--sys-radius);
  background: rgba(23, 54, 48, 0.12);
  color: var(--shop-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
}

.shop-account-nav-title {
  font-weight: 700;
  font-size: 0.95rem;
}

.shop-account-nav-sub {
  font-size: 0.78rem;
  color: #64748b;
}

.shop-account-nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.shop-account-nav-link {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.55rem 0.65rem;
  border-radius: var(--sys-radius);
  color: #334155;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
  width: 100%;
}

.shop-account-nav-link:hover {
  background: rgba(23, 54, 48, 0.08);
  color: var(--shop-primary);
}

.shop-account-nav-link.is-active {
  background: var(--shop-primary);
  color: #fff;
}

.shop-account-nav-footer {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(7, 10, 9, 0.08);
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.shop-account-nav-link--danger {
  color: #dc3545;
}

.shop-account-nav-link--danger:hover {
  background: rgba(220, 53, 69, 0.08);
  color: #dc3545;
}

.shop-account-card {
  background: #fff;
  border: 1px solid rgba(7, 10, 9, 0.08);
  border-radius: var(--sys-radius);
  padding: 1.25rem;
  box-shadow: 0 8px 24px rgba(7, 10, 9, 0.04);
}

.shop-account-kpi {
  background: #fff;
  border: 1px solid var(--shop-border, rgba(7, 10, 9, 0.08));
  border-radius: var(--sys-radius);
  padding: 1rem 1.1rem;
  height: 100%;
}

.shop-account-kpi--accent {
  border-color: color-mix(in srgb, var(--shop-primary, #173630) 25%, transparent);
  background: color-mix(in srgb, var(--shop-primary, #173630) 6%, #fff);
}

.shop-account-kpi-label {
  font-size: 0.78rem;
  color: var(--shop-text-muted, #64748b);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.shop-account-kpi-value {
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1.2;
  margin-top: 0.25rem;
  color: var(--shop-text, #070a09);
}

.shop-account-kpi-value--sm {
  font-size: 0.95rem;
  font-weight: 700;
  word-break: break-all;
}

.shop-account-tile {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 1rem 1.1rem;
  border-radius: var(--sys-radius);
  border: 1px solid var(--shop-border, rgba(7, 10, 9, 0.08));
  background: #fff;
  text-decoration: none;
  color: var(--shop-text, #070a09);
  font-weight: 700;
  height: 100%;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.shop-account-tile i {
  font-size: 1.35rem;
  color: var(--shop-primary);
}

.shop-account-tile:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(7, 10, 9, 0.08);
  color: var(--shop-primary);
}

.shop-order-status {
  display: inline-flex;
  padding: 0.15rem 0.55rem;
  border-radius: var(--sys-radius);
  background: rgba(23, 54, 48, 0.12);
  color: var(--shop-primary);
  font-size: 0.78rem;
  font-weight: 700;
}

@media (max-width: 991.98px) {
  .shop-account-nav {
    position: static;
  }

  .shop-portal-strip {
    display: none !important;
  }
}

.shop-preview-banner {
  background: linear-gradient(90deg, rgba(245, 158, 11, 0.15), rgba(245, 158, 11, 0.05));
  border-bottom: 1px solid rgba(245, 158, 11, 0.35);
  font-size: 0.9rem;
  font-weight: 600;
  color: #92400e;
}

.shop-nav-search-form {
  align-items: center;
  border: 1px solid rgba(7, 10, 9, 0.12);
  border-radius: var(--sys-radius);
  padding: 0.15rem 0.15rem 0.15rem 0.75rem;
  min-width: 200px;
}

.shop-nav-search-input {
  border: 0;
  background: transparent;
  outline: none;
  font-size: 0.85rem;
  width: 140px;
}

.shop-nav-search-btn {
  border: 0;
  background: rgba(23, 54, 48, 0.12);
  color: var(--shop-primary);
  border-radius: var(--sys-radius);
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.shop-catalog-filters .form-label {
  margin-bottom: 0.25rem;
}

.shop-order-timeline {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding-inline-start: 0.35rem;
}

.shop-order-timeline-step {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  opacity: 0.45;
}

.shop-order-timeline-step.is-done {
  opacity: 1;
}

.shop-order-timeline-step.is-current .shop-order-timeline-dot {
  background: var(--shop-primary);
  box-shadow: 0 0 0 4px rgba(23, 54, 48, 0.18);
}

.shop-order-timeline-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #cbd5e1;
  margin-top: 0.35rem;
  flex-shrink: 0;
}

.shop-order-timeline-step.is-done .shop-order-timeline-dot {
  background: var(--shop-primary);
}

/* ---- auth-split.css ---- */
/* Full-height split auth (login / register) — motion + glass cards */

html[lang|="ar"] body.auth-split-body {
  font-family: "Segoe UI", Tahoma, "Dubai", "Arabic Typesetting", "Geeza Pro", system-ui, sans-serif;
}

html[lang|="en"] body.auth-split-body {
  font-family: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Roboto, Arial, sans-serif;
}

.auth-split-body {
  margin: 0;
  /* Avoid sticky-footer margin from site.css on non-store pages */
  margin-bottom: 0 !important;
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--auth-main-bg, #f8fafc);
  color: var(--text);
}

[data-theme="dark"] .auth-split-body {
  --auth-main-bg: #070a09;
}

.auth-split-page {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  /* Inherit html dir so `inset-inline-end` / padding-inline-* match text start/end (e.g. password eye opposite label). */
}

.auth-split-visual {
  position: relative;
  flex: 1 1 50%;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.5rem, 4vw, 3rem);
  color: #e0efed;
}

.auth-split-main {
  position: relative;
  flex: 1 1 50%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  padding: clamp(1.25rem, 3vw, 2.5rem);
  background: linear-gradient(165deg, #f8fafc 0%, #eef8f6 45%, #f1f5f9 100%);
}

[data-theme="dark"] .auth-split-main {
  background: linear-gradient(165deg, #070a09 0%, #070b0a 50%, #050807 100%);
}

/* Row flex follows document direction: RTL → promo (aside) right, form left — no manual `order`. */

.auth-split-visual-bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(145deg, #070a09 0%, #080e0d 42%, #0d201c 100%),
    repeating-linear-gradient(-12deg,
      transparent,
      transparent 40px,
      rgba(255, 255, 255, 0.03) 40px,
      rgba(255, 255, 255, 0.03) 41px);
  z-index: 0;
}

.auth-split-visual-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 30% 80%, rgba(23, 54, 48, 0.35), transparent 55%),
    radial-gradient(ellipse 60% 50% at 80% 20%, rgba(27, 62, 56, 0.12), transparent 50%);
  animation: authGlowDrift 14s ease-in-out infinite alternate;
}

@keyframes authGlowDrift {
  0% {
    opacity: 0.85;
    transform: scale(1);
  }

  100% {
    opacity: 1;
    transform: scale(1.04);
  }
}

.auth-split-stars {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image: radial-gradient(1.5px 1.5px at 20% 30%, rgba(255, 255, 255, 0.45), transparent),
    radial-gradient(1px 1px at 70% 20%, rgba(255, 255, 255, 0.35), transparent),
    radial-gradient(1.5px 1.5px at 45% 70%, rgba(167, 219, 210, 0.5), transparent),
    radial-gradient(1px 1px at 88% 65%, rgba(255, 255, 255, 0.25), transparent),
    radial-gradient(1.5px 1.5px at 12% 80%, rgba(101, 192, 175, 0.4), transparent);
  background-size: 100% 100%;
  animation: authTwinkle 5s ease-in-out infinite alternate;
}

@keyframes authTwinkle {
  from {
    opacity: 0.55;
  }

  to {
    opacity: 0.95;
  }
}

.auth-split-visual-inner {
  position: relative;
  z-index: 2;
  max-width: 22rem;
  margin-inline: auto;
  width: 100%;
}

.auth-split-brand-lockup {
  text-align: center;
  margin-bottom: 2rem;
}

.auth-split-logo {
  display: inline-grid;
  place-items: center;
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(69, 151, 136, 0.15);
  margin-bottom: 1rem;
  animation: authFloat 6s ease-in-out infinite;
}

@keyframes authFloat {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-6px);
  }
}

.auth-split-brand-title {
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  margin: 0;
  color: #fff;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.25);
}

.auth-split-brand-sub {
  margin: 0.35rem 0 0;
  font-size: 0.9rem;
  color: rgba(226, 232, 240, 0.85);
  line-height: 1.5;
}

.auth-split-feature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin-bottom: 1.75rem;
}

.auth-split-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  text-align: center;
  padding: 1rem 0.65rem;
  border-radius: var(--sys-radius);
  background: rgba(7, 10, 9, 0.45);
  border: 1px solid rgba(148, 163, 184, 0.18);
  backdrop-filter: blur(10px);
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.35;
  color: rgba(226, 232, 240, 0.95);
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.auth-split-card:hover {
  transform: translateY(-4px) scale(1.02);
  border-color: rgba(69, 151, 136, 0.45);
  box-shadow: 0 14px 36px rgba(30, 58, 53, 0.25);
}

.auth-split-card-ico {
  font-size: 1.35rem;
  line-height: 1;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.3));
}

.auth-split-stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.35rem 0.65rem;
  padding: 0.75rem 1rem;
  border-radius: var(--sys-radius);
  background: rgba(2, 5, 5, 0.55);
  border: 1px solid rgba(148, 163, 184, 0.15);
  font-size: 0.72rem;
  font-weight: 600;
  color: rgba(203, 213, 225, 0.95);
}

.auth-split-stats-dot {
  opacity: 0.45;
}

.auth-split-main-inner {
  width: 100%;
  max-width: 400px;
  margin-inline: auto;
}

.auth-split-toolbar {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.25rem;
}

[dir="rtl"] .auth-split-toolbar {
  justify-content: center;
}

.auth-split-lang,
.auth-split-theme {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.75rem;
  border-radius: var(--sys-radius);
  border: 1px solid rgba(7, 10, 9, 0.1);
  background: rgba(255, 255, 255, 0.75);
  color: var(--text-muted);
  font-size: 0.85rem;
  font-weight: 700;
  text-decoration: none;
  transition: border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

[data-theme="dark"] .auth-split-lang,
[data-theme="dark"] .auth-split-theme {
  background: rgba(30, 59, 52, 0.85);
  border-color: rgba(154, 178, 173, 0.2);
  color: #9ab2ad;
}

.auth-split-lang:hover {
  border-color: rgba(23, 54, 48, 0.4);
  color: var(--text);
}

.auth-split-theme {
  border: none;
  cursor: pointer;
  padding: 0.45rem 0.65rem;
}

.auth-split-theme:hover {
  color: var(--text);
}

.auth-form-panel {
  animation: authFadeUp 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: var(--ar, 0s);
}

@keyframes authFadeUp {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

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

.auth-reveal {
  animation: authFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: var(--ar, 0s);
}

.auth-avatar {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  margin: 0 auto 1rem;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(23, 54, 48, 0.25), rgba(27, 54, 49, 0.35));
  border: 2px solid rgba(69, 151, 136, 0.35);
  box-shadow: 0 8px 28px rgba(30, 58, 53, 0.25);
  color: var(--adm-brand-600, #122b26);
}

[data-theme="dark"] .auth-avatar {
  color: #65c0af;
  border-color: rgba(69, 151, 136, 0.35);
}

.auth-form-title {
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  text-align: center;
  margin: 0 0 0.35rem;
  color: var(--text);
}

.auth-form-sub {
  text-align: center;
  font-size: 0.95rem;
  color: var(--text-muted);
  margin: 0 0 1.5rem;
  line-height: 1.55;
}

.auth-field-wrap {
  margin-bottom: 1rem;
  position: relative;
}

.auth-field-wrap .form-control {
  border-radius: var(--sys-radius);
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
  border-color: rgba(7, 10, 9, 0.12);
  background: rgba(255, 255, 255, 0.9);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

[data-theme="dark"] .auth-field-wrap .form-control {
  background: rgba(7, 10, 9, 0.65);
  border-color: rgba(154, 178, 173, 0.2);
  color: #e0efed;
}

.auth-field-wrap .form-control:focus {
  border-color: rgba(27, 54, 49, 0.55);
  box-shadow: 0 0 0 4px rgba(27, 54, 49, 0.12);
  transform: translateY(-1px);
}

.auth-field-wrap .form-floating>label {
  color: var(--text-muted);
}

/* site.css sets floating placeholder text-align:end — breaks RTL + overlaps label when placeholder has text */
.auth-split-body .form-floating>.form-control::placeholder,
.auth-split-body .form-floating>.form-control-plaintext::placeholder {
  color: transparent !important;
  text-align: inherit !important;
  opacity: 0;
}

.auth-split-body .form-floating>.form-control:focus::placeholder,
.auth-split-body .form-floating>.form-control-plaintext:focus::placeholder {
  opacity: 0;
}

.auth-password-toggle {
  position: absolute;
  top: 50%;
  inset-inline-end: 0.65rem;
  transform: translateY(-50%);
  border: none;
  background: transparent;
  padding: 0.35rem;
  color: var(--text-muted);
  border-radius: var(--sys-radius);
  cursor: pointer;
  z-index: 4;
  transition: color 0.2s ease, background 0.2s ease;
}

/* Physical edges so the eye stays opposite Arabic (RTL) / Latin (LTR) text even if a parent forces LTR */
[dir="rtl"] .auth-password-toggle {
  left: 0.65rem;
  right: auto;
}

[dir="ltr"] .auth-password-toggle {
  right: 0.65rem;
  left: auto;
}

.auth-password-toggle:hover {
  color: var(--text);
  background: rgba(23, 54, 48, 0.1);
}

.auth-field-wrap.auth-has-toggle .form-floating>.form-control {
  padding-inline-start: 0.75rem;
  padding-inline-end: 2.75rem;
}

.auth-submit {
  width: 100%;
  margin-top: 0.5rem;
  padding: 0.75rem 1.25rem;
  font-weight: 700;
  font-size: 1rem;
  border: none;
  border-radius: var(--sys-radius);
  color: #fff !important;
  background: linear-gradient(120deg, #122b26 0%, #122b26 50%, #0d201c 100%);
  box-shadow: 0 12px 32px rgba(27, 54, 49, 0.35);
  transition: transform 0.18s ease, box-shadow 0.2s ease;
}

.auth-submit:hover {
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(27, 54, 49, 0.42);
}

.auth-submit:active {
  transform: translateY(0);
}

.auth-footer-links {
  margin-top: 1.75rem;
  text-align: center;
  font-size: 0.82rem;
  color: var(--text-muted);
}

.auth-footer-links a {
  color: var(--brand);
  text-decoration: none;
  font-weight: 600;
  transition: opacity 0.2s ease;
}

.auth-footer-links a:hover {
  opacity: 0.85;
  text-decoration: underline;
}

.auth-switch-row {
  text-align: center;
  margin-top: 1.25rem;
  font-size: 0.9rem;
  color: var(--text-muted);
}

.auth-switch-row a {
  font-weight: 700;
  color: var(--adm-brand-600, #122b26);
}

[data-theme="dark"] .auth-switch-row a {
  color: #65c0af;
}

.auth-portal-switch {
  margin-top: 1.35rem;
  padding-top: 1.15rem;
  border-top: 1px solid rgba(7, 10, 9, 0.1);
  text-align: center;
}

.auth-portal-switch--top {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.auth-portal-switch-label {
  margin: 0;
  font-size: 0.85rem;
  color: var(--text-muted);
}

.auth-portal-switch-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  font-weight: 700;
  font-size: 0.92rem;
  color: var(--adm-brand-600, #122b26);
  text-decoration: none;
}

.auth-portal-switch-link:hover {
  text-decoration: underline;
  opacity: 0.9;
}

[data-theme="dark"] .auth-portal-switch {
  border-top-color: rgba(154, 178, 173, 0.2);
}

[data-theme="dark"] .auth-portal-switch-link {
  color: #65c0af;
}

/* Form panel shell */
.auth-form-panel {
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(7, 10, 9, 0.09);
  border-radius: var(--sys-radius);
  padding: 1.35rem 1.15rem 1.2rem;
  box-shadow: 0 18px 45px rgba(7, 10, 9, 0.12);
  backdrop-filter: blur(6px);
}

[data-theme="dark"] .auth-form-panel {
  background: rgba(7, 10, 9, 0.7);
  border-color: rgba(154, 178, 173, 0.16);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.35);
}

/* Validation, helper and options row polish */
.auth-field-wrap .text-danger.small {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.74rem;
}

.form-check.mb-3 {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.15rem;
  margin-bottom: 0.95rem !important;
}

.form-check-input {
  cursor: pointer;
}

.form-check-label {
  font-size: 0.84rem;
  color: var(--text-secondary);
  cursor: pointer;
}

.auth-split-main-inner {
  max-width: 440px;
}

/* Responsive behavior */
@media (max-width: 1199.98px) {
  .auth-split-main-inner {
    max-width: 420px;
  }

  .auth-split-feature-grid {
    gap: 0.65rem;
  }
}

@media (max-width: 991.98px) {
  .auth-split-page {
    flex-direction: column-reverse;
  }

  .auth-split-main,
  .auth-split-visual {
    flex: 1 1 auto;
    width: 100%;
  }

  .auth-split-main {
    padding: 1.1rem 1rem 1.2rem;
  }

  .auth-split-main-inner {
    max-width: 520px;
  }

  .auth-split-visual {
    min-height: 240px;
    padding: 1.1rem 1rem 1.4rem;
  }

  .auth-split-brand-lockup {
    margin-bottom: 1rem;
  }

  .auth-split-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 1rem;
  }

  .auth-split-stats {
    font-size: 0.68rem;
    padding: 0.58rem 0.7rem;
  }
}

@media (max-width: 575.98px) {
  .auth-split-main {
    padding: 0.85rem 0.8rem 1rem;
  }

  .auth-split-main-inner {
    max-width: 100%;
  }

  .auth-form-panel {
    border-radius: var(--sys-radius);
    padding: 1.1rem 0.85rem 1rem;
  }

  .auth-form-title {
    font-size: 1.42rem;
  }

  .auth-form-sub {
    font-size: 0.87rem;
    margin-bottom: 1.1rem;
  }

  .auth-split-toolbar {
    margin-bottom: 0.9rem;
  }

  .auth-split-lang,
  .auth-split-theme {
    font-size: 0.78rem;
    padding: 0.35rem 0.58rem;
  }

  .auth-split-visual {
    min-height: 210px;
    padding: 1rem 0.8rem 1.1rem;
  }

  .auth-split-logo {
    width: 3.6rem;
    height: 3.6rem;
    margin-bottom: 0.75rem;
  }

  .auth-split-brand-title {
    font-size: 1.3rem;
  }

  .auth-split-brand-sub {
    font-size: 0.82rem;
  }

  .auth-split-feature-grid {
    gap: 0.5rem;
  }

  .auth-split-card {
    padding: 0.72rem 0.45rem;
    font-size: 0.71rem;
    border-radius: var(--sys-radius);
  }

  .auth-split-card-ico {
    font-size: 1.05rem;
  }

  .auth-submit {
    border-radius: var(--sys-radius);
    padding: 0.68rem 1rem;
    font-size: 0.93rem;
  }
}

@media (max-width: 399.98px) {
  .auth-split-feature-grid {
    grid-template-columns: 1fr 1fr;
  }

  .auth-form-panel {
    padding-inline: 0.72rem;
  }

  .auth-field-wrap .form-control {
    font-size: 0.9rem;
  }
}

@media (prefers-reduced-motion: reduce) {

  .auth-split-logo,
  .auth-split-stars,
  .auth-split-visual-bg::after,
  .auth-form-panel,
  .auth-reveal,
  .auth-submit,
  .auth-split-card {
    animation: none !important;
    transition: none !important;
  }
}

/* ---- system.css ---- */
/* ═══════════════════════════════════════════════════════════════
   DiwanERP — Design System (unified CSS)
   ═══════════════════════════════════════════════════════════════ */

/* ── layout\module-page.css (35 lines) ── */
/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   System â€” Module page shell (replaces per-module *-module-page wrappers)
   Matches: .sales-module-page, .purch-module-page, .inventory-module-page, etc.
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */

[class*="-module-page"] {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
}

[class*="-module-page__canvas"] {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1.35rem;
  width: 100%;
}

[class*="-module-page"]>header,
[class*="-module-page"]>form,
[class*="-module-page"]>div,
[class*="-module-page"]>section,
[class*="-module-page"]>.alert {
  width: 100%;
  max-width: 100%;
}

[class*="-module-page__canvas"]>header,
[class*="-module-page__canvas"]>form,
[class*="-module-page__canvas"]>div,
[class*="-module-page__canvas"]>section,
[class*="-module-page__canvas"]>.alert {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}


/* ── layout\page-header.css (192 lines) ── */
/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   System â€” Page header & breadcrumbs
   Works with any *-module-page wrapper
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */

/* â”€â”€ Page title & subtitle â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-page-header"],
[class*="-module-page"] .page-header {
  margin-bottom: 1.35rem;
}

[class*="-module-page"] [class*="-page-header__main"] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  min-width: 0;
}

[class*="-module-page"] [class*="-page-title"],
[class*="-module-page"] .page-header .page-title {
  font-size: clamp(1.35rem, 2.2vw, 1.625rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  color: var(--adm-text-strong);
  line-height: 1.2;
  margin: 0 0 0.4rem;
}

[class*="-module-page"] [class*="-page-subtitle"],
[class*="-module-page"] .page-header .page-subtitle {
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--adm-text-muted-ui);
  max-width: 52rem;
  margin: 0;
}

/* â”€â”€ Breadcrumbs (module-specific + legacy adm-breadcrumb) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-breadcrumb-nav"] {
  margin-top: 0.7rem;
  max-width: 100%;
}

[class*="-module-page"] [class*="-breadcrumb"]:not(nav) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  padding: 0;
  margin: 0;
  list-style: none;
  font-size: 0.8125rem;
  line-height: 1.35;
}

[class*="-module-page"] [class*="-breadcrumb__item"] {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-width: 0;
}

[class*="-module-page"] [class*="-breadcrumb__item"]+[class*="-breadcrumb__item"]::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  width: 0.95rem;
  height: 0.95rem;
  margin-inline: 0.35rem;
  opacity: 0.45;
  background-color: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06'/%3E%3C/svg%3E") center / contain no-repeat;
  color: var(--adm-text-muted-ui);
}

[dir="rtl"] [class*="-module-page"] [class*="-breadcrumb__item"]+[class*="-breadcrumb__item"]::before {
  transform: scaleX(-1);
}

[class*="-module-page"] [class*="-breadcrumb__link"] {
  color: var(--adm-text-muted-ui);
  text-decoration: none;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 14rem;
  transition: color 0.15s ease;
}

[class*="-module-page"] [class*="-breadcrumb__link"]:hover {
  color: var(--adm-brand-600);
  text-decoration: none;
}

[class*="-module-page"] [class*="-breadcrumb__link"]:focus-visible {
  outline: 2px solid var(--adm-brand-600);
  outline-offset: 2px;
  border-radius: var(--sys-radius);
}

[class*="-module-page"] [class*="-breadcrumb__current"] {
  color: var(--adm-text-secondary, var(--adm-text-strong));
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 18rem;
}

[class*="-module-page"] [class*="-breadcrumb__item--current"] [class*="-breadcrumb__link"] {
  color: var(--adm-text-secondary, var(--adm-text-strong));
  font-weight: 600;
  pointer-events: none;
}

/* Legacy adm-breadcrumb inside any module */
[class*="-module-page"] .adm-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  padding: 0;
  margin: 0.7rem 0 0;
  list-style: none;
  font-size: 0.8125rem;
  line-height: 1.35;
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

[class*="-module-page"] .adm-breadcrumb-item {
  display: inline-flex;
  align-items: center;
  color: var(--adm-text-muted-ui);
  max-width: 14rem;
}

[class*="-module-page"] .adm-breadcrumb-item+.adm-breadcrumb-item::before {
  content: "";
  display: inline-block;
  width: 0.95rem;
  height: 0.95rem;
  margin-inline: 0.35rem;
  opacity: 0.45;
  background-color: currentColor;
  border: none;
  transform: none;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06'/%3E%3C/svg%3E") center / contain no-repeat;
}

[dir="rtl"] [class*="-module-page"] .adm-breadcrumb-item+.adm-breadcrumb-item::before {
  transform: scaleX(-1);
}

[class*="-module-page"] .adm-breadcrumb-item a {
  color: var(--adm-text-muted-ui);
  text-decoration: none;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 14rem;
  transition: color 0.15s ease;
}

[class*="-module-page"] .adm-breadcrumb-item a:hover {
  color: var(--adm-brand-600);
  text-decoration: none;
}

[class*="-module-page"] .adm-breadcrumb-item.active {
  color: var(--adm-text-secondary, var(--adm-text-strong));
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 18rem;
}

@media (max-width: 767.98px) {

  [class*="-module-page"] .adm-breadcrumb-item,
  [class*="-module-page"] .adm-breadcrumb-item a,
  [class*="-module-page"] .adm-breadcrumb-item.active {
    max-width: 9rem;
  }

  [class*="-module-page"] [class*="-breadcrumb__link"],
  [class*="-module-page"] [class*="-breadcrumb__current"] {
    max-width: 9rem;
  }
}

/* â”€â”€ Page header actions bar â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-page-header__actions"] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

[class*="-module-page"] [class*="-filters-form"] .form-label {
  font-size: 0.8125rem;
  font-weight: 600;
}

/* â”€â”€ Back icon (RTL flip) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-back-icon"] {
  display: inline-block;
}

[dir="rtl"] [class*="-module-page"] [class*="-back-icon"] {
  transform: scaleX(-1);
}


/* ── components\panels.css (406 lines) ── */
/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   System component â€” Panels
   Scoped to [class*="-module-page"] (works for sales, purchasing, inventory, etc.)
   Extracted from sales-module.css â€” design identical, scope widened.
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */

/* â”€â”€ Unified section panel (hub, filters, tables, forms) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-panel"]:not([class*="-panel__"]),
[class*="-module-page"] [class*="-module-nav"] {
  --sales-panel-pad-block: 1.25rem;
  --sales-panel-pad-inline: 1.35rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0 !important;
  margin: 0;
  overflow: hidden;
  background: var(--adm-bg-surface) !important;
  border: 1px solid var(--adm-border-subtle) !important;
  border-radius: 0.75rem !important;
  box-shadow: none !important;
}

/* card-header â€” same inset as card-body (panel containers only; not sys-panel__* parts) */
[class*="-module-page"] [class*="-panel"]:not([class*="-panel__"])>[class*="-panel__head"],
[class*="-module-page"] [class*="-panel"]:not([class*="-panel__"])>[class*="-panel__header"],
[class*="-module-page"] [class*="-module-nav"]>[class*="-module-nav__head"] {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.75rem;
  box-sizing: border-box;
  margin: 0 !important;
  padding: var(--sales-panel-pad-block) var(--sales-panel-pad-inline) !important;
  border-bottom: 1px solid var(--adm-border-subtle);
  background: linear-gradient(180deg,
      color-mix(in srgb, var(--adm-brand-600) 5%, var(--adm-bg-surface)) 0%,
      var(--adm-bg-surface) 100%);
}

[class*="-module-page"] [class*="-panel__accent"] {
  flex: 0 0 4px;
  width: 4px;
  min-height: 1.25rem;
  align-self: stretch;
  border-radius: 4px;
  background: linear-gradient(180deg,
      var(--adm-brand-600),
      color-mix(in srgb, var(--adm-brand-600) 72%, #121f1d));
}

[class*="-module-page"] [class*="-panel__head-text"] {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
}

[class*="-module-page"] [class*="-panel__head--compact"] [class*="-panel__title"] {
  font-size: 1rem;
}

[class*="-module-page"] [class*="-panel__head--described"] [class*="-panel__head-text"] {
  gap: 0.45rem;
}

[class*="-module-page"] [class*="-panel__head--inline"] {
  border-bottom: 0;
  background: transparent;
  padding: 0 !important;
}

[class*="-module-page"] [class*="-panel__head--inline"] [class*="-panel__accent"] {
  display: none;
}

[class*="-module-page"] [class*="-panel__head"]::before,
[class*="-module-page"] [class*="-module-nav__head"]::before {
  display: none;
}

[class*="-module-page"] [class*="-panel__title"],
[class*="-module-page"] [class*="-module-nav__title"],
[class*="-module-page"] [class*="-panel"] h2[class*="-panel__title"] {
  display: block;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border: 0;
  font-size: 1.125rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.45 !important;
  color: var(--adm-text-strong) !important;
  -webkit-text-fill-color: currentColor;
  background: none !important;
  animation: none !important;
  overflow-wrap: anywhere;
}

[class*="-module-page"] [class*="-panel__subtitle"],
[class*="-module-page"] [class*="-module-nav__subtitle"],
[class*="-module-page"] [class*="-panel"] p[class*="-panel__subtitle"] {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.55 !important;
  color: var(--adm-text-muted-ui) !important;
  overflow-wrap: anywhere;
}

[class*="-module-page"] [class*="-panel__meta"] {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--adm-text-muted-ui);
  font-variant-numeric: tabular-nums;
}

/* â”€â”€ Panel body variants â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-panel__body--grid"],
[class*="-module-page"] [class*="-module-nav__grid"],
[class*="-module-page"] [class*="-panel"]>[class*="-panel__body--grid"] {
  padding: var(--sales-panel-pad-block) var(--sales-panel-pad-inline) !important;
  background: color-mix(in srgb, var(--adm-bg-surface-2, #f8fafc) 55%, var(--adm-bg-surface));
}

[class*="-module-page"] [class*="-panel__body--padded"],
[class*="-module-page"] [class*="-panel"]>[class*="-panel__body--padded"] {
  padding: var(--sales-panel-pad-block) var(--sales-panel-pad-inline) !important;
  background: var(--adm-bg-surface);
}

[class*="-module-page"] [class*="-panel__body--flush"] {
  padding: 0;
  background: var(--adm-bg-surface);
}

[class*="-module-page"] [class*="-panel__body--padded"] [class*="-empty-state"] {
  margin: 0.5rem 0 0.25rem;
}

/* â”€â”€ Hub tiles â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-hub-tile"] {
  color: inherit;
  border-radius: var(--sys-radius);
}

[class*="-module-page"] [class*="-hub-tile__inner"] {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  min-height: 5.5rem;
  padding: 1rem 1.05rem;
  border: 1px solid var(--adm-border-subtle);
  border-radius: var(--sys-radius);
  background: var(--adm-bg-surface);
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.04);
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

[class*="-module-page"] [class*="-hub-tile"]:hover [class*="-hub-tile__inner"],
[class*="-module-page"] [class*="-hub-tile"]:focus-visible [class*="-hub-tile__inner"] {
  border-color: color-mix(in srgb, var(--adm-brand-600) 30%, var(--adm-border));
  background: color-mix(in srgb, var(--adm-brand-600) 4%, var(--adm-bg-surface));
  box-shadow: 0 8px 24px rgba(7, 10, 9, 0.07);
  transform: translateY(-1px);
}

[class*="-module-page"] [class*="-hub-tile"]:focus-visible {
  outline: none;
}

[class*="-module-page"] [class*="-hub-tile"]:focus-visible [class*="-hub-tile__inner"] {
  box-shadow: 0 0 0 3px var(--adm-focus-ring), 0 8px 24px rgba(7, 10, 9, 0.07);
}

[class*="-module-page"] [class*="-hub-tile__icon"] {
  flex-shrink: 0;
  width: 2.65rem;
  height: 2.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--sys-radius);
  font-size: 1.2rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

[class*="-module-page"] [class*="-hub-tile--featured"] [class*="-hub-tile__inner"] {
  border-color: color-mix(in srgb, var(--adm-brand-600) 28%, var(--adm-border));
  background: linear-gradient(135deg,
      color-mix(in srgb, var(--adm-brand-600) 7%, var(--adm-bg-surface)) 0%,
      var(--adm-bg-surface) 100%);
  min-height: 6rem;
}

[class*="-module-page"] [class*="-hub-tile__value"] {
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.1;
  color: var(--adm-text-strong);
  font-variant-numeric: tabular-nums;
}

[class*="-module-page"] [class*="-hub-tile__title"] {
  font-size: 0.9375rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.35;
  color: var(--adm-text-strong);
}

[class*="-module-page"] [class*="-hub-tile__desc"] {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--adm-text-muted-ui);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

[class*="-module-page"] [class*="-hub-tile__icon--primary"] {
  background: linear-gradient(145deg, color-mix(in srgb, var(--adm-brand-600) 18%, var(--adm-bg-surface)), color-mix(in srgb, var(--adm-brand-600) 8%, var(--adm-bg-surface)));
  color: var(--adm-brand-600);
}

[class*="-module-page"] [class*="-hub-tile__icon--info"] {
  background: linear-gradient(145deg, color-mix(in srgb, #17322d 18%, var(--adm-bg-surface)), color-mix(in srgb, #17322d 8%, var(--adm-bg-surface)));
  color: var(--adm-brand-600, #112a25);
}

[class*="-module-page"] [class*="-hub-tile__icon--success"] {
  background: linear-gradient(145deg, color-mix(in srgb, #16a34a 18%, var(--adm-bg-surface)), color-mix(in srgb, #16a34a 8%, var(--adm-bg-surface)));
  color: #15803d;
}

[class*="-module-page"] [class*="-hub-tile__icon--warning"] {
  background: linear-gradient(145deg, color-mix(in srgb, #f59e0b 20%, var(--adm-bg-surface)), color-mix(in srgb, #f59e0b 10%, var(--adm-bg-surface)));
  color: #d97706;
}

[class*="-module-page"] [class*="-hub-tile__icon--danger"] {
  background: linear-gradient(145deg, color-mix(in srgb, #ef4444 18%, var(--adm-bg-surface)), color-mix(in srgb, #ef4444 8%, var(--adm-bg-surface)));
  color: #dc2626;
}

[class*="-module-page"] [class*="-hub-tile__icon--brand"] {
  background: linear-gradient(145deg,
      color-mix(in srgb, var(--adm-brand-600) 16%, var(--adm-bg-surface)) 0%,
      color-mix(in srgb, var(--adm-brand-600) 8%, var(--adm-bg-surface)) 100%);
  color: var(--adm-brand-600);
}

[class*="-module-page"] [class*="-hub-tile__arrow"] {
  flex-shrink: 0;
  align-self: center;
  margin-inline-start: auto;
  width: 1.75rem;
  height: 1.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--sys-radius);
  color: var(--adm-text-muted-ui);
  background: var(--adm-bg-surface-2);
  opacity: 0;
  transform: translateX(4px);
  transition: opacity 0.15s ease, transform 0.15s ease, color 0.15s ease, background 0.15s ease;
}

[dir="rtl"] [class*="-module-page"] [class*="-hub-tile__arrow"] {
  transform: translateX(-4px);
}

[dir="rtl"] [class*="-module-page"] [class*="-hub-tile__arrow"] .bi-chevron-left {
  transform: scaleX(-1);
}

[class*="-module-page"] [class*="-hub-tile"]:hover [class*="-hub-tile__arrow"],
[class*="-module-page"] [class*="-hub-tile"]:focus-visible [class*="-hub-tile__arrow"] {
  opacity: 1;
  transform: translateX(0);
  color: var(--adm-brand-600);
  background: color-mix(in srgb, var(--adm-brand-600) 12%, var(--adm-bg-surface));
}

/* â”€â”€ Quick KPI links on cycle hub â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-quick-link"] {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--adm-border-subtle);
  border-radius: var(--sys-radius);
  background: var(--adm-bg-surface);
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

[class*="-module-page"] a:hover [class*="-quick-link"],
[class*="-module-page"] a:focus-visible [class*="-quick-link"] {
  transform: translateY(-2px);
  box-shadow: var(--adm-shadow-md);
  border-color: color-mix(in srgb, var(--adm-brand-600) 22%, var(--adm-border));
}

[class*="-module-page"] [class*="-quick-link__icon"] {
  flex-shrink: 0;
  width: 2.65rem;
  height: 2.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--sys-radius);
  font-size: 1.2rem;
}

[class*="-module-page"] [class*="-quick-link__icon--info"] {
  background: color-mix(in srgb, #17322d 14%, var(--adm-bg-surface));
  color: var(--adm-brand-600, #112a25);
}

[class*="-module-page"] [class*="-quick-link__icon--primary"] {
  background: color-mix(in srgb, var(--adm-brand-600) 14%, var(--adm-bg-surface));
  color: var(--adm-brand-600);
}

[class*="-module-page"] [class*="-quick-link__icon--success"] {
  background: color-mix(in srgb, #16a34a 14%, var(--adm-bg-surface));
  color: #15803d;
}

[class*="-module-page"] [class*="-quick-link__label"] {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui);
  margin-bottom: 0.15rem;
}

[class*="-module-page"] [class*="-quick-link__value"] {
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: var(--adm-text-strong);
  font-variant-numeric: tabular-nums;
}

[class*="-module-page"] [class*="-quick-link__hint"] {
  font-size: 0.78rem;
  color: var(--adm-text-muted-ui);
}

[class*="-module-page"] [class*="-quick-link__arrow"] {
  margin-inline-start: auto;
  align-self: center;
  color: var(--adm-text-muted-ui);
  opacity: 0.55;
}

[dir="rtl"] [class*="-module-page"] [class*="-quick-link__arrow"] .bi-chevron-left {
  transform: scaleX(-1);
}

/* â”€â”€ KPI tiles and hero â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-kpi-tile"] {
  padding: 0.85rem 0.65rem;
  border: 1px solid var(--adm-border-subtle);
  border-radius: 0.5rem;
  background: linear-gradient(180deg,
      color-mix(in srgb, var(--adm-bg-surface-2, #f8fafc) 70%, var(--adm-bg-surface)) 0%,
      var(--adm-bg-surface) 100%);
  height: 100%;
}

[class*="-module-page"] [class*="-kpi-tile__label"] {
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui);
  margin-bottom: 0.35rem;
}

[class*="-module-page"] [class*="-kpi-tile__value"] {
  font-size: 1.15rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--adm-text-strong);
}

[class*="-module-page"] [class*="-kpi-hero"] {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.35rem 0.15rem;
}

[class*="-module-page"] [class*="-kpi-hero__content"] {
  min-width: 0;
}

[class*="-module-page"] [class*="-kpi-hero__value"] {
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: var(--adm-text-strong);
  font-variant-numeric: tabular-nums;
}

/* â”€â”€ Panel padding lock under .dashboard-wrapper â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-wrapper [class*="-module-page"] [class*="-panel"]:not([class*="-panel__"]) {
  --sales-panel-pad-block: 1.25rem;
  --sales-panel-pad-inline: 1.35rem;
  padding: 0 !important;
  margin-inline: 0;
  background: var(--adm-bg-surface) !important;
  border: 1px solid var(--adm-border-subtle) !important;
  border-radius: 0.20rem !important;
  box-shadow: var(--adm-shadow-sm, 0 1px 3px rgba(7, 10, 9, 0.06)) !important;
}

.dashboard-wrapper [class*="-module-page"] [class*="-panel"]:not([class*="-panel__"])>[class*="-panel__head"],
.dashboard-wrapper [class*="-module-page"] [class*="-panel"]:not([class*="-panel__"])>[class*="-panel__header"],
.dashboard-wrapper [class*="-module-page"] [class*="-panel"]:not([class*="-panel__"])>[class*="-panel__body--padded"],
.dashboard-wrapper [class*="-module-page"] [class*="-panel"]:not([class*="-panel__"])>[class*="-panel__body--grid"] {
  padding: var(--sales-panel-pad-block) var(--sales-panel-pad-inline) !important;
}

.dashboard-wrapper [class*="-module-page"] [class*="-ref-form"]>[class*="-panel__head"]:not(.sys-form-panel__head) {
  padding: 1rem 1.15rem !important;
  background: #fff !important;
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle)) !important;
}

.dashboard-wrapper [class*="-module-page"] [class*="-ref-form"]>.sys-form-panel__head {
  padding: 1rem 1.15rem !important;
  background: var(--sys-card-bg, #fff) !important;
  border-bottom: 1px solid var(--sys-card-border, var(--adm-border-subtle)) !important;
}

.dashboard-wrapper [class*="-module-page"] [class*="-panel"] .content-card-header,
.dashboard-wrapper [class*="-module-page"] [class*="-panel"] .card-label {
  display: none !important;
}

/* â”€â”€ Subsection head overrides â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-lines-panel__head"] [class*="-panel__head--inline"],
[class*="-module-page"] [class*="-form-section-head"][class*="-panel__head--inline"] {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}

[class*="-module-page"] [class*="-form-section-head"] {
  display: block;
  padding: 0.15rem 0 0.35rem;
}


/* ── components\tables.css (246 lines) ── */
/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   System component â€” Tables
   Scoped to [class*="-module-page"] (works for sales, purchasing, inventory, etc.)
   Extracted from sales-module.css â€” design identical, scope widened.
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */

/* â”€â”€ Data table shell (enhanced by JS) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-table-shell"] {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}

[class*="-table-shell"][class*="-overflow-visible"] {
  overflow: visible;
  z-index: 4;
}

[class*="-module-page"] .table-responsive[class*="-overflow-visible"] {
  overflow: visible !important;
}

/* â”€â”€ Table toolbar â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* :not(__) — "-table-toolbar" is a substring of "-table-toolbar__search" and
   "-table-toolbar__meta", so the bare wildcard was painting the container's
   padding, background and divider onto each child as well: instead of one rule
   under the toolbar you got a short dash under the search box and another under
   the page-size box. Same guard the panel selectors already use. */
[class*="-table-toolbar"]:not([class*="-table-toolbar__"]) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--adm-border-subtle);
  background: linear-gradient(180deg, var(--adm-bg-surface-2), var(--adm-bg-surface));
}

[class*="-table-toolbar__search"] {
  position: relative;
  flex: 1 1 220px;
  max-width: 320px;
}

[class*="-table-toolbar__search"] .bi {
  position: absolute;
  inset-inline-start: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--adm-text-muted-ui);
  pointer-events: none;
  font-size: 0.9rem;
}

[class*="-table-toolbar__search"] input {
  width: 100%;
  height: 38px;
  padding-inline: 2.1rem 0.75rem;
  border: 1px solid var(--adm-border);
  border-radius: var(--sys-radius);
  background: var(--adm-bg-surface);
  color: var(--adm-text-primary);
  font-size: 0.875rem;
}

[class*="-table-toolbar__search"] input:focus {
  outline: none;
  border-color: var(--adm-brand-600);
  box-shadow: 0 0 0 3px var(--adm-focus-ring);
}

[class*="-table-toolbar__meta"] {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui);
  white-space: nowrap;
}

[class*="-table-toolbar__meta"] select {
  height: 34px;
  border-radius: var(--sys-radius);
  border: 1px solid var(--adm-border);
  background: var(--adm-bg-surface);
  font-size: 0.8125rem;
  padding-inline: 0.5rem;
}

/* â”€â”€ Data table â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-data-table"] {
  margin-bottom: 0;
  font-size: 0.875rem;
}

[class*="-module-page"] [class*="-data-table"] thead th {
  background: var(--sys-list-table-head-bg, #fff);
  color: var(--adm-text-muted-ui);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid var(--adm-border);
  padding: 0.78rem 1rem;
  white-space: nowrap;
  user-select: none;
}

[class*="-module-page"] [class*="-data-table"] thead th[data-sortable="1"] {
  cursor: pointer;
}

[class*="-module-page"] [class*="-data-table"] thead th[data-sortable="1"]:hover {
  color: var(--adm-brand-600);
  background: color-mix(in srgb, var(--adm-brand-600) 6%, var(--adm-bg-subtle));
}

[class*="-module-page"] [class*="-data-table"] thead th [class*="-sort-icon"] {
  display: inline-block;
  margin-inline-start: 0.25rem;
  opacity: 0.35;
  font-size: 0.65rem;
}

[class*="-module-page"] [class*="-data-table"] thead th[data-sort-dir="asc"] [class*="-sort-icon"],
[class*="-module-page"] [class*="-data-table"] thead th[data-sort-dir="desc"] [class*="-sort-icon"] {
  opacity: 1;
  color: var(--adm-brand-600);
}

[class*="-module-page"] [class*="-data-table"] tbody tr {
  background: var(--sys-list-table-row-bg, #fff);
  transition: background 0.15s ease;
}

[class*="-module-page"] [class*="-data-table"] tbody tr:nth-child(even):not([class*="-empty-state-row"]) {
  background: var(--sys-list-table-row-bg, #fff);
}

[class*="-module-page"] [class*="-data-table"] tbody td {
  padding: 0.72rem 1rem;
  vertical-align: middle;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle) 85%, transparent);
  background: transparent;
}

[class*="-module-page"] [class*="-data-table"] tbody tr:last-child td {
  border-bottom: 0;
}

[class*="-module-page"] [class*="-data-table"] tbody tr[class*="-data-row--clickable"] {
  cursor: pointer;
}

[class*="-module-page"] [class*="-data-table"] tbody tr[class*="-data-row--clickable"]:hover,
[class*="-module-page"] [class*="-data-table"] tbody tr[class*="-data-row--clickable"]:focus-visible {
  background: var(--sys-list-table-row-hover-bg, color-mix(in srgb, var(--adm-brand-600) 5%, #fff)) !important;
  outline: none;
}

[class*="-module-page"] [class*="-data-table"] tbody tr[class*="-data-row--clickable"]:focus-visible {
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--adm-brand-600) 35%, transparent);
}

[class*="-module-page"] [class*="-data-table"] tbody tr[class*="-row-hidden"] {
  display: none;
}

/* â”€â”€ Table footer & pager â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-table-footer"] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.65rem 1rem;
  border-top: 1px solid var(--adm-border-subtle);
  background: var(--adm-bg-surface-2);
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui);
}

[class*="-table-pager"] {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

[class*="-table-pager"] button {
  min-width: 32px;
  height: 32px;
  border: 1px solid var(--adm-border);
  border-radius: var(--sys-radius);
  background: var(--adm-bg-surface);
  color: var(--adm-text-primary);
  font-size: 0.8125rem;
  cursor: pointer;
}

[class*="-table-pager"] button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

[class*="-table-pager"] button:not(:disabled):hover {
  border-color: var(--adm-brand-600);
  color: var(--adm-brand-600);
}

/* Server-side pagers (_PaginationFooter) use links, not buttons: same look. */
[class*="-table-pager"] > a,
[class*="-table-pager"] > span[aria-disabled] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  border: 1px solid var(--adm-border);
  border-radius: var(--sys-radius);
  background: var(--adm-bg-surface);
  color: var(--adm-text-primary);
  font-size: 0.8125rem;
  text-decoration: none;
}

[class*="-table-pager"] > span[aria-disabled] {
  opacity: 0.45;
  cursor: not-allowed;
}

[class*="-table-pager"] > a:hover,
[class*="-table-pager"] > a:focus-visible {
  border-color: var(--adm-brand-600);
  color: var(--adm-brand-600);
}

/* â”€â”€ Table empty marker â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-table-empty"] {
  display: none;
}

/* â”€â”€ Inactive list rows â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] table tbody tr[class*="-row-inactive"] {
  background: color-mix(in srgb, var(--adm-text-muted-ui) 7%, var(--adm-bg-surface)) !important;
}

[class*="-module-page"] table tbody tr[class*="-row-inactive"]>td {
  color: var(--adm-text-muted-ui);
}

[class*="-module-page"] table tbody tr[class*="-row-inactive"] [class*="-code"],
[class*="-module-page"] table tbody tr[class*="-row-inactive"] code {
  opacity: 0.78;
}

[class*="-module-page"] table.table-hover tbody tr[class*="-row-inactive"]:hover {
  background: color-mix(in srgb, var(--adm-text-muted-ui) 11%, var(--adm-bg-surface)) !important;
}

[class*="-module-page"] table tbody tr[class*="-row-inactive"] .badge:not(.text-bg-danger):not(.text-bg-warning) {
  opacity: 0.82;
}

/* â”€â”€ Lines table (inside form detail pages) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-lines-table"] {
  margin-bottom: 0;
  font-size: 0.8125rem;
}

[class*="-module-page"] [class*="-lines-table"] thead th {
  background: var(--adm-bg-subtle, #f8fafc);
  color: var(--adm-text-muted-ui);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-bottom: 1px solid var(--adm-border);
  padding: 0.65rem 0.85rem;
  white-space: nowrap;
}

[class*="-module-page"] [class*="-lines-table"] tbody td {
  padding: 0.55rem 0.85rem;
  vertical-align: middle;
  border-bottom: 1px solid var(--adm-border-subtle);
}

[class*="-module-page"] [class*="-lines-table"] tbody tr:last-child td {
  border-bottom: 0;
}

[class*="-module-page"] [class*="-lines-table"] tbody tr:hover td {
  background: color-mix(in srgb, var(--adm-brand-600) 3%, transparent);
}

/* â”€â”€ Dark mode overrides for tables â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[data-theme="dark"] [class*="-module-page"] [class*="-data-table"] thead th {
  background: var(--adm-bg-elevated);
}

/* â”€â”€ Mobile responsive for toolbar â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 767.98px) {
  [class*="-module-page"] [class*="-table-toolbar"] {
    padding: 0.75rem;
  }

  [class*="-module-page"] [class*="-table-toolbar__search"] {
    max-width: none;
    flex-basis: 100%;
  }
}


/* ── components\forms.css (274 lines) ── */
/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   System component â€” Forms
   Scoped to [class*="-module-page"] (works for sales, purchasing, inventory, etc.)
   Extracted from sales-module.css â€” design identical, scope widened.
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */

/* â”€â”€ Form card wrappers â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-form-card"],
[class*="-module-page"] form.card,
[class*="-module-page"] form[class*="-form-card"],
[class*="-module-page"] form.content-card {
  width: 100%;
  max-width: 100%;
}

[class*="-module-page"] form.card .card-body,
[class*="-module-page"] .content-card form {
  padding: 1.25rem 1.35rem;
}

[class*="-module-page"] [class*="-form-card"],
[class*="-module-page"] form[class*="-form-card"],
[class*="-module-page"] [class*="-panel"][class*="-form-card"],
[class*="-module-page"] .content-card[class*="-form-card"],
[class*="-module-page"] [class*="-panel"][class*="-detail-panel"],
[class*="-module-page"] .content-card[class*="-detail-panel"] {
  overflow: hidden;
  border: 1px solid var(--adm-border-subtle);
  box-shadow: var(--adm-shadow-sm, 0 1px 3px rgba(7, 10, 9, 0.06));
}

[class*="-module-page"] [class*="-panel"][class*="-form-card"]>form,
[class*="-module-page"] [class*="-panel"][class*="-form-card"]:not(.p-0)>[class*="-panel__body"],
[class*="-module-page"] .content-card[class*="-form-card"]>form,
[class*="-module-page"] form.content-card[class*="-form-card"] .card-body,
[class*="-module-page"] .content-card[class*="-form-card"]:not(.p-0) {
  padding: 1.35rem 1.45rem;
}

[class*="-module-page"] [class*="-form-card"] form,
[class*="-module-page"] form[class*="-form-card"] {
  padding: 0;
}

/* â”€â”€ Form label â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] .form-label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-secondary);
  margin-bottom: 0.35rem;
}

/* â”€â”€ Form control & select â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] .form-control,
[class*="-module-page"] .form-select {
  min-height: 42px;
  border-radius: var(--sys-radius);
  border-color: var(--adm-border);
  background: var(--adm-bg-surface);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

[class*="-module-page"] .form-control:focus,
[class*="-module-page"] .form-select:focus {
  border-color: var(--adm-brand-600);
  box-shadow: none;
  outline: none;
}

[class*="-module-page"] .form-control-sm,
[class*="-module-page"] .form-select-sm {
  min-height: 34px;
  border-radius: var(--sys-radius);
}

[class*="-module-page"] .form-control:hover:not(:focus):not(:disabled):not([readonly]),
[class*="-module-page"] .form-select:hover:not(:focus):not(:disabled) {
  border-color: color-mix(in srgb, var(--adm-brand-600) 32%, var(--adm-border));
}

[class*="-module-page"] .form-control::placeholder {
  color: var(--adm-text-muted-ui);
  opacity: 0.85;
}

/* â”€â”€ Select chevron â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] .form-select:not([multiple]):not([size]) {
  padding-inline-end: 2.5rem;
  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='%2364748b' 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-size: 14px 10px;
  appearance: none;
  -webkit-appearance: none;
}

[class*="-module-page"] .form-select-sm:not([multiple]):not([size]) {
  padding-inline-end: 2rem;
  background-size: 12px 8px;
}

[dir="ltr"] [class*="-module-page"] .form-select:not([multiple]):not([size]) {
  background-position: right 0.85rem center;
}

[dir="rtl"] [class*="-module-page"] .form-select:not([multiple]):not([size]) {
  background-position: left 0.85rem center;
}

/* â”€â”€ Checkbox / radio inputs â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] .form-check-input {
  border-color: var(--adm-border);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

[class*="-module-page"] .form-check-input:checked {
  background-color: var(--adm-brand-600);
  border-color: var(--adm-brand-600);
}

[class*="-module-page"] .form-check-input:focus {
  border-color: var(--adm-brand-600);
  box-shadow: none;
  outline: none;
}

/* â”€â”€ Form sections â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-form-section"] {
  margin-bottom: 1.25rem;
}

[class*="-module-page"] [class*="-form-section-head"] {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.65rem;
}

[class*="-module-page"] [class*="-form-section-title"] {
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-transform: none;
  color: var(--adm-text-strong);
  margin: 0;
  padding: 0;
  border-bottom: 0;
  line-height: 1.45;
}

[class*="-module-page"] [class*="-form-section-help"] {
  margin-top: 0.25rem;
  line-height: 1.5;
}

/* â”€â”€ Form actions â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-form-actions"] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-top: 1rem;
  margin-top: 0.5rem;
  border-top: 1px solid var(--adm-border-subtle);
}

/* â”€â”€ Form stack & grouped field cards â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-form-stack"] {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  max-width: 100%;
}

[class*="-module-page"] [class*="-form-stack"]>[class*="-form-group"],
[class*="-module-page"] [class*="-form-stack"]>[class*="-lines-panel"],
[class*="-module-page"] [class*="-form-stack"]>[class*="-form-actions-panel"] {
  margin-bottom: 0;
}

[class*="-module-page"] [class*="-form-actions-panel"] [class*="-form-actions"] {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

[class*="-module-page"] [class*="-form-group"] .form-text,
[class*="-module-page"] [class*="-form-group"] .small.text-muted {
  line-height: 1.5;
}

/* â”€â”€ Choice groups â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-choice-group"] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

[class*="-module-page"] [class*="-choice-group"] .form-check {
  margin: 0;
  padding: 0.55rem 1rem;
  border: 1px solid var(--adm-border);
  border-radius: var(--sys-radius);
  background: var(--adm-bg-surface);
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

[class*="-module-page"] [class*="-choice-group"] .form-check:has(.form-check-input:checked) {
  border-color: var(--adm-brand-600);
  background: var(--adm-bg-surface, #fff);
  box-shadow: none;
}

[class*="-module-page"] [class*="-choice-group"] .form-check-input {
  margin-top: 0.2rem;
}

/* â”€â”€ GL summary â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-gl-summary"] {
  border: 1px solid var(--adm-border-subtle);
  border-radius: 0.75rem;
  padding: 1rem 1.15rem;
  background: color-mix(in srgb, var(--adm-brand-600) 3%, var(--adm-bg-surface));
}

/* â”€â”€ Dropzone styles â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

/* Dashed edge + pointer are intrinsic to a dropzone, so they are declared
   unscoped — the themed rules below only refine them inside module pages. */
[class*="-dropzone"],
.vendor-contract-dropzone {
  border-style: dashed !important;
  cursor: pointer;
}

[class*="-module-page"] [class*="-dropzone"],
[class*="-module-page"] .vendor-contract-dropzone {
  border-radius: var(--sys-radius) !important;
  border-color: var(--adm-border) !important;
  background: color-mix(in srgb, var(--adm-brand-600) 3%, var(--adm-bg-surface));
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

[class*="-module-page"] [class*="-dropzone"]:hover,
[class*="-module-page"] [class*="-dropzone"]:focus-visible,
[class*="-module-page"] .vendor-contract-dropzone:hover,
[class*="-module-page"] .vendor-contract-dropzone:focus-visible {
  border-color: var(--adm-brand-600) !important;
  background: color-mix(in srgb, var(--adm-brand-600) 7%, var(--adm-bg-surface));
  box-shadow: none;
  outline: none;
}

[class*="-module-page"] [class*="-dropzone"].is-dragover,
[class*="-module-page"] .vendor-contract-dropzone.is-dragover {
  border-color: var(--adm-brand-600) !important;
  background: color-mix(in srgb, var(--adm-brand-600) 10%, var(--adm-bg-surface));
}

/* â”€â”€ File preview â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] #vendorContractPreview,
[class*="-module-page"] [class*="-file-preview"] {
  border-radius: var(--sys-radius);
  border-color: var(--adm-border-subtle) !important;
}

/* â”€â”€ Validation state icons â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] .form-control[class*="-field-valid"],
[class*="-module-page"] .form-select[class*="-field-valid"] {
  border-color: var(--bs-success, #198754) !important;
  box-shadow: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23198754'/%3E%3Cpath d='M4.3 8.3 6.9 11l4.8-5.1' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 1rem 1rem;
}

[class*="-module-page"] .form-control[class*="-field-invalid"],
[class*="-module-page"] .form-select[class*="-field-invalid"] {
  border-color: var(--bs-danger, #dc3545) !important;
  box-shadow: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23dc3545'/%3E%3Cpath d='M8 4.1v5.2' stroke='white' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='11.9' r='1' fill='white'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 1rem 1rem;
}

[dir="ltr"] [class*="-module-page"] .form-control[class*="-field-valid"],
[dir="ltr"] [class*="-module-page"] .form-control[class*="-field-invalid"] {
  background-position: right 0.75rem center;
  padding-right: 2.25rem;
}

[dir="rtl"] [class*="-module-page"] .form-control[class*="-field-valid"],
[dir="rtl"] [class*="-module-page"] .form-control[class*="-field-invalid"] {
  background-position: left 0.75rem center;
  padding-left: 2.25rem;
}

[dir="ltr"] [class*="-module-page"] .form-select[class*="-field-valid"]:not([multiple]):not([size]),
[dir="ltr"] [class*="-module-page"] .form-select[class*="-field-invalid"]:not([multiple]):not([size]) {
  background-position: right 0.75rem center, right 2.1rem center;
  padding-right: 3.3rem;
}

[dir="rtl"] [class*="-module-page"] .form-select[class*="-field-valid"]:not([multiple]):not([size]),
[dir="rtl"] [class*="-module-page"] .form-select[class*="-field-invalid"]:not([multiple]):not([size]) {
  background-position: left 0.75rem center, left 2.1rem center;
  padding-left: 3.3rem;
}

/* â”€â”€ Validation hints (journal balance, voucher lines, date range, etc.) â”€â”€ */
[class*="-module-page"] [class*="-hint"] {
  font-size: 0.875rem;
}

[class*="-module-page"] [class*="-hint"].is-invalid {
  color: var(--bs-danger, #dc3545);
}

[class*="-module-page"] [class*="-hint"].is-valid {
  color: var(--bs-success, #198754);
}

/* â”€â”€ Detail meta label â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] .content-card [class*="-detail-meta-label"],
[class*="-module-page"] .content-card p.text-muted.small.mb-1 {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--adm-text-muted-ui);
}


/* ── components\buttons.css (24 lines) ── */
/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   System â€” Buttons
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */

[class*="-module-page"] .btn {
  border-radius: var(--sys-radius);
  font-weight: 600;
  letter-spacing: 0.01em;
  transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}

[class*="-module-page"] .btn-primary {
  box-shadow: none;
}

[class*="-module-page"] .btn-primary:hover {
  transform: none;
  box-shadow: none;
}

[class*="-module-page"] .btn-outline-primary,
[class*="-module-page"] .btn-outline-secondary {
  background: var(--adm-bg-surface);
}

[class*="-module-page"] .btn-sm {
  border-radius: var(--sys-radius);
  font-size: 0.8125rem;
}


/* ── components\badges.css (9 lines) ── */
/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   System component â€” Badges
   Scoped to [class*="-module-page"] (works for sales, purchasing, inventory, etc.)
   Extracted from sales-module.css â€” design identical, scope widened.
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */

[class*="-module-page"] .badge {
  font-weight: 700;
  letter-spacing: 0.02em;
}


/* ── components\dropdowns.css (258 lines) ── */
/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   System component â€” Row-action Dropdowns
   Scoped to [class*="-module-page"] (works for sales, purchasing, inventory, etc.)
   Extracted from sales-module.css â€” design identical, scope widened.
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */

/* â”€â”€ Row actions column cell â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* The open-menu state class on a whole row ("sys-row-actions-open") also contains
   "-row-actions"; without the exclusion a catalog row shrank to this cell width.
   :where() keeps the specificity the rule always had. */
[class*="-module-page"] [class*="-row-actions"]:not(:where([class*="-row-actions-open"])) {
  width: 3.25rem;
  min-width: 3.25rem;
  position: relative;
  z-index: 2;
  cursor: pointer;
}

[class*="-module-page"] [class*="-row-actions-dd"] {
  position: relative;
  z-index: 6;
  cursor: pointer;
}

[class*="-module-page"] [class*="-row-actions-dd"]:has(.dropdown-menu.show) {
  z-index: 30;
}

[class*="-module-page"] tr[class*="-row-actions-open"] {
  position: relative;
  z-index: 25;
}

[class*="-module-page"] tr[class*="-row-actions-open"]>td {
  background: color-mix(in srgb, var(--adm-brand-600) 5%, var(--adm-bg-surface)) !important;
}

/* â”€â”€ Catalog row open state â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-catalog-row"][class*="-row-actions-open"],
[class*="-module-page"] [class*="-catalog-row"]:has(.dropdown-menu.show) {
  position: relative;
  z-index: 25;
  overflow: visible;
  border-color: color-mix(in srgb, var(--adm-brand-600) 22%, var(--adm-border-subtle));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--adm-brand-600) 8%, transparent);
}

/* â”€â”€ Trigger button â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-row-actions-dd__trigger"] {
  width: 2rem;
  height: 2rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--adm-border-subtle);
  border-radius: var(--sys-radius);
  background: var(--sys-list-table-surface, #fff);
  color: var(--adm-text-muted-ui);
  line-height: 1;
  cursor: pointer !important;
  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease;
}

[class*="-module-page"] [class*="-row-actions-dd__trigger"] .bi {
  cursor: pointer !important;
  pointer-events: none;
}

[class*="-module-page"] [class*="-row-actions-dd__trigger"]:hover,
[class*="-module-page"] [class*="-row-actions-dd__trigger"]:focus-visible {
  border-color: color-mix(in srgb, var(--adm-brand-600) 35%, var(--adm-border));
  color: var(--adm-brand-600);
  background: color-mix(in srgb, var(--adm-brand-600) 6%, var(--adm-bg-surface));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--adm-brand-600) 12%, transparent);
}

[class*="-module-page"] [class*="-row-actions-dd"]:has(.dropdown-menu.show) [class*="-row-actions-dd__trigger"] {
  border-color: var(--adm-brand-600);
  color: var(--adm-brand-600);
  background: color-mix(in srgb, var(--adm-brand-600) 8%, var(--adm-bg-surface));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--adm-brand-600) 14%, transparent);
}

/* â”€â”€ Dropdown toggle no-caret â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-row-actions-dd__trigger"].dropdown-toggle-no-caret::after {
  display: none;
}

/* â”€â”€ Menu â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-row-actions-dd__menu"] {
  width: max-content;
  min-width: 13.25rem;
  max-width: min(22rem, calc(100vw - 1.5rem));
  padding: 0.35rem;
  margin: 0 !important;
  border: 1px solid var(--adm-border-subtle);
  border-radius: var(--sys-radius);
  background-color: var(--adm-bg-surface, #ffffff) !important;
  background-image: none !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  isolation: isolate;
  box-shadow: 0 14px 36px rgba(7, 10, 9, 0.14);
  z-index: 1080;
  text-align: start;
  box-sizing: border-box;
  overflow-x: clip;
  overflow-y: auto;
  cursor: pointer !important;
  list-style: none;
}

[class*="-module-page"] [class*="-row-actions-dd__menu"]>li {
  display: block;
  width: 100%;
  min-width: 0;
  background-color: var(--adm-bg-surface, #ffffff);
  cursor: pointer !important;
}

[class*="-module-page"] [class*="-row-actions-dd"] [class*="-row-actions-dd__menu"].show {
  animation: none;
}

/* â”€â”€ Sticky dropdown positioning (non-dropup) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-row-actions-dd"]:not(.dropup) [class*="-row-actions-dd__menu--sticky"].show,
[class*="-module-page"] [class*="-row-actions-dd"]:not(.dropup) [class*="-row-actions-dd__menu"].show {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  bottom: auto !important;
  margin: 0 !important;
  display: block;
  overflow: visible;
  z-index: 1090 !important;
}

/* ── RTL / LTR text direction ── */
html[dir="rtl"] [class*="-module-page"] [class*="-row-actions-dd"] [class*="-row-actions-dd__menu"].show {
  direction: rtl;
  text-align: start;
}

html[dir="ltr"] [class*="-module-page"] [class*="-row-actions-dd"] [class*="-row-actions-dd__menu"].show {
  direction: ltr;
  text-align: start;
}

/* ── Smart horizontal anchor (JS picks start vs end based on viewport space) ── */
[class*="-module-page"] [class*="-row-actions-dd"][class*="-row-actions-dd--anchor-start"] [class*="-row-actions-dd__menu"].show,
[class*="-module-page"] [class*="-row-actions-dd"].sys-row-actions-dd--anchor-start [class*="-row-actions-dd__menu"].show {
  inset-inline-start: 0 !important;
  inset-inline-end: auto !important;
}

[class*="-module-page"] [class*="-row-actions-dd"][class*="-row-actions-dd--anchor-end"] [class*="-row-actions-dd__menu"].show,
[class*="-module-page"] [class*="-row-actions-dd"].sys-row-actions-dd--anchor-end [class*="-row-actions-dd__menu"].show,
[class*="-module-page"] [class*="-row-actions-dd"]:not([class*="-row-actions-dd--anchor-start"]) [class*="-row-actions-dd__menu"].show {
  inset-inline-end: 0 !important;
  inset-inline-start: auto !important;
}

/* Caret when menu opens below trigger */
[class*="-module-page"] [class*="-row-actions-dd"]:not(.dropup) [class*="-row-actions-dd__menu"].show::before,
[class*="-module-page"] [class*="-row-actions-dd"]:not(.dropup) [class*="-row-actions-dd__menu"].show::after {
  content: "";
  position: absolute;
  top: -7px;
  inset-inline-start: auto;
  inset-inline-end: auto;
  left: var(--sys-row-caret-x, 50%);
  right: auto;
  transform: translateX(-50%);
  pointer-events: none;
  z-index: 1;
}

[class*="-module-page"] [class*="-row-actions-dd"]:not(.dropup) [class*="-row-actions-dd__menu"].show::before {
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid var(--adm-border-subtle);
}

[class*="-module-page"] [class*="-row-actions-dd"]:not(.dropup) [class*="-row-actions-dd__menu"].show::after {
  top: -6px;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid var(--adm-bg-surface, #ffffff);
}

/* Caret when menu opens above trigger (dropup) */
[class*="-module-page"] [class*="-row-actions-dd"].dropup [class*="-row-actions-dd__menu"].show::before,
[class*="-module-page"] [class*="-row-actions-dd"].dropup [class*="-row-actions-dd__menu"].show::after {
  content: "";
  position: absolute;
  top: auto;
  bottom: -7px;
  inset-inline-start: auto;
  inset-inline-end: auto;
  left: var(--sys-row-caret-x, 50%);
  right: auto;
  transform: translateX(-50%);
  pointer-events: none;
  border-bottom: 0;
  border-top: 7px solid var(--adm-border-subtle);
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
}

[class*="-module-page"] [class*="-row-actions-dd"].dropup [class*="-row-actions-dd__menu"].show::after {
  bottom: -6px;
  border-top: 6px solid var(--adm-bg-surface, #ffffff);
}

/* â”€â”€ :not(.show) display none â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-row-actions-dd"] [class*="-row-actions-dd__menu"]:not(.show) {
  display: none !important;
}

/* â”€â”€ Dropdown divider â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-row-actions-dd__menu"] .dropdown-divider {
  margin: 0.3rem 0.15rem;
  border-color: var(--adm-border-subtle);
  opacity: 1;
}

/* â”€â”€ Menu items â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-row-actions-dd__item"] {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 0.55rem;
  width: 100%;
  box-sizing: border-box;
  border: 0;
  border-radius: var(--sys-radius);
  padding: 0.5rem 0.7rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.35;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
  color: var(--adm-text-primary);
  background: transparent;
  text-align: start;
  cursor: pointer !important;
  transition: background 0.12s ease, color 0.12s ease;
}

[class*="-module-page"] [class*="-row-actions-dd__menu"] .dropdown-item[class*="-row-actions-dd__item"] {
  cursor: pointer !important;
}

[class*="-module-page"] [class*="-row-actions-dd__item"]:hover,
[class*="-module-page"] [class*="-row-actions-dd__item"]:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600) 9%, var(--adm-bg-surface));
  color: var(--adm-brand-700, var(--adm-brand-600));
}

[class*="-module-page"] [class*="-row-actions-dd__item"].text-primary {
  color: var(--adm-brand-600);
}

[class*="-module-page"] [class*="-row-actions-dd__item"].text-primary:hover,
[class*="-module-page"] [class*="-row-actions-dd__item"].text-primary:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600) 11%, var(--adm-bg-surface));
  color: var(--adm-brand-600);
}

[class*="-module-page"] [class*="-row-actions-dd__item"].text-danger {
  color: var(--bs-danger, #dc3545);
}

[class*="-module-page"] [class*="-row-actions-dd__item"].text-danger:hover,
[class*="-module-page"] [class*="-row-actions-dd__item"].text-danger:focus-visible {
  background: color-mix(in srgb, var(--bs-danger, #dc3545) 10%, var(--adm-bg-surface));
  color: var(--bs-danger, #dc3545);
}

/* â”€â”€ Icon styles â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-row-actions-dd__icon"] {
  width: 1rem;
  min-width: 1rem;
  flex-shrink: 0;
  text-align: center;
  opacity: 0.85;
  cursor: pointer !important;
  pointer-events: none;
}

/* â”€â”€ Form inside dropdown â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-row-actions-dd__form"] {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  cursor: pointer !important;
}

[class*="-module-page"] [class*="-row-actions-dd__form"] button,
[class*="-module-page"] [class*="-row-actions-dd__form"] button[class*="-row-actions-dd__item"] {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 0.55rem;
  width: 100%;
  box-sizing: border-box;
  text-align: start;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
  border: 0;
  background: transparent;
  cursor: pointer !important;
}

/* â”€â”€ Overflow visible on parents when dropdown is open â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] .content-card.p-0[class*="-overflow-visible"],
[class*="-module-page"] .content-card.p-0:has([class*="-overflow-visible"]),
[class*="-module-page"] [class*="-panel"].p-0[class*="-overflow-visible"],
[class*="-module-page"] [class*="-panel"].p-0:has([class*="-overflow-visible"]),
[class*="-module-page"] [class*="-panel"]:has([class*="-overflow-visible"]),
[class*="-module-page"] [class*="-panel__body"]:has([class*="-overflow-visible"]),
[class*="-module-page"] [class*="-panel__body--grid"]:has([class*="-overflow-visible"]),
[class*="-module-page"] [class*="-catalog-row"][class*="-overflow-visible"],
[class*="-module-page"] [class*="-panel"][data-sales-table]:has(.dropdown-menu.show),
[class*="-module-page"] [class*="-panel"][data-sales-table]:has(tr[class*="-row-actions-open"]),
[class*="-module-page"] [class*="-panel"][data-sales-table] [class*="-panel__body"]:has(.dropdown-menu.show),
[class*="-module-page"] [class*="-panel"][data-sales-table] [class*="-panel__body"]:has(tr[class*="-row-actions-open"]),
[class*="-module-page"] [class*="-panel"][data-sales-table] [class*="-table-shell"]:has(.dropdown-menu.show),
[class*="-module-page"] [class*="-panel"][data-sales-table] .table-responsive:has(.dropdown-menu.show),
[class*="-module-page"] .sys-panel[data-sys-table]:has(.dropdown-menu.show),
[class*="-module-page"] .sys-panel[data-sys-table]:has(tr[class*="-row-actions-open"]),
[class*="-module-page"] .sys-panel[data-sys-table] .sys-panel__body:has(.dropdown-menu.show),
[class*="-module-page"] .sys-panel[data-sys-table] .sys-panel__body:has(tr[class*="-row-actions-open"]),
[class*="-module-page"] .sys-panel[data-sys-table] .table-responsive:has(.dropdown-menu.show) {
  overflow: visible;
  z-index: 5;
}

[class*="-module-page"] .sys-panel[data-sys-table] tr[class*="-row-actions-open"] {
  position: relative;
  z-index: 6;
}

[class*="-module-page"] .sys-panel[data-sys-table] tr[class*="-row-actions-open"]>td:last-child {
  overflow: visible;
  position: relative;
  z-index: 7;
}

[class*="-module-page"] .sys-panel[data-sys-table] [class*="-row-actions-dd"]:has(.dropdown-menu.show) {
  z-index: 8;
}

/* ── Smart dropup (menu opens above trigger when space below is tight) ── */
html body [class*="-row-actions-dd"]:not(.dropup) [class*="-row-actions-dd__menu"].show,
html body [class*="-row-actions-dd"]:not(.dropup) .dropdown-menu.show {
  overflow: visible !important;
}

html body [class*="-row-actions-dd"].dropup [class*="-row-actions-dd__menu"].show,
html body [class*="-row-actions-dd"].dropup .dropdown-menu.show {
  position: absolute !important;
  top: auto !important;
  bottom: calc(100% + 8px) !important;
  z-index: 1090 !important;
  display: block !important;
  overflow: visible;
}

html body [class*="-row-actions-dd"].dropup [class*="-row-actions-dd__menu"].show::before,
html body [class*="-row-actions-dd"].dropup [class*="-row-actions-dd__menu"].show::after,
html body [class*="-row-actions-dd"].dropup .dropdown-menu.show::before,
html body [class*="-row-actions-dd"].dropup .dropdown-menu.show::after {
  top: auto !important;
  bottom: -7px !important;
  inset-inline-start: auto !important;
  inset-inline-end: auto !important;
  left: var(--sys-row-caret-x, 50%) !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  border-bottom: 0 !important;
  border-top: 7px solid var(--adm-border-subtle) !important;
}

html body [class*="-row-actions-dd"].dropup [class*="-row-actions-dd__menu"].show::after,
html body [class*="-row-actions-dd"].dropup .dropdown-menu.show::after {
  bottom: -6px !important;
  border-top: 6px solid var(--adm-bg-surface, #ffffff) !important;
}


/* ── components\empty-state.css (48 lines) ── */
/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   System component â€” Empty State
   Scoped to [class*="-module-page"] (works for sales, purchasing, inventory, etc.)
   Extracted from sales-module.css â€” design identical, scope widened.
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */

[class*="-module-page"] [class*="-empty-state"]:not(tr) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2.75rem 1.5rem;
  min-height: 14rem;
  background: linear-gradient(180deg,
      color-mix(in srgb, var(--adm-bg-surface-2, #f8fafc) 65%, var(--adm-bg-surface)) 0%,
      var(--adm-bg-surface) 100%);
}

[class*="-module-page"] [class*="-empty-state__icon"] {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: var(--sys-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.85rem;
  color: var(--adm-brand-600);
  background: color-mix(in srgb, var(--adm-brand-600) 10%, var(--adm-bg-surface));
  font-size: 1.45rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

[class*="-module-page"] [class*="-empty-state__title"] {
  margin: 0 0 0.35rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--adm-text-strong);
}

[class*="-module-page"] [class*="-empty-state__hint"] {
  margin: 0;
  max-width: 26rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--adm-text-muted-ui);
}

/* In-table empty state — polished, system-wide (*-empty-state-row in any list table) */
[class*="-module-page"] tr[class*="-empty-state-row"]>td,
[class*="-module-page"] tr.sys-empty-state-row>td {
  padding: 0 !important;
  border-bottom: 0;
  background: var(--sys-list-table-row-bg, var(--adm-bg-surface, #fff)) !important;
}

[class*="-module-page"] tr[class*="-empty-state-row"] [class*="-empty-state"]:not(tr),
[class*="-module-page"] tr.sys-empty-state-row .sys-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  min-height: 0;
  padding: 1.35rem 1.25rem 1.25rem;
  background: transparent;
  background-image: none;
  text-align: center;
}

[class*="-module-page"] tr[class*="-empty-state-row"] [class*="-empty-state__icon"],
[class*="-module-page"] tr.sys-empty-state-row .sys-empty-state__icon {
  --sys-table-empty-badge-size: 4rem;
  --sys-table-empty-badge-radius: 0.75rem;
  --sys-table-empty-badge-bg: #eef8f6;
  --sys-table-empty-badge-border: #cce9e4;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: var(--sys-table-empty-badge-size);
  height: var(--sys-table-empty-badge-size);
  margin: 0 0 0.625rem;
  padding: 0;
  font-size: 2rem;
  line-height: 1;
  color: var(--adm-brand-600, #122b26);
  background: var(--sys-table-empty-badge-bg);
  border: 1px solid var(--sys-table-empty-badge-border);
  border-radius: var(--sys-table-empty-badge-radius);
  box-shadow: none;
  opacity: 1;
}

[class*="-module-page"] tr[class*="-empty-state-row"] [class*="-empty-state__icon"] .bi,
[class*="-module-page"] tr.sys-empty-state-row .sys-empty-state__icon .bi {
  display: block;
  width: 1em;
  height: 1em;
  font-size: 2rem;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}

[class*="-module-page"] tr[class*="-empty-state-row"] [class*="-empty-state__title"],
[class*="-module-page"] tr.sys-empty-state-row .sys-empty-state__title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: var(--adm-text-strong);
}

[class*="-module-page"] tr[class*="-empty-state-row"] [class*="-empty-state__hint"],
[class*="-module-page"] tr.sys-empty-state-row .sys-empty-state__hint,
[class*="-module-page"] tr.sys-empty-state-row .sys-empty-state__text {
  margin: 0.375rem 0 0;
  max-width: 20rem;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.45;
  color: var(--adm-text-muted-ui);
}

[class*="-module-page"] [data-sys-table] tr[class*="-empty-state-row"] [class*="-empty-state"]:not(tr),
[class*="-module-page"] [data-platform-table] tr[class*="-empty-state-row"] [class*="-empty-state"]:not(tr),
[class*="-module-page"] [data-sys-table] tr.sys-empty-state-row .sys-empty-state ,
[class*="-module-page"] [data-platform-table] tr.sys-empty-state-row .sys-empty-state {
  padding: 1.25rem 1rem 1.15rem;
}

[data-theme="dark"] [class*="-module-page"] tr[class*="-empty-state-row"] [class*="-empty-state__icon"],
[data-theme="dark"] [class*="-module-page"] tr.sys-empty-state-row .sys-empty-state__icon {
  --sys-table-empty-badge-bg: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 14%, var(--adm-bg-elevated, #222f2c));
  --sys-table-empty-badge-border: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 22%, var(--sys-list-table-border, #3a4b47));

  color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 90%, #fff);
  background: var(--sys-table-empty-badge-bg);
  border-color: var(--sys-table-empty-badge-border);
}

[class*="-table-empty"] {
  display: none;
}


/* ── components\cards.css (226 lines) ── */
/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   System component â€” Cards
   Scoped to [class*="-module-page"] (works for sales, purchasing, inventory, etc.)
   Extracted from sales-module.css â€” design identical, scope widened.
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */

/* â”€â”€ content-card and legacy card shells â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] .content-card:not([class*="-panel"]),
[class*="-module-page"] .card.border-0.shadow-sm:not([class*="-panel"]),
[class*="-module-page"] [class*="-filter-bar"] {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--adm-border-subtle) !important;
  border-radius: var(--sys-radius) !important;
  box-shadow: var(--adm-shadow-sm, 0 1px 3px rgba(7, 10, 9, 0.06)) !important;
  background: var(--adm-bg-surface);
  overflow: hidden;
}

[class*="-module-page"] .content-card:not([class*="-panel"]).p-0 {
  padding: 0 !important;
  overflow: hidden;
}

/* â”€â”€ Hub cards â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-hub-card"] {
  height: 100%;
  border-radius: var(--sys-radius) !important;
  border: 1px solid var(--adm-border-subtle) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

[class*="-module-page"] [class*="-hub-card"]:hover {
  transform: translateY(-2px);
  box-shadow: var(--adm-shadow-md);
  border-color: color-mix(in srgb, var(--adm-brand-600) 25%, var(--adm-border)) !important;
}

[class*="-module-page"] [class*="-hub-card__icon"] {
  width: 2.25rem;
  height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--sys-radius);
  background: color-mix(in srgb, var(--adm-brand-600) 10%, var(--adm-bg-surface));
  color: var(--adm-brand-600);
  font-size: 1.1rem;
}

[class*="-module-page"] [class*="-hub-card--featured"] {
  background: linear-gradient(135deg, color-mix(in srgb, var(--adm-brand-600) 6%, var(--adm-bg-surface)), var(--adm-bg-surface));
}

[class*="-module-page"] a:hover [class*="-hub-card--featured"] .btn-primary {
  transform: translateY(-1px);
}

[dir="rtl"] [class*="-module-page"] [class*="-hub-card--featured"] .bi-arrow-left-short {
  transform: scaleX(-1);
}

/* â”€â”€ Summary cards â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-summary-card"][class*="-panel"] {
  border: 1px solid var(--adm-border-subtle);
  box-shadow: var(--adm-shadow-sm, 0 1px 3px rgba(7, 10, 9, 0.06));
}

[class*="-module-page"] [class*="-summary-card"]:not([class*="-panel"]) {
  border: 1px solid var(--adm-border-subtle);
  border-radius: var(--sys-radius);
  background: linear-gradient(180deg, var(--adm-bg-surface-2), var(--adm-bg-surface));
}

[class*="-module-page"] [class*="-summary-card"] dl {
  margin: 0;
}

/* â”€â”€ Catalog rows â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-catalog-row"] {
  border: 1px solid var(--adm-border-subtle);
  border-radius: var(--sys-radius);
  margin-bottom: 0.5rem;
  background: var(--adm-bg-surface);
}

/* â”€â”€ Detail panels and toolbar â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-detail-toolbar"] {
  gap: 0.45rem;
}

[class*="-module-page"] [class*="-detail-toolbar"] .btn {
  white-space: nowrap;
}

[class*="-module-page"] [class*="-detail-panel"] {
  margin-bottom: 1rem;
}

[class*="-module-page"] [class*="-detail-panel__title"] {
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--adm-text-strong);
}

[class*="-module-page"] [class*="-detail-meta-grid"] [class*="-detail-meta-item"] {
  min-height: 100%;
}

[class*="-module-page"] [class*="-detail-meta-grid"] [class*="-detail-meta-value"] {
  font-weight: 600;
  color: var(--adm-text-primary);
}

/* â”€â”€ Lines panel â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-lines-panel"] {
  border: 1px solid var(--adm-border-subtle);
  border-radius: 0.75rem;
  overflow: hidden;
  background: var(--adm-bg-surface);
  margin-bottom: 1rem;
  box-shadow: none;
}

/* Lines panels inside sys-card: flush — no nested card chrome */
[class*="-module-page"] .sys-card__body>[class*="-lines-panel"],
[class*="-module-page"] .sys-card__body [class*="-lines-panel"] {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible;
}

[class*="-module-page"] .sys-card__body [class*="-lines-panel__head"] {
  position: static;
  padding: 0 0 0.75rem;
  margin: 0 0 0.75rem;
  border-bottom: 1px solid var(--adm-border-subtle);
  background: transparent !important;
}

[class*="-module-page"] .sys-card__body [class*="-lines-panel__head"]::before {
  display: none !important;
}

[class*="-module-page"] .sys-card__body [class*="-lines-panel__table-wrap"] {
  margin: 0;
}

[class*="-module-page"] [class*="-lines-panel__head"],
[class*="-module-page"] [class*="-panel"][class*="-detail-panel"]>[class*="-lines-panel__head"],
[class*="-module-page"] .content-card[class*="-detail-panel"]>[class*="-lines-panel__head"] {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.65rem;
  padding: 0.9rem 1.15rem 0.85rem;
  border-bottom: 1px solid var(--adm-border-subtle);
  background: var(--adm-bg-surface);
}

[class*="-module-page"] [class*="-lines-panel__head"] [class*="-lines-panel__hint"],
[class*="-module-page"] [class*="-lines-panel__head"] p,
[class*="-module-page"] [class*="-lines-panel__head"] .text-muted {
  margin: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
}

[class*="-module-page"] [class*="-lines-panel__head"]::before,
[class*="-module-page"] [class*="-panel"][class*="-detail-panel"]>[class*="-lines-panel__head"]::before,
[class*="-module-page"] .content-card[class*="-detail-panel"]>[class*="-lines-panel__head"]::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  border-radius: 0 var(--sys-radius) var(--sys-radius) 0;
  background: var(--adm-brand-600);
}

[dir="rtl"] [class*="-module-page"] [class*="-lines-panel__head"]::before,
[dir="rtl"] [class*="-module-page"] [class*="-panel"][class*="-detail-panel"]>[class*="-lines-panel__head"]::before,
[dir="rtl"] [class*="-module-page"] .content-card[class*="-detail-panel"]>[class*="-lines-panel__head"]::before {
  border-radius: var(--sys-radius) 0 0 var(--sys-radius);
}

[class*="-module-page"] [class*="-lines-panel__head"] [class*="-detail-panel__title"] {
  padding-inline-start: 0.35rem;
  font-size: 1.0625rem;
}

/* â”€â”€ Workflow steps/panels â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-workflow-panel__header"],
[class*="-module-page"] [class*="-cycle-actions-panel"] {
  padding: 0;
}

/* Deliberate: this selector also matches the step's own BEM children
   (__desc, __check), which gives the description its own inset box. That
   nested look is wanted here — do not add a :not([class*="-workflow-step__"])
   guard to it. */
[class*="-module-page"] [class*="-workflow-step"] {
  border: 1px solid var(--adm-border-subtle);
  border-radius: var(--sys-radius);
  padding: 0.95rem 1.05rem;
  background: var(--adm-bg-surface-2);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

[class*="-module-page"] [class*="-workflow-step--current"] {
  border-color: color-mix(in srgb, var(--adm-brand-600) 45%, var(--adm-border));
  background: color-mix(in srgb, var(--adm-brand-600) 8%, var(--adm-bg-surface));
  box-shadow: none;
}

[class*="-module-page"] [class*="-workflow-step--completed"] {
  border-color: color-mix(in srgb, var(--bs-success, #198754) 35%, var(--adm-border));
  background: color-mix(in srgb, var(--bs-success, #198754) 8%, var(--adm-bg-surface));
}

[class*="-module-page"] [class*="-workflow-step--warning"] {
  border-color: color-mix(in srgb, var(--bs-warning, #ffc107) 45%, var(--adm-border));
  background: color-mix(in srgb, var(--bs-warning, #ffc107) 10%, var(--adm-bg-surface));
}

[class*="-module-page"] [class*="-workflow-step--blocked"] {
  border-color: color-mix(in srgb, var(--bs-danger, #dc3545) 40%, var(--adm-border));
  background: color-mix(in srgb, var(--bs-danger, #dc3545) 8%, var(--adm-bg-surface));
}

[class*="-module-page"] [class*="-workflow-form-panel"] {
  border-inline-start: 3px solid var(--adm-brand-600);
}

[class*="-module-page"] [class*="-workflow-cta__hint"] {
  max-width: 42rem;
}

[class*="-module-page"] [class*="-workflow-cta__primary"] {
  font-weight: 700;
  padding-inline: 1.35rem;
  box-shadow: none;
}

/* â”€â”€ Quotes comparison â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-quotes-comparison"] .table-success {
  background: color-mix(in srgb, var(--bs-success, #198754) 14%, var(--adm-bg-surface)) !important;
}

[class*="-module-page"] [class*="-quotes-comparison"] th.border-start,
[class*="-module-page"] [class*="-quotes-comparison"] td.border-start {
  border-inline-start: 2px solid var(--adm-border) !important;
}

/* â”€â”€ Customer detail â€” tabs integrated in panel â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-customer-detail-panel"] [class*="-panel__tabs"] {
  border-bottom: 1px solid var(--adm-border-subtle, #e2e8f0);
  gap: 0.15rem;
}

[class*="-module-page"] [class*="-customer-detail-panel"] [class*="-panel__tabs"] .nav-link {
  border: 0;
  border-radius: 0.375rem 0.375rem 0 0;
  color: var(--adm-text-muted, #64748b);
  font-size: 0.875rem;
}

[class*="-module-page"] [class*="-customer-detail-panel"] [class*="-panel__tabs"] .nav-link.active {
  color: var(--adm-text-primary, #070a09);
  background: var(--adm-bg-surface, #fff);
  border-bottom: 2px solid var(--bs-primary);
  margin-bottom: -1px;
}

[class*="-module-page"] [class*="-customer-detail-panel"] [class*="-customer-tabs"] {
  border-top: 0;
}

/* â”€â”€ Home hub â€” deep-link targets â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-home-reports-anchor"] {
  scroll-margin-top: 5.5rem;
}

[class*="-module-page"] [class*="-home-reports-anchor"]:target {
  outline: 2px solid color-mix(in srgb, var(--bs-primary) 35%, transparent);
  outline-offset: 4px;
  border-radius: 0.75rem;
}

/* â”€â”€ Filter bar â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-filter-bar"] {
  padding: 1rem 1.15rem;
  margin-bottom: 1rem;
}


/* ── components\details.css (283 lines) ── */
/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   System component â€” Detail views
   Covers detail-grid, detail-hero, detail-dl, ref-form patterns.
   Works with any *-module-page wrapper via attribute selectors.
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */

/* â”€â”€ Detail grid layout â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-detail-grid"] {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}

/* The box is for the field itself. Its parts (__label, __value, __empty) contain the same text
   and were drawn as boxes inside the box; :where() keeps the rule's specificity unchanged. */
[class*="-module-page"] [class*="-detail-field"]:not(:where([class*="-detail-field__"])) {
  padding: 0.75rem 1rem;
  border: 1px solid var(--adm-border-subtle, #dee2e6);
  border-radius: var(--adm-radius-md, 0.5rem);
  background: var(--adm-bg-surface, #fff);
}

[class*="-module-page"] [class*="-detail-field__label"] {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--bs-secondary-color, #6c757d);
  margin-bottom: 0.25rem;
}

[class*="-module-page"] [class*="-detail-field__value"] {
  font-weight: 500;
}

[class*="-module-page"] [class*="-detail-field--full"] {
  grid-column: 1 / -1;
}

/* â”€â”€ Detail hero (avatar + name pattern) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-detail-hero__main"] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}

[class*="-module-page"] [class*="-detail-hero__avatar"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border-radius: 0.20rem;
  background: linear-gradient(145deg,
      color-mix(in srgb, var(--adm-brand-600) 18%, #fff),
      color-mix(in srgb, var(--adm-brand-600) 8%, #f8fafc));
  color: var(--adm-brand-600);
  font-weight: 800;
  font-size: 1.125rem;
  letter-spacing: 0.02em;
  flex-shrink: 0;
}

[class*="-module-page"] [class*="-detail-hero__photo"] {
  width: 4rem;
  height: 4rem;
  object-fit: cover;
  border-radius: 0.20rem;
  border: 1px solid var(--adm-border-subtle);
  flex-shrink: 0;
}

[class*="-module-page"] [class*="-detail-hero__name"] {
  font-weight: 700;
  color: var(--adm-text-strong);
}

[class*="-module-page"] [class*="-detail-hero__meta"] {
  color: var(--adm-text-muted-ui);
  font-size: 0.875rem;
}

/* â”€â”€ Detail definition list (key-value grid) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-detail-dl__row"] {
  display: grid;
  grid-template-columns: minmax(8rem, 12rem) minmax(0, 1fr);
  gap: 0.35rem 1.25rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle) 65%, transparent);
}

[class*="-module-page"] [class*="-detail-dl__row"]:last-child {
  border-bottom: 0;
}

[class*="-module-page"] [class*="-detail-dl__row"] dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui);
}

[class*="-module-page"] [class*="-detail-dl__row"] dd {
  margin: 0;
  font-size: 0.9375rem;
  color: var(--adm-text-strong);
  word-break: break-word;
}

@media (max-width: 767.98px) {
  [class*="-module-page"] [class*="-detail-dl__row"] {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }
}

/* â”€â”€ Reference-style forms (sticky footer) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-ref-form"] {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--adm-bg-surface) !important;
  border: 1px solid var(--adm-border-subtle) !important;
  border-radius: 0.20rem !important;
  box-shadow: var(--adm-shadow-sm, 0 1px 3px rgba(7, 10, 9, 0.06)) !important;
}

/* Multi-section forms — outer shell transparent; .sys-card sections are the groups */
[class*="-module-page"] [class*="-ref-form"]:has([class*="-ref-form__section"]),
[class*="-module-page"] [class*="-ref-form"]:has(.sys-card) {
  gap: var(--sys-card-gap, 1.25rem);
  overflow: visible;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

[class*="-module-page"] [class*="-ref-form"]>[class*="-panel__head"],
[class*="-module-page"] [class*="-ref-form"]>[class*="-panel__footer"],
[class*="-module-page"] [class*="-ref-form"]>[class*="-ref-form__footer"] {
  width: 100%;
  max-width: 100%;
  align-self: stretch;
  box-sizing: border-box;
  flex: 0 0 auto;
}

[class*="-module-page"] [class*="-ref-form__body"] {
  flex: 0 1 auto;
  min-width: 0;
  width: 100%;
}

[class*="-module-page"] [class*="-ref-form__body"],
[class*="-module-page"] [class*="-form-stack"],
[class*="-module-page"] .sys-card-stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--sys-card-gap, 1.25rem);
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

[class*="-module-page"] [class*="-ref-form__footer"],
[class*="-module-page"] [class*="-ref-form"]>[class*="-panel__footer"].sys-card {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: start;
  gap: 0.625rem;
  width: 100%;
  padding: 0.875rem 1.35rem;
  position: sticky;
  bottom: 0;
  z-index: 40;
  margin-top: 0;
  border: 1px solid var(--sys-card-border, var(--adm-border-subtle)) !important;
  border-radius: var(--sys-radius) !important;
  background: color-mix(in srgb, var(--sys-card-bg, #fff) 94%, transparent) !important;
  box-shadow: var(--sys-sticky-footer-shadow, 0 -10px 28px rgba(7, 10, 9, 0.08));
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

[class*="-module-page"] [class*="-ref-form__footer"]>.btn-outline-secondary,
[class*="-module-page"] [class*="-ref-form__footer"]>a.btn:not(.btn-primary):not(.btn-danger),
[class*="-module-page"] [class*="-ref-form__footer"]>.btn-link {
  order: 1;
}

[class*="-module-page"] [class*="-ref-form__footer"]>.btn-primary,
[class*="-module-page"] [class*="-ref-form__footer"]>button[type="submit"]:not(.btn-outline-secondary):not(.btn-link) {
  order: 2;
  min-width: 7rem;
}

[class*="-module-page"] [class*="-ref-form__footer"].is-stuck {
  border-top-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 22%, var(--adm-border-subtle));
  box-shadow: var(--sys-sticky-footer-shadow-stuck, 0 -12px 32px rgba(7, 10, 9, 0.12));
}

[class*="-module-page"] [class*="-ref-form__footer"] .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  flex: 0 0 auto;
  white-space: nowrap;
}

html[dir="rtl"] [class*="-module-page"] [class*="-ref-form__footer"] .bi-arrow-left-short {
  transform: scaleX(-1);
}

/* Form-page owns bottom clearance; module shell must not stack extra pad */
[class*="-module-page"]:has([class*="-module-page__canvas"] .sys-form-page),
[class*="-module-page"]:has(> .sys-form-page) {
  padding-bottom: 0;
}

[class*="-module-page"] [class*="-form-page"]:not(.sys-form-page),
[class*="-module-page"]:has([class*="-ref-form"]):not(:has(.sys-form-page)) {
  padding-bottom: 1.5rem;
}

@media (max-width: 575.98px) {
  [class*="-module-page"] [class*="-ref-form__footer"] {
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
  }

  [class*="-module-page"] [class*="-ref-form__footer"]>.btn-outline-secondary,
  [class*="-module-page"] [class*="-ref-form__footer"]>a.btn:not(.btn-primary):not(.btn-danger),
  [class*="-module-page"] [class*="-ref-form__footer"]>.btn-link {
    order: 2;
    margin-inline-end: 0;
    flex: 1 1 100%;
  }

  [class*="-module-page"] [class*="-ref-form__footer"]>.btn-primary,
  [class*="-module-page"] [class*="-ref-form__footer"]>button[type="submit"]:not(.btn-outline-secondary) {
    order: 1;
    flex: 1 1 100%;
  }
}

@media (max-width: 767.98px) {
  [class*="-module-page"] [class*="-ref-form__footer"] {
    position: static;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

/* ══ System cards — white, radius 0.20rem, independent groups with gap ══ */
[class*="-module-page"] {
  --sys-card-radius: 0.20rem;
  --sys-card-gap: 1.35rem;
  --sys-card-bg: #fff;
  --sys-card-border: var(--adm-border-subtle, var(--bs-border-color-translucent));
  --sys-card-shadow: none;
  --sys-sticky-footer-shadow: 0 -10px 28px rgba(7, 10, 9, 0.08);
  --sys-sticky-footer-shadow-stuck: 0 -12px 32px rgba(7, 10, 9, 0.12);
  --sys-focus-ring: none;
  --sys-card-head-bg: #fff;
  --sys-card-head-pad-block: 0.875rem;
  --sys-card-head-pad-inline: 1.2rem;
  --sys-card-head-min-height: 2.75rem;
  --sys-card-body-pad: 1.2rem 1.2rem 1.25rem;
  --sys-card-head-divider: color-mix(in srgb, var(--sys-card-border) 52%, transparent);
}

[class*="-module-page"] .sys-card,
[class*="-module-page"] [class*="-ref-form__section"],
[class*="-module-page"] [class*="-ref-form"]>[class*="-panel__head"]:not(.sys-form-panel__head) {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--sys-card-border) !important;
  border-radius: var(--sys-card-radius) !important;
  background: var(--sys-card-bg) !important;
  box-shadow: var(--sys-card-shadow) !important;
}

[class*="-module-page"] .sys-form-panel__head .sys-panel__head-text,
[class*="-module-page"] .sys-form-panel__head .sys-panel__title,
[class*="-module-page"] .sys-form-panel__head .sys-panel__subtitle {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  outline: none !important;
  width: auto !important;
  max-width: 100%;
  padding: 0 !important;
  -webkit-text-fill-color: currentColor !important;
  background-clip: border-box !important;
  animation: none !important;
}

[class*="-module-page"] [class*="-ref-form"]>[class*="-panel__head"]:not(.sys-form-panel__head) {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--sys-card-border)) !important;
}

[class*="-module-page"] [class*="-ref-form"]>[class*="-panel__head"] [class*="-panel__accent"] {
  display: none !important;
}

[class*="-module-page"] [class*="-ref-form"]>[class*="-panel__head"] [class*="-panel__head-text"] {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  margin: 0;
  padding: 0;
}

[class*="-module-page"] [class*="-ref-form"]>[class*="-panel__head"] [class*="-panel__title"] {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
  line-height: 1.35 !important;
  color: var(--adm-text-strong) !important;
}

[class*="-module-page"] [class*="-ref-form"]>[class*="-panel__head"] [class*="-panel__subtitle"] {
  font-size: 0.8125rem !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color)) !important;
}

[class*="-module-page"] [class*="-ref-form"]>[class*="-panel__head"] .sys-card__icon,
[class*="-module-page"] [class*="-ref-form"]>[class*="-panel__head"] [class*="-ref-form__section-icon"],
[class*="-module-page"] [class*="-ref-form"]>[class*="-panel__head"] [class*="-form-panel__icon"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  width: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  height: auto;
  border-radius: var(--sys-card-radius);
  flex-shrink: 0;
  font-size: 1.1rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, var(--sys-card-bg));
  color: var(--adm-brand-600, var(--bs-primary));
}

[class*="-module-page"] .sys-card__head,
[class*="-module-page"] [class*="-ref-form__section"] [class*="-ref-form__section-head"] {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.85rem;
  min-height: var(--sys-card-head-min-height, 2.75rem);
  padding-block: var(--sys-card-head-pad-block, 0.875rem);
  padding-inline: var(--sys-card-head-pad-inline, 1.2rem);
  margin: 0;
  border-bottom: 1px solid var(--sys-card-head-divider, var(--sys-card-border));
  background: var(--sys-card-head-bg, #fff);
}

/* Panel head inside card: flat section title (no list-panel gradient halo) */
[class*="-module-page"] .sys-card>.sys-panel__head:not(.sys-form-panel__head) {
  display: flex;
  flex-direction: row;
  align-items: center !important;
  align-content: center;
  gap: 0.85rem;
  min-height: var(--sys-card-head-min-height, 2.75rem) !important;
  padding-block: var(--sys-card-head-pad-block, 0.875rem) !important;
  padding-inline: var(--sys-card-head-pad-inline, 1.2rem) !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--sys-card-head-divider, var(--sys-card-border, var(--adm-border-subtle))) !important;
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  background: var(--sys-card-head-bg, var(--sys-card-bg, #fff)) !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
}

[class*="-module-page"] .sys-card>.sys-panel__head:not(.sys-form-panel__head) .sys-panel__accent {
  display: none !important;
}

[class*="-module-page"] .sys-card>.sys-panel__head:not(.sys-form-panel__head) .sys-panel__head-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-self: center;
  justify-content: center;
  gap: 0.28rem;
}

[class*="-module-page"] .sys-card>.sys-panel__head:not(.sys-form-panel__head) .sys-panel__title {
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  color: var(--adm-text-strong);
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

[class*="-module-page"] .sys-card>.sys-panel__head:not(.sys-form-panel__head) .sys-panel__subtitle {
  font-size: 0.8125rem !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color)) !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

[class*="-module-page"] [class*="-ref-form__section"] [class*="-ref-form__section-head"]>div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.28rem;
  flex: 1 1 auto;
  min-width: 0;
}

[class*="-module-page"] .sys-card__icon,
[class*="-module-page"] [class*="-ref-form__section"] [class*="-ref-form__section-icon"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  min-height: 2.75rem;
  border-radius: var(--sys-card-radius);
  flex-shrink: 0;
  font-size: 1.1rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, var(--sys-card-bg));
  color: var(--adm-brand-600, var(--bs-primary));
}

[class*="-module-page"] [class*="-ref-form__section"] [class*="-form-section-title"],
[class*="-module-page"] [class*="-ref-form__section"] h3,
[class*="-module-page"] .sys-card__head .sys-card__title,
[class*="-module-page"] .sys-card__head h3 {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.25;
  color: var(--adm-text-strong);
}

[class*="-module-page"] .sys-card__body,
[class*="-module-page"] [class*="-ref-form__section"] .row.g-3,
[class*="-module-page"] [class*="-ref-form__section"]>.mb-3,
[class*="-module-page"] [class*="-ref-form__section"]>.table-responsive {
  padding: var(--sys-card-body-pad, 1.2rem 1.2rem 1.25rem);
  margin-top: 0 !important;
}

[class*="-module-page"] [class*="-ref-form__section"] .row.g-3.mt-2 {
  margin-top: 0 !important;
}

/* Neutralize legacy form-group wrapper when it is a ref-form section card */
[class*="-module-page"] [class*="-form-group"][class*="-ref-form__section"] {
  padding: 0 !important;
  border: 1px solid var(--sys-card-border) !important;
  border-radius: var(--sys-card-radius) !important;
  background: var(--sys-card-bg) !important;
  box-shadow: var(--sys-card-shadow) !important;
}

[class*="-module-page"] [class*="-ref-form"] .form-label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-strong);
  margin-bottom: 0.35rem;
}

[class*="-module-page"] [class*="-ref-form"] .form-control,
[class*="-module-page"] [class*="-ref-form"] .form-select,
[class*="-module-page"] [class*="-ref-form"] .form-control.rounded-3,
[class*="-module-page"] [class*="-ref-form"] .form-select.rounded-3 {
  border: 1px solid color-mix(in srgb, var(--adm-border-subtle) 88%, var(--adm-text-muted-ui));
  background: #fff;
  min-height: 2.5rem;
  border-radius: 0.20rem !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

[class*="-module-page"] [class*="-ref-form"] .form-control:focus,
[class*="-module-page"] [class*="-ref-form"] .form-select:focus {
  border-color: var(--adm-brand-600, var(--bs-primary));
  box-shadow: none;
  outline: none;
}

[class*="-module-page"] [class*="-ref-form"] .form-control[readonly],
[class*="-module-page"] [class*="-ref-form"] .form-control:disabled {
  background: color-mix(in srgb, var(--adm-border-subtle) 22%, #fff);
  color: var(--adm-text-muted-ui);
}

[class*="-module-page"] [class*="-ref-form"] .form-text {
  margin-top: 0.3rem;
  font-size: 0.75rem;
}

/* Form pages: breadcrumbs + back in page header; title lives in form panel head */
[class*="-form-page"]:has([class*="-ref-form"] > [class*="-panel__head"])>header[class*="-form-page-header"] {
  margin-bottom: 0.85rem;
  padding: 0;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

[class*="-form-page"]:has([class*="-ref-form"] > [class*="-panel__head"])>header[class*="-form-page-header"] .page-title,
[class*="-form-page"]:has([class*="-ref-form"] > [class*="-panel__head"])>header[class*="-form-page-header"] [class*="-page-title"],
[class*="-form-page"]:has([class*="-ref-form"] > [class*="-panel__head"])>header[class*="-form-page-header"] .page-subtitle,
[class*="-form-page"]:has([class*="-ref-form"] > [class*="-panel__head"])>header[class*="-form-page-header"] [class*="-page-subtitle"] {
  display: none !important;
}

[data-theme="dark"] [class*="-module-page"] {
  --sys-card-bg: var(--adm-bg-surface, #1e2926);
  --sys-card-head-bg: var(--sys-card-bg, var(--adm-bg-surface, #1e2926));
  --sys-card-shadow: none;
  --sys-sticky-footer-shadow: 0 -10px 28px rgba(0, 0, 0, 0.28);
  --sys-sticky-footer-shadow-stuck: 0 -12px 32px rgba(0, 0, 0, 0.34);
}

[data-theme="dark"] [class*="-module-page"] .sys-card,
[data-theme="dark"] [class*="-module-page"] [class*="-ref-form"]>[class*="-panel__head"],
[data-theme="dark"] [class*="-module-page"] [class*="-ref-form__section"],
[data-theme="dark"] [class*="-module-page"] [class*="-form-group"][class*="-ref-form__section"] {
  background: var(--sys-card-bg) !important;
  border-color: var(--adm-border-subtle) !important;
}

[data-theme="dark"] [class*="-module-page"] .sys-card__head,
[data-theme="dark"] [class*="-module-page"] [class*="-ref-form__section"] [class*="-ref-form__section-head"] {
  background: var(--sys-card-head-bg);
}

[data-theme="dark"] [class*="-module-page"] [class*="-ref-form__footer"] {
  background: color-mix(in srgb, var(--sys-card-bg) 94%, transparent) !important;
}

[data-theme="dark"] [class*="-module-page"] [class*="-ref-form"] .form-control,
[data-theme="dark"] [class*="-module-page"] [class*="-ref-form"] .form-select {
  background: var(--adm-bg-surface, #1e2926);
  border-color: var(--adm-border-subtle);
  color: var(--adm-text-strong, var(--bs-body-color));
}

@media (max-width: 575.98px) {
  [class*="-module-page"] {
    --sys-card-gap: 1.1rem;
    --sys-card-head-pad-block: 0.8rem;
    --sys-card-head-pad-inline: 1rem;
    --sys-card-head-min-height: 2.5rem;
    --sys-card-body-pad: 1rem 1rem 1.1rem;
  }

  [class*="-module-page"] [class*="-ref-form"]>[class*="-panel__head"],
  [class*="-module-page"] .sys-card__head,
  [class*="-module-page"] .sys-card>.sys-panel__head:not(.sys-form-panel__head),
  [class*="-module-page"] [class*="-ref-form__section"] [class*="-ref-form__section-head"] {
    padding-block: var(--sys-card-head-pad-block) !important;
    padding-inline: var(--sys-card-head-pad-inline) !important;
  }

  [class*="-module-page"] .sys-card__body,
  [class*="-module-page"] [class*="-ref-form__section"] .row.g-3 {
    padding: var(--sys-card-body-pad) !important;
  }
}

/* â”€â”€ Code badge â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-code"] {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui);
}

/* â”€â”€ Footer sentinel (for IntersectionObserver) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-footer-sentinel"] {
  height: 1px;
  margin: 0;
  padding: 0;
  border: 0;
  pointer-events: none;
}

/* â”€â”€ Row states â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] tbody tr[class*="-row-href"],
[class*="-module-page"] tbody tr[data-sys-row-href] {
  cursor: pointer;
}

[class*="-module-page"] [class*="-row-unread"] {
  background: rgba(23, 54, 48, 0.06);
}

[class*="-module-page"] [class*="-row-active"] {
  background: rgba(25, 135, 84, 0.08);
}

/* â”€â”€ Aside form panel body â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-aside-form"] [class*="-panel__body"] {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* â”€â”€ Narrow panel variant â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-panel--narrow"] {
  max-width: 52rem;
  width: 100%;
  margin-inline: auto;
}

/* â”€â”€ Panel footer â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-panel__footer"] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

[class*="-module-page"] [class*="-panel"] .card-body {
  padding: 1.25rem 1.35rem;
}

/* â”€â”€ Tax engine card â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] .tax-engine-card[class*="-panel"] {
  border: 1px solid var(--adm-border-subtle);
  border-radius: var(--adm-radius-lg, 0.75rem);
  background: var(--adm-bg-surface);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

/* â”€â”€ Media upload (logo / favicon) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-media-upload__row"] {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem;
}

[class*="-module-page"] [class*="-media-upload__preview"] {
  flex-shrink: 0;
  width: 7.5rem;
  height: 7.5rem;
  border: 1px dashed var(--adm-border);
  border-radius: var(--adm-radius-lg, 0.75rem);
  background: var(--adm-bg-subtle, var(--bs-light));
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

[class*="-module-page"] [class*="-media-upload__preview--sm"] {
  width: 4rem;
  height: 4rem;
}

[class*="-module-page"] [class*="-media-upload__img"] {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  padding: 0.35rem;
}

[class*="-module-page"] [class*="-media-upload__placeholder"] {
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui);
  text-align: center;
  padding: 0.5rem;
  line-height: 1.35;
}

[class*="-module-page"] [class*="-media-upload__controls"] {
  flex: 1;
  min-width: 12rem;
}

/* â”€â”€ Form switch card & form group â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[class*="-module-page"] [class*="-form-switch-card"] {
  border: 1px solid var(--adm-border-subtle);
  border-radius: var(--adm-radius-lg, 0.75rem);
  padding: 0.85rem 1rem;
  background: rgba(var(--bs-success-rgb), 0.06);
}

[class*="-module-page"] [class*="-form-group"]:not(.mb-3):not(.mb-2):not(.row):not([class*="-ref-form__section"]):not(.sys-form-panel__head):not(.sys-panel__head-text):not(.sys-panel__title):not(.sys-panel__subtitle) {
  padding: 1rem 1.1rem;
  border: 1px solid var(--adm-border-subtle);
  border-radius: 0.20rem;
  background: var(--adm-bg-surface);
}

/* â”€â”€ Cross-module polish (Finance/Accounting/HR use manufacturing shell) â”€â”€ */
.finance-module-page .page-header,
.accounting-module-page .page-header,
.hr-module-page .page-header {
  padding: 0.9rem 1rem;
  border: 1px solid var(--adm-border-subtle, #dee2e6);
  border-radius: var(--sys-radius, 0.75rem);
  background: linear-gradient(180deg, color-mix(in srgb, var(--adm-bg-surface, #fff) 96%, var(--bs-primary) 4%), var(--adm-bg-surface, #fff));
  box-shadow: var(--adm-shadow-sm, 0 1px 3px rgba(7, 10, 9, 0.06));
}

.finance-module-page .content-card,
.accounting-module-page .content-card,
.hr-module-page .content-card {
  border-color: var(--adm-border-subtle, #dee2e6);
  box-shadow: var(--adm-shadow-sm, 0 1px 3px rgba(7, 10, 9, 0.06));
}

/* â”€â”€ Dark theme overrides â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[data-theme="dark"] [class*="-module-page"] [class*="-ref-form__footer"] {
  background: color-mix(in srgb, var(--adm-bg-surface, #1a2422) 94%, transparent);
}

[data-theme="dark"] [class*="-module-page"] [class*="-data-table"] thead th,
[data-theme="dark"] [class*="-module-page"] [class*="-data-table"] tbody td,
[data-theme="dark"] [class*="-module-page"] [class*="-detail-hero"] {
  background: var(--adm-bg-surface, #1a2422);
}


/* ── utilities\typography.css (25 lines) ── */
/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   System utility â€” Typography helpers
   Scoped to [class*="-module-page"] (works for sales, purchasing, inventory, etc.)
   Extracted from sales-module.css â€” design identical, scope widened.
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */

[class*="-module-page"] [class*="-code"] {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-brand-700, #122b26);
  background: color-mix(in srgb, var(--adm-brand-600) 8%, transparent);
  padding: 0.15rem 0.45rem;
  border-radius: var(--sys-radius);
}

[class*="-module-page"] [class*="-num"] {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

[class*="-module-page"] [class*="-link"] {
  color: var(--adm-brand-600);
  font-weight: 600;
}

[class*="-module-page"] [class*="-link"]:hover {
  color: var(--adm-brand-700, #122b26);
  text-decoration: underline !important;
}

/* ═══════════════════════════════════════════════════════════════
   sys-* — Unified direct-class selectors
   Replace module-prefixed duplicates (sales-ref-form, pu-vendor-ref-form, etc.)
   These work inside any *-module-page wrapper.
   ═══════════════════════════════════════════════════════════════ */

/* ── sys-form-page ────────────────────────────────────────────── */
.sys-form-page {
  padding-bottom: 1.5rem;
}

/* Inventory legacy form-page wrappers: prevent flex stretch gap above sticky footer */
.sys-form-page[class*="-form-page"]>form.sys-ref-form,
.sys-form-page[class*="-form-page"]>.sys-ref-form {
  flex: 0 0 auto;
  width: 100%;
}

/* ── sys-form-narrow (constrained-width form inside a panel) ──── */
.sys-form-narrow {
  max-width: 860px;
}

/* ── sys-ref-form (transparent wrapper) ───────────────────────── */
.sys-ref-form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  gap: var(--sys-card-gap, 1.25rem);
  overflow: visible;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.sys-ref-form__body {
  flex: 0 1 auto;
  min-width: 0;
  padding: 0;
  background: transparent;
}

/* ── sys-ref-form__footer (sticky save bar) ───────────────────── */
.sys-ref-form__footer {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: start;
  gap: 0.625rem;
  width: 100%;
  box-sizing: border-box;
  padding: 0.875rem 1.35rem;
  position: sticky;
  bottom: 0;
  z-index: 40;
  margin-top: 0;
  border: 1px solid var(--sys-card-border, var(--adm-border-subtle)) !important;
  border-radius: var(--sys-radius) !important;
  background: color-mix(in srgb, var(--sys-card-bg, #fff) 94%, transparent) !important;
  box-shadow: var(--sys-sticky-footer-shadow, 0 -10px 28px rgba(7, 10, 9, 0.08));
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.sys-ref-form__footer>.btn-outline-secondary,
.sys-ref-form__footer>a.btn:not(.btn-primary):not(.btn-danger),
.sys-ref-form__footer>.btn-link {
  order: 1;
}

.sys-ref-form__footer>.btn-primary,
.sys-ref-form__footer>button[type="submit"]:not(.btn-outline-secondary):not(.btn-link) {
  order: 2;
  min-width: 7rem;
}

.sys-ref-form__footer.is-stuck {
  border-top-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 22%, var(--adm-border-subtle));
  box-shadow: var(--sys-sticky-footer-shadow-stuck, 0 -12px 32px rgba(7, 10, 9, 0.12));
}

.sys-ref-form__footer .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  flex: 0 0 auto;
  white-space: nowrap;
}

/* ── sys-card-stack ───────────────────────────────────────────── */
.sys-card-stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--sys-card-gap, 1.25rem);
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* ── sys-card (white card) ────────────────────────────────────── */
.sys-card {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--sys-card-border, var(--adm-border-subtle)) !important;
  border-radius: var(--sys-radius) !important;
  background: var(--sys-card-bg, #fff) !important;
  box-shadow: var(--sys-card-shadow, none) !important;
}

.sys-card__head {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.85rem;
  min-height: var(--sys-card-head-min-height, 2.75rem);
  padding-block: var(--sys-card-head-pad-block, 0.875rem);
  padding-inline: var(--sys-card-head-pad-inline, 1.2rem);
  margin: 0;
  border-bottom: 1px solid var(--sys-card-head-divider, var(--sys-card-border, var(--adm-border-subtle)));
  background: var(--sys-card-head-bg, #fff);
}

.sys-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  min-height: 2.75rem;
  border-radius: var(--sys-card-radius, 0.20rem);
  flex-shrink: 0;
  font-size: 1.1rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, var(--sys-card-bg, #fff));
  color: var(--adm-brand-600, var(--bs-primary));
}

.sys-card__title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.25;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.sys-card__head>div,
[class*="-module-page"] .sys-card__head>div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  align-self: center;
  gap: 0.28rem;
  flex: 1 1 auto;
  min-width: 0;
}

.sys-card__head .text-muted.small {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
}

.sys-card__body {
  padding: var(--sys-card-body-pad, 1.2rem 1.2rem 1.25rem);
  margin-top: 0 !important;
}

/* Nested lines panels: flush inside parent card (no nested-card halo) */
.sys-card__body [class*="-lines-panel"] {
  margin: 0 !important;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible;
}

.sys-card__body [class*="-lines-panel"]>[class*="-lines-panel__head"],
.sys-card__body [class*="-lines-panel"]>[class*="-lines-panel__foot"],
.sys-card__body [class*="-lines-panel"]>[class*="-lines-panel__table-wrap"],
.sys-card__body [class*="-lines-panel"]>[class*="-lines-panel__hint"] {
  border-radius: 0;
  box-shadow: none !important;
}

.sys-card__toolbar {
  display: flex;
  justify-content: flex-end;
  padding: 0 1.15rem 0.65rem;
  margin: 0;
}

.sys-card__hint {
  padding: 0;
  margin: 0.5rem 0 0;
  line-height: 1.5;
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui);
  border: 0;
  box-shadow: none;
  background: none;
}

.sys-card__validation {
  display: block;
  padding: 0 1.15rem 1.15rem;
  margin: 0;
}

/* ── sys-panel (standalone panel card, e.g. list panels) ──────── */
.sys-panel {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 0 !important;
  margin: 0;
  overflow: hidden;
  background: var(--sys-card-bg, #fff) !important;
  border: 1px solid var(--sys-card-border, var(--adm-border-subtle)) !important;
  border-radius: var(--sys-radius) !important;
  box-shadow: var(--sys-card-shadow, none) !important;
}

.sys-panel__head:not(.sys-form-panel__head) {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.75rem;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 1.25rem 1.35rem !important;
  border-bottom: 1px solid var(--sys-card-border, var(--adm-border-subtle));
  background: var(--sys-card-head-bg, var(--sys-card-bg, #fff));
  box-shadow: none;
  filter: none;
}

/* List/filter panels only — tinted strip (not card section titles) */
.sys-panel>.sys-panel__head:not(.sys-form-panel__head) {
  background: linear-gradient(180deg,
      color-mix(in srgb, var(--adm-brand-600) 5%, var(--sys-card-bg, #fff)) 0%,
      var(--sys-card-bg, #fff) 100%);
}

/* Card section titles: flat sys-card__head (sys-panel__head nested in sys-card) */
.sys-card>.sys-panel__head:not(.sys-form-panel__head) {
  display: flex;
  flex-direction: row;
  align-items: center !important;
  align-content: center;
  gap: 0.85rem;
  min-height: var(--sys-card-head-min-height, 2.75rem) !important;
  padding-block: var(--sys-card-head-pad-block, 0.875rem) !important;
  padding-inline: var(--sys-card-head-pad-inline, 1.2rem) !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--sys-card-head-divider, var(--sys-card-border, var(--adm-border-subtle)));
  border-top: 0;
  border-left: 0;
  border-right: 0;
  background: var(--sys-card-head-bg, var(--sys-card-bg, #fff)) !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
}

.sys-card>.sys-panel__head:not(.sys-form-panel__head) .sys-panel__accent {
  display: none !important;
}

.sys-card>.sys-panel__head:not(.sys-form-panel__head) .sys-panel__head-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-self: center;
  justify-content: center;
  gap: 0.28rem;
}

.sys-card>.sys-panel__head:not(.sys-form-panel__head) .sys-panel__title {
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  margin: 0 !important;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.sys-card>.sys-panel__head:not(.sys-form-panel__head) .sys-panel__subtitle {
  font-size: 0.8125rem !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color)) !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.sys-panel__head--compact .sys-panel__title {
  font-size: 1rem;
}

.sys-panel__head--described .sys-panel__head-text {
  gap: 0.45rem;
}

.sys-panel__accent {
  flex: 0 0 4px;
  width: 4px;
  min-height: 1.25rem;
  align-self: stretch;
  border-radius: 4px;
  background: linear-gradient(180deg, var(--adm-brand-600), color-mix(in srgb, var(--adm-brand-600) 72%, #121f1d));
}

.sys-panel__head-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
}

.sys-panel__title {
  display: block;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border: 0;
  font-size: 1.125rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.45 !important;
  color: var(--adm-text-strong) !important;
  overflow-wrap: anywhere;
}

.sys-panel__subtitle {
  display: block;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.55 !important;
  color: var(--adm-text-muted-ui) !important;
  overflow-wrap: anywhere;
}

.sys-panel__body {
  padding: 1.25rem 1.35rem;
}

.sys-panel__body--flush {
  padding: 0;
}

/* sys-form-panel__head — standalone form title card (not inner panel strip) */
.sys-form-panel__head {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0.85rem;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 1.1rem 1.2rem !important;
  overflow: hidden;
  background: var(--sys-card-bg, #fff) !important;
  border: 1px solid var(--sys-card-border, var(--adm-border-subtle)) !important;
  border-radius: var(--sys-radius) !important;
  box-shadow: var(--sys-card-shadow) !important;
  border-bottom: 1px solid var(--sys-card-border, var(--adm-border-subtle)) !important;
}

.sys-form-panel__head.sys-panel__head {
  background: var(--sys-card-bg, #fff) !important;
}

.sys-form-panel__head .sys-panel__accent {
  display: none !important;
}

.sys-form-panel__head .sys-card__icon {
  align-self: stretch;
  width: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  height: auto;
}

.sys-form-panel__head .sys-panel__head-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.28rem;
  margin: 0;
  padding: 0;
}

.sys-form-panel__head .sys-panel__title {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  width: auto !important;
}

.sys-form-panel__head .sys-panel__subtitle {
  font-size: 0.8125rem !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  width: auto !important;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color)) !important;
}

.sys-form-panel__head.sys-panel__head--described .sys-panel__head-text {
  gap: 0.32rem;
}

/* ── sys-page-header ──────────────────────────────────────────── */
.sys-page-header,
.sys-form-page-header {
  margin-bottom: 1rem;
}

.sys-page-title {
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.3;
  color: var(--adm-text-strong);
  margin: 0;
}

.sys-page-subtitle {
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui);
  margin: 0;
}

/* ── sys-breadcrumb ───────────────────────────────────────────── */
.sys-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0.35rem 0 0 0;
  gap: 0.15rem;
  font-size: 0.75rem;
}

.sys-breadcrumb__item+.sys-breadcrumb__item::before {
  content: "/";
  padding: 0 0.35rem;
  color: var(--adm-text-muted-ui);
}

.sys-breadcrumb__link {
  color: var(--adm-brand-600);
  text-decoration: none;
}

.sys-breadcrumb__link:hover {
  text-decoration: underline;
}

.sys-breadcrumb__current {
  color: var(--adm-text-muted-ui);
}

/* ── shop-breadcrumb (storefront, --shop-* tokens) ───────────────── */
.shop-breadcrumb-nav {
  margin-bottom: 1rem;
}

.shop-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 0.15rem;
  font-size: 0.8rem;
}

.shop-breadcrumb__item+.shop-breadcrumb__item::before {
  content: "/";
  padding: 0 0.35rem;
  color: var(--shop-text-muted, #64748b);
}

.shop-breadcrumb__link {
  color: var(--shop-primary);
  text-decoration: none;
}

.shop-breadcrumb__link:hover {
  text-decoration: underline;
}

.shop-breadcrumb__current {
  color: var(--shop-text-muted, #64748b);
}

/* ── sys-entity-cell / sys-entity-avatar ──────────────────────── */
.sys-entity-cell {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
}

.sys-entity-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: var(--sys-card-radius, 0.20rem);
  flex-shrink: 0;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #fff;
  background: var(--adm-brand-600, var(--bs-primary));
  text-transform: uppercase;
  overflow: hidden;
}

.sys-entity-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sys-entity-cell__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}

.sys-entity-cell__name {
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--adm-text-strong);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sys-entity-cell__sub {
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ── sys-empty-state ──────────────────────────────────────────── */
.sys-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 3rem 1.5rem;
  text-align: center;
  color: var(--adm-text-muted-ui);
}

.sys-empty-state__icon {
  font-size: 2.5rem;
  opacity: 0.4;
}

.sys-empty-state__title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--adm-text-strong);
  margin: 0;
}

.sys-empty-state__text {
  font-size: 0.8125rem;
  max-width: 28rem;
  margin: 0;
}

/* ── sys-code (code badge) ────────────────────────────────────── */
.sys-code {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui);
  font-family: var(--bs-font-monospace);
}

/* ── sys-form controls (inside ref-form) ──────────────────────── */
.sys-ref-form .form-label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-strong);
  margin-bottom: 0.35rem;
}

.sys-ref-form .form-control,
.sys-ref-form .form-select {
  border: 1px solid color-mix(in srgb, var(--adm-border-subtle) 88%, var(--adm-text-muted-ui));
  background: #fff;
  min-height: 2.5rem;
  border-radius: var(--sys-radius) !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.sys-ref-form .form-control:focus,
.sys-ref-form .form-select:focus {
  border-color: var(--adm-brand-600, var(--bs-primary));
  box-shadow: none;
  outline: none;
}

.sys-ref-form .form-control[readonly],
.sys-ref-form .form-control:disabled {
  background: color-mix(in srgb, var(--adm-border-subtle) 22%, #fff);
  color: var(--adm-text-muted-ui);
}

.sys-ref-form .form-text {
  margin-top: 0.3rem;
  font-size: 0.75rem;
}

/* ── Dark mode (sys-*) ────────────────────────────────────────── */
[data-theme="dark"] .sys-card,
[data-theme="dark"] .sys-panel,
[data-theme="dark"] .sys-form-panel__head {
  background: var(--sys-card-bg, var(--adm-bg-surface)) !important;
  border-color: var(--adm-border-subtle) !important;
}

[data-theme="dark"] .sys-card__head,
[data-theme="dark"] .sys-panel__head,
[data-theme="dark"] .sys-card>.sys-panel__head:not(.sys-form-panel__head) {
  background: var(--sys-card-head-bg) !important;
  background-image: none !important;
}

[data-theme="dark"] .sys-ref-form__footer {
  background: color-mix(in srgb, var(--sys-card-bg, var(--adm-bg-surface)) 94%, transparent) !important;
}

[data-theme="dark"] .sys-ref-form .form-control,
[data-theme="dark"] .sys-ref-form .form-select {
  background: var(--adm-bg-surface);
  border-color: var(--adm-border-subtle);
  color: var(--adm-text-strong);
}

[data-theme="dark"] .sys-card__icon {
  background: color-mix(in srgb, var(--adm-brand-600) 20%, var(--adm-bg-surface));
}

/* ── Responsive (sys-*) ───────────────────────────────────────── */
@media (max-width: 575.98px) {

  .sys-card__head,
  .sys-card>.sys-panel__head:not(.sys-form-panel__head) {
    padding-block: var(--sys-card-head-pad-block, 0.8rem) !important;
    padding-inline: var(--sys-card-head-pad-inline, 1rem) !important;
  }

  .sys-card__body {
    padding: var(--sys-card-body-pad, 1rem 1rem 1.1rem);
  }

  .sys-ref-form__footer {
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
  }

  .sys-ref-form__footer>.btn-outline-secondary,
  .sys-ref-form__footer>a.btn:not(.btn-primary):not(.btn-danger),
  .sys-ref-form__footer>.btn-link {
    order: 2;
    margin-inline-end: 0;
    flex: 1 1 100%;
  }

  .sys-ref-form__footer>.btn-primary,
  .sys-ref-form__footer>button[type="submit"]:not(.btn-outline-secondary) {
    order: 1;
    flex: 1 1 100%;
  }
}

@media (max-width: 767.98px) {
  .sys-ref-form__footer {
    position: static;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

/* RTL */
html[dir="rtl"] .sys-ref-form__footer .bi-arrow-left-short {
  transform: scaleX(-1);
}

/* ── sys-form-page (works with or without *-module-page wrapper) ─ */
.sys-form-page>.sys-ref-form,
.sys-form-page>form.sys-ref-form,
[class*="-module-page"] .sys-panel__body>.sys-ref-form,
[class*="-module-page"] .sys-panel__body>form[class*="-ref-form"] {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* ── Flat surfaces: no decorative shadows/glows in module forms ─ */
.dashboard-wrapper [class*="-module-page"] .card,
.dashboard-wrapper [class*="-module-page"] .card:hover,
.dashboard-wrapper [class*="-module-page"] .stat-card,
.dashboard-wrapper [class*="-module-page"] .stat-card:hover {
  transform: none !important;
  box-shadow: none !important;
}

.dashboard-wrapper [class*="-module-page"] .card::before,
.dashboard-wrapper [class*="-module-page"] .stat-card::before {
  display: none !important;
}

.dashboard-wrapper [class*="-module-page"] .btn::after {
  display: none;
}

.dashboard-wrapper [class*="-module-page"] .btn:hover,
.dashboard-wrapper [class*="-module-page"] .btn:active,
.dashboard-wrapper [class*="-module-page"] .btn:focus,
.dashboard-wrapper [class*="-module-page"] .btn:focus-visible {
  transform: none;
  box-shadow: none !important;
}

.dashboard-wrapper [class*="-module-page"] [class*="-kind-segment"] [class*="-kind-segment__option"]:has(.form-check-input:checked),
.dashboard-wrapper [class*="-module-page"] [class*="-choice-group"] .form-check:has(.form-check-input:checked) {
  box-shadow: none !important;
}

.sys-card__head .text-muted,
.sys-card__head .sys-card__title,
.sys-card>.sys-panel__head:not(.sys-form-panel__head) .sys-panel__title,
.sys-card>.sys-panel__head:not(.sys-form-panel__head) .sys-panel__subtitle,
.sys-card__hint,
[class*="-module-page"] [class*="-form-section-help"],
[class*="-module-page"] [class*="-panel__subtitle"],
[class*="-module-page"] [class*="-ref-form"]>[class*="-panel__head"] [class*="-panel__subtitle"] {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  outline: none !important;
}

[class*="-module-page"] .btn,
[class*="-module-page"] .btn:hover,
[class*="-module-page"] .btn:active,
[class*="-module-page"] .btn:focus-visible {
  box-shadow: none !important;
  transform: none;
}

[class*="-module-page"] .btn::after {
  display: none;
}

[class*="-module-page"] .sys-card,
[class*="-module-page"] .sys-panel,
[class*="-module-page"] .sys-form-panel__head,
[class*="-module-page"] [class*="-lines-panel"],
[class*="-module-page"] [class*="-lines-panel__head"],
[class*="-module-page"] [class*="-ref-form__section"],
[class*="-module-page"] [class*="-panel"]:not([class*="-panel__"]),
[class*="-module-page"] [class*="-kind-segment"] [class*="-kind-segment__option"],
[class*="-module-page"] [class*="-kind-segment"] [class*="-kind-segment__option"]:has(.form-check-input:checked),
[class*="-module-page"] .form-control,
[class*="-module-page"] .form-select,
[class*="-module-page"] .form-control:focus,
[class*="-module-page"] .form-select:focus,
[class*="-module-page"] .ts-wrapper .ts-control,
[class*="-module-page"] .ts-wrapper .ts-control:focus,
[class*="-module-page"] fieldset,
[class*="-module-page"] .form-text,
[class*="-module-page"] [class*="-lines-panel__hint"] {
  box-shadow: none !important;
  filter: none !important;
}

/* ── Phase 1: module form focus — no dashboard glow ring ───────── */
.dashboard-wrapper [class*="-module-page"] .form-control:focus,
.dashboard-wrapper [class*="-module-page"] .form-select:focus,
.dashboard-wrapper [class*="-module-page"] .form-control.is-invalid:focus,
.dashboard-wrapper [class*="-module-page"] .form-select.is-invalid:focus {
  box-shadow: none !important;
  outline: none;
}

/* ── Phase 1: zero halo — all module pages (canonical in system.css) ─ */
.dashboard-wrapper [class*="-module-page"] .form-control,
.dashboard-wrapper [class*="-module-page"] .form-select,
.dashboard-wrapper [class*="-module-page"] .form-control:focus,
.dashboard-wrapper [class*="-module-page"] .form-select:focus,
.dashboard-wrapper [class*="-module-page"] .form-control:hover,
.dashboard-wrapper [class*="-module-page"] .form-select:hover,
.dashboard-wrapper [class*="-module-page"] .form-check-input:focus,
.dashboard-wrapper [class*="-module-page"] .btn,
.dashboard-wrapper [class*="-module-page"] .btn:hover,
.dashboard-wrapper [class*="-module-page"] .btn:focus,
.dashboard-wrapper [class*="-module-page"] .btn:focus-visible,
.dashboard-wrapper [class*="-module-page"] .btn:active,
[class*="-module-page"] .sys-card__head,
[class*="-module-page"] .sys-card>.sys-panel__head:not(.sys-form-panel__head),
[class*="-module-page"] .sys-card>.sys-panel__head:not(.sys-form-panel__head) .sys-panel__title,
[class*="-module-page"] .sys-card>.sys-panel__head:not(.sys-form-panel__head) .sys-panel__subtitle,
[class*="-module-page"] .sys-card__head .text-muted,
[class*="-module-page"] legend,
[class*="-module-page"] .form-text,
[class*="-module-page"] .ts-wrapper .ts-control,
[class*="-module-page"] .ts-wrapper .ts-control:focus,
[class*="-module-page"] [class*="-kind-segment"] [class*="-kind-segment__option"],
[class*="-module-page"] [class*="-kind-segment"] [class*="-kind-segment__option"]:has(.form-check-input:checked) {
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
  outline: none;
}

[class*="-module-page"] .sys-card__head .text-muted,
[class*="-module-page"] .sys-card__head p,
[class*="-module-page"] [class*="-lines-panel__hint"] {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

[class*="-module-page"] [class*="-kind-segment"] [class*="-kind-segment__option"]:has(.form-check-input:checked) {
  background: var(--adm-bg-surface, #fff) !important;
}

/* Panel BEM parts (sys-panel__head) must not inherit panel-container box-shadow */
[class*="-module-page"] [class*="-panel__head"]:not(.sys-form-panel__head),
[class*="-module-page"] [class*="-panel__header"] {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
}

/* Card section heads — flat surface system-wide (final override) */
.sys-card .sys-card__head,
.sys-card .sys-panel__head:not(.sys-form-panel__head),
[class*="-module-page"] .sys-card>[class*="-panel__head"]:not(.sys-form-panel__head),
[class*="-module-page"] [class*="-ref-form__section"]>[class*="-panel__head"]:not(.sys-form-panel__head) {
  background: var(--sys-card-head-bg, var(--sys-card-bg, #fff)) !important;
  background-image: none !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
}

[class*="-module-page"] .sys-card>[class*="-panel__head"]:not(.sys-form-panel__head),
[class*="-module-page"] .sys-card .sys-card__head {
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
}

.sys-card .sys-panel__head:not(.sys-form-panel__head) .sys-panel__accent,
[class*="-module-page"] .sys-card>[class*="-panel__head"]:not(.sys-form-panel__head) [class*="-panel__accent"] {
  display: none !important;
}

/* Card section head — vertical centering (override list-panel head defaults) */
[class*="-module-page"] .sys-card>.sys-panel__head:not(.sys-form-panel__head),
.sys-card>.sys-panel__head:not(.sys-form-panel__head) {
  align-items: center !important;
  align-content: center !important;
  min-height: var(--sys-card-head-min-height, 2.75rem) !important;
  padding-block: var(--sys-card-head-pad-block, 0.875rem) !important;
  padding-inline: var(--sys-card-head-pad-inline, 1.2rem) !important;
}

[class*="-module-page"] .sys-card [class*="-panel__title"],
[class*="-module-page"] .sys-card .sys-card__title,
.sys-card [class*="-panel__title"],
.sys-card .sys-card__title {
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.25 !important;
}

/* Card section layout polish — spacing & form rhythm (system-wide) */
[class*="-module-page"] .sys-ref-form__body>.sys-card:last-child,
[class*="-module-page"] .sys-card-stack>.sys-card:last-child {
  margin-bottom: 0;
}

[class*="-module-page"] .sys-card .sys-card__body>.row.g-3,
[class*="-module-page"] .sys-card__body.row.g-3 {
  --bs-gutter-x: 1.1rem;
  --bs-gutter-y: 1.1rem;
}

[class*="-module-page"] .sys-card .sys-card__body .form-label,
[class*="-module-page"] .sys-card__body .form-label {
  margin-bottom: 0.4rem;
}

[class*="-module-page"] .sys-card .sys-card__body .form-text,
[class*="-module-page"] .sys-card__body .form-text {
  margin-top: 0.35rem;
}

[class*="-module-page"] .sys-card .sys-card__body .btn-group,
[class*="-module-page"] .sys-card__body .btn-group {
  flex-wrap: wrap;
  gap: 0.35rem;
}

/* ═══════════════════════════════════════════════════════════════
   sys-list-table — unified list tables (data-sys-table + tables)
   White rows · RTL · dark · responsive · row-action menus
   ═══════════════════════════════════════════════════════════════ */

[class*="-module-page"] {
  --sys-list-table-surface: #fff;
  --sys-list-table-row-bg: #fff;
  --sys-list-table-row-hover-bg: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
  /* Was #fff — identical to the rows, so the column labels floated over the
     data instead of capping it. Dark mode already elevates its header; this
     brings light mode in line. */
  --sys-list-table-head-bg: var(--adm-bg-surface-2, #f8fafc);
  --sys-list-table-border: var(--adm-border-subtle, var(--bs-border-color-translucent));
}

[class*="-module-page"] [class*="-data-table"] tbody td {
  background: var(--sys-list-table-row-bg, #fff);
}

[class*="-module-page"] [data-sys-table] .table,
[class*="-module-page"] [data-platform-table] .table,
[class*="-module-page"] [data-sys-table] table.table ,
[class*="-module-page"] [data-platform-table] table.table {
  margin-bottom: 0;
  font-size: 0.875rem;
  --bs-table-bg: var(--sys-list-table-row-bg);
  --bs-table-hover-bg: var(--sys-list-table-row-hover-bg);
  border-collapse: separate;
  border-spacing: 0;
}

[class*="-module-page"] [data-sys-table] .table thead th,
[class*="-module-page"] [data-platform-table] .table thead th,
[class*="-module-page"] [data-sys-table] .table thead td,
[class*="-module-page"] [data-platform-table] .table thead td,
[class*="-module-page"] [data-sys-table] .table thead.table-light th,
[class*="-module-page"] [data-platform-table] .table thead.table-light th,
[class*="-module-page"] [data-sys-table] .table thead.table-light td ,
[class*="-module-page"] [data-platform-table] .table thead.table-light td {
  background: var(--sys-list-table-head-bg) !important;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: normal;
  border-bottom: 1px solid var(--sys-list-table-border);
  padding: 0.75rem 1rem;
  white-space: nowrap;
  vertical-align: middle;
}

[class*="-module-page"] [data-sys-table] .table tbody tr,
[class*="-module-page"] [data-platform-table] .table tbody tr,
[class*="-module-page"] [data-sys-table] .table tbody tr:nth-child(even):not([class*="-empty-state-row"]) ,
[class*="-module-page"] [data-platform-table] .table tbody tr:nth-child(even):not([class*="-empty-state-row"]) {
  background: var(--sys-list-table-row-bg) !important;
}

[class*="-module-page"] [data-sys-table] .table tbody td,
[class*="-module-page"] [data-platform-table] .table tbody td,
[class*="-module-page"] [data-sys-table] .table tbody th ,
[class*="-module-page"] [data-platform-table] .table tbody th {
  background: var(--sys-list-table-row-bg) !important;
  border-bottom: 1px solid var(--sys-list-table-border);
  padding: 0.75rem 1rem;
  vertical-align: middle;
  color: var(--adm-text-primary);
}

/* Total rows live in <tfoot>, which this rule set never covered — they fell
   back to Bootstrap's .table-sm 0.25rem and read as cramped next to the body
   rows above them. Same insets, heavier weight. */
[class*="-module-page"] [data-sys-table] .table tfoot th,
[class*="-module-page"] [data-platform-table] .table tfoot th,
[class*="-module-page"] [data-sys-table] .table tfoot td ,
[class*="-module-page"] [data-platform-table] .table tfoot td {
  padding: 0.75rem 1rem;
  vertical-align: middle;
  font-weight: var(--adm-fw-extrabold, 700);
}

[class*="-module-page"] [data-sys-table] .table tbody tr:last-child td ,
[class*="-module-page"] [data-platform-table] .table tbody tr:last-child td {
  border-bottom: 0;
}

[class*="-module-page"] [data-sys-table] .table.table-hover tbody tr:hover,
[class*="-module-page"] [data-platform-table] .table.table-hover tbody tr:hover,
[class*="-module-page"] [data-sys-table] .table.table-hover tbody tr:focus-visible,
[class*="-module-page"] [data-platform-table] .table.table-hover tbody tr:focus-visible,
[class*="-module-page"] [data-sys-table] .table tbody tr[data-sys-row-href]:hover,
[class*="-module-page"] [data-platform-table] .table tbody tr[data-sys-row-href]:hover,
[class*="-module-page"] [data-sys-table] .table tbody tr[data-sys-row-href]:focus-visible ,
[class*="-module-page"] [data-platform-table] .table tbody tr[data-sys-row-href]:focus-visible {
  background: var(--sys-list-table-row-hover-bg) !important;
  outline: none;
}

[class*="-module-page"] [data-sys-table] .table.table-hover tbody tr:hover td,
[class*="-module-page"] [data-platform-table] .table.table-hover tbody tr:hover td,
[class*="-module-page"] [data-sys-table] .table.table-hover tbody tr:focus-visible td,
[class*="-module-page"] [data-platform-table] .table.table-hover tbody tr:focus-visible td,
[class*="-module-page"] [data-sys-table] .table tbody tr[data-sys-row-href]:hover td,
[class*="-module-page"] [data-platform-table] .table tbody tr[data-sys-row-href]:hover td,
[class*="-module-page"] [data-sys-table] .table tbody tr[data-sys-row-href]:focus-visible td ,
[class*="-module-page"] [data-platform-table] .table tbody tr[data-sys-row-href]:focus-visible td {
  background: var(--sys-list-table-row-hover-bg) !important;
}

[class*="-module-page"] [data-sys-table] .table tbody tr[data-sys-row-href] ,
[class*="-module-page"] [data-platform-table] .table tbody tr[data-sys-row-href] {
  cursor: pointer;
}

[class*="-module-page"] [data-sys-table] .table tbody tr[data-sys-row-href]:focus-visible ,
[class*="-module-page"] [data-platform-table] .table tbody tr[data-sys-row-href]:focus-visible {
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 28%, transparent);
}

[class*="-module-page"] [data-sys-table] .table-responsive ,
[class*="-module-page"] [data-platform-table] .table-responsive {
  background: var(--sys-list-table-surface);
}

[class*="-module-page"] [data-sys-table]>.sys-panel__body>.border-top,
[class*="-module-page"] [data-platform-table]>.sys-panel__body>.border-top,
[class*="-module-page"] [data-sys-table] .sys-panel__body>.border-top,
[class*="-module-page"] [data-platform-table] .sys-panel__body>.border-top,
[class*="-module-page"] [data-sys-table] .d-flex.border-top ,
[class*="-module-page"] [data-platform-table] .d-flex.border-top {
  background: var(--sys-list-table-surface);
  border-top-color: var(--sys-list-table-border) !important;
}

[class*="-module-page"] [data-sys-table] .pagination .page-link ,
[class*="-module-page"] [data-platform-table] .pagination .page-link {
  border-color: var(--sys-list-table-border);
  background: var(--sys-list-table-surface);
  color: var(--adm-text-primary);
  border-radius: var(--sys-radius, 0.2rem);
  min-width: 2rem;
  text-align: center;
}

[class*="-module-page"] [data-sys-table] .pagination .page-item.active .page-link ,
[class*="-module-page"] [data-platform-table] .pagination .page-item.active .page-link {
  background: var(--adm-brand-600, var(--bs-primary));
  border-color: var(--adm-brand-600, var(--bs-primary));
  color: #fff;
}

/* Legacy module code/avatar aliases inside list tables */
[class*="-module-page"] [data-sys-table] code[class*="-code"],
[class*="-module-page"] [data-platform-table] code[class*="-code"],
[class*="-module-page"] [data-sys-table] .sys-code ,
[class*="-module-page"] [data-platform-table] .sys-code {
  display: inline-block;
  font-size: 0.8125rem;
  font-weight: 600;
  font-family: var(--bs-font-monospace);
  color: var(--adm-brand-700, var(--adm-brand-600, var(--bs-primary)));
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, var(--sys-list-table-surface));
  padding: 0.15rem 0.5rem;
  border-radius: var(--sys-radius, 0.2rem);
}

[class*="-module-page"] [data-sys-table] [class*="-entity-avatar"]:not([class*="-entity-avatar--photo"]) ,
[class*="-module-page"] [data-platform-table] [class*="-entity-avatar"]:not([class*="-entity-avatar--photo"]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: var(--sys-card-radius, 0.2rem);
  flex-shrink: 0;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #fff;
  background: var(--adm-brand-600, var(--bs-primary));
  text-transform: uppercase;
  overflow: hidden;
}

/* Row-action menus — crisp white surface (light) */
[class*="-module-page"] [class*="-row-actions-dd__menu"],
[class*="-module-page"] [class*="-row-actions-dd__menu"]>li {
  background-color: var(--sys-list-table-surface, #fff) !important;
}

[class*="-module-page"] [class*="-row-actions-dd__item"]:hover,
[class*="-module-page"] [class*="-row-actions-dd__item"]:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 7%, var(--sys-list-table-surface, #fff));
}

html[dir="rtl"] [class*="-module-page"] [data-sys-table] [class*="-row-actions-dd"] .dropdown-menu-end,
html[dir="rtl"] [class*="-module-page"] [class*="-row-actions-dd"] .dropdown-menu-end,
html[dir="ltr"] [class*="-module-page"] [data-sys-table] [class*="-row-actions-dd"] .dropdown-menu-end,
html[dir="ltr"] [class*="-module-page"] [class*="-row-actions-dd"] .dropdown-menu-end {
  transform: none !important;
}

@media (max-width: 575.98px) {
  [class*="-module-page"] [class*="-row-actions-dd__menu"] {
    min-width: 12rem;
    max-width: calc(100vw - 1rem);
  }

  [class*="-module-page"] [class*="-row-actions-dd__item"],
  [class*="-module-page"] [class*="-row-actions-dd__form"] button {
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
  }
}

@media (max-width: 767.98px) {

  [class*="-module-page"] [data-sys-table] .table thead th,
  [class*="-module-page"] [data-platform-table] .table thead th,
  [class*="-module-page"] [data-sys-table] .table thead td,
  [class*="-module-page"] [data-platform-table] .table thead td,
  [class*="-module-page"] [data-sys-table] .table tbody td,
  [class*="-module-page"] [data-platform-table] .table tbody td,
  [class*="-module-page"] [data-sys-table] .table tbody th,
  [class*="-module-page"] [data-platform-table] .table tbody th,
  [class*="-module-page"] [data-sys-table] .table tfoot th,
  [class*="-module-page"] [data-platform-table] .table tfoot th,
  [class*="-module-page"] [data-sys-table] .table tfoot td ,
  [class*="-module-page"] [data-platform-table] .table tfoot td {
    padding: 0.65rem 0.75rem;
    font-size: 0.8125rem;
  }

  [class*="-module-page"] [data-sys-table] .sys-entity-cell__name,
  [class*="-module-page"] [data-platform-table] .sys-entity-cell__name,
  [class*="-module-page"] [data-sys-table] .sys-entity-cell__sub ,
  [class*="-module-page"] [data-platform-table] .sys-entity-cell__sub {
    white-space: normal;
  }

  [class*="-module-page"] [data-sys-table]>.sys-panel__body>.border-top,
  [class*="-module-page"] [data-platform-table]>.sys-panel__body>.border-top,
  [class*="-module-page"] [data-sys-table] .sys-panel__body>.border-top,
  [class*="-module-page"] [data-platform-table] .sys-panel__body>.border-top,
  [class*="-module-page"] [data-sys-table] .d-flex.border-top ,
  [class*="-module-page"] [data-platform-table] .d-flex.border-top {
    flex-direction: column;
    align-items: stretch !important;
    gap: 0.65rem;
  }

  [class*="-module-page"] [data-sys-table] .pagination ,
  [class*="-module-page"] [data-platform-table] .pagination {
    justify-content: center;
    flex-wrap: wrap;
  }
}

[data-theme="dark"] [class*="-module-page"] {
  --sys-list-table-surface: var(--adm-bg-surface, #1a2422);
  --sys-list-table-row-bg: var(--adm-bg-surface, #1a2422);
  --sys-list-table-row-hover-bg: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 10%, var(--adm-bg-surface, #1a2422));
  --sys-list-table-head-bg: var(--adm-bg-elevated, #222f2c);
  --sys-list-table-border: var(--adm-border-subtle, rgba(255, 255, 255, 0.1));
}

[data-theme="dark"] [class*="-module-page"] [class*="-data-table"] thead th,
[data-theme="dark"] [class*="-module-page"] [class*="-data-table"] tbody tr,
[data-theme="dark"] [class*="-module-page"] [class*="-data-table"] tbody td {
  background: var(--sys-list-table-row-bg) !important;
}

[data-theme="dark"] [class*="-module-page"] [class*="-data-table"] tbody tr[class*="-data-row--clickable"]:hover,
[data-theme="dark"] [class*="-module-page"] [class*="-data-table"] tbody tr[class*="-data-row--clickable"]:focus-visible {
  background: var(--sys-list-table-row-hover-bg) !important;
}

[data-theme="dark"] [class*="-module-page"] [class*="-row-actions-dd__trigger"] {
  background: var(--sys-list-table-surface);
  border-color: var(--sys-list-table-border);
  color: var(--adm-text-muted-ui);
}

[data-theme="dark"] [class*="-module-page"] [class*="-row-actions-dd__menu"],
[data-theme="dark"] [class*="-module-page"] [class*="-row-actions-dd__menu"]>li {
  background-color: var(--adm-bg-elevated, #222f2c) !important;
  border-color: var(--sys-list-table-border);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.42);
}

[data-theme="dark"] [class*="-module-page"] [class*="-row-actions-dd__menu"].show::after {
  border-bottom-color: var(--adm-bg-elevated, #222f2c) !important;
}

[data-theme="dark"] [class*="-module-page"] [class*="-row-actions-dd"].dropup [class*="-row-actions-dd__menu"].show::after {
  border-top-color: var(--adm-bg-elevated, #222f2c) !important;
  border-bottom-color: transparent !important;
}

[data-theme="dark"] [class*="-module-page"] [class*="-row-actions-dd__item"]:hover,
[data-theme="dark"] [class*="-module-page"] [class*="-row-actions-dd__item"]:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, var(--adm-bg-elevated, #222f2c));
}

[data-theme="dark"] [class*="-module-page"] [data-sys-table] .pagination .page-link {
  background: var(--adm-bg-elevated, #222f2c);
  border-color: var(--sys-list-table-border);
  color: var(--adm-text-primary);
}


/* ---- all-pages.css ---- */
/* ═══════════════════════════════════════════════════════════════
   DiwanERP — Module page CSS bundle (legacy entity rules)
   Shared design system: wwwroot/css/system.css — use sys-* + [class*="-module-page"]
   ═══════════════════════════════════════════════════════════════ */

/* ── accounting (12 lines) ──────────────────────── */
/* ==========================================================================
   Accounting â€” merged page-level styles
   Source files:
     - accounting/accounting-fiscal-years.css
   ========================================================================== */

/* â”€â”€ accounting-fiscal-years â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.accounting-fiscal-form-card {
  max-width: 42rem;
}

.accounting-fiscal-form-hint {
  font-size: 0.875rem;
}


/* ── css (566 lines) ──────────────────────── */
/* ================================================================
   admin-pages.css â€” Professional page layout & UI components
   Scoped to .dashboard-wrapper to avoid bleed into store shell
   ================================================================ */

/* â”€â”€â”€ Page Header â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.page-header {
  margin-bottom: 1.75rem;
}

.page-header .page-title {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--adm-text-strong);
  line-height: 1.3;
  margin-bottom: 0.25rem;
}

.page-header .page-subtitle {
  font-size: 0.875rem;
  color: var(--adm-text-muted-ui);
  margin-bottom: 0;
  line-height: 1.5;
}

/* â”€â”€â”€ Breadcrumb â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.adm-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 0;
  margin: 0 0 0.5rem;
  list-style: none;
  font-size: 0.79rem;
  line-height: 1;
}

.adm-breadcrumb-item {
  display: inline-flex;
  align-items: center;
  color: var(--adm-text-muted-ui);
}

.adm-breadcrumb-item+.adm-breadcrumb-item::before {
  content: "/";
  padding: 0 0.45rem;
  color: var(--adm-border-strong);
  font-weight: 400;
  speak: none;
}

[dir="rtl"] .adm-breadcrumb-item+.adm-breadcrumb-item::before {
  content: "\005C";
}

.adm-breadcrumb-item a {
  color: var(--adm-brand-600);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.13s ease;
}

.adm-breadcrumb-item a:hover {
  color: var(--accent-primary-600);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.adm-breadcrumb-item.active {
  color: var(--adm-text-muted-ui);
  font-weight: 400;
}

/* â”€â”€â”€ Content Card â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.content-card {
  background: var(--adm-bg-surface);
  border: 1px solid var(--adm-border);
  border-radius: var(--adm-radius-lg);
  box-shadow: var(--adm-shadow-sm);
  padding: 1.75rem 2rem;
}

/* Narrow variant: constrained width for single-column forms */
.content-card-narrow {
  max-width: 860px;
}

/* Table card: flush table edges with rounded overflow */
.content-card.p-0 {
  overflow: hidden;
}

/* Card sub-header (title + actions row inside a card) */
.content-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding-bottom: 1rem;
  margin-bottom: 1.25rem;
  border-bottom: 1px solid var(--adm-border-subtle);
}

.content-card-header .card-label {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--adm-text-strong);
  margin: 0;
  text-transform: none;
  letter-spacing: 0;
}

/* â”€â”€â”€ Section Divider & Label â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.section-hr {
  border: 0;
  border-top: 1px solid var(--adm-border-subtle);
  opacity: 1;
  margin: 1.625rem 0;
}

.section-title {
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--adm-text-muted-ui);
  margin-bottom: 1rem;
  margin-top: 0;
}

/* â”€â”€â”€ Form Controls â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-wrapper .form-control,
.dashboard-wrapper .form-select {
  background-color: var(--input-bg);
  border-color: var(--input-border, #e2e8f0);
  border-radius: var(--sys-radius-sm);
  min-height: 42px;
  font-size: 0.9rem;
  color: var(--adm-text-strong);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  box-shadow: none;
}

.dashboard-wrapper .form-control:focus,
.dashboard-wrapper .form-select:focus {
  border-color: var(--input-focus-border, #173630);
  box-shadow: 0 0 0 1px var(--input-focus-ring, rgba(23, 54, 48, 0.35));
  background-color: var(--input-bg);
  outline: 0;
}

/* Module form focus overrides: see system.css (Phase 1) */

.dashboard-wrapper .form-control::placeholder {
  color: var(--adm-text-muted-ui);
  opacity: 0.65;
}

.dashboard-wrapper .form-control.is-invalid,
.dashboard-wrapper .form-select.is-invalid {
  border-color: var(--adm-danger);
  box-shadow: none;
}

.dashboard-wrapper .form-control.is-invalid:focus,
.dashboard-wrapper .form-select.is-invalid:focus {
  box-shadow: 0 0 0 1px var(--adm-danger-soft);
}

.dashboard-wrapper [class*="-module-page"] .form-control.is-invalid:focus,
.dashboard-wrapper [class*="-module-page"] .form-select.is-invalid:focus {
  box-shadow: none;
  outline: none;
}

.dashboard-wrapper .form-control[readonly] {
  background-color: var(--adm-bg-surface-2);
  color: var(--adm-text-muted-ui);
}

.dashboard-wrapper .form-control-sm,
.dashboard-wrapper .form-select-sm {
  min-height: 36px;
  font-size: 0.84rem;
  border-radius: var(--sys-radius-xs);
}

/* Form label */
.dashboard-wrapper .form-label {
  font-size: 0.84375rem;
  font-weight: 500;
  color: var(--adm-text-secondary);
  margin-bottom: 0.375rem;
}

/* Form text / hint */
.dashboard-wrapper .form-text {
  color: var(--adm-text-muted-ui);
  font-size: 0.79rem;
}

/* Validation messages */
.dashboard-wrapper span.text-danger.small,
.dashboard-wrapper .field-validation-error {
  font-size: 0.79rem;
  color: var(--adm-danger);
  margin-top: 0.25rem;
  display: block;
}

/* Validation summary */
.dashboard-wrapper .validation-summary-errors {
  background: var(--adm-danger-soft);
  border: 1px solid var(--adm-danger);
  border-radius: var(--sys-radius-sm);
  padding: 0.75rem 1rem;
  color: var(--adm-danger);
  font-size: 0.875rem;
  margin-bottom: 1rem;
}

.dashboard-wrapper .validation-summary-errors ul {
  margin: 0;
  padding-left: 1.25rem;
}

[dir="rtl"] .dashboard-wrapper .validation-summary-errors ul {
  padding-left: 0;
  padding-right: 1.25rem;
}

/* â”€â”€â”€ Input Group â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-wrapper .input-group-text {
  background-color: var(--adm-bg-surface-2);
  border-color: var(--input-border, #e2e8f0);
  color: var(--adm-text-muted-ui);
  font-size: 0.875rem;
  min-height: 42px;
}

.dashboard-wrapper .input-group .form-control-sm~.input-group-text,
.dashboard-wrapper .input-group-sm .input-group-text {
  min-height: 36px;
  font-size: 0.84rem;
}

/* â”€â”€â”€ Buttons â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-wrapper .btn {
  font-weight: 500;
  font-size: 0.875rem;
  border-radius: var(--adm-radius-sm);
  padding: 0.5rem 1.125rem;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  transition: background-color 0.15s ease, border-color 0.15s ease,
    box-shadow 0.15s ease, transform 0.1s ease;
  line-height: 1;
}

.dashboard-wrapper .btn:active {
  transform: scale(0.97);
}

/* Primary */
.dashboard-wrapper .btn-primary {
  background-color: var(--adm-brand-600);
  border-color: var(--adm-brand-600);
  color: #fff;
  box-shadow: none;
}

.dashboard-wrapper .btn-primary:hover {
  background-color: color-mix(in srgb, var(--adm-brand-600) 88%, #000 12%);
  border-color: color-mix(in srgb, var(--adm-brand-600) 88%, #000 12%);
  color: #fff;
  box-shadow: none;
  transform: none;
}

.dashboard-wrapper .btn-primary:active {
  transform: none;
  box-shadow: none;
}

/* Outline Secondary */
.dashboard-wrapper .btn-outline-secondary {
  border-color: var(--adm-border-strong);
  color: var(--adm-text-secondary);
  background: transparent;
}

.dashboard-wrapper .btn-outline-secondary:hover {
  background-color: var(--adm-bg-surface-3);
  border-color: var(--adm-border-strong);
  color: var(--adm-text-strong);
}

/* Outline Primary */
.dashboard-wrapper .btn-outline-primary {
  color: var(--adm-brand-600);
  border-color: var(--adm-brand-600);
  background: transparent;
}

.dashboard-wrapper .btn-outline-primary:hover {
  background-color: color-mix(in srgb, var(--adm-brand-600) 10%, transparent 90%);
  color: var(--adm-brand-600);
  border-color: var(--adm-brand-600);
}

/* Outline Danger */
.dashboard-wrapper .btn-outline-danger {
  color: var(--adm-danger);
  border-color: var(--adm-danger);
  background: transparent;
}

.dashboard-wrapper .btn-outline-danger:hover {
  background-color: var(--adm-danger-soft);
  color: var(--adm-danger);
  border-color: var(--adm-danger);
}

/* Small variant */
.dashboard-wrapper .btn-sm {
  font-size: 0.8125rem;
  padding: 0.3125rem 0.75rem;
  min-height: 32px;
  border-radius: var(--adm-radius-xs);
}

/* Link button */
.dashboard-wrapper .btn-link {
  color: var(--adm-brand-600);
  text-decoration: none;
  padding-left: 0;
  padding-right: 0;
  min-height: auto;
}

.dashboard-wrapper .btn-link:hover {
  color: var(--accent-primary-600);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* â”€â”€â”€ Form Actions Row â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.form-actions {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding-top: 1.25rem;
  margin-top: 0.5rem;
  border-top: 1px solid var(--adm-border-subtle);
}

/* â”€â”€â”€ Form Check / Switch â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-wrapper .form-check-input:checked {
  background-color: var(--adm-brand-600);
  border-color: var(--adm-brand-600);
}

.dashboard-wrapper .form-check-input:focus {
  box-shadow: 0 0 0 3px var(--adm-focus-ring);
  border-color: var(--adm-brand-600);
}

.dashboard-wrapper .form-check-label {
  font-size: 0.875rem;
  color: var(--adm-text-secondary);
}

/* Branch activation tiles */
.dashboard-wrapper .form-check.border {
  border-color: var(--adm-border) !important;
  background: var(--adm-bg-surface-2);
  transition: border-color 0.13s ease, background 0.13s ease;
}

.dashboard-wrapper .form-check.border:has(.form-check-input:checked) {
  border-color: var(--adm-brand-600) !important;
  background: color-mix(in srgb, var(--adm-brand-600) 7%, var(--adm-bg-surface) 93%);
}

/* â”€â”€â”€ Table â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-wrapper .table {
  --bs-table-bg: var(--adm-bg-surface);
  --bs-table-border-color: var(--adm-border-subtle);
  font-size: 0.875rem;
}

.dashboard-wrapper .table-light {
  --bs-table-bg: var(--adm-bg-surface-2);
  --bs-table-color: var(--adm-text-secondary);
}

.dashboard-wrapper .table thead th {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--adm-text-muted-ui);
  border-bottom-width: 1px;
  padding: 0.625rem 0.875rem;
  white-space: nowrap;
}

.dashboard-wrapper .table td {
  border-color: var(--adm-border-subtle);
  padding: 0.5625rem 0.875rem;
  vertical-align: middle;
}

/* Hover row highlight for all data tables */
.dashboard-wrapper .table-hover>tbody>tr:hover>td,
.dashboard-wrapper .table-hover>tbody>tr:hover>th {
  --bs-table-bg-state: color-mix(in srgb, var(--adm-brand-600) 4%, transparent 96%);
}

/* Action column â€” keep buttons on one line */
.dashboard-wrapper .table td.text-nowrap,
.dashboard-wrapper .table th.text-nowrap {
  white-space: nowrap;
}

/* Empty state inside a table card */
.dashboard-wrapper .table-empty-state {
  padding: 3rem 1.5rem;
  text-align: center;
  color: var(--adm-text-muted-ui);
  font-size: 0.875rem;
}

.dashboard-wrapper .table-empty-state .bi {
  font-size: 2rem;
  display: block;
  margin-bottom: 0.5rem;
  opacity: 0.4;
}

/* Status badge helpers used in tables */
.badge.status-active {
  --bs-badge-bg: var(--adm-success);
}

.badge.status-inactive {
  --bs-badge-bg: var(--adm-border-strong);
  color: var(--adm-text-secondary);
}

/* Compact table variant for inline line-editors */
.dashboard-wrapper .table-compact thead th,
.dashboard-wrapper .table-compact td {
  padding: 0.3125rem 0.625rem;
}

/* â”€â”€â”€ Page stats / KPI strip â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.kpi-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.kpi-card {
  flex: 1 1 160px;
  background: var(--adm-bg-surface);
  border: 1px solid var(--adm-border);
  border-radius: var(--adm-radius-md);
  padding: 1rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  box-shadow: var(--adm-shadow-sm);
  transition: box-shadow 0.15s ease;
}

.kpi-card:hover {
  box-shadow: var(--adm-shadow-md, 0 4px 16px rgba(0, 0, 0, 0.08));
}

.kpi-card .kpi-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--adm-text-muted-ui);
}

.kpi-card .kpi-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--adm-text-strong);
  line-height: 1.2;
}

.kpi-card .kpi-sub {
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui);
}

/* â”€â”€â”€ Alert improvements â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-wrapper .alert-info {
  background: var(--adm-info-soft);
  border-color: var(--adm-info);
  color: var(--adm-text-secondary);
  border-radius: var(--adm-radius-sm);
  font-size: 0.875rem;
}

/* â”€â”€â”€ UOM multi box â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-wrapper .uom-multi-box {
  background: var(--adm-bg-surface-2);
  border-color: var(--adm-border) !important;
  border-radius: var(--adm-radius-md) !important;
}

/* â”€â”€â”€ Unified file / image drop zone â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-wrapper .file-dropzone,
.dashboard-wrapper .product-image-drop {
  border: 2px dashed var(--adm-border-strong);
  border-radius: var(--adm-radius-md);
  padding: 2rem 1rem;
  cursor: pointer;
  text-align: center;
  background: var(--adm-bg-surface-2);
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.dashboard-wrapper .file-dropzone:hover,
.dashboard-wrapper .file-dropzone:focus,
.dashboard-wrapper .product-image-drop:hover,
.dashboard-wrapper .product-image-drop:focus {
  border-color: var(--adm-brand-600);
  background: color-mix(in srgb, var(--adm-brand-600) 5%, transparent 95%);
  box-shadow: 0 0 0 3px var(--adm-focus-ring);
  outline: none;
}

.dashboard-wrapper .file-dropzone.is-dragover,
.dashboard-wrapper .product-image-drop.is-dragover {
  border-color: var(--adm-brand-600);
  background: color-mix(in srgb, var(--adm-brand-600) 8%, transparent 92%);
  box-shadow: 0 0 0 4px var(--adm-focus-ring);
}

.dashboard-wrapper .file-dropzone .dropzone-icon,
.dashboard-wrapper .product-image-drop .bi-image {
  font-size: 2rem;
  color: var(--adm-text-muted-ui);
  display: block;
  margin-bottom: 0.5rem;
}

.dashboard-wrapper .file-dropzone .dropzone-text {
  font-size: 0.84rem;
  color: var(--adm-text-muted-ui);
}

/* File preview card */
.dashboard-wrapper .file-preview {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  background: var(--adm-bg-surface-2);
  border: 1px solid var(--adm-border);
  border-radius: var(--adm-radius-sm);
  margin-top: 0.75rem;
}

.dashboard-wrapper .file-preview img {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: var(--adm-radius-sm);
  border: 1px solid var(--adm-border);
}

.dashboard-wrapper .file-preview .file-preview-actions {
  margin-inline-start: auto;
  display: flex;
  gap: 0.375rem;
}

/* â”€â”€â”€ Image preview (product / entity images) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-wrapper .image-preview-wrap {
  position: relative;
  max-width: 280px;
  margin-inline: auto;
  text-align: center;
}

.dashboard-wrapper .image-preview-wrap img {
  width: 100%;
  max-height: 200px;
  object-fit: contain;
  border-radius: var(--adm-radius-sm);
  border: 1px solid var(--adm-border);
  background: var(--adm-bg-surface-2);
}

.dashboard-wrapper .image-preview-actions {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

/* â”€â”€â”€ Dark theme overrides â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[data-theme="dark"] .content-card {
  background: var(--adm-bg-surface);
  border-color: var(--adm-border);
}

[data-theme="dark"] .dashboard-wrapper .form-control,
[data-theme="dark"] .dashboard-wrapper .form-select {
  background-color: var(--adm-bg-surface-2);
  border-color: var(--adm-border);
  color: var(--adm-text-strong);
}

[data-theme="dark"] .dashboard-wrapper .form-control[readonly] {
  background-color: var(--adm-bg-surface-3);
}

[data-theme="dark"] .dashboard-wrapper .input-group-text {
  background-color: var(--adm-bg-surface-3);
  border-color: var(--adm-border);
}

[data-theme="dark"] .dashboard-wrapper .uom-multi-box {
  background: var(--adm-bg-surface-2);
}

[data-theme="dark"] .dashboard-wrapper .form-check.border {
  background: var(--adm-bg-surface-2);
}

[data-theme="dark"] .kpi-card {
  background: var(--adm-bg-surface);
  border-color: var(--adm-border);
}

[data-theme="dark"] .dashboard-wrapper .table {
  --bs-table-bg: var(--adm-bg-surface);
  --bs-table-border-color: var(--adm-border);
}

[data-theme="dark"] .dashboard-wrapper .table-light {
  --bs-table-bg: var(--adm-bg-surface-2);
}

/* â”€â”€â”€ Responsive: stack page-header on narrow screens â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 575.98px) {
  .page-header.d-flex {
    flex-direction: column;
    align-items: flex-start !important;
  }

  .page-header .d-flex.gap-2 {
    width: 100%;
    flex-wrap: wrap;
  }

  .content-card {
    padding: 1.25rem 1rem;
  }
}


/* ── css (80 lines) ──────────────────────── */
.error-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .85rem;
}

.copy-ref {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  border-radius: var(--sys-radius);
  padding: .45rem .65rem;
  font-weight: 800;
  cursor: pointer;
}

.copy-ref:focus {
  outline: 3px solid rgba(27, 53, 49, .22);
  outline-offset: 2px;
}

.not-found-visual {
  margin-top: 1.25rem;
  border-radius: var(--sys-radius);
  padding: 1.25rem;
  background:
    linear-gradient(135deg, rgba(27, 53, 49, .10), rgba(25, 61, 54, .08)),
    #f8fafa;
  border: 1px solid var(--line);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: center;
}

.not-found-code {
  direction: ltr;
  font-size: clamp(2.5rem, 8vw, 5rem);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.08em;
  color: var(--primary);
}

.not-found-visual p {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

.empty-state {
  text-align: center;
  padding: 2rem;
  border: 1px dashed #cfd8e3;
  border-radius: var(--sys-radius);
  background: #f8fafa;
  color: #697386;
}

.empty-state__icon {
  width: 3rem;
  height: 3rem;
  display: inline-grid;
  place-items: center;
  border-radius: 1rem;
  margin-bottom: .75rem;
  background: rgba(27, 53, 49, .12);
  color: var(--adm-brand-600, #173630);
  font-weight: 900;
}

.empty-state__title {
  color: #243042;
  font-size: 1.05rem;
  font-weight: 800;
  margin: 0 0 .35rem;
}

.empty-state__message {
  margin: 0;
  line-height: 1.7;
}

@media (max-width: 640px) {
  .not-found-visual {
    grid-template-columns: 1fr;
    text-align: center;
  }
}


/* ── finance (307 lines) ──────────────────────── */
/* ==========================================================================
   Finance â€” merged page-level styles
   Source files:
     - finance-module-hub.css
     - finance/finance-ap-hub.css
     - finance/finance-approvals-hub.css
     - finance/finance-ar-hub.css
     - finance/finance-bank-reconciliation.css
     - finance/finance-cash-forecast.css
     - finance/finance-dashboard.css
     - finance/finance-payment-batch.css
     - finance/finance-receipt-batch.css
     - finance/finance-tax-hub.css
   ========================================================================== */

/* â”€â”€ finance-module-hub â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

/* Finance module â€” bottom hub navigation (grouped tiles) */

.finance-module-hub {
  margin-top: 1.25rem;
}

.finance-module-hub__section {
  margin-bottom: 1rem;
}

.finance-module-hub__section-title {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  margin-bottom: 0.65rem;
  padding-inline: 0.15rem;
}

.finance-module-hub__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr));
  gap: 0.65rem;
}

.finance-module-hub__link {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  border-radius: var(--sys-radius, 0.5rem);
  background: var(--adm-bg-surface, #fff);
  color: var(--adm-text-strong, var(--bs-body-color));
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.35;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.finance-module-hub__link:hover,
.finance-module-hub__link:focus-visible {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 35%, var(--adm-border-subtle));
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 5%, var(--adm-bg-surface));
  box-shadow: 0 2px 8px rgba(7, 10, 9, 0.06);
  color: var(--adm-brand-600, var(--bs-primary));
}

.finance-module-hub__link i {
  font-size: 1.05rem;
  opacity: 0.9;
  flex-shrink: 0;
}

.finance-module-hub__link--primary {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 30%, var(--adm-border-subtle));
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 6%, var(--adm-bg-surface));
}

@media (max-width: 575.98px) {
  .finance-module-hub__grid {
    grid-template-columns: 1fr;
  }
}

/* â”€â”€ finance-ap-hub â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.finance-ap-kpi-card {
  border-inline-start: 4px solid var(--bs-border-color);
  transition: box-shadow 0.15s ease;
}

.finance-ap-kpi-card:hover {
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.06);
}

.finance-ap-kpi-card--overdue {
  border-inline-start-color: var(--bs-danger);
}

.finance-ap-kpi-card--disbursed {
  border-inline-start-color: var(--bs-success);
}

.finance-ap-kpi-card--unallocated {
  border-inline-start-color: var(--bs-warning);
}

.finance-ap-kpi-card--approved {
  border-inline-start-color: var(--bs-info);
}

.finance-ap-hero-balance {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.finance-ap-hub-card {
  height: 100%;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.finance-ap-hub-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 0.35rem 1rem rgba(0, 0, 0, 0.08);
}

.finance-ap-hub-card .bi {
  font-size: 1.75rem;
  opacity: 0.85;
}

.finance-ap-aging-table th {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--bs-secondary-color);
}

/* â”€â”€ finance-approvals-hub â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.finance-approvals-kpi-card {
  border-inline-start: 4px solid var(--bs-border-color);
  transition: box-shadow 0.15s ease;
}

.finance-approvals-kpi-card:hover {
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.06);
}

.finance-approvals-kpi-card--awaiting {
  border-inline-start-color: var(--bs-warning);
}

.finance-approvals-kpi-card--approved {
  border-inline-start-color: var(--bs-info);
}

.finance-approvals-hub-card {
  height: 100%;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.finance-approvals-hub-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 0.35rem 1rem rgba(0, 0, 0, 0.08);
}

/* â”€â”€ finance-ar-hub â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.finance-ar-kpi-card {
  border-inline-start: 4px solid var(--bs-border-color);
  transition: box-shadow 0.15s ease;
}

.finance-ar-kpi-card:hover {
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.06);
}

.finance-ar-kpi-card--outstanding {
  border-inline-start-color: var(--bs-primary);
}

.finance-ar-kpi-card--overdue {
  border-inline-start-color: var(--bs-danger);
}

.finance-ar-kpi-card--collected {
  border-inline-start-color: var(--bs-success);
}

.finance-ar-kpi-card--unallocated {
  border-inline-start-color: var(--bs-warning);
}

.finance-ar-hero-balance {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.finance-ar-hub-card {
  height: 100%;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.finance-ar-hub-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 0.35rem 1rem rgba(0, 0, 0, 0.08);
}

.finance-ar-hub-card .bi {
  font-size: 1.75rem;
  opacity: 0.85;
}

.finance-ar-aging-table th {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--bs-secondary-color);
}

/* â”€â”€ finance-bank-reconciliation â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.finance-bank-recon-summary .finance-bank-recon-variance--ok {
  color: var(--bs-success);
}

.finance-bank-recon-summary .finance-bank-recon-variance--warn {
  color: var(--bs-warning);
}

.finance-bank-recon-panel {
  max-height: 28rem;
  overflow-y: auto;
}

.finance-bank-recon-row--matched {
  background-color: rgba(25, 135, 84, 0.08);
}

.finance-bank-recon-row--unmatched {
  background-color: rgba(255, 193, 7, 0.08);
}

.finance-bank-recon-match-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

/* â”€â”€ finance-cash-forecast â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.finance-cf-kpi {
  min-height: 5.5rem;
}

.finance-cf-table thead th {
  font-size: 0.8125rem;
  white-space: nowrap;
}

.finance-cf-row--negative td:last-child {
  color: var(--bs-danger);
}

/* â”€â”€ finance-dashboard â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.finance-kpi-card {
  border-inline-start: 4px solid var(--bs-border-color);
  transition: box-shadow 0.15s ease;
}

.finance-kpi-card:hover {
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.06);
}

.finance-kpi-card--primary {
  border-inline-start-color: var(--bs-primary);
}

.finance-kpi-card--success {
  border-inline-start-color: var(--bs-success);
}

.finance-kpi-card--warning {
  border-inline-start-color: var(--bs-warning);
}

.finance-kpi-card--danger {
  border-inline-start-color: var(--bs-danger);
}

.finance-kpi-card--info {
  border-inline-start-color: var(--bs-info);
}

.finance-hero-balance {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.finance-treasury-table th {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--bs-secondary-color);
}

/* â”€â”€ finance-payment-batch â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.finance-payment-batch-summary .finance-payment-batch-total {
  font-size: 1.35rem;
  font-weight: 600;
}

.finance-payment-batch-ap-panel {
  max-height: 22rem;
  overflow-y: auto;
}

.finance-payment-batch-line-status--posted {
  color: var(--bs-success);
}

.finance-payment-batch-line-status--failed {
  color: var(--bs-danger);
}

/* â”€â”€ finance-receipt-batch â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.finance-receipt-batch-summary .finance-receipt-batch-total {
  font-size: 1.35rem;
  font-weight: 600;
}

.finance-receipt-batch-ar-panel {
  max-height: 22rem;
  overflow-y: auto;
}

.finance-receipt-batch-line-status--posted {
  color: var(--bs-success);
}

.finance-receipt-batch-line-status--failed {
  color: var(--bs-danger);
}

/* â”€â”€ finance-tax-hub â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.finance-tax-kpi-card {
  border-inline-start: 4px solid var(--bs-border-color);
  transition: box-shadow 0.15s ease;
}

.finance-tax-kpi-card:hover {
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.06);
}

.finance-tax-kpi-card--sales {
  border-inline-start-color: var(--bs-primary);
}

.finance-tax-kpi-card--purchase {
  border-inline-start-color: var(--bs-warning);
}

.finance-tax-kpi-card--total {
  border-inline-start-color: var(--bs-success);
}

.finance-tax-hub-card {
  height: 100%;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.finance-tax-hub-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 0.35rem 1rem rgba(0, 0, 0, 0.08);
}

.finance-tax-hub-card .bi {
  font-size: 1.75rem;
  opacity: 0.85;
}


/* ── hr (79 lines) ──────────────────────── */
/* ==========================================================================
   HR â€” merged page-level styles
   Source files:
     - hr.css
     - hr-reports.css
   ========================================================================== */

/* â”€â”€ hr â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.hr-kpi-card {
  border-inline-start: 3px solid var(--bs-primary);
}

.hr-kpi-card--warning {
  border-inline-start-color: var(--bs-warning);
}

.hr-kpi-card--danger {
  border-inline-start-color: var(--bs-danger);
}

.hr-kpi-card--success {
  border-inline-start-color: var(--bs-success);
}

.hr-kpi-card--muted {
  border-inline-start-color: var(--bs-secondary);
}

.hr-kpi-card--primary {
  border-inline-start: 3px solid var(--bs-primary);
}

.hr-link-user-results {
  max-height: 240px;
  overflow-y: auto;
}

.hr-org-tree {
  border-inline-start: 2px solid var(--bs-border-color);
  padding-inline-start: 1rem;
}

.hr-org-tree-item {
  position: relative;
}

.hr-org-tree .hr-org-tree {
  margin-top: 0.5rem;
}

.hr-kpi-card--open {
  border-inline-start-color: var(--bs-info);
}

.hr-attendance-badge {
  font-weight: 500;
}

.hr-attendance-badge--open {
  background-color: var(--bs-info-bg-subtle, rgba(23, 54, 48, 0.12));
  color: var(--bs-info);
}

.hr-attendance-badge--complete {
  background-color: var(--bs-success-bg-subtle, rgba(25, 135, 84, 0.12));
  color: var(--bs-success);
}

.hr-attendance-badge--adjusted {
  background-color: var(--bs-warning-bg-subtle, rgba(255, 193, 7, 0.15));
  color: var(--bs-warning-text-emphasis, #664d03);
}

.hr-attendance-badge--leave {
  background-color: var(--bs-primary-bg-subtle, rgba(23, 54, 48, 0.1));
  color: var(--bs-primary);
}

.hr-attendance-badge--absent {
  background-color: var(--bs-danger-bg-subtle, rgba(220, 53, 69, 0.12));
  color: var(--bs-danger);
}

.wps-step-dot {
  display: inline-block;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  flex-shrink: 0;
}

/* â”€â”€ hr-reports â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.hr-report-filter-card {
  border-radius: 0.75rem;
}

.hr-report-table tfoot th {
  font-weight: 600;
}


/* ── inventory (6435 lines) ──────────────────────── */
/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   Inventory â€” All page-specific styles (merged)
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */

/* â”€â”€ ABC Classification â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Inventory â€” ABC classification report */

.inventory-abc-list-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.inventory-abc-list-page>.inventory-page-header,
.inventory-abc-list-page>.inv-overview,
.inventory-abc-list-page>.inventory-panel {
  margin-bottom: 0 !important;
}

.inv-abc-stats.inv-overview {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 991.98px) {
  .inv-abc-stats.inv-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .inv-abc-stats.inv-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.inv-abc-context {
  border-radius: var(--inventory-card-radius, 0.2rem);
}

.inv-abc-stat--a .inv-overview-card__stat {
  color: var(--bs-success);
}

.inv-abc-stat--b .inv-overview-card__stat {
  color: var(--bs-warning);
}

.inv-entity-avatar--abc {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
  border: 1px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 22%, transparent);
}

.inv-abc-qty-badge,
.inv-abc-value-badge,
.inv-abc-pct-badge {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  min-width: 3rem;
}

.inv-abc-band {
  font-weight: 800;
  min-width: 2rem;
  letter-spacing: 0.04em;
}

.inv-abc-band--a {
  background: color-mix(in srgb, var(--bs-success) 18%, #fff) !important;
  color: var(--bs-success) !important;
  border: 1px solid color-mix(in srgb, var(--bs-success) 35%, transparent);
}

.inv-abc-band--b {
  background: color-mix(in srgb, var(--bs-warning) 18%, #fff) !important;
  color: color-mix(in srgb, var(--bs-warning) 85%, #000) !important;
  border: 1px solid color-mix(in srgb, var(--bs-warning) 35%, transparent);
}

.inv-abc-band--c {
  background: var(--adm-surface-muted, #f8f9fa) !important;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color)) !important;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color));
}

.inv-abc-status-chips .inv-abc-chip.is-active {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 45%, transparent);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 10%, #fff);
  color: var(--adm-brand-700, var(--bs-primary));
  font-weight: 600;
}

.inv-abc-status-chips .inv-abc-chip.inv-abc-chip--a.is-active {
  border-color: color-mix(in srgb, var(--bs-success) 50%, transparent);
  background: color-mix(in srgb, var(--bs-success) 10%, #fff);
  color: var(--bs-success);
}

.inv-abc-status-chips .inv-abc-chip.inv-abc-chip--b.is-active {
  border-color: color-mix(in srgb, var(--bs-warning) 50%, transparent);
  background: color-mix(in srgb, var(--bs-warning) 10%, #fff);
  color: color-mix(in srgb, var(--bs-warning) 85%, #000);
}

.inv-abc-status-chips .inv-abc-chip.inv-abc-chip--c.is-active {
  border-color: color-mix(in srgb, var(--bs-secondary) 40%, transparent);
  background: color-mix(in srgb, var(--bs-secondary) 8%, #fff);
  color: var(--bs-secondary);
}

.dashboard-wrapper .inventory-module-page .inventory-panel.inv-abc-panel {
  border-radius: var(--inventory-card-radius, 0.20rem) !important;
}

.inventory-panel.inv-abc-panel[data-inventory-table] .table thead th {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  padding: 0.75rem 1rem;
  white-space: nowrap;
}

.inventory-panel.inv-abc-panel[data-inventory-table] .table tbody tr,
.inventory-panel.inv-abc-panel[data-inventory-table] .table tbody tr:nth-child(even):not(.inventory-empty-state-row) {
  background: #fff;
}

.inventory-panel.inv-abc-panel[data-inventory-table] .table tbody td {
  background: #fff;
  padding: 0.65rem 1rem;
  vertical-align: middle;
}

.inv-abc-panel--empty .inventory-panel__body--flush {
  min-height: 12rem;
}

.inv-abc-empty-actions {
  margin-top: -0.5rem;
}

.inv-abc-panel--empty .inventory-empty-state {
  padding: 2rem 1.5rem 1rem;
}

.inv-abc-table-footer {
  border-top: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  background: var(--adm-surface-muted, #f8f9fa);
}

.inv-abc-total-pill {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}

/* â”€â”€ Accounting Settings â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Inventory accounting profile â€” Settings (workspace / company style) */

.settings-inventory-accounting-page {
  --ia-surface: #fff;
  --ia-card: #fff;
  --ia-primary: var(--adm-brand-600, var(--bs-primary));
  --ia-success: var(--bs-success, #00d27a);
  --ia-info: var(--bs-info, #193d36);
  --ia-warning: var(--bs-warning, #f59e0b);
  --ia-border: var(--adm-border-subtle, var(--bs-border-color-translucent));
  --ia-radius: 0.20rem;
  --ia-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  padding-bottom: 5rem;
}

.settings-inventory-accounting-page .btn,
.settings-inventory-accounting-page .form-control,
.settings-inventory-accounting-page .form-select {
  border-radius: var(--ia-radius);
}

.settings-inventory-accounting-page .settings-server-validation:empty {
  display: none !important;
}

.settings-inventory-accounting-stack {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.ia-settings-card {
  border: 1px solid var(--ia-border);
  border-radius: var(--ia-radius);
  background: var(--ia-card);
  box-shadow: var(--ia-shadow);
  overflow: hidden;
}

.ia-settings-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1.15rem 0.85rem;
  border-bottom: 2px solid color-mix(in srgb, var(--ia-primary) 18%, var(--ia-border));
}

.ia-settings-card__head--offsets {
  border-bottom-color: color-mix(in srgb, var(--ia-info) 22%, var(--ia-border));
}

.ia-settings-card__head--issues {
  border-bottom-color: color-mix(in srgb, var(--ia-warning) 28%, var(--ia-border));
}

.ia-settings-card__title-wrap {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  min-width: 0;
}

.ia-settings-card__icon {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--ia-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.05rem;
  background: color-mix(in srgb, var(--ia-primary) 12%, var(--ia-card));
  color: var(--ia-primary);
}

.ia-settings-card__icon--offsets {
  background: color-mix(in srgb, var(--ia-info) 12%, var(--ia-card));
  color: var(--ia-info);
}

.ia-settings-card__icon--issues {
  background: color-mix(in srgb, var(--ia-warning) 14%, var(--ia-card));
  color: color-mix(in srgb, var(--ia-warning) 85%, #000);
}

.ia-settings-card__title {
  font-weight: 700;
  margin: 0;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.ia-settings-card__hint {
  margin: 0.2rem 0 0;
  font-size: 0.8125rem;
  color: var(--bs-secondary-color);
  line-height: 1.45;
}

.ia-settings-card__body {
  padding: 1rem 1.15rem 1.15rem;
}

.ia-settings-hint-card {
  border: 1px solid var(--ia-border);
  border-radius: var(--ia-radius);
  background: var(--ia-card);
  box-shadow: var(--ia-shadow);
  border-inline-start: 3px solid var(--ia-info);
  padding: 0.85rem 1rem;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--bs-secondary-color);
}

.ia-settings-footer {
  position: sticky;
  bottom: 0;
  z-index: 20;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  justify-content: flex-start;
  margin-top: 1.25rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--ia-border);
  border-radius: var(--ia-radius);
  background: var(--ia-card);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 -4px 20px rgba(7, 10, 9, 0.06);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.ia-settings-footer.is-stuck {
  border-color: color-mix(in srgb, var(--ia-primary) 18%, var(--ia-border));
  box-shadow:
    0 -6px 24px rgba(7, 10, 9, 0.1),
    0 0 0 1px color-mix(in srgb, var(--ia-primary) 8%, transparent);
}

.ia-settings-footer .btn {
  min-width: 6.5rem;
  min-height: 2.125rem;
  padding: 0.4rem 0.95rem;
  font-size: 0.8125rem;
  font-weight: 600;
}

.ia-settings-footer-sentinel {
  width: 100%;
  height: 1px;
  pointer-events: none;
  visibility: hidden;
}

@media (max-width: 991.98px) {
  .ia-settings-footer {
    position: static;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

[data-theme="dark"] .settings-inventory-accounting-page {
  --ia-card: #fff;
  --ia-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 4px 14px rgba(0, 0, 0, 0.15);
}

[data-theme="dark"] .ia-settings-footer {
  background: var(--ia-card);
}

/* â”€â”€ Categories â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Inventory â€” Product categories forms (Sales / Settings reference standard) */

.inventory-categories-form-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.inventory-categories-detail-page {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
  padding-bottom: 1.5rem;
}

.inventory-categories-detail-page>.inventory-page-header,
.inventory-categories-detail-page>.inventory-detail-hero,
.inventory-categories-detail-page>.inventory-panel {
  margin-bottom: 0 !important;
}

.inventory-categories-form .inventory-inv-form-panel__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  margin: 0;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
}

.inventory-categories-form .inventory-inv-form-panel__head .inventory-panel__accent {
  display: none;
}

.inventory-categories-form .inventory-inv-form-panel__head .inventory-panel__head-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  margin: 0;
  padding: 0;
}

.inventory-categories-form .inventory-inv-form-panel__head .inventory-panel__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
}

.inventory-categories-form .inventory-inv-form-panel__head .inventory-panel__subtitle {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
}

.inventory-categories-form .inventory-inv-form-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  flex-shrink: 0;
  font-size: 1.05rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.inventory-categories-form .inventory-form-group {
  margin-bottom: 0;
}

.inventory-categories-form .inventory-code-field .form-control[readonly] {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
  font-weight: 600;
  letter-spacing: 0.02em;
}

.inventory-categories-form .inventory-status-toggle {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.inventory-categories-form .inventory-status-toggle .form-check-input {
  width: 2.5rem;
  height: 1.35rem;
  margin: 0;
}

.inventory-categories-form .inventory-status-toggle__text {
  flex: 1 1 auto;
  min-width: 0;
}

.inventory-categories-form .inventory-status-toggle__label {
  margin: 0;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.inventory-categories-form .inventory-status-toggle__hint {
  margin: 0.15rem 0 0;
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

[dir="rtl"] .inventory-form-page-header .inventory-back-icon {
  transform: scaleX(-1);
}

/* â”€â”€ Categories list (Sales customers table standard) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-wrapper .inventory-module-page .inventory-panel.inv-categories-panel {
  border-radius: var(--inventory-card-radius, 0.20rem) !important;
}

.inv-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.inv-overview>a.inv-overview-card,
.inv-overview>article.inv-overview-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

@media (max-width: 575.98px) {
  .inv-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.inv-overview-card {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  overflow: hidden;
}

.inv-overview-card__body {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
  min-height: 4.75rem;
}

.inv-overview-card__title {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.inv-overview-card__stat {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
  font-variant-numeric: tabular-nums;
}

.inv-overview-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.15rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.inv-overview-card--active .inv-overview-card__icon {
  background: color-mix(in srgb, var(--bs-success, #00d27a) 14%, #fff);
  color: var(--bs-success, #00d27a);
}

.inv-overview-card--active .inv-overview-card__stat {
  color: var(--bs-success, #00d27a);
}

.inv-entity-cell {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.inv-entity-avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  overflow: hidden;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #17322d, #173630);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.inv-entity-cell__name {
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.inventory-module-page .inventory-code {
  padding: 0.15rem 0.4rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, #fff);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  font-size: 0.8125rem;
}

/* White rows â€” override inventory-data-table zebra when not used */
.inventory-panel.inv-categories-panel[data-inventory-table] .table thead th {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: normal;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  padding: 0.75rem 1rem;
  white-space: nowrap;
}

.inventory-panel.inv-categories-panel[data-inventory-table] .table tbody tr,
.inventory-panel.inv-categories-panel[data-inventory-table] .table tbody tr:nth-child(even):not(.inventory-empty-state-row) {
  background: #fff;
}

.inventory-panel.inv-categories-panel[data-inventory-table] .table tbody td {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  padding: 0.75rem 1rem;
  vertical-align: middle;
}

.inventory-panel.inv-categories-panel[data-inventory-table] .table tbody tr:hover,
.inventory-panel.inv-categories-panel[data-inventory-table] .table tbody tr:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.inventory-panel.inv-categories-panel[data-inventory-table] .table tbody tr:hover td,
.inventory-panel.inv-categories-panel[data-inventory-table] .table tbody tr:focus-visible td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.inventory-panel.inv-categories-panel[data-inventory-table]:has(.dropdown-menu.show),
.inventory-panel.inv-categories-panel[data-inventory-table]:has(tr.inventory-row-actions-open),
.inventory-panel.inv-categories-panel[data-inventory-table] .inventory-panel__body:has(.dropdown-menu.show),
.inventory-panel.inv-categories-panel[data-inventory-table] .inventory-panel__body:has(tr.inventory-row-actions-open),
.inventory-panel.inv-categories-panel[data-inventory-table] .table-responsive:has(.dropdown-menu.show) {
  overflow: visible !important;
  position: relative;
  z-index: 40;
}

.inventory-panel.inv-categories-panel[data-inventory-table] tr.inventory-row-actions-open {
  position: relative;
  z-index: 45;
}

.inventory-panel.inv-categories-panel[data-inventory-table] tr.inventory-row-actions-open>td:last-child {
  overflow: visible;
  position: relative;
  z-index: 46;
}

.inventory-panel.inv-categories-panel[data-inventory-table] .inventory-row-actions-dd:has(.dropdown-menu.show) {
  z-index: 47;
}

.inventory-panel.inv-categories-panel[data-inventory-table] .inventory-row-actions-dd .dropdown-menu.show {
  z-index: 2000 !important;
}

/* â”€â”€ Category detail page â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.inv-category-detail-hero__avatar {
  background: linear-gradient(135deg, #17322d, #173630) !important;
  color: #fff !important;
}

.inv-category-detail-parent {
  font-size: 0.875rem;
}

.inv-category-detail-parent a {
  font-weight: 600;
  text-decoration: none;
}

.inv-category-detail-parent a:hover {
  text-decoration: underline;
}

.inv-category-detail-stats.inv-overview {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 575.98px) {
  .inv-category-detail-stats.inv-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.inv-category-stat-card {
  text-decoration: none;
  color: inherit;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.inv-category-stat-card:not(.inv-category-stat-card--empty):hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(7, 10, 9, 0.08);
}

.inv-category-stat-card--empty {
  opacity: 0.72;
  pointer-events: none;
  cursor: default;
}

.inv-category-stat-card--empty .inv-overview-card__stat {
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-category-stat-card__sub {
  margin-top: 0.15rem;
}

.inv-category-detail-meta {
  display: grid;
  gap: 0.85rem;
}

.inv-category-detail-meta__item {
  display: grid;
  grid-template-columns: minmax(6.5rem, 9rem) minmax(0, 1fr);
  gap: 0.5rem 1rem;
  align-items: start;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.inv-category-detail-meta__item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.inv-category-detail-meta__label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-category-detail-meta__value {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  word-break: break-word;
}

.inv-category-detail-usage-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}

@media (max-width: 575.98px) {
  .inv-category-detail-usage-grid {
    grid-template-columns: 1fr;
  }

  .inv-category-detail-meta__item {
    grid-template-columns: 1fr;
  }
}

.inv-category-detail-usage-tile {
  text-align: center;
  padding: 0.85rem 0.65rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
}

.inv-category-detail-usage-tile__value {
  display: block;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
  font-variant-numeric: tabular-nums;
}

.inv-category-detail-usage-tile__label {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-category-detail-usage-tile__meta {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.6875rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

/* â”€â”€ Counts â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Inventory counts list â€” aligned with products, stock documents & price lists */

.inventory-counts-list-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.inventory-counts-list-page>.inventory-page-header,
.inventory-counts-list-page>.inventory-panel {
  margin-bottom: 0 !important;
}

.dashboard-wrapper .inventory-module-page .inventory-panel.inv-counts-panel {
  border-radius: var(--inventory-card-radius, 0.20rem) !important;
}

.inv-counts-panel--table .inventory-table-toolbar,
.inv-counts-panel--table .inventory-table-footer,
.inv-counts-panel[data-inventory-table] .inventory-table-toolbar,
.inv-counts-panel[data-inventory-table] .inventory-table-footer {
  display: none !important;
}

.inventory-panel.inv-counts-panel[data-inventory-table] .inventory-panel__body--flush {
  padding: 0;
}

.inventory-panel.inv-counts-panel[data-inventory-table] .table tbody tr.inventory-data-row--clickable {
  cursor: pointer;
}

.inventory-panel.inv-counts-panel[data-inventory-table] .inventory-data-table tbody tr.inventory-data-row--clickable:hover td,
.inventory-panel.inv-counts-panel[data-inventory-table] .inventory-data-table tbody tr.inventory-data-row--clickable:focus-visible td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 6%, #fff) !important;
}

.inventory-panel.inv-counts-panel[data-inventory-table] .inventory-data-table tbody tr.inventory-data-row--clickable:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 28%, transparent);
}

.inventory-panel.inv-counts-panel[data-inventory-table] .table tbody tr.inventory-data-row--clickable .inventory-row-actions,
.inventory-panel.inv-counts-panel[data-inventory-table] .table tbody tr.inventory-data-row--clickable .inventory-row-actions-dd,
.inventory-panel.inv-counts-panel[data-inventory-table] .table tbody tr.inventory-data-row--clickable a.inv-count-meta-chip--link {
  cursor: default;
}

.inv-counts-panel--table .table thead th {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: normal;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  padding: 0.75rem 1rem;
  white-space: nowrap;
}

.inventory-panel.inv-counts-panel--table .table tbody tr,
.inventory-panel.inv-counts-panel--table .table tbody tr:nth-child(even):not(.inventory-empty-state-row) {
  background: #fff;
}

.inventory-panel.inv-counts-panel--table .table tbody td {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  padding: 0.75rem 1rem;
  vertical-align: middle;
}

.inventory-panel.inv-counts-panel--table .table tbody tr:hover,
.inventory-panel.inv-counts-panel--table .table tbody tr:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.inventory-panel.inv-counts-panel--table .table tbody tr:hover td,
.inventory-panel.inv-counts-panel--table .table tbody tr:focus-visible td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.inventory-panel.inv-counts-panel--table:has(.dropdown-menu.show),
.inventory-panel.inv-counts-panel--table:has(tr.inventory-row-actions-open),
.inventory-panel.inv-counts-panel--table .inventory-panel__body:has(.dropdown-menu.show),
.inventory-panel.inv-counts-panel--table .inventory-panel__body:has(tr.inventory-row-actions-open),
.inventory-panel.inv-counts-panel--table .table-responsive:has(.dropdown-menu.show) {
  overflow: visible !important;
  position: relative;
  z-index: 40;
}

.inventory-panel.inv-counts-panel--table tr.inventory-row-actions-open {
  position: relative;
  z-index: 45;
}

.inventory-panel.inv-counts-panel--table tr.inventory-row-actions-open>td:last-child {
  overflow: visible;
  position: relative;
  z-index: 46;
}

.inventory-panel.inv-counts-panel--table .inventory-row-actions-dd:has(.dropdown-menu.show) {
  z-index: 47;
}

.inventory-panel.inv-counts-panel--table .inventory-row-actions-dd .dropdown-menu.show {
  z-index: 2000 !important;
}

.inventory-panel.inv-counts-panel--table .table tbody tr.inventory-data-row--clickable {
  cursor: pointer;
}

.inventory-panel.inv-counts-panel--table .table tbody tr.inventory-data-row--clickable .inventory-row-actions,
.inventory-panel.inv-counts-panel--table .table tbody tr.inventory-data-row--clickable .inventory-row-actions-dd {
  cursor: default;
}

.inv-counts-panel .inv-entity-avatar--inventorycount {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  border: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1rem;
  background: linear-gradient(135deg, #d97706, #ea580c) !important;
  color: #fff !important;
}

.inv-count-entity-cell {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
}

.inv-count-entity-cell .inv-entity-cell__body {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.65rem;
  min-width: 0;
  flex: 1 1 auto;
}

.inv-count-doc-number {
  font-size: 0.9375rem;
  font-weight: 700;
  white-space: nowrap;
}

.inv-count-row-meta {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  line-height: 1.35;
  min-width: 0;
  flex: 1 1 100%;
}

.inv-count-meta-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  max-width: 100%;
  padding: 0.12rem 0.45rem;
  border-radius: var(--sys-radius);
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  background: color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 35%, #fff);
}

.inv-count-meta-chip .bi {
  font-size: 0.72rem;
  opacity: 0.85;
  flex-shrink: 0;
}

.inv-count-meta-chip--freeze {
  background: color-mix(in srgb, var(--bs-info, #17332e) 12%, #fff);
  color: var(--adm-brand-600, #0c1816);
}

.inv-count-meta-chip--variance {
  background: color-mix(in srgb, var(--bs-warning, #ffc107) 14%, #fff);
  color: #92400e;
}

.inv-count-kind-cell {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
  min-width: 0;
}

.inv-count-type {
  font-size: 0.75rem;
  font-weight: 600;
  border: 1px solid transparent;
}

.inv-count-type--full {
  background: color-mix(in srgb, var(--bs-primary, #173630) 14%, #fff) !important;
  color: var(--adm-brand-600, #19302b) !important;
  border-color: color-mix(in srgb, var(--bs-primary, #173630) 22%, transparent) !important;
}

.inv-count-type--cycle {
  background: color-mix(in srgb, #17332e 14%, #fff) !important;
  color: var(--adm-brand-600, #0f1f1c) !important;
  border-color: color-mix(in srgb, #17332e 22%, transparent) !important;
}

.inv-count-type--abc {
  background: color-mix(in srgb, #ffc107 16%, #fff) !important;
  color: #92400e !important;
  border-color: color-mix(in srgb, #ffc107 24%, transparent) !important;
}

.inv-count-type-hint {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  line-height: 1.35;
}

.inv-count-type-hint .bi {
  font-size: 0.8rem;
  opacity: 0.85;
}

.inv-count-warehouse-cell {
  max-width: 16rem;
}

.inv-count-warehouse-label {
  display: block;
  font-size: 0.8125rem;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.inv-count-warehouse-code {
  display: block;
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  margin-top: 0.1rem;
}

.inv-counts-panel[data-inventory-table] .inv-count-line-count {
  min-width: 2.5rem;
  font-variant-numeric: tabular-nums;
}

.inv-count-variance-badge {
  font-variant-numeric: tabular-nums;
}

.inv-counts-table-footer {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 2%, #fff);
}

.inv-counts-panel--table tr[data-inv-filter-hidden="1"] {
  display: none !important;
}

/* â”€â”€ Inventory count create/edit form (products / warehouses standard) â”€â”€ */

.inventory-counts-form-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.inventory-counts-form .inventory-inv-form-panel__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  margin: 0;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
}

.inventory-counts-form .inventory-inv-form-panel__head .inventory-panel__accent {
  display: none;
}

.inventory-counts-form .inventory-inv-form-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  flex-shrink: 0;
  font-size: 1.05rem;
  color: #fff;
  background: linear-gradient(135deg, #d97706, #ea580c);
}

.inventory-counts-form .inventory-form-group .form-label {
  font-size: 0.8125rem;
  font-weight: 600;
  margin-bottom: 0.35rem;
}

.inventory-counts-form .company-date-input {
  width: 100%;
}

.inventory-counts-form .company-date-input input[type="date"] {
  width: 100%;
}

.inventory-counts-form .company-hijri-date-block {
  width: 100%;
}

.inventory-counts-form #abcClassWrap.is-hidden {
  display: none !important;
}

.inventory-counts-form .inventory-status-toggle {
  padding: 0.85rem 1rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: color-mix(in srgb, var(--bs-info, #17332e) 4%, #fff);
}

/* â”€â”€ Detail page â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.inventory-counts-detail-page {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
  padding-bottom: 1.5rem;
}

.inventory-counts-detail-page>.inventory-page-header {
  position: relative;
  z-index: 20;
}

.inventory-counts-detail-page .inventory-detail-toolbar .inventory-row-actions-dd {
  position: relative;
  z-index: 6;
}

.inventory-counts-detail-page .inventory-page-header:has(.dropdown-menu.show),
.inventory-counts-detail-page .inventory-detail-toolbar .inventory-row-actions-dd:has(.dropdown-menu.show) {
  z-index: 2200;
}

.inventory-counts-detail-page .inventory-detail-toolbar .inventory-row-actions-dd .dropdown-menu.show {
  z-index: 2201 !important;
}

.inventory-counts-detail-page>.inventory-page-header,
.inventory-counts-detail-page>.inventory-detail-hero,
.inventory-counts-detail-page>.inventory-panel,
.inventory-counts-detail-page>.inv-overview {
  margin-bottom: 0 !important;
}

.inv-counts-panel--lines .inventory-table-toolbar,
.inv-counts-panel--lines .inventory-table-footer,
.inv-counts-panel--lines .inventory-table-shell .inventory-table-toolbar,
.inv-counts-panel--lines .inventory-table-shell .inventory-table-footer {
  display: none !important;
}

.inv-count-detail-hero__main {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.inv-count-detail-hero__avatar {
  width: 3rem;
  height: 3rem;
  font-size: 1.25rem;
}

.inv-count-detail-hero__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin-bottom: 0.5rem;
}

.inv-count-detail-hero__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.5rem;
}

.inv-count-detail-hero__notes {
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  line-height: 1.45;
}

.inv-count-workflow-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.inv-count-workflow-step {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.65rem;
  border-radius: var(--sys-radius);
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  background: color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 25%, #fff);
}

.inv-count-workflow-step__dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--adm-border-subtle, var(--bs-border-color));
}

.inv-count-workflow-step.is-done {
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  background: color-mix(in srgb, var(--bs-success, #198754) 10%, #fff);
}

.inv-count-workflow-step.is-done .inv-count-workflow-step__dot {
  background: var(--bs-success, #198754);
}

.inv-count-workflow-step.is-current {
  font-weight: 600;
  color: var(--adm-brand-600, var(--bs-primary));
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 10%, #fff);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 25%, transparent);
}

.inv-count-workflow-step.is-current .inv-count-workflow-step__dot {
  background: var(--adm-brand-600, var(--bs-primary));
}

.inv-count-detail-stats.inv-overview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

@media (max-width: 767.98px) {
  .inv-count-detail-stats.inv-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.inv-count-detail-stats .inv-overview-card {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
}

.inv-count-detail-stats .inv-overview-card__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
}

.inv-count-detail-stats .inv-overview-card__title {
  margin: 0 0 0.35rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-count-detail-stats .inv-overview-card__stat {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--adm-brand-600, var(--bs-primary));
}

.inv-count-detail-stats .inv-overview-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 10%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.inv-count-stat-card--warn .inv-overview-card__stat,
.inv-count-stat-card--warn .inv-overview-card__icon {
  color: var(--bs-warning, #ffc107);
}

.inv-count-stat-card--warn .inv-overview-card__icon {
  background: color-mix(in srgb, var(--bs-warning, #ffc107) 14%, #fff);
}

.inv-count-lines-hint {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: color-mix(in srgb, var(--bs-info, #17332e) 5%, #fff);
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-count-lines-hint .bi {
  color: var(--bs-info, #17332e);
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.inv-count-lines-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 0.65rem 1rem;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.inv-count-lines-search {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1 1 16rem;
  max-width: 22rem;
  margin: 0;
}

.inv-count-lines-search .bi {
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-count-lines-search input {
  flex: 1 1 auto;
}

.inv-counts-panel--lines .table thead th {
  background: #fff;
  font-size: 0.8125rem;
  font-weight: 600;
  padding: 0.75rem 1rem;
  white-space: nowrap;
}

.inv-counts-panel--lines .table tbody td {
  padding: 0.75rem 1rem;
  vertical-align: middle;
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
}

.inv-counts-panel--lines .table tbody tr:hover td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
}

.inv-count-line-row--variance td {
  background: color-mix(in srgb, var(--bs-warning, #ffc107) 6%, #fff) !important;
}

.inv-count-line-row[data-inv-line-hidden="1"] {
  display: none !important;
}

.inv-count-line-product {
  min-width: 0;
}

.inv-count-line-product .inv-entity-cell__body {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.inv-entity-avatar--product {
  background: linear-gradient(135deg, #17322d, #173630) !important;
  color: #fff !important;
}

.inv-count-line-product__name {
  font-weight: 600;
  font-size: 0.8125rem;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.inv-count-qty-input {
  font-variant-numeric: tabular-nums;
}

.inv-count-qty-readonly {
  font-variant-numeric: tabular-nums;
}

.inv-count-variance-badge {
  font-variant-numeric: tabular-nums;
  min-width: 3.5rem;
}

.inv-count-lines-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.85rem 1rem;
  border-top: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: #fff;
}

.inv-count-lines-footer.is-stuck {
  position: sticky;
  bottom: 0;
  z-index: 12;
  box-shadow: 0 -4px 16px rgba(7, 10, 9, 0.08);
}

/* â”€â”€ Inventory count detail wizard â”€â”€ */

.inv-count-compact-header__main {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
}

.inv-count-compact-header__meta {
  margin-top: 0.25rem;
}

.inv-count-wizard-panel .inventory-panel__body--padded {
  padding: 1rem 1.15rem;
}

.inv-count-wizard-head__main {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  margin-bottom: 0.85rem;
}

.inv-count-wizard-eyebrow {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-count-wizard-next-label {
  font-size: 1.05rem;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.inv-count-wizard-context {
  font-size: 0.8125rem;
}

.inv-count-wizard-trail {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.25rem;
}

.inv-count-wizard-trail__sep {
  width: 1.25rem;
  height: 1px;
  background: var(--adm-border-subtle, var(--bs-border-color));
  flex-shrink: 0;
}

.inv-count-wizard-step {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.65rem;
  border-radius: var(--sys-radius);
  font-size: 0.75rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: #fff;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-count-wizard-step__order {
  display: none;
}

.inv-count-wizard-step__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 50%;
  font-size: 0.8rem;
  background: color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 40%, #fff);
}

.inv-count-wizard-step__label {
  font-weight: 500;
  white-space: nowrap;
}

.inv-count-wizard-step--current {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 35%, transparent);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
  font-weight: 600;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, transparent);
}

.inv-count-wizard-step--current .inv-count-wizard-step__icon {
  background: var(--adm-brand-600, var(--bs-primary));
  color: #fff;
}

.inv-count-wizard-step--completed {
  border-color: color-mix(in srgb, var(--bs-success, #198754) 25%, transparent);
  background: color-mix(in srgb, var(--bs-success, #198754) 8%, #fff);
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.inv-count-wizard-step--completed .inv-count-wizard-step__icon {
  background: var(--bs-success, #198754);
  color: #fff;
}

.inv-count-wizard-step--pending {
  opacity: 0.72;
}

.inv-count-start-panel {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
}

.inv-count-start-facts dt {
  font-weight: 600;
}

.inv-count-step-intro {
  padding: 0 0.15rem;
}

.inv-count-wizard-step-footer .inventory-panel__body {
  border-top: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.inv-count-detail--count .inv-count-wizard-panels,
.inv-count-detail--count .inventory-counts-detail-page>.inv-counts-panel--lines {
  flex: 1 1 auto;
}

/* Lines table â€” fixed columns for RTL alignment */

.inv-count-lines-table {
  table-layout: fixed;
  width: 100%;
}

.inv-count-lines-table .inv-count-col-product {
  width: 28%;
}

.inv-count-lines-table .inv-count-col-num {
  width: 11%;
}

.inv-count-lines-table .inv-count-col-variance {
  width: 10%;
}

.inv-count-lines-table .inv-count-col-notes {
  width: 24%;
}

.inv-count-lines-table .inv-count-col-actions {
  width: 4.5rem;
}

/* Lines table â€” row actions menu above sticky footer and table clip */
.inv-counts-panel--lines:has(.dropdown-menu.show),
.inv-counts-panel--lines:has(tr.inventory-row-actions-open),
.inv-counts-panel--lines .inventory-panel__body:has(.dropdown-menu.show),
.inv-counts-panel--lines .inventory-panel__body:has(tr.inventory-row-actions-open),
.inv-counts-panel--lines .table-responsive:has(.dropdown-menu.show),
.inv-counts-panel--lines .inv-count-lines-form:has(.dropdown-menu.show),
.inventory-counts-detail-page:has(.inv-counts-panel--lines .dropdown-menu.show),
.inventory-counts-detail-page:has(.inv-counts-panel--lines tr.inventory-row-actions-open),
.inv-count-wizard-panels:has(.dropdown-menu.show),
.inv-count-wizard-panels:has(tr.inventory-row-actions-open) {
  overflow: visible !important;
}

.inv-counts-panel--lines:has(.dropdown-menu.show),
.inv-counts-panel--lines:has(tr.inventory-row-actions-open),
.inventory-counts-detail-page:has(.inv-counts-panel--lines .dropdown-menu.show) {
  position: relative;
  z-index: 40;
}

.inv-counts-panel--lines tr.inventory-row-actions-open {
  position: relative;
  z-index: 50;
}

.inv-counts-panel--lines tr.inventory-row-actions-open>td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 5%, #fff) !important;
}

.inv-counts-panel--lines tr.inventory-row-actions-open>td.inv-count-line-actions-cell,
.inv-counts-panel--lines tr.inventory-row-actions-open>td:last-child {
  overflow: visible !important;
  position: relative;
  z-index: 51;
}

.inv-counts-panel--lines .inventory-row-actions-dd {
  position: relative;
  z-index: 6;
}

.inv-counts-panel--lines .inventory-row-actions-dd:has(.dropdown-menu.show) {
  z-index: 52;
}

.inv-counts-panel--lines .inventory-row-actions-dd .dropdown-menu.show,
.inv-counts-panel--lines .inventory-row-actions-dd .inventory-row-actions-dd__menu.show {
  z-index: 2100 !important;
  isolation: isolate;
  box-shadow: 0 14px 36px rgba(7, 10, 9, 0.16);
}

.inv-counts-panel--lines .table-responsive.inventory-overflow-visible:has(.dropdown-menu.show) {
  overflow: visible !important;
  z-index: 35;
}

.inv-count-line-actions-cell {
  overflow: visible !important;
  position: relative;
  z-index: 1;
}

.inv-counts-panel--lines .inventory-row-actions-dd__menu .dropdown-item {
  position: relative;
  z-index: 0;
}

.inv-count-line-action-item[data-inv-count-line-states-hidden="1"] {
  display: none !important;
}

.inv-count-line-row--pending .inv-count-line-state-badge {
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-count-line-row--matched .inv-count-line-state-badge {
  color: var(--bs-success, #198754);
}

.inv-count-line-row--surplus .inv-count-line-state-badge,
.inv-count-line-row--shortage .inv-count-line-state-badge {
  color: var(--bs-warning, #b45309);
}

.inv-count-line-row.inv-count-line-row--flash {
  animation: inv-count-line-flash 0.85s ease;
}

@keyframes inv-count-line-flash {

  0%,
  100% {
    background: transparent;
  }

  35% {
    background: color-mix(in srgb, var(--bs-warning, #ffc107) 18%, #fff);
  }
}

.inv-count-lines-table thead th,
.inv-count-lines-table tbody td.inv-count-line-num {
  text-align: end;
}

.inv-count-lines-table thead th:first-child,
.inv-count-lines-table tbody td.inv-count-line-product-cell {
  text-align: start;
}

.inv-count-lines-table tbody td.inv-count-line-notes {
  text-align: start;
}

.inv-count-line-product {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.65rem;
}

.inv-count-line-product .inv-entity-cell__body {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 0.35rem;
  row-gap: 0.05rem;
  align-items: baseline;
}

.inv-count-line-product .inventory-code {
  grid-column: 1;
  grid-row: 1;
}

.inv-count-line-product__name {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inv-count-line-product .text-muted.small {
  grid-column: 1 / -1;
  grid-row: 2;
}

.inv-count-line-qty {
  vertical-align: middle;
}

.inv-count-line-qty .inv-count-qty-input {
  display: block;
  width: 100%;
  max-width: 6.5rem;
  margin-inline: auto 0;
  margin-inline-start: auto;
  margin-inline-end: 0;
}

.inv-count-variance-cell .inv-count-variance-badge {
  display: inline-block;
  text-align: center;
}

@media (max-width: 767.98px) {
  .inv-count-wizard-step__label {
    display: none;
  }

  .inv-count-wizard-step--current .inv-count-wizard-step__label {
    display: inline;
  }

  .inv-count-wizard-step__order {
    display: inline;
    font-weight: 700;
    font-size: 0.7rem;
  }
}

/* â”€â”€ Cycle Hub â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Inventory â€” Cycle hub (receipt-to-issue operational cycle) */

:root {
  --inv-cycle-radius: 0.20rem;
  --inv-cycle-gap: 1rem;
  --inv-cycle-group-gap: 1.5rem;
  --inv-cycle-pad-block: 1rem;
  --inv-cycle-pad-inline: 1.15rem;
}

.inv-cycle-page {
  display: flex;
  flex-direction: column;
  gap: var(--inv-cycle-group-gap);
  padding-bottom: 1.25rem;
}

.inv-cycle-page>.inventory-page-header,
.inv-cycle-page>.page-header {
  margin-bottom: 0;
}

.inv-cycle-group {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.inv-cycle-group--queue {
  gap: 0;
}

.inv-cycle-group__head {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 0;
  padding: 0 0.1rem;
}

.inv-cycle-group__accent {
  flex: 0 0 4px;
  width: 4px;
  min-height: 1.35rem;
  align-self: stretch;
  border-radius: var(--inv-cycle-radius);
  background: linear-gradient(180deg,
      var(--adm-brand-600, var(--bs-primary)),
      color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 72%, #121f1d));
}

.inv-cycle-group__text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.inv-cycle-group__title {
  margin: 0;
  font-size: 1.0625rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.35;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.inv-cycle-group__desc {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  max-width: 52rem;
}

/* Overview stat cards */
.inv-overview {
  display: grid;
  gap: var(--inv-cycle-gap);
  align-items: stretch;
}

.inv-overview>a.inv-overview-card,
.inv-overview>article.inv-overview-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

.inv-overview-card {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inv-cycle-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  overflow: hidden;
}

.inv-overview-card__body {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
  min-height: 4.75rem;
}

.inv-overview-card__title {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.inv-overview-card__stat {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
  font-variant-numeric: tabular-nums;
}

.inv-overview-card__meta {
  margin: 0.25rem 0 0;
  font-size: 0.78rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  font-variant-numeric: tabular-nums;
}

.inv-overview-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--inv-cycle-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.15rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.inv-overview-card--active .inv-overview-card__icon {
  background: color-mix(in srgb, var(--bs-success, #00d27a) 14%, #fff);
  color: var(--bs-success, #00d27a);
}

.inv-overview-card--active .inv-overview-card__stat {
  color: var(--bs-success, #00d27a);
}

.inv-cycle-stat-card {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.inv-cycle-stat-card:hover,
.inv-cycle-stat-card:focus-visible {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 32%, var(--adm-border-subtle, var(--bs-border-color)));
  box-shadow: 0 4px 16px rgba(7, 10, 9, 0.07);
  transform: translateY(-1px);
  color: inherit;
}

.inv-cycle-stat-card:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 45%, transparent);
  outline-offset: 2px;
}

.inv-cycle-stat-card__icon--primary {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.inv-cycle-stat-card__icon--success {
  background: color-mix(in srgb, var(--bs-success, #00d27a) 14%, #fff);
  color: var(--bs-success, #00d27a);
}

.inv-cycle-stat-card__icon--warning {
  background: color-mix(in srgb, #f59e0b 14%, #fff);
  color: #d97706;
}

.inv-cycle-stat-card__icon--danger {
  background: color-mix(in srgb, var(--bs-danger, #dc3545) 12%, #fff);
  color: var(--bs-danger, #dc3545);
}

.inv-cycle-stat-card__icon--info {
  background: color-mix(in srgb, #17322d 14%, #fff);
  color: var(--adm-brand-600, #112a25);
}

.inv-cycle-stat-card__icon--brand {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 14%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.inv-overview--cycle {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.inv-overview--cycle-compliance {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.inv-overview--cycle-compact {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Panels inside cycle page */
.dashboard-wrapper .inventory-module-page .inv-cycle-page .inventory-panel.inv-cycle-panel,
.dashboard-wrapper .inventory-module-page .inv-cycle-page section.inventory-panel.inv-cycle-panel {
  border-radius: var(--inv-cycle-radius) !important;
  margin-bottom: 0 !important;
}

.inv-cycle-page .inventory-panel.inv-cycle-panel>.inventory-panel__head,
.inv-cycle-page .inventory-panel.inv-cycle-panel>.inventory-panel__body--padded,
.inv-cycle-page .inventory-panel.inv-cycle-panel>.inventory-panel__body--flush {
  padding: var(--inv-cycle-pad-block) var(--inv-cycle-pad-inline) !important;
}

.inv-cycle-page .inventory-panel.inv-cycle-panel>.inventory-panel__head {
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: linear-gradient(180deg,
      color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 5%, #fff) 0%,
      #fff 100%);
}

.inv-cycle-page .inv-cycle-filter-form .form-label {
  margin-bottom: 0.35rem;
}

.inv-cycle-page .inv-cycle-filter-form .btn {
  min-width: 5.5rem;
}

.inv-cycle-page .operational-cycle-step,
.inv-cycle-page .operational-cycle-pipeline__link {
  border-radius: var(--inv-cycle-radius);
}

.inv-cycle-page .operational-cycle-step__icon {
  border-radius: var(--inv-cycle-radius);
}

.inv-cycle-page .operational-cycle-pipeline {
  padding: 0.1rem 0 0.25rem;
}

.inv-cycle-page .inv-cycle-next-action {
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.inv-cycle-page .inv-cycle-next-action--urgent {
  color: var(--bs-danger, #dc3545);
}

@media (max-width: 991.98px) {

  .inv-overview--cycle,
  .inv-overview--cycle-compliance,
  .inv-overview--cycle-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {

  .inv-overview--cycle,
  .inv-overview--cycle-compliance,
  .inv-overview--cycle-compact {
    grid-template-columns: minmax(0, 1fr);
  }

  .inv-cycle-page .inventory-panel.inv-cycle-panel>.inventory-panel__head,
  .inv-cycle-page .inventory-panel.inv-cycle-panel>.inventory-panel__body--padded,
  .inv-cycle-page .inventory-panel.inv-cycle-panel>.inventory-panel__body--flush {
    padding-inline: 1rem !important;
  }
}

/* â”€â”€ Dead Stock â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Inventory â€” Dead stock report */

.inventory-deadstock-list-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.inventory-deadstock-list-page>.inventory-page-header,
.inventory-deadstock-list-page>.inv-overview,
.inventory-deadstock-list-page>.inventory-panel {
  margin-bottom: 0 !important;
}

.inv-deadstock-stats.inv-overview {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 991.98px) {
  .inv-deadstock-stats.inv-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .inv-deadstock-stats.inv-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.inv-deadstock-context {
  border-radius: var(--inventory-card-radius, 0.2rem);
}

.inv-deadstock-stat--qty .inv-overview-card__stat {
  color: var(--adm-brand-700, var(--bs-primary));
}

.inv-entity-avatar--deadstock {
  background: color-mix(in srgb, var(--bs-secondary) 14%, #fff);
  color: var(--bs-secondary);
  border: 1px solid color-mix(in srgb, var(--bs-secondary) 28%, transparent);
}

.inv-deadstock-qty-badge {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  min-width: 3.5rem;
}

.inv-deadstock-warehouse-cell .inv-deadstock-warehouse-name {
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.inv-deadstock-status-chips .inv-deadstock-chip.is-active {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 45%, transparent);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 10%, #fff);
  color: var(--adm-brand-700, var(--bs-primary));
  font-weight: 600;
}

.inv-deadstock-status-chips .inv-deadstock-chip.inv-deadstock-chip--never.is-active {
  border-color: color-mix(in srgb, var(--bs-danger) 50%, transparent);
  background: color-mix(in srgb, var(--bs-danger) 10%, #fff);
  color: var(--bs-danger);
}

.dashboard-wrapper .inventory-module-page .inventory-panel.inv-deadstock-panel {
  border-radius: var(--inventory-card-radius, 0.20rem) !important;
}

.inventory-panel.inv-deadstock-panel[data-inventory-table] .table thead th {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  padding: 0.75rem 1rem;
  white-space: nowrap;
}

.inventory-panel.inv-deadstock-panel[data-inventory-table] .table tbody tr,
.inventory-panel.inv-deadstock-panel[data-inventory-table] .table tbody tr:nth-child(even):not(.inventory-empty-state-row) {
  background: #fff;
}

.inventory-panel.inv-deadstock-panel[data-inventory-table] .table tbody td {
  background: #fff;
  padding: 0.65rem 1rem;
  vertical-align: middle;
}

.inventory-panel.inv-deadstock-panel[data-inventory-table] .table tbody tr.inv-deadstock-row--never td {
  background: color-mix(in srgb, var(--bs-danger) 3%, #fff);
}

.inv-deadstock-panel--empty .inventory-panel__body--flush {
  min-height: 12rem;
}

.inv-deadstock-empty-actions {
  margin-top: -0.5rem;
}

.inv-deadstock-panel--empty .inventory-empty-state {
  padding: 2rem 1.5rem 1rem;
}

.inv-deadstock-table-footer {
  border-top: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  background: var(--adm-surface-muted, #f8f9fa);
}

.inv-deadstock-total-pill {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}

.inv-deadstock-days-chips .btn.is-active {
  font-weight: 600;
}

/* â”€â”€ Hub â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Inventory hub â€” compliance KPI strip */
.inventory-exec-kpi {
  border-radius: 0.5rem;
  border: 1px solid var(--adm-border-subtle);
  background: var(--adm-bg-surface);
  padding: 1rem 1.1rem;
  height: 100%;
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.inventory-exec-kpi::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: 0.5rem 0 0 0.5rem;
}

.inventory-exec-kpi--warning::before {
  background: #f59e0b;
}

.inventory-exec-kpi--danger::before {
  background: #dc3545;
}

.inventory-exec-kpi--info::before {
  background: #173630;
}

.inventory-exec-kpi--success::before {
  background: #198754;
}

.inventory-exec-kpi__label {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--adm-text-muted-ui);
  margin-bottom: 0.35rem;
}

.inventory-exec-kpi__value {
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  color: var(--adm-text-strong);
}

.inventory-exec-kpi__meta {
  font-size: 0.8rem;
  color: var(--adm-text-muted-ui);
  margin-top: 0.35rem;
}

/* â”€â”€ Price Lists â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Inventory أ¢â‚¬â€‌ Product pricelists forms (Sales / Settings reference standard) */

.inventory-pricelists-form-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.inventory-pricelists-detail-page {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
  padding-bottom: 1.5rem;
}

.inventory-pricelists-detail-page>.inventory-page-header,
.inventory-pricelists-detail-page>.inventory-detail-hero,
.inventory-pricelists-detail-page>.inventory-panel {
  margin-bottom: 0 !important;
}

.inventory-pricelists-form .inventory-inv-form-panel__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  margin: 0;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
}

.inventory-pricelists-form .inventory-inv-form-panel__head .inventory-panel__accent {
  display: none;
}

.inventory-pricelists-form .inventory-inv-form-panel__head .inventory-panel__head-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  margin: 0;
  padding: 0;
}

.inventory-pricelists-form .inventory-inv-form-panel__head .inventory-panel__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
}

.inventory-pricelists-form .inventory-inv-form-panel__head .inventory-panel__subtitle {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
}

.inventory-pricelists-form .inventory-inv-form-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  flex-shrink: 0;
  font-size: 1.05rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.inventory-pricelists-form .inventory-form-group {
  margin-bottom: 0;
}

.inventory-pricelists-form .inventory-code-field .form-control[readonly] {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
  font-weight: 600;
  letter-spacing: 0.02em;
}

.inventory-pricelists-form .inventory-status-toggle {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.inventory-pricelists-form .inventory-status-toggle .form-check-input {
  width: 2.5rem;
  height: 1.35rem;
  margin: 0;
}

.inventory-pricelists-form .inventory-status-toggle__text {
  flex: 1 1 auto;
  min-width: 0;
}

.inventory-pricelists-form .inventory-status-toggle__label {
  margin: 0;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.inventory-pricelists-form .inventory-status-toggle__hint {
  margin: 0.15rem 0 0;
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

[dir="rtl"] .inventory-form-page-header .inventory-back-icon {
  transform: scaleX(-1);
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ pricelists list (Sales customers table standard) أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.dashboard-wrapper .inventory-module-page .inventory-panel.inv-pricelists-panel {
  border-radius: var(--inventory-card-radius, 0.20rem) !important;
}

.inv-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.inv-overview>a.inv-overview-card,
.inv-overview>article.inv-overview-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

@media (max-width: 575.98px) {
  .inv-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.inv-overview-card {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  overflow: hidden;
}

.inv-overview-card__body {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
  min-height: 4.75rem;
}

.inv-overview-card__title {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.inv-overview-card__stat {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
  font-variant-numeric: tabular-nums;
}

.inv-overview-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.15rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.inv-overview-card--active .inv-overview-card__icon {
  background: color-mix(in srgb, var(--bs-success, #00d27a) 14%, #fff);
  color: var(--bs-success, #00d27a);
}

.inv-overview-card--active .inv-overview-card__stat {
  color: var(--bs-success, #00d27a);
}

.inv-entity-cell {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.inv-entity-avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  overflow: hidden;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #17322d, #173630);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.inv-entity-cell__name {
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.inventory-module-page .inventory-code {
  padding: 0.15rem 0.4rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, #fff);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  font-size: 0.8125rem;
}

/* White rows أ¢â‚¬â€‌ override inventory-data-table zebra when not used */
.inventory-panel.inv-pricelists-panel[data-inventory-table] .table thead th {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: normal;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  padding: 0.75rem 1rem;
  white-space: nowrap;
}

.inventory-panel.inv-pricelists-panel[data-inventory-table] .table tbody tr,
.inventory-panel.inv-pricelists-panel[data-inventory-table] .table tbody tr:nth-child(even):not(.inventory-empty-state-row) {
  background: #fff;
}

.inventory-panel.inv-pricelists-panel[data-inventory-table] .table tbody td {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  padding: 0.75rem 1rem;
  vertical-align: middle;
}

.inventory-panel.inv-pricelists-panel[data-inventory-table] .table tbody tr:hover,
.inventory-panel.inv-pricelists-panel[data-inventory-table] .table tbody tr:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.inventory-panel.inv-pricelists-panel[data-inventory-table] .table tbody tr:hover td,
.inventory-panel.inv-pricelists-panel[data-inventory-table] .table tbody tr:focus-visible td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.inventory-panel.inv-pricelists-panel[data-inventory-table]:has(.dropdown-menu.show),
.inventory-panel.inv-pricelists-panel[data-inventory-table]:has(tr.inventory-row-actions-open),
.inventory-panel.inv-pricelists-panel[data-inventory-table] .inventory-panel__body:has(.dropdown-menu.show),
.inventory-panel.inv-pricelists-panel[data-inventory-table] .inventory-panel__body:has(tr.inventory-row-actions-open),
.inventory-panel.inv-pricelists-panel[data-inventory-table] .table-responsive:has(.dropdown-menu.show) {
  overflow: visible !important;
  position: relative;
  z-index: 40;
}

.inventory-panel.inv-pricelists-panel[data-inventory-table] tr.inventory-row-actions-open {
  position: relative;
  z-index: 45;
}

.inventory-panel.inv-pricelists-panel[data-inventory-table] tr.inventory-row-actions-open>td:last-child {
  overflow: visible;
  position: relative;
  z-index: 46;
}

.inventory-panel.inv-pricelists-panel[data-inventory-table] .inventory-row-actions-dd:has(.dropdown-menu.show) {
  z-index: 47;
}

.inventory-panel.inv-pricelists-panel[data-inventory-table] .inventory-row-actions-dd .dropdown-menu.show {
  z-index: 2000 !important;
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ pricelist detail page أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.inv-entity-avatar--pricelist,
.inv-pricelist-detail-hero .inv-entity-avatar--pricelist {
  background: linear-gradient(135deg, #d97706, #ea580c) !important;
  color: #fff !important;
}

.inv-entity-cell__body {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}

.inv-pricelist-row-meta {
  font-size: 0.6875rem;
}

.inv-pricelist-currency {
  font-weight: 700;
  letter-spacing: 0.04em;
}

.inventory-pricelists-form .inv-pl-currency-select {
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* â”€â”€ Price lines + simulator â€” ERP-style inline grid â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.inventory-pricelists-form .inv-pl-lines-editor__wrap,
.inventory-pricelists-form .inv-pl-simulator-editor__wrap {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  overflow: hidden;
  background: #fff;
}

.inventory-pricelists-form .inv-pl-lines-editor__table,
.inventory-pricelists-form .inv-pl-simulator-editor__table {
  table-layout: fixed;
  width: 100%;
  margin-bottom: 0;
  background: #fff;
}

.inventory-pricelists-form .inv-pl-simulator-editor__table col.inv-pl-col--sim-date {
  width: 8.5rem;
}

.inventory-pricelists-form .inv-pl-simulator-editor__table col.inv-pl-col--sim-actions {
  width: 8.5rem;
}

.inventory-pricelists-form .inv-pl-lines-editor__table col.inv-pl-col--num {
  width: 2.35rem;
}

.inventory-pricelists-form .inv-pl-lines-editor__table col.inv-pl-col--product {
  width: auto;
}

.inventory-pricelists-form .inv-pl-lines-editor__table col.inv-pl-col--uom {
  width: 4.5rem;
}

.inventory-pricelists-form .inv-pl-lines-editor__table col.inv-pl-col--qty-from,
.inventory-pricelists-form .inv-pl-lines-editor__table col.inv-pl-col--qty-to {
  width: 5.25rem;
}

.inventory-pricelists-form .inv-pl-lines-editor__table col.inv-pl-col--price {
  width: 6.25rem;
}

.inventory-pricelists-form .inv-pl-lines-editor__table col.inv-pl-col--active {
  width: 3.25rem;
}

.inventory-pricelists-form .inv-pl-lines-editor__table col.inv-pl-col--actions {
  width: 2.5rem;
}

.inventory-pricelists-form .inv-pl-lines-editor__table thead th,
.inventory-pricelists-form .inv-pl-simulator-editor__table thead th {
  padding: 0.55rem 0.5rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  background: var(--adm-bg-subtle, #f8fafc);
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.inventory-pricelists-form .inv-pl-lines-editor__table tbody td,
.inventory-pricelists-form .inv-pl-simulator-editor__table tbody td {
  padding: 0;
  vertical-align: middle;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 65%, transparent);
}

.inventory-pricelists-form .inv-pl-lines-editor__table tbody tr:last-child td,
.inventory-pricelists-form .inv-pl-simulator-editor__table tbody tr:last-child td {
  border-bottom: 0;
}

.inventory-pricelists-form .inv-pl-lines-editor__table tbody tr:hover td,
.inventory-pricelists-form .inv-pl-simulator-editor__table tbody tr:hover td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 2.5%, #fff);
}

.inventory-pricelists-form .inv-pl-lines-editor__table tbody tr:focus-within td,
.inventory-pricelists-form .inv-pl-simulator-editor__table tbody tr:focus-within td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
}

.inventory-pricelists-form .inv-pl-lines-editor__table .inv-pl-line-cell--num {
  text-align: center;
}

.inventory-pricelists-form .inv-pl-lines-editor__table .inv-pl-line-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--bs-secondary-color);
}

.inventory-pricelists-form .inv-pl-lines-editor__table .inv-pl-line-field,
.inventory-pricelists-form .inv-pl-simulator-editor__table .inv-pl-line-field {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0.5rem 0.55rem;
  font-size: 0.8125rem;
  min-height: 2.15rem;
}

.inventory-pricelists-form .inv-pl-lines-editor__table .inv-pl-line-field:focus,
.inventory-pricelists-form .inv-pl-simulator-editor__table .inv-pl-line-field:focus {
  background: #fff;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 35%, transparent);
}

.inventory-pricelists-form .inv-pl-lines-editor__table .inv-pl-line-cell--product .inv-pl-line-field,
.inventory-pricelists-form .inv-pl-simulator-editor__table .inv-pl-line-cell--product .inv-pl-line-field {
  padding-inline: 0.65rem;
}

.inventory-pricelists-form .inv-pl-simulator-editor__table .inv-pl-line-cell--sim-actions {
  padding: 0.35rem 0.5rem;
  vertical-align: middle;
}

.inventory-pricelists-form .inv-pl-simulator-resolve {
  white-space: nowrap;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.35rem 0.65rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
}

.inventory-pricelists-form .inv-pl-simulator-result {
  padding: 0.65rem 0.85rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: var(--adm-bg-subtle, #f8fafc);
}

.inventory-pricelists-form .inv-pl-simulator-result.text-success {
  border-color: color-mix(in srgb, var(--bs-success) 35%, transparent);
  background: color-mix(in srgb, var(--bs-success) 6%, #fff);
}

.inventory-pricelists-form .inv-pl-simulator-result.text-danger {
  border-color: color-mix(in srgb, var(--bs-danger) 35%, transparent);
  background: color-mix(in srgb, var(--bs-danger) 6%, #fff);
}

.inventory-pricelists-form .inv-pl-lines-editor__table .inv-pl-line-cell--active .form-check-input {
  margin: 0;
}

.inventory-pricelists-form .inv-pl-lines-editor__table .inv-pl-line-cell--actions {
  text-align: center;
}

.inventory-pricelists-form .inv-pl-lines-editor__table .inv-pl-line-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  padding: 0;
  border: 0;
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: transparent;
  color: var(--bs-secondary-color);
  line-height: 1;
  transition: background 0.15s ease, color 0.15s ease;
}

.inventory-pricelists-form .inv-pl-lines-editor__table .inv-pl-line-remove .bi {
  font-size: 0.9rem;
}

.inventory-pricelists-form .inv-pl-lines-editor__table .inv-pl-line-remove:hover,
.inventory-pricelists-form .inv-pl-lines-editor__table .inv-pl-line-remove:focus-visible {
  background: color-mix(in srgb, var(--bs-danger) 10%, #fff);
  color: var(--bs-danger);
}

@media (max-width: 767.98px) {
  .inventory-pricelists-form .inv-pl-lines-editor__wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .inventory-pricelists-form .inv-pl-lines-editor__table {
    min-width: 44rem;
  }
}

html[data-theme="dark"] .inventory-pricelists-form .inv-pl-lines-editor__wrap,
html[data-theme="dark"] .inventory-pricelists-form .inv-pl-lines-editor__table,
html[data-theme="dark"] .inventory-pricelists-form .inv-pl-simulator-editor__wrap,
html[data-theme="dark"] .inventory-pricelists-form .inv-pl-simulator-editor__table {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}

.inv-pricelist-detail-parent {
  font-size: 0.875rem;
}

.inv-pricelist-detail-parent a {
  font-weight: 600;
  text-decoration: none;
}

.inv-pricelist-detail-parent a:hover {
  text-decoration: underline;
}

.inv-pricelist-detail-stats.inv-overview {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 575.98px) {
  .inv-pricelist-detail-stats.inv-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.inv-pricelist-stat-card {
  text-decoration: none;
  color: inherit;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.inv-pricelist-stat-card:not(.inv-pricelist-stat-card--empty):hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(7, 10, 9, 0.08);
}

.inv-pricelist-stat-card--empty {
  opacity: 0.72;
  pointer-events: none;
  cursor: default;
}

.inv-pricelist-stat-card--empty .inv-overview-card__stat {
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-pricelist-stat-card__sub {
  margin-top: 0.15rem;
}

.inv-pricelist-detail-meta {
  display: grid;
  gap: 0.85rem;
}

.inv-pricelist-detail-meta__item {
  display: grid;
  grid-template-columns: minmax(6.5rem, 9rem) minmax(0, 1fr);
  gap: 0.5rem 1rem;
  align-items: start;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.inv-pricelist-detail-meta__item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.inv-pricelist-detail-meta__label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-pricelist-detail-meta__value {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  word-break: break-word;
}

.inv-pricelist-detail-usage-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}

@media (max-width: 575.98px) {
  .inv-pricelist-detail-usage-grid {
    grid-template-columns: 1fr;
  }

  .inv-pricelist-detail-meta__item {
    grid-template-columns: 1fr;
  }
}

.inv-pricelist-detail-usage-tile {
  text-align: center;
  padding: 0.85rem 0.65rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
}

.inv-pricelist-detail-usage-tile__value {
  display: block;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
  font-variant-numeric: tabular-nums;
}

.inv-pricelist-detail-usage-tile__label {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-pricelist-detail-usage-tile__meta {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.6875rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}


/* â”€â”€ Products â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Product create/edit â€” image dropzone and barcode rows (Inventory module) */
.product-form .product-image-wrap {
  position: relative;
  width: 100%;
  max-width: 280px;
}

.product-form .product-image-preview {
  width: 100%;
  max-height: 200px;
  object-fit: contain;
  border-radius: 0.20rem;
  background: var(--bs-tertiary-bg, #f8f9fa);
}

.product-form .product-image-drop {
  border: 2px dashed var(--bs-border-color, #dee2e6);
  border-radius: 0.20rem;
  padding: 1.25rem;
  text-align: center;
  cursor: pointer;
  background: var(--bs-body-bg, #fff);
  transition: border-color 0.15s ease, background 0.15s ease;
}

.product-form .product-image-drop:hover {
  border-color: var(--bs-primary, #173630);
  background: var(--bs-tertiary-bg, #f8f9fa);
}

.product-form .product-image-drop.is-dragover {
  border-color: var(--bs-primary, #173630);
  background: color-mix(in srgb, var(--bs-primary, #173630) 8%, transparent);
}

.product-form .product-image-actions {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.product-form .barcode-row .barcode-remove {
  width: 2rem;
  height: 2rem;
  padding: 0;
  line-height: 1;
}

.product-barcode-panel__symbology {
  min-width: 12rem;
  max-width: 100%;
}

.product-barcode-rows {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.product-barcode-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.5rem;
}

.product-barcode-row__badge {
  flex: 0 0 auto;
  margin-top: 0.45rem;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.product-barcode-row__field {
  flex: 1 1 12rem;
  min-width: 0;
}

.product-barcode-row__status {
  display: block;
  font-size: 0.75rem;
  margin-top: 0.25rem;
}

.product-barcode-row__status.is-valid {
  color: var(--bs-success, #198754);
}

.product-barcode-row__status.is-invalid {
  color: var(--bs-danger, #dc3545);
}

.product-barcode-preview {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
}

.product-barcode-preview__label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.product-barcode-preview__value {
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--adm-text-strong, inherit);
  background: transparent;
}

.product-barcode-preview__status {
  font-size: 0.75rem;
}

.product-barcode-preview__status.is-valid {
  color: var(--bs-success, #198754);
}

.product-barcode-preview__status.is-invalid {
  color: var(--bs-danger, #dc3545);
}

.inventory-module-page .product-form .section-title {
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 0 0 0.75rem;
  color: var(--adm-text-strong, var(--bs-emphasis-color, inherit));
}

.inventory-module-page .product-form hr.section-hr {
  margin: 1.25rem 0;
  border: 0;
  border-top: 1px solid var(--adm-border-subtle, rgba(0, 0, 0, 0.08));
  opacity: 1;
}

.product-form .uom-multi-box {
  background: var(--bs-tertiary-bg, #f8f9fa);
}

.product-form .uom-conversion-row .input-group-text.uom-fixed {
  min-width: 2.25rem;
  justify-content: center;
}

.product-form .uom-conversion-row .input-group-text.uom-eq {
  min-width: 2rem;
  justify-content: center;
}

.product-form .uom-help {
  display: inline-flex;
  align-items: center;
  color: var(--bs-secondary-color, #6c757d);
  cursor: help;
}

.inventory-product-detail-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.inventory-product-detail-page>.inventory-page-header,
.inventory-product-detail-page>.inventory-panel {
  margin-bottom: 0 !important;
}

/* â”€â”€ Product detail hero (centered media) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.inv-product-detail-hero .inventory-panel__body--padded {
  padding-top: 1.25rem;
  padding-bottom: 1.35rem;
}

.inv-product-detail-hero__layout {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1.25rem;
}

@media (min-width: 768px) {
  .inv-product-detail-hero__layout {
    flex-direction: row;
    align-items: center;
    text-align: start;
    gap: 2rem;
  }
}

.inv-product-detail-hero__media {
  flex: 0 0 auto;
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 14rem;
}

.inv-product-detail-hero__photo {
  width: 100%;
  max-width: 220px;
  height: auto;
  max-height: 220px;
  object-fit: contain;
  border-radius: var(--inventory-card-radius, 0.20rem);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: var(--bs-body-bg, #fff);
  box-shadow: 0 8px 24px rgba(7, 10, 9, 0.08);
}

.inv-product-detail-hero__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 7.5rem;
  height: 7.5rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: linear-gradient(145deg,
      color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, #fff),
      color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 6%, #f8fafc));
  color: var(--adm-brand-600, var(--bs-primary));
  font-weight: 800;
  font-size: 1.75rem;
  letter-spacing: 0.04em;
}

.inv-product-detail-hero__body {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
}

.inv-product-detail-hero__eyebrow {
  margin: 0;
}

.inv-product-detail-hero__title {
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--adm-text-strong, inherit);
}

.inv-product-detail-hero__subtitle {
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  font-size: 1rem;
}

.inv-product-detail-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  width: 100%;
  align-items: stretch;
}

@media (max-width: 575.98px) {
  .inv-product-detail-kpis {
    grid-template-columns: minmax(0, 1fr);
  }
}

.inv-product-detail-kpi {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 4.5rem;
  height: 100%;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.inv-product-detail-kpi__label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  margin-bottom: 0.15rem;
}

.inv-product-detail-kpi__value {
  display: block;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--adm-text-strong, inherit);
  font-variant-numeric: tabular-nums;
}

.inv-product-detail-readiness__bar {
  height: 0.55rem;
  border-radius: var(--sys-radius);
  background: color-mix(in srgb, var(--adm-border-subtle) 40%, #fff);
}

/* â”€â”€ Product detail field grid â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.inv-product-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: stretch;
}

.inv-product-detail-grid>.inv-product-detail-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

.inv-product-detail-grid>.inv-product-detail-card>.inventory-panel__body {
  flex: 1 1 auto;
}

@media (min-width: 992px) {
  .inv-product-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .inv-product-detail-card--wide {
    grid-column: 1 / -1;
  }
}

.inv-product-detail-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

@media (min-width: 576px) {
  .inv-product-detail-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1.25rem;
  }
}

.inv-product-detail-fields__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.15rem 0;
  padding: 0.6rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle) 55%, transparent);
}

.inv-product-detail-fields__item dt {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-product-detail-fields__item dd {
  margin: 0;
  font-size: 0.9375rem;
  color: var(--adm-text-strong, inherit);
  word-break: break-word;
}

.inv-product-detail-fields__emphasis {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.inv-product-detail-barcode-primary {
  padding: 0.85rem 1rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
}

.inv-product-detail-barcode-primary__label {
  display: block;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  margin-bottom: 0.35rem;
}

.inv-product-detail-barcode-primary__value-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.inv-product-detail-barcode-primary__value {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--adm-text-strong, inherit);
  background: transparent;
}

.inv-product-detail-barcode-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.inv-product-detail-barcode-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sys-radius);
  background: var(--bs-body-bg, #fff);
}

.inv-product-detail-barcode-chip code {
  font-size: 0.8125rem;
  font-weight: 600;
  background: transparent;
}

.inv-product-detail-copy.is-copied {
  color: var(--bs-success, #198754);
  border-color: var(--bs-success, #198754);
}

.inv-product-detail-branch-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.inv-product-detail-branch-chip {
  font-weight: 600;
  font-size: 0.8125rem;
}

.inv-product-detail-description.diwan-rich-text--readonly {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--adm-text-strong, inherit);
}

.inv-product-detail-description.diwan-rich-text--readonly img {
  max-width: 100%;
  height: auto;
  border-radius: 0.2rem;
}

/* â”€â”€ Product create/edit (Sales / categories form standard) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.inventory-products-form-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.inventory-products-form .inventory-form-group {
  margin-bottom: 0;
}

.inventory-products-form .inventory-form-group .inventory-panel__head {
  border-radius: var(--inventory-card-radius, 0.20rem) var(--inventory-card-radius, 0.20rem) 0 0;
}

.inventory-products-form .inventory-status-toggle {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.inventory-products-form .inventory-status-toggle .form-check-input {
  width: 2.5rem;
  height: 1.35rem;
  margin: 0;
}

.inventory-products-form .inventory-status-toggle__label {
  margin: 0;
  font-weight: 600;
}

.inventory-products-form .inventory-status-toggle__hint {
  margin: 0.15rem 0 0;
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inventory-products-form .inventory-panel__footer {
  position: sticky;
  bottom: 0;
  z-index: 20;
  margin-top: 0.25rem;
  padding: 0.85rem 1.15rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 -4px 18px rgba(7, 10, 9, 0.06);
}

[dir="rtl"] .inventory-form-page-header .inventory-back-icon {
  transform: scaleX(-1);
}

/* â”€â”€ Products list (Sales customers table standard) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-wrapper .inventory-module-page .inventory-panel.inv-products-panel {
  border-radius: var(--inventory-card-radius, 0.20rem) !important;
}

.inv-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.inv-overview>a.inv-overview-card,
.inv-overview>article.inv-overview-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

@media (max-width: 575.98px) {
  .inv-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.inv-overview-card {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  overflow: hidden;
}

.inv-overview-card__body {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
  min-height: 4.75rem;
}

.inv-overview-card__title {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.inv-overview-card__stat {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
  font-variant-numeric: tabular-nums;
}

.inv-overview-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.15rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.inv-overview-card--active .inv-overview-card__icon {
  background: color-mix(in srgb, var(--bs-success, #00d27a) 14%, #fff);
  color: var(--bs-success, #00d27a);
}

.inv-overview-card--active .inv-overview-card__stat {
  color: var(--bs-success, #00d27a);
}

/* Product form â€” equal-height pricing metric tiles */
.inventory-products-form .inventory-product-section-pricing .row {
  align-items: stretch;
}

.inventory-products-form .inventory-product-section-pricing .inv-pricing-metric {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 6.25rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.inventory-products-form .inventory-product-section-pricing .inv-pricing-metric .form-label {
  min-height: 2.5rem;
  margin-bottom: 0.35rem;
}

.inventory-products-form .inventory-product-section-pricing .inv-pricing-metric .form-control,
.inventory-products-form .inventory-product-section-pricing .inv-pricing-metric .input-group {
  margin-top: auto;
}

.inventory-products-form .inventory-product-section-pricing .inv-pricing-metric .text-danger {
  margin-top: 0.25rem;
}

.inv-entity-cell {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.inv-entity-cell__text {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.inv-entity-avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  overflow: hidden;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #17322d, #173630);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.inv-entity-avatar--photo {
  object-fit: cover;
  background: #fff;
}

.inv-entity-cell__name {
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.inventory-module-page .inventory-code {
  padding: 0.15rem 0.4rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, #fff);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  font-size: 0.8125rem;
}

.inventory-panel.inv-products-panel[data-inventory-table] .table thead th {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  padding: 0.75rem 1rem;
  white-space: nowrap;
}

.inventory-panel.inv-products-panel[data-inventory-table] .table tbody tr,
.inventory-panel.inv-products-panel[data-inventory-table] .table tbody tr:nth-child(even):not(.inventory-empty-state-row) {
  background: #fff;
}

.inventory-panel.inv-products-panel[data-inventory-table] .table tbody td {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  padding: 0.75rem 1rem;
  vertical-align: middle;
}

.inventory-panel.inv-products-panel[data-inventory-table] .table tbody tr:hover,
.inventory-panel.inv-products-panel[data-inventory-table] .table tbody tr:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.inventory-panel.inv-products-panel[data-inventory-table] .table tbody tr:hover td,
.inventory-panel.inv-products-panel[data-inventory-table] .table tbody tr:focus-visible td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.inventory-panel.inv-products-panel[data-inventory-table]:has(.dropdown-menu.show),
.inventory-panel.inv-products-panel[data-inventory-table]:has(tr.inventory-row-actions-open),
.inventory-panel.inv-products-panel[data-inventory-table] .inventory-panel__body:has(.dropdown-menu.show),
.inventory-panel.inv-products-panel[data-inventory-table] .inventory-panel__body:has(tr.inventory-row-actions-open),
.inventory-panel.inv-products-panel[data-inventory-table] .table-responsive:has(.dropdown-menu.show) {
  overflow: visible !important;
  position: relative;
  z-index: 40;
}

.inventory-panel.inv-products-panel[data-inventory-table] tr.inventory-row-actions-open {
  position: relative;
  z-index: 45;
}

.inventory-panel.inv-products-panel[data-inventory-table] tr.inventory-row-actions-open>td:last-child {
  overflow: visible;
  position: relative;
  z-index: 46;
}

.inventory-panel.inv-products-panel[data-inventory-table] .inventory-row-actions-dd:has(.dropdown-menu.show) {
  z-index: 47;
}

.inventory-panel.inv-products-panel[data-inventory-table] .inventory-row-actions-dd .dropdown-menu.show {
  z-index: 2000 !important;
}

/* â”€â”€ Quality Inspections â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Inventory â€” Quality inspections (Price Lists / WMS reference standard) */

.inventory-qi-form-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.inventory-qi-list-page,
.inventory-qi-detail-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.inventory-qi-list-page>.inventory-page-header,
.inventory-qi-detail-page>.inventory-page-header,
.inventory-qi-detail-page>.inventory-detail-hero,
.inventory-qi-detail-page>.inv-overview,
.inventory-qi-detail-page>.inventory-panel {
  margin-bottom: 0 !important;
}

.inv-qi-list-panel .inv-entity-cell {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.75rem;
}

.inv-entity-avatar--qi {
  background: color-mix(in srgb, var(--bs-info) 14%, #fff);
  color: var(--bs-info);
  border: 1px solid color-mix(in srgb, var(--bs-info) 28%, transparent);
}

.inv-qi-row-meta {
  line-height: 1.4;
}

.inv-qi-receipt-link {
  font-weight: 600;
  text-decoration: none;
}

.inv-qi-receipt-link:hover {
  text-decoration: underline;
}

.inv-qi-qty {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 3.5rem;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

.inv-qi-qty--accepted {
  color: var(--bs-success);
}

.inv-qi-qty--rejected {
  color: var(--bs-danger);
}

.inv-qi-qty--quarantine {
  color: var(--bs-warning);
}

.inv-qi-qty--zero {
  color: var(--bs-secondary);
  font-weight: 500;
}

.inv-qi-status-chips .inv-qi-status-chip.is-active {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 45%, transparent);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 10%, #fff);
  color: var(--adm-brand-700, var(--bs-primary));
  font-weight: 600;
}

.inv-qi-detail-hero__row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-start;
  justify-content: space-between;
}

.inv-qi-detail-meta {
  display: grid;
  gap: 0.65rem;
}

.inv-qi-detail-meta__item {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  align-items: baseline;
}

.inv-qi-detail-meta__label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--bs-secondary);
  min-width: 7rem;
}

.inv-qi-detail-meta__value {
  font-weight: 600;
}

.inv-qi-lines-table .form-control-sm {
  min-width: 5.5rem;
}

.inv-qi-detail--cancelled .inv-wms-workflow-step {
  opacity: 0.55;
}

.inv-qi-table-footer {
  border-top: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

/* â”€â”€ Reorder â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Inventory â€” Reorder report (Stock balances / Products list standard) */

.inventory-reorder-list-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.inventory-reorder-list-page>.inventory-page-header,
.inventory-reorder-list-page>.inv-overview,
.inventory-reorder-list-page>.inventory-panel {
  margin-bottom: 0 !important;
}

.inv-reorder-stats.inv-overview {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 991.98px) {
  .inv-reorder-stats.inv-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .inv-reorder-stats.inv-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.inv-entity-avatar--reorder {
  background: color-mix(in srgb, var(--bs-warning) 14%, #fff);
  color: color-mix(in srgb, var(--bs-warning) 85%, #000);
  border: 1px solid color-mix(in srgb, var(--bs-warning) 28%, transparent);
}

.inv-reorder-qty-badge {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  min-width: 3.5rem;
}

.inv-reorder-shortfall-badge {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}

.inv-reorder-warehouse-cell .inv-reorder-warehouse-name {
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.inv-reorder-status-chips .inv-reorder-chip.is-active {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 45%, transparent);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 10%, #fff);
  color: var(--adm-brand-700, var(--bs-primary));
  font-weight: 600;
}

.inv-reorder-purchase-panel .inventory-form-actions {
  border-top: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  padding-top: 1rem;
  margin-top: 0 !important;
}

.dashboard-wrapper .inventory-module-page .inventory-panel.inv-reorder-panel {
  border-radius: var(--inventory-card-radius, 0.20rem) !important;
}

.inventory-panel.inv-reorder-panel[data-inventory-table] .table thead th {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  padding: 0.75rem 1rem;
  white-space: nowrap;
}

.inventory-panel.inv-reorder-panel[data-inventory-table] .table tbody tr,
.inventory-panel.inv-reorder-panel[data-inventory-table] .table tbody tr:nth-child(even):not(.inventory-empty-state-row) {
  background: #fff;
}

.inventory-panel.inv-reorder-panel[data-inventory-table] .table tbody td {
  background: #fff;
  padding: 0.65rem 1rem;
  vertical-align: middle;
}

.inventory-panel.inv-reorder-panel[data-inventory-table] .table tbody tr.inv-reorder-row--critical {
  background: color-mix(in srgb, var(--bs-danger) 4%, #fff);
}

.inventory-panel.inv-reorder-panel[data-inventory-table] .table tbody tr.inv-reorder-row--critical td {
  background: color-mix(in srgb, var(--bs-danger) 4%, #fff);
}

.inv-reorder-order-qty {
  max-width: 7rem;
  margin-inline-start: auto;
}

.inv-reorder-table-footer {
  border-top: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  background: var(--adm-surface-muted, #f8f9fa);
}

.inv-reorder-select-all-cell {
  width: 2.5rem;
}

.inv-reorder-context {
  border-radius: var(--inventory-card-radius, 0.2rem);
}

.inv-reorder-stat--alert .inv-overview-card__stat {
  color: var(--bs-danger);
}

.inv-reorder-stat--alert .inv-overview-card__icon {
  background: color-mix(in srgb, var(--bs-danger) 12%, #fff);
  color: var(--bs-danger);
}

.inv-reorder-panel--empty .inventory-panel__body--flush {
  min-height: 12rem;
}

.inv-reorder-empty-actions {
  margin-top: -0.5rem;
}

.inv-reorder-panel--empty .inventory-empty-state {
  padding: 2rem 1.5rem 1rem;
}

.inv-reorder-status-chips .inv-reorder-chip.btn-outline-danger.is-active {
  border-color: color-mix(in srgb, var(--bs-danger) 50%, transparent);
  background: color-mix(in srgb, var(--bs-danger) 10%, #fff);
  color: var(--bs-danger);
}

/* â”€â”€ Stock Approvals â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Stock approvals queue â€” aligned with stock documents & price lists list UX */

.inventory-stockapprovals-list-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.inventory-stockapprovals-list-page>.inventory-page-header,
.inventory-stockapprovals-list-page>.inventory-panel.inv-stockapprovals-panel--table {
  margin-bottom: 0 !important;
}

.dashboard-wrapper .inventory-module-page .inventory-panel.inv-stockapprovals-panel {
  border-radius: var(--inventory-card-radius, 0.20rem) !important;
}

.inv-stockapprovals-panel--table .inventory-table-toolbar,
.inv-stockapprovals-panel--table .inventory-table-footer {
  display: none !important;
}

.inv-stockapprovals-panel--table .table thead th {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: normal;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  padding: 0.75rem 1rem;
  white-space: nowrap;
}

.inventory-panel.inv-stockapprovals-panel--table .table tbody tr,
.inventory-panel.inv-stockapprovals-panel--table .table tbody tr:nth-child(even):not(.inventory-empty-state-row) {
  background: #fff;
}

.inventory-panel.inv-stockapprovals-panel--table .table tbody td {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  padding: 0.75rem 1rem;
  vertical-align: middle;
}

.inventory-panel.inv-stockapprovals-panel--table .table tbody tr:hover,
.inventory-panel.inv-stockapprovals-panel--table .table tbody tr:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.inventory-panel.inv-stockapprovals-panel--table .table tbody tr:hover td,
.inventory-panel.inv-stockapprovals-panel--table .table tbody tr:focus-visible td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.inventory-panel.inv-stockapprovals-panel--table:has(.dropdown-menu.show),
.inventory-panel.inv-stockapprovals-panel--table:has(tr.inventory-row-actions-open),
.inventory-panel.inv-stockapprovals-panel--table .inventory-panel__body:has(.dropdown-menu.show),
.inventory-panel.inv-stockapprovals-panel--table .inventory-panel__body:has(tr.inventory-row-actions-open),
.inventory-panel.inv-stockapprovals-panel--table .table-responsive:has(.dropdown-menu.show) {
  overflow: visible !important;
  position: relative;
  z-index: 40;
}

.inventory-panel.inv-stockapprovals-panel--table tr.inventory-row-actions-open {
  position: relative;
  z-index: 45;
}

.inventory-panel.inv-stockapprovals-panel--table tr.inventory-row-actions-open>td:last-child {
  overflow: visible;
  position: relative;
  z-index: 46;
}

.inventory-panel.inv-stockapprovals-panel--table .inventory-row-actions-dd:has(.dropdown-menu.show) {
  z-index: 47;
}

.inventory-panel.inv-stockapprovals-panel--table .inventory-row-actions-dd .dropdown-menu.show {
  z-index: 2000 !important;
}

.inventory-panel.inv-stockapprovals-panel--table .table tbody tr.inventory-data-row--clickable {
  cursor: pointer;
}

.inventory-panel.inv-stockapprovals-panel--table .table tbody tr.inventory-data-row--clickable .inventory-row-actions,
.inventory-panel.inv-stockapprovals-panel--table .table tbody tr.inventory-data-row--clickable .inventory-row-actions-dd,
.inventory-panel.inv-stockapprovals-panel--table .table tbody tr.inventory-data-row--clickable .inv-stockapproval-row-check {
  cursor: default;
}

.inv-stockapproval-entity-cell {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
}

.inv-stockapproval-row-check {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
}

.inv-stockapproval-entity-cell .inv-entity-cell__body {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.65rem;
  min-width: 0;
  flex: 1 1 auto;
}

.inv-entity-avatar--stockapproval {
  background: linear-gradient(135deg, #17322d, #173630) !important;
  color: #fff !important;
}

.inv-stockapproval-row-meta {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  line-height: 1.35;
}

.inv-stockapproval-meta-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.12rem 0.45rem;
  border-radius: var(--sys-radius);
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  background: color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 35%, #fff);
}

.inv-stockapproval-meta-chip .bi {
  font-size: 0.72rem;
  opacity: 0.85;
}

.inv-stockapproval-kind-cell {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}

.inv-stockapproval-scenario {
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  line-height: 1.35;
}

.inv-stockapproval-warehouse-cell .inv-stockapproval-warehouse-label {
  display: block;
  font-size: 0.8125rem;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.inv-stockapprovals-hint {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.75rem 1rem;
  margin: 0;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: color-mix(in srgb, var(--bs-info, #17332e) 5%, #fff);
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-stockapprovals-hint .bi {
  color: var(--bs-info, #17332e);
  font-size: 1.1rem;
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.inv-stockapprovals-panel--table tr[data-inv-filter-hidden="1"] {
  display: none !important;
}

/* â”€â”€ Stock Balances â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Inventory â€” Stock balances list (Products list reference standard) */

.inventory-stock-balances-list-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.inventory-stock-balances-list-page>.inventory-page-header,
.inventory-stock-balances-list-page>.inv-overview,
.inventory-stock-balances-list-page>.inventory-panel {
  margin-bottom: 0 !important;
}

.inv-stockbalances-stats.inv-overview {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 991.98px) {
  .inv-stockbalances-stats.inv-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .inv-stockbalances-stats.inv-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.inv-entity-avatar--stockbalance {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
  border: 1px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 22%, transparent);
}

.inv-stockbalances-warehouse-cell .inv-stockbalances-warehouse-name {
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.inv-stockbalances-qty-badge {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  min-width: 3.5rem;
}

.inv-stockbalances-row--zero {
  opacity: 0.72;
}

.inv-stockbalances-status-chips .inv-stockbalances-chip.is-active {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 45%, transparent);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 10%, #fff);
  color: var(--adm-brand-700, var(--bs-primary));
  font-weight: 600;
}

.dashboard-wrapper .inventory-module-page .inventory-panel.inv-stockbalances-panel {
  border-radius: var(--inventory-card-radius, 0.20rem) !important;
}

.inventory-panel.inv-stockbalances-panel[data-inventory-table] .table thead th {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  padding: 0.75rem 1rem;
  white-space: nowrap;
}

.inventory-panel.inv-stockbalances-panel[data-inventory-table] .table tbody tr,
.inventory-panel.inv-stockbalances-panel[data-inventory-table] .table tbody tr:nth-child(even):not(.inventory-empty-state-row) {
  background: #fff;
}

.inventory-panel.inv-stockbalances-panel[data-inventory-table] .table tbody td {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  padding: 0.75rem 1rem;
  vertical-align: middle;
}

.inventory-panel.inv-stockbalances-panel[data-inventory-table] .table tbody tr:hover,
.inventory-panel.inv-stockbalances-panel[data-inventory-table] .table tbody tr:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.inventory-panel.inv-stockbalances-panel[data-inventory-table] .table tbody tr:hover td,
.inventory-panel.inv-stockbalances-panel[data-inventory-table] .table tbody tr:focus-visible td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.inventory-panel.inv-stockbalances-panel[data-inventory-table]:has(.dropdown-menu.show),
.inventory-panel.inv-stockbalances-panel[data-inventory-table]:has(tr.inventory-row-actions-open),
.inventory-panel.inv-stockbalances-panel[data-inventory-table] .inventory-panel__body:has(.dropdown-menu.show),
.inventory-panel.inv-stockbalances-panel[data-inventory-table] .inventory-panel__body:has(tr.inventory-row-actions-open),
.inventory-panel.inv-stockbalances-panel[data-inventory-table] .table-responsive:has(.dropdown-menu.show) {
  overflow: visible !important;
  position: relative;
  z-index: 40;
}

.inventory-panel.inv-stockbalances-panel[data-inventory-table] tr.inventory-row-actions-open {
  position: relative;
  z-index: 45;
}

.inventory-panel.inv-stockbalances-panel[data-inventory-table] tr.inventory-row-actions-open>td:last-child {
  overflow: visible;
  position: relative;
  z-index: 46;
}

.inventory-panel.inv-stockbalances-panel[data-inventory-table] .inventory-row-actions-dd:has(.dropdown-menu.show) {
  z-index: 47;
}

.inventory-panel.inv-stockbalances-panel[data-inventory-table] .inventory-row-actions-dd .dropdown-menu.show {
  z-index: 2000 !important;
}

.inv-stockbalances-table-footer {
  border-top: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

/* â”€â”€ Stock Documents â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Inventory â€” Stock documents (aligned with products / price lists) */

.inventory-stockdocuments-list-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.inventory-stockdocuments-list-page>.inventory-page-header,
.inventory-stockdocuments-list-page>.inventory-panel {
  margin-bottom: 0 !important;
}

.inventory-stockdocuments-form-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.inventory-stockdocuments-detail-page {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
  padding-bottom: 1.5rem;
}

.inventory-stockdocuments-detail-page>.inventory-page-header,
.inventory-stockdocuments-detail-page>.inventory-detail-hero,
.inventory-stockdocuments-detail-page>.inventory-panel {
  margin-bottom: 0 !important;
}

.inventory-stockdocuments-form .inventory-form-group {
  margin-bottom: 0;
}

.inventory-stockdocuments-form .inventory-inv-form-panel__head .inventory-panel__head-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  margin: 0;
  padding: 0;
}

.inventory-stockdocuments-form .inv-stockdoc-form-section.inventory-panel,
.inventory-stockdocuments-form .inventory-form-group.inventory-panel {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05);
  overflow: hidden;
}

.inventory-stockdocuments-form .inventory-form-group:has(#inventory-stockdoc-section-reference) {
  overflow: visible;
}

.inventory-stockdocuments-form .inv-stockdoc-form-section .inventory-panel__head,
.inventory-stockdocuments-form .inventory-form-group .inventory-panel__head {
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.inventory-stockdocuments-form .inv-sd-lines-panel__body {
  padding-top: 0.75rem !important;
}

/* Form page â€” panel head (price list / product pattern) */
.inventory-stockdocuments-form .inventory-inv-form-panel__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  margin: 0;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
}

.inventory-stockdocuments-form .inventory-inv-form-panel__head .inventory-panel__accent {
  display: none;
}

.inventory-stockdocuments-form .inventory-inv-form-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  flex-shrink: 0;
  font-size: 1.05rem;
  background: color-mix(in srgb, #0d9488 18%, #fff);
  color: var(--adm-brand-600, #0d9488);
}

.inventory-stockdocuments-form .inventory-inv-form-panel__head .inventory-panel__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
}

.inventory-stockdocuments-form .inventory-inv-form-panel__head .inventory-panel__subtitle {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inventory-stockdocuments-form .inventory-code-field[readonly] {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
  font-weight: 600;
}

.inventory-stockdocuments-form .inv-sd-doc-header-fields .form-label,
.inventory-stockdocuments-form [data-stock-doc-reference] .form-label {
  font-size: 0.8125rem;
  font-weight: 600;
}

.inventory-panel.inv-stockdocs-panel[data-inventory-table] .inventory-panel__body--flush {
  padding: 0;
}

.inv-stockdocs-panel .inv-entity-avatar--stockdoc {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  border: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1rem;
  line-height: 1;
  color: #fff;
}

.inv-stockdocs-panel .inv-entity-avatar--stockdoc .bi {
  font-size: 1.05rem;
}

.inv-stockdocs-panel .inv-entity-avatar--stockdoc-receipt {
  background: linear-gradient(135deg, #059669, #0d9488) !important;
}

.inv-stockdocs-panel .inv-entity-avatar--stockdoc-issue {
  background: linear-gradient(135deg, #d97706, #ea580c) !important;
}

.inv-stockdocs-panel .inv-entity-avatar--stockdoc-transfer {
  background: linear-gradient(135deg, #122b26, #122b26) !important;
}

.inv-stockdocs-panel .inv-entity-avatar--stockdoc-adjustment {
  background: linear-gradient(135deg, #64748b, #475569) !important;
}

.inventory-panel.inv-stockdocs-panel[data-inventory-table] .table tbody tr.inventory-data-row--clickable {
  cursor: pointer;
}

.inventory-panel.inv-stockdocs-panel[data-inventory-table] .table tbody tr.inventory-data-row--clickable td {
  cursor: pointer;
}

.inventory-panel.inv-stockdocs-panel[data-inventory-table] .table tbody tr.inventory-data-row--clickable .inventory-row-actions,
.inventory-panel.inv-stockdocs-panel[data-inventory-table] .table tbody tr.inventory-data-row--clickable .inventory-row-actions-dd,
.inventory-panel.inv-stockdocs-panel[data-inventory-table] .table tbody tr.inventory-data-row--clickable .inv-stockdoc-row-check {
  cursor: default;
}

.inventory-panel.inv-stockdocs-panel[data-inventory-table] .table tbody tr.inventory-data-row--clickable a.inv-stockdoc-inline-link,
.inventory-panel.inv-stockdocs-panel[data-inventory-table] .table tbody tr.inventory-data-row--clickable a.inv-stockdoc-meta-chip--link {
  cursor: pointer;
}

.inventory-panel.inv-stockdocs-panel[data-inventory-table] .inventory-data-table tbody tr.inventory-data-row--clickable {
  cursor: pointer;
}

.inventory-panel.inv-stockdocs-panel[data-inventory-table] .inventory-data-table tbody tr.inventory-data-row--clickable:hover td,
.inventory-panel.inv-stockdocs-panel[data-inventory-table] .inventory-data-table tbody tr.inventory-data-row--clickable:focus-visible td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 6%, #fff) !important;
}

.inventory-panel.inv-stockdocs-panel[data-inventory-table] .inventory-data-table tbody tr.inventory-data-row--clickable:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 28%, transparent);
}

.inv-stockdoc-entity-cell {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
}

.inv-stockdoc-entity-cell .inv-entity-cell__body {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.65rem;
  min-width: 0;
  flex: 1 1 auto;
}

.inv-stockdoc-row-check {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  padding-top: 0;
}

.inv-stockdoc-row-meta {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  line-height: 1.35;
  min-width: 0;
}

.inv-stockdoc-meta-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  max-width: 100%;
  padding: 0.12rem 0.45rem;
  border-radius: var(--sys-radius);
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  background: color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 35%, #fff);
}

.inv-stockdoc-meta-chip .bi {
  font-size: 0.72rem;
  opacity: 0.85;
  flex-shrink: 0;
}

.inv-stockdoc-meta-chip--ref {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, #fff);
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.inv-stockdoc-meta-chip--link {
  text-decoration: none;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 10%, #fff);
  border: 1px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, transparent);
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.inv-stockdoc-meta-chip--link:hover,
.inv-stockdoc-meta-chip--link:focus-visible {
  color: var(--adm-brand-600, var(--bs-primary));
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 14%, #fff);
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 32%, transparent);
}

a.inv-stockdoc-inline-link {
  font-weight: 600;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.72rem;
  color: var(--adm-brand-600, var(--bs-primary));
  text-decoration: none;
}

a.inv-stockdoc-inline-link:hover,
a.inv-stockdoc-inline-link:focus-visible {
  text-decoration: underline;
}

.inv-stockdoc-meta-ref {
  font-weight: 600;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.72rem;
}

.inv-stockdoc-meta-sep {
  opacity: 0.55;
}

.inv-stockdoc-doc-number {
  font-size: 0.9375rem;
  font-weight: 700;
  white-space: nowrap;
}

.inv-stockdoc-doc-link {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  text-decoration: none;
  max-width: 100%;
}

.inv-stockdoc-doc-link:hover .inv-stockdoc-doc-number,
.inv-stockdoc-doc-link:focus-visible .inv-stockdoc-doc-number {
  color: var(--adm-brand-600, var(--bs-primary));
}

.inv-stockdoc-kind-cell {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
  min-width: 0;
}

.inv-stockdoc-kind {
  font-size: 0.75rem;
  font-weight: 600;
  border: 1px solid transparent;
}

.inv-stockdoc-kind--receipt {
  background: color-mix(in srgb, #059669 14%, #fff) !important;
  color: var(--adm-brand-600, #047857) !important;
  border-color: color-mix(in srgb, #059669 22%, transparent) !important;
}

.inv-stockdoc-kind--issue {
  background: color-mix(in srgb, #d97706 14%, #fff) !important;
  color: #b45309 !important;
  border-color: color-mix(in srgb, #d97706 22%, transparent) !important;
}

.inv-stockdoc-kind--transfer {
  background: color-mix(in srgb, #122b26 12%, #fff) !important;
  color: var(--adm-brand-600, #19302b) !important;
  border-color: color-mix(in srgb, #122b26 20%, transparent) !important;
}

.inv-stockdoc-kind--adjustment {
  background: color-mix(in srgb, #64748b 12%, #fff) !important;
  color: #475569 !important;
  border-color: color-mix(in srgb, #64748b 20%, transparent) !important;
}

.inv-stockdoc-scenario {
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  line-height: 1.35;
}

.inv-stockdoc-warehouse-cell {
  max-width: 16rem;
}

.inv-stockdoc-warehouse-label {
  display: block;
  font-size: 0.8125rem;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.inv-stockdocs-panel[data-inventory-table] .inv-stockdoc-line-count {
  min-width: 1.75rem;
  font-variant-numeric: tabular-nums;
}

.inv-entity-cell__body {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

/* List table â€” same ERP pattern as price lists / products */
.inventory-panel.inv-stockdocs-panel[data-inventory-table] .table thead th {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: normal;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  padding: 0.75rem 1rem;
  white-space: nowrap;
}

.inventory-panel.inv-stockdocs-panel[data-inventory-table] .table tbody tr,
.inventory-panel.inv-stockdocs-panel[data-inventory-table] .table tbody tr:nth-child(even):not(.inventory-empty-state-row) {
  background: #fff;
}

.inventory-panel.inv-stockdocs-panel[data-inventory-table] .table tbody td {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  padding: 0.75rem 1rem;
  vertical-align: middle;
}

.inventory-panel.inv-stockdocs-panel[data-inventory-table] .table tbody tr:hover,
.inventory-panel.inv-stockdocs-panel[data-inventory-table] .table tbody tr:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.inventory-panel.inv-stockdocs-panel[data-inventory-table] .table tbody tr:hover td,
.inventory-panel.inv-stockdocs-panel[data-inventory-table] .table tbody tr:focus-visible td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.inventory-panel.inv-stockdocs-panel[data-inventory-table]:has(.dropdown-menu.show),
.inventory-panel.inv-stockdocs-panel[data-inventory-table]:has(tr.inventory-row-actions-open),
.inventory-panel.inv-stockdocs-panel[data-inventory-table] .inventory-panel__body:has(.dropdown-menu.show),
.inventory-panel.inv-stockdocs-panel[data-inventory-table] .inventory-panel__body:has(tr.inventory-row-actions-open),
.inventory-panel.inv-stockdocs-panel[data-inventory-table] .table-responsive:has(.dropdown-menu.show) {
  overflow: visible !important;
  position: relative;
  z-index: 40;
}

.inventory-panel.inv-stockdocs-panel[data-inventory-table] tr.inventory-row-actions-open {
  position: relative;
  z-index: 45;
}

.inventory-panel.inv-stockdocs-panel[data-inventory-table] tr.inventory-row-actions-open>td:last-child {
  overflow: visible;
  position: relative;
  z-index: 46;
}

.inventory-panel.inv-stockdocs-panel[data-inventory-table] .inventory-row-actions-dd:has(.dropdown-menu.show) {
  z-index: 47;
}

.inventory-panel.inv-stockdocs-panel[data-inventory-table] .inventory-row-actions-dd .dropdown-menu.show {
  z-index: 2000 !important;
}

.inventory-panel.inv-stockdocs-panel[data-inventory-table] .inventory-table-shell.inventory-overflow-visible {
  overflow: visible !important;
  z-index: 35;
}

.inventory-stockdocuments-detail-page .inventory-detail-hero__avatar.inv-entity-avatar--stockdoc {
  width: 3rem;
  height: 3rem;
  font-size: 1.1rem;
}

.inv-stockdocs-bulk-bar {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.65rem 1rem;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
}

.inv-stockdocs-bulk-bar.is-visible {
  display: flex;
}

.inv-stockdocs-bulk-bar .btn:disabled {
  opacity: 0.55;
}

html[data-theme="dark"] .inventory-stockdocuments-form .inventory-inv-form-panel__head,
html[data-theme="dark"] .inv-stockdocs-panel .inv-entity-avatar--stockdoc {
  background: var(--adm-surface-elevated, #1e3b34);
}

/* â”€â”€ Stock document form â€” header fields (Tom Select via initUiControls) â”€ */
.inventory-stockdocuments-form .inv-sd-doc-header-fields .form-label {
  font-size: 0.8125rem;
  font-weight: 600;
  margin-bottom: 0.35rem;
}

.inventory-stockdocuments-form .inv-sd-doc-header-fields .form-select,
.inventory-stockdocuments-form .inv-sd-doc-header-fields .form-control {
  font-size: 0.875rem;
}

/* Reference block: plain controls (lookup JS manages options / Tom Select opt-out) */
.inventory-stockdocuments-form [data-stock-doc-reference] .form-select,
.inventory-stockdocuments-form [data-stock-doc-reference] .form-control {
  border-radius: var(--inventory-card-radius, 0.20rem);
}

.inventory-stockdocuments-form .inv-sd-reference-source #referenceSourceEligibilityHint {
  margin-top: 0.35rem;
  margin-bottom: 0;
  padding: 0.4rem 0.55rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  border: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 80%, transparent);
  background: color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 8%, #fff);
  line-height: 1.45;
}

.inventory-stockdocuments-form .inv-sd-reference-source--receipt #referenceSourceEligibilityHint {
  border-color: color-mix(in srgb, #0d9488 22%, var(--adm-border-subtle, var(--bs-border-color)));
  background: color-mix(in srgb, #0d9488 7%, #fff);
  color: var(--adm-brand-600, #0f766e);
}

.inventory-stockdocuments-form .inv-sd-reference-source--sales #referenceSourceEligibilityHint {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 22%, var(--adm-border-subtle, var(--bs-border-color)));
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 6%, #fff);
  color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 88%, #000);
}

.inventory-stockdocuments-form .inv-sd-reference-source--manual #referenceSourceEligibilityHint {
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

/* â”€â”€ Lines editor â€” ERP inline grid with bordered cells â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.inventory-stockdocuments-form .inv-sd-lines-toolbar {
  margin-top: 0.25rem;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__wrap {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  overflow: auto;
  background: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table {
  table-layout: fixed;
  width: 100%;
  margin-bottom: 0;
  background: #fff;
  border-collapse: separate;
  border-spacing: 0;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table col.inv-sd-col--num {
  width: 2.5rem;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table col.inv-sd-col--product {
  width: auto;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table col.inv-sd-col--qty {
  width: 5.75rem;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table col.inv-sd-col--cost {
  width: 6.25rem;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table col.inv-sd-col--lot {
  width: 6.75rem;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table col.inv-sd-col--serial {
  width: 6.75rem;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table col.inv-sd-col--expiry {
  width: 7.25rem;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table col.inv-sd-col--from-bin {
  width: 7.75rem;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table col.inv-sd-col--to-bin {
  width: 7.75rem;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table col.inv-sd-col--actions {
  width: 2.75rem;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table thead th {
  position: sticky;
  top: 0;
  z-index: 3;
  padding: 0.55rem 0.45rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  background: linear-gradient(180deg, #f8fafc, #f1f5f9);
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-inline-end: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 75%, transparent);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85);
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table thead th:last-child {
  border-inline-end: 0;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table tbody tr.inv-sd-line-row {
  height: 2.625rem;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table tbody td {
  padding: 0.2rem 0.32rem;
  vertical-align: middle;
  background: #fff;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 72%, transparent);
  border-inline-end: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 72%, transparent);
  overflow: hidden;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table tbody td:last-child {
  border-inline-end: 0;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table tbody tr:nth-child(even) td {
  background: color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 7%, #fff);
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table tbody tr:hover td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3.5%, #fff);
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table tbody tr:focus-within td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 5%, #fff);
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table tbody tr:focus-within td:has(.inv-sd-line-field:focus, .ts-wrapper.focus) {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 6%, #fff);
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-cell--num {
  text-align: center;
  vertical-align: middle;
  padding: 0.2rem;
  background: color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 12%, #fff);
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table tbody tr:nth-child(even) .inv-sd-line-cell--num {
  background: color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 18%, #fff);
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  height: 1.35rem;
  padding: 0 0.2rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  border: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 80%, transparent);
  background: #fff;
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  line-height: 1;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-field {
  display: block;
  width: 100%;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  box-shadow: none;
  padding: 0.28rem 0.45rem;
  font-size: 0.8125rem;
  line-height: 1.25;
  min-height: 2rem;
  height: 2rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-field:hover:not(:disabled):not([readonly]) {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 28%, var(--adm-border-subtle, var(--bs-border-color)));
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-field:focus {
  border-color: var(--adm-brand-600, var(--bs-primary));
  background: #fff;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 16%, transparent);
  outline: 0;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-cell--product {
  vertical-align: middle;
  padding: 0.2rem 0.32rem;
  position: relative;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-product-shell {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  min-width: 0;
  height: 2rem;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-product-control {
  flex: 1 1 auto;
  min-width: 0;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-product-control>select.inv-sd-line-field,
.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-product-control>.ts-wrapper {
  margin: 0;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-aux {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  flex: 0 0 auto;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-aux-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 22%, var(--adm-border-subtle, var(--bs-border-color)));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 6%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
  line-height: 1;
  flex-shrink: 0;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-aux-btn:hover,
.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-aux-btn:focus-visible {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 40%, var(--adm-border-subtle, var(--bs-border-color)));
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 14%, transparent);
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-aux-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 4.5rem;
  padding: 0.12rem 0.35rem;
  border-radius: var(--sys-radius);
  border: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 80%, transparent);
  background: color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 14%, #fff);
  font-size: 0.62rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-aux-badge.text-bg-success,
.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-aux-badge.pricing-source-badge--list {
  border-color: color-mix(in srgb, var(--bs-success, #198754) 30%, transparent);
  background: color-mix(in srgb, var(--bs-success, #198754) 12%, #fff);
  color: color-mix(in srgb, var(--bs-success, #198754) 88%, #000);
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-aux-badge.text-bg-info,
.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-aux-badge.pricing-source-badge--default {
  border-color: color-mix(in srgb, #17322d 30%, transparent);
  background: color-mix(in srgb, #17322d 10%, #fff);
  color: var(--adm-brand-600, #0e221e);
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-aux-badge.text-bg-warning,
.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-aux-badge.pricing-source-badge--missing {
  border-color: color-mix(in srgb, var(--bs-warning, #ffc107) 35%, transparent);
  background: color-mix(in srgb, var(--bs-warning, #ffc107) 14%, #fff);
  color: #92400e;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-cell--actions {
  text-align: center;
  vertical-align: middle;
  padding: 0.2rem;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--bs-danger) 25%, var(--adm-border-subtle, var(--bs-border-color)));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  color: var(--bs-secondary-color);
  line-height: 1;
  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-remove:hover,
.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-remove:focus-visible {
  border-color: color-mix(in srgb, var(--bs-danger) 45%, var(--adm-border-subtle, var(--bs-border-color)));
  background: color-mix(in srgb, var(--bs-danger) 8%, #fff);
  color: var(--bs-danger);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--bs-danger) 12%, transparent);
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .ts-wrapper {
  width: 100%;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .ts-wrapper .ts-control {
  min-height: 2rem;
  height: 2rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent)) !important;
  border-radius: var(--inventory-card-radius, 0.20rem) !important;
  background: #fff !important;
  box-shadow: none;
  padding: 0.2rem 0.45rem !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .ts-wrapper:hover .ts-control {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 28%, var(--adm-border-subtle, var(--bs-border-color))) !important;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .ts-wrapper.focus .ts-control,
.inventory-stockdocuments-form .inv-sd-lines-editor__table .ts-wrapper.dropdown-active .ts-control {
  border-color: var(--adm-brand-600, var(--bs-primary)) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 16%, transparent) !important;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .ts-wrapper.single .ts-control::after {
  border-color: var(--adm-text-muted-ui, var(--bs-secondary-color)) transparent transparent transparent;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .ts-wrapper.single .ts-control>div,
.inventory-stockdocuments-form .inv-sd-lines-editor__table .ts-wrapper.single .ts-control .item {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-cell--product .visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 767.98px) {
  .inventory-stockdocuments-form .inv-sd-lines-editor__wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .inventory-stockdocuments-form .inv-sd-lines-editor__table {
    min-width: 54rem;
  }
}

html[data-theme="dark"] .inventory-stockdocuments-form .inv-sd-lines-editor__wrap,
html[data-theme="dark"] .inventory-stockdocuments-form .inv-sd-lines-editor__table {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}

html[data-theme="dark"] .inventory-stockdocuments-form .inv-sd-lines-editor__table thead th {
  background: linear-gradient(180deg, color-mix(in srgb, var(--adm-surface-raised, #1e3b34) 92%, #fff), var(--adm-surface-raised, #1e3b34));
}

html[data-theme="dark"] .inventory-stockdocuments-form .inv-sd-lines-editor__table tbody td,
html[data-theme="dark"] .inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-field,
html[data-theme="dark"] .inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-num,
html[data-theme="dark"] .inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-remove {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}

html[data-theme="dark"] .inventory-stockdocuments-form .inv-sd-lines-editor__table tbody tr:nth-child(even) td {
  background: color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 14%, var(--adm-surface-raised, var(--bs-body-bg)));
}

html[data-theme="dark"] .inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-cell--num,
html[data-theme="dark"] .inventory-stockdocuments-form .inv-sd-lines-editor__table tbody tr:nth-child(even) .inv-sd-line-cell--num {
  background: color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 22%, var(--adm-surface-raised, var(--bs-body-bg)));
}

html[data-theme="dark"] .inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-aux-btn {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 10%, var(--adm-surface-raised, var(--bs-body-bg)));
}

html[data-theme="dark"] .inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-aux-badge {
  background: color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 20%, var(--adm-surface-raised, var(--bs-body-bg)));
}

html[data-theme="dark"] .inventory-stockdocuments-form .inv-sd-lines-editor__table .inv-sd-line-field:focus,
html[data-theme="dark"] .inventory-stockdocuments-form .inv-sd-lines-editor__table .ts-wrapper .ts-control {
  background: var(--adm-surface-raised, var(--bs-body-bg)) !important;
}

/* â”€â”€ Overview stat cards (price-list pattern) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.inv-overview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.inv-overview>article.inv-overview-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

@media (max-width: 767.98px) {
  .inv-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.inv-overview-card {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  overflow: hidden;
}

.inv-overview-card__body {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
  min-height: 4.75rem;
}

.inv-overview-card__title {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.inv-overview-card__stat {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
  font-variant-numeric: tabular-nums;
}

.inv-overview-card__stat--sm {
  font-size: 1rem;
  font-weight: 700;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.inv-overview-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.15rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.inv-stockdoc-detail-stats.inv-overview {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 575.98px) {
  .inv-stockdoc-detail-stats.inv-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* â”€â”€ Stock document detail hero â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.inv-entity-avatar--stockdoc,
.inv-stockdoc-detail-hero .inv-entity-avatar--stockdoc {
  background: linear-gradient(135deg, #0d9488, #112622) !important;
  color: #fff !important;
}

/* â”€â”€ Detail meta panel (product / price-list pattern) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.inv-stockdoc-detail-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

@media (min-width: 576px) {
  .inv-stockdoc-detail-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1.25rem;
  }
}

.inv-stockdoc-detail-fields__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.15rem 0;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.inv-stockdoc-detail-fields__item:last-child {
  border-bottom: 0;
}

.inv-stockdoc-detail-fields__item--full {
  grid-column: 1 / -1;
}

/* These two detail lists also match the shared [class*="-detail-field"] box rule (their class
   names contain it), so each field is drawn as a box. Lay them out like the other detail
   grids: boxed fields with a gap between them, and no box around the list itself. */
[class*="-module-page"] dl.inv-stockdoc-detail-fields,
[class*="-module-page"] dl.inv-product-detail-fields {
  /* Two boxes per row when the panel has room, one in a narrow panel: fixed
     columns broke words inside the boxes on the product page. */
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: 0.75rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
}

/* Stock document lines sit in a 7/12 column: long headers ("Total incl. tax") wrap instead of
   pushing the table past its panel. Specific enough to beat the shared nowrap header rules. */
[class*="-module-page"] table.inv-stockdoc-detail-lines-table thead th {
  white-space: normal;
}

/* The emphasised value inside a product field matches the same rule: keep it plain text. */
[class*="-module-page"] dd.inv-product-detail-fields__emphasis {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
}

.inv-stockdoc-detail-fields__item dt {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-stockdoc-detail-fields__item dd {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  word-break: break-word;
}

.inv-stockdoc-line-product {
  align-items: flex-start;
  gap: 0.55rem;
}

.inv-stockdoc-line-product .inv-entity-cell__name {
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  line-height: 1.35;
}

.inv-stockdoc-line-product .inv-entity-cell__name:hover {
  color: var(--adm-brand-600, var(--bs-primary));
}

.inv-stockdoc-detail-lines-table tbody tr.inventory-data-row--clickable {
  cursor: pointer;
}

.inv-stockdoc-detail-lines-table tbody tr.inventory-data-row--clickable:hover td,
.inv-stockdoc-detail-lines-table tbody tr.inventory-data-row--clickable:focus-visible td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

/* â”€â”€ Detail meta panel (legacy â€” kept for pricing audit if referenced) â”€â”€â”€ */
.inv-stockdoc-detail-meta {
  display: grid;
  gap: 0.85rem;
}

.inv-stockdoc-detail-meta__item {
  display: grid;
  grid-template-columns: minmax(6.5rem, 9rem) minmax(0, 1fr);
  gap: 0.5rem 1rem;
  align-items: start;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.inv-stockdoc-detail-meta__item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.inv-stockdoc-detail-meta__label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-stockdoc-detail-meta__value {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  word-break: break-word;
}

.inv-stockdoc-detail-meta__value a {
  font-weight: 600;
}

@media (max-width: 575.98px) {
  .inv-stockdoc-detail-meta__item {
    grid-template-columns: 1fr;
  }
}

/* â”€â”€ Detail lines table (compact, no list-table chrome) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.inv-stockdoc-detail-lines-table thead th {
  font-size: 0.8125rem;
  font-weight: 600;
  white-space: nowrap;
  padding: 0.65rem 0.85rem;
}

.inv-stockdoc-detail-lines-table tbody td {
  padding: 0.65rem 0.85rem;
  vertical-align: middle;
}

.inv-stockdoc-detail-lines-table tbody tr:hover {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
}

/* â”€â”€ Pricing audit page â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.inventory-stockdocs-pricing-audit-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.inventory-stockdocs-pricing-audit-page>.inventory-page-header,
.inventory-stockdocs-pricing-audit-page>.inventory-panel {
  margin-bottom: 0 !important;
}

[dir="rtl"] .inventory-stockdocs-pricing-audit-page .inventory-back-icon {
  transform: scaleX(-1);
}

.inv-pricing-audit-table thead th {
  font-size: 0.8125rem;
  font-weight: 600;
  white-space: nowrap;
}

.inv-pricing-audit-trace {
  max-width: 14rem;
  overflow-wrap: anywhere;
  line-height: 1.35;
}

.inv-entity-avatar--product {
  background: linear-gradient(135deg, #17322d, #173630) !important;
  color: #fff !important;
}

.inventory-stockdocuments-detail-page .inv-stockdocs-panel .inv-stockdoc-detail-lines-table thead th,
.inventory-stockdocs-pricing-audit-page .inv-stockdocs-panel[data-inventory-table] .table thead th {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
}

html[data-theme="dark"] .inv-overview-card {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}

/* â”€â”€ Stock document detail hero + inline workflow â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.inv-stockdoc-detail-hero {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05);
}

.inv-stockdoc-detail-hero__row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 1rem 1.25rem;
}

.inv-stockdoc-detail-hero__identity {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 1 1 18rem;
  min-width: 0;
}

.inv-stockdoc-detail-hero__text {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  min-width: 0;
}

.inv-stockdoc-detail-hero__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.65rem;
}

.inv-stockdoc-detail-hero__name {
  font-weight: 700;
  letter-spacing: -0.01em;
}

.inv-stockdoc-detail-hero__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
}

.inv-stockdoc-detail-hero__workflow {
  flex: 1 1 20rem;
  min-width: min(100%, 18rem);
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.75rem 0.95rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: linear-gradient(180deg, color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff), #fff);
}

.inv-stockdoc-detail-hero__workflow-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.75rem;
}

.inv-stockdoc-workflow-eyebrow {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-stockdoc-workflow-next-label {
  font-size: 0.95rem;
  color: var(--adm-text-strong, var(--bs-body-color));
}

.inv-stockdoc-workflow-context {
  font-size: 0.78rem;
}

.inv-stockdoc-workflow-trail {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.35rem;
}

.inv-stockdoc-workflow-trail__sep {
  width: 1.25rem;
  height: 1px;
  background: var(--adm-border-subtle, var(--bs-border-color));
  flex: 0 0 auto;
}

.inv-stockdoc-workflow-step {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem 0.55rem;
  border-radius: var(--sys-radius);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  background: #fff;
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  max-width: 100%;
}

.inv-stockdoc-workflow-step__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.15rem;
  height: 1.15rem;
  border-radius: var(--sys-radius);
  font-size: 0.72rem;
  line-height: 1;
}

.inv-stockdoc-workflow-step__label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 8.5rem;
}

.inv-stockdoc-workflow-step--current {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 45%, var(--adm-border-subtle, var(--bs-border-color)));
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, transparent);
}

.inv-stockdoc-workflow-step--current .inv-stockdoc-workflow-step__icon {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 14%, #fff);
}

.inv-stockdoc-workflow-step--completed {
  border-color: color-mix(in srgb, var(--bs-success, #198754) 35%, var(--adm-border-subtle, var(--bs-border-color)));
  background: color-mix(in srgb, var(--bs-success, #198754) 8%, #fff);
  color: color-mix(in srgb, var(--bs-success, #198754) 85%, #000);
}

.inv-stockdoc-workflow-step--completed .inv-stockdoc-workflow-step__icon {
  background: color-mix(in srgb, var(--bs-success, #198754) 16%, #fff);
  color: var(--bs-success, #198754);
}

.inv-stockdoc-workflow-step--blocked {
  border-color: color-mix(in srgb, var(--bs-danger, #dc3545) 35%, var(--adm-border-subtle, var(--bs-border-color)));
  background: color-mix(in srgb, var(--bs-danger, #dc3545) 6%, #fff);
  opacity: 0.75;
}

.inv-stockdoc-workflow-step--pending {
  opacity: 0.82;
}

.inv-stockdoc-detail-hero__workflow-action {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.75rem;
}

.inv-stockdoc-next-step-form {
  margin: 0;
}

.inv-stockdoc-next-step-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  white-space: nowrap;
}

.inv-stockdoc-workflow-hint {
  flex: 1 1 12rem;
  font-size: 0.78rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  line-height: 1.4;
}

.inv-stockdoc-workflow-done {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--bs-success, #198754);
}

@media (max-width: 991.98px) {
  .inv-stockdoc-detail-hero__workflow {
    flex-basis: 100%;
  }
}

html[data-theme="dark"] .inv-stockdoc-detail-hero,
html[data-theme="dark"] .inv-stockdoc-detail-hero__workflow,
html[data-theme="dark"] .inv-stockdoc-workflow-step {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}

html[data-theme="dark"] .inv-stockdoc-detail-hero__workflow {
  background: linear-gradient(180deg, color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, var(--adm-surface-raised, var(--bs-body-bg))), var(--adm-surface-raised, var(--bs-body-bg)));
}

/* â”€â”€ Stock Trace â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Inventory â€” Stock trace (Products / Stock balances reference standard) */

.inventory-stock-trace-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.inventory-stock-trace-page>.inventory-page-header,
.inventory-stock-trace-page>.inv-overview,
.inventory-stock-trace-page>.inventory-panel,
.inventory-stock-trace-page>.inv-stocktrace-tabs {
  margin-bottom: 0 !important;
}

.inv-stocktrace-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.15rem 0;
}

.inv-stocktrace-tabs .nav-link {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: #fff;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  font-weight: 600;
  font-size: 0.8125rem;
  padding: 0.45rem 0.9rem;
}

.inv-stocktrace-tabs .nav-link.active {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 35%, transparent);
  color: var(--adm-brand-700, var(--bs-primary));
}

.inv-stocktrace-stats.inv-overview {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 991.98px) {
  .inv-stocktrace-stats.inv-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .inv-stocktrace-stats.inv-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.inv-entity-avatar--stocktrace {
  background: color-mix(in srgb, var(--bs-info) 12%, #fff);
  color: var(--bs-info);
  border: 1px solid color-mix(in srgb, var(--bs-info) 24%, transparent);
}

.inv-stocktrace-doc-link {
  font-weight: 600;
  text-decoration: none;
}

.inv-stocktrace-doc-link:hover {
  text-decoration: underline;
}

.inv-stocktrace-trace-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.5rem;
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-stocktrace-qty {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  min-width: 3.5rem;
}

.inv-stocktrace-qty--in {
  color: var(--bs-success);
}

.inv-stocktrace-qty--out {
  color: var(--bs-danger);
}

.inv-stocktrace-type {
  font-size: 0.7rem;
  font-weight: 600;
  border: 1px solid transparent;
}

.inv-stocktrace-type--receipt {
  background: color-mix(in srgb, var(--bs-success) 12%, #fff) !important;
  color: var(--bs-success) !important;
}

.inv-stocktrace-type--issue {
  background: color-mix(in srgb, var(--bs-danger) 12%, #fff) !important;
  color: var(--bs-danger) !important;
}

.inv-stocktrace-type--transfer {
  background: color-mix(in srgb, var(--bs-info) 12%, #fff) !important;
  color: var(--bs-info) !important;
}

.inv-stocktrace-type--adjustment {
  background: color-mix(in srgb, var(--bs-warning) 14%, #fff) !important;
  color: #b45309 !important;
}

.inv-stocktrace-cost-meta {
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  font-variant-numeric: tabular-nums;
}

.inv-stocktrace-direction-chips .inv-stocktrace-chip.is-active {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 45%, transparent);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 10%, #fff);
  color: var(--adm-brand-700, var(--bs-primary));
  font-weight: 600;
}

.dashboard-wrapper .inventory-module-page .inventory-panel.inv-stocktrace-panel {
  border-radius: var(--inventory-card-radius, 0.20rem) !important;
}

.inventory-panel.inv-stocktrace-panel[data-inventory-table] .table thead th {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  padding: 0.75rem 1rem;
  white-space: nowrap;
}

.inventory-panel.inv-stocktrace-panel[data-inventory-table] .table tbody tr,
.inventory-panel.inv-stocktrace-panel[data-inventory-table] .table tbody tr:nth-child(even):not(.inventory-empty-state-row) {
  background: #fff;
}

.inventory-panel.inv-stocktrace-panel[data-inventory-table] .table tbody td {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  padding: 0.75rem 1rem;
  vertical-align: middle;
}

.inventory-panel.inv-stocktrace-panel[data-inventory-table] .table tbody tr:hover,
.inventory-panel.inv-stocktrace-panel[data-inventory-table] .table tbody tr:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.inventory-panel.inv-stocktrace-panel[data-inventory-table] .table tbody tr:hover td,
.inventory-panel.inv-stocktrace-panel[data-inventory-table] .table tbody tr:focus-visible td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.inventory-panel.inv-stocktrace-panel[data-inventory-table]:has(.dropdown-menu.show),
.inventory-panel.inv-stocktrace-panel[data-inventory-table]:has(tr.inventory-row-actions-open),
.inventory-panel.inv-stocktrace-panel[data-inventory-table] .inventory-panel__body:has(.dropdown-menu.show),
.inventory-panel.inv-stocktrace-panel[data-inventory-table] .inventory-panel__body:has(tr.inventory-row-actions-open),
.inventory-panel.inv-stocktrace-panel[data-inventory-table] .table-responsive:has(.dropdown-menu.show) {
  overflow: visible !important;
  position: relative;
  z-index: 40;
}

.inventory-panel.inv-stocktrace-panel[data-inventory-table] tr.inventory-row-actions-open {
  position: relative;
  z-index: 45;
}

.inventory-panel.inv-stocktrace-panel[data-inventory-table] tr.inventory-row-actions-open>td:last-child {
  overflow: visible;
  position: relative;
  z-index: 46;
}

.inventory-panel.inv-stocktrace-panel[data-inventory-table] .inventory-row-actions-dd:has(.dropdown-menu.show) {
  z-index: 47;
}

.inventory-panel.inv-stocktrace-panel[data-inventory-table] .inventory-row-actions-dd .dropdown-menu.show {
  z-index: 2000 !important;
}

.inv-stocktrace-table-footer {
  border-top: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

/* â”€â”€ Valuation As-Of â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Inventory â€” Valuation as-of report (Reorder / Stock balances standard) */

.inventory-valuation-asof-list-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.inventory-valuation-asof-list-page>.inventory-page-header,
.inventory-valuation-asof-list-page>.inv-overview,
.inventory-valuation-asof-list-page>.inventory-panel {
  margin-bottom: 0 !important;
}

.inv-valuation-stats.inv-overview {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 991.98px) {
  .inv-valuation-stats.inv-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .inv-valuation-stats.inv-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.inv-valuation-context {
  border-radius: var(--inventory-card-radius, 0.2rem);
}

.inv-entity-avatar--valuation {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
  border: 1px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 22%, transparent);
}

.inv-valuation-qty-badge,
.inv-valuation-value-badge {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  min-width: 3.5rem;
}

.inv-valuation-warehouse-cell .inv-valuation-warehouse-name {
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.inv-valuation-status-chips .inv-valuation-chip.is-active {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 45%, transparent);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 10%, #fff);
  color: var(--adm-brand-700, var(--bs-primary));
  font-weight: 600;
}

.dashboard-wrapper .inventory-module-page .inventory-panel.inv-valuation-panel {
  border-radius: var(--inventory-card-radius, 0.20rem) !important;
}

.inventory-panel.inv-valuation-panel[data-inventory-table] .table thead th {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  padding: 0.75rem 1rem;
  white-space: nowrap;
}

.inventory-panel.inv-valuation-panel[data-inventory-table] .table tbody tr,
.inventory-panel.inv-valuation-panel[data-inventory-table] .table tbody tr:nth-child(even):not(.inventory-empty-state-row) {
  background: #fff;
}

.inventory-panel.inv-valuation-panel[data-inventory-table] .table tbody td {
  background: #fff;
  padding: 0.65rem 1rem;
  vertical-align: middle;
}

.inv-valuation-row--no-cost {
  opacity: 0.82;
}

.inv-valuation-panel--empty .inventory-panel__body--flush {
  min-height: 12rem;
}

.inv-valuation-empty-actions {
  margin-top: -0.5rem;
}

.inv-valuation-panel--empty .inventory-empty-state {
  padding: 2rem 1.5rem 1rem;
}

.inv-valuation-table-footer {
  border-top: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  background: var(--adm-surface-muted, #f8f9fa);
}

.inv-valuation-total-pill {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}

/* â”€â”€ Warehouse Layout â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Warehouse layout â€” zones & bin locations (price lists / WMS list pattern) */

.inventory-warehouse-layout-page {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
  padding-bottom: 1.5rem;
}

.inventory-warehouse-layout-page>.inventory-page-header,
.inventory-warehouse-layout-page>.inv-overview,
.inventory-warehouse-layout-page>.inv-layout-tabs-wrap,
.inventory-warehouse-layout-page>.inv-layout-tab-content {
  margin-bottom: 0 !important;
}

.dashboard-wrapper .inventory-module-page .inventory-panel.inv-layout-list-panel {
  border-radius: var(--inventory-card-radius, 0.20rem) !important;
}

.inv-layout-tabs-wrap {
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 2%, #fff);
  border-radius: var(--inventory-card-radius, 0.20rem) var(--inventory-card-radius, 0.20rem) 0 0;
  padding: 0 0.75rem;
}

.inv-layout-tabs {
  border-bottom: 0;
  gap: 0.25rem;
}

.inv-layout-tabs .nav-link {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  padding: 0.85rem 1rem;
  margin-bottom: -1px;
  background: transparent;
}

.inv-layout-tabs .nav-link.active {
  color: var(--adm-brand-700, var(--bs-primary));
  border-bottom-color: var(--adm-brand-600, var(--bs-primary));
  background: transparent;
}

.inv-layout-tab-content>.tab-pane>.inventory-panel {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.inv-layout-panel-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
}

.inv-layout-panel-toolbar .inventory-panel__head-text {
  flex: 1 1 auto;
  min-width: 0;
}

.inv-layout-toolbar-btn {
  flex-shrink: 0;
  white-space: nowrap;
}

.inv-layout-inline-form.is-collapsed {
  display: none;
}

.inv-layout-inline-form:not(.is-collapsed) {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.inv-layout-inline-form__grid .form-label {
  font-size: 0.8125rem;
  font-weight: 600;
}

.inv-layout-filters .form-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

/* Entity cells + table (ERP list standard) */
.inv-layout-list-panel .inv-entity-cell {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.inv-layout-list-panel .inv-entity-cell__body {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.inv-layout-list-panel .inv-entity-cell__name {
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.inv-layout-list-panel .inventory-code {
  padding: 0.15rem 0.4rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, #fff);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  font-size: 0.8125rem;
}

.inv-layout-zone-avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.78rem;
  font-weight: 800;
  color: #fff;
  border: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.inv-layout-zone-avatar--storage {
  background: linear-gradient(135deg, #122b26, #19302b);
}

.inv-layout-zone-avatar--picking {
  background: linear-gradient(135deg, #d97706, #ea580c);
}

.inv-layout-zone-avatar--receiving {
  background: linear-gradient(135deg, #059669, #0d9488);
}

.inv-layout-zone-avatar--quarantine,
.inv-layout-zone-avatar--isolation {
  background: linear-gradient(135deg, #122b26, #0d201c);
}

.inv-layout-loc-avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1rem;
  color: #fff;
  background: linear-gradient(135deg, #17322d, #173630);
  border: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.inv-layout-zone-badge {
  font-size: 0.75rem;
  font-weight: 600;
  border: 1px solid transparent;
}

.inv-layout-zone-badge--storage {
  background: color-mix(in srgb, #122b26 12%, #fff) !important;
  color: var(--adm-brand-600, #19302b) !important;
  border-color: color-mix(in srgb, #122b26 22%, transparent) !important;
}

.inv-layout-zone-badge--picking {
  background: color-mix(in srgb, #d97706 14%, #fff) !important;
  color: #b45309 !important;
  border-color: color-mix(in srgb, #d97706 22%, transparent) !important;
}

.inv-layout-zone-badge--receiving {
  background: color-mix(in srgb, #059669 14%, #fff) !important;
  color: var(--adm-brand-600, #047857) !important;
  border-color: color-mix(in srgb, #059669 22%, transparent) !important;
}

.inv-layout-zone-badge--quarantine,
.inv-layout-zone-badge--isolation {
  background: color-mix(in srgb, #122b26 12%, #fff) !important;
  color: var(--adm-brand-600, #0d201c) !important;
  border-color: color-mix(in srgb, #122b26 22%, transparent) !important;
}

.inv-layout-list-panel[data-inventory-table] .table thead th {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  padding: 0.75rem 1rem;
  white-space: nowrap;
}

.inv-layout-list-panel[data-inventory-table] .table tbody tr,
.inv-layout-list-panel[data-inventory-table] .table tbody tr:nth-child(even):not(.inventory-empty-state-row) {
  background: #fff;
}

.inv-layout-list-panel[data-inventory-table] .table tbody td {
  padding: 0.75rem 1rem;
  vertical-align: middle;
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
}

.inv-layout-list-panel[data-inventory-table] .table tbody tr:hover td,
.inv-layout-list-panel[data-inventory-table] .table tbody tr:focus-visible td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.inv-layout-row-actions {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
}

.inv-layout-view-bins-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.8125rem;
  font-weight: 600;
  max-width: 11rem;
  white-space: nowrap;
}

.inv-layout-view-bins-btn .badge {
  font-variant-numeric: tabular-nums;
}

.inv-layout-edit-btn {
  flex-shrink: 0;
}

.inv-layout-edit-row>td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  box-shadow: inset 0 2px 0 color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, transparent);
}

.inv-layout-table-footer {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 2%, #fff);
  font-variant-numeric: tabular-nums;
}

.inv-layout-list-panel[data-inventory-table] .inventory-table-toolbar,
.inv-layout-list-panel[data-inventory-table] .inventory-table-footer {
  display: none !important;
}

.inv-layout-panel[data-inventory-table]:has(.dropdown-menu.show),
.inv-layout-panel[data-inventory-table]:has(tr.inventory-row-actions-open) {
  overflow: visible !important;
}

.inv-layout-panel[data-inventory-table] tr.inventory-row-actions-open {
  position: relative;
  z-index: 45;
}

/* â”€â”€ Warehouses â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
ï»؟
/* Inventory أ¢â‚¬â€‌ Warehouses (Sales / Settings reference standard) */

.inventory-warehouses-form-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.inventory-warehouses-detail-page {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
  padding-bottom: 1.5rem;
}

.inventory-warehouses-detail-page>.inventory-page-header,
.inventory-warehouses-detail-page>.inventory-detail-hero,
.inventory-warehouses-detail-page>.inventory-panel {
  margin-bottom: 0 !important;
}

.inventory-warehouses-form .inventory-inv-form-panel__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  margin: 0;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
}

.inventory-warehouses-form .inventory-inv-form-panel__head .inventory-panel__accent {
  display: none;
}

.inventory-warehouses-form .inventory-inv-form-panel__head .inventory-panel__head-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  margin: 0;
  padding: 0;
}

.inventory-warehouses-form .inventory-inv-form-panel__head .inventory-panel__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
}

.inventory-warehouses-form .inventory-inv-form-panel__head .inventory-panel__subtitle {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
}

.inventory-warehouses-form .inventory-inv-form-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  flex-shrink: 0;
  font-size: 1.05rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.inventory-warehouses-form .inventory-form-group {
  margin-bottom: 0;
}

.inventory-warehouses-form .inventory-code-field .form-control[readonly] {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
  font-weight: 600;
  letter-spacing: 0.02em;
}

.inventory-warehouses-form .inventory-status-toggle {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.inventory-warehouses-form .inventory-status-toggle .form-check-input {
  width: 2.5rem;
  height: 1.35rem;
  margin: 0;
}

.inventory-warehouses-form .inventory-status-toggle__text {
  flex: 1 1 auto;
  min-width: 0;
}

.inventory-warehouses-form .inventory-status-toggle__label {
  margin: 0;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.inventory-warehouses-form .inventory-status-toggle__hint {
  margin: 0.15rem 0 0;
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

[dir="rtl"] .inventory-form-page-header .inventory-back-icon {
  transform: scaleX(-1);
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ warehouses list (Sales customers table standard) أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.dashboard-wrapper .inventory-module-page .inventory-panel.inv-warehouses-panel {
  border-radius: var(--inventory-card-radius, 0.20rem) !important;
}

.inv-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.inv-overview>a.inv-overview-card,
.inv-overview>article.inv-overview-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

@media (max-width: 575.98px) {
  .inv-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.inv-overview-card {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  overflow: hidden;
}

.inv-overview-card__body {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
  min-height: 4.75rem;
}

.inv-overview-card__title {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.inv-overview-card__stat {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
  font-variant-numeric: tabular-nums;
}

.inv-overview-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.15rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.inv-overview-card--active .inv-overview-card__icon {
  background: color-mix(in srgb, var(--bs-success, #00d27a) 14%, #fff);
  color: var(--bs-success, #00d27a);
}

.inv-overview-card--active .inv-overview-card__stat {
  color: var(--bs-success, #00d27a);
}

.inv-entity-cell {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.inv-entity-avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  overflow: hidden;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #17322d, #173630);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.inv-entity-cell__name {
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.inventory-module-page .inventory-code {
  padding: 0.15rem 0.4rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, #fff);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  font-size: 0.8125rem;
}

/* White rows أ¢â‚¬â€‌ override inventory-data-table zebra when not used */
.inventory-panel.inv-warehouses-panel[data-inventory-table] .table thead th {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: normal;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  padding: 0.75rem 1rem;
  white-space: nowrap;
}

.inventory-panel.inv-warehouses-panel[data-inventory-table] .table tbody tr,
.inventory-panel.inv-warehouses-panel[data-inventory-table] .table tbody tr:nth-child(even):not(.inventory-empty-state-row) {
  background: #fff;
}

.inventory-panel.inv-warehouses-panel[data-inventory-table] .table tbody td {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  padding: 0.75rem 1rem;
  vertical-align: middle;
}

.inventory-panel.inv-warehouses-panel[data-inventory-table] .table tbody tr:hover,
.inventory-panel.inv-warehouses-panel[data-inventory-table] .table tbody tr:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.inventory-panel.inv-warehouses-panel[data-inventory-table] .table tbody tr:hover td,
.inventory-panel.inv-warehouses-panel[data-inventory-table] .table tbody tr:focus-visible td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.inventory-panel.inv-warehouses-panel[data-inventory-table]:has(.dropdown-menu.show),
.inventory-panel.inv-warehouses-panel[data-inventory-table]:has(tr.inventory-row-actions-open),
.inventory-panel.inv-warehouses-panel[data-inventory-table] .inventory-panel__body:has(.dropdown-menu.show),
.inventory-panel.inv-warehouses-panel[data-inventory-table] .inventory-panel__body:has(tr.inventory-row-actions-open),
.inventory-panel.inv-warehouses-panel[data-inventory-table] .table-responsive:has(.dropdown-menu.show) {
  overflow: visible !important;
  position: relative;
  z-index: 40;
}

.inventory-panel.inv-warehouses-panel[data-inventory-table] tr.inventory-row-actions-open {
  position: relative;
  z-index: 45;
}

.inventory-panel.inv-warehouses-panel[data-inventory-table] tr.inventory-row-actions-open>td:last-child {
  overflow: visible;
  position: relative;
  z-index: 46;
}

.inventory-panel.inv-warehouses-panel[data-inventory-table] .inventory-row-actions-dd:has(.dropdown-menu.show) {
  z-index: 47;
}

.inventory-panel.inv-warehouses-panel[data-inventory-table] .inventory-row-actions-dd .dropdown-menu.show {
  z-index: 2000 !important;
}

.inv-entity-cell__body {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
}

.inv-entity-avatar--warehouse {
  background: linear-gradient(135deg, #059669, #0d9488);
}

.inv-warehouse-row-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.inv-warehouse-row-meta .badge {
  font-size: 0.6875rem;
  font-weight: 600;
}

.inv-warehouse-location {
  max-width: 14rem;
  overflow-wrap: anywhere;
}

/* â”€â”€ Warehouse form: smart multi-select (Tom Select) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.inv-warehouse-ops-summary {
  padding: 0.65rem 0.85rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  font-size: 0.8125rem;
  line-height: 1.45;
  background: color-mix(in srgb, var(--bs-secondary, #6c757d) 6%, #fff);
}

.inv-warehouse-ops-summary--receipt {
  border-color: color-mix(in srgb, var(--bs-success, #198754) 35%, transparent);
  background: color-mix(in srgb, var(--bs-success, #198754) 8%, #fff);
}

.inv-warehouse-ops-summary--issue {
  border-color: color-mix(in srgb, var(--bs-warning, #ffc107) 45%, transparent);
  background: color-mix(in srgb, var(--bs-warning, #ffc107) 12%, #fff);
}

.inv-warehouse-ops-summary--both {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 30%, transparent);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, #fff);
}

.inv-warehouse-access-panel[data-state="idle"] .inv-warehouse-multi-field--keepers {
  display: none !important;
}

.inv-warehouse-access-panel[data-state="idle"] .inv-warehouse-multi-field:not(.inv-warehouse-multi-field--keepers) {
  opacity: 0.92;
}

.inv-warehouse-multi-field__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.inv-warehouse-multi-field__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.inventory-warehouses-form .inv-warehouse-multi-select+.ts-wrapper {
  width: 100%;
}

.inventory-warehouses-form .ts-wrapper.multi .ts-control {
  min-height: 2.75rem;
  max-height: 9rem;
  overflow-y: auto;
  padding-inline: 0.5rem;
}

.inventory-warehouses-form .ts-wrapper.multi .ts-control .ts-chip,
.inventory-warehouses-form .ts-wrapper.multi .ts-control .item {
  margin: 0.15rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 10%, #fff);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  font-size: 0.8125rem;
}

.inventory-warehouses-form .inv-warehouse-access-idle-hint[hidden] {
  display: none !important;
}

.inv-warehouse-op-toggle {
  padding: 0.5rem 0.65rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
}

/* â”€â”€ Warehouse detail page â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.inv-warehouse-detail-hero__avatar {
  background: linear-gradient(135deg, #059669, #0d9488) !important;
  color: #fff !important;
}

.inv-warehouse-detail-location {
  font-size: 0.875rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-warehouse-detail-hero__ops {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.inv-warehouse-detail-stats.inv-overview {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 991.98px) {
  .inv-warehouse-detail-stats.inv-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .inv-warehouse-detail-stats.inv-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.inv-warehouse-stat-card {
  text-decoration: none;
  color: inherit;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.inv-warehouse-stat-card:not(.inv-warehouse-stat-card--empty):hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(7, 10, 9, 0.08);
}

.inv-warehouse-stat-card--empty {
  opacity: 0.72;
  pointer-events: none;
  cursor: default;
}

.inv-warehouse-stat-card--empty .inv-overview-card__stat {
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-warehouse-detail-meta {
  display: grid;
  gap: 0.85rem;
}

.inv-warehouse-detail-meta__item {
  display: grid;
  grid-template-columns: minmax(6.5rem, 9rem) minmax(0, 1fr);
  gap: 0.5rem 1rem;
  align-items: start;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.inv-warehouse-detail-meta__item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.inv-warehouse-detail-meta__label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-warehouse-detail-meta__value {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  word-break: break-word;
}

.inv-warehouse-detail-op-list__item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 0.75rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  margin-bottom: 0.5rem;
  font-weight: 600;
  font-size: 0.875rem;
}

.inv-warehouse-detail-op-list__item:last-child {
  margin-bottom: 0;
}

.inv-warehouse-detail-op-list__item.is-on {
  background: color-mix(in srgb, var(--bs-success, #198754) 8%, #fff);
  border-color: color-mix(in srgb, var(--bs-success, #198754) 28%, transparent);
  color: var(--bs-success, #198754);
}

.inv-warehouse-detail-op-list__item.is-off {
  background: color-mix(in srgb, var(--bs-secondary, #6c757d) 6%, #fff);
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-warehouse-detail-access-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}

@media (max-width: 575.98px) {
  .inv-warehouse-detail-access-grid {
    grid-template-columns: 1fr;
  }

  .inv-warehouse-detail-meta__item {
    grid-template-columns: 1fr;
  }
}

.inv-warehouse-detail-access-tile {
  text-align: center;
  padding: 0.85rem 0.5rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
}

.inv-warehouse-detail-access-tile.is-muted {
  opacity: 0.65;
}

.inv-warehouse-detail-access-tile__value {
  display: block;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
  font-variant-numeric: tabular-nums;
}

.inv-warehouse-detail-access-tile__label {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}


/* â”€â”€ WMS Tasks â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Inventory â€” Warehouse operational tasks (stock documents / price lists pattern) */

.inventory-wms-tasks-form-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.inventory-wms-tasks-form-page>.inventory-page-header,
.inventory-wms-tasks-form-page>.alert {
  margin-bottom: 0 !important;
}

.inventory-wms-tasks-form .inventory-inv-form-panel__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  margin: 0;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
}

.inventory-wms-tasks-form .inventory-inv-form-panel__head .inventory-panel__accent {
  display: none;
}

.inventory-wms-tasks-form .inventory-inv-form-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  flex-shrink: 0;
  font-size: 1.05rem;
  color: #fff;
  background: linear-gradient(135deg, #122b26, #19302b);
}

.inventory-wms-tasks-form .inventory-form-group .form-label {
  font-size: 0.8125rem;
  font-weight: 600;
  margin-bottom: 0.35rem;
}

.inv-wms-kind-toggle {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.inv-wms-kind-toggle__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 0.85rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}

.inv-wms-kind-toggle__btn.is-active {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 45%, transparent);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, #fff);
  color: var(--adm-brand-700, var(--bs-primary));
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.06);
}

.inv-wms-kind-toggle__btn[data-inv-wms-kind="0"].is-active {
  border-color: color-mix(in srgb, #d97706 40%, transparent);
  background: color-mix(in srgb, #d97706 10%, #fff);
  color: #b45309;
}

.inv-wms-kind-toggle__btn[data-inv-wms-kind="1"].is-active {
  border-color: color-mix(in srgb, #059669 40%, transparent);
  background: color-mix(in srgb, #059669 10%, #fff);
  color: var(--adm-brand-600, #047857);
}

.inv-wms-required-badge {
  display: inline-flex;
  align-items: center;
  margin-inline-start: 0.35rem;
  padding: 0.1rem 0.4rem;
  border-radius: var(--sys-radius);
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #b45309;
  background: color-mix(in srgb, #d97706 12%, #fff);
  border: 1px solid color-mix(in srgb, #d97706 25%, transparent);
}

.inventory-wms-tasks-list-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.inventory-wms-tasks-list-page>.inventory-page-header,
.inventory-wms-tasks-list-page>.inventory-panel {
  margin-bottom: 0 !important;
}

.dashboard-wrapper .inventory-module-page .inventory-panel.inv-wms-panel,
.dashboard-wrapper .inventory-module-page .inventory-panel.inv-wms-list-panel {
  border-radius: var(--inventory-card-radius, 0.20rem) !important;
}

/* List table â€” price lists / ERP row standard */
.inv-wms-list-panel .inv-entity-cell {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.inv-wms-list-panel .inv-entity-cell__body {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.inv-wms-list-panel .inv-entity-cell__name {
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.inv-wms-list-panel .inventory-code {
  padding: 0.15rem 0.4rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, #fff);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  font-size: 0.8125rem;
}

.inv-wms-row-meta {
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.inv-wms-status-cell {
  white-space: nowrap;
}

.inv-wms-panel--table .inventory-table-toolbar,
.inv-wms-panel--table .inventory-table-footer,
.inv-wms-panel[data-inventory-table] .inventory-table-toolbar,
.inv-wms-panel[data-inventory-table] .inventory-table-footer {
  display: none !important;
}

.inv-wms-panel[data-inventory-table] .inventory-panel__body--flush {
  padding: 0;
}

.inv-wms-list-panel[data-inventory-table] .table thead th,
.inv-wms-panel--table .table thead th,
.inv-wms-panel[data-inventory-table] .table thead th {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: normal;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  padding: 0.75rem 1rem;
  white-space: nowrap;
}

.inv-wms-list-panel[data-inventory-table] .table tbody tr,
.inv-wms-list-panel[data-inventory-table] .table tbody tr:nth-child(even):not(.inventory-empty-state-row) {
  background: #fff;
}

.inv-wms-list-panel[data-inventory-table] .table tbody td,
.inv-wms-panel--table .table tbody td,
.inv-wms-panel[data-inventory-table] .table tbody td {
  padding: 0.75rem 1rem;
  vertical-align: middle;
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
}

.inv-wms-list-panel[data-inventory-table] .table tbody tr:hover,
.inv-wms-list-panel[data-inventory-table] .table tbody tr:focus-visible,
.inv-wms-panel[data-inventory-table] .table tbody tr:hover,
.inv-wms-panel[data-inventory-table] .table tbody tr:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.inv-wms-list-panel[data-inventory-table] .table tbody tr:hover td,
.inv-wms-list-panel[data-inventory-table] .table tbody tr:focus-visible td,
.inv-wms-panel[data-inventory-table] .table tbody tr:hover td,
.inv-wms-panel[data-inventory-table] .table tbody tr:focus-visible td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.inv-wms-list-panel[data-inventory-table]:has(.dropdown-menu.show),
.inv-wms-list-panel[data-inventory-table]:has(tr.inventory-row-actions-open),
.inv-wms-list-panel[data-inventory-table] .inventory-panel__body:has(.dropdown-menu.show),
.inv-wms-list-panel[data-inventory-table] .inventory-panel__body:has(tr.inventory-row-actions-open),
.inv-wms-list-panel[data-inventory-table] .table-responsive:has(.dropdown-menu.show),
.inv-wms-panel[data-inventory-table]:has(.dropdown-menu.show),
.inv-wms-panel[data-inventory-table]:has(tr.inventory-row-actions-open),
.inv-wms-panel[data-inventory-table] .inventory-panel__body:has(.dropdown-menu.show),
.inv-wms-panel[data-inventory-table] .inventory-panel__body:has(tr.inventory-row-actions-open),
.inv-wms-panel[data-inventory-table] .table-responsive:has(.dropdown-menu.show) {
  overflow: visible !important;
  position: relative;
  z-index: 40;
}

.inv-wms-list-panel[data-inventory-table] tr.inventory-row-actions-open,
.inv-wms-panel[data-inventory-table] tr.inventory-row-actions-open {
  position: relative;
  z-index: 45;
}

.inv-wms-list-panel[data-inventory-table] tr.inventory-row-actions-open>td:last-child,
.inv-wms-panel[data-inventory-table] tr.inventory-row-actions-open>td:last-child {
  overflow: visible;
  position: relative;
  z-index: 46;
}

.inv-wms-list-panel[data-inventory-table] .inventory-row-actions-dd:has(.dropdown-menu.show),
.inv-wms-panel[data-inventory-table] .inventory-row-actions-dd:has(.dropdown-menu.show) {
  z-index: 47;
}

.inv-wms-list-panel[data-inventory-table] .inventory-row-actions-dd .dropdown-menu.show,
.inv-wms-panel[data-inventory-table] .inventory-row-actions-dd .dropdown-menu.show {
  z-index: 2000 !important;
}

.inv-wms-panel--table tr[data-inv-filter-hidden="1"] {
  display: none !important;
}

.inv-entity-avatar--wms-pick {
  background: linear-gradient(135deg, #d97706, #ea580c) !important;
  color: #fff !important;
}

.inv-entity-avatar--wms-putaway {
  background: linear-gradient(135deg, #059669, #0d9488) !important;
  color: #fff !important;
}

.inv-wms-panel .inv-entity-avatar--wms-pick,
.inv-wms-panel .inv-entity-avatar--wms-putaway {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  border: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.inv-wms-product-cell {
  min-width: 12rem;
  max-width: 22rem;
}

.inv-wms-kind {
  font-size: 0.75rem;
  font-weight: 600;
  border: 1px solid transparent;
}

.inv-wms-kind--pick {
  background: color-mix(in srgb, #d97706 14%, #fff) !important;
  color: #b45309 !important;
  border-color: color-mix(in srgb, #d97706 22%, transparent) !important;
}

.inv-wms-kind--putaway {
  background: color-mix(in srgb, #059669 14%, #fff) !important;
  color: var(--adm-brand-600, #047857) !important;
  border-color: color-mix(in srgb, #059669 22%, transparent) !important;
}

.inv-wms-warehouse-cell {
  max-width: 14rem;
}

.inv-wms-warehouse-label {
  display: block;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.4;
}

.inv-wms-warehouse-code {
  display: block;
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-wms-qty-badge {
  font-variant-numeric: tabular-nums;
  min-width: 3rem;
}

.inv-wms-table-footer {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 2%, #fff);
}

/* Row actions â€” primary CTA + overflow menu (ERP list pattern) */
.inventory-row-actions--wms {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
}

.inventory-row-actions--wms .inventory-row-actions__primary {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  max-width: 9.5rem;
  white-space: nowrap;
}

.inventory-row-actions--wms .inventory-row-actions__primary-text {
  overflow: hidden;
  text-overflow: ellipsis;
}

.inventory-row-actions--wms .inventory-row-actions__primary-form {
  margin: 0;
}

.inv-wms-status-chips .inv-wms-status-chip.is-active {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 45%, transparent);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 10%, #fff);
  color: var(--adm-brand-700, var(--bs-primary));
  font-weight: 600;
}

.inv-wms-panel[data-inventory-table] tr[data-inv-filter-hidden="1"] {
  display: none !important;
}

/* Detail page */
.inventory-wms-tasks-detail-page {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
  padding-bottom: 1.5rem;
}

.inventory-wms-tasks-detail-page>.inventory-page-header,
.inventory-wms-tasks-detail-page>.inventory-detail-hero,
.inventory-wms-tasks-detail-page>.inventory-panel,
.inventory-wms-tasks-detail-page>.inv-overview,
.inventory-wms-tasks-detail-page>.row {
  margin-bottom: 0 !important;
}

.inventory-wms-tasks-detail-page>.inventory-page-header {
  position: relative;
  z-index: 20;
}

.inventory-wms-tasks-detail-page .inventory-detail-toolbar .inventory-row-actions-dd .dropdown-menu.show {
  z-index: 2201 !important;
}

.inv-wms-detail-hero {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05);
}

.inv-wms-detail-hero .inventory-code {
  padding: 0.15rem 0.4rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, #fff);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  font-size: 0.8125rem;
}

.inv-wms-detail-hero__row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 1rem 1.25rem;
}

.inv-wms-detail-hero__identity {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  flex: 1 1 18rem;
  min-width: 0;
}

.inv-wms-detail-hero__text {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  min-width: 0;
}

.inv-wms-detail-hero__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.65rem;
}

.inv-wms-detail-hero__name {
  font-weight: 700;
  letter-spacing: -0.01em;
  overflow-wrap: anywhere;
}

.inv-wms-detail-hero__meta {
  font-size: 0.875rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-wms-detail-hero__chips {
  margin-top: 0.15rem;
}

.inv-wms-detail-hero .inventory-detail-hero__avatar {
  width: 2.75rem;
  height: 2.75rem;
  font-size: 1.15rem;
  flex-shrink: 0;
}

.inv-wms-detail-hero__workflow {
  flex: 1 1 20rem;
  min-width: min(100%, 18rem);
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.75rem 0.95rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: linear-gradient(180deg, color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff), #fff);
}

.inv-wms-detail-hero__workflow--cancelled {
  background: color-mix(in srgb, var(--bs-secondary, #6c757d) 6%, #fff);
}

.inv-wms-detail-hero__workflow-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.75rem;
}

.inv-wms-workflow-eyebrow {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-wms-workflow-next-label {
  font-size: 0.95rem;
  color: var(--adm-text-strong, var(--bs-body-color));
}

.inv-wms-workflow-context {
  font-size: 0.78rem;
}

.inv-wms-workflow-trail {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.35rem;
}

.inv-wms-workflow-trail__sep {
  width: 1.25rem;
  height: 1px;
  background: var(--adm-border-subtle, var(--bs-border-color));
  flex: 0 0 auto;
}

.inv-wms-workflow-step {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem 0.55rem;
  border-radius: var(--sys-radius);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color));
  background: #fff;
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  max-width: 100%;
}

.inv-wms-workflow-step__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.15rem;
  height: 1.15rem;
  border-radius: var(--sys-radius);
  font-size: 0.72rem;
  line-height: 1;
}

.inv-wms-workflow-step__label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 9rem;
}

.inv-wms-workflow-step--current {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 45%, var(--adm-border-subtle, var(--bs-border-color)));
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, transparent);
}

.inv-wms-workflow-step--current .inv-wms-workflow-step__icon {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 14%, #fff);
}

.inv-wms-workflow-step--completed {
  border-color: color-mix(in srgb, var(--bs-success, #198754) 35%, var(--adm-border-subtle, var(--bs-border-color)));
  background: color-mix(in srgb, var(--bs-success, #198754) 8%, #fff);
  color: color-mix(in srgb, var(--bs-success, #198754) 85%, #000);
}

.inv-wms-workflow-step--completed .inv-wms-workflow-step__icon {
  background: color-mix(in srgb, var(--bs-success, #198754) 16%, #fff);
  color: var(--bs-success, #198754);
}

.inv-wms-workflow-step--blocked {
  border-color: color-mix(in srgb, var(--bs-danger, #dc3545) 35%, var(--adm-border-subtle, var(--bs-border-color)));
  background: color-mix(in srgb, var(--bs-danger, #dc3545) 6%, #fff);
  opacity: 0.85;
}

.inv-wms-workflow-step--pending {
  opacity: 0.82;
}

.inv-wms-detail-hero__workflow-action {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.75rem;
}

.inv-wms-next-step-form {
  margin: 0;
}

.inv-wms-next-step-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  white-space: nowrap;
}

.inv-wms-workflow-done {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--bs-success, #198754);
}

.inv-wms-workflow-cancelled {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

@media (max-width: 991.98px) {
  .inv-wms-detail-hero__workflow {
    flex-basis: 100%;
  }
}

.inv-wms-detail-meta {
  display: grid;
  gap: 0;
}

.inv-wms-detail-meta__item {
  display: grid;
  grid-template-columns: minmax(6.5rem, 9rem) minmax(0, 1fr);
  gap: 0.5rem 1rem;
  align-items: start;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.inv-wms-detail-meta__item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.inv-wms-detail-meta__label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-wms-detail-meta__value {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

@media (max-width: 575.98px) {
  .inv-wms-detail-meta__item {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }
}

.inv-wms-detail-route {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.75rem;
}

.inv-wms-detail-route__node {
  flex: 1 1 8rem;
  padding: 0.85rem 1rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
  text-align: center;
}

.inv-wms-detail-route__label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  margin-bottom: 0.25rem;
}

.inv-wms-detail-route__value {
  display: block;
  font-size: 1.35rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--adm-brand-700, var(--bs-primary));
  line-height: 1.2;
}

.inv-wms-detail-route__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  font-size: 1.25rem;
  align-self: center;
}

.inv-wms-detail-dl {
  margin-top: 0.75rem;
}

.inv-wms-detail-notes {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-weight: 500;
}

.inv-wms-detail-related .btn {
  font-size: 0.8125rem;
}

.inventory-wms-tasks-form .alert-info {
  grid-column: 1 / -1;
}

html[data-theme="dark"] .inv-wms-detail-hero,
html[data-theme="dark"] .inv-wms-detail-hero__workflow,
html[data-theme="dark"] .inv-wms-workflow-step {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}

html[data-theme="dark"] .inv-wms-detail-hero__workflow {
  background: linear-gradient(180deg, color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, var(--adm-surface-raised, var(--bs-body-bg))), var(--adm-surface-raised, var(--bs-body-bg)));
}

.inventory-wms-tasks-form select:disabled,
.inventory-wms-tasks-form input:disabled {
  background-color: color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 12%, #fff);
  cursor: not-allowed;
}



/* ── manufacturing (36 lines) ──────────────────────── */
/* ==========================================================================
   Manufacturing â€” merged page-level styles
   Source files:
     - manufacturing-reports.css
   ========================================================================== */

/* â”€â”€ manufacturing-reports â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.mfg-report-kpi {
  border-inline-start: 3px solid var(--bs-primary);
}

.mfg-report-kpi--variance-positive {
  border-inline-start-color: var(--bs-danger);
}

.mfg-report-kpi--variance-negative {
  border-inline-start-color: var(--bs-success);
}

.mfg-report-table th {
  white-space: nowrap;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.mfg-report-table td {
  font-variant-numeric: tabular-nums;
}

.mfg-cost-sheet-summary .display-6 {
  font-variant-numeric: tabular-nums;
}

/* Work-centre utilisation bar — trails its numeric cell, so it is fixed-width
   and end-aligned. Bar width itself stays inline (data-driven). */
.mfg-capacity-progress {
  height: 6px;
  width: 140px;
  margin-inline-start: auto;
}

@media print {
  .no-print {
    display: none !important;
  }

  .content-card {
    box-shadow: none !important;
    border: 1px solid #dee2e6 !important;
  }
}


/* ── operations (862 lines) ──────────────────────── */
/* ==========================================================================
   Operations â€” merged page-level styles
   Source files:
     - operations-forms.css
   ========================================================================== */

/* â”€â”€ operations-forms â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

/* Operations â€” forms & details (Sales Customers standard) */

.dashboard-wrapper .operations-module-page .operations-panel.ops-definitions-panel,
.dashboard-wrapper .operations-module-page .operations-panel.ops-workspace-panel,
.dashboard-wrapper .operations-module-page .operations-panel.ops-pnl-panel,
.dashboard-wrapper .operations-module-page .operations-panel.ops-detail-panel,
.dashboard-wrapper .operations-module-page .operations-detail-hero {
  border-radius: var(--operations-card-radius, 0.20rem) !important;
}

.dashboard-wrapper .operations-module-page .operations-overview .operations-overview-card {
  border-radius: var(--operations-card-radius, 0.20rem);
}

/* â”€â”€ Shift definition / policy forms â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.operations-shift-definitions-form-page,
.operations-policy-form-page {
  padding-bottom: 5rem;
}

.operations-policy-form-page .operations-policy-form {
  width: 100%;
  max-width: none;
}

.operations-shift-definitions-form .operations-panel__head,
.operations-policy-form .operations-panel__head {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--operations-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  margin-bottom: 1rem;
}

.operations-shift-definitions-form .ops-form-panel__head,
.operations-policy-form .ops-form-panel__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
}

.operations-shift-definitions-form .ops-form-panel__head .operations-panel__accent,
.operations-policy-form .ops-form-panel__head .operations-panel__accent {
  display: none;
}

.operations-shift-definitions-form .ops-form-panel__head .operations-panel__head-text,
.operations-policy-form .ops-form-panel__head .operations-panel__head-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  margin: 0;
  padding: 0;
}

.operations-shift-definitions-form .ops-form-panel__head .operations-panel__title,
.operations-policy-form .ops-form-panel__head .operations-panel__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.operations-shift-definitions-form .ops-form-panel__head .operations-panel__subtitle,
.operations-policy-form .ops-form-panel__head .operations-panel__subtitle {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--bs-secondary-color);
}

.operations-shift-definitions-form .ops-form-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--operations-card-radius, 0.20rem);
  flex-shrink: 0;
  font-size: 1.05rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.operations-shift-definitions-form .operations-form-section-title {
  margin: 0 0 0.12rem;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

html[data-theme=”dark”] .operations-shift-definitions-form .operations-panel__head,
html[data-theme=”dark”] .operations-policy-form .operations-panel__head {
  background: var(--adm-bg-surface, var(--bg-secondary));
}

/* â”€â”€ Definition / shift details (Sales detail hero) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.operations-definition-detail-page,
.operations-shift-detail-page {
  padding-bottom: 5rem;
}

.operations-module-page .operations-detail-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--operations-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
}

.operations-module-page .operations-detail-hero__main {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
  margin-bottom: 0;
}

.operations-module-page .operations-detail-hero__name {
  font-weight: 800;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.operations-module-page .operations-detail-hero__meta {
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
}

.operations-module-page .operations-detail-hero__meta .operations-code {
  padding: 0.2rem 0.45rem;
  border-radius: var(--operations-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, #fff);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.operations-module-page .operations-detail-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: stretch;
  width: 100%;
}

.operations-definition-detail-page .operations-detail-footer,
.operations-shift-detail-page .operations-detail-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.85rem 1.35rem 1.25rem;
  position: sticky;
  bottom: 0;
  z-index: 20;
  margin-top: 0.5rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--operations-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 -4px 20px rgba(7, 10, 9, 0.06);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.operations-definition-detail-page .operations-detail-footer.is-stuck,
.operations-shift-detail-page .operations-detail-footer.is-stuck {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
  box-shadow: 0 -6px 24px rgba(7, 10, 9, 0.1);
}

/* Table row actions â€” Sales customers panel */
.operations-module-page .operations-panel[data-operations-table]:has(.dropdown-menu.show),
.operations-module-page .operations-panel[data-operations-table]:has(tr.operations-row-actions-open),
.operations-module-page .operations-panel[data-operations-table] .operations-panel__body:has(.dropdown-menu.show),
.operations-module-page .operations-panel[data-operations-table] .operations-panel__body:has(tr.operations-row-actions-open),
.operations-module-page .operations-panel[data-operations-table] .table-responsive:has(.dropdown-menu.show) {
  overflow: visible !important;
  position: relative;
  z-index: 40;
}

.operations-module-page .operations-panel[data-operations-table] tr.operations-row-actions-open {
  position: relative;
  z-index: 45;
}

.operations-module-page .operations-panel[data-operations-table] .operations-row-actions-dd:has(.dropdown-menu.show) {
  z-index: 47;
}

.operations-module-page .operations-panel[data-operations-table] .operations-row-actions-dd .dropdown-menu.show {
  z-index: 2000 !important;
}

.operations-module-page .operations-panel[data-operations-table] .operations-row-actions-dd__trigger,
.operations-module-page .operations-panel[data-operations-table] .operations-row-actions-dd__trigger .bi,
.operations-module-page .operations-panel[data-operations-table] .operations-row-actions-dd__menu,
.operations-module-page .operations-panel[data-operations-table] .operations-row-actions-dd__menu .operations-row-actions-dd__item {
  cursor: pointer !important;
}

.operations-module-page .operations-panel[data-operations-table] .operations-data-table tbody tr,
.operations-module-page .operations-panel[data-operations-table] .operations-data-table tbody tr:nth-child(even):not(.operations-empty-state-row),
.operations-module-page .operations-panel[data-operations-table] .operations-data-table tbody td {
  background: #fff;
}

.operations-module-page .operations-panel[data-operations-table] .operations-data-table tbody tr:hover td,
.operations-module-page .operations-panel[data-operations-table] .operations-data-table tbody tr.operations-data-row--clickable:focus-visible td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.operations-module-page .operations-detail-stat__value--sm {
  font-size: 0.9375rem;
  font-weight: 600;
}

.operations-module-page .operations-detail-dl {
  display: grid;
  gap: 0.65rem;
}

.operations-module-page .operations-detail-dl__row {
  display: grid;
  grid-template-columns: minmax(8rem, 38%) 1fr;
  gap: 0.75rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.operations-module-page .operations-detail-dl__row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.operations-module-page .operations-detail-dl__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.operations-module-page .operations-detail-dl__row dd {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

html[data-theme="dark"] .operations-module-page .operations-detail-hero,
html[data-theme="dark"] .operations-module-page .operations-detail-footer {
  background: var(--adm-bg-surface, var(--bg-secondary));
}

@media (max-width: 767.98px) {
  .operations-module-page .operations-detail-dl__row {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
}

/* â”€â”€ Branch shift summary report â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.operations-branch-summary-page .operations-module-page__canvas>.operations-page-header {
  margin-bottom: 0;
}

.operations-branch-summary-page .operations-branch-summary-kpis .operations-overview-card__body {
  min-height: 5.25rem;
}

.operations-branch-summary-page .operations-branch-summary-kpis .operations-overview-card__stat.text-danger {
  color: var(--bs-danger, #dc3545) !important;
}

.operations-branch-summary-page .ops-summary-filter-panel {
  position: relative;
  z-index: 2;
}

.operations-branch-summary-page .operations-branch-summary-filter {
  --bs-gutter-x: 1rem;
  --bs-gutter-y: 0.75rem;
}

/* â”€â”€ Shift P&L report â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.operations-pnl-report-page {
  padding-bottom: 1.5rem;
}

.operations-pnl-report-page .operations-module-page__canvas>.operations-page-header {
  margin-bottom: 0;
}

.operations-pnl-report-page .operations-module-page__canvas>.operations-detail-hero,
.operations-pnl-report-page .operations-module-page__canvas>.operations-overview,
.operations-pnl-report-page .operations-module-page__canvas>section {
  margin-bottom: 0 !important;
}

.operations-pnl-report-page .operations-detail-hero {
  margin-bottom: 0;
}

.operations-pnl-report-page .operations-pnl-kpis {
  gap: 1.35rem;
}

.operations-pnl-report-page .operations-pnl-kpis .operations-overview-card__body {
  min-height: 5.25rem;
  padding: 0.95rem 1rem;
  gap: 0.75rem;
}

.operations-pnl-report-page .operations-pnl-kpis .operations-overview-card__title {
  font-size: 0.8125rem;
  line-height: 1.35;
}

.operations-pnl-report-page .operations-pnl-kpis .operations-overview-card__stat {
  font-size: 1.2rem;
}

.operations-module-page .operations-pnl-kpis .operations-overview-card__meta {
  margin-top: 0.15rem;
  font-size: 0.75rem;
}

.operations-module-page .operations-pnl-table tbody td {
  padding: 0.65rem 0.85rem;
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.operations-module-page .operations-pnl-table tbody tr.operations-pnl-table__total td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 5%, #fff);
  border-top: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 22%, var(--adm-border-subtle));
}

.operations-module-page .operations-pnl-table tbody tr:last-child td {
  border-bottom: 0;
}

.operations-module-page .operations-empty-state {
  max-width: 28rem;
  margin-inline: auto;
}

@media (max-width: 767.98px) {

  .operations-definition-detail-page .operations-detail-footer,
  .operations-shift-detail-page .operations-detail-footer {
    position: static;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   Operations â€” module-unique styles (merged from operations-module.css)
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */
:root {
  --operations-card-radius: 0.20rem;
  --operations-hub-gap: 1rem;
  --operations-hub-group-gap: 1.5rem;
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Workspace hub أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.operations-module-page .operations-workspace-page {
  display: flex;
  flex-direction: column;
  gap: var(--operations-hub-group-gap, 1.5rem);
  padding-bottom: 1rem;
}

.operations-module-page .operations-workspace-group {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.operations-module-page .operations-workspace-group__head {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.operations-module-page .operations-workspace-group__accent {
  flex: 0 0 4px;
  width: 4px;
  min-height: 1.35rem;
  align-self: stretch;
  border-radius: var(--operations-card-radius);
  background: linear-gradient(180deg, var(--adm-brand-600), color-mix(in srgb, var(--adm-brand-600) 72%, #121f1d));
}

.operations-module-page .operations-workspace-group__title {
  font-size: 1.0625rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--adm-text-strong);
}

.operations-module-page .operations-workspace-group__desc {
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui);
  margin-top: 0.25rem;
}

.operations-module-page .operations-panel--spaced {
  margin-bottom: 0 !important;
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Overview grids أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.operations-module-page .operations-overview {
  display: grid;
  gap: var(--operations-hub-gap, 1rem);
}

.operations-module-page .operations-overview--workspace {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.operations-module-page .operations-overview--workspace-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
}

.operations-module-page .operations-overview--workspace-five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: 100%;
}

.operations-module-page .operations-overview--links {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.operations-module-page .operations-overview--pair {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
}

.operations-module-page .operations-overview--triplet {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Overview card أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.operations-module-page .operations-overview-card {
  display: block;
  text-decoration: none;
  color: inherit;
  border: 1px solid var(--adm-border-subtle);
  border-radius: var(--operations-card-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
}

.operations-module-page a.operations-overview-card:hover,
.operations-module-page a.operations-overview-card:focus-visible {
  border-color: color-mix(in srgb, var(--adm-brand-600) 32%, var(--adm-border-subtle));
  box-shadow: 0 4px 16px rgba(7, 10, 9, 0.07);
  transform: translateY(-1px);
  color: inherit;
}

.operations-module-page .operations-overview-card__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
}

.operations-module-page .operations-overview-card__title {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong);
}

.operations-module-page .operations-overview-card__stat {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--adm-brand-600);
  font-variant-numeric: tabular-nums;
}

.operations-module-page .operations-overview-card--active .operations-overview-card__stat {
  color: var(--bs-success, #198754);
}

.operations-module-page .operations-overview-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--operations-card-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.15rem;
}

.operations-module-page .operations-overview-card__icon--primary {
  background: color-mix(in srgb, var(--adm-brand-600) 12%, #fff);
  color: var(--adm-brand-600);
}

.operations-module-page .operations-overview-card__icon--success {
  background: color-mix(in srgb, var(--bs-success, #198754) 14%, #fff);
  color: var(--bs-success, #198754);
}

.operations-module-page .operations-overview-card__icon--warning {
  background: color-mix(in srgb, #f59e0b 14%, #fff);
  color: #d97706;
}

.operations-module-page .operations-overview-card__icon--info {
  background: color-mix(in srgb, #17322d 14%, #fff);
  color: var(--adm-brand-600, #112a25);
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Entity cell & avatar أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.operations-module-page .operations-entity-cell {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.operations-module-page .operations-entity-avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--operations-card-radius);
  border: 1px solid var(--adm-border-subtle);
  overflow: hidden;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #17322d, #173630);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.06);
}

.operations-module-page .operations-entity-avatar--lg {
  width: 3.5rem;
  height: 3.5rem;
  font-size: 1.1rem;
}

.operations-module-page .operations-entity-cell__name {
  font-weight: 600;
  color: var(--adm-text-strong);
}

.operations-module-page .operations-entity-cell__meta {
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui);
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Status badges أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.operations-module-page .operations-code {
  font-family: var(--bs-font-monospace);
  font-size: 0.8125rem;
}

.operations-module-page .operations-status-badge--planned {
  background: color-mix(in srgb, #64748b 12%, #fff);
  color: #475569;
  border: 1px solid color-mix(in srgb, #64748b 25%, transparent);
}

.operations-module-page .operations-status-badge--open {
  background: color-mix(in srgb, var(--bs-success, #198754) 14%, #fff);
  color: var(--bs-success, #198754);
  border: 1px solid color-mix(in srgb, var(--bs-success, #198754) 28%, transparent);
}

.operations-module-page .operations-status-badge--closed {
  background: color-mix(in srgb, #64748b 10%, #fff);
  color: #334155;
  border: 1px solid var(--adm-border-subtle);
}

.operations-module-page .operations-status-badge--active {
  background: color-mix(in srgb, var(--bs-success, #198754) 18%, #fff);
  color: var(--bs-success, #198754);
  border: 1px solid color-mix(in srgb, var(--bs-success, #198754) 35%, transparent);
}

.operations-module-page .operations-status-badge--muted {
  background: #f1f5f9;
  color: #64748b;
  border: 1px solid var(--adm-border-subtle);
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Data table (white background overrides) أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.operations-module-page .operations-data-table {
  background: #fff;
}

.operations-module-page .operations-data-table thead {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle);
}

.operations-module-page .operations-data-table thead th {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--adm-text-muted-ui);
  background: #fff;
  border-bottom-width: 1px;
}

.operations-module-page .operations-data-table tbody tr {
  background: #fff;
}

.operations-module-page .operations-data-row--clickable {
  cursor: pointer;
}

.operations-module-page .operations-data-row--clickable:hover {
  background: color-mix(in srgb, var(--adm-brand-600) 4%, #fff) !important;
}

.operations-module-page .operations-row-active {
  background: color-mix(in srgb, var(--bs-success, #198754) 6%, #fff) !important;
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Active shift أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.operations-module-page .operations-active-shift {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Detail hero & stats أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.operations-module-page .operations-detail-hero__main {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.operations-module-page .operations-detail-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.operations-module-page .operations-detail-stat {
  flex: 1 1 8rem;
  min-width: 7rem;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--adm-border-subtle);
  border-radius: var(--operations-card-radius);
  background: #fff;
}

.operations-module-page .operations-detail-stat__label {
  margin: 0 0 0.25rem;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--adm-text-muted-ui);
}

.operations-module-page .operations-detail-stat__value {
  margin: 0;
  font-weight: 700;
  color: var(--adm-text-strong);
}

.operations-module-page .operations-module-page__canvas>.operations-workspace-page {
  gap: inherit;
}


/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Responsive breakpoints أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
@media (max-width: 1199.98px) {

  .operations-module-page .operations-overview--workspace,
  .operations-module-page .operations-overview--workspace-four,
  .operations-module-page .operations-overview--workspace-five,
  .operations-module-page .operations-overview--triplet {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .operations-module-page .operations-overview--links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {

  .operations-module-page .operations-overview--workspace,
  .operations-module-page .operations-overview--workspace-four,
  .operations-module-page .operations-overview--workspace-five,
  .operations-module-page .operations-overview--links,
  .operations-module-page .operations-overview--pair,
  .operations-module-page .operations-overview--triplet {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Close readiness checklist أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.operations-close-readiness {
  border: 1px solid var(--adm-border-subtle, rgba(0, 0, 0, 0.08));
  border-radius: var(--operations-card-radius);
  background: var(--adm-surface-elevated, #fff);
  padding: 0.85rem 1rem;
}

.operations-close-readiness--ready {
  border-color: rgba(25, 135, 84, 0.35);
}

.operations-close-readiness--blocked {
  border-color: rgba(255, 193, 7, 0.55);
}

.operations-close-readiness__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.65rem 1rem;
  margin-bottom: 0.75rem;
}

.operations-close-readiness__status-icon {
  font-size: 1.25rem;
  line-height: 1;
}

.operations-close-readiness--ready .operations-close-readiness__status-icon {
  color: var(--bs-success, #198754);
}

.operations-close-readiness--blocked .operations-close-readiness__status-icon {
  color: var(--bs-warning, #ffc107);
}

.operations-close-readiness__title {
  font-weight: 700;
  color: var(--adm-text-strong);
}

.operations-close-readiness__subtitle {
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui);
}

.operations-close-readiness__list {
  display: grid;
  gap: 0.35rem;
}

.operations-close-readiness--compact .operations-close-readiness__subtitle {
  display: none;
}

.operations-close-readiness--compact .operations-close-readiness__list {
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
}

.operations-close-readiness__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  padding: 0.35rem 0.5rem;
  border-radius: var(--operations-card-radius);
  background: var(--adm-surface-muted, rgba(0, 0, 0, 0.03));
}

.operations-close-readiness__item--pass .operations-close-readiness__check-icon {
  color: var(--bs-success, #198754);
}

.operations-close-readiness__item--fail .operations-close-readiness__check-icon {
  color: var(--bs-danger, #dc3545);
}

.operations-close-readiness__label {
  flex: 1;
  min-width: 0;
}

.operations-active-shift__readiness {
  border-top: 1px solid var(--adm-border-subtle, rgba(0, 0, 0, 0.08));
  padding-top: 0.85rem;
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Shift audit panel أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.operations-shift-audit {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.operations-shift-audit__heading {
  font-weight: 700;
  margin-bottom: 0.65rem;
  color: var(--adm-text-strong);
}

.operations-shift-audit__timeline-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.65rem;
  padding-bottom: 0.75rem;
}

.operations-shift-audit__dot {
  width: 0.55rem;
  height: 0.55rem;
  margin-top: 0.35rem;
  border-radius: 50%;
  background: var(--bs-primary, #173630);
}

.operations-shift-audit__event {
  font-weight: 600;
}

.operations-shift-audit__meta,
.operations-shift-audit__notes {
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui);
}

.operations-shift-audit__volumes {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
  gap: 0.65rem;
}

.operations-shift-audit__volume {
  border: 1px solid var(--adm-border-subtle, rgba(0, 0, 0, 0.08));
  border-radius: var(--operations-card-radius);
  padding: 0.55rem 0.65rem;
  background: var(--adm-surface-muted, rgba(0, 0, 0, 0.02));
}

.operations-shift-audit__volume-label {
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui);
}

.operations-shift-audit__volume-value {
  font-size: 1.125rem;
  font-weight: 800;
  color: var(--adm-text-strong);
}

.operations-shift-code-field__value {
  font-size: 1rem;
}


/* ── platform (665 lines) ──────────────────────── */
/* ==========================================================================
   Platform (Admin) â€” merged page-level styles
   Source files:
     - platform-audit-trail.css
     - platform-collaboration-ui.css
   ========================================================================== */

/* â”€â”€ platform-audit-trail â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

/* Audit trail â€” filters & table polish */

.pf-audit-filters .platform-panel__body {
  padding: 1.15rem 1.35rem 1.25rem;
}

.pf-audit-filter-grid .form-label {
  font-size: 0.8125rem;
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--adm-text-secondary, var(--bs-secondary-color));
}

.pf-audit-filter-grid .form-control {
  min-height: 2.5rem;
  border-radius: 0.20rem;
}

.pf-audit-filter-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.pf-audit-filter-actions__primary,
.pf-audit-filter-actions__export {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.pf-audit-table-panel .table thead th {
  background: #f8fafc !important;
  font-size: 0.8125rem;
  font-weight: 700;
}

.pf-audit-table-panel .table tbody td {
  background: #fff;
  vertical-align: middle;
}

.pf-audit-table-panel .table tbody tr:nth-child(even) td {
  background: #fff;
}

.pf-audit-entity-cell {
  min-width: 0;
}

.pf-audit-entity-cell__name {
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.pf-audit-entity-cell__id {
  font-size: 0.78rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  word-break: break-all;
}

.pf-audit-entity-cell__id a {
  font-weight: 500;
}

.pf-audit-action-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 0.20rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 10%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
  border: 1px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, transparent);
}

@media (max-width: 767.98px) {
  .pf-audit-filter-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .pf-audit-filter-actions__primary,
  .pf-audit-filter-actions__export {
    width: 100%;
    justify-content: stretch;
  }

  .pf-audit-filter-actions__primary .btn,
  .pf-audit-filter-actions__export .btn {
    flex: 1 1 auto;
  }
}

/* â”€â”€ platform-collaboration-ui â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

/* Platform & collaboration â€” Companies UI standard (0.20rem cards, white tables) */

:root {
  --pf-card-radius: 0.20rem;
}

.pf-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

@media (min-width: 992px) {
  .pf-overview--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .pf-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.pf-overview-card,
.pf-detail-hero,
.pf-detail-panel,
.platform-module-page .platform-hub-tile__inner {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--pf-card-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  overflow: hidden;
}

.dashboard-wrapper .platform-module-page .platform-panel,
.dashboard-wrapper .platform-module-page section.platform-panel,
.platform-module-page .platform-panel,
.platform-module-page section.platform-panel,
.platform-module-page .inbox-notif-detail,
.platform-module-page .pf-detail-panel,
.platform-module-page .pf-overview-card,
.platform-module-page .pf-detail-hero,
.platform-module-page .platform-hub-tile__inner,
.platform-module-page .platform-module-nav,
.platform-module-page .platform-lines-panel,
.platform-module-page .platform-summary-card,
.platform-module-page .platform-quick-link,
.platform-module-page .platform-hub-card,
.platform-module-page .platform-catalog-row,
.platform-module-page .platform-kpi-tile,
.platform-module-page .platform-detail-field,
.platform-module-page .platform-form-group,
.platform-module-page .platform-filter-bar,
.platform-module-page .platform-inbox-page.platform-panel,
.platform-module-page .op-notif-page.platform-panel,
.platform-module-page .pf-audit-filters.platform-panel,
.platform-module-page .pf-audit-table-panel.platform-panel,
.platform-module-page .platform-chat-panel-wrap.platform-panel,
.platform-module-page .content-card:not(.platform-panel) {
  border-radius: var(--pf-card-radius) !important;
}

.platform-module-page .inbox-notif-detail__icon,
.platform-module-page .pf-detail-json,
.platform-module-page .platform-hub-tile__icon,
.platform-module-page .pf-audit-action-badge {
  border-radius: var(--pf-card-radius) !important;
}

.platform-module-page .platform-data-table tbody tr,
.platform-module-page .table.table-hover tbody tr {
  background: #fff;
}

.platform-module-page .platform-data-table tbody tr:nth-child(even):not(.platform-empty-state-row),
.platform-module-page .table.table-hover tbody tr:nth-child(even) {
  background: #fff;
}

.platform-module-page .platform-data-table thead th,
.platform-module-page .table.table-hover thead.table-light th {
  background: #f8fafc !important;
}

.pf-overview-card__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
}

.pf-overview-card__title {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.pf-overview-card__stat {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
}

.pf-overview-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--pf-card-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.15rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.pf-overview-card--accent .pf-overview-card__icon {
  background: color-mix(in srgb, var(--bs-success, #00d27a) 14%, #fff);
  color: var(--bs-success, #00d27a);
}

.pf-overview-card--accent .pf-overview-card__stat {
  color: var(--bs-success, #00d27a);
}

.pf-overview-card--warning .pf-overview-card__icon {
  background: color-mix(in srgb, var(--bs-warning, #f59f00) 16%, #fff);
  color: var(--bs-warning, #d97706);
}

.pf-overview-card--warning .pf-overview-card__stat {
  color: var(--bs-warning, #d97706);
}

.pf-contact-cell {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.pf-avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--pf-card-radius);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  overflow: hidden;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.78rem;
  font-weight: 800;
  color: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.06);
}

.pf-avatar--round {
  border-radius: 50%;
}

.pf-avatar__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pf-avatar.blue {
  background: linear-gradient(135deg, #173630, #173630);
}

.pf-avatar.green {
  background: linear-gradient(135deg, #22c55e, #14b8a6);
}

.pf-avatar.orange {
  background: linear-gradient(135deg, #f97316, #fb923c);
}

.pf-avatar.purple {
  background: linear-gradient(135deg, #2c5a51, #2c5a51);
}

.pf-avatar.teal {
  background: linear-gradient(135deg, #14b8a6, #132d28);
}

.pf-detail-hero {
  padding: 1.25rem 1.35rem;
  margin-bottom: 1rem;
}

.pf-detail-hero__main {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}

.pf-detail-hero__name {
  margin: 0 0 0.25rem;
  font-size: 1.125rem;
  font-weight: 800;
}

.pf-detail-hero__meta {
  margin: 0;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  font-size: 0.875rem;
}

.pf-detail-dl {
  margin: 0;
}

.pf-detail-dl__row {
  display: grid;
  grid-template-columns: minmax(8rem, 34%) 1fr;
  gap: 0.65rem 1rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--adm-border-subtle, rgba(0, 0, 0, 0.08));
}

.pf-detail-dl__row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.pf-detail-dl__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.pf-detail-dl__row dd {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.pf-detail-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.pf-detail-json {
  margin: 0;
  padding: 0.85rem 1rem;
  border: 1px solid var(--adm-border-subtle);
  border-radius: var(--pf-card-radius);
  background: #f8fafc;
  font-size: 0.78rem;
  line-height: 1.55;
  max-height: 280px;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-word;
}

.platform-module-page .platform-panel+.platform-panel,
.platform-module-page .pf-overview+.platform-panel,
.platform-module-page header+.pf-overview {
  margin-top: 0;
}

.platform-module-page .platform-module-page__canvas>section+section,
.platform-module-page .platform-module-page__canvas>.pf-overview+section,
.platform-module-page .platform-module-page__canvas>header+.pf-overview {
  margin-top: 0;
}

.platform-module-page .platform-module-page__canvas {
  gap: 1rem;
}

.platform-module-page .platform-form-sticky-footer {
  position: sticky;
  bottom: 0;
  z-index: 5;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.85rem 1.35rem 1.15rem;
  margin-top: 0.5rem;
  border-top: 1px solid var(--adm-border-subtle);
  background: linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff) 100%);
}

.platform-module-page .chat-compose {
  position: sticky;
  bottom: 0;
  z-index: 4;
}

html[data-theme="dark"] .pf-overview-card,
html[data-theme="dark"] .pf-detail-hero,
html[data-theme="dark"] .pf-detail-panel,
html[data-theme="dark"] .platform-module-page .platform-data-table tbody tr {
  background: var(--adm-bg-surface, var(--bg-secondary));
}

html[data-theme="dark"] .pf-detail-json {
  background: rgba(255, 255, 255, 0.04);
}

@media (max-width: 767.98px) {
  .pf-detail-dl__row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.25rem;
  }
}

/* Card radius lock â€” platform & collaboration (wins over legacy 0.75rem rules) */
.dashboard-wrapper .platform-module-page .pf-overview-card,
.dashboard-wrapper .platform-module-page .pf-detail-hero,
.dashboard-wrapper .platform-module-page .pf-detail-panel,
.dashboard-wrapper .platform-module-page .platform-hub-tile__inner,
.dashboard-wrapper .platform-module-page .inbox-notif-detail,
.dashboard-wrapper .platform-module-page .platform-panel,
.dashboard-wrapper .platform-module-page section.platform-panel {
  border-radius: 0.20rem !important;
}

/* Row actions â€” collaboration list panels (Companies standard) */
.platform-module-page .platform-panel[data-platform-table]:has(.dropdown-menu.show),
.platform-module-page .platform-panel[data-platform-table]:has(tr.platform-row-actions-open),
.platform-module-page .platform-panel[data-platform-table] .platform-panel__body:has(.dropdown-menu.show),
.platform-module-page .platform-panel[data-platform-table] .platform-panel__body:has(tr.platform-row-actions-open),
.platform-module-page .platform-panel[data-platform-table] .platform-table-shell:has(.dropdown-menu.show),
.platform-module-page .platform-panel[data-platform-table] .table-responsive:has(.dropdown-menu.show) {
  overflow: visible !important;
  position: relative;
  z-index: 40;
}

.platform-module-page .platform-panel[data-platform-table] tr.platform-row-actions-open {
  position: relative;
  z-index: 45;
}

.platform-module-page .platform-panel[data-platform-table] tr.platform-row-actions-open>td:last-child {
  overflow: visible;
  position: relative;
  z-index: 46;
}

.platform-module-page .platform-panel[data-platform-table] .platform-row-actions-dd:has(.dropdown-menu.show) {
  z-index: 47;
}

.platform-module-page .platform-panel[data-platform-table] .platform-row-actions-dd .dropdown-menu.show {
  z-index: 2000 !important;
}

.platform-module-page .platform-panel[data-platform-table] .platform-row-actions-dd__trigger,
.platform-module-page .platform-panel[data-platform-table] .platform-row-actions-dd__trigger .bi,
.platform-module-page .platform-panel[data-platform-table] .platform-row-actions-dd,
.platform-module-page .platform-panel[data-platform-table] .platform-row-actions-dd__menu,
.platform-module-page .platform-panel[data-platform-table] .platform-row-actions-dd__menu>li,
.platform-module-page .platform-panel[data-platform-table] .platform-row-actions-dd__menu .platform-row-actions-dd__item,
.platform-module-page .platform-panel[data-platform-table] .platform-row-actions-dd__menu .dropdown-item,
.platform-module-page .platform-panel[data-platform-table] .platform-row-actions-dd__menu .platform-row-actions-dd__form,
.platform-module-page .platform-panel[data-platform-table] .platform-row-actions-dd__menu .platform-row-actions-dd__form button {
  cursor: pointer !important;
}

.platform-module-page .platform-panel[data-platform-table] tbody tr[data-platform-row-href].platform-data-row--clickable:hover,
.platform-module-page .platform-panel[data-platform-table] tbody tr[data-platform-row-href].platform-data-row--clickable:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}


/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   Platform â€” module-unique styles (merged from platform-module.css)
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */
}


/* â”€â”€ Platform â€” module-unique styles (merged from platform-module.css) â”€â”€ */
/* أ¢â€‌â‚¬أ¢â€‌â‚¬ JSON preview & notification body أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.platform-module-page .platform-json-preview {
  max-height: 220px;
  overflow: auto;
}

.platform-module-page .platform-notification-body {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Page header actions & filters أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.platform-module-page .platform-page-header__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.platform-module-page .platform-filters-form .form-label {
  font-size: 0.8125rem;
  font-weight: 600;
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Inbox table أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.platform-module-page .platform-inbox-table thead th {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-weight: 600;
  color: var(--bs-secondary-color, #6c757d);
}

.platform-module-page .platform-inbox-row-unread {
  background: rgba(23, 54, 48, 0.06);
}

.platform-module-page .platform-inbox-row-unread:hover {
  background: rgba(23, 54, 48, 0.1);
}

.platform-module-page .platform-inbox-summary-cell {
  max-width: 18rem;
}

.platform-module-page .platform-inbox-ic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  vertical-align: middle;
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Detail grid layout أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.platform-module-page .platform-detail-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}

.platform-module-page .platform-detail-field {
  padding: 0.75rem 1rem;
  border: 1px solid var(--adm-border-subtle, #dee2e6);
  border-radius: var(--adm-radius-md, 0.5rem);
  background: var(--adm-bg-surface, #fff);
}

.platform-module-page .platform-detail-field__label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--bs-secondary-color, #6c757d);
  margin-bottom: 0.25rem;
}

.platform-module-page .platform-detail-field__value {
  font-weight: 500;
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Chat panel أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.platform-module-page .platform-chat-panel-wrap {
  min-height: min(72vh, 640px);
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Validation states (different positioning from system) أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.platform-module-page .form-control.platform-field-valid,
.platform-module-page .form-select.platform-field-valid,
.platform-module-page .form-control.platform-field-invalid,
.platform-module-page .form-select.platform-field-invalid {
  background-repeat: no-repeat;
  background-size: 1rem 1rem;
}

.platform-module-page .form-control.platform-field-valid,
.platform-module-page .form-select.platform-field-valid {
  border-color: var(--bs-success, #198754) !important;
  box-shadow: 0 0 0 0.16rem color-mix(in srgb, var(--bs-success, #198754) 18%, transparent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23198754'/%3E%3Cpath d='M4.3 8.3 6.9 11l4.8-5.1' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.platform-module-page .form-control.platform-field-invalid,
.platform-module-page .form-select.platform-field-invalid {
  border-color: var(--bs-danger, #dc3545) !important;
  box-shadow: 0 0 0 0.16rem color-mix(in srgb, var(--bs-danger, #dc3545) 16%, transparent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23dc3545'/%3E%3Cpath d='M8 4.1v5.2' stroke='white' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='11.9' r='1' fill='white'/%3E%3C/svg%3E");
}

[dir="ltr"] .platform-module-page .form-control.platform-field-valid,
[dir="ltr"] .platform-module-page .form-select.platform-field-valid,
[dir="ltr"] .platform-module-page .form-control.platform-field-invalid,
[dir="ltr"] .platform-module-page .form-select.platform-field-invalid {
  background-position: right 0.8rem center;
  padding-right: 2.35rem;
}

[dir="rtl"] .platform-module-page .form-control.platform-field-valid,
[dir="rtl"] .platform-module-page .form-select.platform-field-valid,
[dir="rtl"] .platform-module-page .form-control.platform-field-invalid,
[dir="rtl"] .platform-module-page .form-select.platform-field-invalid {
  background-position: left 0.8rem center;
  padding-left: 2.35rem;
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Inbox notification details أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.platform-module-page .inbox-notif-detail {
  border: 1px solid var(--adm-border-subtle, rgba(0, 0, 0, 0.08));
  border-radius: 0.20rem;
  background: var(--adm-bg-surface, #fff);
  box-shadow: 0 1px 3px rgba(7, 10, 9, 0.06);
  overflow: hidden;
}

.platform-module-page .inbox-notif-detail__hero {
  display: flex;
  gap: 1.1rem;
  align-items: flex-start;
  padding: 1.35rem 1.5rem 1.1rem;
  border-bottom: 1px solid var(--adm-border-subtle, rgba(0, 0, 0, 0.06));
  background: linear-gradient(180deg,
      color-mix(in srgb, var(--adm-primary, #122b26) 4%, transparent) 0%,
      transparent 100%);
}

.platform-module-page .inbox-notif-detail__icon-wrap {
  flex-shrink: 0;
}

.platform-module-page .inbox-notif-detail__icon {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 0.20rem;
  font-size: 1.35rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.platform-module-page .inbox-notif-detail__hero-main {
  flex: 1;
  min-width: 0;
}

.platform-module-page .inbox-notif-detail__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.5rem;
  margin-bottom: 0.65rem;
}

.platform-module-page .inbox-notif-detail__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--adm-text-muted, #64748b);
  padding: 0.2rem 0.55rem;
  border-radius: var(--sys-radius);
  background: var(--adm-bg-muted, #f1f5f9);
  border: 1px solid transparent;
  white-space: nowrap;
  max-width: 100%;
}

.platform-module-page .inbox-notif-detail__chip--channel {
  color: var(--adm-primary, #122b26);
  background: color-mix(in srgb, var(--adm-primary, #122b26) 10%, #fff);
  border-color: color-mix(in srgb, var(--adm-primary, #122b26) 18%, transparent);
}

.platform-module-page .inbox-notif-detail__chip--muted {
  font-weight: 500;
  background: transparent;
  border: 1px dashed var(--adm-border-subtle, #e2e8f0);
}

.platform-module-page .inbox-notif-detail__status {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.2rem 0.6rem;
  border-radius: var(--sys-radius);
}

.platform-module-page .inbox-notif-detail__status--read {
  color: #15803d;
  background: rgba(34, 197, 94, 0.12);
}

.platform-module-page .inbox-notif-detail__status--unread {
  color: var(--adm-brand-600, #19302b);
  background: rgba(23, 54, 48, 0.12);
}

.platform-module-page .inbox-notif-detail__title {
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.45;
  margin: 0;
  color: var(--adm-text, #070a09);
  overflow-wrap: anywhere;
}

.platform-module-page .inbox-notif-detail__body {
  padding: 1.15rem 1.5rem 1.25rem;
}

.platform-module-page .inbox-notif-detail__body-label {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--adm-text-muted, #64748b);
  margin: 0 0 0.5rem;
}

.platform-module-page .inbox-notif-detail__body-text {
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--adm-text, #334155);
  padding: 0.85rem 1rem;
  border-radius: var(--adm-radius-md, 0.5rem);
  background: var(--adm-bg-muted, #f8fafc);
  border-inline-start: 3px solid var(--adm-primary, #122b26);
}

.platform-module-page .inbox-notif-detail__footer {
  padding: 0.85rem 1.5rem 1.15rem;
  border-top: 1px solid var(--adm-border-subtle, rgba(0, 0, 0, 0.06));
  background: var(--adm-bg-muted, #f8fafc);
}

.platform-module-page .inbox-notif-detail__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

[dir="rtl"] .platform-module-page .inbox-notif-detail__actions {
  justify-content: flex-start;
}

@media (max-width: 575.98px) {
  .platform-module-page .inbox-notif-detail__hero {
    flex-direction: column;
    align-items: stretch;
  }

  .platform-module-page .inbox-notif-detail__actions .btn {
    width: 100%;
    justify-content: center;
  }
}

html[data-theme="dark"] .platform-module-page .inbox-notif-detail {
  background: var(--bg-secondary);
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .platform-module-page .inbox-notif-detail__body-text {
  background: rgba(255, 255, 255, 0.04);
}


/* ── pos (1064 lines) ──────────────────────── */
/* ==========================================================================
   POS â€” merged page-level styles
   Source files:
     - pos-dashboard.css
     - pos-hub.css
     - pos-terminal.css
   ========================================================================== */

/* â”€â”€ pos-dashboard â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

/* POS manager / supervisor dashboard â€” panels, KPIs, report tables */
.pos-dash-page .pos-dash-filters .form-label {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui);
  margin-bottom: 0.25rem;
}

.pos-dash-page .pos-dash-filters .form-control {
  min-width: 10.5rem;
}

.pos-dash-kpi-grid {
  margin-bottom: 0;
}

.pos-dash-kpi-grid .pos-exec-kpi {
  min-height: 6.75rem;
}

.pos-dash-table-panel .pos-panel__body--flush {
  max-height: min(22rem, 52vh);
  overflow: auto;
}

.pos-dash-table-panel .pos-data-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--adm-bg-surface);
  box-shadow: 0 1px 0 var(--adm-border-subtle);
}

.pos-dash-table-panel .pos-empty-state {
  min-height: 11rem;
}

.pos-dash-bar {
  height: 0.55rem;
  background: color-mix(in srgb, var(--adm-border-subtle) 55%, transparent);
  border-radius: var(--sys-radius);
  overflow: hidden;
}

.pos-dash-bar>span {
  display: block;
  height: 100%;
  border-radius: var(--sys-radius);
  background: linear-gradient(90deg,
      var(--adm-brand-600),
      color-mix(in srgb, var(--adm-brand-600) 65%, #122b26));
  transition: width 0.35s ease;
}

.pos-dash-page .pos-page-footer-actions {
  margin-top: 0.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--adm-border-subtle);
}

/* Session / cashier ops (back-office shell) */
.pos-session-pick-grid .pos-terminal-pick-card {
  border: 1px solid var(--adm-border-subtle);
  border-radius: 0.65rem;
  background: var(--adm-bg-surface);
  padding: 1.1rem 1.15rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.pos-session-pick-grid .pos-terminal-pick-card:hover {
  border-color: color-mix(in srgb, var(--adm-brand-600) 35%, var(--adm-border-subtle));
  box-shadow: 0 4px 14px rgba(7, 10, 9, 0.06);
}

.pos-terminal-pick-card__code {
  font-size: 0.78rem;
  color: var(--adm-text-muted-ui);
  font-variant-numeric: tabular-nums;
}

.pos-session-report .pos-panel+.pos-panel {
  margin-top: 0;
}

[data-bs-theme="dark"] .pos-session-pick-grid .pos-terminal-pick-card {
  box-shadow: none;
}

/* â”€â”€ pos-hub â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

/* Inventory hub â€” compliance KPI strip */
.pos-exec-kpi {
  border-radius: 0.5rem;
  border: 1px solid var(--adm-border-subtle);
  background: var(--adm-bg-surface);
  padding: 1rem 1.1rem;
  height: 100%;
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.pos-exec-kpi::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: 0.5rem 0 0 0.5rem;
}

.pos-exec-kpi--warning::before {
  background: #f59e0b;
}

.pos-exec-kpi--danger::before {
  background: #dc3545;
}

.pos-exec-kpi--info::before {
  background: #173630;
}

.pos-exec-kpi--success::before {
  background: #198754;
}

.pos-exec-kpi--neutral::before {
  background: #6c757d;
}

.pos-exec-kpi__label {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--adm-text-muted-ui);
  margin-bottom: 0.35rem;
}

.pos-exec-kpi__value {
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  color: var(--adm-text-strong);
}

.pos-exec-kpi__meta {
  font-size: 0.8rem;
  color: var(--adm-text-muted-ui);
  margin-top: 0.35rem;
}

/* â”€â”€ pos-terminal â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

/* =====================================================
   POS Terminal Layout â€” full-screen professional UI
   ===================================================== */

/* Shell */
body.pos-terminal-shell {
  display: flex;
  flex-direction: column;
  height: 100dvh;
  height: 100vh;
  /* fallback for browsers without dvh */
  overflow: hidden;
  background: var(--bs-body-bg);
}

.d-contents {
  display: contents;
}

/* â”€â”€ Top bar â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.pos-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 52px;
  padding: 0 1rem;
  background: #1e293b;
  color: #e2e8f0;
  flex-shrink: 0;
  gap: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  z-index: 10;
}

.pos-topbar-brand {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-weight: 700;
  min-width: 0;
}

.pos-topbar-logo {
  width: 28px;
  height: 28px;
  background: linear-gradient(135deg, #173630, #122b26);
  border-radius: .5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pos-topbar-terminal {
  color: #f1f5f9;
  font-weight: 600;
  font-size: .9rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Terminal code sits on the dark topbar, so it needs the same muted-light
   tone as .pos-topbar-cashier — Bootstrap's .text-muted is unreadable here. */
.pos-topbar-code {
  color: #94a3b8;
}

.pos-topbar-status-dot {
  font-size: .45rem;
  color: #4ade80;
}

.pos-topbar-center {
  flex: 1;
  display: flex;
  justify-content: center;
}

.pos-topbar-actions {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-shrink: 0;
}

.pos-topbar-cashier {
  font-size: .8125rem;
  color: #94a3b8;
  display: flex;
  align-items: center;
  gap: .35rem;
  white-space: nowrap;
}

.pos-topbar-chip {
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: var(--sys-radius);
  padding: .2rem .65rem;
  font-size: .78rem;
  color: #cbd5e1;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}

.pos-topbar-close-btn {
  border-color: rgba(255, 255, 255, .18) !important;
  color: #94a3b8 !important;
  font-size: .8rem;
  gap: .35rem;
}

.pos-topbar-close-btn:hover {
  background: rgba(255, 255, 255, .1) !important;
  color: #f1f5f9 !important;
  border-color: rgba(255, 255, 255, .3) !important;
}

/* â”€â”€ Main area â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.pos-main {
  flex: 1;
  overflow: hidden;
  display: flex;
  min-height: 0;
}

/* â•”â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•—
   â•‘       SELL SCREEN             â•‘
   â•ڑâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•‌ */

.pos-sell-screen {
  display: flex;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* â”€â”€ Catalog panel (left) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.pos-catalog-panel {
  width: 44%;
  min-width: 260px;
  display: flex;
  flex-direction: column;
  border-inline-end: 1px solid var(--bs-border-color);
  background: var(--bs-secondary-bg);
  overflow: hidden;
}

.pos-search-bar {
  padding: .65rem .75rem;
  border-bottom: 1px solid var(--bs-border-color);
  flex-shrink: 0;
  background: var(--bs-body-bg);
  display: flex;
  gap: .5rem;
}

.pos-search-input-wrap {
  position: relative;
  flex: 1;
}

.pos-search-icon-start {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: .7rem;
  transform: translateY(-50%);
  color: var(--bs-secondary-color);
  pointer-events: none;
  font-size: .9rem;
  z-index: 1;
}

.pos-search-input {
  width: 100%;
  padding-inline-start: 2rem !important;
  border-radius: .75rem !important;
  font-size: .9rem;
  height: 2.375rem;
}

.pos-product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .45rem;
  padding: .65rem;
  overflow-y: auto;
  flex: 1;
  align-content: start;
}

/* Product card */
.pos-product-card {
  background: var(--bs-body-bg);
  border: 1.5px solid var(--bs-border-color);
  border-radius: .875rem;
  padding: .65rem .45rem .55rem;
  cursor: pointer;
  transition: background .11s ease, border-color .11s ease, transform .1s ease, box-shadow .11s ease;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .25rem;
  min-height: 90px;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  position: relative;
  overflow: hidden;
}

.pos-product-card:hover {
  border-color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), .05);
  box-shadow: 0 2px 8px rgba(var(--bs-primary-rgb), .15);
  transform: translateY(-1px);
}

.pos-product-card:active {
  transform: scale(.97);
  background: var(--bs-primary);
  border-color: var(--bs-primary);
  box-shadow: none;
}

.pos-product-card:active .pos-product-card-icon {
  background: rgba(255, 255, 255, .2);
  color: #fff;
}

.pos-product-card:active .pos-product-card-name {
  color: #fff;
}

.pos-product-card:active .pos-product-card-price {
  color: rgba(255, 255, 255, .9);
}

.pos-product-card:active .pos-product-card-sku {
  color: rgba(255, 255, 255, .65);
}

/* Non-sellable variant (rendered as a div, not a button) — it must not
   advertise itself as tappable. Mirrors .admin-tenant-row--static. */
.pos-product-card--static {
  cursor: default;
}

.pos-product-card--static.pos-product-card:hover {
  border-color: var(--bs-border-color);
  background: var(--bs-body-bg);
  box-shadow: none;
  transform: none;
}

.pos-product-card-icon {
  width: 2rem;
  height: 2rem;
  background: rgba(var(--bs-primary-rgb), .1);
  border-radius: .5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--bs-primary);
  font-size: 1rem;
  transition: background .11s, color .11s;
  flex-shrink: 0;
}

.pos-product-card-name {
  font-size: .72rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--bs-body-color);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  transition: color .11s;
  width: 100%;
}

.pos-product-card-price {
  font-size: .8rem;
  font-weight: 700;
  color: var(--bs-primary);
  font-variant-numeric: tabular-nums;
  transition: color .11s;
}

.pos-product-card-sku {
  font-size: .65rem;
  color: var(--bs-secondary-color);
  transition: color .11s;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
}

.pos-no-results {
  grid-column: 1 / -1;
  text-align: center;
  padding: 2.5rem 1rem;
  color: var(--bs-secondary-color);
}

/* â”€â”€ Cart panel (right) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.pos-cart-panel {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--bs-body-bg);
  min-width: 0;
}

/* Customer strip */
.pos-customer-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .45rem 1rem;
  border-bottom: 1px solid var(--bs-border-color);
  background: var(--bs-secondary-bg);
  flex-shrink: 0;
  gap: .5rem;
  min-height: 44px;
}

.pos-customer-strip-left {
  display: flex;
  align-items: center;
  gap: .5rem;
  min-width: 0;
  flex: 1;
}

.pos-customer-icon {
  width: 1.75rem;
  height: 1.75rem;
  background: rgba(var(--bs-primary-rgb), .1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--bs-primary);
  font-size: .85rem;
  flex-shrink: 0;
}

.pos-customer-name {
  font-size: .85rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pos-customer-walk-in {
  font-size: .85rem;
  color: var(--bs-secondary-color);
  font-style: italic;
}

.pos-receipt-badge {
  font-size: .68rem;
  background: rgba(var(--bs-primary-rgb), .08);
  color: var(--bs-primary);
  border-radius: .375rem;
  padding: .15rem .45rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}

/* Cart lines */
.pos-cart-lines {
  flex: 1;
  overflow-y: auto;
  padding: .25rem 0;
  min-height: 0;
}

.pos-cart-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--bs-secondary-color);
  gap: .75rem;
  padding: 2rem;
}

.pos-cart-empty-icon {
  font-size: 3rem;
  opacity: .25;
}

.pos-cart-line {
  display: flex;
  align-items: center;
  gap: .4rem;
  padding: .5rem .75rem;
  border-bottom: 1px solid var(--bs-border-color-translucent);
  transition: background .08s;
}

.pos-cart-line:last-child {
  border-bottom: none;
}

.pos-cart-line:hover {
  background: var(--bs-secondary-bg);
}

.pos-cart-line-num {
  font-size: .72rem;
  color: var(--bs-secondary-color);
  min-width: 1.2rem;
  text-align: center;
  flex-shrink: 0;
}

.pos-cart-line-info {
  flex: 1;
  min-width: 0;
}

.pos-cart-line-name {
  font-size: .875rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pos-cart-line-meta {
  font-size: .73rem;
  color: var(--bs-secondary-color);
  display: flex;
  align-items: center;
  gap: .2rem;
  flex-wrap: wrap;
  margin-top: .1rem;
}

.pos-cart-line-qty {
  display: flex;
  align-items: center;
  gap: .2rem;
  flex-shrink: 0;
}

.pos-qty-btn {
  width: 1.6rem;
  height: 1.6rem;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: .45rem;
  font-size: .85rem;
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;
  background: var(--bs-secondary-bg);
  border: 1px solid var(--bs-border-color);
  color: var(--bs-body-color);
  cursor: pointer;
  transition: background .1s, border-color .1s, color .1s, transform .07s;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}

.pos-qty-btn:hover:not([disabled]) {
  background: rgba(var(--bs-primary-rgb), .08);
  border-color: rgba(var(--bs-primary-rgb), .45);
  color: var(--bs-primary);
}

.pos-qty-btn:active:not([disabled]) {
  transform: scale(.88);
}

.pos-qty-btn[disabled] {
  opacity: .3;
  cursor: default;
}

.pos-qty-value {
  min-width: 2.2rem;
  text-align: center;
  font-size: .875rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.pos-line-qty-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.35rem;
  background: rgba(var(--bs-primary-rgb), .1);
  color: var(--bs-primary);
  border-radius: .35rem;
  font-size: .7rem;
  font-weight: 700;
  padding: 0 .3rem;
  font-variant-numeric: tabular-nums;
}

.pos-tax-hint {
  display: inline-flex;
  align-items: center;
  font-size: .63rem;
  color: var(--bs-success);
  background: rgba(var(--bs-success-rgb), .1);
  border-radius: .25rem;
  padding: .05rem .3rem;
  font-weight: 600;
  letter-spacing: .01em;
}

.pos-cart-line-price {
  min-width: 4.5rem;
  text-align: end;
  font-size: .875rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
  color: var(--bs-body-color);
}

.pos-cart-remove-btn {
  width: 1.6rem;
  height: 1.6rem;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: .45rem;
  font-size: .78rem;
  flex-shrink: 0;
  color: var(--bs-secondary-color);
  background: transparent;
  border: 1px solid transparent;
  cursor: pointer;
  transition: color .12s, background .12s, border-color .12s;
  -webkit-tap-highlight-color: transparent;
}

.pos-cart-remove-btn:hover {
  color: var(--bs-danger);
  background: rgba(var(--bs-danger-rgb), .08);
  border-color: rgba(var(--bs-danger-rgb), .25);
}

/* Totals bar */
.pos-totals-bar {
  border-top: 2px solid var(--bs-border-color);
  padding: .55rem 1rem 0;
  background: var(--bs-secondary-bg);
  flex-shrink: 0;
  overflow: hidden;
}

.pos-totals-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: .12rem 0;
  font-size: .83rem;
  color: var(--bs-secondary-color);
}

.pos-totals-row.grand {
  margin: .4rem -1rem 0;
  padding: .6rem 1rem;
  background: #1e293b;
  color: #f1f5f9;
  font-size: 1rem;
  font-weight: 700;
  border-top: none;
}

.pos-totals-row.grand .pos-totals-amount {
  font-size: 1.2rem;
  color: #fff;
}

.pos-totals-row.discount {
  color: var(--bs-success);
}

.pos-totals-amount {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

.pos-totals-credit {
  margin: 0 -1rem;
  padding: .35rem 1rem .5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: .75rem;
  color: var(--bs-secondary-color);
  background: #1e293b;
  border-top: 1px solid rgba(255, 255, 255, .07);
}

.pos-totals-credit-value {
  font-weight: 600;
  color: var(--adm-brand-600, #1b3e38);
  font-variant-numeric: tabular-nums;
}

/* Action bar */
.pos-action-bar {
  padding: .65rem .75rem;
  display: flex;
  gap: .5rem;
  border-top: 1px solid var(--bs-border-color);
  flex-shrink: 0;
  background: var(--bs-body-bg);
  align-items: stretch;
}

.pos-secondary-actions {
  display: flex;
  flex-direction: column;
  gap: .35rem;
}

.pos-secondary-actions .btn {
  font-size: .78rem;
  padding: .3rem .6rem;
  white-space: nowrap;
}

.pos-pay-btn {
  flex: 1;
  min-height: 4.5rem;
  font-size: 1.2rem;
  font-weight: 800;
  border-radius: .875rem;
  box-shadow: 0 4px 16px rgba(var(--bs-success-rgb), .35);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  flex-direction: column;
  line-height: 1.15;
  transition: box-shadow .15s, transform .1s;
  letter-spacing: .01em;
}

.pos-pay-btn:hover:not(:disabled) {
  box-shadow: 0 6px 22px rgba(var(--bs-success-rgb), .45);
  transform: translateY(-1px);
}

.pos-pay-btn:disabled {
  box-shadow: none;
  opacity: .5;
}

.pos-pay-btn-label {
  font-size: 1.15rem;
  font-weight: 800;
}

.pos-pay-btn-amount {
  font-size: .85rem;
  font-weight: 600;
  opacity: .85;
  font-variant-numeric: tabular-nums;
}

/* Held tickets */
.pos-held-panel {
  padding: .4rem .75rem;
  border-top: 1px solid var(--bs-border-color);
  background: var(--bs-body-bg);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}

.pos-held-label {
  font-size: .7rem;
  font-weight: 700;
  color: var(--bs-secondary-color);
  text-transform: uppercase;
  letter-spacing: .06em;
  flex-shrink: 0;
}

.pos-held-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem;
}

.pos-held-chip {
  background: var(--bs-secondary-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: .5rem;
  padding: .2rem .55rem;
  font-size: .75rem;
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  cursor: pointer;
  transition: background .1s, border-color .1s;
}

.pos-held-chip:hover {
  background: rgba(var(--bs-warning-rgb), .1);
  border-color: var(--bs-warning);
  color: var(--bs-warning-text-emphasis);
}

/* â”€â”€ Hold modal â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* uses Bootstrap modal â€” no extra CSS needed */

/* â•”â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•—
   â•‘     CHECKOUT SCREEN           â•‘
   â•ڑâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•‌ */

.pos-checkout-screen {
  display: flex;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* Left order summary */
.pos-order-summary-panel {
  width: 36%;
  min-width: 240px;
  display: flex;
  flex-direction: column;
  border-inline-end: 1px solid var(--bs-border-color);
  background: var(--bs-secondary-bg);
  overflow: hidden;
}

.pos-order-summary-header {
  padding: .75rem 1rem;
  border-bottom: 1px solid var(--bs-border-color);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: .5rem;
}

.pos-order-summary-lines {
  flex: 1;
  overflow-y: auto;
  padding: .35rem 0;
}

.pos-summary-line {
  display: flex;
  align-items: flex-start;
  gap: .4rem;
  padding: .35rem 1rem;
  font-size: .83rem;
  border-bottom: 1px solid var(--bs-border-color-translucent);
}

.pos-summary-line:last-child {
  border-bottom: none;
}

.pos-summary-line-name {
  flex: 1;
  min-width: 0;
  font-weight: 500;
  word-break: break-word;
}

.pos-summary-line-qty {
  color: var(--bs-secondary-color);
  min-width: 2.5rem;
  text-align: center;
  flex-shrink: 0;
  font-variant-numeric: tabular-nums;
}

.pos-summary-line-total {
  min-width: 4rem;
  text-align: end;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}

.pos-order-totals {
  border-top: 2px solid var(--bs-border-color);
  padding: .65rem 1rem;
  flex-shrink: 0;
  background: var(--bs-body-bg);
}

/* Right payment */
.pos-payment-panel {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-width: 0;
  background: var(--bs-body-bg);
}

/* Amount due */
.pos-amount-due-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .8rem 1.5rem;
  background: #070a09;
  color: #f1f5f9;
  flex-shrink: 0;
}

.pos-amount-due-label {
  font-size: .8rem;
  color: #64748b;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .07em;
}

.pos-amount-due-right {
  text-align: end;
}

.pos-amount-due-value {
  font-size: 2rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.02em;
  line-height: 1;
}

.pos-amount-due-currency {
  font-size: .85rem;
  color: #475569;
  margin-inline-start: .35rem;
  font-weight: 500;
}

/* Method tabs */
.pos-method-tabs {
  display: flex;
  padding: .65rem;
  gap: .45rem;
  border-bottom: 1px solid var(--bs-border-color);
  flex-shrink: 0;
  background: var(--bs-secondary-bg);
}

.pos-method-tab {
  flex: 1;
  padding: .55rem .4rem;
  border-radius: .75rem;
  border: 2px solid var(--bs-border-color);
  background: var(--bs-body-bg);
  cursor: pointer;
  text-align: center;
  font-size: .78rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
  transition: border-color .12s, color .12s, background .12s;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .2rem;
  line-height: 1.2;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}

.pos-method-tab i {
  font-size: 1.2rem;
}

.pos-method-tab:hover {
  border-color: rgba(var(--bs-primary-rgb), .5);
  color: var(--bs-primary);
}

.pos-method-tab.active {
  border-color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), .08);
  color: var(--bs-primary);
}

/* Amount display */
.pos-amount-input-section {
  padding: .65rem 1.25rem .35rem;
  flex-shrink: 0;
}

.pos-amount-input-label {
  font-size: .75rem;
  font-weight: 700;
  color: var(--bs-secondary-color);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: .35rem;
}

.pos-amount-display {
  background: var(--bs-secondary-bg);
  border: 2px solid var(--bs-border-color);
  border-radius: .875rem;
  padding: .5rem .9rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 3rem;
  transition: border-color .15s;
  cursor: default;
}

.pos-amount-display.focused {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb), .12);
}

.pos-amount-display-value {
  font-size: 1.85rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.02em;
  color: var(--bs-body-color);
}

.pos-amount-display-currency {
  font-size: .85rem;
  color: var(--bs-secondary-color);
  margin-inline-start: .4rem;
  font-weight: 500;
}

/* Card reference */
.pos-card-ref-wrap {
  padding: .35rem 1.25rem 0;
  flex-shrink: 0;
}

/* Numpad */
.pos-numpad-wrap {
  padding: .5rem 1.25rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 0;
}

.pos-numpad {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .4rem;
  max-width: 310px;
  margin: 0 auto;
  width: 100%;
}

.pos-numpad-btn {
  aspect-ratio: 1.55;
  font-size: 1.25rem;
  font-weight: 600;
  border-radius: .75rem;
  border: 1px solid var(--bs-border-color);
  background: var(--bs-secondary-bg);
  color: var(--bs-body-color);
  cursor: pointer;
  transition: background .08s, transform .07s;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}

.pos-numpad-btn:hover {
  background: var(--bs-border-color);
}

.pos-numpad-btn:active {
  transform: scale(.94);
  background: rgba(var(--bs-primary-rgb), .12);
}

.pos-numpad-btn.backspace {
  color: var(--bs-danger);
  font-size: .9rem;
}

.pos-numpad-btn.key-exact {
  background: rgba(var(--bs-info-rgb), .07);
  border-color: var(--bs-info);
  color: var(--bs-info);
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* Change bar */
.pos-change-bar {
  padding: .3rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: .85rem;
  flex-shrink: 0;
  border-top: 1px dashed var(--bs-border-color);
}

.pos-change-label {
  color: var(--bs-secondary-color);
  font-weight: 500;
}

.pos-change-value {
  font-size: 1rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--bs-secondary-color);
}

.pos-change-value.positive {
  color: var(--bs-success);
}

.pos-change-value.overpaid {
  color: var(--bs-warning);
}

/* Complete button */
.pos-complete-bar {
  padding: .65rem;
  border-top: 1px solid var(--bs-border-color);
  flex-shrink: 0;
}

.pos-complete-btn {
  width: 100%;
  height: 3rem;
  font-size: 1rem;
  font-weight: 700;
  border-radius: .875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  letter-spacing: .02em;
  box-shadow: 0 4px 14px rgba(var(--bs-success-rgb), .3);
  transition: box-shadow .15s, transform .1s;
}

.pos-complete-btn:hover:not(:disabled) {
  box-shadow: 0 6px 20px rgba(var(--bs-success-rgb), .42);
  transform: translateY(-1px);
}

.pos-complete-btn:disabled {
  box-shadow: none;
  opacity: .55;
}

/* Split summary */
.pos-split-summary {
  padding: .4rem 1.25rem;
  flex-shrink: 0;
}

.pos-split-row {
  display: flex;
  justify-content: space-between;
  font-size: .78rem;
  padding: .1rem 0;
}

.pos-split-row .lbl {
  color: var(--bs-secondary-color);
}

.pos-split-row .val {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* â”€â”€ Scrollbar styling â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.pos-product-grid::-webkit-scrollbar,
.pos-cart-lines::-webkit-scrollbar,
.pos-order-summary-lines::-webkit-scrollbar {
  width: 3px;
}

.pos-product-grid::-webkit-scrollbar-track,
.pos-cart-lines::-webkit-scrollbar-track,
.pos-order-summary-lines::-webkit-scrollbar-track {
  background: transparent;
}

.pos-product-grid::-webkit-scrollbar-thumb,
.pos-cart-lines::-webkit-scrollbar-thumb,
.pos-order-summary-lines::-webkit-scrollbar-thumb {
  background: var(--bs-border-color);
  border-radius: 2px;
}

/* â”€â”€ Dark mode â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[data-theme="dark"] .pos-topbar {
  background: #060908;
}

[data-theme="dark"] .pos-catalog-panel {
  background: color-mix(in srgb, var(--bs-body-bg) 60%, #1e3b34);
}

[data-theme="dark"] .pos-product-card {
  background: var(--bs-secondary-bg);
}

[data-theme="dark"] .pos-product-card:hover {
  background: rgba(var(--bs-primary-rgb), .12);
}

[data-theme="dark"] .pos-amount-due-bar {
  background: #020505;
}

[data-theme="dark"] .pos-numpad-btn {
  background: var(--bs-secondary-bg);
}

[data-theme="dark"] .pos-totals-row.grand {
  background: #020505;
}

[data-theme="dark"] .pos-totals-credit {
  background: #020505;
  border-top-color: rgba(255, 255, 255, .04);
}

/* â”€â”€ RTL â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[dir="rtl"] .pos-amount-display {
  justify-content: flex-start;
}

[dir="rtl"] .pos-summary-line-total,
[dir="rtl"] .pos-cart-line-price,
[dir="rtl"] .pos-totals-amount,
[dir="rtl"] .pos-totals-credit-value {
  text-align: start;
}

[dir="rtl"] .pos-totals-row.grand,
[dir="rtl"] .pos-totals-credit {
  margin-inline-start: -1rem;
  margin-inline-end: -1rem;
  margin-left: unset;
  margin-right: unset;
}

/* â”€â”€ Responsive â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 900px) {
  .pos-catalog-panel {
    width: 40%;
  }

  .pos-product-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 680px) {
  .pos-sell-screen {
    flex-direction: column;
  }

  .pos-catalog-panel {
    width: 100%;
    max-height: 42%;
    border-inline-end: none;
    border-bottom: 1px solid var(--bs-border-color);
  }

  .pos-order-summary-panel {
    display: none;
  }

  .pos-payment-panel {
    width: 100%;
  }
}


/* ── purchasing (1199 lines) ──────────────────────── */
/* ═══════════════════════════════════════════════════════════════
   Purchasing — All page-specific styles (merged)
   ═══════════════════════════════════════════════════════════════ */

/* ── Cycle Hub ─────────────────────────────────────────────────── */
/* Purchasing — Cycle hub (procure-to-pay) */

:root {
  --pu-cycle-radius: 0.20rem;
  --pu-cycle-gap: 1rem;
  --pu-cycle-group-gap: 1.5rem;
  --pu-cycle-pad-block: 1rem;
  --pu-cycle-pad-inline: 1.15rem;
}

.pu-cycle-page {
  display: flex;
  flex-direction: column;
  gap: var(--pu-cycle-group-gap);
  padding-bottom: 1.25rem;
}

.pu-cycle-group {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.pu-cycle-group--queue {
  gap: 0;
}

.pu-cycle-group__head {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 0;
  padding: 0 0.1rem;
}

.pu-cycle-group__accent {
  flex: 0 0 4px;
  width: 4px;
  min-height: 1.35rem;
  align-self: stretch;
  border-radius: var(--pu-cycle-radius);
  background: linear-gradient(180deg,
      var(--adm-brand-600, var(--bs-primary)),
      color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 72%, #121f1d));
}

.pu-cycle-group__text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.pu-cycle-group__title {
  margin: 0;
  font-size: 1.0625rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.35;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.pu-cycle-group__desc {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  max-width: 52rem;
}

.pu-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.pu-overview-card {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--pu-cycle-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  overflow: hidden;
}

.pu-overview-card--active {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 35%, var(--adm-border-subtle, var(--bs-border-color)));
  box-shadow: 0 4px 16px rgba(7, 10, 9, 0.08);
}

.pu-overview-card__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
}

.pu-overview-card__title {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.pu-overview-card__stat {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
}

.pu-overview-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--pu-cycle-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.25rem;
}

.dashboard-wrapper .purch-module-page .pu-cycle-page .purch-panel.pu-cycle-panel,
.dashboard-wrapper .purch-module-page .pu-cycle-page section.purch-panel.pu-cycle-panel {
  border-radius: var(--pu-cycle-radius) !important;
}

.pu-cycle-page .pu-overview-card,
.pu-cycle-page .pu-cycle-stat-card {
  border-radius: var(--pu-cycle-radius);
}

.pu-cycle-stat-card {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.pu-cycle-stat-card:hover,
.pu-cycle-stat-card:focus-visible {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 32%, var(--adm-border-subtle, var(--bs-border-color)));
  box-shadow: 0 4px 16px rgba(7, 10, 9, 0.07);
  transform: translateY(-1px);
  color: inherit;
}

.pu-cycle-stat-card:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 45%, transparent);
  outline-offset: 2px;
}

.pu-cycle-stat-card__icon--primary {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.pu-cycle-stat-card__icon--success {
  background: color-mix(in srgb, var(--bs-success, #00d27a) 14%, #fff);
  color: var(--bs-success, #00d27a);
}

.pu-cycle-stat-card__icon--warning {
  background: color-mix(in srgb, #f59e0b 14%, #fff);
  color: #d97706;
}

.pu-cycle-stat-card__icon--danger {
  background: color-mix(in srgb, var(--bs-danger, #dc3545) 12%, #fff);
  color: var(--bs-danger, #dc3545);
}

.pu-cycle-stat-card__icon--info {
  background: color-mix(in srgb, #17322d 14%, #fff);
  color: var(--adm-brand-600, #112a25);
}

.pu-cycle-stat-card__icon--secondary {
  background: color-mix(in srgb, var(--bs-secondary) 12%, #fff);
  color: var(--bs-secondary);
}

.pu-overview--cycle {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--pu-cycle-gap);
}

.pu-overview--cycle-compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--pu-cycle-gap);
}

.pu-cycle-page .purch-panel.pu-cycle-panel {
  margin-bottom: 0 !important;
}

.pu-cycle-page .purch-panel.pu-cycle-panel>.purch-panel__head,
.pu-cycle-page .purch-panel.pu-cycle-panel>.purch-panel__header,
.pu-cycle-page .purch-panel.pu-cycle-panel>.purch-panel__body--padded,
.pu-cycle-page .purch-panel.pu-cycle-panel>.purch-panel__body--flush {
  padding: var(--pu-cycle-pad-block) var(--pu-cycle-pad-inline) !important;
}

.pu-cycle-page .purch-panel.pu-cycle-panel>.purch-panel__head,
.pu-cycle-page .purch-panel.pu-cycle-panel>.purch-panel__header {
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: linear-gradient(180deg,
      color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 5%, #fff) 0%,
      #fff 100%);
}

.pu-cycle-page .purch-panel.pu-cycle-panel>.purch-panel__head .purch-panel__title {
  font-size: 1.0625rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.35;
}

.pu-cycle-page .purch-panel.pu-cycle-panel>.purch-panel__head .purch-panel__subtitle {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.pu-cycle-page .pu-cycle-filter-form .form-label {
  margin-bottom: 0.35rem;
}

.pu-cycle-page .pu-cycle-filter-form .btn {
  min-width: 5.5rem;
}

.pu-cycle-page .operational-cycle-step,
.pu-cycle-page .operational-cycle-pipeline__link {
  border-radius: var(--pu-cycle-radius);
}

.pu-cycle-page .operational-cycle-step__icon {
  border-radius: var(--pu-cycle-radius);
}

.pu-cycle-page .operational-cycle-pipeline {
  padding: 0.1rem 0 0.25rem;
}

@media (max-width: 991.98px) {

  .pu-overview--cycle,
  .pu-overview--cycle-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {

  .pu-overview--cycle,
  .pu-overview--cycle-compact {
    grid-template-columns: minmax(0, 1fr);
  }

  .pu-cycle-page .purch-panel.pu-cycle-panel>.purch-panel__head,
  .pu-cycle-page .purch-panel.pu-cycle-panel>.purch-panel__body--padded,
  .pu-cycle-page .purch-panel.pu-cycle-panel>.purch-panel__body--flush {
    padding-inline: 1rem !important;
  }
}


/* ── Master Data ───────────────────────────────────────────────── */
/* Purchasing — reference master data (payment terms, Incoterms) */

:root {
  --pu-md-radius: 0.20rem;
}

.pu-md-overview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: 0.75rem;
}

.pu-md-overview-card,
.pu-md-detail-hero,
.pu-md-detail-panel,
.pu-md-form-card {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--pu-md-radius);
  /* Was a literal #fff, which stayed white while everything around it went dark. */
  background: var(--adm-bg-surface, #fff);
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  overflow: hidden;
}

.dashboard-wrapper .purch-module-page .purch-panel.pu-md-panel,
.dashboard-wrapper .purch-module-page .pu-md-detail-panel.purch-panel,
.dashboard-wrapper .purch-module-page .pu-md-form-card.purch-panel {
  border-radius: var(--pu-md-radius) !important;
}

.pu-md-overview-card__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
}

.pu-md-overview-card__title {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.pu-md-overview-card__stat {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
}

.pu-md-overview-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--pu-md-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.15rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.pu-md-overview-card--active .pu-md-overview-card__icon {
  background: color-mix(in srgb, var(--bs-success, #00d27a) 14%, #fff);
  color: var(--bs-success, #00d27a);
}

.pu-md-overview-card--active .pu-md-overview-card__stat {
  color: var(--bs-success, #00d27a);
}

.pu-md-overview-card--inactive .pu-md-overview-card__icon {
  background: color-mix(in srgb, var(--bs-secondary) 12%, #fff);
  color: var(--bs-secondary);
}

.pu-md-overview-card--inactive .pu-md-overview-card__stat {
  color: var(--bs-secondary);
}

.pu-md-chip.is-active {
  border-color: var(--bs-primary);
  color: var(--bs-primary);
  background: color-mix(in srgb, var(--bs-primary) 8%, #fff);
}

.pu-md-entity-cell {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.pu-md-entity-avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--pu-md-radius);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0d9488, #059669);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.pu-md-entity-avatar--code {
  font-size: 0.65rem;
  letter-spacing: 0.04em;
}

.pu-md-entity-avatar--lg {
  width: 3.5rem;
  height: 3.5rem;
  font-size: 1rem;
}

.pu-md-entity-cell__name {
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.pu-md-detail-hero {
  padding: 1.15rem 1.25rem;
}

.pu-md-detail-hero__main {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  min-width: 0;
}

.pu-md-detail-hero__name {
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.pu-md-detail-hero__meta {
  color: var(--adm-text-muted, var(--bs-secondary-color));
  font-size: 0.875rem;
}

.pu-md-detail-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 0.85rem;
}

.pu-md-detail-stat__label {
  margin: 0 0 0.15rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--adm-text-muted, var(--bs-secondary-color));
}

.pu-md-detail-stat__value {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.pu-md-detail-stat__value--code code {
  font-size: 0.95rem;
}

.pu-md-detail-dl__row {
  display: grid;
  grid-template-columns: minmax(8rem, 35%) 1fr;
  gap: 0.75rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.pu-md-detail-dl__row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.pu-md-detail-dl__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted, var(--bs-secondary-color));
}

.pu-md-detail-dl__row dd {
  margin: 0;
  font-size: 0.9375rem;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.pu-md-ref-form .purch-form-group {
  margin-bottom: 0;
}

.pu-master-data-form-page,
.pu-master-data-detail-page,
.pu-master-data-page {
  padding-bottom: 1rem;
}

/* Form actions: start of reading direction (left LTR, right RTL) */
.pu-master-data-form-page .purch-form-actions {
  justify-content: flex-start;
}

@media (max-width: 575.98px) {
  .pu-md-detail-dl__row {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
}


/* ── Purchase Orders ───────────────────────────────────────────── */
/* Purchasing - Purchase Orders */

:root {
  --pu-po-radius: 0.20rem;
}

.dashboard-wrapper .purch-module-page .purch-panel.pu-po-panel,
.dashboard-wrapper .purch-module-page .purch-panel.pu-po-form-panel,
.dashboard-wrapper .purch-module-page .purch-panel.pu-po-detail-panel {
  border-radius: var(--pu-po-radius) !important;
}

.pu-po-chip.is-active {
  border-color: var(--bs-primary);
  color: var(--bs-primary);
  background: color-mix(in srgb, var(--bs-primary) 8%, #fff);
}

.pu-po-page .pu-entity-cell {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
}

.pu-po-page .pu-entity-avatar {
  min-width: 5.2rem;
  height: 2.2rem;
  border-radius: var(--pu-po-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.5rem;
  background: linear-gradient(135deg, #1f2937, #4b5563);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.pu-po-page .pu-entity-cell__name {
  font-weight: 600;
  overflow-wrap: anywhere;
}

.pu-po-form-page {
  padding-bottom: 5rem;
}

.pu-po-form-panel,
.pu-po-form-panel .purch-form-group,
.pu-po-form-panel .purch-lines-panel {
  border-radius: var(--pu-po-radius);
}

.pu-po-form-panel .purch-form-group,
.pu-po-form-panel .purch-lines-panel {
  background: #fff;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  margin-bottom: 1rem;
}

.pu-po-form-footer {
  position: sticky;
  bottom: 0;
  z-index: 20;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  padding: 0.85rem 1.2rem 1.1rem;
  border-top: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--pu-po-radius);
  background: #fff;
  box-shadow: 0 -4px 20px rgba(7, 10, 9, 0.06);
}

.pu-po-detail-page .purch-detail-panel .purch-panel__body {
  background: #fff;
}

.pu-po-detail-page .pu-detail-dl {
  display: grid;
  gap: 0.65rem;
}

.pu-po-detail-page .pu-detail-dl__row {
  display: grid;
  grid-template-columns: minmax(8rem, 36%) 1fr;
  gap: 0.75rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.pu-po-detail-page .pu-detail-dl__row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.pu-po-detail-page .pu-detail-dl__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.pu-po-detail-page .pu-detail-dl__row dd {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

html[data-theme="dark"] .pu-po-form-panel .purch-form-group,
html[data-theme="dark"] .pu-po-form-panel .purch-lines-panel,
html[data-theme="dark"] .pu-po-form-footer,
html[data-theme="dark"] .pu-po-detail-page .purch-detail-panel .purch-panel__body {
  background: var(--adm-bg-surface, var(--bg-secondary));
}

@media (max-width: 767.98px) {
  .pu-po-form-footer {
    position: static;
  }

  .pu-po-detail-page .pu-detail-dl__row {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
}


/* ── Vendors ───────────────────────────────────────────────────── */
/* Purchasing — Vendors (mirrors sales-customers patterns) */

:root {
  --pu-vendor-radius: 0.20rem;
}

.dashboard-wrapper .purch-module-page .purch-panel.pu-vendors-panel,
.dashboard-wrapper .purch-module-page section.purch-panel.pu-vendors-panel,
.dashboard-wrapper .purch-module-page .purch-panel.pu-vendor-detail-panel,
.dashboard-wrapper .purch-module-page .pu-vendor-detail-panel .purch-panel.pu-detail-panel,
.dashboard-wrapper .purch-module-page .purch-panel.pu-vendor-quicklinks-panel {
  border-radius: var(--pu-vendor-radius) !important;
}

.purch-vendors-page .pu-overview--vendors {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: 0.75rem;
}

.pu-vendor-stat-icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: var(--pu-vendor-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}

.pu-vendor-stat-icon--primary {
  background: color-mix(in srgb, var(--bs-primary) 12%, #fff);
  color: var(--bs-primary);
}

.pu-vendor-stat-icon--success {
  background: color-mix(in srgb, var(--bs-success) 12%, #fff);
  color: var(--bs-success);
}

.pu-vendor-stat-icon--secondary {
  background: color-mix(in srgb, var(--bs-secondary) 12%, #fff);
  color: var(--bs-secondary);
}

.pu-vendor-stat-icon--info {
  background: color-mix(in srgb, var(--bs-info) 12%, #fff);
  color: var(--bs-info);
}

.pu-vendor-stat-icon--danger {
  background: color-mix(in srgb, var(--bs-danger) 12%, #fff);
  color: var(--bs-danger);
}

.pu-vendor-chip.is-active {
  border-color: var(--bs-primary);
  color: var(--bs-primary);
  background: color-mix(in srgb, var(--bs-primary) 8%, #fff);
}

.pu-entity-cell {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.pu-entity-avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--pu-vendor-radius);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  overflow: hidden;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #059669, #0d9488);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.pu-entity-avatar--lg {
  width: 3.5rem;
  height: 3.5rem;
  font-size: 1.35rem;
}

.pu-entity-cell__name {
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.pu-vendor-detail-page {
  padding-bottom: 1rem;
}

.pu-detail-hero {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  align-items: stretch;
  padding: 1rem 1.1rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--pu-vendor-radius);
  background: #fff;
}

.pu-detail-hero__main {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}

.pu-detail-hero__name {
  font-weight: 800;
}

.pu-detail-hero__meta {
  color: var(--bs-secondary-color);
}

.pu-detail-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: stretch;
}

.pu-detail-stat {
  min-width: 7rem;
  padding: 0.75rem 0.95rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--pu-vendor-radius);
  background: #fff;
}

.pu-detail-stat--wide {
  min-width: 10rem;
  flex: 1 1 12rem;
}

.pu-detail-stat__label {
  margin: 0 0 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.pu-detail-stat__value {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
}

.pu-detail-stat__value--sm {
  font-size: 0.9375rem;
  font-weight: 600;
}

.pu-vendor-quicklinks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.pu-vendor-tabs-nav-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.pu-vendor-tabs-nav-wrap .pu-vendor-tabs {
  flex-wrap: nowrap;
  white-space: nowrap;
  border-bottom: 0;
}

.pu-vendor-tabs .nav-link {
  border-radius: var(--pu-vendor-radius) var(--pu-vendor-radius) 0 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  padding: 0.55rem 0.85rem;
}

.pu-vendor-tabs .nav-link.active {
  color: var(--adm-brand-600, var(--bs-primary));
  background: #fff;
  border-color: var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-bottom-color: #fff;
}

.pu-vendor-detail-panel .purch-panel__body {
  background: #fff;
}

.pu-detail-dl {
  display: grid;
  gap: 0.65rem;
}

.pu-detail-dl__row {
  display: grid;
  grid-template-columns: minmax(8rem, 38%) 1fr;
  gap: 0.75rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.pu-detail-dl__row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.pu-detail-dl__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.pu-detail-dl__row dd {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.pu-vendors-form-page {
  padding-bottom: 5rem;
}

/* ── Vendor add/edit form (Sales customers pattern) ─────────────────────── */
.pu-vendors-form-page {
  --sys-card-radius: var(--pu-vendor-radius, 0.20rem);
  --sys-card-gap: 1.25rem;
  --sys-card-head-bg: #fff;
}

.pu-vendors-form-stack {
  gap: var(--sys-card-gap);
}

.pu-vendors-form .purch-panel__head.pu-vendor-form-panel__head {
  border-radius: var(--pu-vendor-radius) !important;
}

.pu-vendors-form .pu-vendor-form-panel__head .purch-panel__head-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
}

.pu-vendors-form .pu-vendor-form-panel__head .purch-panel__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
}

.pu-vendors-form .pu-vendor-form-panel__head .purch-panel__subtitle {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--bs-secondary-color);
  border: 0;
  box-shadow: none;
  background: transparent;
}

.pu-vendors-form .pu-vendor-form-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--pu-vendor-radius);
  flex-shrink: 0;
  font-size: 1.05rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.pu-vendors-form-stack {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.pu-vendors-form-stack__divider {
  flex: 0 0 auto;
  height: 0;
  margin: 1.25rem 0;
  border: 0;
  border-top: 1px dashed color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 16%, var(--adm-border-subtle, var(--bs-border-color)));
}

.pu-vendor-kind-field legend.form-label {
  float: none;
  width: auto;
  margin-bottom: 0.35rem;
  font-size: inherit;
  font-weight: 600;
}

.pu-vendor-kind-segment {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.pu-vendor-kind-segment__option {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin: 0;
  padding: 0.85rem 0.65rem;
  text-align: center;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--pu-vendor-radius);
  background: var(--adm-bg-surface, #fff);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
  box-shadow: none;
}

.pu-vendor-kind-segment__option:has(.form-check-input:checked) {
  border-color: var(--adm-brand-600, var(--bs-primary));
  background: var(--adm-bg-surface, #fff);
  box-shadow: none !important;
  filter: none !important;
  outline: none !important;
}

.pu-vendor-kind-segment__option .form-check-input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.pu-vendor-kind-segment__icon {
  font-size: 1.25rem;
  color: var(--adm-brand-600, var(--bs-primary));
  line-height: 1;
}

.pu-vendor-kind-segment__label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.pu-vendors-form .sys-ref-form__footer {
  border-radius: var(--pu-vendor-radius) !important;
}

@media (max-width: 575.98px) {
  .pu-vendor-kind-segment {
    grid-template-columns: 1fr;
  }
}

/* ── Vendor form line grids (bank accounts, contacts) ───────────────────── */
.sys-card__body .pu-vendor-lines-panel,
.sys-card__body [class*="-lines-panel"] {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible;
}

.pu-vendor-lines-panel {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--pu-vendor-radius);
  background: #fff;
  box-shadow: none;
  overflow: hidden;
}

.pu-vendor-lines-panel__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: #fff;
}

.sys-card .sys-card__body .pu-vendor-lines-panel__head,
.sys-card .sys-card__body [class*="-lines-panel__head"] {
  padding: 0 0 0.75rem;
  margin: 0 0 0.75rem;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: transparent;
}

.sys-card .sys-card__body [class*="-lines-panel__head"]::before {
  display: none;
}

.pu-vendor-lines-panel__hint {
  margin: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
}

.pu-vendor-lines-panel__table-wrap {
  background: #fff;
}

.pu-vendor-lines-table {
  margin-bottom: 0;
  font-size: 0.8125rem;
  table-layout: fixed;
  width: 100%;
}

.pu-vendor-lines-table thead th {
  background: var(--adm-bg-subtle, #f8fafc);
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.65rem 0.75rem;
  white-space: nowrap;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
}

.pu-vendor-lines-table tbody td {
  padding: 0.6rem 0.75rem;
  vertical-align: middle;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 65%, transparent);
}

.pu-vendor-lines-table tbody tr:last-child td {
  border-bottom: 0;
}

.pu-vendor-lines-table__col-name {
  width: 22%;
}

.pu-vendor-lines-table__col-iban {
  width: 28%;
}

.pu-vendor-lines-table__col-swift {
  width: 14%;
}

.pu-vendor-lines-table__col-currency {
  width: 18%;
}

.pu-vendor-lines-table__col-default {
  width: 8%;
}

.pu-vendor-lines-table__col-actions {
  width: 4.5rem;
}

.pu-vendor-lines-table--contacts .pu-vendor-lines-table__col-cname {
  width: 18%;
}

.pu-vendor-lines-table--contacts .pu-vendor-lines-table__col-ctitle {
  width: 14%;
}

.pu-vendor-lines-table--contacts .pu-vendor-lines-table__col-cemail {
  width: 22%;
}

.pu-vendor-lines-table--contacts .pu-vendor-lines-table__col-cphone {
  width: 14%;
}

.pu-vendor-lines-table--contacts .pu-vendor-lines-table__col-cmobile {
  width: 14%;
}

.pu-vendor-lines-table--contacts .pu-vendor-lines-table__col-cprimary {
  width: 8%;
}

.pu-vendor-lines-table .form-control,
.pu-vendor-lines-table .form-select {
  font-size: 0.8125rem;
  min-height: 2.35rem;
}

.pu-vendor-lines-table .form-control.is-invalid {
  border-color: var(--bs-danger);
  background-image: none;
}

.pu-vendor-line-remove {
  width: 2.15rem;
  height: 2.15rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.pu-vendor-lines-panel__foot {
  padding: 0.55rem 1rem 0.75rem;
  border-top: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: #fff;
}

.pu-vendor-lines-panel__foot [data-pu-bank-count-num] {
  font-weight: 700;
  color: var(--adm-brand-600, var(--bs-primary));
}

html[data-theme="dark"] .pu-vendor-lines-panel,
html[data-theme="dark"] .pu-vendor-lines-panel__table-wrap,
html[data-theme="dark"] .pu-vendor-lines-panel__foot {
  background: var(--adm-bg-surface, var(--bg-secondary));
}

@media (max-width: 991.98px) {
  .pu-vendor-lines-panel__table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .pu-vendor-lines-table {
    min-width: 44rem;
    table-layout: auto;
  }

  .pu-vendor-lines-table--contacts {
    min-width: 52rem;
  }
}

html[data-theme="dark"] .pu-detail-hero,
html[data-theme="dark"] .pu-detail-stat,
html[data-theme="dark"] .pu-vendor-detail-panel .purch-panel__body {
  background: var(--adm-bg-surface, var(--bg-secondary));
}

@media (max-width: 767.98px) {
  .pu-detail-dl__row {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
}

/* ── Vendor profile completion (CompleteProfile + Details) ──────────────── */
.pu-profile-completion__layout {
  display: grid;
  grid-template-columns: minmax(9rem, auto) 1fr auto;
  gap: 1.25rem;
  align-items: start;
}

@media (max-width: 991.98px) {
  .pu-profile-completion__layout {
    grid-template-columns: 1fr;
  }
}

.pu-profile-completion__ring {
  --pu-profile-ring-size: 6.5rem;
  width: var(--pu-profile-ring-size);
  height: var(--pu-profile-ring-size);
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: conic-gradient(var(--adm-brand-600, var(--bs-primary)) calc(var(--pu-profile-pct, 0) * 1%),
      color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 55%, #fff) 0);
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.06);
}

.pu-profile-completion__ring--complete {
  background: conic-gradient(#198754 calc(var(--pu-profile-pct, 100) * 1%), #198754 0);
}

.pu-profile-completion__ring-inner {
  width: calc(var(--pu-profile-ring-size) - 0.85rem);
  height: calc(var(--pu-profile-ring-size) - 0.85rem);
  border-radius: 50%;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0.35rem;
}

.pu-profile-completion__percent {
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1.1;
  color: var(--adm-brand-600, var(--bs-primary));
}

.pu-profile-completion__caption {
  font-size: 0.65rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
  line-height: 1.2;
}

.pu-profile-completion__summary {
  margin-top: 0.65rem;
  font-size: 0.8125rem;
  color: var(--bs-secondary-color);
  max-width: 10rem;
}

.pu-profile-completion__sections {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
  gap: 0.75rem;
}

.pu-profile-completion-section__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.35rem;
  margin-bottom: 0.35rem;
}

.pu-profile-completion-section__title {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  text-decoration: none;
}

.pu-profile-completion-section__title:hover {
  color: var(--adm-brand-600, var(--bs-primary));
}

.pu-profile-completion-section__pct {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--bs-secondary-color);
}

.pu-profile-completion-section__bar {
  height: 0.35rem;
  border-radius: var(--pu-vendor-radius);
  background: color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 45%, #fff);
}

.pu-profile-completion-section__missing {
  margin-top: 0.35rem;
}

.pu-profile-completion-section__link {
  font-size: 0.72rem;
  color: var(--adm-brand-600, var(--bs-primary));
  text-decoration: none;
}

.pu-profile-completion-section__link:hover {
  text-decoration: underline;
}

.pu-profile-completion__cta {
  display: flex;
  align-items: center;
}

.pu-cp-page .pu-cp-nav__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.pu-cp-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--pu-vendor-radius);
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  text-decoration: none;
  background: #fff;
}

.pu-cp-nav__link--incomplete {
  border-color: color-mix(in srgb, var(--bs-warning) 45%, var(--adm-border-subtle, var(--bs-border-color)));
}

.pu-cp-nav__link--done {
  border-color: color-mix(in srgb, var(--bs-success) 35%, var(--adm-border-subtle, var(--bs-border-color)));
}

.pu-cp-section {
  scroll-margin-top: 5.5rem;
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
}

.pu-cp-section--focus {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, transparent);
}

html[data-theme="dark"] .pu-profile-completion__ring-inner,
html[data-theme="dark"] .pu-cp-nav__link {
  background: var(--adm-bg-surface, var(--bg-secondary));
}




/* ── reports (85 lines) ──────────────────────── */
/* ==========================================================================
   Reports â€” merged page-level styles
   Source files:
     - reports-hub.css
   ========================================================================== */

/* â”€â”€ reports-hub â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

/* Reports hub & shared report chrome */

.reports-hub-hero {
  border-radius: var(--bs-border-radius-xl, 1rem);
  background: linear-gradient(135deg, rgba(var(--bs-primary-rgb, 23, 54, 48), 0.12) 0%, transparent 55%);
  border: 1px solid rgba(var(--bs-primary-rgb, 23, 54, 48), 0.22);
}

.reports-hub-kicker {
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.reports-module-card {
  border-radius: var(--bs-border-radius-lg);
  border: 1px solid var(--bs-border-color);
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.reports-module-card:hover {
  border-color: rgba(var(--bs-primary-rgb, 23, 54, 48), 0.35);
  box-shadow: 0 0.35rem 1rem rgba(0, 0, 0, 0.06);
}

.reports-module-card .list-group-item {
  border-left: 0;
  border-right: 0;
}

.reports-module-card .list-group-item:first-child {
  border-top: 0;
}

.reports-module-card .list-group-item:last-child {
  border-bottom: 0;
}

.reports-hub-tabs .nav-link {
  font-weight: 500;
}

.reports-hub-tabs .nav-link.active {
  background: var(--bs-primary);
  color: var(--bs-white);
}

.reports-roadmap-card {
  border-style: dashed;
  border-radius: var(--bs-border-radius-lg);
}


/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   Reports â€” module-unique styles (merged from reports-module.css)
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */
}


/* â”€â”€ Reports â€” module-unique styles (merged from reports-module.css) â”€â”€ */
/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Export toolbar أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.reports-export-toolbar .btn {
  white-space: nowrap;
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Print styles أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
@media print {

  body[data-report-print-target] .dashboard-wrapper>*:not(.main-content),
  body[data-report-print-target] .adm-sidebar,
  body[data-report-print-target] .adm-topbar,
  body[data-report-print-target] .reports-page-header__actions,
  body[data-report-print-target] .reports-table-toolbar,
  body[data-report-print-target] .reports-table-pagination,
  body[data-report-print-target] .reports-hub-tabs,
  body[data-report-print-target] .btn,
  body[data-report-print-target] nav.reports-breadcrumb-nav {
    display: none !important;
  }

  body[data-report-print-target] .reports-module-page,
  body[data-report-print-target] #report-print-area {
    width: 100% !important;
    max-width: 100% !important;
  }

  body[data-report-print-target] .reports-panel {
    break-inside: avoid;
    box-shadow: none !important;
    border: 1px solid #ccc !important;
  }

  body[data-report-print-target] table {
    font-size: 10pt;
  }
}




/* ── sales (5759 lines) ──────────────────────── */
/* ═══════════════════════════════════════════════════════════════
   Sales — All page-specific styles (merged)
   ═══════════════════════════════════════════════════════════════ */

/* ── Approval Rules ────────────────────────────────────────────── */
/* Sales — Approval rules */

:root {
  --sl-ar-radius: 0.20rem;
}

.dashboard-wrapper .sales-module-page .sales-panel.sl-ar-panel,
.dashboard-wrapper .sales-module-page section.sales-panel.sl-ar-panel,
.dashboard-wrapper .sales-module-page .sales-panel.sl-ar-detail-panel {
  border-radius: var(--sl-ar-radius) !important;
}

.dashboard-wrapper .sales-module-page .sl-overview .sl-overview-card {
  border-radius: var(--sl-ar-radius);
}

.sales-module-page .sl-ar-panel .sales-panel__body,
.sales-module-page .sl-ar-panel .table,
.sales-module-page .sl-ar-detail-panel .sales-panel__body,
.sales-module-page .sl-ar-detail-panel .table {
  background: #fff;
}

.sales-module-page .sl-ar-panel .sales-row-actions-dd__menu {
  min-width: 14rem;
}

.sales-approval-rules-form-page {
  padding-bottom: 5rem;
}

.sales-approval-rules-form .sl-ar-form-panel__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  margin-bottom: 1rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-ar-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sales-approval-rules-form .sl-ar-chain-wrap {
  background: #fff;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-ar-radius);
  overflow: hidden;
}

.sales-approval-rules-form .sl-ar-chain {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.sales-approval-rules-form .sl-ar-chain__head {
  grid-template-columns: 2.5rem 1.2fr 1.2fr 6.5rem 1.2fr 1.2fr 2.5rem;
  gap: 0.5rem;
  padding: 0.55rem 0.85rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--bs-secondary-color);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 6%, #fff);
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.sales-approval-rules-form .sl-ar-chain__steps {
  display: flex;
  flex-direction: column;
}

.sales-approval-rules-form .sl-ar-chain-step {
  display: grid;
  grid-template-columns: 2.5rem 1fr 2.5rem;
  gap: 0.5rem;
  align-items: start;
  padding: 0.75rem 0.85rem;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
  position: relative;
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.sales-approval-rules-form .sl-ar-chain-step:last-child {
  border-bottom: 0;
}

.sales-approval-rules-form .sl-ar-chain-step.is-configured {
  background: color-mix(in srgb, var(--bs-success) 4%, #fff);
}

.sales-approval-rules-form .sl-ar-chain-step.is-configured .sl-ar-chain-step__badge {
  background: color-mix(in srgb, var(--bs-success) 14%, #fff);
  color: var(--bs-success);
  border-color: color-mix(in srgb, var(--bs-success) 35%, transparent);
}

.sales-approval-rules-form .sl-ar-chain-step.is-partial {
  background: color-mix(in srgb, var(--bs-warning) 5%, #fff);
}

.sales-approval-rules-form .sl-ar-chain-step__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin-top: 0.15rem;
  border-radius: var(--sl-ar-radius);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 10%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
  font-size: 0.8125rem;
  font-weight: 700;
}

.sales-approval-rules-form .sl-ar-chain-step__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.65rem;
}

@media (min-width: 768px) {
  .sales-approval-rules-form .sl-ar-chain-step {
    grid-template-columns: 2.5rem 1fr 2.5rem;
  }

  .sales-approval-rules-form .sl-ar-chain-step__grid {
    grid-template-columns: 1.2fr 1.2fr 6.5rem 1.2fr 1.2fr;
    gap: 0.5rem;
    align-items: center;
  }
}

.sales-approval-rules-form .sl-ar-chain-field--sla {
  max-width: 100%;
}

@media (min-width: 768px) {
  .sales-approval-rules-form .sl-ar-chain-field--sla {
    max-width: 6.5rem;
  }
}

.sales-approval-rules-form .sl-ar-chain-input,
.sales-approval-rules-form .sl-ar-chain .input-group-text {
  border-radius: var(--sl-ar-radius);
}

.sales-approval-rules-form .sl-ar-chain-input:focus {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 55%, var(--bs-border-color));
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, transparent);
}

.sales-approval-rules-form .sl-ar-chain-step__actions {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 0.15rem;
}

.sales-approval-rules-form .sl-ar-chain-step__status {
  position: absolute;
  inset-inline-end: 0.5rem;
  top: 0.5rem;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--bs-success);
  pointer-events: none;
}

.sales-approval-rules-form .sl-ar-chain-step__status:empty {
  display: none;
}

.sales-approval-rules-form .sl-ar-chain__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  padding: 0.75rem 0.85rem;
  border-top: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
}

.sales-approval-rules-form .sl-ar-chain__hint {
  flex: 1 1 12rem;
  margin: 0 !important;
}

.sl-ar-detail-page {
  padding-bottom: 1rem;
}

.sales-module-page .sl-ar-detail-hero {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-ar-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
}

.sales-module-page .sl-ar-detail-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.sales-module-page .sl-detail-dl__row {
  display: grid;
  grid-template-columns: minmax(8rem, 0.35fr) minmax(0, 1fr);
  gap: 0.35rem 1rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 65%, transparent);
}

.sales-module-page .sl-detail-dl__row:last-child {
  border-bottom: 0;
}

.sales-module-page .sl-detail-dl__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-detail-dl__row dd {
  margin: 0;
  font-size: 0.875rem;
}

.sales-module-page tr.sales-row-inactive {
  opacity: 0.72;
}

.sales-module-page .sales-table-row-link {
  color: inherit;
}

.sales-module-page .sales-table-row-link:hover .sales-code,
.sales-module-page .sales-table-row-link:hover .sl-entity-cell__name {
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page tbody tr[data-sales-row-href] {
  cursor: pointer;
}

html[data-theme="dark"] .sales-approval-rules-form .sl-ar-form-panel__head,
html[data-theme="dark"] .sales-approval-rules-form .sl-ar-chain-wrap,
html[data-theme="dark"] .sales-module-page .sl-ar-detail-hero,
html[data-theme="dark"] .sales-module-page .sl-ar-panel .sales-panel__body,
html[data-theme="dark"] .sales-module-page .sl-ar-detail-panel .sales-panel__body,
html[data-theme="dark"] .sales-module-page .sl-ar-detail-panel .table {
  background: var(--adm-bg-surface, var(--bg-secondary));
}

html[data-theme="dark"] .sales-approval-rules-form .sl-ar-chain-step.is-configured {
  background: color-mix(in srgb, var(--bs-success) 8%, var(--adm-bg-surface, var(--bg-secondary)));
}

@media (max-width: 767.98px) {
  .sales-module-page .sl-detail-dl__row {
    grid-template-columns: 1fr;
  }
}


/* ── Credit Notes ──────────────────────────────────────────────── */
/* Sales — Credit notes */

:root {
  --sl-cn-radius: 0.20rem;
}

.sales-module-page .sl-overview.sl-cn-overview {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 575.98px) {
  .sales-module-page .sl-overview.sl-cn-overview {
    grid-template-columns: repeat(3, minmax(8.5rem, 1fr));
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.dashboard-wrapper .sales-module-page .sales-panel.sl-cn-panel,
.dashboard-wrapper .sales-module-page section.sales-panel.sl-cn-panel {
  border-radius: var(--sl-cn-radius) !important;
}

.sales-module-page .sl-cn-panel .sales-panel__body,
.sales-module-page .sl-cn-panel .table {
  background: #fff;
}

.sales-module-page .sl-cn-list-head {
  align-items: center !important;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
}

.sales-module-page .sl-cn-panel .sales-row-actions-dd__menu {
  min-width: 14rem;
}

.sales-module-page .sl-cn-detail-page {
  padding-bottom: 1rem;
}

.sales-module-page .sl-cn-detail-workflow {
  max-width: 42rem;
}

.sales-module-page .sl-cn-meta-grid {
  --bs-gutter-y: 0.85rem;
}

.sales-module-page .sl-cn-meta-note {
  padding: 0.75rem 0.9rem;
  border: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 80%, transparent);
  border-radius: var(--sl-cn-radius);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.sales-module-page .sl-cn-meta-note__label {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-cn-meta-note__body {
  font-size: 0.875rem;
  color: var(--adm-text-primary, var(--bs-body-color));
  white-space: pre-wrap;
}

.sales-module-page .sl-cn-next-actions .sales-panel__body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
}

.sales-module-page .sl-cn-next-actions__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.sales-module-page .sl-cn-next-actions__form {
  margin: 0;
}

.sales-module-page .sl-cn-next-actions__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.sales-module-page .sl-cn-next-actions__related {
  padding-top: 0.85rem;
  margin-top: 0.85rem;
  border-top: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 80%, transparent);
}

.sales-module-page .sl-cn-next-actions__related-title {
  margin: 0 0 0.5rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-cn-next-actions__related-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.sales-module-page .sl-cn-next-actions__hero {
  padding: 1rem 1.05rem;
  border: 1px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 22%, var(--adm-border-subtle, var(--bs-border-color)));
  border-radius: var(--sl-cn-radius);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
}

.sales-module-page .sl-cn-next-actions__hero--complete {
  border-color: color-mix(in srgb, var(--bs-success, #198754) 28%, var(--adm-border-subtle, var(--bs-border-color)));
  background: color-mix(in srgb, var(--bs-success, #198754) 6%, #fff);
}

.sales-module-page .sl-cn-next-actions__hero--complete .sl-cn-next-actions__eyebrow {
  color: var(--bs-success, #198754);
}

.sales-module-page .sl-cn-next-actions__eyebrow {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page .sl-cn-next-actions__title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.25;
}

.sales-module-page .sl-cn-next-actions__hint {
  font-size: 0.8125rem;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-cn-detail-hero {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-cn-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
}

.sales-module-page .sl-cn-detail-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: stretch;
  justify-content: flex-end;
}

.sales-module-page .sl-cn-detail-stats .sl-detail-stat {
  min-width: 6.75rem;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-cn-radius);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.sales-module-page .sl-cn-financials-card {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 14%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sales-module-page .sl-cn-financials__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.sales-module-page .sl-cn-financials__row:last-child {
  border-bottom: 0;
}

.sales-module-page .sl-cn-financials__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-cn-financials__row dd {
  margin: 0;
  font-weight: 700;
}

.sales-module-page .sl-cn-financials__row--total dd {
  font-size: 1.05rem;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-credit-notes-form-page {
  padding-bottom: 5rem;
}

.sales-credit-notes-form .sl-cn-lines-editor__wrap {
  margin: 0 1.15rem 0.35rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-cn-radius);
  overflow: hidden;
  background: #fff;
}

.sales-credit-notes-form .sl-cn-lines-editor__table,
.sales-module-page .sl-cn-lines-editor__table {
  table-layout: fixed;
  width: 100%;
  margin-bottom: 0;
  background: #fff;
}

.sales-credit-notes-form .sl-cn-lines-editor__table col.sl-cn-col--num {
  width: 2.35rem;
}

.sales-credit-notes-form .sl-cn-lines-editor__table col.sl-cn-col--desc {
  width: auto;
}

.sales-credit-notes-form .sl-cn-lines-editor__table col.sl-cn-col--qty {
  width: 5.5rem;
}

.sales-credit-notes-form .sl-cn-lines-editor__table col.sl-cn-col--price {
  width: 5.5rem;
}

.sales-credit-notes-form .sl-cn-lines-editor__table col.sl-cn-col--tax {
  width: 4.5rem;
}

.sales-credit-notes-form .sl-cn-lines-editor__table col.sl-cn-col--total {
  width: 6.5rem;
}

.sales-credit-notes-form .sl-cn-lines-editor__table col.sl-cn-col--actions {
  width: 2.5rem;
}

.sales-module-page .sl-cn-lines-editor__table col.sl-cn-col--num {
  width: 2.35rem;
}

.sales-module-page .sl-cn-lines-editor__table col.sl-cn-col--desc {
  width: auto;
}

.sales-module-page .sl-cn-lines-editor__table col.sl-cn-col--product {
  width: 8rem;
}

.sales-module-page .sl-cn-lines-editor__table col.sl-cn-col--qty {
  width: 5rem;
}

.sales-module-page .sl-cn-lines-editor__table col.sl-cn-col--price {
  width: 5rem;
}

.sales-module-page .sl-cn-lines-editor__table col.sl-cn-col--tax {
  width: 4.5rem;
}

.sales-module-page .sl-cn-lines-editor__table col.sl-cn-col--total {
  width: 6rem;
}

.sales-credit-notes-form .sl-cn-lines-editor__table thead th,
.sales-module-page .sl-cn-lines-editor__table thead th {
  padding: 0.55rem 0.5rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  background: var(--adm-bg-subtle, #f8fafc);
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.sales-credit-notes-form .sl-cn-lines-editor__table tbody td,
.sales-module-page .sl-cn-lines-editor__table tbody td {
  padding: 0;
  vertical-align: middle;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 65%, transparent);
}

.sales-credit-notes-form .sl-cn-lines-editor__table tbody tr:last-child td,
.sales-module-page .sl-cn-lines-editor__table tbody tr:last-child td {
  border-bottom: 0;
}

.sales-credit-notes-form .sl-cn-line-field {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0.5rem 0.55rem;
  font-size: 0.8125rem;
  min-height: 2.15rem;
}

.sales-credit-notes-form .sl-cn-line-field:focus {
  background: #fff;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 35%, transparent);
}

.sales-credit-notes-form .sl-cn-line-num,
.sales-module-page .sl-cn-line-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--bs-secondary-color);
}

.sales-credit-notes-form .sl-cn-line-total,
.sales-module-page .sl-cn-line-total {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  min-height: 2.15rem;
  padding: 0.5rem 0.55rem;
  font-size: 0.8125rem;
  font-weight: 700;
}

.sales-credit-notes-form .sl-cn-line-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 2.15rem;
  padding: 0.35rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--bs-secondary-color);
  transition: color 0.15s ease, background 0.15s ease;
}

.sales-credit-notes-form .sl-cn-line-remove:hover,
.sales-credit-notes-form .sl-cn-line-remove:focus-visible {
  color: var(--bs-danger);
  background: color-mix(in srgb, var(--bs-danger) 8%, transparent);
}

.sales-credit-notes-form .sl-cn-lines-editor__table tfoot th,
.sales-module-page .sl-cn-lines-editor__table tfoot th {
  padding: 0.75rem 0.65rem 1.15rem;
  font-size: 0.8125rem;
  font-weight: 700;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, var(--adm-bg-subtle, #f8fafc));
  border-top: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 16%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sales-credit-notes-form .sl-cn-doc-total {
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page .sl-cn-lines-editor__table .sl-cn-line-cell--amount {
  padding: 0.5rem 0.65rem;
  font-size: 0.8125rem;
  text-align: end;
}

.sales-module-page .sl-cn-detail-stats .sl-detail-stat__label {
  margin: 0 0 0.2rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-cn-detail-stats .sl-detail-stat__value {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page tr.sales-row-inactive {
  opacity: 0.72;
}


/* ── Customer Contracts ────────────────────────────────────────── */
/* Sales — Customer contracts */

:root {
  --sl-cc-radius: 0.20rem;
}

.dashboard-wrapper .sales-module-page .sales-panel.sl-cc-panel,
.dashboard-wrapper .sales-module-page section.sales-panel.sl-cc-panel,
.dashboard-wrapper .sales-module-page .sales-panel.sl-cc-detail-panel {
  border-radius: var(--sl-cc-radius) !important;
}

.dashboard-wrapper .sales-module-page .sl-overview .sl-overview-card {
  border-radius: var(--sl-cc-radius);
}

.sales-module-page .sl-cc-panel .sales-panel__body,
.sales-module-page .sl-cc-panel .table,
.sales-module-page .sl-cc-detail-panel .sales-panel__body,
.sales-module-page .sl-cc-detail-panel .table {
  background: #fff;
}

.sales-module-page .sl-cc-panel .sales-row-actions-dd__menu {
  min-width: 14rem;
}

.sales-customer-contracts-form-page {
  padding-bottom: 5rem;
}

.sales-customer-contracts-form .sl-cc-form-panel__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  margin-bottom: 1rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-cc-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sl-cc-detail-page {
  padding-bottom: 1rem;
}

.sales-module-page .sl-cc-detail-hero {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-cc-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
}

.sales-module-page .sl-cc-detail-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.sales-module-page .sl-cc-detail-subform {
  padding: 0 1.15rem 1.15rem;
}

.sales-module-page .sl-detail-dl__row {
  display: grid;
  grid-template-columns: minmax(8rem, 0.35fr) minmax(0, 1fr);
  gap: 0.35rem 1rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 65%, transparent);
}

.sales-module-page .sl-detail-dl__row:last-child {
  border-bottom: 0;
}

.sales-module-page .sl-detail-dl__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-detail-dl__row dd {
  margin: 0;
  font-size: 0.875rem;
}

.sales-module-page tr.sales-row-inactive {
  opacity: 0.72;
}

.sales-module-page .sales-table-row-link {
  color: inherit;
}

.sales-module-page .sales-table-row-link:hover .sales-code,
.sales-module-page .sales-table-row-link:hover .sl-entity-cell__name {
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page tbody tr[data-sales-row-href] {
  cursor: pointer;
}

html[data-theme="dark"] .sales-customer-contracts-form .sl-cc-form-panel__head,
html[data-theme="dark"] .sales-module-page .sl-cc-detail-hero,
html[data-theme="dark"] .sales-module-page .sl-cc-panel .sales-panel__body,
html[data-theme="dark"] .sales-module-page .sl-cc-detail-panel .sales-panel__body,
html[data-theme="dark"] .sales-module-page .sl-cc-detail-panel .table {
  background: var(--adm-bg-surface, var(--bg-secondary));
}

@media (max-width: 767.98px) {
  .sales-module-page .sl-detail-dl__row {
    grid-template-columns: 1fr;
  }
}


/* ── Customer Payments ─────────────────────────────────────────── */
/* Sales — Customer payments (Customers / Sales Invoices UI standard) */

:root {
  --sl-cp-radius: 0.20rem;
}

.sales-module-page .sl-overview.sl-cp-overview {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 575.98px) {
  .sales-module-page .sl-overview.sl-cp-overview {
    grid-template-columns: repeat(3, minmax(8.5rem, 1fr));
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.dashboard-wrapper .sales-module-page .sales-panel.sl-cp-panel,
.dashboard-wrapper .sales-module-page section.sales-panel.sl-cp-panel {
  border-radius: var(--sl-cp-radius) !important;
}

.sales-module-page .sl-cp-panel .sales-panel__body,
.sales-module-page .sl-cp-panel .table {
  background: #fff;
}

.sales-module-page .sl-cp-list-head {
  align-items: center !important;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
}

.sales-module-page .sl-cp-bulk-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.sales-module-page .sl-cp-panel .sales-row-actions-dd__menu {
  min-width: 13rem;
}

.sales-module-page .sl-cp-detail-page {
  padding-bottom: 1rem;
}

.sales-module-page .sl-cp-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(17rem, 0.82fr);
  gap: 1rem;
  align-items: stretch;
}

.sales-module-page .sl-cp-workflow-path .sales-panel__body {
  height: 100%;
}

.sales-module-page .sl-cp-next-actions .sales-panel__body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
}

.sales-module-page .sl-cp-next-actions__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.sales-module-page .sl-cp-next-actions__form {
  margin: 0;
}

.sales-module-page .sl-cp-next-actions__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.sales-module-page .sl-cp-next-actions__footer {
  margin-top: auto;
  padding-top: 0.25rem;
}

.sales-module-page .sl-cp-next-actions__hub {
  width: 100%;
  justify-content: center;
}

.sales-module-page .sl-cp-workflow-step__check {
  position: absolute;
  top: 0.35rem;
  inset-inline-end: 0.45rem;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: var(--sys-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--bs-success, #198754);
  color: #fff;
  box-shadow: 0 1px 3px rgba(7, 10, 9, 0.12);
}

.sales-module-page .sl-cp-workflow-step--completed .sl-cp-workflow-step__desc {
  padding-inline-end: 1.75rem;
}

@media (max-width: 991.98px) {
  .sales-module-page .sl-cp-detail-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.sales-module-page .sl-cp-detail-hero {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-cp-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  align-items: center;
}

.sales-module-page .sl-cp-detail-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: stretch;
  justify-content: flex-end;
}

.sales-module-page .sl-cp-detail-stats .sl-detail-stat {
  min-width: 6.75rem;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-cp-radius);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.sales-module-page .sl-cp-detail-stats .sl-detail-stat__label {
  margin: 0 0 0.2rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-cp-detail-stats .sl-detail-stat__value {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page .sl-cp-detail-stats .sl-detail-stat__value--sm {
  font-size: 0.875rem;
  font-weight: 600;
}

.sales-module-page .sl-cp-next-actions {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 14%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sales-module-page .sl-cp-next-actions__hero {
  padding: 1rem 1.05rem;
  border: 1px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 22%, var(--adm-border-subtle, var(--bs-border-color)));
  border-radius: var(--sl-cp-radius);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
}

.sales-module-page .sl-cp-next-actions__eyebrow {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page .sl-cp-next-actions__title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.25;
}

.sales-module-page .sl-cp-next-actions__hint {
  font-size: 0.8125rem;
  color: var(--bs-secondary-color);
}

.sales-customer-payments-form-page {
  padding-bottom: 5rem;
}

.sales-customer-payments-form .sl-so-form-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--sl-cp-radius);
  flex-shrink: 0;
  font-size: 1.05rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-customer-payments-form .sl-cp-settlement-editor__wrap,
.sales-module-page .sl-cp-alloc-lines-editor__wrap,
.sales-module-page .sl-cp-allocate-editor__wrap {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-cp-radius);
  overflow: hidden;
  background: #fff;
}

.sales-customer-payments-form .sl-cp-settlement-editor__table,
.sales-module-page .sl-cp-alloc-lines-editor__table,
.sales-module-page .sl-cp-allocate-editor__table {
  table-layout: fixed;
  width: 100%;
  margin-bottom: 0;
  background: #fff;
}

.sales-customer-payments-form .sl-cp-settlement-editor__table col.sl-cp-col--num {
  width: 2.35rem;
}

.sales-customer-payments-form .sl-cp-settlement-editor__table col.sl-cp-col--type {
  width: auto;
}

.sales-customer-payments-form .sl-cp-settlement-editor__table col.sl-cp-col--amount {
  width: 8rem;
}

.sales-module-page .sl-cp-alloc-lines-editor__table col.sl-cp-col--num {
  width: 2.35rem;
}

.sales-module-page .sl-cp-alloc-lines-editor__table col.sl-cp-col--invoice {
  width: auto;
}

.sales-module-page .sl-cp-alloc-lines-editor__table col.sl-cp-col--amount {
  width: 7rem;
}

.sales-module-page .sl-cp-alloc-lines-editor__table col.sl-cp-col--date {
  width: 9rem;
}

.sales-module-page .sl-cp-allocate-editor__table col.sl-cp-col--invoice {
  width: auto;
}

.sales-module-page .sl-cp-allocate-editor__table col.sl-cp-col--amount {
  width: 7rem;
}

.sales-module-page .sl-cp-allocate-editor__table col.sl-cp-col--actions {
  width: 6rem;
}

.sales-customer-payments-form .sl-cp-settlement-editor__table thead th,
.sales-module-page .sl-cp-alloc-lines-editor__table thead th,
.sales-module-page .sl-cp-allocate-editor__table thead th {
  padding: 0.55rem 0.5rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  background: var(--adm-bg-subtle, #f8fafc);
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.sales-customer-payments-form .sl-cp-settlement-editor__table tbody td,
.sales-module-page .sl-cp-alloc-lines-editor__table tbody td,
.sales-module-page .sl-cp-allocate-editor__table tbody td {
  padding: 0;
  vertical-align: middle;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 65%, transparent);
}

.sales-customer-payments-form .sl-cp-settlement-editor__table tbody tr:last-child td,
.sales-module-page .sl-cp-alloc-lines-editor__table tbody tr:last-child td {
  border-bottom: 0;
}

.sales-customer-payments-form .sl-cp-settlement-editor__table tbody tr:hover td,
.sales-module-page .sl-cp-alloc-lines-editor__table tbody tr:hover td,
.sales-module-page .sl-cp-allocate-editor__table tbody tr:focus-within td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 2.5%, #fff);
}

.sales-customer-payments-form .sl-cp-settlement-editor__table .sl-cp-line-cell--num {
  text-align: center;
}

.sales-customer-payments-form .sl-cp-settlement-editor__table .sl-cp-line-num,
.sales-module-page .sl-cp-alloc-lines-editor__table .sl-cp-line-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--bs-secondary-color);
}

.sales-customer-payments-form .sl-cp-settlement-editor__table .sl-cp-line-cell--type {
  padding: 0.5rem 0.65rem;
  font-size: 0.8125rem;
  font-weight: 500;
}

.sales-customer-payments-form .sl-cp-settlement-editor__table .sl-cp-line-field,
.sales-module-page .sl-cp-allocate-editor__table .sl-cp-line-field {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0.5rem 0.55rem;
  font-size: 0.8125rem;
  min-height: 2.15rem;
}

.sales-customer-payments-form .sl-cp-settlement-editor__table .sl-cp-line-field:focus,
.sales-module-page .sl-cp-allocate-editor__table .sl-cp-line-field:focus {
  background: #fff;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 35%, transparent);
}

.sales-customer-payments-form .sl-cp-settlement-editor__table tfoot th {
  padding: 0.65rem 0.65rem;
  font-size: 0.8125rem;
  font-weight: 700;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, var(--adm-bg-subtle, #f8fafc));
  border-top: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 16%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sales-customer-payments-form .sl-cp-settlement-editor__doc-total {
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page .sl-cp-alloc-lines-editor__table .sl-cp-line-cell--invoice {
  padding: 0.5rem 0.65rem;
  font-size: 0.8125rem;
}

.sales-module-page .sl-cp-alloc-lines-editor__table .sl-cp-line-cell--amount,
.sales-module-page .sl-cp-alloc-lines-editor__table .sl-cp-line-cell--date {
  padding: 0.5rem 0.65rem;
  font-size: 0.8125rem;
  font-variant-numeric: tabular-nums;
}

.sales-module-page .sl-cp-alloc-lines-editor__table tfoot th {
  padding: 0.75rem 0.65rem 1.15rem;
  font-size: 0.8125rem;
  font-weight: 700;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, var(--adm-bg-subtle, #f8fafc));
  border-top: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 16%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sales-module-page .sl-cp-allocations-panel .sl-cp-alloc-lines-editor__wrap {
  padding-bottom: 0.35rem;
}

.sales-module-page .sl-cp-allocate-editor__table .sl-cp-line-cell--actions {
  padding: 0.35rem 0.5rem;
  text-align: end;
}

.sales-module-page .sl-cp-detail-panel .sales-empty-state {
  padding: 2rem 1.25rem;
}

.sales-module-page .sl-cp-no-invoices-alert {
  border-radius: var(--sl-cp-radius);
  margin: 0;
}

.sales-module-page .sl-cp-no-invoices-alert__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: var(--sys-radius);
  background: color-mix(in srgb, var(--bs-warning) 16%, #fff);
  color: var(--bs-warning-text-emphasis, #664d03);
  flex-shrink: 0;
}

@media (max-width: 767.98px) {
  .sales-module-page .sl-cp-detail-hero {
    flex-direction: column;
  }

  .sales-customer-payments-form .sl-cp-settlement-editor__wrap,
  .sales-module-page .sl-cp-alloc-lines-editor__wrap,
  .sales-module-page .sl-cp-allocate-editor__wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .sales-customer-payments-form .sl-cp-settlement-editor__table,
  .sales-module-page .sl-cp-alloc-lines-editor__table,
  .sales-module-page .sl-cp-allocate-editor__table {
    min-width: 28rem;
  }

}

html[data-theme="dark"] .sales-module-page .sl-cp-panel .sales-panel__body,
html[data-theme="dark"] .sales-module-page .sl-cp-panel .table,
html[data-theme="dark"] .sales-module-page .sl-cp-detail-hero,
html[data-theme="dark"] .sales-customer-payments-form .sl-cp-settlement-editor__wrap,
html[data-theme="dark"] .sales-module-page .sl-cp-alloc-lines-editor__wrap,
html[data-theme="dark"] .sales-module-page .sl-cp-allocate-editor__wrap {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}

html[data-theme="dark"] .sales-module-page .sl-cp-detail-stats .sl-detail-stat,
html[data-theme="dark"] .sales-module-page .sl-cp-next-actions__hero {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}


/* ── Customers ─────────────────────────────────────────────────── */
/* Sales — Customers (Companies UI standard) */

:root {
  --sl-cust-radius: 0.20rem;
}

/* Panel radius — beats sales-module.css dashboard lock (0.75rem !important) */
.dashboard-wrapper .sales-module-page .sales-panel.sl-customers-panel,
.dashboard-wrapper .sales-module-page section.sales-panel.sl-customers-panel,
.dashboard-wrapper .sales-module-page .sales-panel.sl-customer-detail-panel,
.dashboard-wrapper .sales-module-page section.sales-panel.sl-customer-detail-panel,
.dashboard-wrapper .sales-module-page .sales-panel.sl-customer-quicklinks-panel,
.dashboard-wrapper .sales-module-page .sl-customer-detail-panel .sales-panel.sl-detail-panel,
.dashboard-wrapper .sales-module-page .sales-panel.sl-profile-completion,
.dashboard-wrapper .sales-module-page .sales-panel.sl-cp-nav {
  border-radius: var(--sl-cust-radius) !important;
}

.dashboard-wrapper .sales-module-page .sl-overview .sl-overview-card {
  border-radius: var(--sl-cust-radius);
}

.sales-module-page .sl-customer-tabs .nav-tabs {
  border-bottom-color: var(--adm-border-subtle, var(--bs-border-color-translucent));
  gap: 0.15rem;
}

.sales-module-page .sl-customer-tabs .nav-link {
  border-radius: var(--sl-cust-radius) var(--sl-cust-radius) 0 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  padding: 0.55rem 0.85rem;
}

.sales-module-page .sl-customer-tabs .nav-link.active {
  color: var(--adm-brand-600, var(--bs-primary));
  background: #fff;
  border-color: var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-bottom-color: #fff;
}

.sales-module-page .sl-customer-detail-panel .sales-panel__body {
  background: #fff;
}

.sales-module-page .sl-customer-quicklinks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.sales-module-page .sl-customer-detail-tab-panel+.sl-customer-detail-tab-panel {
  margin-top: 1rem;
}

/* ── Customer details page ───────────────────────────────────────────────── */
.sl-customer-detail-page {
  padding-bottom: 1rem;
}

.sales-module-page .sl-detail-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: stretch;
}

.sales-module-page .sl-detail-stat {
  min-width: 7rem;
  padding: 0.75rem 0.95rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-cust-radius);
  background: #fff;
}

.sales-module-page .sl-detail-stat--wide {
  min-width: 10rem;
  flex: 1 1 12rem;
}

.sales-module-page .sl-detail-stat__label {
  margin: 0 0 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-detail-stat__value {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page .sl-detail-stat__value--sm {
  font-size: 0.9375rem;
  font-weight: 600;
}

.sales-module-page .sl-detail-dl {
  display: grid;
  gap: 0.65rem;
}

.sales-module-page .sl-detail-dl__row {
  display: grid;
  grid-template-columns: minmax(8rem, 38%) 1fr;
  gap: 0.75rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.sales-module-page .sl-detail-dl__row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.sales-module-page .sl-detail-dl__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-detail-dl__row dd {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.sales-module-page .sl-customer-tabs-nav-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.sales-module-page .sl-customer-tabs-nav-wrap .sl-customer-tabs {
  flex-wrap: nowrap;
  white-space: nowrap;
  border-bottom: 0;
}

.sales-module-page .sl-customer-credit-bar {
  height: 0.45rem;
  border-radius: var(--sl-cust-radius);
  background: color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 40%, #fff);
}

html[data-theme="dark"] .sales-module-page .sl-detail-stat {
  background: var(--adm-bg-surface, var(--bg-secondary));
}

@media (max-width: 767.98px) {
  .sales-module-page .sl-detail-dl__row {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
}

html[data-theme="dark"] .sales-module-page .sl-customer-tabs .nav-link.active,
html[data-theme="dark"] .sales-module-page .sl-customer-detail-panel .sales-panel__body {
  background: var(--adm-bg-surface, var(--bg-secondary));
}

/* ── Customer add/edit form — radius lock ───────────── */
.sys-form-page:has(.sys-ref-form) {
  --sys-card-radius: var(--sl-cust-radius);
}

/* ── Profile completion ──────────────────────────────────────────────────── */
.sl-profile-completion__layout {
  display: grid;
  grid-template-columns: minmax(9rem, auto) 1fr auto;
  gap: 1.25rem;
  align-items: start;
}

@media (max-width: 991.98px) {
  .sl-profile-completion__layout {
    grid-template-columns: 1fr;
  }
}

.sl-profile-completion__ring {
  --sl-profile-ring-size: 6.5rem;
  width: var(--sl-profile-ring-size);
  height: var(--sl-profile-ring-size);
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: conic-gradient(var(--adm-brand-600, var(--bs-primary)) calc(var(--sl-profile-pct, 0) * 1%),
      color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 55%, #fff) 0);
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.06);
}

.sl-profile-completion__ring--complete {
  background: conic-gradient(#198754 calc(var(--sl-profile-pct, 100) * 1%), #198754 0);
}

.sl-profile-completion__ring-inner {
  width: calc(var(--sl-profile-ring-size) - 0.85rem);
  height: calc(var(--sl-profile-ring-size) - 0.85rem);
  border-radius: 50%;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0.35rem;
}

.sl-profile-completion__percent {
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1.1;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sl-profile-completion__caption {
  font-size: 0.65rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
  line-height: 1.2;
}

.sl-profile-completion__summary {
  margin-top: 0.65rem;
  font-size: 0.8125rem;
  color: var(--bs-secondary-color);
  max-width: 10rem;
}

.sl-profile-completion__sections {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
  gap: 0.75rem;
}

.sl-profile-completion-section__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.35rem;
  margin-bottom: 0.35rem;
}

.sl-profile-completion-section__title {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  text-decoration: none;
}

.sl-profile-completion-section__title:hover {
  color: var(--adm-brand-600, var(--bs-primary));
}

.sl-profile-completion-section__pct {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--bs-secondary-color);
}

.sl-profile-completion-section__bar {
  height: 0.35rem;
  border-radius: var(--sl-cust-radius);
  background: color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 45%, #fff);
}

.sl-profile-completion-section__missing {
  margin-top: 0.35rem;
}

.sl-profile-completion-section__link {
  font-size: 0.72rem;
  color: var(--adm-brand-600, var(--bs-primary));
  text-decoration: none;
}

.sl-profile-completion-section__link:hover {
  text-decoration: underline;
}

.sl-profile-completion__cta {
  display: flex;
  align-items: center;
}

.sl-detail-field--missing {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
}

.sl-detail-field__empty {
  color: var(--bs-secondary-color);
}

.sl-detail-complete-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--adm-brand-600, var(--bs-primary));
  text-decoration: none;
  white-space: nowrap;
}

.sl-detail-complete-link:hover {
  text-decoration: underline;
}

.sl-cp-page .sl-cp-nav__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.sl-cp-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-cust-radius);
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  text-decoration: none;
  background: #fff;
}

.sl-cp-nav__link--incomplete {
  border-color: color-mix(in srgb, var(--bs-warning) 45%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sl-cp-nav__link--done {
  border-color: color-mix(in srgb, var(--bs-success) 35%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sl-cp-section {
  scroll-margin-top: 5.5rem;
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
}

.sl-cp-section--focus {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, transparent);
}

html[data-theme="dark"] .sl-profile-completion__ring-inner,
html[data-theme="dark"] .sl-cp-nav__link {
  background: var(--adm-bg-surface, var(--bg-secondary));
}


/* ── Cycle Hub ─────────────────────────────────────────────────── */
/* Sales — Cycle hub (order-to-cash) */

:root {
  --sl-cycle-radius: 0.20rem;
  --sl-cycle-gap: 1rem;
  --sl-cycle-group-gap: 1.5rem;
  --sl-cycle-pad-block: 1rem;
  --sl-cycle-pad-inline: 1.15rem;
}

.sl-cycle-page {
  display: flex;
  flex-direction: column;
  gap: var(--sl-cycle-group-gap);
  padding-bottom: 1.25rem;
}

.sl-cycle-group {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.sl-cycle-group--queue {
  gap: 0;
}

.sl-cycle-group__head {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 0;
  padding: 0 0.1rem;
}

.sl-cycle-group__accent {
  flex: 0 0 4px;
  width: 4px;
  min-height: 1.35rem;
  align-self: stretch;
  border-radius: var(--sl-cycle-radius);
  background: linear-gradient(180deg,
      var(--adm-brand-600, var(--bs-primary)),
      color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 72%, #121f1d));
}

.sl-cycle-group__text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.sl-cycle-group__title {
  margin: 0;
  font-size: 1.0625rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.35;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.sl-cycle-group__desc {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  max-width: 52rem;
}

/* Panel radius — override sales-module dashboard lock */
.dashboard-wrapper .sales-module-page .sl-cycle-page .sales-panel.sl-cycle-panel,
.dashboard-wrapper .sales-module-page .sl-cycle-page section.sales-panel.sl-cycle-panel {
  border-radius: var(--sl-cycle-radius) !important;
}

.sl-cycle-page .sl-overview-card,
.sl-cycle-page .sl-cycle-stat-card {
  border-radius: var(--sl-cycle-radius);
}

.sl-cycle-page .sl-overview-card__icon,
.sl-cycle-page .sl-cycle-stat-card__icon {
  border-radius: var(--sl-cycle-radius);
}

.sl-cycle-stat-card {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.sl-cycle-stat-card:hover,
.sl-cycle-stat-card:focus-visible {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 32%, var(--adm-border-subtle, var(--bs-border-color)));
  box-shadow: 0 4px 16px rgba(7, 10, 9, 0.07);
  transform: translateY(-1px);
  color: inherit;
}

.sl-cycle-stat-card:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 45%, transparent);
  outline-offset: 2px;
}

.sl-cycle-stat-card__icon--primary {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.sl-cycle-stat-card__icon--success {
  background: color-mix(in srgb, var(--bs-success, #00d27a) 14%, #fff);
  color: var(--bs-success, #00d27a);
}

.sl-cycle-stat-card__icon--warning {
  background: color-mix(in srgb, #f59e0b 14%, #fff);
  color: #d97706;
}

.sl-cycle-stat-card__icon--danger {
  background: color-mix(in srgb, var(--bs-danger, #dc3545) 12%, #fff);
  color: var(--bs-danger, #dc3545);
}

.sl-cycle-stat-card__icon--info {
  background: color-mix(in srgb, #17322d 14%, #fff);
  color: var(--adm-brand-600, #112a25);
}

.sl-overview--cycle {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sl-cycle-gap);
}

.sl-overview--cycle-compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sl-cycle-gap);
  max-width: 42rem;
}

.sl-cycle-page .sales-panel.sl-cycle-panel {
  margin-bottom: 0 !important;
}

.sl-cycle-page .sales-panel.sl-cycle-panel>.sales-panel__head,
.sl-cycle-page .sales-panel.sl-cycle-panel>.sales-panel__header,
.sl-cycle-page .sales-panel.sl-cycle-panel>.sales-panel__body--padded,
.sl-cycle-page .sales-panel.sl-cycle-panel>.sales-panel__body--flush {
  padding: var(--sl-cycle-pad-block) var(--sl-cycle-pad-inline) !important;
}

.sl-cycle-page .sales-panel.sl-cycle-panel>.sales-panel__head,
.sl-cycle-page .sales-panel.sl-cycle-panel>.sales-panel__header {
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: linear-gradient(180deg,
      color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 5%, #fff) 0%,
      #fff 100%);
}

.sl-cycle-page .sales-panel.sl-cycle-panel>.sales-panel__head .sales-panel__title {
  font-size: 1.0625rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.35;
}

.sl-cycle-page .sales-panel.sl-cycle-panel>.sales-panel__head .sales-panel__subtitle {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.sl-cycle-page .sales-panel.sl-cycle-panel>.sales-panel__body--grid {
  padding: var(--sl-cycle-pad-block) var(--sl-cycle-pad-inline) !important;
}

.sl-cycle-page .sl-cycle-filter-form .form-label {
  margin-bottom: 0.35rem;
}

.sl-cycle-page .sl-cycle-filter-form .btn {
  min-width: 5.5rem;
}

.sl-cycle-page .operational-cycle-step,
.sl-cycle-page .operational-cycle-pipeline__link {
  border-radius: var(--sl-cycle-radius);
}

.sl-cycle-page .operational-cycle-step__icon {
  border-radius: var(--sl-cycle-radius);
}

.sl-cycle-page .operational-cycle-pipeline {
  padding: 0.1rem 0 0.25rem;
}

@media (max-width: 991.98px) {
  .sl-overview--cycle {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {

  .sl-overview--cycle,
  .sl-overview--cycle-compact {
    grid-template-columns: minmax(0, 1fr);
  }

  .sl-cycle-page .sales-panel.sl-cycle-panel>.sales-panel__head,
  .sl-cycle-page .sales-panel.sl-cycle-panel>.sales-panel__body--padded,
  .sl-cycle-page .sales-panel.sl-cycle-panel>.sales-panel__body--flush {
    padding-inline: 1rem !important;
  }
}


/* ── Cycle UI ──────────────────────────────────────────────────── */
/* Sales cycle / master reference — Companies UI standard */

:root {
  --sl-card-radius: 0.20rem;
}

.sales-module-page .sales-panel {
  border-radius: var(--sl-card-radius);
  background: #fff;
}

.sales-module-page .sales-panel+.sales-panel,
.sales-module-page .sl-overview+.sales-panel,
.sales-module-page .sales-page-header+.sl-overview,
.sales-module-page .sales-page-header+.sales-panel {
  margin-top: 0;
}

.sales-module-page .sales-panel.mb-3 {
  margin-bottom: 1rem !important;
}

/* Overview stats */
.sl-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

@media (max-width: 575.98px) {
  .sl-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.sl-overview-card {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-card-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  overflow: hidden;
}

.dashboard-wrapper .sales-module-page .sales-panel[data-sales-table],
.sales-module-page .sales-panel[data-sales-table],
.sales-module-page .sl-detail-panel.sales-panel {
  border-radius: var(--sl-card-radius) !important;
}

.sl-overview-card__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
}

.sl-overview-card__title {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.sl-overview-card__stat {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sl-overview-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--sl-card-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.15rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.sl-overview-card--active .sl-overview-card__icon {
  background: color-mix(in srgb, var(--bs-success, #00d27a) 14%, #fff);
  color: var(--bs-success, #00d27a);
}

.sl-overview-card--active .sl-overview-card__stat {
  color: var(--bs-success, #00d27a);
}

/* Entity cell (avatar + name) */
.sl-entity-cell {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.sl-entity-avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--sl-card-radius);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  overflow: hidden;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #17322d, #173630);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.06);
}

.sl-entity-avatar .bi {
  font-size: 1.05rem;
}

.sl-entity-avatar--lg {
  width: 3.5rem;
  height: 3.5rem;
  font-size: 1.35rem;
}

.sl-entity-cell__name {
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.sl-entity-cell__meta {
  display: block;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--bs-secondary-color);
}

.sales-code {
  padding: 0.15rem 0.4rem;
  border-radius: var(--sl-card-radius);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, #fff);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  font-size: 0.8125rem;
}

/* Table — white rows */
.sales-panel[data-sales-table] .table thead th {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
}

.sales-panel[data-sales-table] .table tbody tr,
.sales-panel[data-sales-table] .table tbody tr:nth-child(even):not(.sales-empty-state-row) {
  background: #fff;
}

.sales-panel[data-sales-table] .table tbody td {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
}

.sales-panel[data-sales-table] .table tbody tr:hover,
.sales-panel[data-sales-table] .table tbody tr:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.sales-panel[data-sales-table] .table tbody tr:hover td,
.sales-panel[data-sales-table] .table tbody tr:focus-visible td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

/* Row actions — stay above table toolbar/pager */
.sales-panel[data-sales-table]:has(.dropdown-menu.show),
.sales-panel[data-sales-table]:has(tr.sales-row-actions-open),
.sales-panel[data-sales-table] .sales-panel__body:has(.dropdown-menu.show),
.sales-panel[data-sales-table] .sales-panel__body:has(tr.sales-row-actions-open),
.sales-panel[data-sales-table] .table-responsive:has(.dropdown-menu.show) {
  overflow: visible !important;
  position: relative;
  z-index: 40;
}

.sales-panel[data-sales-table] tr.sales-row-actions-open {
  position: relative;
  z-index: 45;
}

.sales-panel[data-sales-table] tr.sales-row-actions-open>td:last-child {
  overflow: visible;
  position: relative;
  z-index: 46;
}

.sales-panel[data-sales-table] .sales-row-actions-dd:has(.dropdown-menu.show) {
  z-index: 47;
}

.sales-panel[data-sales-table] .sales-row-actions-dd .dropdown-menu.show {
  z-index: 2000 !important;
}

.sales-panel[data-sales-table] .sales-row-actions-dd__trigger,
.sales-panel[data-sales-table] .sales-row-actions-dd__trigger .bi,
.sales-panel[data-sales-table] .sales-row-actions-dd,
.sales-panel[data-sales-table] .sales-row-actions-dd__menu,
.sales-panel[data-sales-table] .sales-row-actions-dd__menu>li,
.sales-panel[data-sales-table] .sales-row-actions-dd__menu .sales-row-actions-dd__item,
.sales-panel[data-sales-table] .sales-row-actions-dd__menu .dropdown-item,
.sales-panel[data-sales-table] .sales-row-actions-dd__menu .sales-row-actions-dd__form,
.sales-panel[data-sales-table] .sales-row-actions-dd__menu .sales-row-actions-dd__form button {
  cursor: pointer !important;
}

/* Detail hero */
.sl-detail-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 1.25rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-card-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
}

.sl-detail-hero__main {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}

.sl-detail-hero__name {
  font-weight: 800;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.sl-detail-hero__meta {
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
}

.sl-detail-hero__meta code {
  padding: 0.2rem 0.45rem;
  border-radius: var(--sl-card-radius);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, #fff);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.sl-detail-panel {
  background: #fff;
}

.sales-page-header__actions.sales-detail-toolbar .sales-row-actions-dd {
  display: inline-flex;
}

/* ── Delivery Orders ───────────────────────────────────────────── */
/* Sales — Delivery orders (Customers / Sales Orders / Quotations UI standard) */

:root {
  --sl-do-radius: 0.20rem;
}

.sales-module-page .sl-overview.sl-do-overview {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 575.98px) {
  .sales-module-page .sl-overview.sl-do-overview {
    grid-template-columns: repeat(3, minmax(8.5rem, 1fr));
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.dashboard-wrapper .sales-module-page .sales-panel.sl-do-panel,
.dashboard-wrapper .sales-module-page section.sales-panel.sl-do-panel,
.dashboard-wrapper .sales-module-page .sales-panel.sl-do-detail-panel,
.dashboard-wrapper .sales-module-page section.sales-panel.sl-do-detail-panel {
  border-radius: var(--sl-do-radius) !important;
}

.dashboard-wrapper .sales-module-page .sl-overview .sl-overview-card {
  border-radius: var(--sl-do-radius);
}

.sales-module-page .sl-do-detail-panel .sales-panel__body,
.sales-module-page .sl-do-panel .sales-panel__body,
.sales-module-page .sl-do-panel .table {
  background: #fff;
}

.sales-module-page .sl-do-list-head {
  align-items: center !important;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
}

.sales-module-page .sl-do-list-head .sales-panel__head-text {
  flex: 0 1 auto;
  min-width: 0;
}

.sales-module-page .sl-do-list-head .sales-panel__title {
  width: auto;
  white-space: nowrap;
}

.sales-module-page .sl-do-list-head__actions {
  margin-inline-start: auto;
  flex: 0 0 auto;
}

@media (max-width: 767.98px) {
  .sales-module-page .sl-do-list-head__actions {
    width: 100%;
    margin-inline-start: 0;
  }

  .sales-module-page .sl-do-list-head__actions .d-flex {
    justify-content: flex-start !important;
  }
}

.sales-module-page .sl-do-panel .sales-row-actions-dd__menu {
  min-width: 13rem;
}

.sales-module-page .sl-do-panel .sales-row-actions-dd__item.text-primary {
  font-weight: 600;
}

.sales-module-page .sl-do-detail-page {
  padding-bottom: 1rem;
}

.sales-module-page .sl-detail-dl {
  display: grid;
  gap: 0.65rem;
}

.sales-module-page .sl-detail-dl__row {
  display: grid;
  grid-template-columns: minmax(8rem, 38%) 1fr;
  gap: 0.75rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.sales-module-page .sl-detail-dl__row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.sales-module-page .sl-detail-dl__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-detail-dl__row dd {
  margin: 0;
  font-size: 0.9375rem;
}

.sales-module-page .sl-detail-hero,
.sales-module-page .sl-do-detail-hero {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-do-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
}

.sales-module-page .sl-detail-hero__main {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  min-width: 0;
  flex: 1 1 16rem;
}

.sales-module-page .sl-detail-stats,
.sales-module-page .sl-do-detail-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: stretch;
}

.sales-delivery-orders-form-page {
  padding-bottom: 5rem;
}

.sales-delivery-orders-form .sales-panel__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-do-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  margin-bottom: 1rem;
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sales-delivery-orders-form .sl-so-form-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--sl-do-radius);
  flex-shrink: 0;
  font-size: 1.05rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-delivery-orders-form .sl-do-lines-table__table {
  table-layout: fixed;
  width: 100%;
  background: #fff;
}

.sales-delivery-orders-form .sl-do-lines-table__table thead th {
  padding: 0.55rem 0.65rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.sales-delivery-orders-form .sl-do-lines-table__table tbody td {
  padding: 0.55rem 0.65rem;
  vertical-align: top;
}

.sales-delivery-orders-form .sl-do-lines-table__table tbody td:first-child {
  width: 28%;
}

.sales-delivery-orders-form .sl-do-line-qty {
  max-width: none;
  width: 12%;
}

.sales-delivery-orders-form .sl-do-line-lot,
.sales-delivery-orders-form .sl-do-line-serial {
  width: 30%;
}

.sales-delivery-orders-form .sl-do-line-qty .form-control,
.sales-delivery-orders-form .sl-do-line-lot .form-control,
.sales-delivery-orders-form .sl-do-line-serial .form-control {
  width: 100%;
  max-width: 100%;
}

.sales-delivery-orders-form .sl-do-line-qty .text-muted.small {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.7rem;
  line-height: 1.25;
  text-align: end;
}

.sales-delivery-orders-form .sl-do-line-qty {
  max-width: 8rem;
}

.sales-delivery-orders-form .sl-do-line-lot,
.sales-delivery-orders-form .sl-do-line-serial {
  min-width: 9rem;
}

.sales-module-page .sl-do-fulfillment-table .sl-do-tracking-cell code.sales-code {
  font-size: 0.8125rem;
  word-break: break-all;
}

.sales-module-page .sl-do-tracking-summary__item+.sl-do-tracking-summary__item {
  margin-top: 0.35rem;
  padding-top: 0.35rem;
  border-top: 1px dashed var(--adm-border-subtle, var(--bs-border-color-translucent));
}

html[data-theme="dark"] .sales-module-page .sl-do-detail-panel .sales-panel__body,
html[data-theme="dark"] .sales-module-page .sl-do-panel .sales-panel__body,
html[data-theme="dark"] .sales-module-page .sl-do-panel .table,
html[data-theme="dark"] .sales-module-page .sl-detail-hero,
html[data-theme="dark"] .sales-delivery-orders-form .sl-do-lines-table__table {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}

@media (max-width: 767.98px) {

  .sales-module-page .sl-detail-hero,
  .sales-module-page .sl-do-detail-hero {
    flex-direction: column;
  }

  .sales-module-page .sl-do-detail-grid {
    grid-template-columns: minmax(0, 1fr);
  }

}

.sales-module-page .sl-do-detail-hero {
  align-items: center;
}

.sales-module-page .sl-do-detail-stats {
  justify-content: flex-end;
}

.sales-module-page .sl-do-detail-stats .sl-detail-stat {
  min-width: 6.75rem;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-do-radius);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.sales-module-page .sl-do-detail-stats .sl-detail-stat__label {
  margin: 0 0 0.2rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-do-detail-stats .sl-detail-stat__value {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page .sl-do-detail-stats .sl-detail-stat__value--sm {
  font-size: 0.875rem;
  font-weight: 600;
}

.sales-module-page .sl-do-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(17rem, 0.82fr);
  gap: 1rem;
  align-items: stretch;
}

.sales-module-page .sl-do-workflow-path .sales-panel__body {
  height: 100%;
}

.sales-module-page .sl-do-workflow-step {
  position: relative;
  /* The badge sat tight against the top edge: this was overriding the card's
     own 0.95rem top padding down to a hairline. */
  padding-top: 0.95rem;
}

.sales-module-page .sl-do-workflow-step__check {
  position: absolute;
  top: 0.35rem;
  inset-inline-end: 0.45rem;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: var(--sys-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--bs-success, #198754);
  color: #fff;
  box-shadow: 0 1px 3px rgba(7, 10, 9, 0.12);
}

.sales-module-page .sl-do-workflow-step__check .bi {
  font-size: 0.85rem;
  font-weight: 800;
}

.sales-module-page .sl-do-workflow-step--completed .sl-do-workflow-step__desc {
  padding-inline-end: 1.75rem;
}

.sales-module-page .sl-do-detail-grid__workflow .sl-do-workflow-path {
  height: 100%;
}

.sales-module-page .sl-do-detail-grid .sales-workflow-steps {
  --bs-gutter-x: 0.5rem;
  --bs-gutter-y: 0.5rem;
}

.sales-module-page .sl-do-detail-grid .sales-workflow-step {
  min-height: 5.75rem;
}

.sales-module-page .sl-do-next-actions .sales-panel__body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
}

.sales-module-page .sl-do-next-actions__hero {
  padding: 1rem 1.05rem;
  border: 1px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 22%, var(--adm-border-subtle, var(--bs-border-color)));
  border-radius: var(--sl-do-radius);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
}

.sales-module-page .sl-do-next-actions__eyebrow {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page .sl-do-next-actions__title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.25;
}

.sales-module-page .sl-do-next-actions__hint {
  font-size: 0.8125rem;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-do-next-actions__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.sales-module-page .sl-do-next-actions__form {
  margin: 0;
}

.sales-module-page .sl-do-next-actions__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.sales-module-page .sl-do-next-actions__footer {
  margin-top: auto;
  padding-top: 0.25rem;
}

.sales-module-page .sl-do-next-actions__hub {
  width: 100%;
  justify-content: center;
}

.sales-module-page .sl-do-detail-grid__actions .sl-do-next-actions {
  height: 100%;
}

html[data-theme="dark"] .sales-module-page .sl-do-detail-stats .sl-detail-stat,
html[data-theme="dark"] .sales-module-page .sl-do-next-actions__hero {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}


/* ── Discount Schemes ──────────────────────────────────────────── */
/* Sales — Discount schemes */

:root {
  --sl-ds-radius: 0.20rem;
}

.dashboard-wrapper .sales-module-page .sales-panel.sl-ds-panel,
.dashboard-wrapper .sales-module-page section.sales-panel.sl-ds-panel,
.dashboard-wrapper .sales-module-page .sales-panel.sl-ds-detail-panel {
  border-radius: var(--sl-ds-radius) !important;
}

.dashboard-wrapper .sales-module-page .sl-overview .sl-overview-card {
  border-radius: var(--sl-ds-radius);
}

.sales-module-page .sl-ds-panel .sales-panel__body,
.sales-module-page .sl-ds-panel .table,
.sales-module-page .sl-ds-detail-panel .sales-panel__body,
.sales-module-page .sl-ds-detail-panel .table {
  background: #fff;
}

.sales-module-page .sl-ds-panel .sales-row-actions-dd__menu {
  min-width: 14rem;
}

.sales-discount-schemes-form-page {
  padding-bottom: 5rem;
}

.sales-discount-schemes-form .sl-ds-form-panel__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  margin-bottom: 1rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-ds-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sales-discount-schemes-form .sl-ds-form-panel__head .sales-panel__accent {
  display: none;
}

.sl-ds-detail-page {
  padding-bottom: 1rem;
}

.sales-module-page .sl-ds-detail-hero {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-ds-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
}

.sales-module-page .sl-ds-detail-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.sales-module-page .sl-ds-detail-subform {
  padding: 0 1.15rem 1.15rem;
}

.sales-module-page .sl-detail-dl__row {
  display: grid;
  grid-template-columns: minmax(8rem, 0.35fr) minmax(0, 1fr);
  gap: 0.35rem 1rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 65%, transparent);
}

.sales-module-page .sl-detail-dl__row:last-child {
  border-bottom: 0;
}

.sales-module-page .sl-detail-dl__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-detail-dl__row dd {
  margin: 0;
  font-size: 0.875rem;
}

.sales-module-page tr.sales-row-inactive {
  opacity: 0.72;
}

.sales-module-page .sales-table-row-link {
  color: inherit;
}

.sales-module-page .sales-table-row-link:hover .sales-code,
.sales-module-page .sales-table-row-link:hover .sl-entity-cell__name {
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page tbody tr[data-sales-row-href] {
  cursor: pointer;
}

html[data-theme="dark"] .sales-discount-schemes-form .sl-ds-form-panel__head,
html[data-theme="dark"] .sales-module-page .sl-ds-detail-hero,
html[data-theme="dark"] .sales-module-page .sl-ds-panel .sales-panel__body,
html[data-theme="dark"] .sales-module-page .sl-ds-detail-panel .sales-panel__body,
html[data-theme="dark"] .sales-module-page .sl-ds-detail-panel .table {
  background: var(--adm-bg-surface, var(--bg-secondary));
}

@media (max-width: 767.98px) {

  .sales-module-page .sl-detail-dl__row {
    grid-template-columns: 1fr;
  }
}


/* ── Invoices ──────────────────────────────────────────────────── */
/* Sales — Invoices (Customers / Sales Orders / Quotations UI standard) */

:root {
  --sl-si-radius: 0.20rem;
}

.sales-module-page .sl-overview.sl-si-overview {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 575.98px) {
  .sales-module-page .sl-overview.sl-si-overview {
    grid-template-columns: repeat(3, minmax(8.5rem, 1fr));
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.dashboard-wrapper .sales-module-page .sales-panel.sl-si-panel,
.dashboard-wrapper .sales-module-page section.sales-panel.sl-si-panel,
.dashboard-wrapper .sales-module-page .sales-panel.sl-si-detail-panel,
.dashboard-wrapper .sales-module-page section.sales-panel.sl-si-detail-panel {
  border-radius: var(--sl-si-radius) !important;
}

.dashboard-wrapper .sales-module-page .sl-overview .sl-overview-card {
  border-radius: var(--sl-si-radius);
}

.sales-module-page .sl-si-detail-panel .sales-panel__body,
.sales-module-page .sl-si-panel .sales-panel__body,
.sales-module-page .sl-si-panel .table {
  background: #fff;
}

.sales-module-page .sl-si-list-head {
  align-items: center !important;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
}

.sales-module-page .sl-si-panel .sales-row-actions-dd__menu {
  min-width: 13rem;
}

.sales-module-page .sl-si-panel .sales-row-actions-dd__item.text-primary {
  font-weight: 600;
}

.sales-module-page .sl-si-detail-page {
  padding-bottom: 1rem;
}

.sales-module-page .sl-si-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(17rem, 0.82fr);
  gap: 1rem;
  align-items: stretch;
}

.sales-module-page .sl-si-detail-hero {
  align-items: center;
}

.sales-module-page .sl-si-detail-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: stretch;
  justify-content: flex-end;
}

.sales-module-page .sl-si-detail-stats .sl-detail-stat {
  min-width: 6.75rem;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-si-radius);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.sales-module-page .sl-si-detail-stats .sl-detail-stat__label {
  margin: 0 0 0.2rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-si-detail-stats .sl-detail-stat__value {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page .sl-si-detail-stats .sl-detail-stat__value--sm {
  font-size: 0.875rem;
  font-weight: 600;
}

.sales-module-page .sl-si-financials-card {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 14%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sales-module-page .sl-si-financials__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.sales-module-page .sl-si-financials__row:last-child {
  border-bottom: 0;
}

.sales-module-page .sl-si-financials__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-si-financials__row dd {
  margin: 0;
  font-weight: 700;
}

.sales-module-page .sl-si-financials__row--total dd {
  font-size: 1.05rem;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page .sl-si-lines-table thead th {
  font-size: 0.8125rem;
  white-space: nowrap;
}

.sales-module-page .sl-si-workflow-path .sales-panel__body {
  height: 100%;
}

.sales-module-page .sl-si-next-actions .sales-panel__body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
}

.sales-module-page .sl-si-next-actions__hero {
  padding: 1rem 1.05rem;
  border: 1px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 22%, var(--adm-border-subtle, var(--bs-border-color)));
  border-radius: var(--sl-si-radius);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
}

.sales-module-page .sl-si-next-actions__eyebrow {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page .sl-si-next-actions__title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.25;
}

.sales-module-page .sl-si-next-actions__hint {
  font-size: 0.8125rem;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-si-next-actions__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.sales-module-page .sl-si-next-actions__form {
  margin: 0;
}

.sales-module-page .sl-si-next-actions__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.sales-module-page .sl-si-next-actions__footer {
  margin-top: auto;
  padding-top: 0.25rem;
}

.sales-module-page .sl-si-next-actions__hub {
  width: 100%;
  justify-content: center;
}

.sales-module-page .sl-si-workflow-step__check {
  position: absolute;
  top: 0.35rem;
  inset-inline-end: 0.45rem;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: var(--sys-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--bs-success, #198754);
  color: #fff;
  box-shadow: 0 1px 3px rgba(7, 10, 9, 0.12);
}

.sales-module-page .sl-si-workflow-step--completed .sl-si-workflow-step__desc {
  padding-inline-end: 1.75rem;
}

.sales-invoices-form-page {
  padding-bottom: 5rem;
}

.sales-invoices-form .sl-so-form-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--sl-si-radius);
  flex-shrink: 0;
  font-size: 1.05rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

/* ── Lines editor (Create) — ERP-style inline grid ───────────────────────── */
.sales-invoices-form .sl-si-lines-editor__wrap {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-si-radius);
  overflow: hidden;
  background: #fff;
}

.sales-invoices-form .sl-si-lines-editor__table {
  table-layout: fixed;
  width: 100%;
  margin-bottom: 0;
  background: #fff;
}

.sales-invoices-form .sl-si-lines-editor__table col.sl-si-col--num {
  width: 2.35rem;
}

.sales-invoices-form .sl-si-lines-editor__table col.sl-si-col--product {
  width: auto;
}

.sales-invoices-form .sl-si-lines-editor__table col.sl-si-col--qty {
  width: 4.5rem;
}

.sales-invoices-form .sl-si-lines-editor__table col.sl-si-col--price {
  width: 5.5rem;
}

.sales-invoices-form .sl-si-lines-editor__table col.sl-si-col--tax {
  width: 4.25rem;
}

.sales-invoices-form .sl-si-lines-editor__table col.sl-si-col--unit {
  width: 4rem;
}

.sales-invoices-form .sl-si-lines-editor__table col.sl-si-col--notes {
  width: 6.5rem;
}

.sales-invoices-form .sl-si-lines-editor__table col.sl-si-col--total {
  width: 6rem;
}

.sales-invoices-form .sl-si-lines-editor__table col.sl-si-col--actions {
  width: 2.5rem;
}

.sales-invoices-form .sl-si-lines-editor__table thead th {
  padding: 0.55rem 0.5rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  background: var(--adm-bg-subtle, #f8fafc);
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.sales-invoices-form .sl-si-lines-editor__table tbody td {
  padding: 0;
  vertical-align: middle;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 65%, transparent);
}

.sales-invoices-form .sl-si-lines-editor__table tbody tr:last-child td {
  border-bottom: 0;
}

.sales-invoices-form .sl-si-lines-editor__table tbody tr:hover td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 2.5%, #fff);
}

.sales-invoices-form .sl-si-lines-editor__table tbody tr:focus-within td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
}

.sales-invoices-form .sl-si-lines-editor__table .sl-si-line-cell--num {
  text-align: center;
}

.sales-invoices-form .sl-si-lines-editor__table .sl-si-line-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--bs-secondary-color);
}

.sales-invoices-form .sl-si-lines-editor__table .sl-si-line-field {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0.5rem 0.55rem;
  font-size: 0.8125rem;
  min-height: 2.15rem;
}

.sales-invoices-form .sl-si-lines-editor__table .sl-si-line-field:focus {
  background: #fff;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 35%, transparent);
}

.sales-invoices-form .sl-si-lines-editor__table .sl-si-line-cell--product .sl-si-line-field {
  padding-inline: 0.65rem;
}

.sales-invoices-form .sl-si-lines-editor__table .sl-si-line-total {
  display: block;
  padding: 0.5rem 0.65rem;
  font-size: 0.8125rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.sales-invoices-form .sl-si-lines-editor__table .sl-si-line-cell--actions {
  text-align: center;
}

.sales-invoices-form .sl-si-lines-editor__table .sl-si-line-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  padding: 0;
  border: 0;
  border-radius: var(--sl-si-radius);
  background: transparent;
  color: var(--bs-secondary-color);
  line-height: 1;
  transition: background 0.15s ease, color 0.15s ease;
}

.sales-invoices-form .sl-si-lines-editor__table .sl-si-line-remove:hover,
.sales-invoices-form .sl-si-lines-editor__table .sl-si-line-remove:focus-visible {
  background: color-mix(in srgb, var(--bs-danger) 10%, #fff);
  color: var(--bs-danger);
}

.sales-invoices-form .sl-si-lines-editor__table tfoot th {
  padding: 0.65rem 0.65rem;
  font-size: 0.8125rem;
  font-weight: 700;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, var(--adm-bg-subtle, #f8fafc));
  border-top: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 16%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sales-invoices-form .sl-si-lines-editor__table .sl-si-lines-editor__doc-total {
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--adm-brand-600, var(--bs-primary));
}

@media (max-width: 991.98px) {
  .sales-module-page .sl-si-detail-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767.98px) {
  .sales-module-page .sl-si-detail-hero {
    flex-direction: column;
  }

  .sales-invoices-form .sl-si-lines-editor__wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .sales-invoices-form .sl-si-lines-editor__table {
    min-width: 48rem;
  }

}

html[data-theme="dark"] .sales-module-page .sl-si-detail-panel .sales-panel__body,
html[data-theme="dark"] .sales-module-page .sl-si-panel .sales-panel__body,
html[data-theme="dark"] .sales-module-page .sl-si-panel .table,
html[data-theme="dark"] .sales-module-page .sl-si-detail-hero,
html[data-theme="dark"] .sales-invoices-form .sl-si-lines-editor__wrap,
html[data-theme="dark"] .sales-invoices-form .sl-si-lines-editor__table {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}

html[data-theme="dark"] .sales-module-page .sl-si-detail-stats .sl-detail-stat,
html[data-theme="dark"] .sales-module-page .sl-si-next-actions__hero {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}

html[data-theme="dark"] .sales-invoices-form .sl-si-lines-editor__table .sl-si-line-field:focus {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}


/* ── Orders ────────────────────────────────────────────────────── */
/* Sales — Sales Orders (Companies / Branches UI standard) */

:root {
  --sl-so-radius: 0.20rem;
}

/* Overview — three stats in one row */
.sales-module-page .sl-overview.sl-so-overview {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 575.98px) {
  .sales-module-page .sl-overview.sl-so-overview {
    grid-template-columns: repeat(3, minmax(8.5rem, 1fr));
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* List panel — title + bulk actions on same row */
.sales-module-page .sl-so-list-head {
  align-items: center !important;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
}

.sales-module-page .sl-so-list-head .sales-panel__head-text {
  flex: 0 1 auto;
  min-width: 0;
}

.sales-module-page .sl-so-list-head .sales-panel__title {
  width: auto;
  white-space: nowrap;
}

.sales-module-page .sl-so-list-head__actions {
  margin-inline-start: auto;
  flex: 0 0 auto;
}

@media (max-width: 767.98px) {
  .sales-module-page .sl-so-list-head__actions {
    width: 100%;
    margin-inline-start: 0;
  }

  .sales-module-page .sl-so-list-head__actions .d-flex {
    justify-content: flex-start !important;
  }
}

.dashboard-wrapper .sales-module-page .sales-panel.sl-so-panel,
.dashboard-wrapper .sales-module-page section.sales-panel.sl-so-panel,
.dashboard-wrapper .sales-module-page .sales-panel.sl-so-detail-panel,
.dashboard-wrapper .sales-module-page section.sales-panel.sl-so-detail-panel,
.dashboard-wrapper .sales-module-page .sl-so-detail-panel .sales-panel.sl-detail-panel {
  border-radius: var(--sl-so-radius) !important;
}

.dashboard-wrapper .sales-module-page .sl-overview .sl-overview-card {
  border-radius: var(--sl-so-radius);
}

.sales-module-page .sl-so-detail-panel .sales-panel__body,
.sales-module-page .sl-so-panel .sales-panel__body,
.sales-module-page .sl-so-panel .table {
  background: #fff;
}

.sales-module-page .sl-so-detail-page {
  padding-bottom: 1rem;
}

.sales-module-page .sl-detail-dl {
  display: grid;
  gap: 0.65rem;
}

.sales-module-page .sl-detail-dl__row {
  display: grid;
  grid-template-columns: minmax(8rem, 38%) 1fr;
  gap: 0.75rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.sales-module-page .sl-detail-dl__row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.sales-module-page .sl-detail-dl__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-detail-dl__row dd {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

@media (max-width: 767.98px) {
  .sales-module-page .sl-detail-dl__row {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
}

.sales-module-page .sl-so-group {
  margin-bottom: 1rem;
}

.sales-module-page .sl-so-group:last-child {
  margin-bottom: 0;
}

/* ── Form (Branches sticky footer) ───────────────────────────────────────── */
.sales-orders-form-page {
  padding-bottom: 5rem;
}

.sales-orders-form .sales-panel__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-so-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  margin-bottom: 1rem;
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sales-orders-form .sl-so-form-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--sl-so-radius);
  flex-shrink: 0;
  font-size: 1.05rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

html[data-theme="dark"] .sales-module-page .sl-so-detail-panel .sales-panel__body,
html[data-theme="dark"] .sales-module-page .sl-so-panel .sales-panel__body,
html[data-theme="dark"] .sales-module-page .sl-so-panel .table {
  background: var(--adm-bg-surface, var(--bg-secondary));
}

/* Sales orders list — uniform row-actions menu */
.sales-module-page .sl-so-panel .sales-row-actions-dd__menu {
  min-width: 13rem;
}

.sales-module-page .sl-so-panel .sales-row-actions-dd__item.text-primary {
  font-weight: 600;
}

/* ── Sales order details ─────────────────────────────────────────────────── */
.sales-module-page .sl-so-detail-page {
  padding-bottom: 1.25rem;
}

.sales-module-page .sl-so-detail-hero {
  align-items: center;
}

.sales-module-page .sl-so-detail-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: stretch;
  justify-content: flex-end;
}

.sales-module-page .sl-so-detail-stats .sl-detail-stat {
  min-width: 6.75rem;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-so-radius);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.sales-module-page .sl-so-detail-stats .sl-detail-stat__label {
  margin: 0 0 0.2rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-so-detail-stats .sl-detail-stat__value {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page .sl-so-detail-stats .sl-detail-stat__value--sm {
  font-size: 0.875rem;
  font-weight: 600;
}

.sales-module-page .sl-so-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(17rem, 0.82fr);
  gap: 1rem;
  align-items: stretch;
}

/* Right card — cycle path with checkmarks */
.sales-module-page .sl-so-workflow-path .sales-panel__body {
  height: 100%;
}

.sales-module-page .sl-so-workflow-step {
  position: relative;
  /* The badge sat tight against the top edge: this was overriding the card's
     own 0.95rem top padding down to a hairline. */
  padding-top: 0.95rem;
}

.sales-module-page .sl-so-workflow-step__check {
  position: absolute;
  top: 0.35rem;
  inset-inline-end: 0.45rem;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: var(--sys-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--bs-success, #198754);
  color: #fff;
  box-shadow: 0 1px 3px rgba(7, 10, 9, 0.12);
}

.sales-module-page .sl-so-workflow-step__check .bi {
  font-size: 0.85rem;
  font-weight: 800;
}

.sales-module-page .sl-so-workflow-step--completed .sl-so-workflow-step__desc {
  padding-inline-end: 1.75rem;
}

.sales-module-page .sl-so-detail-grid__workflow .sl-so-workflow-path {
  height: 100%;
}

.sales-module-page .sl-so-detail-grid .sales-workflow-steps {
  --bs-gutter-x: 0.5rem;
  --bs-gutter-y: 0.5rem;
}

.sales-module-page .sl-so-detail-grid .sales-workflow-step {
  min-height: 5.75rem;
}

/* Left card — next step actions only */
.sales-module-page .sl-so-next-actions .sales-panel__body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
}

.sales-module-page .sl-so-next-actions__hero {
  padding: 1rem 1.05rem;
  border: 1px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 22%, var(--adm-border-subtle, var(--bs-border-color)));
  border-radius: var(--sl-so-radius);
  background: linear-gradient(180deg,
      color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 7%, #fff) 0%,
      #fff 100%);
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.04);
}

.sales-module-page .sl-so-next-actions__eyebrow {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--adm-brand-600, var(--bs-primary));
  margin-bottom: 0.35rem;
}

.sales-module-page .sl-so-next-actions__title {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.35;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.sales-module-page .sl-so-next-actions__hint {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-so-next-actions__buttons {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.sales-module-page .sl-so-next-actions__form {
  margin: 0;
}

.sales-module-page .sl-so-next-actions__btn {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  font-weight: 700;
  padding: 0.55rem 0.85rem;
}

.sales-module-page .sl-so-next-actions__footer {
  margin-top: auto;
  padding-top: 0.5rem;
  border-top: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.sales-module-page .sl-so-next-actions__hub {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-weight: 600;
}

.sales-module-page .sl-so-detail-grid__actions .sl-so-next-actions {
  height: 100%;
}

.sales-module-page .sl-so-financials-card {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 14%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sales-module-page .sl-so-financials__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.sales-module-page .sl-so-financials__row:last-child {
  border-bottom: 0;
}

.sales-module-page .sl-so-financials__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-so-financials__row dd {
  margin: 0;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.sales-module-page .sl-so-financials__row--total {
  margin-top: 0.35rem;
  padding-top: 0.75rem;
  border-top: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
  border-bottom: 0;
}

.sales-module-page .sl-so-financials__row--total dt {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.sales-module-page .sl-so-financials__row--total dd {
  font-size: 1.125rem;
  font-weight: 800;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page .sl-so-lines-table thead th {
  font-size: 0.8125rem;
  white-space: nowrap;
}

@media (max-width: 991.98px) {
  .sales-module-page .sl-so-detail-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .sales-module-page .sl-so-detail-stats {
    width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 767.98px) {
  .sales-module-page .sl-so-detail-hero {
    flex-direction: column;
    align-items: stretch;
  }

  .sales-module-page .sl-so-detail-stats .sl-detail-stat {
    flex: 1 1 calc(50% - 0.35rem);
  }
}

html[data-theme="dark"] .sales-module-page .sl-so-detail-stats .sl-detail-stat {
  background: var(--adm-bg-surface, var(--bg-secondary));
}

/* ── Lines editor (Create / Edit) — ERP-style inline grid ───────────────── */
.sales-orders-form .sl-so-lines-editor__wrap {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-so-radius);
  overflow: hidden;
  background: #fff;
}

.sales-orders-form .sl-so-lines-editor__table {
  table-layout: fixed;
  width: 100%;
  margin-bottom: 0;
  background: #fff;
}

.sales-orders-form .sl-so-lines-editor__table col.sl-so-col--num {
  width: 2.35rem;
}

.sales-orders-form .sl-so-lines-editor__table col.sl-so-col--product {
  width: auto;
}

.sales-orders-form .sl-so-lines-editor__table col.sl-so-col--qty {
  width: 5.25rem;
}

.sales-orders-form .sl-so-lines-editor__table col.sl-so-col--price {
  width: 6.25rem;
}

.sales-orders-form .sl-so-lines-editor__table col.sl-so-col--discount {
  width: 5rem;
}

.sales-orders-form .sl-so-lines-editor__table col.sl-so-col--tax {
  width: 4.75rem;
}

.sales-orders-form .sl-so-lines-editor__table col.sl-so-col--total {
  width: 6.5rem;
}

.sales-orders-form .sl-so-lines-editor__table col.sl-so-col--actions {
  width: 2.5rem;
}

.sales-orders-form .sl-so-lines-editor__table thead th {
  padding: 0.55rem 0.5rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  background: var(--adm-bg-subtle, #f8fafc);
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.sales-orders-form .sl-so-lines-editor__table tbody td {
  padding: 0;
  vertical-align: middle;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 65%, transparent);
}

.sales-orders-form .sl-so-lines-editor__table tbody tr:last-child td {
  border-bottom: 0;
}

.sales-orders-form .sl-so-lines-editor__table tbody tr:hover td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 2.5%, #fff);
}

.sales-orders-form .sl-so-lines-editor__table tbody tr:focus-within td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
}

.sales-orders-form .sl-so-lines-editor__table .sl-so-line-cell--num {
  text-align: center;
}

.sales-orders-form .sl-so-lines-editor__table .sl-so-line-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--bs-secondary-color);
}

.sales-orders-form .sl-so-lines-editor__table .sl-so-line-field {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0.5rem 0.55rem;
  font-size: 0.8125rem;
  min-height: 2.15rem;
}

.sales-orders-form .sl-so-lines-editor__table .sl-so-line-field:focus {
  background: #fff;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 35%, transparent);
}

.sales-orders-form .sl-so-lines-editor__table .sl-so-line-cell--product .sl-so-line-field {
  padding-inline: 0.65rem;
}

.sales-orders-form .sl-so-lines-editor__table .sl-so-line-total {
  display: block;
  padding: 0.5rem 0.65rem;
  font-size: 0.8125rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.sales-orders-form .sl-so-lines-editor__table .sl-so-line-cell--actions {
  text-align: center;
}

.sales-orders-form .sl-so-lines-editor__table .sl-so-line-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  padding: 0;
  border: 0;
  border-radius: var(--sl-so-radius);
  background: transparent;
  color: var(--bs-secondary-color);
  line-height: 1;
  transition: background 0.15s ease, color 0.15s ease;
}

.sales-orders-form .sl-so-lines-editor__table .sl-so-line-remove .bi {
  font-size: 0.9rem;
}

.sales-orders-form .sl-so-lines-editor__table .sl-so-line-remove:hover,
.sales-orders-form .sl-so-lines-editor__table .sl-so-line-remove:focus-visible {
  background: color-mix(in srgb, var(--bs-danger) 10%, #fff);
  color: var(--bs-danger);
}

.sales-orders-form .sl-so-lines-editor__table tfoot th {
  padding: 0.65rem 0.65rem;
  font-size: 0.8125rem;
  font-weight: 700;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, var(--adm-bg-subtle, #f8fafc));
  border-top: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 16%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sales-orders-form .sl-so-lines-editor__table .sl-so-lines-editor__doc-total {
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--adm-brand-600, var(--bs-primary));
}

@media (max-width: 767.98px) {
  .sales-orders-form .sl-so-lines-editor__wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .sales-orders-form .sl-so-lines-editor__table {
    min-width: 42rem;
  }
}

html[data-theme="dark"] .sales-orders-form .sl-so-lines-editor__wrap,
html[data-theme="dark"] .sales-orders-form .sl-so-lines-editor__table {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}

html[data-theme="dark"] .sales-orders-form .sl-so-lines-editor__table .sl-so-line-field:focus {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}


/* ── Quotations ────────────────────────────────────────────────── */
/* Sales — Quotations (Companies / Branches UI standard) */

:root {
  --sl-q-radius: 0.20rem;
}

.sales-module-page .sl-overview.sl-q-overview {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 575.98px) {
  .sales-module-page .sl-overview.sl-q-overview {
    grid-template-columns: repeat(3, minmax(8.5rem, 1fr));
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.dashboard-wrapper .sales-module-page .sales-panel.sl-q-panel,
.dashboard-wrapper .sales-module-page section.sales-panel.sl-q-panel,
.dashboard-wrapper .sales-module-page .sales-panel.sl-q-detail-panel,
.dashboard-wrapper .sales-module-page section.sales-panel.sl-q-detail-panel {
  border-radius: var(--sl-q-radius) !important;
}

.dashboard-wrapper .sales-module-page .sl-overview .sl-overview-card {
  border-radius: var(--sl-q-radius);
}

.sales-module-page .sl-q-detail-panel .sales-panel__body,
.sales-module-page .sl-q-panel .sales-panel__body,
.sales-module-page .sl-q-panel .table {
  background: #fff;
}

.sales-module-page .sl-q-list-head {
  align-items: center !important;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
}

/* List row-actions menu — same pattern as sales orders */
.sales-module-page .sl-q-panel .sales-row-actions-dd__menu {
  min-width: 13rem;
}

.sales-module-page .sl-q-panel .sales-row-actions-dd__item.text-primary {
  font-weight: 600;
}

.sales-module-page .sl-q-detail-page {
  padding-bottom: 1rem;
}

.sales-module-page .sl-detail-dl {
  display: grid;
  gap: 0.65rem;
}

.sales-module-page .sl-detail-dl__row {
  display: grid;
  grid-template-columns: minmax(8rem, 38%) 1fr;
  gap: 0.75rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.sales-module-page .sl-detail-dl__row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.sales-module-page .sl-detail-dl__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-detail-dl__row dd {
  margin: 0;
  font-size: 0.9375rem;
}

.sales-module-page .sl-detail-hero,
.sales-module-page .sl-q-detail-hero {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-q-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
}

.sales-module-page .sl-detail-hero__main {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  min-width: 0;
  flex: 1 1 16rem;
}

.sales-module-page .sl-detail-stats,
.sales-module-page .sl-q-detail-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: stretch;
}

/* ── Form (Branches sticky footer) ───────────────────────────────────────── */
.sales-quotations-form-page {
  padding-bottom: 5rem;
}

.sales-quotations-form .sales-panel__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-q-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  margin-bottom: 1rem;
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sales-quotations-form .sl-so-form-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--sl-q-radius);
  flex-shrink: 0;
  font-size: 1.05rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

/* ── Lines editor (Create / Edit) — ERP-style inline grid ───────────────── */
.sales-quotations-form .sl-q-lines-editor__wrap {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-q-radius);
  overflow: hidden;
  background: #fff;
}

.sales-quotations-form .sl-q-lines-editor__table {
  table-layout: fixed;
  width: 100%;
  margin-bottom: 0;
  background: #fff;
}

.sales-quotations-form .sl-q-lines-editor__table col.sl-q-col--num {
  width: 2.35rem;
}

.sales-quotations-form .sl-q-lines-editor__table col.sl-q-col--product {
  width: auto;
}

.sales-quotations-form .sl-q-lines-editor__table col.sl-q-col--qty {
  width: 5.25rem;
}

.sales-quotations-form .sl-q-lines-editor__table col.sl-q-col--price {
  width: 6.25rem;
}

.sales-quotations-form .sl-q-lines-editor__table col.sl-q-col--discount {
  width: 5rem;
}

.sales-quotations-form .sl-q-lines-editor__table col.sl-q-col--tax {
  width: 4.75rem;
}

.sales-quotations-form .sl-q-lines-editor__table col.sl-q-col--total {
  width: 6.5rem;
}

.sales-quotations-form .sl-q-lines-editor__table col.sl-q-col--actions {
  width: 2.5rem;
}

.sales-quotations-form .sl-q-lines-editor__table thead th {
  padding: 0.55rem 0.5rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  background: var(--adm-bg-subtle, #f8fafc);
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.sales-quotations-form .sl-q-lines-editor__table tbody td {
  padding: 0;
  vertical-align: middle;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 65%, transparent);
}

.sales-quotations-form .sl-q-lines-editor__table tbody tr:last-child td {
  border-bottom: 0;
}

.sales-quotations-form .sl-q-lines-editor__table tbody tr:hover td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 2.5%, #fff);
}

.sales-quotations-form .sl-q-lines-editor__table tbody tr:focus-within td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
}

.sales-quotations-form .sl-q-lines-editor__table .sl-q-line-cell--num {
  text-align: center;
}

.sales-quotations-form .sl-q-lines-editor__table .sl-q-line-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--bs-secondary-color);
}

.sales-quotations-form .sl-q-lines-editor__table .sl-q-line-field {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0.5rem 0.55rem;
  font-size: 0.8125rem;
  min-height: 2.15rem;
}

.sales-quotations-form .sl-q-lines-editor__table .sl-q-line-field:focus {
  background: #fff;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 35%, transparent);
}

.sales-quotations-form .sl-q-lines-editor__table .sl-q-line-cell--product .sl-q-line-field {
  padding-inline: 0.65rem;
}

.sales-quotations-form .sl-q-lines-editor__table .sl-q-line-total {
  display: block;
  padding: 0.5rem 0.65rem;
  font-size: 0.8125rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.sales-quotations-form .sl-q-lines-editor__table .sl-q-line-cell--actions {
  text-align: center;
}

.sales-quotations-form .sl-q-lines-editor__table .sl-q-line-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  padding: 0;
  border: 0;
  border-radius: var(--sl-q-radius);
  background: transparent;
  color: var(--bs-secondary-color);
  line-height: 1;
  transition: background 0.15s ease, color 0.15s ease;
}

.sales-quotations-form .sl-q-lines-editor__table .sl-q-line-remove .bi {
  font-size: 0.9rem;
}

.sales-quotations-form .sl-q-lines-editor__table .sl-q-line-remove:hover,
.sales-quotations-form .sl-q-lines-editor__table .sl-q-line-remove:focus-visible {
  background: color-mix(in srgb, var(--bs-danger) 10%, #fff);
  color: var(--bs-danger);
}

.sales-quotations-form .sl-q-lines-editor__table tfoot th {
  padding: 0.65rem 0.65rem;
  font-size: 0.8125rem;
  font-weight: 700;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, var(--adm-bg-subtle, #f8fafc));
  border-top: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 16%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sales-quotations-form .sl-q-lines-editor__table .sl-q-lines-editor__doc-total {
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--adm-brand-600, var(--bs-primary));
}

@media (max-width: 767.98px) {
  .sales-quotations-form .sl-q-lines-editor__wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .sales-quotations-form .sl-q-lines-editor__table {
    min-width: 42rem;
  }
}

html[data-theme="dark"] .sales-quotations-form .sl-q-lines-editor__wrap,
html[data-theme="dark"] .sales-quotations-form .sl-q-lines-editor__table {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}

html[data-theme="dark"] .sales-quotations-form .sl-q-lines-editor__table .sl-q-line-field:focus {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}

html[data-theme="dark"] .sales-module-page .sl-q-detail-panel .sales-panel__body,
html[data-theme="dark"] .sales-module-page .sl-q-panel .sales-panel__body,
html[data-theme="dark"] .sales-module-page .sl-q-panel .table,
html[data-theme="dark"] .sales-module-page .sl-detail-hero {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}

@media (max-width: 767.98px) {

  .sales-module-page .sl-detail-hero,
  .sales-module-page .sl-q-detail-hero {
    flex-direction: column;
  }

  .sales-module-page .sl-q-detail-grid {
    grid-template-columns: minmax(0, 1fr);
  }

}

.sales-module-page .sl-q-detail-hero {
  align-items: center;
}

.sales-module-page .sl-q-detail-stats {
  justify-content: flex-end;
}

.sales-module-page .sl-q-detail-stats .sl-detail-stat {
  min-width: 6.75rem;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-q-radius);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.sales-module-page .sl-q-detail-stats .sl-detail-stat__label {
  margin: 0 0 0.2rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-q-detail-stats .sl-detail-stat__value {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page .sl-q-detail-stats .sl-detail-stat__value--sm {
  font-size: 0.875rem;
  font-weight: 600;
}

.sales-module-page .sl-q-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(17rem, 0.82fr);
  gap: 1rem;
  align-items: stretch;
}

.sales-module-page .sl-q-workflow-path .sales-panel__body {
  height: 100%;
}

.sales-module-page .sl-q-workflow-step {
  position: relative;
  /* The badge sat tight against the top edge: this was overriding the card's
     own 0.95rem top padding down to a hairline. */
  padding-top: 0.95rem;
}

.sales-module-page .sl-q-workflow-step__check {
  position: absolute;
  top: 0.35rem;
  inset-inline-end: 0.45rem;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: var(--sys-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--bs-success, #198754);
  color: #fff;
  box-shadow: 0 1px 3px rgba(7, 10, 9, 0.12);
}

.sales-module-page .sl-q-workflow-step__check .bi {
  font-size: 0.85rem;
  font-weight: 800;
}

.sales-module-page .sl-q-workflow-step--completed .sl-q-workflow-step__desc {
  padding-inline-end: 1.75rem;
}

.sales-module-page .sl-q-detail-grid__workflow .sl-q-workflow-path {
  height: 100%;
}

.sales-module-page .sl-q-detail-grid .sales-workflow-steps {
  --bs-gutter-x: 0.5rem;
  --bs-gutter-y: 0.5rem;
}

.sales-module-page .sl-q-detail-grid .sales-workflow-step {
  min-height: 5.75rem;
}

.sales-module-page .sl-q-next-actions .sales-panel__body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
}

.sales-module-page .sl-q-next-actions__hero {
  padding: 1rem 1.05rem;
  border: 1px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 22%, var(--adm-border-subtle, var(--bs-border-color)));
  border-radius: var(--sl-q-radius);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
}

.sales-module-page .sl-q-next-actions__eyebrow {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page .sl-q-next-actions__title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.25;
}

.sales-module-page .sl-q-next-actions__hint {
  font-size: 0.8125rem;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-q-next-actions__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.sales-module-page .sl-q-next-actions__form {
  margin: 0;
}

.sales-module-page .sl-q-next-actions__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.sales-module-page .sl-q-next-actions__footer {
  margin-top: auto;
  padding-top: 0.25rem;
}

.sales-module-page .sl-q-next-actions__hub {
  width: 100%;
  justify-content: center;
}

.sales-module-page .sl-q-detail-grid__actions .sl-q-next-actions {
  height: 100%;
}

.sales-module-page .sl-q-financials-card {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 14%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sales-module-page .sl-q-financials__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.sales-module-page .sl-q-financials__row:last-child {
  border-bottom: 0;
}

.sales-module-page .sl-q-financials__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-q-financials__row dd {
  margin: 0;
  font-weight: 700;
}

.sales-module-page .sl-q-financials__row--total dd {
  font-size: 1.05rem;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page .sl-q-group+.sl-q-group {
  margin-top: 0;
}

html[data-theme="dark"] .sales-module-page .sl-q-detail-stats .sl-detail-stat,
html[data-theme="dark"] .sales-module-page .sl-q-next-actions__hero {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}


/* ── Recurring Invoices ────────────────────────────────────────── */
/* Sales — Recurring invoice schedules (Customers / Sales Invoices UI standard) */

:root {
  --sl-ri-radius: 0.20rem;
}

.sales-module-page .sl-overview.sl-ri-overview {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 575.98px) {
  .sales-module-page .sl-overview.sl-ri-overview {
    grid-template-columns: repeat(3, minmax(8.5rem, 1fr));
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.dashboard-wrapper .sales-module-page .sales-panel.sl-ri-panel,
.dashboard-wrapper .sales-module-page section.sales-panel.sl-ri-panel {
  border-radius: var(--sl-ri-radius) !important;
}

.sales-module-page .sl-ri-panel .sales-panel__body,
.sales-module-page .sl-ri-panel .table {
  background: #fff;
}

.sales-module-page .sl-ri-list-head {
  align-items: center !important;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
}

.sales-module-page .sl-ri-empty-state {
  padding: 1.5rem 1rem 1.75rem;
}

.sales-module-page .sl-ri-empty-steps {
  text-align: start;
  max-width: 28rem;
  margin: 0 auto 0;
  padding-inline-start: 1.25rem;
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--adm-text-muted-ui);
}

.sales-module-page .sl-ri-empty-steps li+li {
  margin-top: 0.35rem;
}

.sales-module-page .sl-ri-due-badge {
  font-size: 0.7rem;
  font-weight: 600;
  margin-top: 0.2rem;
}

.sales-module-page .sl-ri-panel .sales-row-actions-dd__menu {
  min-width: 13rem;
}

.sales-module-page .sl-ri-panel .sales-row-actions-dd__item.text-primary {
  font-weight: 600;
}

.sales-module-page .sl-ri-detail-page {
  padding-bottom: 1rem;
}

.sales-module-page .sl-ri-detail-hero {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-ri-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  align-items: center;
}

.sales-module-page .sl-ri-detail-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: stretch;
  justify-content: flex-end;
}

.sales-module-page .sl-ri-detail-stats .sl-detail-stat {
  min-width: 6.75rem;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-ri-radius);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.sales-module-page .sl-ri-detail-stats .sl-detail-stat__label {
  margin: 0 0 0.2rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-ri-detail-stats .sl-detail-stat__value {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page .sl-ri-detail-stats .sl-detail-stat__value--sm {
  font-size: 0.875rem;
  font-weight: 600;
}

.sales-module-page .sl-ri-next-actions {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 14%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sales-module-page .sl-ri-next-actions__hero {
  padding: 1rem 1.05rem;
  border: 1px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 22%, var(--adm-border-subtle, var(--bs-border-color)));
  border-radius: var(--sl-ri-radius);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
}

.sales-module-page .sl-ri-next-actions__eyebrow {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page .sl-ri-next-actions__title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.25;
}

.sales-module-page .sl-ri-next-actions__hint {
  font-size: 0.8125rem;
  color: var(--bs-secondary-color);
}

.sales-recurring-invoices-form-page {
  padding-bottom: 5rem;
}

.sales-recurring-invoices-form .sl-so-form-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--sl-ri-radius);
  flex-shrink: 0;
  font-size: 1.05rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-recurring-invoices-form .sl-ri-lines-editor__wrap {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-ri-radius);
  overflow: hidden;
  background: #fff;
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table {
  table-layout: fixed;
  width: 100%;
  margin-bottom: 0;
  background: #fff;
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table col.sl-ri-col--num {
  width: 2.35rem;
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table col.sl-ri-col--product {
  width: auto;
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table col.sl-ri-col--qty {
  width: 4.5rem;
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table col.sl-ri-col--price {
  width: 5.5rem;
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table col.sl-ri-col--unit {
  width: 4rem;
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table col.sl-ri-col--notes {
  width: 6.5rem;
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table col.sl-ri-col--total {
  width: 6rem;
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table col.sl-ri-col--actions {
  width: 2.5rem;
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table thead th {
  padding: 0.55rem 0.5rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  background: var(--adm-bg-subtle, #f8fafc);
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table tbody td {
  padding: 0;
  vertical-align: middle;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 65%, transparent);
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table tbody tr:last-child td {
  border-bottom: 0;
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table tbody tr:hover td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 2.5%, #fff);
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table tbody tr:focus-within td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table .sl-ri-line-cell--num {
  text-align: center;
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table .sl-ri-line-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--bs-secondary-color);
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table .sl-ri-line-field {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0.5rem 0.55rem;
  font-size: 0.8125rem;
  min-height: 2.15rem;
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table .sl-ri-line-field:focus {
  background: #fff;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 35%, transparent);
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table .sl-ri-line-cell--product .sl-ri-line-field {
  padding-inline: 0.65rem;
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table .sl-ri-line-total {
  display: block;
  padding: 0.5rem 0.65rem;
  font-size: 0.8125rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table .sl-ri-line-cell--actions {
  text-align: center;
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table .sl-ri-line-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  padding: 0;
  border: 0;
  border-radius: var(--sl-ri-radius);
  background: transparent;
  color: var(--bs-secondary-color);
  line-height: 1;
  transition: background 0.15s ease, color 0.15s ease;
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table .sl-ri-line-remove:hover,
.sales-recurring-invoices-form .sl-ri-lines-editor__table .sl-ri-line-remove:focus-visible {
  background: color-mix(in srgb, var(--bs-danger) 10%, #fff);
  color: var(--bs-danger);
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table tfoot th {
  padding: 0.65rem 0.65rem;
  font-size: 0.8125rem;
  font-weight: 700;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, var(--adm-bg-subtle, #f8fafc));
  border-top: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 16%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sales-recurring-invoices-form .sl-ri-lines-editor__table .sl-ri-lines-editor__doc-total {
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--adm-brand-600, var(--bs-primary));
}

@media (max-width: 767.98px) {
  .sales-module-page .sl-ri-detail-hero {
    flex-direction: column;
  }

  .sales-recurring-invoices-form .sl-ri-lines-editor__wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .sales-recurring-invoices-form .sl-ri-lines-editor__table {
    min-width: 46rem;
  }

}

html[data-theme="dark"] .sales-module-page .sl-ri-panel .sales-panel__body,
html[data-theme="dark"] .sales-module-page .sl-ri-panel .table,
html[data-theme="dark"] .sales-module-page .sl-ri-detail-hero,
html[data-theme="dark"] .sales-recurring-invoices-form .sl-ri-lines-editor__wrap,
html[data-theme="dark"] .sales-recurring-invoices-form .sl-ri-lines-editor__table {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}

html[data-theme="dark"] .sales-module-page .sl-ri-detail-stats .sl-detail-stat,
html[data-theme="dark"] .sales-module-page .sl-ri-next-actions__hero {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}

html[data-theme="dark"] .sales-recurring-invoices-form .sl-ri-lines-editor__table .sl-ri-line-field:focus {
  background: var(--adm-surface-raised, var(--bs-body-bg));
}


/* ── Returns ───────────────────────────────────────────────────── */
/* Sales — Customer returns (RMA) */

:root {
  --sl-sr-radius: 0.20rem;
}

.sales-module-page .sl-overview.sl-sr-overview {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 575.98px) {
  .sales-module-page .sl-overview.sl-sr-overview {
    grid-template-columns: repeat(3, minmax(8.5rem, 1fr));
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.dashboard-wrapper .sales-module-page .sales-panel.sl-sr-panel,
.dashboard-wrapper .sales-module-page section.sales-panel.sl-sr-panel {
  border-radius: var(--sl-sr-radius) !important;
}

.sales-module-page .sl-sr-panel .sales-panel__body,
.sales-module-page .sl-sr-panel .table {
  background: #fff;
}

.sales-module-page .sl-sr-list-head {
  align-items: center !important;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
}

.sales-module-page .sl-sr-panel .sales-row-actions-dd__menu {
  min-width: 14rem;
}

.sales-module-page .sl-sr-detail-page {
  padding-bottom: 1rem;
}

.sales-module-page .sl-sr-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(17rem, 0.82fr);
  gap: 1rem;
  align-items: stretch;
}

@media (max-width: 991.98px) {
  .sales-module-page .sl-sr-detail-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.sales-module-page .sl-sr-workflow-path .sales-panel__body,
.sales-module-page .sl-sr-next-actions .sales-panel__body {
  height: 100%;
}

.sales-module-page .sl-sr-next-actions .sales-panel__body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.sales-module-page .sl-sr-next-actions__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.sales-module-page .sl-sr-next-actions__form {
  margin: 0;
}

.sales-module-page .sl-sr-next-actions__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.sales-module-page .sl-sr-next-actions__related {
  padding-top: 0.85rem;
  margin-top: 0.85rem;
  border-top: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 80%, transparent);
}

.sales-module-page .sl-sr-next-actions__related-title {
  margin: 0 0 0.5rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-sr-next-actions__related-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.sales-module-page .sl-sr-next-actions__footer {
  margin-top: auto;
  padding-top: 0.25rem;
}

.sales-module-page .sl-sr-next-actions__hub {
  width: 100%;
  justify-content: center;
}

.sales-module-page .sl-sr-next-actions__hero {
  padding: 1rem 1.05rem;
  border: 1px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 22%, var(--adm-border-subtle, var(--bs-border-color)));
  border-radius: var(--sl-sr-radius);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
}

.sales-module-page .sl-sr-next-actions__eyebrow {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page .sl-sr-next-actions__title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.25;
}

.sales-module-page .sl-sr-next-actions__hint {
  font-size: 0.8125rem;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-sr-reject-panel {
  padding: 0.85rem;
  border: 1px solid color-mix(in srgb, var(--bs-danger) 22%, var(--adm-border-subtle, var(--bs-border-color)));
  border-radius: var(--sl-sr-radius);
  background: color-mix(in srgb, var(--bs-danger) 4%, #fff);
}

.sales-module-page .sl-sr-workflow-step__check {
  position: absolute;
  top: 0.35rem;
  inset-inline-end: 0.45rem;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: var(--sys-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--bs-success, #198754);
  color: #fff;
  box-shadow: 0 1px 3px rgba(7, 10, 9, 0.12);
}

.sales-module-page .sl-sr-workflow-step--completed .sl-sr-workflow-step__desc {
  padding-inline-end: 1.75rem;
}

.sales-module-page .sl-sr-detail-hero {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-sr-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  align-items: center;
}

.sales-module-page .sl-sr-detail-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: stretch;
  justify-content: flex-end;
}

.sales-module-page .sl-sr-detail-stats .sl-detail-stat {
  min-width: 6.75rem;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-sr-radius);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.sales-module-page .sl-sr-detail-stats .sl-detail-stat__label {
  margin: 0 0 0.2rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-sr-detail-stats .sl-detail-stat__value {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page .sl-sr-detail-stats .sl-detail-stat__value--sm {
  font-size: 0.875rem;
  font-weight: 600;
}

.sales-module-page .sl-sr-financials-card {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 14%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sales-module-page .sl-sr-financials__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.sales-module-page .sl-sr-financials__row:last-child {
  border-bottom: 0;
}

.sales-module-page .sl-sr-financials__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-sr-financials__row dd {
  margin: 0;
  font-weight: 700;
}

.sales-module-page .sl-sr-financials__row--total dd {
  font-size: 1.05rem;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-returns-form-page {
  padding-bottom: 5rem;
}

.sales-returns-form .sl-so-form-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--sl-sr-radius);
  flex-shrink: 0;
  font-size: 1.05rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-returns-form .sl-sr-form-empty {
  margin: 0;
  padding: 2rem 1.25rem;
}

.sales-returns-form .sl-sr-lines-placeholder-wrap {
  margin: 0 1.15rem 1.15rem;
  border: 1px dashed color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 28%, var(--adm-border-subtle, var(--bs-border-color)));
  border-radius: var(--sl-sr-radius);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.sales-returns-form .sl-sr-lines-placeholder {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1.15rem 1.25rem;
  color: var(--bs-secondary-color);
}

.sales-returns-form .sl-sr-lines-placeholder>i {
  font-size: 1.35rem;
  color: var(--adm-brand-600, var(--bs-primary));
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.sales-returns-form .sl-sr-lines-placeholder__title {
  font-weight: 700;
  font-size: 0.875rem;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-returns-form .sl-sr-form-empty--warning .sales-empty-state__icon {
  background: color-mix(in srgb, var(--bs-warning) 14%, #fff);
  color: var(--bs-warning, #ffc107);
}

.sales-returns-form .sl-sr-lines-table.sl-sr-lines-editor__wrap {
  margin-top: 0;
}

.sales-returns-form .sl-sr-lines-editor__wrap {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-sr-radius);
  overflow: hidden;
  background: #fff;
}

.sales-returns-form .sl-sr-lines-editor__table,
.sales-module-page .sl-sr-lines-editor__table {
  table-layout: fixed;
  width: 100%;
  margin-bottom: 0;
  background: #fff;
}

.sales-returns-form .sl-sr-lines-editor__table col.sl-sr-col--num {
  width: 2.35rem;
}

.sales-returns-form .sl-sr-lines-editor__table col.sl-sr-col--product {
  width: auto;
}

.sales-returns-form .sl-sr-lines-editor__table col.sl-sr-col--qty {
  width: 5.5rem;
}

.sales-returns-form .sl-sr-lines-editor__table col.sl-sr-col--price {
  width: 5.5rem;
}

.sales-returns-form .sl-sr-lines-editor__table col.sl-sr-col--tax {
  width: 4.5rem;
}

.sales-returns-form .sl-sr-lines-editor__table col.sl-sr-col--lot {
  width: 6rem;
}

.sales-returns-form .sl-sr-lines-editor__table col.sl-sr-col--serial {
  width: 6rem;
}

.sales-returns-form .sl-sr-lines-editor__table col.sl-sr-col--reason {
  width: 7rem;
}

.sales-returns-form .sl-sr-lines-editor__table col.sl-sr-col--actions {
  width: 2.5rem;
}

.sales-module-page .sl-sr-lines-editor__table col.sl-sr-col--num {
  width: 2.35rem;
}

.sales-module-page .sl-sr-lines-editor__table col.sl-sr-col--product {
  width: auto;
}

.sales-module-page .sl-sr-lines-editor__table col.sl-sr-col--qty {
  width: 5rem;
}

.sales-module-page .sl-sr-lines-editor__table col.sl-sr-col--price {
  width: 5rem;
}

.sales-module-page .sl-sr-lines-editor__table col.sl-sr-col--tax {
  width: 4.5rem;
}

.sales-module-page .sl-sr-lines-editor__table col.sl-sr-col--lot {
  width: 5.5rem;
}

.sales-module-page .sl-sr-lines-editor__table col.sl-sr-col--serial {
  width: 5.5rem;
}

.sales-module-page .sl-sr-lines-editor__table col.sl-sr-col--reason {
  width: auto;
}

.sales-returns-form .sl-sr-lines-editor__table thead th,
.sales-module-page .sl-sr-lines-editor__table thead th {
  padding: 0.55rem 0.5rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  background: var(--adm-bg-subtle, #f8fafc);
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.sales-returns-form .sl-sr-lines-editor__table tbody td,
.sales-module-page .sl-sr-lines-editor__table tbody td {
  padding: 0;
  vertical-align: middle;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 65%, transparent);
}

.sales-returns-form .sl-sr-lines-editor__table tbody tr:last-child td,
.sales-module-page .sl-sr-lines-editor__table tbody tr:last-child td {
  border-bottom: 0;
}

.sales-returns-form .sl-sr-line-field,
.sales-module-page .sl-sr-lines-editor__table .sl-sr-line-cell--text {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0.5rem 0.55rem;
  font-size: 0.8125rem;
  min-height: 2.15rem;
}

.sales-returns-form .sl-sr-line-field:focus {
  background: #fff;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 35%, transparent);
}

.sales-returns-form .sl-sr-line-num,
.sales-module-page .sl-sr-line-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--bs-secondary-color);
}

.sales-returns-form .sl-sr-line-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 2.15rem;
  padding: 0.35rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--bs-secondary-color);
  transition: color 0.15s ease, background 0.15s ease;
}

.sales-returns-form .sl-sr-line-remove:hover,
.sales-returns-form .sl-sr-line-remove:focus-visible {
  color: var(--bs-danger);
  background: color-mix(in srgb, var(--bs-danger) 8%, transparent);
}

.sales-returns-form .sl-sr-lines-editor__table tfoot th,
.sales-module-page .sl-sr-lines-editor__table tfoot th {
  padding: 0.75rem 0.65rem 1.15rem;
  font-size: 0.8125rem;
  font-weight: 700;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, var(--adm-bg-subtle, #f8fafc));
  border-top: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 16%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sales-returns-form .sl-sr-doc-total {
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page .sl-sr-lines-editor__table .sl-sr-line-cell--product {
  padding: 0.5rem 0.65rem;
  font-size: 0.8125rem;
}

.sales-module-page .sl-sr-lines-editor__table .sl-sr-line-cell--amount,
.sales-module-page .sl-sr-lines-editor__table .sl-sr-line-cell--meta {
  padding: 0.5rem 0.65rem;
  font-size: 0.8125rem;
  font-variant-numeric: tabular-nums;
}

.sales-module-page .sl-sr-detail-panel .sales-empty-state {
  padding: 2rem 1.25rem;
}

.sales-module-page .sales-panel .sl-sr-lines-table {
  padding: 0 1.15rem 1.15rem;
}

.sales-returns-form .sl-sr-lines-editor__table tbody tr:hover td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.sales-returns-form .sl-sr-lines-editor__table tbody tr:focus-within td {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 5%, #fff);
}

html[data-theme="dark"] .sales-returns-form .sl-sr-lines-editor__wrap {
  background: var(--adm-bg-surface, var(--bg-secondary));
}

@media (max-width: 767.98px) {
  .sales-module-page .sl-sr-detail-hero {
    flex-direction: column;
  }

  .sales-returns-form .sl-sr-lines-editor__wrap,
  .sales-module-page .sl-sr-lines-editor__wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .sales-returns-form .sl-sr-lines-editor__table,
  .sales-module-page .sl-sr-lines-editor__table {
    min-width: 42rem;
  }
}

.sl-sr-tracking-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 10rem;
}

.sl-sr-tracking-field--in-table {
  min-width: 0;
  max-width: 100%;
  width: 100%;
}

.sl-sr-tracking-field--in-table .sl-sr-tracking-field__controls {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  width: 100%;
}

.sl-sr-tracking-field--in-table .sl-sr-tracking-select,
.sl-sr-tracking-field--in-table .sl-sr-tracking-input {
  width: 100%;
  max-width: 100%;
}

.sl-sr-tracking-field__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.75rem;
}

.sl-sr-tracking-field--in-table .sl-sr-tracking-field__meta {
  margin-top: 0.15rem;
  line-height: 1.25;
}

.sl-sr-tracking-field--in-table .sl-sr-tracking-manual {
  font-size: 0.75rem;
  text-decoration: none;
}

.sl-sr-tracking-field--in-table .sl-sr-tracking-manual:hover {
  text-decoration: underline;
}

.sl-sr-tracking-field .sl-sr-tracking-select option:disabled {
  color: var(--bs-secondary-color);
}

.sl-sr-tracking-field .sl-sr-tracking-hint {
  line-height: 1.3;
  font-size: 0.75rem;
}

/* Receive returned goods — compact tracking grid */
.sales-returns-form .sl-sr-receive-wrap {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-sr-radius);
  overflow: hidden;
  background: #fff;
}

.sales-returns-form .sl-sr-receive-table {
  table-layout: fixed;
  width: 100%;
  margin-bottom: 0;
}

.sales-returns-form .sl-sr-receive-col--product {
  width: 26%;
}

.sales-returns-form .sl-sr-receive-col--qty {
  width: 14%;
}

.sales-returns-form .sl-sr-receive-col--lot {
  width: 30%;
}

.sales-returns-form .sl-sr-receive-col--serial {
  width: 30%;
}

.sales-returns-form .sl-sr-receive-table thead th {
  padding: 0.55rem 0.75rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  background: var(--adm-bg-subtle, #f8fafc);
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.sales-returns-form .sl-sr-receive-cell {
  padding: 0.65rem 0.75rem;
  vertical-align: top;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 65%, transparent);
}

.sales-returns-form .sl-sr-receive-table tbody tr:last-child .sl-sr-receive-cell {
  border-bottom: 0;
}

.sales-returns-form .sl-sr-receive-product__name {
  display: block;
  font-weight: 600;
  font-size: 0.875rem;
  line-height: 1.35;
  word-break: break-word;
}

.sales-returns-form .sl-sr-receive-qty {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.2rem;
  max-width: 100%;
}

.sales-returns-form .sl-sr-receive-qty__value {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  padding: 0.15rem 0.5rem;
  font-size: 0.9375rem;
  font-weight: 700;
  border-radius: var(--sl-sr-radius);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, #fff);
  color: var(--adm-text-strong, #070a09);
}

.sales-returns-form .sl-sr-receive-qty__hint {
  font-size: 0.7rem;
  line-height: 1.25;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  max-width: 9rem;
  text-align: end;
}

.sales-returns-form .sl-sr-receive-cell--na {
  vertical-align: middle;
}

.sales-returns-form .sl-sr-receive-na {
  display: block;
  text-align: center;
  color: var(--bs-secondary-color);
  font-size: 0.875rem;
}

.sales-returns-form .sl-sr-receive-table tbody tr:hover .sl-sr-receive-cell {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.sales-returns-form .sl-sr-receive-table tbody tr:focus-within .sl-sr-receive-cell {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 5%, #fff);
}

@media (max-width: 767.98px) {
  .sales-returns-form .sl-sr-receive-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .sales-returns-form .sl-sr-receive-table {
    min-width: 36rem;
  }
}

.sales-module-page .sl-sr-receive-guidance .sales-panel__body {
  background: color-mix(in srgb, var(--adm-brand-600) 6%, #fff);
}


/* ── Teams ─────────────────────────────────────────────────────── */
/* Sales — Teams */

:root {
  --sl-stm-radius: 0.20rem;
}

.dashboard-wrapper .sales-module-page .sales-panel.sl-stm-panel,
.dashboard-wrapper .sales-module-page section.sales-panel.sl-stm-panel,
.dashboard-wrapper .sales-module-page .sales-panel.sl-stm-detail-panel {
  border-radius: var(--sl-stm-radius) !important;
}

.dashboard-wrapper .sales-module-page .sl-overview .sl-overview-card {
  border-radius: var(--sl-stm-radius);
}

.sales-module-page .sl-stm-panel .sales-panel__body,
.sales-module-page .sl-stm-panel .table,
.sales-module-page .sl-stm-detail-panel .sales-panel__body,
.sales-module-page .sl-stm-detail-panel .table {
  background: #fff;
}

.sales-module-page .sl-stm-panel .sales-row-actions-dd__menu {
  min-width: 14rem;
}

.sales-teams-form-page {
  padding-bottom: 5rem;
}

.sales-teams-form .sl-stm-form-panel__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  margin-bottom: 1rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-stm-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sl-stm-detail-page {
  padding-bottom: 1rem;
}

.sales-module-page .sl-stm-detail-hero {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-stm-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
}

.sales-module-page .sl-stm-detail-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.sales-module-page .sl-detail-dl__row {
  display: grid;
  grid-template-columns: minmax(8rem, 0.35fr) minmax(0, 1fr);
  gap: 0.35rem 1rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 65%, transparent);
}

.sales-module-page .sl-detail-dl__row:last-child {
  border-bottom: 0;
}

.sales-module-page .sl-detail-dl__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-detail-dl__row dd {
  margin: 0;
  font-size: 0.875rem;
}

.sales-module-page tr.sales-row-inactive {
  opacity: 0.72;
}

.sales-module-page .sales-table-row-link {
  color: inherit;
}

.sales-module-page .sales-table-row-link:hover .sales-code,
.sales-module-page .sales-table-row-link:hover .sl-entity-cell__name {
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page tbody tr[data-sales-row-href] {
  cursor: pointer;
}

.sales-module-page .sl-stm-detail-subform {
  padding: 0 0 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 65%, transparent);
}

html[data-theme="dark"] .sales-teams-form .sl-stm-form-panel__head,
html[data-theme="dark"] .sales-module-page .sl-stm-detail-hero,
html[data-theme="dark"] .sales-module-page .sl-stm-panel .sales-panel__body,
html[data-theme="dark"] .sales-module-page .sl-stm-detail-panel .sales-panel__body,
html[data-theme="dark"] .sales-module-page .sl-stm-detail-panel .table {
  background: var(--adm-bg-surface, var(--bg-secondary));
}

@media (max-width: 767.98px) {
  .sales-module-page .sl-detail-dl__row {
    grid-template-columns: 1fr;
  }
}


/* ── Territories ───────────────────────────────────────────────── */
/* Sales — Territories */

:root {
  --sl-st-radius: 0.20rem;
}

.dashboard-wrapper .sales-module-page .sales-panel.sl-st-panel,
.dashboard-wrapper .sales-module-page section.sales-panel.sl-st-panel,
.dashboard-wrapper .sales-module-page .sales-panel.sl-st-detail-panel {
  border-radius: var(--sl-st-radius) !important;
}

.dashboard-wrapper .sales-module-page .sl-overview .sl-overview-card {
  border-radius: var(--sl-st-radius);
}

.sales-module-page .sl-st-panel .sales-panel__body,
.sales-module-page .sl-st-panel .table {
  background: #fff;
}

.sales-module-page .sl-st-list-head {
  align-items: center !important;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
}

.sales-module-page .sl-st-panel .sales-row-actions-dd__menu {
  min-width: 14rem;
}

.sales-territories-form-page {
  padding-bottom: 5rem;
}

.sales-territories-form .sl-st-form-panel__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  margin-bottom: 1rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-st-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
}

.sales-territories-form .sl-st-form-panel__head .sales-panel__accent {
  display: none;
}

.sl-st-detail-page {
  padding-bottom: 1rem;
}

.sales-module-page .sl-st-detail-hero {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--sl-st-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
}

.sales-module-page .sl-st-detail-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.sales-module-page .sl-st-detail-panel .sales-panel__body {
  background: #fff;
}

.sales-module-page .sl-detail-dl__row {
  display: grid;
  grid-template-columns: minmax(8rem, 0.35fr) minmax(0, 1fr);
  gap: 0.35rem 1rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 65%, transparent);
}

.sales-module-page .sl-detail-dl__row:last-child {
  border-bottom: 0;
}

.sales-module-page .sl-detail-dl__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.sales-module-page .sl-detail-dl__row dd {
  margin: 0;
  font-size: 0.875rem;
}

.sales-module-page tr.sales-row-inactive {
  opacity: 0.72;
}

.sales-module-page .sales-table-row-link {
  color: inherit;
}

.sales-module-page .sales-table-row-link:hover .sales-code,
.sales-module-page .sales-table-row-link:hover .sl-entity-cell__name {
  color: var(--adm-brand-600, var(--bs-primary));
}

.sales-module-page tbody tr[data-sales-row-href] {
  cursor: pointer;
}

html[data-theme="dark"] .sales-territories-form .sl-st-form-panel__head,
html[data-theme="dark"] .sales-module-page .sl-st-detail-hero,
html[data-theme="dark"] .sales-module-page .sl-st-panel .sales-panel__body {
  background: var(--adm-bg-surface, var(--bg-secondary));
}

@media (max-width: 767.98px) {
  .sales-module-page .sl-detail-dl__row {
    grid-template-columns: 1fr;
  }
}




/* ── settings (3715 lines) ──────────────────────── */
/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   Settings â€” All page-specific styles (merged)
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */

/* â”€â”€ Accounting Forms â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Settings â€” company profile & inventory accounting (grouped sections) */

.settings-accounting-page .settings-server-validation:empty {
  display: none !important;
}

.settings-accounting-page .settings-company-form.settings-panel,
.settings-accounting-page .settings-inventory-accounting-form.settings-panel {
  background: linear-gradient(180deg,
      color-mix(in srgb, var(--bs-primary) 4%, var(--adm-bg-surface, #fff)) 0%,
      var(--adm-bg-surface, #fff) 4rem);
}

.settings-accounting-page .settings-form-section__icon {
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, transparent);
  color: var(--adm-brand-600, var(--bs-primary));
  flex-shrink: 0;
}

.settings-accounting-page .settings-company-active-panel {
  border: 1px solid color-mix(in srgb, var(--bs-success) 35%, var(--adm-border-subtle));
  border-radius: 0.65rem;
  background: color-mix(in srgb, var(--bs-success) 8%, var(--adm-bg-surface));
}

.settings-accounting-page .settings-related-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.settings-accounting-page .settings-related-links .btn {
  font-size: 0.8125rem;
}

.settings-accounting-page .settings-inventory-hint {
  border-inline-start: 3px solid color-mix(in srgb, var(--bs-info) 55%, transparent);
  background: color-mix(in srgb, var(--bs-info) 8%, var(--adm-bg-surface));
}

/* â”€â”€ Branches â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Settings â€” Branches (Companies UI standard) */

:root {
  --br-card-radius: 0.20rem;
}

.br-overview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

@media (max-width: 767.98px) {
  .br-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.br-overview-card,
.br-detail-panel {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--br-card-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  overflow: hidden;
}

.dashboard-wrapper .settings-module-page .settings-branches-panel.settings-panel,
.dashboard-wrapper .settings-module-page .br-detail-panel.settings-panel,
.settings-module-page .settings-branches-panel.settings-panel,
.settings-module-page .br-detail-panel.settings-panel {
  border-radius: var(--br-card-radius) !important;
}

.br-overview-card__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
}

.br-overview-card__title {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.br-overview-card__stat {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
}

.br-overview-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--br-card-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.15rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.br-overview-card--active .br-overview-card__icon {
  background: color-mix(in srgb, var(--bs-success, #00d27a) 14%, #fff);
  color: var(--bs-success, #00d27a);
}

.br-overview-card--active .br-overview-card__stat {
  color: var(--bs-success, #00d27a);
}

.br-overview-card--main .br-overview-card__icon {
  background: color-mix(in srgb, var(--bs-primary, #173630) 14%, #fff);
  color: var(--bs-primary, #173630);
}

.br-overview-card--main .br-overview-card__stat {
  color: var(--bs-primary, #173630);
}

.br-branch-cell {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.br-branch-avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--br-card-radius);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  overflow: hidden;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #17322d, #173630);
  color: #fff;
  font-size: 1.05rem;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.06);
}

.br-branch-avatar--lg {
  width: 3.5rem;
  height: 3.5rem;
  font-size: 1.35rem;
}

.br-branch-cell__name {
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.settings-branches-panel .settings-data-table thead th,
.settings-branches-panel .settings-data-table tbody tr,
.settings-branches-panel .settings-data-table tbody tr:nth-child(even):not(.settings-empty-state-row),
.settings-branches-panel .settings-data-table tbody td {
  background: #fff;
}

.settings-branches-panel .settings-data-table tbody td {
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
}

.settings-branches-panel .settings-data-table tbody tr.settings-data-row--clickable:hover,
.settings-branches-panel .settings-data-table tbody tr.settings-data-row--clickable:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.settings-branches-panel.settings-panel:has(.dropdown-menu.show),
.settings-branches-panel.settings-panel:has(tr.settings-row-actions-open),
.settings-branches-panel .settings-panel__body:has(.dropdown-menu.show),
.settings-branches-panel .settings-table-shell:has(.dropdown-menu.show),
.settings-branches-panel .table-responsive:has(.dropdown-menu.show) {
  overflow: visible !important;
  position: relative;
  z-index: 40;
}

.settings-branches-panel tr.settings-row-actions-open {
  position: relative;
  z-index: 45;
}

.settings-branches-panel tr.settings-row-actions-open>td:last-child {
  overflow: visible;
  position: relative;
  z-index: 46;
}

.settings-branches-panel .settings-row-actions-dd:has(.dropdown-menu.show) {
  z-index: 47;
}

.settings-branches-panel .settings-row-actions-dd .dropdown-menu.show {
  z-index: 2000 !important;
}

.settings-branches-panel .settings-row-actions-dd__trigger,
.settings-branches-panel .settings-row-actions-dd__trigger .bi,
.settings-branches-panel .settings-row-actions-dd,
.settings-branches-panel .settings-row-actions-dd__menu,
.settings-branches-panel .settings-row-actions-dd__menu>li,
.settings-branches-panel .settings-row-actions-dd__menu .settings-row-actions-dd__item,
.settings-branches-panel .settings-row-actions-dd__menu .dropdown-item,
.settings-branches-panel .settings-row-actions-dd__menu .settings-row-actions-dd__form,
.settings-branches-panel .settings-row-actions-dd__menu .settings-row-actions-dd__form button {
  cursor: pointer !important;
}

.settings-page-header__actions.settings-detail-toolbar .settings-row-actions-dd {
  display: inline-flex;
}

.br-detail-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 1.25rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--br-card-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
}

.br-detail-hero__main {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}

.br-detail-hero__name {
  font-weight: 800;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.br-detail-hero__meta {
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
}

.br-detail-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: stretch;
}

.br-detail-stat {
  min-width: 7rem;
  padding: 0.75rem 0.95rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--br-card-radius);
  background: #fff;
}

.br-detail-stat__label {
  margin: 0 0 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.br-detail-stat__value {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
}

.br-detail-stat__value--sm {
  font-size: 0.9375rem;
}

.br-detail-dl {
  display: grid;
  gap: 0.65rem;
}

.br-detail-dl__row {
  display: grid;
  grid-template-columns: minmax(8rem, 38%) 1fr;
  gap: 0.75rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.br-detail-dl__row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.br-detail-dl__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.br-detail-dl__row dd {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.br-detail-address {
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.55;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.settings-branches-form-page {
  padding-bottom: 5rem;
}

.settings-branches-form .settings-panel__head {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--br-card-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  margin-bottom: 1rem;
}

.settings-branches-form .br-form-panel__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
}

.settings-branches-form .br-form-panel__head .settings-panel__accent {
  display: none;
}

.settings-branches-form .br-form-panel__head .settings-panel__head-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  margin: 0;
  padding: 0;
}

.settings-branches-form .br-form-panel__head .settings-panel__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.settings-branches-form .br-form-panel__head .settings-panel__subtitle {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--bs-secondary-color);
}

.settings-branches-form .br-form-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--br-card-radius);
  flex-shrink: 0;
  font-size: 1.05rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.settings-branches-form .settings-form-section-title {
  margin: 0 0 0.12rem;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}


[data-theme="dark"] .br-overview-card,
[data-theme="dark"] .br-detail-hero,
[data-theme="dark"] .br-detail-panel,
[data-theme="dark"] .settings-branches-form .settings-panel__head,
[data-theme="dark"] .settings-branches-panel .settings-data-table thead th,
[data-theme="dark"] .settings-branches-panel .settings-data-table tbody td {
  background: #fff;
}

@media (max-width: 767.98px) {
  .br-detail-dl__row {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }

  .br-detail-stats,
  .br-detail-stat {
    width: 100%;
  }
}

/* â”€â”€ Companies â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Companies list â€” overview stats, company cell, table shell */

:root {
  --co-card-radius: 0.20rem;
}

.co-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

@media (max-width: 575.98px) {
  .co-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.co-overview-card {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--co-card-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  overflow: hidden;
}

.dashboard-wrapper .settings-module-page .settings-companies-panel.settings-panel,
.dashboard-wrapper .settings-module-page .co-detail-panel.settings-panel,
.settings-module-page .settings-companies-panel.settings-panel,
.settings-module-page .co-detail-panel.settings-panel {
  border-radius: var(--co-card-radius) !important;
}

.co-overview-card__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
}

.co-overview-card__title {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.co-overview-card__stat {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
}

.co-overview-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--co-card-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.15rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.co-overview-card--active .co-overview-card__icon {
  background: color-mix(in srgb, var(--bs-success, #00d27a) 14%, #fff);
  color: var(--bs-success, #00d27a);
}

.co-overview-card--active .co-overview-card__stat {
  color: var(--bs-success, #00d27a);
}

.co-company-cell {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.co-company-avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--co-card-radius);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  overflow: hidden;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #173630, #173630);
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.06);
}

.co-company-avatar__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0.2rem;
  background: #fff;
}

.co-company-avatar__initials {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #fff;
}

.co-company-cell__name {
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

/* Table â€” white rows with row borders (like sales customers) */
.settings-companies-panel .settings-data-table thead th {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
}

.settings-companies-panel .settings-data-table tbody tr,
.settings-companies-panel .settings-data-table tbody tr:nth-child(even):not(.settings-empty-state-row) {
  background: #fff;
}

.settings-companies-panel .settings-data-table tbody td {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
}

.settings-companies-panel .settings-data-table tbody tr.settings-data-row--clickable:hover,
.settings-companies-panel .settings-data-table tbody tr.settings-data-row--clickable:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.settings-companies-panel .settings-table-shell {
  background: #fff;
}

/* Row actions â€” stay above table toolbar/pager */
.settings-companies-panel.settings-panel:has(.dropdown-menu.show),
.settings-companies-panel.settings-panel:has(tr.settings-row-actions-open),
.settings-companies-panel .settings-panel__body:has(.dropdown-menu.show),
.settings-companies-panel .settings-panel__body:has(tr.settings-row-actions-open),
.settings-companies-panel .settings-table-shell:has(.dropdown-menu.show),
.settings-companies-panel .table-responsive:has(.dropdown-menu.show) {
  overflow: visible !important;
  position: relative;
  z-index: 40;
}

.settings-companies-panel tr.settings-row-actions-open {
  position: relative;
  z-index: 45;
}

.settings-companies-panel tr.settings-row-actions-open>td:last-child {
  overflow: visible;
  position: relative;
  z-index: 46;
}

.settings-companies-panel .settings-row-actions-dd:has(.dropdown-menu.show) {
  z-index: 47;
}

.settings-companies-panel .settings-row-actions-dd .dropdown-menu.show {
  z-index: 2000 !important;
}

.settings-companies-panel .settings-row-actions-dd__trigger,
.settings-companies-panel .settings-row-actions-dd__trigger .bi,
.settings-companies-panel .settings-row-actions-dd,
.settings-companies-panel .settings-row-actions-dd__menu,
.settings-companies-panel .settings-row-actions-dd__menu>li,
.settings-companies-panel .settings-row-actions-dd__menu .settings-row-actions-dd__item,
.settings-companies-panel .settings-row-actions-dd__menu .dropdown-item,
.settings-companies-panel .settings-row-actions-dd__menu .settings-row-actions-dd__form,
.settings-companies-panel .settings-row-actions-dd__menu .settings-row-actions-dd__form button {
  cursor: pointer !important;
}

/* â”€â”€ Company details â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.co-detail-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 1.25rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--co-card-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
}

.co-detail-hero__main {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}

.co-company-avatar--lg {
  width: 3.5rem;
  height: 3.5rem;
}

.co-detail-hero__name {
  font-weight: 800;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.co-detail-hero__meta {
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
}

.co-detail-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: stretch;
}

.co-detail-stat {
  min-width: 7rem;
  padding: 0.75rem 0.95rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--co-card-radius);
  background: #fff;
}

.co-detail-stat__label {
  margin: 0 0 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.co-detail-stat__value {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
}

.co-detail-stat--active .co-detail-stat__value {
  color: var(--bs-success, #00d27a);
}

.co-detail-panel {
  background: #fff;
}

.co-detail-dl {
  display: grid;
  gap: 0.65rem;
}

.co-detail-dl__row {
  display: grid;
  grid-template-columns: minmax(8rem, 38%) 1fr;
  gap: 0.75rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.co-detail-dl__row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.co-detail-dl__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.co-detail-dl__row dd {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.co-detail-code-label {
  margin: 0 0 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.co-detail-code-value {
  margin: 0;
  font-size: 0.9375rem;
}

.co-detail-code-value code {
  padding: 0.2rem 0.45rem;
  border-radius: var(--co-card-radius);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, #fff);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.settings-page-header__actions.settings-detail-toolbar .settings-row-actions-dd {
  display: inline-flex;
}

@media (max-width: 767.98px) {
  .co-detail-dl__row {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }

  .co-detail-stats {
    width: 100%;
  }

  .co-detail-stat {
    flex: 1 1 calc(50% - 0.5rem);
  }
}

/* â”€â”€ Countries â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Settings â€” countries (Companies UI standard) */

:root {
  --cn-card-radius: 0.20rem;
}

.cn-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

@media (max-width: 575.98px) {
  .cn-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.cn-overview-card,
.cn-detail-hero,
.cn-detail-panel {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--cn-card-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  overflow: hidden;
}

.dashboard-wrapper .settings-module-page .settings-countries-panel.settings-panel,
.dashboard-wrapper .settings-module-page .cn-detail-panel.settings-panel,
.settings-module-page .settings-countries-panel.settings-panel,
.settings-module-page .cn-detail-panel.settings-panel,
.cn-detail-page .settings-panel.cn-detail-panel {
  border-radius: var(--cn-card-radius) !important;
}

.cn-overview-card__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
}

.cn-overview-card__title {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.cn-overview-card__stat {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
}

.cn-overview-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--cn-card-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.15rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.cn-overview-card--active .cn-overview-card__icon {
  background: color-mix(in srgb, var(--bs-success, #00d27a) 14%, #fff);
  color: var(--bs-success, #00d27a);
}

.cn-overview-card--active .cn-overview-card__stat {
  color: var(--bs-success, #00d27a);
}

.cn-country-cell {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.cn-country-avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--cn-card-radius);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #122b26, #173630);
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.06);
  font-size: 0.95rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.02em;
}

.cn-country-avatar--lg {
  width: 3.5rem;
  height: 3.5rem;
  font-size: 1.15rem;
}

.cn-country-cell__main {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.cn-country-cell__code {
  font-weight: 700;
  font-size: 0.8125rem;
  color: var(--adm-brand-600, var(--bs-primary));
}

.cn-country-cell__name {
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.settings-countries-panel .settings-data-table thead th {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
}

.settings-countries-panel .settings-data-table tbody tr,
.settings-countries-panel .settings-data-table tbody tr:nth-child(even):not(.settings-empty-state-row) {
  background: #fff;
}

.settings-countries-panel .settings-data-table tbody td {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
}

.settings-countries-panel .settings-data-table tbody tr.settings-data-row--clickable:hover,
.settings-countries-panel .settings-data-table tbody tr.settings-data-row--clickable:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.settings-countries-panel .settings-table-shell {
  background: #fff;
}

.settings-countries-panel.settings-panel:has(.dropdown-menu.show),
.settings-countries-panel.settings-panel:has(tr.settings-row-actions-open),
.settings-countries-panel .settings-panel__body:has(.dropdown-menu.show),
.settings-countries-panel .settings-panel__body:has(tr.settings-row-actions-open),
.settings-countries-panel .settings-table-shell:has(.dropdown-menu.show),
.settings-countries-panel .table-responsive:has(.dropdown-menu.show) {
  overflow: visible !important;
  position: relative;
  z-index: 40;
}

.settings-countries-panel tr.settings-row-actions-open {
  position: relative;
  z-index: 45;
}

.settings-countries-panel tr.settings-row-actions-open>td:last-child {
  overflow: visible;
  position: relative;
  z-index: 46;
}

.settings-countries-panel .settings-row-actions-dd:has(.dropdown-menu.show) {
  z-index: 47;
}

.settings-countries-panel .settings-row-actions-dd .dropdown-menu.show {
  z-index: 2000 !important;
}

.settings-countries-panel .settings-row-actions-dd__trigger,
.settings-countries-panel .settings-row-actions-dd__trigger .bi,
.settings-countries-panel .settings-row-actions-dd,
.settings-countries-panel .settings-row-actions-dd__menu,
.settings-countries-panel .settings-row-actions-dd__menu>li,
.settings-countries-panel .settings-row-actions-dd__menu .settings-row-actions-dd__item,
.settings-countries-panel .settings-row-actions-dd__menu .dropdown-item,
.settings-countries-panel .settings-row-actions-dd__menu .settings-row-actions-dd__form,
.settings-countries-panel .settings-row-actions-dd__menu .settings-row-actions-dd__form button {
  cursor: pointer !important;
}

.cn-detail-page {
  --cn-detail-gap: 1rem;
  --cn-detail-pad-block: 1.25rem;
  --cn-detail-pad-inline: 1.35rem;
  display: flex;
  flex-direction: column;
  gap: var(--cn-detail-gap);
}

.cn-detail-cards>[class*="col-"] {
  display: flex;
}

.cn-detail-panel {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.cn-detail-panel .settings-panel__body--padded {
  flex: 1;
}

.cn-detail-hero {
  display: block;
  padding: var(--cn-detail-pad-block) var(--cn-detail-pad-inline);
}

.cn-detail-hero__main {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  min-width: 0;
}

.cn-detail-hero__body {
  flex: 1;
  min-width: 0;
}

.cn-detail-hero__name {
  font-weight: 800;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.cn-detail-hero__meta {
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
}

.cn-detail-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.cn-detail-stat {
  min-width: 0;
  padding: 0.7rem 0.85rem;
  border: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 85%, transparent);
  border-radius: var(--cn-card-radius);
  background: color-mix(in srgb, var(--adm-bg-surface-2, #f8fafc) 72%, #fff);
}

.cn-detail-stat__label {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.cn-detail-stat__value {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--adm-brand-600, var(--bs-primary));
  overflow-wrap: anywhere;
}

.cn-detail-stat__value--code {
  font-size: 0.9375rem;
}

.cn-detail-stat__value--code .settings-code {
  font-size: inherit;
  font-weight: inherit;
}

.cn-detail-stat__value--sm {
  font-size: 0.875rem;
  font-weight: 700;
}

.cn-detail-dl {
  display: grid;
  gap: 0;
}

.cn-detail-dl__row {
  display: grid;
  grid-template-columns: minmax(7.5rem, 34%) 1fr;
  gap: 0.85rem;
  align-items: baseline;
  padding: 0.75rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.cn-detail-dl__row:first-child {
  padding-top: 0;
}

.cn-detail-dl__row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.cn-detail-dl__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.cn-detail-dl__row dd {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.settings-countries-form-page {
  padding-bottom: 5rem;
}


.cn-form-page-avatar {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--cn-card-radius);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #122b26, #173630);
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.06);
  font-size: 0.95rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.02em;
}

.settings-countries-form .settings-panel__head {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--cn-card-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  margin-bottom: 1rem;
}

.settings-countries-form .br-form-panel__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
}

.settings-countries-form .br-form-panel__head .settings-panel__accent {
  display: none;
}

.settings-countries-form .br-form-panel__head .settings-panel__head-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  margin: 0;
  padding: 0;
}

.settings-countries-form .br-form-panel__head .settings-panel__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.settings-countries-form .br-form-panel__head .settings-panel__subtitle {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--bs-secondary-color);
}

.settings-countries-form .br-form-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--cn-card-radius);
  flex-shrink: 0;
  font-size: 1.05rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.settings-countries-form .settings-form-section-title {
  margin: 0 0 0.12rem;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.settings-page-header__actions.settings-detail-toolbar .settings-row-actions-dd {
  display: inline-flex;
}

[data-theme="dark"] .cn-overview-card,
[data-theme="dark"] .cn-detail-hero,
[data-theme="dark"] .cn-detail-panel,
[data-theme="dark"] .cn-detail-stat,
[data-theme="dark"] .settings-countries-form .settings-panel__head,
[data-theme="dark"] .settings-countries-panel .settings-data-table thead th,
[data-theme="dark"] .settings-countries-panel .settings-data-table tbody td {
  background: #fff;
}

@media (max-width: 767.98px) {
  .cn-detail-dl__row {
    grid-template-columns: 1fr;
    gap: 0.25rem;
    align-items: start;
  }

  .cn-detail-stats {
    grid-template-columns: 1fr;
  }

  .cn-detail-hero__main {
    flex-direction: column;
    align-items: stretch;
  }
}

/* â”€â”€ Currencies â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Settings â€” Currencies (Companies UI standard) */

:root {
  --cu-card-radius: 0.20rem;
}

.cu-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

@media (max-width: 575.98px) {
  .cu-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.cu-overview-card,
.cu-detail-hero,
.cu-detail-panel {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--cu-card-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  overflow: hidden;
}

.dashboard-wrapper .settings-module-page .settings-currencies-panel.settings-panel,
.dashboard-wrapper .settings-module-page .cu-detail-panel.settings-panel,
.settings-module-page .settings-currencies-panel.settings-panel,
.settings-module-page .cu-detail-panel.settings-panel,
.cu-detail-page .settings-panel.cu-detail-panel {
  border-radius: var(--cu-card-radius) !important;
}

.cu-overview-card__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
}

.cu-overview-card__title {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.cu-overview-card__stat {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
}

.cu-overview-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--cu-card-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.15rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.cu-overview-card--active .cu-overview-card__icon {
  background: color-mix(in srgb, var(--bs-success, #00d27a) 14%, #fff);
  color: var(--bs-success, #00d27a);
}

.cu-overview-card--active .cu-overview-card__stat {
  color: var(--bs-success, #00d27a);
}

.cu-currency-cell {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.cu-currency-avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--cu-card-radius);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #059669, #10b981);
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.06);
  font-size: 0.95rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.02em;
}

.cu-currency-avatar--lg {
  width: 3.5rem;
  height: 3.5rem;
  font-size: 1.15rem;
}

.cu-currency-cell__main {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.cu-currency-cell__code {
  font-weight: 700;
  font-size: 0.8125rem;
  color: var(--adm-brand-600, var(--bs-primary));
}

.cu-currency-cell__name {
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.settings-currencies-panel .settings-data-table thead th {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
}

.settings-currencies-panel .settings-data-table tbody tr,
.settings-currencies-panel .settings-data-table tbody tr:nth-child(even):not(.settings-empty-state-row) {
  background: #fff;
}

.settings-currencies-panel .settings-data-table tbody td {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
}

.settings-currencies-panel .settings-data-table tbody tr.settings-data-row--clickable:hover,
.settings-currencies-panel .settings-data-table tbody tr.settings-data-row--clickable:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.settings-currencies-panel .settings-table-shell {
  background: #fff;
}

.settings-currencies-panel.settings-panel:has(.dropdown-menu.show),
.settings-currencies-panel.settings-panel:has(tr.settings-row-actions-open),
.settings-currencies-panel .settings-panel__body:has(.dropdown-menu.show),
.settings-currencies-panel .settings-panel__body:has(tr.settings-row-actions-open),
.settings-currencies-panel .settings-table-shell:has(.dropdown-menu.show),
.settings-currencies-panel .table-responsive:has(.dropdown-menu.show) {
  overflow: visible !important;
  position: relative;
  z-index: 40;
}

.settings-currencies-panel tr.settings-row-actions-open {
  position: relative;
  z-index: 45;
}

.settings-currencies-panel tr.settings-row-actions-open>td:last-child {
  overflow: visible;
  position: relative;
  z-index: 46;
}

.settings-currencies-panel .settings-row-actions-dd:has(.dropdown-menu.show) {
  z-index: 47;
}

.settings-currencies-panel .settings-row-actions-dd .dropdown-menu.show {
  z-index: 2000 !important;
}

.settings-currencies-panel .settings-row-actions-dd__trigger,
.settings-currencies-panel .settings-row-actions-dd__trigger .bi,
.settings-currencies-panel .settings-row-actions-dd,
.settings-currencies-panel .settings-row-actions-dd__menu,
.settings-currencies-panel .settings-row-actions-dd__menu>li,
.settings-currencies-panel .settings-row-actions-dd__menu .settings-row-actions-dd__item,
.settings-currencies-panel .settings-row-actions-dd__menu .dropdown-item,
.settings-currencies-panel .settings-row-actions-dd__menu .settings-row-actions-dd__form,
.settings-currencies-panel .settings-row-actions-dd__menu .settings-row-actions-dd__form button {
  cursor: pointer !important;
}

.cu-detail-page {
  --cu-detail-gap: 1rem;
  --cu-detail-pad-block: 1.25rem;
  --cu-detail-pad-inline: 1.35rem;
  display: flex;
  flex-direction: column;
  gap: var(--cu-detail-gap);
}

.cu-detail-cards>[class*="col-"] {
  display: flex;
}

.cu-detail-panel {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.cu-detail-panel .settings-panel__body--padded {
  flex: 1;
}

.cu-detail-hero {
  display: block;
  padding: var(--cu-detail-pad-block) var(--cu-detail-pad-inline);
}

.cu-detail-hero__main {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  min-width: 0;
}

.cu-detail-hero__body {
  flex: 1;
  min-width: 0;
}

.cu-detail-hero__name {
  font-weight: 800;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.cu-detail-hero__meta {
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
}

.cu-detail-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.cu-detail-stat {
  min-width: 0;
  padding: 0.7rem 0.85rem;
  border: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 85%, transparent);
  border-radius: var(--cu-card-radius);
  background: color-mix(in srgb, var(--adm-bg-surface-2, #f8fafc) 72%, #fff);
}

.cu-detail-stat__label {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.cu-detail-stat__value {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--adm-brand-600, var(--bs-primary));
  overflow-wrap: anywhere;
}

.cu-detail-stat__value--code {
  font-size: 0.9375rem;
}

.cu-detail-stat__value--code .settings-code {
  font-size: inherit;
  font-weight: inherit;
}

.cu-detail-dl {
  display: grid;
  gap: 0;
}

.cu-detail-dl__row {
  display: grid;
  grid-template-columns: minmax(7.5rem, 34%) 1fr;
  gap: 0.85rem;
  align-items: baseline;
  padding: 0.75rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.cu-detail-dl__row:first-child {
  padding-top: 0;
}

.cu-detail-dl__row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.cu-detail-dl__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.cu-detail-dl__row dd {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.settings-currencies-form-page {
  padding-bottom: 5rem;
}

.cu-form-page-avatar {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--cu-card-radius);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #059669, #10b981);
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.06);
  font-size: 0.95rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.02em;
}

.settings-currencies-form .settings-panel__head {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--cu-card-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  margin-bottom: 1rem;
}

.settings-currencies-form .br-form-panel__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
}

.settings-currencies-form .br-form-panel__head .settings-panel__accent {
  display: none;
}

.settings-currencies-form .br-form-panel__head .settings-panel__head-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  margin: 0;
  padding: 0;
}

.settings-currencies-form .br-form-panel__head .settings-panel__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.settings-currencies-form .br-form-panel__head .settings-panel__subtitle {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--bs-secondary-color);
}

.settings-currencies-form .br-form-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--cu-card-radius);
  flex-shrink: 0;
  font-size: 1.05rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.settings-currencies-form .settings-form-section-title {
  margin: 0 0 0.12rem;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.settings-page-header__actions.settings-detail-toolbar .settings-row-actions-dd {
  display: inline-flex;
}

[data-theme="dark"] .cu-overview-card,
[data-theme="dark"] .cu-detail-hero,
[data-theme="dark"] .cu-detail-panel,
[data-theme="dark"] .cu-detail-stat,
[data-theme="dark"] .settings-currencies-form .settings-panel__head,
[data-theme="dark"] .settings-currencies-panel .settings-data-table thead th,
[data-theme="dark"] .settings-currencies-panel .settings-data-table tbody td {
  background: #fff;
}

@media (max-width: 767.98px) {
  .cu-detail-dl__row {
    grid-template-columns: 1fr;
    gap: 0.25rem;
    align-items: start;
  }

  .cu-detail-stats {
    grid-template-columns: 1fr;
  }

  .cu-detail-hero__main {
    flex-direction: column;
    align-items: stretch;
  }
}

/* â”€â”€ Holding Group â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Settings â€” Holding group branding */

.settings-holding-form-page {
  padding-bottom: 5rem;
}

.hg-brand-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: 0.20rem;
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
}

.hg-brand-hero__main {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}

.hg-brand-hero__logo {
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 0.20rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  overflow: hidden;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #173630, #17322d);
  color: #fff;
  font-size: 1.25rem;
  font-weight: 800;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.06);
}

.hg-brand-hero__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0.25rem;
  background: #fff;
}

.hg-brand-hero__name {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.hg-brand-hero__meta {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--bs-secondary-color);
  line-height: 1.45;
}

.hg-brand-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.45rem;
}

.hg-brand-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: stretch;
}

.hg-brand-stat {
  min-width: 6.5rem;
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: 0.20rem;
  background: #fff;
}

.hg-brand-stat__label {
  margin: 0 0 0.2rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.hg-brand-stat__value {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.3;
}

.hg-brand-stat__value--ok {
  color: var(--bs-success, #00d27a);
}

.hg-brand-stat__value--muted {
  color: var(--bs-secondary-color);
}

.settings-holding-form .settings-panel__head {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: 0.20rem;
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  margin-bottom: 1rem;
}

.settings-holding-form .hg-form-panel__head,
.settings-holding-form .br-form-panel__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
}

.settings-holding-form .hg-form-panel__head .settings-panel__accent,
.settings-holding-form .br-form-panel__head .settings-panel__accent {
  display: none;
}

.settings-holding-form .hg-form-panel__head .settings-panel__head-text,
.settings-holding-form .br-form-panel__head .settings-panel__head-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  margin: 0;
  padding: 0;
}

.settings-holding-form .hg-form-panel__head .settings-panel__title,
.settings-holding-form .br-form-panel__head .settings-panel__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.settings-holding-form .hg-form-panel__head .settings-panel__subtitle,
.settings-holding-form .br-form-panel__head .settings-panel__subtitle {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--bs-secondary-color);
}

.settings-holding-form .hg-form-panel__icon,
.settings-holding-form .br-form-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 0.20rem;
  flex-shrink: 0;
  font-size: 1.05rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.settings-holding-form .settings-form-section-title {
  margin: 0 0 0.12rem;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.settings-holding-form .settings-form-switch-card {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: 0.20rem;
  background: #fff;
  border-bottom: 3px solid color-mix(in srgb, var(--bs-success, #00d27a) 45%, var(--adm-border-subtle, var(--bs-border-color)));
  padding: 0.75rem 0.85rem;
  min-height: 100%;
  transition:
    border-color 0.2s ease,
    border-bottom-color 0.2s ease,
    background-color 0.2s ease;
}

.settings-holding-form .hg-active-toggle.is-inactive {
  border-bottom-color: color-mix(in srgb, var(--bs-secondary, #6c757d) 45%, var(--adm-border-subtle, var(--bs-border-color)));
  background: color-mix(in srgb, var(--bs-secondary, #6c757d) 4%, #fff);
}

/* Active status pulse â€” same rhythm as topbar tb-badge (effects.css), green like messages */
@keyframes hgActiveStatusPulse {

  0%,
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.45);
  }

  50% {
    transform: scale(1.08);
    box-shadow: 0 0 0 5px rgba(34, 197, 94, 0);
  }
}

.hg-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.25rem;
  padding: 0.35em 0.65em;
  border-radius: 50rem;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.2;
  color: #fff;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.hg-status-pill--active {
  background-color: #22c55e;
  animation: hgActiveStatusPulse 2.8s ease infinite;
}

.hg-status-pill--inactive {
  background-color: var(--bs-secondary, #6c757d);
  animation: none;
  transform: none;
  box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
  .hg-status-pill--active {
    animation: none;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.28);
  }
}

.hg-brand-hero__badges .hg-status-pill {
  font-size: 0.8125rem;
}

.hg-active-toggle__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.hg-active-toggle__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  min-width: 0;
}

[dir="rtl"] .hg-active-toggle__text {
  align-items: flex-end;
}

.hg-active-toggle__title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  line-height: 1.3;
}

.hg-active-toggle__switch.form-switch {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0;
  min-height: 0;
  flex-shrink: 0;
}

.hg-active-toggle__switch .form-check-input {
  width: 2.65em;
  height: 1.35em;
  margin: 0;
  float: none;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.hg-active-toggle__switch .form-check-input:active {
  transform: none;
}

.hg-active-toggle__hint {
  margin-top: 0.65rem;
}

.hg-brand-media-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.settings-holding-form .settings-brand-media-card {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: 0.20rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 2%, #fff);
  padding: 1rem;
  height: 100%;
}

.settings-holding-form .settings-brand-media-card__frame {
  border-radius: 0.20rem;
  border-width: 1px;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05);
}

.settings-holding-form .settings-brand-media-card__frame--square {
  width: 7.5rem;
  height: 7.5rem;
}

.settings-holding-form .settings-brand-media-card__frame--favicon {
  width: 4rem;
  height: 4rem;
}

.settings-holding-form .settings-brand-media-card__camera,
.settings-holding-form .settings-brand-media-card__remove {
  border-radius: 0.20rem;
}

.settings-holding-form .settings-brand-media-card__wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.settings-holding-form .settings-brand-media-card__frame {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  background: #fff;
}

.settings-holding-form .settings-brand-media-card__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0.35rem;
}

.settings-holding-form .settings-brand-media-card__initials {
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #fff;
  background: linear-gradient(135deg, #173630, #17322d);
  width: 100%;
  height: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.settings-holding-form .settings-brand-media-card__camera,
.settings-holding-form .settings-brand-media-card__remove {
  position: absolute;
  width: 2rem;
  height: 2rem;
  border: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: 0 2px 8px rgba(7, 10, 9, 0.15);
}

.settings-holding-form .settings-brand-media-card__camera {
  bottom: -0.35rem;
  inset-inline-end: -0.35rem;
  background: var(--adm-brand-600, var(--bs-primary));
}

.settings-holding-form .settings-brand-media-card__remove {
  top: -0.35rem;
  inset-inline-start: -0.35rem;
  background: var(--bs-danger, #e63757);
}

@media (max-width: 767.98px) {
  .hg-brand-media-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .hg-brand-stats,
  .hg-brand-stat {
    width: 100%;
  }
}

/* â”€â”€ Home â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Settings hub â€” Home (workspace / company style) */

.settings-home-page {
  --sh-surface: #fff;
  --sh-card: #fff;
  --sh-primary: var(--adm-brand-600, var(--bs-primary));
  --sh-success: var(--bs-success, #00d27a);
  --sh-info: var(--bs-info, #193d36);
  --sh-border: var(--adm-border-subtle, var(--bs-border-color-translucent));
  --sh-radius: 0.20rem;
  --sh-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
}

.settings-home-page .btn {
  border-radius: var(--sh-radius);
}

/* â”€â”€ Overview â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.settings-home-overview {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.15rem;
  margin-bottom: 1rem;
  border: 1px solid var(--sh-border);
  border-radius: var(--sh-radius);
  background: var(--sh-card);
  box-shadow: var(--sh-shadow);
  border-bottom: 3px solid var(--sh-primary);
}

.settings-home-overview__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--sh-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.25rem;
  background: color-mix(in srgb, var(--sh-primary) 12%, var(--sh-card));
  color: var(--sh-primary);
}

.settings-home-overview__title {
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0 0 0.25rem;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.settings-home-overview__desc {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--bs-secondary-color);
  line-height: 1.45;
  max-width: 42rem;
}

/* â”€â”€ Section stack â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.settings-home-stack {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.settings-home-card {
  border: 1px solid var(--sh-border);
  border-radius: var(--sh-radius);
  background: var(--sh-card);
  box-shadow: var(--sh-shadow);
  overflow: hidden;
}

.settings-home-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem 1.15rem 0.85rem;
  border-bottom: 2px solid color-mix(in srgb, var(--sh-primary) 18%, var(--sh-border));
}

.settings-home-card--accounting .settings-home-card__head {
  border-bottom-color: color-mix(in srgb, var(--sh-info) 22%, var(--sh-border));
}

.settings-home-card--reference .settings-home-card__head {
  border-bottom-color: color-mix(in srgb, var(--sh-success) 22%, var(--sh-border));
}

.settings-home-card__title-wrap {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  min-width: 0;
}

.settings-home-card__icon {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--sh-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.05rem;
  background: color-mix(in srgb, var(--sh-primary) 12%, var(--sh-card));
  color: var(--sh-primary);
}

.settings-home-card--accounting .settings-home-card__icon {
  background: color-mix(in srgb, var(--sh-info) 12%, var(--sh-card));
  color: var(--sh-info);
}

.settings-home-card--reference .settings-home-card__icon {
  background: color-mix(in srgb, var(--sh-success) 12%, var(--sh-card));
  color: var(--sh-success);
}

.settings-home-card__title {
  font-weight: 700;
  margin: 0;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.settings-home-card__hint {
  margin: 0.2rem 0 0;
  font-size: 0.8125rem;
  color: var(--bs-secondary-color);
  line-height: 1.45;
}

.settings-home-card__body {
  padding: 1rem 1.15rem 1.15rem;
}

.settings-home-tile-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
  gap: 0.65rem;
}

@media (min-width: 1200px) {
  .settings-home-tile-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .settings-home-tile-grid {
    grid-template-columns: 1fr;
  }
}

[data-theme="dark"] .settings-home-page {
  --sh-card: #fff;
  --sh-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 4px 14px rgba(0, 0, 0, 0.15);
}

/* â”€â”€ Ref Form â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Settings reference CRUD â€” polished add/edit forms */
.settings-module-page .settings-ref-form__switch-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
}

.settings-module-page .settings-ref-form__switches {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 0.75rem;
}


/* â”€â”€ Timezones â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* Settings â€” timezones (Companies UI standard) */

:root {
  --tz-card-radius: 0.20rem;
}

.tz-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

@media (max-width: 575.98px) {
  .tz-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}

.tz-overview-card,
.tz-detail-hero,
.tz-detail-panel {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--tz-card-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  overflow: hidden;
}

.dashboard-wrapper .settings-module-page .settings-timezones-panel.settings-panel,
.dashboard-wrapper .settings-module-page .tz-detail-panel.settings-panel,
.settings-module-page .settings-timezones-panel.settings-panel,
.settings-module-page .tz-detail-panel.settings-panel,
.tz-detail-page .settings-panel.tz-detail-panel {
  border-radius: var(--tz-card-radius) !important;
}

.tz-overview-card__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
}

.tz-overview-card__title {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.tz-overview-card__stat {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-brand-600, var(--bs-primary));
}

.tz-overview-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--tz-card-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.15rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.tz-overview-card--active .tz-overview-card__icon {
  background: color-mix(in srgb, var(--bs-success, #00d27a) 14%, #fff);
  color: var(--bs-success, #00d27a);
}

.tz-overview-card--active .tz-overview-card__stat {
  color: var(--bs-success, #00d27a);
}

.tz-timezone-cell {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.tz-timezone-avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--tz-card-radius);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #122b26, #2c5a51);
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.06);
  font-size: 0.95rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.02em;
}

.tz-timezone-avatar--lg {
  width: 3.5rem;
  height: 3.5rem;
  font-size: 1.15rem;
}

.tz-timezone-cell__main {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.tz-timezone-cell__code {
  font-weight: 700;
  font-size: 0.8125rem;
  color: var(--adm-brand-600, var(--bs-primary));
}

.tz-timezone-cell__name {
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.settings-timezones-panel .settings-data-table thead th {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
}

.settings-timezones-panel .settings-data-table tbody tr,
.settings-timezones-panel .settings-data-table tbody tr:nth-child(even):not(.settings-empty-state-row) {
  background: #fff;
}

.settings-timezones-panel .settings-data-table tbody td {
  background: #fff;
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color));
}

.settings-timezones-panel .settings-data-table tbody tr.settings-data-row--clickable:hover,
.settings-timezones-panel .settings-data-table tbody tr.settings-data-row--clickable:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff) !important;
}

.settings-timezones-panel .settings-table-shell {
  background: #fff;
}

.settings-timezones-panel.settings-panel:has(.dropdown-menu.show),
.settings-timezones-panel.settings-panel:has(tr.settings-row-actions-open),
.settings-timezones-panel .settings-panel__body:has(.dropdown-menu.show),
.settings-timezones-panel .settings-panel__body:has(tr.settings-row-actions-open),
.settings-timezones-panel .settings-table-shell:has(.dropdown-menu.show),
.settings-timezones-panel .table-responsive:has(.dropdown-menu.show) {
  overflow: visible !important;
  position: relative;
  z-index: 40;
}

.settings-timezones-panel tr.settings-row-actions-open {
  position: relative;
  z-index: 45;
}

.settings-timezones-panel tr.settings-row-actions-open>td:last-child {
  overflow: visible;
  position: relative;
  z-index: 46;
}

.settings-timezones-panel .settings-row-actions-dd:has(.dropdown-menu.show) {
  z-index: 47;
}

.settings-timezones-panel .settings-row-actions-dd .dropdown-menu.show {
  z-index: 2000 !important;
}

.settings-timezones-panel .settings-row-actions-dd__trigger,
.settings-timezones-panel .settings-row-actions-dd__trigger .bi,
.settings-timezones-panel .settings-row-actions-dd,
.settings-timezones-panel .settings-row-actions-dd__menu,
.settings-timezones-panel .settings-row-actions-dd__menu>li,
.settings-timezones-panel .settings-row-actions-dd__menu .settings-row-actions-dd__item,
.settings-timezones-panel .settings-row-actions-dd__menu .dropdown-item,
.settings-timezones-panel .settings-row-actions-dd__menu .settings-row-actions-dd__form,
.settings-timezones-panel .settings-row-actions-dd__menu .settings-row-actions-dd__form button {
  cursor: pointer !important;
}

.tz-detail-page {
  --tz-detail-gap: 1rem;
  --tz-detail-pad-block: 1.25rem;
  --tz-detail-pad-inline: 1.35rem;
  display: flex;
  flex-direction: column;
  gap: var(--tz-detail-gap);
}

.tz-detail-cards>[class*="col-"] {
  display: flex;
}

.tz-detail-panel {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.tz-detail-panel .settings-panel__body--padded {
  flex: 1;
}

.tz-detail-hero {
  display: block;
  padding: var(--tz-detail-pad-block) var(--tz-detail-pad-inline);
}

.tz-detail-hero__main {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  min-width: 0;
}

.tz-detail-hero__body {
  flex: 1;
  min-width: 0;
}

.tz-detail-hero__name {
  font-weight: 800;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.tz-detail-hero__meta {
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
}

.tz-detail-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.tz-detail-stat {
  min-width: 0;
  padding: 0.7rem 0.85rem;
  border: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 85%, transparent);
  border-radius: var(--tz-card-radius);
  background: color-mix(in srgb, var(--adm-bg-surface-2, #f8fafc) 72%, #fff);
}

.tz-detail-stat__label {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.tz-detail-stat__value {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--adm-brand-600, var(--bs-primary));
  overflow-wrap: anywhere;
}

.tz-detail-stat__value--code {
  font-size: 0.9375rem;
}

.tz-detail-stat__value--code .settings-code {
  font-size: inherit;
  font-weight: inherit;
}

.tz-detail-stat__value--sm {
  font-size: 0.875rem;
  font-weight: 700;
}

.tz-detail-dl {
  display: grid;
  gap: 0;
}

.tz-detail-dl__row {
  display: grid;
  grid-template-columns: minmax(7.5rem, 34%) 1fr;
  gap: 0.85rem;
  align-items: baseline;
  padding: 0.75rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--adm-border-subtle, var(--bs-border-color)) 70%, transparent);
}

.tz-detail-dl__row:first-child {
  padding-top: 0;
}

.tz-detail-dl__row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.tz-detail-dl__row dt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.tz-detail-dl__row dd {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  overflow-wrap: anywhere;
}

.tz-form-page-avatar {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--tz-card-radius);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #122b26, #2c5a51);
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.06);
  font-size: 1.15rem;
  font-weight: 800;
  color: #fff;
}

.tz-form-page-avatar .bi {
  font-size: 1.15rem;
}

.settings-timezones-form-page {
  padding-bottom: 5rem;
}

.settings-timezones-form .settings-panel__head {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--tz-card-radius);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  margin-bottom: 1rem;
}

.settings-timezones-form .br-form-panel__head {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  border-bottom: 2px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, var(--adm-border-subtle, var(--bs-border-color)));
}

.settings-timezones-form .br-form-panel__head .settings-panel__accent {
  display: none;
}

.settings-timezones-form .br-form-panel__head .settings-panel__head-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  margin: 0;
  padding: 0;
}

.settings-timezones-form .br-form-panel__head .settings-panel__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.settings-timezones-form .br-form-panel__head .settings-panel__subtitle {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--bs-secondary-color);
}

.settings-timezones-form .br-form-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--tz-card-radius);
  flex-shrink: 0;
  font-size: 1.05rem;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, #fff);
  color: var(--adm-brand-600, var(--bs-primary));
}

.settings-timezones-form .settings-form-section-title {
  margin: 0 0 0.12rem;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.settings-page-header__actions.settings-detail-toolbar .settings-row-actions-dd {
  display: inline-flex;
}

[data-theme="dark"] .tz-overview-card,
[data-theme="dark"] .tz-detail-hero,
[data-theme="dark"] .tz-detail-panel,
[data-theme="dark"] .tz-detail-stat,
[data-theme="dark"] .settings-timezones-form .settings-panel__head,
[data-theme="dark"] .settings-timezones-panel .settings-data-table thead th,
[data-theme="dark"] .settings-timezones-panel .settings-data-table tbody td {
  background: #fff;
}

@media (max-width: 767.98px) {
  .tz-detail-dl__row {
    grid-template-columns: 1fr;
    gap: 0.25rem;
    align-items: start;
  }

  .tz-detail-stats {
    grid-template-columns: 1fr;
  }

  .tz-detail-hero__main {
    flex-direction: column;
    align-items: stretch;
  }

}

/* â”€â”€ ZATCA â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/* ZATCA compliance â€” Settings (workspace / company style) */

.settings-zatca-page {
  --zatca-surface: #fff;
  --zatca-card: #fff;
  --zatca-primary: var(--adm-brand-600, var(--bs-primary));
  --zatca-success: var(--bs-success, #00d27a);
  --zatca-info: var(--bs-info, #193d36);
  --zatca-warning: var(--bs-warning, #f59e0b);
  --zatca-border: var(--adm-border-subtle, var(--bs-border-color-translucent));
  --zatca-radius: 0.20rem;
  --zatca-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  padding-bottom: 5rem;
}

.settings-zatca-page .btn,
.settings-zatca-page .form-control,
.settings-zatca-page .form-select,
.settings-zatca-form .btn,
.settings-zatca-form .form-control,
.settings-zatca-form .form-select {
  border-radius: var(--zatca-radius);
}

.settings-zatca-page .settings-server-validation:empty,
.settings-zatca-page .validation-summary-valid,
.settings-zatca-page .alert-danger:empty {
  display: none !important;
}

.settings-zatca-stack {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* â”€â”€ Section sub-navigation (horizontal pills) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.zatca-settings-subnav {
  margin-bottom: 1rem;
  border: 1px solid var(--zatca-border, var(--adm-border-subtle, var(--bs-border-color-translucent)));
  border-radius: 0.20rem;
  background: #fff;
  box-shadow: var(--zatca-shadow, 0 1px 2px rgba(7, 10, 9, 0.05));
  overflow: hidden;
}

.zatca-settings-subnav__list {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.35rem;
  margin: 0;
  padding: 0.5rem 0.65rem;
  list-style: none;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.zatca-settings-subnav__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  flex-shrink: 0;
  padding: 0.4rem 0.75rem;
  border: 1px solid transparent;
  border-radius: 0.20rem;
  color: var(--bs-secondary-color, #64748b);
  font-size: 0.8125rem;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.zatca-settings-subnav__link:hover {
  background: color-mix(in srgb, var(--zatca-primary, var(--bs-primary)) 6%, transparent);
  color: var(--zatca-primary, var(--bs-primary));
}

.zatca-settings-subnav__link.is-active {
  border-color: color-mix(in srgb, var(--zatca-primary, var(--bs-primary)) 22%, var(--zatca-border, var(--bs-border-color)));
  background: color-mix(in srgb, var(--zatca-primary, var(--bs-primary)) 10%, #fff);
  color: var(--zatca-primary, var(--bs-primary));
  font-weight: 600;
}

[dir="rtl"] .zatca-settings-subnav__list {
  flex-direction: row;
}

[dir="rtl"] .zatca-settings-subnav__link i {
  margin-inline-end: 0;
}

.settings-zatca-form .settings-zatca-stack>fieldset {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0;
}

.settings-zatca-form .settings-zatca-stack>fieldset:disabled {
  opacity: 1;
}

/* â”€â”€ Standalone cards â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.zatca-settings-card {
  border: 1px solid var(--zatca-border);
  border-radius: var(--zatca-radius);
  background: var(--zatca-card);
  box-shadow: var(--zatca-shadow);
  overflow: hidden;
  transition: opacity 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.zatca-settings-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1.15rem 0.85rem;
  border-bottom: 2px solid color-mix(in srgb, var(--zatca-primary) 18%, var(--zatca-border));
}

.zatca-settings-card__head--status {
  border-bottom-color: color-mix(in srgb, var(--zatca-info) 22%, var(--zatca-border));
}

.zatca-settings-card__head--reliability {
  border-bottom-color: color-mix(in srgb, var(--zatca-warning) 28%, var(--zatca-border));
}

.zatca-settings-card__head--credentials {
  border-bottom-color: color-mix(in srgb, var(--zatca-warning) 22%, var(--zatca-border));
}

.zatca-settings-card__head--ops {
  border-bottom-color: color-mix(in srgb, var(--zatca-success) 28%, var(--zatca-border));
}

.zatca-settings-card__head--log {
  border-bottom-color: color-mix(in srgb, var(--zatca-primary) 14%, var(--zatca-border));
}

.zatca-settings-card__head--inline {
  padding-bottom: 0.75rem;
}

.zatca-settings-card__title-wrap {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  min-width: 0;
}

.zatca-settings-card__icon {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--zatca-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.05rem;
  background: color-mix(in srgb, var(--zatca-primary) 12%, var(--zatca-card));
  color: var(--zatca-primary);
}

.zatca-settings-card__icon--status {
  background: color-mix(in srgb, var(--zatca-info) 12%, var(--zatca-card));
  color: var(--zatca-info);
}

.zatca-settings-card__icon--reliability {
  background: color-mix(in srgb, var(--zatca-warning) 14%, var(--zatca-card));
  color: color-mix(in srgb, var(--zatca-warning) 85%, #000);
}

.zatca-settings-card__icon--credentials {
  background: color-mix(in srgb, var(--zatca-warning) 12%, var(--zatca-card));
  color: color-mix(in srgb, var(--zatca-warning) 85%, #000);
}

.zatca-settings-card__icon--ops {
  background: color-mix(in srgb, var(--zatca-success) 12%, var(--zatca-card));
  color: var(--zatca-success);
}

.zatca-settings-card__title {
  font-weight: 700;
  margin: 0;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.zatca-settings-card__hint {
  margin: 0.2rem 0 0;
  font-size: 0.8125rem;
  color: var(--bs-secondary-color);
  line-height: 1.45;
}

.zatca-settings-card__body {
  padding: 1rem 1.15rem 1.15rem;
}

.zatca-settings-card__head-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
}

.zatca-settings-card.is-active {
  border-color: color-mix(in srgb, var(--zatca-primary) 25%, var(--zatca-border));
  box-shadow: 0 1px 0 color-mix(in srgb, var(--zatca-primary) 6%, transparent), var(--zatca-shadow);
}

.zatca-settings-card.is-locked {
  opacity: 0.72;
  border-style: dashed;
}

.zatca-settings-card.is-disabled-panel {
  opacity: 0.5;
  pointer-events: none;
}

.zatca-settings-group--standalone.is-locked {
  opacity: 0.85;
}

.zatca-settings-group__lock-hint {
  font-size: 0.8125rem;
}

.zatca-advanced-intro {
  padding: 0.85rem 1rem;
  border: 1px dashed var(--zatca-border);
  border-radius: var(--zatca-radius);
  background: var(--zatca-card);
}

.zatca-advanced-intro__title {
  font-weight: 700;
  font-size: 0.95rem;
  margin: 0 0 0.25rem;
}

/* â”€â”€ Status / activity â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.zatca-activity-list li {
  line-height: 1.5;
}

.zatca-status-grid {
  display: grid;
  gap: 1rem;
}

@media (min-width: 992px) {
  .zatca-status-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  }
}

.zatca-status-block__label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--bs-secondary-color);
  margin-bottom: 0.35rem;
}

/* â”€â”€ KPI cards â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.zatca-reliability-kpis {
  --bs-gutter-x: 0.75rem;
}

.zatca-kpi-card {
  border: 1px solid var(--zatca-border);
  border-radius: var(--zatca-radius);
  padding: 0.9rem 1rem;
  height: 100%;
  background: var(--zatca-card);
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.03);
}

.zatca-kpi-card__label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--bs-secondary-color);
  margin-bottom: 0.35rem;
}

.zatca-kpi-card__value {
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.2;
}

.zatca-kpi-card__hint {
  font-size: 0.8rem;
  color: var(--bs-secondary-color);
}

/* â”€â”€ Tables (white on card) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.settings-zatca-page .zatca-settings-table {
  margin-bottom: 0;
  background: var(--zatca-card);
  border-radius: var(--zatca-radius);
  overflow: hidden;
}

.settings-zatca-page .zatca-settings-table> :not(caption)>*>* {
  background-color: var(--zatca-card);
}

.settings-zatca-page .zatca-settings-table thead th {
  background: var(--zatca-card);
  border-bottom-width: 2px;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--bs-secondary-color);
}

.settings-zatca-page .table-responsive {
  border: 1px solid var(--zatca-border);
  border-radius: var(--zatca-radius);
  background: var(--zatca-card);
}

/* â”€â”€ Live phase insight â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.zatca-phase-live {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  padding: 1rem 1.15rem;
  border-radius: var(--zatca-radius);
  border: 1px solid var(--zatca-border);
  background: var(--zatca-card);
}

.zatca-phase-live--disabled {
  border-style: dashed;
  opacity: 0.85;
}

.zatca-phase-live--phase1 {
  border-color: color-mix(in srgb, var(--zatca-info) 35%, var(--zatca-border));
}

.zatca-phase-live--phase2 {
  border-color: color-mix(in srgb, var(--zatca-primary) 35%, var(--zatca-border));
}

.zatca-phase-live--phase3 {
  border-color: color-mix(in srgb, var(--zatca-success) 35%, var(--zatca-border));
}

.zatca-phase-live__icon {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--zatca-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  color: var(--zatca-primary);
  background: color-mix(in srgb, var(--zatca-primary) 10%, var(--zatca-card));
  flex-shrink: 0;
}

.zatca-phase-live__title {
  font-weight: 700;
  color: var(--adm-text-strong, inherit);
}

.zatca-phase-live__text {
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

/* â”€â”€ Rollout strategy â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.zatca-phase-strategy__grid {
  display: grid;
  gap: 0.75rem;
}

@media (min-width: 768px) {
  .zatca-phase-strategy__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.zatca-phase-strategy__item {
  border: 1px solid var(--zatca-border);
  border-radius: var(--zatca-radius);
  padding: 0.9rem 1rem;
  background: var(--zatca-card);
  position: relative;
  padding-inline-start: 3.1rem;
}

.zatca-phase-strategy__num {
  position: absolute;
  inset-inline-start: 0.85rem;
  top: 0.85rem;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: var(--zatca-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.85rem;
  background: var(--zatca-primary);
  color: #fff;
}

.zatca-phase-strategy__item-title {
  font-size: 0.9rem;
  font-weight: 700;
  margin-bottom: 0.35rem;
}

.zatca-phase-strategy__note {
  border-top: 1px dashed var(--zatca-border);
  padding-top: 0.75rem;
}

.zatca-phase-status-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.65rem;
  padding: 0.55rem 0.85rem;
  border-radius: var(--zatca-radius);
  background: var(--zatca-card);
  border: 1px solid var(--zatca-border);
}

.zatca-phase-status-bar__sep {
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

/* â”€â”€ Enable switch row â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.zatca-enable-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--zatca-border);
  border-radius: var(--zatca-radius);
  background: var(--zatca-card);
  border-bottom: 3px solid color-mix(in srgb, var(--zatca-success) 55%, var(--zatca-border));
}

/* â”€â”€ Phase stepper â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.zatca-phase-stepper-fieldset:disabled {
  opacity: 0.55;
  pointer-events: none;
}

.zatca-phase-stepper {
  display: flex;
  flex-direction: column;
  gap: 0;
}

@media (min-width: 768px) {
  .zatca-phase-stepper {
    flex-direction: row;
    align-items: stretch;
  }
}

.zatca-phase-step {
  position: relative;
  display: flex;
  flex: 1;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.1rem;
  margin: 0;
  border: 1px solid var(--zatca-border);
  border-radius: var(--zatca-radius);
  background: var(--zatca-card);
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
  min-width: 0;
}

@media (min-width: 768px) {
  .zatca-phase-step {
    border-radius: 0;
    border-inline-end: none;
  }

  .zatca-phase-stepper .zatca-phase-step:first-child {
    border-start-start-radius: var(--zatca-radius);
    border-end-start-radius: var(--zatca-radius);
  }

  .zatca-phase-stepper .zatca-phase-step:last-child {
    border-inline-end: 1px solid var(--zatca-border);
    border-start-end-radius: var(--zatca-radius);
    border-end-end-radius: var(--zatca-radius);
  }
}

.zatca-phase-step:hover {
  border-color: var(--zatca-primary);
  z-index: 1;
}

.zatca-phase-step.is-selected {
  border-color: var(--zatca-primary);
  box-shadow: 0 0 0 0.15rem color-mix(in srgb, var(--zatca-primary) 12%, transparent);
  background: color-mix(in srgb, var(--zatca-primary) 4%, var(--zatca-card));
  z-index: 2;
}

.zatca-phase-step.is-complete:not(.is-selected) .zatca-phase-step__marker {
  background: color-mix(in srgb, var(--zatca-success) 12%, var(--zatca-card));
  border-color: color-mix(in srgb, var(--zatca-success) 45%, var(--zatca-border));
  color: var(--zatca-success);
}

.zatca-phase-step input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.zatca-phase-step__marker {
  flex-shrink: 0;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--zatca-radius);
  border: 2px solid var(--zatca-border);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  background: var(--zatca-card);
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.zatca-phase-step.is-selected .zatca-phase-step__marker {
  background: var(--zatca-primary);
  border-color: var(--zatca-primary);
  color: #fff;
}

.zatca-phase-step__check {
  display: none;
  font-size: 1.1rem;
}

.zatca-phase-step.is-complete:not(.is-selected) .zatca-phase-step__number {
  display: none;
}

.zatca-phase-step.is-complete:not(.is-selected) .zatca-phase-step__check {
  display: inline;
}

.zatca-phase-step__content {
  min-width: 0;
  flex: 1;
}

.zatca-phase-step__title {
  display: block;
  font-weight: 700;
  font-size: 0.95rem;
  margin-bottom: 0.25rem;
  color: var(--adm-text-strong, inherit);
}

.zatca-phase-step__desc {
  display: block;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.zatca-phase-step__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.45rem;
}

.zatca-phase-step__badge {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.15rem 0.45rem;
  border-radius: var(--zatca-radius);
}

.zatca-phase-step__badge--saved {
  background: color-mix(in srgb, var(--zatca-success) 12%, var(--zatca-card));
  color: var(--zatca-success);
}

.zatca-phase-step__badge--editing {
  background: var(--zatca-primary);
  color: #fff;
}

/* â”€â”€ Phase chips & group heads â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.zatca-phase-chip {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.12rem 0.4rem;
  border-radius: var(--zatca-radius);
  margin-inline-end: 0.45rem;
  vertical-align: middle;
}

.zatca-phase-chip--1 {
  background: color-mix(in srgb, var(--zatca-info) 12%, var(--zatca-card));
  color: var(--zatca-info);
}

.zatca-phase-chip--2 {
  background: color-mix(in srgb, var(--zatca-primary) 12%, var(--zatca-card));
  color: var(--zatca-primary);
}

.zatca-phase-chip--3 {
  background: color-mix(in srgb, var(--zatca-success) 12%, var(--zatca-card));
  color: var(--zatca-success);
}

.zatca-settings-card__section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.zatca-settings-card__section-title {
  font-weight: 700;
  font-size: 0.9rem;
  margin: 0;
}

/* â”€â”€ Ops panel â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.zatca-ops-panel .btn-primary {
  font-weight: 600;
}

.zatca-ops-steps .list-group-item {
  background: var(--zatca-card);
}

.zatca-preview-qr {
  display: inline-block;
  padding: 0.65rem;
  border: 1px solid var(--zatca-border);
  border-radius: var(--zatca-radius);
  background: var(--zatca-card);
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.04);
}

.zatca-preview-qr img {
  display: block;
  max-width: 12rem;
  height: auto;
  border-radius: var(--zatca-radius);
}

.zatca-readonly-footer-hint {
  margin-top: 1rem;
  padding: 0.85rem 1rem;
  border: 1px dashed var(--zatca-border);
  border-radius: var(--zatca-radius);
  background: var(--zatca-card);
  font-size: 0.8125rem;
  color: var(--bs-secondary-color);
}

/* â”€â”€ Sticky action bar â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.zatca-settings-footer {
  position: sticky;
  bottom: 0;
  z-index: 20;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  justify-content: flex-start;
  margin-top: 1.25rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--zatca-border);
  border-radius: var(--zatca-radius);
  background: var(--zatca-card);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 -4px 20px rgba(7, 10, 9, 0.06);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.zatca-settings-footer.is-stuck {
  border-color: color-mix(in srgb, var(--zatca-primary) 18%, var(--zatca-border));
  box-shadow:
    0 -6px 24px rgba(7, 10, 9, 0.1),
    0 0 0 1px color-mix(in srgb, var(--zatca-primary) 8%, transparent);
}

.zatca-settings-footer .btn {
  min-width: 6.5rem;
  min-height: 2.125rem;
  padding: 0.4rem 0.95rem;
  font-size: 0.8125rem;
  font-weight: 600;
}

.zatca-settings-footer-sentinel {
  width: 100%;
  height: 1px;
  pointer-events: none;
  visibility: hidden;
}

@media (max-width: 991.98px) {
  .zatca-settings-footer {
    position: static;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

[data-theme="dark"] .settings-zatca-page {
  --zatca-card: #fff;
  --zatca-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 4px 14px rgba(0, 0, 0, 0.15);
}

[data-theme="dark"] .zatca-settings-footer {
  background: var(--zatca-card);
}



/* â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ
   Settings â€” module-unique styles (merged from settings-module.css)
   â•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گâ•گ */
}


/* â”€â”€ Settings â€” module-unique styles (merged from settings-module.css) â”€â”€ */
/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Settings hub hero (home) أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.settings-module-page .settings-hub-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.25rem;
  padding: 1.35rem 1.5rem;
  border-radius: var(--adm-radius-lg, 0.75rem);
  border: 1px solid var(--adm-border-subtle);
  background: linear-gradient(135deg, rgba(var(--bs-primary-rgb), 0.08), rgba(var(--bs-primary-rgb), 0.02));
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.settings-module-page .settings-hub-hero__icon {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: var(--adm-brand-600, var(--bs-primary));
  background: var(--adm-bg-surface, #fff);
  border: 1px solid var(--adm-border-subtle);
  flex-shrink: 0;
}

.settings-module-page .settings-hub-hero__title {
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0 0 0.25rem;
  color: var(--adm-text-strong);
}

.settings-module-page .settings-hub-hero__desc {
  margin: 0;
  font-size: 0.875rem;
  color: var(--adm-text-muted-ui);
  max-width: 40rem;
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Company page layout أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.settings-module-page .settings-company-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
}

@media (min-width: 992px) {
  .settings-module-page .settings-company-layout {
    grid-template-columns: minmax(0, 1fr) 17.5rem;
  }

  .settings-module-page .settings-company-layout__brand {
    order: 2;
  }

  .settings-module-page .settings-company-layout__main {
    order: 1;
  }
}

.settings-module-page .settings-company-brand-panel {
  border: 1px solid var(--adm-border-subtle);
  border-radius: var(--adm-radius-lg, 0.75rem);
  background: var(--adm-bg-surface);
  padding: 1.25rem 1rem;
  position: sticky;
  top: calc(var(--topbar-height, 74px) + 1.25rem);
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Brand media card (profile-style logo / favicon) أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.settings-module-page .settings-brand-media-card__wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.settings-module-page .settings-brand-media-card__frame {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 2px solid var(--adm-border-subtle);
  background: var(--adm-bg-subtle, var(--bs-light));
  box-shadow: 0 4px 14px rgba(7, 10, 9, 0.08);
}

.settings-module-page .settings-brand-media-card__frame--square {
  width: 8.5rem;
  height: 8.5rem;
  border-radius: 1.1rem;
}

.settings-module-page .settings-brand-media-card__frame--round {
  width: 7rem;
  height: 7rem;
  border-radius: var(--sys-radius);
}

.settings-module-page .settings-brand-media-card__frame--favicon {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 0.85rem;
}

.settings-module-page .settings-brand-media-card__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0.35rem;
}

.settings-module-page .settings-brand-media-card__initials {
  font-size: 1.75rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #fff;
  background: linear-gradient(135deg, #173630, #173630);
  width: 100%;
  height: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.settings-module-page .settings-brand-media-card__placeholder {
  font-size: 0.72rem;
  color: var(--adm-text-muted-ui);
  text-align: center;
  padding: 0.65rem;
  line-height: 1.35;
}

.settings-module-page .settings-brand-media-card__camera,
.settings-module-page .settings-brand-media-card__remove {
  position: absolute;
  width: 2.1rem;
  height: 2.1rem;
  border: none;
  border-radius: var(--sys-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--sys-shadow-md, 0 4px 10px rgba(0, 0, 0, 0.12));
  color: #fff;
}

.settings-module-page .settings-brand-media-card__camera {
  inset-inline-end: -0.35rem;
  bottom: 0.15rem;
  background: var(--adm-brand-600, var(--bs-primary));
}

.settings-module-page .settings-brand-media-card__remove {
  inset-inline-start: -0.35rem;
  bottom: 0.15rem;
  background: var(--adm-danger, #dc2626);
}

.settings-module-page .settings-company-form .settings-page-header__actions .btn {
  white-space: nowrap;
}

/* أ¢â€‌â‚¬أ¢â€‌â‚¬ Settings module layout (context rail + content) أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬أ¢â€‌â‚¬ */
.settings-module-page--with-rail .settings-module-page__canvas {
  max-width: 100%;
}

.settings-module-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
  margin-bottom: 1rem;
}

@media (min-width: 992px) {
  .settings-module-layout {
    grid-template-columns: 15.5rem minmax(0, 1fr);
  }
}

.settings-module-layout__rail {
  position: relative;
  z-index: 2;
  min-width: 0;
}

@media (min-width: 992px) {
  .settings-module-layout__rail {
    width: 15.5rem;
    max-width: 15.5rem;
    position: sticky;
    top: calc(var(--topbar-height, 74px) + 0.75rem);
    align-self: start;
    max-height: calc(100vh - 6rem);
    overflow: auto;
    scrollbar-width: thin;
  }
}

.settings-module-layout__main {
  min-width: 0;
}

/* Context navigation (in-page, mirrors admin settings menu) */
.settings-context-nav {
  border: 1px solid var(--adm-border-subtle);
  border-radius: var(--adm-radius-lg, 0.75rem);
  background: var(--adm-bg-surface);
  box-shadow: var(--adm-shadow-sm, 0 1px 3px rgba(7, 10, 9, 0.06));
  overflow: hidden;
}

.settings-context-nav__head {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.85rem 1rem;
  background: linear-gradient(135deg, var(--adm-brand-600, #122b26) 0%, #173630 48%, #122b26 100%);
  color: #fff;
}

.settings-context-nav__head-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 0.55rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.16);
  font-size: 1rem;
  flex-shrink: 0;
}

.settings-context-nav__head-title {
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.3;
}

.settings-context-nav__group {
  padding: 0.55rem 0.5rem 0.35rem;
  border-top: 1px solid var(--adm-border-subtle);
}

.settings-context-nav__group--footer {
  padding-bottom: 0.55rem;
}

.settings-context-nav__group-title {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--adm-text-muted-ui);
  padding: 0.35rem 0.55rem 0.25rem;
}

.settings-context-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.settings-context-nav__link {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.55rem 0.65rem;
  margin: 0.1rem 0;
  border-radius: 0.55rem;
  color: var(--adm-text-primary);
  text-decoration: none;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.35;
  transition: background 0.12s ease, color 0.12s ease;
}

.settings-context-nav__link i {
  width: 1.15rem;
  text-align: center;
  font-size: 0.95rem;
  color: var(--adm-text-muted-ui);
  flex-shrink: 0;
}

.settings-context-nav__link:hover,
.settings-context-nav__link:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, var(--adm-bg-surface));
  color: var(--adm-brand-600, var(--bs-primary));
}

.settings-context-nav__link:hover i,
.settings-context-nav__link:focus-visible i {
  color: var(--adm-brand-600, var(--bs-primary));
}

.settings-context-nav__link.is-active {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 12%, var(--adm-bg-surface));
  color: var(--adm-brand-600, var(--bs-primary));
  font-weight: 600;
  box-shadow: inset 3px 0 0 var(--adm-brand-600, var(--bs-primary));
}

[dir="rtl"] .settings-context-nav__link.is-active {
  box-shadow: inset -3px 0 0 var(--adm-brand-600, var(--bs-primary));
}

.settings-context-nav__link.is-active i {
  color: var(--adm-brand-600, var(--bs-primary));
}

.settings-form-page-header .settings-back-icon {
  display: inline-block;
}

[dir="rtl"] .settings-form-page-header .settings-back-icon {
  transform: scaleX(-1);
}



/* ── chart-of-accounts.css (331 lines) ──────────────────────── */
/* Chart of accounts â€” Accounting area (tree, modals, standalone create form) */

.accounting-form-card {
  max-width: 560px;
}

/* â”€â”€ Palette (soft gradients â€” preserve existing look) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.accounting-chart-tree {
  --acct-tree-surface: var(--adm-bg-surface, #fff);
  --acct-tree-row-0: color-mix(in srgb, var(--bs-success) 4%, var(--acct-tree-surface));
  --acct-tree-row-1: color-mix(in srgb, var(--bs-primary) 5%, var(--acct-tree-surface));
  --acct-tree-row-2: color-mix(in srgb, var(--bs-info) 4%, var(--acct-tree-surface));
  --acct-tree-row-3: color-mix(in srgb, var(--bs-secondary) 3%, var(--acct-tree-surface));
  --acct-tree-row-hover: color-mix(in srgb, var(--bs-primary) 8%, var(--acct-tree-surface));
  --acct-tree-row-locked: color-mix(in srgb, var(--bs-danger) 6%, var(--acct-tree-surface));
  --acct-tree-head-bg: linear-gradient(180deg,
      color-mix(in srgb, var(--bs-secondary) 10%, var(--acct-tree-surface)) 0%,
      color-mix(in srgb, var(--bs-secondary) 4%, var(--acct-tree-surface)) 100%);
  --acct-tree-border: var(--adm-border-subtle, var(--bs-border-color-translucent));
  --acct-tree-line: color-mix(in srgb, var(--bs-primary) 22%, transparent);
  --acct-tree-code-bg: color-mix(in srgb, var(--bs-body-color) 6%, transparent);
  --acct-tree-badge-group-bg: color-mix(in srgb, var(--bs-secondary) 14%, var(--acct-tree-surface));
  --acct-tree-badge-group-fg: var(--bs-secondary-color);
  --acct-tree-badge-detail-bg: color-mix(in srgb, var(--bs-success) 18%, var(--acct-tree-surface));
  --acct-tree-badge-detail-fg: color-mix(in srgb, var(--bs-success) 75%, var(--bs-body-color));
  --acct-tree-badge-detail-border: color-mix(in srgb, var(--bs-success) 35%, transparent);
  --acct-tree-grid: 2.5rem 5.5rem minmax(10rem, 1fr) 6.5rem 6.5rem 3.25rem;
}

.accounting-chart-tree-card {
  box-shadow: var(--adm-shadow-sm, 0 1px 3px rgba(7, 10, 9, 0.06));
}

.accounting-chart-tree-card.store-overflow-visible,
.accounting-chart-tree.store-overflow-visible {
  overflow: visible !important;
}

/* â”€â”€ Grid layout (RTL-aligned) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.account-tree-head,
.account-tree-row {
  display: grid;
  grid-template-columns: var(--acct-tree-grid);
  align-items: center;
  column-gap: 0.65rem;
}

.account-tree-cell {
  min-width: 0;
  padding: 0.5rem 0.35rem;
}

.account-tree-cell--gutter {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 0.25rem;
}

.account-tree-cell--code {
  text-align: start;
}

.account-tree-cell--name {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  text-align: start;
  justify-content: flex-start;
}

.account-tree-cell--type,
.account-tree-cell--posting {
  justify-content: center;
  text-align: center;
}

.account-tree-cell--actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-inline-end: 0.65rem;
}

/* â”€â”€ Header â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.accounting-chart-tree .account-tree-head {
  position: sticky;
  top: 0;
  z-index: 3;
  padding: 0.55rem 0.65rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--bs-secondary-color);
  background: var(--acct-tree-head-bg);
  border-bottom: 1px solid var(--acct-tree-border);
  backdrop-filter: blur(6px);
}

.accounting-chart-tree .account-tree-head .account-tree-cell {
  padding-top: 0.15rem;
  padding-bottom: 0.15rem;
}

.accounting-chart-tree .account-tree-head .account-tree-cell--actions {
  text-align: end;
}

/* â”€â”€ Rows & depth gradients â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.accounting-chart-tree .account-tree-row {
  min-height: 2.5rem;
  border-bottom: 1px solid var(--acct-tree-border);
  padding-inline: 0.35rem;
  transition: background-color 0.18s ease, box-shadow 0.18s ease;
}

.account-tree-root>.account-tree-item>.account-tree-row {
  background: var(--acct-tree-row-0);
}

.account-tree-root>.account-tree-item:nth-child(even)>.account-tree-row {
  background: color-mix(in srgb, var(--acct-tree-row-0) 70%, var(--acct-tree-row-1));
}

.account-tree-nested>.account-tree-item>.account-tree-row {
  background: var(--acct-tree-row-1);
}

.account-tree-nested .account-tree-nested>.account-tree-item>.account-tree-row {
  background: var(--acct-tree-row-2);
}

.account-tree-nested .account-tree-nested .account-tree-nested>.account-tree-item>.account-tree-row {
  background: var(--acct-tree-row-3);
}

.accounting-chart-tree .account-tree-row:hover {
  background: var(--acct-tree-row-hover) !important;
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--bs-primary) 55%, transparent);
}

[dir="rtl"] .accounting-chart-tree .account-tree-row:hover {
  box-shadow: inset -3px 0 0 color-mix(in srgb, var(--bs-primary) 55%, transparent);
}

.account-tree-row--locked {
  background: var(--acct-tree-row-locked) !important;
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--bs-danger) 40%, transparent);
}

[dir="rtl"] .account-tree-row--locked {
  box-shadow: inset -3px 0 0 color-mix(in srgb, var(--bs-danger) 40%, transparent);
}

.account-tree-item:has(> .collapse.show)>.account-tree-row--parent {
  background: color-mix(in srgb, var(--acct-tree-row-hover) 85%, var(--acct-tree-row-0)) !important;
}

.account-tree-nested .account-tree-cell--name {
  padding-inline-start: 0.35rem;
}

.account-tree-nested .account-tree-nested .account-tree-cell--name {
  padding-inline-start: 0.75rem;
}

.account-tree-nested .account-tree-nested .account-tree-nested .account-tree-cell--name {
  padding-inline-start: 1.15rem;
}

.account-tree-row--parent .account-tree-name {
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.account-tree-row--leaf .account-tree-name {
  font-weight: 500;
}

.account-tree-lock-icon {
  flex-shrink: 0;
  font-size: 0.7rem;
  color: color-mix(in srgb, var(--bs-danger) 65%, var(--bs-secondary));
  opacity: 0.9;
}

/* â”€â”€ Gutter & expand (chevron-down: consistent RTL/LTR) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.accounting-chart-tree .account-tree-toggle {
  width: 1.65rem;
  height: 1.65rem;
  padding: 0;
  line-height: 1;
  border-radius: 0.45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bs-secondary-color);
  background: color-mix(in srgb, var(--acct-tree-surface) 75%, transparent);
  border: 1px solid var(--acct-tree-border);
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.04);
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.accounting-chart-tree .account-tree-toggle:hover,
.accounting-chart-tree .account-tree-toggle:focus-visible {
  color: var(--bs-primary);
  background: var(--bs-primary-bg-subtle);
  border-color: var(--bs-primary-border-subtle);
}

.accounting-chart-tree .account-tree-chevron {
  display: inline-block;
  font-size: 0.75rem;
  line-height: 1;
  transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Collapsed: point toward nested content */
.accounting-chart-tree .account-tree-toggle[aria-expanded="false"] .account-tree-chevron {
  transform: rotate(-90deg);
}

[dir="rtl"] .accounting-chart-tree .account-tree-toggle[aria-expanded="false"] .account-tree-chevron {
  transform: rotate(90deg);
}

/* Expanded: point down */
.accounting-chart-tree .account-tree-toggle[aria-expanded="true"] .account-tree-chevron {
  transform: rotate(0deg);
}

.accounting-chart-tree .account-tree-leaf {
  display: inline-flex;
  width: 1.65rem;
  height: 1.65rem;
  align-items: center;
  justify-content: center;
  color: color-mix(in srgb, var(--bs-success) 70%, var(--bs-secondary));
  font-size: 0.38rem;
  opacity: 0.85;
}

/* â”€â”€ Nested tree lines â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.accounting-chart-tree .account-tree-nested {
  margin-inline-start: 0.35rem;
  padding-inline-start: 0.85rem;
  border-inline-start: 2px solid var(--acct-tree-line);
}

.accounting-chart-tree .account-tree-nested .account-tree-nested {
  border-inline-start-color: color-mix(in srgb, var(--bs-info) 30%, transparent);
}

/* â”€â”€ Cell typography â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.account-tree-code {
  display: inline-block;
  font-family: ui-monospace, "Cascadia Code", "Segoe UI Mono", monospace;
  font-size: 0.8rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  padding: 0.18rem 0.5rem;
  border-radius: 0.35rem;
  background: var(--acct-tree-code-bg);
  line-height: 1.3;
  white-space: nowrap;
}

.account-tree-name {
  font-size: 0.9rem;
  line-height: 1.4;
  word-break: break-word;
}

.account-tree-type-label {
  font-size: 0.8125rem;
  color: var(--bs-secondary-color);
}

/* â”€â”€ Posting badges â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.account-tree-badge {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 0.28em 0.6em;
  border-radius: var(--sys-radius);
  border: 1px solid transparent;
  white-space: nowrap;
}

.account-tree-badge--group {
  color: var(--acct-tree-badge-group-fg);
  background: var(--acct-tree-badge-group-bg);
  border-color: color-mix(in srgb, var(--bs-secondary) 18%, transparent);
}

.account-tree-badge--detail {
  color: var(--acct-tree-badge-detail-fg);
  background: var(--acct-tree-badge-detail-bg);
  border-color: var(--acct-tree-badge-detail-border);
}

/* â”€â”€ Actions (Sales/Purchasing pattern: manufacturing-row-actions-dd) â”€â”€â”€ */
.account-tree-cell--actions.manufacturing-row-actions {
  width: auto;
  min-width: 0;
  padding-inline-end: 0.5rem;
  justify-content: center;
}

.accounting-chart-tree .account-tree-row.manufacturing-row-actions-open,
.accounting-chart-tree .account-tree-row:has(.manufacturing-row-actions-dd .dropdown-menu.show) {
  position: relative;
  z-index: 25;
  overflow: visible;
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 6%, var(--acct-tree-row-hover)) !important;
  box-shadow:
    inset 3px 0 0 color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 45%, transparent),
    0 0 0 1px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 10%, transparent);
}

[dir="rtl"] .accounting-chart-tree .account-tree-row.manufacturing-row-actions-open,
[dir="rtl"] .accounting-chart-tree .account-tree-row:has(.manufacturing-row-actions-dd .dropdown-menu.show) {
  box-shadow:
    inset -3px 0 0 color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 45%, transparent),
    0 0 0 1px color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 10%, transparent);
}

.accounting-chart-tree .account-tree-head .account-tree-cell--actions {
  text-align: center;
}

/* â”€â”€ States â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
#accountFormModalBody .account-chart-modal-form {
  max-width: 100%;
}

.account-tree-row--expandable {
  cursor: pointer;
}

.account-tree-inactive>.account-tree-row {
  opacity: 0.5;
  filter: grayscale(0.15);
}

.account-tree-inactive>.account-tree-row .account-tree-badge {
  opacity: 0.75;
}

/* â”€â”€ Dark theme â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
[data-theme="dark"] .accounting-chart-tree {
  --acct-tree-row-0: color-mix(in srgb, var(--bs-success) 8%, var(--acct-tree-surface));
  --acct-tree-row-1: color-mix(in srgb, var(--bs-primary) 10%, var(--acct-tree-surface));
  --acct-tree-row-2: color-mix(in srgb, var(--bs-info) 8%, var(--acct-tree-surface));
  --acct-tree-row-3: color-mix(in srgb, var(--bs-secondary) 6%, var(--acct-tree-surface));
  --acct-tree-row-hover: color-mix(in srgb, var(--bs-primary) 14%, var(--acct-tree-surface));
  --acct-tree-row-locked: color-mix(in srgb, var(--bs-danger) 12%, var(--acct-tree-surface));
  --acct-tree-code-bg: color-mix(in srgb, var(--bs-body-color) 12%, transparent);
}

/* â”€â”€ Responsive â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 991.98px) {
  .accounting-chart-tree {
    --acct-tree-grid: 2.25rem 4.75rem minmax(8rem, 1fr) 3rem;
  }
}

@media (max-width: 767.98px) {
  .accounting-chart-tree {
    --acct-tree-grid: 2.25rem 4.25rem minmax(6rem, 1fr) 3rem;
  }

  .account-tree-head,
  .account-tree-row {
    column-gap: 0.4rem;
    padding-inline: 0.25rem;
  }

  .account-tree-code {
    font-size: 0.75rem;
    padding: 0.15rem 0.4rem;
  }

  .account-tree-name {
    font-size: 0.85rem;
  }
}




/* ── sales-executive-dashboard.css (82 lines) ──────────────────────── */
/* Sales module â€” executive pulse (home KPI strip) */
.sales-exec-pulse {
  margin-bottom: 0;
}

.sales-module-page .sales-exec-pulse .sales-panel__body {
  padding-top: 1rem;
}

.sales-exec-pulse__group-title {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--bs-secondary-color, #6c757d);
  margin: 0 0 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--bs-border-color, #dee2e6);
}

.sales-exec-kpi {
  border-radius: 0.5rem;
  border: 1px solid var(--bs-border-color, #dee2e6);
  background: var(--bs-body-bg, #fff);
  padding: 1rem 1.1rem;
  height: 100%;
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.sales-exec-kpi::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: 0.5rem 0 0 0.5rem;
}

.sales-exec-kpi--warning::before {
  background: #f59e0b;
}

.sales-exec-kpi--danger::before {
  background: #dc3545;
}

.sales-exec-kpi--info::before {
  background: #173630;
}

.sales-exec-kpi--success::before {
  background: #198754;
}

.sales-exec-kpi--neutral::before {
  background: #6c757d;
}

.sales-exec-kpi__label {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--bs-secondary-color, #6c757d);
  margin-bottom: 0.35rem;
}

.sales-exec-kpi__value {
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}

.sales-exec-kpi__meta {
  font-size: 0.8rem;
  color: var(--bs-secondary-color, #6c757d);
  margin-top: 0.35rem;
}

.sales-exec-kpi__actions {
  margin-top: 0.65rem;
}

.sales-exec-progress {
  height: 0.35rem;
  border-radius: var(--sys-radius);
  background: var(--bs-secondary-bg, #e9ecef);
  overflow: hidden;
  margin-top: 0.5rem;
}

.sales-exec-progress>div {
  height: 100%;
  border-radius: var(--sys-radius);
  background: linear-gradient(90deg, #173630, #122b26);
}

[data-bs-theme="dark"] .sales-exec-kpi {
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.08);
}

.sales-exec-pulse[data-pulse-updating="1"] {
  opacity: 0.92;
  transition: opacity 0.2s ease;
}

/* ── agriculture-module.css (130 lines) ── */
/* Agriculture module â€” admin console (scoped under .ag-module-page) */

.ag-module-page {
  width: 100%;
  max-width: 100%;
}

.ag-module-page .page-header {
  margin-bottom: 1.25rem;
}

.ag-module-page .page-header .page-title {
  word-break: break-word;
}

/* Dashboard & reports KPI tiles */
.ag-module-page .ag-stat-card {
  height: 100%;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.ag-module-page .ag-stat-card:hover {
  box-shadow: var(--adm-shadow-md);
  border-color: var(--adm-border-strong);
}

.ag-module-page .ag-stat-card .ag-stat-value {
  font-variant-numeric: tabular-nums;
}

/* Filter / toolbar strip above tables */
.ag-module-page .ag-filter-bar {
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
}

.ag-module-page .ag-filter-bar .form-label {
  margin-bottom: 0.25rem;
}

/* Data tables inside flush cards */
.ag-module-page .ag-data-table-card {
  overflow: hidden;
}

.ag-module-page .ag-data-table {
  margin-bottom: 0;
  font-size: 0.875rem;
}

.ag-module-page .ag-data-table thead th {
  background: var(--adm-bg-subtle, #f8fafc);
  color: var(--adm-text-muted-ui);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-bottom: 1px solid var(--adm-border);
  padding: 0.75rem 1rem;
  white-space: nowrap;
}

.ag-module-page .ag-data-table tbody td {
  padding: 0.7rem 1rem;
  vertical-align: middle;
  border-bottom: 1px solid var(--adm-border-subtle);
}

.ag-module-page .ag-data-table tbody tr:last-child td {
  border-bottom: 0;
}

.ag-module-page .ag-data-table tbody tr:hover td {
  background: var(--adm-bg-subtle, rgba(23, 54, 48, 0.04));
}

.ag-module-page .ag-data-table code {
  font-size: 0.8125rem;
}

.ag-module-page .ag-table-empty {
  padding: 2.5rem 1rem !important;
  text-align: center;
  color: var(--adm-text-muted-ui);
  background: transparent;
}

.ag-module-page .ag-table-empty-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.ag-module-page .ag-table-empty-inner .bi {
  font-size: 1.75rem;
  opacity: 0.45;
}

/* Form pages */
.ag-module-page .content-card-narrow,
.ag-module-page form.content-card {
  max-width: 920px;
}

.ag-module-page .ag-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-top: 0.5rem;
  margin-top: 1rem;
  border-top: 1px solid var(--adm-border-subtle);
}

[data-theme="dark"] .ag-module-page .ag-data-table thead th {
  background: var(--adm-bg-elevated);
}

/* Form field validation states (valid / invalid) */
.ag-module-page .form-control.agriculture-field-valid,
.ag-module-page .form-select.agriculture-field-valid,
.ag-module-page .form-control.agriculture-field-invalid,
.ag-module-page .form-select.agriculture-field-invalid {
  background-repeat: no-repeat;
  background-size: 1rem 1rem;
}

.ag-module-page .form-control.agriculture-field-valid,
.ag-module-page .form-select.agriculture-field-valid {
  border-color: var(--bs-success, #198754) !important;
  box-shadow: 0 0 0 0.16rem color-mix(in srgb, var(--bs-success, #198754) 18%, transparent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23198754'/%3E%3Cpath d='M4.3 8.3 6.9 11l4.8-5.1' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.ag-module-page .form-control.agriculture-field-invalid,
.ag-module-page .form-select.agriculture-field-invalid {
  border-color: var(--bs-danger, #dc3545) !important;
  box-shadow: 0 0 0 0.16rem color-mix(in srgb, var(--bs-danger, #dc3545) 16%, transparent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23dc3545'/%3E%3Cpath d='M8 4.1v5.2' stroke='white' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='11.9' r='1' fill='white'/%3E%3C/svg%3E");
}

[dir="ltr"] .ag-module-page .form-control.agriculture-field-valid,
[dir="ltr"] .ag-module-page .form-select.agriculture-field-valid,
[dir="ltr"] .ag-module-page .form-control.agriculture-field-invalid,
[dir="ltr"] .ag-module-page .form-select.agriculture-field-invalid {
  background-position: right 0.8rem center;
  padding-right: 2.35rem;
}

[dir="rtl"] .ag-module-page .form-control.agriculture-field-valid,
[dir="rtl"] .ag-module-page .form-select.agriculture-field-valid,
[dir="rtl"] .ag-module-page .form-control.agriculture-field-invalid,
[dir="rtl"] .ag-module-page .form-select.agriculture-field-invalid {
  background-position: left 0.8rem center;
  padding-left: 2.35rem;
}


/* ── animal-production-module.css (130 lines) ── */
/* Livestock module â€” admin console (scoped under .ls-module-page) */

.ls-module-page {
  width: 100%;
  max-width: 100%;
}

.ls-module-page .page-header {
  margin-bottom: 1.25rem;
}

.ls-module-page .page-header .page-title {
  word-break: break-word;
}

/* Dashboard & reports KPI tiles */
.ls-module-page .ls-stat-card {
  height: 100%;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.ls-module-page .ls-stat-card:hover {
  box-shadow: var(--adm-shadow-md);
  border-color: var(--adm-border-strong);
}

.ls-module-page .ls-stat-card .ls-stat-value {
  font-variant-numeric: tabular-nums;
}

/* Filter / toolbar strip above tables */
.ls-module-page .ls-filter-bar {
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
}

.ls-module-page .ls-filter-bar .form-label {
  margin-bottom: 0.25rem;
}

/* Data tables inside flush cards */
.ls-module-page .ls-data-table-card {
  overflow: hidden;
}

.ls-module-page .ls-data-table {
  margin-bottom: 0;
  font-size: 0.875rem;
}

.ls-module-page .ls-data-table thead th {
  background: var(--adm-bg-subtle, #f8fafc);
  color: var(--adm-text-muted-ui);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-bottom: 1px solid var(--adm-border);
  padding: 0.75rem 1rem;
  white-space: nowrap;
}

.ls-module-page .ls-data-table tbody td {
  padding: 0.7rem 1rem;
  vertical-align: middle;
  border-bottom: 1px solid var(--adm-border-subtle);
}

.ls-module-page .ls-data-table tbody tr:last-child td {
  border-bottom: 0;
}

.ls-module-page .ls-data-table tbody tr:hover td {
  background: var(--adm-bg-subtle, rgba(23, 54, 48, 0.04));
}

.ls-module-page .ls-data-table code {
  font-size: 0.8125rem;
}

.ls-module-page .ls-table-empty {
  padding: 2.5rem 1rem !important;
  text-align: center;
  color: var(--adm-text-muted-ui);
  background: transparent;
}

.ls-module-page .ls-table-empty-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.ls-module-page .ls-table-empty-inner .bi {
  font-size: 1.75rem;
  opacity: 0.45;
}

/* Form pages */
.ls-module-page .content-card-narrow,
.ls-module-page form.content-card {
  max-width: 920px;
}

.ls-module-page .ls-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-top: 0.5rem;
  margin-top: 1rem;
  border-top: 1px solid var(--adm-border-subtle);
}

[data-theme="dark"] .ls-module-page .ls-data-table thead th {
  background: var(--adm-bg-elevated);
}

/* Form field validation states (valid / invalid) */
.ls-module-page .form-control.livestock-field-valid,
.ls-module-page .form-select.livestock-field-valid,
.ls-module-page .form-control.livestock-field-invalid,
.ls-module-page .form-select.livestock-field-invalid {
  background-repeat: no-repeat;
  background-size: 1rem 1rem;
}

.ls-module-page .form-control.livestock-field-valid,
.ls-module-page .form-select.livestock-field-valid {
  border-color: var(--bs-success, #198754) !important;
  box-shadow: 0 0 0 0.16rem color-mix(in srgb, var(--bs-success, #198754) 18%, transparent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23198754'/%3E%3Cpath d='M4.3 8.3 6.9 11l4.8-5.1' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.ls-module-page .form-control.livestock-field-invalid,
.ls-module-page .form-select.livestock-field-invalid {
  border-color: var(--bs-danger, #dc3545) !important;
  box-shadow: 0 0 0 0.16rem color-mix(in srgb, var(--bs-danger, #dc3545) 16%, transparent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23dc3545'/%3E%3Cpath d='M8 4.1v5.2' stroke='white' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='11.9' r='1' fill='white'/%3E%3C/svg%3E");
}

[dir="ltr"] .ls-module-page .form-control.livestock-field-valid,
[dir="ltr"] .ls-module-page .form-select.livestock-field-valid,
[dir="ltr"] .ls-module-page .form-control.livestock-field-invalid,
[dir="ltr"] .ls-module-page .form-select.livestock-field-invalid {
  background-position: right 0.8rem center;
  padding-right: 2.35rem;
}

[dir="rtl"] .ls-module-page .form-control.livestock-field-valid,
[dir="rtl"] .ls-module-page .form-select.livestock-field-valid,
[dir="rtl"] .ls-module-page .form-control.livestock-field-invalid,
[dir="rtl"] .ls-module-page .form-select.livestock-field-invalid {
  background-position: left 0.8rem center;
  padding-left: 2.35rem;
}


/* ── operational-notifications.css (38 lines) ── */
/* Platform module â€” operational alerts table */

.platform-module-page .op-notif-page .op-notif-table thead th {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-weight: 600;
  color: var(--bs-secondary-color, #6c757d);
  border-bottom-width: 1px;
}

.platform-module-page .op-notif-row-unread {
  background: rgba(23, 54, 48, 0.06);
}

.platform-module-page .op-notif-row-unread:hover {
  background: rgba(23, 54, 48, 0.1);
}

.platform-module-page .op-notif-trigger {
  font-size: 0.875rem;
}

.platform-module-page .op-notif-detail>summary {
  cursor: pointer;
  list-style: none;
}

.platform-module-page .op-notif-detail>summary::-webkit-details-marker {
  display: none;
}

.platform-module-page .op-notif-detail>summary::before {
  content: "â–¸ ";
  display: inline-block;
  transition: transform 0.15s ease;
}

.platform-module-page .op-notif-detail[open]>summary::before {
  transform: rotate(90deg);
}

.platform-module-page .op-notif-detail-body {
  white-space: pre-wrap;
  word-break: break-word;
  max-width: 42rem;
}


/* ── operational-cycle-hub.css (162 lines) ── */
/* Operational cycle pipeline â€” shared across Inventory, Sales, Purchasing, POS cycle hubs */

.operational-cycle-pipeline {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0.15rem 0 0.65rem;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--adm-brand-600) 35%, transparent) transparent;
  -webkit-overflow-scrolling: touch;
}

.operational-cycle-pipeline__item {
  flex: 1 1 0;
  min-width: 7.25rem;
  max-width: 11.5rem;
  scroll-snap-align: start;
}

.operational-cycle-pipeline__link {
  display: block;
  height: 100%;
  text-decoration: none;
  color: inherit;
  border-radius: var(--sys-radius);
}

.operational-cycle-pipeline__link:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--adm-brand-600) 55%, transparent);
  outline-offset: 2px;
}

.operational-cycle-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.35rem;
  height: 100%;
  min-height: 6.75rem;
  padding: 0.85rem 0.65rem 0.75rem;
  text-align: center;
  border: 1px solid var(--adm-border-subtle);
  border-radius: var(--sys-radius);
  background: linear-gradient(180deg,
      var(--adm-bg-surface) 0%,
      color-mix(in srgb, var(--adm-bg-muted, #f8fafc) 55%, var(--adm-bg-surface)) 100%);
  box-shadow: 0 1px 0 rgba(7, 10, 9, 0.04);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease, background 0.15s ease;
}

.operational-cycle-pipeline__link:hover .operational-cycle-step,
.operational-cycle-pipeline__link:focus-visible .operational-cycle-step {
  border-color: color-mix(in srgb, var(--adm-brand-600) 38%, var(--adm-border));
  box-shadow: 0 8px 22px rgba(7, 10, 9, 0.08);
  transform: translateY(-2px);
}

.operational-cycle-step--active {
  border-color: color-mix(in srgb, var(--adm-brand-600) 28%, var(--adm-border-subtle));
  background: linear-gradient(180deg,
      color-mix(in srgb, var(--adm-brand-600) 7%, var(--adm-bg-surface)) 0%,
      var(--adm-bg-surface) 100%);
}

.operational-cycle-step--active .operational-cycle-step__icon {
  color: var(--adm-brand-600);
  background: color-mix(in srgb, var(--adm-brand-600) 12%, transparent);
}

.operational-cycle-step--active .operational-cycle-step__count {
  color: var(--adm-brand-700, var(--adm-brand-600));
}

.operational-cycle-step--empty {
  opacity: 0.92;
}

.operational-cycle-step--empty .operational-cycle-step__count {
  color: var(--adm-text-muted-ui);
  font-weight: 700;
}

.operational-cycle-step__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: var(--sys-radius);
  font-size: 1rem;
  color: var(--adm-text-muted-ui);
  background: color-mix(in srgb, var(--adm-border-subtle) 65%, transparent);
}

.operational-cycle-step__count {
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: var(--adm-text-strong);
  font-variant-numeric: tabular-nums;
}

.operational-cycle-step__label {
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--adm-text-muted-ui);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.1em;
}

.operational-cycle-pipeline__arrow {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  align-self: center;
  min-height: 6.75rem;
  padding-inline: 0.2rem;
  color: color-mix(in srgb, var(--adm-brand-600) 45%, var(--adm-text-muted-ui));
  font-size: 1rem;
  opacity: 0.85;
}

[dir="rtl"] .operational-cycle-pipeline__arrow .bi-chevron-right {
  transform: scaleX(-1);
}

@media (max-width: 991.98px) {
  .operational-cycle-pipeline__item {
    min-width: 6.5rem;
    max-width: 9.5rem;
  }

  .operational-cycle-step {
    min-height: 6.25rem;
    padding: 0.75rem 0.5rem 0.65rem;
  }

  .operational-cycle-step__count {
    font-size: 1.35rem;
  }
}

@media (max-width: 767.98px) {
  .operational-cycle-pipeline {
    flex-wrap: wrap;
    overflow-x: visible;
    gap: 0.5rem;
    scroll-snap-type: none;
  }

  .operational-cycle-pipeline__item {
    flex: 1 1 calc(50% - 0.35rem);
    min-width: calc(50% - 0.35rem);
    max-width: none;
  }

  .operational-cycle-pipeline__arrow {
    display: none;
  }

  .operational-cycle-step {
    min-height: 5.75rem;
  }
}

@media (max-width: 479.98px) {
  .operational-cycle-pipeline__item {
    flex: 1 1 100%;
    min-width: 100%;
  }
}


/* ── collaboration.css (79 lines) ── */
.chat-page {
  display: grid;
  grid-template-columns: minmax(260px, 320px) 1fr;
  gap: 16px;
  min-height: calc(100vh - 180px);
}

@media (max-width: 991.98px) {
  .chat-page {
    grid-template-columns: 1fr;
  }
}

.chat-thread-list .list-group-item {
  border: none;
  border-bottom: 1px solid var(--border-color);
}

.chat-thread-list .list-group-item.unread {
  background: rgba(34, 197, 94, 0.06);
}

.chat-panel {
  display: flex;
  flex-direction: column;
  height: calc(100vh - 11rem);
  max-height: 760px;
  min-height: 420px;
  overflow: hidden;
}

.admin-card.chat-panel {
  padding: 0;
}

.chat-messages {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  scroll-behavior: auto;
}

.chat-bubble {
  max-width: 75%;
  padding: 10px 14px;
  border-radius: var(--sys-radius);
  background: var(--bg-tertiary);
}

.chat-bubble-body {
  white-space: pre-wrap;
  word-break: break-word;
}

.chat-bubble.mine {
  align-self: flex-end;
  background: rgba(23, 54, 48, 0.12);
}

.chat-bubble-meta {
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-top: 4px;
}

.chat-compose {
  flex-shrink: 0;
  border-top: 1px solid var(--border-color);
  padding: 12px 16px;
  background: var(--bg-primary, #fff);
}

.inbox-page .tb-notif-item {
  display: flex;
  text-decoration: none;
  color: inherit;
}

.chat-user-picker .list-group-item:hover {
  background: var(--bg-tertiary);
}

.chat-user-picker #chatUserPickerEmpty {
  padding: 24px 16px;
}


/* ── diwan-rich-text-editor.css (53 lines) ── */
/* Rich text editor (Quill) â€” admin ERP forms */
.diwan-rich-text {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.diwan-rich-text__editor.ql-container {
  font-family: inherit;
  font-size: 0.9375rem;
  border-radius: 0 var(--inventory-card-radius, 0.20rem) var(--inventory-card-radius, 0.20rem) 0;
  border-color: var(--adm-border-subtle, var(--bs-border-color));
  background: #fff;
  min-height: 10rem;
}

.diwan-rich-text .ql-toolbar.ql-snow {
  border-radius: var(--inventory-card-radius, 0.20rem) var(--inventory-card-radius, 0.20rem) 0 0;
  border-color: var(--adm-border-subtle, var(--bs-border-color));
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 4%, #fff);
  padding: 0.5rem 0.65rem;
}

.diwan-rich-text .ql-editor {
  min-height: 9rem;
  line-height: 1.55;
}

.diwan-rich-text .ql-editor.ql-blank::before {
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  font-style: normal;
}

.diwan-rich-text.is-invalid .ql-toolbar.ql-snow,
.diwan-rich-text.is-invalid .ql-container.ql-snow {
  border-color: var(--bs-danger, #dc3545);
}

.diwan-rich-text__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.35rem;
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.diwan-rich-text__count.is-over {
  color: var(--bs-danger, #dc3545);
  font-weight: 600;
}

html[dir="rtl"] .diwan-rich-text .ql-editor {
  text-align: right;
}

html[data-theme="dark"] .diwan-rich-text .ql-toolbar.ql-snow,
html[data-theme="dark"] .diwan-rich-text__editor.ql-container {
  background: var(--bs-body-bg, #1a2422);
  border-color: var(--bs-border-color, #3d504c);
  color: var(--bs-body-color, #e8edec);
}


/* ── permission-modules.css (41 lines) ── */
.permission-modules-stack {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.permission-module-card {
  padding: 1rem 1.25rem;
}

.permission-module-header {
  border-bottom: 0;
}

.permission-module-toggle {
  color: inherit;
}

.permission-module-toggle:hover,
.permission-module-toggle:focus {
  color: inherit;
}

.permission-module-chevron {
  transition: transform 0.2s ease;
  font-size: 1.1rem;
}

.permission-module-toggle[aria-expanded="true"] .permission-module-chevron {
  transform: rotate(180deg);
}

.permission-matrix-table th {
  white-space: nowrap;
  font-size: 0.85rem;
}

.permission-matrix-table td {
  vertical-align: middle;
}

.permission-modules-toolbar {
  padding: 0.75rem 1rem;
}

.role-perm-item {
  background: var(--bs-body-bg);
}

.permission-extra-block .font-monospace {
  word-break: break-all;
}


/* ── access-denied.css (41 lines) ── */
.access-denied-page {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 160px);
  padding: 24px 16px;
}

.access-denied-card {
  max-width: 640px;
  width: 100%;
  padding: 32px 28px;
  text-align: center;
}

.access-denied-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 16px;
  border-radius: var(--sys-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(239, 68, 68, 0.1);
  color: #ef4444;
  font-size: 1.75rem;
}

.access-denied-perm-list .list-group-item {
  background: transparent;
  border-color: var(--border-color);
  text-align: start;
}

.access-denied-meta code {
  word-break: break-all;
}

.permission-gate-denied {
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  background: rgba(239, 68, 68, 0.06);
  border: 1px dashed rgba(239, 68, 68, 0.35);
  color: var(--text-muted);
  font-size: 0.875rem;
}

/* Zero halo + nested cards: canonical rules in system.css (Phase 1) */

/* ── Vendor form: nested card halo elimination (purchasing overrides) ── */
.pu-vendors-form-page .pu-vendors-form .sys-card__head {
  background: #fff !important;
  border-bottom: 1px solid var(--sys-card-border, var(--adm-border-subtle)) !important;
  box-shadow: none !important;
  filter: none !important;
}

.pu-vendors-form-page .pu-vendors-form .sys-card__head .sys-card__title,
.pu-vendors-form-page .pu-vendors-form .sys-card__head .text-muted,
.pu-vendors-form-page .pu-vendors-form .sys-card__head .sys-card__hint,
.pu-vendors-form-page .pu-vendors-form .sys-card__hint {
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  background: transparent !important;
  outline: none !important;
}

.pu-vendors-form-page .pu-vendors-form .sys-card__body .pu-vendor-lines-panel,
.pu-vendors-form-page .pu-vendors-form .sys-card__body [class*="-lines-panel"] {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  overflow: visible !important;
}

.pu-vendors-form-page .pu-vendors-form .sys-card__body .pu-vendor-lines-panel__head,
.pu-vendors-form-page .pu-vendors-form .sys-card__body .pu-vendor-lines-panel__foot,
.pu-vendors-form-page .pu-vendors-form .sys-card__body .pu-vendor-lines-panel__table-wrap,
.pu-vendors-form-page .pu-vendors-form .sys-card__body .pu-vendor-lines-panel__hint {
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

.pu-vendors-form-page .pu-vendors-form .pu-vendor-kind-segment__option,
.pu-vendors-form-page .pu-vendors-form .pu-vendor-kind-segment__option:has(.form-check-input:checked) {
  box-shadow: none !important;
  filter: none !important;
  outline: none !important;
}

.pu-vendors-form-page .pu-vendors-form .form-control:focus,
.pu-vendors-form-page .pu-vendors-form .form-select:focus,
.pu-vendors-form-page .pu-vendors-form .form-control:hover,
.pu-vendors-form-page .pu-vendors-form .form-select:hover,
.pu-vendors-form-page .pu-vendors-form .form-check-input:focus {
  box-shadow: none !important;
  filter: none !important;
  outline: none !important;
}



/* ═══════════════════════════════════════════════════════════════
   DiwanERP — Admin Dashboard (minimal overrides)
   Only styles that are dashboard-specific: sparklines, chart
   containers, gauge overlay, avatar circle.
   All layout/card/panel styles come from sys-* / pf-* in the
   design system.
   ═══════════════════════════════════════════════════════════════ */

/* ── Sparkline strip inside pf-overview-card ── */
.adm-spark-wrap {
  height: 48px;
  margin-inline: -1rem;
  margin-bottom: -1rem;
  position: relative;
  overflow: hidden;
}

.adm-spark-wrap canvas {
  width: 100% !important;
  height: 100% !important;
}

.adm-spark-wrap.is-empty {
  display: none;
}

/* ── Chart containers ── */
.adm-chart-container {
  position: relative;
  height: 200px;
}

.adm-chart-container canvas {
  width: 100% !important;
  height: 100% !important;
}

.adm-chart-container--donut {
  width: 140px;
  height: 140px;
  flex-shrink: 0;
}

.adm-chart-section-title {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--bs-secondary-color, #748194);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-bottom: 1rem;
}

/* ── Chart empty state ── */
.adm-chart-empty {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--bs-secondary-color, #748194);
  font-size: 0.9rem;
  background: var(--bs-tertiary-bg, #f9fbfa);
  border-radius: 0.5rem;
  margin: 0;
}

/* ── Gauge center overlay ── */
.adm-gauge-wrap {
  position: relative;
}

.adm-gauge-center {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  pointer-events: none;
}

.adm-gauge-center strong {
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--bs-primary, #173630);
  line-height: 1.2;
}

.adm-gauge-center .btn-link {
  pointer-events: auto;
}

/* ── Customer avatar circle ── */
.adm-avatar-circle {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(var(--bs-primary-rgb, 44, 123, 229), 0.1);
  color: var(--bs-primary, #173630);
  font-size: 0.72rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* ── Period button active state ── */
#admTrafficPeriodGroup .btn.active {
  background: var(--bs-primary, #173630);
  border-color: var(--bs-primary, #173630);
  color: #fff;
}

/* ── Responsive ── */
@media (max-width: 767.98px) {
  .adm-chart-container--donut {
    width: 120px;
    height: 120px;
    align-self: center;
  }
}

/* ── RTL ── */
[dir="rtl"] .list-group-item i {
  margin-left: 0.25rem;
  margin-right: 0;
}

/* ---- shop-storefront.css ---- */
/* ═══════════════════════════════════════════════════════════════
   Diwan Storefront — premium e-commerce design system
   Uses CMS colors: --shop-primary, --shop-secondary (+ soft variants)
   ═══════════════════════════════════════════════════════════════ */

.shop-shell {
  /* --shop-primary / --shop-secondary inherit from system-tokens (:root) */
  --shop-primary-soft: color-mix(in srgb, var(--shop-primary, var(--accent-primary-500, #173630)) 14%, #fff);
  --shop-primary-muted: color-mix(in srgb, var(--shop-primary, var(--accent-primary-500, #173630)) 8%, #fff);
  --shop-secondary-soft: color-mix(in srgb, var(--shop-secondary, var(--accent-primary-600, #122b26)) 16%, #fff);
  --shop-gradient: linear-gradient(135deg, var(--shop-primary, var(--accent-primary-500, #173630)), var(--shop-secondary, var(--accent-primary-600, #122b26)));
  --shop-text: #070a09;
  --shop-text-muted: #64748b;
  --shop-surface: #ffffff;
  --shop-surface-2: #f8fafc;
  --shop-border: rgba(23, 54, 48, 0.12);
  --shop-radius: var(--sys-radius, 0.75rem);
  --shop-radius-lg: var(--sys-radius, 0.75rem);
  --shop-shadow: 0 8px 30px rgba(7, 10, 9, 0.06);
  --shop-shadow-hover: 0 16px 40px rgba(7, 10, 9, 0.1);
  --shop-shadow-sm: 0 2px 10px rgba(7, 10, 9, 0.05);
  --shop-muted: var(--shop-text-muted);
  --shop-surface-muted: var(--shop-surface-2);
  --shop-price-color: color-mix(in srgb, var(--shop-primary) 85%, #000);
  --shop-rating-star: #f59e0b;
  --shop-danger: #dc2626;
  --shop-danger-soft: #fee2e2;
  --shop-success: #16a34a;
  --shop-success-soft: #dcfce7;
  --shop-warning: #d97706;
  --shop-warning-soft: #fef3c7;
  --shop-footer-heading: #ffffff;
  --shop-footer-text: #94a3b8;
  --shop-footer-text-soft: #cbd5e1;
  --shop-font: var(--store-font-sans, system-ui, -apple-system, "Segoe UI", Tahoma, sans-serif);
  --sh-blue: #173630;
  --sh-blue-soft: #378879;
  --sh-blue-deep: #172d29;
  --sh-cyan: #21453e;
  --sh-ink: #050807;
  --sh-ink-soft: #24344f;
  --sh-muted: #5f7291;
  --sh-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --sh-glass: linear-gradient(150deg, rgba(255, 255, 255, 0.84), rgba(255, 255, 255, 0.52));
  --sh-glass-quiet: linear-gradient(150deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.42));
  --sh-blur: blur(22px) saturate(170%);
  --sh-hairline: rgba(255, 255, 255, 0.78);
  --sh-r-xl: var(--sys-radius, 0.75rem);
  --sh-r-lg: var(--sys-radius, 0.75rem);
  --sh-r-md: var(--sys-radius, 0.75rem);
  --sh-r-btn: var(--sys-radius, 0.75rem);
  --sh-lift: 0 28px 64px -40px rgba(11, 20, 18, 0.42);
  --sh-lift-hi: 0 36px 78px -38px rgba(11, 20, 18, 0.5);
  --sh-inner: inset 0 1px 0 rgba(255, 255, 255, 0.92);
  font-family: var(--shop-font);
  color: var(--shop-text);
  min-height: 100vh;
  background:
    radial-gradient(38rem 22rem at var(--lx, 82%) var(--ly, 8%), rgba(23, 54, 48, 0.2), transparent 58%),
    radial-gradient(32rem 24rem at 8% 22%, rgba(33, 69, 62, 0.14), transparent 62%),
    radial-gradient(28rem 20rem at 92% 78%, rgba(66, 162, 144, 0.12), transparent 65%),
    linear-gradient(180deg, #f4faf9 0%, #e9f2f1 42%, #f6f9f9 100%);
  -webkit-font-smoothing: antialiased;
  font-size: 1rem;
  line-height: 1.6;
}

.shop-shell::before {
  content: "";
  position: fixed;
  inset: -12% 0 auto;
  height: 140%;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 82% -4%, rgba(23, 54, 48, 0.28), transparent 34%),
    radial-gradient(circle at 8% 26%, rgba(33, 69, 62, 0.16), transparent 32%),
    radial-gradient(circle at 76% 86%, rgba(66, 162, 144, 0.14), transparent 36%);
  animation: shop-shell-glow 18s ease-in-out infinite;
}

.shop-shell::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(23, 54, 48, 0.14) 1px, transparent 1px);
  background-size: 26px 26px;
  opacity: 0.38;
  -webkit-mask-image: radial-gradient(ellipse at 50% 0%, #000 16%, transparent 72%);
  mask-image: radial-gradient(ellipse at 50% 0%, #000 16%, transparent 72%);
}

@keyframes shop-shell-glow {
  0%, 100% { opacity: 0.7; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.04); }
}

.shop-shell--rtl {
  font-family: "Cairo", var(--shop-font), "Segoe UI", Tahoma, Arial, sans-serif;
}

.shop-shell--ltr {
  font-family: "Source Sans 3", var(--shop-font), system-ui, sans-serif;
}

/* ── Storefront chrome (promo + header + secondary nav) ── */
.shop-chrome {
  --sh-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --chrome-ink: #09100f;
  --chrome-muted: #5f7291;
  --chrome-radius: var(--sys-radius, 0.75rem);
  position: sticky;
  top: 0;
  z-index: 4000;
  overflow: visible;
  background: transparent;
  border-bottom: 1px solid rgba(255, 255, 255, 0.72);
}

.shop-chrome::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(28rem 14rem at var(--lx, 82%) var(--ly, 0%), rgba(23, 54, 48, 0.16), transparent 62%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(246, 251, 250, 0.62));
  backdrop-filter: blur(24px) saturate(1.7);
  -webkit-backdrop-filter: blur(24px) saturate(1.7);
  box-shadow:
    inset 0 1px 0 #fff,
    0 18px 40px -28px rgba(23, 45, 41, 0.28);
  transition: box-shadow 0.45s var(--sh-ease), background 0.45s var(--sh-ease);
}

.shop-chrome.is-scrolled::before {
  background:
    radial-gradient(26rem 12rem at var(--lx, 82%) var(--ly, 0%), rgba(23, 54, 48, 0.12), transparent 62%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(248, 252, 252, 0.78));
  box-shadow:
    inset 0 1px 0 #fff,
    0 22px 48px -30px rgba(11, 20, 18, 0.32);
}

.shop-chrome-atmosphere {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.shop-chrome-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(22px);
  will-change: transform;
}

.shop-chrome-orb--a {
  width: 18rem;
  height: 18rem;
  top: -10rem;
  inset-inline-end: 8%;
  background: radial-gradient(circle, rgba(23, 54, 48, 0.32), transparent 70%);
  animation: shop-chrome-glow 8s ease-in-out infinite;
}

.shop-chrome-orb--b {
  width: 14rem;
  height: 14rem;
  top: -8rem;
  inset-inline-start: 12%;
  background: radial-gradient(circle, rgba(33, 69, 62, 0.22), transparent 70%);
  animation: shop-chrome-glow 11s ease-in-out infinite reverse;
}

.shop-chrome-sheen {
  position: absolute;
  inset: -40% -30%;
  background: linear-gradient(110deg, transparent 42%, rgba(255, 255, 255, 0.42) 50%, transparent 58%);
  opacity: 0.4;
  animation: shop-chrome-sheen 14s ease-in-out infinite;
}

.shop-chrome > .shop-promo-bar,
.shop-chrome > .shop-topbar {
  position: relative;
  z-index: 1;
}

body.store-shell .shop-chrome > .shop-topbar {
  z-index: 1040;
}

body.store-shell .shop-chrome > .shop-nav-secondary-bar,
.shop-chrome > .shop-nav-secondary-bar {
  position: relative;
  z-index: 1030;
  overflow: visible;
}

body.store-shell .shop-chrome > .shop-portal-strip,
.shop-chrome > .shop-portal-strip {
  position: relative;
  z-index: 1010;
}

/* ── Promo bar ── */
.shop-promo-bar {
  position: relative;
  overflow: hidden;
  background: linear-gradient(90deg, rgba(23, 54, 48, 0.1), rgba(33, 69, 62, 0.08) 50%, rgba(23, 54, 48, 0.1));
  border-bottom: 1px solid rgba(23, 54, 48, 0.12);
  color: var(--adm-brand-600, #172d29);
  font-size: 0.78rem;
  font-weight: 700;
}

.shop-promo-bar.is-dismissed {
  display: none;
}

.shop-promo-beam {
  position: absolute;
  inset-block: 0;
  inset-inline-start: -40%;
  width: 32%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.55), transparent);
  transform: skewX(-18deg);
  animation: shop-chrome-beam 7.5s ease-in-out infinite;
  pointer-events: none;
}

.shop-promo-bar-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.75rem 1.25rem;
  padding: 0.5rem 2.4rem;
}

.shop-promo-bar-inner i {
  margin-inline-end: 0.35rem;
  color: var(--adm-brand-600, #173630);
}

.shop-promo-divider {
  width: 1px;
  height: 14px;
  background: linear-gradient(180deg, transparent, rgba(23, 54, 48, 0.35), transparent);
}

.shop-promo-close {
  position: absolute;
  top: 50%;
  inset-inline-end: 0.75rem;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 1.7rem;
  height: 1.7rem;
  transform: translateY(-50%);
  border: 1px solid rgba(23, 54, 48, 0.16);
  border-radius: var(--chrome-radius);
  background: rgba(255, 255, 255, 0.55);
  color: var(--adm-brand-600, #172d29);
  font-size: 0.72rem;
  padding: 0;
  line-height: 1;
  transition: background 0.3s var(--sh-ease), transform 0.3s var(--sh-ease);
}

.shop-promo-close:hover {
  background: #fff;
  transform: translateY(-50%) scale(1.08);
}

/* ── Header ── */
.shop-topbar {
  background: transparent;
  border-bottom: 1px solid rgba(23, 54, 48, 0.08);
  position: relative;
  z-index: 2;
}

.shop-topbar-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.7rem 0;
}

.shop-topbar-start {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

.shop-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  text-decoration: none;
  color: var(--chrome-ink);
  min-width: 0;
}

.shop-brand:hover {
  color: var(--adm-brand-600, #172d29);
}

.shop-brand-mark {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2.55rem;
  height: 2.55rem;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: var(--chrome-radius);
  background: linear-gradient(145deg, #2e7165, #172d29);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.4),
    0 12px 22px -14px rgba(23, 54, 48, 0.9);
  color: #fff;
  font-size: 1.15rem;
  transition: transform 0.45s var(--sh-ease), box-shadow 0.45s var(--sh-ease);
}

.shop-brand:hover .shop-brand-mark {
  transform: translateY(-2px) rotate(-4deg);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.5),
    0 16px 28px -12px rgba(23, 54, 48, 1);
}

.shop-brand-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0.3rem;
  border-radius: 0;
}

.shop-brand-name {
  font-weight: 800;
  font-size: 1.12rem;
  letter-spacing: -0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.shop-nav-search-form--center {
  display: flex;
  flex: 1;
  max-width: 32rem;
  margin: 0 1rem;
  align-items: stretch;
  border: 1px solid rgba(23, 54, 48, 0.14);
  border-radius: var(--chrome-radius);
  background: rgba(255, 255, 255, 0.62);
  box-shadow: inset 0 1px 0 #fff, 0 10px 24px -20px rgba(23, 45, 41, 0.4);
  overflow: hidden;
  padding: 0;
  transition: border-color 0.35s var(--sh-ease), box-shadow 0.35s var(--sh-ease), background 0.35s var(--sh-ease);
}

.shop-nav-search-form--center:focus-within {
  border-color: rgba(23, 54, 48, 0.4);
  box-shadow: 0 0 0 4px rgba(23, 54, 48, 0.12), inset 0 1px 0 #fff;
  background: #fff;
}

.shop-nav-search-category {
  flex: 0 0 auto;
  max-width: 8.5rem;
  border: 0;
  border-inline-end: 1px solid rgba(23, 54, 48, 0.12);
  background: transparent;
  color: var(--chrome-muted);
  font-size: 0.76rem;
  font-weight: 700;
  padding: 0 0.35rem 0 0.85rem;
  outline: none;
}

.shop-nav-search-input-wrap {
  position: relative;
  flex: 1;
  display: flex;
  align-items: center;
  min-width: 0;
}

.shop-nav-search-icon {
  position: absolute;
  inset-inline-start: 0.85rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--adm-brand-600, #173630);
  pointer-events: none;
}

.shop-topbar .shop-nav-search-input {
  border: 0;
  background: transparent;
  outline: none;
  width: 100%;
  font-size: 0.88rem;
  color: var(--chrome-ink);
  padding-inline-start: 2.35rem;
  padding-inline-end: 0.75rem;
  padding-block: 0.62rem;
}

.shop-topbar-actions {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.shop-chrome .shop-lang-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  padding: 0.45rem 0.8rem;
  border-radius: var(--chrome-radius);
  border: 1px solid rgba(23, 54, 48, 0.16);
  background: rgba(255, 255, 255, 0.7);
  box-shadow: inset 0 1px 0 #fff;
  color: var(--chrome-muted);
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration: none;
  transition: transform 0.35s var(--sh-ease), border-color 0.35s var(--sh-ease), color 0.35s var(--sh-ease);
}

.shop-chrome .shop-lang-toggle:hover {
  transform: translateY(-2px);
  border-color: rgba(23, 54, 48, 0.4);
  color: var(--adm-brand-600, #172d29);
}

.shop-nav-cart-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: var(--chrome-radius);
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(23, 54, 48, 0.14);
  box-shadow: inset 0 1px 0 #fff, 0 10px 20px -16px rgba(23, 54, 48, 0.6);
  color: var(--adm-brand-600, #172d29);
  text-decoration: none;
  font-size: 1.12rem;
  transition: transform 0.35s var(--sh-ease), background 0.35s var(--sh-ease), box-shadow 0.35s var(--sh-ease);
}

.shop-nav-cart-btn:hover {
  transform: translateY(-2px);
  background: linear-gradient(145deg, #2e7165, #172d29);
  color: #fff;
  box-shadow: 0 16px 28px -16px rgba(23, 54, 48, 0.9);
}

.shop-cart-badge {
  position: absolute;
  top: -0.2rem;
  inset-inline-end: -0.2rem;
  min-width: 1.15rem;
  height: 1.15rem;
  padding: 0 0.3rem;
  border-radius: var(--chrome-radius);
  background: linear-gradient(135deg, #2e7165, #172d29);
  color: #fff;
  font-size: 0.62rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  box-shadow: 0 6px 12px -6px rgba(23, 45, 41, 0.8);
}

.shop-chrome .shop-user-menu-trigger {
  gap: 0.5rem;
  padding: 0.2rem 0.65rem 0.2rem 0.2rem;
  border: 1px solid rgba(23, 54, 48, 0.16);
  border-radius: var(--chrome-radius);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: inset 0 1px 0 #fff;
  color: var(--chrome-ink);
  transition: transform 0.35s var(--sh-ease), border-color 0.35s var(--sh-ease);
}

.shop-chrome .shop-user-menu-trigger:hover {
  transform: translateY(-1px);
  border-color: rgba(23, 54, 48, 0.4);
}

.shop-chrome .shop-user-dropdown {
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: var(--chrome-radius);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 24px 50px -28px rgba(11, 20, 18, 0.45);
}

.shop-nav-secondary-bar {
  background: transparent;
  border-bottom: 0;
}

.shop-nav-dock {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1.25rem;
  overflow: visible;
  padding-block: 0.35rem 0.55rem;
}

.shop-nav-secondary {
  position: relative;
  z-index: 2;
  overflow: visible;
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.2rem 0.25rem;
  min-width: 0;
  padding-block: 0;
}

.shop-nav-secondary a {
  color: var(--chrome-muted);
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 600;
  padding: 0.4rem 0.8rem;
  border: 0;
  border-radius: var(--chrome-radius);
  border-bottom: none;
  transition: color 0.3s var(--sh-ease), background 0.3s var(--sh-ease), transform 0.3s var(--sh-ease);
}

.shop-nav-secondary a:hover {
  color: var(--adm-brand-600, #172d29);
  background: rgba(23, 54, 48, 0.08);
  border-bottom-color: transparent;
  transform: translateY(-1px);
}

/* ── Header mega-menu (categories) ── */
.shop-nav-categories {
  position: relative;
  z-index: 40;
}

/* Invisible hover bridge so the mouse can travel from the trigger to the menu. */
.shop-nav-categories::after {
  content: "";
  position: absolute;
  top: calc(100% - 8px);
  inset-inline-start: 0;
  z-index: 1999;
  width: min(28rem, 86vw);
  height: 1.25rem;
  pointer-events: none;
}

.shop-nav-categories:hover::after,
.shop-nav-categories:focus-within::after {
  pointer-events: auto;
}

.shop-nav-categories-trigger {
  display: inline-flex !important;
  align-items: center;
  gap: 0.45rem;
  color: #fff !important;
  background: linear-gradient(135deg, #2e7165, #172d29);
  border-radius: var(--chrome-radius);
  padding: 0.45rem 1rem !important;
  font-weight: 700 !important;
  border-bottom: none !important;
  box-shadow: 0 12px 24px -16px rgba(23, 54, 48, 0.95), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.shop-nav-categories-trigger:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #378879, #172d29);
  transform: translateY(-1px);
}

.shop-nav-categories-caret {
  font-size: 0.65rem;
  transition: transform 0.3s var(--sh-ease);
}

.shop-nav-categories:hover .shop-nav-categories-caret,
.shop-nav-categories:focus-within .shop-nav-categories-caret {
  transform: rotate(180deg);
}

.shop-mega-menu {
  position: absolute;
  top: calc(100% + 0.28rem);
  inset-inline-start: 0;
  z-index: 2000;
  min-width: 22.5rem;
  width: min(28rem, 86vw);
  padding: 0.85rem;
  border: 1px solid rgba(23, 54, 48, 0.12);
  border-radius: var(--chrome-radius);
  background: #fff;
  box-shadow:
    0 24px 60px -24px rgba(11, 20, 18, 0.38),
    0 0 0 1px rgba(23, 54, 48, 0.06);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform-origin: top;
  transition: opacity 0.18s var(--sh-ease), visibility 0.18s;
}

.shop-mega-menu::before {
  content: "";
  position: absolute;
  bottom: 100%;
  inset-inline: 0;
  height: 0.55rem;
}

.shop-shell--rtl .shop-mega-menu { transform-origin: top right; }
.shop-shell--ltr .shop-mega-menu { transform-origin: top left; }

.shop-nav-categories:hover .shop-mega-menu,
.shop-nav-categories:focus-within .shop-mega-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.shop-mega-menu-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0.15rem 0.35rem 0.75rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid rgba(23, 54, 48, 0.1);
  color: var(--chrome-ink);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.shop-mega-menu-head a {
  padding: 0 !important;
  border-radius: 0 !important;
  color: var(--adm-brand-600, #173630) !important;
  font-size: 0.78rem;
  font-weight: 700;
  background: none !important;
  transform: none !important;
}

.shop-mega-menu-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.35rem;
}

.shop-mega-menu-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.75rem;
  padding: 0.55rem 0.6rem;
  border-radius: var(--chrome-radius);
  color: var(--chrome-ink) !important;
  text-decoration: none;
  text-align: start;
  border-bottom: none !important;
  background: transparent;
  transform: none !important;
  transition: background 0.3s var(--sh-ease), box-shadow 0.3s var(--sh-ease);
}

.shop-mega-menu-item:hover {
  background: rgba(23, 54, 48, 0.08);
  color: var(--adm-brand-600, #172d29) !important;
  box-shadow: inset 0 0 0 1px rgba(23, 54, 48, 0.12);
}

.shop-mega-menu-thumb {
  width: 2.55rem;
  height: 2.55rem;
  flex: 0 0 auto;
  border-radius: var(--chrome-radius);
  overflow: hidden;
  background: linear-gradient(160deg, #f4faf9, #e3f4f1);
  border: 1px solid rgba(23, 54, 48, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
}

.shop-mega-menu-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.shop-mega-menu-thumb--icon {
  color: var(--adm-brand-600, #173630);
  font-size: 1.05rem;
}

.shop-mega-menu-item-copy {
  display: grid;
  min-width: 0;
  flex: 1;
}

.shop-mega-menu-item-label {
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.35;
}

.shop-mega-menu-item-copy small {
  color: var(--chrome-muted);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.shop-mega-menu-item-go {
  margin-inline-start: auto;
  color: #4eb7a4;
  font-size: 0.78rem;
  transition: transform 0.3s var(--sh-ease), color 0.3s var(--sh-ease);
}

.shop-mega-menu-item:hover .shop-mega-menu-item-go {
  color: var(--adm-brand-600, #172d29);
  transform: translateX(-3px);
}

.shop-shell--ltr .shop-mega-menu-item:hover .shop-mega-menu-item-go {
  transform: translateX(3px) scaleX(-1);
}

.shop-shell--ltr .shop-mega-menu-item-go {
  transform: scaleX(-1);
}

.shop-mobile-toggle {
  border: 1px solid rgba(23, 54, 48, 0.16);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: inset 0 1px 0 #fff;
  border-radius: 0.85rem;
  width: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--chrome-ink);
  font-size: 1.25rem;
}

.shop-chrome .shop-portal-strip {
  flex: 0 0 auto;
  position: relative;
  z-index: 1;
  margin-inline-start: auto;
  padding: 0;
  padding-inline-start: 1rem;
  background: transparent;
  border: 0;
  border-inline-start: 1px solid rgba(23, 54, 48, 0.12);
}

.shop-chrome .shop-nav-dock .portal-switcher {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.shop-chrome .portal-switcher-pill {
  border-color: rgba(23, 54, 48, 0.14);
  border-radius: var(--chrome-radius);
  background: rgba(255, 255, 255, 0.62);
  box-shadow: inset 0 1px 0 #fff;
  padding: 0.32rem 0.65rem;
  font-size: 0.76rem;
}

.shop-chrome .portal-switcher-pill--active {
  color: var(--adm-brand-600, #172d29);
  background: rgba(23, 54, 48, 0.1);
  border-color: rgba(23, 54, 48, 0.28);
}

.shop-chrome .portal-switcher-pill--active:hover {
  color: var(--adm-brand-600, #172d29);
}

@keyframes shop-chrome-glow {

  0%,
  100% {
    opacity: 0.45;
    transform: scale(1);
  }

  50% {
    opacity: 0.85;
    transform: scale(1.12);
  }
}

@keyframes shop-chrome-sheen {

  0%,
  55%,
  100% {
    transform: translateX(-18%);
  }

  75% {
    transform: translateX(18%);
  }
}

@keyframes shop-chrome-beam {
  0% {
    transform: translateX(0) skewX(-18deg);
    opacity: 0;
  }

  18% {
    opacity: 0.7;
  }

  100% {
    transform: translateX(420%) skewX(-18deg);
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {

  .shop-chrome-orb,
  .shop-chrome-sheen,
  .shop-promo-beam,
  .shop-shell::before {
    animation: none !important;
  }
}

.shop-main {
  position: relative;
  z-index: 1;
  min-height: 50vh;
}

.shop-footer {
  z-index: 1;
}

.shop-shell:has(.shop-home)::before {
  opacity: 0.4;
}

.shop-shell:has(.shop-home)::after {
  opacity: 0.22;
}

/* Shared glass surfaces — inner pages reuse homepage lighting without extra markup. */
.shop-shell .shop-panel,
.shop-shell .shop-filter-panel,
.shop-shell .shop-account-nav,
.shop-shell .shop-account-card,
.shop-shell .shop-account-kpi,
.shop-shell .shop-account-tile,
.shop-shell .shop-empty-state,
.shop-shell .shop-product-buybox,
.shop-shell .shop-product-detail-media,
.shop-shell .shop-review-item,
.shop-shell .shop-rich-text,
.shop-shell .shop-cart-summary,
.shop-shell .shop-feature-card,
.shop-shell .shop-about-stat {
  background: var(--sh-glass);
  border: 1px solid var(--sh-hairline);
  backdrop-filter: var(--sh-blur);
  -webkit-backdrop-filter: var(--sh-blur);
  box-shadow: var(--sh-lift), var(--sh-inner);
}

.shop-shell .shop-product-card {
  position: relative;
  overflow: hidden;
  background: var(--sh-glass);
  border: 1px solid var(--sh-hairline);
  backdrop-filter: var(--sh-blur);
  -webkit-backdrop-filter: var(--sh-blur);
  box-shadow: 0 22px 44px -34px rgba(11, 20, 18, 0.55), var(--sh-inner);
  transition: transform 0.45s var(--sh-ease), box-shadow 0.45s var(--sh-ease);
}

.shop-shell .shop-product-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--sh-lift-hi), var(--sh-inner);
}

.shop-shell .shop-product-card::after {
  content: "";
  position: absolute;
  inset-inline-start: -60%;
  top: 0;
  z-index: 2;
  width: 45%;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.5), transparent);
  transform: skewX(-16deg);
  transition: inset-inline-start 0.9s var(--sh-ease);
}

.shop-shell .shop-product-card:hover::after {
  inset-inline-start: 130%;
}

.shop-shell .shop-product-media {
  background: linear-gradient(170deg, rgba(241, 249, 248, 0.92), rgba(255, 255, 255, 0.48));
}

.shop-shell .shop-product-media__glow {
  position: absolute;
  width: 70%;
  height: 55%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(23, 54, 48, 0.28), transparent 68%);
  filter: blur(24px);
  pointer-events: none;
  transition: opacity 0.55s var(--sh-ease), transform 0.55s var(--sh-ease);
}

.shop-shell .shop-product-card:hover .shop-product-media__glow {
  transform: scale(1.15);
}

.shop-shell .shop-product-add {
  background: linear-gradient(180deg, rgba(23, 54, 48, 0.14), rgba(23, 54, 48, 0.08));
  box-shadow: inset 0 1px 0 #fff;
}

.shop-shell .form-control,
.shop-shell .form-select {
  background: rgba(255, 255, 255, 0.74);
  border-color: rgba(23, 54, 48, 0.16);
  box-shadow: inset 0 1px 0 #fff;
}

.shop-shell .form-control:focus,
.shop-shell .form-select:focus {
  background: #fff;
  border-color: rgba(23, 54, 48, 0.42);
  box-shadow: 0 0 0 4px rgba(23, 54, 48, 0.12), inset 0 1px 0 #fff;
}

.shop-shell .shop-pagination-link {
  background: rgba(255, 255, 255, 0.72);
  border-color: rgba(23, 54, 48, 0.14);
  box-shadow: inset 0 1px 0 #fff;
}

.shop-shell .shop-static-hero,
.shop-shell .shop-static-hero--contact {
  background:
    radial-gradient(ellipse 70% 80% at 12% 0%, rgba(23, 54, 48, 0.16), transparent 58%),
    transparent;
  border-bottom-color: rgba(23, 54, 48, 0.1);
}

.shop-shell .shop-section-title {
  color: var(--sh-ink);
}

.shop-shell .shop-account-kpi--accent {
  background: linear-gradient(150deg, rgba(23, 54, 48, 0.18), rgba(255, 255, 255, 0.55));
  border-color: rgba(23, 54, 48, 0.28);
}

.shop-shell .shop-breadcrumb {
  color: var(--sh-muted);
}

/* ── Shop home — liquid glass storefront (brand #173630) ──────────────────
   Scope: .shop-home (root also carries .home-premium .sh-home).
   Reused chrome kept for CMS partials: .section-head / .section-kicker /
   .view-all / .ms-rail* / .shop-product-* / .skin-*.
   ------------------------------------------------------------------------ */
.shop-home.home-premium {
  --sh-blue: #173630;
  --sh-blue-soft: #378879;
  --sh-blue-deep: #172d29;
  --sh-cyan: #21453e;
  --sh-ink: #050807;
  --sh-ink-soft: #24344f;
  --sh-muted: #5f7291;
  --sh-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --sh-glass: linear-gradient(150deg, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.5));
  --sh-glass-quiet: linear-gradient(150deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.42));
  --sh-blur: blur(26px) saturate(180%);
  --sh-hairline: rgba(255, 255, 255, 0.72);
  --sh-r-xl: var(--sys-radius, 0.75rem);
  --sh-r-lg: var(--sys-radius, 0.75rem);
  --sh-r-md: var(--sys-radius, 0.75rem);
  --sh-r-btn: var(--sys-radius, 0.75rem);
  --sh-lift: 0 34px 74px -42px rgba(11, 20, 18, 0.5);
  --sh-lift-hi: 0 44px 90px -40px rgba(11, 20, 18, 0.55);
  --sh-inner: inset 0 1px 0 rgba(255, 255, 255, 0.92);
  position: relative;
  isolation: isolate;
  /* Full-bleed washes are sized in vw, which ignores the scrollbar. */
  overflow-x: clip;
  color: var(--sh-ink);
  padding-bottom: 1rem;
}

.shop-home.home-premium>section,
.shop-home.home-premium>.shop-landing-body {
  position: relative;
  z-index: 1;
}

/* ── Ambient canvas ── */
.shop-home .sh-canvas {
  position: absolute;
  inset: -10% 0 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.shop-home .sh-canvas__mesh {
  position: absolute;
  display: block;
  border-radius: 50%;
  filter: blur(72px);
  opacity: 0.55;
  will-change: transform;
}

.shop-home .sh-canvas__mesh--a {
  width: 46rem;
  height: 46rem;
  inset-inline-end: -14rem;
  top: -12rem;
  background: radial-gradient(circle, rgba(23, 54, 48, 0.4), rgba(23, 54, 48, 0) 68%);
  animation: sh-drift-a 34s ease-in-out infinite;
}

.shop-home .sh-canvas__mesh--b {
  width: 38rem;
  height: 38rem;
  inset-inline-start: -12rem;
  top: 26rem;
  background: radial-gradient(circle, rgba(33, 69, 62, 0.32), rgba(33, 69, 62, 0) 68%);
  animation: sh-drift-b 42s ease-in-out infinite;
}

.shop-home .sh-canvas__mesh--c {
  width: 40rem;
  height: 40rem;
  inset-inline-end: 12%;
  bottom: 4rem;
  background: radial-gradient(circle, rgba(66, 162, 144, 0.28), rgba(66, 162, 144, 0) 70%);
  animation: sh-drift-a 48s ease-in-out infinite reverse;
}

.shop-home .sh-canvas__veil {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(23, 54, 48, 0.16) 1px, transparent 1px);
  background-size: 26px 26px;
  opacity: 0.5;
  -webkit-mask-image: radial-gradient(ellipse at 50% 20%, #000 20%, transparent 78%);
  mask-image: radial-gradient(ellipse at 50% 20%, #000 20%, transparent 78%);
}

/* ── Hero stage ── */
.shop-home .sh-hero {
  padding: 1.5rem 0 0.75rem;
}

.shop-home .sh-stage {
  position: relative;
  overflow: hidden;
  border-radius: var(--sh-r-xl);
  padding: clamp(1.6rem, 3.2vw, 3.25rem);
  background: var(--sh-glass);
  backdrop-filter: var(--sh-blur);
  -webkit-backdrop-filter: var(--sh-blur);
  box-shadow: var(--sh-lift), var(--sh-inner);
  animation: sh-stage-in 1s var(--sh-ease) both;
}

.shop-home .sh-stage__light {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(38rem 26rem at var(--lx, 76%) var(--ly, 12%), rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0) 62%);
  opacity: 0.75;
  transition: opacity 0.5s var(--sh-ease);
}

.shop-home .sh-stage:hover .sh-stage__light {
  opacity: 1;
}

.shop-home .sh-stage__rim {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  pointer-events: none;
  background: linear-gradient(140deg, rgba(255, 255, 255, 0.95), rgba(23, 54, 48, 0.4) 38%, rgba(255, 255, 255, 0.1) 72%, rgba(255, 255, 255, 0.9));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.shop-home .sh-stage__beam {
  position: absolute;
  inset-inline-start: -30%;
  top: -60%;
  width: 70%;
  height: 220%;
  pointer-events: none;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.75) 48%, rgba(255, 255, 255, 0) 100%);
  transform: rotate(12deg);
  opacity: 0.5;
  animation: sh-beam 9s var(--sh-ease) infinite;
}

.shop-home .sh-stage__track {
  position: relative;
  z-index: 2;
  min-height: 25rem;
}

.shop-home .sh-slide {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 1.04fr 0.96fr;
  gap: clamp(1.5rem, 3vw, 3rem);
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(16px) scale(0.995);
  transition: opacity 0.75s var(--sh-ease), transform 0.75s var(--sh-ease);
}

.shop-home .sh-slide.is-active {
  position: relative;
  opacity: 1;
  visibility: visible;
  transform: none;
}

.shop-home .sh-slide__copy {
  min-width: 0;
}

.shop-home .sh-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.4rem 0.9rem;
  border-radius: var(--sh-r-btn);
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: var(--sh-blue-deep);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  box-shadow: 0 10px 24px -18px rgba(11, 20, 18, 0.7);
}

.shop-home .sh-eyebrow .bi {
  color: var(--sh-blue);
}

.shop-home .sh-display {
  margin: 1rem 0 0.85rem;
  font-size: clamp(2.1rem, 4.4vw, 3.5rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.022em;
  background: linear-gradient(180deg, #050807 12%, #141f1d 96%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.shop-home .sh-lead {
  margin: 0 0 1.6rem;
  max-width: 34rem;
  font-size: clamp(0.98rem, 1.2vw, 1.12rem);
  line-height: 1.75;
  color: var(--sh-muted);
}

.shop-home .sh-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1.9rem;
}

/* ── Glass buttons ── */
.shop-home .sh-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  padding: 0.9rem 1.6rem;
  border: 0;
  border-radius: var(--sh-r-btn);
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.45s var(--sh-ease), box-shadow 0.45s var(--sh-ease), background 0.45s var(--sh-ease);
}

.shop-home .sh-btn::after {
  content: "";
  position: absolute;
  inset-inline-start: -140%;
  top: 0;
  width: 60%;
  height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.55), transparent);
  transform: skewX(-18deg);
  transition: inset-inline-start 0.7s var(--sh-ease);
}

.shop-home .sh-btn:hover::after {
  inset-inline-start: 140%;
}

.shop-home .sh-btn:hover {
  transform: translateY(-2px);
}

.shop-home .sh-btn--primary {
  background: linear-gradient(135deg, #2e7165, var(--sh-blue) 45%, var(--sh-blue-deep));
  color: #fff;
  box-shadow: 0 22px 40px -20px rgba(23, 54, 48, 0.85), inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.shop-home .sh-btn--primary:hover {
  color: #fff;
  box-shadow: 0 28px 50px -20px rgba(23, 54, 48, 0.95), inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

.shop-home .sh-btn--glass {
  background: rgba(255, 255, 255, 0.58);
  border: 1px solid rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  color: var(--sh-ink);
  box-shadow: 0 18px 34px -26px rgba(11, 20, 18, 0.8), var(--sh-inner);
}

.shop-home .sh-btn--glass:hover {
  color: var(--sh-blue-deep);
  background: rgba(255, 255, 255, 0.76);
}

.shop-home .sh-btn__arrow {
  transition: transform 0.45s var(--sh-ease);
}

.shop-home .sh-btn:hover .sh-btn__arrow {
  transform: translateX(-0.25rem);
}

.shop-shell--ltr .shop-home .sh-btn__arrow {
  transform: scaleX(-1);
}

.shop-shell--ltr .shop-home .sh-btn:hover .sh-btn__arrow {
  transform: scaleX(-1) translateX(-0.25rem);
}

/* ── Hero facts ── */
.shop-home .sh-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 1.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.shop-home .sh-facts li {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding-inline-start: 1rem;
  border-inline-start: 2px solid rgba(23, 54, 48, 0.22);
}

.shop-home .sh-facts strong {
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--sh-ink);
  letter-spacing: -0.01em;
}

.shop-home .sh-facts small {
  font-size: 0.78rem;
  color: var(--sh-muted);
}

/* ── Hero visual ── */
.shop-home .sh-slide__visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 21rem;
}

.shop-home .sh-halo {
  position: absolute;
  width: 24rem;
  height: 24rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(23, 54, 48, 0.35), rgba(23, 54, 48, 0) 66%);
  filter: blur(14px);
  animation: sh-pulse 7s ease-in-out infinite;
}

.shop-home .sh-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(23, 54, 48, 0.2);
}

.shop-home .sh-ring--1 {
  width: 19rem;
  height: 19rem;
  animation: sh-spin 26s linear infinite;
  border-inline-end-color: rgba(33, 69, 62, 0.55);
}

.shop-home .sh-ring--2 {
  width: 25rem;
  height: 25rem;
  border-style: dashed;
  opacity: 0.5;
  animation: sh-spin 44s linear infinite reverse;
}

.shop-home .sh-showpiece {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: min(21rem, 100%);
  min-height: 15rem;
  margin: 0;
  padding: 1.6rem;
  border-radius: var(--sh-r-lg);
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.34));
  border: 1px solid rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(20px) saturate(170%);
  -webkit-backdrop-filter: blur(20px) saturate(170%);
  box-shadow: 0 40px 70px -38px rgba(11, 20, 18, 0.6), var(--sh-inner);
  animation: sh-float 9s ease-in-out infinite;
}

.shop-home .sh-showpiece img {
  max-width: 100%;
  max-height: 14rem;
  object-fit: contain;
  filter: drop-shadow(0 26px 34px rgba(11, 20, 18, 0.35));
}

.shop-home .sh-showpiece--blank {
  min-height: 13rem;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.6), rgba(23, 54, 48, 0.12));
}

.shop-home .sh-showpiece__price {
  position: absolute;
  inset-block-end: -1rem;
  inset-inline-start: -0.75rem;
  display: inline-flex;
  align-items: baseline;
  gap: 0.3rem;
  padding: 0.55rem 1rem;
  border-radius: var(--sh-r-btn);
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 18px 34px -22px rgba(11, 20, 18, 0.8);
  font-weight: 800;
  color: var(--sh-blue-deep);
}

.shop-home .sh-showpiece__price small {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--sh-muted);
}

.shop-home .sh-showpiece__mirror {
  position: absolute;
  bottom: 1.5rem;
  width: 15rem;
  height: 2.2rem;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(11, 20, 18, 0.22), rgba(11, 20, 18, 0) 70%);
  filter: blur(8px);
}

/* ── Hero copy entrance ── */
.shop-home .sh-slide.is-active .sh-slide__copy>* {
  animation: sh-rise 0.8s var(--sh-ease) both;
}

.shop-home .sh-slide.is-active .sh-slide__copy>*:nth-child(1) {
  animation-delay: 0.06s;
}

.shop-home .sh-slide.is-active .sh-slide__copy>*:nth-child(2) {
  animation-delay: 0.14s;
}

.shop-home .sh-slide.is-active .sh-slide__copy>*:nth-child(3) {
  animation-delay: 0.22s;
}

.shop-home .sh-slide.is-active .sh-slide__copy>*:nth-child(4) {
  animation-delay: 0.3s;
}

.shop-home .sh-slide.is-active .sh-slide__copy>*:nth-child(5) {
  animation-delay: 0.38s;
}

/* ── Hero controls ── */
.shop-home .sh-stage__nav {
  position: absolute;
  z-index: 3;
  inset-block-end: 1.25rem;
  inset-inline-end: clamp(1.25rem, 3vw, 3rem);
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}

.shop-home .sh-nav-btn {
  width: 2.6rem;
  height: 2.6rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.9);
  background: rgba(255, 255, 255, 0.68);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  color: var(--sh-blue-deep);
  cursor: pointer;
  box-shadow: 0 16px 30px -22px rgba(11, 20, 18, 0.9);
  transition: transform 0.4s var(--sh-ease), background 0.4s var(--sh-ease);
}

.shop-home .sh-nav-btn:hover {
  transform: translateY(-2px);
  background: #fff;
}

.shop-home .sh-dots {
  display: inline-flex;
  gap: 0.35rem;
}

.shop-home .sh-dot {
  width: 0.55rem;
  height: 0.55rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(23, 54, 48, 0.28);
  cursor: pointer;
  transition: width 0.45s var(--sh-ease), background 0.45s var(--sh-ease);
}

.shop-home .sh-dot.is-active {
  width: 1.6rem;
  border-radius: 0.5rem;
  background: linear-gradient(90deg, var(--sh-blue), var(--sh-cyan));
}

.shop-home .sh-progress {
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  height: 3px;
  background: rgba(23, 54, 48, 0.12);
  z-index: 3;
}

.shop-home .sh-progress i {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--sh-blue), var(--sh-cyan));
}

/* ── Trust chips ── */
.shop-home .sh-trust {
  padding: 1.5rem 0 0.5rem;
}

.shop-home .sh-trust__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.15rem;
}

.shop-home .sh-chip {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding: 1.35rem 1.15rem;
  border-radius: var(--sh-r-lg);
  background: rgba(255, 255, 255, 0.58);
  border: 1px solid var(--sh-hairline);
  backdrop-filter: blur(22px) saturate(1.6);
  -webkit-backdrop-filter: blur(22px) saturate(1.6);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85), 0 14px 36px rgba(23, 54, 48, 0.1);
  overflow: hidden;
  transition:
    transform 0.45s var(--sh-ease),
    box-shadow 0.45s var(--sh-ease),
    border-color 0.35s var(--sh-ease),
    background 0.35s var(--sh-ease);
}

.shop-home .sh-chip:hover {
  transform: translateY(-6px);
  background: rgba(255, 255, 255, 0.78);
  border-color: rgba(23, 54, 48, 0.4);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 22px 48px rgba(23, 54, 48, 0.18),
    0 0 0 1px rgba(23, 54, 48, 0.18);
}

/* Pointer-tracked highlight, on top of the standing glow. */
.shop-home .sh-chip::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(12rem 8rem at var(--lx, 50%) var(--ly, 0%), rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0) 65%);
  opacity: 0;
  transition: opacity 0.5s var(--sh-ease);
}

.shop-home .sh-chip:hover::before {
  opacity: 1;
}

.shop-home .sh-chip__glow {
  position: absolute;
  z-index: -1;
  top: -30%;
  inset-inline-end: -18%;
  width: 7.5rem;
  height: 7.5rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(46, 113, 101, 0.45), transparent 70%);
  filter: blur(8px);
  opacity: 0.55;
  pointer-events: none;
  animation: sh-chip-glow 5.5s ease-in-out infinite;
}

.shop-home .sh-chip.sh-delay-1 .sh-chip__glow {
  animation-delay: -1.2s;
}

.shop-home .sh-chip.sh-delay-2 .sh-chip__glow {
  animation-delay: -2.4s;
}

.shop-home .sh-chip.sh-delay-3 .sh-chip__glow {
  animation-delay: -3.6s;
}

.shop-home .sh-chip__sheen {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(115deg, transparent 28%, rgba(255, 255, 255, 0.38) 48%, transparent 62%);
  transform: translateX(-130%);
  pointer-events: none;
}

.shop-home .sh-chip:hover .sh-chip__sheen {
  animation: sh-chip-sheen 1.15s var(--sh-ease);
}

.shop-home .sh-chip__icon {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 1rem;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.92), rgba(227, 244, 241, 0.75));
  border: 1px solid rgba(23, 54, 48, 0.28);
  color: var(--sh-blue);
  font-size: 1.3rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65), 0 10px 22px rgba(23, 54, 48, 0.14);
  transition: transform 0.4s var(--sh-ease), box-shadow 0.4s var(--sh-ease), color 0.3s var(--sh-ease);
}

.shop-home .sh-chip:hover .sh-chip__icon {
  transform: scale(1.08) translateY(-2px);
  color: var(--sh-blue-deep);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75), 0 0 28px rgba(46, 113, 101, 0.35);
}

.shop-home .sh-chip__copy {
  position: relative;
  min-width: 0;
}

.shop-home .sh-chip__copy strong {
  display: block;
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--sh-ink);
}

.shop-home .sh-chip__copy small {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 0.25rem;
  font-size: 0.78rem;
  line-height: 1.45;
  color: var(--sh-muted);
}

/* ── Bands + section chrome ── */
.shop-home .sh-band {
  position: relative;
  padding: clamp(2.5rem, 5vw, 4rem) 0;
}

.shop-home .sh-band--tint {
  overflow: hidden;
}

.shop-home .sh-band--tint::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(241, 249, 248, 0) 0%, rgba(229, 244, 242, 0.85) 45%, rgba(241, 249, 248, 0) 100%);
  z-index: -1;
}

.shop-home .sh-band__glow {
  position: absolute;
  width: 26rem;
  height: 26rem;
  border-radius: 50%;
  filter: blur(70px);
  opacity: 0.55;
  z-index: -1;
  transform: translateY(var(--py, 0));
}

.shop-home .sh-band__glow--a {
  top: 2rem;
  inset-inline-start: -8rem;
  background: radial-gradient(circle, rgba(23, 54, 48, 0.32), transparent 68%);
}

.shop-home .sh-band__glow--b {
  bottom: 0;
  inset-inline-end: -9rem;
  background: radial-gradient(circle, rgba(33, 69, 62, 0.28), transparent 68%);
}

.shop-home .section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.6rem;
}

.shop-home .section-head h2 {
  margin: 0.5rem 0 0;
  font-size: clamp(1.5rem, 2.5vw, 2.15rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  background: linear-gradient(180deg, #050807, #141f1d);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.shop-home .section-kicker {
  display: inline-flex;
  align-items: center;
  padding: 0.32rem 0.85rem;
  border-radius: var(--sh-r-btn);
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: var(--sh-blue-deep);
  font-size: 0.75rem;
  font-weight: 700;
}

.shop-home .section-head__actions {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
}

.shop-home .view-all {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.55rem 1.05rem;
  border-radius: var(--sh-r-btn);
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  color: var(--sh-ink);
  font-size: 0.85rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 16px 30px -26px rgba(11, 20, 18, 0.9);
  transition: transform 0.4s var(--sh-ease), color 0.4s var(--sh-ease), background 0.4s var(--sh-ease);
}

.shop-home .view-all:hover {
  transform: translateY(-2px);
  background: #fff;
  color: var(--sh-blue-deep);
}

.shop-shell--ltr .shop-home .view-all .bi-chevron-left {
  transform: scaleX(-1);
}

/* ── Categories ── */
.shop-home .sh-cats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 1rem;
}

.shop-home .sh-cats--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.shop-home .sh-cats--5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.shop-home .sh-cats--6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.shop-home .sh-cat {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 1rem;
  padding: 1.9rem 1.1rem 1.75rem;
  border-radius: var(--sh-r-md);
  background: var(--sh-glass-quiet);
  border: 1px solid var(--sh-hairline);
  backdrop-filter: var(--sh-blur);
  -webkit-backdrop-filter: var(--sh-blur);
  box-shadow: 0 24px 44px -34px rgba(11, 20, 18, 0.6), var(--sh-inner);
  text-align: center;
  text-decoration: none;
  overflow: hidden;
  isolation: isolate;
  transition: transform 0.55s var(--sh-ease), box-shadow 0.55s var(--sh-ease), border-color 0.55s var(--sh-ease);
}

.shop-home .sh-cat:hover {
  transform: translateY(-6px);
  border-color: rgba(23, 54, 48, 0.35);
  box-shadow: var(--sh-lift-hi), var(--sh-inner);
}

/* Pointer-tracked sheen; only shows while the cursor is over the tile. */
.shop-home .sh-cat::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(11rem 8rem at var(--lx, 50%) var(--ly, 0%), rgba(23, 54, 48, 0.18), transparent 70%);
  opacity: 0;
  transition: opacity 0.55s var(--sh-ease);
}

.shop-home .sh-cat:hover::before {
  opacity: 1;
}

.shop-home .sh-cat::after {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, var(--sh-blue), var(--sh-cyan));
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.55s var(--sh-ease);
}

.shop-home .sh-cat:hover::after {
  transform: scaleX(1);
}

/* Standing blue aura behind the icon — visible at rest, breathes slowly. */
.shop-home .sh-cat__halo {
  position: absolute;
  top: -3.2rem;
  inset-inline-start: 50%;
  z-index: -1;
  width: 12rem;
  height: 12rem;
  margin-inline-start: -6rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(23, 54, 48, 0.26), rgba(33, 69, 62, 0.12) 45%, transparent 70%);
  filter: blur(6px);
  animation: sh-cat-breathe 7s ease-in-out infinite;
  transition: filter 0.55s var(--sh-ease), background 0.55s var(--sh-ease);
}

.shop-home .sh-cat:nth-child(2n) .sh-cat__halo {
  animation-delay: -1.6s;
}

.shop-home .sh-cat:nth-child(3n) .sh-cat__halo {
  animation-delay: -3.1s;
}

.shop-home .sh-cat:nth-child(4n) .sh-cat__halo {
  animation-delay: -4.7s;
}

.shop-home .sh-cat:hover .sh-cat__halo {
  filter: blur(2px);
  background: radial-gradient(circle, rgba(23, 54, 48, 0.34), rgba(33, 69, 62, 0.16) 45%, transparent 72%);
}

.shop-home .sh-cat__media {
  position: relative;
  display: grid;
  place-items: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: linear-gradient(150deg, rgba(255, 255, 255, 0.95), rgba(227, 244, 241, 0.85));
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.9),
    0 0 0 7px rgba(23, 54, 48, 0.07),
    0 0 0 14px rgba(23, 54, 48, 0.035),
    0 14px 24px -18px rgba(23, 45, 41, 0.8);
  color: var(--sh-blue-deep);
  font-size: 1.4rem;
  overflow: hidden;
  animation: sh-cat-float 6s ease-in-out infinite;
  transition: background 0.55s var(--sh-ease), color 0.55s var(--sh-ease), box-shadow 0.55s var(--sh-ease);
}

.shop-home .sh-cat:nth-child(2n) .sh-cat__media {
  animation-delay: -1.5s;
}

.shop-home .sh-cat:nth-child(3n) .sh-cat__media {
  animation-delay: -3s;
}

.shop-home .sh-cat:nth-child(4n) .sh-cat__media {
  animation-delay: -4.5s;
}

.shop-home .sh-cat:hover .sh-cat__media {
  background: linear-gradient(150deg, #2e7165, var(--sh-blue-deep));
  color: #fff;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.6),
    0 0 0 7px rgba(23, 54, 48, 0.14),
    0 0 0 14px rgba(23, 54, 48, 0.07),
    0 18px 30px -16px rgba(23, 54, 48, 0.9);
}

.shop-home .sh-cat__media .bi {
  transition: transform 0.55s var(--sh-ease);
}

.shop-home .sh-cat:hover .sh-cat__media .bi {
  transform: scale(1.12);
}

.shop-home .sh-cat__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.shop-home .sh-cat__label {
  position: relative;
  display: block;
  min-width: 0;
}

.shop-home .sh-cat__label strong {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--sh-ink);
}

.shop-home .sh-cat__label small {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sh-muted);
}

/* ── Featured mosaic ── */
/* Hero product sits in the middle column with two satellites on each side. */
.shop-home .sh-mosaic {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 1.15rem;
}

.shop-home .sh-mosaic__cell {
  min-width: 0;
  display: flex;
}

.shop-home .sh-mosaic__cell--1 {
  grid-column: 4 / span 6;
  grid-row: 1 / span 2;
}

.shop-home .sh-mosaic__cell--2 {
  grid-column: 1 / span 3;
  grid-row: 1;
}

.shop-home .sh-mosaic__cell--3 {
  grid-column: 1 / span 3;
  grid-row: 2;
}

.shop-home .sh-mosaic__cell--4 {
  grid-column: 10 / span 3;
  grid-row: 1;
}

.shop-home .sh-mosaic__cell--5 {
  grid-column: 10 / span 3;
  grid-row: 2;
}

.shop-home .sh-mosaic__cell>.shop-product-card {
  width: 100%;
}

.shop-home .sh-rail {
  margin-top: 1.35rem;
}

/* ── Product cards ── */
.shop-home .shop-product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: var(--sh-r-md);
  background: var(--sh-glass);
  border: 1px solid var(--sh-hairline);
  backdrop-filter: var(--sh-blur);
  -webkit-backdrop-filter: var(--sh-blur);
  box-shadow: 0 26px 50px -36px rgba(11, 20, 18, 0.62), var(--sh-inner);
  overflow: hidden;
  transition: transform 0.55s var(--sh-ease), box-shadow 0.55s var(--sh-ease);
}

.shop-home .shop-product-card:hover {
  transform: translateY(-7px);
  box-shadow: var(--sh-lift-hi), var(--sh-inner);
}

.shop-home .shop-product-card::after {
  content: "";
  position: absolute;
  inset-inline-start: -60%;
  top: 0;
  width: 45%;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.55), transparent);
  transform: skewX(-16deg);
  transition: inset-inline-start 0.9s var(--sh-ease);
}

.shop-home .shop-product-card:hover::after {
  inset-inline-start: 130%;
}

.shop-home .shop-product-media {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 3;
  padding: 1.25rem;
  background: linear-gradient(170deg, rgba(241, 249, 248, 0.9), rgba(255, 255, 255, 0.45));
  overflow: hidden;
}

.shop-home .shop-product-media__glow {
  position: absolute;
  width: 70%;
  height: 55%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(23, 54, 48, 0.3), transparent 68%);
  filter: blur(24px);
  transition: opacity 0.55s var(--sh-ease), transform 0.55s var(--sh-ease);
}

.shop-home .shop-product-card:hover .shop-product-media__glow {
  transform: scale(1.15);
}

.shop-home .shop-product-media img {
  position: relative;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 18px 24px rgba(11, 20, 18, 0.25));
  transition: transform 0.6s var(--sh-ease);
}

.shop-home .shop-product-card:hover .shop-product-media img {
  transform: scale(1.07) translateY(-3px);
}

.shop-home .shop-product-placeholder {
  position: relative;
  display: grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: var(--sh-r-btn);
  background: rgba(255, 255, 255, 0.7);
  color: rgba(23, 54, 48, 0.55);
  font-size: 1.4rem;
}

.shop-home .shop-product-badge,
.shop-home .shop-product-chip {
  position: absolute;
  top: 0.75rem;
  inset-inline-start: 0.75rem;
  z-index: 2;
  padding: 0.3rem 0.7rem;
  border-radius: var(--sh-r-btn);
  font-size: 0.72rem;
  font-weight: 800;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.shop-home .shop-product-badge--pct {
  display: grid;
  place-items: center;
  width: 2.9rem;
  height: 2.9rem;
  padding: 0;
  border-radius: 50%;
  background: linear-gradient(140deg, #ff5f6d, #e11d48);
  color: #fff;
  box-shadow: 0 14px 26px -14px rgba(225, 29, 72, 0.85);
}

.shop-home .shop-product-badge--out {
  background: rgba(7, 10, 9, 0.72);
  color: #fff;
}

.shop-home .shop-product-badge--low {
  background: rgba(245, 158, 11, 0.9);
  color: #fff;
}

.shop-home .shop-product-chip {
  background: rgba(23, 54, 48, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.8);
  color: var(--sh-blue-deep);
}

.shop-home .shop-product-wishlist-toggle {
  position: absolute;
  top: 0.7rem;
  inset-inline-end: 0.7rem;
  z-index: 2;
  width: 2.25rem;
  height: 2.25rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.9);
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: var(--sh-ink-soft);
  cursor: pointer;
  transition: transform 0.4s var(--sh-ease), color 0.4s var(--sh-ease);
}

.shop-home .shop-product-wishlist-toggle:hover {
  transform: scale(1.08);
  color: #e11d48;
}

.shop-home .shop-product-body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1 1 auto;
  padding: 1rem 1.1rem 1.15rem;
}

.shop-home .shop-product-title {
  margin: 0;
  font-size: 0.97rem;
  font-weight: 700;
  line-height: 1.5;
}

.shop-home .shop-product-title a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--sh-ink);
  text-decoration: none;
}

.shop-home .shop-product-title a:hover {
  color: var(--sh-blue-deep);
}

.shop-home .shop-product-desc {
  display: none;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.6;
  color: var(--sh-muted);
}

.shop-home .shop-product-price-row {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-top: auto;
}

.shop-home .shop-price {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--sh-blue-deep);
}

.shop-home .shop-price-compare {
  font-size: 0.82rem;
  color: var(--sh-muted);
  text-decoration: line-through;
}

.shop-home .shop-product-add {
  width: 100%;
  padding: 0.72rem 1rem;
  border: 0;
  border-radius: var(--sh-r-btn);
  background: linear-gradient(135deg, #2e7165, var(--sh-blue) 48%, var(--sh-blue-deep));
  color: #fff;
  font-size: 0.88rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 18px 32px -20px rgba(23, 54, 48, 0.9), inset 0 1px 0 rgba(255, 255, 255, 0.4);
  transition: transform 0.4s var(--sh-ease), filter 0.4s var(--sh-ease);
}

.shop-home .shop-product-add:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
}

.shop-home .shop-product-add:disabled {
  background: rgba(7, 10, 9, 0.12);
  color: var(--sh-muted);
  box-shadow: none;
  cursor: not-allowed;
  transform: none;
}

.shop-home .shop-product-card--out {
  opacity: 0.9;
}

/* ── Rails ── */
.shop-home .ms-rail {
  position: relative;
}

.shop-home .ms-rail__track,
.shop-home .shop-carousel-track {
  display: flex;
  gap: 1.1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 0.35rem 0.2rem 1.1rem;
  scrollbar-width: none;
}

.shop-home .ms-rail__track::-webkit-scrollbar,
.shop-home .shop-carousel-track::-webkit-scrollbar {
  display: none;
}

.shop-home .ms-rail__item,
.shop-home .shop-carousel-item {
  flex: 0 0 min(17rem, 78vw);
  scroll-snap-align: start;
}

.shop-home .rail-wide .ms-rail__item,
.shop-home .rail-wide .shop-carousel-item {
  flex-basis: min(19rem, 82vw);
}

.shop-home .rail-sale .ms-rail__item,
.shop-home .rail-sale .shop-carousel-item {
  flex-basis: min(16.5rem, 76vw);
}

.shop-home .ms-rail-nav {
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
}

.shop-home .ms-rail-btn {
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.9);
  background: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  color: var(--sh-blue-deep);
  cursor: pointer;
  box-shadow: 0 16px 30px -24px rgba(11, 20, 18, 0.9);
  transition: transform 0.4s var(--sh-ease), background 0.4s var(--sh-ease);
}

.shop-home .ms-rail-btn:hover {
  transform: translateY(-2px);
  background: #fff;
}

/* Chevrons are authored for RTL reading order; mirror them for LTR shells. */
.shop-shell--ltr .shop-home .ms-rail-btn .bi {
  transform: scaleX(-1);
}

/* ── Promo panes ── */
.shop-home .sh-promos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.shop-home .sh-promo {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 15rem;
  padding: clamp(1.5rem, 2.6vw, 2.5rem);
  border-radius: var(--sh-r-lg);
  overflow: hidden;
  box-shadow: var(--sh-lift), var(--sh-inner);
  transition: transform 0.55s var(--sh-ease), box-shadow 0.55s var(--sh-ease);
}

.shop-home .sh-promo:hover {
  transform: translateY(-5px);
  box-shadow: var(--sh-lift-hi), var(--sh-inner);
}

.shop-home .sh-promo--sky {
  background: linear-gradient(150deg, rgba(255, 255, 255, 0.82), rgba(197, 231, 225, 0.6));
  border: 1px solid var(--sh-hairline);
  backdrop-filter: var(--sh-blur);
  -webkit-backdrop-filter: var(--sh-blur);
}

.shop-home .sh-promo--ink {
  background: linear-gradient(150deg, #0c1514, #050807 65%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #e7f5f2;
}

.shop-home .sh-promo__orb {
  position: absolute;
  width: 20rem;
  height: 20rem;
  inset-inline-end: -7rem;
  top: -6rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(23, 54, 48, 0.45), transparent 66%);
  filter: blur(18px);
  animation: sh-pulse 9s ease-in-out infinite;
}

.shop-home .sh-promo--sky .sh-promo__orb {
  background: radial-gradient(circle, rgba(33, 69, 62, 0.4), transparent 66%);
}

.shop-home .sh-promo__copy {
  position: relative;
  z-index: 2;
  max-width: 26rem;
}

.shop-home .sh-promo__tag {
  display: inline-flex;
  padding: 0.3rem 0.8rem;
  border-radius: var(--sh-r-btn);
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(255, 255, 255, 0.85);
  color: var(--sh-blue-deep);
  font-size: 0.74rem;
  font-weight: 700;
}

.shop-home .sh-promo--ink .sh-promo__tag {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.22);
  color: #b9e2db;
}

.shop-home .sh-promo h3 {
  margin: 0.85rem 0 0.6rem;
  font-size: clamp(1.35rem, 2.2vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -0.015em;
}

.shop-home .sh-promo--sky h3 {
  color: var(--sh-ink);
}

.shop-home .sh-promo p {
  margin: 0 0 1.35rem;
  font-size: 0.92rem;
  line-height: 1.7;
  color: var(--sh-muted);
}

.shop-home .sh-promo--ink p {
  color: rgba(217, 240, 235, 0.75);
}

.shop-home .sh-promo--ink .sh-btn--glass {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.24);
  color: #fff;
}

/* ── CMS sections ── */
.shop-home .shop-landing-body {
  padding: 0 0 1.5rem;
}

.shop-home .ms-section,
.shop-home .shop-landing-section {
  position: relative;
  padding: clamp(2.25rem, 4.5vw, 3.5rem) 0;
}

.shop-home .section-head--center {
  justify-content: center;
  text-align: center;
}

.shop-home .spotlight-atmosphere {
  position: absolute;
  inset-block: 0;
  inset-inline-start: 50%;
  margin-inline-start: -50vw;
  width: 100vw;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}

.shop-home .spotlight-atmosphere__orb {
  position: absolute;
  width: 34rem;
  height: 26rem;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.45;
}

.shop-home .spotlight-atmosphere__orb--a {
  top: -9rem;
  inset-inline-start: -10rem;
  background: radial-gradient(circle, rgba(23, 54, 48, 0.34), transparent 70%);
}

.shop-home .spotlight-atmosphere__orb--b {
  bottom: -10rem;
  inset-inline-end: -10rem;
  background: radial-gradient(circle, rgba(33, 69, 62, 0.3), transparent 70%);
}

/* Section washes break out of the centred container so the tint always runs
   edge to edge, whatever constrains the section itself. */
.shop-home .skin-spotlight::before,
.shop-home .skin-fresh::before,
.shop-home .skin-sale::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 50%;
  margin-inline-start: -50vw;
  width: 100vw;
  z-index: -2;
  pointer-events: none;
}

.shop-home .skin-spotlight::before {
  background: linear-gradient(180deg, rgba(236, 247, 245, 0) 0%, rgba(215, 239, 235, 0.92) 32%, rgba(215, 239, 235, 0.92) 70%, rgba(236, 247, 245, 0) 100%);
}

.shop-home .skin-fresh::before {
  background: linear-gradient(180deg, rgba(241, 249, 248, 0) 0%, rgba(227, 244, 241, 0.8) 50%, rgba(241, 249, 248, 0) 100%);
}

.shop-home .skin-sale::before {
  background: linear-gradient(180deg, rgba(255, 245, 246, 0) 0%, rgba(255, 240, 242, 0.7) 50%, rgba(255, 245, 246, 0) 100%);
}

.shop-home .skin-sale .shop-product-add {
  background: linear-gradient(135deg, #ff7a85, #e11d48);
  box-shadow: 0 18px 32px -20px rgba(225, 29, 72, 0.85), inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

/* ── Framed card with a footer panel: spotlight rail + trending mosaic ── */
.shop-home .sh-mosaic .shop-product-card,
.shop-home .skin-spotlight .shop-product-card {
  padding: 0.85rem;
  border-radius: var(--sh-r-xl);
  background: #fff;
  border: 1px solid rgba(7, 10, 9, 0.05);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: 0 28px 56px -34px rgba(11, 20, 18, 0.42);
}

.shop-home .skin-spotlight .shop-product-media {
  aspect-ratio: 1 / 0.84;
  padding: 1.5rem;
  border-radius: var(--sh-r-md);
  background: linear-gradient(165deg, #f4faf9 0%, #e7f5f2 55%, #fbfdfd 100%);
  border: 1px solid rgba(23, 54, 48, 0.08);
}

.shop-home .sh-mosaic .shop-product-badge--pct,
.shop-home .skin-spotlight .shop-product-badge--pct {
  top: 1.4rem;
  inset-inline-start: 1.4rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  width: auto;
  height: auto;
  padding: 0.45rem 0.85rem;
  border-radius: var(--sh-r-md);
  background: linear-gradient(120deg, #43a392, var(--sh-blue));
  box-shadow: 0 16px 28px -16px rgba(23, 54, 48, 0.95);
  font-size: 0.78rem;
}

.shop-home .sh-mosaic .shop-product-badge--pct::after,
.shop-home .skin-spotlight .shop-product-badge--pct::after {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #fff;
}

.shop-home .sh-mosaic .shop-product-wishlist-toggle,
.shop-home .skin-spotlight .shop-product-wishlist-toggle {
  top: 1.3rem;
  inset-inline-end: 1.3rem;
  width: 2.6rem;
  height: 2.6rem;
  background: #fff;
  border-color: rgba(7, 10, 9, 0.06);
  box-shadow: 0 14px 26px -18px rgba(11, 20, 18, 0.7);
  font-size: 1.05rem;
}

.shop-home .sh-mosaic .shop-product-chip,
.shop-home .skin-spotlight .shop-product-chip {
  top: auto;
  bottom: 0.9rem;
  inset-inline-start: 0.9rem;
  border-radius: var(--sh-r-md);
  background: #fff;
  border: 1px solid rgba(23, 54, 48, 0.35);
  color: var(--sh-blue);
}

.shop-home .skin-spotlight .shop-product-body {
  align-items: flex-start;
  gap: 0.35rem;
  padding: 1rem 0.45rem 0.35rem;
}

.shop-home .skin-spotlight .shop-product-title {
  font-size: 1.02rem;
}

.shop-home .skin-spotlight .shop-product-desc {
  display: -webkit-box;
}

.shop-home .skin-spotlight .shop-product-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  width: 100%;
  margin-top: auto;
  padding: 0.7rem;
  border-radius: var(--sh-r-md);
  background: linear-gradient(150deg, rgba(220, 241, 237, 0.9), rgba(245, 251, 250, 0.85));
  border: 1px solid rgba(23, 54, 48, 0.12);
}

.shop-home .skin-spotlight .shop-product-price-row {
  flex-direction: column-reverse;
  align-items: flex-start;
  gap: 0.1rem;
  margin: 0;
}

.shop-home .skin-spotlight .shop-price-compare {
  font-size: 0.85rem;
}

.shop-home .skin-spotlight .shop-product-add {
  flex: 0 0 auto;
  width: auto;
  padding: 0.8rem 1.3rem;
  border-radius: var(--sh-r-btn);
}

/* ── Trending mosaic cards: media beside the copy, action spanning the base.
   The card owns the whole layout, so body/foot collapse to `display: contents`
   and every leaf lands in a named grid area. ── */
.shop-home .sh-mosaic .shop-product-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 43%;
  grid-template-rows: auto auto 1fr auto;
  grid-template-areas:
    "title  media"
    "desc   media"
    "price  media"
    "action action";
  width: 100%;
  padding: 0.7rem;
  column-gap: 0.85rem;
  row-gap: 0.15rem;
  border-radius: var(--sh-r-lg);
}

.shop-home .sh-mosaic .shop-product-media {
  grid-area: media;
  align-self: stretch;
  aspect-ratio: auto;
  min-height: 8rem;
  padding: 1rem;
  border-radius: var(--sh-r-md);
  background: linear-gradient(165deg, #f4faf9 0%, #e7f5f2 55%, #fbfdfd 100%);
  border: 1px solid rgba(23, 54, 48, 0.08);
}

.shop-home .sh-mosaic .shop-product-body {
  display: contents;
}

.shop-home .sh-mosaic .shop-product-title {
  grid-area: title;
  align-self: start;
  padding-top: 0.45rem;
  font-size: 0.95rem;
  line-height: 1.5;
}

.shop-home .sh-mosaic .shop-product-desc {
  grid-area: desc;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  margin-top: 0.3rem;
  font-size: 0.78rem;
}

.shop-home .sh-mosaic .shop-product-price-row {
  grid-area: price;
  align-self: end;
  flex-direction: column-reverse;
  align-items: flex-start;
  gap: 0;
  margin: 0;
  padding-bottom: 0.3rem;
}

.shop-home .sh-mosaic .shop-price-compare {
  font-size: 0.8rem;
}

.shop-home .sh-mosaic .shop-product-add {
  grid-area: action;
  width: 100%;
  margin-top: 0.7rem;
  padding: 0.75rem 1rem;
  border-radius: var(--sh-r-btn);
}

.shop-home .sh-mosaic .shop-product-wishlist-toggle {
  top: 0.6rem;
  inset-inline-end: 0.6rem;
  width: 2rem;
  height: 2rem;
  font-size: 0.85rem;
}

.shop-home .sh-mosaic .shop-product-badge--pct {
  top: 0.6rem;
  inset-inline-start: 0.6rem;
  padding: 0.3rem 0.6rem;
  gap: 0.3rem;
  font-size: 0.68rem;
}

.shop-home .sh-mosaic .shop-product-badge--pct::after {
  width: 0.35rem;
  height: 0.35rem;
}

.shop-home .sh-mosaic .shop-product-badge--out,
.shop-home .sh-mosaic .shop-product-badge--low {
  top: 0.6rem;
  inset-inline-start: 0.6rem;
}

.shop-home .sh-mosaic .shop-product-chip {
  top: auto;
  bottom: 0.6rem;
  inset-inline-start: 0.6rem;
  border-radius: var(--sh-r-md);
  background: #fff;
  border: 1px solid rgba(23, 54, 48, 0.35);
  color: var(--sh-blue);
}

/* Hero cell — same anatomy, larger type and a roomier media panel. */
.shop-home .sh-mosaic__cell--1 .shop-product-card {
  grid-template-columns: minmax(0, 1fr) 46%;
  padding: 1rem;
  column-gap: 1.5rem;
  row-gap: 0.35rem;
  border-radius: var(--sh-r-xl);
}

.shop-home .sh-mosaic__cell--1 .shop-product-media {
  min-height: 14rem;
  padding: 2.25rem;
  border-radius: var(--sh-r-lg);
}

.shop-home .sh-mosaic__cell--1 .shop-product-title {
  padding-top: 1rem;
  font-size: 1.5rem;
  line-height: 1.4;
}

.shop-home .sh-mosaic__cell--1 .shop-product-desc {
  -webkit-line-clamp: 3;
  margin-top: 0.6rem;
  font-size: 0.9rem;
}

.shop-home .sh-mosaic__cell--1 .shop-price {
  font-size: 1.7rem;
}

.shop-home .sh-mosaic__cell--1 .shop-price-compare {
  font-size: 0.95rem;
}

.shop-home .sh-mosaic__cell--1 .shop-product-placeholder {
  width: 5rem;
  height: 5rem;
  font-size: 1.9rem;
}

.shop-home .sh-mosaic__cell--1 .shop-product-add {
  margin-top: 1.15rem;
  padding: 1rem;
  font-size: 1rem;
  border-radius: var(--sh-r-md);
}

.shop-home .sh-mosaic__cell--1 .shop-product-wishlist-toggle {
  top: 1rem;
  inset-inline-end: 1rem;
  width: 2.5rem;
  height: 2.5rem;
  font-size: 1rem;
}

.shop-home .sh-mosaic__cell--1 .shop-product-badge--pct {
  top: 1rem;
  inset-inline-start: 1rem;
  padding: 0.45rem 0.85rem;
  font-size: 0.78rem;
}

.shop-home .sh-mosaic__cell--1 .shop-product-badge--pct::after {
  width: 0.5rem;
  height: 0.5rem;
}

.shop-home .sh-mosaic__cell--1 .shop-product-chip {
  bottom: 1rem;
  inset-inline-start: 1rem;
}

/* CTA band — deep aurora panel. The shared storefront rule paints its copy
   white, so this stays dark rather than glass. */
.shop-home .shop-cta-band {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.5rem 2.5rem;
  padding: clamp(1.85rem, 3.5vw, 3rem);
  border-radius: var(--sh-r-lg);
  border: 1px solid rgba(255, 255, 255, 0.14);
  background-image:
    radial-gradient(rgba(255, 255, 255, 0.14) 1px, transparent 1px),
    radial-gradient(30rem 24rem at 88% -25%, rgba(23, 54, 48, 0.55), transparent 62%),
    radial-gradient(26rem 22rem at 6% 125%, rgba(33, 69, 62, 0.4), transparent 62%),
    linear-gradient(140deg, #0e1816 0%, #070c0b 52%, #050807 100%);
  background-size: 24px 24px, auto, auto, auto;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: 0 44px 88px -44px rgba(6, 10, 9, 0.9), inset 0 1px 0 rgba(255, 255, 255, 0.16);
  color: #e3f4f1;
}

.shop-home .shop-cta-band::before {
  content: "";
  position: absolute;
  inset-inline-start: -30%;
  top: -60%;
  width: 40%;
  height: 220%;
  z-index: -1;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.15) 48%, rgba(255, 255, 255, 0) 100%);
  transform: rotate(12deg);
  animation: sh-beam 11s var(--sh-ease) infinite;
}

.shop-home .shop-cta-band::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(24rem 16rem at var(--lx, 82%) var(--ly, 8%), rgba(255, 255, 255, 0.18), transparent 60%);
  opacity: 0;
  transition: opacity 0.55s var(--sh-ease);
}

.shop-home .shop-cta-band:hover::after {
  opacity: 1;
}

.shop-home .shop-cta-band__orb {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(6px);
}

.shop-home .shop-cta-band__orb--a {
  top: -7rem;
  inset-inline-end: -5rem;
  width: 20rem;
  height: 20rem;
  background: radial-gradient(circle, rgba(46, 113, 101, 0.4), transparent 68%);
  animation: sh-drift-a 16s ease-in-out infinite;
}

.shop-home .shop-cta-band__orb--b {
  bottom: -9rem;
  inset-inline-start: -4rem;
  width: 17rem;
  height: 17rem;
  background: radial-gradient(circle, rgba(33, 69, 62, 0.32), transparent 70%);
  animation: sh-drift-b 19s ease-in-out infinite;
}

.shop-home .shop-cta-band__lead {
  display: flex;
  align-items: center;
  gap: 1.15rem;
  min-width: 0;
}

.shop-home .shop-cta-band__icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: var(--sh-r-md);
  background: linear-gradient(150deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.06));
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 16px 30px -18px rgba(6, 10, 9, 0.9);
  color: #b9e2db;
  font-size: 1.45rem;
}

.shop-home .shop-cta-band__copy {
  min-width: 0;
}

.shop-home .shop-cta-band .shop-section-title {
  font-size: clamp(1.45rem, 2.8vw, 2.05rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
}

.shop-home .shop-cta-band .shop-section-sub {
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(207, 235, 230, 0.72);
}

.shop-home .shop-cta-band__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  justify-self: end;
}

.shop-home .shop-cta-band .btn-shop-cta {
  padding: 0.9rem 1.8rem;
  border-radius: var(--sh-r-btn);
  white-space: nowrap;
  box-shadow: 0 24px 46px -18px rgba(23, 54, 48, 0.95), inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}

.shop-home .shop-cta-band .btn-shop-cta:hover {
  box-shadow: 0 30px 58px -18px rgba(23, 54, 48, 1), inset 0 0 0 1px rgba(255, 255, 255, 0.28);
}

.shop-home .shop-cta-band__ghost {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.9rem 1.5rem;
  border-radius: var(--sh-r-btn);
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #cfebe6;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none;
  transition: background 0.4s var(--sh-ease), border-color 0.4s var(--sh-ease), color 0.3s var(--sh-ease);
}

.shop-home .shop-cta-band__ghost:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(78, 183, 164, 0.45);
  color: #fff;
}

.shop-home .shop-banner-img {
  width: 100%;
  border-radius: var(--sh-r-lg);
  box-shadow: var(--sh-lift);
}

.shop-home .shop-rich-text {
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border-radius: var(--sh-r-lg);
  background: var(--sh-glass-quiet);
  border: 1px solid var(--sh-hairline);
  backdrop-filter: var(--sh-blur);
  -webkit-backdrop-filter: var(--sh-blur);
  line-height: 1.85;
  color: var(--sh-ink-soft);
}

/* ── Scroll reveal ── */
.shop-home [data-reveal] {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.85s var(--sh-ease), transform 0.85s var(--sh-ease);
}

.shop-home [data-reveal].is-inview {
  opacity: 1;
  transform: none;
}

.shop-home .sh-delay-0 {
  transition-delay: 0s;
}

.shop-home .sh-delay-1 {
  transition-delay: 0.06s;
}

.shop-home .sh-delay-2 {
  transition-delay: 0.12s;
}

.shop-home .sh-delay-3 {
  transition-delay: 0.18s;
}

.shop-home .sh-delay-4 {
  transition-delay: 0.24s;
}

.shop-home .sh-delay-5 {
  transition-delay: 0.3s;
}

/* ── Keyframes ── */
@keyframes sh-drift-a {

  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }

  50% {
    transform: translate3d(-4%, 5%, 0) scale(1.09);
  }
}

@keyframes sh-drift-b {

  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1.04);
  }

  50% {
    transform: translate3d(5%, -4%, 0) scale(0.95);
  }
}

@keyframes sh-pulse {

  0%,
  100% {
    opacity: 0.7;
    transform: scale(1);
  }

  50% {
    opacity: 1;
    transform: scale(1.06);
  }
}

@keyframes sh-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes sh-float {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-14px);
  }
}

@keyframes sh-beam {
  0% {
    transform: translateX(-30%) rotate(12deg);
    opacity: 0;
  }

  35% {
    opacity: 0.55;
  }

  100% {
    transform: translateX(320%) rotate(12deg);
    opacity: 0;
  }
}

@keyframes sh-rise {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes sh-stage-in {
  from {
    opacity: 0;
    transform: translateY(26px) scale(0.985);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes sh-cat-breathe {

  0%,
  100% {
    opacity: 0.72;
    transform: scale(0.94);
  }

  50% {
    opacity: 1;
    transform: scale(1.06);
  }
}

@keyframes sh-cat-float {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-5px);
  }
}

@keyframes sh-chip-glow {

  0%,
  100% {
    opacity: 0.4;
    transform: scale(1);
  }

  50% {
    opacity: 0.85;
    transform: scale(1.12);
  }
}

@keyframes sh-chip-sheen {

  0%,
  60%,
  100% {
    transform: translateX(-120%);
  }

  75% {
    transform: translateX(120%);
  }
}

/* ── Motion / responsive ── */
@media (prefers-reduced-motion: reduce) {

  .shop-home .sh-canvas__mesh,
  .shop-home .sh-halo,
  .shop-home .sh-ring,
  .shop-home .sh-showpiece,
  .shop-home .sh-stage,
  .shop-home .sh-stage__beam,
  .shop-home .sh-promo__orb,
  .shop-home .shop-cta-band::before,
  .shop-home .shop-cta-band__orb,
  .shop-home .sh-cat__halo,
  .shop-home .sh-cat__media,
  .shop-home .sh-chip__glow,
  .shop-home .sh-chip:hover .sh-chip__sheen,
  .shop-home .sh-slide.is-active .sh-slide__copy>* {
    animation: none !important;
  }

  .shop-home [data-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@media (max-width: 1199.98px) {
  .shop-home .sh-cats--6 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .shop-home .sh-cats--5 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .shop-home .sh-slide {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .shop-home .sh-stage__track {
    min-height: 0;
  }

  .shop-home .sh-stage {
    padding-bottom: 4rem;
  }

  .shop-home .sh-slide__visual {
    min-height: 17rem;
  }

  .shop-home .sh-ring--2 {
    display: none;
  }

  .shop-home .sh-trust__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .shop-home .sh-cats--4,
  .shop-home .sh-cats--5,
  .shop-home .sh-cats--6 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .shop-home .sh-mosaic {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .shop-home .sh-mosaic__cell--1,
  .shop-home .sh-mosaic__cell--2,
  .shop-home .sh-mosaic__cell--3,
  .shop-home .sh-mosaic__cell--4,
  .shop-home .sh-mosaic__cell--5 {
    grid-column: span 1;
    grid-row: span 1;
  }

  .shop-home .sh-mosaic__cell--1 .shop-product-card {
    grid-template-columns: minmax(0, 1fr) 43%;
    padding: 0.7rem;
    column-gap: 0.85rem;
    border-radius: var(--sh-r-lg);
  }

  .shop-home .sh-mosaic__cell--1 .shop-product-media {
    min-height: 8rem;
    padding: 1rem;
    border-radius: var(--sh-r-md);
  }

  .shop-home .sh-mosaic__cell--1 .shop-product-title {
    padding-top: 0.45rem;
    font-size: 0.95rem;
    line-height: 1.5;
  }

  .shop-home .sh-mosaic__cell--1 .shop-product-desc {
    -webkit-line-clamp: 2;
    margin-top: 0.3rem;
    font-size: 0.78rem;
  }

  .shop-home .sh-mosaic__cell--1 .shop-price {
    font-size: 1.05rem;
  }

  .shop-home .sh-mosaic__cell--1 .shop-price-compare {
    font-size: 0.8rem;
  }

  .shop-home .sh-mosaic__cell--1 .shop-product-add {
    margin-top: 0.7rem;
    padding: 0.75rem 1rem;
    font-size: inherit;
    border-radius: var(--sh-r-btn);
  }

  .shop-home .sh-promos {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .shop-home .sh-stage {
    padding: 1.4rem 1.15rem 4rem;
  }

  .shop-home .sh-facts {
    gap: 1.1rem;
  }

  .shop-home .sh-trust__grid {
    grid-template-columns: 1fr;
  }

  .shop-home .sh-chip {
    padding: 1.1rem 1rem;
    gap: 0.75rem;
  }

  .shop-home .sh-chip__icon {
    width: 2.85rem;
    height: 2.85rem;
    border-radius: 0.9rem;
    font-size: 1.15rem;
  }

  .shop-home .sh-cats,
  .shop-home .sh-cats--4,
  .shop-home .sh-cats--5,
  .shop-home .sh-cats--6 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .shop-home .sh-mosaic {
    grid-template-columns: 1fr;
  }

  .shop-home .ms-rail-nav {
    display: none;
  }

  .shop-home .section-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .shop-home .shop-cta-band {
    grid-template-columns: 1fr;
  }

  .shop-home .shop-cta-band__actions {
    flex-wrap: wrap;
    justify-self: stretch;
  }

  .shop-home .shop-cta-band .btn-shop-cta,
  .shop-home .shop-cta-band__ghost {
    flex: 1 1 auto;
    justify-content: center;
    text-align: center;
  }
}

/* ── Carousel (shared: hero showcase + product carousel) ── */
.shop-carousel {
  position: relative;
}

.shop-carousel-track {
  display: flex;
  gap: 0.85rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding-bottom: 0.15rem;
}

.shop-carousel-track::-webkit-scrollbar {
  display: none;
}

/* Continuously drifting rail: the row is offset per frame, so snapping and
   scroll anchoring would fight the motion. */
.shop-carousel-track.is-flowing {
  scroll-snap-type: none;
  scroll-behavior: auto;
  overflow-anchor: none;
}

.shop-carousel-track.is-flowing>* {
  scroll-snap-align: none;
}

.shop-carousel-nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 50%;
  border: 1px solid var(--shop-border);
  background: var(--shop-surface);
  box-shadow: var(--shop-shadow);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--shop-text);
  z-index: 5;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, transform 0.2s;
}

.shop-carousel-nav-btn:hover {
  background: var(--shop-primary);
  color: #fff;
}

.shop-carousel-nav-btn--prev {
  inset-inline-start: -0.7rem;
}

.shop-carousel-nav-btn--next {
  inset-inline-end: -0.7rem;
}

.shop-shell--rtl .shop-carousel-nav-icon {
  transform: scaleX(-1);
}

.shop-carousel-item {
  flex: 0 0 240px;
  scroll-snap-align: start;
}


.shop-hero-showcase {
  display: flex;
  gap: 0.85rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.shop-hero-showcase::-webkit-scrollbar {
  display: none;
}

.shop-hero-showcase-card {
  display: flex;
  flex-direction: column;
  flex: 0 0 calc(50% - 0.425rem);
  scroll-snap-align: start;
  background: #fff;
  border-radius: var(--shop-radius-lg);
  border: 1px solid var(--shop-border);
  overflow: hidden;
  text-decoration: none;
  color: var(--shop-text);
  box-shadow: var(--shop-shadow);
  transition: transform 0.2s, box-shadow 0.2s;
  min-height: 9.5rem;
}

.shop-hero-showcase-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shop-shadow-hover);
  color: var(--shop-primary);
}

.shop-hero-showcase-card img {
  width: 100%;
  height: 6.5rem;
  object-fit: cover;
}

.shop-hero-showcase-placeholder,
.shop-hero-showcase-cat-icon {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--shop-primary-muted);
  color: var(--shop-primary);
  font-size: 1.75rem;
  min-height: 6.5rem;
}

.shop-hero-showcase-label {
  padding: 0.65rem 0.75rem;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.35;
}

.shop-hero-showcase-card--cat {
  justify-content: center;
  text-align: center;
}

.shop-hero-showcase-empty {
  flex: 1 1 100%;
  text-align: center;
  padding: 2.5rem 1.5rem;
  background: #fff;
  border-radius: var(--shop-radius-lg);
  border: 1px dashed color-mix(in srgb, var(--shop-border) 80%, var(--shop-primary));
  color: var(--shop-text-muted);
}

.shop-hero-showcase-empty i {
  font-size: 2rem;
  color: var(--shop-primary);
  opacity: 0.65;
  margin-bottom: 0.5rem;
}

.shop-hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: 2.5rem;
  padding-top: 1.75rem;
  border-top: 1px solid var(--shop-border);
}

.shop-hero-stat {
  text-align: center;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.75);
  border-radius: var(--shop-radius);
  border: 1px solid var(--shop-border);
}

.shop-hero-stat-value {
  display: block;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  color: var(--shop-primary);
  line-height: 1.1;
}

.shop-hero-stat-label {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--shop-text-muted);
}

/* ── Buttons ── */
.btn-shop-primary {
  background: var(--shop-gradient);
  border: none;
  color: #fff !important;
  font-weight: 700;
  font-size: 0.92rem;
  padding: 0.65rem 1.35rem;
  border-radius: var(--sys-radius);
  box-shadow: 0 4px 14px color-mix(in srgb, var(--shop-primary) 35%, transparent);
  transition: transform 0.15s, box-shadow 0.2s, filter 0.2s;
}

.btn-shop-primary:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  box-shadow: 0 8px 22px color-mix(in srgb, var(--shop-primary) 40%, transparent);
  color: #fff !important;
}

.btn-shop-secondary {
  background: #fff;
  border: 1px solid var(--shop-border);
  color: var(--shop-text) !important;
  font-weight: 700;
  font-size: 0.92rem;
  padding: 0.65rem 1.25rem;
  border-radius: var(--sys-radius);
  transition: border-color 0.2s, color 0.2s, background 0.2s;
}

.btn-shop-secondary:hover {
  border-color: var(--shop-primary);
  color: var(--shop-primary) !important;
  background: var(--shop-primary-muted);
}

.btn-shop-ghost {
  background: transparent;
  border: none;
  color: var(--shop-primary) !important;
  font-weight: 700;
  padding: 0.65rem 0.5rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.btn-shop-ghost:hover {
  text-decoration: underline;
}

/* ── Module grid (hero side) ── */
.shop-module-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.65rem;
}

.shop-module-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 1rem 0.4rem;
  background: #fff;
  border-radius: var(--shop-radius);
  border: 1px solid var(--shop-border);
  text-decoration: none;
  color: var(--shop-text);
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
  box-shadow: var(--shop-shadow);
}

.shop-module-tile:hover {
  transform: translateY(-3px);
  box-shadow: var(--shop-shadow-hover);
  border-color: color-mix(in srgb, var(--shop-primary) 25%, transparent);
  color: var(--shop-primary);
}

.shop-module-tile-icon {
  width: 2.75rem;
  height: 2.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--sys-radius);
  background: var(--shop-primary-soft);
  color: var(--shop-primary);
  font-size: 1.2rem;
}

.shop-module-tile-label {
  font-size: 0.72rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.25;
}

/* ── Landing sections ── */
.shop-landing-body {
  padding: 1.5rem 0 3rem;
}

.shop-landing-section {
  margin-bottom: 3.75rem;
}

.shop-landing-section--elevated {
  padding: 2.5rem 0;
  background: #fff;
  border-block: 1px solid var(--shop-border);
  margin-inline: calc(-1 * var(--bs-gutter-x, 0.75rem));
  padding-inline: var(--bs-gutter-x, 0.75rem);
}

.shop-section-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1.65rem;
}

.shop-section-header--center {
  justify-content: center;
  text-align: center;
}

.shop-section-header-copy {
  max-width: 42rem;
}

.shop-section-title {
  font-size: clamp(1.35rem, 2.8vw, 1.85rem);
  font-weight: 900;
  letter-spacing: -0.025em;
  color: var(--shop-text);
  margin: 0;
}

.shop-section-sub {
  color: var(--shop-text-muted);
  margin: 0.45rem 0 0;
  font-size: 0.98rem;
  line-height: 1.65;
  max-width: 36rem;
}

.shop-section-sub--wide {
  max-width: 42rem;
  margin-inline: auto;
}

.shop-section-link {
  font-weight: 700;
  font-size: 0.88rem;
  color: var(--shop-primary);
  text-decoration: none;
  white-space: nowrap;
}

.shop-section-link:hover {
  text-decoration: underline;
}

/* ── Feature cards ── */
.shop-feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
}

.shop-feature-card {
  background: #fff;
  border-radius: var(--shop-radius);
  padding: 1.35rem;
  border: 1px solid var(--shop-border);
  box-shadow: var(--shop-shadow);
  transition: transform 0.2s, box-shadow 0.2s;
}

.shop-feature-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shop-shadow-hover);
}

.shop-feature-icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--sys-radius);
  background: var(--shop-secondary-soft);
  color: var(--shop-secondary);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.85rem;
  font-size: 1.2rem;
}

.shop-feature-card h3 {
  font-size: 1rem;
  font-weight: 800;
  color: var(--shop-text);
  margin-bottom: 0.35rem;
}

.shop-feature-card p {
  font-size: 0.88rem;
  color: var(--shop-text-muted);
  margin: 0;
  line-height: 1.55;
}

/* ── Categories ── */
.shop-cat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 0.85rem;
}

.shop-cat-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 110px;
  padding: 1rem;
  background: #fff;
  border: 1px solid var(--shop-border);
  border-radius: var(--shop-radius);
  font-weight: 700;
  font-size: 0.9rem;
  text-decoration: none;
  color: var(--shop-text);
  box-shadow: var(--shop-shadow);
  transition: transform 0.2s, border-color 0.2s, color 0.2s;
}

.shop-cat-card:hover {
  transform: translateY(-3px);
  border-color: var(--shop-primary);
  color: var(--shop-primary);
}

.shop-cat-card-icon {
  width: 44px;
  height: 44px;
  border-radius: var(--sys-radius);
  background: var(--shop-primary-soft);
  color: var(--shop-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
}

.shop-cat-card--image {
  position: relative;
  padding: 0;
  overflow: hidden;
  min-height: 140px;
  align-items: stretch;
  justify-content: flex-end;
}

.shop-cat-card--image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.shop-cat-card--image:hover img {
  transform: scale(1.06);
}

.shop-cat-card--image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(7, 10, 9, 0.75), rgba(7, 10, 9, 0) 60%);
}

.shop-cat-card-label {
  position: relative;
  z-index: 1;
  padding: 0.75rem;
  color: #fff;
  font-weight: 800;
}

/* ── Product cards ── */
.shop-product-card {
  border: 1px solid var(--shop-border);
  border-radius: var(--shop-radius);
  background: #fff;
  overflow: hidden;
  box-shadow: var(--shop-shadow);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
  height: 100%;
}

.shop-product-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shop-shadow-hover);
}

.shop-product-media {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  background: var(--shop-surface-2);
  overflow: hidden;
}

.shop-product-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.shop-product-card:hover .shop-product-media img {
  transform: scale(1.04);
}

.shop-product-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--shop-text-muted);
  font-size: 2.5rem;
  opacity: 0.35;
}

.shop-product-badge {
  position: absolute;
  top: 10px;
  inset-inline-start: 10px;
  padding: 0.2rem 0.55rem;
  border-radius: var(--sys-radius);
  background: var(--shop-primary);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.shop-product-badge--sale {
  background: var(--shop-danger);
}

.shop-product-badge--out {
  background: var(--shop-muted);
}

.shop-product-badge--low {
  background: var(--shop-warning);
}

.shop-product-card--out {
  opacity: 0.88;
}

.shop-product-card--out .shop-product-media img {
  filter: grayscale(0.35);
}

.shop-product-wishlist-toggle {
  position: absolute;
  top: 10px;
  inset-inline-end: 10px;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: var(--sys-radius);
  background: rgba(255, 255, 255, 0.9);
  color: var(--shop-text-muted, #64748b);
  font-size: 1rem;
  cursor: pointer;
  transition: color 0.2s ease, transform 0.2s ease;
}

.shop-product-wishlist-toggle:hover {
  transform: scale(1.08);
}

.shop-product-wishlist-toggle.is-active {
  color: var(--shop-danger);
}

.shop-product-stock-hint {
  font-size: 0.78rem;
  color: var(--shop-text-muted);
  margin: -0.35rem 0 0.65rem;
}

.shop-product-stock {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.9rem;
  font-weight: 600;
  margin: 0 0 0.75rem;
}

.shop-product-stock--out {
  color: var(--shop-muted);
}

.shop-product-stock--low {
  color: var(--shop-warning);
}

.shop-product-add:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.shop-product-body {
  padding: 1rem 1rem 1.1rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* Grouping hook only — price and CTA stay direct flex children unless a
   skinned rail opts into laying the footer out. */
.shop-product-foot {
  display: contents;
}

.shop-product-title {
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.35;
  margin: 0 0 0.35rem;
}

.shop-product-title a {
  color: var(--shop-text);
  text-decoration: none;
}

.shop-product-title a:hover {
  color: var(--shop-primary);
}

.shop-product-desc {
  font-size: 0.8rem;
  color: var(--shop-text-muted);
  line-height: 1.45;
  margin-bottom: 0.75rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex-grow: 1;
}

.shop-product-price-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 0.75rem;
}

.shop-price {
  font-weight: 900;
  font-size: 1.05rem;
  color: var(--shop-price-color);
}

.shop-price-compare {
  text-decoration: line-through;
  color: var(--shop-text-muted);
  font-size: 0.82rem;
  font-weight: 600;
}

.shop-product-rating {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.5rem;
  font-size: 0.8rem;
}

.shop-product-rating .text-warning {
  color: var(--shop-rating-star) !important;
  font-size: 0.78rem;
  letter-spacing: 0.05em;
}

.shop-product-rating .text-muted {
  color: var(--shop-text-muted) !important;
  font-size: 0.78rem;
}

.shop-product-add {
  width: 100%;
  border: none;
  border-radius: var(--sys-radius);
  padding: 0.55rem 1rem;
  font-weight: 700;
  font-size: 0.85rem;
  background: var(--shop-primary-soft);
  color: var(--shop-primary);
  transition: background 0.2s, color 0.2s, transform 0.15s;
}

.shop-product-add:hover {
  background: var(--shop-primary);
  color: #fff;
}

.shop-product-add.is-added {
  background: var(--shop-success);
  color: #fff;
}

/* ── CTA band ── */
.shop-cta-band {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 2rem;
  background: var(--shop-gradient);
  border-radius: var(--shop-radius-lg);
  color: #fff;
  box-shadow: 0 12px 40px color-mix(in srgb, var(--shop-primary) 30%, transparent);
}

.shop-cta-band .shop-section-title,
.shop-cta-band .shop-section-sub {
  color: #fff;
}

.shop-cta-band .btn-shop-cta {
  background: #fff;
  color: var(--shop-primary) !important;
  font-weight: 800;
  border-radius: var(--sys-radius);
  padding: 0.65rem 1.5rem;
  border: none;
  text-decoration: none;
  white-space: nowrap;
}

.shop-cta-band .btn-shop-cta:hover {
  filter: brightness(1.05);
  color: var(--shop-primary) !important;
}

/* ── Footer ── */
.shop-footer {
  --sh-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --footer-ink: #09100f;
  --footer-muted: #5f7291;
  --footer-line: rgba(23, 54, 48, 0.13);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-top: clamp(3rem, 7vw, 6rem);
  padding: clamp(3rem, 6vw, 5rem) 0 1.4rem;
  background:
    radial-gradient(48rem 25rem at 8% 25%, rgba(23, 54, 48, 0.12), transparent 68%),
    radial-gradient(42rem 24rem at 92% 85%, rgba(33, 69, 62, 0.1), transparent 68%),
    linear-gradient(155deg, #f8fcfc 0%, #ecf7f5 50%, #fbfdfd 100%);
  color: var(--footer-ink);
}

.shop-footer::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: min(78rem, 92vw);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(23, 54, 48, 0.5), transparent);
  box-shadow: 0 0 24px rgba(23, 54, 48, 0.22);
}

.shop-footer-atmosphere {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}

.shop-footer-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(18px);
  will-change: transform;
}

.shop-footer-orb--a {
  width: 28rem;
  height: 28rem;
  top: -14rem;
  inset-inline-start: -8rem;
  background: radial-gradient(circle, rgba(23, 54, 48, 0.2), transparent 68%);
  animation: shop-footer-drift-a 18s ease-in-out infinite;
}

.shop-footer-orb--b {
  width: 24rem;
  height: 24rem;
  bottom: -13rem;
  inset-inline-end: -7rem;
  background: radial-gradient(circle, rgba(33, 69, 62, 0.16), transparent 68%);
  animation: shop-footer-drift-b 21s ease-in-out infinite;
}

.shop-footer-grid-light {
  position: absolute;
  inset: 0;
  opacity: 0.2;
  background-image:
    linear-gradient(rgba(23, 54, 48, 0.16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23, 54, 48, 0.16) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, transparent, #000 22%, #000 78%, transparent);
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 22%, #000 78%, transparent);
}

.shop-footer-shell {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: var(--sys-radius, 0.75rem);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.8), rgba(246, 251, 250, 0.58));
  backdrop-filter: blur(24px) saturate(1.35);
  -webkit-backdrop-filter: blur(24px) saturate(1.35);
  box-shadow:
    inset 0 1px 0 #fff,
    0 35px 75px -42px rgba(23, 45, 41, 0.35),
    0 0 0 1px rgba(23, 54, 48, 0.06);
}

.shop-footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 0.85rem;
  color: var(--footer-ink);
  font-size: 1.25rem;
  font-weight: 900;
  text-decoration: none;
}

.shop-footer-brand:hover {
  color: var(--adm-brand-600, #172d29);
}

.shop-footer-brand-mark {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: var(--sys-radius, 0.75rem);
  background: linear-gradient(145deg, rgba(46, 113, 101, 0.9), rgba(23, 45, 41, 0.75));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.35),
    0 16px 30px -16px rgba(23, 54, 48, 0.9);
  color: #fff;
  font-size: 1.3rem;
  transition: transform 0.45s var(--sh-ease), box-shadow 0.45s var(--sh-ease);
}

.shop-footer-brand:hover .shop-footer-brand-mark {
  transform: translateY(-3px) rotate(-4deg);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.42),
    0 22px 38px -14px rgba(23, 54, 48, 1);
}

.shop-footer-brand-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0.4rem;
}

.shop-footer-tagline {
  max-width: 34rem;
  margin: 0 0 1.2rem;
  color: var(--footer-muted);
  font-size: 0.9rem;
  line-height: 1.8;
}

.shop-footer-grid {
  display: grid;
  grid-template-columns: minmax(16rem, 1.7fr) repeat(3, minmax(8rem, 0.75fr));
  gap: clamp(2rem, 4vw, 4.5rem);
  padding: clamp(2rem, 4vw, 3.5rem);
}

.shop-footer-brand-column,
.shop-footer-nav-column {
  min-width: 0;
}

.shop-footer-heading {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.15rem;
  color: var(--footer-ink);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.shop-footer-heading::before {
  content: "";
  width: 1.35rem;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #3e9888, #21453e);
  box-shadow: 0 0 12px rgba(33, 69, 62, 0.45);
}

.shop-footer-links a,
.shop-footer-contact a {
  color: #657896;
  text-decoration: none;
  font-size: 0.88rem;
  line-height: 1.7;
  transition: color 0.35s var(--sh-ease), transform 0.35s var(--sh-ease);
}

.shop-footer-links {
  display: grid;
  gap: 0.3rem;
  margin: 0;
}

.shop-footer-links a {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-block: 0.25rem;
}

.shop-footer-links a::before {
  content: "";
  width: 0;
  height: 1px;
  margin-inline-end: 0;
  background: #4eb7a4;
  transition: width 0.35s var(--sh-ease), margin 0.35s var(--sh-ease);
}

.shop-footer-links a:hover,
.shop-footer-contact a:hover {
  color: var(--adm-brand-600, #172d29);
  transform: translateX(-2px);
}

.shop-shell--ltr .shop-footer-links a:hover,
.shop-shell--ltr .shop-footer-contact a:hover {
  transform: translateX(2px);
}

.shop-footer-links a:hover::before {
  width: 0.75rem;
  margin-inline-end: 0.4rem;
}

/* ── Footer trust row + newsletter ── */
.shop-footer-trust {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--footer-line);
}

.shop-footer-trust-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-width: 0;
  padding: 1.25rem 1rem;
  border-inline-end: 1px solid var(--footer-line);
  color: #536987;
  font-size: 0.82rem;
  font-weight: 700;
  text-align: center;
  transition: background 0.4s var(--sh-ease), color 0.4s var(--sh-ease);
}

.shop-footer-trust-item:last-child {
  border-inline-end: 0;
}

.shop-footer-trust-item:hover {
  background: rgba(23, 54, 48, 0.055);
  color: var(--adm-brand-600, #172d29);
}

.shop-footer-trust-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2.3rem;
  height: 2.3rem;
  border: 1px solid rgba(23, 54, 48, 0.18);
  border-radius: var(--sys-radius, 0.75rem);
  background: rgba(23, 54, 48, 0.12);
  color: var(--adm-brand-600, #173630);
  font-size: 1rem;
  box-shadow: inset 0 1px 0 #fff, 0 10px 22px -18px rgba(23, 54, 48, 0.65);
  transition: transform 0.4s var(--sh-ease), background 0.4s var(--sh-ease);
}

.shop-footer-trust-item:hover .shop-footer-trust-icon {
  transform: translateY(-2px) scale(1.05);
  background: rgba(23, 54, 48, 0.22);
}

.shop-footer-newsletter {
  margin-top: 1.35rem;
}

.shop-footer-newsletter-form {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  max-width: 27rem;
  padding: 0.35rem;
  border: 1px solid rgba(23, 54, 48, 0.14);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: inset 0 1px 0 #fff, 0 12px 26px -22px rgba(23, 45, 41, 0.45);
}

.shop-footer-newsletter-icon {
  flex: 0 0 auto;
  margin-inline-start: 0.6rem;
  color: var(--adm-brand-600, #173630);
}

.shop-footer-newsletter-input {
  min-width: 0;
  flex: 1;
  padding: 0.5rem 0.25rem;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--footer-ink);
  font-size: 0.85rem;
}

.shop-footer-newsletter-input::placeholder {
  color: #8393aa;
}

.shop-footer-newsletter-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border: 1px solid rgba(23, 54, 48, 0.16);
  border-radius: 0.7rem;
  padding: 0.48rem 0.8rem;
  background: rgba(23, 54, 48, 0.13);
  color: var(--adm-brand-600, #172d29);
  font-size: 0.75rem;
  font-weight: 700;
  white-space: nowrap;
}

.shop-footer-contact {
  display: grid;
  gap: 0.35rem;
}

.shop-footer-contact i {
  margin-inline-end: 0.4rem;
  color: var(--adm-brand-600, #173630);
}

.shop-footer-cms {
  margin-inline: clamp(2rem, 4vw, 3.5rem);
  padding: 1.25rem 0;
  border-top: 1px solid var(--footer-line);
  color: var(--footer-muted);
}

.shop-footer-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  padding: 1.1rem clamp(2rem, 4vw, 3.5rem);
  border-top: 1px solid var(--footer-line);
  font-size: 0.82rem;
  color: #71829b;
}

.shop-footer-bottom-dot {
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 50%;
  background: #2e7165;
  box-shadow: 0 0 8px rgba(46, 113, 101, 0.8);
}

.shop-footer-staff {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-inline-start: auto;
  padding: 0.45rem 0.75rem;
  border: 1px solid rgba(23, 54, 48, 0.12);
  border-radius: 0.7rem;
  background: rgba(255, 255, 255, 0.62);
  color: #71829b;
  text-decoration: none;
  transition: color 0.35s var(--sh-ease), background 0.35s var(--sh-ease), border-color 0.35s var(--sh-ease);
}

.shop-footer-staff:hover {
  border-color: rgba(23, 54, 48, 0.28);
  background: rgba(23, 54, 48, 0.1);
  color: var(--adm-brand-600, #172d29);
}

@keyframes shop-footer-drift-a {

  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }

  50% {
    transform: translate3d(4rem, 2rem, 0) scale(1.08);
  }
}

@keyframes shop-footer-drift-b {

  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1.05);
  }

  50% {
    transform: translate3d(-3rem, -2rem, 0) scale(0.94);
  }
}

@media (max-width: 991.98px) {
  .shop-footer-trust {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .shop-footer-trust-item:nth-child(2) {
    border-inline-end: 0;
  }

  .shop-footer-trust-item:nth-child(-n+2) {
    border-bottom: 1px solid var(--footer-line);
  }

  .shop-footer-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .shop-footer-brand-column {
    grid-column: 1 / -1;
  }
}

@media (max-width: 575.98px) {
  .shop-footer {
    padding-top: 2rem;
  }

  .shop-footer-shell {
    border-radius: var(--sys-radius, 0.75rem);
  }

  .shop-footer-trust {
    grid-template-columns: 1fr;
  }

  .shop-footer-trust-item {
    justify-content: flex-start;
    border-inline-end: 0;
    border-bottom: 1px solid var(--footer-line);
    padding: 0.9rem 1rem;
    text-align: start;
  }

  .shop-footer-trust-item:nth-child(2) {
    border-bottom: 1px solid var(--footer-line);
  }

  .shop-footer-trust-item:last-child {
    border-bottom: 0;
  }

  .shop-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem 1.25rem;
    padding: 1.5rem 1.15rem 2rem;
  }

  .shop-footer-brand-column,
  .shop-footer-nav-column--wide {
    grid-column: 1 / -1;
  }

  .shop-footer-bottom {
    padding-inline: 1.15rem;
  }

  .shop-footer-bottom>span:nth-child(3),
  .shop-footer-bottom-dot {
    display: none;
  }

  .shop-footer-staff {
    width: 100%;
    margin-inline-start: 0;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .shop-footer-orb {
    animation: none !important;
  }
}

/* ── Toast ── */
.shop-toast-host {
  position: fixed;
  bottom: 1.25rem;
  inset-inline-end: 1.25rem;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  pointer-events: none;
}

.shop-toast {
  background: var(--shop-text);
  color: #fff;
  padding: 0.75rem 1.1rem;
  border-radius: var(--sys-radius);
  font-size: 0.88rem;
  font-weight: 600;
  box-shadow: var(--shop-shadow-hover);
  animation: shopToastIn 0.3s ease;
}

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

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

.shop-qty-input {
  width: 72px;
}

/* ── Catalog & filters ── */
.shop-catalog-page {
  padding-bottom: 3rem;
}

.shop-category-banner {
  position: relative;
  border-radius: var(--shop-radius-lg);
  overflow: hidden;
  min-height: 12rem;
  display: flex;
  align-items: flex-end;
}

.shop-category-banner img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.shop-category-banner-overlay {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 1.5rem;
  background: linear-gradient(to top, rgba(7, 10, 9, 0.8), rgba(7, 10, 9, 0) 70%);
}

.shop-category-banner-overlay .shop-section-title,
.shop-category-banner-overlay .shop-section-sub {
  color: #fff;
}

.shop-filter-panel {
  background: #fff;
  border: 1px solid var(--shop-border);
  border-radius: var(--shop-radius);
  padding: 1.25rem;
  box-shadow: var(--shop-shadow);
  position: sticky;
  top: 6.5rem;
}

.shop-filter-title {
  font-size: 1rem;
  font-weight: 800;
  margin-bottom: 1rem;
  color: var(--shop-text);
}

.shop-filter-form {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.shop-filter-group {
  border-top: 1px solid var(--shop-border);
  padding-top: 0.65rem;
}

.shop-filter-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: none;
  border: none;
  padding: 0 0 0.5rem;
  font-weight: 800;
  font-size: 0.85rem;
  color: var(--shop-text);
}

.shop-filter-group-head i {
  font-size: 0.7rem;
  color: var(--shop-text-muted);
  transition: transform 0.2s ease;
}

.shop-filter-group-head[aria-expanded="true"] i {
  transform: rotate(180deg);
}

.shop-filter-label {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--shop-text-muted);
  margin-bottom: 0.35rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.shop-filter-field .form-control,
.shop-filter-field .form-select {
  border-radius: var(--sys-radius);
  border-color: var(--shop-border);
  font-size: 0.9rem;
}

.shop-filter-field .form-control:focus,
.shop-filter-field .form-select:focus {
  border-color: color-mix(in srgb, var(--shop-primary) 45%, transparent);
  box-shadow: 0 0 0 3px var(--shop-primary-soft);
}

.shop-empty-state {
  text-align: center;
  padding: 3rem 1.75rem;
  background: #fff;
  border-radius: var(--shop-radius-lg);
  border: 1px solid var(--shop-border);
  box-shadow: var(--shop-shadow);
}

/* ── Pagination ── */
.shop-pagination-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--shop-border);
}

.shop-pagination-count {
  font-size: 0.85rem;
  color: var(--shop-text-muted);
}

.shop-pagination {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.shop-pagination-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.1rem;
  height: 2.1rem;
  padding: 0 0.5rem;
  border-radius: var(--sys-radius);
  border: 1px solid var(--shop-border);
  background: #fff;
  color: var(--shop-text);
  font-weight: 700;
  font-size: 0.85rem;
  text-decoration: none;
  transition: border-color 0.2s, color 0.2s, background 0.2s;
}

.shop-pagination-link:hover:not(.shop-pagination-link--disabled):not(.shop-pagination-link--active) {
  border-color: var(--shop-primary);
  color: var(--shop-primary);
  background: var(--shop-primary-muted);
}

.shop-pagination-link--active {
  background: var(--shop-gradient);
  border-color: transparent;
  color: #fff !important;
}

.shop-pagination-link--disabled {
  opacity: 0.4;
  pointer-events: none;
}

.shop-empty-state-icon {
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--sys-radius);
  background: var(--shop-primary-muted);
  color: var(--shop-primary);
  font-size: 1.65rem;
}

.shop-empty-state-title {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--shop-text);
  margin: 0 0 0.5rem;
}

.shop-empty-state-hint {
  font-size: 0.92rem;
  color: var(--shop-text-muted);
  max-width: 28rem;
  margin: 0 auto 1.15rem;
  line-height: 1.65;
}

.shop-empty-icon {
  font-size: 2.5rem;
  color: var(--shop-text-muted);
  opacity: 0.45;
  margin-bottom: 0.75rem;
}

.shop-empty-text {
  color: var(--shop-text-muted);
  margin-bottom: 0.5rem;
  font-weight: 700;
}

.shop-empty-hint {
  color: var(--shop-text-muted);
  font-size: 0.92rem;
  margin-bottom: 1rem;
  max-width: 28rem;
  margin-inline: auto;
}

/* ── Banner & rich text ── */
.shop-banner-link {
  display: block;
  border-radius: var(--shop-radius-lg);
  overflow: hidden;
  box-shadow: var(--shop-shadow);
}

.shop-banner-img {
  width: 100%;
  height: auto;
  display: block;
}

.shop-rich-text {
  background: #fff;
  border-radius: var(--shop-radius);
  padding: 1.5rem;
  border: 1px solid var(--shop-border);
  line-height: 1.7;
  color: var(--shop-text-muted);
}

/* ── Product detail ── */
.shop-product-detail-media {
  background: #fff;
  border-radius: var(--shop-radius-lg);
  border: 1px solid var(--shop-border);
  overflow: hidden;
  box-shadow: var(--shop-shadow);
  aspect-ratio: 1 / 1;
  cursor: zoom-in;
}

.shop-product-detail-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.shop-product-detail-media:hover img {
  transform: scale(1.15);
}

.shop-product-detail-title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  margin-bottom: 0.35rem;
}

.shop-product-detail-sku {
  color: var(--shop-text-muted);
  font-size: 0.88rem;
  margin-bottom: 1rem;
}

.shop-product-detail-desc {
  color: var(--shop-text-muted);
  line-height: 1.65;
  margin-bottom: 1.5rem;
}

.shop-product-detail-price .shop-price {
  font-size: 1.5rem;
}

.shop-product-detail-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
}

.shop-product-buybox {
  background: var(--shop-surface);
  border: 1px solid var(--shop-border);
  border-radius: var(--shop-radius-lg);
  box-shadow: var(--shop-shadow);
  padding: 1.25rem;
  margin-top: 1rem;
}

@media (min-width: 992px) {
  .shop-product-buybox {
    position: sticky;
    top: 6.5rem;
  }
}

.shop-review-item {
  display: flex;
  gap: 0.85rem;
  background: var(--shop-surface);
  border: 1px solid var(--shop-border);
  border-radius: var(--shop-radius);
  padding: 1rem;
  margin-bottom: 0.85rem;
}

.shop-review-avatar {
  flex: 0 0 auto;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: var(--shop-primary-soft);
  color: var(--shop-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 1rem;
}

.shop-review-body {
  flex: 1;
  min-width: 0;
}

.shop-review-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

.shop-review-comment {
  color: var(--shop-text-muted);
  margin-top: 0.35rem;
  line-height: 1.55;
}

/* ── Page shell (cart, checkout, auth, account, content) ── */
.shop-page-shell {
  padding: 2rem 0 3.5rem;
}

.shop-page-header {
  margin-bottom: 1.5rem;
}

.shop-panel {
  background: #fff;
  border: 1px solid var(--shop-border);
  border-radius: var(--shop-radius);
  box-shadow: var(--shop-shadow);
  overflow: hidden;
}

.shop-panel-body {
  padding: 1.25rem 1.35rem;
}

.shop-panel-heading {
  font-size: 1rem;
  font-weight: 800;
  color: var(--shop-text);
  margin: 0 0 1rem;
}

/* ── Cart ── */
.shop-cart-line {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem 0;
  border-bottom: 1px solid var(--shop-border);
}

.shop-cart-line:last-child {
  border-bottom: 0;
}

.shop-cart-line-thumb {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: var(--shop-radius);
  overflow: hidden;
  background: var(--shop-surface-2);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--shop-text-muted);
  font-size: 1.2rem;
}

.shop-cart-line-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.shop-cart-line-info strong {
  display: block;
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--shop-text);
  margin-bottom: 0.2rem;
}

.shop-cart-line-meta {
  font-size: 0.82rem;
  color: var(--shop-text-muted);
}

.shop-cart-line-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.shop-cart-remove {
  width: 36px;
  height: 36px;
  border-radius: var(--sys-radius);
  border: 1px solid var(--shop-border);
  background: #fff;
  color: var(--shop-danger);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, border-color 0.2s;
}

.shop-cart-remove:hover {
  background: var(--shop-danger-soft);
  border-color: color-mix(in srgb, var(--shop-danger) 35%, transparent);
}

.shop-cart-summary {
  position: sticky;
  top: 6.5rem;
}

.shop-cart-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 0.75rem;
  font-size: 0.92rem;
  color: var(--shop-text-muted);
}

.shop-cart-summary-total {
  font-size: 1.35rem;
  font-weight: 900;
  color: var(--shop-price-color);
}

.shop-cart-summary-trust {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-top: 0.85rem;
  font-size: 0.78rem;
  color: var(--shop-text-muted);
}

.shop-cart-summary-trust i {
  color: var(--shop-secondary);
  margin-inline-end: 0.3rem;
}

.shop-cart-empty {
  text-align: center;
  padding: 2.5rem 1rem;
}

.shop-cart-empty i {
  font-size: 2.75rem;
  color: var(--shop-text-muted);
  opacity: 0.35;
  margin-bottom: 0.75rem;
}

/* ── Checkout ── */
.shop-checkout-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 1.5rem;
  align-items: start;
}

.shop-form-field {
  margin-bottom: 0.85rem;
}

.shop-form-label {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--shop-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.35rem;
}

.shop-form-field .form-control,
.shop-form-field .form-select {
  border-radius: var(--sys-radius);
  border-color: var(--shop-border);
  padding: 0.65rem 0.85rem;
}

.shop-form-field .form-control:focus {
  border-color: color-mix(in srgb, var(--shop-primary) 45%, transparent);
  box-shadow: 0 0 0 3px var(--shop-primary-soft);
}

.shop-checkout-trust {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.82rem;
  color: var(--shop-text-muted);
  margin-top: 1rem;
}

.shop-checkout-trust i {
  color: var(--shop-secondary);
}

.shop-checkout-line {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid var(--shop-border);
  font-size: 0.88rem;
}

.shop-checkout-line:last-child {
  border-bottom: 0;
}

.shop-checkout-line-name {
  font-weight: 700;
  color: var(--shop-text);
}

.shop-checkout-line-qty {
  color: var(--shop-text-muted);
  font-size: 0.78rem;
}

/* ── Auth (register) ── */
.shop-auth-page {
  display: flex;
  justify-content: center;
  padding: 2.5rem 0 3.5rem;
}

.shop-auth-card {
  width: 100%;
  max-width: 440px;
  background: #fff;
  border: 1px solid var(--shop-border);
  border-radius: var(--shop-radius-lg);
  box-shadow: var(--shop-shadow-hover);
  padding: 2rem 1.75rem;
}

.shop-auth-card-icon {
  width: 52px;
  height: 52px;
  border-radius: var(--sys-radius);
  background: var(--shop-primary-soft);
  color: var(--shop-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  margin-bottom: 1rem;
}

.shop-auth-card-title {
  font-size: 1.35rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  margin-bottom: 0.35rem;
}

.shop-auth-card-sub {
  color: var(--shop-text-muted);
  font-size: 0.92rem;
  margin-bottom: 1.35rem;
}

.shop-auth-footer {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--shop-border);
  font-size: 0.88rem;
  color: var(--shop-text-muted);
  text-align: center;
}

.shop-auth-footer a {
  color: var(--shop-primary);
  font-weight: 700;
  text-decoration: none;
}

.shop-auth-footer a:hover {
  text-decoration: underline;
}

/* ── Static content pages ── */
.shop-content-page {
  padding: 2rem 0 3.5rem;
  max-width: 820px;
}

.shop-content-body {
  background: #fff;
  border: 1px solid var(--shop-border);
  border-radius: var(--shop-radius-lg);
  padding: 1.75rem;
  box-shadow: var(--shop-shadow);
  line-height: 1.75;
  color: var(--shop-text-muted);
}

.shop-content-body h2,
.shop-content-body h3 {
  color: var(--shop-text);
  font-weight: 800;
  margin-top: 1.5rem;
}

.shop-contact-card {
  display: grid;
  gap: 0.85rem;
  margin-bottom: 1.5rem;
}

.shop-contact-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  background: var(--shop-surface-2);
  border-radius: var(--shop-radius);
  color: var(--shop-text);
  text-decoration: none;
  font-weight: 600;
  transition: background 0.2s, color 0.2s;
}

.shop-contact-item:hover {
  background: var(--shop-primary-soft);
  color: var(--shop-primary);
}

.shop-contact-item i {
  width: 36px;
  height: 36px;
  border-radius: var(--sys-radius);
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--shop-primary);
  flex-shrink: 0;
}

/* ── Message pages (closed / unavailable) ── */
.shop-message-main {
  display: flex;
  align-items: center;
  min-height: 55vh;
}

.shop-message-card {
  max-width: 480px;
  margin: 0 auto;
  text-align: center;
  background: #fff;
  border: 1px solid var(--shop-border);
  border-radius: var(--shop-radius-lg);
  padding: 2.5rem 2rem;
  box-shadow: var(--shop-shadow);
}

.shop-message-icon {
  width: 64px;
  height: 64px;
  border-radius: var(--sys-radius);
  background: var(--shop-primary-soft);
  color: var(--shop-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  margin-bottom: 1rem;
}

.shop-message-title {
  font-size: 1.35rem;
  font-weight: 900;
  margin-bottom: 0.5rem;
}

.shop-message-text {
  color: var(--shop-text-muted);
  margin-bottom: 1.25rem;
  line-height: 1.6;
}

.shop-footer--minimal {
  margin-top: 0;
  padding: 1.25rem 0;
}

/* ── Account enhancements ── */
.shop-account-page {
  padding: 2rem 0 3.5rem;
}

.shop-account-header .shop-section-title {
  margin-bottom: 0.35rem;
}

.shop-data-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.shop-data-table thead th {
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--shop-text-muted);
  padding: 0.65rem 0.75rem;
  border-bottom: 1px solid var(--shop-border);
  background: var(--shop-surface-2);
}

.shop-data-table thead th:first-child {
  border-radius: var(--sys-radius) 0 0 0;
}

.shop-data-table thead th:last-child {
  border-radius: 0 10px 0 0;
}

.shop-shell--rtl .shop-data-table thead th:first-child {
  border-radius: 0 10px 0 0;
}

.shop-shell--rtl .shop-data-table thead th:last-child {
  border-radius: var(--sys-radius) 0 0 0;
}

.shop-data-table tbody td {
  padding: 0.85rem 0.75rem;
  border-bottom: 1px solid var(--shop-border);
  font-size: 0.9rem;
  vertical-align: middle;
}

.shop-data-table tbody tr:last-child td {
  border-bottom: 0;
}

.shop-data-table tbody tr:hover {
  background: var(--shop-primary-muted);
}

.shop-data-table a {
  color: var(--shop-primary);
  font-weight: 700;
  text-decoration: none;
}

.shop-data-table a:hover {
  text-decoration: underline;
}

.shop-order-status--submitted {
  background: color-mix(in srgb, var(--shop-secondary) 18%, #fff);
  color: color-mix(in srgb, var(--shop-secondary) 85%, #000);
}

.shop-order-status--confirmed {
  background: var(--shop-primary-soft);
  color: var(--shop-primary);
}

.shop-order-status--fulfilled {
  background: var(--shop-success-soft);
  color: color-mix(in srgb, var(--shop-success) 70%, #000);
}

.shop-order-status--cancelled {
  background: var(--shop-danger-soft);
  color: color-mix(in srgb, var(--shop-danger) 70%, #000);
}

.shop-order-status--draft {
  background: var(--shop-surface-2);
  color: var(--shop-muted);
}

.shop-section-link--inline {
  font-size: 0.88rem;
}

.shop-alert {
  border-radius: var(--shop-radius);
  border: 0;
  font-weight: 600;
  font-size: 0.9rem;
}

.shop-alert--success {
  background: var(--shop-success-soft);
  color: color-mix(in srgb, var(--shop-success) 70%, #000);
}

.shop-alert--warning {
  background: var(--shop-warning-soft);
  color: color-mix(in srgb, var(--shop-warning) 70%, #000);
}

/* ── Static pages (About / Contact) ── */
.shop-static-page {
  padding-bottom: 3.5rem;
}

.shop-static-hero {
  padding: 3rem 0 2.5rem;
  border-bottom: 1px solid var(--shop-border);
  background:
    radial-gradient(ellipse 70% 80% at 10% 0%, var(--shop-primary-soft), transparent 55%),
    #fff;
}

.shop-static-hero--contact {
  background:
    radial-gradient(ellipse 70% 80% at 90% 0%, var(--shop-secondary-soft), transparent 55%),
    #fff;
}

.shop-static-hero-inner {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 1rem;
  text-align: center;
}

.shop-static-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.85rem;
  border-radius: var(--sys-radius);
  background: var(--shop-primary-muted);
  color: var(--shop-primary);
  font-size: 0.78rem;
  font-weight: 700;
  margin-bottom: 0.85rem;
}

.shop-static-title {
  font-size: clamp(1.85rem, 4vw, 2.65rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  margin-bottom: 0.65rem;
}

.shop-static-lead {
  color: var(--shop-text-muted);
  font-size: 1.05rem;
  line-height: 1.75;
  margin: 0;
}

.shop-static-body {
  padding-top: 2.5rem;
}

.shop-about-content .lead,
.shop-contact-intro .lead {
  font-size: 1.12rem;
  line-height: 1.8;
  color: var(--shop-text);
}

.shop-about-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: 2rem;
}

.shop-about-grid article {
  background: #fff;
  border: 1px solid var(--shop-border);
  border-radius: calc(var(--shop-radius-lg, 16px) + 2px);
  padding: 1.45rem 1.35rem;
  box-shadow: 0 12px 32px rgba(7, 10, 9, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.shop-about-grid article:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--shop-primary, #173630) 28%, #e2e8f0);
  box-shadow: 0 16px 40px rgba(23, 54, 48, 0.12);
}

.shop-about-grid__icon {
  width: 2.65rem;
  height: 2.65rem;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.85rem;
  font-size: 1.15rem;
}

.shop-about-grid__icon--blue {
  background: color-mix(in srgb, #173630 14%, #fff);
  color: var(--adm-brand-600, #173630);
}

.shop-about-grid__icon--green {
  background: color-mix(in srgb, #10b981 14%, #fff);
  color: var(--adm-brand-600, #059669);
}

.shop-about-grid__icon--purple {
  background: color-mix(in srgb, #2d6359 14%, #fff);
  color: var(--adm-brand-600, #1c3b35);
}

.shop-about-grid h3 {
  font-size: 1rem;
  font-weight: 800;
  margin-bottom: 0.5rem;
}

.shop-about-grid p {
  color: var(--shop-text-muted);
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.65;
}

.shop-about-page {
  padding-bottom: 4rem;
}

.shop-about-hero {
  position: relative;
  overflow: hidden;
  padding: 3.25rem 0 2.75rem;
  border-bottom: 1px solid color-mix(in srgb, var(--shop-primary, #173630) 14%, transparent);
  background:
    radial-gradient(ellipse 55% 80% at 12% -10%, color-mix(in srgb, var(--shop-primary, #173630) 20%, transparent), transparent 60%),
    radial-gradient(ellipse 42% 70% at 90% 10%, color-mix(in srgb, #30645a 14%, transparent), transparent 58%),
    linear-gradient(180deg, #f8fcfc 0%, #ffffff 100%);
}

.shop-about-hero__inner {
  max-width: 780px;
  margin: 0 auto;
  text-align: center;
}

.shop-about-trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.55rem;
  margin-top: 1.25rem;
}

.shop-about-trust__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid color-mix(in srgb, var(--shop-primary, #173630) 16%, #e2e8f0);
  color: var(--shop-text-muted, #64748b);
  font-size: 0.78rem;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(7, 10, 9, 0.04);
}

.shop-about-trust__chip i {
  color: var(--shop-primary, #173630);
}

.shop-about-hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.shop-about-body {
  padding-top: 2.5rem;
}

.shop-about-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin: 0 0 2rem;
}

.shop-about-stat {
  text-align: center;
  padding: 1.35rem 1rem;
  background: #fff;
  border-radius: calc(var(--shop-radius-lg, 16px));
  border: 1px solid var(--shop-border, #e2e8f0);
  box-shadow: 0 10px 28px rgba(7, 10, 9, 0.045);
}

.shop-about-stat--accent {
  background: linear-gradient(160deg, color-mix(in srgb, var(--shop-primary, #173630) 12%, #fff), #fff);
  border-color: color-mix(in srgb, var(--shop-primary, #173630) 22%, #e2e8f0);
}

.shop-about-stat__icon {
  width: 2.5rem;
  height: 2.5rem;
  margin: 0 auto 0.55rem;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--shop-primary, #173630) 12%, #fff);
  color: var(--shop-primary, #173630);
  font-size: 1.15rem;
}

.shop-about-stat i {
  color: var(--shop-primary);
  font-size: 1.35rem;
  margin-bottom: 0.35rem;
}

.shop-about-stat strong {
  display: block;
  font-size: 1.55rem;
  font-weight: 900;
  color: var(--shop-primary, #173630);
  letter-spacing: -0.03em;
  line-height: 1.1;
}

.shop-about-stat span {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.82rem;
  color: var(--shop-text-muted);
  font-weight: 600;
}

.shop-about-story {
  background: #fff;
  border: 1px solid var(--shop-border, #e2e8f0);
  border-radius: calc(var(--shop-radius-lg, 16px) + 2px);
  padding: 1.75rem;
  box-shadow: 0 16px 44px rgba(7, 10, 9, 0.06);
  margin-bottom: 2rem;
  position: relative;
  overflow: hidden;
}

.shop-about-story::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #1e3a35, #1a3631, #1b3e38);
}

.shop-about-story__head {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
  margin-bottom: 1.25rem;
}

.shop-about-story__badge {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: linear-gradient(135deg, rgba(30, 58, 53, 0.12), rgba(26, 54, 49, 0.16));
  color: var(--adm-brand-600, #1e3a35);
  font-size: 1.15rem;
}

.shop-about-story__title {
  margin: 0 0 0.25rem;
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: -0.02em;
}

.shop-about-story__sub {
  color: var(--shop-text-muted, #64748b);
  font-size: 0.92rem;
  line-height: 1.55;
}

.shop-about-content {
  font-size: 1.02rem;
  line-height: 1.8;
  color: var(--shop-text, #070a09);
}

.shop-about-cta {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.5rem 1.65rem;
  border-radius: calc(var(--shop-radius-lg, 16px) + 2px);
  border: 1px solid color-mix(in srgb, var(--shop-primary, #173630) 18%, #e2e8f0);
  background:
    radial-gradient(ellipse 60% 120% at 0% 50%, color-mix(in srgb, var(--shop-primary, #173630) 12%, transparent), transparent 60%),
    #fff;
  box-shadow: 0 14px 36px rgba(7, 10, 9, 0.05);
}

.shop-about-cta__text h2 {
  margin: 0 0 0.3rem;
  font-size: 1.2rem;
  font-weight: 900;
}

.shop-about-cta__text p {
  margin: 0;
  color: var(--shop-text-muted, #64748b);
  font-size: 0.92rem;
  max-width: 36rem;
}

.shop-about-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

@media (max-width: 991.98px) {
  .shop-about-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .shop-about-grid {
    grid-template-columns: 1fr;
  }

  .shop-about-cta {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 575.98px) {
  .shop-about-stats {
    grid-template-columns: 1fr;
  }

  .shop-about-hero {
    padding: 2.5rem 0 2rem;
  }
}

.shop-contact-panel {
  background: #fff;
  border: 1px solid var(--shop-border);
  border-radius: var(--shop-radius-lg);
  padding: 1.75rem;
  box-shadow: var(--shop-shadow);
  height: 100%;
}

.shop-contact-page {
  padding-bottom: 4rem;
}

.shop-contact-hero {
  position: relative;
  overflow: hidden;
  padding: 3.25rem 0 2.75rem;
  border-bottom: 1px solid color-mix(in srgb, var(--shop-primary, #173630) 14%, transparent);
  background:
    radial-gradient(ellipse 55% 80% at 8% -10%, color-mix(in srgb, var(--shop-primary, #173630) 22%, transparent), transparent 60%),
    radial-gradient(ellipse 45% 70% at 92% 0%, color-mix(in srgb, #30645a 16%, transparent), transparent 58%),
    linear-gradient(180deg, #f8fcfc 0%, #ffffff 100%);
}

.shop-contact-hero__inner {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.shop-contact-trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.55rem;
  margin-top: 1.35rem;
}

.shop-contact-trust__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid color-mix(in srgb, var(--shop-primary, #173630) 16%, #e2e8f0);
  color: var(--shop-text-muted, #64748b);
  font-size: 0.78rem;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(7, 10, 9, 0.04);
}

.shop-contact-trust__chip i {
  color: var(--shop-primary, #173630);
}

.shop-contact-body {
  padding-top: 2.75rem;
}

.shop-contact-side {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  background: #fff;
  border: 1px solid var(--shop-border, #e2e8f0);
  border-radius: calc(var(--shop-radius-lg, 16px) + 2px);
  padding: 1.5rem;
  box-shadow: 0 14px 40px rgba(7, 10, 9, 0.06);
  height: 100%;
}

.shop-contact-side__title {
  margin: 0 0 0.35rem;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--shop-text, #070a09);
}

.shop-contact-side__sub {
  color: var(--shop-text-muted, #64748b);
  font-size: 0.9rem;
  line-height: 1.6;
}

.shop-contact-channels {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.shop-contact-channel {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.95rem 1rem;
  border-radius: 14px;
  border: 1px solid var(--shop-border, #e2e8f0);
  background: linear-gradient(180deg, #fff, #f8fafc);
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

a.shop-contact-channel:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--shop-primary, #173630) 35%, #e2e8f0);
  box-shadow: 0 12px 28px rgba(23, 54, 48, 0.12);
  color: inherit;
}

.shop-contact-channel__icon {
  width: 2.65rem;
  height: 2.65rem;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: color-mix(in srgb, var(--shop-primary, #173630) 12%, #fff);
  color: var(--shop-primary, #173630);
  font-size: 1.1rem;
}

.shop-contact-channel__text {
  min-width: 0;
  flex: 1 1 auto;
  text-align: start;
}

.shop-contact-channel__label {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--shop-text-muted, #64748b);
  margin-bottom: 0.15rem;
}

.shop-contact-channel__value {
  display: block;
  font-weight: 700;
  color: var(--shop-text, #070a09);
  word-break: break-word;
}

.shop-contact-channel__go {
  color: var(--shop-primary, #173630);
  opacity: 0.55;
  flex-shrink: 0;
}

[dir="rtl"] .shop-contact-channel__go {
  transform: scaleX(-1);
}

.shop-contact-info li+li {
  margin-top: 1rem;
}

.shop-contact-info a,
.shop-contact-info-row {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  text-decoration: none;
  color: inherit;
}

.shop-contact-info-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--sys-radius);
  background: var(--shop-primary-soft);
  color: var(--shop-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.shop-contact-info-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--shop-text-muted);
}

.shop-contact-info-value {
  display: block;
  font-weight: 700;
  color: var(--shop-text);
}

.shop-contact-note {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  font-size: 0.86rem;
  line-height: 1.55;
  color: var(--shop-text-muted);
  padding: 0.95rem 1rem;
  background: color-mix(in srgb, var(--shop-primary, #173630) 6%, #f8fafc);
  border: 1px solid color-mix(in srgb, var(--shop-primary, #173630) 12%, #e2e8f0);
  border-radius: 12px;
}

.shop-contact-note i {
  color: var(--shop-primary, #173630);
  margin-top: 0.15rem;
}

.shop-contact-form-card {
  background: #fff;
  border: 1px solid var(--shop-border);
  border-radius: calc(var(--shop-radius-lg, 16px) + 2px);
  padding: 1.75rem 1.75rem 1.85rem;
  box-shadow: 0 18px 48px rgba(7, 10, 9, 0.07);
  position: relative;
  overflow: hidden;
}

.shop-contact-form-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #1e3a35, #1a3631, #1b3e38);
}

.shop-contact-form-card__head {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
  margin-bottom: 1.45rem;
  text-align: start;
}

.shop-contact-form-card__badge {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: linear-gradient(135deg, rgba(30, 58, 53, 0.12), rgba(26, 54, 49, 0.16));
  color: var(--adm-brand-600, #1e3a35);
  font-size: 1.15rem;
}

.shop-contact-form-title {
  font-size: 1.35rem;
  font-weight: 900;
  margin: 0 0 0.25rem;
  letter-spacing: -0.02em;
}

.shop-contact-form-sub {
  color: var(--shop-text-muted);
  margin-bottom: 1.35rem;
  font-size: 0.92rem;
  line-height: 1.55;
}

.shop-contact-label {
  display: block;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #475569;
  margin-bottom: 0.45rem;
}

.shop-contact-input {
  position: relative;
}

.shop-contact-input__ico {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  inset-inline-start: 0.9rem;
  color: #94a3b8;
  pointer-events: none;
  z-index: 2;
}

.shop-contact-input .form-control {
  min-height: 48px;
  border-radius: 12px;
  border: 1.5px solid #e2e8f0;
  padding-inline-start: 2.55rem;
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.03);
}

.shop-contact-input--area .form-control {
  padding-inline-start: 0.95rem;
  min-height: 8.5rem;
  resize: vertical;
}

.shop-contact-input:focus-within .shop-contact-input__ico {
  color: var(--shop-primary, #173630);
}

.shop-contact-form .form-control {
  border-radius: 12px;
  border-color: #e2e8f0;
}

.shop-contact-form .form-control:focus {
  border-color: color-mix(in srgb, var(--shop-primary, #173630) 55%, transparent);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--shop-primary, #173630) 14%, transparent);
}

.shop-contact-submit {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 48px;
  padding-inline: 1.35rem;
  border-radius: 12px;
  font-weight: 700;
}

@media (max-width: 991.98px) {
  .shop-contact-hero {
    padding: 2.5rem 0 2rem;
  }

  .shop-contact-form-card,
  .shop-contact-side {
    padding: 1.25rem;
  }
}

/* ── Responsive ── */
@media (max-width: 991.98px) {
  .shop-hero-wrap {
    padding-top: 2rem;
  }

  .shop-hero-stats {
    grid-template-columns: 1fr;
  }

  .shop-hero-showcase {
    margin-top: 0.5rem;
  }

  .shop-checkout-grid {
    grid-template-columns: 1fr;
  }

  .shop-cart-summary {
    position: static;
  }

  .shop-filter-panel {
    position: static;
  }

  .shop-about-grid {
    grid-template-columns: 1fr;
  }

  .shop-about-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .shop-promo-bar-inner {
    font-size: 0.72rem;
    padding-inline: 2rem 2.4rem;
  }

  .shop-hero-actions .btn-shop-primary,
  .shop-hero-actions .btn-shop-secondary,
  .shop-hero__actions .btn-shop-primary,
  .shop-hero__actions .btn-shop-secondary {
    width: 100%;
    justify-content: center;
  }

  .shop-cart-line {
    grid-template-columns: 1fr;
  }

  .shop-hero-showcase-card {
    flex-basis: 85%;
  }

  .shop-carousel-item {
    flex-basis: 78%;
  }

  .shop-carousel-nav-btn {
    display: none;
  }
}

/* ── Visitor contact conversation ── */
.shop-contact-conversation-page {
  padding: 2.5rem 0 3.5rem;
}

.shop-contact-conversation-wrap {
  max-width: 820px;
}

.shop-contact-conversation-header {
  text-align: center;
  margin-bottom: 1.5rem;
}

.shop-contact-conversation-title {
  font-size: 1.75rem;
  font-weight: 700;
  margin: 0.35rem 0 0;
}

.shop-contact-conversation-subject,
.shop-contact-conversation-hint {
  color: var(--shop-muted);
  margin: 0.5rem 0 0;
}

.shop-contact-conversation-card {
  background: #fff;
  border: 1px solid var(--shop-border);
  border-radius: var(--shop-radius-lg);
  box-shadow: var(--shop-shadow-sm);
  overflow: hidden;
}

.shop-visitor-chat-messages {
  max-height: 420px;
  overflow-y: auto;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  background: var(--shop-surface-muted);
}

.shop-visitor-chat-empty {
  text-align: center;
  color: var(--shop-muted);
  margin: 0;
}

.shop-visitor-chat-bubble {
  max-width: 85%;
  padding: 0.75rem 0.9rem;
  border-radius: 1rem;
  background: #fff;
  border: 1px solid var(--shop-border);
}

.shop-visitor-chat-bubble--mine {
  align-self: flex-end;
  background: var(--shop-primary-soft);
  border-color: transparent;
}

.shop-visitor-chat-bubble--staff {
  align-self: flex-start;
}

.shop-visitor-chat-bubble-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--shop-muted);
  margin-bottom: 0.25rem;
}

.shop-visitor-chat-bubble-body {
  white-space: pre-wrap;
  word-break: break-word;
}

.shop-visitor-chat-bubble-time {
  font-size: 0.72rem;
  color: var(--shop-muted);
  margin-top: 0.35rem;
}

.shop-visitor-chat-compose {
  padding: 1rem 1.25rem 1.25rem;
  border-top: 1px solid var(--shop-border);
}

.shop-visitor-chat-compose-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.75rem;
  align-items: end;
}

@media (max-width: 575.98px) {
  .shop-visitor-chat-compose-row {
    grid-template-columns: 1fr;
  }
}

/* ---- warehouse-worker.css ---- */
/* Warehouse floor — aligned with WMS task detail (inventory-module + wms-tasks) */

.inventory-warehouse-worker-page {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
  padding-bottom: 2rem;
  max-width: 52rem;
}

.inventory-warehouse-worker-page>.inventory-page-header,
.inventory-warehouse-worker-page>.inventory-detail-hero,
.inventory-warehouse-worker-page>.inv-overview,
.inventory-warehouse-worker-page>.inventory-panel {
  margin-bottom: 0 !important;
}

.inventory-warehouse-worker-page .inventory-code {
  padding: 0.15rem 0.4rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, #fff);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  font-size: 0.8125rem;
}

/* Execute hero — compact route strip */
.inv-ww-execute-hero {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05);
}

.inv-ww-execute-hero__route {
  flex: 1 1 16rem;
  min-width: min(100%, 14rem);
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.inv-ww-execute-hero__route-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-ww-execute-route {
  margin: 0;
  gap: 0.5rem;
}

.inv-ww-execute-route .inv-wms-detail-route__node {
  padding: 0.55rem 0.65rem;
}

.inv-ww-execute-route .inv-wms-detail-route__value {
  font-size: 1.15rem;
}

.inventory-warehouse-worker-page .inv-ww-execute-stats.inv-overview {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 767.98px) {
  .inventory-warehouse-worker-page .inv-ww-execute-stats.inv-overview {
    grid-template-columns: minmax(0, 1fr);
  }

  .inv-ww-execute-hero__route {
    flex-basis: 100%;
  }
}

/* Scan panel — floor-optimized */
.inv-ww-scan-panel {
  border: 1px solid color-mix(in srgb, var(--bs-success, #198754) 28%, var(--adm-border-subtle, var(--bs-border-color)));
  border-radius: var(--inventory-card-radius, 0.20rem);
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 8px 24px rgba(7, 10, 9, 0.06);
}

.inv-ww-scan-panel .inventory-panel__head {
  background: color-mix(in srgb, var(--bs-success, #198754) 6%, #fff);
}

.inv-ww-scan-label {
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.inv-ww-scan-input-wrap {
  position: relative;
}

.inv-ww-scan-input-icon {
  position: absolute;
  top: 50%;
  inset-inline-start: 1rem;
  transform: translateY(-50%);
  font-size: 1.35rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  pointer-events: none;
  z-index: 2;
}

.inv-ww-scan-input {
  min-height: 3.25rem;
  padding-inline-start: 3rem;
  padding-inline-end: 1rem;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  font-variant-numeric: tabular-nums;
  border-radius: var(--inventory-card-radius, 0.20rem);
  border: 2px solid var(--adm-border-subtle, var(--bs-border-color));
  background: #fff;
}

.inv-ww-scan-input:focus {
  border-color: color-mix(in srgb, var(--bs-success, #198754) 55%, var(--bs-primary));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--bs-success, #198754) 18%, transparent);
}

.inv-ww-scan-hint {
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-ww-primary-btn {
  min-height: 3.25rem;
  font-size: 1.0625rem;
  font-weight: 700;
  border-radius: var(--inventory-card-radius, 0.20rem);
}

.inv-ww-start-form,
.inv-ww-complete-form {
  max-width: 28rem;
  margin-inline: auto;
}

.inv-ww-action-panel .inventory-panel__body,
.inv-ww-done-panel .inventory-panel__body {
  max-width: 28rem;
  margin-inline: auto;
}

.inv-ww-done-message {
  font-size: 1.0625rem;
  font-weight: 600;
}

.inv-ww-notes-text {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

/* Floor queue */
.inventory-warehouse-worker-queue-page {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
  padding-bottom: 1.5rem;
}

.inventory-warehouse-worker-queue-page>.inventory-page-header,
.inventory-warehouse-worker-queue-page>.inv-overview,
.inventory-warehouse-worker-queue-page>.inventory-panel {
  margin-bottom: 0 !important;
}

.inventory-warehouse-worker-queue-page .inventory-code {
  padding: 0.12rem 0.38rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, #fff);
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  font-size: 0.75rem;
}

.inv-ww-status-chips .inv-ww-status-chip.is-active {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 45%, transparent);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 10%, #fff);
  color: var(--adm-brand-700, var(--bs-primary));
  font-weight: 600;
}

.inv-ww-queue-list {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.inv-ww-queue-card {
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: #fff;
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.05);
  padding: 1rem 1.1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.inv-ww-queue-card:hover {
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 30%, var(--adm-border-subtle, var(--bs-border-color)));
  box-shadow: 0 4px 16px rgba(7, 10, 9, 0.07);
}

.inv-ww-queue-card--inprogress {
  border-color: color-mix(in srgb, var(--bs-info, #17332e) 35%, var(--adm-border-subtle, var(--bs-border-color)));
  background: color-mix(in srgb, var(--bs-info, #17332e) 3%, #fff);
}

.inv-ww-queue-card--completed {
  opacity: 0.92;
}

.inv-ww-queue-card--cancelled {
  opacity: 0.78;
  background: color-mix(in srgb, var(--bs-secondary, #6c757d) 4%, #fff);
}

.inv-ww-queue-card[data-inv-filter-hidden="1"] {
  display: none !important;
}

.inv-ww-queue-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1rem;
}

.inv-ww-queue-card__identity {
  flex: 1 1 14rem;
  min-width: 0;
}

.inv-ww-queue-card__identity .inv-entity-cell__name {
  font-weight: 600;
  overflow-wrap: anywhere;
}

.inv-ww-queue-card__meta-line {
  display: block;
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  margin-top: 0.15rem;
  overflow-wrap: anywhere;
}

.inv-ww-queue-card__head-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  flex-shrink: 0;
}

.inv-ww-queue-card__workflow {
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 3%, #fff);
}

.inv-ww-queue-card__workflow-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 0.75rem;
  margin-bottom: 0.55rem;
}

.inv-ww-queue-workflow-eyebrow {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.inv-ww-queue-card__next-hint {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  text-align: end;
  flex: 1 1 12rem;
}

.inv-ww-queue-workflow-trail {
  width: 100%;
}

.inv-ww-queue-workflow-trail .inv-wms-workflow-step__label {
  max-width: 7.5rem;
}

.inv-ww-queue-card__cancelled {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  padding: 0.5rem 0.65rem;
  border-radius: var(--inventory-card-radius, 0.20rem);
  background: color-mix(in srgb, var(--bs-secondary, #6c757d) 8%, #fff);
}

.inv-ww-queue-card__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.inv-ww-queue-footer {
  font-variant-numeric: tabular-nums;
}

@media (max-width: 576px) {
  .inv-ww-scan-input {
    font-size: 1.1rem;
    min-height: 3rem;
  }
}

/* ---- workspace-settings.css ---- */
/* Workspace appearance — Settings » Workspace */

.settings-workspace-page {
  --ws-surface: #fff;
  --ws-card: #fff;
  --ws-primary: var(--adm-brand-600, var(--bs-primary));
  --ws-success: var(--bs-success, #00d27a);
  --ws-info: var(--bs-info, #193d36);
  --ws-border: var(--adm-border-subtle, var(--bs-border-color-translucent));
  --ws-radius: 0.20rem;
  --ws-shadow: 0 1px 2px rgba(7, 10, 9, 0.05), 0 4px 14px rgba(7, 10, 9, 0.04);
  padding-bottom: 5rem;
}

.settings-workspace-page .btn {
  border-radius: var(--ws-radius);
}

.settings-workspace-page .workspace-server-validation:empty {
  display: none !important;
}

/* ── Overview summary cards ──────────────────────────────────────────────── */
.workspace-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.workspace-overview-card {
  border-radius: var(--ws-radius);
  background: var(--ws-card);
  box-shadow: var(--ws-shadow);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--ws-border) 80%, transparent);
}

.workspace-overview-card__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem 1.1rem;
}

.workspace-overview-card__title {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  margin: 0 0 0.35rem;
}

.workspace-overview-card__stat {
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.workspace-overview-card__stat-value {
  color: var(--ws-primary);
}

.workspace-overview-card--dashboard .workspace-overview-card__stat-value {
  color: var(--ws-success);
}

.workspace-overview-card__stat-sep,
.workspace-overview-card__stat-label {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}

.workspace-overview-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--ws-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.25rem;
}

.workspace-overview-card--sidebar .workspace-overview-card__icon {
  background: color-mix(in srgb, var(--ws-primary) 12%, var(--ws-surface));
  color: var(--ws-primary);
}

.workspace-overview-card--dashboard .workspace-overview-card__icon {
  background: color-mix(in srgb, var(--ws-success) 12%, var(--ws-surface));
  color: var(--ws-success);
}

.workspace-overview-card--sidebar {
  border-bottom: 3px solid var(--ws-primary);
}

.workspace-overview-card--dashboard {
  border-bottom: 3px solid var(--ws-success);
}

/* ── Panels ──────────────────────────────────────────────────────────────── */
.settings-module-page .workspace-panel.settings-panel {
  margin-bottom: 1.25rem;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius);
  background: var(--ws-card);
  box-shadow: var(--ws-shadow);
  overflow: hidden;
}

.settings-module-page .workspace-panel--sidebar {
  background: var(--ws-card);
}

/* ── Dashboard groups (standalone cards, no outer panel) ───────────────────── */
.workspace-dashboard-stack {
  display: block;
  margin-bottom: 1.25rem;
}

.workspace-dashboard-stack .workspace-widget-groups {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.workspace-dashboard-stack .workspace-widget-group {
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius);
  background: var(--ws-card);
  box-shadow: var(--ws-shadow);
}

/* ── Widget groups ───────────────────────────────────────────────────────── */
.workspace-widget-groups {
  display: flex;
  flex-direction: column;
}

.workspace-widget-group {
  padding: 1.1rem 1.25rem 1.2rem;
}

.workspace-panel--sidebar .workspace-widget-group {
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}

.workspace-widget-group--sidebar,
.workspace-widget-group--kpi,
.workspace-widget-group--charts,
.workspace-widget-group--modules {
  background: var(--ws-card);
}

.workspace-widget-group__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.9rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid color-mix(in srgb, var(--ws-primary) 18%, var(--ws-border));
}

.workspace-widget-group--charts .workspace-widget-group__head {
  border-bottom-color: color-mix(in srgb, var(--ws-info) 22%, var(--ws-border));
}

.workspace-widget-group--modules .workspace-widget-group__head {
  border-bottom-color: color-mix(in srgb, var(--ws-success) 22%, var(--ws-border));
}

.workspace-widget-group__title-wrap {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  min-width: 0;
}

.workspace-widget-group__icon {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: var(--ws-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.05rem;
}

.workspace-widget-group__icon--sidebar,
.workspace-widget-group__icon--kpi,
.workspace-widget-group__icon--default {
  background: color-mix(in srgb, var(--ws-primary) 12%, var(--ws-surface));
  color: var(--ws-primary);
}

.workspace-widget-group__icon--charts {
  background: color-mix(in srgb, var(--ws-info) 12%, var(--ws-surface));
  color: var(--ws-info);
}

.workspace-widget-group__icon--modules {
  background: color-mix(in srgb, var(--ws-success) 12%, var(--ws-surface));
  color: var(--ws-success);
}

.workspace-widget-group__title {
  font-weight: 700;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

.workspace-widget-group__tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  flex-shrink: 0;
}

.workspace-widget-group__link-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.85rem;
  padding: 0.3rem 0.75rem;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  border: 1px solid color-mix(in srgb, var(--ws-primary) 30%, var(--ws-border));
  border-radius: var(--ws-radius);
  background: var(--ws-card);
  color: var(--ws-primary);
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.04);
  transition:
    background-color 0.12s ease,
    border-color 0.12s ease,
    color 0.12s ease,
    box-shadow 0.12s ease;
}

.workspace-widget-group__link-btn.text-muted,
.workspace-widget-group__link-btn--muted {
  border-color: var(--ws-border);
  color: var(--bs-secondary-color);
  background: var(--ws-card);
}

.workspace-widget-group__link-btn:hover,
.workspace-widget-group__link-btn:focus-visible {
  text-decoration: none;
  background: var(--ws-card);
  border-color: color-mix(in srgb, var(--ws-primary) 42%, var(--ws-border));
  color: var(--ws-primary);
  box-shadow: 0 2px 6px rgba(7, 10, 9, 0.06);
}

.workspace-widget-group__link-btn.text-muted:hover,
.workspace-widget-group__link-btn.text-muted:focus-visible,
.workspace-widget-group__link-btn--muted:hover,
.workspace-widget-group__link-btn--muted:focus-visible {
  background: var(--ws-card);
  border-color: color-mix(in srgb, var(--bs-secondary-color) 28%, var(--ws-border));
  color: var(--adm-text-strong, var(--bs-emphasis-color));
}

/* ── Toggle cards grid ───────────────────────────────────────────────────── */
.workspace-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr));
  gap: 0.65rem;
}

.workspace-module-grid--sidebar {
  grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr));
}

@media (min-width: 1200px) {
  .workspace-module-grid--sidebar {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .workspace-module-grid--widgets {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.workspace-toggle-card {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.55rem;
  padding: 0.65rem 0.75rem;
  border: none;
  border-radius: var(--ws-radius);
  background: var(--ws-card);
  box-shadow: 0 1px 2px rgba(7, 10, 9, 0.04);
  border-bottom: 3px solid color-mix(in srgb, var(--ws-border) 90%, transparent);
  cursor: pointer;
  transition: box-shadow 0.15s ease, border-color 0.15s ease, transform 0.12s ease, background-color 0.15s ease;
  margin: 0;
  min-height: 3rem;
}

.workspace-toggle-card:hover {
  box-shadow: 0 3px 10px rgba(7, 10, 9, 0.07);
  transform: translateY(-1px);
}

.workspace-toggle-card.is-on,
.workspace-toggle-card--charts.is-on,
.workspace-toggle-card--modules.is-on {
  background: var(--ws-card);
}

.workspace-toggle-card.is-on {
  border-bottom-color: var(--ws-primary);
}

.workspace-toggle-card--charts.is-on {
  border-bottom-color: var(--ws-info);
}

.workspace-toggle-card--modules.is-on {
  border-bottom-color: var(--ws-success);
}

.workspace-toggle-card .workspace-toggle-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.workspace-toggle-icon {
  order: 3;
  width: 1.9rem;
  height: 1.9rem;
  border-radius: var(--ws-radius);
  background: color-mix(in srgb, var(--ws-primary) 10%, var(--ws-surface));
  color: var(--ws-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.95rem;
}

.workspace-toggle-icon--charts {
  background: color-mix(in srgb, var(--ws-info) 10%, var(--ws-surface));
  color: var(--ws-info);
}

.workspace-toggle-icon--modules {
  background: color-mix(in srgb, var(--ws-success) 10%, var(--ws-surface));
  color: var(--ws-success);
}

.workspace-toggle-card.is-on .workspace-toggle-icon {
  background: color-mix(in srgb, var(--ws-primary) 16%, var(--ws-surface));
}

.workspace-toggle-card--charts.is-on .workspace-toggle-icon--charts {
  background: color-mix(in srgb, var(--ws-info) 16%, var(--ws-surface));
}

.workspace-toggle-card--modules.is-on .workspace-toggle-icon--modules {
  background: color-mix(in srgb, var(--ws-success) 16%, var(--ws-surface));
}

.workspace-toggle-title {
  order: 2;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.35;
  text-align: start;
  color: var(--adm-text-strong, var(--bs-emphasis-color));
  min-width: 0;
}

.workspace-toggle-switch {
  order: 1;
  width: 2.2rem;
  height: 1.2rem;
  border-radius: var(--sys-radius);
  background: color-mix(in srgb, var(--bs-secondary-bg) 90%, #cbd5e1);
  position: relative;
  flex-shrink: 0;
}

.workspace-toggle-switch::after {
  content: "";
  position: absolute;
  top: 2px;
  inset-inline-start: 2px;
  width: 0.9rem;
  height: 0.9rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
  transition: transform 0.15s ease;
}

.workspace-toggle-card.is-on .workspace-toggle-switch {
  background: var(--ws-primary);
}

.workspace-toggle-card--charts.is-on .workspace-toggle-switch {
  background: var(--ws-info);
}

.workspace-toggle-card--modules.is-on .workspace-toggle-switch {
  background: var(--ws-success);
}

.workspace-toggle-card.is-on .workspace-toggle-switch::after {
  transform: translateX(1rem);
}

[dir="rtl"] .workspace-toggle-card.is-on .workspace-toggle-switch::after {
  transform: translateX(-1rem);
}

/* ── Sticky action bar ───────────────────────────────────────────────────── */
.ws-action-bar,
.workspace-settings-footer {
  position: sticky;
  bottom: 0;
  z-index: 20;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  justify-content: flex-start;
  margin-top: 1.25rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius);
  background: var(--ws-card);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 -4px 20px rgba(7, 10, 9, 0.06);
  transition: box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.workspace-settings-footer.is-stuck {
  border-color: color-mix(in srgb, var(--ws-primary) 18%, var(--ws-border));
  box-shadow:
    0 -6px 24px rgba(7, 10, 9, 0.1),
    0 0 0 1px color-mix(in srgb, var(--ws-primary) 8%, transparent);
}

.workspace-settings-footer .btn-primary,
.workspace-settings-footer .btn-outline-secondary {
  min-width: 6.5rem;
  min-height: 2.125rem;
  padding: 0.4rem 0.95rem;
  font-size: 0.8125rem;
  font-weight: 600;
}

.workspace-action-bar-sentinel {
  width: 100%;
  height: 1px;
  pointer-events: none;
  visibility: hidden;
}

@media (max-width: 767.98px) {
  .workspace-overview {
    grid-template-columns: 1fr;
  }

  .workspace-module-grid,
  .workspace-module-grid--sidebar,
  .workspace-module-grid--widgets {
    grid-template-columns: 1fr;
  }

  .workspace-widget-group__tools {
    width: 100%;
    justify-content: flex-start;
  }

  .ws-action-bar,
  .workspace-settings-footer {
    position: static;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

[data-theme="dark"] .settings-workspace-page {
  --ws-surface: #fff;
  --ws-card: #fff;
  --ws-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 4px 14px rgba(0, 0, 0, 0.15);
}

[data-theme="dark"] .ws-action-bar,
[data-theme="dark"] .workspace-settings-footer {
  background: var(--ws-card);
}


/* ============================================================
   Shared micro-interactions + brand glow (Phase 2)
   Tokens: --motion-*, --shadow-glow, --accent-primary-* from system-tokens.
   ============================================================ */

/* Button chrome owned by system-buttons.css */
.admin-shell .form-control:focus-visible,
.admin-shell .form-select:focus-visible {
  outline: none;
  box-shadow: var(--shadow-glow, 0 0 0 3px rgba(23, 54, 48, 0.22));
}

.admin-shell .sys-panel,
.admin-shell .content-card,
.admin-shell .sys-hub-tile,
.admin-shell [class*="-hub-tile"] {
  transition: transform var(--motion-normal, 0.2s ease), box-shadow var(--motion-normal, 0.2s ease), border-color var(--motion-fast, 0.15s ease);
}

.admin-shell .sys-panel:hover,
.admin-shell .content-card:hover {
  box-shadow: var(--adm-shadow-md, var(--shadow-md)), 0 0 0 1px color-mix(in srgb, #173630 18%, transparent);
}

.admin-shell .sidebar-nav .nav-link {
  transition: background-color var(--motion-fast, 0.15s ease), color var(--motion-fast, 0.15s ease), box-shadow var(--motion-fast, 0.15s ease);
}

.admin-shell .sidebar-nav .nav-link.active {
  box-shadow: var(--sidebar-active-shadow, 0 6px 18px rgba(23, 54, 48, 0.38));
}

.pos-terminal-shell .pos-topbar-logo {
  filter: drop-shadow(0 0 8px rgba(23, 54, 48, 0.35));
}

@media (prefers-reduced-motion: reduce) {

  .admin-shell .btn-primary,
  .store-shell .btn-primary,
  .auth-split-body .btn-primary,
  .admin-shell .sys-panel,
  .admin-shell .content-card,
  .admin-shell .sys-hub-tile,
  .admin-shell [class*="-hub-tile"],
  .admin-shell .sidebar-nav .nav-link {
    transition: none !important;
  }

  .admin-shell .btn-primary:hover,
  .store-shell .btn-primary:hover,
  .auth-split-body .btn-primary:hover {
    transform: none;
  }

  .auth-split-visual-bg::after {
    animation: none !important;
  }
}


/* ============================================================
   Shared layout utilities (Phase 3) — replace static inline styles
   Dynamic widths (e.g. progress-bar width: N%) stay inline by design.
   ============================================================ */

.auth-reveal--d05 {
  --ar: 0.05s;
}

.auth-reveal--d08 {
  --ar: 0.08s;
}

.auth-reveal--d12 {
  --ar: 0.12s;
}

.auth-reveal--d18 {
  --ar: 0.18s;
}

.auth-reveal--d24 {
  --ar: 0.24s;
}

.auth-reveal--d30 {
  --ar: 0.3s;
}

.auth-reveal--d36 {
  --ar: 0.36s;
}

.auth-eye-shut {
  display: none;
}

.auth-password-toggle[aria-pressed="true"] .auth-eye-open {
  display: none;
}

.auth-password-toggle[aria-pressed="true"] .auth-eye-shut {
  display: inline-flex;
}

.adm-chart-frame {
  position: relative;
  width: 100%;
}

.adm-chart-frame--lg {
  height: 320px;
}

.adm-chart-frame--md {
  height: 220px;
}

.progress.progress--xs {
  height: 4px;
}

.progress.progress--share {
  width: 80px;
  height: 5px;
}

.adm-text-micro {
  font-size: 0.72rem;
}

.tb-search-overlay {
  position: fixed;
  inset: 0;
  background: var(--bg-primary);
  z-index: 1060;
  display: none;
  align-items: center;
  padding: 0 12px;
}

.tb-search-overlay.is-open {
  display: flex;
}

.tb-search-overlay__form {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

.tb-search-overlay__icon {
  color: var(--text-muted);
  font-size: 1rem;
  flex-shrink: 0;
}

.tb-search-overlay__input {
  flex: 1;
}

.sys-min-h-0 {
  min-height: 0;
}

.sys-h-100 {
  height: 100%;
}

.sys-w-100 {
  width: 100%;
}

.sys-pos-rel {
  position: relative;
}

.sys-d-none {
  display: none;
}

.sys-flex-1 {
  flex: 1 1 auto;
}

.sys-overflow-auto {
  overflow: auto;
}

.sys-white-space-pre {
  white-space: pre-wrap;
}

.pos-muted-code {
  color: #475569 !important;
}

/* Table column width utilities (Phase 3) — replace th/td style="width|min-width" */
.sys-w-3rem {
  width: 3rem;
}

.sys-w-4rem {
  width: 4rem;
}

.sys-w-5rem {
  width: 5rem;
}

.sys-w-6rem {
  width: 6rem;
}

.sys-w-7rem {
  width: 7rem;
}

.sys-w-8rem {
  width: 8rem;
}

.sys-w-9rem {
  width: 9rem;
}

.sys-w-12rem {
  width: 12rem;
}

.sys-w-40 {
  width: 40px;
}

.sys-w-70 {
  width: 70px;
}

.sys-w-80 {
  width: 80px;
}

.sys-w-90 {
  width: 90px;
}

.sys-w-100 {
  width: 100px;
}

.sys-w-110 {
  width: 110px;
}

.sys-w-120 {
  width: 120px;
}

.sys-min-w-40 {
  min-width: 40px;
}

.sys-min-w-70 {
  min-width: 70px;
}

.sys-min-w-90 {
  min-width: 90px;
}

.sys-min-w-100 {
  min-width: 100px;
}

.sys-min-w-110 {
  min-width: 110px;
}

.sys-min-w-200 {
  min-width: 200px;
}

.sys-min-w-6rem {
  min-width: 6rem;
}

.sys-min-w-7rem {
  min-width: 7rem;
}

.sys-min-w-8rem {
  min-width: 8rem;
}

.sys-min-w-9rem {
  min-width: 9rem;
}

.sys-w-2rem {
  width: 2rem;
}

.sys-w-10rem {
  width: 10rem;
}

.sys-w-34 {
  width: 34px;
}

.sys-w-48 {
  width: 48px;
}

.sys-w-160 {
  width: 160px;
}

.sys-min-w-12rem {
  min-width: 12rem;
}

.sys-min-w-18rem {
  min-width: 18rem;
}

.sys-min-w-160 {
  min-width: 160px;
}

.sys-max-w-8rem {
  max-width: 8rem;
}

.sys-max-w-40rem {
  max-width: 40rem;
}

.sys-avatar-xl {
  width: 112px;
  height: 112px;
  background: linear-gradient(135deg, #173630, #122b26);
  font-size: 2rem;
}

.sys-max-w-10rem {
  max-width: 10rem;
}

.sys-max-w-12rem {
  max-width: 12rem;
}

.sys-max-w-16rem {
  max-width: 16rem;
}

.sys-max-w-24rem {
  max-width: 24rem;
}

.sys-max-w-32rem {
  max-width: 32rem;
}

.sys-max-w-160 {
  max-width: 160px;
}

.sys-max-w-280 {
  max-width: 280px;
}

.sys-max-w-640 {
  max-width: 640px;
}

.sys-max-w-720 {
  max-width: 720px;
}

.sys-obj-cover {
  object-fit: cover;
}

.sys-obj-contain {
  object-fit: contain;
}

.sys-dropzone-dashed {
  border-style: dashed !important;
  cursor: pointer;
}

.sys-thumb-preview {
  max-height: 140px;
  max-width: 220px;
  object-fit: contain;
}

.sys-fs-lg {
  font-size: 1.5rem;
}

.pos-online-dot {
  font-size: .45rem;
  color: #4ade80;
}

.sys-max-h-240 {
  max-height: 240px;
}

.sys-cursor-default {
  cursor: default;
}

.sys-empty-ico {
  font-size: 2rem;
  opacity: .3;
  display: block;
  margin-bottom: .5rem;
}

.sys-fs-75 {
  font-size: 0.75rem;
}

.sys-fs-70 {
  font-size: 0.7rem;
}

.sys-mw-7rem {
  max-width: 7rem;
}

.sys-mw-14rem {
  max-width: 14rem;
}

.sys-mw-140 {
  max-width: 140px;
}

.sys-img-cover {
  object-fit: cover;
}

/* Slim progress track — Bootstrap .progress defaults to 1rem, too heavy for
   inline report rows. Bar widths stay inline (data-driven, by design). */
.sys-progress-slim {
  height: 8px;
}

/* ── Panel padding utilities ──────────────────────────────────────
   .sys-panel, the module-page panel rule and the .dashboard-wrapper variant
   all set `padding: 0 !important` so that __head / __body own the insets.
   That also silently killed Bootstrap's spacing utilities, which load earlier
   and are less specific — a view written as `sys-panel p-4` rendered flush
   against its own edge. These restore the utility the view asked for; the
   `body .dashboard-wrapper` prefix is what outranks the widest of those
   three rules (0,4,0). */
.sys-panel.p-1,
[class*="-module-page"] .sys-panel.p-1,
body .dashboard-wrapper [class*="-module-page"] .sys-panel.p-1 { padding: 0.25rem !important; }

.sys-panel.p-2,
[class*="-module-page"] .sys-panel.p-2,
body .dashboard-wrapper [class*="-module-page"] .sys-panel.p-2 { padding: 0.5rem !important; }

.sys-panel.p-3,
[class*="-module-page"] .sys-panel.p-3,
body .dashboard-wrapper [class*="-module-page"] .sys-panel.p-3 { padding: 1rem !important; }

.sys-panel.p-4,
[class*="-module-page"] .sys-panel.p-4,
body .dashboard-wrapper [class*="-module-page"] .sys-panel.p-4 { padding: 1.5rem !important; }

.sys-panel.p-5,
[class*="-module-page"] .sys-panel.p-5,
body .dashboard-wrapper [class*="-module-page"] .sys-panel.p-5 { padding: 3rem !important; }

.sys-panel.px-2,
[class*="-module-page"] .sys-panel.px-2,
body .dashboard-wrapper [class*="-module-page"] .sys-panel.px-2 { padding-inline: 0.5rem !important; }

.sys-panel.px-3,
[class*="-module-page"] .sys-panel.px-3,
body .dashboard-wrapper [class*="-module-page"] .sys-panel.px-3 { padding-inline: 1rem !important; }

.sys-panel.px-4,
[class*="-module-page"] .sys-panel.px-4,
body .dashboard-wrapper [class*="-module-page"] .sys-panel.px-4 { padding-inline: 1.5rem !important; }

.sys-panel.py-2,
[class*="-module-page"] .sys-panel.py-2,
body .dashboard-wrapper [class*="-module-page"] .sys-panel.py-2 { padding-block: 0.5rem !important; }

.sys-panel.py-3,
[class*="-module-page"] .sys-panel.py-3,
body .dashboard-wrapper [class*="-module-page"] .sys-panel.py-3 { padding-block: 1rem !important; }

.sys-panel.py-4,
[class*="-module-page"] .sys-panel.py-4,
body .dashboard-wrapper [class*="-module-page"] .sys-panel.py-4 { padding-block: 1.5rem !important; }

.sys-panel.py-5,
[class*="-module-page"] .sys-panel.py-5,
body .dashboard-wrapper [class*="-module-page"] .sys-panel.py-5 { padding-block: 3rem !important; }

/* ── List tables: sort direction + numeric alignment ─────────────────
   The icon colour and fade already exist above; what was missing is any sense
   of *which way* a sorted column runs — every header kept the same double
   arrow, so a sorted table looked identical to an unsorted one. On the active
   column the dual glyph is dropped and one solid triangle is drawn in its
   place, flipped for descending. It is a border triangle rather than an icon
   codepoint so it survives a font change.
   Selectors follow the wildcard shape used by the rules above, so this reaches
   every enhanced table whatever prefix its module uses. */

[class*="-module-page"] [class*="-data-table"] thead th[data-sortable="1"] {
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}

[class*="-module-page"] [class*="-data-table"] thead th[data-sortable="1"]:hover [class*="-sort-icon"] {
  opacity: 0.65;
}

[class*="-module-page"] [class*="-data-table"] thead th[data-sort-dir] [class*="-sort-icon"]::before {
  content: none;
}

[class*="-module-page"] [class*="-data-table"] thead th[data-sort-dir] [class*="-sort-icon"]::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-inline: 4px solid transparent;
  vertical-align: 0.05em;
}

/* The direction comes from which edge carries the colour rather than a
   transform — a zero-size border triangle rotates unreliably. */
[class*="-module-page"] [class*="-data-table"] thead th[data-sort-dir="asc"] [class*="-sort-icon"]::after {
  border-block-end: 5px solid currentColor;
}

[class*="-module-page"] [class*="-data-table"] thead th[data-sort-dir="desc"] [class*="-sort-icon"]::after {
  border-block-start: 5px solid currentColor;
}

/* Figures in a column should line up digit for digit. Applied to every table
   in a module page, not just the enhanced lists — the line-item editors carry
   the same money columns. */
[class*="-module-page"] .table td.text-end,
[class*="-module-page"] .table th.text-end,
[class*="-module-page"] .table td[class*="-num"],
[class*="-module-page"] .table .font-monospace {
  font-variant-numeric: tabular-nums;
}

/* ── sys-num-cell ───────────────────────────────────────────────────────────
   Numeric list cell carrying a primary figure with a muted caption beneath it
   (credit limit / available, quantity / reserved, …). The text columns already
   had .sys-entity-cell__name + __sub for exactly this; numeric columns were
   stacking two plain divs at the same size, so neither figure read as primary. */
.sys-num-cell {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.1rem;
  line-height: 1.3;
}

.sys-num-cell__value {
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--adm-text-strong);
  font-variant-numeric: tabular-nums;
}

.sys-num-cell__sub {
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
/* ════════════════════════════════════════════════════════════════════════════
   TABLE POLISH — applies to every table inside a module page, not just the
   enhanced list tables. Visual only: nothing here changes what a control does.
   ════════════════════════════════════════════════════════════════════════════ */

/* ── Column band ────────────────────────────────────────────────────────────
   The header row was pure white on white rows, separated only by a 6%-opacity
   rule, so the column labels floated over the data instead of capping it. Sit
   the header on the same quiet surface the toolbar and footer use, and anchor
   it with a real border: chrome reads as chrome, rows read as data. */
[class*="-module-page"] .table thead th,
[class*="-module-page"] .table thead td,
[class*="-module-page"] .table thead.table-light th,
[class*="-module-page"] .table thead.table-light td {
  background: var(--sys-list-table-head-bg, var(--adm-bg-surface-2)) !important;
}

/* The band needs a real edge. --sys-list-table-border is shared with the row
   separators, so it cannot simply be darkened; spell the header line out
   instead. Listed at the enhanced-table scope too — those rules carry one more
   attribute selector and would otherwise keep the old faint 6% rule. */
[class*="-module-page"] .table thead th,
[class*="-module-page"] .table thead td,
[class*="-module-page"] .table thead.table-light th,
[class*="-module-page"] .table thead.table-light td,
[class*="-module-page"] [data-sys-table] .table thead th,
[class*="-module-page"] [data-sys-table] .table thead td,
[class*="-module-page"] [data-sys-table] .table thead.table-light th,
[class*="-module-page"] [data-sys-table] .table thead.table-light td,
[class*="-module-page"] [data-platform-table] .table thead th,
[class*="-module-page"] [data-platform-table] .table thead td,
[class*="-module-page"] [data-platform-table] .table thead.table-light th,
[class*="-module-page"] [data-platform-table] .table thead.table-light td {
  border-bottom: 1px solid color-mix(in srgb, var(--adm-text-muted-ui) 22%, transparent) !important;
}

/* ── Latin micro-caps column headers ────────────────────────────────────────
   The admin shell styles table headers as micro-caps (uppercase + tracking),
   but the list tables opted out with text-transform:none because letter-spacing
   pulls Arabic letters apart and breaks their joining. That only ever needed to
   apply to Arabic — in Latin script the micro-caps header is the look the rest
   of the shell uses, so restore it there. */
html:not([dir="rtl"]) [class*="-module-page"] .table thead th,
html:not([dir="rtl"]) [class*="-module-page"] .table thead.table-light th {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Arabic headers keep normal case and tracking, so give them the label feel
   through size and weight instead — otherwise they read as body text sitting
   above body text. */
html[dir="rtl"] [class*="-module-page"] .table thead th,
html[dir="rtl"] [class*="-module-page"] .table thead.table-light th {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: none;
  letter-spacing: normal;
}

/* The toolbar sits directly above that band on enhanced tables — drop its
   gradient so the two read as one continuous strip rather than two shades
   meeting at a seam. */
[class*="-module-page"] [class*="-table-toolbar"]:not([class*="-table-toolbar__"]) {
  background: var(--adm-bg-surface-2);
}

/* ── Sort affordance ────────────────────────────────────────────────────────
   The arrows sit at 0.35 on every column at rest, which is right — but they
   never acknowledged the pointer. Brighten on the header being hovered, and
   tint the whole band cell rather than just its text. */
[class*="-module-page"] .table thead th [class*="-sort-icon"] {
  transition: opacity 0.15s ease, color 0.15s ease;
}

[class*="-module-page"] .table thead th[data-sortable="1"]:hover [class*="-sort-icon"] {
  opacity: 0.85;
}

[class*="-module-page"] .table thead th[data-sortable="1"]:hover {
  background: color-mix(in srgb, var(--adm-brand-600) 7%, var(--adm-bg-surface-2)) !important;
  color: var(--adm-brand-600);
}

/* ── Row hover accent ───────────────────────────────────────────────────────
   A brand rail on the leading edge of the hovered row, so the pointer has
   something to track down a wide table. Painted on the leading cell rather
   than the <tr>, which does not render inset shadows reliably.

   Deliberately limited to tables that already answer the pointer — .table-hover
   and rows the enhancer made clickable. The editable line-item grids (a journal
   entry Create carries 52 inputs inside one table) are typed into, not picked
   from, and a rail chasing the caret down them is noise, not structure. */
[class*="-module-page"] .table-hover tbody tr > td:first-child,
[class*="-module-page"] .table tbody tr[class*="-data-row--clickable"] > td:first-child {
  box-shadow: inset 0 0 0 0 transparent;
  transition: box-shadow 0.16s ease;
}

[class*="-module-page"] .table-hover tbody tr:hover > td:first-child,
[class*="-module-page"] .table tbody tr[class*="-data-row--clickable"]:hover > td:first-child {
  box-shadow: inset 3px 0 0 0 var(--adm-brand-600);
}

html[dir="rtl"] [class*="-module-page"] .table-hover tbody tr:hover > td:first-child,
html[dir="rtl"] [class*="-module-page"] .table tbody tr[class*="-data-row--clickable"]:hover > td:first-child {
  box-shadow: inset -3px 0 0 0 var(--adm-brand-600);
}

@media (prefers-reduced-motion: reduce) {
  [class*="-module-page"] .table-hover tbody tr > td:first-child,
  [class*="-module-page"] .table tbody tr[class*="-data-row--clickable"] > td:first-child {
    transition: none;
  }
}

/* ── Badges in table rows ───────────────────────────────────────────────────
   Two problems the tables inherited from Bootstrap's defaults:

   1. `.badge:not(.badge-static)` runs badgePulse forever — a 1.12 scale and a
      red glow, every 2.8s, on every status chip that forgot the badge-static
      class. That reads as an alert on rows that are perfectly ordinary.
   2. `text-bg-*` paints solid saturated fills with white text, so a table of
      six chips becomes six blocks of colour competing with the data.

   Soft tones (Bootstrap 5.3 already ships the subtle/emphasis pairs) keep the
   status readable while letting the row read as data. The colour properties
   need !important only because Bootstrap's own .text-bg-* helpers declare it. */
/* Every status badge in page content, not only the ones inside a table. The
   pulse rule is opt-out (`.badge:not(.badge-static)`), so a badge on a detail or
   edit screen that never got the badge-static class scales 1.12 with a red glow
   every 2.8s — forever, on records that are perfectly ordinary. The topbar
   notification counter keeps its pulse; it is the one badge that is an alert. */
[class*="-module-page"] .badge,
[class*="-module-page"] .table tbody .badge {
  animation: none !important;
  transform: none !important;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  min-height: 1.375rem;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.35;
  white-space: nowrap;
  vertical-align: middle;
}

[class*="-module-page"] .badge.text-bg-secondary,
[class*="-module-page"] .table tbody .badge.text-bg-secondary {
  background-color: var(--bs-secondary-bg-subtle) !important;
  color: var(--bs-secondary-text-emphasis) !important;
  border-color: var(--bs-secondary-border-subtle) !important;
}

[class*="-module-page"] .badge.text-bg-success,
[class*="-module-page"] .table tbody .badge.text-bg-success {
  background-color: var(--bs-success-bg-subtle) !important;
  color: var(--bs-success-text-emphasis) !important;
  border-color: var(--bs-success-border-subtle) !important;
}

[class*="-module-page"] .badge.text-bg-warning,
[class*="-module-page"] .table tbody .badge.text-bg-warning {
  background-color: var(--bs-warning-bg-subtle) !important;
  color: var(--bs-warning-text-emphasis) !important;
  border-color: var(--bs-warning-border-subtle) !important;
}

[class*="-module-page"] .badge.text-bg-danger,
[class*="-module-page"] .table tbody .badge.text-bg-danger {
  background-color: var(--bs-danger-bg-subtle) !important;
  color: var(--bs-danger-text-emphasis) !important;
  border-color: var(--bs-danger-border-subtle) !important;
}

[class*="-module-page"] .badge.text-bg-info,
[class*="-module-page"] .table tbody .badge.text-bg-info {
  background-color: var(--bs-info-bg-subtle) !important;
  color: var(--bs-info-text-emphasis) !important;
  border-color: var(--bs-info-border-subtle) !important;
}

[class*="-module-page"] .badge.text-bg-primary,
[class*="-module-page"] .table tbody .badge.text-bg-primary {
  background-color: var(--bs-primary-bg-subtle) !important;
  color: var(--bs-primary-text-emphasis) !important;
  border-color: var(--bs-primary-border-subtle) !important;
}

[class*="-module-page"] .badge.text-bg-dark,
[class*="-module-page"] .table tbody .badge.text-bg-dark {
  background-color: var(--bs-dark-bg-subtle) !important;
  color: var(--bs-dark-text-emphasis) !important;
  border-color: var(--bs-dark-border-subtle) !important;
}

[class*="-module-page"] .badge.text-bg-light,
[class*="-module-page"] .table tbody .badge.text-bg-light {
  background-color: var(--bs-light-bg-subtle) !important;
  color: var(--bs-light-text-emphasis) !important;
  border-color: var(--bs-light-border-subtle) !important;
}

/* ── Footer strips ──────────────────────────────────────────────────────────
   A server-paginated list stacks its own footer under the enhancer's. They were
   drawn differently — white against grey, 8px against 10.4px padding, 16px
   against 13px base — so they read as two unrelated bars. Same surface and
   rhythm makes them one footer block with a divider. */
[class*="-module-page"] .sys-panel__body > .d-flex.border-top,
[class*="-module-page"] [class*="-panel__body"] > .d-flex.border-top {
  padding: 0.65rem 1rem !important;
  font-size: 0.8125rem;
  background: var(--adm-bg-surface-2);
  color: var(--adm-text-muted-ui);
}

/* ── sys-num-cell ───────────────────────────────────────────────────────────
   Numeric cell carrying a primary figure with a muted caption beneath it
   (credit limit / available, quantity / reserved, …). The text columns already
   had .sys-entity-cell__name + __sub for exactly this; numeric columns were
   stacking two plain divs at the same size, so neither figure read as primary. */
.sys-num-cell {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.1rem;
  line-height: 1.3;
}

.sys-num-cell__value {
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--adm-text-strong);
  font-variant-numeric: tabular-nums;
}

.sys-num-cell__sub {
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* ── Row-action menu: overflow lift, keyed to the open menu ─────────────────
   The existing lifts are keyed to whichever attribute a panel happens to carry
   — .sys-panel[data-sys-table], [class*="-panel"][data-sales-table],
   .inventory-panel[data-inventory-table]. Eleven Inventory pages sit between
   those: their markup is `.sys-panel.inv-*-panel` with only
   data-sys-table-hide-search, so no lift matched and .table-responsive
   (overflow:auto from Bootstrap) clipped an open row-action menu to a few
   pixels. Key the lift to the open menu instead — that is the actual condition,
   it holds for any panel in any module, and it only applies while a menu is up. */
[class*="-module-page"] .table-responsive:has(.dropdown-menu.show),
[class*="-module-page"] [class*="-table-shell"]:has(.dropdown-menu.show),
[class*="-module-page"] [class*="-panel__body"]:has(.dropdown-menu.show),
[class*="-module-page"] [class*="-panel"]:has(.dropdown-menu.show) {
  overflow: visible !important;
}

[class*="-module-page"] tbody tr:has(.dropdown-menu.show) {
  position: relative;
  z-index: 6;
}

[class*="-module-page"] tbody tr:has(.dropdown-menu.show) > td {
  overflow: visible;
}

/* ════════════════════════════════════════════════════════════════════════════
   ADMIN DASHBOARD — KPI movement, money-at-risk tiles, queue amounts
   ════════════════════════════════════════════════════════════════════════════ */

/* ── KPI card: status chip ──────────────────────────────────────────────────
   The customers and notifications cards have no historical series to compare
   against, so rather than print an invented arrow they carry their module's
   own health flag — a fact the summary already computes. */
.adm-kpi-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.1rem 0.5rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1.5;
  white-space: nowrap;
}

.adm-kpi-chip--ok {
  background-color: var(--bs-success-bg-subtle);
  color: var(--bs-success-text-emphasis);
  border-color: var(--bs-success-border-subtle);
}

.adm-kpi-chip--warn {
  background-color: var(--bs-warning-bg-subtle);
  color: var(--bs-warning-text-emphasis);
  border-color: var(--bs-warning-border-subtle);
}

/* ── KPI card: sparkline ────────────────────────────────────────────────────
   Drawn inline from the monthly series the revenue chart already loads, so the
   card gains a shape to read without a second request or a chart library. */
.adm-kpi-spark {
  display: block;
  width: 100%;
  height: 26px;
  margin-top: 0.45rem;
  color: currentColor;
  opacity: 0.55;
  overflow: visible;
}

.stat-card:hover .adm-kpi-spark {
  opacity: 0.9;
}

/* ── Money at risk ──────────────────────────────────────────────────────────
   The workflow queue only ever showed counts; the amounts behind them were
   already on the DTO and never rendered. Each tile carries a share bar so the
   three read against one another at a glance. */
.adm-risk-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0.85rem;
}

.adm-risk-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.9rem 1rem 1.15rem;
  border: 1px solid var(--adm-border);
  border-radius: var(--sys-card-radius, 0.75rem);
  background: var(--adm-bg-surface);
  color: inherit;
  text-decoration: none;
  overflow: hidden;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.adm-risk-tile:hover,
.adm-risk-tile:focus-visible {
  border-color: color-mix(in srgb, var(--adm-brand-600) 35%, var(--adm-border));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--adm-brand-600) 10%, transparent);
  transform: translateY(-1px);
  text-decoration: none;
}

.adm-risk-tile__label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui);
}

.adm-risk-tile__value {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--adm-text-strong);
  font-variant-numeric: tabular-nums;
}

.adm-risk-tile__value small {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui);
}

.adm-risk-tile__meta {
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui);
  font-variant-numeric: tabular-nums;
}

/* The share bar sits on the bottom edge; width is the tile's slice of the
   total, passed in as --adm-risk-share. */
.adm-risk-tile__share {
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  height: 3px;
  width: var(--adm-risk-share, 0%);
  background: var(--adm-risk-tone, var(--adm-brand-600));
  border-start-end-radius: 3px;
  border-end-end-radius: 3px;
}

.adm-risk-tile--danger { --adm-risk-tone: var(--bs-danger); }
.adm-risk-tile--warn { --adm-risk-tone: var(--bs-warning); }
.adm-risk-tile--info { --adm-risk-tone: var(--adm-brand-600, var(--bs-primary)); }

.adm-risk-tile--danger .adm-risk-tile__label i { color: var(--bs-danger); }
.adm-risk-tile--warn .adm-risk-tile__label i { color: var(--bs-warning); }
.adm-risk-tile--info .adm-risk-tile__label i { color: var(--adm-brand-600, var(--bs-primary)); }

/* ── Workflow queue: amount beside the count ────────────────────────────── */
.adm-queue-amount {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui);
  font-variant-numeric: tabular-nums;
}

@media (prefers-reduced-motion: reduce) {
  .adm-risk-tile { transition: none; }
}

/* ── KPI row: equal-height cards ────────────────────────────────────────────
   Only two of the four cards carry a sparkline, so they grew taller than the
   other two and the row looked ragged. Stretch every card to the tallest and
   let the sparkline sit on the bottom edge, so the four read as one band.
   The #admStatCards id is needed to outrank dashboard.css's
   `body.admin-shell .stat-card { display: block !important }`. */
body.admin-shell #admStatCards .stat-card {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

body.admin-shell #admStatCards .stat-card > .d-flex {
  flex: 0 0 auto;
}

body.admin-shell #admStatCards .adm-kpi-spark {
  margin-top: auto;
  padding-top: 0.6rem;
}

/* ════════════════════════════════════════════════════════════════════════════
   ADMIN DASHBOARD — workforce box
   Attendance is the one HR figure that changes every day, so it leads: a ring
   carrying today's rate, the breakdown beside it, and the three things that
   need a human underneath.
   ════════════════════════════════════════════════════════════════════════════ */

.adm-hr-grid {
  display: grid;
  grid-template-columns: auto minmax(160px, 1fr) minmax(220px, 1.2fr);
  align-items: center;
  gap: 1.5rem;
}

@media (max-width: 991.98px) {
  .adm-hr-grid {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }
}

/* ── Attendance ring ─────────────────────────────────────────────────────── */
.adm-hr-attend {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.adm-hr-ring {
  width: 132px;
  height: 132px;
  flex: 0 0 auto;
}

.adm-hr-ring__track {
  stroke: color-mix(in srgb, var(--adm-text-muted-ui) 16%, transparent);
}

.adm-hr-ring__value {
  stroke: var(--adm-brand-600, var(--bs-primary));
  transition: stroke-dasharray 0.5s ease;
}

.adm-hr-ring__pct {
  fill: var(--adm-text-strong);
  font-size: 1.4rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.adm-hr-ring__cap {
  fill: var(--adm-text-muted-ui);
  font-size: 0.62rem;
  font-weight: 600;
}

.adm-hr-attend__total {
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui);
}

.adm-hr-attend__total strong {
  color: var(--adm-text-strong);
  font-variant-numeric: tabular-nums;
}

/* ── Today's breakdown ───────────────────────────────────────────────────── */
.adm-hr-legend {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  min-width: 0;
}

.adm-hr-legend li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui);
}

.adm-hr-legend b {
  margin-inline-start: auto;
  color: var(--adm-text-strong);
  font-variant-numeric: tabular-nums;
}

.adm-hr-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex: 0 0 auto;
}

.adm-hr-dot--present { background: var(--adm-brand-600, var(--bs-primary)); }
.adm-hr-dot--leave { background: var(--bs-info); }
.adm-hr-dot--absent { background: var(--bs-danger); }
.adm-hr-dot--idle { background: color-mix(in srgb, var(--adm-text-muted-ui) 45%, transparent); }

/* ── The three things that need a human ──────────────────────────────────── */
.adm-hr-actions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.6rem;
  width: 100%;
}

@media (max-width: 575.98px) {
  .adm-hr-actions { grid-template-columns: 1fr; }
}

.adm-hr-action {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  padding: 0.7rem 0.8rem;
  border: 1px solid var(--adm-border);
  border-radius: var(--sys-card-radius, 0.75rem);
  background: var(--adm-bg-surface);
  color: inherit;
  text-decoration: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.adm-hr-action:hover,
.adm-hr-action:focus-visible {
  border-color: color-mix(in srgb, var(--adm-brand-600) 35%, var(--adm-border));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--adm-brand-600) 10%, transparent);
  text-decoration: none;
}

.adm-hr-action__n {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--adm-text-strong);
  font-variant-numeric: tabular-nums;
}

.adm-hr-action__n.is-live { color: var(--adm-brand-600, var(--bs-primary)); }
.adm-hr-action__n.is-warn { color: var(--bs-danger); }

.adm-hr-action__t {
  font-size: 0.72rem;
  color: var(--adm-text-muted-ui);
  line-height: 1.35;
}

/* ── Which contracts, and how long is left ───────────────────────────────── */
.adm-hr-expiry {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0.75rem 0 0;
  border-top: 1px solid var(--adm-border-subtle);
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.75rem;
}

.adm-hr-expiry li {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.15rem 0.6rem;
  border-radius: 999px;
  background: var(--adm-bg-surface-2);
  border: 1px solid var(--adm-border-subtle);
  font-size: 0.75rem;
}

.adm-hr-expiry__name { color: var(--adm-text-strong); font-weight: 600; }
.adm-hr-expiry__days { color: var(--adm-text-muted-ui); font-variant-numeric: tabular-nums; }
.adm-hr-expiry__days.is-urgent { color: var(--bs-danger); font-weight: 600; }

@media (prefers-reduced-motion: reduce) {
  .adm-hr-ring__value,
  .adm-hr-action { transition: none; }
}

/* ════════════════════════════════════════════════════════════════════════════
   ADMIN DASHBOARD — operational analytics
   The section used to say "3 modules need attention" without saying which, and
   nothing on it was clickable. It now leads with the three figures, then a
   board where every row names a module, shows its share, and links to it.
   ════════════════════════════════════════════════════════════════════════════ */

/* ── The three headline figures ──────────────────────────────────────────── */
.adm-ops-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 1px;
  background: var(--adm-border);
  border: 1px solid var(--adm-border);
  border-radius: var(--sys-card-radius, 0.75rem);
  overflow: hidden;
  margin-bottom: 1.25rem;
}

.adm-ops-stat {
  background: var(--adm-bg-surface);
  padding: 0.85rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.adm-ops-stat__n {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--adm-text-strong);
  font-variant-numeric: tabular-nums;
}

/* The busiest-module tile holds a name, not a figure — same slot, smaller type
   so a long module name still fits on one line. */
.adm-ops-stat__n--text {
  font-size: 1.05rem;
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.adm-ops-stat__n.is-warn { color: var(--bs-danger); }
.adm-ops-stat__n.is-ok { color: var(--bs-success); }

.adm-ops-stat__t {
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui);
}

/* ── Module board ────────────────────────────────────────────────────────── */
.adm-ops-board {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.adm-ops-row {
  display: grid;
  grid-template-columns: minmax(96px, auto) 1fr auto auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0.65rem;
  border-radius: var(--sys-radius, 0.4rem);
  color: inherit;
  text-decoration: none;
  transition: background 0.15s ease;
}

.adm-ops-row:hover,
.adm-ops-row:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600) 6%, transparent);
  text-decoration: none;
}

.adm-ops-row__name {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-strong);
  white-space: nowrap;
}

.adm-ops-row__track {
  height: 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--adm-text-muted-ui) 14%, transparent);
  overflow: hidden;
  min-width: 40px;
}

.adm-ops-row__fill {
  display: block;
  height: 100%;
  width: var(--adm-ops-w, 0%);
  border-radius: 999px;
  background: var(--adm-brand-600, var(--bs-primary));
  transition: width 0.4s ease;
}

.adm-ops-row.is-warn .adm-ops-row__fill { background: var(--bs-danger); }

.adm-ops-row__n {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--adm-text-strong);
  font-variant-numeric: tabular-nums;
  min-width: 2.2ch;
  text-align: end;
}

.adm-ops-row__chip {
  padding: 0.1rem 0.55rem;
  border-radius: 999px;
  border: 1px solid var(--bs-success-border-subtle);
  background: var(--bs-success-bg-subtle);
  color: var(--bs-success-text-emphasis);
  font-size: 0.68rem;
  font-weight: 600;
  white-space: nowrap;
}

.adm-ops-row.is-warn .adm-ops-row__chip {
  border-color: var(--bs-danger-border-subtle);
  background: var(--bs-danger-bg-subtle);
  color: var(--bs-danger-text-emphasis);
}

@media (max-width: 575.98px) {
  .adm-ops-row { grid-template-columns: 1fr auto; row-gap: 0.35rem; }
  .adm-ops-row__track { grid-column: 1 / -1; order: 3; }
  .adm-ops-row__chip { order: 4; justify-self: start; }
}

/* ── Health ring + its own legend ────────────────────────────────────────── */
.adm-ops-health {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.adm-ops-mix {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1 1 auto;
  min-width: 0;
}

.adm-ops-mix li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui);
}

.adm-ops-mix b {
  margin-inline-start: auto;
  color: var(--adm-text-strong);
  font-variant-numeric: tabular-nums;
}

@media (prefers-reduced-motion: reduce) {
  .adm-ops-row,
  .adm-ops-row__fill { transition: none; }
}

/* ════════════════════════════════════════════════════════════════════════════
   SALES — customer account balance
   Replaces the credit bar that always read 0%: Customer.CreditUsed is never
   written to anywhere in the system, so every figure drawn from it was blank.
   These numbers come off the customer's open invoices instead.
   ════════════════════════════════════════════════════════════════════════════ */

.sl-ar {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.sl-ar__ring-wrap {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  min-width: 134px;
}

.sl-ar__ring { width: 134px; height: 134px; }

.sl-ar__track { stroke: color-mix(in srgb, var(--adm-text-muted-ui) 15%, transparent); }

/* Utilisation tone: comfortable, watch it, past the line. */
.sl-ar__ring.is-ok .sl-ar__value { stroke: var(--bs-success); }
.sl-ar__ring.is-warn .sl-ar__value { stroke: var(--bs-warning); }
.sl-ar__ring.is-stop .sl-ar__value { stroke: var(--bs-danger); }

.sl-ar__pct {
  fill: var(--adm-text-strong);
  font-size: 1.45rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.sl-ar__cap {
  fill: var(--adm-text-muted-ui);
  font-size: 0.6rem;
  font-weight: 600;
}

.sl-ar__nolimit {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui);
  text-align: center;
  max-width: 130px;
}

.sl-ar__nolimit i { font-size: 1.15rem; }

.sl-ar__facts {
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1 1 260px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.sl-ar__facts li {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: 0.25rem 0.75rem;
  padding: 0.5rem 0.65rem;
  border-radius: var(--sys-radius, 0.4rem);
}

.sl-ar__facts li:nth-child(odd) { background: var(--adm-bg-surface-2); }

.sl-ar__k {
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui);
}

.sl-ar__v {
  font-size: 1rem;
  font-weight: 700;
  color: var(--adm-text-strong);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* The count/age line sits under the label, not beside the figure. */
.sl-ar__m {
  grid-column: 1 / -1;
  font-size: 0.72rem;
  color: var(--adm-text-muted-ui);
  font-variant-numeric: tabular-nums;
}

.sl-ar__facts li.is-stop .sl-ar__v { color: var(--bs-danger); }
.sl-ar__facts li.is-ok .sl-ar__v { color: var(--bs-success); }
.sl-ar__facts li.is-info .sl-ar__v { color: var(--adm-brand-600, var(--bs-primary)); }

@media (max-width: 575.98px) {
  .sl-ar { gap: 1rem; }
  .sl-ar__ring-wrap { margin-inline: auto; }
}

/* ── Customer quick links ───────────────────────────────────────────────────
   Was three outline buttons adrift in a full-width panel. Each tile now shows
   the figure it leads to, so the row is readable before anyone clicks. */
.sl-ql {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(224px, 1fr));
  gap: 0.6rem;
}

.sl-ql__tile {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid var(--adm-border);
  border-radius: var(--sys-card-radius, 0.75rem);
  background: var(--adm-bg-surface);
  color: inherit;
  text-decoration: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.sl-ql__tile:hover,
.sl-ql__tile:focus-visible {
  border-color: color-mix(in srgb, var(--adm-brand-600) 35%, var(--adm-border));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--adm-brand-600) 10%, transparent);
  transform: translateY(-1px);
  text-decoration: none;
}

.sl-ql__ico {
  flex: 0 0 auto;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: var(--sys-radius, 0.4rem);
  display: grid;
  place-items: center;
  background: var(--brand-wash, color-mix(in srgb, var(--adm-brand-600) 8%, transparent));
  color: var(--adm-brand-600, var(--bs-primary));
  font-size: 1rem;
}

.sl-ql__txt {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 0.05rem;
}

.sl-ql__t {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-strong);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sl-ql__m {
  font-size: 0.7rem;
  color: var(--adm-text-muted-ui);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* The money the tile is about, pinned to the far edge. */
.sl-ql__n {
  margin-inline-start: auto;
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--adm-text-strong);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.sl-ql__tile.is-stop .sl-ql__ico { background: var(--bs-danger-bg-subtle); color: var(--bs-danger); }
.sl-ql__tile.is-stop .sl-ql__n { color: var(--bs-danger); }
.sl-ql__tile.is-info .sl-ql__ico { background: var(--bs-info-bg-subtle); color: var(--bs-info); }

/* The one action tile, so it does not read as another report link. */
.sl-ql__tile--go {
  border-color: color-mix(in srgb, var(--adm-brand-600) 30%, var(--adm-border));
  background: color-mix(in srgb, var(--adm-brand-600) 4%, var(--adm-bg-surface));
}

.sl-ql__tile--go .sl-ql__ico {
  background: var(--adm-brand-600, var(--bs-primary));
  color: #fff;
}

@media (prefers-reduced-motion: reduce) {
  .sl-ql__tile { transition: none; }
}

/* ── Customer profile completion ────────────────────────────────────────────
   The card opened with all eight sections expanded — a screenful of red bars
   before the reader got to anything they came for. The score and a chip row
   stay up top; the field list sits behind a disclosure. */
.sl-pc-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-content: flex-start;
  flex: 1 1 320px;
  min-width: 0;
}

.sl-pc-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.15rem 0.6rem;
  border-radius: 999px;
  border: 1px solid var(--adm-border);
  background: var(--adm-bg-surface-2);
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui);
  white-space: nowrap;
}

.sl-pc-chip b {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  color: var(--adm-text-strong);
}

/* Done / partway / untouched — a tint, not a full red bar. */
.sl-pc-chip.is-done {
  background: var(--bs-success-bg-subtle);
  border-color: var(--bs-success-border-subtle);
  color: var(--bs-success-text-emphasis);
}
.sl-pc-chip.is-done b { color: var(--bs-success-text-emphasis); }

.sl-pc-chip.is-part {
  background: var(--bs-warning-bg-subtle);
  border-color: var(--bs-warning-border-subtle);
  color: var(--bs-warning-text-emphasis);
}
.sl-pc-chip.is-part b { color: var(--bs-warning-text-emphasis); }

.sl-pc-chip.is-empty b { color: var(--adm-text-muted-ui); }

/* ── The disclosure ─────────────────────────────────────────────────────── */
.sl-pc-more { margin-top: 0.9rem; border-top: 1px solid var(--adm-border-subtle); padding-top: 0.75rem; }

.sl-pc-more > summary {
  cursor: pointer;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-brand-600, var(--bs-primary));
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.sl-pc-more > summary::-webkit-details-marker { display: none; }

.sl-pc-more > summary::before {
  content: "";
  width: 0; height: 0;
  border-block-start: 5px solid currentColor;
  border-inline: 4px solid transparent;
  transition: transform 0.15s ease;
}

.sl-pc-more[open] > summary::before { transform: rotate(180deg); }

.sl-pc-more > summary:hover { text-decoration: underline; }

.sl-pc-more .sl-profile-completion__sections { margin-top: 0.9rem; }

.sl-pc-done {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.9rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--adm-border-subtle);
  font-size: 0.8125rem;
  color: var(--bs-success-text-emphasis);
}

.sl-pc-done i { color: var(--bs-success); font-size: 1rem; }

@media (prefers-reduced-motion: reduce) {
  .sl-pc-more > summary::before { transition: none; }
}

/* ── Profile completion: layout + detail rows ───────────────────────────────
   Two fixes to what the disclosure exposed.

   1. The outer grid still had three tracks — score | sections | cta — but the
      CTA moved up beside the score and the chips took the middle, so the third
      track sat empty and opened a screen-wide gap under the chips.

   2. The detail was a 7-column grid of narrow cards: cramped labels, ragged
      column heights, and whichever section landed last orphaned on its own row.
      Each section reads better as one full-width row. */
.sl-profile-completion__layout {
  grid-template-columns: minmax(9rem, auto) 1fr;
  align-items: start;
}

@media (max-width: 767.98px) {
  .sl-profile-completion__layout { grid-template-columns: 1fr; }
}

.sl-pc-more .sl-profile-completion__sections {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Sections sit side by side again. Wider tracks than the original 11rem so the
   labels stop wrapping mid-word, and every card stretches to its row height so
   the grid reads as a grid instead of a ragged pile. */
.sl-pc-more .sl-profile-completion__sections {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr));
  gap: 0.7rem;
  align-items: stretch;
}

.sl-pc-more .sl-profile-completion-section {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--adm-border);
  border-radius: var(--sys-card-radius, 0.75rem);
  background: var(--adm-bg-surface);
  border-bottom: 1px solid var(--adm-border);
}

/* ── sys-meter — the shared proportion bar ─────────────────────────────────
   Bootstrap's `.progress` + `.progress-bar` renders every bar at full width in
   this project regardless of the inline width, so 0% and 40% looked identical
   wherever it was used. This takes its fill straight from --sys-meter-fill, a
   property no other rule can reach.

     <div class="sys-meter" style="--sys-meter-fill: 40%">
       <span class="sys-meter__fill"></span>
     </div>

   Tone comes from --sys-meter-tone, or one of the modifiers below. */
.sys-meter {
  height: 6px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--adm-text-muted-ui) 16%, transparent);
  overflow: hidden;
}

.sys-meter__fill {
  display: block;
  height: 100%;
  width: var(--sys-meter-fill, 0%);
  border-radius: 999px;
  background: var(--sys-meter-tone, color-mix(in srgb, var(--adm-text-muted-ui) 45%, transparent));
  transition: width 0.4s ease;
}

.sys-meter--ok { --sys-meter-tone: var(--bs-success); }
.sys-meter--warn { --sys-meter-tone: var(--bs-warning); }
.sys-meter--stop { --sys-meter-tone: var(--bs-danger); }
.sys-meter--brand { --sys-meter-tone: var(--adm-brand-600, var(--bs-primary)); }

.sl-pc-more .is-part .sys-meter__fill { background: var(--bs-warning); }
.sl-pc-more .is-done .sys-meter__fill { background: var(--bs-success); }

@media (prefers-reduced-motion: reduce) {
  .sys-meter__fill { transition: none; }
}

.sl-pc-more .sl-profile-completion-section:last-child { border-bottom: 0; }

.sl-pc-more .sl-profile-completion-section__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
}

.sl-pc-more .sl-profile-completion-section__title {
  font-size: 0.8125rem;
  font-weight: 600;
}

/* The percentage is the state signal now, so it carries the colour. */
.sl-pc-more .sl-profile-completion-section__pct {
  font-size: 0.72rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  padding: 0.05rem 0.45rem;
  border-radius: 999px;
  background: var(--adm-bg-surface-2);
  color: var(--adm-text-muted-ui);
}

.sl-pc-more .is-done .sl-profile-completion-section__pct {
  background: var(--bs-success-bg-subtle);
  color: var(--bs-success-text-emphasis);
}

.sl-pc-more .is-part .sl-profile-completion-section__pct {
  background: var(--bs-warning-bg-subtle);
  color: var(--bs-warning-text-emphasis);
}

/* Missing fields become chips on the row below, wrapping freely — no more
   three-then-"+2 more" truncation fighting a narrow column. */
.sl-pc-more .sl-profile-completion-section__missing {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin: 0;
}

.sl-pc-more .sl-profile-completion-section__missing li { display: inline-flex; }

.sl-pc-more .sl-profile-completion-section__link {
  display: inline-flex;
  align-items: center;
  padding: 0.1rem 0.55rem;
  border-radius: 999px;
  border: 1px dashed var(--adm-border);
  background: var(--adm-bg-surface);
  font-size: 0.72rem;
  color: var(--adm-text-muted-ui);
  text-decoration: none;
  transition: border-color 0.15s ease, color 0.15s ease;
}

.sl-pc-more .sl-profile-completion-section__link:hover,
.sl-pc-more .sl-profile-completion-section__link:focus-visible {
  border-style: solid;
  border-color: var(--adm-brand-600, var(--bs-primary));
  color: var(--adm-brand-600, var(--bs-primary));
  text-decoration: none;
}

.sl-pc-more .sl-profile-completion-section__link .bi-dot { display: none; }

.sl-pc-more .sl-profile-completion-section__missing li.small {
  align-items: center;
  font-size: 0.72rem;
  padding-inline: 0.2rem;
}

@media (prefers-reduced-motion: reduce) {
  .sl-pc-more .sl-profile-completion-section__link { transition: none; }
}

/* ════════════════════════════════════════════════════════════════════════════
   SALES — receivables aging on the order-to-cash hub
   The hub carried one outstanding total. These show how old that money is and
   who is holding it, which is where a collections run actually starts.
   ════════════════════════════════════════════════════════════════════════════ */

/* One stacked rail: each band reads as its share of the whole rather than as
   five unrelated figures. */
.sl-aging-rail {
  display: flex;
  height: 14px;
  border-radius: 999px;
  overflow: hidden;
  background: color-mix(in srgb, var(--adm-text-muted-ui) 12%, transparent);
  margin-bottom: 1rem;
}

.sl-aging-rail__seg {
  width: var(--sl-aging-w, 0%);
  transition: width 0.4s ease;
}

.sl-aging-rail__seg.is-clear { background: var(--adm-brand-600, var(--bs-primary)); }
.sl-aging-rail__seg.is-soon { background: var(--bs-info); }
.sl-aging-rail__seg.is-warn { background: var(--bs-warning); }
.sl-aging-rail__seg.is-stop { background: var(--bs-danger); }

.sl-aging-bands {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 0.75rem 1rem;
}

.sl-aging-bands li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  gap: 0.15rem 0.45rem;
  min-width: 0;
}

.sl-aging-bands__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  align-self: center;
}

.sl-aging-bands .is-clear .sl-aging-bands__dot { background: var(--adm-brand-600, var(--bs-primary)); }
.sl-aging-bands .is-soon .sl-aging-bands__dot { background: var(--bs-info); }
.sl-aging-bands .is-warn .sl-aging-bands__dot { background: var(--bs-warning); }
.sl-aging-bands .is-stop .sl-aging-bands__dot { background: var(--bs-danger); }

.sl-aging-bands__k {
  font-size: 0.75rem;
  color: var(--adm-text-muted-ui);
  white-space: nowrap;
}

.sl-aging-bands__n {
  grid-column: 2;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--adm-text-strong);
  font-variant-numeric: tabular-nums;
  line-height: 1.25;
}

.sl-aging-bands .is-stop .sl-aging-bands__n { color: var(--bs-danger); }

.sl-aging-bands__m {
  grid-column: 2;
  font-size: 0.7rem;
  color: var(--adm-text-muted-ui);
  font-variant-numeric: tabular-nums;
}

.sl-aging-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: 1rem;
  padding-top: 0.8rem;
  border-top: 1px solid var(--adm-border-subtle);
  font-size: 0.8125rem;
  color: var(--adm-text-muted-ui);
}

.sl-aging-foot b {
  font-size: 1rem;
  color: var(--bs-danger);
  font-variant-numeric: tabular-nums;
}

.sl-aging-foot a { font-weight: 600; text-decoration: none; }
.sl-aging-foot a:hover { text-decoration: underline; }

/* ── Largest balances ───────────────────────────────────────────────────── */
.sl-debtors { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.15rem; }

.sl-debtors a {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.2rem 0.6rem;
  padding: 0.5rem 0.6rem;
  border-radius: var(--sys-radius, 0.4rem);
  color: inherit;
  text-decoration: none;
  transition: background 0.15s ease;
}

.sl-debtors a:hover,
.sl-debtors a:focus-visible { background: var(--brand-wash, color-mix(in srgb, var(--adm-brand-600) 6%, transparent)); text-decoration: none; }

.sl-debtors__name {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-strong);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sl-debtors__n {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--adm-text-strong);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.sl-debtors .sys-meter { grid-column: 1 / -1; height: 4px; }

.sl-debtors__m {
  grid-column: 1 / -1;
  font-size: 0.7rem;
  color: var(--bs-danger);
  font-variant-numeric: tabular-nums;
}

@media (prefers-reduced-motion: reduce) {
  .sl-aging-rail__seg,
  .sl-debtors a { transition: none; }
}

/* ── Sales list summary strip ───────────────────────────────────── */
/* Four totals above a list table. Uses the cycle stat card, so only the
   grid track and the meta line are new. */
.sl-overview--list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

@media (max-width: 1199.98px) {
  .sl-overview--list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .sl-overview--list {
    grid-template-columns: minmax(0, 1fr);
  }
}

.sl-overview--list .sl-overview-card__body {
  padding: 0.8rem 0.95rem;
  gap: 0.75rem;
}

.sl-overview--list .sl-overview-card__title {
  margin-bottom: 0.25rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.sl-overview--list .sl-overview-card__stat {
  font-size: 1.2rem;
}

.sl-overview--list .sl-overview-card__icon {
  width: 2.35rem;
  height: 2.35rem;
  font-size: 1rem;
}

.sl-overview-card__meta {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

/* The overdue tile is a link; make the affordance visible without shouting. */
.sl-overview--list a.sl-overview-card {
  text-decoration: none;
}

.sl-overview--list .sl-overview-card--active {
  border-color: color-mix(in srgb, var(--bs-danger, #dc3545) 38%, var(--adm-border-subtle, var(--bs-border-color)));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--bs-danger, #dc3545) 18%, transparent);
}

/* ── Active filter chips ────────────────────────────────────────── */
/* Sits between the filter form and the table: says why the list is short,
   and each chip removes just its own filter. */
.sys-filter-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  margin: 0 0 0.75rem;
}

.sys-filter-chips__label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

.sys-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 26%, transparent);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 8%, transparent);
  color: var(--adm-brand-600, var(--bs-primary));
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.6;
  text-decoration: none;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.sys-filter-chip:hover,
.sys-filter-chip:focus-visible {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 16%, transparent);
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 45%, transparent);
  color: var(--adm-brand-600, var(--bs-primary));
}

.sys-filter-chip__x {
  font-size: 0.62rem;
  opacity: 0.7;
}

.sys-filter-chip:hover .sys-filter-chip__x {
  opacity: 1;
}

.sys-filter-chips__clear {
  font-size: 0.75rem;
  font-weight: 600;
  text-decoration: none;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
  padding-inline: 0.25rem;
}

.sys-filter-chips__clear:hover {
  color: var(--bs-danger, #dc3545);
  text-decoration: underline;
}

/* ── Sales: typographic + avatar polish ─────────────────────────── */
/* .sales-num is on every money cell in 35 Sales views but had no rule, so
   figures were proportional and columns of numbers did not line up. */
.sales-module-page .sales-num,
.sales-module-page .sl-overview-card__stat,
.sales-module-page .table td.text-end {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  letter-spacing: -0.01em;
}

/* Document numbers read as a quiet chip, not as raw <code>. */
.sales-module-page .sales-code {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  letter-spacing: 0.01em;
  color: var(--adm-brand-600, var(--bs-primary));
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, transparent);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 7%, transparent);
}

/* Customer initials: a soft tinted disc instead of one saturated blue square.
   The hue cycles down the table so rows are easier to tell apart at a glance;
   it is decoration, so nothing is encoded in the colour. */
.sales-module-page .sl-entity-avatar {
  --sl-avatar-hue: var(--adm-brand-600, var(--bs-primary));
  border-radius: 0.65rem;
  background: color-mix(in srgb, var(--sl-avatar-hue) 14%, transparent);
  border-color: color-mix(in srgb, var(--sl-avatar-hue) 26%, transparent);
  color: var(--sl-avatar-hue);
  box-shadow: none;
}

.sales-module-page tbody tr:nth-child(6n + 2) .sl-entity-avatar { --sl-avatar-hue: #17322d; }
.sales-module-page tbody tr:nth-child(6n + 3) .sl-entity-avatar { --sl-avatar-hue: #2d6359; }
.sales-module-page tbody tr:nth-child(6n + 4) .sl-entity-avatar { --sl-avatar-hue: #0d9488; }
.sales-module-page tbody tr:nth-child(6n + 5) .sl-entity-avatar { --sl-avatar-hue: #d97706; }
.sales-module-page tbody tr:nth-child(6n + 6) .sl-entity-avatar { --sl-avatar-hue: #db2777; }

/* The large avatar on a detail hero keeps the filled treatment — it is the
   subject of the page, not one row among many. */
.sales-module-page .sl-entity-avatar--lg {
  background: linear-gradient(135deg, #17322d, #173630);
  border-color: transparent;
  color: #fff;
}

html[data-theme="dark"] .sales-module-page .sl-entity-avatar {
  background: color-mix(in srgb, var(--sl-avatar-hue) 22%, transparent);
  border-color: color-mix(in srgb, var(--sl-avatar-hue) 38%, transparent);
  color: color-mix(in srgb, var(--sl-avatar-hue) 55%, #fff);
}

html[data-theme="dark"] .sales-module-page .sales-code {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 16%, transparent);
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 30%, transparent);
  color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 45%, #fff);
}

/* ── Cycle next-actions: breathing room under the hero ──────────── */
/* The "next step" box sat flush against the first action button on every
   Sales document detail page — none of the eight per-document copies of
   these rules set a margin between them. */
.sales-module-page [class*="next-actions__hero"] + [class*="next-actions__buttons"] {
  margin-top: 0.85rem;
}

.sales-module-page [class*="next-actions__buttons"] + [class*="next-actions__footer"] {
  margin-top: 0.85rem;
}

/* ── Reports: align the figures ─────────────────────────────────── */
/* Sales reports render under .reports-module-page, not .sales-module-page,
   so the Sales numeric rule never reached them — and these are the pages
   with a grand-total row sitting right under the data, where proportional
   figures are most obviously ragged. */
.reports-module-page .sales-num,
.reports-module-page .table td.text-end {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  letter-spacing: -0.01em;
}

.reports-module-page .table tfoot td,
.reports-module-page .table tfoot th {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

/* ── Report KPI tiles ───────────────────────────────────────────── */
/* The centred stat panels at the top of a report.
   These fight two stacks that are deliberately heavy-handed:
     app.css        .sys-panel { padding: 0 !important }   → the markup's py-2 never applied
     dashboard.css  four separate :hover rules that force border-color and
                    box-shadow back to the resting values with !important
                    (lines ~4294/4329/4455/4539), and it loads after app.css.
   The repeated class names are the cheapest way to outrank all of them from
   the one sanctioned stylesheet. Scoped to report pages, so no other panel in
   the app is affected. Verified in the browser, not by reading specificity. */
body.admin-shell .reports-module-page.reports-module-page .sys-panel.sys-panel.text-center.text-center {
  padding: 1.15rem 1.15rem !important;
  transition: transform 0.15s ease, box-shadow 0.2s ease, border-color 0.15s ease !important;
}

/* Reports that wrap the tile content in a panel body: pad the body instead,
   or the two paddings stack. */
body.admin-shell .reports-module-page.reports-module-page .sys-panel.sys-panel.text-center.text-center:has(> [class*="sys-panel__body"]) {
  padding: 0 !important;
}

body.admin-shell .reports-module-page.reports-module-page .sys-panel.sys-panel.text-center.text-center > [class*="sys-panel__body"] {
  padding-block: 1.15rem !important;
}

body.admin-shell .reports-module-page.reports-module-page .sys-panel.sys-panel.text-center.text-center:hover {
  transform: translateY(-2px) !important;
  border-color: color-mix(in srgb, var(--adm-brand-600, #173630) 45%, var(--card-border, var(--adm-border-subtle))) !important;
  box-shadow: 0 6px 18px rgba(7, 10, 9, 0.10), 0 0 0 1px color-mix(in srgb, var(--adm-brand-600, #173630) 18%, transparent) !important;
}

body.admin-shell .reports-module-page.reports-module-page .sys-panel.sys-panel.text-center.text-center p {
  transition: transform 0.15s ease;
}

body.admin-shell .reports-module-page.reports-module-page .sys-panel.sys-panel.text-center.text-center:hover p.fw-bold {
  transform: scale(1.03);
}

@media (prefers-reduced-motion: reduce) {
  body.admin-shell .reports-module-page.reports-module-page .sys-panel.sys-panel.text-center.text-center,
  body.admin-shell .reports-module-page.reports-module-page .sys-panel.sys-panel.text-center.text-center p {
    transition: none !important;
  }

  body.admin-shell .reports-module-page.reports-module-page .sys-panel.sys-panel.text-center.text-center:hover,
  body.admin-shell .reports-module-page.reports-module-page .sys-panel.sys-panel.text-center.text-center:hover p.fw-bold {
    transform: none !important;
  }
}

/* ── Vendor form: two wildcard leaks ────────────────────────────── */
/* Both of these are shared selectors written for a block that also match the
   block's own BEM children, because the child's class name contains the
   parent's. Guarded here rather than at the source: the `-ref-form` family is
   ~40 interlocking rules and a :not() there would ripple through every module.

   1. `[class*="-module-page"] [class*="-ref-form"]` paints a card (shadow +
      border). It was also hitting `…-ref-form__field-row--full`, so the row
      holding the "النوع" segment was drawn as a floating card. */
[class*="-module-page"] [class*="-ref-form__field-row"] {
  box-shadow: none !important;
  border: 0 !important;
}

/* 2. `.sys-card__body [class*="-lines-panel"] { padding: 0 }` was also hitting
      `…-lines-panel__foot`, and being more specific it beat the foot's own
      padding — so the bank-account count line sat flush against the edges. */
.sys-card__body [class*="-lines-panel__foot"] {
  padding: 0.6rem 1rem 0.8rem !important;
}

/* ── Horizontal scrollers: show that there is more ──────────────── */
/* The customer tabs and the cycle pipeline both overflow at laptop widths
   (measured: 132px and 71px). A flat cut looks like a rendering fault; a
   fade at the scrolling edge reads as "there is more this way". Pure paint,
   no layout change, and it disappears once the strip fits. */
.sl-customer-tabs-nav-wrap,
.operational-cycle-pipeline {
  -webkit-mask-image: linear-gradient(to left, #000 calc(100% - 2.25rem), transparent 100%);
  mask-image: linear-gradient(to left, #000 calc(100% - 2.25rem), transparent 100%);
}

html:not([dir="rtl"]) .sl-customer-tabs-nav-wrap,
html:not([dir="rtl"]) .operational-cycle-pipeline {
  -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 2.25rem), transparent 100%);
  mask-image: linear-gradient(to right, #000 calc(100% - 2.25rem), transparent 100%);
}

/* ── Card hint sitting directly on the card ─────────────────────── */
/* .sys-card__hint sets padding:0 because it usually lives inside __head or
   __body, which already pad it. When it is a direct child of the card there
   is nothing to pad it, so the text ran into the card's edges. */
.sys-card > .sys-card__hint {
  padding: 0 1.2rem 1.1rem;
}

@media (max-width: 575.98px) {
  .sys-card > .sys-card__hint {
    padding: 0 1rem 1rem;
  }
}

/* ── Detail heroes: same card treatment as the panels under them ── */
/* The hero kept app.css's small module radius (2.8px) while every panel below
   it is re-rounded to --card-radius (16px) by dashboard.css, which only
   targets .sys-panel / [class*="-panel"]. The hero is neither, so it was the
   one square box on the page. The :not() guard keeps the hero's own BEM
   children (__main, __text, __name, __meta) out of it. */
.sales-module-page [class*="-detail-hero"]:not([class*="-detail-hero__"]) {
  border-radius: var(--card-radius, 1rem);
  border: 1px solid var(--sys-card-border, var(--adm-border-subtle, var(--bs-border-color-translucent)));
  box-shadow: var(--card-shadow, 0 1px 3px rgba(0, 0, 0, 0.07), 0 1px 2px rgba(0, 0, 0, 0.04));
}

/* ── Editable line tables: give them the system table frame ─────── */
/* An enhanced table on a list page sits in .sys-panel__body--flush, so the
   panel itself is the frame. The same shell inside a padded form body had no
   frame at all — toolbar, table and footer floated loose in the card. This
   supplies the frame only in that second case.
   No overflow:hidden on purpose: these tables hold tom-select dropdowns that
   must be able to escape the box. The corners are rounded on the toolbar and
   footer instead. */
[class*="panel__body--padded"] .sys-table-shell,
[class*="card__body"] .sys-table-shell {
  border: 1px solid var(--sys-card-border, var(--adm-border-subtle, var(--bs-border-color-translucent)));
  border-radius: var(--card-radius, 1rem);
  background: var(--sys-card-bg, #fff);
}

[class*="panel__body--padded"] .sys-table-shell > .sys-table-toolbar,
[class*="card__body"] .sys-table-shell > .sys-table-toolbar {
  border-bottom: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-start-start-radius: var(--card-radius, 1rem);
  border-start-end-radius: var(--card-radius, 1rem);
  background: var(--adm-bg-surface-2, #f8fafc);
  padding-inline: 0.85rem;
}

[class*="panel__body--padded"] .sys-table-shell > .sys-table-footer,
[class*="card__body"] .sys-table-shell > .sys-table-footer {
  border-top: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
  border-end-start-radius: var(--card-radius, 1rem);
  border-end-end-radius: var(--card-radius, 1rem);
  background: var(--adm-bg-surface-2, #f8fafc);
}

/* The table's own header band would otherwise sit on the toolbar's tint with
   no separation. */
[class*="panel__body--padded"] .sys-table-shell .table > thead > tr > th,
[class*="card__body"] .sys-table-shell .table > thead > tr > th {
  background: var(--sys-card-bg, #fff);
}

/* Quotation win-rate: a definition list reads better as rows with a hairline
   between them than as two loose columns. */
.reports-module-page .sl-qw-metrics > dt,
.reports-module-page .sl-qw-metrics > dd {
  padding-block: 0.45rem;
  margin-bottom: 0;
  border-top: 1px solid var(--adm-border-subtle, var(--bs-border-color-translucent));
}

.reports-module-page .sl-qw-metrics > dt:first-of-type,
.reports-module-page .sl-qw-metrics > dt:first-of-type + dd {
  border-top: 0;
}

.reports-module-page .sl-qw-metrics > dd {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

/* ── Purchasing: the same polish Sales got ──────────────────────── */
/* .purch-num (9 views) and .purch-code (11 views) were both used in markup
   with no CSS rule at all — the exact gap .sales-num had. Money columns were
   therefore set in proportional figures and did not line up. */
.purch-module-page .purch-num,
.purch-module-page .table td.text-end {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  letter-spacing: -0.01em;
}

.purch-module-page .purch-code {
  padding: 0.15rem 0.4rem;
  border-radius: var(--pu-vendor-radius, 0.35rem);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  letter-spacing: 0.01em;
  color: var(--adm-brand-600, var(--bs-primary));
  border: 1px solid color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 18%, transparent);
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 7%, transparent);
  font-size: 0.8125rem;
}

/* Vendor initials: soft tinted disc, hue cycling down the table. Decoration
   only — nothing is encoded in the colour. */
.purch-module-page .pu-entity-avatar,
.purch-module-page .pu-md-entity-avatar {
  --pu-avatar-hue: var(--adm-brand-600, var(--bs-primary));
  border-radius: 0.65rem;
  background: color-mix(in srgb, var(--pu-avatar-hue) 14%, transparent);
  border-color: color-mix(in srgb, var(--pu-avatar-hue) 26%, transparent);
  color: var(--pu-avatar-hue);
  box-shadow: none;
}

.purch-module-page tbody tr:nth-child(6n + 2) .pu-entity-avatar,
.purch-module-page tbody tr:nth-child(6n + 2) .pu-md-entity-avatar { --pu-avatar-hue: #17322d; }
.purch-module-page tbody tr:nth-child(6n + 3) .pu-entity-avatar,
.purch-module-page tbody tr:nth-child(6n + 3) .pu-md-entity-avatar { --pu-avatar-hue: #2d6359; }
.purch-module-page tbody tr:nth-child(6n + 4) .pu-entity-avatar,
.purch-module-page tbody tr:nth-child(6n + 4) .pu-md-entity-avatar { --pu-avatar-hue: #0d9488; }
.purch-module-page tbody tr:nth-child(6n + 5) .pu-entity-avatar,
.purch-module-page tbody tr:nth-child(6n + 5) .pu-md-entity-avatar { --pu-avatar-hue: #d97706; }
.purch-module-page tbody tr:nth-child(6n + 6) .pu-entity-avatar,
.purch-module-page tbody tr:nth-child(6n + 6) .pu-md-entity-avatar { --pu-avatar-hue: #db2777; }

/* The large avatar on a detail hero stays filled — it is the subject of the
   page, not one row among many. */
.purch-module-page .pu-entity-avatar--lg,
.purch-module-page .pu-md-entity-avatar--lg {
  background: linear-gradient(135deg, #17322d, #173630);
  border-color: transparent;
  color: #fff;
}

html[data-theme="dark"] .purch-module-page .pu-entity-avatar,
html[data-theme="dark"] .purch-module-page .pu-md-entity-avatar {
  background: color-mix(in srgb, var(--pu-avatar-hue) 22%, transparent);
  border-color: color-mix(in srgb, var(--pu-avatar-hue) 38%, transparent);
  color: color-mix(in srgb, var(--pu-avatar-hue) 55%, #fff);
}

html[data-theme="dark"] .purch-module-page .purch-code {
  background: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 16%, transparent);
  border-color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 30%, transparent);
  color: color-mix(in srgb, var(--adm-brand-600, var(--bs-primary)) 45%, #fff);
}

/* Detail heroes: --pu-vendor-radius is 0.20rem, while every panel under the
   hero is re-rounded to --card-radius (16px) by dashboard.css, which only
   targets .sys-panel / [class*="-panel"]. The hero is neither, so it was the
   one square box on the page — same defect fixed in Sales. The :not() guard
   keeps the hero's own BEM children out of it. */
.purch-module-page [class*="-detail-hero"]:not([class*="-detail-hero__"]) {
  border-radius: var(--card-radius, 1rem);
  border: 1px solid var(--sys-card-border, var(--adm-border-subtle, var(--bs-border-color-translucent)));
  box-shadow: var(--card-shadow, 0 1px 3px rgba(0, 0, 0, 0.07), 0 1px 2px rgba(0, 0, 0, 0.04));
}

/* Meta line under a Purchasing overview card's figure (count, secondary total). */
.purch-module-page .pu-md-overview-card__meta {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--adm-text-muted-ui, var(--bs-secondary-color));
}

/* Sortable column headers on server-paged lists. */
.purch-module-page .purch-sort-link {
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

.purch-module-page .purch-sort-link:hover {
  color: var(--adm-brand-600, var(--bs-primary));
}

.purch-module-page .purch-sort-link .bi {
  font-size: 0.7rem;
  opacity: 0.55;
}

.purch-module-page .purch-sort-link:hover .bi {
  opacity: 1;
}

/* ── purch-facts ──────────────────────────────────────────────────────────
   Label/value pairs on a detail page. A flat grid of <strong>label:</strong>
   value gave every fact the same weight and let the values run into the next
   label; this separates the two and lets the values line up in a column. */
.purch-module-page .purch-facts {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
  gap: 0.85rem 1.5rem;
  margin: 0;
}

.purch-module-page .purch-facts__item {
  min-width: 0;
}

.purch-module-page .purch-facts dt {
  margin: 0 0 0.15rem;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--bs-secondary-color);
}

.purch-module-page .purch-facts dd {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.purch-module-page .purch-facts--secondary dd {
  font-weight: 500;
  color: var(--bs-secondary-color);
}

/* ── Numeric columns line up ──────────────────────────────────────────────
   Right-aligned cells in this module's tables hold money and quantities.
   Proportional digits make 1,000.00 and 999.00 different widths, so columns
   of figures read ragged. One rule covers every such column, including the
   detail pages, instead of tagging each cell. */
.purch-module-page table td.text-end,
.purch-module-page table th.text-end,
.purch-module-page .pu-detail-dl__row dd {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

/* ── Overview cards react to the pointer ──────────────────────────────────
   They looked identical hovered and not, while the sys-panels beside them
   lifted — so the eye read them as inert. Same shadow and ring the shell
   already gives a panel, plus a small lift. */
.purch-module-page .pu-md-overview-card {
  transition: box-shadow var(--motion-normal, 0.2s ease),
              transform var(--motion-normal, 0.2s ease),
              border-color var(--motion-fast, 0.15s ease);
}

.purch-module-page .pu-md-overview-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--adm-shadow-md, var(--shadow-md)),
              0 0 0 1px color-mix(in srgb, #173630 18%, transparent);
}

@media (prefers-reduced-motion: reduce) {
  .purch-module-page .pu-md-overview-card {
    transition: box-shadow var(--motion-normal, 0.2s ease);
  }

  .purch-module-page .pu-md-overview-card:hover {
    transform: none;
  }
}

/* A card whose figure is a name or a document number, not a number. */
.purch-module-page .pu-md-overview-card__stat--sm {
  font-size: 0.95rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

/* ── Diwan brand logo (green on light surfaces, sand gold on dark) ── */
.diwan-logo { display: block; height: 2.25rem; width: auto; object-fit: contain; }
.diwan-logo--on-dark { display: none; }
[data-theme="dark"] .diwan-logo--on-light { display: none; }
[data-theme="dark"] .diwan-logo--on-dark { display: block; }
.tb-logo-diwan { display: inline-flex; align-items: center; }
.sidebar-mobile-brand-logo .diwan-logo { height: 2rem; }
.store-brand-mark .diwan-logo { height: 2.75rem; }
.diwan-auth-logo { display: block; width: min(11rem, 50%); height: auto; margin: 0 auto 1.25rem; }
