@charset "UTF-8";

/* Price monitor statistics — Competitor Tracking › Price monitor statistics (RUN-1366).
   Scoped to `.px-pms`. Prefix `pms-`, verified free before use: no other stylesheet in
   resources/scss/** and no .vue selector owns it.

   Ported from the design's `PriceMonitorScreen.jsx`, whose styling is inline. Every value here is
   the token the JSX names — this file is the translation, not a reinterpretation. */

.px-pms {
  --px-white: #ffffff;
  --px-navy-700: #28374F;
  --shadow-overlay: 0 12px 32px rgba(16, 24, 40, 0.24);
  --type-mono: var(--weight-regular) var(--text-sm) / 1.5 var(--font-mono);
  --px-grey-25: #fafafc;
  --px-grey-50: #f8f8f8;
  --px-grey-75: #f5f5f7;
  --px-grey-100: #f3f4f7;
  --px-grey-150: #edeef1;
  --px-grey-200: #ebe9f1;
  --px-grey-250: #e8e8ec;
  --px-grey-300: #d8d6de;
  --px-grey-400: #bbc1ca;
  --px-grey-450: #b9b9c3;
  --px-grey-500: #737a87;
  --px-grey-600: #6e6b7b;
  --px-grey-700: #5e5873;
  --px-grey-800: #4b465c;
  --px-grey-900: #2f2b3d;
  --px-ink: #151b22;
  --px-green-50: #e9f9ee;
  --px-green-100: #dcfce8;
  --px-green-150: #ecfdef;
  --px-green-200: #b6f0cc;
  --px-green-500: #28c76f;
  --px-green-550: #2bb669;
  --px-green-600: #22A44E;
  --px-green-700: #16a34a;
  --px-green-800: #127c3a;
  --px-green-900: #17a851;
  --px-blue-50: #e8eefc;
  --px-blue-100: #c5d0f6;
  --px-blue-400: #60a5fa;
  --px-blue-500: #1e4ed8;
  --px-blue-600: #0b57a6;
  --px-blue-700: var(--px-blue-600);
  --px-violet-50: #eeedfd;
  --px-violet-100: #e2e1f5;
  --px-violet-500: #7367f0;
  --px-violet-600: #5b54e8;
  --px-cyan-500: #00cfe8;
  --px-orange-400: #f28058;
  --px-rust-600: #b4451e;
  --px-navy-800: #1f2e47;
  --px-red-50: #fff6f4;
  --px-red-100: #fcd7d6;
  --px-red-500: #ea5455;
  --px-red-600: #cb4744;
  --px-amber-50: #fffbf0;
  --px-amber-200: #f1dfbd;
  --px-amber-500: #ff9f43;
  --px-amber-600: #d49838;
  --px-amber-700: #b45309;
  --price-cheapest: var(--px-green-900);
  --price-below: var(--px-green-500);
  --price-parity: var(--px-amber-600);
  --price-above: var(--px-orange-400);
  --price-expensive: var(--px-red-600);
  --text-heading: var(--px-grey-700);
  --text-body: var(--px-grey-600);
  --text-muted: var(--px-grey-500);
  --text-faint: var(--px-grey-450);
  --text-link: var(--px-blue-500);
  --text-code: var(--px-violet-600);
  --text-strong: var(--px-ink);
  --px-navy-900: #16233a;
  --surface-page: var(--px-grey-75);
  --surface-card: var(--px-white);
  --surface-subtle: var(--px-grey-100);
  --surface-sunken: var(--px-grey-50);
  --surface-inverse: var(--px-ink);
  --surface-overlay: rgba(21, 27, 34, 0.45);
  --border-subtle: var(--px-grey-150);
  --border-default: var(--px-grey-250);
  --border-strong: var(--px-grey-300);
  --action-primary: var(--px-green-600);
  --action-primary-strong: var(--px-green-700);
  --action-quiet-bg: var(--px-white);
  --action-quiet-border: var(--px-grey-300);
  --action-accent: var(--px-violet-500);
  --action-accent-hover: var(--px-violet-600);
  --action-danger: var(--px-red-500);
  --action-danger-hover: var(--px-red-600);
  --border-focus: var(--px-violet-500);
  --status-success-fg: var(--px-green-700);
  --status-success-bg: var(--px-green-50);
  --status-danger-fg: var(--px-red-600);
  --status-danger-bg: var(--px-red-50);
  --status-warning-fg: var(--px-amber-600);
  --status-warning-bg: var(--px-amber-50);
  --status-warning-border: var(--px-amber-200);
  --status-info-fg: var(--px-blue-500);
  --status-info-bg: var(--px-blue-50);
  --status-neutral-fg: var(--px-grey-500);
  --status-neutral-bg: var(--px-grey-100);
  --status-live: var(--px-green-900);
  --status-paused: var(--px-grey-400);
  --space-1: 2px;
  --space-2: 4px;
  --space-3: 6px;
  --space-4: 8px;
  --space-5: 10px;
  --space-6: 12px;
  --space-7: 14px;
  --space-8: 16px;
  --space-9: 20px;
  --space-10: 24px;
  --space-11: 28px;
  --space-12: 32px;
  --space-14: 40px;
  --space-16: 48px;
  --card-padding: var(--space-10);
  --table-cell-x: var(--space-10);
  --table-cell-y: var(--space-9);
  --control-height-sm: 32px;
  --control-height-md: 40px;
  --control-height-lg: 46px;
  --control-padding-x: 18px;
  --stack-loose: var(--space-10);
  --font-core: "Figtree", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-mono: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  --text-2xs: 11px;
  --text-xs: 12px;
  --text-sm: 13px;
  --text-base: 14px;
  --text-md: 15px;
  --text-lg: 16px;
  --text-xl: 18px;
  --text-2xl: 20px;
  --text-3xl: 24px;
  --text-4xl: 28px;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --leading-tight: 1.15;
  --leading-snug: 1.3;
  --leading-normal: 1.45;
  --tracking-tight: -0.02em;
  --tracking-snug: -0.01em;
  --tracking-caps: 0.08em;
  --tracking-normal: 0;
  --type-page-title: var(--weight-semibold) var(--text-4xl)/var(--leading-tight) var(--font-core);
  --type-section-title: var(--weight-semibold) var(--text-xl)/var(--leading-snug) var(--font-core);
  --type-card-title: var(--weight-semibold) var(--text-lg)/var(--leading-snug) var(--font-core);
  --type-body: var(--weight-regular) var(--text-base)/var(--leading-normal) var(--font-core);
  --type-body-md: var(--weight-regular) var(--text-md)/var(--leading-normal) var(--font-core);
  --type-label: var(--weight-medium) var(--text-base)/var(--leading-snug) var(--font-core);
  --type-table-head: var(--weight-semibold) var(--text-sm)/1.2 var(--font-core);
  --type-caption: var(--weight-regular) var(--text-sm)/var(--leading-normal) var(--font-core);
  --type-eyebrow: var(--weight-semibold) var(--text-xs)/1.2 var(--font-core);
  --type-code: var(--weight-regular) var(--text-sm)/1.5 var(--font-mono);
  --type-metric: var(--weight-semibold) var(--text-4xl)/1.05 var(--font-core);
  --radius-xs: 4px;
  --radius-sm: 5px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 10px;
  --radius-2xl: 14px;
  --radius-pill: 999px;
  --shadow-hairline: 0 1px 2px rgba(16, 24, 40, 0.04);
  --shadow-card: 0 1px 2px rgba(16, 24, 40, 0.04), 0 1px 3px rgba(16, 24, 40, 0.05);
  --shadow-raised: 0 4px 12px rgba(16, 24, 40, 0.07), 0 1px 3px rgba(16, 24, 40, 0.05);
  --shadow-dropdown: 0 8px 24px rgba(16, 24, 40, 0.14);
  --shadow-modal: 0 24px 64px rgba(16, 24, 40, 0.22), 0 2px 8px rgba(16, 24, 40, 0.1);
  --ring-focus: 0 0 0 3px rgba(115, 103, 240, 0.22);
  --ring-focus-green: 0 0 0 3px rgba(34, 164, 78, 0.22);
  --duration-fast: 140ms;
  --duration-base: 200ms;
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --transition-control: background-color var(--duration-fast) var(--ease-standard),
      border-color var(--duration-fast) var(--ease-standard),
      color var(--duration-fast) var(--ease-standard),
      box-shadow var(--duration-fast) var(--ease-standard);
  --transition-surface: background-color var(--duration-base) var(--ease-standard);
  /* 🔴 The pricing-position ramp. The design system defines these in tokens/colors.css under
     "Pricing-position scale (Competitor Tracking)"; the platform's token file did not carry them,
     and every chart, legend, tooltip and table tone on this screen reads them. */
  --price-cheapest: var(--px-green-900);
  --price-below: var(--px-green-500);
  --price-parity: var(--px-amber-600);
  --price-above: var(--px-orange-400);
  --price-expensive: var(--px-red-600);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--space-10);
  color: var(--text-body);
  /* ── page header ──────────────────────────────────────────────────────── */
  /* ── card ─────────────────────────────────────────────────────────────── */
  /* ── filter bar ───────────────────────────────────────────────────────── */
  /* the period control, a segmented box */
  /* the KPI strip, pushed right */
  /* ── tabs ─────────────────────────────────────────────────────────────── */
  /* ── section card ─────────────────────────────────────────────────────── */
  /* ── ranking cards ────────────────────────────────────────────────────── */
  /* ── the legend ───────────────────────────────────────────────────────── */
  /* ── the table ────────────────────────────────────────────────────────── */
  /* RUN-1386 (owner): "make the table header in listing groups … fixed to top on scroll".
     ⚠️ The table cannot pin its own header: `.pms-tablewrap` scrolls sideways, and an element
     with `overflow-x: auto` is the sticky scrollport on BOTH axes (its overflow-y computes to
     auto alongside it) — a box that never scrolls down, so a `top` there never engages. Making
     the wrapper scroll down instead is a second vertical scrollbar, and the house rule is one,
     the window's (RUN-1015, RUN-1138). So a copy of the header row sits in `.pms-headpin`, a
     sibling of the wrapper that is sticky to the WINDOW: the wrapper's negative top margin (set
     from the strip's measured height) slides the real row exactly under it, and it sticks under
     the fixed navbar until the end of `.pms-tablebox` — the table's own end — pushes it away.
     ⚠️ Never the strip's own negative bottom margin: sticky keeps the MARGIN box inside the
     container, so that shrinks the box to nothing and the copy overhangs the last row by its
     whole height (measured). The widths, the sideways offset and the navbar's edge are
     `PriceMonitorStats.vue::measure()`'s. */
  /* a cell that drills down */
  /* RUN-1387 (owner): the hovered count's "this opens a product list" mark — POAS statistics'
     `.ps-drillmark` tile, one for one, drawn before the value. ⚠️ Positioned OUT of the flow,
     where the POAS one sits in it: a 22px tile plus its gap added on hover widens any column whose
     number is nearly as wide as its header, and every column right of it jumps. Here the value
     span is the anchor (it is `position: relative` for the sort bar), so the tile hangs in the
     cell's own left padding and slack and moves nothing. */
  /* the bar behind whichever column is sorted */
  /* ── the stacked position mix ─────────────────────────────────────────── */
  /* ── the hover tooltip ────────────────────────────────────────────────── */
  /* RUN-1387 (owner): the breakdown as a table whose header says what each number counts */
  /* ── skeletons: the design's own shimmer ──────────────────────────────── */
  /* ── the two gates: blurred, never hidden ─────────────────────────────── */
  /* ── the drill-down panel ─────────────────────────────────────────────── */
  /* ⚠️ Deliberately NOT a modal with its own scroller: the design requires the PAGE to scroll,
     so this is an in-document panel over a fixed backdrop and the document grows to its height. */
  /* goals.md #2 (T2): the drill's Google Shopping offers — a `.px-mp` block (the Matched Products rows and offer lines,
     whose own stylesheet lays them out); only its heading and its distance from the listing above are set here */
  /* RUN-1391 — the groups table's Load more, under the table (owner: 100 rows by default). No padding
     of its own: the section body's flex gap already spaces it (review: padding made it 32px, the
     drill-down's 16px). */
  /* ── buttons, in the design's vocabulary ──────────────────────────────── */
  /* RUN-1677 (plan 2026-09-30 item 3.12): the TEXT in the body colour — `--status-warning-fg` on `--status-warning-bg` measured
     2.43:1 in the light skin (WCAG AA 4.5:1), `--text-body` 5.01:1 — and the amber stays on the box and on the alert's own icon
     (`> svg`: a button's icon inside the alert keeps its own colour). poas-stats.scss `.ps-alert--warning` (RUN-1399) and the
     design system's `.cx-alert--warning` draw it the same way. */
}

