/* =========================================================
   WIRTZ HUB · OPERACIONES · PUBLICACIONES
   CSS COMPLETO CORREGIDO

   - Vista previa sin superposiciones
   - Descripción debajo de galería e información
   - Galería con cambio de imagen por miniaturas
   - Modal amplio y centrado
   - Tabla operativa
   - Modo claro y oscuro
   - Responsive
   ========================================================= */

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

:root {
  --pub-bg: #f5f6f8;
  --pub-surface: #ffffff;
  --pub-surface-soft: #f8f9fb;
  --pub-surface-muted: #f1f3f5;
  --pub-surface-hover: #f6f7f9;

  --pub-text: #111827;
  --pub-text-soft: #374151;
  --pub-muted: #6b7280;
  --pub-muted-strong: #4b5563;

  --pub-border: rgba(15, 23, 42, 0.11);
  --pub-border-soft: rgba(15, 23, 42, 0.07);
  --pub-border-strong: rgba(15, 23, 42, 0.22);

  --pub-primary: #111827;
  --pub-primary-hover: #030712;
  --pub-primary-text: #ffffff;

  --pub-success: #15803d;
  --pub-success-soft: rgba(21, 128, 61, 0.08);
  --pub-success-border: rgba(21, 128, 61, 0.22);

  --pub-warning: #b45309;
  --pub-warning-soft: rgba(180, 83, 9, 0.08);
  --pub-warning-border: rgba(180, 83, 9, 0.22);

  --pub-danger: #b91c1c;
  --pub-danger-soft: rgba(185, 28, 28, 0.08);
  --pub-danger-border: rgba(185, 28, 28, 0.22);

  --pub-info: #2563eb;
  --pub-info-soft: rgba(37, 99, 235, 0.08);
  --pub-info-border: rgba(37, 99, 235, 0.22);

  --pub-radius-sm: 8px;
  --pub-radius-md: 10px;
  --pub-radius-lg: 12px;
  --pub-radius-xl: 14px;

  --pub-shadow: 0 1px 2px rgba(15, 23, 42, 0.025);
  --pub-modal-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);

  --pub-transition: 160ms ease;

  --pub-font:
    "ATF Franklin Gothic",
    "Franklin Gothic Medium",
    "Arial Narrow",
    Arial,
    sans-serif;
}

html[data-theme="dark"] {
  --pub-bg: #050505;
  --pub-surface: #0a0a0a;
  --pub-surface-soft: #0f0f0f;
  --pub-surface-muted: #151515;
  --pub-surface-hover: #121212;

  --pub-text: #f8fafc;
  --pub-text-soft: rgba(255, 255, 255, 0.76);
  --pub-muted: rgba(255, 255, 255, 0.46);
  --pub-muted-strong: rgba(255, 255, 255, 0.62);

  --pub-border: rgba(255, 255, 255, 0.11);
  --pub-border-soft: rgba(255, 255, 255, 0.07);
  --pub-border-strong: rgba(255, 255, 255, 0.23);

  --pub-primary: rgba(255, 255, 255, 0.92);
  --pub-primary-hover: #ffffff;
  --pub-primary-text: #090909;

  --pub-success: #86efac;
  --pub-success-soft: rgba(134, 239, 172, 0.08);
  --pub-success-border: rgba(134, 239, 172, 0.22);

  --pub-warning: #fdba74;
  --pub-warning-soft: rgba(253, 186, 116, 0.08);
  --pub-warning-border: rgba(253, 186, 116, 0.22);

  --pub-danger: #fca5a5;
  --pub-danger-soft: rgba(252, 165, 165, 0.08);
  --pub-danger-border: rgba(252, 165, 165, 0.22);

  --pub-info: #93c5fd;
  --pub-info-soft: rgba(147, 197, 253, 0.08);
  --pub-info-border: rgba(147, 197, 253, 0.22);

  --pub-shadow: 0 1px 2px rgba(0, 0, 0, 0.24);
  --pub-modal-shadow: 0 28px 90px rgba(0, 0, 0, 0.66);
}

/* =========================================================
   BASE
   ========================================================= */

.publicaciones-page {
  display: grid;
  grid-auto-rows: max-content;
  align-content: start;
  gap: 8px;

  width: 100%;
  max-width: 100%;
  min-width: 0;

  min-height:
    calc(
      100vh -
      var(--topbar-height, 56px) -
      44px
    );

  color: var(--pub-text);
  font-family: var(--pub-font);

  overflow-x: hidden;

  animation: publicacionesPageIn 180ms ease both;
}

.publicaciones-page *,
.publicaciones-page *::before,
.publicaciones-page *::after,
.publicaciones-modal *,
.publicaciones-modal *::before,
.publicaciones-modal *::after,
.publicaciones-toast,
.publicaciones-toast::before,
.publicaciones-toast::after {
  box-sizing: border-box;
  font-family: var(--pub-font) !important;
}

.publicaciones-page button,
.publicaciones-page input,
.publicaciones-page select,
.publicaciones-page textarea,
.publicaciones-modal button,
.publicaciones-modal input,
.publicaciones-modal select,
.publicaciones-modal textarea {
  font: inherit;
}

.publicaciones-page svg,
.publicaciones-modal svg {
  display: block;
  flex: 0 0 auto;
}

.publicaciones-page .icon,
.publicaciones-modal .icon {
  display: block;

  width: 13px;
  height: 13px;
  min-width: 13px;
  min-height: 13px;

  margin: 0;

  color: currentColor;
  stroke: currentColor;
  stroke-width: 2.15;

  pointer-events: none;
}

/* =========================================================
   BLOQUES PRINCIPALES
   ========================================================= */

.publicaciones-head,
.publicaciones-metrics,
.publicaciones-panel {
  width: 100%;
  min-width: 0;

  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-xl);

  background: var(--pub-surface);

  box-shadow: var(--pub-shadow);

  overflow: hidden;
}

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

.publicaciones-head {
  display: grid;
  grid-template-columns:
    minmax(280px, 1fr)
    auto;
  align-items: center;
  gap: 14px;

  min-height: 66px;

  padding: 10px 12px;
}

.publicaciones-brand {
  display: flex;
  align-items: center;
  gap: 10px;

  min-width: 0;
}

.publicaciones-brand__icon {
  display: grid;
  place-items: center;

  flex: 0 0 34px;

  width: 34px;
  height: 34px;

  border: 1px solid var(--pub-border);
  border-radius: 10px;

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

  color: var(--pub-text);
}

.publicaciones-brand__icon .icon,
.publicaciones-brand__icon svg {
  width: 16px;
  height: 16px;
}

.publicaciones-brand > div {
  min-width: 0;
}

.publicaciones-brand h2 {
  margin: 0;

  color: var(--pub-text);

  font-size: 17px;
  font-weight: 950;
  line-height: 1;
  letter-spacing: -0.04em;
}

.publicaciones-brand p {
  max-width: 850px;

  margin: 4px 0 0;

  color: var(--pub-muted);

  font-size: 9.5px;
  font-weight: 760;
  line-height: 1.35;
}

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

.publicaciones-actions,
.publicaciones-filters,
.publicaciones-row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;

  min-width: 0;

  flex-wrap: wrap;
}

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

.publicaciones-btn,
.publicaciones-row-btn,
.publicaciones-modal-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;

  min-height: 32px;

  padding: 0 10px;

  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-sm);

  background: var(--pub-surface);

  color: var(--pub-text);

  font-size: 9px;
  font-weight: 900;
  line-height: 1;

  white-space: nowrap;
  text-decoration: none;

  cursor: pointer;
  outline: none;

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

.publicaciones-btn:hover:not(:disabled),
.publicaciones-row-btn:hover:not(:disabled),
.publicaciones-modal-close:hover:not(:disabled) {
  border-color: var(--pub-border-strong);
  background: var(--pub-surface-muted);
}

.publicaciones-btn:active:not(:disabled),
.publicaciones-row-btn:active:not(:disabled),
.publicaciones-modal-close:active:not(:disabled) {
  transform: translateY(1px);
}

.publicaciones-btn:disabled,
.publicaciones-row-btn:disabled,
.publicaciones-modal-close:disabled {
  opacity: 0.42;
  cursor: not-allowed;
  transform: none;
}

.publicaciones-btn--dark,
.publicaciones-row-btn--dark {
  border-color: var(--pub-primary);
  background: var(--pub-primary);
  color: var(--pub-primary-text);
}

.publicaciones-btn--dark:hover:not(:disabled),
.publicaciones-row-btn--dark:hover:not(:disabled) {
  border-color: var(--pub-primary-hover);
  background: var(--pub-primary-hover);
  color: var(--pub-primary-text);
}

.publicaciones-row-btn--danger {
  border-color: var(--pub-danger-border);
  background: var(--pub-danger-soft);
  color: var(--pub-danger);
}

.publicaciones-row-btn--danger:hover:not(:disabled) {
  border-color: var(--pub-danger);
  background: var(--pub-danger-soft);
  color: var(--pub-danger);
}

.publicaciones-modal-close {
  flex: 0 0 30px;

  width: 30px;
  min-width: 30px;
  max-width: 30px;

  height: 30px;
  min-height: 30px;
  max-height: 30px;

  padding: 0;
}

/* =========================================================
   MÉTRICAS
   ========================================================= */

.publicaciones-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.publicaciones-metric {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    auto;
  grid-template-rows:
    auto
    auto;
  align-items: center;
  gap: 4px 10px;

  min-width: 0;
  min-height: 62px;

  padding: 10px 12px;

  border-right: 1px solid var(--pub-border-soft);
}

.publicaciones-metric:last-child {
  border-right: 0;
}

