/* =========================================================
   ML RENTABILIDAD · PRODUCTOS
   PREMIUM / FILTROS / TABLA / RESPONSIVE
   ========================================================= */


/* =========================================================
   PAGE
   ========================================================= */

#pageProductos {
  width: 100%;
  min-width: 0;
}


/* =========================================================
   HEADER
   ========================================================= */

.products-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;

  gap: 18px;

  margin-bottom: 18px;
}

.products-header > div:first-child {
  min-width: 0;
}

.products-header h1 {
  margin: 0;

  color: var(--text);

  font-size: clamp(24px, 2.2vw, 34px);
  font-weight: 900;

  line-height: 1;

  letter-spacing: -0.04em;
}

.products-header p {
  margin: 8px 0 0;

  color: var(--muted);

  font-size: 13px;
  font-weight: 600;

  line-height: 1.5;
}


/* =========================================================
   HEADER ACTIONS
   ========================================================= */

.products-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;

  flex-wrap: wrap;

  gap: 8px;
}

.products-header-actions .primary-button,
.products-header-actions .secondary-button {
  min-height: 38px;

  padding:
    0
    12px;

  border-radius: 10px;
}


/* =========================================================
   FILTER PANEL
   ========================================================= */

.products-filter-panel {
  margin-bottom: 16px;

  overflow: hidden;

  border-radius: 14px;
}

