/* =========================================================
   UBICACIÓN:
   frontend/src/pages/direccion-ejecutiva/ventas-rentabilidad/
   ventas-rentabilidad.css

   WIRTZ HUB · DIRECCIÓN EJECUTIVA
   VENTAS Y RENTABILIDAD
   PARTE 1 DE 2
   ========================================================= */

/* =========================================================
   VARIABLES
   ========================================================= */

:root {
  --sales-bg:
    #f5f6f8;

  --sales-surface:
    #ffffff;

  --sales-surface-soft:
    #f8f9fb;

  --sales-surface-muted:
    #f0f2f5;

  --sales-border:
    #dfe3e8;

  --sales-border-strong:
    #cfd5dc;

  --sales-text:
    #171a1f;

  --sales-text-soft:
    #5f6875;

  --sales-text-muted:
    #8a94a3;

  --sales-primary:
    #111418;

  --sales-primary-hover:
    #252a31;

  --sales-positive:
    #1f7a4d;

  --sales-positive-bg:
    #edf8f2;

  --sales-positive-border:
    #c9ead8;

  --sales-negative:
    #b33a3a;

  --sales-negative-bg:
    #fff0f0;

  --sales-negative-border:
    #f0caca;

  --sales-warning:
    #9b6500;

  --sales-warning-bg:
    #fff7e8;

  --sales-warning-border:
    #eed9ac;

  --sales-info:
    #256b8f;

  --sales-info-bg:
    #edf7fb;

  --sales-info-border:
    #c8e3ef;

  --sales-radius-sm:
    8px;

  --sales-radius-md:
    12px;

  --sales-radius-lg:
    16px;

  --sales-transition:
    180ms ease;
}

html[data-theme="dark"],
body.dark,
body[data-theme="dark"] {
  --sales-bg:
    #111315;

  --sales-surface:
    #171a1d;

  --sales-surface-soft:
    #1d2024;

  --sales-surface-muted:
    #24282d;

  --sales-border:
    #2c3137;

  --sales-border-strong:
    #3a4149;

  --sales-text:
    #f3f5f7;

  --sales-text-soft:
    #b5bdc8;

  --sales-text-muted:
    #7f8996;

  --sales-primary:
    #f3f5f7;

  --sales-primary-hover:
    #ffffff;

  --sales-positive:
    #76d7a6;

  --sales-positive-bg:
    #173427;

  --sales-positive-border:
    #29543f;

  --sales-negative:
    #ff9b9b;

  --sales-negative-bg:
    #3a1f22;

  --sales-negative-border:
    #653237;

  --sales-warning:
    #f2c66f;

  --sales-warning-bg:
    #3c301b;

  --sales-warning-border:
    #66512a;

  --sales-info:
    #85c9ea;

  --sales-info-bg:
    #183241;

  --sales-info-border:
    #2b5266;
}

/* =========================================================
   PÁGINA
   ========================================================= */

.sales-executive-page {
  width:
    100%;

  min-width:
    0;

  display:
    flex;

  flex-direction:
    column;

  gap:
    18px;

  padding:
    22px;

  color:
    var(--sales-text);

  background:
    var(--sales-bg);

  font-family:
    "DM Sans",
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}

.sales-executive-content {
  min-width:
    0;

  display:
    flex;

  flex-direction:
    column;

  gap:
    18px;
}

/* =========================================================
   ICONOS
   ========================================================= */

.sales-executive-page .icon,
.sales-product-drawer .icon,
.sales-executive-toast .icon {
  width:
    18px;

  height:
    18px;

  stroke-width:
    1.8;
}

.is-spinning {
  animation:
    sales-spin
    0.8s
    linear
    infinite;
}

@keyframes sales-spin {
  to {
    transform:
      rotate(
        360deg
      );
  }
}

/* =========================================================
   BOTONES
   ========================================================= */

.sales-btn {
  min-height:
    40px;

  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  gap:
    8px;

  padding:
    0
    14px;

  border:
    1px
    solid
    var(--sales-border-strong);

  border-radius:
    var(--sales-radius-sm);

  color:
    var(--sales-text);

  background:
    var(--sales-surface);

  font:
    inherit;

  font-size:
    13px;

  font-weight:
    700;

  cursor:
    pointer;

  transition:
    border-color
    var(--sales-transition),
    background
    var(--sales-transition),
    color
    var(--sales-transition),
    transform
    var(--sales-transition);
}

.sales-btn:hover:not(:disabled) {
  border-color:
    var(--sales-text-muted);

  background:
    var(--sales-surface-soft);

  transform:
    translateY(
      -1px
    );
}

.sales-btn:active:not(:disabled) {
  transform:
    translateY(
      0
    );
}

.sales-btn:disabled {
  opacity:
    0.5;

  cursor:
    not-allowed;
}

.sales-btn--primary {
  border-color:
    var(--sales-primary);

  color:
    var(--sales-surface);

  background:
    var(--sales-primary);
}

.sales-btn--primary:hover:not(:disabled) {
  border-color:
    var(--sales-primary-hover);

  color:
    var(--sales-surface);

  background:
    var(--sales-primary-hover);
}

html[data-theme="dark"]
.sales-btn--primary,
body.dark
.sales-btn--primary,
body[data-theme="dark"]
.sales-btn--primary {
  color:
    #111315;
}

.sales-btn--quiet {
  color:
    var(--sales-text-soft);

  background:
    transparent;
}

.sales-icon-btn {
  width:
    38px;

  height:
    38px;

  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  flex:
    0
    0
    auto;

  padding:
    0;

  border:
    1px
    solid
    var(--sales-border);

  border-radius:
    var(--sales-radius-sm);

  color:
    var(--sales-text-soft);

  background:
    var(--sales-surface);

  cursor:
    pointer;

  transition:
    color
    var(--sales-transition),
    border-color
    var(--sales-transition),
    background
    var(--sales-transition);
}

.sales-icon-btn:hover {
  color:
    var(--sales-text);

  border-color:
    var(--sales-border-strong);

  background:
    var(--sales-surface-soft);
}

/* =========================================================
   ENCABEZADO
   ========================================================= */

.sales-executive-head {
  width:
    100%;

  min-width:
    0;

  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    18px;

  padding:
    18px;

  border:
    1px
    solid
    var(--sales-border);

  border-radius:
    var(--sales-radius-lg);

  background:
    var(--sales-surface);

  animation:
    sales-enter
    280ms
    ease
    both;
}

.sales-executive-brand {
  min-width:
    0;

  display:
    flex;

  align-items:
    center;

  gap:
    14px;
}