.publicaciones-metric span {
  grid-column: 1;
  grid-row: 1;

  color: var(--pub-muted);

  font-size: 7.5px;
  font-weight: 950;
  letter-spacing: 0.08em;
  line-height: 1;

  text-transform: uppercase;

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.publicaciones-metric strong {
  grid-column: 2;
  grid-row: 1 / 3;

  color: var(--pub-text);

  font-size: 20px;
  font-weight: 950;
  line-height: 1;
  letter-spacing: -0.05em;

  font-variant-numeric: tabular-nums;

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.publicaciones-metric strong.is-money {
  font-size: 14px;
}

.publicaciones-metric small {
  grid-column: 1;
  grid-row: 2;

  color: var(--pub-muted-strong);

  font-size: 8.2px;
  font-weight: 760;
  line-height: 1.1;

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.publicaciones-metric:nth-child(2) strong {
  color: var(--pub-success);
}

.publicaciones-metric:nth-child(3) strong {
  color: var(--pub-warning);
}

.publicaciones-metric:nth-child(4) strong {
  color: var(--pub-info);
}

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

.publicaciones-panel {
  display: grid;
  grid-template-rows:
    auto
    minmax(0, 1fr);

  min-width: 0;
  min-height: 0;
}

/* =========================================================
   TOOLBAR
   ========================================================= */

.publicaciones-toolbar {
  display: grid;
  grid-template-columns:
    minmax(170px, 0.2fr)
    minmax(0, 1fr);
  align-items: center;
  gap: 12px;

  min-width: 0;

  padding: 10px 12px;

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

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

.publicaciones-title {
  display: grid;
  gap: 4px;

  min-width: 0;
}

.publicaciones-title span {
  color: var(--pub-muted);

  font-size: 7.5px;
  font-weight: 950;
  letter-spacing: 0.085em;
  line-height: 1;

  text-transform: uppercase;
}

.publicaciones-title strong {
  color: var(--pub-text);

  font-size: 12.5px;
  font-weight: 950;
  line-height: 1.1;
  letter-spacing: -0.025em;
}

.publicaciones-filters {
  flex-wrap: nowrap;
}

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

.publicaciones-search {
  position: relative;

  display: flex;
  align-items: center;

  flex: 1 1 340px;

  width: min(500px, 100%);
  min-width: 230px;
  height: 34px;

  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-sm);

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

  color: var(--pub-text);

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

.publicaciones-search:hover,
.publicaciones-search:focus-within {
  border-color: var(--pub-border-strong);
  background: var(--pub-surface);
}

.publicaciones-search .icon,
.publicaciones-search svg {
  position: absolute;
  top: 50%;
  left: 10px;

  width: 13px;
  height: 13px;

  color: var(--pub-muted);

  transform: translateY(-50%);

  pointer-events: none;
}

.publicaciones-search input {
  width: 100%;
  min-width: 0;
  height: 32px;

  padding: 0 10px 0 31px;

  border: 0;

  background: transparent;

  color: var(--pub-text);

  font-size: 9.5px;
  font-weight: 820;

  outline: none;
}

.publicaciones-search input::placeholder {
  color: var(--pub-muted);
  opacity: 0.74;
}

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

.publicaciones-filters select {
  flex: 0 0 125px;

  width: 125px;
  min-width: 125px;
  height: 34px;

  padding: 0 28px 0 10px;

  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-sm);

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

  color: var(--pub-text);

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

  outline: none;
  cursor: pointer;

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

.publicaciones-filters select:hover,
.publicaciones-filters select:focus {
  border-color: var(--pub-border-strong);
  background: var(--pub-surface);
}

.publicaciones-filters .publicaciones-btn {
  flex: 0 0 auto;
}

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

.publicaciones-table-wrap {
  position: relative;

  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 340px;
  max-height: calc(100vh - 280px);

  overflow-x: auto;
  overflow-y: auto;

  scrollbar-width: thin;
  scrollbar-color:
    rgba(100, 116, 139, 0.3)
    transparent;
}

.publicaciones-table-wrap::-webkit-scrollbar,
.publicaciones-modal-body::-webkit-scrollbar,
.publicaciones-ml-preview::-webkit-scrollbar,
.publicaciones-ml-thumbs::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.publicaciones-table-wrap::-webkit-scrollbar-track,
.publicaciones-modal-body::-webkit-scrollbar-track,
.publicaciones-ml-preview::-webkit-scrollbar-track,
.publicaciones-ml-thumbs::-webkit-scrollbar-track {
  background: transparent;
}

.publicaciones-table-wrap::-webkit-scrollbar-thumb,
.publicaciones-modal-body::-webkit-scrollbar-thumb,
.publicaciones-ml-preview::-webkit-scrollbar-thumb,
.publicaciones-ml-thumbs::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;

  background: rgba(100, 116, 139, 0.3);
  background-clip: content-box;
}

.publicaciones-table {
  width: 100%;
  min-width: 1200px;

  border-collapse: separate;
  border-spacing: 0;

  table-layout: fixed;

  color: var(--pub-text);
}

.publicaciones-table th,
.publicaciones-table td {
  min-width: 0;

  padding: 0 9px;

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

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

  text-align: left;
  vertical-align: middle;

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.publicaciones-table th:last-child,
.publicaciones-table td:last-child {
  border-right: 0;
}

.publicaciones-table th {
  position: sticky;
  top: 0;
  z-index: 4;

  height: 36px;

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

  color: var(--pub-muted);

  font-size: 7.2px;
  font-weight: 950;
  letter-spacing: 0.075em;
  line-height: 1;

  text-transform: uppercase;
}

.publicaciones-table td {
  height: 56px;

  background: var(--pub-surface);

  font-size: 9px;
  font-weight: 780;
  line-height: 1.2;
}

.publicaciones-table tbody tr:last-child td {
  border-bottom: 0;
}

.publicaciones-table tbody tr:hover td {
  background: var(--pub-surface-hover);
}

.publicaciones-table th:nth-child(1),
.publicaciones-table td:nth-child(1) {
  width: 58px;
  text-align: center;
}

.publicaciones-table th:nth-child(2),
.publicaciones-table td:nth-child(2) {
  width: 130px;
}

.publicaciones-table th:nth-child(3),
.publicaciones-table td:nth-child(3) {
  width: 110px;
}

.publicaciones-table th:nth-child(4),
.publicaciones-table td:nth-child(4) {
  width: 265px;
}

.publicaciones-table th:nth-child(5),
.publicaciones-table td:nth-child(5) {
  width: 105px;
  text-align: center;
}

.publicaciones-table th:nth-child(6),
.publicaciones-table td:nth-child(6) {
  width: 105px;
  text-align: right;
}

.publicaciones-table th:nth-child(7),
.publicaciones-table td:nth-child(7) {
  width: 105px;
  text-align: center;
}

.publicaciones-table th:nth-child(8),
.publicaciones-table td:nth-child(8),
.publicaciones-table th:nth-child(9),
.publicaciones-table td:nth-child(9) {
  width: 125px;
}

.publicaciones-table th:nth-child(10),
.publicaciones-table td:nth-child(10) {
  position: sticky;
  right: 0;
  z-index: 3;

  width: 210px;
  min-width: 210px;
  max-width: 210px;

  padding: 0 7px;

  background: var(--pub-surface);

  text-align: center;

  box-shadow: -1px 0 0 var(--pub-border-soft);
}

.publicaciones-table th:nth-child(10) {
  z-index: 6;
  background: var(--pub-surface-soft);
}

.publicaciones-table tbody tr:hover td:nth-child(10) {
  background: var(--pub-surface-hover);
}

/* =========================================================
   CONTENIDO TABLA
   ========================================================= */

.publicaciones-table strong {
  display: block;

  max-width: 100%;

  color: var(--pub-text);

  font-size: 9.7px;
  font-weight: 950;
  line-height: 1.1;

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.publicaciones-table small {
  display: block;

  max-width: 100%;

  margin-top: 4px;

  color: var(--pub-muted);

  font-size: 7.7px;
  font-weight: 760;
  line-height: 1.1;

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* =========================================================
   FOTO TABLA
   ========================================================= */

.publicaciones-thumb {
  display: inline-block;

  width: 36px;
  height: 36px;

  border: 1px solid var(--pub-border);
  border-radius: 9px;

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

  object-fit: cover;
  vertical-align: middle;
}

.publicaciones-thumb--empty {
  display: inline-grid;
  place-items: center;

  color: var(--pub-muted);
}

.publicaciones-thumb--empty .icon,
.publicaciones-thumb--empty svg {
  width: 15px;
  height: 15px;
}

/* =========================================================
   LINK
   ========================================================= */

.publicaciones-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 24px;
  max-width: 100%;

  padding: 4px 8px;

  border: 1px solid var(--pub-info-border);
  border-radius: 999px;

  background: var(--pub-info-soft);

  color: var(--pub-info);

  font-size: 8px;
  font-weight: 950;
  line-height: 1;

  text-decoration: none;

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;

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

.publicaciones-link:hover {
  border-color: var(--pub-info);
  background: var(--pub-info-soft);
}

/* =========================================================
   ESTADOS
   ========================================================= */

.publicaciones-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  max-width: 100%;
  min-height: 22px;

  padding: 4px 8px;

  border: 1px solid var(--pub-border);
  border-radius: 999px;

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

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

  font-size: 7.7px;
  font-weight: 950;
  line-height: 1;

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.publicaciones-status--activa {
  border-color: var(--pub-success-border);
  background: var(--pub-success-soft);
  color: var(--pub-success);
}

.publicaciones-status--pausada {
  border-color: var(--pub-warning-border);
  background: var(--pub-warning-soft);
  color: var(--pub-warning);
}

.publicaciones-status--finalizada {
  border-color: var(--pub-info-border);
  background: var(--pub-info-soft);
  color: var(--pub-info);
}

.publicaciones-status--eliminada {
  border-color: var(--pub-danger-border);
  background: var(--pub-danger-soft);
  color: var(--pub-danger);
}

/* =========================================================
   ACCIONES DE FILA
   ========================================================= */

.publicaciones-row-actions {
  display: grid !important;
  grid-template-columns:
    40px
    minmax(74px, 1fr)
    minmax(64px, 1fr) !important;
  align-items: center !important;
  justify-content: stretch !important;
  gap: 5px !important;

  width: 100% !important;
  max-width: 100% !important;

  overflow: visible !important;
}

.publicaciones-row-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;

  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;

  min-height: 30px !important;
  height: 30px !important;

  padding: 0 8px !important;

  font-size: 8px !important;

  overflow: visible !important;
}

.publicaciones-row-btn .icon,
.publicaciones-row-btn svg {
  width: 11px !important;
  height: 11px !important;
  min-width: 11px !important;
}

.publicaciones-row-btn span {
  display: inline !important;

  min-width: 0 !important;

  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

.publicaciones-row-btn--danger {
  padding: 0 !important;
}

.publicaciones-row-btn--danger span {
  display: none !important;
}

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

.publicaciones-mobile-list {
  display: none;
}

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

.publicaciones-modal {
  position: fixed;
  inset: 0;
  z-index: 99990;

  display: none;
  place-items: center;

  padding: 14px;

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

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

.publicaciones-modal.is-open {
  display: grid;

  animation: publicacionesBackdropIn 160ms ease both;
}

#publicacionesFormModalMount,
#publicacionesPreviewModalMount {
  display: grid;
  place-items: center;

  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
}

.publicaciones-modal-card,
.publicaciones-preview-card {
  display: grid;
  grid-template-rows:
    auto
    minmax(0, 1fr)
    auto;

  width:
    min(
      1040px,
      calc(100vw - 28px)
    );

  height:
    min(
      790px,
      calc(100vh - 28px)
    );

  min-width: 0;
  min-height: 0;

  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-xl);

  background: var(--pub-surface);

  color: var(--pub-text);

  box-shadow: var(--pub-modal-shadow);

  overflow: hidden;

  animation: publicacionesModalIn 180ms ease both;
}

.publicaciones-preview-card {
  grid-template-rows:
    auto
    minmax(0, 1fr);

  width:
    min(
      1220px,
      calc(100vw - 28px)
    );

  height:
    min(
      820px,
      calc(100vh - 28px)
    );
}

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

.publicaciones-modal-head,
.publicaciones-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;

  min-height: 62px;

  padding: 10px 12px;

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

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

.publicaciones-modal-title {
  display: flex;
  align-items: center;
  gap: 10px;

  min-width: 0;
}

.publicaciones-modal-icon {
  display: grid;
  place-items: center;

  flex: 0 0 34px;

  width: 34px;
  height: 34px;

  border: 1px solid var(--pub-border);
  border-radius: 10px;

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

  color: var(--pub-text);
}

.publicaciones-modal-icon .icon,
.publicaciones-modal-icon svg {
  width: 15px;
  height: 15px;
}

.publicaciones-modal-title > div,
.publicaciones-preview-head > div {
  min-width: 0;
}

.publicaciones-modal-title span,
.publicaciones-preview-head span {
  display: block;

  color: var(--pub-muted);

  font-size: 7.5px;
  font-weight: 950;
  letter-spacing: 0.085em;
  line-height: 1;

  text-transform: uppercase;
}

.publicaciones-modal-title h3,
.publicaciones-preview-head strong {
  display: block;

  margin: 4px 0 0;

  color: var(--pub-text);

  font-size: 15px;
  font-weight: 950;
  line-height: 1;
  letter-spacing: -0.035em;

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.publicaciones-modal-title p {
  max-width: 760px;

  margin: 4px 0 0;

  color: var(--pub-muted);

  font-size: 8.8px;
  font-weight: 760;
  line-height: 1.25;

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

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

.publicaciones-modal-body {
  display: grid;
  align-content: start;
  gap: 10px;

  min-width: 0;
  min-height: 0;

  padding: 10px;

  background: var(--pub-bg);

  overflow-x: hidden;
  overflow-y: auto;

  scrollbar-width: thin;
}

.publicaciones-modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;

  min-height: 54px;

  padding: 9px 12px;

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

  background: var(--pub-surface);

  flex-wrap: wrap;
}

/* =========================================================
   FORMULARIO
   ========================================================= */

.publicaciones-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  min-width: 0;

  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-lg);

  background: var(--pub-surface);

  overflow: hidden;
}

.publicaciones-field {
  display: grid;
  align-content: center;
  gap: 6px;

  min-width: 0;
  min-height: 72px;

  padding: 10px 11px;

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

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

.publicaciones-field:nth-child(4n) {
  border-right: 0;
}

.publicaciones-field--wide {
  grid-column: span 2;
}

.publicaciones-field--full {
  grid-column: 1 / -1;
  border-right: 0;
}

.publicaciones-field span {
  color: var(--pub-muted);

  font-size: 7.5px;
  font-weight: 950;
  letter-spacing: 0.08em;
  line-height: 1;

  text-transform: uppercase;
}

.publicaciones-field input,
.publicaciones-field select,
.publicaciones-field textarea {
  width: 100%;
  min-width: 0;

  border: 0;

  background: transparent;

  color: var(--pub-text);

  font-size: 10px;
  font-weight: 800;
  line-height: 1.4;

  outline: none;
}

.publicaciones-field select {
  cursor: pointer;
}

.publicaciones-field textarea {
  min-height: 105px;
  resize: vertical;
}

.publicaciones-field input::placeholder,
.publicaciones-field textarea::placeholder {
  color: var(--pub-muted);
  opacity: 0.68;
}

.publicaciones-field input:disabled {
  color: var(--pub-muted);
  cursor: not-allowed;
  opacity: 0.7;
}

.publicaciones-field:focus-within {
  background: var(--pub-surface-soft);
}

/* =========================================================
   FOTOS ACTUALES
   ========================================================= */

.publicaciones-current-photos {
  display: grid;
  gap: 10px;

  min-width: 0;

  padding: 11px;

  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-lg);

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

.publicaciones-current-photos header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.publicaciones-current-photos strong {
  color: var(--pub-text);

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

.publicaciones-current-photos span,
.publicaciones-current-photos small {
  color: var(--pub-muted);

  font-size: 8.5px;
  font-weight: 760;
}

.publicaciones-current-photos > div {
  display: grid;
  grid-template-columns:
    repeat(
      auto-fill,
      minmax(90px, 1fr)
    );
  gap: 8px;

  min-width: 0;
}

.publicaciones-current-photos article {
  position: relative;

  min-width: 0;

  overflow: hidden;

  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-md);

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

.publicaciones-current-photos img {
  display: block;

  width: 100%;
  aspect-ratio: 1 / 1;

  object-fit: cover;
}

.publicaciones-current-photos article > span {
  display: grid;
  place-items: center;

  width: 100%;
  aspect-ratio: 1 / 1;

  color: var(--pub-muted);
}

.publicaciones-current-photos button {
  position: absolute;
  top: 6px;
  right: 6px;

  display: grid;
  place-items: center;

  width: 28px;
  height: 28px;

  padding: 0;

  border: 1px solid var(--pub-danger-border);
  border-radius: 8px;

  background: var(--pub-danger);

  color: #ffffff;

  cursor: pointer;
}

.publicaciones-current-photos button:hover {
  background: #991b1b;
}

/* =========================================================
   VISTA PREVIA MERCADO LIBRE
   ========================================================= */

.publicaciones-ml-preview {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(320px, 390px);
  grid-template-rows:
    auto
    auto;
  grid-template-areas:
    "gallery info"
    "description description";
  align-items: start;

  width: 100%;
  min-width: 0;
  min-height: 0;

  background: #ffffff;

  overflow-x: hidden;
  overflow-y: auto;

  scrollbar-width: thin;
}

html[data-theme="dark"] .publicaciones-ml-preview {
  background: #101010;
}

/* =========================================================
   GALERÍA
   ========================================================= */

.publicaciones-ml-gallery {
  grid-area: gallery;

  display: grid;
  grid-template-columns:
    66px
    minmax(0, 1fr);
  align-items: start;
  gap: 14px;

  width: 100%;
  min-width: 0;
  min-height: 560px;

  padding: 18px;

  border-right: 1px solid #ededed;
  border-bottom: 1px solid #ededed;

  background: #ffffff;

  overflow: hidden;
}

.publicaciones-ml-thumbs {
  display: flex;
  flex-direction: column;
  gap: 8px;

  min-width: 0;
  max-height: 520px;

  overflow-x: hidden;
  overflow-y: auto;

  scrollbar-width: thin;
}

.publicaciones-ml-thumb-btn {
  display: grid;
  place-items: center;

  flex: 0 0 56px;

  width: 56px;
  height: 56px;

  padding: 0;

  border: 1px solid #d8d8d8;
  border-radius: 8px;

  background: #ffffff;

  cursor: pointer;

  overflow: hidden;

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

.publicaciones-ml-thumb-btn:hover {
  border-color: #999999;
}

.publicaciones-ml-thumb-btn:active {
  transform: scale(0.97);
}

.publicaciones-ml-thumb-btn.is-active {
  border-color: #3483fa;

  box-shadow:
    inset 0 0 0 1px #3483fa;
}

.publicaciones-ml-thumb-btn img,
.publicaciones-ml-thumb-btn span,
.publicaciones-ml-thumbs > span {
  display: grid;
  place-items: center;

  width: 56px;
  height: 56px;

  object-fit: cover;
}

.publicaciones-ml-main-photo {
  display: grid;
  place-items: center;

  width: 100%;
  min-width: 0;
  min-height: 520px;

  padding: 10px;

  overflow: hidden;
}

.publicaciones-ml-main-photo img {
  display: block;

  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 500px;

  object-fit: contain;
  object-position: center;

  user-select: none;

  transition:
    opacity var(--pub-transition),
    transform var(--pub-transition);
}

.publicaciones-ml-main-photo img:hover {
  transform: scale(1.015);
}

.publicaciones-ml-main-photo span {
  display: grid;
  place-items: center;

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

  border: 1px dashed #d5d5d5;
  border-radius: 12px;

  color: #777777;
}

/* =========================================================
   INFORMACIÓN ML
   ========================================================= */

.publicaciones-ml-info {
  grid-area: info;

  width: 100%;
  min-width: 0;
  min-height: 560px;

  padding: 22px 20px;

  border-bottom: 1px solid #ededed;

  background: #ffffff;

  overflow: hidden;
}

.publicaciones-ml-topline {
  display: flex;
  align-items: center;
  gap: 7px;

  flex-wrap: wrap;

  color: #666666;

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

.publicaciones-ml-topline span {
  display: inline-flex;
  align-items: center;

  min-height: 22px;

  padding: 3px 7px;

  border: 1px solid #e2e2e2;
  border-radius: 999px;

  background: #f8f8f8;
}

.publicaciones-ml-info h2 {
  margin: 13px 0 15px;

  color: #333333;

  font-size: 23px;
  font-weight: 500;
  line-height: 1.18;

  overflow-wrap: anywhere;
}

.publicaciones-ml-price {
  margin-bottom: 15px;

  color: #333333;

  font-size: 35px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -0.045em;
}

.publicaciones-ml-payment {
  display: grid;
  gap: 4px;

  margin-bottom: 13px;

  color: #00a650;
}

.publicaciones-ml-payment strong {
  font-size: 14px;
  font-weight: 600;
}

.publicaciones-ml-payment span {
  color: #3483fa;

  font-size: 12px;
}

.publicaciones-ml-shipping {
  display: grid;
  grid-template-columns:
    22px
    minmax(0, 1fr);
  gap: 9px;

  margin: 16px 0;

  color: #00a650;
}

.publicaciones-ml-shipping .icon,
.publicaciones-ml-shipping svg {
  width: 19px;
  height: 19px;
}

.publicaciones-ml-shipping strong {
  display: block;

  font-size: 15px;
  font-weight: 600;
}

.publicaciones-ml-shipping span {
  color: #666666;

  font-size: 12px;
}

.publicaciones-ml-actions {
  display: grid;
  gap: 8px;

  margin-top: 18px;
}

.publicaciones-ml-actions button {
  min-height: 42px;

  border: 0;
  border-radius: 8px;

  background: #3483fa;

  color: #ffffff;

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

  cursor: default;
}

.publicaciones-ml-actions button:last-child {
  background: rgba(65, 137, 230, 0.15);
  color: #3483fa;
}

.publicaciones-ml-dates {
  display: grid;
  gap: 6px;

  margin-top: 18px;
  padding-top: 14px;

  border-top: 1px solid #ededed;

  color: #666666;

  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;

  overflow-wrap: anywhere;
}

/* =========================================================
   DESCRIPCIÓN ML
   ========================================================= */

.publicaciones-ml-description {
  grid-area: description;

  position: relative;
  z-index: 1;

  display: block;

  width: 100%;
  min-width: 0;

  padding: 28px 30px 36px;

  border-top: 0;

  background: #ffffff;

  overflow: hidden;
}

.publicaciones-ml-description h3 {
  display: block;

  margin: 0 0 16px;

  color: #333333;

  font-size: 22px;
  font-weight: 500;
  line-height: 1.2;
}

.publicaciones-ml-description p {
  display: block;

  width: 100%;
  max-width: 900px;

  margin: 0;

  color: #555555;

  font-size: 14px;
  font-weight: 400;
  line-height: 1.65;

  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: normal;
}

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

html[data-theme="dark"] .publicaciones-ml-gallery,
html[data-theme="dark"] .publicaciones-ml-info,
html[data-theme="dark"] .publicaciones-ml-description {
  background: #101010;
  border-color: rgba(255, 255, 255, 0.12);
}

html[data-theme="dark"] .publicaciones-ml-thumb-btn {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.045);
}

html[data-theme="dark"] .publicaciones-ml-thumb-btn.is-active {
  border-color: #60a5fa;
  box-shadow: inset 0 0 0 1px #60a5fa;
}

html[data-theme="dark"] .publicaciones-ml-main-photo span {
  border-color: rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.5);
}

html[data-theme="dark"] .publicaciones-ml-topline span {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.05);
}

html[data-theme="dark"] .publicaciones-ml-info h2,
html[data-theme="dark"] .publicaciones-ml-price,
html[data-theme="dark"] .publicaciones-ml-description h3 {
  color: rgba(255, 255, 255, 0.92);
}

html[data-theme="dark"] .publicaciones-ml-description p,
html[data-theme="dark"] .publicaciones-ml-dates,
html[data-theme="dark"] .publicaciones-ml-topline,
html[data-theme="dark"] .publicaciones-ml-shipping span {
  color: rgba(255, 255, 255, 0.62);
}

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

.publicaciones-mobile-card,
.publicaciones-mobile-empty {
  display: grid;
  gap: 9px;

  padding: 10px;

  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-lg);

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

.publicaciones-mobile-empty strong {
  color: var(--pub-text);

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

.publicaciones-mobile-empty span {
  color: var(--pub-muted);

  font-size: 8.5px;
  font-weight: 760;
}

.publicaciones-mobile-card__head {
  display: grid;
  grid-template-columns:
    46px
    minmax(0, 1fr)
    auto;
  align-items: center;
  gap: 9px;

  min-width: 0;
}

.publicaciones-mobile-card__head img,
.publicaciones-mobile-card__head > span:first-child {
  display: grid;
  place-items: center;

  width: 46px;
  height: 46px;

  border: 1px solid var(--pub-border);
  border-radius: 10px;

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

  object-fit: cover;
}

.publicaciones-mobile-card__head > div {
  min-width: 0;
}

.publicaciones-mobile-card__head strong {
  display: block;

  color: var(--pub-text);

  font-size: 10.5px;
  font-weight: 950;

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.publicaciones-mobile-card__head small {
  display: block;

  margin-top: 4px;

  color: var(--pub-muted);

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

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.publicaciones-mobile-card__grid {
  display: grid;

  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-md);

  overflow: hidden;
}

.publicaciones-mobile-card__grid > div {
  display: grid;
  grid-template-columns:
    90px
    minmax(0, 1fr);
  align-items: center;
  gap: 10px;

  min-height: 34px;

  padding: 7px 9px;

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

.publicaciones-mobile-card__grid > div:last-child {
  border-bottom: 0;
}

.publicaciones-mobile-card__grid span {
  color: var(--pub-muted);

  font-size: 7px;
  font-weight: 950;
  letter-spacing: 0.075em;

  text-transform: uppercase;
}

.publicaciones-mobile-card__grid strong {
  color: var(--pub-text);

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

  text-align: right;

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.publicaciones-mobile-card__actions {
  display: grid;
}

.publicaciones-mobile-card__actions .publicaciones-row-actions {
  display: grid !important;
  grid-template-columns:
    repeat(3, minmax(0, 1fr)) !important;
  gap: 6px !important;
}

.publicaciones-mobile-card__actions .publicaciones-row-btn {
  min-height: 34px !important;
  height: 34px !important;

  font-size: 9px !important;
}

.publicaciones-mobile-card__actions .publicaciones-row-btn span {
  display: inline !important;
}

.publicaciones-mobile-card__actions
.publicaciones-row-btn--danger span {
  display: none !important;
}

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

.publicaciones-toast {
  position: fixed;
  right: 16px;
  bottom: 36px;
  z-index: 100100;

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

  padding: 10px 12px;

  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-md);

  background: var(--pub-surface);

  color: var(--pub-text);

  font-size: 9.5px;
  font-weight: 850;
  line-height: 1.35;

  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.14);

  opacity: 0;
  pointer-events: none;

  transform: translateY(8px);

  transition:
    opacity 160ms ease,
    transform 160ms ease;
}

html[data-theme="dark"] .publicaciones-toast {
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.48);
}

.publicaciones-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.publicaciones-toast--error {
  border-color: var(--pub-danger-border);
  color: var(--pub-danger);
}

.publicaciones-toast--success {
  border-color: var(--pub-success-border);
  color: var(--pub-success);
}

/* =========================================================
   RESPONSIVE · 1180
   ========================================================= */

@media (max-width: 1180px) {
  .publicaciones-head {
    grid-template-columns: 1fr;
  }

  .publicaciones-actions {
    justify-content: flex-start;
  }

  .publicaciones-toolbar {
    grid-template-columns: 1fr;
  }

  .publicaciones-filters {
    justify-content: flex-start;

    overflow-x: auto;
    overflow-y: hidden;

    padding-bottom: 2px;
  }

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

  .publicaciones-field:nth-child(4n) {
    border-right: 1px solid var(--pub-border-soft);
  }

  .publicaciones-field:nth-child(2n) {
    border-right: 0;
  }

  .publicaciones-field--full {
    grid-column: 1 / -1;
    border-right: 0;
  }

  .publicaciones-ml-preview {
    grid-template-columns: 1fr;
    grid-template-rows:
      auto
      auto
      auto;
    grid-template-areas:
      "gallery"
      "info"
      "description";
  }

  .publicaciones-ml-gallery {
    min-height: 500px;

    border-right: 0;
    border-bottom: 1px solid #ededed;
  }

  .publicaciones-ml-info {
    min-height: auto;
  }

  .publicaciones-ml-main-photo {
    min-height: 450px;
  }

  .publicaciones-ml-main-photo img {
    max-height: 430px;
  }
}

/* =========================================================
   RESPONSIVE · 900
   ========================================================= */

@media (max-width: 900px) {
  .publicaciones-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .publicaciones-metric {
    border-bottom: 1px solid var(--pub-border-soft);
  }

  .publicaciones-metric:nth-child(3n) {
    border-right: 0;
  }

  .publicaciones-metric:nth-last-child(-n + 2) {
    border-bottom: 0;
  }
}

/* =========================================================
   RESPONSIVE · 760
   ========================================================= */

@media (max-width: 760px) {
  .publicaciones-page {
    gap: 7px;
  }

  .publicaciones-head,
  .publicaciones-metrics,
  .publicaciones-panel {
    border-radius: 12px;
  }

  .publicaciones-head {
    padding: 10px;
  }

  .publicaciones-brand {
    align-items: flex-start;
  }

  .publicaciones-brand p {
    display: none;
  }

  .publicaciones-actions {
    display: grid;
    grid-template-columns: 1fr;

    width: 100%;
  }

  .publicaciones-actions .publicaciones-btn {
    width: 100%;
  }

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

  .publicaciones-metric {
    border-right: 1px solid var(--pub-border-soft);
    border-bottom: 1px solid var(--pub-border-soft);
  }

  .publicaciones-metric:nth-child(2n) {
    border-right: 0;
  }

  .publicaciones-metric:nth-last-child(-n + 2) {
    border-bottom: 1px solid var(--pub-border-soft);
  }

  .publicaciones-metric:last-child {
    border-bottom: 0;
  }

  .publicaciones-toolbar {
    padding: 9px;
  }

  .publicaciones-filters {
    display: grid;
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    overflow: visible;

    width: 100%;
  }

  .publicaciones-search {
    grid-column: 1 / -1;

    width: 100%;
    min-width: 0;
  }

  .publicaciones-filters select,
  .publicaciones-filters .publicaciones-btn {
    width: 100%;
    min-width: 0;
  }

  .publicaciones-table-wrap {
    display: none;
  }

  .publicaciones-mobile-list {
    display: grid;
    gap: 8px;

    padding: 8px;

    background: var(--pub-bg);
  }

  .publicaciones-modal {
    align-items: end;

    padding: 8px;
  }

  #publicacionesFormModalMount,
  #publicacionesPreviewModalMount {
    place-items: end center;
  }

  .publicaciones-modal-card,
  .publicaciones-preview-card {
    width: calc(100vw - 16px);
    height: calc(100dvh - 16px);

    border-radius: 14px;
  }

  .publicaciones-modal-title h3,
  .publicaciones-preview-head strong {
    white-space: normal;
  }

  .publicaciones-modal-title p {
    display: none;
  }

  .publicaciones-modal-body {
    padding: 8px;
  }

  .publicaciones-modal-footer {
    display: grid;
    grid-template-columns: 1fr;

    padding: 8px;
  }

  .publicaciones-modal-footer .publicaciones-btn {
    width: 100%;
  }

  .publicaciones-form-grid {
    grid-template-columns: 1fr;
  }

  .publicaciones-field,
  .publicaciones-field--wide,
  .publicaciones-field--full {
    grid-column: auto;
    border-right: 0;
  }

  .publicaciones-current-photos > div {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }

  .publicaciones-ml-gallery {
    grid-template-columns: 1fr;

    min-height: auto;

    padding: 12px;
  }

  .publicaciones-ml-thumbs {
    display: flex;
    flex-direction: row;

    max-height: none;

    padding-bottom: 3px;

    overflow-x: auto;
    overflow-y: hidden;
  }

  .publicaciones-ml-main-photo {
    min-height: 300px;
    padding: 8px;
  }

  .publicaciones-ml-main-photo img {
    max-height: 340px;
  }

  .publicaciones-ml-main-photo span {
    min-height: 280px;
  }

  .publicaciones-ml-info {
    min-height: auto;

    padding: 17px 14px;
  }

  .publicaciones-ml-info h2 {
    font-size: 19px;
  }

  .publicaciones-ml-price {
    font-size: 30px;
  }

  .publicaciones-ml-description {
    padding: 20px 14px 28px;
  }

  .publicaciones-ml-description h3 {
    font-size: 18px;
  }

  .publicaciones-ml-description p {
    font-size: 13px;
    line-height: 1.6;
  }

  .publicaciones-toast {
    right: 10px;
    bottom: 28px;
    left: 10px;

    width: auto;

    text-align: center;
  }
}

/* =========================================================
   RESPONSIVE · 460
   ========================================================= */

@media (max-width: 460px) {
  .publicaciones-metrics {
    grid-template-columns: 1fr;
  }

  .publicaciones-metric {
    border-right: 0;
    border-bottom: 1px solid var(--pub-border-soft);
  }

  .publicaciones-metric:last-child {
    border-bottom: 0;
  }

  .publicaciones-filters {
    grid-template-columns: 1fr;
  }

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

  .publicaciones-mobile-card__head {
    grid-template-columns:
      46px
      minmax(0, 1fr);
  }

  .publicaciones-mobile-card__head > .publicaciones-status {
    grid-column: 2;
    justify-self: start;
  }

  .publicaciones-mobile-card__actions .publicaciones-row-actions {
    grid-template-columns: 1fr !important;
  }

  .publicaciones-current-photos > div {
    grid-template-columns: 1fr;
  }

  .publicaciones-ml-thumb-btn,
  .publicaciones-ml-thumb-btn img,
  .publicaciones-ml-thumb-btn span,
  .publicaciones-ml-thumbs > span {
    width: 52px;
    height: 52px;
  }

  .publicaciones-ml-thumb-btn {
    flex-basis: 52px;
  }

  .publicaciones-ml-main-photo {
    min-height: 250px;
  }

  .publicaciones-ml-main-photo img {
    max-height: 290px;
  }

  .publicaciones-ml-main-photo span {
    min-height: 230px;
  }
}

/* =========================================================
   ANIMACIONES
   ========================================================= */

.is-spinning {
  animation: publicacionesSpin 800ms linear infinite;
}

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

@keyframes publicacionesPageIn {
  from {
    opacity: 0;
    transform: translateY(4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes publicacionesBackdropIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes publicacionesModalIn {
  from {
    opacity: 0;

    transform:
      translateY(7px)
      scale(0.99);
  }

  to {
    opacity: 1;

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

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

@media (prefers-reduced-motion: reduce) {
  .publicaciones-page,
  .publicaciones-page *,
  .publicaciones-page *::before,
  .publicaciones-page *::after,
  .publicaciones-modal,
  .publicaciones-modal *,
  .publicaciones-modal *::before,
  .publicaciones-modal *::after,
  .publicaciones-toast {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* =========================================================
   IMPRESIÓN
   ========================================================= */

@media print {
  .publicaciones-actions,
  .publicaciones-filters,
  .publicaciones-row-actions,
  .publicaciones-modal-footer,
  .publicaciones-modal-close,
  .publicaciones-toast {
    display: none !important;
  }

  .publicaciones-head,
  .publicaciones-metrics,
  .publicaciones-panel,
  .publicaciones-modal-card,
  .publicaciones-preview-card {
    border-color: #cccccc;
    box-shadow: none;
  }

  .publicaciones-table-wrap,
  .publicaciones-modal-body,
  .publicaciones-ml-preview {
    max-height: none;
    overflow: visible;
  }

  .publicaciones-table th:nth-child(10),
  .publicaciones-table td:nth-child(10) {
    position: static;
    box-shadow: none;
  }

  .publicaciones-ml-preview {
    display: block;
  }

  .publicaciones-ml-gallery,
  .publicaciones-ml-info,
  .publicaciones-ml-description {
    page-break-inside: avoid;
  }
}/* =========================================================
   PUBLICACIONES · TEXTO MÁS GRANDE EN LA PÁGINA
   No modifica modales ni vista previa
   ========================================================= */

/* Título principal */

.publicaciones-brand h2 {
  font-size: 21px !important;
}

.publicaciones-brand p {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

/* Botones principales */

.publicaciones-page .publicaciones-btn {
  font-size: 11px !important;
}

/* Métricas */

.publicaciones-page .publicaciones-metric span {
  font-size: 9px !important;
}

.publicaciones-page .publicaciones-metric strong {
  font-size: 24px !important;
}

.publicaciones-page .publicaciones-metric strong.is-money {
  font-size: 17px !important;
}

.publicaciones-page .publicaciones-metric small {
  font-size: 10px !important;
}

/* Encabezado del listado */

.publicaciones-page .publicaciones-title span {
  font-size: 9px !important;
}

.publicaciones-page .publicaciones-title strong {
  font-size: 15px !important;
}

/* Buscador y filtros */

.publicaciones-page .publicaciones-search input {
  font-size: 11px !important;
}

.publicaciones-page .publicaciones-filters select {
  font-size: 11px !important;
}

/* Encabezados de tabla */

.publicaciones-page .publicaciones-table th {
  font-size: 9px !important;
}

/* Texto general de tabla */

.publicaciones-page .publicaciones-table td {
  font-size: 11px !important;
}

/* Títulos dentro de las filas */

.publicaciones-page .publicaciones-table strong {
  font-size: 12px !important;
  line-height: 1.2 !important;
}

/* Texto secundario dentro de las filas */

.publicaciones-page .publicaciones-table small {
  font-size: 9.5px !important;
  line-height: 1.2 !important;
}

/* Estados */

.publicaciones-page .publicaciones-status {
  font-size: 9.5px !important;
}

/* Botón del enlace */

.publicaciones-page .publicaciones-link {
  font-size: 9.5px !important;
}

/* Botones de acciones de tabla */

.publicaciones-page .publicaciones-row-btn {
  font-size: 9.5px !important;
}

/* Tarjetas mobile */

.publicaciones-page .publicaciones-mobile-empty strong {
  font-size: 13px !important;
}

.publicaciones-page .publicaciones-mobile-empty span {
  font-size: 10px !important;
}

.publicaciones-page .publicaciones-mobile-card__head strong {
  font-size: 13px !important;
}

.publicaciones-page .publicaciones-mobile-card__head small {
  font-size: 10px !important;
}

.publicaciones-page .publicaciones-mobile-card__grid span {
  font-size: 9px !important;
}

.publicaciones-page .publicaciones-mobile-card__grid strong {
  font-size: 11px !important;
}/* =========================================================
   PUBLICACIONES · MISMA ESCALA VISUAL + MODALES CORREGIDOS
   Agregar al FINAL de publicaciones.css
   ========================================================= */

/* =========================================================
   ESCALA GENERAL
   ========================================================= */

.publicaciones-page {
  gap: 12px !important;
}

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

.publicaciones-head {
  min-height: 92px !important;

  padding:
    15px
    17px !important;

  gap: 16px !important;
}

.publicaciones-brand {
  gap: 13px !important;
}

.publicaciones-brand__icon {
  width: 46px !important;
  height: 46px !important;
  flex: 0 0 46px !important;

  border-radius: 11px !important;
}

.publicaciones-brand__icon .icon,
.publicaciones-brand__icon svg {
  width: 21px !important;
  height: 21px !important;
}

.publicaciones-brand h2 {
  font-size:
    clamp(
      24px,
      2.1vw,
      30px
    ) !important;

  font-weight: 950 !important;
  line-height: 1 !important;
}

.publicaciones-brand p {
  margin-top: 6px !important;

  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
}

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

.publicaciones-btn,
.publicaciones-row-btn,
.publicaciones-modal-close {
  min-height: 36px !important;

  padding:
    0
    12px !important;

  gap: 7px !important;

  border-radius: 9px !important;

  font-size: 11px !important;
  font-weight: 900 !important;
}

.publicaciones-btn .icon,
.publicaciones-btn svg,
.publicaciones-row-btn .icon,
.publicaciones-row-btn svg,
.publicaciones-modal-close .icon,
.publicaciones-modal-close svg {
  width: 15px !important;
  height: 15px !important;

  min-width: 15px !important;
  min-height: 15px !important;
}

.publicaciones-modal-close {
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;

  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;

  padding: 0 !important;
}

/* =========================================================
   MÉTRICAS
   ========================================================= */

.publicaciones-metric {
  min-height: 72px !important;

  padding:
    11px
    12px !important;

  gap:
    5px
    10px !important;
}

.publicaciones-metric span {
  font-size: 9px !important;
  font-weight: 900 !important;
}

.publicaciones-metric strong {
  font-size: 19px !important;
  font-weight: 950 !important;
}

.publicaciones-metric strong.is-money {
  font-size: 15px !important;
}

.publicaciones-metric small {
  font-size: 9.5px !important;
  font-weight: 700 !important;
}

/* =========================================================
   TOOLBAR
   ========================================================= */

.publicaciones-toolbar {
  grid-template-columns:
    minmax(190px, 0.3fr)
    minmax(0, 1fr) !important;

  gap: 12px !important;

  padding:
    12px !important;
}

.publicaciones-title {
  gap: 4px !important;
}

.publicaciones-title span {
  font-size: 9px !important;
  font-weight: 900 !important;
}

.publicaciones-title strong {
  font-size: 16px !important;
  font-weight: 950 !important;
}

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

.publicaciones-filters {
  gap: 7px !important;
}

.publicaciones-search,
.publicaciones-filters select {
  height: 36px !important;
  min-height: 36px !important;

  border-radius: 9px !important;
}

.publicaciones-search {
  width:
    min(
      500px,
      100%
    ) !important;
}

.publicaciones-search input,
.publicaciones-filters select {
  font-size: 10.8px !important;
  font-weight: 800 !important;
}

.publicaciones-search .icon,
.publicaciones-search svg {
  width: 14px !important;
  height: 14px !important;
}

.publicaciones-filters select {
  min-width: 130px !important;

  padding:
    0
    30px
    0
    10px !important;
}

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

.publicaciones-table th {
  height: 42px !important;

  padding:
    0
    10px !important;

  font-size: 8.8px !important;
  font-weight: 950 !important;
}

.publicaciones-table td {
  height: 52px !important;

  padding:
    0
    10px !important;

  font-size: 10.8px !important;
  font-weight: 760 !important;
}

.publicaciones-table strong {
  font-size: 11px !important;
  font-weight: 950 !important;
}

.publicaciones-table small {
  margin-top: 3px !important;

  font-size: 9px !important;
}

.publicaciones-thumb {
  width: 38px !important;
  height: 38px !important;

  border-radius: 8px !important;
}

.publicaciones-status,
.publicaciones-link {
  min-height: 24px !important;

  padding:
    4px
    9px !important;

  font-size: 9px !important;
}

/* =========================================================
   ACCIONES DE FILA
   ========================================================= */

.publicaciones-table th:nth-child(10),
.publicaciones-table td:nth-child(10) {
  width: 230px !important;
  min-width: 230px !important;
  max-width: 230px !important;
}

.publicaciones-row-actions {
  grid-template-columns:
    36px
    minmax(82px, 1fr)
    minmax(76px, 1fr) !important;

  gap: 6px !important;
}

.publicaciones-row-btn {
  min-height: 32px !important;
  height: 32px !important;

  padding:
    0
    9px !important;

  font-size: 9.8px !important;
}

.publicaciones-row-btn--danger {
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;

  padding: 0 !important;
}

/* =========================================================
   MODALES · CAPA GENERAL
   ========================================================= */

.publicaciones-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 100000 !important;

  display: none !important;
  place-items: center !important;

  width: 100vw !important;
  height: 100vh !important;

  padding: 18px !important;

  background:
    rgba(
      0,
      0,
      0,
      0.7
    ) !important;

  backdrop-filter: blur(7px) !important;
  -webkit-backdrop-filter: blur(7px) !important;

  overflow: hidden !important;
}

.publicaciones-modal.is-open {
  display: grid !important;
}

#publicacionesFormModalMount,
#publicacionesPreviewModalMount {
  position: relative !important;
  z-index: 2 !important;

  width: 100% !important;
  height: 100% !important;

  display: grid !important;
  place-items: center !important;
}

/* =========================================================
   MODAL ALTA / EDICIÓN
   ========================================================= */

.publicaciones-modal-card {
  position: relative !important;
  z-index: 3 !important;

  display: grid !important;

  grid-template-rows:
    auto
    minmax(0, 1fr)
    auto !important;

  width:
    min(
      1080px,
      calc(100vw - 36px)
    ) !important;

  height: auto !important;

  max-height:
    calc(
      100vh -
      36px
    ) !important;

  min-width: 0 !important;
  min-height: 0 !important;

  color: #111111 !important;

  background: #ffffff !important;

  border:
    1px solid
    rgba(
      0,
      0,
      0,
      0.18
    ) !important;

  border-radius: 16px !important;

  box-shadow:
    0 30px 90px
    rgba(
      0,
      0,
      0,
      0.36
    ) !important;

  opacity: 1 !important;
  visibility: visible !important;

  overflow: hidden !important;
}

/* =========================================================
   MODAL VISTA PREVIA
   ========================================================= */

.publicaciones-preview-card {
  position: relative !important;
  z-index: 3 !important;

  display: grid !important;

  grid-template-rows:
    auto
    minmax(0, 1fr) !important;

  width:
    min(
      1280px,
      calc(100vw - 36px)
    ) !important;

  height:
    min(
      860px,
      calc(100vh - 36px)
    ) !important;

  min-width: 0 !important;
  min-height: 0 !important;

  color: #111111 !important;

  background: #ffffff !important;

  border:
    1px solid
    rgba(
      0,
      0,
      0,
      0.18
    ) !important;

  border-radius: 16px !important;

  box-shadow:
    0 30px 90px
    rgba(
      0,
      0,
      0,
      0.36
    ) !important;

  opacity: 1 !important;
  visibility: visible !important;

  overflow: hidden !important;
}

/* =========================================================
   MODALES · MODO OSCURO
   ========================================================= */

html[data-theme="dark"]
.publicaciones-modal-card,
html[data-theme="dark"]
.publicaciones-preview-card {
  color: #f5f5f5 !important;

  background: #0b0b0b !important;

  border-color:
    rgba(
      255,
      255,
      255,
      0.16
    ) !important;

  box-shadow:
    0 34px 100px
    rgba(
      0,
      0,
      0,
      0.86
    ) !important;
}

/* =========================================================
   HEADER DE MODALES
   ========================================================= */

.publicaciones-modal-head,
.publicaciones-preview-head {
  position: relative !important;
  z-index: 5 !important;

  min-height: 70px !important;

  padding:
    13px
    15px !important;

  background: #ffffff !important;

  border-bottom:
    1px solid
    rgba(
      0,
      0,
      0,
      0.12
    ) !important;
}

html[data-theme="dark"]
.publicaciones-modal-head,
html[data-theme="dark"]
.publicaciones-preview-head {
  background: #0b0b0b !important;

  border-bottom-color:
    rgba(
      255,
      255,
      255,
      0.11
    ) !important;
}

.publicaciones-modal-title {
  gap: 12px !important;
}

.publicaciones-modal-icon {
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;

  border-radius: 10px !important;
}

.publicaciones-modal-icon .icon,
.publicaciones-modal-icon svg {
  width: 19px !important;
  height: 19px !important;
}

.publicaciones-modal-title span,
.publicaciones-preview-head span {
  color: #666666 !important;

  font-size: 9px !important;
  font-weight: 900 !important;
}

.publicaciones-modal-title h3,
.publicaciones-preview-head strong {
  color: #111111 !important;

  font-size: 19px !important;
  font-weight: 950 !important;
}

.publicaciones-modal-title p {
  color: #666666 !important;

  font-size: 10.5px !important;
  font-weight: 700 !important;
}

html[data-theme="dark"]
.publicaciones-modal-title span,
html[data-theme="dark"]
.publicaciones-preview-head span,
html[data-theme="dark"]
.publicaciones-modal-title p {
  color:
    rgba(
      255,
      255,
      255,
      0.58
    ) !important;
}

html[data-theme="dark"]
.publicaciones-modal-title h3,
html[data-theme="dark"]
.publicaciones-preview-head strong {
  color: #ffffff !important;
}

/* =========================================================
   CUERPO DEL MODAL
   ========================================================= */

.publicaciones-modal-body {
  min-height: 0 !important;

  padding:
    14px !important;

  background: #f5f6f8 !important;

  overflow-x: hidden !important;
  overflow-y: auto !important;
}

html[data-theme="dark"]
.publicaciones-modal-body {
  background: #080808 !important;
}

/* =========================================================
   FORMULARIO
   ========================================================= */

.publicaciones-form-grid {
  grid-template-columns:
    repeat(
      4,
      minmax(0, 1fr)
    ) !important;

  border-radius: 11px !important;

  background: #ffffff !important;
}

html[data-theme="dark"]
.publicaciones-form-grid {
  background: #0b0b0b !important;
}

.publicaciones-field {
  min-height: 82px !important;

  padding:
    12px !important;

  gap: 7px !important;

  background: #ffffff !important;
}

html[data-theme="dark"]
.publicaciones-field {
  background: #0b0b0b !important;
}

.publicaciones-field span {
  color: #666666 !important;

  font-size: 9px !important;
  font-weight: 900 !important;
}

html[data-theme="dark"]
.publicaciones-field span {
  color:
    rgba(
      255,
      255,
      255,
      0.58
    ) !important;
}

.publicaciones-field input,
.publicaciones-field select,
.publicaciones-field textarea {
  min-height: 36px !important;

  padding:
    0
    10px !important;

  color: #111111 !important;

  background: #f7f7f7 !important;

  border:
    1px solid
    rgba(
      0,
      0,
      0,
      0.16
    ) !important;

  border-radius: 8px !important;

  font-size: 10.8px !important;
  font-weight: 800 !important;

  opacity: 1 !important;
}

.publicaciones-field textarea {
  min-height: 110px !important;

  padding:
    10px !important;
}

.publicaciones-field input:focus,
.publicaciones-field select:focus,
.publicaciones-field textarea:focus {
  background: #ffffff !important;

  border-color:
    rgba(
      0,
      0,
      0,
      0.4
    ) !important;

  box-shadow:
    0 0 0 3px
    rgba(
      0,
      0,
      0,
      0.06
    ) !important;
}

.publicaciones-field input:disabled {
  color: #666666 !important;

  background: #eeeeee !important;
}

html[data-theme="dark"]
.publicaciones-field input,
html[data-theme="dark"]
.publicaciones-field select,
html[data-theme="dark"]
.publicaciones-field textarea {
  color: #f5f5f5 !important;

  background: #111111 !important;

  border-color:
    rgba(
      255,
      255,
      255,
      0.15
    ) !important;
}

html[data-theme="dark"]
.publicaciones-field input:focus,
html[data-theme="dark"]
.publicaciones-field select:focus,
html[data-theme="dark"]
.publicaciones-field textarea:focus {
  background: #151515 !important;

  border-color:
    rgba(
      255,
      255,
      255,
      0.34
    ) !important;

  box-shadow:
    0 0 0 3px
    rgba(
      255,
      255,
      255,
      0.06
    ) !important;
}

html[data-theme="dark"]
.publicaciones-field input:disabled {
  color:
    rgba(
      255,
      255,
      255,
      0.46
    ) !important;

  background: #0e0e0e !important;
}

/* =========================================================
   FOTOS ACTUALES
   ========================================================= */

.publicaciones-current-photos {
  padding:
    12px !important;

  border-radius: 11px !important;

  background: #ffffff !important;
}

html[data-theme="dark"]
.publicaciones-current-photos {
  background: #0b0b0b !important;
}

.publicaciones-current-photos strong {
  font-size: 12px !important;
}

.publicaciones-current-photos span,
.publicaciones-current-photos small {
  font-size: 9.5px !important;
}

.publicaciones-current-photos article {
  border-radius: 9px !important;
}

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

.publicaciones-modal-footer {
  position: relative !important;
  z-index: 5 !important;

  min-height: 64px !important;

  padding:
    12px
    15px !important;

  gap: 8px !important;

  background: #ffffff !important;

  border-top:
    1px solid
    rgba(
      0,
      0,
      0,
      0.12
    ) !important;
}

html[data-theme="dark"]
.publicaciones-modal-footer {
  background: #0b0b0b !important;

  border-top-color:
    rgba(
      255,
      255,
      255,
      0.11
    ) !important;
}

/* =========================================================
   VISTA PREVIA
   ========================================================= */

.publicaciones-ml-preview {
  min-height: 0 !important;
  height: 100% !important;

  overflow-x: hidden !important;
  overflow-y: auto !important;
}

.publicaciones-ml-gallery {
  min-height: 540px !important;

  padding:
    18px !important;
}

.publicaciones-ml-info {
  min-height: 540px !important;

  padding:
    22px
    20px !important;
}

.publicaciones-ml-main-photo {
  min-height: 500px !important;
}

.publicaciones-ml-main-photo img {
  max-height: 470px !important;
}

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

.publicaciones-toast {
  min-height: 56px !important;

  padding:
    11px
    13px !important;

  font-size: 10.8px !important;
}

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

@media (max-width: 1180px) {
  .publicaciones-head,
  .publicaciones-toolbar {
    grid-template-columns: 1fr !important;
  }

  .publicaciones-actions,
  .publicaciones-filters {
    justify-content: flex-start !important;
  }

  .publicaciones-form-grid {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      ) !important;
  }
}

@media (max-width: 760px) {
  .publicaciones-page {
    gap: 10px !important;
  }

  .publicaciones-head {
    min-height: 0 !important;

    padding:
      12px !important;
  }

  .publicaciones-brand h2 {
    font-size: 22px !important;
  }

  .publicaciones-brand p {
    font-size: 11px !important;
  }

  .publicaciones-modal {
    padding: 8px !important;
  }

  .publicaciones-modal-card,
  .publicaciones-preview-card {
    width:
      calc(
        100vw -
        16px
      ) !important;

    height:
      calc(
        100dvh -
        16px
      ) !important;

    max-height:
      calc(
        100dvh -
        16px
      ) !important;

    border-radius: 13px !important;
  }

  .publicaciones-form-grid {
    grid-template-columns: 1fr !important;
  }

  .publicaciones-field,
  .publicaciones-field--wide,
  .publicaciones-field--full {
    grid-column: auto !important;

    border-right: 0 !important;
  }

  .publicaciones-modal-footer {
    display: grid !important;
    grid-template-columns: 1fr !important;

    padding:
      10px !important;
  }

  .publicaciones-modal-footer
  .publicaciones-btn {
    width: 100% !important;
  }
}/* =========================================================
   PUBLICACIONES
   BORDES VISIBLES + TABLA Y CARDS CUADRICULADAS
   Agregar al FINAL de publicaciones.css
   ========================================================= */

/* =========================================================
   CONTENEDOR GENERAL
   ========================================================= */

.app-content:has(.publicaciones-page) {
  display: block !important;

  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  padding: 10px !important;

  overflow: visible !important;
}

.publicaciones-page {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  gap: 12px !important;

  overflow: visible !important;
}

/* =========================================================
   BORDES PRINCIPALES
   ========================================================= */

.publicaciones-head,
.publicaciones-metrics,
.publicaciones-panel,
.publicaciones-modal-card,
.publicaciones-preview-card,
.publicaciones-current-photos {
  border:
    1px solid
    rgba(
      15,
      23,
      42,
      0.19
    ) !important;

  box-shadow:
    0 1px 0
    rgba(
      255,
      255,
      255,
      0.86
    ) inset,
    0 5px 16px
    rgba(
      15,
      23,
      42,
      0.055
    ) !important;
}

.publicaciones-head:hover,
.publicaciones-panel:hover,
.publicaciones-current-photos:hover {
  border-color:
    rgba(
      15,
      23,
      42,
      0.29
    ) !important;
}

/* =========================================================
   MÉTRICAS CUADRICULADAS
   ========================================================= */

.publicaciones-metrics {
  overflow: hidden !important;
}

.publicaciones-metric {
  border-right:
    1px solid
    rgba(
      15,
      23,
      42,
      0.16
    ) !important;

  border-bottom: 0 !important;
}

.publicaciones-metric:last-child {
  border-right: 0 !important;
}

.publicaciones-metric:hover {
  background:
    rgba(
      15,
      23,
      42,
      0.04
    ) !important;
}

/* =========================================================
   TOOLBAR Y FILTROS
   ========================================================= */

.publicaciones-toolbar {
  border-bottom:
    1px solid
    rgba(
      15,
      23,
      42,
      0.18
    ) !important;
}

.publicaciones-search,
.publicaciones-filters select,
.publicaciones-filters button {
  border-color:
    rgba(
      15,
      23,
      42,
      0.18
    ) !important;
}

.publicaciones-search:hover,
.publicaciones-search:focus-within,
.publicaciones-filters select:hover,
.publicaciones-filters select:focus,
.publicaciones-filters button:hover {
  border-color:
    rgba(
      15,
      23,
      42,
      0.29
    ) !important;
}

/* =========================================================
   PANEL Y SCROLL
   ========================================================= */

.publicaciones-panel {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  overflow: visible !important;
}

.publicaciones-table-wrap {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  overflow-x: auto !important;
  overflow-y: visible !important;
}

/* =========================================================
   TABLA COMPLETAMENTE CUADRICULADA
   ========================================================= */

.publicaciones-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;

  border:
    1px solid
    rgba(
      15,
      23,
      42,
      0.2
    ) !important;
}

.publicaciones-table th,
.publicaciones-table td {
  border-right:
    1px solid
    rgba(
      15,
      23,
      42,
      0.15
    ) !important;

  border-bottom:
    1px solid
    rgba(
      15,
      23,
      42,
      0.15
    ) !important;
}

.publicaciones-table th:last-child,
.publicaciones-table td:last-child {
  border-right: 0 !important;
}

.publicaciones-table tbody tr:last-child td {
  border-bottom: 0 !important;
}

/* Encabezado más marcado */

.publicaciones-table thead th {
  background:
    color-mix(
      in srgb,
      var(--pub-surface-soft) 92%,
      #eef1f4
    ) !important;

  border-bottom:
    1px solid
    rgba(
      15,
      23,
      42,
      0.23
    ) !important;
}

/* Filas alternadas */

.publicaciones-table tbody tr:nth-child(even) td {
  background:
    rgba(
      15,
      23,
      42,
      0.018
    ) !important;
}

.publicaciones-table tbody tr:hover td {
  background:
    rgba(
      15,
      23,
      42,
      0.05
    ) !important;
}

/* Columna acciones integrada a la tabla */

.publicaciones-table th:nth-child(10),
.publicaciones-table td:nth-child(10) {
  border-left:
    1px solid
    rgba(
      15,
      23,
      42,
      0.2
    ) !important;

  box-shadow:
    -1px 0 0
    rgba(
      15,
      23,
      42,
      0.08
    ) !important;
}

/* =========================================================
   FOTO, LINK Y ESTADOS
   ========================================================= */

.publicaciones-thumb,
.publicaciones-link,
.publicaciones-status,
.publicaciones-brand__icon,
.publicaciones-modal-icon {
  border-color:
    rgba(
      15,
      23,
      42,
      0.18
    ) !important;
}

/* =========================================================
   BOTONES DE FILA
   ========================================================= */

.publicaciones-row-btn {
  border-color:
    rgba(
      15,
      23,
      42,
      0.18
    ) !important;
}

.publicaciones-row-btn:hover {
  border-color:
    rgba(
      15,
      23,
      42,
      0.3
    ) !important;
}

/* =========================================================
   FORMULARIO CUADRICULADO
   ========================================================= */

.publicaciones-form-grid {
  gap: 0 !important;

  border:
    1px solid
    rgba(
      15,
      23,
      42,
      0.19
    ) !important;

  border-radius: 11px !important;

  overflow: hidden !important;
}

.publicaciones-field {
  border-right:
    1px solid
    rgba(
      15,
      23,
      42,
      0.14
    ) !important;

  border-bottom:
    1px solid
    rgba(
      15,
      23,
      42,
      0.14
    ) !important;
}

.publicaciones-field:nth-child(4n) {
  border-right: 0 !important;
}

.publicaciones-field--full {
  border-right: 0 !important;
}

.publicaciones-field:hover,
.publicaciones-field:focus-within {
  background:
    rgba(
      15,
      23,
      42,
      0.028
    ) !important;
}

.publicaciones-field input,
.publicaciones-field select,
.publicaciones-field textarea {
  border-color:
    rgba(
      15,
      23,
      42,
      0.18
    ) !important;
}

/* =========================================================
   FOTOS ACTUALES CUADRICULADAS
   ========================================================= */

.publicaciones-current-photos > div {
  gap: 0 !important;

  border:
    1px solid
    rgba(
      15,
      23,
      42,
      0.17
    ) !important;

  border-radius: 10px !important;

  overflow: hidden !important;
}

.publicaciones-current-photos article {
  border: 0 !important;

  border-right:
    1px solid
    rgba(
      15,
      23,
      42,
      0.14
    ) !important;

  border-bottom:
    1px solid
    rgba(
      15,
      23,
      42,
      0.14
    ) !important;

  border-radius: 0 !important;
}

/* =========================================================
   VISTA PREVIA · BORDES INTERNOS
   ========================================================= */

.publicaciones-ml-gallery,
.publicaciones-ml-info,
.publicaciones-ml-description {
  border-color:
    rgba(
      15,
      23,
      42,
      0.16
    ) !important;
}

.publicaciones-ml-thumb-btn,
.publicaciones-ml-main-photo span,
.publicaciones-ml-topline span {
  border-color:
    rgba(
      15,
      23,
      42,
      0.18
    ) !important;
}

.publicaciones-ml-dates {
  border-top-color:
    rgba(
      15,
      23,
      42,
      0.17
    ) !important;
}

/* =========================================================
   CARDS MOBILE CUADRICULADAS
   ========================================================= */

.publicaciones-mobile-card,
.publicaciones-mobile-empty {
  border:
    1px solid
    rgba(
      15,
      23,
      42,
      0.19
    ) !important;

  box-shadow:
    0 4px 14px
    rgba(
      15,
      23,
      42,
      0.045
    ) !important;
}

.publicaciones-mobile-card:hover {
  border-color:
    rgba(
      15,
      23,
      42,
      0.29
    ) !important;
}

.publicaciones-mobile-card__head img,
.publicaciones-mobile-card__head > span:first-child {
  border-color:
    rgba(
      15,
      23,
      42,
      0.18
    ) !important;
}

.publicaciones-mobile-card__grid {
  border:
    1px solid
    rgba(
      15,
      23,
      42,
      0.18
    ) !important;
}

.publicaciones-mobile-card__grid > div {
  border-bottom:
    1px solid
    rgba(
      15,
      23,
      42,
      0.14
    ) !important;
}

/* =========================================================
   MODALES SEGUROS
   ========================================================= */

.publicaciones-modal {
  position: fixed !important;
  inset: 0 !important;

  z-index: 100000 !important;

  display: none !important;

  width: 100vw !important;
  height: 100dvh !important;

  overflow: hidden !important;

  isolation: isolate !important;
}

.publicaciones-modal.is-open {
  display: grid !important;
}

.publicaciones-modal[aria-hidden="true"] {
  display: none !important;

  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.publicaciones-modal[aria-hidden="false"] {
  display: grid !important;

  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* =========================================================
   SCROLL DE PÁGINA Y FOOTER
   ========================================================= */

body:has(.publicaciones-page) .app-main,
body:has(.publicaciones-page) .app-shell {
  min-height: 100vh !important;
  height: auto !important;

  overflow: visible !important;
}

body:has(.publicaciones-page) .app-footer,
body:has(.publicaciones-page) #footerMount,
body:has(.publicaciones-page) footer.app-footer {
  position: static !important;

  inset: auto !important;

  width: 100% !important;

  margin-top: 12px !important;

  transform: none !important;
}

/* =========================================================
   MODO OSCURO
   ========================================================= */

html[data-theme="dark"] .publicaciones-head,
html[data-theme="dark"] .publicaciones-metrics,
html[data-theme="dark"] .publicaciones-panel,
html[data-theme="dark"] .publicaciones-modal-card,
html[data-theme="dark"] .publicaciones-preview-card,
html[data-theme="dark"] .publicaciones-current-photos {
  border-color:
    rgba(
      255,
      255,
      255,
      0.2
    ) !important;

  box-shadow:
    0 1px 0
    rgba(
      255,
      255,
      255,
      0.055
    ) inset,
    0 8px 20px
    rgba(
      0,
      0,
      0,
      0.32
    ) !important;
}

html[data-theme="dark"] .publicaciones-table {
  border-color:
    rgba(
      255,
      255,
      255,
      0.2
    ) !important;
}

html[data-theme="dark"] .publicaciones-table th,
html[data-theme="dark"] .publicaciones-table td,
html[data-theme="dark"] .publicaciones-metric,
html[data-theme="dark"] .publicaciones-field,
html[data-theme="dark"] .publicaciones-mobile-card__grid > div,
html[data-theme="dark"] .publicaciones-current-photos article {
  border-right-color:
    rgba(
      255,
      255,
      255,
      0.13
    ) !important;

  border-bottom-color:
    rgba(
      255,
      255,
      255,
      0.13
    ) !important;
}

html[data-theme="dark"] .publicaciones-table thead th {
  background:
    #111111 !important;

  border-bottom-color:
    rgba(
      255,
      255,
      255,
      0.22
    ) !important;
}

html[data-theme="dark"]
.publicaciones-table
tbody
tr:nth-child(even)
td {
  background:
    rgba(
      255,
      255,
      255,
      0.025
    ) !important;
}

html[data-theme="dark"]
.publicaciones-table
tbody
tr:hover
td {
  background:
    rgba(
      255,
      255,
      255,
      0.06
    ) !important;
}

html[data-theme="dark"] .publicaciones-form-grid,
html[data-theme="dark"] .publicaciones-mobile-card,
html[data-theme="dark"] .publicaciones-mobile-empty,
html[data-theme="dark"] .publicaciones-mobile-card__grid,
html[data-theme="dark"] .publicaciones-current-photos > div {
  border-color:
    rgba(
      255,
      255,
      255,
      0.18
    ) !important;
}

html[data-theme="dark"] .publicaciones-field:hover,
html[data-theme="dark"] .publicaciones-field:focus-within {
  background:
    rgba(
      255,
      255,
      255,
      0.045
    ) !important;
}

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

@media (max-width: 900px) {
  .publicaciones-metric {
    border-bottom:
      1px solid
      rgba(
        15,
        23,
        42,
        0.14
      ) !important;
  }

  .publicaciones-metric:nth-child(3n) {
    border-right: 0 !important;
  }
}

@media (max-width: 760px) {
  .publicaciones-form-grid {
    grid-template-columns:
      1fr !important;
  }

  .publicaciones-field,
  .publicaciones-field:nth-child(4n),
  .publicaciones-field--wide,
  .publicaciones-field--full {
    border-right: 0 !important;
  }

  .publicaciones-field:last-child {
    border-bottom: 0 !important;
  }

  .publicaciones-metric:nth-child(3n) {
    border-right:
      1px solid
      rgba(
        15,
        23,
        42,
        0.14
      ) !important;
  }

  .publicaciones-metric:nth-child(2n) {
    border-right: 0 !important;
  }
}

@media (max-width: 460px) {
  .publicaciones-metric {
    border-right: 0 !important;

    border-bottom:
      1px solid
      rgba(
        15,
        23,
        42,
        0.14
      ) !important;
  }

  .publicaciones-metric:last-child {
    border-bottom: 0 !important;
  }
}