.products-filter-top {
  display: grid;

  grid-template-columns:
    minmax(260px, 1fr)
    220px
    220px;

  gap: 10px;

  padding: 12px;

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

.products-filter-bottom {
  display: grid;

  grid-template-columns:
    minmax(240px, 1fr)
    minmax(240px, 1fr)
    auto
    110px;

  align-items: end;

  gap: 10px;

  padding: 12px;

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


/* =========================================================
   SEARCH
   ========================================================= */

.products-search {
  min-width: 0;
  min-height: 40px;

  display: flex;
  align-items: center;

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

  border-radius: 10px;

  background:
    var(--surface);

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

.products-search:focus-within {
  border-color:
    var(--accent-border);

  box-shadow:
    0 0 0 3px
    var(--focus-ring);
}

.products-search svg {
  width: 15px;
  height: 15px;

  margin-left: 11px;

  color:
    var(--muted);

  flex: 0 0 auto;
}

.products-search input {
  width: 100%;
  min-width: 0;
  min-height: 38px;

  padding:
    0
    11px;

  border: 0;
  outline: 0;

  background:
    transparent;

  color:
    var(--text);

  font-size: 11px;
  font-weight: 700;
}


/* =========================================================
   FILTER SELECTS
   ========================================================= */

.products-filter-control {
  min-width: 0;
  min-height: 40px;

  padding:
    0
    10px;

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

  border-radius: 10px;

  outline: 0;

  background:
    var(--surface);

  color:
    var(--text);

  font-size: 10px;
  font-weight: 750;

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

.products-filter-control:focus {
  border-color:
    var(--accent-border);

  box-shadow:
    0 0 0 3px
    var(--focus-ring);
}


/* =========================================================
   RANGE FILTERS
   ========================================================= */

.products-range-filter {
  min-width: 0;

  display: grid;

  gap: 6px;
}

.products-range-filter > span {
  color:
    var(--muted);

  font-size: 8px;
  font-weight: 800;

  letter-spacing:
    0.03em;

  text-transform:
    uppercase;
}

.products-range-fields {
  display: grid;

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

  align-items: center;

  gap: 6px;
}

.products-range-fields > span {
  color:
    var(--muted-2);

  font-size: 10px;
  font-weight: 700;
}

.products-range-fields input {
  width: 100%;
  min-width: 0;
  min-height: 38px;

  padding:
    0
    10px;

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

  border-radius: 9px;

  outline: 0;

  background:
    var(--surface);

  color:
    var(--text);

  font-size: 10px;
  font-weight: 750;

  transition:
    border-color var(--transition),
    box-shadow var(--transition);
}

.products-range-fields input:focus {
  border-color:
    var(--accent-border);

  box-shadow:
    0 0 0 3px
    var(--focus-ring);
}


/* =========================================================
   CLEAR FILTERS
   ========================================================= */

.products-clear-filters {
  min-height: 38px;

  white-space: nowrap;
}


/* =========================================================
   COUNT
   ========================================================= */

.products-count-box {
  min-height: 38px;

  display: grid;

  align-content: center;

  gap: 1px;

  padding:
    6px
    10px;

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

  border-radius: 9px;

  background:
    var(--surface);
}

.products-count-box span {
  color:
    var(--muted);

  font-size: 7px;
  font-weight: 700;

  text-transform:
    uppercase;

  letter-spacing:
    0.06em;
}

.products-count-box strong {
  color:
    var(--text);

  font-size: 14px;
  font-weight: 900;

  line-height: 1;
}


/* =========================================================
   LIST SURFACE
   ========================================================= */

.products-list-surface {
  overflow: hidden;

  border-radius: 14px;
}


/* =========================================================
   TABLE WRAP
   ========================================================= */

.products-table-wrap {
  width: 100%;

  overflow-x: auto;
}


/* =========================================================
   TABLE
   ========================================================= */

.products-table {
  width: 100%;

  min-width: 980px;

  border-collapse: collapse;
}

.products-table thead {
  position: sticky;

  top: 0;

  z-index: 5;
}

.products-table th {
  padding:
    10px
    11px;

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

  background:
    var(--surface-2);

  color:
    var(--muted);

  font-size: 8px;
  font-weight: 850;

  letter-spacing:
    0.05em;

  text-align: left;

  text-transform:
    uppercase;

  white-space: nowrap;
}

.products-table td {
  padding:
    10px
    11px;

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

  color:
    var(--text-2);

  font-size: 9px;
  font-weight: 700;

  vertical-align: middle;

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

.products-table tbody tr {
  transition:
    background var(--transition),
    transform var(--transition),
    box-shadow var(--transition);
}

.products-table tbody tr:hover td {
  background:
    color-mix(
      in srgb,
      var(--surface-3) 72%,
      transparent
    );
}


/* =========================================================
   IMAGE
   ========================================================= */

.catalog-image,
.catalog-image-placeholder {
  width: 42px;
  height: 42px;

  display: grid;
  place-items: center;

  overflow: hidden;

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

  border-radius: 9px;

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

.catalog-image {
  object-fit: cover;
}

.catalog-image-placeholder {
  color:
    var(--muted);
}

.catalog-image-placeholder svg {
  width: 15px;
  height: 15px;
}


/* =========================================================
   SKU
   ========================================================= */

.product-sku {
  display: inline-flex;
  align-items: center;

  min-height: 24px;

  padding:
    0
    8px;

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

  border-radius: 999px;

  background:
    var(--surface-2);

  color:
    var(--text-2);

  font-size: 8px;
  font-weight: 850;

  letter-spacing:
    0.02em;
}


/* =========================================================
   NAME
   ========================================================= */

.product-name-cell {
  min-width: 180px;

  display: grid;

  gap: 2px;
}

.product-name-cell strong {
  max-width: 280px;

  overflow: hidden;

  color:
    var(--text);

  font-size: 10px;
  font-weight: 850;

  line-height: 1.25;

  text-overflow: ellipsis;

  white-space: nowrap;
}


/* =========================================================
   CATEGORY
   ========================================================= */

.product-category-badge {
  display: inline-flex;
  align-items: center;

  min-height: 24px;

  padding:
    0
    8px;

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

  border-radius: 999px;

  background:
    var(--accent-soft);

  color:
    var(--text);

  font-size: 8px;
  font-weight: 800;
}


/* =========================================================
   MONEY
   ========================================================= */

.money-column {
  color:
    var(--text);

  font-variant-numeric:
    tabular-nums;

  white-space: nowrap;
}

.money-column strong {
  color:
    var(--text);

  font-size: 10px;
  font-weight: 900;
}


/* =========================================================
   ACTIONS
   ========================================================= */

.product-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;

  gap: 5px;
}

.products-table .table-icon-button {
  width: 29px;
  height: 29px;

  display: grid;
  place-items: center;

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

  border-radius: 7px;

  background:
    var(--surface-2);

  color:
    var(--muted);

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

.products-table .table-icon-button:hover {
  border-color:
    var(--accent-border);

  background:
    var(--accent-soft);

  color:
    var(--text);

  transform:
    translateY(-1px);
}

.products-table .table-icon-button.danger:hover {
  border-color:
    color-mix(
      in srgb,
      var(--danger) 40%,
      var(--border)
    );

  background:
    var(--danger-soft);

  color:
    var(--danger);
}

.products-table .table-icon-button svg {
  width: 12px;
  height: 12px;
}


/* =========================================================
   LOADING
   ========================================================= */

.products-loading {
  min-height: 160px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 8px;

  color:
    var(--muted);

  font-size: 10px;
  font-weight: 700;
}

.products-loading svg,
.products-loading .loading-icon {
  width: 15px;
  height: 15px;

  animation:
    productsSpin
    700ms
    linear
    infinite;
}

@keyframes productsSpin {
  to {
    transform:
      rotate(360deg);
  }
}


/* =========================================================
   EMPTY
   ========================================================= */

.products-empty {
  min-height: 180px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  gap: 5px;

  padding: 20px;

  color:
    var(--muted);

  text-align: center;
}

.products-empty svg {
  width: 22px;
  height: 22px;

  margin-bottom: 5px;
}

.products-empty strong {
  color:
    var(--text);

  font-size: 11px;
  font-weight: 850;
}

.products-empty span {
  max-width: 360px;

  color:
    var(--muted);

  font-size: 9px;
  font-weight: 600;

  line-height: 1.5;
}

/* =========================================================
   MODAL
   ========================================================= */

.product-modal {
  position: fixed;

  inset: 0;

  z-index: 120;

  display: none;

  align-items: flex-start;
  justify-content: center;

  padding:
    calc(var(--topbar-height) + 24px)
    18px
    24px;

  overflow-y: auto;

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

  backdrop-filter:
    blur(8px);

  -webkit-backdrop-filter:
    blur(8px);
}

.product-modal.open {
  display: flex;

  animation:
    productModalBackdropEnter
    180ms
    ease;
}

@keyframes productModalBackdropEnter {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}


/* =========================================================
   MODAL CARD
   ========================================================= */

.product-modal-card {
  position: relative;

  width:
    min(
      100%,
      720px
    );

  max-height:
    calc(
      100dvh -
      var(--topbar-height) -
      48px
    );

  display: flex;
  flex-direction: column;

  overflow: hidden;

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

  border-radius: 18px;

  background:
    linear-gradient(
      180deg,
      var(--surface),
      color-mix(
        in srgb,
        var(--surface-2) 65%,
        var(--surface)
      )
    );

  box-shadow:
    0 30px 100px
    rgba(
      0,
      0,
      0,
      0.42
    ),
    inset
    0 1px 0
    rgba(
      255,
      255,
      255,
      0.03
    );

  animation:
    productModalEnter
    220ms
    cubic-bezier(
      .2,
      .8,
      .2,
      1
    );
}

.product-modal-card::before {
  position: absolute;

  top: 0;
  left: 18%;
  right: 18%;

  height: 1px;

  content: "";

  pointer-events: none;

  background:
    linear-gradient(
      90deg,
      transparent,
      var(--accent),
      transparent
    );

  opacity: 0.6;
}

@keyframes productModalEnter {
  from {
    opacity: 0;

    transform:
      translateY(18px)
      scale(0.98);
  }

  to {
    opacity: 1;

    transform:
      translateY(0)
      scale(1);
  }
}


/* =========================================================
   MODAL HEADER
   ========================================================= */

.product-modal-header {
  position: relative;
  z-index: 5;

  min-height: 76px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 12px;

  padding:
    16px
    18px;

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

  background:
    color-mix(
      in srgb,
      var(--surface-2) 92%,
      transparent
    );

  backdrop-filter:
    blur(18px);

  -webkit-backdrop-filter:
    blur(18px);
}

.product-modal-header > div {
  min-width: 0;
}

.product-modal-header h2 {
  margin: 1px 0 0;

  color:
    var(--text);

  font-size: 20px;
  font-weight: 900;

  line-height: 1.1;

  letter-spacing:
    -0.04em;
}

.product-modal-header .section-kicker {
  color:
    var(--accent);

  font-size: 8px;
  font-weight: 850;

  letter-spacing:
    0.13em;
}

.product-modal-header .icon-button {
  width: 34px;
  height: 34px;

  flex:
    0
    0
    auto;

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

  border-radius: 9px;

  background:
    var(--surface);

  color:
    var(--muted);
}

.product-modal-header .icon-button:hover {
  border-color:
    var(--danger);

  background:
    var(--danger-soft);

  color:
    var(--danger);
}


/* =========================================================
   FORM
   ========================================================= */

.product-form {
  min-height: 0;

  display: flex;
  flex-direction: column;

  flex: 1;
}

.product-modal-body {
  min-height: 0;

  display: grid;

  gap: 15px;

  padding:
    18px;

  overflow-y: auto;

  overscroll-behavior: contain;

  scrollbar-width: thin;
}


/* =========================================================
   IMAGE PREVIEW
   ========================================================= */

.product-image-preview {
  position: relative;

  width: 100%;
  min-height: 170px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  gap: 8px;

  overflow: hidden;

  border:
    1px dashed
    var(--border-strong);

  border-radius: 14px;

  background:
    linear-gradient(
      135deg,
      var(--surface-2),
      color-mix(
        in srgb,
        var(--surface-3) 60%,
        var(--surface-2)
      )
    );

  color:
    var(--muted);

  font-size: 9px;
  font-weight: 700;
}

.product-image-preview::after {
  position: absolute;

  inset: 0;

  content: "";

  pointer-events: none;

  background:
    radial-gradient(
      circle at 50% 20%,
      color-mix(
        in srgb,
        var(--accent) 5%,
        transparent
      ),
      transparent 45%
    );
}

.product-image-preview img {
  position: relative;
  z-index: 2;

  width: 100%;
  height: 190px;

  object-fit: contain;

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

.product-image-preview svg {
  position: relative;
  z-index: 2;

  width: 26px;
  height: 26px;
}

.product-image-preview span {
  position: relative;
  z-index: 2;
}


/* =========================================================
   MODAL FIELDS
   ========================================================= */

.product-modal-body .field {
  display: grid;

  gap: 7px;
}

.product-modal-body .field > span {
  color:
    var(--text-2);

  font-size: 10px;
  font-weight: 800;
}

.product-modal-body .field > input,
.product-modal-body .input-shell,
.product-modal-body .money-field {
  min-height: 46px;

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

  border-radius: 11px;

  background:
    var(--surface-2);

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

.product-modal-body .field > input {
  width: 100%;

  padding:
    0
    12px;

  outline: 0;

  color:
    var(--text);

  font-size: 11px;
  font-weight: 750;
}

.product-modal-body .field > input:focus,
.product-modal-body .input-shell:focus-within,
.product-modal-body .money-field:focus-within {
  border-color:
    var(--accent-border);

  background:
    var(--surface-3);

  box-shadow:
    0 0 0 3px
    var(--focus-ring);
}

.product-modal-body .input-shell {
  display: flex;
  align-items: center;

  overflow: hidden;
}

.product-modal-body .input-shell .input-icon {
  width: 16px;
  height: 16px;

  margin-left: 12px;

  flex: 0 0 auto;

  color:
    var(--muted);
}

.product-modal-body .input-shell input {
  width: 100%;
  min-width: 0;
  min-height: 44px;

  padding:
    0
    12px;

  border: 0;
  outline: 0;

  background:
    transparent;

  color:
    var(--text);

  font-size: 11px;
  font-weight: 750;
}

.product-modal-body .money-field {
  display: flex;
  align-items: center;

  overflow: hidden;
}

.product-modal-body .money-field .currency {
  align-self: stretch;

  min-width: 42px;

  display: grid;
  place-items: center;

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

  background:
    var(--surface-3);

  color:
    var(--muted);

  font-size: 10px;
  font-weight: 800;
}

.product-modal-body .money-field input {
  width: 100%;
  min-width: 0;
  min-height: 44px;

  padding:
    0
    12px;

  border: 0;
  outline: 0;

  background:
    transparent;

  color:
    var(--text);

  font-size: 12px;
  font-weight: 850;

  font-variant-numeric:
    tabular-nums;
}


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

.product-fields-grid {
  display: grid;

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

  gap: 12px;
}


/* =========================================================
   MESSAGE
   ========================================================= */

.product-form-message {
  min-height: 18px;

  color:
    var(--danger);

  font-size: 9px;
  font-weight: 700;
}


/* =========================================================
   MODAL FOOTER
   ========================================================= */

.product-modal-footer {
  position: relative;
  z-index: 5;

  min-height: 68px;

  display: flex;
  align-items: center;
  justify-content: flex-end;

  gap: 8px;

  padding:
    12px
    18px;

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

  background:
    color-mix(
      in srgb,
      var(--surface-2) 94%,
      transparent
    );

  backdrop-filter:
    blur(18px);

  -webkit-backdrop-filter:
    blur(18px);
}

.product-modal-footer .secondary-button,
.product-modal-footer .primary-button {
  min-height: 42px;

  padding:
    0
    16px;

  border-radius: 10px;

  font-size: 10px;
  font-weight: 850;
}

.product-modal-footer .primary-button {
  min-width: 110px;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (
  max-width: 820px
) {
  .product-modal {
    z-index: 260;

    padding:
      calc(var(--topbar-height) + 12px)
      10px
      14px;
  }

  .product-modal-card {
    width: 100%;

    max-height:
      calc(
        100dvh -
        var(--topbar-height) -
        26px
      );

    border-radius: 15px;
  }
}


@media (
  max-width: 700px
) {
  .product-modal-header {
    min-height: 64px;

    padding:
      13px;
  }

  .product-modal-header h2 {
    font-size: 17px;
  }

  .product-modal-body {
    padding: 13px;
  }

  .product-fields-grid {
    grid-template-columns: 1fr;
  }

  .product-image-preview {
    min-height: 130px;
  }

  .product-image-preview img {
    height: 150px;
  }

  .product-modal-footer {
    min-height: 62px;

    padding:
      10px
      13px;
  }
}


@media (
  max-width: 480px
) {
  .product-modal {
    padding:
      calc(var(--topbar-height) + 8px)
      6px
      8px;
  }

  .product-modal-card {
    border-radius: 12px;
  }

  .product-modal-footer {
    display: grid;

    grid-template-columns:
      1fr
      1fr;
  }

  .product-modal-footer .secondary-button,
  .product-modal-footer .primary-button {
    width: 100%;

    justify-content: center;
  }
}
/* =========================================================
   DARK
   ========================================================= */

html[data-theme="dark"]
.products-filter-panel,
html[data-theme="dark"]
.products-list-surface {
  background:
    rgba(
      15,
      18,
      23,
      0.96
    );
}


/* =========================================================
   LIGHT
   ========================================================= */

html[data-theme="light"]
.products-filter-panel,
html[data-theme="light"]
.products-list-surface {
  background:
    rgba(
      255,
      255,
      255,
      0.98
    );
}


/* =========================================================
   LARGE TABLET
   ========================================================= */

@media (
  max-width: 1180px
) {
  .products-filter-top {
    grid-template-columns:
      minmax(240px, 1fr)
      190px
      190px;
  }

  .products-filter-bottom {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );

    align-items: stretch;
  }

  .products-clear-filters,
  .products-count-box {
    align-self: stretch;
  }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (
  max-width: 900px
) {
  .products-header {
    flex-direction: column;

    align-items: stretch;
  }

  .products-header-actions {
    justify-content: flex-start;
  }

  .products-filter-top {
    grid-template-columns:
      1fr
      1fr;
  }

  .products-search {
    grid-column:
      1 /
      -1;
  }

  .products-filter-bottom {
    grid-template-columns:
      1fr
      1fr;
  }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (
  max-width: 700px
) {
  .products-header-actions {
    display: grid;

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

  .products-header-actions .primary-button,
  .products-header-actions .secondary-button {
    width: 100%;

    justify-content: center;
  }

  .products-filter-top,
  .products-filter-bottom {
    grid-template-columns:
      1fr;
  }

  .products-search {
    grid-column: auto;
  }

  .products-clear-filters {
    width: 100%;
  }

  .products-count-box {
    min-height: 48px;
  }

  .product-fields-grid {
    grid-template-columns:
      1fr;
  }

  .product-modal {
    align-items: flex-start;

    padding:
      10px;
  }

  .product-modal-card {
    max-height:
      calc(
        100dvh -
        20px
      );

    border-radius: 14px;
  }

  .product-modal-footer {
    position: sticky;

    bottom: 0;

    z-index: 5;
  }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (
  max-width: 480px
) {
  .products-header-actions {
    grid-template-columns:
      1fr;
  }

  .products-header h1 {
    font-size: 25px;
  }

  .products-filter-top,
  .products-filter-bottom {
    padding: 9px;
  }

  .products-range-fields {
    grid-template-columns:
      1fr;
  }

  .products-range-fields > span {
    display: none;
  }

  .product-modal-header,
  .product-modal-body,
  .product-modal-footer {
    padding:
      12px;
  }

  .product-image-preview {
    min-height: 120px;
  }

  .product-image-preview img {
    height: 150px;
  }
}


/* =========================================================
   TOUCH
   ========================================================= */

@media (
  hover: none
) {
  .products-table .table-icon-button:hover,
  .products-header-actions button:hover {
    transform: none;
  }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (
  prefers-reduced-motion:
  reduce
) {
  .product-modal.open,
  .product-modal-card,
  .products-loading svg,
  .products-loading .loading-icon {
    animation:
      none !important;
  }
}/* =========================================================
   FIX · PRODUCTOS
   TIPOGRAFÍA MÁS MARCADA Y LEGIBLE
   ========================================================= */

#pageProductos {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}


/* =========================================================
   TÍTULOS
   ========================================================= */

#pageProductos h1,
#pageProductos h2,
#pageProductos h3 {
  color: var(--text) !important;
  font-weight: 900 !important;
}


/* =========================================================
   HEADER
   ========================================================= */

#pageProductos .products-header p {
  color: var(--text-2) !important;
  font-weight: 750 !important;
}

#pageProductos .section-kicker {
  color: var(--text-2) !important;
  font-weight: 850 !important;
}


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

#pageProductos button,
#pageProductos .primary-button,
#pageProductos .secondary-button {
  font-weight: 850 !important;
}


/* =========================================================
   BUSCADOR
   ========================================================= */

#pageProductos .products-search input {
  color: var(--text) !important;
  font-weight: 800 !important;
}

#pageProductos .products-search input::placeholder {
  color: var(--muted) !important;
  font-weight: 700 !important;
  opacity: 1;
}


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

#pageProductos .products-filter-control {
  color: var(--text) !important;
  font-weight: 800 !important;
}

#pageProductos .products-range-filter > span {
  color: var(--text-2) !important;
  font-weight: 900 !important;
}

#pageProductos .products-range-fields input {
  color: var(--text) !important;
  font-weight: 800 !important;
}

#pageProductos .products-range-fields input::placeholder {
  color: var(--muted) !important;
  font-weight: 700 !important;
  opacity: 1;
}


/* =========================================================
   RESULTADOS
   ========================================================= */

#pageProductos .products-count-box span {
  color: var(--text-2) !important;
  font-weight: 850 !important;
}

#pageProductos .products-count-box strong {
  color: var(--text) !important;
  font-weight: 950 !important;
}


/* =========================================================
   TABLA · HEADER
   ========================================================= */

#pageProductos .products-table th {
  color: var(--text-2) !important;
  font-weight: 900 !important;
}


