/**
 * ISTERMEAT design system — Loyalty admin (Fáza 1)
 * Zladené s Výroba SW: cream pozadie, biely sidebar, primary #B91C1C
 */

/*
 * Tailwind build nemá `@tailwind base`, teda ani preflight. Bez neho:
 *  - tlačidlo bez `bg-*` triedy dostane systémovú sivú (ButtonFace) — presne to
 *    „staré sivé pozadie", ktoré bolo vidno na Skopírovať link / Zrušiť / Pridať
 *  - `border-gray-200` nastaví len farbu, ale `border-style` zostane `none`,
 *    takže rám sa vôbec nevykreslí a tlačidlo je len sivý blok
 * Tento reset to dorovnáva — bez zásahu do zvyšku dokumentu.
 */
button {
  background-color: transparent;
  background-image: none;
  border-width: 0;
  border-style: solid;
  border-color: var(--im-border, #E7E5E4);
}
:root {
  --im-primary: #B91C1C;
  --im-primary-hover: #991B1B;
  --im-bg: #FBF7F0;
  --im-card: #FFFFFF;
  --im-border: #E7E5E4;
  --im-ink: #1C1917;
  --im-muted: #78716C;
  --im-radius: 1rem;
  --im-radius-lg: 1.25rem;
  --im-shadow-card: 0 1px 3px 0 rgb(0 0 0 / 0.07), 0 1px 2px -1px rgb(0 0 0 / 0.07);
  --im-sidebar-collapsed: 4rem;
  --im-sidebar-expanded: 15rem;
  --im-font-sans: 'Manrope', system-ui, -apple-system, sans-serif;
  --im-font-display: 'Fraunces', Georgia, serif;
  --im-font-mono: 'JetBrains Mono', ui-monospace, monospace;
}

/* ─── Authed shell ─── */
body.loyalty-ui-v2 {
  font-family: var(--im-font-sans);
  color: var(--im-ink);
  background: var(--im-bg) !important;
}

body.loyalty-ui-v2 h1,
body.loyalty-ui-v2 h2,
body.loyalty-ui-v2 h3,
body.loyalty-ui-v2 .im-page-title {
  font-family: var(--im-font-display);
}

body.loyalty-ui-v2 .num,
body.loyalty-ui-v2 code,
body.loyalty-ui-v2 .im-mono {
  font-family: var(--im-font-mono);
}

/* Override theme-premium gradient shell */
body.loyalty-ui-v2 .card,
body.loyalty-ui-v2 .panel,
body.loyalty-ui-v2 .box {
  background: var(--im-card) !important;
  border-color: var(--im-border) !important;
  border-radius: var(--im-radius) !important;
  box-shadow: var(--im-shadow-card) !important;
}

body.loyalty-ui-v2 button:not([data-sidebar-nav]):not(.secondary):not(.im-btn-secondary):not(.im-btn-ghost):not(.ds-tab):not(.admin-tab-btn):not([class*='wms-btn']):not([class*='rounded-lg']):not([class*='rounded-md']):not([class*='rounded-full']):not(.im-act-primary):not(.im-act-secondary):not([class*='bg-']):not(.module-btn):not(.rev-report-action-btn):not(.expiry-global-banner-btn):not(.expiry-global-banner-close):not(.wms-expiry-view-btn):not(.pp-ret-view-btn):not(.wms-rcv-obj-badge):not(.wms-retlist-alarm):not(.minv-kbd-done):not(.wms-expiry-tab):not(.wms-rcv-queue-tab):not(.loyalty-sb-nav-btn):not(.loyalty-sb-subnav-btn):not(.loyalty-sb-foot-btn):not(.wms-inv-product-link):not(.plain-btn):not(.wms-orders-extra-x):not(.wms-multipick-btn) {
  background: var(--im-primary) !important;
  border-radius: 0.5rem !important;
  box-shadow: none !important;
  transform: none !important;
}

body.loyalty-ui-v2 button:not([data-sidebar-nav]):not(.secondary):not(.im-btn-secondary):not(.im-btn-ghost):not(.ds-tab):not(.admin-tab-btn):not([class*='wms-btn']):not([class*='rounded-lg']):not([class*='rounded-md']):not([class*='rounded-full']):not(.im-act-primary):not(.im-act-secondary):not([class*='bg-']):not(.module-btn):not(.rev-report-action-btn):not(.expiry-global-banner-btn):not(.expiry-global-banner-close):not(.wms-expiry-view-btn):not(.pp-ret-view-btn):not(.wms-rcv-obj-badge):not(.wms-retlist-alarm):not(.minv-kbd-done):not(.wms-expiry-tab):not(.wms-rcv-queue-tab):not(.loyalty-sb-nav-btn):not(.loyalty-sb-subnav-btn):not(.loyalty-sb-foot-btn):not(.wms-inv-product-link):not(.plain-btn):not(.wms-orders-extra-x):not(.wms-multipick-btn):hover {
  background: var(--im-primary-hover) !important;
  transform: none !important;
  box-shadow: none !important;
}

body.loyalty-ui-v2 button.secondary:not([data-sidebar-nav]) {
  background: #fff !important;
  color: var(--im-ink) !important;
  border: 1px solid var(--im-border) !important;
  box-shadow: none !important;
}

body.loyalty-ui-v2 button.secondary:not([data-sidebar-nav]):hover {
  background: #FAFAF9 !important;
}

body.loyalty-ui-v2 input:focus,
body.loyalty-ui-v2 select:focus,
body.loyalty-ui-v2 textarea:focus {
  outline: none !important;
  border-color: var(--im-primary) !important;
  box-shadow: 0 0 0 3px rgba(185, 28, 28, 0.12) !important;
}

body.loyalty-ui-v2 input:not([type="checkbox"]):not([type="radio"]),
body.loyalty-ui-v2 select,
body.loyalty-ui-v2 textarea {
  max-width: none !important;
  box-sizing: border-box;
}

/* Jednotné formulárové polia */
body.loyalty-ui-v2 .im-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem 1.125rem;
  width: 100%;
}

