:root {
  --cream: #f5f0e6;
  --cream-dark: #e7dece;
  --white: #ffffff;
  --ink: #29261f;
  --muted: #746e64;
  --gold: #a47a2a;
  --gold-dark: #7a581c;
  --green: #27694f;
  --red: #9d3434;
  --sidebar: #20271f;
  --border: rgba(41, 38, 31, 0.12);
  --shadow: 0 14px 40px rgba(55, 43, 26, 0.09);
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  background: var(--cream);
}

body {
  min-height: 100vh;
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: Arial, Helvetica, sans-serif;
}

button,
input,
select {
  font: inherit;
}

button {
  cursor: pointer;
}

[hidden] {
  display: none !important;
}

.loading-view {
  min-height: 100vh;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 16px;
  color: var(--muted);
}

.loader {
  width: 42px;
  height: 42px;
  border: 3px solid var(--cream-dark);
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: rotate 0.8s linear infinite;
}

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

.admin-layout {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 265px minmax(0, 1fr);
}

.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 30px 22px;
  color: var(--white);
  background:
    radial-gradient(circle at top left, #394136 0, transparent 42%),
    var(--sidebar);
  display: flex;
  flex-direction: column;
}

.brand {
  display: flex;
  align-items: center;
  gap: 13px;
}

.brand-mark {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(224, 190, 112, 0.45);
  border-radius: 50%;
  color: #dfbd70;
  font-family: Georgia, serif;
  font-size: 18px;
  letter-spacing: 2px;
}

.brand p {
  margin: 0 0 4px;
  color: #d9b565;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.7px;
}

.brand strong {
  font-family: Georgia, serif;
  font-size: 19px;
  font-weight: 400;
}

.navigation {
  margin-top: 58px;
  display: grid;
  gap: 8px;
}

.nav-button {
  min-height: 46px;
  padding: 0 15px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.67);
  background: transparent;
  text-align: left;
}

.nav-button:hover,
.nav-button.active {
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.08);
}

.sidebar-footer {
  margin-top: auto;
  display: grid;
  gap: 10px;
}

.back-link,
.logout-button {
  min-height: 43px;
  padding: 0 14px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  text-decoration: none;
  font-size: 13px;
}

.back-link {
  color: rgba(255, 255, 255, 0.74);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.logout-button {
  border: 0;
  color: #ffdede;
  background: rgba(157, 52, 52, 0.2);
}

.content {
  min-width: 0;
  padding: 0 clamp(24px, 4vw, 65px) 70px;
}

.topbar {
  min-height: 115px;
  padding: 25px 0;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.eyebrow {
  margin: 0 0 9px;
  color: var(--gold);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.4px;
}

.topbar h1 {
  margin: 0;
  font-family: Georgia, serif;
  font-size: 36px;
  font-weight: 400;
}

.admin-account {
  min-width: 190px;
  text-align: right;
}

.admin-account span,
.admin-account small {
  display: block;
}

.admin-account span {
  font-weight: 700;
}

.admin-account small {
  margin-top: 5px;
  color: var(--muted);
}

.panel-section {
  padding-top: 38px;
}

.summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 18px;
}

.summary-card,
.form-card,
.list-card,
.welcome-panel {
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--shadow);
}

.summary-card {
  min-height: 145px;
  padding: 25px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.summary-card span {
  color: var(--muted);
  font-size: 13px;
}

.summary-card strong {
  color: var(--gold-dark);
  font-family: Georgia, serif;
  font-size: 42px;
  font-weight: 400;
}

.welcome-panel {
  margin-top: 22px;
  padding: clamp(30px, 5vw, 58px);
  color: var(--white);
  background:
    linear-gradient(115deg, rgba(33, 40, 32, 0.97), rgba(47, 56, 43, 0.91)),
    var(--sidebar);
}

.welcome-panel h2 {
  margin: 0;
  font-family: Georgia, serif;
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 400;
}

.welcome-panel > p:last-of-type {
  max-width: 680px;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.7;
}

.quick-actions {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.primary-button,
.secondary-button,
.icon-button {
  min-height: 45px;
  border-radius: 9px;
  font-weight: 700;
}

.primary-button {
  padding: 0 20px;
  border: 1px solid var(--gold);
  color: var(--white);
  background: var(--gold);
}

.secondary-button {
  padding: 0 20px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  color: var(--white);
  background: transparent;
}

.icon-button {
  padding: 0 15px;
  border: 1px solid var(--border);
  color: var(--ink);
  background: var(--white);
  font-size: 13px;
}

.full-width {
  width: 100%;
  margin-top: 24px;
}

.section-grid {
  display: grid;
  grid-template-columns: minmax(330px, 0.72fr) minmax(460px, 1.28fr);
  gap: 22px;
  align-items: start;
}

.form-card,
.list-card {
  padding: 28px;
}

.form-card h2,
.list-card h2 {
  margin: 0 0 24px;
  font-family: Georgia, serif;
  font-size: 29px;
  font-weight: 400;
}

label {
  display: block;
  margin: 18px 0 8px;
  font-size: 13px;
  font-weight: 700;
}

input,
select {
  width: 100%;
  min-height: 49px;
  padding: 0 14px;
  border: 1px solid var(--border);
  border-radius: 9px;
  color: var(--ink);
  background: var(--white);
  outline: none;
}

input:focus,
select:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 4px rgba(164, 122, 42, 0.11);
}

.password-wrapper {
  position: relative;
}

.password-wrapper input {
  padding-right: 90px;
}

.password-action {
  position: absolute;
  top: 50%;
  right: 10px;
  padding: 7px;
  border: 0;
  color: var(--gold-dark);
  background: transparent;
  transform: translateY(-50%);
  font-size: 12px;
  font-weight: 700;
}

.help-text {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.list-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.filters {
  margin: 10px 0 20px;
  display: grid;
  grid-template-columns: 1fr 190px;
  gap: 10px;
}

.records-list {
  min-height: 150px;
  display: grid;
  gap: 11px;
}

.record {
  padding: 17px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #fffdf9;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.record-main {
  min-width: 0;
}

.record-main strong,
.record-main span,
.record-main small {
  display: block;
}

.record-main strong {
  overflow: hidden;
  text-overflow: ellipsis;
}

.record-main span {
  margin-top: 5px;
  color: var(--muted);
  overflow-wrap: anywhere;
  font-size: 13px;
}

.record-main small {
  margin-top: 6px;
  color: var(--gold-dark);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.record-actions {
  flex: 0 0 auto;
}

.status-button {
  min-height: 36px;
  padding: 0 12px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
}

.status-button.deactivate {
  border: 1px solid #e6c6c6;
  color: var(--red);
  background: #fff4f4;
}

.status-button.activate {
  border: 1px solid #bedbce;
  color: var(--green);
  background: #f1faf6;
}

.status-pill {
  display: inline-flex !important;
  width: fit-content;
  margin-top: 8px !important;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 10px !important;
  font-weight: 700;
}

.status-pill.active {
  color: var(--green);
  background: #e8f5ef;
}

.status-pill.inactive {
  color: var(--red);
  background: #fbeaea;
}

.empty-state {
  padding: 35px 20px;
  border: 1px dashed var(--border);
  border-radius: 12px;
  color: var(--muted);
  text-align: center;
  line-height: 1.6;
}

.form-message,
.global-message {
  padding: 12px 14px;
  border-radius: 9px;
  font-size: 13px;
}

.form-message {
  margin: 16px 0 0;
}

.global-message {
  margin-top: 22px;
}

.form-message.success,
.global-message.success {
  color: var(--green);
  border: 1px solid #bdd9cc;
  background: #eef8f3;
}

.form-message.error,
.global-message.error {
  color: var(--red);
  border: 1px solid #e5c1c1;
  background: #fff1f1;
}

@media (max-width: 1100px) {
  .summary-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .section-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 780px) {
  .admin-layout {
    display: block;
  }

  .sidebar {
    position: static;
    width: 100%;
    height: auto;
    padding: 18px;
  }

  .navigation {
    margin-top: 22px;
    grid-template-columns: repeat(3, 1fr);
  }

  .nav-button {
    text-align: center;
  }

  .sidebar-footer {
    margin-top: 22px;
    grid-template-columns: 1fr 1fr;
  }

  .content {
    padding: 0 18px 55px;
  }

  .topbar {
    min-height: 100px;
  }
}

@media (max-width: 560px) {
  .summary-grid,
  .filters {
    grid-template-columns: 1fr;
  }

  .topbar {
    align-items: flex-start;
  }

  .admin-account {
    min-width: 0;
    max-width: 150px;
  }

  .record {
    align-items: flex-start;
    flex-direction: column;
  }

  .record-actions {
    width: 100%;
  }

  .status-button {
    width: 100%;
  }
}

textarea {
  width: 100%;
  padding: 13px 14px;
  border: 1px solid var(--border);
  border-radius: 9px;
  color: var(--ink);
  background: var(--white);
  outline: none;
  resize: vertical;
  font: inherit;
  line-height: 1.5;
}

textarea:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 4px rgba(164, 122, 42, 0.11);
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.product-record {
  align-items: flex-start;
}

.product-record-content {
  min-width: 0;
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 15px;
}

.product-thumbnail {
  width: 74px;
  height: 74px;
  border: 1px solid var(--border);
  border-radius: 10px;
  object-fit: contain;
  background: #ffffff;
}

.product-thumbnail.placeholder {
  display: grid;
  place-items: center;
  color: var(--gold);
  background: var(--cream);
  font-family: Georgia, serif;
  font-size: 20px;
}

.product-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.product-meta span {
  margin: 0 !important;
  padding: 5px 8px;
  border-radius: 999px;
  color: var(--muted);
  background: var(--cream);
  font-size: 10px !important;
}

.product-price {
  margin-top: 8px !important;
  color: var(--gold-dark) !important;
  font-weight: 700;
}

.product-description {
  margin-top: 8px !important;
  line-height: 1.5;
}

@media (max-width: 620px) {
  .form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }

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

.catalog-client-card {
  padding: 28px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--shadow);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
}

.catalog-client-card h2 {
  margin: 0;
  font-family: Georgia, serif;
  font-size: 30px;
  font-weight: 400;
}

.section-description {
  max-width: 680px;
  margin: 12px 0 0;
  color: var(--muted);
  line-height: 1.6;
}

.client-catalog-selector {
  width: min(100%, 360px);
  flex: 0 0 360px;
}

.catalog-toolbar {
  margin-top: 22px;
  padding: 20px 22px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.catalog-toolbar strong,
.catalog-toolbar span {
  display: block;
}

.catalog-toolbar strong {
  font-family: Georgia, serif;
  font-size: 23px;
  font-weight: 400;
}

.catalog-toolbar span {
  margin-top: 5px;
  color: var(--muted);
  font-size: 13px;
}

.catalog-toolbar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.catalog-toolbar-actions input {
  width: 280px;
}

.catalog-products-list {
  margin-top: 16px;
  display: grid;
  gap: 13px;
}

.catalog-product-card {
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fffdf9;
}

.catalog-product-header {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr) auto;
  gap: 15px;
  align-items: center;
}

.catalog-product-image {
  width: 66px;
  height: 66px;
  border: 1px solid var(--border);
  border-radius: 10px;
  object-fit: contain;
  background: #fff;
}

.catalog-product-image.placeholder {
  display: grid;
  place-items: center;
  color: var(--gold);
  background: var(--cream);
  font-family: Georgia, serif;
}

.catalog-product-info {
  min-width: 0;
}

.catalog-product-info strong,
.catalog-product-info span {
  display: block;
}

.catalog-product-info span {
  margin-top: 5px;
  color: var(--muted);
  font-size: 13px;
}

.assignment-state {
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
}

.assignment-state.assigned {
  color: var(--green);
  background: #e8f5ef;
}

.assignment-state.unassigned {
  color: var(--muted);
  background: var(--cream);
}

.catalog-product-settings {
  margin-top: 17px;
  padding-top: 17px;
  border-top: 1px solid var(--border);
  display: grid;
  grid-template-columns:
    minmax(140px, 0.7fr)
    minmax(115px, 0.45fr)
    repeat(3, minmax(110px, 0.4fr))
    auto;
  gap: 12px;
  align-items: end;
}

.catalog-setting label {
  margin-top: 0;
}

.catalog-checkbox {
  min-height: 49px;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: #fff;
  display: flex;
  align-items: center;
  gap: 9px;
}

.catalog-checkbox input {
  width: 18px;
  min-height: auto;
  height: 18px;
  padding: 0;
}

.catalog-checkbox span {
  font-size: 12px;
  font-weight: 700;
}

.save-assignment-button {
  min-height: 49px;
  padding: 0 18px;
  border: 1px solid var(--gold);
  border-radius: 9px;
  color: #fff;
  background: var(--gold);
  font-weight: 700;
}

.save-assignment-button:disabled {
  opacity: 0.6;
  cursor: wait;
}

@media (max-width: 1200px) {
  .catalog-product-settings {
    grid-template-columns: repeat(3, 1fr);
  }

  .save-assignment-button {
    width: 100%;
  }
}

@media (max-width: 760px) {
  .catalog-client-card,
  .catalog-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .client-catalog-selector,
  .catalog-toolbar-actions,
  .catalog-toolbar-actions input {
    width: 100%;
    flex: auto;
  }

  .catalog-product-header,
  .catalog-product-settings {
    grid-template-columns: 1fr;
  }
}

.requests-header-card {
  padding: 28px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--shadow);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.requests-header-card h2 {
  margin: 0;
  font-family: Georgia, serif;
  font-size: 30px;
  font-weight: 400;
}

.request-admin-filters {
  margin-top: 20px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 12px;
}

.requests-admin-list {
  margin-top: 16px;
  display: grid;
  gap: 15px;
}

.admin-request-card {
  padding: 22px;
  border: 1px solid var(--border);
  border-radius: 15px;
  background: #fffdf9;
}

.admin-request-card.new {
  border-left: 5px solid var(--gold);
}

.admin-request-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
}

.admin-request-title h3 {
  margin: 0;
  font-family: Georgia, serif;
  font-size: 24px;
  font-weight: 400;
}

.admin-request-title span {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
}

.admin-request-status {
  min-width: 170px;
}

.admin-request-status label {
  margin-top: 0;
}

.admin-request-data {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.admin-request-data div {
  padding: 13px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
}

.admin-request-data span,
.admin-request-data strong {
  display: block;
}

.admin-request-data span {
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.admin-request-data strong {
  margin-top: 5px;
  font-size: 13px;
  overflow-wrap: anywhere;
}

.admin-request-observations {
  margin-top: 15px;
  padding: 15px;
  border-radius: 10px;
  color: var(--muted);
  background: var(--cream);
  white-space: pre-line;
  line-height: 1.6;
}

.admin-request-products {
  margin-top: 17px;
  overflow-x: auto;
}

.admin-request-products table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.admin-request-products th,
.admin-request-products td {
  padding: 11px 10px;
  border-bottom: 1px solid var(--border);
  text-align: left;
}

.admin-request-products th {
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.admin-request-products td:last-child,
.admin-request-products th:last-child {
  text-align: right;
}

.admin-request-reference {
  margin-top: 14px;
  color: var(--muted);
  font-size: 10px;
  overflow-wrap: anywhere;
}

@media (max-width: 780px) {
  .requests-header-card,
  .admin-request-top {
    align-items: stretch;
    flex-direction: column;
  }

  .request-admin-filters,
  .admin-request-data {
    grid-template-columns: 1fr;
  }

  .admin-request-status {
    width: 100%;
  }
}

.admin-request-actions {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.request-action-button,
.request-action-link {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--ink);
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.request-action-button:hover,
.request-action-link:hover {
  border-color: var(--gold);
  color: var(--gold-dark);
}

.request-action-link.whatsapp {
  border-color: #25d366;
  color: #176b39;
  background: #effbf4;
}

.request-action-link.email {
  border-color: rgba(164, 122, 42, 0.45);
  color: var(--gold-dark);
  background: #fffaf0;
}

.request-action-button.copy-reference.copied {
  border-color: #63a77d;
  color: #256246;
  background: #edf8f2;
}

.request-print-header {
  display: none;
}

@media print {
  body * {
    visibility: hidden !important;
  }

  .admin-request-card.printing-request,
  .admin-request-card.printing-request * {
    visibility: visible !important;
  }

  .admin-request-card.printing-request {
    position: absolute;
    inset: 0;
    width: 100%;
    padding: 24px;
    border: 0;
    background: #fff;
    box-shadow: none;
  }

  .request-print-header {
    margin-bottom: 24px;
    padding-bottom: 14px;
    border-bottom: 2px solid #a47a2a;
    display: block;
  }

  .request-print-header h1 {
    margin: 0;
    font-family: Georgia, serif;
    font-size: 26px;
    font-weight: 400;
  }

  .request-print-header p {
    margin: 6px 0 0;
    color: #666;
    font-size: 12px;
  }

  .admin-request-status,
  .admin-request-actions {
    display: none !important;
  }

  .admin-request-data {
    grid-template-columns: repeat(3, 1fr);
  }

  .admin-request-products {
    overflow: visible;
  }
}

.admin-request-actions {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.request-action-button,
.request-action-link {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--ink);
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.request-action-link.whatsapp {
  border-color: #25d366;
  color: #176b39;
  background: #effbf4;
}

.request-action-link.email {
  border-color: rgba(164, 122, 42, 0.45);
  color: var(--gold-dark);
  background: #fffaf0;
}

.copy-reference.copied {
  border-color: #63a77d;
  color: #256246;
  background: #edf8f2;
}

.admin-request-actions {
  justify-content: center;
  width: 100%;
}

.product-form-actions {
  margin-top: 18px;
  display: flex;
  gap: 10px;
}

.product-form-actions .primary-button,
.product-form-actions .secondary-button {
  width: 100%;
  margin: 0;
}

.product-record-actions {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.product-action-button {
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--ink);
  background: #fff;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.product-action-button:hover {
  border-color: var(--gold);
  color: var(--gold-dark);
}

.product-action-button.status-disable {
  border-color: #d6aaaa;
  color: #8a2929;
  background: #fff7f7;
}

.product-action-button.status-enable {
  border-color: #a8d2b8;
  color: #256246;
  background: #f0faf4;
}

@media (max-width: 620px) {
  .product-form-actions {
    flex-direction: column;
  }
}

.upload-preview {
  margin-top: 10px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
  display: flex;
  align-items: center;
  gap: 14px;
}

.upload-preview img {
  width: 110px;
  height: 110px;
  border-radius: 9px;
  object-fit: contain;
  background: var(--cream);
}

.upload-file-preview {
  margin-top: 10px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.upload-file-preview span {
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.upload-remove-button {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid #d6aaaa;
  border-radius: 8px;
  color: #8a2929;
  background: #fff7f7;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}


/* Importación masiva de productos */

.import-products-card {
  grid-column: 1 / -1;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: #fff;
}

.import-products-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.import-products-header h2 {
  margin-bottom: 8px;
}

.import-template-link {
  flex: 0 0 auto;
  text-decoration: none;
}

.product-import-form {
  margin-top: 22px;
}

.product-import-fields {
  display: grid;
  grid-template-columns:
    minmax(260px, 1fr)
    minmax(260px, 0.8fr)
    auto;
  gap: 18px;
  align-items: end;
}

.import-file-field {
  min-width: 0;
}

.import-file-field label,
.import-file-field input,
.import-file-field span {
  display: block;
}

.import-file-field input {
  width: 100%;
}

.field-help {
  margin-top: 7px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.import-overwrite-option {
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--cream);
  display: flex;
  align-items: flex-start;
  gap: 11px;
  cursor: pointer;
}

.import-overwrite-option input {
  width: auto;
  margin-top: 3px;
}

.import-overwrite-option span,
.import-overwrite-option strong,
.import-overwrite-option small {
  display: block;
}

.import-overwrite-option strong {
  font-size: 13px;
}

.import-overwrite-option small {
  margin-top: 4px;
  color: var(--muted);
  line-height: 1.45;
}

.product-import-result {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid var(--border);
}

.import-result-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(110px, 1fr));
  gap: 12px;
}

.import-result-summary article {
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: #fffdf9;
}

.import-result-summary span,
.import-result-summary strong {
  display: block;
}

.import-result-summary span {
  color: var(--muted);
  font-size: 12px;
}

.import-result-summary strong {
  margin-top: 7px;
  font-family: Georgia, serif;
  font-size: 27px;
  font-weight: 400;
}

.import-errors-container {
  margin-top: 22px;
}

.import-errors-container h3 {
  margin: 0 0 12px;
  font-family: Georgia, serif;
  font-size: 20px;
  font-weight: 400;
}

.import-errors-table-wrapper {
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: 12px;
}

.import-errors-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}

.import-errors-table th,
.import-errors-table td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
}

.import-errors-table th {
  color: var(--muted);
  background: var(--cream);
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.import-errors-table td {
  font-size: 13px;
  line-height: 1.5;
}

.import-errors-table tr:last-child td {
  border-bottom: 0;
}

@media (max-width: 1000px) {
  .product-import-fields {
    grid-template-columns: 1fr 1fr;
  }

  .product-import-fields .primary-button {
    grid-column: 1 / -1;
  }

  .import-result-summary {
    grid-template-columns: repeat(3, 1fr);
  }
}

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

  .product-import-fields,
  .import-result-summary {
    grid-template-columns: 1fr;
  }

  .product-import-fields .primary-button {
    grid-column: auto;
  }

  .import-template-link {
    width: 100%;
    text-align: center;
  }
}


/* Ajustes del importador de productos */

.product-import-fields {
  grid-template-columns:
    minmax(320px, 1fr)
    minmax(310px, 0.75fr);
  align-items: stretch;
}

.product-import-actions {
  margin-top: 18px;
  display: flex;
  justify-content: flex-end;
}

.product-import-actions .primary-button {
  min-width: 210px;
  min-height: 48px;
}

.import-template-link {
  min-width: 185px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.import-overwrite-option {
  height: 100%;
  box-sizing: border-box;
  align-items: center;
}

@media (max-width: 760px) {
  .product-import-fields {
    grid-template-columns: 1fr;
  }

  .product-import-actions {
    justify-content: stretch;
  }

  .product-import-actions .primary-button {
    width: 100%;
  }
}

/* Botón visible para generar plantilla */

#generateProductTemplateButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 205px;
  min-height: 45px;
  padding: 0 20px;
  border: 1px solid var(--gold);
  border-radius: 9px;
  color: var(--gold);
  background: #fffaf1;
  font-weight: 700;
  cursor: pointer;
}

#generateProductTemplateButton:hover {
  color: #ffffff;
  background: var(--gold);
}

.product-import-actions {
  margin-top: 16px;
  display: flex;
  justify-content: flex-end;
}

#importProductsButton {
  min-width: 210px;
}

/* Botones superiores del importador */

.product-import-header-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 12px;
}

.product-import-header-actions button {
  min-width: 205px;
  min-height: 46px;
  margin: 0;
}

.product-import-header-actions #importProductsButton {
  color: #ffffff;
  background: var(--gold);
  border: 1px solid var(--gold);
}

.product-import-header-actions #importProductsButton:hover {
  filter: brightness(0.94);
}

