:root {
  --player-blue: #526cff;
  --player-blue-deep: #202d72;
  --player-green: #b9f542;
  --player-cyan: #38d7ff;
  --player-black: #04070d;
}

/* Reparaciones: replica operativa de la ficha compacta de Luso. */
body.byo-reference-ui .repair-command-center {
  gap: 20px;
  border-top: 1px solid var(--line);
}

body.byo-reference-ui .repair-command-heading {
  align-items: flex-start;
  gap: 20px;
}

body.byo-reference-ui .repair-command-heading h2 {
  margin: 3px 0 2px;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
}

body.byo-reference-ui .repair-command-side {
  align-items: flex-start;
  gap: 14px;
}

body.byo-reference-ui .repair-command-status {
  align-items: center;
  flex-flow: row wrap;
  justify-content: flex-end;
  gap: 8px;
}

body.byo-reference-ui .repair-document-icon {
  width: 48px;
  min-width: 48px;
  min-height: 48px;
  height: 48px;
  border-radius: 13px;
  background: var(--panel-soft);
  color: var(--muted);
}

body.byo-reference-ui .repair-flow-track {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.byo-reference-ui .repair-flow-track li {
  justify-items: center;
  gap: 7px;
  color: var(--muted);
  font-size: .76rem;
  text-align: center;
}

body.byo-reference-ui .repair-flow-track li:not(:last-child)::after {
  top: 15px;
  left: calc(50% + 20px);
  width: calc(100% - 40px);
}

body.byo-reference-ui .repair-flow-track li span {
  width: 32px;
  height: 32px;
}

body.byo-reference-ui .repair-flow-track li.is-interactive strong { color: var(--text); }
body.byo-reference-ui .repair-flow-track li.is-interactive span { transition: transform .16s ease, box-shadow .16s ease; }
body.byo-reference-ui .repair-flow-track li.is-interactive button:hover span,
body.byo-reference-ui .repair-flow-track li.is-interactive button:focus-visible span {
  transform: translateY(-2px) scale(1.08);
  box-shadow: 0 0 0 6px color-mix(in srgb, var(--business-primary) 18%, transparent);
}

body.byo-reference-ui .repair-command-grid { align-items: start; }

body.byo-reference-ui .repair-next-command {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 108px;
  margin: 0;
  padding: 18px 20px;
  border: 1px solid color-mix(in srgb, var(--business-primary) 45%, var(--line));
  border-radius: 18px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--business-primary) 7%, var(--panel)), color-mix(in srgb, var(--business-secondary) 10%, var(--panel)));
}

body.byo-reference-ui .repair-next-command-copy { display: grid; gap: 4px; }
body.byo-reference-ui .repair-next-command-copy small,
body.byo-reference-ui .repair-bot-strip-copy small {
  color: var(--business-primary);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.byo-reference-ui .repair-next-command-copy strong { color: var(--primary); font-size: 1.28rem; }
body.byo-reference-ui .repair-next-command-copy span { color: var(--muted); font-size: .86rem; }
body.byo-reference-ui .repair-command-button { min-width: 210px; min-height: 50px; font-size: .95rem; }

body.byo-reference-ui .repair-command-tools {
  display: flex;
  min-width: 168px;
  flex-direction: column;
  gap: 8px;
}

body.byo-reference-ui .repair-glance-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
}

body.byo-reference-ui .repair-glance-grid > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-subtle);
}

body.byo-reference-ui .repair-glance-grid span {
  color: var(--muted);
  font-size: .76rem;
  font-weight: 700;
}

body.byo-reference-ui .repair-payment-modal {
  z-index: 1100;
  place-items: start center;
  padding: max(6vh, 28px) 18px 18px;
  background: rgba(6, 15, 22, .62);
  backdrop-filter: blur(5px);
}

body.byo-reference-ui .repair-payment-dialog {
  width: min(100%, 720px);
  max-height: calc(100dvh - 56px);
  border-radius: 18px;
}

body.byo-reference-ui .repair-stage-dialog { width: min(100%, 820px); }

body.byo-reference-ui .repair-stage-body {
  display: grid;
  gap: 16px;
  padding: 18px 22px;
}

body.byo-reference-ui .repair-stage-kicker,
body.byo-reference-ui .repair-stage-work-preview {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-subtle);
}

body.byo-reference-ui .repair-stage-kicker span,
body.byo-reference-ui .repair-stage-work-preview > span {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

body.byo-reference-ui .repair-stage-work-preview p { margin: 2px 0 0; line-height: 1.55; }

body.byo-reference-ui .repair-stage-data-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

body.byo-reference-ui .repair-stage-data-list div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
}

body.byo-reference-ui .repair-stage-data-list dt,
body.byo-reference-ui .repair-work-budget-summary span {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

body.byo-reference-ui .repair-stage-data-list dd { margin: 0; overflow-wrap: anywhere; line-height: 1.45; }
body.byo-reference-ui .repair-stage-device-image { width: min(100%, 360px); max-height: 240px; object-fit: contain; border: 1px solid var(--line); border-radius: 12px; }
body.byo-reference-ui .repair-stage-actions { display: flex; justify-content: flex-end; gap: 9px; padding: 0 22px 22px; }
body.byo-reference-ui .repair-stage-summary { padding: 0; }
body.byo-reference-ui .repair-stage-work-form textarea { min-height: 120px; }

body.byo-reference-ui .repair-work-budget-summary {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-subtle);
}
body.byo-reference-ui .repair-work-budget-summary > div { display: grid; gap: 3px; }

body.byo-reference-ui .repair-bot-strip {
  display: flex;
  min-height: 76px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 18px;
}

body.byo-reference-ui .repair-bot-strip-copy { display: flex; min-width: 0; align-items: center; gap: 12px; }
body.byo-reference-ui .repair-bot-strip-copy > div { display: grid; min-width: 0; gap: 2px; }
body.byo-reference-ui .repair-bot-strip-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.byo-reference-ui .repair-bot-avatar {
  display: grid;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--success) 45%, var(--line));
  border-radius: 14px;
  background: color-mix(in srgb, var(--success) 10%, var(--panel));
  font-size: 1.55rem;
}