body.loyalty-ui-v2 .im-form-grid.im-form-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.loyalty-ui-v2 .im-field {
  display: flex;
  flex-direction: column;
  gap: 0.3125rem;
  min-width: 0;
}

body.loyalty-ui-v2 .im-field-full {
  grid-column: 1 / -1;
}

body.loyalty-ui-v2 .im-field label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: #57534E;
  margin: 0;
  line-height: 1.3;
}

body.loyalty-ui-v2 .im-field input:not([type="checkbox"]):not([type="radio"]),
body.loyalty-ui-v2 .im-field select,
body.loyalty-ui-v2 .im-field textarea {
  display: block;
  width: 100%;
  min-height: 2.375rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--im-border) !important;
  border-radius: 0.5rem !important;
  background: #fff !important;
  color: var(--im-ink);
  font-size: 0.8125rem;
  line-height: 1.35;
  box-shadow: none !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.loyalty-ui-v2 .im-field select {
  padding-right: 2rem;
  cursor: pointer;
}

body.loyalty-ui-v2 .im-field input[type="color"] {
  min-height: 2.375rem;
  height: 2.375rem;
  padding: 0.3125rem 0.375rem;
  cursor: pointer;
}

body.loyalty-ui-v2 .im-field-color input[type="color"] {
  width: 100%;
}

@media (max-width: 960px) {
  body.loyalty-ui-v2 .im-form-grid:not(.im-form-grid--2) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  body.loyalty-ui-v2 .im-form-grid,
  body.loyalty-ui-v2 .im-form-grid.im-form-grid--2 {
    grid-template-columns: 1fr;
  }
}

/* ─── Komponenty ─── */
.im-card {
  background: var(--im-card);
  border: 1px solid var(--im-border);
  border-radius: var(--im-radius);
  box-shadow: var(--im-shadow-card);
  padding: 1rem;
}

.im-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 0.5rem;
  background: var(--im-primary);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.im-btn-primary:hover {
  background: var(--im-primary-hover);
}

.im-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 0.5rem 1rem;
  border: 1px solid var(--im-border);
  border-radius: 0.5rem;
  background: #fff;
  color: var(--im-ink);
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.im-btn-secondary:hover {
  background: #FAFAF9;
}

.im-input {
  width: 100%;
  border: 1px solid var(--im-border);
  border-radius: 0.5rem;
  background: #fff;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  color: var(--im-ink);
}

.im-input:focus {
  outline: none;
  border-color: var(--im-primary);
  box-shadow: 0 0 0 3px rgba(185, 28, 28, 0.15);
}

.im-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.5rem;
  border-radius: 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
}

.im-badge-ok { background: #DCFCE7; color: #166534; }
.im-badge-warn { background: #FEF9C3; color: #854D0E; }
.im-badge-danger { background: #FEE2E2; color: #991B1B; }
.im-badge-neutral { background: #F5F5F4; color: #57534E; }

/* ─── Page header (Fáza 2) ─── */
/* Hlavička stránky je na každej obrazovke, takže každý jej pixel sa platí
   na všetkých. Titul aj odsadenie sú preto zmenšené — názov modulu je aj
   v bočnom menu, tu stačí ako orientácia. */
.im-page-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem 1.25rem;
  margin-bottom: 0.6rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--im-border);
}

.im-page-header-text {
  min-width: 0;
}

.im-page-title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--im-primary);
  letter-spacing: -0.01em;
}

.im-page-subtitle {
  margin: 0.05rem 0 0;
  font-size: 0.75rem;
  color: var(--im-muted);
  line-height: 1.3;
}

.im-page-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin-left: auto;
}

.im-meta {
  font-size: 0.75rem;
  color: var(--im-muted);
}

.im-link-pill {
  font-size: 0.75rem;
  text-decoration: none;
  border: 1px solid var(--im-border);
  padding: 0.25rem 0.625rem;
  border-radius: 9999px;
  background: #fff;
  color: var(--im-muted);
  transition: background-color 0.15s ease, color 0.15s ease;
}

.im-link-pill:hover {
  background: #FAFAF9;
  color: var(--im-ink);
}

/* Main content shell */
body.loyalty-ui-v2 #adminMainShell.loyalty-admin-authed > .card.max-w-6xl {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 0.75rem 1.5rem;
  max-width: 1320px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

body.loyalty-ui-v2 #adminMainShell.loyalty-module-wms > .card.max-w-6xl {
  max-width: none;
  margin: 0;
  padding: 0 1rem 0.75rem;
}

body.loyalty-ui-v2 #appSection {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

/* Vnútorný obsah stránky — konzistentné okraje */
body.loyalty-ui-v2 .im-page-body {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0.5rem 1rem 1.5rem;
  box-sizing: border-box;
}

body.loyalty-ui-v2 .im-page-body--wide {
  max-width: 1520px;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

body.loyalty-ui-v2 #mopSection > .section-head:first-child {
  display: none;
}

body.loyalty-ui-v2 #wmsSection > .section-head {
  display: none;
}

body.loyalty-ui-v2 #wmsSection .wms-page {
  padding: 0.75rem 0 1.25rem;
  max-width: none;
  margin: 0;
  box-sizing: border-box;
}

body.loyalty-ui-v2 #mopSection .wms-page {
  padding: 0.25rem 0 1rem;
  max-width: none;
  margin: 0;
  box-sizing: border-box;
}

body.loyalty-ui-v2 .wms-card:not(.im-card):not(:has(> .wms-card-header)):not(:has(> .wms-toolbar)) {
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
  border-radius: var(--im-radius);
}

body.loyalty-ui-v2 .wms-card:has(> .wms-card-header),
body.loyalty-ui-v2 .wms-card:has(> .wms-toolbar),
body.loyalty-ui-v2 .wms-card.im-card {
  padding: 0;
  margin-bottom: 0;
  border-radius: var(--im-radius);
  border: 1px solid var(--im-border);
  box-shadow: var(--im-shadow-card);
  overflow: hidden;
  background: var(--im-card);
}