@media (max-width: 860px) {
  .import-products-header {
    flex-direction: column;
    align-items: stretch;
  }

  .product-import-header-actions {
    width: 100%;
  }

  .product-import-header-actions button {
    flex: 1 1 0;
    min-width: 0;
  }
}

@media (max-width: 560px) {
  .product-import-header-actions {
    flex-direction: column;
  }

  .product-import-header-actions button {
    width: 100%;
  }
}

/* Centrar selector de archivo */

.import-file-field {
  display: flex;
  flex-direction: column;
}

.import-file-field input[type="file"] {
  min-height: 50px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}

.import-file-field input[type="file"]::file-selector-button {
  min-height: 32px;
  margin-right: 10px;
  padding: 5px 12px;
  cursor: pointer;
}

/* Compactar opción de sobrescritura */

.product-import-fields {
  grid-template-columns:
    minmax(420px, 1.4fr)
    minmax(280px, 0.65fr);
  align-items: start;
}

.import-overwrite-option {
  width: 100%;
  min-height: 64px;
  height: auto;
  padding: 10px 14px;
  align-items: center;
  box-sizing: border-box;
}

.import-overwrite-option input {
  flex: 0 0 auto;
  margin: 0;
}

.import-overwrite-option strong {
  font-size: 13px;
  line-height: 1.2;
}

.import-overwrite-option small {
  margin-top: 3px;
  font-size: 11px;
  line-height: 1.3;
}

@media (max-width: 760px) {
  .product-import-fields {
    grid-template-columns: 1fr;
  }

  .import-overwrite-option {
    min-height: 58px;
  }
}

/* Alinear selector y opción de sobrescritura */

.product-import-fields {
  align-items: start;
}

.import-file-field input[type="file"],
.import-overwrite-option {
  height: 50px;
  min-height: 50px;
  box-sizing: border-box;
}

.import-overwrite-option {
  margin-top: 24px;
  padding: 7px 14px;
  align-items: center;
}

.import-overwrite-option small {
  margin-top: 2px;
}

@media (max-width: 760px) {
  .import-overwrite-option {
    margin-top: 0;
    height: auto;
    min-height: 58px;
  }
}

/* Alineación final en una sola línea */

.product-import-fields {
  display: grid;
  grid-template-columns:
    minmax(420px, 1.4fr)
    minmax(300px, 0.65fr);
  gap: 18px;
  align-items: end;
}

.import-file-field {
  display: grid;
  grid-template-rows: auto 50px auto;
}

.import-file-field input[type="file"] {
  height: 50px;
  min-height: 50px;
  margin: 0;
}

.import-overwrite-option {
  height: 50px;
  min-height: 50px;
  margin: 0;
  padding: 7px 14px;
  align-self: end;
  box-sizing: border-box;
}