@media (max-width: 700px) {
  body.byo-reference-ui .repair-command-heading { display: grid; }
  body.byo-reference-ui .repair-command-side { width: 100%; justify-content: space-between; }
  body.byo-reference-ui .repair-command-grid,
  body.byo-reference-ui .repair-payment-dialog-form,
  body.byo-reference-ui .repair-payment-dialog-summary,
  body.byo-reference-ui .repair-stage-data-list { grid-template-columns: 1fr; }
  body.byo-reference-ui .repair-command-tools { min-width: 0; }
  body.byo-reference-ui .repair-next-command { grid-template-columns: 1fr; }
  body.byo-reference-ui .repair-command-button { width: 100%; min-width: 0; }
  body.byo-reference-ui .repair-stage-actions { flex-wrap: wrap; }
  body.byo-reference-ui .repair-bot-strip { align-items: stretch; flex-direction: column; }
  body.byo-reference-ui .repair-bot-strip .button { width: 100%; }
}

body[data-theme="dark"] {
  color-scheme: dark;
  --brand-strong: #7187ff;
  --accent: var(--player-cyan);
  --accent-soft: rgba(82, 108, 255, .13);
  --bg: #050912;
  --panel: #0c1322;
  --panel-subtle: #111a2b;
  --control: #070c15;
  --sidebar: var(--player-black);
  --sidebar-soft: #0c1424;
  --sidebar-line: rgba(82, 108, 255, .24);
  --text: #f5f7ff;
  --muted: #9ba6ba;
  --line: #26334a;
  --soft: rgba(82, 108, 255, .1);
  --table-head: #080e18;
  --hover: #131e32;
  --login-bg: var(--player-black);
  --mobile-nav: rgba(4, 7, 13, .98);
  background: radial-gradient(circle at 88% 5%, rgba(82, 108, 255, .17), transparent 30%), var(--bg);
}

body[data-theme="dark"] .sidebar {
  border-right-color: var(--sidebar-line);
  background: linear-gradient(180deg, rgba(82, 108, 255, .1), transparent 24%), var(--player-black);
}