.px-pms .pms-head__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--space-6);
  font: var(--type-page-title);
  color: var(--text-strong);
}

[dir] .px-pms .pms-head__title {
  margin: 0 0 var(--space-4);
}

.px-pms .pms-head__lede {
  max-width: 78ch;
  font: var(--type-body-md);
  color: var(--text-muted);
  text-wrap: pretty;
}

[dir] .px-pms .pms-head__lede {
  margin: 0;
}

.px-pms .pms-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: var(--space-9);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.px-pms .pms-head__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--space-6);
}

[dir=ltr] .px-pms .pms-head__actions {
  margin-left: auto;
}

[dir=rtl] .px-pms .pms-head__actions {
  margin-right: auto;
}

.px-pms .pms-card {
  -webkit-box-shadow: var(--shadow-card);
}

[dir] .px-pms .pms-card {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
          -webkit-box-shadow: var(--shadow-card);
                  box-shadow: var(--shadow-card);
  padding: var(--card-padding);
}

.px-pms .pms-card--flush {
  overflow: visible;
}

[dir] .px-pms .pms-card--flush {
  padding: 0;
}

.px-pms .pms-filters {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: var(--space-10);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.px-pms .pms-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--space-2);
}

.px-pms .pms-field__label,
.px-pms .pms-stat__label {
  font: var(--type-eyebrow);
  letter-spacing: var(--tracking-caps, 0.06em);
  text-transform: uppercase;
  color: var(--text-faint);
}

.px-pms .pms-field select {
  height: var(--control-height-sm);
  min-width: 160px;
  font: var(--type-body-md);
  color: var(--text-body);
}