@media (max-width: 760px) {
  .product-import-fields {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .import-overwrite-option {
    height: auto;
    min-height: 58px;
    align-self: stretch;
  }
}

/* Alinear exactamente ambos controles */

.product-import-fields {
  display: grid;
  grid-template-columns:
    minmax(420px, 1.4fr)
    minmax(300px, 0.65fr);
  grid-template-rows: auto 50px auto;
  column-gap: 18px;
  row-gap: 6px;
  align-items: stretch;
}

.import-file-field {
  display: contents;
}

.import-file-field > label {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  align-self: end;
}

.import-file-field > input[type="file"] {
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  height: 50px;
  min-height: 50px;
  margin: 0;
}

.import-file-field > .field-help {
  grid-column: 1;
  grid-row: 3;
  margin: 0;
}

.import-overwrite-option {
  grid-column: 2;
  grid-row: 2;
  width: 100%;
  height: 50px;
  min-height: 50px;
  margin: 0;
  padding: 7px 14px;
  align-self: stretch;
  box-sizing: border-box;
}

@media (max-width: 760px) {
  .product-import-fields {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .import-file-field {
    display: flex;
  }

  .import-overwrite-option {
    width: 100%;
    height: auto;
    min-height: 58px;
  }
}


/* Importación mediante Excel, CSV o ZIP */

.product-import-mode {
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.product-import-mode > span {
  margin-right: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.product-import-mode label {
  min-height: 38px;
  padding: 8px 14px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: #fffdf9;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.product-import-mode input {
  width: auto;
  margin: 0;
}

.product-zip-help {
  margin-bottom: 16px;
  padding: 14px 16px;
  border: 1px solid #dec89d;
  border-radius: 12px;
  background: #fffaf1;
}

.product-zip-help strong,
.product-zip-help span {
  display: block;
}

.product-zip-help code {
  margin: 8px 8px 0 0;
  padding: 5px 8px;
  border-radius: 6px;
  background: #f1e7d3;
  display: inline-block;
  font-size: 12px;
}

.product-zip-help span {
  margin-top: 10px;
  color: var(--muted);
  font-size: 12px;
}

.import-warnings-container {
  margin-top: 22px;
  padding: 16px 18px;
  border: 1px solid #e5c477;
  border-radius: 12px;
  background: #fffaf0;
}

.import-warnings-container h3 {
  margin: 0 0 10px;
  font-family: Georgia, serif;
  font-size: 19px;
  font-weight: 400;
}

.import-warnings-container ul {
  margin: 0;
  padding-left: 20px;
}

.import-warnings-container li {
  margin: 5px 0;
  font-size: 13px;
  line-height: 1.45;
}

.import-result-summary {
  grid-template-columns:
    repeat(auto-fit, minmax(125px, 1fr));
}


/* Acciones masivas del catálogo */

.catalog-bulk-toolbar {
  margin-top: 16px;
  padding: 16px 18px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #ffffff;
  display: grid;
  gap: 14px;
}

.catalog-bulk-selection,
.catalog-bulk-options {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.catalog-bulk-selection strong {
  margin-right: auto;
  font-family: Georgia, serif;
  font-size: 18px;
  font-weight: 400;
}

.catalog-bulk-options select {
  min-width: 210px;
}

.catalog-bulk-checkbox {
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--cream);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.catalog-bulk-checkbox input {
  width: auto;
  margin: 0;
}

.secondary-action-button {
  min-height: 45px;
  padding: 0 18px;
  border: 1px solid #b75f5f;
  border-radius: 9px;
  color: #9b3f3f;
  background: #fff7f7;
  font-weight: 700;
  cursor: pointer;
}

.secondary-action-button:hover {
  color: #ffffff;
  background: #a94b4b;
}

.catalog-product-header {
  grid-template-columns:
    28px
    66px
    minmax(0, 1fr)
    auto;
}

.catalog-product-selector {
  display: grid;
  place-items: center;
}

.catalog-product-selector input {
  width: 18px;
  height: 18px;
  margin: 0;
}

.catalog-product-card.selected {
  border-color: var(--gold);
  box-shadow: 0 0 0 2px rgba(176, 125, 36, 0.12);
}

@media (max-width: 760px) {
  .catalog-bulk-options {
    align-items: stretch;
    flex-direction: column;
  }

  .catalog-bulk-options select,
  .catalog-bulk-options button,
  .catalog-bulk-checkbox {
    width: 100%;
  }

  .catalog-product-header {
    grid-template-columns:
      28px
      56px
      minmax(0, 1fr);
  }

  .catalog-product-header .assignment-state {
    grid-column: 2 / -1;
  }
}


/* Mejoras visuales de acciones masivas */
.catalog-bulk-main-action {
  min-width: 220px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.catalog-bulk-selection .icon-button {
  min-width: 190px;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.catalog-bulk-checkbox {
  min-width: 150px;
  min-height: 48px;
  box-sizing: border-box;
  justify-content: center;
}

.catalog-bulk-help {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

@media (max-width: 760px) {
  .catalog-bulk-main-action,
  .catalog-bulk-selection .icon-button,
  .catalog-bulk-checkbox {
    width: 100%;
    min-width: 0;
  }
}


/* Igualar totalmente los controles masivos */
.catalog-bulk-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: stretch;
}

.catalog-bulk-options .catalog-bulk-checkbox,
.catalog-bulk-options .catalog-bulk-main-action {
  width: 220px;
  min-width: 220px;
  max-width: 220px;
  height: 52px;
  min-height: 52px;
  max-height: 52px;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
}

.catalog-bulk-options .catalog-bulk-checkbox {
  gap: 10px;
  text-align: center;
}

.catalog-bulk-options .catalog-bulk-checkbox span {
  display: inline-block;
  line-height: 1.2;
}

.catalog-bulk-options .catalog-bulk-checkbox input {
  margin: 0;
  flex: 0 0 auto;
}

.catalog-bulk-options .catalog-bulk-main-action {
  font-size: 15px;
  font-weight: 700;
}

@media (max-width: 760px) {
  .catalog-bulk-options .catalog-bulk-checkbox,
  .catalog-bulk-options .catalog-bulk-main-action {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
  }
}


.catalog-bulk-selection .icon-button {
  width: 190px;
  min-width: 190px;
  max-width: 190px;
  height: 46px;
  min-height: 46px;
  max-height: 46px;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}


/* Retícula uniforme para acciones masivas del catálogo */

.catalog-bulk-toolbar {
  gap: 18px;
}

.catalog-bulk-selection {
  display: grid;
  grid-template-columns:
    minmax(220px, 1fr)
    repeat(3, 190px);
  gap: 10px;
  align-items: center;
}

.catalog-bulk-selection strong {
  margin: 0;
}

.catalog-bulk-selection .icon-button {
  width: 190px;
  min-width: 190px;
  max-width: 190px;
  height: 48px;
  min-height: 48px;
  max-height: 48px;
  padding: 0 14px;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.catalog-bulk-options {
  display: grid;
  grid-template-columns:
    repeat(4, 220px);
  gap: 10px;
  align-items: stretch;
  justify-content: start;
}

.catalog-bulk-options select {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  height: 50px;
  box-sizing: border-box;
}

.catalog-bulk-options .catalog-bulk-checkbox,
.catalog-bulk-options .catalog-bulk-main-action {
  width: 220px;
  min-width: 220px;
  max-width: 220px;
  height: 52px;
  min-height: 52px;
  max-height: 52px;
  box-sizing: border-box;
  margin: 0;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.catalog-bulk-options .catalog-bulk-checkbox {
  gap: 10px;
}

.catalog-bulk-options .catalog-bulk-checkbox input {
  width: 16px;
  height: 16px;
  margin: 0;
}

.catalog-bulk-options .catalog-bulk-main-action {
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}

.catalog-bulk-help {
  margin: 14px 0 0;
  padding: 0 2px;
  line-height: 1.55;
}

/* Pantallas medianas */
@media (max-width: 1150px) {
  .catalog-bulk-selection {
    grid-template-columns: repeat(3, 1fr);
  }

  .catalog-bulk-selection strong {
    grid-column: 1 / -1;
  }

  .catalog-bulk-selection .icon-button {
    width: 100%;
    min-width: 0;
    max-width: none;
  }

  .catalog-bulk-options {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }

  .catalog-bulk-options .catalog-bulk-checkbox,
  .catalog-bulk-options .catalog-bulk-main-action {
    width: 100%;
    min-width: 0;
    max-width: none;
  }
}

/* Móviles */
@media (max-width: 760px) {
  .catalog-bulk-selection,
  .catalog-bulk-options {
    grid-template-columns: 1fr;
  }

  .catalog-bulk-selection strong,
  .catalog-bulk-options select {
    grid-column: auto;
  }

  .catalog-bulk-selection .icon-button,
  .catalog-bulk-options .catalog-bulk-checkbox,
  .catalog-bulk-options .catalog-bulk-main-action {
    width: 100%;
    min-width: 0;
    max-width: none;
  }
}


/* Evitar que las casillas masivas cambien de tamaño al marcarse */

.catalog-bulk-options .catalog-bulk-checkbox {
  width: 220px !important;
  min-width: 220px !important;
  max-width: 220px !important;

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

  padding: 0 16px !important;
  margin: 0 !important;

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

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;

  transform: none !important;
  outline: none !important;
}

.catalog-bulk-options .catalog-bulk-checkbox:hover,
.catalog-bulk-options .catalog-bulk-checkbox:focus,
.catalog-bulk-options .catalog-bulk-checkbox:focus-within,
.catalog-bulk-options .catalog-bulk-checkbox:has(input:checked) {
  width: 220px !important;
  min-width: 220px !important;
  max-width: 220px !important;

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

  padding: 0 16px !important;
  margin: 0 !important;

  border-width: 1px !important;
  box-sizing: border-box !important;
  transform: none !important;
}

.catalog-bulk-options .catalog-bulk-checkbox input {
  width: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;

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

  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 16px !important;
  box-sizing: border-box !important;
  transform: none !important;
}

.catalog-bulk-options .catalog-bulk-checkbox span {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  white-space: nowrap;
}

.catalog-bulk-options .catalog-bulk-main-action {
  width: 220px !important;
  min-width: 220px !important;
  max-width: 220px !important;

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

  margin: 0 !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
}

@media (max-width: 1150px) {
  .catalog-bulk-options .catalog-bulk-checkbox,
  .catalog-bulk-options .catalog-bulk-checkbox:hover,
  .catalog-bulk-options .catalog-bulk-checkbox:focus,
  .catalog-bulk-options .catalog-bulk-checkbox:focus-within,
  .catalog-bulk-options .catalog-bulk-checkbox:has(input:checked),
  .catalog-bulk-options .catalog-bulk-main-action {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}


/* Cinco acciones masivas con dimensiones uniformes */
.catalog-bulk-options {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.catalog-bulk-options .catalog-bulk-checkbox,
.catalog-bulk-options .catalog-bulk-main-action,
.catalog-bulk-options .catalog-bulk-checkbox:hover,
.catalog-bulk-options .catalog-bulk-checkbox:focus,
.catalog-bulk-options .catalog-bulk-checkbox:focus-within,
.catalog-bulk-options .catalog-bulk-checkbox:has(input:checked) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
}

.catalog-options-button {
  border: 1px solid #8c7648;
  border-radius: 9px;
  background: #f7f1e5;
  color: #725c31;
  font-weight: 700;
  cursor: pointer;
}

.catalog-options-button:hover {
  background: #8c7648;
  color: #ffffff;
}

.catalog-options-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

@media (max-width: 1150px) {
  .catalog-bulk-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .catalog-bulk-options {
    grid-template-columns: 1fr;
  }
}


/* Ordenamiento masivo del catálogo */
.catalog-order-options {
  display: grid;
  grid-template-columns:
    minmax(160px, 220px)
    minmax(160px, 220px)
    minmax(220px, 1fr);
  gap: 10px;
  align-items: end;
}

.catalog-order-options > div {
  display: grid;
  gap: 6px;
}

.catalog-order-options label {
  font-size: 13px;
  font-weight: 700;
  color: var(--muted);
}

.catalog-order-options input,
.catalog-order-button {
  width: 100%;
  height: 50px;
  min-height: 50px;
  box-sizing: border-box;
}

.catalog-order-button {
  padding: 0 18px;
  border: 1px solid #6f6654;
  border-radius: 9px;
  background: #ffffff;
  color: #4f493e;
  font-weight: 700;
  cursor: pointer;
}

.catalog-order-button:hover {
  color: #ffffff;
  background: #6f6654;
}

.catalog-order-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

@media (max-width: 760px) {
  .catalog-order-options {
    grid-template-columns: 1fr;
  }
}


.client-code {
  display: inline-block;
  width: fit-content;
  margin-top: 3px;
  padding: 4px 8px;
  border: 1px solid rgba(166, 123, 48, 0.25);
  border-radius: 999px;
  background: #faf6ed;
  color: #826328;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.03em;
}


.client-import-card {
  margin-bottom: 24px;
}


/* Combos de cliente con búsqueda */
.searchable-client-combo {
  display: grid;
  gap: 8px;
}

.searchable-client-combo input[type="search"],
.searchable-client-combo select {
  width: 100%;
  min-height: 46px;
  box-sizing: border-box;
}

.searchable-client-combo input[type="search"] {
  padding-right: 38px;
}

.searchable-client-combo select {
  background-color: #ffffff;
}

.client-catalog-selector .searchable-client-combo {
  min-width: 360px;
}

@media (max-width: 760px) {
  .client-catalog-selector .searchable-client-combo {
    min-width: 0;
    width: 100%;
  }
}


/* Combo buscable real de clientes */
.searchable-client-combo {
  position: relative;
}

.client-combo-original-select {
  display: none;
}

.client-combo-suggestions {
  position: absolute;
  z-index: 100;
  top: calc(46px + 8px);
  left: 0;
  right: 0;
  max-height: 320px;
  overflow-y: auto;
  border: 1px solid #d7c9ae;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 14px 32px rgba(45, 35, 18, 0.14);
}

.client-combo-suggestion {
  width: 100%;
  padding: 12px 14px;
  border: 0;
  border-bottom: 1px solid #eee5d7;
  background: #ffffff;
  color: #1f1b15;
  text-align: left;
  cursor: pointer;
  display: grid;
  gap: 4px;
}

.client-combo-suggestion:last-child {
  border-bottom: 0;
}

.client-combo-suggestion:hover,
.client-combo-suggestion:focus {
  background: #faf5e9;
}

.client-combo-suggestion strong {
  font-size: 14px;
}

.client-combo-suggestion span {
  color: #756955;
  font-size: 12px;
}

.client-combo-empty {
  padding: 16px;
  color: #756955;
  font-size: 13px;
  text-align: center;
}


/* Copiar catálogo entre clientes */
.catalog-copy-card {
  margin-bottom: 24px;
  padding: 24px 28px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: #ffffff;
}

.catalog-copy-heading {
  margin-bottom: 20px;
}

.catalog-copy-grid {
  display: grid;
  grid-template-columns:
    minmax(250px, 1fr)
    minmax(250px, 1fr)
    minmax(260px, 1fr)
    190px;
  gap: 14px;
  align-items: end;
}

.catalog-copy-field {
  display: grid;
  gap: 7px;
}

.catalog-copy-field label {
  font-size: 13px;
  font-weight: 700;
}

.catalog-copy-field input,
.catalog-copy-field select,
.catalog-copy-button {
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
}

.catalog-copy-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.catalog-copy-warning {
  margin: 16px 0 0;
  padding: 12px 14px;
  border: 1px solid #ead1aa;
  border-radius: 10px;
  background: #fff9ef;
  color: #725c35;
  font-size: 13px;
  line-height: 1.5;
}

@media (max-width: 1150px) {
  .catalog-copy-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .catalog-copy-grid {
    grid-template-columns: 1fr;
  }
}


/* Vista previa de copia de catálogo */
.catalog-copy-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.catalog-copy-actions .catalog-copy-button {
  min-width: 0;
}

.catalog-copy-preview {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(5, minmax(130px, 1fr));
  gap: 10px;
}

.catalog-copy-preview[hidden] {
  display: none;
}

.catalog-copy-preview article {
  min-height: 88px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #faf8f3;
  display: grid;
  align-content: center;
  gap: 6px;
}

.catalog-copy-preview article span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.catalog-copy-preview article strong {
  font-family: Georgia, serif;
  font-size: 25px;
  font-weight: 400;
}

.catalog-copy-preview article.danger {
  border-color: #e2b8b8;
  background: #fff5f5;
}

.catalog-copy-preview article.danger strong {
  color: #a74343;
}

@media (max-width: 1150px) {
  .catalog-copy-preview {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .catalog-copy-actions,
  .catalog-copy-preview {
    grid-template-columns: 1fr;
  }
}


/* Botón visible para generar vista previa */
#previewCatalogCopyButton {
  background: #fff8ea;
  border: 1px solid #b98524;
  color: #5f4315;
  font-weight: 700;
}

#previewCatalogCopyButton:hover,
#previewCatalogCopyButton:focus {
  background: #f2dfb5;
  border-color: #9f701d;
  color: #3f2c0e;
}

#previewCatalogCopyButton:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}


/* Ajuste final de espacios y tamaño en copia de catálogo */
.catalog-copy-grid {
  grid-template-columns:
    minmax(260px, 1fr)
    minmax(260px, 1fr)
    minmax(290px, 1fr)
    290px;
  gap: 14px;
  align-items: end;
}

.catalog-copy-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  width: 290px;
}

.catalog-copy-actions .catalog-copy-button {
  min-height: 48px;
  padding: 10px 14px;
  white-space: nowrap;
  line-height: 1.15;
  font-size: 14px;
  border-radius: 10px;
}

#previewCatalogCopyButton,
#copyCatalogButton {
  width: 100%;
}

.catalog-copy-card {
  padding: 24px 28px;
}

.catalog-copy-heading {
  margin-bottom: 18px;
}

.catalog-copy-field input,
.catalog-copy-field select {
  min-height: 48px;
}

.catalog-copy-warning {
  margin-top: 16px;
}

@media (max-width: 1250px) {
  .catalog-copy-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .catalog-copy-actions {
    width: 100%;
  }
}

@media (max-width: 760px) {
  .catalog-copy-grid,
  .catalog-copy-actions {
    grid-template-columns: 1fr;
  }

  .catalog-copy-actions {
    width: 100%;
  }
}


.catalog-copy-warning.danger {
  border-color: #e4aaaa;
  background: #fff3f3;
  color: #9d2929;
}


/* Forzar visualización de los resultados de vista previa */
.catalog-copy-preview {
  display: none;
}

.catalog-copy-preview.is-visible {
  display: grid !important;
}

.catalog-copy-preview[hidden] {
  display: none !important;
}


/* Historial de copias de catálogo */
.catalog-copy-history-card {
  margin-bottom: 24px;
  padding: 24px 28px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: #ffffff;
}

.catalog-copy-history-header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 18px;
}

.catalog-copy-history-list {
  display: grid;
  gap: 12px;
}

.catalog-copy-history-item {
  padding: 18px;
  border: 1px solid #e7ddca;
  border-radius: 14px;
  background: #fcfaf6;
}

.catalog-copy-history-top {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 16px;
}

.catalog-copy-history-top > div {
  display: grid;
  gap: 4px;
}

.catalog-copy-history-top strong {
  font-size: 15px;
}

.history-date {
  color: var(--muted);
  font-size: 12px;
}

.history-mode {
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

.history-mode.merge {
  background: #edf7ed;
  color: #39733c;
}

.history-mode.replace {
  background: #fff0f0;
  color: #a23b3b;
}

.catalog-copy-history-clients {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.catalog-copy-history-clients div,
.catalog-copy-history-counts div {
  display: grid;
  gap: 4px;
}

.catalog-copy-history-clients span,
.catalog-copy-history-counts span {
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.catalog-copy-history-clients strong {
  font-size: 13px;
  overflow-wrap: anywhere;
}

.catalog-copy-history-counts {
  display: grid;
  grid-template-columns: repeat(4, minmax(100px, 1fr));
  gap: 10px;
}

.catalog-copy-history-counts div {
  padding: 10px 12px;
  border-radius: 10px;
  background: #ffffff;
  border: 1px solid #ece3d4;
}

.catalog-copy-history-counts strong {
  font-size: 20px;
  font-family: Georgia, serif;
  font-weight: 400;
}

.catalog-copy-history-counts .danger {
  border-color: #e4b5b5;
  background: #fff4f4;
}

.catalog-copy-history-counts .danger strong {
  color: #a23b3b;
}

@media (max-width: 850px) {
  .catalog-copy-history-header {
    display: grid;
  }

  .catalog-copy-history-clients {
    grid-template-columns: 1fr;
  }

  .catalog-copy-history-counts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* Historial plegable */
.catalog-copy-history-card.collapsed {
  padding-top: 18px;
  padding-bottom: 18px;
}

.catalog-copy-history-card.collapsed
.catalog-copy-history-header {
  margin-bottom: 0;
  align-items: center;
}

.catalog-copy-history-card.collapsed
.section-description {
  margin-bottom: 0;
}

.catalog-copy-history-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.catalog-copy-history-content[hidden] {
  display: none !important;
}

#toggleCatalogCopyHistoryButton {
  min-width: 140px;
  border: 1px solid #b98524;
  background: #fff8ea;
  color: #5f4315;
  font-weight: 700;
}

#toggleCatalogCopyHistoryButton:hover,
#toggleCatalogCopyHistoryButton:focus {
  background: #f2dfb5;
}

@media (max-width: 760px) {
  .catalog-copy-history-actions {
    width: 100%;
  }

  .catalog-copy-history-actions button {
    width: 100%;
  }
}


/* Distribución con selector de alcance */
.catalog-copy-grid {
  grid-template-columns:
    minmax(230px, 1fr)
    minmax(230px, 1fr)
    minmax(230px, 0.9fr)
    minmax(250px, 1fr)
    290px;
}

@media (max-width: 1450px) {
  .catalog-copy-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .catalog-copy-actions {
    width: 100%;
  }
}


/* Detalle plegable de vista previa */
.catalog-copy-detail-section {
  margin-top: 14px;
}

.catalog-copy-detail-section[hidden],
.catalog-copy-detail-content[hidden] {
  display: none !important;
}

.catalog-copy-detail-toggle {
  min-height: 42px;
  padding: 9px 16px;
  border: 1px solid #b98524;
  background: #fff8ea;
  color: #5f4315;
  font-weight: 700;
}

.catalog-copy-detail-content {
  margin-top: 12px;
  display: grid;
  gap: 12px;
}

.catalog-copy-detail-group {
  border: 1px solid #e5dccb;
  border-radius: 12px;
  background: #fcfaf6;
  overflow: hidden;
}

.catalog-copy-detail-group.remove {
  border-color: #e1b5b5;
}

.catalog-copy-detail-heading {
  padding: 12px 15px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  border-bottom: 1px solid #e9e0d1;
}

.catalog-copy-detail-heading h3 {
  margin: 0;
  font-size: 14px;
}

.catalog-copy-detail-heading > strong {
  min-width: 30px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #ffffff;
  text-align: center;
  font-size: 13px;
}

.catalog-copy-detail-group.remove
.catalog-copy-detail-heading {
  background: #fff4f4;
}

.catalog-copy-detail-list {
  max-height: 280px;
  overflow-y: auto;
}

.catalog-copy-detail-item {
  padding: 11px 15px;
  border-bottom: 1px solid #eee6d9;
  background: #ffffff;
}

.catalog-copy-detail-item:last-child {
  border-bottom: 0;
}

.catalog-copy-detail-item > div {
  display: grid;
  gap: 3px;
}

.catalog-copy-detail-item strong {
  font-size: 13px;
}

.catalog-copy-detail-item span {
  color: var(--muted);
  font-size: 11px;
}

.catalog-copy-detail-empty {
  padding: 16px;
  color: var(--muted);
  font-size: 13px;
  text-align: center;
}


/* Exportación del catálogo del cliente */
.catalog-export-scope {
  min-height: 42px;
  min-width: 225px;
}

.catalog-export-button {
  min-height: 42px;
  padding: 9px 16px;
  border: 1px solid #b98524;
  background: #fff8ea;
  color: #5f4315;
  font-weight: 700;
  white-space: nowrap;
}

.catalog-export-button:hover,
.catalog-export-button:focus {
  background: #f2dfb5;
}

@media (max-width: 850px) {
  .catalog-toolbar-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }

  .catalog-export-scope,
  .catalog-export-button,
  .catalog-toolbar-actions input,
  .catalog-toolbar-actions button {
    width: 100%;
    min-width: 0;
  }
}


/* Distribución uniforme de controles por producto */
.catalog-product-settings {
  grid-template-columns:
    minmax(190px, 1.4fr)
    minmax(120px, 0.8fr)
    repeat(3, minmax(145px, 0.8fr))
    minmax(130px, 0.55fr);
  align-items: end;
}

.catalog-product-settings .catalog-setting,
.catalog-product-settings .catalog-checkbox,
.catalog-product-settings .save-assignment-button {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.catalog-product-settings .catalog-checkbox,
.catalog-product-settings .save-assignment-button {
  height: 49px;
  min-height: 49px;
}

.save-assignment-button {
  margin: 0;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: end;
  justify-self: stretch;
  line-height: 1;
  white-space: nowrap;
}

@media (max-width: 1200px) {
  .catalog-product-settings {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .save-assignment-button {
    width: 100%;
  }
}

@media (max-width: 760px) {
  .catalog-product-settings {
    grid-template-columns: 1fr;
  }
}


/* Compactar paneles superiores de configuración de catálogo */
.catalog-client-card,
.catalog-toolbar,
.catalog-bulk-options,
.catalog-order-card {
  padding: 14px 16px;
  border-radius: 12px;
}

.catalog-client-card {
  gap: 12px;
}

.catalog-toolbar {
  gap: 10px;
}

.catalog-toolbar-actions {
  gap: 8px;
}

.catalog-bulk-options {
  gap: 10px;
}

.catalog-bulk-options label,
.catalog-order-card label {
  margin-bottom: 4px;
  font-size: 12px;
}

.catalog-client-card h2,
.catalog-client-card h3,
.catalog-toolbar h2,
.catalog-toolbar h3,
.catalog-bulk-options h3,
.catalog-order-card h3 {
  margin-top: 0;
  margin-bottom: 6px;
}

.catalog-client-card p,
.catalog-toolbar p,
.catalog-bulk-options p,
.catalog-order-card p {
  margin-top: 3px;
  margin-bottom: 6px;
}

.catalog-toolbar input,
.catalog-toolbar select,
.catalog-bulk-options input,
.catalog-bulk-options select,
.catalog-order-card input,
.catalog-order-card select {
  min-height: 42px;
  height: 42px;
}

.catalog-toolbar button,
.catalog-bulk-options button,
.catalog-order-card button {
  min-height: 42px;
  height: 42px;
  padding-top: 0;
  padding-bottom: 0;
}

.catalog-order-card {
  margin-top: 10px;
}

.catalog-products-list {
  margin-top: 10px;
}

@media (max-width: 760px) {
  .catalog-client-card,
  .catalog-toolbar,
  .catalog-bulk-options,
  .catalog-order-card {
    padding: 12px;
  }
}


/* =========================================================
   Zona superior compacta de Catálogos por cliente
   ========================================================= */

/* Encabezado principal */
.page-header,
.admin-page-header,
.catalog-page-header {
  padding-top: 12px;
  padding-bottom: 12px;
  margin-bottom: 14px;
}

.page-header h1,
.admin-page-header h1,
.catalog-page-header h1 {
  margin-top: 2px;
  margin-bottom: 4px;
  font-size: 30px;
}

.page-header .eyebrow,
.admin-page-header .eyebrow,
.catalog-page-header .eyebrow {
  margin-bottom: 3px;
}

/* Tarjeta que contiene la copia entre clientes */
article:has(#copySourceClientSelect),
article:has(#copySourceClientSearch),
.catalog-copy-card {
  padding: 16px 20px;
  border-radius: 13px;
  margin-bottom: 10px;
}

article:has(#copySourceClientSelect) h2,
article:has(#copySourceClientSearch) h2,
.catalog-copy-card h2 {
  margin-top: 2px;
  margin-bottom: 5px;
  font-size: 22px;
}

article:has(#copySourceClientSelect) > div > p,
article:has(#copySourceClientSearch) > div > p,
.catalog-copy-card > div > p {
  margin-top: 3px;
  margin-bottom: 8px;
}

/* Reducir separación de los controles de copia */
.catalog-copy-grid {
  margin-top: 12px;
  gap: 10px;
}

.catalog-copy-field label {
  margin-bottom: 4px;
  font-size: 12px;
}

.catalog-copy-field input,
.catalog-copy-field select,
.catalog-copy-actions button {
  height: 42px;
  min-height: 42px;
}

.catalog-copy-warning {
  margin-top: 10px;
  margin-bottom: 0;
  padding: 9px 12px;
  min-height: 0;
  font-size: 12px;
  line-height: 1.35;
}

/* =========================================================
   Historial convertido en botón compacto
   ========================================================= */

.catalog-copy-history-card {
  margin: 2px 0 10px;
  padding: 0;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* Ocultar título BITÁCORA, descripción y encabezado grande */
.catalog-copy-history-card
.catalog-copy-history-header
> div:first-child {
  display: none;
}

.catalog-copy-history-header {
  min-height: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: 0;
  padding: 0;
}

.catalog-copy-history-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

/* Botón pequeño para desplegar el historial */
#toggleCatalogCopyHistoryButton {
  width: auto;
  min-width: 135px;
  height: 38px;
  min-height: 38px;
  padding: 0 15px;
  border: 1px solid #b98524;
  border-radius: 9px;
  background: transparent;
  color: #725019;
  font-size: 12px;
  font-weight: 700;
}

#toggleCatalogCopyHistoryButton:hover,
#toggleCatalogCopyHistoryButton:focus {
  background: #fff7e7;
}

/* Actualizar solo aparece al abrir el historial */
#refreshCatalogCopyHistoryButton {
  width: auto;
  height: 38px;
  min-height: 38px;
  padding: 0 14px;
}

/* Contenido desplegado, sin recuperar la tarjeta grande */
.catalog-copy-history-content {
  margin-top: 9px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: #ffffff;
}

.catalog-copy-history-content[hidden] {
  display: none !important;
}

/* Reducir separación antes de configurar productos */
.catalog-client-card {
  margin-top: 8px;
}

@media (max-width: 760px) {
  article:has(#copySourceClientSelect),
  article:has(#copySourceClientSearch),
  .catalog-copy-card {
    padding: 13px;
  }

  .catalog-copy-history-header,
  .catalog-copy-history-actions {
    width: 100%;
  }

  #toggleCatalogCopyHistoryButton {
    width: 100%;
  }

  #refreshCatalogCopyHistoryButton {
    width: 100%;
  }
}


/* Historial integrado en el cuadro de copia */
.catalog-copy-actions {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}

.catalog-copy-history-inline-button {
  height: 42px;
  min-height: 42px;
  padding: 0 15px;
  border: 1px solid #b98524;
  background: #fffaf0;
  color: #725019;
  font-weight: 700;
  white-space: nowrap;
}

#refreshCatalogCopyHistoryButton {
  height: 42px;
  min-height: 42px;
  padding: 0 14px;
  white-space: nowrap;
}

#catalogCopyHistoryContent {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: #fff;
}

#catalogCopyHistoryContent[hidden] {
  display: none !important;
}

/* La tarjeta anterior ya no debe ocupar espacio */
.catalog-copy-history-card {
  display: none !important;
}

@media (max-width: 1200px) {
  .catalog-copy-actions {
    width: 100%;
  }

  .catalog-copy-history-inline-button,
  #refreshCatalogCopyHistoryButton {
    flex: 1;
  }
}

@media (max-width: 760px) {
  .catalog-copy-history-inline-button,
  #refreshCatalogCopyHistoryButton {
    width: 100%;
    flex: 0 0 100%;
  }
}


/* Historial integrado correctamente en acciones de copia */
.catalog-copy-actions {
  display: grid;
  grid-template-columns:
    minmax(150px, 1fr)
    minmax(150px, 1fr)
    minmax(135px, 0.8fr);
  gap: 10px;
  align-items: end;
}

.catalog-copy-actions .catalog-copy-button {
  width: 100%;
  min-width: 0;
  height: 48px;
  min-height: 48px;
  margin: 0;
}

.catalog-copy-history-inline-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

#refreshCatalogCopyHistoryButton[hidden] {
  display: none !important;
}

#catalogCopyHistoryContent {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: #fff;
}

#catalogCopyHistoryContent[hidden] {
  display: none !important;
}

/* La tarjeta externa ya fue eliminada del HTML */
.catalog-copy-history-card {
  display: none !important;
}

@media (max-width: 1200px) {
  .catalog-copy-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .catalog-copy-actions {
    grid-template-columns: 1fr;
  }
}


/* Botón de historial en la esquina superior derecha */
.catalog-copy-card,
article:has(#copySourceClientSearch) {
  position: relative;
}

#toggleCatalogCopyHistoryButton {
  position: absolute;
  top: 20px;
  right: 20px;
  width: auto;
  min-width: 130px;
  height: 38px;
  min-height: 38px;
  padding: 0 15px;
  z-index: 2;
}

/* Mantener abajo solamente las acciones principales */
.catalog-copy-actions {
  grid-template-columns:
    minmax(150px, 1fr)
    minmax(150px, 1fr);
}

.catalog-copy-actions
#toggleCatalogCopyHistoryButton {
  position: absolute;
}

/* Dejar espacio para el botón superior */
.catalog-copy-card > div:first-child,
article:has(#copySourceClientSearch) > div:first-child {
  padding-right: 155px;
}

@media (max-width: 760px) {
  #toggleCatalogCopyHistoryButton {
    position: static;
    width: 100%;
    margin-top: 10px;
  }

  .catalog-copy-card > div:first-child,
  article:has(#copySourceClientSearch) > div:first-child {
    padding-right: 0;
  }
}


/* Corrección del historial integrado */
#catalogCopyHistoryContent {
  width: 100%;
  box-sizing: border-box;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: #fff;
}

#catalogCopyHistoryContent[hidden] {
  display: none !important;
}