body.loyalty-ui-v2 .im-card-header,
body.loyalty-ui-v2 .wms-card > .wms-card-header {
  padding: 0.875rem 1.25rem !important;
  border-bottom: 1px solid var(--im-border);
  background: #FAFAF9;
}

body.loyalty-ui-v2 .im-card-header .wms-card-title,
body.loyalty-ui-v2 .wms-card > .wms-card-header .wms-card-title {
  font-family: var(--im-font-display);
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--im-ink);
}

body.loyalty-ui-v2 .im-card-body {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  padding: 1.25rem;
}

body.loyalty-ui-v2 .im-card-table,
body.loyalty-ui-v2 .wms-card .wms-table-wrap.im-card-table {
  border: none;
  border-radius: 0;
  border-top: 1px solid var(--im-border);
  margin: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  background: #fff;
}

body.loyalty-ui-v2 .wms-table-wrap:not(.im-card-table) {
  border: 1px solid var(--im-border);
  border-radius: 0.625rem;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  background: #fff;
}

body.loyalty-ui-v2 .wms-btn-primary {
  background: var(--im-primary) !important;
  border-color: var(--im-primary) !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.loyalty-ui-v2 .wms-btn-primary:hover {
  background: var(--im-primary-hover) !important;
  transform: none !important;
  box-shadow: none !important;
}

body.loyalty-ui-v2 .im-card-table .wms-table th:first-child,
body.loyalty-ui-v2 .im-card-table .wms-table td:first-child {
  padding-left: 1.25rem !important;
}

body.loyalty-ui-v2 .im-card-table .wms-table th:last-child,
body.loyalty-ui-v2 .im-card-table .wms-table td:last-child {
  padding-right: 1.25rem !important;
}

body.loyalty-ui-v2 .im-card-table .wms-table tbody tr:last-child td {
  border-bottom: none;
}

body.loyalty-ui-v2 .wms-table th,
body.loyalty-ui-v2 .wms-table td {
  padding: 0.5625rem 1rem !important;
}

body.loyalty-ui-v2 .dash-rev-table-card {
  padding: 1.25rem !important;
}

body.loyalty-ui-v2 .dash-rev-tbl-wrap {
  margin-top: 0.25rem;
  border: 1px solid var(--im-border);
  border-radius: 0.625rem;
  background: #fff;
}

body.loyalty-ui-v2 .dash-rev-tbl th {
  background: #FAFAF9 !important;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--im-muted);
}

body.loyalty-ui-v2 #adminMainShell.loyalty-admin-authed > .card.max-w-6xl > header.im-page-header {
  background: transparent;
  border-bottom-color: var(--im-border);
}

/* Kompaktné subnavigácie modulov */
body.loyalty-ui-v2 .customers-subnav,
body.loyalty-ui-v2 .settings-subnav,
body.loyalty-ui-v2 .mobile-app-subnav {
  gap: 0.25rem;
  margin-bottom: 0.75rem;
}

/* Mobil app — navigácia len v sidebari (nie horná lišta) */
body:has(#loyalty-sidebar) .mobile-app-subnav,
body:has(#loyalty-sidebar) #mobileAppSubnav {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════
   Fáza 3 — moduly a podstránky
   ═══════════════════════════════════════════════════════════ */

/* Pill taby — jednotný ISTERMEAT štýl */
body.loyalty-ui-v2 .ds-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: 0.3125rem 0.625rem;
  border-radius: 0.4375rem;
  font-size: 0.75rem;
  line-height: 1.15;
  font-weight: 500;
  border: 1px solid var(--im-border) !important;
  color: #57534E !important;
  background: #fff !important;
  cursor: pointer;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

body.loyalty-ui-v2 .ds-tab:hover {
  background: #FAFAF9 !important;
  color: var(--im-ink) !important;
  transform: none !important;
  box-shadow: none !important;
}

body.loyalty-ui-v2 .ds-tab.ds-tab-active {
  background: var(--im-primary) !important;
  color: #fff !important;
  border-color: var(--im-primary) !important;
  font-weight: 600;
}

body.loyalty-ui-v2 .im-subnav,
body.loyalty-ui-v2 .customers-subnav,
body.loyalty-ui-v2 .settings-subnav,
body.loyalty-ui-v2 .mobile-app-subnav,
body.loyalty-ui-v2 .dash-subnav,
body.loyalty-ui-v2 .admin-subnav,
body.loyalty-ui-v2 .period-toggle {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  margin: 0 0 0.75rem;
}

body.loyalty-ui-v2 .period-toggle .period-toggle {
  margin: 0;
}

body.loyalty-ui-v2 .loyalty-period-scroll {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.375rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  max-width: 100%;
}

body.loyalty-ui-v2 .loyalty-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.625rem 0.75rem;
  margin-bottom: 0.75rem;
}

body.loyalty-ui-v2 .im-subnav .ds-tab,
body.loyalty-ui-v2 .dash-subnav .ds-tab,
body.loyalty-ui-v2 .admin-subnav .ds-tab {
  min-height: 1.875rem;
}

/* Modulové sekcie — transparentný shell, vnorené karty ostávajú */
body.loyalty-ui-v2 section.panel[data-module] {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.loyalty-ui-v2 section.panel[data-module] > .panel,
body.loyalty-ui-v2 .customers-page-pane > .panel,
body.loyalty-ui-v2 .settings-page-pane > .panel,
body.loyalty-ui-v2 .mobile-app-page-pane > .panel {
  background: var(--im-card) !important;
  border: 1px solid var(--im-border) !important;
  box-shadow: var(--im-shadow-card) !important;
  border-radius: var(--im-radius) !important;
}

/* Skryť duplicitný modulový nadpis — titul je v im-page-header */
body.loyalty-ui-v2 #customersSection > .section-head:first-child,
body.loyalty-ui-v2 #settingsSection > .section-head:first-child,
body.loyalty-ui-v2 #mopSection > .section-head:first-child {
  display: none;
}

body.loyalty-ui-v2 .section-head {
  border-bottom: 1px solid var(--im-border);
  padding-bottom: 0.65rem;
  margin-bottom: 0.75rem;
}

body.loyalty-ui-v2 .section-title {
  font-family: var(--im-font-display);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--im-ink);
  margin: 0;
}

