/* NOIR — dashboard de pedidos.

   Hoja autónoma: no depende de styles.css, white-theme.css ni landing.css.
   Esas tres conservan selectores genéricos de la tienda original (.info, .row,
   .num, .add, .grid, .product, .title, .end, .copy, .art, .tag) que ya rompieron
   el diseño una vez al chocar con clases nuevas. Acá todo va con prefijo dash-,
   y además la página no las carga, así que la colisión no puede ocurrir.

   Los tokens son los mismos que usan auth.css y arquitectura-login.html: es el
   mismo producto, tiene que verse como el mismo producto. */

.dash-ref-guardada { margin: 0; padding: 15px 30px; color: #1d3527; background: #dfe9d9; border-bottom: 1px solid #a5bb9e; }

.dash-sync { margin: 12px 0 20px; color: #687464; font-size: 11px; }
:root {
  --bg: #f2f0ea;
  --fg: #11120f;
  --gold: #d5b477;
  --gold-dim: #a98a50;
  --felt: #263323;
  --felt-2: #1b241a;
  --muted: #626b5b;
  --soft: #eef0e9;
  --line: #11120f22;
  --line-dark: #ffffff22;
  --ok: #4f7d5a;
  --warn: #9c6f2e;
  --bad: #8c3b32;
  --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: radial-gradient(ellipse at 85% 0, #d5b47716, transparent 55%), var(--bg);
  color: var(--fg);
  font: 400 16px/1.65 Manrope, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  /* Los pedidos se miran de reojo mientras corre una campaña: el ancho útil
     importa más que un contenedor angosto y editorial. */
  overflow-x: hidden;
}

h1, h2, h3 {
  font-family: Manrope, system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: -.025em;
  margin: 0;
}
h1 { font-size: clamp(1.8rem, 4vw, 2.5rem); line-height: 1.2; }
h2 { font-size: clamp(1.25rem, 3vw, 1.5rem); line-height: 1.3; }
h3 { font-size: 1.15rem; line-height: 1.25; }
p { margin: 0 0 1rem; }
a { color: inherit; }
code { font: 400 .88em/1.5 var(--mono); color: var(--gold-dim); }

:focus-visible { outline: 2px solid var(--gold-dim); outline-offset: 2px; border-radius: 4px; }

.dash-saltar {
  position: absolute; left: -9999px; top: 0;
  background: var(--felt); color: var(--soft); padding: 12px 18px; z-index: 50;
  font: 600 12px/1 Manrope, sans-serif; letter-spacing: .1em; text-transform: uppercase;
}
.dash-saltar:focus { left: 8px; top: 8px; }

/* ── barra superior ─────────────────────────────────────────────────────── */

.dash-topbar {
  position: relative;
  z-index: 30;
  background: radial-gradient(ellipse at 90% 0, #d5b47714, transparent 65%),
    repeating-linear-gradient(45deg, #ffffff03 0 1px, transparent 1px 5px), #192e25;
  color: #faf6ed;
  border-bottom: 1px solid #a98a5088;
}
.dash-topbar-inner {
  max-width: 1240px; margin: 0 auto; padding: 16px 20px;
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
}
.dash-marca {
  font: 600 22px/1.2 Manrope, system-ui, sans-serif;
  letter-spacing: .04em; text-decoration: none; color: #fff;
  display: inline-flex; align-items: baseline; gap: 8px;
}
/* La marca lleva la ficha del logo. */
.dash-marca img { width: 20px; height: 20px; margin-right: 8px; vertical-align: -5px; }
.dash-marca span { color: var(--gold); font-size: 16px; }
.dash-marca em { font-style: normal; font-weight: 500; font-size: 14px; color: var(--gold); }

.dash-sesion { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.dash-sesion[hidden] { display: none; }
.dash-cuenta-icono {
  display: inline-grid; place-items: center; flex: none; width: 44px; height: 44px;
  padding: 0; border: 1px solid #d5b47788; border-radius: 50%;
  background: #ffffff06; color: var(--gold); cursor: pointer;
}
.dash-cuenta-icono:hover { background: #d5b47722; border-color: var(--gold); }
.dash-cuenta-icono:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.dash-usuario {
  font: 400 12px/1 var(--mono); color: var(--gold);
  border: 1px solid #a98a5055; border-radius: 999px; padding: 8px 12px;
  max-width: 100%; overflow-wrap: anywhere;
}

/* ── estructura ─────────────────────────────────────────────────────────── */

main { max-width: 1240px; margin: 0 auto; padding: 0 20px 80px; }
.dash-seccion { padding: 44px 0 0; }

.dash-encabezado {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 20px; flex-wrap: wrap; margin-bottom: 24px;
}
.dash-encabezado-acciones { display: flex; gap: 10px; flex-wrap: wrap; }

.dash-tag {
  font: 600 11px/1 Manrope, sans-serif; letter-spacing: .18em; text-transform: uppercase;
  color: var(--gold-dim); margin: 0 0 12px;
}
.dash-lede { color: var(--muted); font-size: 15px; max-width: 64ch; }

/* Identidad de casino: paño y fichas sin filtros de composición. */
.dash-mesa {
  padding: 30px; border: 1px solid #a98a5088; border-radius: 20px;
  background: radial-gradient(ellipse at 90% 0, #d5b47714, transparent 65%),
    repeating-linear-gradient(45deg, #ffffff03 0 1px, transparent 1px 5px), #192e25;
  color: #faf6ed; box-shadow: inset 0 0 0 5px #d5b47709, 0 12px 32px #17271d12;
  align-items: center;
}
.dash-mesa-identidad { display: flex; align-items: center; gap: 20px; min-width: 0; }
.dash-mesa .dash-tag { color: #ddc18b; font-size: 10px; letter-spacing: .15em; }
.dash-mesa-nota { margin: 10px 0 0; font-size: 13px; color: #c7d0c5; }
.dash-emblema {
  display: grid; place-items: center; flex: none; width: 64px; height: 64px;
  border: 2px dashed #d5b477; border-radius: 50%; outline: 1px solid #d5b47755;
  outline-offset: 5px; box-shadow: inset 0 0 0 5px #17291f, inset 0 0 0 6px #d5b47777;
  color: #e8ca8e; font: 32px/1 Georgia, serif;
}
.dash-mesa .dash-primario { background: #e4c78f; color: #18271d; border-color: #f1dcae; }
.dash-mesa .dash-primario:hover:not([disabled]) { background: #f1dcae; }
.dash-mesa .dash-secundario { color: #ecdfc5; border-color: #d5b47766; background: #ffffff04; }
.dash-primario::after {
  content: ''; width: 17px; height: 17px; flex: none; border-radius: 50%;
  border: 1px dashed currentColor; background: radial-gradient(circle, currentColor 0 2px, transparent 3px);
}
.dash-separador { display: flex; align-items: center; gap: 16px; margin: -14px 0 24px; color: #a98a50; }
.dash-separador::before, .dash-separador::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, #a98a5055); }
.dash-separador::after { transform: rotate(180deg); }
.dash-separador span { font: 18px/1 Georgia, serif; }
.dash-palo { display: inline-grid; place-items: center; width: 30px; height: 36px; flex: none; border: 1px solid #a98a5044; border-radius: 5px; color: #91733c; background: #f4ecd9; font: 22px/1 Georgia, serif; }
@media (max-width: 620px) {
  .dash-mesa { padding: 22px 18px; }
  .dash-mesa-identidad { gap: 16px; }
  .dash-emblema { width: 40px; height: 40px; font-size: 24px; outline-offset: 3px; }
  .dash-mesa .dash-tag { font-size: 9px; letter-spacing: .09em; }
  .dash-mesa .dash-encabezado-acciones { width: 100%; }
  .dash-mesa .dash-encabezado-acciones .dash-btn { width: 100%; }
}

.dash-vacio-sesion {
  position: relative; min-height: calc(100vh - 78px); display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .72fr); align-items: center;
  gap: clamp(48px, 8vw, 110px); padding: clamp(64px, 10vh, 112px) 0;
}
.dash-vacio-sesion[hidden] { display: none; }
.dash-vacio-sesion::before {
  content: ''; position: absolute; z-index: -1; width: 520px; height: 520px; right: -210px; top: 6%;
  border: 1px solid #a98a5026; border-radius: 50%; box-shadow: inset 0 0 0 52px #a98a5008, inset 0 0 0 53px #a98a501c;
}
.dash-acceso-texto { max-width: 650px; }
.dash-acceso-texto .dash-tag { margin-bottom: 20px; }
.dash-acceso-texto h1 { color: #172119; font-size: clamp(46px, 7vw, 82px); line-height: .95; letter-spacing: -.065em; }
.dash-acceso-texto h1 em { color: #93743a; font-family: Georgia, serif; font-weight: 400; letter-spacing: -.055em; }
.dash-acceso-texto .dash-lede { max-width: 560px; margin: 28px 0 32px; color: #596355; font-size: clamp(15px, 1.7vw, 18px); line-height: 1.7; }
.dash-acceso-acciones { display: flex; gap: 11px; flex-wrap: wrap; }
.dash-acceso-acciones .dash-btn { min-height: 49px; }
.dash-acceso-garantia { display: flex; align-items: flex-start; gap: 12px; max-width: 500px; margin-top: 34px; padding-top: 20px; border-top: 1px solid #a98a503d; color: #747b6d; }
.dash-acceso-garantia > span { color: #a98a50; font-size: 11px; transform: rotate(45deg); }
.dash-acceso-garantia p { margin: 0; font-size: 11px; line-height: 1.65; }
.dash-acceso-garantia b { color: #4f594c; font-weight: 600; }
.dash-pase {
  position: relative; isolation: isolate; min-height: 470px; padding: 26px;
  overflow: hidden; border: 1px solid #c8a96791; border-radius: 26px;
  color: #f4ead2; background: radial-gradient(circle at 78% 18%, #d7b66e29, transparent 30%), repeating-linear-gradient(45deg, transparent 0 4px, #fff 4px 5px, transparent 5px 9px), linear-gradient(145deg, #102219, #203629);
  background-blend-mode: normal, soft-light, normal;
  box-shadow: inset 0 0 0 6px #f2dca40a, 0 30px 70px #1b2a1d31;
  transform: rotate(2deg);
}
.dash-pase::before, .dash-pase::after { content: ''; position: absolute; width: 62px; height: 62px; top: 50%; border-radius: 50%; background: var(--bg); transform: translateY(-50%); }
.dash-pase::before { left: -33px; border-right: 1px solid #c8a96770; }
.dash-pase::after { right: -33px; border-left: 1px solid #c8a96770; }
.dash-pase-cab, .dash-pase-pie { display: flex; justify-content: space-between; gap: 16px; color: #c9a75f; font: 600 9px/1 Manrope, sans-serif; letter-spacing: .18em; }
.dash-pase-cab span:first-child { color: #f5eddc; font-size: 17px; letter-spacing: .08em; }
.dash-pase-centro { position: absolute; inset: 72px 40px 100px; display: grid; place-items: center; }
.dash-pase-centro strong { z-index: 2; font: 400 94px/.8 Georgia, serif; text-shadow: 0 9px 24px #0006; }
.dash-pase-centro small { position: absolute; bottom: 18px; color: #c5aa70; font: 600 9px/1 Manrope, sans-serif; letter-spacing: .28em; }
.dash-pase-orbita { position: absolute; width: 210px; aspect-ratio: 1; border: 1px solid #c9a75f75; border-radius: 50%; box-shadow: inset 0 0 0 11px #c9a75f09, 0 0 0 11px #c9a75f09; }
.dash-pase-orbita::before, .dash-pase-orbita::after { content: ''; position: absolute; width: 7px; height: 7px; background: #c9a75f; transform: rotate(45deg); }
.dash-pase-orbita::before { left: 16px; top: 22px; }
.dash-pase-orbita::after { right: 16px; bottom: 22px; }
.dash-pase-estado { position: absolute; left: 26px; bottom: 58px; display: flex; align-items: center; gap: 8px; color: #d9dfd4; font-size: 11px; }
.dash-pase-estado span { width: 7px; height: 7px; border-radius: 50%; background: #cfad67; box-shadow: 0 0 0 4px #cfad6717; }
.dash-pase-pie { position: absolute; left: 26px; right: 26px; bottom: 25px; padding-top: 14px; border-top: 1px solid #d4b46b38; color: #879789; }
@media (max-width: 820px) {
  .dash-vacio-sesion { grid-template-columns: 1fr; min-height: auto; gap: 54px; padding: 70px 0; }
  .dash-vacio-sesion::before { display: none; }
  .dash-pase { width: min(100%, 470px); min-height: 390px; margin: 0 auto; transform: rotate(1deg); }
}
@media (max-width: 480px) {
  .dash-vacio-sesion { padding: 52px 0; gap: 42px; }
  .dash-acceso-texto h1 { font-size: 45px; }
  .dash-acceso-acciones { flex-direction: column; }
  .dash-acceso-acciones .dash-btn { width: 100%; }
  .dash-pase { min-height: 350px; padding: 21px; border-radius: 21px; }
  .dash-pase-centro { inset: 66px 30px 92px; }
  .dash-pase-orbita { width: 175px; }
  .dash-pase-centro strong { font-size: 78px; }
  .dash-pase-pie { left: 21px; right: 21px; }
}

/* ── botones ────────────────────────────────────────────────────────────── */

.dash-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  font: 600 11.5px/1 Manrope, system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase;
  min-height: 44px; padding: 14px 20px; border-radius: 10px; cursor: pointer; text-decoration: none;
  border: 1px solid transparent;
  transition: background .2s, border-color .2s, color .2s, transform .12s;
}
.dash-btn:active { transform: scale(.985); }
.dash-btn[disabled] { opacity: .45; cursor: not-allowed; }

.dash-primario { background: var(--felt); color: #f2f0ea; border-color: #a98a5088; }
.dash-primario:hover:not([disabled]) { background: var(--felt-2); border-color: var(--gold); }

.dash-secundario { background: #d5b4770d; color: #484f40; border-color: #bfbda9; }
.dash-secundario:hover:not([disabled]) { background: #d5b47726; border-color: var(--gold-dim); }

.dash-sutil {
  background: #faf7ef; border: 1px solid #c6bba4; color: #4c5b49;
  text-transform: none; letter-spacing: 0; font-size: 12.5px; font-weight: 500;
  padding: 11px 16px; text-decoration: none;
}
.dash-topbar .dash-sutil { color: #e6eadd; border-color: #d5b47766; background: #ffffff08; }
.dash-topbar .dash-secundario { color: #f2e4c7; border-color: #d5b47777; }
.dash-sutil:hover:not([disabled]) { color: #263c2c; border-color: #a98a50; background: #f0e8d8; }
.dash-topbar .dash-sutil:hover:not([disabled]) { color: #fff; border-color: #d5b477; background: #ffffff15; }
.dash-factura-acciones [data-cancelar-factura] { color: #805548; border-color: #c7ad9d; background: #fbf4ee; }
.dash-factura-acciones [data-cancelar-factura]:hover:not([disabled]) { color: #683b30; border-color: #a2705e; background: #f5e4d9; }

/* Botón chico: copiar una dirección, acciones secundarias dentro de una caja. */
.dash-mini {
  font: 600 10px/1 Manrope, sans-serif; letter-spacing: .1em; text-transform: uppercase;
  padding: 8px 11px; border-radius: 7px; cursor: pointer;
  background: #fff; border: 1px solid var(--line); color: #484f40;
  transition: border-color .2s, background .2s;
}

/* ── métricas ───────────────────────────────────────────────────────────── */

.dash-metricas {
  display: grid; gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}
.dash-metrica {
  background: #fff; border: 1px solid var(--line); border-radius: 14px;
  padding: 20px 18px; position: relative;
  min-width: 0; container-type: inline-size;
}
/* Esquina dorada, el mismo detalle que llevan las métricas de la landing.
   Va en -1px para pisar el borde gris de la tarjeta, no para correr por dentro:
   a 0px los dos radios quedan concéntricos con 1px de diferencia y se ve una
   línea doble en vez de una esquina. Por eso la tarjeta tampoco lleva
   overflow:hidden, que recortaría el sobresalto en el borde de relleno. */
.dash-metrica::after {
  content: ""; position: absolute; top: -1px; right: -1px; width: 26px; height: 26px;
  border-top: 1px solid var(--gold-dim); border-right: 1px solid var(--gold-dim);
  border-top-right-radius: 14px; opacity: .75; pointer-events: none;
}
.dash-metrica b {
  display: block; font: 600 30px/1.2 Manrope, system-ui, sans-serif; font-variant-numeric: tabular-nums; color: var(--fg);
  font-size: clamp(18px, 13cqi, 30px);
  white-space: normal; overflow-wrap: anywhere;
}
.dash-metrica b small { font-size: 17px; color: var(--muted); }
.dash-metrica span {
  display: block; margin-top: 8px;
  font: 600 9.5px/1.4 Manrope, sans-serif; letter-spacing: .14em; text-transform: uppercase;
  color: var(--muted);
}

/* ── avisos ─────────────────────────────────────────────────────────────── */

.dash-aviso {
  padding: 16px 18px; border-radius: 11px; margin: 0 0 20px;
  font-size: 13.5px; line-height: 1.65;
}
.dash-aviso b { display: block; margin-bottom: 3px; }
.dash-aviso-demo { background: #9c6f2e0f; border: 1px solid #9c6f2e33; color: #6d5124; }
.dash-aviso-demo code { color: #6d5124; }

.dash-error { color: var(--bad); font-size: 13px; line-height: 1.6; margin: 0 0 14px; }

/* ── columnas ───────────────────────────────────────────────────────────── */

.dash-columnas {
  display: grid; gap: 18px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  align-items: start;
}
.dash-columna {
  background: #fcfbf7; border: 1px solid #a98a5044; border-radius: 16px;
  box-shadow: inset 0 0 0 5px #f2ede1, 0 8px 24px #17271d06;
  /* Sin backdrop-filter: puede dejar el contenido en blanco en el navegador integrado. */
  padding: 20px 18px;
}
.dash-columna-titulo {
  display: flex; align-items: center; gap: 10px; margin: 0 0 4px; font-size: 1.35rem;
}
.dash-cuenta {
  font: 600 11px/1 Manrope, sans-serif; letter-spacing: .06em;
  background: #d5b47730; color: var(--gold-dim);
  border: 1px dashed #a98a5088; border-radius: 999px; padding: 7px; min-width: 28px; text-align: center;
}
.dash-columna-nota { font-size: 12.5px; color: var(--muted); margin: 0 0 16px; }

.dash-lista { display: flex; flex-direction: column; gap: 12px; }
.dash-lista-vacia {
  font-size: 13px; color: var(--muted); padding: 22px 16px; text-align: center;
  border: 1px dashed #a98a5044; border-radius: 12px; background: #d5b4770a;
}

.dash-seccion-facturas[hidden] { display: none; }
.dash-seccion-facturas { padding-top: 26px; }
.dash-facturas-cab { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 15px; }
.dash-facturas-cab .dash-tag { margin-bottom: 5px; }
.dash-facturas-cab p:last-child { max-width: 420px; margin: 0; color: var(--muted); font-size: 12px; text-align: right; }
.dash-facturas-lista { display: grid; gap: 10px; }
.dash-factura { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 20px; border: 1px solid #a98a5066; border-left: 3px solid var(--gold-dim); border-radius: 12px; background: #fffdf8; }
.dash-factura-info { min-width: 0; flex: 1; }
.dash-factura-id { color: #796030; font: 700 12px/1.5 var(--mono); letter-spacing: .02em; }
.dash-factura .dash-chip { margin-left: 12px; }
.dash-factura-datos { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-top: 11px; }
.dash-factura-datos span { display: grid; gap: 2px; }
.dash-factura-datos small { color: var(--muted); font-size: 10px; }
.dash-factura-datos b { font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
.dash-factura-acciones { display: grid; gap: 2px; flex: none; }
.dash-factura-error { color: var(--bad); font-size: 12px; margin: 8px 0 0; }
.dash-factura-confirmacion-contenedor { flex: 0 0 100%; display: flex; justify-content: center; }
.dash-factura-confirmacion-contenedor[hidden] { display: none; }
.dash-factura-confirmacion { width: min(100%, 600px); padding: 22px 26px; text-align: center; border: 1px solid var(--gold-dim); border-radius: 14px; background: linear-gradient(135deg, #1c3429, var(--felt)); box-shadow: 0 10px 24px #17271d20; }
.dash-factura-confirmacion strong { display: flex; align-items: center; justify-content: center; gap: 9px; color: var(--gold); font-size: 15px; }
.dash-factura-alerta { display: inline-grid; place-items: center; width: 22px; height: 22px; border: 1px solid currentColor; border-radius: 50%; font: 700 14px/1 var(--mono); }
.dash-factura-confirmacion p { margin: 10px auto 18px; color: #e2e5dc; font-size: 13px; line-height: 1.55; }
.dash-factura-confirmacion-acciones { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
.dash-factura-conservar { background: var(--gold); color: #15291e; }
.dash-factura-conservar:hover:not([disabled]) { background: #e8cb94; }
.dash-factura-cancelar { background: transparent; border-color: #e8cb9499; color: #f5e7cf; }
.dash-factura-cancelar:hover:not([disabled]) { background: #ffffff16; border-color: var(--gold); }
.dash-facturas-error { display: flex; align-items: center; gap: 14px; margin: 0; padding: 16px; border: 1px solid #8c3b3255; border-radius: 12px; color: var(--bad); }
@media (max-width: 620px) {
  .dash-facturas-cab, .dash-factura { align-items: stretch; flex-direction: column; }
  .dash-factura { flex-wrap: nowrap; }
  .dash-facturas-cab p:last-child { text-align: left; }
  .dash-factura .dash-chip { margin-left: 8px; }
  .dash-factura-acciones .dash-btn { width: 100%; }
  .dash-factura-confirmacion-contenedor { flex: none; width: 100%; }
  .dash-factura-confirmacion { padding: 20px 16px; }
  .dash-factura-confirmacion-acciones .dash-btn { flex: 1 1 170px; }
  .dash-facturas-error { align-items: stretch; flex-direction: column; }
}

/* Listado unificado: filas con acción independiente, sin botones anidados. */
.dash-registro { border: 1px solid #a98a5066; border-radius: 18px; background: #fcfbf7; overflow: hidden; }
.dash-registro-cab {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px;
  color: #fff5df; background: repeating-linear-gradient(45deg, transparent 0 3px, #ffffff02 3px 4px), linear-gradient(120deg, #18372e, var(--felt-2));
  border-bottom: 1px solid var(--gold-dim);
}
.dash-registro-cab .dash-tag { margin: 0 0 6px; color: var(--gold); }
.dash-registro-cab h2 { margin: 0; font-size: 24px; }
.dash-registro-palo { font-size: 38px; color: var(--gold); }
.dash-filtros { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; padding: 24px; background: #f2ede166; border-bottom: 1px solid var(--line); }
.dash-filtros .dash-campo { margin: 0; min-width: 0; }
.dash-filtro-busqueda { grid-column: span 2; }
.dash-filtros input, .dash-filtros select { min-width: 0; font-size: 13px; }
.dash-filtros button { align-self: end; }
.dash-filtros-limpiar {
  width: 100%; min-height: 49px; background: #fffdf8; color: #3d503f;
  border-color: #b9ad8d; letter-spacing: .04em; text-transform: none; font-size: 12.5px;
}
.dash-filtros-limpiar svg { width: 16px; height: 16px; color: #a4864c; flex: none; }
.dash-filtros-limpiar:hover { background: #f4eddc; border-color: #a4864c; color: #223d2e; }
.dash-filtros-limpiar:focus-visible { outline: 2px solid #a4864c; outline-offset: 2px; }
.dash-registro-pie { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px; padding: 16px 24px; font-size: 12px; color: var(--muted); }
.dash-registro-pie p { margin: 0; font-weight: 600; color: var(--fg); }
.dash-registro-error { margin: 16px 24px 0; }
.dash-filas { display: grid; gap: 12px; padding: 0 18px 18px; }
.dash-fila { display: grid; grid-template-columns: minmax(0, 1fr) 180px; border: 1px solid var(--line); border-left: 3px solid #a98a5077; border-radius: 12px; background: linear-gradient(135deg, #d5b4770e, transparent 50%), #fff; }
.dash-fila-info { padding: 20px; min-width: 0; }
.dash-fila-id { min-height: 44px; padding: 9px 12px; border: 1px solid #c6bba4; border-radius: 8px; background: #faf7ef; color: #796030; font: 600 13px/1.5 var(--mono); cursor: pointer; overflow-wrap: anywhere; text-align: left; text-decoration: none; }
.dash-fila-id:hover { background: #f0e8d8; border-color: var(--gold-dim); }
.dash-fila-id:focus-visible { outline: 2px solid var(--gold-dim); outline-offset: 4px; }
.dash-fila-datos { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin: 18px 0 0; }
.dash-fila-datos div { min-width: 0; }
.dash-fila-datos dt { font-size: 10px; color: var(--muted); margin-bottom: 4px; }
.dash-fila-datos dd { margin: 0; font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.dash-fila-nota { margin: 12px 0 0; font-size: 12px; color: var(--muted); overflow-wrap: anywhere; }
.dash-fila-accion { padding: 20px 14px; border-left: 1px solid var(--line); display: flex; flex-direction: column; justify-content: center; gap: 10px; background: #f2ede144; }
.dash-fila-accion .dash-btn { width: 100%; }
.dash-fila-accion small { font-size: 10px; line-height: 1.5; color: var(--muted); text-align: center; }
.dash-chip-pendiente { color: #875e23; border-color: #9c6f2e44; background: #9c6f2e12; }
.dash-chip-realizado { color: #356047; border-color: #4f7d5a44; background: #4f7d5a12; }
@media (max-width: 900px) {
  .dash-filtros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dash-fila-datos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .dash-registro-cab, .dash-filtros { padding: 20px 16px; }
  .dash-registro-cab h2 { font-size: 21px; }
  .dash-filtros { grid-template-columns: minmax(0, 1fr); }
  .dash-filtro-busqueda { grid-column: auto; }
  .dash-registro-pie { padding: 16px; }
  .dash-filas { padding: 0 10px 10px; }
  .dash-fila { grid-template-columns: minmax(0, 1fr); }
  .dash-fila-info { padding: 16px; }
  .dash-fila-datos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dash-fila-accion { border-left: 0; border-top: 1px solid var(--line); padding: 14px; }
}

/* ── tarjeta de pedido (en el detalle) ───────────────────────────────────── */

.dash-pedido {
  width: 100%; text-align: left; cursor: pointer; font: inherit;
  background: linear-gradient(135deg, #d5b47712, transparent 45%), #fff;
  border: 1px solid var(--line); border-left: 3px solid #a98a5077; border-radius: 13px; padding: 16px;
  transition: border-color .2s, transform .12s, box-shadow .2s;
}
.dash-pedido:hover { border-color: var(--gold-dim); box-shadow: 0 6px 22px #11120f0f; }
.dash-pedido:active { transform: scale(.995); }

.dash-pedido-cab { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.dash-pedido-id {
  font: 600 11.5px/1 var(--mono); color: var(--gold-dim); letter-spacing: .04em;
}
.dash-pedido-cifras {
  font: 600 18px/1.4 Manrope, system-ui, sans-serif; margin: 0 0 4px;
}
.dash-pedido-meta { font-size: 12px; color: var(--muted); margin: 0 0 12px; }

/* ── chips de estado ────────────────────────────────────────────────────── */

.dash-chip {
  display: inline-block; white-space: nowrap;
  font: 600 9.5px/1 Manrope, sans-serif; letter-spacing: .1em; text-transform: uppercase;
  padding: 5px 8px; border-radius: 5px; border: 1px solid transparent;
}
.dash-chip-demo      { background: #9c6f2e1f; color: var(--warn); border-color: #9c6f2e44; }
.dash-chip-redeposito{ background: #26332314; color: #35452f;     border-color: #26332333; }
.dash-chip-pago-pendiente { background: #a98a501a; color: #755722; border-color: #a98a5055; }
.dash-chip-cancelado { background: #11120f0d; color: #6b6b63; border-color: #11120f22; }

/* ── diálogos ───────────────────────────────────────────────────────────── */

.dash-dialogo {
  width: min(560px, calc(100vw - 24px));
  border: 1px solid #a98a5055; border-radius: 18px;
  padding: 36px; background: var(--bg); color: var(--fg);
  box-shadow: 0 30px 80px #11120f33;
  max-height: calc(100vh - 32px); overflow-y: auto; overscroll-behavior: contain;
  /* La barra propia del navegador cortaba el borde redondeado y no se parecía
     a nada del resto de la página. Esta es finita, del mismo dorado, deja un
     carril fijo para que el contenido no se corra al aparecer, y se despega
     de las esquinas. */
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: #b49a6280 transparent;
}
.dash-dialogo::-webkit-scrollbar { width: 11px; }
.dash-dialogo::-webkit-scrollbar-track { margin: 16px 0; background: transparent; }
.dash-dialogo::-webkit-scrollbar-thumb {
  border: 3px solid transparent; border-radius: 999px;
  background: #b49a6280; background-clip: content-box;
}
.dash-dialogo::-webkit-scrollbar-thumb:hover { background-color: #9b793bb8; }

/* El botón principal queda siempre a la vista, pegado al pie del diálogo, en
   vez de esconderse abajo de todo cuando el formulario no entra. */
.dash-acciones-fijas {
  position: sticky; bottom: -36px; z-index: 2;
  margin: 0 -36px -36px; padding: 16px 36px 36px;
  border-top: 1px solid #a98a5030;
  background: linear-gradient(180deg, #faf7ee00, var(--bg) 22%);
}
.dash-dialogo-ancho { width: min(860px, calc(100vw - 24px)); }
.dash-dialogo::backdrop { background: #11120fa8; backdrop-filter: blur(3px); }
.dash-dialogo h2 { margin: 0 0 8px; }

.dash-cerrar {
  position: sticky; float: right; top: -6px; margin: -10px -10px 0 0;
  width: 34px; height: 34px; border-radius: 50%; cursor: pointer;
  background: #fff; border: 1px solid var(--gold-dim); color: #484f40;
  font-size: 18px; line-height: 1; z-index: 2;
}
.dash-cerrar:hover { background: #d5b47722; }

/* ── formulario ─────────────────────────────────────────────────────────── */

.dash-campo { display: block; margin-bottom: 16px; }
.dash-cantidad-ftds { width: calc(50% - 7px); }
.dash-paises { min-width: 0; border: 0; padding: 0; }
.dash-paises legend { display: block; padding: 0; font: 600 10px/1 Manrope, sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-dim); margin-bottom: 8px; }
.dash-paises-toggle { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 12px 15px; border: 1px solid #bfbda9; border-radius: 9px; background: #fff; color: var(--fg); font: 400 14px/1.4 Manrope, sans-serif; cursor: pointer; }
.dash-paises-toggle:hover, .dash-paises-toggle[aria-expanded="true"] { border-color: var(--gold-dim); }
.dash-paises-toggle:focus-visible { outline: 2px solid var(--gold-dim); outline-offset: 2px; }
.dash-paises-flecha { color: var(--gold-dim); font-size: 20px; line-height: .7; transition: transform .2s; }
.dash-paises-toggle[aria-expanded="true"] .dash-paises-flecha { transform: rotate(180deg); }
.dash-paises-elegidos { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; }
.dash-paises-elegidos:empty { display: none; }
.dash-paises-elegidos button { padding: 5px 9px; border: 1px solid #a98a5066; border-radius: 999px; background: #e7eee7; color: var(--felt-2); font: 600 11px/1.3 Manrope, sans-serif; cursor: pointer; }
.dash-paises-elegidos button:hover { border-color: var(--felt-2); }
.dash-paises-panel { margin-top: 8px; padding: 9px; border: 1px solid #bfbda9; border-radius: 9px; background: #f7f4eb; }
.dash-paises-panel[hidden] { display: none; }
.dash-paises [data-buscar-pais] { margin-bottom: 8px; }
.dash-paises-opciones { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; max-height: 170px; padding: 7px; overflow-y: auto; border: 1px solid #bfbda9; border-radius: 9px; background: #fff; }
.dash-pais-opcion { display: flex; align-items: center; gap: 7px; min-width: 0; padding: 9px 11px; border: 1px solid #bfbda9; border-radius: 9px; background: #fff; color: var(--fg); font-size: 12px; cursor: pointer; }
.dash-pais-opcion[hidden] { display: none; }
.dash-pais-opcion:has(input:checked) { border-color: var(--felt-2); background: #e7eee7; }
.dash-pais-opcion:has(input:focus-visible) { outline: 2px solid var(--gold-dim); outline-offset: 2px; }
.dash-pais-opcion:has(input:disabled) { opacity: .48; cursor: not-allowed; }
.dash-pais-opcion input { width: 15px; height: 15px; padding: 0; margin: 0; flex: none; accent-color: var(--felt-2); }
.dash-paises small { display: block; margin-top: 7px; color: var(--muted); font-size: 11.5px; line-height: 1.5; }
.dash-paises-sin-resultados { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
.dash-paises-error { margin: 7px 0 0; color: var(--bad); font-size: 12px; }
.dash-paises:has(.dash-paises-error:not([hidden])) .dash-paises-opciones { border-color: var(--bad); }
.dash-campo > span {
  display: block; font: 600 10px/1 Manrope, sans-serif; letter-spacing: .16em;
  text-transform: uppercase; color: var(--gold-dim); margin-bottom: 8px;
}
.dash-campo input:not([type=checkbox]), .dash-campo select, .dash-campo textarea {
  width: 100%; padding: 14px 15px; border-radius: 9px;
  border: 1px solid #bfbda9; background: #fff; color: #171914;
  font: 400 15px/1.4 Manrope, system-ui, sans-serif;
}
.dash-campo input[type=number] { font-family: var(--mono); }
.dash-campo input:focus-visible, .dash-campo select:focus-visible {
  outline: 2px solid var(--gold-dim); outline-offset: 1px; border-color: var(--gold-dim);
}
.dash-codigo-referido {
  padding: 14px; border: 1px solid #a98a5044; border-radius: 11px;
  background: linear-gradient(135deg, #d5b47712, transparent 60%), #fff;
}
.dash-codigo-referido small {
  display: block; margin-top: 8px; color: var(--muted); font-size: 11.5px; line-height: 1.5;
}
.dash-codigo-referido small.valido { color: #3d6147; }
.dash-codigo-referido small.invalido { color: #8c3b32; }

/* ── partners / referidos ─────────────────────────────────────────────── */
.dash-seccion.dash-seccion-referidos { margin-top: 28px; padding-top: 28px; overflow: hidden; border: 1px solid #b59a6259; border-radius: 18px; background: linear-gradient(135deg, #f7f0df, #ebe3cd); box-shadow: 0 18px 55px #25322612; }
.dash-referidos-cab { display: flex; justify-content: space-between; align-items: start; gap: 20px; padding: 0 28px; }
.dash-referidos-cab h2 { margin: 5px 0 5px; color: #28372b; font: 600 clamp(23px, 3vw, 34px)/1.05 Manrope, sans-serif; letter-spacing: -.04em; }
.dash-referidos-cab p:not(.dash-tag) { max-width: 490px; margin: 0; color: #657061; font-size: 13px; }
.dash-referidos-sello { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid #b59a6273; border-radius: 50%; color: #9a793c; font-size: 22px; transform: rotate(-12deg); }
.dash-referidos-cuerpo { display: grid; grid-template-columns: minmax(210px, .8fr) 1.4fr; gap: 18px; padding: 23px 28px; }
.dash-referidos-codigo { display: flex; flex-direction: column; align-items: start; justify-content: center; padding: 18px; border: 1px solid #b59a624d; border-radius: 12px; background: #fffaf0a8; }
.dash-referidos-codigo span, .dash-referidos-numeros span { color: #7d806e; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.dash-referidos-codigo b { margin: 6px 0 14px; color: #26382b; font: 700 clamp(22px, 3vw, 30px)/1.1 ui-monospace, SFMono-Regular, monospace; letter-spacing: .08em; }
.dash-referidos-numeros { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid #b59a624d; border-radius: 12px; overflow: hidden; background: #b59a624d; }
.dash-referidos-numeros > div { padding: 18px 15px; background: #fffaf0a8; }
.dash-referidos-numeros b { display: block; margin-top: 8px; color: #26382b; font: 600 22px/1 Manrope, sans-serif; }
.dash-referidos-numeros small { display: block; margin-top: 6px; color: #858775; font-size: 10px; }
.dash-referidos-numeros .destacado { background: #e0eadc; }
.dash-referidos-numeros .destacado b { color: #3d6147; }
.dash-ref-label, .dash-titulo-ayuda { display: flex; align-items: center; gap: 8px; }
.dash-ayuda {
  position: relative; display: inline-grid; place-items: center; width: 21px; height: 21px;
  padding: 0; flex: none; border: 1px solid #9b793b8c; border-radius: 50%;
  background: linear-gradient(145deg, #fff9eb, #eadcb9); color: #745628;
  box-shadow: inset 0 0 0 2px #fff8e9, 0 2px 7px #604c2424;
  font: normal 700 11px/1 Manrope, sans-serif; cursor: help;
  transition: transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}
.dash-ayuda::after { content: ''; position: absolute; inset: -5px; border: 1px solid transparent; border-radius: 50%; transition: border-color .18s ease; }
.dash-ayuda:hover, .dash-ayuda:focus-visible, .dash-ayuda[aria-expanded="true"] {
  transform: translateY(-1px); background: linear-gradient(145deg, #b89653, #82642f); color: #fff9e9;
  box-shadow: inset 0 0 0 1px #e9d5a5a6, 0 4px 12px #44341538; outline: none;
}
.dash-ayuda:focus-visible::after { border-color: #9b793b70; }
.dash-tooltip-ayuda {
  position: fixed; inset: auto; z-index: 10000; width: min(282px, calc(100vw - 24px)); margin: 0; padding: 16px 17px 17px;
  border: 1px solid #c4a66c8f; border-radius: 12px; color: #e8eadf;
  background: radial-gradient(circle at 92% 5%, #bd9a5530, transparent 38%), linear-gradient(145deg, #112319, #1c3324);
  box-shadow: 0 18px 44px #10160f52, inset 0 1px #fff3cc14;
  pointer-events: none; opacity: 0; transform: translateY(5px) scale(.98);
  transition: opacity .14s ease, transform .14s ease;
  /* El navegador le pone `overflow: auto` por defecto a todo [popover]. La
     flecha de abajo sobresale 6 px del borde, así que con ese valor quedaba
     recortada —no se veía— y el sobrante generaba una barra de scroll dentro
     del globo. `visible` deja salir la flecha y elimina el scroll. */
  overflow: visible;
}
.dash-tooltip-ayuda.visible { opacity: 1; transform: translateY(0) scale(1); }
.dash-tooltip-ayuda::after {
  content: ''; position: absolute; left: 50%; width: 10px; height: 10px;
  background: #172b1f; border: solid #c4a66c8f; transform: translateX(-50%) rotate(45deg);
}
.dash-tooltip-ayuda[data-lado="arriba"]::after { bottom: -6px; border-width: 0 1px 1px 0; }
.dash-tooltip-ayuda[data-lado="abajo"]::after { top: -6px; border-width: 1px 0 0 1px; }
.dash-tooltip-marca { display: block; margin-bottom: 7px; color: #c9a663; font: 700 9px/1 Manrope, sans-serif; letter-spacing: .18em; }
.dash-tooltip-ayuda p { margin: 0; color: #d9dfd4; font: 400 12px/1.55 Manrope, sans-serif; }
.dash-referidos-pie { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 17px 28px 22px; border-top: 1px solid #b59a6238; background: #e9e0c8a3; }
.dash-referidos-pie p { margin: 0; color: #737665; font-size: 11px; line-height: 1.5; }
@media (max-width: 720px) { .dash-referidos-cuerpo { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .dash-referidos-cab, .dash-referidos-cuerpo, .dash-referidos-pie { padding-left: 17px; padding-right: 17px; } .dash-referidos-numeros { grid-template-columns: 1fr; } .dash-referidos-pie { align-items: stretch; flex-direction: column; } }

/* Configuración dedicada: separada del panel de identidad y seguridad. */
.dash-dialogo.dash-dialogo-referidos { width: min(980px, calc(100vw - 28px)); padding: 0; overflow-x: hidden; overflow-y: auto; scrollbar-width: none; background: #eee7d7; border-color: #b49a625c; }
.dash-dialogo-referidos::-webkit-scrollbar { display: none; }
.dash-dialogo-referidos .dash-cerrar { position: absolute; z-index: 3; top: 20px; right: 20px; float: none; margin: 0; }
.dash-config-ref-cab { position: relative; padding: 34px 70px 26px 34px; color: #e7e5dc; background: radial-gradient(circle at 85% 20%, #b9985830, transparent 30%), linear-gradient(145deg, #13251a, #203729); border-bottom: 1px solid #b49a626b; }
.dash-config-ref-cab h2 { margin: 5px 0 7px; color: #f2e6c9; font: 600 clamp(25px, 4vw, 39px)/1.04 Manrope, sans-serif; letter-spacing: -.045em; }
.dash-config-ref-cab > p:last-child { max-width: 680px; margin: 0; color: #bec8bc; font-size: 13px; line-height: 1.55; }
.dash-config-ref-tabs { display: none; }
.dash-config-ref-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: #b49a6242; }
.dash-config-ref-panel { position: relative; min-width: 0; padding: 28px 30px 30px; background: #f3eddf; }
.dash-config-ref-panel h3 { margin: 3px 0 7px; color: #243329; font: 600 19px/1.15 Manrope, sans-serif; }
.dash-config-ref-panel > p { min-height: 39px; margin: 0 0 20px; color: #6d7268; font-size: 12px; line-height: 1.55; }
.dash-config-num { display: block; color: #a18249; font: 600 9px/1 Manrope, sans-serif; letter-spacing: .18em; }
.dash-config-ref-panel form { display: grid; gap: 12px; }
.dash-config-ref-panel form .dash-campo { margin: 0; }
.dash-config-ref-panel form button { justify-self: start; }
.dash-config-ref-panel [data-estado-form], .dash-config-stepup small { min-height: 16px; color: #3d6147; font-size: 11px; }
.dash-config-ref-panel [data-estado-form].error, .dash-config-stepup small { color: #8c3b32; }
.dash-config-ref-doble { display: grid; grid-template-columns: 1.25fr .75fr; gap: 10px; }
.dash-config-saldo { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin: 12px 0 20px; padding: 15px 17px; border: 1px solid #6a8c7045; border-radius: 11px; background: #dfe9db; }
.dash-config-saldo span, .dash-config-saldo small { color: #607062; font-size: 10px; }
.dash-config-saldo b { display: block; margin-top: 4px; color: #35543e; font: 600 25px/1 Manrope, sans-serif; }
.dash-config-ref-historial { background: #ede5d3; }
.dash-config-mov { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 11px 0; border-bottom: 1px solid #b49a6238; }
.dash-config-mov:last-child { border-bottom: 0; }
.dash-config-mov b { color: #27352b; font-size: 14px; }
.dash-config-mov span { margin-left: 8px; color: #777a6d; font-size: 9px; }
.dash-config-mov em { padding: 5px 7px; border: 1px solid #b49a625e; border-radius: 999px; color: #6c644f; font: 600 9px/1 Manrope, sans-serif; text-transform: uppercase; font-style: normal; letter-spacing: .08em; }
.dash-config-vacio { min-height: 0 !important; padding: 20px 0; border-top: 1px solid #b49a6238; }
.dash-config-stepup { display: grid; grid-template-columns: 1fr minmax(170px, 250px) auto; align-items: center; gap: 12px; padding: 18px 28px; color: #e8e5dc; background: #192b20; border-top: 1px solid #b49a6266; }
.dash-config-stepup[hidden] { display: none; }
.dash-config-stepup b, .dash-config-stepup span { display: block; }
.dash-config-stepup span { margin-top: 3px; color: #b7c0b5; font-size: 11px; }
.dash-config-stepup input { width: 100%; padding: 12px 13px; border: 1px solid #b49a6280; border-radius: 8px; background: #f6f0e3; }
@media (min-width: 721px) {
  .dash-config-ref-cab { padding: 24px 70px 20px 30px; }
  .dash-config-ref-cab h2 { font-size: clamp(25px, 3vw, 34px); }
  .dash-config-ref-cab > p:last-child { max-width: 790px; line-height: 1.45; }
  .dash-config-ref-panel { padding: 21px 30px 22px; }
  .dash-config-ref-panel > p { min-height: 0; margin-bottom: 13px; }
  .dash-config-ref-panel form { gap: 9px; }
  .dash-config-saldo { margin: 7px 0 13px; padding: 11px 15px; }
  .dash-config-saldo b { font-size: 23px; }
  .dash-config-vacio { padding: 14px 0; }
}
/*
 * Pestañas: en el celular y también en escritorios bajos (notebooks de 768 a
 * 840 px de alto). La grilla de 2×2 mide unos 800 px y en esas pantallas
 * dejaba el modal con scroll; con pestañas se ve un panel por vez y entra.
 */
@media (max-width: 720px), (max-height: 840px) {
  .dash-dialogo.dash-dialogo-referidos { overflow: hidden; }
  .dash-config-ref-cab { padding-bottom: 20px; }
  .dash-config-ref-cab > p:last-child { font-size: 12px; line-height: 1.45; }
  .dash-config-ref-tabs {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px;
    padding: 0; border-bottom: 1px solid #b49a6252; background: #b49a6242;
  }
  .dash-config-ref-tabs button {
    min-width: 0; padding: 12px 4px 11px; border: 0; background: #e8dfcd; color: #777464;
    font-family: Manrope, sans-serif; cursor: pointer; transition: color .18s ease, background .18s ease;
  }
  .dash-config-ref-tabs b, .dash-config-ref-tabs span { display: block; }
  .dash-config-ref-tabs b { margin-bottom: 5px; color: #a08148; font-size: 8px; letter-spacing: .14em; }
  .dash-config-ref-tabs span { overflow: hidden; font-size: 9px; font-weight: 600; letter-spacing: .05em; text-overflow: ellipsis; text-transform: uppercase; }
  .dash-config-ref-tabs button[aria-selected="true"] { background: #f4eedf; color: #203126; box-shadow: inset 0 -2px #a68140; }
  .dash-config-ref-tabs button[aria-selected="true"] b { color: #795b27; }
  .dash-config-ref-grid { display: block; background: #f3eddf; }
  .dash-config-ref-panel { display: none; min-height: 315px; }
  .dash-config-ref-panel.activo { display: block; animation: dash-panel-entra .18s ease both; }
  .dash-config-ref-retiro { min-height: 450px; }
  .dash-config-stepup { position: absolute; z-index: 4; left: 0; right: 0; bottom: 0; grid-template-columns: 1fr; box-shadow: 0 -16px 32px #16231a38; }
}
@media (min-width: 721px) and (max-height: 840px) {
  /* Con un panel por vez, el ancho de 980 px dejaba renglones larguísimos. */
  .dash-dialogo.dash-dialogo-referidos { width: min(640px, calc(100vw - 28px)); }
}
/* Panel 02: el reparto fijo, sin nada que configurar. */
.dash-config-reparto { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.dash-config-reparto div { padding: 14px 15px; border: 1px solid #b49a624d; border-radius: 11px; background: #ebe3d0; }
.dash-config-reparto span { display: block; color: #6d7268; font-size: 10px; }
.dash-config-reparto b { display: block; margin-top: 5px; color: #243329; font: 600 21px/1.1 Manrope, sans-serif; }
/* Panel 03 antes de llegar al mínimo: cuánto falta, en vez del formulario. */
.dash-config-umbral p { margin: 11px 0 0; color: #6d7268; font-size: 12px; line-height: 1.5; }
.dash-config-umbral p b { color: #35543e; }
/* Wallets guardadas: la dirección se muestra, no se vuelve a escribir. */
.dash-wallets { display: grid; gap: 8px; margin: 0 0 14px; padding: 0; list-style: none; }
.dash-wallets li { display: flex; align-items: baseline; gap: 10px; padding: 10px 12px; border: 1px solid #b49a624d; border-radius: 10px; background: #ebe3d0; }
.dash-wallets span { flex: none; color: #6d7268; font-size: 10px; letter-spacing: .08em; }
.dash-wallets b { min-width: 0; overflow-wrap: anywhere; color: #243329; font: 600 11px/1.45 var(--mono, ui-monospace, monospace); }
.dash-cambiar-wallet { margin-top: 14px; border-top: 1px solid #b49a6238; padding-top: 12px; }
.dash-cambiar-wallet summary { color: #6d7268; font-size: 11px; cursor: pointer; }
.dash-cambiar-wallet[open] summary { margin-bottom: 12px; color: #243329; }
.dash-config-umbral-barra { height: 7px; overflow: hidden; border-radius: 999px; background: #b49a6238; }
.dash-config-umbral-barra i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #6a8c70, #35543e); }
/* Pantallas bajas: el diálogo se compacta antes de tener que hacer scroll. */
@media (max-height: 820px) {
  .dash-dialogo { padding: 24px 26px; max-height: calc(100vh - 20px); }
  .dash-dialogo .dash-lede { margin: 6px 0 14px; font-size: 13.5px; line-height: 1.5; }
  .dash-dialogo h2 { font-size: 23px; }
  .dash-dialogo .dash-campo { margin-bottom: 11px; }
  .dash-dialogo .dash-campo input:not([type=checkbox]),
  .dash-dialogo .dash-campo select { padding-top: 11px; padding-bottom: 11px; }
  .dash-dialogo .dash-nota-legal { font-size: 10.5px; line-height: 1.45; }
  .dash-acciones-fijas { margin: 0 -26px -24px; padding: 12px 26px 24px; bottom: -24px; }
}
@keyframes dash-panel-entra { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 440px) { .dash-dialogo.dash-dialogo-referidos { width: calc(100vw - 18px); padding: 0; } .dash-config-ref-cab { padding: 28px 52px 22px 20px; } .dash-config-ref-panel { padding: 23px 20px; } .dash-config-ref-doble { grid-template-columns: 1fr; } }
@media (max-height: 700px), (max-width: 360px) {
  .dash-dialogo.dash-dialogo-referidos { width: calc(100vw - 12px); max-height: calc(100vh - 12px); }
  .dash-dialogo-referidos .dash-cerrar { top: 14px; right: 14px; width: 34px; height: 34px; }
  .dash-config-ref-cab { padding: 15px 52px 13px 18px; }
  .dash-config-ref-cab .dash-tag { margin-bottom: 7px; font-size: 8px; }
  .dash-config-ref-cab h2 { margin: 0; font-size: 25px; line-height: .98; }
  .dash-config-ref-cab > p:last-child { display: none; }
  .dash-config-ref-tabs button { padding: 8px 2px 7px; }
  .dash-config-ref-tabs b { margin-bottom: 3px; }
  .dash-config-ref-tabs span { font-size: 8px; letter-spacing: .02em; }
  .dash-config-ref-panel, .dash-config-ref-retiro { min-height: 0; padding: 14px 18px 15px; }
  .dash-config-num { margin-bottom: 2px; }
  .dash-config-ref-panel h3 { margin-bottom: 4px; font-size: 18px; }
  .dash-config-ref-panel > p { margin-bottom: 8px; font-size: 11px; line-height: 1.4; }
  .dash-config-ref-panel form { gap: 7px; }
  .dash-config-ref-panel .dash-campo span { margin-bottom: 5px; }
  .dash-config-ref-panel .dash-campo input,
  .dash-config-ref-panel .dash-campo select { padding-top: 10px; padding-bottom: 10px; }
  .dash-config-ref-panel form .dash-btn { padding-top: 11px; padding-bottom: 11px; }
  .dash-config-ref-doble { grid-template-columns: 1.12fr .88fr; gap: 8px; }
  .dash-config-saldo { margin: 3px 0 8px; padding: 8px 11px; }
  .dash-config-saldo b { font-size: 21px; }
  .dash-config-ref-panel [data-estado-form] { min-height: 0; }
}
.dash-calculo-descuento { color: #a9d3b3; }
.dash-calculo-descuento b { color: #a9d3b3; }
.dash-fila-doble { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: start; }
.dash-calculo-linea, .dash-calculo-total { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; }
.dash-calculo-linea + .dash-calculo-linea { margin-top: 8px; }
.dash-calculo-total { margin-top: 14px; padding-top: 12px; border-top: 1px solid #d5b47755; font-size: 16px; }
.dash-calculo-total b { color: #e4c78f; font-size: 20px; }
.dash-calculo-red { margin-top: 10px; font-size: 13px; }
.dash-calculo-red + .dash-calculo-red { margin-top: 8px; padding-top: 8px; border-top-color: #d5b47722; }
.dash-calculo-red span { min-width: 0; }
.dash-calculo-red small { display: block; margin-top: 2px; color: #a9b8a9; font: 400 11px/1.5 var(--mono); }
.dash-calculo-red b { white-space: nowrap; }
@media (max-width: 620px) { .dash-fila-doble { grid-template-columns: 1fr; gap: 0; } .dash-cantidad-ftds { width: 100%; } }

.dash-calculo {
  background: var(--felt-2); color: #dfe4da; border: 1px solid #a98a5044;
  border-radius: 11px; padding: 15px 17px; margin: 4px 0 18px;
  font: 400 13px/1.7 var(--mono);
}
.dash-calculo b { color: var(--gold); font-weight: 600; }
.dash-dialogo [data-form-crear] .dash-primario { background: var(--felt-2); }
.dash-dialogo [data-form-crear] .dash-primario:hover:not([disabled]) { background: var(--felt); }

.dash-acciones { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.dash-acciones .dash-btn:not(.dash-sutil) { flex: 1 1 180px; }

.dash-nota-legal {
  margin: 20px 0 0; font-size: 12px; line-height: 1.7; color: var(--muted);
  border-left: 2px solid var(--gold-dim); padding-left: 14px;
}

/* ── detalle del pedido ─────────────────────────────────────────────────── */

.dash-detalle-cab { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 6px; }
.dash-detalle-datos {
  display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  margin: 20px 0 24px;
}
.dash-detalle-datos div {
  background: #fff; border: 1px solid var(--line); border-radius: 11px; padding: 14px;
}
.dash-detalle-datos b { display: block; font: 600 20px/1.3 Manrope, system-ui, sans-serif; font-variant-numeric: tabular-nums; }
.dash-detalle-datos span {
  display: block; margin-top: 6px;
  font: 600 9px/1.3 Manrope, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--muted);
}

.dash-saldo-favor { border: 1px solid var(--gold-dim); border-radius: 12px; padding: 18px; background: #f7f2e8; }
.dash-saldo-favor h3 { margin: 0 0 6px; color: var(--fg); }
.dash-saldo-favor p { margin: 0 0 12px; color: var(--muted); }
.dash-saldo-desglose { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 12px; }
.dash-saldo-favor details { margin-top: 14px; }
.dash-saldo-favor summary { cursor: pointer; }
.dash-saldo-favor ul { list-style: none; padding: 0; margin: 10px 0 0; }
.dash-saldo-favor li { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; border-top: 1px solid var(--line); padding: 8px 0; font-size: 12px; }
.dash-saldo-favor li span { color: var(--muted); overflow-wrap: anywhere; }
.dash-ganancia-cobro { margin-top: 20px; border-top: 1px solid var(--line); padding-top: 20px; }
.dash-ganancia-importes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-bottom: 20px; }
.dash-ganancia-importes div { display: grid; gap: 8px; }
.dash-ganancia-importes span { font-size: 12px; color: var(--muted); }
.dash-ganancia-importes b { font-size: 26px; overflow-wrap: anywhere; }
.dash-ganancia-pendientes { list-style: none; padding: 0; display: grid; gap: 12px; margin: 20px 0; }
.dash-ganancia-pendientes .dash-aviso { margin: 0; padding: 14px 16px; border: 1px solid var(--line); border-radius: 10px; }
.dash-ganancia-pendientes p { margin: 6px 0; }
.dash-ganancia-pendientes code { display: block; margin-top: 8px; }
.dash-ganancia-cobro form { display: grid; gap: 14px; max-width: 520px; margin: 20px 0; }
.dash-ganancia-cobro small { color: var(--muted); line-height: 1.7; }
.dash-ganancia-cobro button { min-height: 44px; }
.dash-ganancia-cobro code, .dash-ganancia-destino { overflow-wrap: anywhere; font-size: 12px; }
.dash-ganancia-wallet summary { padding: 12px 0; cursor: pointer; }
.dash-ganancia-identidad { border-top: 1px solid var(--line); padding-top: 18px; }
.dash-ganancia-identidad[hidden] { display: none; }
@media (max-width:480px) { .dash-ganancia-importes b { font-size: 22px; } }

.dash-sub {
  font: 600 10.5px/1 Manrope, sans-serif; letter-spacing: .16em; text-transform: uppercase;
  color: var(--gold-dim); margin: 28px 0 12px;
}

.dash-redeposito { margin-top: 26px; }
.dash-redepositos-pendientes { margin-bottom: 22px; }
.dash-redeposito-cab { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 14px; }
.dash-redeposito-cab .dash-tag { margin: 0 0 6px; }
.dash-redeposito-cab h3 { margin: 0; font-size: 21px; font-weight: 500; letter-spacing: -.04em; }
.dash-redeposito-contador { display: grid; place-items: center; min-width: 36px; height: 36px; padding: 0 10px; border: 1px solid #a98a5066; border-radius: 50%; color: var(--gold-dim); font: 600 13px var(--mono); }
.dash-redeposito-ayuda { margin: 0 0 16px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.dash-redepositos-pendientes-lista { display: grid; gap: 12px; }
.dash-redeposito-factura { padding: 18px; gap: 16px; border-left-width: 1px; background: #fffdf8; }
.dash-redeposito-factura .dash-factura-datos { gap: 12px 20px; margin-top: 14px; }
.dash-redeposito-factura .dash-factura-acciones { gap: 6px; }
.dash-redeposito-nuevo { padding: 0; border: 1px solid #a98a5055; border-radius: 12px; background: #f9f5ec; }
.dash-redeposito-nuevo > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; padding: 16px 20px; cursor: pointer; list-style: none; color: var(--ink); font-size: 15px; font-weight: 600; }
.dash-redeposito-nuevo > summary::-webkit-details-marker { display: none; }
.dash-redeposito-mas { display: grid; place-items: center; flex: none; width: 28px; height: 28px; border: 1px solid #a98a5066; border-radius: 50%; color: var(--gold-dim); font-size: 18px; transition: transform .15s; }
.dash-redeposito-nuevo[open] .dash-redeposito-mas { transform: rotate(45deg); }
.dash-redeposito-nuevo-cuerpo { padding: 0 20px 20px; }
.dash-redeposito-nuevo-cuerpo > p { margin: 0 0 20px; }
.dash-redeposito-campos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.dash-redeposito-campos .dash-campo { min-width: 0; margin: 0; }
.dash-redeposito-nuevo [data-total-redeposito] { margin: 20px 0; }
.dash-redeposito-nuevo .dash-acciones { justify-content: flex-end; }
@media (max-width: 620px) {
  .dash-redeposito-campos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .dash-redeposito-campos .dash-campo:first-child { grid-column: 1 / -1; }
  .dash-redeposito-nuevo > summary { padding-inline: 16px; }
  .dash-redeposito-nuevo-cuerpo { padding-inline: 16px; }
  .dash-redeposito-nuevo button[type=submit] { width: 100%; }
}


/* ── cancelados ─────────────────────────────────────────────────────────── */

.dash-cancelados { margin-top: 22px; }
.dash-cancelados summary {
  cursor: pointer; display: flex; align-items: center; gap: 10px;
  font: 600 11px/1 Manrope, sans-serif; letter-spacing: .14em; text-transform: uppercase;
  color: var(--muted); padding: 12px 0;
}
.dash-cancelados .dash-lista { margin-top: 10px; max-width: 420px; }

/* ── carga ──────────────────────────────────────────────────────────────── */

.dash-cargando { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 13px; padding: 26px 0; }
.dash-cargando[hidden] { display: none; }
.dash-spinner {
  width: 15px; height: 15px; border-radius: 50%; flex: none;
  border: 2px solid #a98a5044; border-top-color: var(--gold-dim);
  animation: dash-giro .7s linear infinite;
}
@keyframes dash-giro { to { transform: rotate(360deg); } }

/* ── móvil ──────────────────────────────────────────────────────────────── */

@media (max-width: 620px) {
  main { padding: 0 16px 60px; }
  .dash-topbar-inner { padding: 14px 16px; }
  .dash-seccion { padding-top: 32px; }
  .dash-dialogo, .dash-dialogo-ancho { padding: 26px 18px; width: calc(100vw - 20px); }
  .dash-encabezado-acciones { width: 100%; }
  .dash-encabezado-acciones .dash-btn { flex: 1 1 auto; }
  .dash-acciones .dash-btn:not(.dash-sutil) { flex: 1 1 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .dash-btn, .dash-pedido { transition: none; }
  .dash-spinner { animation: none; }
}

/* Pago directo: conserva los tonos de paño y oro del dashboard. */
.dash-dialogo-pago { width: min(720px, calc(100vw - 32px)); padding: 28px 36px; }
.dash-dialogo-pago .dash-calculo { padding-block: 12px; margin-bottom: 12px; line-height: 1.5; }
.dash-dialogo-pago .dash-aviso { padding: 8px 0; margin-bottom: 10px; }
.dash-dialogo-pago .dash-deposito { margin-top: 8px; }
.dash-dialogo-pago .dash-nota-legal { margin-top: 14px; }
.dash-pago-redes { border: 0; padding: 0; margin: 18px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; min-width: 0; }
.dash-pago-redes legend { margin-bottom: 12px; font-size: 13px; font-weight: 600; }
.dash-pago-redes label {
  display: flex; gap: 14px; align-items: center; padding: 14px 16px;
  border: 1px solid var(--line); border-radius: 12px; cursor: pointer;
}
.dash-pago-redes label[hidden] { display: none; }
.dash-pago-redes label:has(input:checked) { background: #18372e; border-color: #a98a50; color: #fff5df; }
.dash-pago-redes label:focus-within { outline: 2px solid #a98a50; outline-offset: 3px; }
.dash-pago-redes input { accent-color: #a98a50; width: 18px; height: 18px; flex-shrink: 0; }
.dash-pago-redes b { display: block; font-size: 15px; }
.dash-pago-redes small { display: block; margin-top: 5px; font-size: 12px; }

/* Estilos históricos de billetera (sin interfaz activa). */

.dash-saldo {
  background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 24px;
}
.dash-saldo-cab {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; flex-wrap: wrap; margin-bottom: 4px;
}
.dash-saldo-cifra {
  margin: 0; font: 600 36px/1.2 Manrope, system-ui, sans-serif; font-variant-numeric: tabular-nums; color: var(--fg);
}
.dash-saldo-cifra small { font-size: 14px; color: var(--muted); font-family: Manrope, sans-serif; }

.dash-deposito { margin-top: 20px; display: grid; gap: 14px; }
.dash-red {
  display: flex; gap: 20px; align-items: flex-start;
  padding: 18px; border-radius: 12px;
  background: #d5b4770d; border: 1px dashed #a98a5055;
}
/* El QR llega del servidor como SVG. Se le da tamaño desde acá. */
.dash-red-qr { flex: none; width: 116px; height: 116px; }
.dash-red-qr svg { width: 100%; height: 100%; display: block; }
.dash-red-datos { min-width: 0; flex: 1; }
.dash-red-nombre {
  margin: 0 0 8px; font: 600 10px/1 Manrope, sans-serif;
  letter-spacing: .16em; text-transform: uppercase; color: #a98a50;
}
.dash-red-dir {
  margin: 0 0 10px; font: 400 13px/1.6 ui-monospace, Menlo, Consolas, monospace;
  color: var(--fg); word-break: break-all; user-select: all;
}
.dash-red-importe {
  display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap;
  margin: 0 0 13px; padding: 11px 13px; border-radius: 9px;
  background: #11120f0d; border: 1px solid #a98a5033;
}
.dash-red-importe span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.dash-red-importe b { color: var(--fg); font: 650 19px/1.2 Manrope, sans-serif; font-variant-numeric: tabular-nums; }
.dash-red-importe .dash-btn { margin-left: auto; padding: 5px 8px; }
.dash-red-nota { margin: 10px 0 0; font-size: 11.5px; line-height: 1.6; color: var(--muted); }

.dash-movimientos { margin-top: 20px; }
.dash-movimientos summary {
  cursor: pointer; font: 600 10px/1 Manrope, sans-serif;
  letter-spacing: .14em; text-transform: uppercase; color: #a98a50; padding: 8px 0;
}
.dash-movimientos .dash-historial li { display: flex; gap: 12px; align-items: baseline; }
.dash-movimientos .dash-historial span { flex: 1; }
.dash-pos { color: var(--ok); white-space: nowrap; }
.dash-neg { color: var(--muted); white-space: nowrap; }

@media (max-width: 620px) {
  .dash-pago-redes { grid-template-columns: 1fr; }
  .dash-red { flex-direction: column; align-items: center; text-align: center; }
  .dash-red-qr { width: 150px; height: 150px; }
  .dash-saldo-cab { flex-direction: column; align-items: stretch; }
}

/* Remate del grupo de controles: queda después de las reglas base. */
.dash-topbar .dash-header-actions { display: flex; align-items: center; gap: 8px; padding: 4px; border: 1px solid #ffffff14; border-radius: 999px; background: #0f1b14a8; box-shadow: inset 0 1px #ffffff0b; }
.dash-topbar .dash-header-actions .dash-sesion { gap: 6px; }
.dash-topbar .dash-cuenta-icono { width: 38px; height: 38px; border-color: transparent; background: #d5b477; color: #1b2a20; transition: transform .2s ease, background .2s ease; }
.dash-topbar .dash-cuenta-icono:hover { background: #f0d99c; border-color: transparent; transform: translateY(-1px); }
.dash-topbar .dash-usuario { padding: 7px 10px; border-color: #ffffff16; background: #ffffff08; color: #f2dfaf; }
@media (max-width: 600px) { .dash-topbar .dash-header-actions { gap: 4px; padding: 3px; } .dash-topbar .dash-usuario { display: none; } }

/* El perfil ya está representado por su icono: el alias no debe competir. */
.dash-topbar .dash-header-actions { gap: 12px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.dash-topbar .dash-sesion { display: flex; align-items: center; }
.dash-topbar .dash-usuario { display: none; }
.dash-topbar .dash-cuenta-icono { width: 40px; height: 40px; border-radius: 12px; }
@media (max-width: 600px) { .dash-topbar .dash-header-actions { gap: 10px; padding: 0; } }

/* Idioma y perfil comparten la misma escala: dos iconos, sin texto sobrante. */
.dash-topbar .noir-language { position: relative; flex: 0 0 40px; width: 40px; min-height: 40px; justify-content: center; padding: 0; border-color: #d5b47755; border-radius: 12px; background: #ffffff08; }
.dash-topbar .noir-language::after { display: none; }
.dash-topbar .noir-language svg { width: 16px; height: 16px; pointer-events: none; }
.dash-topbar .noir-language-trigger { position: absolute; inset: 0; z-index: 1; width: 100%; min-height: 100%; padding: 0; }
.dash-topbar .noir-language-trigger span, .dash-topbar .noir-language-trigger i { display: none; }
.dash-topbar .noir-language-menu { z-index: 100; }

/* Alta de pedido: formulario operativo, con bloques respirados y revisión fija. */
.dash-dialogo.dash-dialogo-crear { width: min(720px, calc(100vw - 28px)); padding: 34px 38px 0; overflow-x: hidden; border-color: #a98a5070; background: radial-gradient(circle at 92% 0, #d5b47719, transparent 32%), #f5f3eb; box-shadow: 0 32px 90px #101b142e; }
.dash-dialogo-crear > .dash-dialogo-paso { margin: 0 0 14px; color: #96743a; font: 700 9px/1 Manrope, sans-serif; letter-spacing: .2em; }
.dash-dialogo-crear > .dash-tag { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 10px; color: #4b6650; font-size: 9px; }
.dash-dialogo-crear > .dash-tag::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #d5b477; box-shadow: 0 0 0 4px #d5b47720; }
.dash-dialogo-crear > h2 { max-width: 500px; margin: 0; color: #18271d; font-size: clamp(28px, 4vw, 36px); letter-spacing: -.045em; }
.dash-dialogo-crear > .dash-lede { max-width: 570px; margin: 10px 0 24px; color: #657061; font-size: 13px; line-height: 1.65; }
.dash-dialogo-crear > .dash-estado-cobros:not([hidden]) { margin: 0 0 20px; padding: 14px 16px; border: 1px solid #b2905070; border-radius: 11px; background: #eee5d0; color: #4d3e25; font-size: 12px; line-height: 1.55; }
.dash-dialogo-crear .dash-cerrar { position: absolute; top: 24px; right: 26px; float: none; margin: 0; background: #f5f3eb; }
.dash-dialogo-crear [data-form-crear] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; padding-top: 22px; border-top: 1px solid #a98a5040; }
.dash-dialogo-crear [data-form-crear] > .dash-cantidad-ftds { width: auto; grid-column: 1 / -1; }
.dash-dialogo-crear [data-form-crear] > .dash-fila-doble,
.dash-dialogo-crear [data-form-crear] > .dash-alerta-margen,
.dash-dialogo-crear [data-form-crear] > .dash-paises,
.dash-dialogo-crear [data-form-crear] > .dash-calculo,
.dash-dialogo-crear [data-form-crear] > .dash-error,
.dash-dialogo-crear [data-form-crear] > .dash-nota-legal,
.dash-dialogo-crear [data-form-crear] > .dash-acciones { grid-column: 1 / -1; }
.dash-dialogo-crear .dash-cantidad-ftds > .dash-seccion-kicker { display: block; margin-bottom: 12px; color: #96743a; font: 700 9px/1 Manrope, sans-serif; letter-spacing: .17em; }
.dash-dialogo-crear .dash-fila-doble { gap: 16px; }
.dash-alerta-margen { margin: 0 0 20px; padding: 14px 16px; border: 1px solid #a98a5040; border-radius: 12px; background: #fffdf7; }
.dash-alerta-margen-cab { display: flex; justify-content: space-between; gap: 8px 16px; flex-wrap: wrap; font-size: 11px; line-height: 1.5; }
.dash-alerta-margen-cab b { color: #96743a; font-weight: 600; }
.dash-alerta-margen-cab span { color: #657061; }
.dash-alerta-margen-barra { position: relative; height: 12px; margin-top: 12px; border-radius: 999px; background: linear-gradient(to right, #35543e 0 50%, #a98a50 50% 80%, #a94735 80% 100%); }
.dash-alerta-margen-barra i { display: block; position: absolute; top: -4px; bottom: -4px; left: clamp(6px, var(--posicion-alerta), calc(100% - 6px)); width: 4px; border-radius: 3px; background: #1c241c; box-shadow: 0 0 0 2px #fff; transition: left .2s ease; }
.dash-alerta-margen[data-nivel="incompleto"] .dash-alerta-margen-barra i { display: none; }
.dash-alerta-margen-leyenda { display: grid; grid-template-columns: 5fr 3fr 2fr; margin-top: 5px; text-align: center; font-size: 10px; }
.dash-alerta-margen-leyenda span:nth-child(1) { color: #35543e; }
.dash-alerta-margen-leyenda span:nth-child(2) { color: #96743a; }
.dash-alerta-margen-leyenda span:nth-child(3) { color: #a94735; }
.dash-alerta-margen > small { display: block; margin-top: 10px; color: #657061; font-size: 11px; line-height: 1.55; }
.dash-dialogo-crear .dash-campo { margin-bottom: 20px; }
.dash-dialogo-crear [data-red-preparacion][hidden] { display: none; }
.dash-dialogo-crear .dash-campo > span, .dash-dialogo-crear .dash-paises legend { color: #596a59; font-size: 9px; letter-spacing: .14em; }
.dash-dialogo-crear .dash-campo input:not([type=checkbox]) { min-height: 48px; border-color: #a98a5050; background: #fffef9; box-shadow: inset 0 1px #fff; }
.dash-dialogo-crear .dash-paises-toggle { min-height: 48px; border-color: #a98a5050; background: #fffef9; }
.dash-dialogo-crear .dash-paises { margin-top: 3px; padding: 20px; border: 1px solid #a98a503c; border-radius: 13px; background: #e9eee51f; }
.dash-dialogo-crear .dash-paises-panel { background: #f9f7ef; }
.dash-dialogo-crear .dash-codigo-referido { min-height: 112px; border-color: #c2a56666; background: linear-gradient(135deg, #d5b47718, transparent 68%), #fffdf7; }
.dash-dialogo-crear .dash-codigo-referido { min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.dash-dialogo-crear .dash-codigo-referido small { min-height: 18px; margin-top: 7px; padding: 0 1px; color: #697266; }
.dash-dialogo-crear .dash-fila-doble > .dash-campo { min-width: 0; }
.dash-dialogo-crear .dash-calculo { margin: 4px 0 0; border-color: #2d4b3666; border-radius: 13px; background: linear-gradient(135deg, #263d2d, #17271d); box-shadow: 0 12px 25px #17271d1a; }
.dash-dialogo-crear .dash-nota-legal { margin: 0; padding: 13px 0 0 14px; border-color: #b29050; font-size: 11px; line-height: 1.6; }
.dash-dialogo-crear .dash-acciones-fijas { position: sticky; bottom: 0; z-index: 2; margin: 8px -38px 0; padding: 16px 38px 22px; border-top: 1px solid #a98a5040; background: linear-gradient(180deg, #f5f3ebd9, #f5f3eb 35%); }
.dash-dialogo-crear .dash-acciones-fijas .dash-btn { min-height: 50px; background: #1d3527; border-color: #1d3527; box-shadow: 0 4px 0 #102017; }
.dash-dialogo-crear .dash-acciones-fijas .dash-btn:hover:not([disabled]) { background: #294936; border-color: #294936; }
@media (max-width: 620px) {
  .dash-dialogo.dash-dialogo-crear { width: calc(100vw - 20px); max-height: calc(100dvh - 16px); padding: 20px 18px 0; }
  .dash-dialogo-crear > h2 { font-size: 26px; padding-right: 32px; }
  .dash-dialogo-crear > .dash-lede { margin-bottom: 18px; }
  .dash-dialogo-crear .dash-cerrar { top: 16px; right: 17px; }
  .dash-dialogo-crear [data-form-crear] { grid-template-columns: 1fr; gap: 0; padding-top: 18px; }
  .dash-dialogo-crear .dash-fila-doble { grid-template-columns: 1fr; gap: 0; }
  .dash-dialogo-crear .dash-campo { margin-bottom: 16px; }
  .dash-dialogo-crear .dash-paises { padding: 16px; }
  .dash-dialogo-crear .dash-acciones-fijas { margin-right: -18px; margin-left: -18px; padding: 12px 18px max(16px, env(safe-area-inset-bottom)); }
}