#catalogCopyHistoryList {
  width: 100%;
}


/* Consulta resumida por cliente */
.catalog-client-summary {
  margin: 10px 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 8px;
}

.catalog-client-summary article {
  min-height: 68px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fffdf9;
  display: grid;
  align-content: center;
  gap: 3px;
}

.catalog-client-summary span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

.catalog-client-summary strong {
  color: var(--text);
  font-family: Georgia, serif;
  font-size: 22px;
  font-weight: 500;
}

#catalogClientStatusFilter {
  min-width: 185px;
  height: 42px;
  min-height: 42px;
}

@media (max-width: 1200px) {
  .catalog-client-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .catalog-client-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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


/* Consulta de clientes por producto */
.product-client-query-card {
  margin: 10px 0;
  padding: 14px 18px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #fff;
}

.product-client-query-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.product-client-query-header h2 {
  margin: 2px 0 4px;
  font-size: 21px;
}

.product-client-query-header p {
  margin-top: 3px;
  margin-bottom: 0;
}

.product-client-query-content {
  margin-top: 13px;
  padding-top: 13px;
  border-top: 1px solid var(--border);
}

.product-client-query-content[hidden] {
  display: none !important;
}

.product-client-query-controls {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 140px;
  align-items: end;
  gap: 10px;
}

.product-client-query-controls label {
  margin-bottom: 4px;
  font-size: 12px;
}

.product-client-query-controls input,
.product-client-query-controls button {
  height: 42px;
  min-height: 42px;
}

.product-client-query-summary {
  margin-top: 12px;
  display: grid;
  grid-template-columns:
    minmax(240px, 1.5fr)
    repeat(3, minmax(130px, 0.7fr));
  gap: 8px;
}

.product-client-query-summary[hidden] {
  display: none !important;
}

.product-client-query-summary article {
  min-height: 72px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fffdf9;
  display: grid;
  align-content: center;
  gap: 3px;
}

.product-client-query-summary span,
.product-client-query-summary small {
  color: var(--muted);
  font-size: 11px;
}

.product-client-query-summary strong {
  font-size: 18px;
}

.product-client-query-results {
  margin-top: 10px;
  display: grid;
  gap: 8px;
}

.product-client-query-item {
  padding: 11px 13px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
  display: grid;
  grid-template-columns:
    minmax(220px, 1.4fr)
    minmax(150px, 0.8fr)
    minmax(150px, 0.8fr)
    minmax(270px, 1fr)
    65px;
  align-items: center;
  gap: 12px;
}

.product-client-query-item.inactive {
  opacity: 0.62;
}

.product-client-query-item-main {
  display: grid;
  gap: 2px;
}

.product-client-query-item-main span,
.product-client-query-item-main small {
  color: var(--muted);
  font-size: 11px;
}

.product-client-query-price,
.product-client-query-order {
  display: grid;
  gap: 3px;
}

.product-client-query-price span,
.product-client-query-order span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
}

