:root {
  --bg: #f5f6fa;
  --card: #ffffff;
  --dark: #101828;
  --muted: #667085;
  --primary: #ff6b00;
  --green: #12b76a;
  --red: #f04438;
  --yellow: #ffce31;
  --border: #e4e7ec;
  --shadow: 0 18px 45px rgba(16, 24, 40, 0.12);
}

* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--dark);
  font-family: Arial, Helvetica, sans-serif;
}
button, input, select, a { font-family: inherit; }
button { cursor: pointer; }
a { text-decoration: none; color: inherit; }
.hidden { display: none !important; }
.muted { color: var(--muted); }

.admin-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #111827;
  color: white;
  padding: 14px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 10px 25px rgba(0,0,0,0.16);
}
.brand { display: flex; align-items: center; gap: 12px; }
.brand span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--primary), var(--yellow));
  color: #111827;
  font-weight: 900;
  font-size: 24px;
}
.brand strong { display: block; font-size: 20px; line-height: 18px; }
.brand small { color: #d0d5dd; }
.admin-actions { display: flex; gap: 10px; align-items: center; }
.admin-actions a, .admin-actions button {
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.08);
  color: white;
  border-radius: 14px;
  padding: 11px 14px;
  font-weight: 800;
}
.admin-actions button { color: #fecaca; }

main { max-width: 1280px; margin: 0 auto; padding: 28px; }
.login-card {
  width: min(430px, 94vw);
  margin: 70px auto;
  background: white;
  border: 1px solid var(--border);
  border-radius: 28px;
  padding: 28px;
  box-shadow: var(--shadow);
}
.login-card h1 { margin: 0 0 8px; font-size: 32px; }
.login-card p { color: var(--muted); }
#loginForm { display: grid; gap: 12px; margin-top: 20px; }
#loginForm input, .generate-form input, .generate-form select, #statusFilter {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 14px;
  outline: none;
  background: white;
}
#loginForm button, .generate-form button {
  border: none;
  background: var(--primary);
  color: white;
  border-radius: 14px;
  padding: 14px;
  font-weight: 900;
}
.demo-box {
  margin-top: 14px;
  background: #fffaeb;
  color: #93370d;
  padding: 12px;
  border-radius: 14px;
  font-size: 13px;
}

.page-title {
  min-height: 250px;
  border-radius: 32px;
  padding: 34px;
  background: radial-gradient(circle at top right, rgba(255,206,49,0.4), transparent 35%), linear-gradient(135deg, #111827, #1f2937);
  color: white;
  display: flex;
  align-items: end;
}
.page-title span {
  display: inline-block;
  color: var(--yellow);
  background: rgba(255,255,255,0.1);
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 900;
}
.page-title h1 {
  font-size: clamp(36px, 5vw, 58px);
  line-height: 0.95;
  letter-spacing: -2px;
  margin: 18px 0 12px;
}
.page-title p { color: #d0d5dd; font-size: 17px; margin: 0; }

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 18px 0;
}
.stat-card, .panel-card {
  background: white;
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 20px;
  box-shadow: 0 12px 28px rgba(16, 24, 40, 0.06);
}
.stat-card span { color: var(--muted); display: block; margin-bottom: 8px; }
.stat-card strong { font-size: 28px; }

.content-grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 18px;
}
.panel-card h2 { margin: 0 0 6px; }
.panel-card p { color: var(--muted); margin-top: 0; }
.generate-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.generate-form label { display: grid; gap: 7px; font-weight: 900; }
.generate-form button { grid-column: 1 / -1; }
.generated-box { margin-top: 22px; }
.generated-box h3 { margin-bottom: 12px; }
.code-list, .card-list { display: grid; gap: 10px; }
.code-row, .card-row {
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 12px;
  display: grid;
  gap: 8px;
  background: #fcfcfd;
}
.code-main, .card-main {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.code-main code, .card-main code {
  background: #111827;
  color: white;
  padding: 8px 10px;
  border-radius: 10px;
  font-weight: 900;
  word-break: break-word;
}
.row-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.copy-btn, .cancel-btn {
  border: none;
  border-radius: 12px;
  padding: 9px 11px;
  font-weight: 900;
}
.copy-btn { background: #e0f2fe; color: #075985; }
.cancel-btn { background: #fee4e2; color: #b42318; }
.status {
  display: inline-flex;
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}
.status.available { background: #dcfae6; color: #067647; }
.status.used { background: #dbeafe; color: #1d4ed8; }
.status.cancelled, .status.expired { background: #fee4e2; color: #b42318; }
.list-header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 14px;
  margin-bottom: 14px;
}
.card-meta { color: var(--muted); font-size: 13px; line-height: 1.5; }

.toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: #111827;
  color: white;
  padding: 14px 18px;
  border-radius: 14px;
  opacity: 0;
  pointer-events: none;
  transition: 0.25s;
  z-index: 500;
  box-shadow: var(--shadow);
}
.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

@media (max-width: 980px) {
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .content-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .admin-header { padding: 12px; align-items: start; gap: 12px; flex-direction: column; }
  main { padding: 14px; }
  .stats-grid, .generate-form { grid-template-columns: 1fr; }
  .page-title { padding: 24px; border-radius: 24px; }
  .code-main, .card-main, .list-header { flex-direction: column; align-items: start; }
}

.products-admin-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 18px;
  margin-top: 18px;
}

.product-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 18px;
}

.product-form label {
  display: grid;
  gap: 7px;
  font-weight: 900;
}

.product-form input,
.product-form select,
.product-form textarea,
#productStatusFilter {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 14px;
  outline: none;
  background: white;
  resize: vertical;
}

.full-field,
.check-field,
.form-actions {
  grid-column: 1 / -1;
}

.check-field {
  display: flex !important;
  grid-template-columns: auto 1fr;
  align-items: center;
  background: #f9fafb;
  border: 1px solid var(--border);
  padding: 12px;
  border-radius: 14px;
}

.check-field input {
  width: 18px;
  height: 18px;
  padding: 0;
}

.form-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.form-actions button,
.product-action-btn {
  border: none;
  border-radius: 14px;
  padding: 13px 15px;
  font-weight: 900;
}

#saveProductButton {
  background: var(--primary);
  color: white;
}