.sales-executive-brand__icon {
  width:
    48px;

  height:
    48px;

  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  flex:
    0
    0
    auto;

  border:
    1px
    solid
    var(--sales-border-strong);

  border-radius:
    14px;

  color:
    var(--sales-text);

  background:
    var(--sales-surface-soft);
}

.sales-executive-brand__icon .icon {
  width:
    23px;

  height:
    23px;
}

.sales-executive-brand__body {
  min-width:
    0;
}

.sales-executive-brand__body > span {
  display:
    block;

  margin-bottom:
    3px;

  color:
    var(--sales-text-muted);

  font-size:
    11px;

  font-weight:
    800;

  letter-spacing:
    0.08em;
}

.sales-executive-brand__body h2 {
  margin:
    0;

  color:
    var(--sales-text);

  font-size:
    clamp(
      22px,
      2vw,
      30px
    );

  font-weight:
    800;

  line-height:
    1.12;
}

.sales-executive-brand__body p {
  margin:
    5px
    0
    0;

  color:
    var(--sales-text-soft);

  font-size:
    13px;
}

.sales-executive-head__actions {
  display:
    flex;

  align-items:
    center;

  justify-content:
    flex-end;

  gap:
    10px;

  flex-wrap:
    wrap;
}

.sales-source-badge {
  min-height:
    46px;

  display:
    flex;

  align-items:
    center;

  gap:
    10px;

  padding:
    7px
    12px;

  border:
    1px
    solid
    var(--sales-border);

  border-radius:
    var(--sales-radius-md);

  background:
    var(--sales-surface-soft);
}

.sales-source-badge__mark {
  width:
    32px;

  height:
    32px;

  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  flex:
    0
    0
    auto;

  border-radius:
    9px;

  color:
    #1b1b1b;

  background:
    #ffe600;

  font-size:
    11px;

  font-weight:
    900;
}

.sales-source-badge small,
.sales-last-update span {
  display:
    block;

  color:
    var(--sales-text-muted);

  font-size:
    9px;

  font-weight:
    800;

  letter-spacing:
    0.08em;
}

.sales-source-badge strong,
.sales-last-update strong {
  display:
    block;

  margin-top:
    2px;

  color:
    var(--sales-text);

  font-size:
    12px;

  font-weight:
    800;
}

.sales-last-update {
  padding:
    0
    8px;

  text-align:
    right;
}

/* =========================================================
   FILTROS
   ========================================================= */

.sales-filters-panel {
  overflow:
    hidden;

  border:
    1px
    solid
    var(--sales-border);

  border-radius:
    var(--sales-radius-lg);

  background:
    var(--sales-surface);

  animation:
    sales-enter
    320ms
    ease
    both;
}

.sales-period-bar {
  min-width:
    0;

  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    14px;

  padding:
    14px
    16px;
}

.sales-period-bar__main {
  min-width:
    0;

  display:
    flex;

  align-items:
    center;

  gap:
    18px;
}

.sales-period-bar__main > div:first-child {
  flex:
    0
    0
    auto;
}

.sales-period-bar__main > div:first-child span {
  display:
    block;

  color:
    var(--sales-text-muted);

  font-size:
    10px;

  font-weight:
    800;

  letter-spacing:
    0.08em;
}

.sales-period-bar__main > div:first-child strong {
  display:
    block;

  margin-top:
    3px;

  color:
    var(--sales-text);

  font-size:
    14px;

  font-weight:
    800;
}

.sales-period-presets {
  min-width:
    0;

  display:
    flex;

  align-items:
    center;

  gap:
    6px;

  overflow-x:
    auto;

  scrollbar-width:
    none;
}

.sales-period-presets::-webkit-scrollbar {
  display:
    none;
}

.sales-period-preset {
  min-height:
    34px;

  flex:
    0
    0
    auto;

  padding:
    0
    12px;

  border:
    1px
    solid
    transparent;

  border-radius:
    8px;

  color:
    var(--sales-text-soft);

  background:
    transparent;

  font:
    inherit;

  font-size:
    12px;

  font-weight:
    700;

  cursor:
    pointer;

  transition:
    color
    var(--sales-transition),
    border-color
    var(--sales-transition),
    background
    var(--sales-transition);
}

.sales-period-preset:hover {
  color:
    var(--sales-text);

  background:
    var(--sales-surface-soft);
}

.sales-period-preset.is-active {
  color:
    var(--sales-text);

  border-color:
    var(--sales-border-strong);

  background:
    var(--sales-surface-muted);
}

.sales-filters-body {
  display:
    grid;

  grid-template-columns:
    repeat(
      4,
      minmax(
        0,
        1fr
      )
    );

  gap:
    12px;

  max-height:
    0;

  padding:
    0
    16px;

  opacity:
    0;

  overflow:
    hidden;

  border-top:
    1px
    solid
    transparent;

  transition:
    max-height
    260ms
    ease,
    padding
    260ms
    ease,
    opacity
    180ms
    ease,
    border-color
    180ms
    ease;
}

.sales-filters-body.is-open {
  max-height:
    700px;

  padding:
    16px;

  opacity:
    1;

  border-top-color:
    var(--sales-border);
}

.sales-field {
  min-width:
    0;

  display:
    flex;

  flex-direction:
    column;

  gap:
    6px;
}

.sales-field > span,
.sales-inline-select > span {
  color:
    var(--sales-text-soft);

  font-size:
    11px;

  font-weight:
    800;
}

.sales-field input,
.sales-field select,
.sales-inline-select select {
  width:
    100%;

  min-width:
    0;

  min-height:
    40px;

  padding:
    0
    11px;

  border:
    1px
    solid
    var(--sales-border);

  border-radius:
    var(--sales-radius-sm);

  outline:
    none;

  color:
    var(--sales-text);

  background:
    var(--sales-surface-soft);

  font:
    inherit;

  font-size:
    13px;

  transition:
    border-color
    var(--sales-transition),
    background
    var(--sales-transition);
}

.sales-field input:focus,
.sales-field select:focus,
.sales-inline-select select:focus {
  border-color:
    var(--sales-text-muted);

  background:
    var(--sales-surface);
}

.sales-filters-body__actions {
  display:
    flex;

  align-items:
    flex-end;

  justify-content:
    flex-end;

  gap:
    8px;

  grid-column:
    1 /
    -1;
}

/* =========================================================
   KPI
   ========================================================= */

.sales-kpis {
  display:
    grid;

  grid-template-columns:
    repeat(
      6,
      minmax(
        0,
        1fr
      )
    );

  gap:
    12px;
}