.product-client-query-price strong,
.product-client-query-order strong {
  font-size: 13px;
}

.product-client-query-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.product-client-query-flags span {
  padding: 4px 7px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
}

.product-client-query-flags .positive {
  color: #27644d;
  background: #e7f5ee;
}

.product-client-query-flags .featured {
  color: #725019;
  background: #fff3d6;
}

.product-client-query-flags .muted {
  color: var(--muted);
  background: var(--cream);
}

@media (max-width: 1100px) {
  .product-client-query-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-client-query-item {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .product-client-query-header {
    align-items: stretch;
    flex-direction: column;
  }

  .product-client-query-controls,
  .product-client-query-summary,
  .product-client-query-item {
    grid-template-columns: 1fr;
  }

  .product-client-query-header button {
    width: 100%;
  }
}


/* Mostrar permanentemente la consulta por producto */
#productClientQueryContent,
#productClientQueryContent[hidden] {
  display: block !important;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

#toggleProductClientQueryButton {
  display: none !important;
}

.product-client-query-controls {
  display: grid !important;
  grid-template-columns: minmax(280px, 1fr) 140px;
  align-items: end;
  gap: 10px;
}

.product-client-query-controls > div,
#productClientQueryInput,
#runProductClientQueryButton {
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 760px) {
  .product-client-query-controls {
    grid-template-columns: 1fr;
  }
}


/* Consulta por producto integrada junto al historial */
.product-client-query-card {
  margin: 0;
  padding: 0;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.product-client-query-header {
  display: none !important;
}

#productClientQueryContent[hidden] {
  display: none !important;
}

#productClientQueryContent:not([hidden]) {
  display: block !important;
  margin: 12px 0 10px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: #fff;
}

/* Botón superior junto a Ver historial */
#toggleProductClientQueryButton {
  display: inline-flex !important;
  position: absolute;
  top: 20px;
  right: 165px;
  width: auto;
  min-width: 190px;
  height: 38px;
  min-height: 38px;
  padding: 0 15px;
  align-items: center;
  justify-content: center;
  z-index: 3;
  white-space: nowrap;
  border: 1px solid #b98524;
  background: transparent;
  color: #725019;
  font-size: 12px;
  font-weight: 700;
}

#toggleProductClientQueryButton:hover,
#toggleProductClientQueryButton:focus {
  background: #fff7e7;
}

@media (max-width: 900px) {
  #toggleProductClientQueryButton {
    position: static;
    width: 100%;
    margin-top: 8px;
  }
}


/* Acceso directo al catálogo desde la consulta por producto */
.product-client-query-item {
  grid-template-columns:
    minmax(220px, 1.4fr)
    minmax(150px, 0.8fr)
    minmax(150px, 0.8fr)
    minmax(270px, 1fr)
    65px
    125px;
}

.open-client-catalog-button {
  width: 100%;
  min-width: 0;
  height: 40px;
  min-height: 40px;
  padding: 0 12px;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 700;
}

@media (max-width: 1100px) {
  .product-client-query-item {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .open-client-catalog-button {
    width: 100%;
  }
}

@media (max-width: 760px) {
  .product-client-query-item {
    grid-template-columns: 1fr;
  }
}


/* Asegurar que Abrir catálogo siempre sea visible */
.product-client-query-item {
  grid-template-columns:
    minmax(220px, 1.4fr)
    minmax(145px, 0.8fr)
    minmax(145px, 0.8fr)
    minmax(230px, 1fr)
    65px;
}

.open-client-catalog-button {
  grid-column: 1 / -1;
  justify-self: end;
  width: 145px;
  min-width: 145px;
  height: 40px;
  min-height: 40px;
  margin-top: 4px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  visibility: visible !important;
  opacity: 1 !important;
}

@media (max-width: 1100px) {
  .product-client-query-item {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .open-client-catalog-button {
    grid-column: 1 / -1;
    justify-self: stretch;
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 760px) {
  .product-client-query-item {
    grid-template-columns: 1fr;
  }

  .open-client-catalog-button {
    grid-column: 1;
    width: 100%;
  }
}


/* Botón Abrir catálogo siempre visible */
.product-client-query-item {
  position: relative;
  padding-bottom: 62px;
}

.product-client-query-item .open-client-catalog-button {
  position: absolute !important;
  right: 14px !important;
  bottom: 12px !important;
  top: auto !important;
  left: auto !important;

  display: inline-flex !important;
  align-items: center;
  justify-content: center;

  width: 145px !important;
  min-width: 145px !important;
  height: 38px !important;
  min-height: 38px !important;

  margin: 0 !important;
  padding: 0 14px !important;

  border: 1px solid var(--gold) !important;
  border-radius: 8px !important;
  background: var(--gold) !important;
  color: #ffffff !important;

  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap;

  visibility: visible !important;
  opacity: 1 !important;
  z-index: 20 !important;
}

.product-client-query-item
.open-client-catalog-button:hover {
  filter: brightness(0.94);
}

@media (max-width: 760px) {
  .product-client-query-item {
    padding-bottom: 65px;
  }

  .product-client-query-item
  .open-client-catalog-button {
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    min-width: 0 !important;
  }
}


/* Abrir catálogo en la misma fila */
.product-client-query-item {
  position: static;
  padding-bottom: 11px;

  grid-template-columns:
    minmax(220px, 1.4fr)
    minmax(145px, 0.8fr)
    minmax(145px, 0.8fr)
    minmax(230px, 1fr)
    65px
    145px;
}

.product-client-query-item
.open-client-catalog-button {
  position: static !important;

  grid-column: auto;
  justify-self: stretch;
  align-self: center;

  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  min-height: 40px !important;

  margin: 0 !important;
}

@media (max-width: 1100px) {
  .product-client-query-item {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .product-client-query-item
  .open-client-catalog-button {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .product-client-query-item {
    grid-template-columns: 1fr;
  }

  .product-client-query-item
  .open-client-catalog-button {
    grid-column: 1;
  }
}


/* Producto enfocado desde la consulta por producto */
.catalog-product-card.catalog-product-query-focus {
  border-color: var(--gold);
  box-shadow:
    0 0 0 3px rgba(176, 125, 36, 0.18),
    0 12px 30px rgba(60, 45, 20, 0.12);
  animation: catalog-product-query-pulse 0.8s ease;
}

@keyframes catalog-product-query-pulse {
  0% {
    transform: scale(0.992);
  }

  50% {
    transform: scale(1.004);
  }

  100% {
    transform: scale(1);
  }
}


/* Edición rápida desde consulta por producto */
.product-client-query-item {
  grid-template-columns:
    minmax(210px, 1.35fr)
    minmax(165px, 0.85fr)
    minmax(105px, 0.55fr)
    minmax(125px, 0.65fr)
    minmax(110px, 0.55fr)
    75px
    minmax(135px, 0.7fr);
  gap: 9px;
  padding: 11px 12px;
}

.product-client-query-field {
  margin: 0;
  display: grid;
  gap: 4px;
}

.product-client-query-field > span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
}

.product-client-query-field input {
  width: 100%;
  min-width: 0;
  height: 39px;
  min-height: 39px;
  padding: 0 9px;
  box-sizing: border-box;
}

.product-client-query-field small {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.2;
}

.product-client-query-check {
  min-height: 39px;
  margin: 0;
  padding: 0 9px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fffdf9;
  display: flex;
  align-items: center;
  gap: 7px;
}

.product-client-query-check input {
  width: 17px;
  height: 17px;
  min-height: 0;
  margin: 0;
  padding: 0;
}

.product-client-query-check span {
  font-size: 10px;
  font-weight: 700;
}

.product-client-query-actions {
  display: grid;
  gap: 6px;
}

.product-client-query-actions button,
.product-client-query-item
.open-client-catalog-button {
  position: static !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 34px !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 9px !important;
  font-size: 10px !important;
}

@media (max-width: 1250px) {
  .product-client-query-item {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
  }

  .product-client-query-item-main {
    grid-column: span 2;
  }

  .product-client-query-actions {
    grid-column: span 1;
  }
}

@media (max-width: 760px) {
  .product-client-query-item {
    grid-template-columns: 1fr;
  }

  .product-client-query-item-main,
  .product-client-query-actions {
    grid-column: 1;
  }
}


/* Filtros de clientes en consulta por producto */
.product-client-result-filters {
  margin-top: 10px;
  display: grid;
  grid-template-columns:
    minmax(220px, 1fr)
    minmax(190px, 0.7fr)
    minmax(190px, 0.7fr)
    auto;
  gap: 8px;
  align-items: center;
}

.product-client-result-filters[hidden] {
  display: none !important;
}

.product-client-result-filters input,
.product-client-result-filters select {
  height: 40px;
  min-height: 40px;
}

#productClientFilteredCount {
  min-width: 95px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  text-align: right;
}

.product-client-query-item[hidden] {
  display: none !important;
}

@media (max-width: 900px) {
  .product-client-result-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #productClientFilteredCount {
    text-align: left;
  }
}

@media (max-width: 600px) {
  .product-client-result-filters {
    grid-template-columns: 1fr;
  }
}


/* Administración de revistas privadas */
.catalog-publication-card {
  margin-bottom: 10px;
  padding: 15px 19px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: #fff;
  box-shadow: var(--shadow);
}

.catalog-publication-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.catalog-publication-header h2 {
  margin: 2px 0 4px;
  font-size: 22px;
}

.catalog-publication-header p {
  margin-top: 3px;
  margin-bottom: 0;
}

.catalog-publication-content {
  margin-top: 13px;
  padding-top: 13px;
  border-top: 1px solid var(--border);
}

.catalog-publication-content[hidden] {
  display: none !important;
}

.catalog-publication-form {
  display: grid;
  gap: 11px;
}

.catalog-publication-grid {
  display: grid;
  grid-template-columns:
    minmax(260px, 1.2fr)
    minmax(220px, 1fr)
    minmax(180px, 0.75fr)
    minmax(190px, 0.75fr);
  gap: 10px;
}

.catalog-publication-grid.secondary {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.catalog-publication-field {
  display: grid;
  gap: 4px;
}

.catalog-publication-field label {
  margin: 0;
  font-size: 12px;
}

.catalog-publication-field input,
.catalog-publication-field select {
  height: 42px;
  min-height: 42px;
}

.catalog-publication-field textarea {
  min-height: 78px;
  resize: vertical;
}

.catalog-publication-form-actions {
  display: flex;
  gap: 9px;
}

.catalog-publication-form-actions button {
  min-height: 42px;
}

.catalog-publication-list-header {
  margin-top: 17px;
  padding-top: 13px;
  border-top: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}

.catalog-publication-list-header > div {
  display: grid;
  gap: 2px;
}

.catalog-publication-list-header span {
  color: var(--muted);
  font-size: 11px;
}

.catalog-publication-list {
  margin-top: 10px;
  display: grid;
  gap: 9px;
}

.catalog-publication-item {
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: #fffdf9;
  display: grid;
  grid-template-columns:
    minmax(210px, 1.2fr)
    minmax(120px, 0.6fr)
    minmax(260px, 1.2fr)
    minmax(135px, 0.6fr);
  gap: 11px;
  align-items: center;
}

.catalog-publication-item.inactive {
  opacity: 0.68;
}

.catalog-publication-item-main {
  display: grid;
  gap: 2px;
}

.catalog-publication-item-main span {
  color: var(--muted);
  font-size: 11px;
}

.catalog-publication-item-main h3 {
  margin: 3px 0 0;
  font-size: 14px;
}

.catalog-publication-status,
.catalog-publication-last-access {
  display: grid;
  gap: 4px;
}

.catalog-publication-status > span {
  width: fit-content;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
}

.catalog-publication-status .active {
  color: #27644d;
  background: #e7f5ee;
}

.catalog-publication-status .inactive {
  color: #8a3838;
  background: #faeaea;
}

.catalog-publication-status small,
.catalog-publication-last-access span {
  color: var(--muted);
  font-size: 10px;
}

.catalog-publication-last-access strong {
  font-size: 11px;
}

.catalog-publication-link {
  display: grid;
  gap: 4px;
}

.catalog-publication-link span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
}

.catalog-publication-link input {
  height: 38px;
  min-height: 38px;
  font-size: 10px;
}

.catalog-publication-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

.catalog-publication-actions button {
  min-height: 36px;
  padding: 0 11px;
  font-size: 10px;
}

.publication-status-button {
  border: 1px solid #b98524;
  border-radius: 8px;
  background: #fff7e7;
  color: #725019;
  font-weight: 700;
}

@media (max-width: 1200px) {
  .catalog-publication-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .catalog-publication-item {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .catalog-publication-header {
    align-items: stretch;
    flex-direction: column;
  }

  .catalog-publication-grid,
  .catalog-publication-grid.secondary,
  .catalog-publication-item {
    grid-template-columns: 1fr;
  }

  .catalog-publication-form-actions,
  .catalog-publication-actions {
    flex-direction: column;
  }

  .catalog-publication-form-actions button,
  .catalog-publication-actions button {
    width: 100%;
  }
}


/* Despliegue seguro del administrador de revistas */
#catalogPublicationContent:not([hidden]) {
  display: block !important;
}

#catalogPublicationContent[hidden] {
  display: none !important;
}


/* Corrección visible del botón de revistas privadas */
.catalog-publication-header {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
}

#toggleCatalogPublicationButton {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 175px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #b98524 !important;
  border-radius: 10px !important;
  background: #fffaf0 !important;
  color: #725019 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  z-index: 10 !important;
}

#toggleCatalogPublicationButton:hover {
  background: #b98524 !important;
  color: #ffffff !important;
}

@media (max-width: 760px) {
  #toggleCatalogPublicationButton {
    width: 100% !important;
  }
}


/* Revista directa desde el cliente seleccionado */
.selected-client-publication-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.selected-client-publication-actions[hidden] {
  display: none !important;
}

.selected-client-publication-actions button {
  min-height: 40px;
  height: 40px;
  padding: 0 12px;
  white-space: nowrap;
  font-size: 10px;
}

#generateSelectedClientPublicationButton {
  background: #a97820;
  border-color: #a97820;
  color: #ffffff;
}

#generateSelectedClientPublicationButton:hover {
  background: #8e6419;
  border-color: #8e6419;
}

@media (max-width: 1050px) {
  .selected-client-publication-actions {
    width: 100%;
  }
}

@media (max-width: 650px) {
  .selected-client-publication-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .selected-client-publication-actions button {
    width: 100%;
  }
}


/* Visibilidad segura de acciones de revista */
#selectedClientPublicationActions:not([hidden]) {
  display: flex !important;
}

#selectedClientPublicationActions button[hidden] {
  display: none !important;
}

#selectedClientPublicationActions button:not([hidden]) {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  justify-content: center !important;
}


/* Ubicación visible de las acciones de revista */
.catalog-toolbar {
  align-items: center !important;
}

.selected-client-publication-actions:not([hidden]) {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  flex: 0 0 auto !important;
}

.selected-client-publication-actions button:not([hidden]) {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}


/* Acciones de revista junto al cliente seleccionado */
.catalog-toolbar {
  flex-wrap: wrap !important;
}

#selectedClientPublicationActions:not([hidden]) {
  display: flex !important;
  width: 100% !important;
  order: -1 !important;
  margin: 0 0 10px !important;
  padding: 8px 10px !important;
  border: 1px solid #ddc38d !important;
  border-radius: 9px !important;
  background: #fffaf0 !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 7px !important;
}