[dir] .px-pms .pms-field select {
  padding: 0 var(--space-6);
  background: var(--surface-card);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-sm, 6px);
}

.px-pms .pms-field select:focus {
  outline: none;
  -webkit-box-shadow: var(--ring-focus);
}

[dir] .px-pms .pms-field select:focus {
          -webkit-box-shadow: var(--ring-focus);
                  box-shadow: var(--ring-focus);
}

.px-pms .pms-seg {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

[dir] .px-pms .pms-seg {
  padding: 3px;
  background: var(--surface-subtle);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm, 6px);
}

.px-pms .pms-seg button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  height: 26px;
  font: var(--type-caption);
  font-weight: var(--weight-semibold);
  color: var(--text-muted);
}

[dir] .px-pms .pms-seg button {
  border: 0;
  background: transparent;
  padding: 0 var(--space-6);
  border-radius: 4px;
  cursor: pointer;
}

.px-pms .pms-seg button.is-on {
  color: var(--text-strong);
  -webkit-box-shadow: var(--shadow-hairline);
}

[dir] .px-pms .pms-seg button.is-on {
  background: var(--surface-card);
          -webkit-box-shadow: var(--shadow-hairline);
                  box-shadow: var(--shadow-hairline);
}

.px-pms .pms-kpis {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--space-10);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-transition: opacity 140ms ease;
  transition: opacity 140ms ease;
}

[dir] .px-pms .pms-kpis {
  padding-bottom: 6px;
  -webkit-transition: opacity 140ms ease;
}

[dir=ltr] .px-pms .pms-kpis {
  margin-left: auto;
}

[dir=rtl] .px-pms .pms-kpis {
  margin-right: auto;
}

.px-pms .pms-kpis.is-loading {
  opacity: 0.5;
}

.px-pms .pms-stat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2px;
}

.px-pms .pms-stat__value {
  font: var(--type-section-title);
  color: var(--text-strong);
}

.px-pms .pms-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--space-2);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

[dir] .px-pms .pms-tabs {
  border-bottom: 1px solid var(--border-subtle);
}

.px-pms .pms-tabs button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font: var(--type-label);
  color: var(--text-muted);
  white-space: nowrap;
}

[dir] .px-pms .pms-tabs button {
  border: 0;
  background: transparent;
  padding: var(--space-6) var(--space-7);
  margin-bottom: -1px;
  border-bottom: 2px solid transparent;
  cursor: pointer;
}

.px-pms .pms-tabs button:hover {
  color: var(--text-body);
}

.px-pms .pms-tabs button.is-on {
  color: var(--text-strong);
  font-weight: var(--weight-semibold);
}

[dir] .px-pms .pms-tabs button.is-on {
  border-bottom-color: var(--action-accent);
}

.px-pms .pms-tabs .pms-tabcount {
  font: var(--type-caption);
  color: var(--status-neutral-fg);
}

[dir] .px-pms .pms-tabs .pms-tabcount {
  padding: 1px var(--space-3);
  background: var(--status-neutral-bg);
  border-radius: var(--radius-pill, 999px);
}

[dir=ltr] .px-pms .pms-tabs .pms-tabcount {
  margin-left: var(--space-3);
}

[dir=rtl] .px-pms .pms-tabs .pms-tabcount {
  margin-right: var(--space-3);
}

.px-pms .pms-section__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: var(--space-7);
}

[dir] .px-pms .pms-section__head {
  padding: var(--space-9);
  border-bottom: 1px solid var(--border-subtle);
}

.px-pms .pms-section__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--space-5);
  font: var(--type-section-title);
  color: var(--text-strong);
}

.px-pms .pms-section__hint {
  font: var(--type-caption);
  color: var(--text-faint);
  text-wrap: pretty;
}

.px-pms .pms-section__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--space-8);
}

[dir] .px-pms .pms-section__body {
  padding: var(--space-9);
}

.px-pms .pms-section__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--space-7);
}

[dir=ltr] .px-pms .pms-section__action {
  margin-left: auto;
}

[dir=rtl] .px-pms .pms-section__action {
  margin-right: auto;
}

.px-pms .pms-ranks {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
  gap: var(--space-9);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}

.px-pms .pms-rank__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--space-7);
}

[dir] .px-pms .pms-rank__row {
  padding: var(--space-6) 0;
  border-bottom: 1px solid var(--border-subtle);
}

[dir] .px-pms .pms-rank__row:last-child {
  border-bottom: 0;
}

.px-pms .pms-rank__label {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
  font: var(--type-body-md);
  color: var(--text-body);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.px-pms .pms-rank__bar {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 96px;
          flex: 0 0 96px;
  height: 6px;
  overflow: hidden;
}

[dir] .px-pms .pms-rank__bar {
  border-radius: var(--radius-pill, 999px);
  background: var(--px-grey-100);
}

.px-pms .pms-rank__bar span {
  display: block;
  height: 100%;
}

[dir] .px-pms .pms-rank__bar span {
  border-radius: inherit;
}

.px-pms .pms-rank__value {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  font: var(--type-body-md);
  font-weight: var(--weight-semibold);
  white-space: nowrap;
}

.px-pms .pms-legend {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--space-8);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.px-pms .pms-legend > span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--space-5);
}