/* =========================================================
   TABLA · CELDAS
   ========================================================= */

#pageProductos .products-table td {
  color: var(--text) !important;
  font-weight: 750 !important;
}


/* =========================================================
   SKU
   ========================================================= */

#pageProductos .product-sku {
  color: var(--text) !important;
  font-weight: 900 !important;
}


/* =========================================================
   NOMBRE
   ========================================================= */

#pageProductos .product-name-cell strong {
  color: var(--text) !important;
  font-weight: 900 !important;
}


/* =========================================================
   CATEGORÍA
   ========================================================= */

#pageProductos .product-category-badge {
  color: var(--text) !important;
  font-weight: 850 !important;
}


/* =========================================================
   PRECIOS
   ========================================================= */

#pageProductos .money-column {
  color: var(--text) !important;
  font-weight: 800 !important;
}

#pageProductos .money-column strong {
  color: var(--text) !important;
  font-weight: 950 !important;
}


/* =========================================================
   LOADING / EMPTY
   ========================================================= */

#pageProductos .products-loading {
  color: var(--text-2) !important;
  font-weight: 750 !important;
}

#pageProductos .products-empty {
  color: var(--text-2) !important;
}

#pageProductos .products-empty strong {
  color: var(--text) !important;
  font-weight: 900 !important;
}