#selectedClientPublicationActions button:not([hidden]) {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 38px !important;
  align-items: center !important;
  justify-content: center !important;
}

#openSelectedClientPublicationButton {
  border-color: #a97820 !important;
  background: #a97820 !important;
  color: #ffffff !important;
}


/* Ajuste final de acciones de revista por cliente */
.catalog-toolbar {
  display: grid !important;
  grid-template-columns: minmax(220px, auto) minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  overflow: hidden !important;
}

.catalog-toolbar-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
  min-width: 0 !important;
  width: 100% !important;
}

#selectedClientPublicationActions:not([hidden]) {
  display: flex !important;
  width: 100% !important;
  max-width: 100% !important;
  order: 0 !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  box-sizing: border-box !important;
  border: 1px solid #ddc38d !important;
  border-radius: 9px !important;
  background: #fffaf0 !important;
  justify-content: flex-end !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
}

#selectedClientPublicationActions button {
  display: inline-flex !important;
  min-height: 40px !important;
  padding: 0 14px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 8px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

#openSelectedClientPublicationButton {
  border: 1px solid #a97820 !important;
  background: #a97820 !important;
  color: #ffffff !important;
}

#copySelectedClientPublicationLinkButton,
#manageSelectedClientPublicationButton {
  border: 1px solid #b98524 !important;
  background: #ffffff !important;
  color: #725019 !important;
}

#copySelectedClientPublicationLinkButton:hover,
#manageSelectedClientPublicationButton:hover {
  background: #fff3d9 !important;
  color: #5f4215 !important;
}

.catalog-toolbar-actions > input,
.catalog-toolbar-actions > select,
.catalog-toolbar-actions > button {
  min-width: 0 !important;
  max-width: 100% !important;
}

#catalogProductSearch {
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (min-width: 1100px) {
  .catalog-toolbar-actions {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(180px, 0.65fr)
      minmax(230px, 0.85fr)
      auto
      auto !important;
  }

  #selectedClientPublicationActions {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 900px) {
  .catalog-toolbar {
    grid-template-columns: 1fr !important;
  }

  #selectedClientPublicationActions {
    justify-content: flex-start !important;
  }
}

@media (max-width: 600px) {
  #selectedClientPublicationActions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  #selectedClientPublicationActions button {
    width: 100% !important;
  }
}


/* Mover acciones de revista al lado izquierdo */
#selectedClientPublicationActions:not([hidden]) {
  justify-content: flex-start !important;
}

#selectedClientPublicationActions {
  margin-right: auto !important;
}


/* Flujo directo de revistas desde el cliente */
.catalog-publication-card {
  display: none !important;
}

.catalog-client-publication-row {
  margin-top: 9px;
}

.catalog-client-publication-row
#selectedClientPublicationActions:not([hidden]) {
  display: flex !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  justify-content: flex-start !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.catalog-client-publication-row
#selectedClientPublicationActions button:not([hidden]) {
  width: auto !important;
  min-width: 0 !important;
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 11px !important;
  border-radius: 7px !important;
  font-size: 10px !important;
  line-height: 1 !important;
}

#manageSelectedClientPublicationButton {
  display: none !important;
}

.catalog-toolbar {
  grid-template-columns:
    minmax(215px, 0.32fr)
    minmax(0, 1fr) !important;
  align-items: center !important;
}

.catalog-toolbar > div:first-child {
  align-self: center !important;
}

@media (max-width: 900px) {
  .catalog-toolbar {
    grid-template-columns: 1fr !important;
  }

  .catalog-client-publication-row
  #selectedClientPublicationActions:not([hidden]) {
    margin-top: 8px !important;
  }
}


/* Acciones de revista junto al nombre del cliente */
.catalog-toolbar > div:first-child {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  grid-template-areas:
    "name actions"
    "count actions" !important;
  column-gap: 14px !important;
  row-gap: 2px !important;
  align-items: center !important;
}

#catalogClientName {
  grid-area: name !important;
}

#catalogAssignmentCount {
  grid-area: count !important;
}

.catalog-client-publication-row {
  grid-area: actions !important;
  margin: 0 !important;
  align-self: center !important;
}

.catalog-client-publication-row
#selectedClientPublicationActions:not([hidden]) {
  display: flex !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  justify-content: flex-start !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.catalog-client-publication-row
#selectedClientPublicationActions button:not([hidden]) {
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 11px !important;
  font-size: 10px !important;
}

@media (max-width: 760px) {
  .catalog-toolbar > div:first-child {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "name"
      "count"
      "actions" !important;
  }

  .catalog-client-publication-row {
    margin-top: 8px !important;
  }
}


/* Nombre, contador y botones de revista en una sola fila */
.catalog-toolbar > div:first-child {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

#catalogClientName {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
}

#catalogAssignmentCount {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

.catalog-client-publication-row {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
}

.catalog-client-publication-row
#selectedClientPublicationActions:not([hidden]) {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 6px !important;
  border: 0 !important;
  background: transparent !important;
}

.catalog-client-publication-row
#selectedClientPublicationActions button:not([hidden]) {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 11px !important;
}

@media (max-width: 760px) {
  .catalog-toolbar > div:first-child {
    align-items: flex-start !important;
  }
}


/* Colocar acciones de revista junto al nombre del cliente */
.catalog-toolbar {
  display: grid !important;
  grid-template-columns:
    auto
    minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: center !important;
}

.catalog-toolbar > div:first-child {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  min-width: max-content !important;
}

#catalogClientName,
#catalogAssignmentCount,
.catalog-client-publication-row {
  margin: 0 !important;
  flex: 0 0 auto !important;
}

.catalog-client-publication-row {
  display: inline-flex !important;
  align-items: center !important;
}

.catalog-client-publication-row
#selectedClientPublicationActions:not([hidden]) {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 6px !important;
  border: 0 !important;
  background: transparent !important;
}

.catalog-client-publication-row
#selectedClientPublicationActions button:not([hidden]) {
  width: auto !important;
  min-width: 0 !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 11px !important;
  white-space: nowrap !important;
}

.catalog-toolbar-actions {
  min-width: 0 !important;
}

@media (max-width: 1150px) {
  .catalog-toolbar {
    grid-template-columns: 1fr !important;
  }

  .catalog-toolbar > div:first-child {
    flex-wrap: wrap !important;
  }
}


/* Segunda fila para filtros, exportación y actualización */
.catalog-toolbar {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  align-items: center !important;
}

.catalog-toolbar > div:first-child {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  width: 100% !important;
}

.catalog-toolbar-actions {
  display: grid !important;
  grid-template-columns:
    minmax(220px, 1fr)
    minmax(190px, 0.65fr)
    minmax(260px, 0.9fr)
    auto
    auto !important;
  gap: 10px !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
}

.catalog-toolbar-actions
#selectedClientPublicationActions {
  display: none !important;
}

.catalog-toolbar-actions > input,
.catalog-toolbar-actions > select,
.catalog-toolbar-actions > button {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

#exportClientCatalogButton,
#refreshCatalogButton {
  width: auto !important;
  white-space: nowrap !important;
}

@media (max-width: 1050px) {
  .catalog-toolbar-actions {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
  }

  #exportClientCatalogButton,
  #refreshCatalogButton {
    width: 100% !important;
  }
}

@media (max-width: 650px) {
  .catalog-toolbar-actions {
    grid-template-columns: 1fr !important;
  }
}


/* Tres columnas para presentación, unidad de venta y origen */
#productForm .form-row:has(#productPresentation) {
  grid-template-columns:
    minmax(0, 1.2fr)
    minmax(160px, 0.7fr)
    minmax(0, 1fr) !important;
}

#productSaleUnit {
  width: 100%;
}

@media (max-width: 850px) {
  #productForm .form-row:has(#productPresentation) {
    grid-template-columns: 1fr !important;
  }
}


/* Hero general desplegable */
#magazineHeroSettingsPanel {
  width: 100%;
  margin: 22px 0 8px;
}

#magazineHeroSettingsPanel[hidden] {
  display: none !important;
}

#toggleMagazineHeroButton[aria-expanded="true"] {
  border-color: #b88424;
  background: #b88424;
  color: #ffffff;
}


/* Panel desplegable: imagen general de revista */
#magazineHeroSettingsPanel {
  width: 100%;
  margin: 22px 0 26px;
  padding: 28px;
  border: 1px solid rgba(181, 132, 38, 0.3);
  border-radius: 18px;
  background:
    linear-gradient(
      145deg,
      #fffdf8 0%,
      #f5ecdc 100%
    );
  box-shadow:
    0 16px 42px rgba(61, 42, 18, 0.1);
}

#magazineHeroSettingsPanel[hidden] {
  display: none !important;
}

#magazineHeroSettingsPanel
.magazine-settings-heading {
  margin-bottom: 24px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
}

#magazineHeroSettingsPanel
.magazine-settings-heading h2 {
  margin: 4px 0 8px;
  font-family: Georgia, serif;
  font-size: 30px;
  font-weight: 500;
  color: #171713;
}

#magazineHeroSettingsPanel
.magazine-settings-status {
  padding: 8px 13px;
  border: 1px solid rgba(181, 132, 38, 0.38);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.75);
  color: #8a5f16;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

#magazineHeroSettingsPanel
.magazine-settings-layout {
  display: grid;
  grid-template-columns:
    minmax(0, 1.4fr)
    minmax(310px, 0.6fr);
  gap: 24px;
  align-items: stretch;
}

#magazineHeroSettingsPanel
.magazine-hero-preview-area {
  min-height: 300px;
  overflow: hidden;
  display: grid;
  place-items: center;
  border: 1px solid rgba(181, 132, 38, 0.25);
  border-radius: 15px;
  background:
    linear-gradient(
      135deg,
      #263128 0%,
      #101610 100%
    );
}

#magazineHeroSettingsPanel
.magazine-hero-preview {
  display: block;
  width: 100%;
  height: 300px;
  object-fit: cover;
}

#magazineHeroSettingsPanel
.magazine-hero-preview[hidden] {
  display: none !important;
}

#magazineHeroSettingsPanel
.magazine-hero-empty {
  max-width: 340px;
  padding: 32px;
  color: rgba(255, 255, 255, 0.76);
  text-align: center;
  line-height: 1.6;
}

#magazineHeroSettingsPanel
.magazine-hero-form {
  padding: 24px;
  border: 1px solid rgba(181, 132, 38, 0.2);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.76);
}

#magazineHeroSettingsPanel
.magazine-hero-form label {
  display: block;
  margin: 0 0 9px;
  font-weight: 700;
}

#magazineHeroSettingsPanel
.magazine-hero-form input[type="file"] {
  width: 100%;
  height: auto;
  padding: 13px;
  border: 1px solid rgba(50, 42, 29, 0.15);
  border-radius: 10px;
  background: #ffffff;
}

#magazineHeroSettingsPanel
.magazine-hero-actions {
  margin-top: 20px;
  display: flex;
  gap: 10px;
}

#magazineHeroSettingsPanel
.magazine-hero-actions button {
  flex: 1;
}

#toggleMagazineHeroButton[aria-expanded="true"] {
  border-color: #b88424;
  background: #b88424;
  color: #ffffff;
}

@media (max-width: 900px) {
  #magazineHeroSettingsPanel
  .magazine-settings-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  #magazineHeroSettingsPanel {
    padding: 20px;
  }

  #magazineHeroSettingsPanel
  .magazine-settings-heading {
    flex-direction: column;
  }

  #magazineHeroSettingsPanel
  .magazine-hero-actions {
    flex-direction: column;
  }
}


/* Alinear botones auxiliares del catálogo */
.catalog-copy-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}

#toggleCatalogCopyHistoryButton,
#toggleProductClientQueryButton,
#toggleMagazineHeroButton {
  width: auto !important;
  min-width: 145px !important;
  height: 48px !important;
  flex: 0 0 auto !important;
  padding: 0 18px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

#toggleMagazineHeroButton {
  order: 3;
}

#toggleMagazineHeroButton[aria-expanded="true"] {
  min-width: 190px !important;
}

@media (max-width: 1100px) {
  .catalog-copy-actions {
    justify-content: flex-start !important;
  }
}


/* Botón Imagen del hero siempre visible */
#toggleMagazineHeroButton {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 155px !important;
  height: 48px !important;
  padding: 0 18px !important;

  border: 1px solid #b48224 !important;
  border-radius: 10px !important;

  background: #b48224 !important;
  color: #ffffff !important;

  font-weight: 700 !important;
  white-space: nowrap !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#toggleMagazineHeroButton:hover {
  border-color: #946919 !important;
  background: #946919 !important;
  color: #ffffff !important;
}

#toggleMagazineHeroButton[aria-expanded="true"] {
  border-color: #745014 !important;
  background: #745014 !important;
  color: #ffffff !important;
}


/* Barra compacta de acciones: Copiar catálogo */
.catalog-copy-card {
  position: relative !important;
  padding-top: 28px !important;
}

/* Reservar espacio para la barra en pantallas amplias */
.catalog-copy-card .catalog-copy-heading {
  padding-right: 710px !important;
}

.catalog-copy-actions {
  position: absolute !important;
  top: 20px !important;
  right: 20px !important;

  width: auto !important;
  max-width: calc(100% - 40px) !important;

  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 7px !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* Tamaño compacto común */
.catalog-copy-actions button {
  width: auto !important;
  min-width: 0 !important;
  height: 38px !important;
  min-height: 38px !important;

  flex: 0 0 auto !important;

  padding: 0 13px !important;
  border-radius: 9px !important;

  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Orden visual */
#toggleProductClientQueryButton {
  order: 1 !important;
}

#toggleCatalogCopyHistoryButton {
  order: 2 !important;
}

#toggleMagazineHeroButton {
  order: 3 !important;
}

#previewCatalogCopyButton {
  order: 4 !important;
}

#copyCatalogButton {
  order: 5 !important;
}

#refreshCatalogCopyHistoryButton {
  order: 6 !important;
}

/* Botones secundarios más ligeros */
#toggleProductClientQueryButton,
#toggleCatalogCopyHistoryButton,
#previewCatalogCopyButton {
  border: 1px solid #b68120 !important;
  background: #fffdf8 !important;
  color: #765113 !important;
}

/* Hero compacto, manteniendo color */
#toggleMagazineHeroButton {
  min-width: 118px !important;
  border: 1px solid #b48224 !important;
  background: #b48224 !important;
  color: #ffffff !important;
}

/* Acción principal */
#copyCatalogButton {
  min-width: 112px !important;
  border: 1px solid #a87519 !important;
  background: #a87519 !important;
  color: #ffffff !important;
}

/* Hover */
#toggleProductClientQueryButton:hover,
#toggleCatalogCopyHistoryButton:hover,
#previewCatalogCopyButton:hover {
  background: #f7eddb !important;
}

#toggleMagazineHeroButton:hover,
#copyCatalogButton:hover {
  border-color: #805912 !important;
  background: #805912 !important;
}

/* Evitar que el botón Hero crezca al abrirse */
#toggleMagazineHeroButton[aria-expanded="true"] {
  min-width: 118px !important;
  background: #745014 !important;
}

/* En pantallas medianas, la barra vuelve al flujo normal */
@media (max-width: 1250px) {
  .catalog-copy-card .catalog-copy-heading {
    padding-right: 0 !important;
  }

  .catalog-copy-actions {
    position: static !important;
    width: 100% !important;
    max-width: none !important;

    margin: 18px 0 0 !important;

    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }
}

/* Móvil */
@media (max-width: 650px) {
  .catalog-copy-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .catalog-copy-actions button {
    width: 100% !important;
  }

  #copyCatalogButton {
    grid-column: 1 / -1;
  }
}