.neutral-btn {
  background: #f2f4f7;
  color: var(--dark);
}

.product-admin-list {
  display: grid;
  gap: 12px;
}

.product-admin-row {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 14px;
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 12px;
  background: #fcfcfd;
}

.product-admin-image {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  overflow: hidden;
  background: #f2f4f7;
  font-size: 30px;
}

.product-admin-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-admin-main {
  display: grid;
  gap: 8px;
}

.product-admin-title {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: start;
}

.product-admin-title h3 {
  margin: 0;
  font-size: 16px;
}

.product-admin-meta {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.product-admin-description {
  color: var(--dark);
  font-size: 13px;
  margin: 0;
}

.product-admin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.product-action-btn.edit {
  background: #e0f2fe;
  color: #075985;
}

.product-action-btn.toggle {
  background: #fef3c7;
  color: #92400e;
}

.product-action-btn.hide {
  background: #fee4e2;
  color: #b42318;
}

.status.inactive {
  background: #f2f4f7;
  color: #475467;
}

@media (max-width: 980px) {
  .products-admin-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .product-form { grid-template-columns: 1fr; }
  .product-admin-row { grid-template-columns: 1fr; }
  .product-admin-title { flex-direction: column; }
}

.province-check-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-top: 8px;
}

.province-check {
  display: flex !important;
  align-items: center;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #f9fafb;
  font-weight: 800 !important;
  font-size: 13px;
}

.province-check.origin {
  background: #fffaeb;
  border-color: #fedf89;
}

.province-check input {
  width: 16px;
  height: 16px;
  accent-color: var(--primary);
  padding: 0;
}

.delivery-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 2px 0 8px;
}

.delivery-suggestions button {
  border: none;
  background: #e0f2fe;
  color: #075985;
  border-radius: 999px;
  padding: 8px 11px;
  font-weight: 900;
}

.image-tools {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}

.image-tools input[type="file"] {
  padding: 11px;
}

.image-preview {
  width: 150px;
  height: 150px;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid var(--border);
  background: #f2f4f7;
  margin-top: 10px;
}

.image-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 640px) {
  .province-check-grid,
  .image-tools {
    grid-template-columns: 1fr;
  }
}