.client-brand-logo { width: 62px; height: 48px; flex: 0 0 62px; object-fit: contain; border-radius: 6px; }
.sidebar .brand { border-bottom-color: var(--sidebar-line); }
.sidebar .brand strong { color: #fff; letter-spacing: .02em; }
.sidebar .brand small,
.eyebrow { color: var(--player-green); letter-spacing: .12em; text-transform: uppercase; }
.nav-item { border-radius: 8px; }
.nav-item.active { background: linear-gradient(135deg, #3448ad, var(--player-blue)); color: #fff; box-shadow: 0 9px 25px rgba(45, 64, 161, .28); }
.button.primary { border-color: #6078ff; background: linear-gradient(135deg, #3448ad, var(--player-blue)); color: #fff; box-shadow: 0 10px 24px rgba(45, 64, 161, .25); }
.button.primary:hover { border-color: var(--player-green); background: linear-gradient(135deg, #4056c7, #657dff); }
input:focus, select:focus, textarea:focus { border-color: var(--player-blue); box-shadow: 0 0 0 3px rgba(82, 108, 255, .18); }
.hero-panel { border-color: rgba(82, 108, 255, .34); background: linear-gradient(120deg, rgba(82, 108, 255, .19), transparent 45%), linear-gradient(135deg, #101a2d, #070b13); }
.metric-card, .content-panel, .card { border-color: #26334a; background: linear-gradient(155deg, rgba(15, 24, 41, .98), rgba(8, 13, 23, .98)); }
.metric-card { border-top: 3px solid var(--player-blue); }
.metric-card:nth-child(2) { border-top-color: var(--player-cyan); }
.metric-card:nth-child(3) { border-top-color: var(--player-green); }

.player-one-login {
  min-height: 100vh;
  background-color: var(--player-black);
  background-image: linear-gradient(rgba(82, 108, 255, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(82, 108, 255, .05) 1px, transparent 1px), radial-gradient(circle at 18% 25%, rgba(82, 108, 255, .24), transparent 34%), radial-gradient(circle at 78% 75%, rgba(56, 215, 255, .1), transparent 32%);
  background-size: 64px 64px, 64px 64px, auto, auto;
}
.player-one-login .login-topline { border-bottom: 1px solid rgba(82, 108, 255, .38); background: rgba(4, 7, 13, .9); color: #cbd3ff; font-size: .68rem; font-weight: 800; letter-spacing: .12em; }
.player-one-login .login-shell { max-width: 1240px; }
.player-one-login .login-logo.player-one-login-logo { width: min(390px, 72vw); height: 150px; object-fit: contain; object-position: left center; border: 0; border-radius: 0; background: transparent; box-shadow: none; mix-blend-mode: screen; }
.player-one-monogram { color: var(--player-green); font-size: 4rem; font-weight: 950; letter-spacing: -.07em; }
.player-one-login .login-hero h1 { max-width: 760px; color: #fff; font-size: clamp(3.35rem, 6.7vw, 6.4rem); letter-spacing: -.075em; line-height: .88; }
.player-one-login .login-hero h1 span { display: block; color: var(--player-green); }
.player-one-login-intro > p:not(.eyebrow) { max-width: 650px; color: #aab4c7; font-size: 1.04rem; }
.player-one-login .login-signal-grid { gap: 12px; }
.player-one-login .login-signal-card { display: grid; min-height: 146px; grid-template-columns: 42px 1fr; gap: 15px; padding: 19px; border: 1px solid #283750; border-top: 3px solid var(--card-accent); border-radius: 12px; background: linear-gradient(145deg, rgba(14, 23, 40, .95), rgba(6, 11, 19, .95)); box-shadow: 0 18px 38px rgba(0, 0, 0, .2); animation: none; }
.player-one-login .login-signal-card::after { content: none; }
.player-one-login .login-signal-card.player-sales { --card-accent: var(--player-blue); }
.player-one-login .login-signal-card.player-stock { --card-accent: var(--player-cyan); }
.player-one-login .login-signal-card.player-repairs { --card-accent: var(--player-green); }
.player-one-login .login-signal-card b { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid color-mix(in srgb, var(--card-accent) 65%, transparent); border-radius: 50%; color: var(--card-accent); font-size: .67rem; }
.player-one-login .login-signal-card h2 { margin: 5px 0 8px; color: #fff; font-size: 1rem; }
.player-one-login .login-signal-card p { margin: 0; color: #9ca7bb; font-size: .8rem; line-height: 1.5; }
.player-one-login .login-card { position: relative; overflow: hidden; border: 1px solid #30405d; border-top: 4px solid var(--player-blue); border-radius: 18px; background: rgba(10, 17, 29, .97); box-shadow: 0 35px 95px rgba(0, 0, 0, .48); }
.player-card-glow { position: absolute; top: -90px; right: -90px; width: 190px; height: 190px; border-radius: 50%; background: rgba(82, 108, 255, .18); filter: blur(28px); pointer-events: none; }
.player-one-login .login-client { border-color: #283750; }
.player-one-login .login-client-logo { width: 165px; height: 70px; flex: 0 0 165px; object-fit: contain; object-position: left center; mix-blend-mode: screen; }
.player-one-login .login-client strong { display: none; }
.player-one-login .login-client small { color: #aab4c7; }
.player-one-login .login-card h2 { color: #fff; font-size: 2.4rem; letter-spacing: -.045em; }
.player-login-copy { margin: 8px 0 0; color: #9ca7bb; font-size: .88rem; }
.player-one-login .login-card input { border-color: #30405d; background: #060b13; color: #fff; }
.player-security { margin: 20px 0 0; padding-top: 17px; border-top: 1px solid #26334a; color: #8490a5; font-size: .7rem; text-align: center; }
.player-security span { display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: var(--player-green); box-shadow: 0 0 9px rgba(185, 245, 66, .65); }
.player-one-login .auth-footer { border-top-color: #202c40; background: var(--player-black); color: #8490a5; }

@media (max-width: 760px) {
  .player-one-login .login-logo.player-one-login-logo { width: min(300px, 86vw); height: 105px; }
  .player-one-login .login-hero h1 { font-size: clamp(2.55rem, 13vw, 3.45rem); }
  .player-one-login .login-signal-grid { grid-template-columns: 1fr; }
  .player-one-login .login-signal-card { min-height: 0; }
}

/* PLAYER ONE customer search: reset the legacy one-span field treatment. */
body.byo-reference-ui .customer-filters .customer-search-field > .customer-filter-label {
  position: static;
  inset: auto;
  display: block;
  width: auto;
  height: auto;
  color: #9f9aad;
  font-size: .7rem;
  font-weight: 750;
  line-height: normal;
  letter-spacing: .08em;
  text-transform: uppercase;
  transform: none;
  pointer-events: auto;
}

body.byo-reference-ui .customer-filters .customer-search-field > .customer-search-control {
  position: relative;
  inset: auto;
  display: block;
  width: 100%;
  height: auto;
  color: inherit;
  font-size: inherit;
  transform: none;
  pointer-events: auto;
}

body.byo-reference-ui .customer-filters .customer-search-control > input {
  width: 100%;
  min-width: 0;
}

/* PLAYER ONE product directory: keep heading, filters and tools in clear rows. */
body.byo-reference-ui .product-directory-panel {
  padding: 24px;
}

body.byo-reference-ui .product-directory-header {
  align-items: flex-start;
  margin-bottom: 18px;
  padding-bottom: 18px;
}

body.byo-reference-ui .product-directory-heading {
  min-width: 0;
}

body.byo-reference-ui .product-directory-heading .eyebrow {
  margin: 0 0 7px;
}

body.byo-reference-ui .product-directory-heading .muted {
  margin: 0;
}

body.byo-reference-ui .product-create-action {
  flex: 0 0 auto;
}

body.byo-reference-ui .product-directory-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px 24px;
  align-items: end;
  margin-bottom: 24px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--panel-subtle) 58%, var(--panel));
}

body.byo-reference-ui .product-search-form {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(150px, .42fr) auto;
  gap: 10px;
  align-items: end;
  min-width: 0;
}

body.byo-reference-ui .product-search-query,
body.byo-reference-ui .product-stock-filter {
  display: grid;
  min-width: 0;
  gap: 6px;
}

body.byo-reference-ui .product-search-query > span,
body.byo-reference-ui .product-stock-filter > span {
  color: #9f9aad;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.byo-reference-ui .product-search-query input,
body.byo-reference-ui .product-stock-filter select {
  width: 100%;
  min-width: 0;
  height: 42px;
}

body.byo-reference-ui .product-search-submit {
  min-width: 92px;
  height: 42px;
}

body.byo-reference-ui .product-directory-actions {
  justify-content: flex-end;
  align-items: center;
}

body.byo-reference-ui .product-directory-actions .button {
  white-space: nowrap;
}

body.byo-reference-ui .product-catalog-list thead th {
  color: #ffffff;
}

@media (max-width: 1180px) {
  body.byo-reference-ui .product-directory-toolbar {
    grid-template-columns: 1fr;
  }

  body.byo-reference-ui .product-directory-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  body.byo-reference-ui .product-directory-panel {
    padding: 15px;
  }

  body.byo-reference-ui .product-directory-header {
    display: grid;
    gap: 14px;
  }

  body.byo-reference-ui .product-create-action {
    width: 100%;
  }

  body.byo-reference-ui .product-directory-toolbar {
    margin-bottom: 18px;
    padding: 12px;
  }

  body.byo-reference-ui .product-search-form {
    grid-template-columns: 1fr;
  }

  body.byo-reference-ui .product-search-submit {
    width: 100%;
  }

  body.byo-reference-ui .product-directory-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.byo-reference-ui .product-directory-actions .button {
    width: 100%;
  }
}

body.byo-reference-ui .category-name-field {
  max-width: 720px;
}

body.byo-reference-ui .category-parent-question {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: fit-content;
  padding: 13px 15px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--panel);
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

body.byo-reference-ui .category-parent-question:hover,
body.byo-reference-ui .category-parent-question:has(input:checked) {
  border-color: color-mix(in srgb, var(--primary) 48%, var(--line));
  background: color-mix(in srgb, var(--primary) 6%, var(--panel));
}

body.byo-reference-ui .category-parent-question:has(input:focus-visible) {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent);
}

body.byo-reference-ui .category-parent-question input {
  flex: 0 0 auto;
  width: 19px;
  height: 19px;
  margin: 1px 0 0;
  accent-color: var(--primary);
  cursor: pointer;
}

body.byo-reference-ui .category-parent-question > span {
  display: grid;
  gap: 3px;
}

body.byo-reference-ui .category-parent-question strong {
  color: var(--text);
  font-size: .84rem;
}

body.byo-reference-ui .category-parent-question small {
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.4;
}

body.byo-reference-ui .category-parent-field {
  max-width: 720px;
  padding: 15px;
  border: 1px solid color-mix(in srgb, var(--primary) 24%, var(--line));
  border-radius: 11px;
  background: color-mix(in srgb, var(--primary) 4%, var(--panel));
}

body.byo-reference-ui .category-parent-field[hidden] {
  display: none;
}

@media (max-width: 620px) {
  body.byo-reference-ui .category-parent-question {
    width: 100%;
    box-sizing: border-box;
  }
}

/* Flujo de reparaciones rápido, basado en la operación de Luso Insumos. */
body.byo-reference-ui .repair-command-center {
  display: grid;
  gap: 20px;
  overflow: visible;
  border-top: 4px solid var(--business-primary);
}

body.byo-reference-ui .repair-back-link {
  width: fit-content;
  color: var(--muted);
  font-size: .76rem;
  font-weight: 800;
}

body.byo-reference-ui .repair-back-link:hover { color: var(--primary); }

body.byo-reference-ui .repair-command-heading,
body.byo-reference-ui .repair-command-side,
body.byo-reference-ui .repair-header-documents,
body.byo-reference-ui .repair-command-status {
  display: flex;
  align-items: center;
}

body.byo-reference-ui .repair-command-heading {
  justify-content: space-between;
  gap: 24px;
}

body.byo-reference-ui .repair-command-heading h2 { margin: 4px 0; }
body.byo-reference-ui .repair-command-heading h2 a { color: var(--text); }
body.byo-reference-ui .repair-command-heading p:last-child { margin: 0; color: var(--muted); }
body.byo-reference-ui .repair-command-side { align-items: flex-end; gap: 18px; }
body.byo-reference-ui .repair-header-documents { gap: 9px; }
body.byo-reference-ui .repair-command-status { align-items: flex-end; flex-direction: column; gap: 7px; }

body.byo-reference-ui .repair-document-icon {
  width: 58px;
  min-height: 54px;
  display: grid;
  place-items: center;
  gap: 2px;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--text);
  background: var(--panel);
  cursor: pointer;
}

body.byo-reference-ui .repair-document-icon:hover,
body.byo-reference-ui .repair-document-icon:focus-visible {
  border-color: color-mix(in srgb, var(--business-primary) 52%, var(--line));
  color: var(--primary);
  box-shadow: 0 8px 18px color-mix(in srgb, var(--business-primary) 13%, transparent);
}

body.byo-reference-ui .repair-document-icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

body.byo-reference-ui .repair-document-icon span { font-size: .65rem; font-weight: 850; }

body.byo-reference-ui .repair-flow-track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 2px 0 0;
  padding: 17px 16px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: color-mix(in srgb, var(--business-primary) 3%, var(--panel));
}

body.byo-reference-ui .repair-flow-track li {
  position: relative;
  display: grid;
  place-items: center;
  list-style: none;
}

body.byo-reference-ui .repair-flow-track li:not(:last-child)::after {
  position: absolute;
  top: 17px;
  left: calc(50% + 22px);
  width: calc(100% - 44px);
  height: 3px;
  border-radius: 999px;
  background: var(--line);
  content: "";
}

body.byo-reference-ui .repair-flow-track li.done:not(:last-child)::after {
  background: var(--business-primary);
}

body.byo-reference-ui .repair-flow-track button,
body.byo-reference-ui .repair-flow-step-static {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  gap: 7px;
  padding: 0;
  border: 0;
  color: var(--muted);
  background: transparent;
  font: inherit;
}

body.byo-reference-ui .repair-flow-track button { cursor: pointer; }

body.byo-reference-ui .repair-flow-track li span {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 2px solid var(--line);
  border-radius: 50%;
  color: var(--muted);
  background: var(--panel);
  font-size: .74rem;
  font-weight: 900;
}

body.byo-reference-ui .repair-flow-track li.done span,
body.byo-reference-ui .repair-flow-track li.current span {
  border-color: var(--business-primary);
  color: #fff;
  background: var(--business-primary);
}

body.byo-reference-ui .repair-flow-track li.current strong { color: var(--primary); }
body.byo-reference-ui .repair-flow-track strong { font-size: .71rem; }
body.byo-reference-ui .repair-flow-track button:hover strong { color: var(--primary); }

body.byo-reference-ui .repair-command-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 12px;
}

body.byo-reference-ui .repair-command-grid .repair-next-command {
  margin: 0;
  min-height: 86px;
}

body.byo-reference-ui .repair-command-tools {
  min-width: 190px;
  display: grid;
  gap: 8px;
}

body.byo-reference-ui .repair-command-tools .button { width: 100%; }

body.byo-reference-ui .repair-quick-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  padding: 0 2px;
}

body.byo-reference-ui .repair-quick-tools a {
  color: var(--primary);
  font-size: .74rem;
  font-weight: 800;
}

body.byo-reference-ui .repair-glance-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}

body.byo-reference-ui .repair-cancelled-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 10px;
  color: #8f1d2c;
  background: #fff0f2;
}

body.byo-reference-ui .repair-payment-modal {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: grid;
  place-items: center;
  padding: 22px;
  overflow-y: auto;
  background: rgba(8, 12, 24, .62);
  backdrop-filter: blur(4px);
}

body.byo-reference-ui .repair-payment-modal[hidden] { display: none; }
body.repair-payment-open { overflow: hidden; }

body.byo-reference-ui .repair-payment-dialog {
  width: min(620px, 100%);
  max-height: calc(100dvh - 44px);
  overflow-y: auto;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--panel);
  box-shadow: 0 28px 70px rgba(4, 10, 24, .32);
}

body.byo-reference-ui .repair-payment-dialog-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px 17px;
  border-bottom: 1px solid var(--line);
}

body.byo-reference-ui .repair-payment-dialog-header h2 { margin: 3px 0; }
body.byo-reference-ui .repair-payment-dialog-header p { margin: 0; color: var(--muted); }
body.byo-reference-ui .repair-payment-dialog-header .modal-close { font-size: 1.5rem; }

body.byo-reference-ui .repair-payment-dialog-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 17px 24px 0;
}

body.byo-reference-ui .repair-payment-dialog-summary > div {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-radius: 10px;
  background: var(--panel-subtle);
}

body.byo-reference-ui .repair-payment-dialog-summary span { color: var(--muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
body.byo-reference-ui .repair-payment-dialog-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 20px 24px 24px; }
body.byo-reference-ui .repair-payment-dialog-form .repair-payment-notes,
body.byo-reference-ui .repair-payment-dialog-actions { grid-column: 1 / -1; }
body.byo-reference-ui .repair-payment-dialog-actions { display: flex; justify-content: flex-end; gap: 9px; padding-top: 4px; }

@media (max-width: 820px) {
  body.byo-reference-ui .repair-command-heading,
  body.byo-reference-ui .repair-command-side { align-items: flex-start; }
  body.byo-reference-ui .repair-command-heading { display: grid; }
  body.byo-reference-ui .repair-command-side { justify-content: space-between; }
  body.byo-reference-ui .repair-command-status { align-items: flex-start; }
  body.byo-reference-ui .repair-command-grid { grid-template-columns: 1fr; }
  body.byo-reference-ui .repair-command-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.byo-reference-ui .repair-glance-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 540px) {
  body.byo-reference-ui .repair-command-center { padding: 16px; }
  body.byo-reference-ui .repair-command-side { display: grid; }
  body.byo-reference-ui .repair-flow-track { padding: 14px 6px; }
  body.byo-reference-ui .repair-flow-track li:not(:last-child)::after { left: calc(50% + 18px); width: calc(100% - 36px); }
  body.byo-reference-ui .repair-flow-track strong { font-size: .62rem; }
  body.byo-reference-ui .repair-flow-track li span { width: 32px; height: 32px; }
  body.byo-reference-ui .repair-command-tools,
  body.byo-reference-ui .repair-payment-dialog-form,
  body.byo-reference-ui .repair-payment-dialog-summary { grid-template-columns: 1fr; }
  body.byo-reference-ui .repair-payment-modal { padding: 10px; }
  body.byo-reference-ui .repair-payment-dialog-header,
  body.byo-reference-ui .repair-payment-dialog-form { padding-left: 17px; padding-right: 17px; }
}

/* La navegación acompaña la paleta elegida en Configuración. */
body.byo-reference-ui .sidebar,
body.byo-reference-ui[data-theme="dark"] .sidebar {
  border-right: 1px solid color-mix(in srgb, var(--business-secondary) 48%, transparent);
  background:
    radial-gradient(
      circle at 35% 12%,
      color-mix(in srgb, var(--business-primary) 52%, transparent),
      transparent 34%
    ),
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--business-primary) 58%, #10172b) 0%,
      color-mix(in srgb, var(--business-secondary) 68%, #11152b) 55%,
      color-mix(in srgb, var(--business-secondary) 44%, #07101f) 100%
    );
  box-shadow: 10px 0 30px color-mix(in srgb, var(--business-secondary) 18%, transparent);
}

body.byo-reference-ui .nav-item:hover,
body.byo-reference-ui .nav-item.active {
  background: rgba(255, 255, 255, .14);
  box-shadow: inset 3px 0 color-mix(in srgb, var(--business-primary) 76%, #ffffff);
}

body.byo-reference-ui .client-brand-logo {
  border-color: color-mix(in srgb, var(--business-primary) 42%, rgba(255, 255, 255, .18));
}

/* Todas las cabeceras de datos usan la paleta elegida por el negocio. */
body.byo-reference-ui {
  --table-head: color-mix(in srgb, var(--business-secondary) 62%, #111827);
}

body.byo-reference-ui .responsive-table thead,
body.byo-reference-ui .product-catalog-list thead {
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--business-primary) 48%, #111827),
    color-mix(in srgb, var(--business-secondary) 64%, #111827)
  );
  transition: background .18s ease;
}

body.byo-reference-ui .responsive-table th,
body.byo-reference-ui .product-catalog-list thead th {
  background: transparent;
  color: #ffffff;
}

body.byo-reference-ui .fixed-expense-table-head {
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--business-primary) 48%, #111827),
    color-mix(in srgb, var(--business-secondary) 64%, #111827)
  );
}

body.byo-reference-ui .product-photo-gallery-field {
  display: grid;
  gap: 14px;
  margin-top: 18px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--business-primary) 24%, var(--line));
  border-radius: 13px;
  background: color-mix(in srgb, var(--business-primary) 3%, var(--panel));
}

body.byo-reference-ui .product-photo-gallery-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

body.byo-reference-ui .product-photo-gallery-heading > div,
body.byo-reference-ui .product-photo-gallery-upload {
  display: grid;
  gap: 5px;
}

body.byo-reference-ui .product-photo-gallery-heading strong {
  color: var(--text);
  font-size: .9rem;
}

body.byo-reference-ui .product-photo-gallery-heading small,
body.byo-reference-ui .product-photo-gallery-upload small {
  color: var(--muted);
  font-size: .74rem;
  line-height: 1.45;
}

body.byo-reference-ui .product-photo-gallery-heading > span {
  flex: 0 0 auto;
  padding: 6px 10px;
  border-radius: 999px;
  color: var(--primary);
  background: color-mix(in srgb, var(--business-primary) 10%, var(--panel));
  font-size: .68rem;
  font-weight: 800;
}

body.byo-reference-ui .product-photo-gallery-existing {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(108px, 1fr));
  gap: 12px;
}

body.byo-reference-ui .product-photo-gallery-item {
  display: grid;
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
}

body.byo-reference-ui .product-photo-gallery-item img {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 7px;
  object-fit: contain;
  background: #fff;
}

body.byo-reference-ui .product-photo-gallery-item span {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 700;
}

body.byo-reference-ui .product-photo-gallery-item input {
  width: 16px;
  height: 16px;
  accent-color: var(--primary);
}

body.byo-reference-ui .product-photo-gallery-upload input[type="file"] {
  width: 100%;
  min-height: 46px;
  padding: 9px 11px;
  border: 1px dashed color-mix(in srgb, var(--business-primary) 44%, var(--line));
  border-radius: 9px;
  background: var(--panel);
}

@media (max-width: 620px) {
  body.byo-reference-ui .product-photo-gallery-heading {
    display: grid;
  }

  body.byo-reference-ui .product-photo-gallery-heading > span {
    width: fit-content;
  }
}

/* Mantener la ficha de reparacion con la misma composicion compacta de referencia. */
body.byo-reference-ui .repair-command-center { gap: 20px; border-top: 1px solid var(--line); }
body.byo-reference-ui .repair-command-heading { align-items: flex-start; gap: 20px; }
body.byo-reference-ui .repair-command-heading h2 { margin: 3px 0 2px; font-size: clamp(1.55rem, 3vw, 2.2rem); }
body.byo-reference-ui .repair-command-side { align-items: flex-start; gap: 14px; }
body.byo-reference-ui .repair-command-status { align-items: center; flex-flow: row wrap; justify-content: flex-end; gap: 8px; }
body.byo-reference-ui .repair-document-icon { width: 48px; min-width: 48px; min-height: 48px; height: 48px; border-radius: 13px; background: var(--panel-soft); color: var(--muted); }
body.byo-reference-ui .repair-flow-track { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
body.byo-reference-ui .repair-flow-track li { justify-items: center; gap: 7px; color: var(--muted); font-size: .76rem; text-align: center; }
body.byo-reference-ui .repair-flow-track li:not(:last-child)::after { top: 15px; left: calc(50% + 20px); width: calc(100% - 40px); }
body.byo-reference-ui .repair-flow-track li span { width: 32px; height: 32px; }
body.byo-reference-ui .repair-command-grid { align-items: start; }
body.byo-reference-ui .repair-command-grid .repair-next-command { min-height: 108px; }
body.byo-reference-ui .repair-command-tools { display: flex; min-width: 168px; flex-direction: column; gap: 8px; }
body.byo-reference-ui .repair-glance-grid { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; }
body.byo-reference-ui .repair-payment-modal { place-items: start center; padding: max(6vh, 28px) 18px 18px; }
body.byo-reference-ui .repair-payment-dialog { width: min(100%, 720px); max-height: calc(100dvh - 56px); border-radius: 18px; }
body.byo-reference-ui .repair-stage-dialog { width: min(100%, 820px); }

@media (max-width: 700px) {
  body.byo-reference-ui .repair-command-heading { display: grid; }
  body.byo-reference-ui .repair-command-side { width: 100%; justify-content: space-between; }
  body.byo-reference-ui .repair-command-grid,
  body.byo-reference-ui .repair-payment-dialog-form,
  body.byo-reference-ui .repair-payment-dialog-summary,
  body.byo-reference-ui .repair-stage-data-list { grid-template-columns: 1fr; }
  body.byo-reference-ui .repair-command-tools { min-width: 0; }
  body.byo-reference-ui .repair-next-command { grid-template-columns: 1fr; }
  body.byo-reference-ui .repair-command-button { width: 100%; min-width: 0; }
}

/* Recepcion rapida: misma composicion visual que el flujo de Luso Insumos. */
body.byo-reference-ui .repair-express-intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
}

body.byo-reference-ui .repair-express-intro h2,
body.byo-reference-ui .repair-express-intro p {
  margin: 0;
}

body.byo-reference-ui .repair-express-intro p:not(.eyebrow) {
  margin-top: 5px;
}

body.byo-reference-ui .repair-express-intro > span {
  flex: 0 0 auto;
  padding: 7px 10px;
  border: 1px solid color-mix(in srgb, var(--business-primary) 34%, var(--line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--business-primary) 8%, var(--panel));
  color: var(--business-primary);
  font-size: .74rem;
  font-weight: 800;
}

body.byo-reference-ui .repair-express-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

body.byo-reference-ui .repair-core-issue {
  grid-column: 1 / -1;
}

body.byo-reference-ui .repair-core-issue textarea {
  min-height: 92px;
}

body.byo-reference-ui .customer-picker.is-enhanced .customer-picker-search {
  border-color: var(--business-primary);
}

body.byo-reference-ui .customer-picker-add {
  border-left-color: color-mix(in srgb, var(--business-primary) 35%, var(--line));
  color: var(--business-primary);
}

body.byo-reference-ui .repair-core-device .field-heading,
body.byo-reference-ui .repair-brand-field .field-heading {
  min-height: 36px;
  align-items: center;
}

body.byo-reference-ui .repair-advanced-fields-static {
  margin-top: 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel-subtle);
}

body.byo-reference-ui .repair-advanced-fields-static .form-grid {
  padding: 16px;
}

body.byo-reference-ui .repair-brand-add {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border: 1px solid color-mix(in srgb, var(--business-primary) 35%, var(--line));
  border-radius: 9px;
  background: color-mix(in srgb, var(--business-primary) 9%, var(--panel));
  color: var(--business-primary);
  font: inherit;
  font-size: .82rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}

body.byo-reference-ui .repair-brand-add:hover {
  border-color: var(--business-primary);
  background: color-mix(in srgb, var(--business-primary) 14%, var(--panel));
}

body.byo-reference-ui .repair-device-image input[type="file"] {
  min-height: 46px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--panel);
}

@media (max-width: 700px) {
  body.byo-reference-ui .repair-express-intro,
  body.byo-reference-ui .repair-express-grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  body.byo-reference-ui .repair-express-intro > span {
    justify-self: start;
  }

  body.byo-reference-ui .repair-core-issue {
    grid-column: auto;
  }
}

/* Los accesos rapidos respetan la paleta elegida, incluso al pasar el mouse. */
body.byo-reference-ui .mobile-quick-nav > a:hover,
body.byo-reference-ui .mobile-quick-nav > a:focus-visible,
body.byo-reference-ui .mobile-quick-nav > a.mobile-quick-nav-primary:hover,
body.byo-reference-ui .mobile-quick-nav > a.mobile-quick-nav-primary:focus-visible,
body.byo-reference-ui .mobile-quick-nav > button:hover,
body.byo-reference-ui .mobile-quick-nav > button:focus-visible {
  border-color: var(--business-primary, var(--brand));
  background: linear-gradient(
    135deg,
    var(--business-primary, var(--brand)),
    var(--business-secondary, var(--brand-strong))
  );
  color: #fff;
  box-shadow: 0 7px 16px color-mix(
    in srgb,
    var(--business-primary, var(--brand)) 26%,
    transparent
  );
}

body.byo-reference-ui .mobile-quick-nav > a.active,
body.byo-reference-ui .mobile-quick-nav > a.mobile-quick-nav-primary.active,
body.byo-reference-ui .mobile-quick-nav > a.active:hover,
body.byo-reference-ui .mobile-quick-nav > a.active:focus-visible {
  border-color: var(--business-primary, var(--brand));
  background: linear-gradient(
    135deg,
    var(--business-primary, var(--brand)),
    var(--business-secondary, var(--brand-strong))
  );
  color: #fff;
  box-shadow: 0 7px 16px color-mix(
    in srgb,
    var(--business-primary, var(--brand)) 26%,
    transparent
  );
}

/* Los controles generales tambien usan la paleta configurada del negocio. */
body.byo-reference-ui {
  --primary: var(--business-primary, var(--brand));
}

body.byo-reference-ui button.mobile-menu-toggle,
body.byo-reference-ui .button.primary {
  border-color: var(--business-primary, var(--brand));
  background: linear-gradient(
    135deg,
    var(--business-primary, var(--brand)),
    var(--business-secondary, var(--brand-strong))
  );
  color: #fff;
  box-shadow: 0 7px 16px color-mix(
    in srgb,
    var(--business-primary, var(--brand)) 26%,
    transparent
  );
}

body.byo-reference-ui :is(input[type="checkbox"], input[type="radio"]) {
  accent-color: var(--business-primary, var(--brand)) !important;
}

body.byo-reference-ui .customer-form-actions-top {
  justify-content: flex-end;
  margin: 0 0 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}

body.byo-reference-ui .product-photo-gallery-preview[hidden] {
  display: none;
}

body.byo-reference-ui .product-photo-gallery-preview {
  display: grid;
  gap: 10px;
  padding: 13px;
  border: 1px solid color-mix(in srgb, var(--business-secondary) 28%, var(--line));
  border-radius: 10px;
  background: color-mix(in srgb, var(--business-secondary) 4%, var(--panel));
}

body.byo-reference-ui .product-photo-gallery-preview > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

body.byo-reference-ui .product-photo-gallery-preview > header strong {
  color: var(--text);
  font-size: .8rem;
}

body.byo-reference-ui .product-photo-gallery-preview > header span {
  color: var(--business-primary, var(--brand));
  font-size: .72rem;
  font-weight: 800;
}

body.byo-reference-ui .product-photo-gallery-preview-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: 10px;
}

body.byo-reference-ui .product-photo-gallery-preview-item {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--panel);
}

body.byo-reference-ui .product-photo-gallery-preview-item img {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 7px;
  object-fit: contain;
  background: #fff;
}

body.byo-reference-ui .product-photo-gallery-preview-item > span {
  display: grid;
  min-width: 0;
  gap: 2px;
}

body.byo-reference-ui .product-photo-gallery-preview-item strong,
body.byo-reference-ui .product-photo-gallery-preview-item small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.byo-reference-ui .product-photo-gallery-preview-item strong { font-size: .72rem; }
body.byo-reference-ui .product-photo-gallery-preview-item small,
body.byo-reference-ui .product-photo-gallery-preview > p { margin: 0; color: var(--muted); font-size: .68rem; }

body.byo-reference-ui .product-photo-gallery-preview-remove {
  min-height: 32px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--panel-subtle);
  color: var(--text);
  font: inherit;
  font-size: .7rem;
  font-weight: 800;
  cursor: pointer;
}

body.byo-reference-ui .product-photo-gallery-preview-remove:hover {
  border-color: var(--business-primary, var(--brand));
  color: var(--business-primary, var(--brand));
}

/* Nuevo producto: selector unificado de fotos y atajos, igual al flujo de referencia. */
body.byo-reference-ui .product-quick-create-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

body.byo-reference-ui .product-quick-create-link {
  padding: 0;
  border: 0;
  color: var(--business-primary, var(--primary));
  background: transparent;
  font: inherit;
  font-size: .74rem;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

body.byo-reference-ui .product-quick-create-link:hover { text-decoration: underline; }

body.byo-reference-ui .product-images-unified {
  display: grid;
  align-content: start;
  gap: 10px;
}

body.byo-reference-ui .product-images-heading { font-weight: 800; }

body.byo-reference-ui .product-images-unified > input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body.byo-reference-ui .product-images-picker {
  width: 100%;
  min-height: 86px;
  padding: 14px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  border: 1px dashed color-mix(in srgb, var(--business-primary) 48%, var(--line));
  border-radius: 12px;
  background: color-mix(in srgb, var(--business-primary) 7%, var(--panel));
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

body.byo-reference-ui .product-images-picker:hover {
  border-color: var(--business-primary, var(--primary));
  background: color-mix(in srgb, var(--business-primary) 11%, var(--panel));
}

body.byo-reference-ui .product-images-unified > input[type="file"]:focus-visible + .product-images-picker {
  outline: 3px solid color-mix(in srgb, var(--business-primary) 24%, transparent);
  outline-offset: 2px;
}

body.byo-reference-ui .product-images-picker-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, var(--business-primary), var(--business-secondary));
  font-size: 1.55rem;
  font-weight: 700;
}

body.byo-reference-ui .product-images-picker-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}

body.byo-reference-ui .product-images-picker-copy strong { font-size: .94rem; }
body.byo-reference-ui .product-images-picker-copy small { color: var(--muted); }

body.byo-reference-ui .product-images-picker-summary {
  max-width: 220px;
  padding: 8px 10px;
  border-radius: 999px;
  color: var(--business-primary, var(--primary));
  background: color-mix(in srgb, var(--business-primary) 11%, var(--panel));
  font-size: .78rem;
  font-weight: 800;
  text-align: center;
}

body.byo-reference-ui .product-images-preview,
body.byo-reference-ui .product-images-preview-list {
  display: grid;
  gap: 10px;
}

body.byo-reference-ui .product-images-preview[hidden] { display: none; }
body.byo-reference-ui .product-images-preview-list { grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); }
body.byo-reference-ui .product-images-preview > p { margin: 0; color: var(--muted); font-size: .7rem; }

body.byo-reference-ui .product-image-preview-card {
  position: relative;
  min-width: 0;
  padding: 7px;
  display: grid;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--panel);
}

body.byo-reference-ui .product-images-existing { grid-column: 1 / -1; display: grid; gap: 10px; }
body.byo-reference-ui .product-gallery-existing { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; }
body.byo-reference-ui .product-gallery-card { min-width: 0; padding: 10px; display: grid; gap: 9px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
body.byo-reference-ui .product-gallery-card.is-primary { border-color: var(--business-primary, var(--primary)); }
body.byo-reference-ui .product-gallery-card img { width: 100%; aspect-ratio: 1; display: block; object-fit: contain; border-radius: 8px; background: #fff; }
body.byo-reference-ui .product-gallery-card > strong { font-size: .82rem; }
body.byo-reference-ui .product-gallery-card > span { min-height: 34px; display: flex; align-items: center; gap: 8px; font-size: .78rem; cursor: pointer; }
body.byo-reference-ui .product-gallery-card input { width: 18px; height: 18px; accent-color: var(--business-primary, var(--primary)); }

@media (max-width: 620px) {
  body.byo-reference-ui .product-images-picker { grid-template-columns: auto 1fr; }
  body.byo-reference-ui .product-images-picker-summary { grid-column: 1 / -1; max-width: none; }
  body.byo-reference-ui .product-images-preview-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.byo-reference-ui .product-gallery-existing { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

body.byo-reference-ui .product-serialized-toggle-card { grid-column: 1 / -1; }

body.byo-reference-ui .product-serialized-editor {
  grid-column: 1 / -1;
  margin-top: 0;
  padding: 18px;
  display: grid;
  gap: 16px;
  border: 1px solid color-mix(in srgb, var(--business-primary) 30%, var(--line));
  border-radius: 14px;
  background: color-mix(in srgb, var(--business-primary) 6%, var(--panel));
}

body.byo-reference-ui .product-serialized-editor[hidden] { display: none; }
body.byo-reference-ui .product-serialized-editor-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
body.byo-reference-ui .product-serialized-editor-heading h3 { margin: 2px 0 5px; }
body.byo-reference-ui .product-serialized-editor-heading p { margin: 0; }
body.byo-reference-ui .product-serialized-count { flex: 0 0 auto; padding: 8px 11px; border-radius: 999px; color: var(--business-primary, var(--primary)); background: color-mix(in srgb, var(--business-primary) 12%, var(--panel)); font-size: .8rem; }
body.byo-reference-ui .product-serialized-editor textarea { min-height: 126px; resize: vertical; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
body.byo-reference-ui .product-serialized-existing { display: grid; gap: 9px; }
body.byo-reference-ui .product-serialized-code-list { display: flex; flex-wrap: wrap; gap: 8px; }
body.byo-reference-ui .product-serialized-code { padding: 7px 9px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel); }
body.byo-reference-ui .product-serialized-code small { color: var(--muted); }
body.byo-reference-ui .product-serialized-code.is-sold { opacity: .62; }

@media (max-width: 620px) {
  body.byo-reference-ui .product-serialized-editor-heading { display: grid; }
}

body.byo-reference-ui .repair-work-budget-field {
  max-width: 360px;
}

body.byo-reference-ui .repair-work-cost-toggle {
  align-items: center;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--panel-soft);
}

body.byo-reference-ui .repair-work-cost-toggle > span {
  display: grid;
  gap: 2px;
}

body.byo-reference-ui .repair-work-cost-toggle small {
  color: var(--muted);
  font-size: .74rem;
  font-weight: 600;
}

body.byo-reference-ui .repair-work-cost-fields {
  grid-template-columns: minmax(0, 1.4fr) minmax(150px, .6fr);
}

body.byo-reference-ui .repair-work-existing-cost {
  margin: -2px 0 0;
  padding: 10px 12px;
  border-radius: 11px;
  background: color-mix(in srgb, var(--warning) 10%, var(--panel));
  color: var(--muted);
  font-size: .8rem;
}

@media (max-width: 620px) {
  body.byo-reference-ui .repair-work-cost-fields {
    grid-template-columns: 1fr;
  }

  body.byo-reference-ui .repair-work-budget-field {
    max-width: none;
  }
}

/* Contraste de clientes: evita textos claros heredados sobre tablas blancas. */
body.byo-reference-ui .customer-name-block strong {
  color: var(--text);
}

body.byo-reference-ui .customer-name-block small,
body.byo-reference-ui .customer-document,
body.byo-reference-ui .customer-contact-stack a,
body.byo-reference-ui .customer-contact-stack span {
  color: var(--muted);
}

body.byo-reference-ui .customer-contact-stack a:hover {
  color: var(--business-primary, var(--primary));
}

body.byo-reference-ui .customer-avatar,
body.byo-reference-ui .customer-avatar.system {
  color: var(--business-secondary, var(--primary));
}

body.byo-reference-ui .customer-status {
  color: #087552;
}

body.byo-reference-ui .customer-table .button,
body.byo-reference-ui .customer-table .customer-open-button {
  border-color: color-mix(in srgb, var(--business-primary) 24%, var(--line));
  background: var(--panel);
  color: var(--text);
}

body.byo-reference-ui .customer-table .button:hover {
  border-color: var(--business-primary, var(--primary));
  background: color-mix(in srgb, var(--business-primary) 9%, var(--panel));
  color: var(--text);
}

body.byo-reference-ui[data-theme="dark"] .customer-status,
body.byo-reference-ui[data-theme="navy"] .customer-status {
  color: #6de0b2;
}