#pageProductos .products-empty span {
  color: var(--text-2) !important;
  font-weight: 700 !important;
}


/* =========================================================
   MODAL · TÍTULOS
   ========================================================= */

#pageProductos .product-modal-header h2 {
  color: var(--text) !important;
  font-weight: 950 !important;
}

#pageProductos .product-modal-header .section-kicker {
  font-weight: 900 !important;
}


/* =========================================================
   MODAL · LABELS
   ========================================================= */

#pageProductos .product-modal-body .field > span {
  color: var(--text) !important;
  font-weight: 850 !important;
}


/* =========================================================
   MODAL · INPUTS
   ========================================================= */

#pageProductos .product-modal-body input,
#pageProductos .product-modal-body select,
#pageProductos .product-modal-body textarea {
  color: var(--text) !important;
  font-weight: 800 !important;
}

#pageProductos .product-modal-body input::placeholder,
#pageProductos .product-modal-body textarea::placeholder {
  color: var(--muted) !important;
  font-weight: 700 !important;
  opacity: 1;
}


/* =========================================================
   MODAL · MONEDA
   ========================================================= */

#pageProductos .product-modal-body .money-field .currency {
  color: var(--text-2) !important;
  font-weight: 900 !important;
}

#pageProductos .product-modal-body .money-field input {
  color: var(--text) !important;
  font-weight: 950 !important;
}