.sales-kpi {
  min-width:
    0;

  min-height:
    176px;

  display:
    flex;

  flex-direction:
    column;

  align-items:
    flex-start;

  justify-content:
    flex-start;

  gap:
    7px;

  padding:
    15px;

  border:
    1px
    solid
    var(--sales-border);

  border-radius:
    var(--sales-radius-md);

  color:
    var(--sales-text);

  background:
    var(--sales-surface);

  text-align:
    left;

  cursor:
    pointer;

  transition:
    transform
    var(--sales-transition),
    border-color
    var(--sales-transition),
    background
    var(--sales-transition);

  animation:
    sales-enter
    340ms
    ease
    both;
}

.sales-kpi:hover {
  transform:
    translateY(
      -2px
    );

  border-color:
    var(--sales-border-strong);

  background:
    var(--sales-surface-soft);
}

.sales-kpi.is-active {
  border-color:
    var(--sales-text);

  background:
    var(--sales-surface-soft);
}

.sales-kpi__top {
  width:
    100%;

  display:
    flex;

  align-items:
    center;

  gap:
    9px;
}

.sales-kpi__icon {
  width:
    34px;

  height:
    34px;

  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  flex:
    0
    0
    auto;

  border:
    1px
    solid
    var(--sales-border);

  border-radius:
    9px;

  color:
    var(--sales-text-soft);

  background:
    var(--sales-surface-soft);
}

.sales-kpi__label {
  min-width:
    0;

  color:
    var(--sales-text-soft);

  font-size:
    11px;

  font-weight:
    800;

  text-transform:
    uppercase;

  letter-spacing:
    0.04em;
}

.sales-kpi__value {
  width:
    100%;

  margin-top:
    3px;

  overflow:
    hidden;

  color:
    var(--sales-text);

  font-size:
    clamp(
      21px,
      2vw,
      29px
    );

  font-weight:
    850;

  line-height:
    1.08;

  text-overflow:
    ellipsis;

  white-space:
    nowrap;
}

.sales-kpi__detail {
  color:
    var(--sales-text-muted);

  font-size:
    11px;

  line-height:
    1.35;
}

.sales-kpi__variation {
  display:
    inline-flex;

  align-items:
    center;

  gap:
    5px;

  margin-top:
    auto;

  padding-top:
    8px;

  font-size:
    11px;
}

.sales-kpi__variation .icon {
  width:
    14px;

  height:
    14px;
}

.sales-kpi__variation strong {
  font-size:
    12px;

  font-weight:
    850;
}

.sales-kpi__variation small {
  color:
    var(--sales-text-muted);

  font-size:
    10px;
}

/* =========================================================
   ESTADOS DE VARIACIÓN
   ========================================================= */

.is-positive {
  color:
    var(--sales-positive) !important;
}

.is-negative {
  color:
    var(--sales-negative) !important;
}

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

/* =========================================================
   PANEL GENERAL
   ========================================================= */

.sales-panel {
  min-width:
    0;

  overflow:
    hidden;

  border:
    1px
    solid
    var(--sales-border);

  border-radius:
    var(--sales-radius-lg);

  background:
    var(--sales-surface);

  animation:
    sales-enter
    360ms
    ease
    both;
}

.sales-panel__head {
  min-width:
    0;

  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    12px;

  padding:
    16px
    18px;

  border-bottom:
    1px
    solid
    var(--sales-border);
}

.sales-panel__head > div:first-child {
  min-width:
    0;
}

.sales-panel__head > div:first-child > span {
  display:
    block;

  margin-bottom:
    3px;

  color:
    var(--sales-text-muted);

  font-size:
    10px;

  font-weight:
    800;

  letter-spacing:
    0.08em;
}

.sales-panel__head h3 {
  margin:
    0;

  color:
    var(--sales-text);

  font-size:
    16px;

  font-weight:
    800;
}

.sales-panel__badge {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  min-height:
    30px;

  padding:
    0
    10px;

  border:
    1px
    solid
    var(--sales-border);

  border-radius:
    999px;

  color:
    var(--sales-text-soft);

  background:
    var(--sales-surface-soft);

  font-size:
    11px;

  font-weight:
    800;

  white-space:
    nowrap;
}

.sales-panel__badge.is-warning {
  color:
    var(--sales-warning);

  border-color:
    var(--sales-warning-border);

  background:
    var(--sales-warning-bg);
}

.sales-panel__actions {
  display:
    flex;

  align-items:
    center;

  gap:
    6px;
}

/* =========================================================
   LECTURA EJECUTIVA
   ========================================================= */

.sales-insights {
  display:
    grid;

  grid-template-columns:
    repeat(
      3,
      minmax(
        0,
        1fr
      )
    );

  gap:
    10px;

  padding:
    14px;
}

.sales-insight {
  min-width:
    0;

  display:
    flex;

  align-items:
    flex-start;

  gap:
    10px;

  padding:
    13px;

  border:
    1px
    solid
    var(--sales-border);

  border-radius:
    var(--sales-radius-md);

  background:
    var(--sales-surface-soft);

  animation:
    sales-enter
    280ms
    ease
    both;

  animation-delay:
    calc(
      var(--insight-index) *
      45ms
    );
}

.sales-insight__icon {
  width:
    34px;

  height:
    34px;

  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  flex:
    0
    0
    auto;

  border:
    1px
    solid
    currentColor;

  border-radius:
    9px;

  background:
    var(--sales-surface);
}

.sales-insight__body {
  min-width:
    0;
}

.sales-insight__body strong {
  display:
    block;

  color:
    var(--sales-text);

  font-size:
    13px;

  font-weight:
    800;
}

.sales-insight__body p {
  margin:
    5px
    0
    0;

  color:
    var(--sales-text-soft);

  font-size:
    12px;

  line-height:
    1.45;
}

.sales-insight.is-positiva {
  color:
    var(--sales-positive);

  border-color:
    var(--sales-positive-border);

  background:
    var(--sales-positive-bg);
}

.sales-insight.is-alerta {
  color:
    var(--sales-warning);

  border-color:
    var(--sales-warning-border);

  background:
    var(--sales-warning-bg);
}

.sales-insight.is-informacion {
  color:
    var(--sales-info);

  border-color:
    var(--sales-info-border);

  background:
    var(--sales-info-bg);
}

.sales-insight.is-neutral {
  color:
    var(--sales-text-muted);
}

/* =========================================================
   GRID PRINCIPAL
   ========================================================= */