body.loyalty-ui-v2 .muted {
  color: var(--im-muted) !important;
}

/* Data Hub metriky */
body.loyalty-ui-v2 .subgrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.5rem;
  margin: 0.75rem 0;
}

body.loyalty-ui-v2 #dataSection .data-hub-kpi-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

body.loyalty-ui-v2 #dataSection .data-hub-kpi-sub {
  font-size: 0.6875rem;
  color: var(--im-muted);
  margin-top: 0.125rem;
}

@media (max-width: 1280px) {
  body.loyalty-ui-v2 #dataSection .data-hub-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  body.loyalty-ui-v2 #dataSection .data-hub-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

body.loyalty-ui-v2 .subcard {
  background: var(--im-card);
  border: 1px solid var(--im-border);
  border-radius: var(--im-radius);
  padding: 0.75rem 0.875rem;
  box-shadow: var(--im-shadow-card);
}

body.loyalty-ui-v2 .subcard .k {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--im-muted);
  margin-bottom: 0.25rem;
}

body.loyalty-ui-v2 .subcard .v {
  font-family: var(--im-font-display);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--im-primary);
}

/* Dashboard */
body.loyalty-ui-v2 #dashboardSection {
  background: transparent !important;
}

body.loyalty-ui-v2 #dashboardSection > .max-w-7xl {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0.5rem 0.75rem 1.5rem !important;
  box-sizing: border-box;
}

body.loyalty-ui-v2 #dashboardSection .dash-subnav {
  margin-bottom: 1rem;
}

/* Vnútorný shell pre štandardné moduly (nie WMS/MOP full-page) */
body.loyalty-ui-v2 #appSection > section.panel[data-module]:not(#wmsSection):not(#mopSection) {
  max-width: 1320px;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
  box-sizing: border-box;
  padding: 0 0.25rem 1.25rem !important;
}

body.loyalty-ui-v2 header.im-page-header {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
  width: 100%;
  box-sizing: border-box;
}

body.loyalty-ui-v2 #adminMainShell.loyalty-module-wms header.im-page-header {
  max-width: 1600px;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

body.loyalty-ui-v2 #mopSection .mop-page-pane .im-page-body,
body.loyalty-ui-v2 #mopSection .mop-page-pane > .im-page-body {
  padding-top: 0.25rem;
  padding-bottom: 1.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  max-width: 1520px;
}

/* Legacy tabuľky bez wms-table-wrap */
body.loyalty-ui-v2 section.panel .overflow-x-auto,
body.loyalty-ui-v2 section.panel div[style*="overflow:auto"]:has(> table),
body.loyalty-ui-v2 section.panel div[style*="overflow-x"]:has(> table) {
  border: 1px solid var(--im-border);
  border-radius: 0.625rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  background: #fff;
}

body.loyalty-ui-v2 section.panel .overflow-x-auto table,
body.loyalty-ui-v2 section.panel table:not(.wms-table):not(.dash-rev-tbl) {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

body.loyalty-ui-v2 section.panel .overflow-x-auto th,
body.loyalty-ui-v2 section.panel .overflow-x-auto td,
body.loyalty-ui-v2 section.panel table:not(.wms-table):not(.dash-rev-tbl) th,
body.loyalty-ui-v2 section.panel table:not(.wms-table):not(.dash-rev-tbl) td {
  padding: 0.5625rem 1rem;
  border-bottom: 1px solid var(--im-border);
  text-align: left;
  vertical-align: middle;
}

body.loyalty-ui-v2 section.panel table:not(.wms-table):not(.dash-rev-tbl) th {
  background: #FAFAF9;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--im-muted);
}

body.loyalty-ui-v2 #staffSection .overflow-x-auto,
body.loyalty-ui-v2 #dataSection > div:has(> table) {
  margin-top: 0.75rem;
}

/* MOP segment taby (Predajné ceny) */
body.loyalty-ui-v2 .im-seg-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-bottom: 0.75rem;
}

body.loyalty-ui-v2 .im-seg-nav .wms-btn-sm {
  padding: 0.25rem 0.5625rem !important;
  font-size: 0.75rem !important;
  line-height: 1.15 !important;
  border-radius: 0.4375rem !important;
  min-height: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

body.loyalty-ui-v2 .im-seg-nav .wms-btn-outline {
  background: #fff !important;
  color: #57534E !important;
  border: 1px solid var(--im-border) !important;
}

body.loyalty-ui-v2 .im-seg-nav .wms-btn-outline:hover {
  background: #FAFAF9 !important;
}

body.loyalty-ui-v2 .im-seg-nav .wms-btn-primary {
  background: var(--im-primary) !important;
  border-color: var(--im-primary) !important;
}

/* Tailwind primárne tlačidlá → ISTERMEAT */
body.loyalty-ui-v2 .bg-red-700 {
  background-color: var(--im-primary) !important;
}

body.loyalty-ui-v2 .hover\:bg-red-800:hover {
  background-color: var(--im-primary-hover) !important;
}

body.loyalty-ui-v2 .border-gray-200,
body.loyalty-ui-v2 .border-gray-300 {
  border-color: var(--im-border) !important;
}

body.loyalty-ui-v2 .bg-gray-50 {
  background-color: #FAFAF9 !important;
}

body.loyalty-ui-v2 table th {
  background: #FAFAF9 !important;
}

/* WMS / MOP modul — cream pozadie, nie sivé */
body.loyalty-ui-v2 #wmsSection,
body.loyalty-ui-v2 #mopSection {
  font-family: var(--im-font-sans);
  background: transparent !important;
}