/* Corrección definitiva de la barra de acciones */
.catalog-copy-card {
  position: static !important;
}

.catalog-copy-card .catalog-copy-heading {
  padding-right: 0 !important;
}

.catalog-copy-actions {
  position: static !important;

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

  margin: 18px 0 20px !important;
  padding: 0 !important;

  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}

.catalog-copy-actions button {
  position: static !important;

  width: auto !important;
  min-width: 0 !important;
  height: 38px !important;
  min-height: 38px !important;

  margin: 0 !important;
  padding: 0 14px !important;

  flex: 0 0 auto !important;

  border-radius: 9px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Orden correcto */
#toggleProductClientQueryButton {
  order: 1 !important;
}

#toggleCatalogCopyHistoryButton {
  order: 2 !important;
}

#toggleMagazineHeroButton {
  order: 3 !important;
}

#previewCatalogCopyButton {
  order: 4 !important;
}

#copyCatalogButton {
  order: 5 !important;
}

#refreshCatalogCopyHistoryButton {
  order: 6 !important;
}

/* Evitar anchos heredados */
#toggleProductClientQueryButton,
#toggleCatalogCopyHistoryButton,
#toggleMagazineHeroButton,
#previewCatalogCopyButton,
#copyCatalogButton {
  min-width: 128px !important;
}

#toggleMagazineHeroButton[aria-expanded="true"] {
  min-width: 128px !important;
}

/* Pantallas medianas */
@media (max-width: 1100px) {
  .catalog-copy-actions {
    justify-content: flex-start !important;
  }
}

/* Móvil */
@media (max-width: 700px) {
  .catalog-copy-actions {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
  }

  .catalog-copy-actions button {
    width: 100% !important;
    min-width: 0 !important;
  }

  #copyCatalogButton {
    grid-column: 1 / -1;
  }
}


/* Barra superior independiente de acciones */
.catalog-copy-card {
  position: static !important;
}

.catalog-copy-card .catalog-copy-heading {
  padding-right: 0 !important;
  margin-bottom: 18px !important;
}

.catalog-copy-toolbar {
  position: static !important;

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

  margin: 0 0 22px !important;
  padding: 12px 14px !important;

  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;

  border: 1px solid rgba(181, 132, 38, 0.22);
  border-radius: 12px;

  background:
    linear-gradient(
      135deg,
      #fffdf8 0%,
      #faf4e8 100%
    );
}

.catalog-copy-toolbar button {
  position: static !important;

  width: auto !important;
  min-width: 125px !important;
  height: 40px !important;
  min-height: 40px !important;

  margin: 0 !important;
  padding: 0 15px !important;

  flex: 0 0 auto !important;

  border-radius: 9px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Orden dentro de la barra */
#toggleProductClientQueryButton {
  order: 1 !important;
}

#toggleCatalogCopyHistoryButton {
  order: 2 !important;
}

#toggleMagazineHeroButton {
  order: 3 !important;
}

#previewCatalogCopyButton {
  order: 4 !important;
}

#copyCatalogButton {
  order: 5 !important;
}

#refreshCatalogCopyHistoryButton {
  order: 6 !important;
}

/* Botones secundarios */
#toggleProductClientQueryButton,
#toggleCatalogCopyHistoryButton,
#previewCatalogCopyButton {
  border: 1px solid #b68120 !important;
  background: #ffffff !important;
  color: #765113 !important;
}

/* Hero */
#toggleMagazineHeroButton {
  border: 1px solid #b48224 !important;
  background: #b48224 !important;
  color: #ffffff !important;
}

#toggleMagazineHeroButton[aria-expanded="true"] {
  min-width: 125px !important;
  border-color: #745014 !important;
  background: #745014 !important;
}

/* Acción principal */
#copyCatalogButton {
  border: 1px solid #a87519 !important;
  background: #a87519 !important;
  color: #ffffff !important;
}

/* Hover */
#toggleProductClientQueryButton:hover,
#toggleCatalogCopyHistoryButton:hover,
#previewCatalogCopyButton:hover {
  background: #f7eddb !important;
}

#toggleMagazineHeroButton:hover,
#copyCatalogButton:hover {
  border-color: #805912 !important;
  background: #805912 !important;
}

/* Los campos vuelven a ocupar todo el ancho */
.catalog-copy-grid {
  width: 100% !important;
}

/* Tablet */
@media (max-width: 1050px) {
  .catalog-copy-toolbar {
    justify-content: flex-start !important;
  }
}

/* Móvil */
@media (max-width: 700px) {
  .catalog-copy-toolbar {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
  }

  .catalog-copy-toolbar button {
    width: 100% !important;
    min-width: 0 !important;
  }

  #copyCatalogButton {
    grid-column: 1 / -1;
  }
}


/* Barra al inicio de Copiar catálogo */
.catalog-copy-card > .catalog-copy-toolbar {
  margin: 0 0 20px !important;
}

.catalog-copy-card > .catalog-copy-heading {
  margin-top: 0 !important;
}


/* Título dentro de la barra superior */
.catalog-copy-toolbar {
  justify-content: flex-end !important;
  min-height: 70px !important;
}

.catalog-copy-toolbar-title {
  min-width: 260px;
  margin-right: auto;
  padding: 2px 18px 2px 2px;
}

.catalog-copy-toolbar-title .eyebrow {
  margin: 0 0 5px !important;
  color: #a36f16;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.24em;
}

.catalog-copy-toolbar-title h2 {
  margin: 0 !important;
  color: #171713;
  font-family: inherit;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.2;
}

/* El encabezado restante conserva solo la descripción */
.catalog-copy-heading {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}

.catalog-copy-heading .section-description {
  margin-top: 0 !important;
}

/* Ajuste cuando el espacio comienza a reducirse */
@media (max-width: 1200px) {
  .catalog-copy-toolbar {
    align-items: flex-start !important;
  }

  .catalog-copy-toolbar-title {
    width: 100%;
    flex: 1 0 100%;
    padding-bottom: 8px;
  }
}

/* Móvil */
@media (max-width: 700px) {
  .catalog-copy-toolbar-title {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
  }

  .catalog-copy-toolbar-title h2 {
    font-size: 19px;
  }
}


/* Barra compacta con título, descripción y acciones */
.catalog-copy-toolbar {
  min-height: 86px !important;
  padding: 14px 16px !important;

  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 7px !important;

  border: 1px solid rgba(177, 126, 31, 0.24) !important;
  border-radius: 14px !important;

  background:
    linear-gradient(
      135deg,
      #fffdf8 0%,
      #f8f0e2 100%
    ) !important;
}

.catalog-copy-toolbar-title {
  min-width: 300px !important;
  max-width: 520px !important;
  margin-right: auto !important;
  padding: 0 22px 0 2px !important;
}

.catalog-copy-toolbar-title .eyebrow {
  margin: 0 0 4px !important;
  color: #a26e14 !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: 0.22em !important;
}

.catalog-copy-toolbar-title h2 {
  margin: 0 !important;
  color: #191814 !important;
  font-family: Georgia, serif !important;
  font-size: clamp(17px, 1.4vw, 21px) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
}

.catalog-copy-toolbar-description {
  max-width: 500px;
  margin: 6px 0 0 !important;
  color: #716657 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

/* Tamaño uniforme de los botones */
.catalog-copy-toolbar button {
  width: auto !important;
  min-width: 112px !important;
  height: 36px !important;
  min-height: 36px !important;

  padding: 0 12px !important;
  border-radius: 8px !important;

  font-size: 11px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  white-space: nowrap !important;

  box-shadow: none !important;
}

/* Consultas y vista previa */
#toggleProductClientQueryButton,
#toggleCatalogCopyHistoryButton,
#previewCatalogCopyButton {
  border: 1px solid #c38a25 !important;
  background: rgba(255, 255, 255, 0.82) !important;
  color: #704c10 !important;
}

#toggleProductClientQueryButton:hover,
#toggleCatalogCopyHistoryButton:hover,
#previewCatalogCopyButton:hover {
  border-color: #966616 !important;
  background: #f4e6cd !important;
  color: #523706 !important;
}

/* Configuración del hero */
#toggleMagazineHeroButton {
  min-width: 114px !important;
  border: 1px solid #314a38 !important;
  background: #314a38 !important;
  color: #ffffff !important;
}

#toggleMagazineHeroButton:hover {
  border-color: #203427 !important;
  background: #203427 !important;
}

#toggleMagazineHeroButton[aria-expanded="true"] {
  min-width: 114px !important;
  border-color: #19291f !important;
  background: #19291f !important;
}

/* Acción principal */
#copyCatalogButton {
  min-width: 116px !important;
  border: 1px solid #ac791c !important;
  background: #ac791c !important;
  color: #ffffff !important;
}

#copyCatalogButton:hover {
  border-color: #825a10 !important;
  background: #825a10 !important;
}

/* Botón desactivado */
#copyCatalogButton:disabled {
  border-color: #c8b58f !important;
  background: #c8b58f !important;
  color: rgba(255, 255, 255, 0.88) !important;
  cursor: not-allowed !important;
}

/* Cuando no alcance el espacio, el título ocupa la primera fila */
@media (max-width: 1280px) {
  .catalog-copy-toolbar {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }

  .catalog-copy-toolbar-title {
    flex: 1 0 100% !important;
    width: 100% !important;
    max-width: none !important;
    padding-right: 0 !important;
    padding-bottom: 5px !important;
  }
}

/* Tablet */
@media (max-width: 850px) {
  .catalog-copy-toolbar button {
    min-width: 105px !important;
  }
}

/* Móvil */
@media (max-width: 700px) {
  .catalog-copy-toolbar {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
  }

  .catalog-copy-toolbar-title {
    grid-column: 1 / -1;
  }

  .catalog-copy-toolbar button {
    width: 100% !important;
    min-width: 0 !important;
  }

  #copyCatalogButton {
    grid-column: 1 / -1;
  }
}


/* =========================================================
   CATÁLOGOS — VISTA COMPACTA Y ELEGANTE
   ========================================================= */

/* Contenedor principal */
#catalogsSection {
  padding-top: 0 !important;
}

/* Encabezado superior */
#catalogsSection .panel-header,
#catalogsSection .section-header,
#catalogsSection > header {
  margin-bottom: 16px !important;
  padding-bottom: 14px !important;
}

/* Eyebrow PANEL PRIVADO */
#catalogsSection .eyebrow {
  margin: 0 0 4px !important;
  color: #a47118 !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: 0.24em !important;
  line-height: 1.1 !important;
}

/* Título principal */
#catalogsSection h1 {
  margin: 0 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(28px, 2.3vw, 38px) !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  color: #171711 !important;
}

/* Línea divisoria superior */
#catalogsSection .panel-header,
#catalogsSection .section-header {
  border-bottom-color: rgba(86, 70, 43, 0.16) !important;
}

/* Tarjetas generales */
#catalogsSection article,
#catalogsSection .catalog-copy-card,
#catalogsSection .catalog-client-card {
  border-radius: 14px !important;
}

/* Tarjeta copiar catálogo */
.catalog-copy-card {
  margin-bottom: 12px !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(58, 48, 32, 0.11) !important;
  box-shadow:
    0 8px 24px rgba(54, 43, 25, 0.055) !important;
}

/* Barra superior */
.catalog-copy-toolbar {
  min-height: 72px !important;
  margin: 0 0 14px !important;
  padding: 10px 12px !important;
  gap: 6px !important;

  border-radius: 11px !important;
  border-color: rgba(177, 126, 31, 0.24) !important;

  background:
    linear-gradient(
      135deg,
      #fffdf8 0%,
      #f8f0e2 100%
    ) !important;
}

/* Texto izquierdo de la barra */
.catalog-copy-toolbar-title {
  min-width: 280px !important;
  max-width: 490px !important;
  padding: 0 16px 0 2px !important;
}

.catalog-copy-toolbar-title .eyebrow {
  margin-bottom: 3px !important;
  font-size: 8px !important;
}

.catalog-copy-toolbar-title h2 {
  margin: 0 !important;
  font-size: clamp(17px, 1.25vw, 20px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.01em !important;
}

.catalog-copy-toolbar-description {
  margin: 4px 0 0 !important;
  max-width: 470px !important;
  color: #6f6658 !important;
  font-size: 10.5px !important;
  line-height: 1.28 !important;
}

/* Botones superiores más compactos */
.catalog-copy-toolbar button {
  min-width: 108px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 11px !important;

  border-radius: 7px !important;

  font-size: 10px !important;
  font-weight: 750 !important;
  letter-spacing: 0.005em !important;
}

/* Botones secundarios */
#toggleProductClientQueryButton,
#toggleCatalogCopyHistoryButton,
#previewCatalogCopyButton {
  border-color: #bd8420 !important;
  background: rgba(255, 255, 255, 0.9) !important;
  color: #67450d !important;
}

/* Hero */
#toggleMagazineHeroButton {
  min-width: 108px !important;
  border-color: #294333 !important;
  background: #294333 !important;
  color: #ffffff !important;
}

/* Copiar catálogo */
#copyCatalogButton {
  min-width: 108px !important;
  border-color: #aa771c !important;
  background: #aa771c !important;
  color: #ffffff !important;
}

/* Campos de copia */
.catalog-copy-grid {
  gap: 10px !important;
  margin-top: 0 !important;
}

.catalog-copy-field label,
.catalog-copy-grid label {
  margin-bottom: 5px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
}

.catalog-copy-field input,
.catalog-copy-field select,
.catalog-copy-grid input,
.catalog-copy-grid select {
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 13px !important;

  border-radius: 9px !important;

  font-size: 14px !important;
}

/* Mensaje modo de copia */
.catalog-copy-note,
.catalog-copy-help,
.catalog-copy-card .field-help {
  margin-top: 9px !important;
  padding: 9px 12px !important;

  border-radius: 8px !important;

  font-size: 10px !important;
  line-height: 1.35 !important;
}

/* Tarjeta Configurar productos */
#catalogsSection .catalog-client-card,
#catalogsSection .catalog-config-card {
  margin-top: 0 !important;
  padding: 15px 18px !important;
  box-shadow:
    0 8px 24px rgba(54, 43, 25, 0.05) !important;
}

/* Encabezado configurar productos */
#catalogsSection .catalog-client-card h2,
#catalogsSection .catalog-config-card h2 {
  margin: 2px 0 5px !important;
  font-size: clamp(24px, 1.8vw, 30px) !important;
  line-height: 1.08 !important;
}

#catalogsSection .catalog-client-card .section-description,
#catalogsSection .catalog-config-card .section-description {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

/* Selector de cliente */
#catalogsSection .catalog-client-card label,
#catalogsSection .catalog-config-card label {
  margin-bottom: 5px !important;
  font-size: 10px !important;
}

#catalogsSection .catalog-client-card input,
#catalogsSection .catalog-config-card input {
  height: 42px !important;
  min-height: 42px !important;
  border-radius: 9px !important;
  font-size: 14px !important;
}

/* Estado vacío */
#catalogsSection .empty-state {
  min-height: 86px !important;
  padding: 22px !important;

  font-size: 14px !important;

  border-radius: 12px !important;
}

/* Reducir separación global entre bloques */
#catalogsSection > article,
#catalogsSection > div {
  margin-bottom: 12px !important;
}

/* Usuario superior */
#catalogsSection .user-summary,
#catalogsSection .admin-user {
  line-height: 1.2 !important;
}

#catalogsSection .user-summary strong,
#catalogsSection .admin-user strong {
  font-size: 14px !important;
}

#catalogsSection .user-summary span,
#catalogsSection .admin-user span {
  font-size: 11px !important;
}

/* Pantallas medianas */
@media (max-width: 1280px) {
  .catalog-copy-toolbar {
    flex-wrap: wrap !important;
  }

  .catalog-copy-toolbar-title {
    flex: 1 0 100% !important;
    width: 100% !important;
    max-width: none !important;
  }
}