.sales-executive-grid {
  min-width:
    0;

  display:
    grid;

  grid-template-columns:
    minmax(
      0,
      1.4fr
    )
    minmax(
      360px,
      0.8fr
    );

  gap:
    18px;
}

/* =========================================================
   GRÁFICO
   ========================================================= */

.sales-chart {
  min-width:
    0;

  padding:
    16px;
}

.sales-chart__summary {
  display:
    grid;

  grid-template-columns:
    repeat(
      3,
      minmax(
        0,
        1fr
      )
    );

  gap:
    8px;

  margin-bottom:
    12px;
}

.sales-chart__summary > div {
  min-width:
    0;

  padding:
    10px
    12px;

  border:
    1px
    solid
    var(--sales-border);

  border-radius:
    var(--sales-radius-sm);

  background:
    var(--sales-surface-soft);
}

.sales-chart__summary span {
  display:
    block;

  color:
    var(--sales-text-muted);

  font-size:
    10px;

  font-weight:
    700;
}

.sales-chart__summary strong {
  display:
    block;

  margin-top:
    3px;

  overflow:
    hidden;

  color:
    var(--sales-text);

  font-size:
    15px;

  font-weight:
    800;

  text-overflow:
    ellipsis;

  white-space:
    nowrap;
}

.sales-chart__viewport {
  position:
    relative;

  min-width:
    0;

  height:
    340px;

  overflow:
    hidden;

  border:
    1px
    solid
    var(--sales-border);

  border-radius:
    var(--sales-radius-md);

  background:
    var(--sales-surface-soft);
}

.sales-chart__svg {
  width:
    100%;

  height:
    100%;

  overflow:
    visible;
}

.sales-chart__grid-line {
  stroke:
    var(--sales-border);

  stroke-width:
    1;
}

.sales-chart__area {
  fill:
    color-mix(
      in srgb,
      var(--sales-text)
      8%,
      transparent
    );
}

.sales-chart__line {
  fill:
    none;

  stroke:
    var(--sales-text);

  stroke-width:
    3;

  stroke-linecap:
    round;

  stroke-linejoin:
    round;
}

.sales-chart__point {
  fill:
    var(--sales-surface);

  stroke:
    var(--sales-text);

  stroke-width:
    3;

  cursor:
    pointer;

  transition:
    r
    var(--sales-transition);
}

.sales-chart__point:hover,
.sales-chart__point:focus {
  r:
    7;

  outline:
    none;
}

.sales-chart__labels {
  position:
    absolute;

  right:
    0;

  bottom:
    7px;

  left:
    0;

  height:
    22px;

  pointer-events:
    none;
}

.sales-chart__labels span {
  position:
    absolute;

  transform:
    translateX(
      -50%
    );

  color:
    var(--sales-text-muted);

  font-size:
    9px;

  white-space:
    nowrap;
}

.sales-chart-empty,
.sales-empty-state,
.sales-executive-state {
  min-height:
    230px;

  display:
    flex;

  flex-direction:
    column;

  align-items:
    center;

  justify-content:
    center;

  gap:
    8px;

  padding:
    24px;

  color:
    var(--sales-text-soft);

  text-align:
    center;
}

.sales-chart-empty .icon,
.sales-empty-state .icon,
.sales-executive-state__icon {
  width:
    42px;

  height:
    42px;
}

.sales-chart-empty strong,
.sales-empty-state strong,
.sales-executive-state strong {
  color:
    var(--sales-text);

  font-size:
    15px;

  font-weight:
    800;
}

.sales-chart-empty p,
.sales-empty-state p,
.sales-executive-state p {
  max-width:
    480px;

  margin:
    0;

  color:
    var(--sales-text-muted);

  font-size:
    12px;

  line-height:
    1.5;
}

.sales-executive-state.is-error {
  color:
    var(--sales-negative);
}

/* =========================================================
   ANIMACIÓN BASE
   ========================================================= */

@keyframes sales-enter {
  from {
    opacity:
      0;

    transform:
      translateY(
        6px
      );
  }

  to {
    opacity:
      1;

    transform:
      translateY(
        0
      );
  }
}

/* =========================================================
   RESPONSIVE · PARTE 1
   ========================================================= */

@media (
  max-width:
    1500px
) {
  .sales-kpis {
    grid-template-columns:
      repeat(
        3,
        minmax(
          0,
          1fr
        )
      );
  }

  .sales-kpi {
    min-height:
      160px;
  }
}

@media (
  max-width:
    1250px
) {
  .sales-executive-head {
    align-items:
      flex-start;
  }

  .sales-executive-head__actions {
    max-width:
      520px;
  }

  .sales-period-bar__main {
    align-items:
      flex-start;

    flex-direction:
      column;

    gap:
      10px;
  }

  .sales-filters-body {
    grid-template-columns:
      repeat(
        3,
        minmax(
          0,
          1fr
        )
      );
  }

  .sales-executive-grid {
    grid-template-columns:
      minmax(
        0,
        1fr
      );
  }
}

@media (
  max-width:
    980px
) {
  .sales-executive-page {
    padding:
      16px;
  }

  .sales-executive-head {
    flex-direction:
      column;
  }

  .sales-executive-head__actions {
    width:
      100%;

    max-width:
      none;

    justify-content:
      flex-start;
  }

  .sales-filters-body {
    grid-template-columns:
      repeat(
        2,
        minmax(
          0,
          1fr
        )
      );
  }

  .sales-insights {
    grid-template-columns:
      repeat(
        2,
        minmax(
          0,
          1fr
        )
      );
  }
}/* =========================================================
   WIRTZ HUB · DIRECCIÓN EJECUTIVA
   VENTAS Y RENTABILIDAD
   PARTE 2 DE 2
   ========================================================= */

/* =========================================================
   COMPARACIÓN
   ========================================================= */

.sales-comparison-table {
  min-width:
    0;

  display:
    flex;

  flex-direction:
    column;
}

.sales-comparison-head,
.sales-comparison-row {
  min-width:
    0;

  display:
    grid;

  grid-template-columns:
    minmax(
      150px,
      1.3fr
    )
    repeat(
      4,
      minmax(
        95px,
        1fr
      )
    );

  align-items:
    center;

  gap:
    10px;

  padding:
    12px
    16px;
}

.sales-comparison-head {
  border-bottom:
    1px
    solid
    var(--sales-border);

  color:
    var(--sales-text-muted);

  background:
    var(--sales-surface-soft);

  font-size:
    10px;

  font-weight:
    800;

  text-transform:
    uppercase;

  letter-spacing:
    0.05em;
}

.sales-comparison-row {
  border-bottom:
    1px
    solid
    var(--sales-border);

  transition:
    background
    var(--sales-transition);
}