body.loyalty-ui-v2 #wmsSection .wms-page,
body.loyalty-ui-v2 #mopSection .wms-page {
  background: transparent;
}

body.loyalty-ui-v2 #wmsSection .wms-card,
body.loyalty-ui-v2 #mopSection .wms-card {
  border-color: var(--im-border);
  box-shadow: var(--im-shadow-card);
}

body.loyalty-ui-v2 .wms-table th {
  background: #FAFAF9 !important;
}

/* Pane switching */
body.loyalty-ui-v2 .customers-page-pane,
body.loyalty-ui-v2 .settings-page-pane,
body.loyalty-ui-v2 .mobile-app-page-pane {
  display: none;
}

body.loyalty-ui-v2 .customers-page-pane.active,
body.loyalty-ui-v2 .settings-page-pane.active,
body.loyalty-ui-v2 .mobile-app-page-pane.active {
  display: block;
}

/* ═══ Nastavenia — čistý WMS/MOP layout ═══ */
/* Pri bočnom menu skryť horné pill taby (Web Push / Dev konzola …) — podkategórie sú v sidebare. */
body.loyalty-sidebar-nav #settingsSection .settings-subnav,
body.loyalty-ui-v2.loyalty-sidebar-nav #settingsSection .settings-subnav {
  display: none !important;
}

body.loyalty-ui-v2 #settingsSection .settings-subnav {
  padding-bottom: 0.625rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--im-border);
}

body.loyalty-ui-v2 #settingsSection .settings-page-pane {
  max-width: 920px;
}

body.loyalty-ui-v2 #settingsSection .im-settings-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

body.loyalty-ui-v2 #settingsSection .im-settings-stats {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  padding: 0.625rem 0.875rem;
  background: #fff;
  border: 1px solid var(--im-border);
  border-radius: var(--im-radius);
  font-size: 0.8125rem;
  color: var(--im-muted);
}

body.loyalty-ui-v2 #settingsSection .im-settings-desc {
  margin: 0 0 0.875rem;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--im-muted);
}

body.loyalty-ui-v2 #settingsSection .im-settings-desc code {
  font-family: var(--im-font-mono);
  font-size: 0.75rem;
  background: #F5F5F4;
  padding: 0.1rem 0.35rem;
  border-radius: 0.25rem;
}

body.loyalty-ui-v2 #settingsSection .im-var-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0 0 0.875rem;
}

body.loyalty-ui-v2 #settingsSection .im-var-chip {
  font-family: var(--im-font-mono);
  font-size: 0.6875rem;
  padding: 0.15rem 0.45rem;
  border-radius: 0.375rem;
  background: #F5F5F4;
  color: #57534E;
  border: 1px solid var(--im-border);
}

body.loyalty-ui-v2 #settingsSection .wms-card {
  margin-bottom: 0 !important;
}

body.loyalty-ui-v2 #settingsSection .wms-card-title {
  font-family: var(--im-font-display);
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--im-ink);
}

body.loyalty-ui-v2 #settingsSection .wms-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}

body.loyalty-ui-v2 #settingsSection .form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0.75rem 1rem;
  margin-bottom: 0.75rem;
}

body.loyalty-ui-v2 #settingsSection .form-grid > div[style*="grid-column:1/-1"],
body.loyalty-ui-v2 #settingsSection .form-grid .im-field-full {
  grid-column: 1 / -1;
}

body.loyalty-ui-v2 #settingsSection label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: #57534E;
  margin-bottom: 0.25rem;
}

body.loyalty-ui-v2 #settingsSection input:not([type="checkbox"]):not([type="radio"]),
body.loyalty-ui-v2 #settingsSection select,
body.loyalty-ui-v2 #settingsSection textarea {
  width: 100%;
  max-width: none;
  padding: 0.5rem 0.625rem;
  border: 1px solid var(--im-border) !important;
  border-radius: 0.5rem !important;
  font-size: 0.8125rem;
  background: #fff;
  box-shadow: none !important;
}

body.loyalty-ui-v2 #settingsSection textarea {
  min-height: 4.5rem;
  resize: vertical;
}

body.loyalty-ui-v2 #settingsSection .row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin: 0.5rem 0 0;
}

body.loyalty-ui-v2 #settingsSection .row button:not(.wms-btn) {
  font-size: 0.8125rem;
  padding: 0.4375rem 0.875rem;
}

body.loyalty-ui-v2 #settingsSection table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
  margin-top: 0.5rem;
}

body.loyalty-ui-v2 #settingsSection table th,
body.loyalty-ui-v2 #settingsSection table td {
  padding: 0.5rem 0.625rem;
  border-bottom: 1px solid var(--im-border);
  text-align: left;
  vertical-align: top;
}

body.loyalty-ui-v2 #settingsSection table th {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--im-muted);
  background: #FAFAF9 !important;
}

body.loyalty-ui-v2 #settingsSection .settings-page-pane > .panel {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.loyalty-ui-v2 #settingsSection #superSection .panel,
body.loyalty-ui-v2 #settingsSection #groupCreatePanel,
body.loyalty-ui-v2 #settingsSection #superSection > .panel {
  background: var(--im-card) !important;
  border: 1px solid var(--im-border) !important;
  border-radius: var(--im-radius) !important;
  padding: 1rem !important;
  margin-bottom: 0.75rem;
}

body.loyalty-ui-v2 #settingsSection .preview {
  margin-top: 0.75rem;
  padding: 0.625rem 0.75rem;
  background: #FAFAF9;
  border: 1px dashed var(--im-border);
  border-radius: 0.5rem;
  font-size: 0.8125rem;
}

body.loyalty-ui-v2 #settingsSection .ok,
body.loyalty-ui-v2 #settingsSection .err {
  font-size: 0.8125rem;
  margin: 0.5rem 0 0;
  padding: 0.5rem 0.75rem;
  border-radius: 0.5rem;
}