.px-pms .pms-legend i.pms-swatch {
  width: 12px;
  height: 12px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

[dir] .px-pms .pms-legend i.pms-swatch {
  border-radius: 3px;
}

.px-pms .pms-legend em {
  font: var(--type-caption);
  font-style: normal;
  color: var(--text-muted);
}

.px-pms .pms-legend em strong {
  font-weight: var(--weight-semibold);
  color: var(--text-body);
}

.px-pms .pms-tablewrap {
  overflow-x: auto;
}

[dir] .px-pms .pms-tablewrap {
  margin: 0 calc(-1 * var(--space-9));
  border-top: 1px solid var(--border-subtle);
}

.px-pms .pms-headpin {
  position: sticky;
  top: 5.75rem;
  z-index: 4;
  /* A sideways scroller of its own, kept in step with the table both ways
     (`followSideways()` / `followHeader()`): a drag or a trackpad swipe over the header
     then scrolls the table as it would over the real row. With `overflow: hidden` it
     consumed nothing — a touch drag did nothing and a Mac trackpad swipe fell through to the
     browser's back gesture (review, RUN-1387). Its scrollbar is hidden (the table's own
     is the one shown), and `contain` keeps an edge swipe from navigating away. */
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}

[dir] .px-pms .pms-headpin {
  margin: 0 calc(-1 * var(--space-9));
  border-top: 1px solid var(--border-subtle);
  background: var(--px-grey-75);
}

.px-pms .pms-headpin::-webkit-scrollbar {
  display: none;
}

.px-pms .pms-headpin table.pms-table {
  table-layout: fixed;
}

.px-pms table.pms-table {
  width: 100%;
  border-collapse: collapse;
  font: var(--type-body-md);
}

[dir] .px-pms .pms-table thead tr {
  background: var(--px-grey-75);
}

.px-pms .pms-table th {
  font: var(--type-eyebrow);
  letter-spacing: var(--tracking-caps, 0.06em);
  text-transform: uppercase;
  color: var(--text-muted);
  white-space: nowrap;
}

[dir] .px-pms .pms-table th {
  padding: var(--space-6) var(--space-8);
  border-bottom: 1px solid var(--border-subtle);
  cursor: pointer;
}

[dir=ltr] .px-pms .pms-table th {
  text-align: right;
}

[dir=rtl] .px-pms .pms-table th {
  text-align: left;
}

[dir=ltr] .px-pms .pms-table th:first-child, [dir=ltr] .px-pms .pms-table th.pms-th--left {
  text-align: left;
}

[dir=rtl] .px-pms .pms-table th:first-child, [dir=rtl] .px-pms .pms-table th.pms-th--left {
  text-align: right;
}

.px-pms .pms-table th:first-child {
  position: sticky;
  z-index: 1;
}

[dir] .px-pms .pms-table th:first-child {
  background: var(--px-grey-75);
}

[dir=ltr] .px-pms .pms-table th:first-child {
  left: 0;
}

[dir=rtl] .px-pms .pms-table th:first-child {
  right: 0;
}

.px-pms .pms-table th .pms-sorted {
  color: var(--text-strong);
}

.px-pms .pms-table td {
  color: var(--text-body);
  white-space: nowrap;
  position: relative;
}

[dir] .px-pms .pms-table td {
  padding: var(--space-7) var(--space-8);
  border-bottom: 1px solid var(--border-subtle);
}

[dir=ltr] .px-pms .pms-table td {
  text-align: right;
}

[dir=rtl] .px-pms .pms-table td {
  text-align: left;
}

[dir=ltr] .px-pms .pms-table td:first-child, [dir=ltr] .px-pms .pms-table td.pms-td--left {
  text-align: left;
}

[dir=rtl] .px-pms .pms-table td:first-child, [dir=rtl] .px-pms .pms-table td.pms-td--left {
  text-align: right;
}

.px-pms .pms-table td:first-child {
  position: sticky;
  z-index: 1;
  color: var(--text-strong);
  font-weight: var(--weight-semibold);
}

[dir] .px-pms .pms-table td:first-child {
  background: var(--surface-card);
}

[dir=ltr] .px-pms .pms-table td:first-child {
  left: 0;
}

[dir=rtl] .px-pms .pms-table td:first-child {
  right: 0;
}

[dir] .px-pms .pms-table td.is-drillable {
  cursor: pointer;
}

[dir] .px-pms .pms-table td.is-drillable:hover, [dir] .px-pms .pms-table td.is-hot {
  background: var(--px-grey-50);
}

.px-pms .pms-table td.is-drillable:focus-visible {
  outline: none;
  -webkit-box-shadow: var(--ring-focus);
}

[dir] .px-pms .pms-table td.is-drillable:focus-visible {
          -webkit-box-shadow: var(--ring-focus);
                  box-shadow: var(--ring-focus);
}

.px-pms .pms-table th > span[role=button]:focus-visible,
.px-pms .pms-headpin th.is-focus > span,
.px-pms .pms-mix:focus-visible {
  outline: none;
  -webkit-box-shadow: var(--ring-focus);
}

[dir] .px-pms .pms-table th > span[role=button]:focus-visible, [dir] .px-pms .pms-headpin th.is-focus > span, [dir] .px-pms .pms-mix:focus-visible {
          -webkit-box-shadow: var(--ring-focus);
                  box-shadow: var(--ring-focus);
}

.px-pms .pms-drillmark {
  position: absolute;
  top: 50%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 22px;
  height: 22px;
  color: var(--px-blue-600);
  -webkit-box-shadow: var(--shadow-hairline);
}

[dir] .px-pms .pms-drillmark {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-default);
  background: #fff;
          -webkit-box-shadow: var(--shadow-hairline);
                  box-shadow: var(--shadow-hairline);
}

[dir=ltr] .px-pms .pms-drillmark {
  right: 100%;
  margin: -11px var(--space-5) 0 0;
}

[dir=rtl] .px-pms .pms-drillmark {
  left: 100%;
  margin: -11px 0 0 var(--space-5);
}

.px-pms .pms-bar {
  position: absolute;
  inset: 6px 8px 6px auto;
  opacity: 0.12;
  pointer-events: none;
}

[dir] .px-pms .pms-bar {
  border-radius: var(--radius-xs);
}

[dir=ltr] .px-pms .pms-bar {
  right: 8px;
}

[dir=rtl] .px-pms .pms-bar {
  left: 8px;
}

.px-pms .pms-table tr.pms-totals td {
  font-weight: var(--weight-semibold);
  color: var(--text-strong);
}

[dir] .px-pms .pms-table tr.pms-totals td {
  background: var(--px-grey-75);
  border-top: 2px solid var(--border-default);
}

.px-pms .pms-mix {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 140px;
  height: 10px;
  overflow: hidden;
}

[dir] .px-pms .pms-mix {
  border-radius: var(--radius-pill, 999px);
  background: var(--px-grey-100);
  cursor: default;
}

.px-pms .pms-mix span {
  display: block;
  height: 100%;
}

.px-pms .pms-tip {
  position: fixed;
  z-index: 80;
  min-width: 250px;
  max-width: 320px;
  color: var(--px-white);
  -webkit-box-shadow: var(--shadow-dropdown);
  font: var(--type-caption);
  pointer-events: none;
}

[dir] .px-pms .pms-tip {
  padding: var(--space-7) var(--space-8);
  background: var(--surface-inverse);
  border-radius: var(--radius-lg, 10px);
          -webkit-box-shadow: var(--shadow-dropdown);
                  box-shadow: var(--shadow-dropdown);
}

.px-pms .pms-tip strong {
  color: var(--px-white);
  font-weight: var(--weight-semibold);
}

.px-pms .pms-tip__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--space-5);
}

[dir] .px-pms .pms-tip__row {
  padding: 3px 0;
}

.px-pms .pms-tip__row b {
  font-weight: var(--weight-semibold);
}

[dir=ltr] .px-pms .pms-tip__row b {
  margin-left: auto;
}

[dir=rtl] .px-pms .pms-tip__row b {
  margin-right: auto;
}

.px-pms .pms-tip__sub {
  color: rgba(255, 255, 255, 0.62);
}

.px-pms .pms-tip__table {
  width: 100%;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
}

.px-pms .pms-tip__table th {
  color: rgba(255, 255, 255, 0.62);
  font-weight: var(--weight-semibold);
  white-space: nowrap;
}