/* =========================================================
   MODAL · IMAGEN
   ========================================================= */

#pageProductos .product-image-preview {
  color: var(--text-2) !important;
  font-weight: 750 !important;
}


/* =========================================================
   MODAL · MENSAJE
   ========================================================= */

#pageProductos .product-form-message {
  font-weight: 800 !important;
}


/* =========================================================
   MODO CLARO · MÁS CONTRASTE
   ========================================================= */

html[data-theme="light"] #pageProductos {
  --text:
    #0b1220;

  --text-2:
    #263244;

  --muted:
    #526075;

  --muted-2:
    #667085;
}


/* =========================================================
   MODO OSCURO · MÁS CONTRASTE
   ========================================================= */

html[data-theme="dark"] #pageProductos {
  --text:
    #f7f9fc;

  --text-2:
    #d6dde8;

  --muted:
    #a4afbf;

  --muted-2:
    #8995a6;
}/* =========================================================
   FIX · PRODUCTOS
   MÁS CONTRASTE / DIVISIONES / TIPOGRAFÍA MÁS GRANDE
   ========================================================= */

#pageProductos {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}


/* =========================================================
   CONTRASTE LOCAL
   ========================================================= */

html[data-theme="light"] #pageProductos {
  --text: #0a0f1a;
  --text-2: #1f2937;
  --muted: #475569;
  --muted-2: #64748b;

  --border:
    rgba(15, 23, 42, 0.16);

  --border-soft:
    rgba(15, 23, 42, 0.11);

  --border-strong:
    rgba(15, 23, 42, 0.28);
}