.full-panel { margin: 18px 0; }
.order-admin-list, .product-admin-list { display: grid; gap: 12px; }
.admin-order-card, .product-admin-row {
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 14px;
  background: #fcfcfd;
  display: grid;
  gap: 10px;
}
.order-head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 12px;
}
.admin-order-card input {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 10px;
  min-width: 150px;
}
.admin-order-card button, .product-admin-row button, .danger-btn {
  border: none;
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 900;
  background: var(--primary);
  color: white;
}
.danger-btn { background: #fee4e2 !important; color: #b42318 !important; }
.status.pending_seller, .status.pending { background: #fffaeb; color: #93370d; }
.status.awaiting_client_shipping { background: #fef3c7; color: #92400e; }
.status.preparing { background: #dbeafe; color: #1d4ed8; }
.status.seller_delivered { background: #ede9fe; color: #6d28d9; }
.status.completed, .status.approved { background: #dcfae6; color: #067647; }
.status.refunded, .status.cancelled, .status.rejected, .status.hidden { background: #fee4e2; color: #b42318; }
.products-admin-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 18px;
  margin-top: 18px;
}
.product-form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 18px;
}
.product-form label { display: grid; gap: 7px; font-weight: 900; }
.product-form input, .product-form select, .product-form textarea, #orderStatusFilter, #productStatusFilter {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 13px;
  outline: none;
  background: white;
}
.full-field, .check-field, .form-actions { grid-column: 1 / -1; }
.check-field { display: flex !important; grid-template-columns: auto 1fr; align-items: center; }
.form-actions { display: flex; gap: 10px; }
.form-actions button, .product-form button { border: none; background: var(--primary); color: white; border-radius: 14px; padding: 14px; font-weight: 900; }
.neutral-btn { background: #f2f4f7 !important; color: #111827 !important; }
.image-tools { display: flex; gap: 10px; flex-wrap: wrap; }
.image-preview { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.image-preview img, .admin-product-img img {
  width: 78px;
  height: 78px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid var(--border);
}
.province-check-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.province-check {
  display: flex !important;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 9px;
  font-weight: 700 !important;
}
.province-check.origin { background: #fffaeb; border-color: #fedf89; }
.delivery-suggestions { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
.delivery-suggestions button { background: #eef4ff; color: #3538cd; border: none; border-radius: 999px; padding: 8px 10px; font-weight: 900; }
.product-admin-row {
  grid-template-columns: 84px 1fr auto auto;
  align-items: center;
}
.admin-product-img {
  width: 76px;
  height: 76px;
  border-radius: 16px;
  background: #f2f4f7;
  display: grid;
  place-items: center;
  overflow: hidden;
  font-size: 30px;
}
.inline-code code { display: inline-block; }
@media (max-width: 980px) {
  .products-admin-grid, .product-form, .province-check-grid { grid-template-columns: 1fr; }
  .product-admin-row { grid-template-columns: 1fr; }
}

.report-admin-list, .report-chat-grid {
  display: grid;
  gap: 12px;
}
.report-card, .seller-report-chat {
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 14px;
  background: #fcfcfd;
  display: grid;
  gap: 10px;
}
.report-summary {
  background: #fffaeb;
  color: #93370d;
  border-radius: 14px;
  padding: 12px;
  font-weight: 800;
}
.report-grid, .report-chat-grid {
  grid-template-columns: repeat(2, 1fr);
}
.mini-chat {
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 12px;
  background: white;
  display: grid;
  gap: 10px;
}
.mini-chat h3 { margin: 0; font-size: 16px; }
.chat-thread {
  display: grid;
  gap: 8px;
  max-height: 260px;
  overflow: auto;
  background: #f9fafb;
  border-radius: 14px;
  padding: 10px;
}
.chat-message {
  border-radius: 14px;
  padding: 9px 10px;
  background: white;
  border: 1px solid var(--border);
}
.chat-message p { margin: 4px 0; }
.chat-message small { color: var(--muted); }
.chat-message.from-admin { background: #eef4ff; border-color: #c7d7fe; }
.mini-chat textarea, .report-reply-row input {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 10px;
  resize: vertical;
}
.mini-chat button, .report-reply-row button {
  border: none;
  border-radius: 12px;
  padding: 10px 12px;
  background: var(--primary);
  color: white;
  font-weight: 900;
}
.report-reply-row { display: flex; gap: 8px; flex-wrap: wrap; }
.report-reply-row input { flex: 1; min-width: 220px; }
.status.open { background: #fee4e2; color: #b42318; }
.status.closed { background: #dcfae6; color: #067647; }
@media (max-width: 860px) {
  .report-grid, .report-chat-grid { grid-template-columns: 1fr; }
}

.modal {
  position: fixed;
  inset: 0;
  z-index: 900;
  background: rgba(16,24,40,0.55);
  display: grid;
  place-items: center;
  padding: 18px;
}
.modal-card {
  position: relative;
  width: min(760px, 96vw);
  max-height: 90vh;
  overflow-y: auto;
  background: white;
  border-radius: 28px;
  padding: 24px;
  box-shadow: var(--shadow);
}
.modal-close {
  position: absolute;
  right: 14px;
  top: 14px;
  border: none;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: #f2f4f7;
  font-weight: 900;
}
.promotion-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 18px;
}
.promo-plan-card {
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 16px;
  background: #fcfcfd;
  display: grid;
  gap: 8px;
}
.promo-plan-card strong { font-size: 22px; }
.promo-plan-card button {
  border: none;
  border-radius: 14px;
  background: var(--primary);
  color: white;
  padding: 11px;
  font-weight: 900;
}
.promo-badge {
  display: inline-flex;
  width: fit-content;
  margin-top: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fffaeb;
  color: #93370d;
  font-size: 12px;
  font-weight: 900;
}
@media (max-width: 760px) { .promotion-options { grid-template-columns: 1fr; } }

/* V5.4: creación avanzada de productos */
.product-form textarea#productVariantsInput { min-height: 130px; font-family: Arial, Helvetica, sans-serif; }
.product-admin-row .promo-badge { margin-left: 8px; }

.variant-panel {
  display: grid;
  gap: 14px;
}
.variant-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: start;
}
.variant-panel-head h3 {
  margin: 0 0 6px;
}
.variant-panel-head p {
  margin: 0;
}
.variant-options-builder {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: #fcfcfd;
}
.variant-choice-block {
  display: grid;
  gap: 8px;
}
.chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.chip-grid label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 9px 12px;
  background: white;
  font-weight: 800;
}
.tech-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.tech-grid select {
  min-height: 105px;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 10px;
}
.variant-rows {
  display: grid;
  gap: 10px;
}
.variant-row-editor {
  display: grid;
  grid-template-columns: 1.4fr 0.7fr 0.7fr 0.7fr auto;
  gap: 8px;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 10px;
  background: white;
}
.variant-row-editor input {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 10px;
  outline: none;
}
.variant-row-editor button {
  border: none;
  border-radius: 12px;
  background: #fee4e2;
  color: #b42318;
  font-weight: 900;
  padding: 10px;
}
@media (max-width: 760px) {
  .variant-panel-head, .variant-row-editor { grid-template-columns: 1fr; display: grid; }
  .tech-grid { grid-template-columns: 1fr; }
}

/* V5.7 - Constructor de variantes más claro */
.variant-bulk-tools {
  display: grid;
  grid-template-columns: 1fr repeat(3, minmax(100px, 140px)) auto;
  gap: 10px;
  align-items: center;
  margin: 12px 0;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: #fcfcfd;
}
.variant-bulk-tools input {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 11px;
  outline: none;
}
.variant-summary,
.variant-warning {
  grid-column: 1 / -1;
  padding: 11px 12px;
  border-radius: 14px;
  font-weight: 900;
}
.variant-summary { background: #eef4ff; color: #3538cd; }
.variant-warning { background: #fffaeb; color: #93370d; }
.tech-chip-grid {
  grid-template-columns: 1fr 1fr;
}
.tech-chip-grid > div > span {
  display: block;
  font-weight: 900;
  margin-bottom: 8px;
}
@media (max-width: 760px) {
  .variant-bulk-tools,
  .tech-chip-grid {
    grid-template-columns: 1fr;
  }
}

.seller-app-list { display: grid; gap: 12px; }
.seller-app-card { border: 1px solid var(--border); border-radius: 18px; padding: 14px; background: #fcfcfd; display: grid; gap: 10px; }
.seller-app-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; color: var(--muted); font-size: 13px; }
.product-admin-group { display: grid; gap: 10px; margin-bottom: 18px; }
.product-admin-group-title { padding: 10px 12px; border-radius: 14px; background: #f2f4f7; font-weight: 900; color: var(--dark); display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.product-admin-group-title.pending { background: #fffaeb; color: #93370d; }
.seller-name-badge { display: inline-flex; width: fit-content; margin-top: 6px; padding: 5px 9px; border-radius: 999px; background: #eef4ff; color: #3538cd; font-size: 12px; font-weight: 900; }
textarea { font-family: inherit; }
@media (max-width: 720px) { .seller-app-grid { grid-template-columns: 1fr; } }

/* V5.10: panel admin más escalable */
.seller-product-search {
  margin: 14px 0 18px;
  padding: 14px;
  border: 1px solid var(--border);
  background: #fcfcfd;
  border-radius: 18px;
}
.seller-product-search label { display: grid; gap: 8px; font-weight: 900; }
.search-inline { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; }
.search-inline input {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 13px;
  outline: none;
}
.search-inline button { border: none; border-radius: 14px; padding: 12px 14px; font-weight: 900; background: var(--primary); color: white; }
.search-inline .neutral-btn { background: #f2f4f7; color: var(--dark); }
.product-admin-group-title.pending span::before { content: "• "; color: var(--primary); }
.admin-review-note {
  margin-top: 8px;
  padding: 10px;
  border-radius: 12px;
  background: #fffaeb;
  color: #93370d;
  font-size: 13px;
}
.seller-notification-list { display: grid; gap: 10px; }
.seller-notification-row {
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 14px;
  background: white;
  display: grid;
  gap: 8px;
}
.seller-notification-row.unread { border-color: #fedf89; background: #fffcf5; }
.seller-notification-row .notification-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.product-list-header { align-items: start; }
@media (max-width: 760px) {
  .search-inline { grid-template-columns: 1fr; }
}

/* === CUBAX V5.11: anuncios y variantes individuales === */
.ad-admin-panel { margin: 18px 0; }
.ad-banner-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ad-banner-form .full-field, .ad-banner-form button { grid-column: 1 / -1; }
.ad-banner-form label { display: grid; gap: 7px; font-weight: 900; }
.ad-banner-form input, .ad-banner-form select {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 14px;
  background: white;
}
.variant-row-editor button[data-duplicate-variant] { border: none; border-radius: 12px; padding: 9px 10px; font-weight: 900; background: #e0f2fe; color: #075985; }
@media (max-width: 760px) { .ad-banner-form { grid-template-columns: 1fr; } }
.delivery-summary{border:1px solid var(--border);border-radius:16px;background:#f8fafc;padding:12px;margin:10px 0;display:grid;gap:8px}.offer-list{display:grid;gap:6px}.offer-list div{padding:8px;border-radius:12px;background:white;border:1px solid var(--border)}.driver-docs{font-size:13px;margin-top:8px}.driver-docs a{font-weight:900;color:#075985}.file-label{display:grid;gap:8px;border:1px solid var(--border);border-radius:14px;padding:12px;background:#fff}.product-form .full-field input{width:100%}

/* V5.14 admin multi-currency */
.exchange-rate-panel { margin: 18px 0; }
.digital-codes-field textarea { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.variant-row-editor {
  grid-template-columns: minmax(160px, 1.2fr) repeat(3, minmax(88px, .65fr)) minmax(74px,.5fr) minmax(92px,.55fr) auto auto;
}
@media (max-width: 900px) {
  .variant-row-editor { grid-template-columns: 1fr 1fr; }
}


/* CUBAX V5.16 - entrega múltiple + ofertas dinámicas */
.dynamic-deals-section .section-header h2 { color: #b42318; }
.dynamic-deals-row, .promoted-row { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(210px, 240px); gap: 14px; overflow-x: auto; padding: 6px 2px 14px; scroll-snap-type: x proximity; }
.dynamic-deal-card { border-color: rgba(244, 63, 94, .28); box-shadow: 0 14px 32px rgba(180, 35, 24, .12); }
.discount-badge, .dynamic-label { display: inline-flex; width: fit-content; align-items: center; margin: 4px 5px 4px 0; padding: 5px 8px; border-radius: 999px; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.discount-badge { background: #fee4e2; color: #b42318; }
.dynamic-label { background: #fffaeb; color: #93370d; }
.dynamic-detail-note { margin: 10px 0; padding: 10px 12px; border-radius: 14px; background: #fff4e5; border: 1px solid #fedf89; color: #93370d; font-size: 13px; line-height: 1.35; }
.delivery-choice-box { display: grid; gap: 8px; margin: 14px 0; padding: 12px; border: 1px solid var(--border); border-radius: 16px; background: #f9fafb; }
.delivery-choice-box label { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 12px; background: #fff; border: 1px solid #edf0f3; font-weight: 800; }
.delivery-options-panel, .dynamic-pricing-panel { border: 1px solid var(--border); border-radius: 18px; padding: 14px; background: #fcfcfd; display: grid; gap: 10px; }
.delivery-option-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.delivery-option-grid label { display: flex; gap: 8px; align-items: center; padding: 10px; border: 1px solid #edf0f3; border-radius: 12px; background: #fff; font-weight: 800; }
.dynamic-pricing-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.muted-disabled { opacity: .55; }
@media (max-width: 640px) { .dynamic-deals-row, .promoted-row { grid-auto-columns: minmax(165px, 180px); gap: 10px; } .delivery-option-grid, .dynamic-pricing-fields { grid-template-columns: 1fr; } }