/* Tablet */
@media (max-width: 900px) {
  .catalog-copy-card {
    padding: 14px !important;
  }

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

/* Móvil */
@media (max-width: 700px) {
  #catalogsSection h1 {
    font-size: 28px !important;
  }

  .catalog-copy-toolbar {
    padding: 12px !important;
  }

  .catalog-copy-toolbar-title {
    min-width: 0 !important;
  }

  .catalog-copy-toolbar-description {
    font-size: 11px !important;
  }

  .catalog-copy-grid {
    grid-template-columns: 1fr !important;
  }
}


/* Mantener fija la barra al abrir historial */
#refreshCatalogCopyHistoryButton {
  display: none !important;
}

/* La barra conserva siempre el mismo ancho y orden */
.catalog-copy-toolbar {
  align-items: center !important;
}

.catalog-copy-toolbar > button {
  flex: 0 0 auto !important;
}

/* Evitar desplazamientos al cambiar aria-expanded */
#toggleCatalogCopyHistoryButton,
#toggleProductClientQueryButton,
#toggleMagazineHeroButton,
#previewCatalogCopyButton,
#copyCatalogButton {
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
}

#toggleCatalogCopyHistoryButton[aria-expanded="true"],
#toggleProductClientQueryButton[aria-expanded="true"],
#toggleMagazineHeroButton[aria-expanded="true"] {
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
}


/* Galería del producto en Administración */
.product-gallery-admin {
  display: grid;
  grid-template-columns:
    repeat(auto-fill, minmax(140px, 1fr));
  gap: 14px;

  margin: 14px 0 22px;
}

.product-gallery-admin[hidden] {
  display: none !important;
}

.product-gallery-admin-item {
  position: relative;
  overflow: hidden;

  border:
    1px solid rgba(31, 73, 54, 0.18);
  border-radius: 14px;

  background: #f7f5ef;
}

.product-gallery-admin-item.is-primary {
  border-color: #b98a32;

  box-shadow:
    0 0 0 2px rgba(185, 138, 50, 0.18);
}

.product-gallery-admin-image {
  display: block;

  width: 100%;
  height: 125px;

  padding: 8px;

  object-fit: contain;
  background: #fff;
}

.product-gallery-admin-actions {
  display: grid;
  gap: 6px;

  padding: 9px;
}

.product-gallery-admin-actions button {
  min-height: 34px;
  padding: 6px 9px;

  border:
    1px solid rgba(31, 73, 54, 0.18);
  border-radius: 9px;

  background: #fff;
  color: #1f4936;

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

  cursor: pointer;
}

.product-gallery-admin-actions
.gallery-primary-button {
  background: #1f4936;
  color: #fff;
}

.product-gallery-admin-actions
.gallery-primary-button:disabled {
  opacity: 0.75;
  cursor: default;
}

.product-gallery-admin-actions
.gallery-delete-button {
  color: #a12d2d;
}

.product-gallery-primary-badge {
  position: absolute;
  z-index: 2;

  top: 8px;
  left: 8px;

  padding: 5px 8px;

  border-radius: 999px;

  background: #b98a32;
  color: #fff;

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


/* =====================================================
   ORGANIZACIÓN DE GALERÍA DE PRODUCTOS
   ===================================================== */

.product-gallery-order-section {
  margin: 14px 0 22px;
  padding: 16px;

  border: 1px solid rgba(164, 110, 17, 0.22);
  border-radius: 16px;

  background: rgba(250, 247, 239, 0.72);
}

.product-gallery-order-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;

  margin-bottom: 14px;
}

.product-gallery-order-header > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.product-gallery-order-header strong {
  font-size: 15px;
  color: #302d27;
}

.product-gallery-order-header small {
  color: #746d60;
  font-size: 12px;
  line-height: 1.4;
}

.product-gallery-admin {
  display: grid;
  grid-template-columns:
    repeat(auto-fill, minmax(180px, 1fr));
  gap: 14px;
}

.product-gallery-admin-item {
  position: relative;

  display: flex;
  flex-direction: column;
  gap: 10px;

  min-width: 0;
  padding: 10px;

  border: 1px solid rgba(87, 79, 64, 0.18);
  border-radius: 14px;

  background: #fff;

  cursor: grab;

  transition:
    opacity 150ms ease,
    transform 150ms ease,
    border-color 150ms ease,
    box-shadow 150ms ease;
}

.product-gallery-admin-item:active {
  cursor: grabbing;
}

.product-gallery-admin-item.is-dragging {
  opacity: 0.45;
  transform: scale(0.97);
}

.product-gallery-admin-item.is-drag-over {
  border-color: #b27a18;
  box-shadow:
    0 0 0 3px rgba(178, 122, 24, 0.17);
}

.product-gallery-admin-item.is-primary {
  border-color: rgba(178, 122, 24, 0.52);
}

.product-gallery-order-bar {
  display: flex;
  align-items: center;
  gap: 7px;

  min-height: 28px;
}

.product-gallery-position {
  display: grid;
  place-items: center;

  width: 28px;
  height: 28px;

  border-radius: 50%;

  background: #1f4d3b;
  color: #fff;

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

.product-gallery-drag-handle {
  color: #9d9585;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -4px;
  line-height: 1;

  cursor: grab;
}

.product-gallery-primary-badge {
  margin-left: auto;
  padding: 5px 8px;

  border-radius: 999px;

  background: #f1dfae;
  color: #80530c;

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

.product-gallery-admin-image {
  display: block;

  width: 100%;
  height: 145px;

  padding: 7px;

  border-radius: 10px;

  background: #f7f3e9;

  object-fit: contain;
}

.product-gallery-move-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}

.gallery-move-button {
  min-height: 34px;

  border: 1px solid rgba(164, 110, 17, 0.28);
  border-radius: 9px;

  background: #fffaf0;
  color: #895a0e;

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

  cursor: pointer;
}

.gallery-move-button:hover:not(:disabled) {
  background: #f2e2b9;
}

.gallery-move-button:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.product-gallery-admin-actions {
  display: grid;
  gap: 7px;
}

.product-gallery-admin-actions button {
  width: 100%;
  min-height: 34px;

  border-radius: 9px;

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

#saveProductGalleryOrderButton:disabled {
  opacity: 0.48;
  cursor: not-allowed;
}

@media (max-width: 650px) {
  .product-gallery-order-header {
    align-items: stretch;
    flex-direction: column;
  }

  .product-gallery-admin {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .product-gallery-admin-image {
    height: 120px;
  }
}


/* =====================================================
   VISIBILIDAD DEFINITIVA DEL BOTÓN GUARDAR ORDEN
   ===================================================== */

#productGalleryOrderSection:not([hidden]) {
  display: block !important;
  visibility: visible !important;
  overflow: visible !important;
}

#productGalleryOrderSection
.product-gallery-order-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 14px !important;

  width: 100% !important;
  min-height: 60px !important;

  margin: 0 0 16px !important;
  padding: 14px 16px !important;

  box-sizing: border-box !important;

  border: 1px solid rgba(174, 119, 22, 0.35) !important;
  border-radius: 12px !important;

  background: #fff7e6 !important;

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

#productGalleryOrderSection
.product-gallery-order-header > div {
  display: flex !important;
  flex: 1 1 300px !important;
  flex-direction: column !important;
  gap: 4px !important;

  min-width: 0 !important;

  visibility: visible !important;
}

#productGalleryOrderSection
.product-gallery-order-header strong {
  display: block !important;
  color: #30291f !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

#productGalleryOrderSection
.product-gallery-order-header small {
  display: block !important;
  color: #706858 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

#saveProductGalleryOrderButton {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;

  width: auto !important;
  min-width: 190px !important;
  min-height: 44px !important;

  margin: 0 !important;
  padding: 10px 18px !important;

  position: relative !important;
  z-index: 100 !important;

  border: 1px solid #996616 !important;
  border-radius: 10px !important;

  background: #a97218 !important;
  color: #ffffff !important;

  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;

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

  cursor: pointer !important;
}

#saveProductGalleryOrderButton:hover:not(:disabled) {
  background: #87550d !important;
}

#saveProductGalleryOrderButton:disabled {
  display: inline-flex !important;
  visibility: visible !important;

  background: #d7c59f !important;
  color: #6c604b !important;

  opacity: 1 !important;
  cursor: not-allowed !important;
}

#productGalleryPreview {
  display: grid !important;
  visibility: visible !important;
  overflow: visible !important;
}

@media (max-width: 700px) {
  #productGalleryOrderSection
  .product-gallery-order-header {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  #saveProductGalleryOrderButton {
    width: 100% !important;
  }
}

.product-upcoming-option {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(176, 125, 36, 0.28);
  border-radius: 14px;
  background: linear-gradient(135deg, #fffaf0, #f8f0df);
  cursor: pointer;
}

.product-upcoming-option input {
  width: 20px;
  height: 20px;
  margin-top: 2px;
  accent-color: #9a681d;
}

.product-upcoming-option span {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.product-upcoming-option strong {
  color: #6f4810;
}

.product-upcoming-option small {
  color: #6d665c;
  line-height: 1.45;
}

.product-status-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.status-pill.upcoming {
  background: #fff1c9;
  color: #7b5011;
  border: 1px solid #dab66d;
}


/* Botón eliminar producto */
.product-action-button.delete-product {
  color: #a12626 !important;
  background: #fff5f5 !important;
  border-color: rgba(161, 38, 38, 0.32) !important;
}

.product-action-button.delete-product:hover {
  color: #ffffff !important;
  background: #a12626 !important;
  border-color: #a12626 !important;
}

.product-action-button.delete-product:disabled {
  cursor: wait !important;
  opacity: 0.65 !important;
}
CSScat >> web/admin.css <<'CSS'


/* Botón eliminar producto */
.product-action-button.delete-product {
  color: #a12626 !important;
  background: #fff5f5 !important;
  border-color: rgba(161, 38, 38, 0.32) !important;
}

.product-action-button.delete-product:hover {
  color: #ffffff !important;
  background: #a12626 !important;
  border-color: #a12626 !important;
}

.product-action-button.delete-product:disabled {
  cursor: wait !important;
  opacity: 0.65 !important;
}


/* =====================================================
   EXPORTACIÓN DE REVISTA PDF
   ===================================================== */

.export-publication-pdf {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 40px;
  padding: 9px 15px !important;

  color: #ffffff !important;
  background: #214b39 !important;
  border-color: #214b39 !important;

  font-weight: 750 !important;
  text-align: center;
  text-decoration: none !important;

  border-radius: 10px !important;
}

.export-publication-pdf:hover {
  color: #ffffff !important;
  background: #17372b !important;
  border-color: #17372b !important;

  transform: translateY(-1px);
}

@media (max-width: 700px) {
  .export-publication-pdf {
    width: 100%;
  }
}


/* =====================================================
   PDF EN ACCIONES DIRECTAS DE REVISTA
   ===================================================== */

#exportSelectedClientPublicationPdfButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 40px;
  height: 40px;
  padding: 0 14px;

  color: #ffffff;
  background: #214b39;
  border: 1px solid #214b39;
  border-radius: 9px;

  font-size: 10px;
  font-weight: 750;
  line-height: 1.2;
  white-space: nowrap;

  cursor: pointer;
}

#exportSelectedClientPublicationPdfButton:hover {
  color: #ffffff;
  background: #17372b;
  border-color: #17372b;
  transform: translateY(-1px);
}

#exportSelectedClientPublicationPdfButton[hidden] {
  display: none !important;
}

#exportSelectedClientPublicationPdfButton:not([hidden]) {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

@media (max-width: 650px) {
  #exportSelectedClientPublicationPdfButton {
    width: 100%;
  }
}


/* =====================================================
   LOGO DEL CLIENTE EN ADMINISTRACIÓN
   ===================================================== */

.client-record-logo {
  width: 78px;
  height: 52px;
  object-fit: contain;
  object-position: left center;
  margin-bottom: 8px;
  padding: 5px;
  background: #ffffff;
  border: 1px solid rgba(80, 65, 40, 0.14);
  border-radius: 8px;
}

.client-record-logo[hidden] {
  display: none;
}


/* =====================================================
   ACCIONES VISIBLES EN CLIENTES
   ===================================================== */

.records-list .record-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.records-list .edit-client {
  border-color: #b99a5a;
  color: #74551e;
  background: #fffaf0;
}

.records-list .edit-client:hover {
  border-color: #9e7627;
  color: #ffffff;
  background: #9e7627;
}

.records-list .delete-client {
  border-color: #dfb7b7;
  color: #a43b3b;
  background: #fff5f5;
}

.records-list .delete-client:hover {
  border-color: #a43b3b;
  color: #ffffff;
  background: #a43b3b;
}

@media (max-width: 650px) {
  .records-list .record-actions {
    width: 100%;
  }

  .records-list .edit-client,
  .records-list .delete-client {
    flex: 1 1 130px;
  }
}


/* =====================================================
   LOGOS EMPRESA
   ===================================================== */

.company-logo-preview-container {
  margin-top: 18px;
}

.company-logo-preview-container > span {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 700;
  color: #6e6e6e;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.company-logo-preview-box {
  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 150px;
  padding: 20px;

  border: 1px solid #e6dfd0;
  border-radius: 14px;

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #f8f5ee
    );
}

.company-logo-preview-box img {
  display: block;
  max-width: 100%;
  max-height: 130px;
  object-fit: contain;
}

.company-logos-list {
  display: grid;
  gap: 14px;
}

.company-logo-record {
  display: grid;
  grid-template-columns:
    130px
    minmax(0, 1fr)
    auto;

  align-items: center;
  gap: 18px;

  padding: 14px;

  border: 1px solid #e8e1d4;
  border-radius: 14px;

  background: #fff;
}

.company-logo-record-visual {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 130px;
  height: 82px;

  padding: 10px;

  border-radius: 10px;
  background: #f8f6f1;
}

.company-logo-record-visual img {
  display: block;
  max-width: 100%;
  max-height: 62px;
  object-fit: contain;
}

.company-logo-record-content {
  min-width: 0;
}

.company-logo-record-content strong {
  display: block;
  margin-bottom: 5px;
  font-size: 15px;
}

.company-logo-record-content small {
  display: block;
  overflow: hidden;
  color: #8a857c;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.company-logo-record-actions {
  display: flex;
  gap: 8px;
}

@media (max-width: 760px) {
  .company-logo-record {
    grid-template-columns: 1fr;
  }

  .company-logo-record-visual {
    width: 100%;
  }

  .company-logo-record-actions {
    width: 100%;
  }

  .company-logo-record-actions button {
    flex: 1;
  }
}


/* =====================================================
   BOTON HTML OFFLINE - ESTILO DEFINITIVO
   ===================================================== */

#selectedClientPublicationActions
#exportSelectedClientPublicationOfflineButton:not([hidden]) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-width: 112px !important;
  min-height: 38px !important;
  height: 38px !important;

  padding: 0 14px !important;

  border: 1px solid #c99127 !important;
  border-radius: 8px !important;

  background: #fffaf0 !important;
  background-color: #fffaf0 !important;
  background-image: none !important;

  color: #8a5b08 !important;

  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;

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

  box-shadow: none !important;

  cursor: pointer !important;
}

#selectedClientPublicationActions
#exportSelectedClientPublicationOfflineButton:not([hidden]):hover {
  border-color: #a97820 !important;

  background: #f4e4bd !important;
  background-color: #f4e4bd !important;

  color: #704600 !important;
}

#selectedClientPublicationActions
#exportSelectedClientPublicationOfflineButton:not([hidden]):active {
  transform: translateY(1px) !important;

  background: #ead29b !important;
}