html[data-theme="dark"] #pageProductos {
  --text: #f8fafc;
  --text-2: #dbe3ee;
  --muted: #aeb8c6;
  --muted-2: #8f9bad;

  --border:
    rgba(255, 255, 255, 0.13);

  --border-soft:
    rgba(255, 255, 255, 0.08);

  --border-strong:
    rgba(255, 255, 255, 0.22);
}


/* =========================================================
   HEADER
   ========================================================= */

#pageProductos
.products-header h1 {
  color:
    var(--text) !important;

  font-weight:
    950 !important;
}


#pageProductos
.products-header p {
  color:
    var(--text-2) !important;

  font-size:
    14px !important;

  font-weight:
    750 !important;
}


#pageProductos
.section-kicker {
  color:
    var(--text-2) !important;

  font-size:
    9px !important;

  font-weight:
    900 !important;
}


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

#pageProductos button,
#pageProductos .primary-button,
#pageProductos .secondary-button {
  font-size:
    10px !important;

  font-weight:
    900 !important;
}


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

#pageProductos
.products-filter-panel {
  border:
    1px solid
    var(--border-strong) !important;
}


#pageProductos
.products-filter-top {
  border-bottom:
    1px solid
    var(--border-strong) !important;
}


/* =========================================================
   BUSCADOR
   ========================================================= */