.sales-comparison-row:last-child {
  border-bottom:
    0;
}

.sales-comparison-row:hover {
  background:
    var(--sales-surface-soft);
}

.sales-comparison-row > strong {
  min-width:
    0;

  overflow:
    hidden;

  color:
    var(--sales-text);

  font-size:
    12px;

  font-weight:
    800;

  text-overflow:
    ellipsis;

  white-space:
    nowrap;
}

.sales-comparison-row > span {
  min-width:
    0;

  overflow:
    hidden;

  color:
    var(--sales-text-soft);

  font-size:
    12px;

  font-weight:
    700;

  text-align:
    right;

  text-overflow:
    ellipsis;

  white-space:
    nowrap;
}

.sales-comparison-variation {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    flex-end;

  gap:
    5px;
}

.sales-comparison-variation .icon {
  width:
    14px;

  height:
    14px;
}

/* =========================================================
   CUENTAS
   ========================================================= */

.sales-accounts {
  display:
    flex;

  flex-direction:
    column;
}

.sales-account {
  position:
    relative;

  min-width:
    0;

  display:
    grid;

  grid-template-columns:
    minmax(
      210px,
      1.45fr
    )
    repeat(
      4,
      minmax(
        110px,
        1fr
      )
    );

  align-items:
    center;

  gap:
    14px;

  padding:
    15px
    18px;

  border-bottom:
    1px
    solid
    var(--sales-border);

  background:
    var(--sales-surface);

  animation:
    sales-enter
    280ms
    ease
    both;

  animation-delay:
    calc(
      var(--account-index) *
      35ms
    );
}

.sales-account:last-child {
  border-bottom:
    0;
}

.sales-account:hover {
  background:
    var(--sales-surface-soft);
}

.sales-account__identity {
  min-width:
    0;

  display:
    flex;

  align-items:
    center;

  gap:
    11px;
}

.sales-account__avatar {
  width:
    38px;

  height:
    38px;

  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  flex:
    0
    0
    auto;

  border-radius:
    10px;

  color:
    #1b1b1b;

  background:
    #ffe600;

  font-size:
    11px;

  font-weight:
    900;
}

.sales-account__identity > div {
  min-width:
    0;
}

.sales-account__identity strong,
.sales-account__identity small {
  display:
    block;

  overflow:
    hidden;

  text-overflow:
    ellipsis;

  white-space:
    nowrap;
}

.sales-account__identity strong {
  color:
    var(--sales-text);

  font-size:
    13px;

  font-weight:
    800;
}

.sales-account__identity small {
  margin-top:
    3px;

  color:
    var(--sales-text-muted);

  font-size:
    11px;
}

.sales-account__metric {
  min-width:
    0;

  text-align:
    right;
}

.sales-account__metric span,
.sales-account__metric strong {
  display:
    block;

  overflow:
    hidden;

  text-overflow:
    ellipsis;

  white-space:
    nowrap;
}

.sales-account__metric span {
  color:
    var(--sales-text-muted);

  font-size:
    10px;

  font-weight:
    700;
}

.sales-account__metric strong {
  margin-top:
    3px;

  color:
    var(--sales-text);

  font-size:
    13px;

  font-weight:
    800;
}

.sales-account__progress {
  position:
    absolute;

  right:
    0;

  bottom:
    0;

  left:
    0;

  height:
    2px;

  overflow:
    hidden;

  background:
    var(--sales-surface-muted);
}

.sales-account__progress span {
  display:
    block;

  height:
    100%;

  background:
    var(--sales-text);

  transition:
    width
    500ms
    ease;
}

/* =========================================================
   SELECT INLINE
   ========================================================= */

.sales-inline-select {
  min-width:
    190px;

  display:
    flex;

  align-items:
    center;

  gap:
    8px;
}

.sales-inline-select > span {
  flex:
    0
    0
    auto;
}

.sales-inline-select select {
  min-height:
    36px;
}

/* =========================================================
   PRODUCTOS
   ========================================================= */

.sales-products-table {
  min-width:
    0;

  overflow-x:
    auto;
}

.sales-products-head,
.sales-product-row {
  min-width:
    1040px;

  display:
    grid;

  grid-template-columns:
    minmax(
      320px,
      2fr
    )
    minmax(
      110px,
      0.7fr
    )
    minmax(
      140px,
      0.9fr
    )
    minmax(
      110px,
      0.7fr
    )
    minmax(
      110px,
      0.7fr
    )
    minmax(
      150px,
      0.9fr
    )
    50px;

  align-items:
    center;

  gap:
    12px;

  padding:
    12px
    16px;
}

.sales-products-head {
  border-bottom:
    1px
    solid
    var(--sales-border);

  color:
    var(--sales-text-muted);

  background:
    var(--sales-surface-soft);

  font-size:
    10px;

  font-weight:
    800;

  text-transform:
    uppercase;

  letter-spacing:
    0.05em;
}

.sales-products-body {
  display:
    flex;

  flex-direction:
    column;
}

.sales-product-row {
  border-bottom:
    1px
    solid
    var(--sales-border);

  background:
    var(--sales-surface);

  animation:
    sales-enter
    280ms
    ease
    both;

  animation-delay:
    calc(
      var(--product-index) *
      30ms
    );

  transition:
    background
    var(--sales-transition);
}

.sales-product-row:last-child {
  border-bottom:
    0;
}

.sales-product-row:hover {
  background:
    var(--sales-surface-soft);
}

.sales-product-row__main {
  min-width:
    0;

  display:
    flex;

  align-items:
    center;

  gap:
    11px;

  padding:
    0;

  border:
    0;

  color:
    inherit;

  background:
    transparent;

  text-align:
    left;

  cursor:
    pointer;
}

.sales-product-row__image {
  width:
    46px;

  height:
    46px;

  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  flex:
    0
    0
    auto;

  overflow:
    hidden;

  border:
    1px
    solid
    var(--sales-border);

  border-radius:
    10px;

  background:
    var(--sales-surface-soft);
}

.sales-product-row__image img {
  width:
    100%;

  height:
    100%;

  object-fit:
    cover;
}

.sales-product-row__image > span {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  color:
    var(--sales-text-muted);
}

.sales-product-row__identity {
  min-width:
    0;

  display:
    block;
}

.sales-product-row__identity strong,
.sales-product-row__identity small {
  display:
    block;

  overflow:
    hidden;

  text-overflow:
    ellipsis;

  white-space:
    nowrap;
}

.sales-product-row__identity strong {
  color:
    var(--sales-text);

  font-size:
    12px;

  font-weight:
    800;
}