[dir] .px-pms .pms-tip__table th {
  padding: 0 0 var(--space-3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

[dir=ltr] .px-pms .pms-tip__table th {
  text-align: right;
}

[dir=rtl] .px-pms .pms-tip__table th {
  text-align: left;
}

.px-pms .pms-tip__table td {
  font-weight: var(--weight-semibold);
  white-space: nowrap;
}

[dir] .px-pms .pms-tip__table td {
  padding: var(--space-2) 0;
}

[dir=ltr] .px-pms .pms-tip__table td {
  text-align: right;
}

[dir=rtl] .px-pms .pms-tip__table td {
  text-align: left;
}

[dir] .px-pms .pms-tip__table tbody tr:first-child td {
  padding-top: var(--space-4);
}

[dir=ltr] .px-pms .pms-tip__table th + th, [dir=ltr] .px-pms .pms-tip__table td + td {
  padding-left: var(--space-7);
}

[dir=rtl] .px-pms .pms-tip__table th + th, [dir=rtl] .px-pms .pms-tip__table td + td {
  padding-right: var(--space-7);
}

[dir=ltr] .px-pms .pms-tip__table th:first-child, [dir=ltr] .px-pms .pms-tip__table td:first-child {
  text-align: left;
}

[dir=rtl] .px-pms .pms-tip__table th:first-child, [dir=rtl] .px-pms .pms-tip__table td:first-child {
  text-align: right;
}

.px-pms .pms-tip__table td:first-child {
  font-weight: var(--weight-regular);
}

.px-pms .pms-tip__pos {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--space-4);
}

[dir] .px-pms .pms-skel {
  border-radius: 3px;
  background-size: 180px 100%;
}

[dir=ltr] .px-pms .pms-skel {
  background: linear-gradient(90deg, var(--px-grey-100) 0%, var(--px-grey-75) 50%, var(--px-grey-100) 100%);
  -webkit-animation: pms-shimmer 1s linear infinite;
  animation: pms-shimmer 1s linear infinite;
}

[dir=rtl] .px-pms .pms-skel {
  background: linear-gradient(-90deg, var(--px-grey-100) 0%, var(--px-grey-75) 50%, var(--px-grey-100) 100%);
  -webkit-animation: pms-shimmer 1s linear infinite;
          animation: pms-shimmer 1s linear infinite;
}

@-webkit-keyframes pms-shimmer {
  0% {
    background-position: -180px 0;
  }

  100% {
    background-position: 180px 0;
  }
}

@keyframes pms-shimmer {
  0% {
    background-position: -180px 0;
  }

  100% {
    background-position: 180px 0;
  }
}

.px-pms .pms-gated {
  position: relative;
}

.px-pms .pms-gated__content {
  transition: -webkit-filter 160ms ease;
  -webkit-transition: -webkit-filter 160ms ease;
  transition: filter 160ms ease;
  transition: filter 160ms ease, -webkit-filter 160ms ease;
}

[dir] .px-pms .pms-gated__content {
  -webkit-transition: -webkit-filter 160ms ease;
}

.px-pms .pms-gated.is-blocked .pms-gated__content {
  -webkit-filter: blur(6px);
          filter: blur(6px);
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  opacity: 0.55;
}

.px-pms .pms-gate {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 5;
}

[dir] .px-pms .pms-gate {
  padding: var(--space-14) var(--space-9);
}

.px-pms .pms-gate__card {
  max-width: 560px;
  -webkit-box-shadow: var(--shadow-modal);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--space-7);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

[dir] .px-pms .pms-gate__card {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
          -webkit-box-shadow: var(--shadow-modal);
                  box-shadow: var(--shadow-modal);
  padding: var(--card-padding);
}

.px-pms .pms-gate__icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 44px;
  height: 44px;
  color: var(--status-warning-fg);
  font-size: 22px;
}

[dir] .px-pms .pms-gate__icon {
  border-radius: var(--radius-pill, 999px);
  background: var(--status-warning-bg);
}

.px-pms .pms-step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: var(--space-6);
}

.px-pms .pms-step__n {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 24px;
  height: 24px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: var(--status-neutral-fg);
  font: var(--type-caption);
  font-weight: var(--weight-semibold);
}

[dir] .px-pms .pms-step__n {
  border-radius: var(--radius-pill, 999px);
  background: var(--status-neutral-bg);
}

.px-pms .pms-step.is-done .pms-step__n {
  color: var(--status-success-fg);
}

[dir] .px-pms .pms-step.is-done .pms-step__n {
  background: var(--status-success-bg);
}

.px-pms .pms-drill__backdrop {
  position: fixed;
  inset: 0;
  z-index: 90;
}

[dir] .px-pms .pms-drill__backdrop {
  background: var(--surface-overlay);
}

.px-pms .pms-drill {
  position: absolute;
  top: var(--space-10);
  /* RUN-1387 (owner): "when i press info on product it does not stick to right side as it
     should". This was `left: 50%; transform: translateX(-50%)` — and ANY transform makes an
     element the containing block of its `position: fixed` descendants. The panel embeds the
     Matched Products listing, whose Info overlay is a fixed `b-sidebar` rendered in place, so
     `right: 0` meant the panel's right edge, not the window's. Centred with auto margins
     instead: same position, no transform. */
  z-index: 91;
  width: min(1180px, calc(100% - 2 * var(--space-10)));
  min-height: min(400px, 90vh);
  -webkit-box-shadow: var(--shadow-modal);
}

[dir] .px-pms .pms-drill {
  margin-bottom: var(--space-14);
  border-radius: var(--radius-2xl);
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
          -webkit-box-shadow: var(--shadow-modal);
                  box-shadow: var(--shadow-modal);
}

[dir=ltr] .px-pms .pms-drill {
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}

[dir=rtl] .px-pms .pms-drill {
  right: 0;
  left: 0;
  margin-right: auto;
  margin-left: auto;
}

.px-pms .pms-drill__head {
  position: sticky;
  top: 0;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: var(--space-7);
}

[dir] .px-pms .pms-drill__head {
  padding: var(--space-9);
  background: var(--surface-card);
  border-bottom: 1px solid var(--border-subtle);
  border-radius: var(--radius-2xl) var(--radius-2xl) 0 0;
}

.px-pms .pms-btn.pms-drill__close {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: var(--control-height-sm);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

[dir] .px-pms .pms-btn.pms-drill__close {
  padding: 0;
}

[dir] .px-pms .pms-drill__body {
  padding: var(--space-9);
}

.px-pms .pms-drill__more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

[dir] .px-pms .pms-drill__more {
  padding-top: var(--space-8);
}

.px-pms .pms-gshop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--space-7);
}

[dir] .px-pms .pms-gshop {
  margin-top: var(--space-9);
}

[dir] .px-pms .pms-gshop:first-child {
  margin-top: 0;
}

.px-pms .pms-gshop__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--space-2);
}

.px-pms .pms-tablemore {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: var(--space-6);
}

[dir] .px-pms .pms-tablemore {
  margin: 0;
}

.px-pms .pms-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--space-4);
  height: var(--control-height-sm);
  font: var(--type-label);
  color: var(--text-body);
  white-space: nowrap;
}

[dir] .px-pms .pms-btn {
  padding: 0 var(--space-7);
  border-radius: var(--radius-sm, 6px);
  border: 1px solid var(--action-quiet-border);
  background: var(--action-quiet-bg);
  cursor: pointer;
}

[dir] .px-pms .pms-btn:hover {
  background: var(--px-grey-50);
}

.px-pms .pms-btn--primary {
  color: var(--px-white);
}

[dir] .px-pms .pms-btn--primary {
  background: var(--action-primary-strong);
  border-color: var(--action-primary-strong);
}

[dir] .px-pms .pms-btn--ghost {
  border-color: transparent;
  background: transparent;
}

.px-pms .pms-alert {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: var(--space-6);
  font: var(--type-body-md);
  text-wrap: pretty;
}

[dir] .px-pms .pms-alert {
  padding: var(--space-7) var(--space-8);
  border-radius: var(--radius-sm, 6px);
}

.px-pms .pms-alert--info {
  color: var(--status-info-fg);
}