body.loyalty-ui-v2 #settingsSection .ok {
  background: #F0FDF4;
  border: 1px solid #BBF7D0;
  color: #166534;
}

body.loyalty-ui-v2 #settingsSection .err {
  background: #FEF2F2;
  border: 1px solid #FECACA;
}

/* ═══ Oddelenia — čistý layout ═══ */
body.loyalty-ui-v2 #departmentsSection {
  max-width: 1180px;
}

body.loyalty-ui-v2 #departmentsSection .im-dept-page {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

body.loyalty-ui-v2 #departmentsSection .im-dept-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  padding: 0.875rem 1.25rem;
  border-radius: var(--im-radius);
  border: 1px solid var(--im-border);
  background: var(--im-card);
  box-shadow: var(--im-shadow-card);
}

body.loyalty-ui-v2 #departmentsSection .im-dept-toolbar-hint {
  flex: 1 1 240px;
  font-size: 0.8125rem;
  color: var(--im-muted);
  line-height: 1.45;
}

body.loyalty-ui-v2 #departmentsSection .im-dept-toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

body.loyalty-ui-v2 #departmentsSection .im-card-body .form-grid {
  gap: 1rem 1.125rem;
}

body.loyalty-ui-v2 #departmentsSection .im-dept-subsection-title {
  margin: 0.25rem 0 0;
  padding-top: 0.875rem;
  border-top: 1px solid var(--im-border);
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--im-muted);
}

body.loyalty-ui-v2 #departmentsSection .im-dept-subsection-title code {
  font-family: var(--im-font-mono);
  font-size: 0.6875rem;
  text-transform: none;
  letter-spacing: 0;
}

body.loyalty-ui-v2 #departmentsSection .im-dept-warehouse-row {
  margin: 0;
  padding: 0.75rem 0.875rem;
  background: #FAFAF9;
  border: 1px solid var(--im-border);
  border-radius: 0.5rem;
  width: 100%;
  box-sizing: border-box;
}

body.loyalty-ui-v2 #departmentsSection .im-dept-check {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--im-ink);
}

body.loyalty-ui-v2 #departmentsSection .im-dept-check input {
  width: auto;
  max-width: none;
}

body.loyalty-ui-v2 #departmentsSection .im-dept-warehouse-row .muted {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.75rem;
}

body.loyalty-ui-v2 #departmentsSection label:not(.im-dept-check) {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: #57534E;
  margin-bottom: 0;
}

body.loyalty-ui-v2 #departmentsSection .form-grid:not(.im-form-grid) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem 1.125rem;
}

body.loyalty-ui-v2 #departmentsSection input:not([type="checkbox"]):not([type="radio"]),
body.loyalty-ui-v2 #departmentsSection select {
  width: 100%;
  max-width: none !important;
  min-height: 2.375rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--im-border) !important;
  border-radius: 0.5rem !important;
  font-size: 0.8125rem;
  background: #fff !important;
  box-shadow: none !important;
  box-sizing: border-box;
}

body.loyalty-ui-v2 #departmentsSection .im-card-body .row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding-top: 0.25rem;
}

body.loyalty-ui-v2 #departmentsSection .im-settings-desc {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--im-muted);
}

body.loyalty-ui-v2 #departmentsSection .im-dept-name {
  font-weight: 600;
  color: var(--im-ink);
}

body.loyalty-ui-v2 #departmentsSection .im-dept-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #78716C;
}

body.loyalty-ui-v2 #departmentsSection .im-dept-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

body.loyalty-ui-v2 #departmentsSection .status-chip {
  display: inline-flex;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.6875rem;
  font-weight: 600;
  border: 1px solid transparent;
}

body.loyalty-ui-v2 #departmentsSection .status-chip.active {
  color: #166534;
  background: #DCFCE7;
  border-color: #BBF7D0;
}

body.loyalty-ui-v2 #departmentsSection .status-chip.paused {
  color: #9A3412;
  background: #FFEDD5;
  border-color: #FED7AA;
}

body.loyalty-ui-v2 #departmentsSection .im-badge {
  margin-left: 0.375rem;
  vertical-align: middle;
}

body.loyalty-ui-v2 #departmentsSection .ok,
body.loyalty-ui-v2 #departmentsSection .err {
  font-size: 0.8125rem;
  margin: 0;
  padding: 0.625rem 0.875rem;
  border-radius: 0.5rem;
}

body.loyalty-ui-v2 #departmentsSection .ok {
  background: #F0FDF4;
  border: 1px solid #BBF7D0;
  color: #166534;
}

body.loyalty-ui-v2 #departmentsSection .err {
  background: #FEF2F2;
  border: 1px solid #FECACA;
}

/* ═══ Spoločné karty — MOP / WMS v loyalty shelli ═══ */
body.loyalty-ui-v2 .im-card-desc {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--im-muted);
}

body.loyalty-ui-v2 .im-card-meta {
  margin: 0;
  font-size: 0.75rem;
  color: var(--im-muted);
}

body.loyalty-ui-v2 .im-card-body--stack {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

body.loyalty-ui-v2 .im-card-body--form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

body.loyalty-ui-v2 .im-card-toolbar,
body.loyalty-ui-v2 .im-card-toolbar.wms-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.75rem 1rem;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
}

body.loyalty-ui-v2 .im-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem 1rem;
  border-top: 1px solid var(--im-border);
  background: #FAFAF9;
}

body.loyalty-ui-v2 .im-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-top: 0.25rem;
}

body.loyalty-ui-v2 .im-card-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

body.loyalty-ui-v2 .im-card-table--inset {
  border: 1px solid var(--im-border) !important;
  border-radius: 0.625rem !important;
  margin-top: 0.5rem;
  max-height: 360px;
  overflow: auto;
}

body.loyalty-ui-v2 .im-field-sm {
  flex: 0 1 11rem;
  min-width: 9rem;
}