.sales-product-row__identity small {
  margin-top:
    4px;

  color:
    var(--sales-text-muted);

  font-size:
    10px;
}

.sales-product-row__metric {
  min-width:
    0;

  text-align:
    right;
}

.sales-product-row__metric strong,
.sales-product-row__metric small {
  display:
    block;

  overflow:
    hidden;

  text-overflow:
    ellipsis;

  white-space:
    nowrap;
}

.sales-product-row__metric strong {
  color:
    var(--sales-text);

  font-size:
    12px;

  font-weight:
    800;
}

.sales-product-row__metric small {
  margin-top:
    3px;

  color:
    var(--sales-text-muted);

  font-size:
    10px;
}

.sales-product-row__variation {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    flex-end;

  gap:
    5px;

  font-size:
    12px;
}

.sales-product-row__variation .icon {
  width:
    14px;

  height:
    14px;
}

.sales-product-row__rotation {
  min-width:
    0;

  display:
    flex;

  flex-direction:
    column;

  align-items:
    flex-end;

  gap:
    4px;
}

.sales-product-row__rotation small {
  color:
    var(--sales-text-muted);

  font-size:
    10px;
}

.sales-rotation-badge {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  min-height:
    26px;

  padding:
    0
    9px;

  border:
    1px
    solid
    var(--sales-border);

  border-radius:
    999px;

  color:
    var(--sales-text-soft);

  background:
    var(--sales-surface-soft);

  font-size:
    10px;

  font-weight:
    800;

  white-space:
    nowrap;
}

.sales-rotation-badge.is-alta {
  color:
    var(--sales-positive);

  border-color:
    var(--sales-positive-border);

  background:
    var(--sales-positive-bg);
}

.sales-rotation-badge.is-saludable {
  color:
    var(--sales-info);

  border-color:
    var(--sales-info-border);

  background:
    var(--sales-info-bg);
}

.sales-rotation-badge.is-baja {
  color:
    var(--sales-warning);

  border-color:
    var(--sales-warning-border);

  background:
    var(--sales-warning-bg);
}

.sales-rotation-badge.is-sin_rotacion {
  color:
    var(--sales-negative);

  border-color:
    var(--sales-negative-border);

  background:
    var(--sales-negative-bg);
}

/* =========================================================
   RENTABILIDAD
   ========================================================= */

.sales-profitability {
  display:
    flex;

  flex-direction:
    column;

  gap:
    16px;

  padding:
    18px;
}

.sales-profitability__hero {
  display:
    flex;

  flex-direction:
    column;

  align-items:
    center;

  justify-content:
    center;

  min-height:
    150px;

  padding:
    20px;

  border:
    1px
    solid
    var(--sales-border-strong);

  border-radius:
    var(--sales-radius-lg);

  background:
    var(--sales-surface-soft);

  text-align:
    center;
}

.sales-profitability__hero span {
  color:
    var(--sales-text-muted);

  font-size:
    11px;

  font-weight:
    800;

  text-transform:
    uppercase;

  letter-spacing:
    0.05em;
}

.sales-profitability__hero strong {
  display:
    block;

  margin-top:
    7px;

  color:
    var(--sales-text);

  font-size:
    clamp(
      28px,
      4vw,
      44px
    );

  font-weight:
    900;

  line-height:
    1;
}

.sales-profitability__hero small {
  display:
    block;

  margin-top:
    8px;

  color:
    var(--sales-text-soft);

  font-size:
    12px;
}

.sales-profitability__flow {
  display:
    grid;

  grid-template-columns:
    minmax(
      0,
      1fr
    )
    32px
    minmax(
      0,
      1fr
    )
    32px
    minmax(
      0,
      1fr
    );

  align-items:
    center;

  gap:
    8px;
}

.sales-profitability__flow > article {
  min-width:
    0;

  padding:
    14px;

  border:
    1px
    solid
    var(--sales-border);

  border-radius:
    var(--sales-radius-md);

  background:
    var(--sales-surface-soft);

  text-align:
    center;
}

.sales-profitability__flow > article.is-result {
  border-color:
    var(--sales-positive-border);

  background:
    var(--sales-positive-bg);
}

.sales-profitability__flow span,
.sales-profitability__flow strong {
  display:
    block;

  overflow:
    hidden;

  text-overflow:
    ellipsis;

  white-space:
    nowrap;
}

.sales-profitability__flow span {
  color:
    var(--sales-text-muted);

  font-size:
    10px;

  font-weight:
    700;
}

.sales-profitability__flow strong {
  margin-top:
    5px;

  color:
    var(--sales-text);

  font-size:
    15px;

  font-weight:
    850;
}

.sales-profitability__flow > .icon {
  color:
    var(--sales-text-muted);

  justify-self:
    center;
}

.sales-profitability__details {
  display:
    grid;

  grid-template-columns:
    repeat(
      4,
      minmax(
        0,
        1fr
      )
    );

  gap:
    10px;
}

.sales-profitability__details article {
  min-width:
    0;

  padding:
    13px;

  border:
    1px
    solid
    var(--sales-border);

  border-radius:
    var(--sales-radius-md);

  background:
    var(--sales-surface);
}

.sales-profitability__details article > div {
  min-width:
    0;
}

.sales-profitability__details span,
.sales-profitability__details strong,
.sales-profitability__details small {
  display:
    block;

  overflow:
    hidden;

  text-overflow:
    ellipsis;

  white-space:
    nowrap;
}

.sales-profitability__details span {
  color:
    var(--sales-text-muted);

  font-size:
    10px;

  font-weight:
    700;
}

.sales-profitability__details strong {
  margin-top:
    4px;

  color:
    var(--sales-text);

  font-size:
    14px;

  font-weight:
    850;
}

.sales-profitability__details small {
  margin-top:
    5px;

  color:
    var(--sales-text-soft);

  font-size:
    10px;
}

.sales-profitability__notice {
  display:
    flex;

  align-items:
    flex-start;

  gap:
    8px;

  margin:
    0;

  padding:
    11px
    12px;

  border:
    1px
    solid
    var(--sales-info-border);

  border-radius:
    var(--sales-radius-sm);

  color:
    var(--sales-info);

  background:
    var(--sales-info-bg);

  font-size:
    11px;

  line-height:
    1.45;
}

.sales-profitability__notice .icon {
  flex:
    0
    0
    auto;

  width:
    16px;

  height:
    16px;
}

/* =========================================================
   DRAWER
   ========================================================= */