[dir] .px-pms .pms-alert--info {
  background: var(--status-info-bg);
}

.px-pms .pms-alert--warning {
  color: var(--text-body);
}

[dir] .px-pms .pms-alert--warning {
  background: var(--status-warning-bg);
}

.px-pms .pms-alert--warning > svg {
  color: var(--status-warning-fg);
}

.px-pms .pms-empty {
  font: var(--type-body-md);
  color: var(--text-faint);
}

[dir] .px-pms .pms-empty {
  margin: 0;
  padding: var(--space-12);
  text-align: center;
}

/* ══════════════════════════════════════════════════════════════════════════════════════════════
   RUN-1416 (Phase 2b) — responsive. This sheet had no @media rule at all (plan §9). Per
   productxl-responsive.scss §3, wide content is fixed at its own container, never masked globally: the
   groups table already scrolls sideways inside `.pms-tablewrap` (its pinned header copy with it) and
   keeps doing so; these rules make the rest fit — the section heads and the KPI strip wrap, the filters
   take a full row each on a phone, and the two gates stack their content inside the screen.
   ══════════════════════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 991.98px) {
  .px-pms .pms-section__head {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }

  .px-pms .pms-section__action {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }

  [dir=ltr] .px-pms .pms-section__action {
    margin-left: 0;
  }

  [dir=rtl] .px-pms .pms-section__action {
    margin-right: 0;
  }

  [dir=ltr] .px-pms .pms-kpis {
    margin-left: 0;
  }

  [dir=rtl] .px-pms .pms-kpis {
    margin-right: 0;
  }
}

@media (max-width: 767.98px) {
  .px-pms .pms-field {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
  }

  .px-pms .pms-field select {
    width: 100%;
    min-width: 0;
  }

  [dir] .px-pms .pms-gate {
    padding: var(--space-9) var(--space-4);
  }

  .px-pms .pms-gate__card {
    max-width: 100%;
  }

  .px-pms .pms-gate__card .pms-btn {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }

  .px-pms .pms-tip {
    min-width: 0;
    max-width: calc(100vw - 16px);
  }

  .px-pms .pms-drill {
    width: calc(100% - 2 * var(--space-4));
  }

  .px-pms .pms-rowlabel {
    display: block;
    max-width: 40vw;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  [dir=ltr] .px-pms .pms-table th, [dir=ltr] .px-pms .pms-table td {
    padding-left: var(--space-5);
    padding-right: var(--space-5);
  }

  [dir=rtl] .px-pms .pms-table th, [dir=rtl] .px-pms .pms-table td {
    padding-right: var(--space-5);
    padding-left: var(--space-5);
  }

  .px-pms .pms-mix {
    width: 88px;
  }
}

[dir] .px-pms div.pms-field {
  margin-bottom: 0.2857rem;
}

.px-pms .pms-field__label > label {
  display: inline;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

[dir] .px-pms .pms-field__label > label {
  margin: 0;
  cursor: pointer;
}

var map = {
	"./af": "./node_modules/moment/locale/af.js",
	"./af.js": "./node_modules/moment/locale/af.js",
	"./ar": "./node_modules/moment/locale/ar.js",
	"./ar-dz": "./node_modules/moment/locale/ar-dz.js",
	"./ar-dz.js": "./node_modules/moment/locale/ar-dz.js",
	"./ar-kw": "./node_modules/moment/locale/ar-kw.js",
	"./ar-kw.js": "./node_modules/moment/locale/ar-kw.js",
	"./ar-ly": "./node_modules/moment/locale/ar-ly.js",
	"./ar-ly.js": "./node_modules/moment/locale/ar-ly.js",
	"./ar-ma": "./node_modules/moment/locale/ar-ma.js",
	"./ar-ma.js": "./node_modules/moment/locale/ar-ma.js",
	"./ar-sa": "./node_modules/moment/locale/ar-sa.js",
	"./ar-sa.js": "./node_modules/moment/locale/ar-sa.js",
	"./ar-tn": "./node_modules/moment/locale/ar-tn.js",
	"./ar-tn.js": "./node_modules/moment/locale/ar-tn.js",
	"./ar.js": "./node_modules/moment/locale/ar.js",
	"./az": "./node_modules/moment/locale/az.js",
	"./az.js": "./node_modules/moment/locale/az.js",
	"./be": "./node_modules/moment/locale/be.js",
	"./be.js": "./node_modules/moment/locale/be.js",
	"./bg": "./node_modules/moment/locale/bg.js",
	"./bg.js": "./node_modules/moment/locale/bg.js",
	"./bm": "./node_modules/moment/locale/bm.js",
	"./bm.js": "./node_modules/moment/locale/bm.js",
	"./bn": "./node_modules/moment/locale/bn.js",
	"./bn-bd": "./node_modules/moment/locale/bn-bd.js",
	"./bn-bd.js": "./node_modules/moment/locale/bn-bd.js",
	"./bn.js": "./node_modules/moment/locale/bn.js",
	"./bo": "./node_modules/moment/locale/bo.js",
	"./bo.js": "./node_modules/moment/locale/bo.js",
	"./br": "./node_modules/moment/locale/br.js",
	"./br.js": "./node_modules/moment/locale/br.js",
	"./bs": "./node_modules/moment/locale/bs.js",
	"./bs.js": "./node_modules/moment/locale/bs.js",
	"./ca": "./node_modules/moment/locale/ca.js",
	"./ca.js": "./node_modules/moment/locale/ca.js",
	"./cs": "./node_modules/moment/locale/cs.js",
	"./cs.js": "./node_modules/moment/locale/cs.js",
	"./cv": "./node_modules/moment/locale/cv.js",
	"./cv.js": "./node_modules/moment/locale/cv.js",
	"./cy": "./node_modules/moment/locale/cy.js",
	"./cy.js": "./node_modules/moment/locale/cy.js",
	"./da": "./node_modules/moment/locale/da.js",
	"./da.js": "./node_modules/moment/locale/da.js",
	"./de": "./node_modules/moment/locale/de.js",
	"./de-at": "./node_modules/moment/locale/de-at.js",
	"./de-at.js": "./node_modules/moment/locale/de-at.js",
	"./de-ch": "./node_modules/moment/locale/de-ch.js",
	"./de-ch.js": "./node_modules/moment/locale/de-ch.js",
	"./de.js": "./node_modules/moment/locale/de.js",
	"./dv": "./node_modules/moment/locale/dv.js",
	"./dv.js": "./node_modules/moment/locale/dv.js",
	"./el": "./node_modules/moment/locale/el.js",
	"./el.js": "./node_modules/moment/locale/el.js",
	"./en-au": "./node_modules/moment/locale/en-au.js",
	"./en-au.js": "./node_modules/moment/locale/en-au.js",
	"./en-ca": "./node_modules/moment/locale/en-ca.js",
	"./en-ca.js": "./node_modules/moment/locale/en-ca.js",
	"./en-gb": "./node_modules/moment/locale/en-gb.js",
	"./en-gb.js": "./node_modules/moment/locale/en-gb.js",
	"./en-ie": "./node_modules/moment/locale/en-ie.js",
	"./en-ie.js": "./node_modules/moment/locale/en-ie.js",
	"./en-il": "./node_modules/moment/locale/en-il.js",
	"./en-il.js": "./node_modules/moment/locale/en-il.js",
	"./en-in": "./node_modules/moment/locale/en-in.js",
	"./en-in.js": "./node_modules/moment/locale/en-in.js",
	"./en-nz": "./node_modules/moment/locale/en-nz.js",
	"./en-nz.js": "./node_modules/moment/locale/en-nz.js",
	"./en-sg": "./node_modules/moment/locale/en-sg.js",
	"./en-sg.js": "./node_modules/moment/locale/en-sg.js",
	"./eo": "./node_modules/moment/locale/eo.js",
	"./eo.js": "./node_modules/moment/locale/eo.js",
	"./es": "./node_modules/moment/locale/es.js",
	"./es-do": "./node_modules/moment/locale/es-do.js",
	"./es-do.js": "./node_modules/moment/locale/es-do.js",
	"./es-mx": "./node_modules/moment/locale/es-mx.js",
	"./es-mx.js": "./node_modules/moment/locale/es-mx.js",
	"./es-us": "./node_modules/moment/locale/es-us.js",
	"./es-us.js": "./node_modules/moment/locale/es-us.js",
	"./es.js": "./node_modules/moment/locale/es.js",
	"./et": "./node_modules/moment/locale/et.js",
	"./et.js": "./node_modules/moment/locale/et.js",
	"./eu": "./node_modules/moment/locale/eu.js",
	"./eu.js": "./node_modules/moment/locale/eu.js",
	"./fa": "./node_modules/moment/locale/fa.js",
	"./fa.js": "./node_modules/moment/locale/fa.js",
	"./fi": "./node_modules/moment/locale/fi.js",
	"./fi.js": "./node_modules/moment/locale/fi.js",
	"./fil": "./node_modules/moment/locale/fil.js",
	"./fil.js": "./node_modules/moment/locale/fil.js",
	"./fo": "./node_modules/moment/locale/fo.js",
	"./fo.js": "./node_modules/moment/locale/fo.js",
	"./fr": "./node_modules/moment/locale/fr.js",
	"./fr-ca": "./node_modules/moment/locale/fr-ca.js",
	"./fr-ca.js": "./node_modules/moment/locale/fr-ca.js",
	"./fr-ch": "./node_modules/moment/locale/fr-ch.js",
	"./fr-ch.js": "./node_modules/moment/locale/fr-ch.js",
	"./fr.js": "./node_modules/moment/locale/fr.js",
	"./fy": "./node_modules/moment/locale/fy.js",
	"./fy.js": "./node_modules/moment/locale/fy.js",
	"./ga": "./node_modules/moment/locale/ga.js",
	"./ga.js": "./node_modules/moment/locale/ga.js",
	"./gd": "./node_modules/moment/locale/gd.js",
	"./gd.js": "./node_modules/moment/locale/gd.js",
	"./gl": "./node_modules/moment/locale/gl.js",
	"./gl.js": "./node_modules/moment/locale/gl.js",
	"./gom-deva": "./node_modules/moment/locale/gom-deva.js",
	"./gom-deva.js": "./node_modules/moment/locale/gom-deva.js",
	"./gom-latn": "./node_modules/moment/locale/gom-latn.js",
	"./gom-latn.js": "./node_modules/moment/locale/gom-latn.js",
	"./gu": "./node_modules/moment/locale/gu.js",
	"./gu.js": "./node_modules/moment/locale/gu.js",
	"./he": "./node_modules/moment/locale/he.js",
	"./he.js": "./node_modules/moment/locale/he.js",
	"./hi": "./node_modules/moment/locale/hi.js",
	"./hi.js": "./node_modules/moment/locale/hi.js",
	"./hr": "./node_modules/moment/locale/hr.js",
	"./hr.js": "./node_modules/moment/locale/hr.js",
	"./hu": "./node_modules/moment/locale/hu.js",
	"./hu.js": "./node_modules/moment/locale/hu.js",
	"./hy-am": "./node_modules/moment/locale/hy-am.js",
	"./hy-am.js": "./node_modules/moment/locale/hy-am.js",
	"./id": "./node_modules/moment/locale/id.js",
	"./id.js": "./node_modules/moment/locale/id.js",
	"./is": "./node_modules/moment/locale/is.js",
	"./is.js": "./node_modules/moment/locale/is.js",
	"./it": "./node_modules/moment/locale/it.js",
	"./it-ch": "./node_modules/moment/locale/it-ch.js",
	"./it-ch.js": "./node_modules/moment/locale/it-ch.js",
	"./it.js": "./node_modules/moment/locale/it.js",
	"./ja": "./node_modules/moment/locale/ja.js",
	"./ja.js": "./node_modules/moment/locale/ja.js",
	"./jv": "./node_modules/moment/locale/jv.js",
	"./jv.js": "./node_modules/moment/locale/jv.js",
	"./ka": "./node_modules/moment/locale/ka.js",
	"./ka.js": "./node_modules/moment/locale/ka.js",
	"./kk": "./node_modules/moment/locale/kk.js",
	"./kk.js": "./node_modules/moment/locale/kk.js",
	"./km": "./node_modules/moment/locale/km.js",
	"./km.js": "./node_modules/moment/locale/km.js",
	"./kn": "./node_modules/moment/locale/kn.js",
	"./kn.js": "./node_modules/moment/locale/kn.js",
	"./ko": "./node_modules/moment/locale/ko.js",
	"./ko.js": "./node_modules/moment/locale/ko.js",
	"./ku": "./node_modules/moment/locale/ku.js",
	"./ku.js": "./node_modules/moment/locale/ku.js",
	"./ky": "./node_modules/moment/locale/ky.js",
	"./ky.js": "./node_modules/moment/locale/ky.js",
	"./lb": "./node_modules/moment/locale/lb.js",
	"./lb.js": "./node_modules/moment/locale/lb.js",
	"./lo": "./node_modules/moment/locale/lo.js",
	"./lo.js": "./node_modules/moment/locale/lo.js",
	"./lt": "./node_modules/moment/locale/lt.js",
	"./lt.js": "./node_modules/moment/locale/lt.js",
	"./lv": "./node_modules/moment/locale/lv.js",
	"./lv.js": "./node_modules/moment/locale/lv.js",
	"./me": "./node_modules/moment/locale/me.js",
	"./me.js": "./node_modules/moment/locale/me.js",
	"./mi": "./node_modules/moment/locale/mi.js",
	"./mi.js": "./node_modules/moment/locale/mi.js",
	"./mk": "./node_modules/moment/locale/mk.js",
	"./mk.js": "./node_modules/moment/locale/mk.js",
	"./ml": "./node_modules/moment/locale/ml.js",
	"./ml.js": "./node_modules/moment/locale/ml.js",
	"./mn": "./node_modules/moment/locale/mn.js",
	"./mn.js": "./node_modules/moment/locale/mn.js",
	"./mr": "./node_modules/moment/locale/mr.js",
	"./mr.js": "./node_modules/moment/locale/mr.js",
	"./ms": "./node_modules/moment/locale/ms.js",
	"./ms-my": "./node_modules/moment/locale/ms-my.js",
	"./ms-my.js": "./node_modules/moment/locale/ms-my.js",
	"./ms.js": "./node_modules/moment/locale/ms.js",
	"./mt": "./node_modules/moment/locale/mt.js",
	"./mt.js": "./node_modules/moment/locale/mt.js",
	"./my": "./node_modules/moment/locale/my.js",
	"./my.js": "./node_modules/moment/locale/my.js",
	"./nb": "./node_modules/moment/locale/nb.js",
	"./nb.js": "./node_modules/moment/locale/nb.js",
	"./ne": "./node_modules/moment/locale/ne.js",
	"./ne.js": "./node_modules/moment/locale/ne.js",
	"./nl": "./node_modules/moment/locale/nl.js",
	"./nl-be": "./node_modules/moment/locale/nl-be.js",
	"./nl-be.js": "./node_modules/moment/locale/nl-be.js",
	"./nl.js": "./node_modules/moment/locale/nl.js",
	"./nn": "./node_modules/moment/locale/nn.js",
	"./nn.js": "./node_modules/moment/locale/nn.js",
	"./oc-lnc": "./node_modules/moment/locale/oc-lnc.js",
	"./oc-lnc.js": "./node_modules/moment/locale/oc-lnc.js",
	"./pa-in": "./node_modules/moment/locale/pa-in.js",
	"./pa-in.js": "./node_modules/moment/locale/pa-in.js",
	"./pl": "./node_modules/moment/locale/pl.js",
	"./pl.js": "./node_modules/moment/locale/pl.js",
	"./pt": "./node_modules/moment/locale/pt.js",
	"./pt-br": "./node_modules/moment/locale/pt-br.js",
	"./pt-br.js": "./node_modules/moment/locale/pt-br.js",
	"./pt.js": "./node_modules/moment/locale/pt.js",
	"./ro": "./node_modules/moment/locale/ro.js",
	"./ro.js": "./node_modules/moment/locale/ro.js",
	"./ru": "./node_modules/moment/locale/ru.js",
	"./ru.js": "./node_modules/moment/locale/ru.js",
	"./sd": "./node_modules/moment/locale/sd.js",
	"./sd.js": "./node_modules/moment/locale/sd.js",
	"./se": "./node_modules/moment/locale/se.js",
	"./se.js": "./node_modules/moment/locale/se.js",
	"./si": "./node_modules/moment/locale/si.js",
	"./si.js": "./node_modules/moment/locale/si.js",
	"./sk": "./node_modules/moment/locale/sk.js",
	"./sk.js": "./node_modules/moment/locale/sk.js",
	"./sl": "./node_modules/moment/locale/sl.js",
	"./sl.js": "./node_modules/moment/locale/sl.js",
	"./sq": "./node_modules/moment/locale/sq.js",
	"./sq.js": "./node_modules/moment/locale/sq.js",
	"./sr": "./node_modules/moment/locale/sr.js",
	"./sr-cyrl": "./node_modules/moment/locale/sr-cyrl.js",
	"./sr-cyrl.js": "./node_modules/moment/locale/sr-cyrl.js",
	"./sr.js": "./node_modules/moment/locale/sr.js",
	"./ss": "./node_modules/moment/locale/ss.js",
	"./ss.js": "./node_modules/moment/locale/ss.js",
	"./sv": "./node_modules/moment/locale/sv.js",
	"./sv.js": "./node_modules/moment/locale/sv.js",
	"./sw": "./node_modules/moment/locale/sw.js",
	"./sw.js": "./node_modules/moment/locale/sw.js",
	"./ta": "./node_modules/moment/locale/ta.js",
	"./ta.js": "./node_modules/moment/locale/ta.js",
	"./te": "./node_modules/moment/locale/te.js",
	"./te.js": "./node_modules/moment/locale/te.js",
	"./tet": "./node_modules/moment/locale/tet.js",
	"./tet.js": "./node_modules/moment/locale/tet.js",
	"./tg": "./node_modules/moment/locale/tg.js",
	"./tg.js": "./node_modules/moment/locale/tg.js",
	"./th": "./node_modules/moment/locale/th.js",
	"./th.js": "./node_modules/moment/locale/th.js",
	"./tk": "./node_modules/moment/locale/tk.js",
	"./tk.js": "./node_modules/moment/locale/tk.js",
	"./tl-ph": "./node_modules/moment/locale/tl-ph.js",
	"./tl-ph.js": "./node_modules/moment/locale/tl-ph.js",
	"./tlh": "./node_modules/moment/locale/tlh.js",
	"./tlh.js": "./node_modules/moment/locale/tlh.js",
	"./tr": "./node_modules/moment/locale/tr.js",
	"./tr.js": "./node_modules/moment/locale/tr.js",
	"./tzl": "./node_modules/moment/locale/tzl.js",
	"./tzl.js": "./node_modules/moment/locale/tzl.js",
	"./tzm": "./node_modules/moment/locale/tzm.js",
	"./tzm-latn": "./node_modules/moment/locale/tzm-latn.js",
	"./tzm-latn.js": "./node_modules/moment/locale/tzm-latn.js",
	"./tzm.js": "./node_modules/moment/locale/tzm.js",
	"./ug-cn": "./node_modules/moment/locale/ug-cn.js",
	"./ug-cn.js": "./node_modules/moment/locale/ug-cn.js",
	"./uk": "./node_modules/moment/locale/uk.js",
	"./uk.js": "./node_modules/moment/locale/uk.js",
	"./ur": "./node_modules/moment/locale/ur.js",
	"./ur.js": "./node_modules/moment/locale/ur.js",
	"./uz": "./node_modules/moment/locale/uz.js",
	"./uz-latn": "./node_modules/moment/locale/uz-latn.js",
	"./uz-latn.js": "./node_modules/moment/locale/uz-latn.js",
	"./uz.js": "./node_modules/moment/locale/uz.js",
	"./vi": "./node_modules/moment/locale/vi.js",
	"./vi.js": "./node_modules/moment/locale/vi.js",
	"./x-pseudo": "./node_modules/moment/locale/x-pseudo.js",
	"./x-pseudo.js": "./node_modules/moment/locale/x-pseudo.js",
	"./yo": "./node_modules/moment/locale/yo.js",
	"./yo.js": "./node_modules/moment/locale/yo.js",
	"./zh-cn": "./node_modules/moment/locale/zh-cn.js",
	"./zh-cn.js": "./node_modules/moment/locale/zh-cn.js",
	"./zh-hk": "./node_modules/moment/locale/zh-hk.js",
	"./zh-hk.js": "./node_modules/moment/locale/zh-hk.js",
	"./zh-mo": "./node_modules/moment/locale/zh-mo.js",
	"./zh-mo.js": "./node_modules/moment/locale/zh-mo.js",
	"./zh-tw": "./node_modules/moment/locale/zh-tw.js",
	"./zh-tw.js": "./node_modules/moment/locale/zh-tw.js"
};


function webpackContext(req) {
	var id = webpackContextResolve(req);
	return __webpack_require__(id);
}
function webpackContextResolve(req) {
	if(!__webpack_require__.o(map, req)) {
		var e = new Error("Cannot find module '" + req + "'");
		e.code = 'MODULE_NOT_FOUND';
		throw e;
	}
	return map[req];
}
webpackContext.keys = function webpackContextKeys() {
	return Object.keys(map);
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
webpackContext.id = "./node_modules/moment/locale sync recursive ^\\.\\/.*$";