#pageProductos
.products-search {
  min-height:
    43px !important;

  border-color:
    var(--border-strong) !important;
}


#pageProductos
.products-search input {
  min-height:
    41px !important;

  color:
    var(--text) !important;

  font-size:
    12px !important;

  font-weight:
    850 !important;
}


#pageProductos
.products-search input::placeholder {
  color:
    var(--muted) !important;

  font-weight:
    750 !important;

  opacity: 1;
}


/* =========================================================
   SELECTS
   ========================================================= */

#pageProductos
.products-filter-control {
  min-height:
    43px !important;

  border-color:
    var(--border-strong) !important;

  color:
    var(--text) !important;

  font-size:
    11px !important;

  font-weight:
    850 !important;
}


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

#pageProductos
.products-range-filter > span {
  color:
    var(--text-2) !important;

  font-size:
    9px !important;

  font-weight:
    900 !important;
}


#pageProductos
.products-range-fields input {
  min-height:
    41px !important;

  border-color:
    var(--border-strong) !important;

  color:
    var(--text) !important;

  font-size:
    11px !important;

  font-weight:
    850 !important;
}


#pageProductos
.products-range-fields input::placeholder {
  color:
    var(--muted) !important;

  font-weight:
    750 !important;

  opacity: 1;
}


/* =========================================================
   CONTADOR
   ========================================================= */

#pageProductos
.products-count-box {
  min-height:
    41px !important;

  border-color:
    var(--border-strong) !important;
}


#pageProductos
.products-count-box span {
  color:
    var(--text-2) !important;

  font-size:
    8px !important;

  font-weight:
    900 !important;
}


#pageProductos
.products-count-box strong {
  color:
    var(--text) !important;

  font-size:
    16px !important;

  font-weight:
    950 !important;
}


/* =========================================================
   TABLA / SUPERFICIE
   ========================================================= */

#pageProductos
.products-list-surface {
  border:
    1px solid
    var(--border-strong) !important;
}


/* =========================================================
   HEADER TABLA
   ========================================================= */

#pageProductos
.products-table th {
  padding:
    12px
    11px !important;

  border-bottom:
    1px solid
    var(--border-strong) !important;

  color:
    var(--text-2) !important;

  font-size:
    9px !important;

  font-weight:
    950 !important;
}


/* =========================================================
   CELDAS TABLA
   ========================================================= */

#pageProductos
.products-table td {
  padding:
    11px
    11px !important;

  border-bottom:
    1px solid
    var(--border) !important;

  color:
    var(--text) !important;

  font-size:
    10px !important;

  font-weight:
    800 !important;
}


/* =========================================================
   DIVISIONES VERTICALES TABLA
   ========================================================= */

#pageProductos
.products-table th:not(:last-child),
#pageProductos
.products-table td:not(:last-child) {
  border-right:
    1px solid
    var(--border-soft);
}


/* =========================================================
   HOVER FILA
   ========================================================= */

#pageProductos
.products-table tbody tr:hover td {
  background:
    color-mix(
      in srgb,
      var(--surface-3) 90%,
      transparent
    ) !important;
}


/* =========================================================
   SKU
   ========================================================= */

#pageProductos
.product-sku {
  min-height:
    26px !important;

  border-color:
    var(--border-strong) !important;

  color:
    var(--text) !important;

  font-size:
    9px !important;

  font-weight:
    950 !important;
}


/* =========================================================
   NOMBRE
   ========================================================= */