.sales-product-drawer-backdrop {
  position:
    fixed;

  inset:
    0;

  z-index:
    1090;

  opacity:
    0;

  visibility:
    hidden;

  background:
    rgba(
      0,
      0,
      0,
      0.42
    );

  transition:
    opacity
    180ms
    ease,
    visibility
    180ms
    ease;
}

.sales-product-drawer-backdrop.is-visible {
  opacity:
    1;

  visibility:
    visible;
}

.sales-product-drawer {
  position:
    fixed;

  top:
    0;

  right:
    0;

  bottom:
    0;

  z-index:
    1100;

  width:
    min(
      520px,
      100vw
    );

  transform:
    translateX(
      100%
    );

  border-left:
    1px
    solid
    var(--sales-border);

  background:
    var(--sales-surface);

  transition:
    transform
    240ms
    ease;
}

.sales-product-drawer.is-open {
  transform:
    translateX(
      0
    );
}

.sales-product-drawer__content {
  width:
    100%;

  height:
    100%;

  overflow-y:
    auto;
}

body.sales-product-drawer-open {
  overflow:
    hidden;
}

.sales-product-detail {
  min-height:
    100%;

  display:
    flex;

  flex-direction:
    column;

  gap:
    16px;

  padding:
    20px;
}

.sales-product-detail__head {
  display:
    flex;

  align-items:
    flex-start;

  justify-content:
    space-between;

  gap:
    14px;

  padding-bottom:
    16px;

  border-bottom:
    1px
    solid
    var(--sales-border);
}

.sales-product-detail__head > div {
  min-width:
    0;
}

.sales-product-detail__head > div > span {
  display:
    block;

  color:
    var(--sales-text-muted);

  font-size:
    10px;

  font-weight:
    800;

  letter-spacing:
    0.08em;
}

.sales-product-detail__head h3 {
  margin:
    5px
    0
    0;

  color:
    var(--sales-text);

  font-size:
    20px;

  font-weight:
    850;

  line-height:
    1.25;
}

.sales-product-detail__head p {
  margin:
    6px
    0
    0;

  color:
    var(--sales-text-soft);

  font-size:
    12px;
}

.sales-product-detail__image {
  width:
    100%;

  min-height:
    220px;

  display:
    flex;

  align-items:
    center;

  justify-content:
    center;

  overflow:
    hidden;

  border:
    1px
    solid
    var(--sales-border);

  border-radius:
    var(--sales-radius-lg);

  background:
    var(--sales-surface-soft);
}

.sales-product-detail__image img {
  width:
    100%;

  max-height:
    320px;

  object-fit:
    contain;
}

.sales-product-detail__image > span {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  color:
    var(--sales-text-muted);
}

.sales-product-detail__image > span .icon {
  width:
    48px;

  height:
    48px;
}

.sales-product-detail__metrics {
  display:
    grid;

  grid-template-columns:
    repeat(
      2,
      minmax(
        0,
        1fr
      )
    );

  gap:
    10px;
}

.sales-product-detail__metrics article {
  min-width:
    0;

  padding:
    13px;

  border:
    1px
    solid
    var(--sales-border);

  border-radius:
    var(--sales-radius-md);

  background:
    var(--sales-surface-soft);
}

.sales-product-detail__metrics span,
.sales-product-detail__metrics strong {
  display:
    block;

  overflow:
    hidden;

  text-overflow:
    ellipsis;

  white-space:
    nowrap;
}

.sales-product-detail__metrics span {
  color:
    var(--sales-text-muted);

  font-size:
    10px;

  font-weight:
    700;
}

.sales-product-detail__metrics strong {
  margin-top:
    4px;

  color:
    var(--sales-text);

  font-size:
    15px;

  font-weight:
    850;
}

.sales-product-detail__section {
  padding:
    14px;

  border:
    1px
    solid
    var(--sales-border);

  border-radius:
    var(--sales-radius-md);

  background:
    var(--sales-surface);
}

.sales-product-detail__section > header span,
.sales-product-detail__section > header strong {
  display:
    block;
}

.sales-product-detail__section > header span {
  color:
    var(--sales-text-muted);

  font-size:
    10px;

  font-weight:
    800;

  letter-spacing:
    0.08em;
}

.sales-product-detail__section > header strong {
  margin-top:
    3px;

  color:
    var(--sales-text);

  font-size:
    13px;

  font-weight:
    800;
}

.sales-product-detail__comparison {
  display:
    grid;

  grid-template-columns:
    repeat(
      3,
      minmax(
        0,
        1fr
      )
    );

  gap:
    8px;

  margin-top:
    12px;
}

.sales-product-detail__comparison article {
  min-width:
    0;

  padding:
    11px;

  border:
    1px
    solid
    var(--sales-border);

  border-radius:
    var(--sales-radius-sm);

  background:
    var(--sales-surface-soft);
}

.sales-product-detail__comparison span,
.sales-product-detail__comparison strong {
  display:
    block;

  overflow:
    hidden;

  text-overflow:
    ellipsis;

  white-space:
    nowrap;
}

.sales-product-detail__comparison span {
  color:
    var(--sales-text-muted);

  font-size:
    9px;

  font-weight:
    700;
}

.sales-product-detail__comparison strong {
  margin-top:
    4px;

  color:
    inherit;

  font-size:
    12px;

  font-weight:
    850;
}

.sales-product-detail__rotation {
  display:
    flex;

  flex-direction:
    column;

  align-items:
    flex-start;

  gap:
    8px;

  margin-top:
    12px;
}

.sales-product-detail__rotation p {
  margin:
    0;

  color:
    var(--sales-text-soft);

  font-size:
    12px;
}

.sales-product-detail__rotation strong {
  color:
    var(--sales-text);
}

.sales-product-detail__link {
  width:
    100%;

  margin-top:
    auto;
}

/* =========================================================
   TOAST
   ========================================================= */

.sales-executive-toast {
  position:
    fixed;

  right:
    22px;

  bottom:
    22px;

  z-index:
    1200;

  width:
    min(
      390px,
      calc(
        100vw -
        32px
      )
    );

  display:
    flex;

  align-items:
    flex-start;

  gap:
    10px;

  padding:
    14px;

  opacity:
    0;

  visibility:
    hidden;

  transform:
    translateY(
      10px
    );

  border:
    1px
    solid
    var(--sales-border-strong);

  border-radius:
    var(--sales-radius-md);

  color:
    var(--sales-text);

  background:
    var(--sales-surface);

  transition:
    opacity
    180ms
    ease,
    transform
    180ms
    ease,
    visibility
    180ms
    ease;
}