body.loyalty-ui-v2 .im-field-xs {
  flex: 0 1 7.5rem;
  min-width: 6.5rem;
}

body.loyalty-ui-v2 .im-field-md {
  max-width: 26rem;
}

body.loyalty-ui-v2 .im-field-grow {
  flex: 1 1 14rem;
  min-width: 12rem;
}

body.loyalty-ui-v2 .im-form-grid--narrow {
  max-width: 28rem;
}

body.loyalty-ui-v2 .im-form-section {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

body.loyalty-ui-v2 .im-form-section-title {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: #57534E;
}

body.loyalty-ui-v2 .im-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem 1.125rem;
}

body.loyalty-ui-v2 .im-radio-group label {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--im-ink);
  cursor: pointer;
}

body.loyalty-ui-v2 .im-check-inline {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin: 0 0 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--im-ink);
  cursor: pointer;
  white-space: nowrap;
}

body.loyalty-ui-v2 .im-input-suffix {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

body.loyalty-ui-v2 .im-input-suffix .wms-input {
  flex: 1;
  min-width: 0;
}

body.loyalty-ui-v2 .im-input-suffix span {
  font-size: 0.8125rem;
  color: var(--im-muted);
  flex-shrink: 0;
}

/* MOP Predajné ceny */
body.loyalty-ui-v2 #mop-pane-sale-prices .wms-page {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

body.loyalty-ui-v2 #mop-sal-panel-lists,
body.loyalty-ui-v2 #mop-sal-panel-catalog,
body.loyalty-ui-v2 #mop-sal-panel-promotions {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

body.loyalty-ui-v2 #mopSection .wms-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #57534E;
  margin: 0;
}

body.loyalty-ui-v2 #mopSection .wms-input,
body.loyalty-ui-v2 #mopSection .wms-sel,
body.loyalty-ui-v2 #mopSection .wms-form-sel,
body.loyalty-ui-v2 #mopSection .wms-textarea {
  width: 100%;
  min-height: 2.375rem;
  padding: 0.5rem 0.75rem !important;
  border: 1px solid var(--im-border) !important;
  border-radius: 0.5rem !important;
  background: #fff !important;
  background-image: none !important;
  color: var(--im-ink);
  font-size: 0.8125rem;
  box-shadow: none !important;
  box-sizing: border-box;
}

body.loyalty-ui-v2 #mopSection .wms-sel {
  padding-right: 2rem !important;
}

body.loyalty-ui-v2 #mopSection .im-field .wms-input,
body.loyalty-ui-v2 #mopSection .im-field .wms-sel {
  display: block;
}

body.loyalty-ui-v2 #mopSection .im-seg-nav {
  margin-bottom: 0.25rem;
}

body.loyalty-ui-v2 #mopSection .wms-card.im-card > .wms-card-header {
  border-bottom: 1px solid var(--im-border);
}

/* ── Kompaktné tlačidlá (globálne v2) ── */
body.loyalty-ui-v2 button[class*='px-4'][class*='py-2'],
body.loyalty-ui-v2 button[class*='px-3'][class*='py-1.5'],
body.loyalty-ui-v2 button[class*='px-3'][class*='py-1'],
body.loyalty-ui-v2 a[class*='px-4'][class*='py-2'].ds-tab,
body.loyalty-ui-v2 .section-actions button,
body.loyalty-ui-v2 .im-card-actions button,
body.loyalty-ui-v2 .im-page-actions button:not(.loyalty-sb-nav-btn) {
  padding: 0.3125rem 0.625rem !important;
  font-size: 0.75rem !important;
  line-height: 1.125rem !important;
  border-radius: 0.375rem !important;
  box-shadow: none !important;
  transform: none !important;
  font-weight: 500 !important;
}

body.loyalty-ui-v2 button[class*='px-4'][class*='py-2']:hover,
body.loyalty-ui-v2 button[class*='px-3'][class*='py-1.5']:hover,
body.loyalty-ui-v2 button[class*='px-3'][class*='py-1']:hover,
body.loyalty-ui-v2 .section-actions button:hover,
body.loyalty-ui-v2 .im-card-actions button:hover {
  transform: none !important;
  box-shadow: none !important;
}

body.loyalty-ui-v2 .wms-btn,
body.loyalty-ui-v2 [class*='wms-btn'] {
  padding: 0.3125rem 0.625rem !important;
  font-size: 0.75rem !important;
  gap: 0.35rem !important;
  border-radius: 0.375rem !important;
  line-height: 1.125rem !important;
  box-shadow: none !important;
}

body.loyalty-ui-v2 .wms-btn-sm,
body.loyalty-ui-v2 [class*='wms-btn-sm'] {
  padding: 0.25rem 0.5rem !important;
  font-size: 0.6875rem !important;
}

body.loyalty-ui-v2 .wms-btn-xs,
body.loyalty-ui-v2 [class*='wms-btn-xs'] {
  padding: 0.1875rem 0.4375rem !important;
  font-size: 0.6875rem !important;
}

body.loyalty-ui-v2 .wms-btn svg,
body.loyalty-ui-v2 [class*='wms-btn'] svg {
  width: 12px !important;
  height: 12px !important;
}

body.loyalty-ui-v2 .wms-btn-sm svg,
body.loyalty-ui-v2 .wms-btn-xs svg {
  width: 11px !important;
  height: 11px !important;
}

body.loyalty-ui-v2 .wms-btn-primary:hover,
body.loyalty-ui-v2 .wms-btn-outline:hover,
body.loyalty-ui-v2 .wms-btn-ghost:hover,
body.loyalty-ui-v2 .wms-btn-danger:hover {
  transform: none !important;
  box-shadow: none !important;
}

body.loyalty-ui-v2 .wms-pg-btn {
  padding: 0.1875rem 0.5rem !important;
  font-size: 0.6875rem !important;
  min-width: 1.625rem;
  border-radius: 0.375rem !important;
}