#pageProductos
.product-name-cell strong {
  color:
    var(--text) !important;

  font-size:
    11px !important;

  font-weight:
    950 !important;
}


/* =========================================================
   CATEGORÍA
   ========================================================= */

#pageProductos
.product-category-badge {
  min-height:
    26px !important;

  font-size:
    9px !important;

  font-weight:
    900 !important;
}


/* =========================================================
   PRECIOS
   ========================================================= */

#pageProductos
.money-column {
  color:
    var(--text) !important;

  font-size:
    10px !important;

  font-weight:
    850 !important;
}


#pageProductos
.money-column strong {
  color:
    var(--text) !important;

  font-size:
    11px !important;

  font-weight:
    950 !important;
}


/* =========================================================
   IMAGEN
   ========================================================= */

#pageProductos
.catalog-image,
#pageProductos
.catalog-image-placeholder {
  border-color:
    var(--border-strong) !important;
}


/* =========================================================
   ACCIONES
   ========================================================= */

#pageProductos
.products-table
.table-icon-button {
  width:
    31px !important;

  height:
    31px !important;

  border-color:
    var(--border-strong) !important;
}


/* =========================================================
   LOADING / EMPTY
   ========================================================= */

#pageProductos
.products-loading {
  color:
    var(--text-2) !important;

  font-size:
    11px !important;

  font-weight:
    800 !important;
}


#pageProductos
.products-empty {
  color:
    var(--text-2) !important;

  font-size:
    11px !important;

  font-weight:
    800 !important;
}


#pageProductos
.products-empty strong {
  color:
    var(--text) !important;

  font-size:
    12px !important;

  font-weight:
    950 !important;
}


#pageProductos
.products-empty span {
  color:
    var(--text-2) !important;

  font-size:
    10px !important;

  font-weight:
    750 !important;
}


/* =========================================================
   MODAL BORDE
   ========================================================= */

#pageProductos
.product-modal-card {
  border:
    1px solid
    var(--border-strong) !important;
}


/* =========================================================
   MODAL HEADER
   ========================================================= */

#pageProductos
.product-modal-header {
  border-bottom:
    1px solid
    var(--border-strong) !important;
}


#pageProductos
.product-modal-header h2 {
  color:
    var(--text) !important;

  font-size:
    21px !important;

  font-weight:
    950 !important;
}


#pageProductos
.product-modal-header
.section-kicker {
  font-size:
    9px !important;

  font-weight:
    900 !important;
}


/* =========================================================
   PREVIEW
   ========================================================= */

#pageProductos
.product-image-preview {
  border-color:
    var(--border-strong) !important;

  color:
    var(--text-2) !important;

  font-size:
    10px !important;

  font-weight:
    800 !important;
}


/* =========================================================
   LABELS MODAL
   ========================================================= */

#pageProductos
.product-modal-body
.field > span {
  color:
    var(--text) !important;

  font-size:
    11px !important;

  font-weight:
    900 !important;
}


/* =========================================================
   INPUTS MODAL
   ========================================================= */

#pageProductos
.product-modal-body
.field > input,
#pageProductos
.product-modal-body
.input-shell,
#pageProductos
.product-modal-body
.money-field {
  border-color:
    var(--border-strong) !important;
}


#pageProductos
.product-modal-body
.field > input,
#pageProductos
.product-modal-body
.input-shell input,
#pageProductos
.product-modal-body
.money-field input {
  color:
    var(--text) !important;

  font-size:
    12px !important;

  font-weight:
    900 !important;
}


#pageProductos
.product-modal-body
input::placeholder {
  color:
    var(--muted) !important;

  font-weight:
    750 !important;

  opacity: 1;
}


/* =========================================================
   MONEDA MODAL
   ========================================================= */

#pageProductos
.product-modal-body
.money-field .currency {
  color:
    var(--text-2) !important;

  font-size:
    11px !important;

  font-weight:
    950 !important;
}


#pageProductos
.product-modal-body
.money-field input {
  font-weight:
    950 !important;
}


/* =========================================================
   FOOTER MODAL
   ========================================================= */

#pageProductos
.product-modal-footer {
  border-top:
    1px solid
    var(--border-strong) !important;
}


#pageProductos
.product-modal-footer
.secondary-button,
#pageProductos
.product-modal-footer
.primary-button {
  font-size:
    11px !important;

  font-weight:
    900 !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (
  max-width: 700px
) {
  #pageProductos
  .products-table th {
    font-size:
      9px !important;
  }

  #pageProductos
  .products-table td {
    font-size:
      10px !important;
  }

  #pageProductos
  .product-modal-body
  .field > span {
    font-size:
      11px !important;
  }

  #pageProductos
  .product-modal-body
  input {
    font-size:
      12px !important;
  }
}