.sales-executive-toast.is-visible {
  opacity:
    1;

  visibility:
    visible;

  transform:
    translateY(
      0
    );
}

.sales-executive-toast__icon {
  width:
    34px;

  height:
    34px;

  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  flex:
    0
    0
    auto;

  border:
    1px
    solid
    currentColor;

  border-radius:
    9px;
}

.sales-executive-toast__body {
  min-width:
    0;
}

.sales-executive-toast__body strong {
  display:
    block;

  color:
    var(--sales-text);

  font-size:
    13px;

  font-weight:
    800;
}

.sales-executive-toast__body p {
  margin:
    4px
    0
    0;

  color:
    var(--sales-text-soft);

  font-size:
    11px;

  line-height:
    1.45;
}

.sales-executive-toast.is-success {
  color:
    var(--sales-positive);

  border-color:
    var(--sales-positive-border);
}

.sales-executive-toast.is-error {
  color:
    var(--sales-negative);

  border-color:
    var(--sales-negative-border);
}

.sales-executive-toast.is-warning {
  color:
    var(--sales-warning);

  border-color:
    var(--sales-warning-border);
}

.sales-executive-toast.is-info {
  color:
    var(--sales-info);

  border-color:
    var(--sales-info-border);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (
  max-width:
    980px
) {
  .sales-account {
    grid-template-columns:
      minmax(
        220px,
        1.5fr
      )
      repeat(
        2,
        minmax(
          100px,
          1fr
        )
      );
  }

  .sales-account__metric:nth-of-type(
    3
  ),
  .sales-account__metric:nth-of-type(
    4
  ) {
    display:
      none;
  }

  .sales-profitability__details {
    grid-template-columns:
      repeat(
        2,
        minmax(
          0,
          1fr
        )
      );
  }
}

@media (
  max-width:
    760px
) {
  .sales-executive-page {
    gap:
      12px;

    padding:
      12px;
  }

  .sales-executive-head {
    padding:
      14px;
  }

  .sales-executive-brand {
    align-items:
      flex-start;
  }

  .sales-executive-brand__icon {
    width:
      42px;

    height:
      42px;
  }

  .sales-executive-brand__body h2 {
    font-size:
      22px;
  }

  .sales-executive-head__actions {
    display:
      grid;

    grid-template-columns:
      repeat(
        2,
        minmax(
          0,
          1fr
        )
      );
  }

  .sales-source-badge,
  .sales-last-update {
    grid-column:
      1 /
      -1;
  }

  .sales-last-update {
    padding:
      0;

    text-align:
      left;
  }

  .sales-period-bar {
    align-items:
      stretch;

    flex-direction:
      column;
  }

  .sales-period-bar__main {
    width:
      100%;
  }

  .sales-period-presets {
    width:
      100%;
  }

  .sales-filters-body {
    grid-template-columns:
      minmax(
        0,
        1fr
      );
  }

  .sales-filters-body__actions {
    flex-direction:
      column-reverse;
  }

  .sales-filters-body__actions .sales-btn {
    width:
      100%;
  }

  .sales-kpis {
    grid-template-columns:
      repeat(
        2,
        minmax(
          0,
          1fr
        )
      );

    gap:
      8px;
  }

  .sales-kpi {
    min-height:
      150px;

    padding:
      12px;
  }

  .sales-kpi__value {
    font-size:
      21px;
  }

  .sales-insights {
    grid-template-columns:
      minmax(
        0,
        1fr
      );

    padding:
      10px;
  }

  .sales-panel__head {
    align-items:
      flex-start;

    flex-direction:
      column;
  }

  .sales-panel__actions {
    width:
      100%;

    overflow-x:
      auto;
  }

  .sales-panel__actions .sales-btn {
    flex:
      1
      0
      auto;
  }

  .sales-comparison-table {
    overflow-x:
      auto;
  }

  .sales-comparison-head,
  .sales-comparison-row {
    min-width:
      720px;
  }

  .sales-chart {
    padding:
      10px;
  }

  .sales-chart__summary {
    grid-template-columns:
      minmax(
        0,
        1fr
      );
  }

  .sales-chart__viewport {
    height:
      280px;
  }

  .sales-account {
    grid-template-columns:
      minmax(
        180px,
        1.4fr
      )
      minmax(
        110px,
        1fr
      );

    padding:
      13px;
  }

  .sales-account__metric:nth-of-type(
    n + 2
  ) {
    display:
      none;
  }

  .sales-inline-select {
    width:
      100%;

    align-items:
      stretch;

    flex-direction:
      column;
  }

  .sales-products-table {
    overflow-x:
      auto;

    overscroll-behavior-inline:
      contain;
  }

  .sales-profitability {
    padding:
      12px;
  }

  .sales-profitability__flow {
    grid-template-columns:
      minmax(
        0,
        1fr
      );
  }

  .sales-profitability__flow > .icon {
    transform:
      rotate(
        90deg
      );
  }

  .sales-profitability__details {
    grid-template-columns:
      minmax(
        0,
        1fr
      );
  }

  .sales-product-drawer {
    width:
      100vw;
  }

  .sales-product-detail {
    padding:
      14px;
  }

  .sales-product-detail__metrics {
    grid-template-columns:
      minmax(
        0,
        1fr
      );
  }

  .sales-product-detail__comparison {
    grid-template-columns:
      minmax(
        0,
        1fr
      );
  }

  .sales-executive-toast {
    right:
      12px;

    bottom:
      12px;

    width:
      calc(
        100vw -
        24px
      );
  }
}

@media (
  max-width:
    520px
) {
  .sales-executive-head__actions {
    grid-template-columns:
      minmax(
        0,
        1fr
      );
  }

  .sales-source-badge,
  .sales-last-update {
    grid-column:
      auto;
  }

  .sales-kpis {
    grid-template-columns:
      minmax(
        0,
        1fr
      );
  }

  .sales-kpi {
    min-height:
      138px;
  }

  .sales-period-preset {
    min-height:
      32px;

    padding:
      0
      10px;

    font-size:
      11px;
  }

  .sales-panel__head {
    padding:
      14px;
  }

  .sales-profitability__hero strong {
    font-size:
      28px;
  }
}

/* =========================================================
   ACCESIBILIDAD
   ========================================================= */

@media (
  prefers-reduced-motion:
    reduce
) {
  .sales-executive-page *,
  .sales-product-drawer *,
  .sales-executive-toast * {
    scroll-behavior:
      auto !important;

    animation-duration:
      1ms !important;

    animation-iteration-count:
      1 !important;

    transition-duration:
      1ms !important;
  }
}