body.loyalty-ui-v2 .wms-card-header .wms-btn,
body.loyalty-ui-v2 .wms-card-header [class*='wms-btn'] {
  padding: 0.25rem 0.5rem !important;
  font-size: 0.6875rem !important;
}

body.loyalty-ui-v2 .tiny-btn {
  padding: 0.15rem 0.45rem !important;
  font-size: 0.625rem !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}

body.loyalty-ui-v2 #settingsSection .row button:not(.wms-btn) {
  font-size: 0.75rem !important;
  padding: 0.3125rem 0.625rem !important;
}

body.loyalty-ui-v2 .im-seg-nav .wms-btn-sm {
  padding: 0.25rem 0.5rem !important;
  font-size: 0.6875rem !important;
}

/* ── WMS Príjem tovaru — kompaktné ── */
body.loyalty-ui-v2 #wms-pane-receiving .wms-rcv-queue-tab {
  padding: 0.1875rem 0.5rem !important;
  font-size: 0.6875rem !important;
  line-height: 1.2 !important;
  border-radius: 0.3125rem !important;
  background: #fff !important;
  color: #374151 !important;
  border: 1px solid var(--im-border) !important;
  box-shadow: none !important;
}

body.loyalty-ui-v2 #wms-pane-receiving .wms-rcv-queue-tab-active {
  background: #fef2f2 !important;
  color: #991B1B !important;
  border-color: var(--im-primary) !important;
}

body.loyalty-ui-v2 #wms-pane-receiving .wms-rcv-queue-collapsed .wms-rcv-queue-tab {
  width: auto;
  max-width: 100%;
}

body.loyalty-ui-v2 #wms-pane-receiving #wms-rcv-confirm-btn {
  padding: 0.1875rem 0.625rem !important;
  font-size: 0.6875rem !important;
  min-height: 1.625rem;
}

body.loyalty-ui-v2 #wms-pane-receiving .wms-rcv-line-btn {
  padding: 0.125rem 0.375rem !important;
  min-width: 1.375rem;
  min-height: 1.375rem;
}

body.loyalty-ui-v2 #wms-pane-receiving .wms-rcv-table .wms-input,
body.loyalty-ui-v2 #wms-pane-receiving .wms-rcv-table .wms-rcv-qty {
  padding: 0.125rem 0.3125rem !important;
  font-size: 0.6875rem !important;
  min-height: 1.375rem;
}

/* ── Položky rozbaľovacích ponúk (hľadanie, výber tovaru, šarže) ────────────
   Globálne pravidlá pre <button> (tu aj v admin.html) farbia tlačidlá firemnou
   červenou. Ponuky majú byť nevýrazné a čitateľné, preto majú značku
   .plain-btn, ktorú oba globálne selektory vynímajú. Nová ponuka = pridať
   .plain-btn, netreba zasahovať do selektorov. */
.plain-btn {
  display: block;
  width: 100%;
  text-align: left;
  padding: 0.5rem 0.75rem;
  border: 0;
  border-bottom: 1px solid #f3f4f6;
  border-radius: 0;
  background: #fff;
  color: #111827;
  box-shadow: none;
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.35;
  cursor: pointer;
  transition: background-color 0.12s ease;
}
.plain-btn:hover,
.plain-btn:focus-visible { background: #f4f4f5; color: #111827; }
.plain-btn:last-of-type { border-bottom: 0; }

/* Adresát mailového kanála — čip s krížikom na odobranie. */
.im-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 4px 2px 8px;
  border: 1px solid #E5E7EB;
  border-radius: 999px;
  background: #F9FAFB;
  font-size: 12px;
  color: #111827;
}
.im-chip button {
  border: 0;
  background: transparent;
  color: #6B7280;
  font-size: 14px;
  line-height: 1;
  padding: 0 3px;
  cursor: pointer;
  box-shadow: none;
}
.im-chip button:hover { color: #B91C1C; }

/* Účet s prístupom len na čítanie — značka v hlavičke stránky. */
.im-read-only-chip {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  background: #FEF3C7;
  color: #92400E;
  border: 1px solid #FCD34D;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

/* Sortiment webshopu — rozbaľovací zoznam podkategórií namiesto pásika tlačidiel */
.ws-subpick { position: relative; display: inline-block; }
.ws-subpick > summary {
  list-style: none;
  cursor: pointer;
  padding: 4px 9px;
  border: 1px solid var(--im-border, #e5e7eb);
  border-radius: 6px;
  background: #fff;
  font-size: 11px;
  white-space: nowrap;
  user-select: none;
}
.ws-subpick > summary::-webkit-details-marker { display: none; }
.ws-subpick[open] > summary { border-color: #B91C1C; color: #B91C1C; font-weight: 600; }
.ws-subpick-list {
  position: absolute;
  z-index: 30;
  top: calc(100% + 3px);
  left: 0;
  min-width: 210px;
  max-height: 260px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid var(--im-border, #e5e7eb);
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .12);
  padding: 5px;
}
.ws-subpick-list label {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px 5px;
  font-size: 11.5px;
  border-radius: 4px;
  cursor: pointer;
  white-space: nowrap;
}
.ws-subpick-list label:hover { background: #f9fafb; }
.ws-subpick-cnt { margin-left: auto; color: #9ca3af; font-size: 10px; }

/* Webshop v MOP — zbaliteľné nastavenia prístupu a zliav */
.ws-settings { margin-bottom: 10px; }
.ws-settings > summary {
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border: 1px solid var(--im-border, #e5e7eb);
  border-radius: 6px;
  background: #fff;
  font-size: 12px;
  font-weight: 600;
  color: #4b5563;
  margin-bottom: 8px;
}
.ws-settings > summary::-webkit-details-marker { display: none; }
.ws-settings > summary::before { content: '▸'; color: #9ca3af; }
.ws-settings[open] > summary::before { content: '▾'; }
.ws-settings[open] > summary { border-color: #B91C1C; color: #B91C1C; }
