/* ============================================================
   Vairal Expo — identidad 2026 v2 (rediseño 27/05/2026).
   Paleta: navy sobrio + verde pampeano + terracota cálido.
   Tipografía: Manrope (display) + system stack (body) +
   JetBrains Mono (precios/números).
   Inspirada en Tienda Nube + Mercado Pago Empresas + Stripe.
   Mantiene aliases viejos (--fx-*) para no romper clases legacy.
   ============================================================ */
:root{
  /* ====== Paleta primaria (Vairal v2) ====== */
  --navy:#0a2540;             /* primario, fondo dark, textos display */
  --navy-2:#13335a;            /* hover/active sobre navy */
  --navy-3:#06182a;            /* navy más oscuro (footer, CTAs invertidos) */
  --navy-soft:#e8eef5;         /* fondo de cards sobre dark, soft */

  --verde:#00a86b;             /* acento principal (CTA), verde pampeano */
  --verde-hover:#00935d;       /* verde más oscuro al hover */
  --verde-soft:#e4f5ee;        /* verde fondo soft (badges OK) */
  --verde-border:#a5dcc4;      /* verde border claro */

  --terracota:#c45c30;         /* acento cálido secundario */
  --terracota-soft:#fbeae0;    /* terracota fondo soft */
  --terracota-border:#f4c4a8;  /* terracota border */

  /* ====== Texto (caliente, no gris frío) ====== */
  --tinta:#1a1f36;             /* casi negro azulado */
  --tinta-soft:#425466;        /* gris azulado, body soft */
  --gris:#6b7280;              /* gris medio */
  --gris-light:#9aa4b2;        /* gris claro labels */

  /* ====== Bordes + fondos cálidos ====== */
  --linea:#e5e3dd;             /* warm border, NO frío grayscale */
  --linea-strong:#d0ccc0;
  --bg:#fafaf7;                /* off-white cálido, NO blanco puro */
  --bg-soft:#f3f1ec;
  --bg-alt:#ebe8df;
  --blanco:#ffffff;

  /* ====== Estados ====== */
  --ok:var(--verde);
  --ok-soft:var(--verde-soft);
  --ok-border:var(--verde-border);

  --warn:#b45309;
  --warn-soft:#fff6e5;
  --warn-border:#fcd9a5;

  --danger:#c43d3d;
  --danger-soft:#fde9e9;
  --danger-border:#f5b8bc;

  /* ====== Sombras (más blandas, naturales) ====== */
  --shadow-xs:0 1px 2px rgba(10,37,64,.04);
  --shadow-sm:0 2px 5px rgba(10,37,64,.06),0 1px 2px rgba(10,37,64,.04);
  --shadow-md:0 8px 18px -6px rgba(10,37,64,.10),0 3px 6px -2px rgba(10,37,64,.05);
  --shadow-lg:0 20px 32px -10px rgba(10,37,64,.14),0 6px 12px -3px rgba(10,37,64,.06);

  /* ====== Radios ====== */
  --r-sm:4px;
  --r-md:6px;
  --r-lg:10px;
  --r-xl:14px;

  /* ====== Tipografía ====== */
  --font-display:'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-body:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Helvetica Neue', Arial, sans-serif;
  --font-mono:'JetBrains Mono', 'SF Mono', Consolas, 'Liberation Mono', Menlo, monospace;

  /* ====== Aliases legacy (clases viejas usan --fx-*, --azul, --naranja) ====== */
  --fx-purple:var(--navy);
  --fx-purple-dark:var(--navy-3);
  --fx-purple-darker:var(--navy-3);
  --fx-purple-hover:var(--navy-2);
  --fx-purple-soft:var(--navy-soft);
  --fx-orange:var(--verde);            /* el "naranja" legacy ahora es VERDE */
  --fx-orange-hover:var(--verde-hover);
  --fx-orange-soft:var(--verde-soft);
  --fx-orange-border:var(--verde-border);
  --azul:var(--navy);
  --azul-hover:var(--navy-2);
  --azul-soft:var(--navy-soft);
  --azul-text:var(--navy);
  --azul2:var(--navy);
  --naranja:var(--verde);
  --naranja-hover:var(--verde-hover);
  --naranja-soft:var(--verde-soft);
  --dhl-yellow:#FFCC00;
  --dhl-yellow-soft:#fff9d6;
  --dhl-red:var(--danger);
  --dhl-red-hover:#a13030;
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-body);
  color:var(--tinta);
  background:var(--bg);
  line-height:1.55;
  font-size:15px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:var(--verde);text-decoration:none;font-weight:600}
a:hover{color:var(--verde-hover);text-decoration:underline}
h1,h2,h3,h4{
  font-family:var(--font-display);
  letter-spacing:-0.022em;
  color:var(--tinta);
  font-weight:700;
  line-height:1.15;
}
strong{font-weight:600}
code,kbd,pre,samp,.num,.precio,.guia{font-family:var(--font-mono)}

/* ============================================================
   HEADER — minimalista, navy + verde acento. Sin franjas DHL.
   ============================================================ */
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 32px;
  background:var(--bg);
  border-bottom:1px solid var(--linea);
  position:sticky;top:0;z-index:100;
  backdrop-filter:saturate(180%) blur(8px);
  -webkit-backdrop-filter:saturate(180%) blur(8px);
}
/* Marca: "Vairal" navy + "Expo" verde acento, peso display fuerte */
.marca{
  font-family:var(--font-display);
  font-weight:800;
  font-size:1.45rem;
  color:var(--navy);
  letter-spacing:-0.045em;
  display:inline-flex;align-items:center;
  text-decoration:none;
  line-height:1;
}
.marca:hover{text-decoration:none;color:var(--navy)}
.marca span{
  color:var(--verde);
  font-weight:800;
  margin-left:2px;
  letter-spacing:-0.045em;
}
/* nav links */
.nav nav{display:flex;align-items:center;gap:20px}
.nav nav a{
  color:var(--tinta);
  font-weight:600;font-size:.92rem;
  padding:8px 4px;
  border-bottom:3px solid transparent;
  transition:border-color .15s,color .15s;
  text-decoration:none;
}
.nav nav a:hover{
  color:var(--fx-purple);
  border-bottom-color:var(--fx-orange);
  text-decoration:none;
}
.nav nav .btn{padding:10px 18px;border-bottom:0}

.inline{display:inline}
.link{
  background:none;border:0;color:var(--tinta);
  cursor:pointer;font-size:.92rem;font-weight:600;
  font-family:inherit;padding:8px 4px;
  border-bottom:3px solid transparent;
  transition:border-color .15s,color .15s;
}
.link:hover{color:var(--fx-purple);border-bottom-color:var(--fx-orange)}

/* ============================================================
   BOTONES — CTA naranja FedEx, secundario púrpura outline
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  background:var(--fx-orange);
  color:#fff !important;
  padding:13px 28px;
  border-radius:var(--r-md);
  font-weight:700;
  border:0;cursor:pointer;
  font-size:.95rem;line-height:1.2;
  font-family:inherit;
  text-decoration:none;
  transition:background .12s,box-shadow .12s,transform .05s;
  box-shadow:var(--shadow-xs);
  text-transform:none;
  letter-spacing:.01em;
}
.btn:hover{
  background:var(--fx-orange-hover);
  color:#fff !important;
  text-decoration:none;
  box-shadow:var(--shadow-sm);
}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{outline:0;box-shadow:0 0 0 4px rgba(255,102,0,.30)}

/* CTA secundario en púrpura FedEx (para "Crear cuenta", etc.) */
.btn-cta{background:var(--fx-purple)}
.btn-cta:hover{background:var(--fx-purple-hover)}

.btn-sm{padding:9px 16px;font-size:.85rem}

/* Outline / ghost: borde púrpura */
.btn-ghost{
  background:transparent;
  color:var(--fx-purple) !important;
  border:2px solid var(--fx-purple);
  box-shadow:none;
  padding:11px 26px;       /* compensa borde de 2px */
}
.btn-ghost:hover{
  background:var(--fx-purple);
  color:#fff !important;
  border-color:var(--fx-purple);
}
.btn-ghost.btn-sm{padding:7px 14px}

/* ============================================================
   LAYOUT
   ============================================================ */
main{max-width:1080px;margin:0 auto;padding:32px 24px}
.panel h1{font-size:1.75rem;font-weight:700;color:var(--fx-purple)}
.panel .sub,.form-wrap .sub,.form-wide .sub{
  color:var(--gris);margin:6px 0 24px;font-size:1rem;
}

/* ============================================================
   HERO — Panel púrpura FedEx con CTA naranja
   ============================================================ */
.hero{
  position:relative;
  background:linear-gradient(135deg,var(--fx-purple) 0%,var(--fx-purple-dark) 100%);
  color:#fff;
  text-align:center;
  padding:80px 24px 72px;
  border-radius:var(--r-lg);
  margin:8px 0 48px;
  overflow:hidden;
}
.hero::before{
  /* Triángulo naranja decorativo abajo-derecha (guiño al "Ex" de FedEx) */
  content:'';position:absolute;right:-40px;bottom:-40px;
  width:200px;height:200px;
  background:var(--fx-orange);
  transform:rotate(45deg);
  opacity:.18;
  border-radius:8px;
}
.hero h1{
  color:#fff;
  font-size:2.5rem;line-height:1.1;
  font-weight:800;letter-spacing:-0.03em;
  position:relative;z-index:1;
}
.hero h1 span{color:var(--fx-orange)}
.hero .sub{
  color:rgba(255,255,255,.88);
  max-width:680px;margin:18px auto 0;
  font-size:1.1rem;line-height:1.55;
  position:relative;z-index:1;
}
.cta{
  display:flex;gap:12px;justify-content:center;
  flex-wrap:wrap;margin-top:36px;
  position:relative;z-index:1;
}
/* En el hero invertimos el outline para que se vea sobre púrpura */
.hero .btn-ghost{
  color:#fff !important;
  border-color:#fff;
  background:transparent;
}
.hero .btn-ghost:hover{
  background:#fff;
  color:var(--fx-purple) !important;
  border-color:#fff;
}

/* ============================================================
   CARDS / FEATURES (FedEx: blancas, planas, esquinas cuadradas)
   ============================================================ */
.features{display:grid;gap:18px;margin-top:0}
.card{
  background:#fff;
  border:1px solid var(--linea);
  border-top:4px solid var(--fx-purple);  /* barra púrpura arriba */
  border-radius:var(--r-md);
  padding:26px;
  box-shadow:var(--shadow-xs);
  transition:box-shadow .15s,transform .08s,border-top-color .15s;
}
.card:hover{border-top-color:var(--fx-orange)}
.card h3{
  font-size:1.05rem;font-weight:700;
  margin-bottom:8px;color:var(--fx-purple);
}
.card p{color:var(--tinta-soft);font-size:.94rem;line-height:1.5}
.card.disabled{opacity:.55;border-top-color:var(--linea-strong)}

.card-link{display:block;text-decoration:none;color:inherit}
.card-link:hover{
  border-color:var(--linea-strong);
  border-top-color:var(--fx-orange);
  box-shadow:var(--shadow-md);
  transform:translateY(-2px);
  text-decoration:none;
}

.badge{
  display:inline-block;margin-top:14px;
  font-size:.72rem;
  background:var(--fx-purple);color:#fff;
  padding:4px 10px;border-radius:var(--r-sm);
  font-weight:700;letter-spacing:.06em;text-transform:uppercase;
}
.badge-ok{background:var(--ok);color:#fff}
.badge-warn{background:var(--dhl-yellow);color:var(--tinta)}

/* ============================================================
   "Cómo funciona" — sección landing
   ============================================================ */
.pasos{
  margin-top:64px;text-align:center;
  padding:56px 24px;
  background:var(--bg-soft);
  border:1px solid var(--linea);
  border-radius:var(--r-md);
}
.pasos h2{
  margin-bottom:20px;font-size:1.6rem;font-weight:700;
  color:var(--fx-purple);
}
.pasos ol{
  display:inline-block;text-align:left;
  color:var(--tinta-soft);margin:0 0 32px 24px;font-size:1.02rem;
}
.pasos li{margin:10px 0}

/* ============================================================
   FORMS
   ============================================================ */
.form-wrap{max-width:480px}
.form-wrap h1{margin-bottom:6px;font-size:1.7rem;font-weight:700;color:var(--fx-purple)}

.form{
  display:flex;flex-direction:column;gap:16px;
  background:#fff;border:1px solid var(--linea);
  border-top:4px solid var(--fx-purple);
  border-radius:var(--r-md);padding:30px;
  box-shadow:var(--shadow-xs);
}
.form label{
  display:flex;flex-direction:column;gap:6px;
  font-weight:600;font-size:.88rem;color:var(--tinta);
}
.form input,.form select{
  padding:12px 14px;border:1px solid var(--linea-strong);
  border-radius:var(--r-sm);font-size:.95rem;
  background:#fff;color:var(--tinta);font-family:inherit;
  transition:border-color .15s,box-shadow .15s;
}
.form input:focus,.form select:focus{
  outline:0;border-color:var(--fx-purple);
  box-shadow:0 0 0 3px rgba(77,20,140,.18);
}
.form .opt{
  font-weight:400;color:var(--gris);
  font-size:.82rem;margin-left:4px;
}
.alert{
  background:var(--danger-soft);
  border:1px solid var(--danger-border);
  border-left:4px solid var(--danger);
  color:var(--danger);
  padding:13px 15px;border-radius:var(--r-sm);
  margin-bottom:16px;font-size:.92rem;
}
.alert p+p{margin-top:4px}
.alert-error{
  background:var(--danger-soft);
  border-color:var(--danger-border);
  border-left-color:var(--danger);
  color:var(--danger);
}
.alert-ok{
  background:#e8f6ec;
  border:1px solid #b8dec1;
  border-left:4px solid #1d7d2c;
  color:#0e4d1a;
}
.mini{
  color:var(--gris);font-size:.88rem;
  margin-top:18px;text-align:center;
}
.mini a{color:var(--fx-purple);font-weight:600}

/* ============================================================
   RESULTADO COTIZACIÓN
   ============================================================ */
.resultado{
  margin-top:24px;background:#fff;
  border:1px solid var(--linea);
  border-left:5px solid var(--fx-orange);
  border-radius:var(--r-md);
  padding:30px;box-shadow:var(--shadow-xs);
}
.precio-grande{
  font-size:2.4rem;font-weight:800;
  color:var(--fx-purple);letter-spacing:-0.03em;line-height:1.1;
}
.precio-grande span{
  display:block;font-size:.98rem;font-weight:500;
  color:var(--gris);margin-top:6px;letter-spacing:0;
}
.detalle{color:var(--tinta-soft);margin-top:14px;font-size:.95rem}
.fidelidad{
  margin-top:20px;background:var(--fx-purple-soft);
  border-radius:var(--r-sm);padding:16px 18px;
  border-left:3px solid var(--fx-purple);
}
.fidelidad strong{color:var(--fx-purple)}
.fidelidad p{color:var(--tinta-soft);font-size:.92rem;margin-top:4px}
.nota{
  margin-top:16px;background:var(--dhl-yellow-soft);
  border:1px solid var(--dhl-yellow);
  border-left:4px solid var(--dhl-yellow);
  color:#7a5b00;
  padding:12px 14px;border-radius:var(--r-sm);font-size:.9rem;
}
.nota strong{color:#5a4400}

/* ============================================================
   ESTADO BANNER
   ============================================================ */
.estado-banner{
  margin:0 0 24px;padding:14px 16px;
  border-radius:var(--r-sm);font-size:.95rem;font-weight:600;
  border-left:5px solid currentColor;
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.estado-banner.ok{background:var(--ok-soft);color:var(--ok)}
.estado-banner.warn{background:var(--dhl-yellow-soft);color:#7a5b00;border-left-color:var(--dhl-yellow)}
.estado-banner strong{font-weight:700}
.estado-banner a{margin-left:auto;font-weight:700;color:inherit;text-decoration:underline}

.check{
  flex-direction:row !important;align-items:flex-start;
  gap:10px;font-weight:400 !important;
  font-size:.92rem;color:var(--tinta-soft) !important;
}
.check input{margin-top:3px}

.admin-top{
  display:flex;justify-content:space-between;
  align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:10px;
}
.admin-top h1{font-size:1.5rem;font-weight:700;color:var(--fx-purple)}
.admin-lista{display:flex;flex-direction:column;gap:16px}
.grid{display:grid;gap:18px}

/* ============================================================
   Pie compacto (fallback para vistas no-corporativas)
   ============================================================ */
.pie{
  text-align:center;color:var(--gris);
  padding:36px 24px;font-size:.88rem;
  border-top:1px solid var(--linea);
  margin-top:48px;background:var(--blanco);
}
.pie .mini{margin-top:6px;font-size:.8rem}

/* ============================================================
   CREAR ENVÍO — wide form (wizard)
   ============================================================ */
.form-wide{max-width:960px}
.form-wide h1{margin-bottom:4px;font-size:1.65rem;font-weight:700;color:var(--fx-purple)}

.form-envio{display:flex;flex-direction:column;gap:18px}

.bloque{
  background:#fff;border:1px solid var(--linea);
  border-radius:var(--r-md);padding:26px;
  box-shadow:var(--shadow-xs);
}
.bloque h2{
  font-size:1.1rem;font-weight:700;margin-bottom:16px;
  color:var(--fx-purple);
  padding-bottom:12px;border-bottom:2px solid var(--fx-orange);
  display:inline-block;
}
.bloque.info{background:var(--fx-purple-soft);border-color:#d6c0f0}
.bloque.info h2{color:var(--fx-purple);border-bottom-color:var(--fx-purple)}

.ayuda{color:var(--gris);font-size:.88rem;margin:2px 0 14px}

.parte-grid{display:grid;gap:14px}
.parte-grid label{
  display:flex;flex-direction:column;gap:6px;
  font-weight:600;font-size:.86rem;color:var(--tinta);
}
.parte-grid input,.parte-grid select{
  padding:11px 13px;border:1px solid var(--linea-strong);
  border-radius:var(--r-sm);font-size:.95rem;
  background:#fff;color:var(--tinta);font-family:inherit;
  transition:border-color .15s,box-shadow .15s;
}
.parte-grid input:focus,.parte-grid select:focus{
  outline:0;border-color:var(--fx-purple);
  box-shadow:0 0 0 3px rgba(77,20,140,.18);
}
.parte-grid .check{flex-direction:row;align-items:flex-start;gap:8px;font-weight:400}
.parte-grid .check input{width:auto}

.filas-head{
  display:none;font-size:.72rem;color:var(--gris);
  font-weight:700;padding:0 2px 8px;gap:8px;
  text-transform:uppercase;letter-spacing:.06em;
}
.fila{
  display:grid;gap:8px;
  padding:12px 0;border-top:1px solid var(--linea);
}
.fila:first-child{border-top:0;padding-top:0}
.fila input{
  padding:10px 12px;border:1px solid var(--linea-strong);
  border-radius:var(--r-sm);font-size:.92rem;width:100%;
  font-family:inherit;color:var(--tinta);background:#fff;
  transition:border-color .15s,box-shadow .15s;
}
.fila input:focus{
  outline:0;border-color:var(--fx-purple);
  box-shadow:0 0 0 3px rgba(77,20,140,.18);
}

.btn-add{
  align-self:flex-start;margin-top:14px;
  background:var(--fx-purple-soft);color:var(--fx-purple);
  border:1px solid #d6c0f0;
  padding:10px 18px;border-radius:var(--r-sm);
  font-weight:700;cursor:pointer;font-size:.88rem;
  font-family:inherit;transition:background .15s;
}
.btn-add:hover{background:#e2d2f6}

.btn-del{
  background:transparent;color:var(--danger);
  border:1px solid var(--danger-border);
  border-radius:var(--r-sm);cursor:pointer;
  font-weight:700;padding:6px 10px;font-size:.85rem;
  font-family:inherit;transition:background .15s;
}
.btn-del:hover{background:var(--danger-soft)}

.info-list{margin:0 0 10px 20px;color:var(--tinta-soft);font-size:.92rem}
.info-list li{margin:6px 0}
.info-list strong{color:var(--tinta);font-weight:700}

/* ============================================================
   WIZARD STEPPER (FedEx-style: numerado, fuerte)
   ============================================================ */
.stepper{
  list-style:none;display:flex;flex-wrap:wrap;gap:4px;
  margin:0 0 26px;padding:8px;
  background:#fff;border:1px solid var(--linea);
  border-radius:var(--r-md);box-shadow:var(--shadow-xs);
}
.stepper li{
  display:flex;align-items:center;gap:8px;
  font-size:.82rem;color:var(--gris);
  border-radius:var(--r-sm);padding:9px 13px;
  cursor:pointer;font-weight:600;user-select:none;
  transition:background .15s,color .15s;
}
.stepper li:hover{background:var(--bg-soft)}
.stepper li span{
  display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:50%;
  background:var(--linea);color:var(--gris);
  font-size:.78rem;font-weight:700;
  transition:background .15s,color .15s;
}
.stepper li.on{background:var(--fx-purple-soft);color:var(--fx-purple);font-weight:700}
.stepper li.on span{background:var(--fx-purple);color:#fff}
.stepper li.hecho span{background:var(--ok);color:#fff}
.stepper li.hecho span::after{content:'✓';font-size:.85rem}
.stepper li.hecho span{font-size:0}

.paso-error{
  background:var(--danger-soft);
  border:1px solid var(--danger-border);
  border-left:5px solid var(--danger);
  color:var(--danger);
  padding:12px 14px;border-radius:var(--r-sm);
  font-size:.92rem;margin-top:4px;
}

.wiz-nav{
  display:flex;gap:12px;justify-content:space-between;
  margin-top:8px;
}
.wiz-nav .btn{flex:1;text-align:center}
#btnAtras{flex:0 0 auto}

.resumen-envio h3{
  font-size:.95rem;font-weight:700;
  margin:18px 0 4px;color:var(--fx-purple);
}
.resumen-envio h3:first-child{margin-top:0}
.resumen-envio p{color:var(--tinta-soft);font-size:.92rem}

.filas-tarifa .prox{color:var(--ok);font-weight:700}
.filas-tarifa span:first-child{font-weight:700;color:var(--tinta)}

.fila-link{
  text-decoration:none;color:inherit;
  transition:background .12s,border-color .12s;
  border-radius:var(--r-sm);
}
.fila-link:hover{background:var(--bg-soft);text-decoration:none}

.guia{
  font-family:ui-monospace,"SF Mono","Cascadia Mono",Consolas,monospace;
  background:var(--fx-purple);color:#fff;
  padding:4px 10px;border-radius:var(--r-sm);
  font-weight:700;font-size:.92em;
}

/* ============================================================
   TIMELINE
   ============================================================ */
.timeline{list-style:none;margin:0;padding:0}
.timeline li{
  position:relative;padding:0 0 22px 28px;
  border-left:2px solid var(--linea);
}
.timeline li:last-child{border-left-color:transparent;padding-bottom:0}
.timeline .dot{
  position:absolute;left:-8px;top:4px;
  width:14px;height:14px;border-radius:50%;
  background:#d0d0d0;border:3px solid #fff;
  box-shadow:0 0 0 1px var(--linea-strong);
}
.timeline li.on .dot{
  background:var(--fx-orange);
  box-shadow:0 0 0 1px var(--fx-orange),0 0 0 5px rgba(255,102,0,.20);
}
.timeline li.exc .dot{
  background:var(--dhl-yellow);
  box-shadow:0 0 0 1px #b89500,0 0 0 5px rgba(255,204,0,.25);
}
.timeline li.on strong{color:var(--fx-orange)}
.timeline strong{font-size:.95rem;color:var(--tinta);font-weight:700}
.timeline p{color:var(--gris);font-size:.9rem;margin:2px 0}
.timeline small{color:var(--gris-light);font-size:.8rem}

/* ============================================================
   FILTROS / INLINE
   ============================================================ */
.filtro-bar{
  display:flex;gap:8px;flex-wrap:wrap;align-items:center;
  margin:0 0 18px;padding:14px;
  background:#fff;border:1px solid var(--linea);
  border-top:3px solid var(--fx-purple);
  border-radius:var(--r-sm);box-shadow:var(--shadow-xs);
}
.filtro-bar select,.filtro-bar input{
  padding:9px 11px;border:1px solid var(--linea-strong);
  border-radius:var(--r-sm);font-size:.92rem;
  background:#fff;font-family:inherit;color:var(--tinta);
}
.filtro-bar input{flex:1;min-width:180px}
.filtro-bar input:focus,.filtro-bar select:focus{
  outline:0;border-color:var(--fx-purple);
  box-shadow:0 0 0 3px rgba(77,20,140,.15);
}

.form-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.form-inline select,.form-inline input{
  padding:9px 11px;border:1px solid var(--linea-strong);
  border-radius:var(--r-sm);font-size:.92rem;
  background:#fff;font-family:inherit;color:var(--tinta);
}
.form-inline input{flex:1;min-width:150px}

.admin-top span{display:flex;gap:10px;align-items:center;color:var(--gris);font-size:.92rem}

/* ============================================================
   PIE CORPORATIVO — navy oscuro + acento verde fino arriba
   ============================================================ */
.pie-corp{
  background:var(--navy);
  color:#b6c4d5;
  padding:0;margin-top:0;
  font-size:.92rem;text-align:left;
  border-top:1px solid rgba(0,168,107,.30);
  position:relative;
}
.pie-corp::before{
  content:"";
  position:absolute;top:0;left:0;
  width:88px;height:3px;
  background:var(--verde);
}
.pie-corp a{
  color:#b6c4d5;display:block;padding:6px 0;
  text-decoration:none;font-weight:500;
  font-size:.92rem;
  transition:color .15s;
}
.pie-corp a:hover{color:#fff;text-decoration:none}
.pie-corp h4{
  color:#fff;font-size:.74rem;font-weight:700;
  margin-bottom:14px;text-transform:uppercase;
  letter-spacing:.14em;
  font-family:var(--font-mono);
}
.pie-corp p{color:#8696ad;font-size:.92rem;line-height:1.65;margin-top:12px;max-width:340px}
.pie-marca{
  font-family:var(--font-display);
  font-size:1.5rem;color:#fff;font-weight:800;
  letter-spacing:-0.042em;
  display:inline-flex;align-items:baseline;
  line-height:1;
}
.pie-marca span{
  color:var(--verde);font-weight:800;
  margin-left:2px;letter-spacing:-0.042em;
}

.pie-grid{
  display:grid;gap:40px;grid-template-columns:1fr;
  max-width:1180px;margin:0 auto;
  padding:64px 24px 36px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.pie-col{display:flex;flex-direction:column;gap:0}
.pie-bottom{
  display:flex;justify-content:space-between;
  align-items:center;gap:14px;
  max-width:1180px;margin:0 auto;
  padding:22px 24px;
  color:#8696ad;font-size:.82rem;flex-wrap:wrap;
}
.pie-fine{
  font-size:.78rem;
  flex:1;min-width:240px;
  color:#7b8aa1;
}
.pie-made{
  font-family:var(--font-mono);
  font-size:.74rem;font-weight:500;
  letter-spacing:.06em;
  color:#8696ad;
  border:1px solid rgba(255,255,255,.08);
  padding:5px 11px;border-radius:999px;
  white-space:nowrap;
}

/* ============================================================
   ESCRITORIO
   ============================================================ */
@media (min-width:760px){
  .nav{padding:18px 36px}
  main{padding:40px 32px}
  .hero{padding:104px 24px 96px;margin:8px 0 56px}
  .hero h1{font-size:3.2rem}
  .hero .sub{font-size:1.18rem}
  .features{grid-template-columns:repeat(3,1fr);gap:20px}
  .grid{grid-template-columns:repeat(2,1fr)}
  .parte-grid{grid-template-columns:1fr 1fr}
  .parte-grid .lg,.parte-grid .check{grid-column:1 / -1}
  .filas-head{display:grid}
  .filas-caja{grid-template-columns:1fr 1fr 1fr 1fr 1fr 44px}
  .filas-item{grid-template-columns:1.6fr 1fr 1fr .7fr 1fr 1fr 1fr 44px}
  .filas-envio{grid-template-columns:.5fr 1.4fr 1.4fr .8fr 1fr 1fr 1fr}
  .filas-tarifa{grid-template-columns:1.4fr 1fr 1fr 1.2fr}
  .filas-aenvio{grid-template-columns:.5fr 1.2fr 1.2fr 1.2fr .7fr 1fr 1fr .8fr}
  .filas-aviso{grid-template-columns:2.4fr .6fr .8fr 1fr}
  .fila{align-items:center}
  .pie-grid{grid-template-columns:2.2fr 1fr 1fr;gap:64px;padding:64px 36px 36px}
  .pie-bottom{padding:22px 36px}
}

/* ============================================================
   LANDING — Hero + widget de 3 tabs (estilo logístico)
   ============================================================ */
.landing{max-width:none;padding:0}

.hero-fx{
  position:relative;
  background:
    radial-gradient(ellipse at 78% 18%,rgba(0,168,107,.22) 0%,transparent 58%),
    radial-gradient(ellipse at 12% 88%,rgba(196,92,48,.14) 0%,transparent 55%),
    linear-gradient(160deg,var(--navy) 0%,var(--navy-3) 100%);
  color:#fff;
  padding:72px 24px 96px;
  text-align:left;
  overflow:hidden;
}
.hero-fx::after{
  /* franja sutil tipo "ruta" — terracota cálido sobre navy */
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(90deg,transparent 0%,rgba(255,255,255,.04) 50%,transparent 100%),
    linear-gradient(90deg,transparent 0%,rgba(196,92,48,.07) 50%,transparent 100%);
  background-size:100% 1px,100% 1px;
  background-position:0 38%,0 72%;
  background-repeat:no-repeat;
}
.hero-fx::before{
  /* punto verde con halo arriba a la derecha — guiño "verde pampeano" */
  content:'';position:absolute;
  right:-120px;top:-120px;width:380px;height:380px;
  background:radial-gradient(circle,rgba(0,168,107,.18) 0%,transparent 70%);
  pointer-events:none;
  filter:blur(8px);
}
.hero-fx-inner{
  position:relative;z-index:2;
  max-width:1080px;margin:0 auto;
}
.hero-eyebrow{
  display:inline-block;
  font-size:.74rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.62);
  padding:7px 14px;margin-bottom:24px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.04);
}
.hero-fx h1{
  color:#fff;
  font-family:var(--font-display);
  font-size:2.2rem;line-height:1.05;
  font-weight:800;letter-spacing:-0.038em;
  margin-bottom:20px;
}
.hero-fx h1 br{display:inline}
.hero-fx-sub{
  color:rgba(255,255,255,.82);
  max-width:560px;margin:0 0 40px;
  font-size:1.02rem;line-height:1.6;
  font-weight:400;
}

/* ============ Widget de acciones ============ */
.action-widget{
  max-width:780px;margin:0 auto;
  background:transparent;
}
.action-tabs{
  display:flex;gap:2px;
  background:transparent;
}
.action-tab{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;padding:18px 8px 16px;
  background:#fff;color:var(--fx-purple);
  border:0;cursor:pointer;
  font-family:inherit;font-size:.72rem;font-weight:700;
  letter-spacing:.10em;
  transition:background .15s,color .15s;
  border-bottom:4px solid transparent;
}
.action-tab svg{color:var(--fx-purple);transition:color .15s,transform .15s}
.action-tab span{display:block;line-height:1.1}
.action-tab:hover{background:#fafafa}
.action-tab.on{
  background:var(--fx-purple);color:#fff;
  border-bottom-color:var(--fx-orange);
}
.action-tab.on svg{color:#fff;transform:scale(1.05)}

.action-body{
  display:flex;background:#fff;
  padding:18px;gap:10px;
  box-shadow:var(--shadow-md);
}
.action-panel{
  display:flex;flex:1;gap:10px;flex-wrap:wrap;align-items:stretch;
  margin:0;
}
.action-panel[hidden]{display:none}
.action-input{
  flex:1;min-width:0;
  padding:16px 18px;
  border:1px solid var(--linea-strong);
  border-radius:var(--r-sm);
  font-size:.92rem;font-weight:600;
  font-family:inherit;color:var(--tinta);
  background:#fff;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.action-input::placeholder{color:var(--gris);font-weight:600;letter-spacing:.04em}
.action-input:focus{
  outline:0;border-color:var(--fx-purple);
  box-shadow:0 0 0 3px rgba(77,20,140,.18);
}
.action-input-wide{flex:2}

.action-cta{
  padding:16px 28px;font-size:.85rem;
  letter-spacing:.10em;font-weight:800;
  text-transform:uppercase;
  border-radius:var(--r-sm);
  flex:0 0 auto;
}
.action-panel-ship{align-items:center;text-align:left}
.ship-blurb{
  flex:1;color:var(--tinta-soft);
  font-size:.95rem;margin:0;font-weight:500;
  padding:8px 4px;
}

/* ============================================================
   FRANJA INFORMATIVA (estilo "cyber security awareness")
   ============================================================ */
.info-strip{
  background:var(--bg-soft);
  padding:36px 24px;
  display:flex;gap:20px;align-items:center;
  max-width:1080px;margin:0 auto;
  border-bottom:1px solid var(--linea);
}
.info-strip-art{
  flex:0 0 auto;
  width:88px;height:88px;
  display:flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid var(--linea);
  border-radius:var(--r-md);
}
.info-strip-body{flex:1}
.info-strip-body h3{
  font-size:1.15rem;color:var(--tinta);
  font-weight:700;margin-bottom:6px;
}
.info-strip-body p{
  color:var(--tinta-soft);font-size:.95rem;
  line-height:1.55;margin-bottom:8px;
}
.info-strip-link{
  display:inline-block;color:var(--fx-purple);
  font-size:.82rem;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;
  border-bottom:2px solid var(--fx-orange);
  padding-bottom:2px;text-decoration:none;
}
.info-strip-link:hover{color:var(--fx-purple-hover);text-decoration:none}

/* ============================================================
   GESTIONÁ TUS ENVÍOS — grid de íconos (5 tiles)
   ============================================================ */
.manage-section{
  max-width:1080px;margin:0 auto;
  padding:56px 24px 32px;text-align:center;
}
.manage-section h2{
  font-size:1.6rem;color:var(--tinta);
  font-weight:700;margin-bottom:32px;
}
.manage-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.manage-tile{
  display:flex;flex-direction:column;align-items:center;
  gap:12px;padding:22px 12px;
  background:#fff;border:1px solid var(--linea);
  border-radius:var(--r-md);
  text-decoration:none;color:var(--tinta);
  transition:transform .12s,box-shadow .15s,border-color .15s;
}
.manage-tile:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-md);
  border-color:var(--fx-orange);
  text-decoration:none;
}
.manage-icon{display:flex;align-items:center;justify-content:center}
.manage-label{
  font-size:.78rem;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--fx-purple);text-align:center;
}

/* ============================================================
   TOPIC CARDS — alternadas imagen/texto
   ============================================================ */
.topic-card{
  max-width:1080px;margin:0 auto;
  padding:28px 24px;
  display:grid;grid-template-columns:1fr;gap:0;
  background:#fff;
  border-top:1px solid var(--linea);
}
.topic-img{
  width:100%;aspect-ratio:200 / 130;
  overflow:hidden;border-radius:var(--r-sm);
  background:var(--bg-alt);
}
.topic-img svg{display:block;width:100%;height:100%}
.topic-body{padding:20px 4px 0}
.topic-body h3{
  font-size:1.2rem;color:var(--fx-purple);
  font-weight:700;margin-bottom:10px;
}
.topic-body p{
  color:var(--tinta-soft);font-size:.95rem;
  line-height:1.6;margin-bottom:14px;
}
.topic-body strong{color:var(--tinta);font-weight:700}
.topic-link{
  display:inline-block;color:var(--fx-purple);
  font-size:.82rem;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;
  border-bottom:2px solid var(--fx-orange);
  padding-bottom:2px;text-decoration:none;
}
.topic-link:hover{color:var(--fx-purple-hover);text-decoration:none}

/* ============================================================
   ESCRITORIO — landing
   ============================================================ */
@media (min-width:760px){
  .hero-fx{padding:96px 32px 124px}
  .hero-fx h1{font-size:3.4rem;letter-spacing:-0.042em}
  .hero-fx-sub{font-size:1.16rem;line-height:1.6}
  .hero-eyebrow{margin-bottom:28px}

  .action-tab{padding:22px 10px;font-size:.78rem;gap:6px}
  .action-tab svg{width:42px;height:42px}
  .action-body{padding:22px;gap:14px}
  .action-input{padding:18px 22px;font-size:.95rem}
  .action-cta{padding:18px 36px;font-size:.92rem}

  .info-strip{padding:48px 32px;gap:32px}
  .info-strip-art{width:120px;height:120px}
  .info-strip-body h3{font-size:1.35rem}
  .info-strip-body p{font-size:1rem}

  .manage-section{padding:72px 32px 40px}
  .manage-section h2{font-size:1.9rem;margin-bottom:40px}
  .manage-grid{grid-template-columns:repeat(5,1fr);gap:20px}
  .manage-tile{padding:30px 14px}

  .topic-card{
    grid-template-columns:1fr 1fr;
    gap:48px;padding:48px 32px;
    align-items:center;
  }
  .topic-card.reverse .topic-img{order:2}
  .topic-card.reverse .topic-body{order:1}
  .topic-body{padding:0}
  .topic-body h3{font-size:1.5rem}
}

/* ============================================================
   LANDING — secciones corporativas (stats / pilares / niveles /
   destinos). Estas clases las usa landing.ejs y faltaba el CSS.
   Mobile-first; el media query 769px+ está al final.
   ============================================================ */

/* ---------- OPS STATUS BAR (franja sutil "sistema operativo") ---------- */
.ops-status{
  background:var(--verde-soft);
  border-bottom:1px solid var(--verde-border);
}
.ops-status-inner{
  max-width:1180px;margin:0 auto;
  display:flex;align-items:center;gap:14px;
  padding:14px 24px;
  font-size:.88rem;color:var(--tinta);
  flex-wrap:wrap;
}
.ops-dot{
  width:9px;height:9px;border-radius:50%;
  background:var(--verde);
  flex-shrink:0;
  box-shadow:0 0 0 4px rgba(0,168,107,.18);
  animation:ops-pulse 2.4s infinite ease-in-out;
}
@keyframes ops-pulse{
  0%,100%{box-shadow:0 0 0 4px rgba(0,168,107,.18)}
  50%{box-shadow:0 0 0 7px rgba(0,168,107,.06)}
}
.ops-text{flex:1;min-width:0;line-height:1.45}
.ops-text strong{color:var(--navy);font-weight:700}
.ops-link{
  font-family:var(--font-mono);
  font-size:.78rem;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--navy);
  border-bottom:2px solid var(--verde);
  padding-bottom:1px;
  white-space:nowrap;
}
.ops-link:hover{color:var(--verde);text-decoration:none}

/* ---------- CTA STRIP (banda final "¿Listo para exportar?") ---------- */
.cta-strip{
  background:linear-gradient(160deg,var(--navy) 0%,var(--navy-3) 100%);
  position:relative;overflow:hidden;
  padding:60px 16px;
  color:#fff;
}
.cta-strip::before{
  content:"";position:absolute;
  right:-100px;bottom:-100px;width:340px;height:340px;
  background:radial-gradient(circle,rgba(0,168,107,.22) 0%,transparent 70%);
  filter:blur(8px);pointer-events:none;
}
.cta-strip-inner{
  max-width:1180px;margin:0 auto;
  display:flex;flex-direction:column;gap:24px;
  align-items:flex-start;position:relative;z-index:1;
}
.cta-strip-text h2{
  color:#fff;font-family:var(--font-display);
  font-size:1.8rem;font-weight:800;
  letter-spacing:-.032em;margin:0 0 10px;
}
.cta-strip-text p{
  color:rgba(255,255,255,.78);
  font-size:1rem;line-height:1.55;
  max-width:540px;margin:0;
}
.cta-strip .btn{
  background:var(--verde);
  font-weight:700;
}
.cta-strip .btn:hover{background:var(--verde-hover)}

@media (min-width:769px){
  .cta-strip{padding:80px 32px}
  .cta-strip-inner{
    flex-direction:row;justify-content:space-between;align-items:center;
    gap:48px;
  }
  .cta-strip-text h2{font-size:2.2rem}
}

/* ---------- STATS BAR (debajo del hero) — sobrio, JetBrains Mono ---------- */
.stats-bar{
  background:var(--blanco);
  border-top:1px solid var(--linea);
  border-bottom:1px solid var(--linea);
  padding:36px 16px;
}
.stats-inner{
  max-width:1180px;margin:0 auto;
  display:grid;grid-template-columns:1fr;gap:28px;
}
.stat{
  text-align:left;
  display:flex;flex-direction:column;align-items:flex-start;gap:8px;
  padding-left:18px;
  border-left:2px solid var(--verde);
}
.stat-num{
  font-family:var(--font-mono);
  font-size:1.75rem;font-weight:500;color:var(--navy);
  line-height:1;letter-spacing:-.01em;
}
.stat-unit{
  font-size:.92rem;font-weight:500;color:var(--gris);
  margin-left:4px;
  font-family:var(--font-body);
}
.stat-label{
  font-size:.86rem;color:var(--tinta-soft);max-width:260px;
  line-height:1.45;
}

/* ---------- SECTION (wrapper común) ---------- */
.section{
  padding:64px 16px;
}
.section-light{
  background:var(--bg-soft);
}
.section-inner{
  max-width:1180px;margin:0 auto;
}
.section-eyebrow{
  font-family:var(--font-mono);
  text-transform:uppercase;letter-spacing:.14em;
  font-size:.74rem;font-weight:500;color:var(--verde);
  margin:0 0 14px;
  display:inline-flex;align-items:center;gap:8px;
}
.section-eyebrow::before{
  content:"";
  width:18px;height:2px;background:var(--verde);
  display:inline-block;
}
.section-title{
  font-family:var(--font-display);
  font-size:2rem;font-weight:800;color:var(--tinta);
  margin:0 0 14px;line-height:1.1;letter-spacing:-.032em;
}
.section-sub{
  font-size:1.02rem;color:var(--tinta-soft);
  max-width:680px;margin:0 0 36px;line-height:1.6;
}

/* ---------- PILLARS (3 cards "por qué") — asimetría intencional ---------- */
.pillars-grid{
  display:grid;grid-template-columns:1fr;gap:18px;
}
.pillar{
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:var(--r-lg);
  padding:28px 26px 26px;
  position:relative;
  box-shadow:var(--shadow-xs);
  transition:box-shadow .2s, transform .2s, border-color .2s;
}
.pillar:hover{
  box-shadow:var(--shadow-md);
  transform:translateY(-2px);
  border-color:var(--verde-border);
}
.pillar-num{
  font-family:var(--font-mono);
  font-size:.86rem;font-weight:500;color:var(--verde);
  letter-spacing:.06em;margin-bottom:14px;
  display:inline-block;
}
.pillar h3{
  font-family:var(--font-display);
  font-size:1.22rem;color:var(--tinta);
  margin:0 0 12px;font-weight:700;letter-spacing:-.018em;
}
.pillar p{
  font-size:.96rem;color:var(--tinta-soft);
  margin:0 0 18px;line-height:1.58;
}
.pillar-list{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:8px;
}
.pillar-list li{
  font-size:.92rem;color:var(--tinta);
  padding-left:26px;position:relative;
  line-height:1.45;
}
.pillar-list li::before{
  content:"";
  position:absolute;left:0;top:7px;
  width:14px;height:9px;
  border-left:2.5px solid var(--verde);
  border-bottom:2.5px solid var(--verde);
  transform:rotate(-45deg);
}

/* ---------- TABLA DE NIVELES (corporativa) ---------- */
.table-wrap{
  overflow-x:auto;
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:10px;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.tabla-corp{
  width:100%;border-collapse:collapse;
  font-size:.95rem;
}
.tabla-corp thead th{
  background:var(--fx-purple);color:var(--blanco);
  text-align:left;padding:14px 16px;
  font-weight:600;font-size:.85rem;
  text-transform:uppercase;letter-spacing:.6px;
}
.tabla-corp tbody td{
  padding:14px 16px;
  border-bottom:1px solid var(--linea);
  color:var(--tinta);
  vertical-align:middle;
}
.tabla-corp tbody tr:last-child td{border-bottom:0}
.tabla-corp tbody tr:hover{background:var(--bg-soft)}
.tabla-corp .num{
  font-weight:700;color:var(--fx-purple);font-size:1.08rem;
}
.tabla-corp .num-unit{
  font-weight:600;color:var(--gris);font-size:.85rem;
}
.tabla-corp .row-best{background:var(--fx-orange-soft)}
.tabla-corp .row-best td{font-weight:600}
.tabla-corp .row-best .num{color:var(--fx-orange)}

.lvl-badge{
  display:inline-block;
  width:28px;height:28px;line-height:28px;
  border-radius:50%;text-align:center;
  font-size:.72rem;font-weight:800;color:var(--blanco);
  margin-right:10px;vertical-align:middle;
}
.lvl-badge.lvl-1{background:var(--gris-light)}
.lvl-badge.lvl-2{background:#7c5db8}
.lvl-badge.lvl-3{background:var(--fx-purple)}
.lvl-badge.lvl-4{background:var(--fx-orange)}

.tabla-foot{
  margin-top:14px;font-size:.88rem;color:var(--tinta-soft);
  line-height:1.5;
  display:flex;gap:10px;align-items:flex-start;
}
.badge-info{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;
  background:var(--fx-purple);color:var(--blanco);
  font-size:.78rem;font-weight:700;font-family:Georgia,serif;
  flex-shrink:0;
}

/* ---------- ZONAS / CONTINENTES (grid 4 cards) ---------- */
.zonas-grid{
  display:grid;grid-template-columns:1fr;gap:18px;
}
.zona-card{
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:10px;
  padding:24px 22px;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
  transition:box-shadow .2s, transform .2s;
  display:flex;flex-direction:column;
}
.zona-card:hover{
  box-shadow:0 6px 18px rgba(0,0,0,.07);
  transform:translateY(-2px);
}
.zona-card-main{
  border-color:var(--fx-orange);
  border-width:2px;
  background:linear-gradient(180deg, var(--fx-orange-soft) 0%, var(--blanco) 50%);
}
.zona-header{
  display:flex;align-items:center;gap:14px;margin-bottom:12px;
}
.zona-letter{
  display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:50%;
  background:var(--fx-purple);color:var(--blanco);
  font-size:1.4rem;font-weight:800;
  flex-shrink:0;
}
.zona-card-main .zona-letter{background:var(--fx-orange)}
.zona-header h4{
  font-size:1.2rem;color:var(--fx-purple);
  margin:0;font-weight:700;line-height:1.1;
}
.zona-sub{
  font-size:.82rem;color:var(--gris);
  display:block;margin-top:2px;
}
.zona-desc{
  font-size:.92rem;color:var(--tinta-soft);
  margin:0 0 14px;line-height:1.5;
}
.paises-chips{
  list-style:none;padding:0;margin:auto 0 0;
  display:flex;flex-wrap:wrap;gap:6px;
}
.paises-chips li{
  font-size:.82rem;color:var(--tinta);
  background:var(--bg-soft);
  border:1px solid var(--linea);
  padding:4px 10px;border-radius:999px;
  white-space:nowrap;
}
.paises-chips li.chip-destacado{
  background:var(--fx-orange);color:var(--blanco);
  border-color:var(--fx-orange);font-weight:700;
}
.paises-chips li.chip-otros{
  background:var(--fx-purple-soft);
  border-color:var(--fx-purple);
  color:var(--fx-purple);font-style:italic;
}
.dest-details{
  margin-top:14px;font-size:.88rem;color:var(--tinta-soft);
}
.dest-details summary{
  cursor:pointer;color:var(--fx-purple);font-weight:600;
  padding:6px 0;
}
.dest-details summary:hover{color:var(--fx-purple-hover)}
.dest-details p{
  margin:8px 0 0;padding:10px 14px;
  background:var(--bg-soft);border-left:3px solid var(--linea);
  border-radius:4px;line-height:1.5;
}

/* ============================================================
   LAYOUT APP — TOPBAR + SIDEBAR FIJA + MAIN (estilo app bank)
   ============================================================ */
.app-body{
  background:var(--bg);
  min-height:100vh;
}
/* Top bar — angosto, navy oscuro con marca y acciones */
.app-topbar{
  position:sticky;top:0;left:0;right:0;z-index:80;
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 18px;
  background:var(--blanco);
  border-bottom:1px solid var(--linea);
  height:60px;
  backdrop-filter:saturate(180%) blur(8px);
}
.app-topbar-l, .app-topbar-r{display:flex;align-items:center;gap:14px}
.app-burger{
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;
  background:transparent;border:0;color:var(--navy);
  border-radius:var(--r-md);cursor:pointer;
  transition:background .15s;
}
.app-burger:hover{background:var(--bg-soft)}
.app-marca{
  font-size:1.3rem;font-weight:800;
  color:var(--navy);
  letter-spacing:-.042em;
  font-family:var(--font-display);
  display:inline-flex;align-items:baseline;
  text-decoration:none;line-height:1;
}
.app-marca span{color:var(--verde);font-weight:800;margin-left:2px}
.app-empresa{
  display:none;align-items:center;gap:10px;
  padding-right:14px;border-right:1px solid var(--linea);
}
.app-empresa-lbl{
  font-family:var(--font-mono);
  font-size:.66rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--gris);
}
.app-empresa strong{
  font-family:var(--font-display);
  font-size:.92rem;font-weight:700;
  color:var(--navy);
  letter-spacing:-.012em;
}
.app-icon-btn{
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;
  border-radius:var(--r-md);
  background:transparent;border:0;color:var(--navy);
  cursor:pointer;text-decoration:none;
  transition:background .15s,color .15s;
}
.app-icon-btn:hover{
  background:var(--bg-soft);
  color:var(--verde);
  text-decoration:none;
}

/* Sidebar — fija en desktop, drawer en mobile */
.app-sidebar{
  position:fixed;
  top:60px;left:0;bottom:0;
  width:260px;
  background:var(--blanco);
  border-right:1px solid var(--linea);
  padding:24px 16px;
  overflow-y:auto;
  z-index:70;
  transform:translateX(-100%);
  transition:transform .25s ease;
  display:flex;flex-direction:column;gap:18px;
}
.app-sidebar.open{transform:translateX(0)}
.app-sidebar-overlay{
  position:fixed;inset:0;top:60px;
  background:rgba(10,37,64,.42);
  z-index:60;
  opacity:0;pointer-events:none;
  transition:opacity .25s ease;
}
body.sidebar-open .app-sidebar-overlay{opacity:1;pointer-events:auto}

.app-sidebar-section{display:flex;flex-direction:column;gap:6px}
.app-side-eyebrow{
  font-family:var(--font-mono);
  font-size:.66rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--gris);
  margin:0 0 4px;padding:0 12px;
}
.app-sidenav{display:flex;flex-direction:column;gap:2px}
.app-sidelink{
  display:flex;align-items:center;gap:12px;
  padding:10px 12px;
  border-radius:var(--r-md);
  font-family:var(--font-display);
  font-size:.94rem;font-weight:600;
  color:var(--tinta);
  text-decoration:none;
  transition:background .15s,color .15s;
  position:relative;
}
.app-sidelink svg{flex-shrink:0;color:var(--gris);transition:color .15s}
.app-sidelink:hover{
  background:var(--bg-soft);
  color:var(--navy);
  text-decoration:none;
}
.app-sidelink:hover svg{color:var(--verde)}
.app-sidelink.on{
  background:var(--verde-soft);
  color:var(--navy);
  font-weight:700;
}
.app-sidelink.on svg{color:var(--verde)}
.app-sidelink.on::before{
  content:"";
  position:absolute;left:0;top:8px;bottom:8px;
  width:3px;border-radius:0 3px 3px 0;
  background:var(--verde);
}
.app-side-foot{
  margin-top:auto;padding:12px;
  border-top:1px solid var(--linea);
}
.app-side-fine{
  font-size:.74rem;color:var(--gris-light);
  margin:0 0 2px;
}

/* Main: en desktop hace lugar al sidebar; en mobile ocupa todo */
.app-body main{
  padding:0;
  transition:padding .2s;
}

@media (min-width:980px){
  .app-topbar{padding:12px 28px}
  .app-burger{display:none}
  .app-empresa{display:flex}
  .app-sidebar{transform:none;box-shadow:none}
  .app-sidebar-overlay{display:none}
  .app-body main{padding-left:260px}
}

/* ============================================================
   TARIFARIO — grilla USD destacado con toggle USD/ARS
   ============================================================ */
.tar-page{max-width:1180px;margin:0 auto;padding:36px 20px 80px}
.tar-head{margin-bottom:24px;max-width:780px}
.tar-eyebrow{
  font-family:var(--font-mono);
  font-size:.74rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--verde);
  margin:0 0 10px;
  display:inline-flex;align-items:center;gap:8px;
}
.tar-eyebrow::before{content:"";width:18px;height:2px;background:var(--verde)}
.tar-title{
  font-family:var(--font-display);
  font-size:1.85rem;font-weight:800;color:var(--tinta);
  letter-spacing:-.032em;margin:0 0 10px;line-height:1.15;
}
.tar-sub{color:var(--tinta-soft);font-size:1rem;line-height:1.55;margin:0;max-width:640px}

/* Card nivel actual */
.tar-nivel-card{
  display:flex;flex-direction:column;gap:18px;
  background:linear-gradient(160deg,var(--navy) 0%,var(--navy-3) 100%);
  color:#fff;
  border-radius:var(--r-xl);
  padding:24px 26px;margin-bottom:24px;
  position:relative;overflow:hidden;
}
.tar-nivel-card::before{
  content:"";position:absolute;
  right:-80px;top:-80px;width:240px;height:240px;
  background:radial-gradient(circle,rgba(0,168,107,.22) 0%,transparent 70%);
  pointer-events:none;filter:blur(2px);
}
.tar-nivel-l{position:relative;z-index:1}
.tar-nivel-eyebrow{
  font-family:var(--font-mono);
  font-size:.72rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.13em;
  color:rgba(255,255,255,.62);margin:0 0 6px;
}
.tar-nivel-name{
  font-family:var(--font-display);
  font-size:1.6rem;font-weight:800;color:#fff;
  letter-spacing:-.024em;margin:0 0 8px;line-height:1;
}
.tar-nivel-meta{color:rgba(255,255,255,.82);font-size:.94rem;line-height:1.55;margin:0;max-width:520px}
.tar-nivel-meta strong{color:var(--verde);font-weight:700}

/* Toggle USD/ARS */
.tar-toggle{
  position:relative;z-index:1;
  display:inline-flex;gap:0;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;padding:4px;
  align-self:flex-start;
}
.tar-toggle-btn{
  background:transparent;border:0;
  padding:8px 18px;
  font-family:var(--font-mono);
  font-size:.78rem;font-weight:500;
  letter-spacing:.06em;
  color:rgba(255,255,255,.7);
  cursor:pointer;border-radius:999px;
  transition:background .15s,color .15s;
}
.tar-toggle-btn:hover{color:#fff}
.tar-toggle-btn.on{
  background:var(--verde);color:#fff;font-weight:700;
}

/* Sección título */
.tar-sec-eyebrow{
  font-family:var(--font-mono);
  font-size:.74rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.13em;
  color:var(--gris);
  margin:0 0 12px;
  display:inline-flex;align-items:center;gap:8px;
}
.tar-sec-eyebrow::before{
  content:"";width:14px;height:2px;background:var(--linea-strong);
}
.tar-sec-eyebrow-prox::before{background:var(--terracota)}
.tar-tabla-wrap{margin-bottom:24px}

/* Tabla */
.tar-tabla{
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--shadow-xs);
}
.tar-tabla-head, .tar-row{
  display:grid;
  grid-template-columns:1.2fr repeat(4, 1fr);
  align-items:stretch;
  gap:0;
}
.tar-tabla-head{
  background:var(--navy);color:#fff;
  padding:14px 18px;
}
.tar-tabla-head .tar-col-peso{
  font-family:var(--font-mono);
  font-size:.72rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.12em;
  color:rgba(255,255,255,.78);
  display:flex;align-items:center;
}
.tar-col-zona{
  display:flex;flex-direction:column;gap:2px;
  padding:0 8px;
}
.tar-tabla-head .tar-col-zona{
  font-family:var(--font-mono);
  font-size:.74rem;font-weight:500;
}
.tar-zona-letra{
  font-family:var(--font-mono);
  color:rgba(255,255,255,.5);font-size:.66rem;font-weight:500;
  letter-spacing:.12em;
}
.tar-zona-nombre{
  color:#fff;font-weight:600;font-size:.78rem;
  text-transform:uppercase;letter-spacing:.06em;
}
.tar-tabla-head .tar-col-zona.is-main .tar-zona-letra{color:var(--verde)}
.tar-tabla-head .tar-col-zona.is-main .tar-zona-nombre{color:var(--verde)}

.tar-row{
  padding:14px 18px;
  border-top:1px solid var(--linea);
  transition:background .15s;
}
.tar-row:hover{background:var(--bg-soft)}
.tar-row .tar-col-peso{
  font-family:var(--font-display);
  font-weight:600;color:var(--navy);
  font-size:.95rem;letter-spacing:-.008em;
  display:flex;align-items:center;
}
.tar-row .tar-col-zona{
  padding:0 8px;
}
.tar-precio-usd{
  font-family:var(--font-mono);
  font-size:1.02rem;font-weight:500;
  color:var(--navy);letter-spacing:-.005em;
  line-height:1.2;
}
.tar-precio-ars{
  font-family:var(--font-mono);
  font-size:.78rem;font-weight:500;color:var(--gris);
  letter-spacing:.01em;line-height:1.3;
  display:none;
}
.tar-row .tar-col-zona.is-main .tar-precio-usd{color:var(--verde);font-weight:700}

/* Toggle: cuando data-mode="usd+ars" mostramos el ARS */
.tar-tabla[data-mode="usd+ars"] .tar-precio-ars{display:block}

/* Row próximo nivel — más tenue */
.tar-row-prox{background:var(--bg-soft)}
.tar-row-prox .tar-precio-usd, .tar-precio-prox{
  color:var(--terracota);
}

/* Notas */
.tar-notas{
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:var(--r-lg);
  padding:22px 26px;
  margin:24px 0 0;
}
.tar-notas-list{
  display:grid;grid-template-columns:1fr;gap:14px;
  margin:0;
}
.tar-notas-list > div{
  display:flex;flex-direction:column;gap:4px;
  padding-left:16px;
  border-left:2px solid var(--verde);
}
.tar-notas dt{
  font-family:var(--font-mono);
  font-size:.7rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--gris);
}
.tar-notas dd{margin:0;font-size:.94rem;color:var(--tinta);line-height:1.5}
.tar-notas dd strong{color:var(--navy)}
.tar-prueba{
  margin:14px 0 0;font-size:.86rem;color:var(--terracota);font-style:italic;
}

.tar-cta{
  display:flex;flex-wrap:wrap;gap:12px;
  margin-top:24px;
}

@media (min-width:760px){
  .tar-page{padding:48px 28px 96px}
  .tar-title{font-size:2.1rem}
  .tar-nivel-card{
    flex-direction:row;align-items:center;justify-content:space-between;
    padding:30px 32px;
  }
  .tar-notas-list{grid-template-columns:repeat(3, 1fr)}
}

/* ============================================================
   CENTRO LOGÍSTICO (/deposito) — cards + flujo numerado
   ============================================================ */
.cl-page{max-width:1080px;margin:0 auto;padding:36px 20px 80px}
.cl-head{margin-bottom:28px;max-width:780px}
.cl-eyebrow{
  font-family:var(--font-mono);
  font-size:.74rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--verde);margin:0 0 10px;
  display:inline-flex;align-items:center;gap:8px;
}
.cl-eyebrow::before{content:"";width:18px;height:2px;background:var(--verde)}
.cl-title{
  font-family:var(--font-display);
  font-size:1.85rem;font-weight:800;color:var(--tinta);
  letter-spacing:-.032em;margin:0 0 10px;line-height:1.15;
}
.cl-sub{color:var(--tinta-soft);font-size:1rem;line-height:1.55;margin:0;max-width:600px}

.cl-aviso-warn{
  display:flex;gap:14px;align-items:flex-start;
  background:var(--terracota-soft);
  border:1px solid var(--terracota-border);
  border-radius:var(--r-lg);
  padding:18px 22px;margin-bottom:24px;
  color:var(--tinta);font-size:.95rem;line-height:1.55;
}
.cl-aviso-ico{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:30px;height:30px}
.cl-aviso-warn strong{color:var(--navy);font-weight:700;display:block;margin-bottom:2px}

/* Grid principal: dirección + horario + contacto */
.cl-grid{
  display:grid;grid-template-columns:1fr;gap:14px;
  margin-bottom:32px;
}
.cl-card{
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:var(--r-lg);
  padding:22px 24px;
  box-shadow:var(--shadow-xs);
  display:flex;flex-direction:column;gap:8px;
}
.cl-card-main{
  background:linear-gradient(170deg,var(--blanco) 0%,var(--verde-soft) 320%);
  border-color:var(--verde-border);
}
.cl-card-eyebrow{
  font-family:var(--font-mono);
  font-size:.7rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.13em;
  color:var(--gris);margin:0;
}
.cl-direccion-line{
  font-family:var(--font-display);
  font-size:1.18rem;font-weight:700;
  color:var(--navy);letter-spacing:-.018em;
  margin:2px 0 0;
}
.cl-direccion-mini{
  font-size:.96rem;color:var(--tinta-soft);
  font-family:var(--font-body);font-weight:500;
}
.cl-direccion-tip{
  display:flex;align-items:flex-start;gap:8px;
  background:var(--blanco);border:1px solid var(--verde-border);
  border-radius:var(--r-md);padding:10px 12px;
  font-size:.88rem;color:var(--tinta-soft);
  line-height:1.5;margin-top:10px;
}
.cl-tip-ico{display:flex;flex-shrink:0;color:var(--verde);margin-top:1px}

.cl-card-value{
  font-family:var(--font-display);
  font-size:1.04rem;font-weight:700;
  color:var(--navy);margin:2px 0 0;
}
.cl-card-tel a{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-mono);
  font-size:1rem;font-weight:500;
  color:var(--navy);text-decoration:none;
  padding:6px 0;
}
.cl-card-tel a:hover{color:var(--verde);text-decoration:none}
.cl-wa-ico{display:flex;color:var(--verde)}
.cl-card-mini{
  font-size:.84rem;color:var(--gris);
  line-height:1.45;margin:0;
}

/* Secciones */
.cl-section{margin-bottom:32px}
.cl-section-title{
  font-family:var(--font-display);
  font-size:1.32rem;font-weight:800;color:var(--tinta);
  letter-spacing:-.022em;margin:0 0 8px;line-height:1.2;
}
.cl-section-sub{color:var(--tinta-soft);font-size:.96rem;margin:0 0 18px;line-height:1.55}

/* Medios para enviar el paquete */
.cl-medios-grid{
  display:grid;grid-template-columns:1fr;gap:14px;
}
.cl-medio{
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:var(--r-lg);
  padding:20px 22px;
  display:flex;flex-direction:column;gap:8px;
  transition:border-color .15s, box-shadow .15s;
}
.cl-medio:hover{border-color:var(--verde-border);box-shadow:var(--shadow-sm)}
.cl-medio-ico{
  width:42px;height:42px;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg-soft);border-radius:var(--r-md);
  color:var(--navy);
}
.cl-medio h3{
  font-family:var(--font-display);
  font-size:1.02rem;font-weight:700;
  color:var(--navy);letter-spacing:-.014em;
  margin:0;
}
.cl-medio p{
  font-size:.92rem;color:var(--tinta-soft);
  line-height:1.5;margin:0;flex:1;
}
.cl-medio-tag{
  display:inline-flex;align-self:flex-start;
  font-family:var(--font-mono);
  font-size:.7rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.10em;
  background:var(--verde-soft);color:var(--verde);
  border:1px solid var(--verde-border);
  padding:4px 10px;border-radius:999px;
}

/* Flujo numerado */
.cl-flujo{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:12px;
}
.cl-flujo li{
  display:flex;align-items:flex-start;gap:14px;
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:var(--r-md);
  padding:14px 18px;
  font-size:.95rem;color:var(--tinta);line-height:1.55;
}
.cl-flujo strong{color:var(--navy);font-weight:700}
.cl-flujo-num{
  flex-shrink:0;
  width:32px;height:32px;border-radius:50%;
  background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-mono);font-weight:500;font-size:.92rem;
}

/* Embalaje */
.cl-embalaje{
  display:flex;gap:16px;align-items:flex-start;
  background:var(--terracota-soft);
  border:1px solid var(--terracota-border);
  border-radius:var(--r-lg);
  padding:20px 24px;
}
.cl-embalaje-ico{
  flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  width:48px;height:48px;
  background:var(--blanco);border-radius:var(--r-md);
}
.cl-embalaje h3{
  font-family:var(--font-display);
  font-size:1.05rem;font-weight:700;
  color:var(--terracota);margin:0 0 6px;letter-spacing:-.012em;
}
.cl-embalaje p{font-size:.94rem;color:var(--tinta);line-height:1.55;margin:0}
.cl-embalaje strong{color:var(--navy);font-weight:700}

.cl-back{margin-top:24px}

@media (min-width:760px){
  .cl-page{padding:48px 28px 96px}
  .cl-title{font-size:2.1rem}
  .cl-grid{grid-template-columns:2fr 1fr 1fr}
  .cl-medios-grid{grid-template-columns:repeat(3,1fr)}
}

/* ============================================================
   WIZARD CREAR ENVÍO — header + progress bar + stepper visual
   ============================================================ */
.wiz-page{
  max-width:980px;margin:0 auto;
  padding:36px 20px 80px;
}
.wiz-head{
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:var(--r-xl);
  padding:28px 28px 24px;
  margin-bottom:20px;
  box-shadow:var(--shadow-sm);
}
.wiz-eyebrow{
  font-family:var(--font-mono);
  font-size:.74rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--verde);
  margin:0 0 8px;
  display:inline-flex;align-items:center;gap:8px;
}
.wiz-eyebrow::before{content:"";width:18px;height:2px;background:var(--verde)}
.wiz-title{
  font-family:var(--font-display);
  font-size:1.75rem;font-weight:800;
  color:var(--tinta);letter-spacing:-.030em;
  margin:0 0 10px;line-height:1.15;
}
.wiz-sub{color:var(--tinta-soft);font-size:.98rem;line-height:1.55;margin:0 0 22px;max-width:680px}
.wiz-sub strong{color:var(--navy)}
.wiz-progress{
  background:var(--bg-soft);
  border-radius:999px;
  height:8px;overflow:hidden;
  margin-bottom:8px;
}
.wiz-progress-bar{
  height:100%;
  background:linear-gradient(90deg,var(--verde) 0%,var(--verde-hover) 100%);
  border-radius:999px;
  transition:width .35s ease;
}
.wiz-progress-label{
  font-family:var(--font-mono);
  font-size:.78rem;font-weight:500;
  color:var(--tinta-soft);
  margin:0;letter-spacing:.04em;
}
.wiz-progress-label strong{color:var(--navy);font-weight:600}

/* Stepper overrides — más prominente, con líneas conectoras */
.wiz-stepper.stepper{
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:var(--r-lg);
  padding:18px 12px;
  margin:0 0 18px;
  box-shadow:var(--shadow-xs);
  display:flex;flex-wrap:wrap;
  gap:0;
  position:relative;
}
.wiz-stepper.stepper li{
  flex:1;min-width:90px;
  display:flex;flex-direction:column;align-items:center;
  gap:6px;
  padding:8px 4px;
  font-size:.76rem;color:var(--gris);
  border-radius:var(--r-md);
  cursor:pointer;font-weight:600;user-select:none;
  position:relative;background:transparent;
  text-align:center;line-height:1.2;
}
.wiz-stepper.stepper li:hover{background:var(--bg-soft);color:var(--navy)}
.wiz-stepper.stepper li::after{
  content:"";
  position:absolute;
  top:24px;right:-50%;width:100%;height:2px;
  background:var(--linea);
  z-index:0;
}
.wiz-stepper.stepper li:last-child::after{display:none}
.wiz-stepper.stepper li span{
  display:flex;align-items:center;justify-content:center;
  width:32px;height:32px;border-radius:50%;
  background:var(--bg-soft);
  border:2px solid var(--linea-strong);
  color:var(--gris);
  font-family:var(--font-mono);
  font-size:.85rem;font-weight:500;
  position:relative;z-index:1;
  transition:background .2s, color .2s, border-color .2s;
}
.wiz-stepper.stepper li em{
  font-style:normal;
  font-family:var(--font-display);
  font-size:.78rem;font-weight:600;
  color:var(--gris);
  letter-spacing:-.006em;
}
.wiz-stepper.stepper li.on span{
  background:var(--navy);border-color:var(--navy);color:#fff;
}
.wiz-stepper.stepper li.on em{color:var(--navy);font-weight:700}
.wiz-stepper.stepper li.on::before{
  content:"";
  position:absolute;left:50%;bottom:-6px;
  width:32px;height:3px;background:var(--verde);
  transform:translateX(-50%);border-radius:3px;
}
.wiz-stepper.stepper li.hecho span{
  background:var(--verde-soft);border-color:var(--verde-border);
  color:var(--verde);
}
.wiz-stepper.stepper li.hecho span::after{content:'✓';font-size:.9rem;font-weight:700}
.wiz-stepper.stepper li.hecho span{font-size:0}
.wiz-stepper.stepper li.hecho em{color:var(--tinta-soft)}
.wiz-stepper.stepper li.hecho::after{background:var(--verde-border)}

@media (min-width:760px){
  .wiz-page{padding:48px 28px 96px}
  .wiz-head{padding:36px 36px 28px}
  .wiz-title{font-size:2.1rem}
  .wiz-stepper.stepper{padding:22px 16px}
  .wiz-stepper.stepper li em{font-size:.85rem}
}

/* ============================================================
   VERIFICACIÓN (KYC) — formulario en bloques + stepper lateral
   ============================================================ */
.kyc-page{
  max-width:1180px;margin:0 auto;
  padding:36px 20px 80px;
}
.kyc-head{margin-bottom:28px;max-width:720px}
.kyc-eyebrow{
  font-family:var(--font-mono);
  font-size:.74rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--verde);
  margin:0 0 10px;
  display:inline-flex;align-items:center;gap:8px;
}
.kyc-eyebrow::before{
  content:"";width:18px;height:2px;background:var(--verde);
}
.kyc-title{
  font-family:var(--font-display);
  font-size:1.85rem;font-weight:800;
  color:var(--tinta);letter-spacing:-.032em;
  margin:0 0 10px;line-height:1.15;
}
.kyc-sub{color:var(--tinta-soft);font-size:1rem;line-height:1.55;margin:0;max-width:600px}

/* ESTADO OK/PENDIENTE — card grande */
.kyc-state{
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:var(--r-xl);
  padding:48px 36px;
  text-align:center;max-width:560px;margin:0 auto;
  box-shadow:var(--shadow-md);
}
.kyc-state-ico{
  width:96px;height:96px;
  margin:0 auto 18px;
  display:flex;align-items:center;justify-content:center;
}
.kyc-state h2{
  font-family:var(--font-display);
  font-size:1.6rem;font-weight:800;
  color:var(--navy);letter-spacing:-.024em;
  margin:0 0 12px;
}
.kyc-state p{color:var(--tinta-soft);font-size:1rem;line-height:1.6;margin:0 0 18px}
.kyc-state .btn{margin-top:8px;padding:14px 26px}
.kyc-state-mini{
  font-size:.88rem;color:var(--gris) !important;
  margin-bottom:22px !important;
}

/* LAYOUT 2 col: stepper aside + form */
.kyc-layout{
  display:grid;grid-template-columns:1fr;gap:24px;
}

/* STEPPER vertical */
.kyc-stepper{
  list-style:none;padding:0;margin:0 0 24px;
  display:flex;flex-direction:column;gap:0;
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:var(--r-lg);
  padding:18px 22px;
}
.kyc-step{
  display:flex;gap:14px;align-items:flex-start;
  padding:12px 0;
  position:relative;
}
.kyc-step:not(:last-child)::after{
  content:"";
  position:absolute;left:14px;top:34px;
  width:2px;height:calc(100% - 16px);
  background:var(--linea);
}
.kyc-step-num{
  flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:50%;
  background:var(--bg-soft);
  border:1.5px solid var(--linea-strong);
  color:var(--gris);
  font-family:var(--font-mono);
  font-size:.86rem;font-weight:500;
  position:relative;z-index:1;
}
.kyc-step strong{
  display:block;color:var(--tinta);font-weight:700;
  font-family:var(--font-display);
  font-size:.96rem;letter-spacing:-.012em;
  margin-bottom:2px;
}
.kyc-step span:not(.kyc-step-num){
  font-size:.85rem;color:var(--tinta-soft);
}
.kyc-step-done .kyc-step-num{
  background:var(--verde-soft);
  border-color:var(--verde-border);
}
.kyc-step-done .kyc-step-num::before{
  content:"";
  width:10px;height:6px;
  border-left:2.5px solid var(--verde);
  border-bottom:2.5px solid var(--verde);
  transform:rotate(-45deg) translate(2px,-1px);
  display:block;
}
.kyc-step-done strong{color:var(--tinta-soft)}
.kyc-step-current .kyc-step-num{
  background:var(--navy);border-color:var(--navy);color:#fff;
}
.kyc-step-current strong{color:var(--navy)}
.kyc-step-current::before{
  content:"";
  position:absolute;left:-22px;top:14px;
  width:3px;height:24px;background:var(--verde);
  border-radius:0 3px 3px 0;
}

/* Info card lateral "¿Por qué los pedimos?" */
.kyc-info-card{
  background:var(--verde-soft);
  border:1px solid var(--verde-border);
  border-radius:var(--r-lg);
  padding:18px 22px;
}
.kyc-info-ico{
  display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;
  background:var(--blanco);
  margin-bottom:10px;
}
.kyc-info-card h3{
  font-family:var(--font-display);
  font-size:1rem;font-weight:700;color:var(--navy);
  margin:0 0 8px;letter-spacing:-.012em;
}
.kyc-info-card p{color:var(--tinta-soft);font-size:.88rem;line-height:1.55;margin:0 0 8px}
.kyc-info-fine{font-size:.82rem !important;color:var(--gris) !important;margin:0 !important}

/* FORM */
.kyc-form-wrap{}
.kyc-form{
  display:flex;flex-direction:column;gap:18px;
}
.kyc-block{
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:var(--r-lg);
  padding:22px 24px;
  margin:0;
  position:relative;
}
.kyc-block legend{
  padding:0;margin:0 0 12px;
  display:inline-flex;align-items:center;gap:12px;
}
.kyc-block-num{
  display:flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:50%;
  background:var(--verde-soft);
  border:1.5px solid var(--verde-border);
  color:var(--verde);
  font-family:var(--font-mono);
  font-size:.82rem;font-weight:500;
}
.kyc-block-title{
  font-family:var(--font-display);
  font-size:1.04rem;font-weight:700;color:var(--navy);
  letter-spacing:-.014em;
}
.kyc-block-sub{
  font-size:.88rem;color:var(--tinta-soft);
  margin:0 0 14px;line-height:1.5;
}
.kyc-row{
  display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:12px;
}
.kyc-row:last-of-type{margin-bottom:0}
.kyc-field{display:flex;flex-direction:column;gap:6px}
.kyc-field:last-child{margin-bottom:0}
.kyc-label{
  font-family:var(--font-display);
  font-size:.88rem;font-weight:600;
  color:var(--navy);letter-spacing:-.008em;
}
.kyc-form input{
  padding:12px 14px;
  border:1.5px solid var(--linea-strong);
  border-radius:var(--r-md);
  background:var(--blanco);
  font-size:.96rem;font-weight:500;
  color:var(--tinta);font-family:var(--font-body);
  transition:border-color .15s, box-shadow .15s;
}
.kyc-form input:focus{
  outline:0;border-color:var(--verde);
  box-shadow:0 0 0 3px rgba(0,168,107,.16);
}

/* Restricciones details */
.kyc-restricciones{
  background:var(--bg-soft);
  border:1px solid var(--linea-strong);
  border-radius:var(--r-md);
  margin-bottom:14px;
}
.kyc-restricciones summary{
  list-style:none;cursor:pointer;
  padding:12px 16px;
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  font-family:var(--font-display);
  font-size:.92rem;font-weight:600;
  color:var(--navy);
}
.kyc-restricciones summary::-webkit-details-marker{display:none}
.kyc-restricciones summary::after{
  content:"+";color:var(--verde);font-weight:700;
  font-size:1.2rem;transition:transform .25s;
}
.kyc-restricciones[open] summary::after{transform:rotate(45deg)}
.kyc-rest-mini{
  font-family:var(--font-body);
  font-size:.78rem;font-weight:500;color:var(--gris);
  margin-left:auto;margin-right:14px;
}
.kyc-restricciones-body{
  padding:0 16px 14px;
  font-size:.88rem;color:var(--tinta-soft);
  line-height:1.55;
}
.kyc-restricciones-body p{margin:6px 0}
.kyc-rest-fine{font-size:.82rem;color:var(--gris);font-style:italic}

/* Checks aceptación */
.kyc-check{
  display:flex;align-items:flex-start;gap:10px;
  padding:10px 0;
  font-size:.92rem;color:var(--tinta);line-height:1.55;
  cursor:pointer;
}
.kyc-check input[type="checkbox"]{
  flex-shrink:0;margin-top:3px;
  width:18px;height:18px;
  accent-color:var(--verde);
  cursor:pointer;
}
.kyc-check a{font-weight:600;color:var(--verde)}

.kyc-actions{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  padding-top:8px;
}
.kyc-cta{padding:15px 32px;font-size:.98rem;font-weight:700;width:100%}
.kyc-actions-mini{font-size:.85rem;color:var(--gris);margin:0;text-align:center}

.kyc-back{margin-top:32px}

@media (min-width:760px){
  .kyc-page{padding:48px 28px 96px}
  .kyc-title{font-size:2.2rem}
  .kyc-layout{grid-template-columns:280px 1fr;gap:32px;align-items:start}
  .kyc-aside{position:sticky;top:80px}
  .kyc-row{grid-template-columns:1fr 1fr}
  .kyc-block{padding:26px 28px}
  .kyc-cta{width:auto;padding:16px 40px}
}

/* ============================================================
   COTIZADOR — vista enriquecida (form izq + resultado der)
   ============================================================ */
.cot-page{
  max-width:1180px;margin:0 auto;
  padding:36px 20px 80px;
}
.cot-head{margin-bottom:28px}
.cot-eyebrow{
  font-family:var(--font-mono);
  font-size:.74rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--verde);
  margin:0 0 10px;
  display:inline-flex;align-items:center;gap:8px;
}
.cot-eyebrow::before{
  content:"";width:18px;height:2px;
  background:var(--verde);display:inline-block;
}
.cot-title{
  font-family:var(--font-display);
  font-size:1.85rem;font-weight:800;
  color:var(--tinta);letter-spacing:-.032em;
  margin:0 0 8px;line-height:1.15;
}
.cot-sub{
  color:var(--tinta-soft);font-size:1rem;line-height:1.55;
  max-width:640px;margin:0;
}

.cot-grid{
  display:grid;gap:24px;
  grid-template-columns:1fr;
}

/* FORM */
.cot-form-wrap{position:relative}
.cot-form{
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:var(--r-xl);
  padding:28px 26px;
  box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;gap:18px;
}
.cot-field{display:flex;flex-direction:column;gap:6px}
.cot-label{
  font-family:var(--font-display);
  font-size:.92rem;font-weight:600;
  color:var(--navy);
  letter-spacing:-.008em;
}
.cot-lab-hint{
  font-family:var(--font-body);
  font-weight:500;color:var(--gris);
  font-size:.84rem;
}
.cot-form input, .cot-form select{
  padding:12px 14px;
  border:1.5px solid var(--linea-strong);
  border-radius:var(--r-md);
  background:var(--blanco);
  font-size:.98rem;font-weight:500;
  color:var(--tinta);
  font-family:var(--font-body);
  transition:border-color .15s, box-shadow .15s;
}
.cot-form input:focus, .cot-form select:focus{
  outline:0;
  border-color:var(--verde);
  box-shadow:0 0 0 3px rgba(0,168,107,.16);
}
.cot-cta{
  padding:14px 22px;
  font-size:.95rem;
  width:100%;justify-content:center;
}
.cot-foot{
  font-size:.84rem;color:var(--tinta-soft);
  line-height:1.55;margin:4px 0 0;
}

/* RESULTADO */
.cot-result-wrap{}
.cot-result{
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:var(--r-xl);
  padding:28px 26px;
  box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;gap:22px;
  position:relative;overflow:hidden;
}
.cot-result-empty{
  align-items:center;justify-content:center;text-align:center;
  min-height:340px;
}
.cot-empty-ico{
  width:96px;height:96px;
  background:var(--verde-soft);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 12px;
}
.cot-result-empty h3{
  font-family:var(--font-display);font-size:1.1rem;font-weight:700;
  color:var(--navy);margin:0 0 6px;
}
.cot-result-empty p{color:var(--tinta-soft);font-size:.95rem;margin:0;max-width:280px;line-height:1.5}

/* Precio card */
.cot-price-card{
  background:linear-gradient(160deg,var(--navy) 0%,var(--navy-3) 100%);
  color:#fff;border-radius:var(--r-lg);
  padding:24px 24px 22px;
  margin:-6px -6px 0;
  position:relative;overflow:hidden;
}
.cot-price-card::before{
  content:"";position:absolute;
  right:-50px;top:-50px;width:200px;height:200px;
  background:radial-gradient(circle,rgba(0,168,107,.28) 0%,transparent 70%);
  filter:blur(2px);pointer-events:none;
}
.cot-price-eyebrow{
  font-family:var(--font-mono);
  font-size:.7rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.13em;
  color:rgba(255,255,255,.62);
  margin:0 0 6px;position:relative;
}
.cot-price-usd{
  font-family:var(--font-mono);
  font-size:2.4rem;font-weight:500;
  color:#fff;line-height:1;margin:0 0 4px;
  letter-spacing:-.01em;
  position:relative;
}
.cot-price-num{font-weight:500}
.cot-price-ars{
  font-size:1.02rem;color:rgba(255,255,255,.78);
  margin:0 0 10px;font-family:var(--font-mono);font-weight:500;
  position:relative;
}
.cot-price-fine{
  font-size:.78rem;color:rgba(255,255,255,.58);
  margin:0;position:relative;
}

/* Summary dl */
.cot-summary{
  margin:0;display:flex;flex-direction:column;gap:0;
  border-top:1px solid var(--linea);
  border-bottom:1px solid var(--linea);
}
.cot-summary-row{
  display:grid;grid-template-columns:140px 1fr;
  gap:14px;padding:12px 0;
  border-bottom:1px solid var(--linea);
  align-items:start;
}
.cot-summary-row:last-child{border-bottom:0}
.cot-summary dt{
  font-family:var(--font-mono);
  font-size:.72rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.10em;
  color:var(--gris);
  padding-top:3px;
}
.cot-summary dd{
  margin:0;font-size:.96rem;color:var(--tinta);
  line-height:1.5;
}
.cot-summary dd strong{color:var(--navy);font-weight:700}
.cot-summary-mini{
  display:block;font-size:.82rem;color:var(--gris);margin-top:2px;
}
.cot-pill{
  display:inline-flex;align-items:center;
  padding:3px 11px;border-radius:999px;
  font-family:var(--font-mono);
  font-size:.74rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.10em;
}
.cot-pill-real{background:var(--verde-soft);color:var(--verde);border:1px solid var(--verde-border)}
.cot-pill-preview{background:var(--terracota-soft);color:var(--terracota);border:1px solid var(--terracota-border)}

/* Incluye gestión compliance */
.cot-incluye{
  display:flex;gap:14px;align-items:flex-start;
  background:var(--verde-soft);
  border:1px solid var(--verde-border);
  border-radius:var(--r-lg);
  padding:14px 18px;
}
.cot-incluye-ico{display:flex;flex-shrink:0;margin-top:1px}
.cot-incluye strong{
  display:block;color:var(--navy);font-weight:700;
  font-family:var(--font-display);
  font-size:.98rem;margin-bottom:3px;
}
.cot-incluye p{
  margin:0;color:var(--tinta-soft);
  font-size:.88rem;line-height:1.5;
}

/* Duty destino — informativo, NO entra al precio (modelo diferido) */
.cot-duty{
  background:#fafaf7;
  border:1px solid var(--linea);
  border-radius:var(--r-lg);
  padding:14px 18px;
}
.cot-duty p{margin:0 0 6px;color:var(--tinta-soft);font-size:.9rem;line-height:1.5}
.cot-duty p:last-child{margin-bottom:0}
.cot-duty strong{color:var(--navy);font-weight:700}
.cot-duty-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.cot-duty .cot-duty-eyebrow{
  font-family:var(--font-mono);
  font-size:.72rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--gris);
  margin:0;
}
.cot-duty abbr{text-decoration:underline dotted;cursor:help}
.cot-duty-badge{
  display:inline-flex;align-items:center;white-space:nowrap;
  padding:3px 10px;border-radius:999px;
  font-family:var(--font-mono);font-size:.66rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.08em;
  background:var(--terracota-soft);color:var(--terracota);border:1px solid var(--terracota-border);
}
.cot-duty .cot-duty-mini{font-size:.82rem}

/* Próximos pasos */
.cot-pasos{}
.cot-pasos-eyebrow{
  font-family:var(--font-mono);
  font-size:.72rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.13em;
  color:var(--gris);margin:0 0 10px;
}
.cot-pasos-list{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:12px;
}
.cot-pasos-list li{
  display:flex;align-items:flex-start;gap:14px;
  font-size:.94rem;color:var(--tinta);
  line-height:1.5;
}
.cot-paso-num{
  flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:50%;
  background:var(--bg-soft);border:1.5px solid var(--linea-strong);
  color:var(--navy);
  font-family:var(--font-mono);
  font-weight:500;font-size:.84rem;
}
.cot-pasos-list strong{color:var(--navy);font-weight:700;display:block;margin-bottom:2px}

/* Fidelidad próx nivel */
.cot-fidelidad{
  background:var(--terracota-soft);
  border:1px solid var(--terracota-border);
  border-radius:var(--r-lg);
  padding:16px 18px;
}
.cot-fidelidad p{margin:0;color:var(--tinta);font-size:.94rem;line-height:1.55}
.cot-fid-eyebrow{
  font-family:var(--font-mono);
  font-size:.7rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--terracota);margin:0 0 4px !important;
}
.cot-fidelidad-cta{
  background:var(--navy);color:#fff;
  border-color:var(--navy-2);
}
.cot-fidelidad-cta p{color:rgba(255,255,255,.88)}
.cot-fidelidad-cta strong{color:#fff}
.cot-fidelidad-cta .cot-fid-eyebrow{color:var(--verde) !important}
.cot-fid-btn{margin-top:10px;background:var(--verde)}

/* Notas */
.cot-notas{
  font-size:.82rem;color:var(--tinta-soft);
  line-height:1.55;padding:0;margin:0;
}
.cot-notas p{margin:0 0 6px}
.cot-notas strong{color:var(--tinta);font-weight:700}
.cot-notas-warn{color:var(--terracota)}

.cot-cta-main{
  padding:14px 22px;
  justify-content:center;width:100%;
  font-size:.95rem;
}

/* Warn lists */
.cot-warn-list{
  background:var(--terracota-soft);
  border:1px solid var(--terracota-border);
  border-radius:var(--r-md);
  padding:12px 14px;
}
.cot-warn-list-doc{
  background:var(--bg-soft);
  border-color:var(--linea-strong);
}
.cot-warn-title{
  font-weight:700;color:var(--tinta);margin:0 0 6px;
  font-size:.92rem;
}
.cot-warn-list ul{
  margin:0;padding-left:20px;
  font-size:.88rem;color:var(--tinta);
}
.cot-warn-list li{margin:4px 0;line-height:1.5}
.cot-fuente{
  font-size:.78em;color:var(--navy);
  font-weight:600;margin-left:4px;
}

.cot-back{margin-top:32px;text-align:left}

@media (min-width:760px){
  .cot-page{padding:48px 28px 96px}
  .cot-title{font-size:2.2rem}
  .cot-grid{grid-template-columns:380px 1fr;gap:28px;align-items:start}
  .cot-form-wrap{position:sticky;top:80px}
  .cot-form{padding:32px 30px}
  .cot-result{padding:32px 30px}
  .cot-price-card{margin:-12px -12px 4px;padding:30px 28px}
  .cot-price-usd{font-size:3rem}
  .cot-summary-row{grid-template-columns:180px 1fr;padding:14px 0}
}

/* ============================================================
   PANEL CLIENTE (DASHBOARD) — corporativo, jerarquía clara.
   ============================================================ */
.panel-cli{
  max-width:1180px;margin:0 auto;
  padding:36px 24px 80px;
}
.panel-head{
  background:linear-gradient(160deg,var(--navy) 0%,var(--navy-3) 100%);
  color:#fff;
  border-radius:var(--r-xl);
  padding:36px 32px 28px;
  margin-bottom:24px;
  position:relative;overflow:hidden;
}
.panel-head::before{
  content:"";position:absolute;
  right:-100px;top:-100px;width:320px;height:320px;
  background:radial-gradient(circle,rgba(0,168,107,.22) 0%,transparent 70%);
  pointer-events:none;filter:blur(6px);
}
.panel-head-inner{position:relative;z-index:1}
.panel-eyebrow{
  font-family:var(--font-mono);
  font-size:.72rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.14em;
  color:rgba(255,255,255,.62);
  margin:0 0 8px;
}
.panel-title{
  font-family:var(--font-display);
  color:#fff;
  font-size:1.85rem;font-weight:800;
  letter-spacing:-.034em;line-height:1.1;
  margin:0 0 8px;
}
.panel-empresa{color:var(--verde)}
.panel-sub{
  color:rgba(255,255,255,.76);
  font-size:.98rem;line-height:1.55;
  margin:0;
}
.panel-stats{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1fr;gap:14px;
  margin-top:24px;
  border-top:1px solid rgba(255,255,255,.10);
  padding-top:20px;
}
.panel-stat{
  display:flex;flex-direction:column;gap:4px;
  padding-left:14px;
  border-left:2px solid var(--verde);
}
.panel-stat-lbl{
  font-family:var(--font-mono);
  font-size:.7rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.12em;
  color:rgba(255,255,255,.58);
}
.panel-stat-val{
  font-family:var(--font-display);
  font-size:1.4rem;font-weight:700;color:#fff;
  letter-spacing:-.018em;line-height:1.1;
}
.panel-stat-num{
  font-family:var(--font-mono);font-weight:500;
}

/* Banner de estado */
.panel-banner{
  display:flex;align-items:center;gap:14px;
  padding:16px 22px;
  border-radius:var(--r-lg);
  margin-bottom:32px;
  font-size:.95rem;line-height:1.5;
}
.pbn-ico{
  display:flex;flex-shrink:0;
  width:32px;height:32px;
  align-items:center;justify-content:center;
}
.pbn-text{flex:1;color:var(--tinta)}
.pbn-text strong{color:var(--navy);font-weight:700}
.pbn-cta{
  flex-shrink:0;
  font-family:var(--font-mono);
  font-size:.78rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.10em;
  color:var(--navy);
  border-bottom:2px solid var(--terracota);
  padding-bottom:1px;
  white-space:nowrap;
  text-decoration:none;
}
.pbn-cta:hover{color:var(--terracota);text-decoration:none}
.panel-banner-ok{
  background:var(--verde-soft);
  border:1px solid var(--verde-border);
}
.panel-banner-warn{
  background:var(--terracota-soft);
  border:1px solid var(--terracota-border);
}
.panel-banner-block{
  background:var(--bg-soft);
  border:1px solid var(--linea-strong);
}

/* Section eyebrow ("Operación" / "Mi cuenta") */
.panel-sec-eyebrow{
  font-family:var(--font-mono);
  font-size:.74rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--gris);
  margin:0 0 14px;
  display:inline-flex;align-items:center;gap:8px;
}
.panel-sec-eyebrow::before{
  content:"";
  width:18px;height:2px;background:var(--verde);
  display:inline-block;
}

/* Grid de cards de operación */
.panel-grid{
  display:grid;grid-template-columns:1fr;gap:14px;
  margin-bottom:32px;
}
.panel-grid-2{grid-template-columns:1fr}

.op-card{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;gap:18px;
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:var(--r-lg);
  padding:20px 22px;
  color:var(--tinta);
  text-decoration:none;
  transition:border-color .18s, box-shadow .18s, transform .12s;
}
.op-card:hover{
  border-color:var(--verde-border);
  box-shadow:var(--shadow-md);
  transform:translateY(-2px);
  text-decoration:none;
}
.op-card-ico{
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg-soft);
  border-radius:var(--r-md);
  color:var(--navy);
  flex-shrink:0;
  transition:background .18s, color .18s;
}
.op-card:hover .op-card-ico{
  background:var(--verde-soft);
  color:var(--verde);
}
.op-card-body h3{
  font-family:var(--font-display);
  font-size:1.05rem;font-weight:700;
  color:var(--tinta);
  letter-spacing:-.018em;
  margin:0 0 4px;
}
.op-card-body p{
  font-size:.9rem;color:var(--tinta-soft);
  margin:0;line-height:1.5;
}
.op-card-action{
  font-family:var(--font-mono);
  font-size:.74rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--verde);
  white-space:nowrap;
  border:1px solid var(--verde-border);
  padding:7px 12px;border-radius:999px;
  background:var(--verde-soft);
}
.op-card-action-warn{
  color:var(--terracota);
  border-color:var(--terracota-border);
  background:var(--terracota-soft);
}
/* Card destacada (Cotizar / Crear envío) */
.op-card-primary{
  border-color:var(--linea-strong);
  background:linear-gradient(170deg,var(--blanco) 0%,var(--bg) 100%);
}
.op-card-primary .op-card-ico{
  background:var(--navy);color:#fff;
}
.op-card-primary:hover .op-card-ico{
  background:var(--verde);color:#fff;
}
.op-card-primary .op-card-body h3{font-size:1.15rem}
/* Card bloqueada (sin verificar) */
.op-card-locked{opacity:.92}
.op-card-locked .op-card-ico{color:var(--gris)}

@media (min-width:760px){
  .panel-cli{padding:48px 32px 96px}
  .panel-head{padding:48px 44px 36px}
  .panel-title{font-size:2.2rem}
  .panel-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;margin-top:28px;padding-top:24px;
  }
  .panel-stat-val{font-size:1.55rem}
  .panel-grid{grid-template-columns:1fr 1fr;gap:18px}
  .panel-grid-2{grid-template-columns:1fr 1fr}
  .op-card{padding:24px 26px}
  .op-card-body h3{font-size:1.12rem}
  .op-card-primary .op-card-body h3{font-size:1.22rem}
}

/* ============================================================
   POST-ACTION CARDS — "Revisá tu email", "Pago confirmado", etc.
   Páginas de confirmación con stepper visual y mensaje fuerte.
   ============================================================ */
.post-action{
  max-width:720px;margin:48px auto;padding:0 16px;
}
.post-action-card{
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:var(--r-xl);
  padding:48px 36px;
  box-shadow:var(--shadow-md);
  position:relative;
  text-align:center;
  overflow:hidden;
}
.post-action-card::before{
  content:"";
  position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--verde) 0%,var(--terracota) 100%);
}
.post-action-icon{
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 18px;
  width:84px;height:84px;
  background:var(--verde-soft);
  border-radius:50%;
}
.post-action-eyebrow{
  font-family:var(--font-mono);
  font-size:.72rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--verde);
  margin:0 0 8px;
}
.post-action-title{
  font-family:var(--font-display);
  font-size:1.85rem;font-weight:800;
  color:var(--navy);
  letter-spacing:-.032em;
  margin:0 0 14px;
}
.post-action-lead{
  font-size:1.02rem;color:var(--tinta-soft);
  line-height:1.62;
  max-width:480px;margin:0 auto 28px;
}
.post-action-email{
  color:var(--navy);
  font-family:var(--font-mono);
  font-size:.95rem;font-weight:500;
  background:var(--bg);
  border:1px solid var(--linea);
  padding:3px 10px;border-radius:6px;
  white-space:nowrap;
}
/* Stepper visual de progreso */
.post-action-stepper{
  display:flex;align-items:center;justify-content:center;
  gap:6px;margin:8px auto 28px;
  flex-wrap:wrap;
}
.psa-step{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  min-width:90px;
}
.psa-num{
  display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;
  background:var(--bg-soft);
  border:1.5px solid var(--linea-strong);
  color:var(--gris);
  font-weight:700;font-size:.92rem;
  font-family:var(--font-mono);
}
.psa-lbl{
  font-size:.78rem;color:var(--gris);
  font-weight:600;
}
.psa-step-done .psa-num{
  background:var(--verde-soft);
  border-color:var(--verde-border);
  color:var(--verde);
  position:relative;
}
.psa-step-done .psa-num::after{
  content:"";
  position:absolute;top:50%;left:50%;
  width:10px;height:6px;
  border-left:2.5px solid var(--verde);
  border-bottom:2.5px solid var(--verde);
  transform:translate(-50%,-65%) rotate(-45deg);
}
.psa-step-done .psa-num{font-size:0}
.psa-step-done .psa-lbl{color:var(--tinta)}
.psa-step-current .psa-num{
  background:var(--navy);
  border-color:var(--navy);
  color:#fff;
}
.psa-step-current .psa-lbl{color:var(--navy);font-weight:700}
.psa-line{
  flex:0 1 28px;height:2px;
  background:var(--linea-strong);
  margin-top:-22px;
}
/* Help acordeón "¿No te llegó?" */
.post-action-help{
  text-align:left;
  border:1px solid var(--linea);
  border-radius:var(--r-md);
  background:var(--bg);
  margin:8px auto 18px;
  max-width:520px;
}
.post-action-help summary{
  cursor:pointer;list-style:none;
  padding:14px 18px;
  font-family:var(--font-display);
  font-size:.96rem;font-weight:600;color:var(--navy);
  position:relative;
}
.post-action-help summary::-webkit-details-marker{display:none}
.post-action-help summary::after{
  content:"+";
  position:absolute;right:18px;top:50%;
  transform:translateY(-50%);
  font-size:1.2rem;color:var(--verde);font-weight:700;
  transition:transform .25s;
}
.post-action-help[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.post-action-list{
  margin:0;padding:8px 18px 16px 36px;
  color:var(--tinta-soft);font-size:.92rem;line-height:1.6;
}
.post-action-list li{margin:6px 0}
.post-action-list code{
  font-family:var(--font-mono);
  background:var(--bg-soft);
  padding:1px 6px;border-radius:4px;font-size:.86em;
}
.post-action-fine{
  font-size:.86rem;color:var(--gris);
  margin:18px 0 28px;
}
.post-action-actions{
  display:flex;flex-wrap:wrap;gap:12px;
  justify-content:center;
}
.post-action-actions .btn{padding:14px 28px}

@media (min-width:760px){
  .post-action-card{padding:60px 56px}
  .post-action-title{font-size:2.2rem}
  .psa-line{flex:0 1 60px}
}

/* ---------- FAQ — acordeón con look corporativo cálido ---------- */
.faq-list{
  display:grid;grid-template-columns:1fr;gap:10px;
  max-width:880px;
}
.faq-item{
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:var(--r-lg);
  overflow:hidden;
  transition:border-color .18s, box-shadow .18s;
}
.faq-item:hover{
  border-color:var(--verde-border);
  box-shadow:var(--shadow-sm);
}
.faq-item[open]{
  border-color:var(--verde-border);
  box-shadow:var(--shadow-sm);
}
.faq-item summary{
  list-style:none;cursor:pointer;
  padding:18px 56px 18px 22px;
  font-family:var(--font-display);
  font-size:1.02rem;font-weight:600;color:var(--tinta);
  letter-spacing:-.012em;
  position:relative;
  user-select:none;
  transition:color .15s;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"";
  position:absolute;right:24px;top:50%;
  width:14px;height:2px;
  background:var(--verde);
  transform:translateY(-50%);
  transition:transform .25s ease;
}
.faq-item summary::before{
  content:"";
  position:absolute;right:24px;top:50%;
  width:2px;height:14px;
  background:var(--verde);
  transform:translate(6px,-50%);
  transition:transform .25s ease, opacity .25s ease;
}
.faq-item[open] summary{
  color:var(--navy);
  border-bottom:1px solid var(--linea);
}
.faq-item[open] summary::before{
  transform:translate(6px,-50%) rotate(90deg);
  opacity:0;
}
.faq-item summary:hover{color:var(--navy)}
.faq-body{
  padding:18px 22px 22px;
  color:var(--tinta-soft);
  font-size:.96rem;line-height:1.65;
}
.faq-body p{margin:0}
.faq-body p + p{margin-top:10px}
.faq-body a{font-weight:600}
@media (min-width:769px){
  .faq-item summary{padding:22px 64px 22px 28px;font-size:1.08rem}
  .faq-body{padding:20px 28px 26px;font-size:.99rem}
}

/* ---------- DESTINOS (LEGACY — grid 1 main + 3 chicos) ---------- */
.dest-grid{
  display:grid;grid-template-columns:1fr;gap:16px;
}
.dest-card{
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:10px;padding:20px;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
  transition:box-shadow .2s, transform .2s;
}
.dest-card:hover{
  box-shadow:0 6px 18px rgba(0,0,0,.07);
  transform:translateY(-2px);
}
.dest-card-main{
  border-color:var(--fx-orange);
  border-width:2px;
  background:linear-gradient(180deg, var(--fx-orange-soft) 0%, var(--blanco) 80%);
}
.dest-flag{
  display:inline-block;
  background:var(--fx-purple);color:var(--blanco);
  font-size:.78rem;font-weight:800;letter-spacing:1px;
  padding:6px 10px;border-radius:4px;
  margin-bottom:12px;
}
.dest-card-main .dest-flag{background:var(--fx-orange)}
.dest-card h4{
  font-size:1.1rem;color:var(--fx-purple);
  margin:0 0 8px;font-weight:700;
}
.dest-desc{
  font-size:.92rem;color:var(--tinta-soft);
  margin:0 0 12px;line-height:1.5;
}
.dest-list{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:5px;
}
.dest-list li{
  font-size:.88rem;color:var(--tinta);
  padding-left:18px;position:relative;
}
.dest-list li::before{
  content:"→";
  position:absolute;left:0;color:var(--fx-orange);
  font-weight:700;
}

/* ---------- Desktop tweaks (>= 769px) ---------- */
@media (min-width: 769px){
  .stats-bar{padding:40px 32px}
  .stats-inner{grid-template-columns:repeat(4,1fr);gap:32px}
  .stat-num{font-size:2.6rem}

  .section{padding:80px 32px}
  .section-title{font-size:2.4rem}
  .section-sub{font-size:1.1rem;margin-bottom:44px}

  /* Asimetría intencional: el pilar 01 es más ancho y prominente */
  .pillars-grid{
    grid-template-columns:1.35fr 1fr 1fr;
    gap:22px;align-items:stretch;
  }
  .pillar{padding:34px 30px 30px}
  .pillar h3{font-size:1.32rem}
  .pillar:first-child{
    background:linear-gradient(170deg,var(--blanco) 0%,var(--verde-soft) 280%);
    border-color:var(--verde-border);
  }
  .pillar:first-child h3{font-size:1.48rem}
  .pillar:first-child .pillar-num{
    font-size:.92rem;
  }

  .tabla-corp{font-size:1rem}
  .tabla-corp thead th{padding:16px 22px}
  .tabla-corp tbody td{padding:18px 22px}

  .dest-grid{
    grid-template-columns:2fr 1fr 1fr 1fr;
    grid-template-rows:auto auto;
    gap:20px;
  }
  .dest-card-main{
    grid-column:1;grid-row:1/3;
    padding:28px;
  }
  .dest-card-main h4{font-size:1.4rem}

  /* Zonas: 2x2 en desktop, con la zona A (Américas) ocupando 2 columnas arriba */
  .zonas-grid{
    grid-template-columns:repeat(2,1fr);
    gap:24px;
  }
  .zona-card{padding:28px}
  .zona-card-main{grid-column:1 / -1}
  .zona-card-main .zona-letter{width:56px;height:56px;font-size:1.7rem}
  .zona-card-main .zona-header h4{font-size:1.5rem}
}

/* ════════════════════════════════════════════════════════════
   CENTRO DE AYUDA — Capa 7.6
   ════════════════════════════════════════════════════════════ */
.nav-link-ayuda{
  color:var(--fx-purple);font-weight:600;
  padding:8px 12px;border-radius:6px;
  transition:background .15s;
}
.nav-link-ayuda:hover{
  background:var(--fx-purple-soft);text-decoration:none;
}

.ayuda-page{background:var(--bg-soft);min-height:100vh}

/* Hero del centro de ayuda */
.ayuda-hero{
  background:linear-gradient(135deg,var(--fx-purple) 0%,var(--fx-purple-dark) 100%);
  color:#fff;padding:60px 16px 50px;
}
.ayuda-hero-inner{
  max-width:780px;margin:0 auto;text-align:center;
}
.ayuda-eyebrow{
  text-transform:uppercase;letter-spacing:1.3px;
  font-size:.78rem;font-weight:700;color:var(--fx-orange);
  margin:0 0 8px;
}
.ayuda-hero h1{
  font-size:2.2rem;font-weight:800;margin:0 0 12px;
  letter-spacing:-.4px;color:#fff;
}
.ayuda-sub{
  font-size:1.05rem;opacity:.92;margin:0 0 24px;line-height:1.5;
}

/* Buscador */
.ayuda-search{
  position:relative;max-width:560px;margin:0 auto 20px;
}
.ayuda-search input{
  width:100%;padding:14px 44px 14px 18px;
  border:2px solid transparent;border-radius:10px;
  font-size:1rem;background:#fff;color:var(--tinta);
  box-shadow:0 4px 14px rgba(0,0,0,.18);
  outline:none;
}
.ayuda-search input:focus{
  border-color:var(--fx-orange);
}
.ayuda-clear{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  background:transparent;border:none;color:var(--tinta-soft);
  font-size:1.5rem;cursor:pointer;width:32px;height:32px;
  border-radius:50%;line-height:1;
}
.ayuda-clear:hover{background:#f0f0f0;color:var(--tinta)}

/* Chips de categoría */
.ayuda-categorias-chip{
  display:flex;flex-wrap:wrap;gap:8px;justify-content:center;
}
.ayuda-chip{
  background:rgba(255,255,255,.12);color:#fff;
  padding:7px 14px;border-radius:20px;
  font-size:.86rem;font-weight:600;
  border:1px solid rgba(255,255,255,.2);
  transition:background .15s, transform .1s;
}
.ayuda-chip:hover{
  background:rgba(255,255,255,.22);text-decoration:none;color:#fff;
  transform:translateY(-1px);
}
.ayuda-chip-tool{
  background:var(--fx-orange);border-color:var(--fx-orange);
}
.ayuda-chip-tool:hover{background:var(--fx-orange-hover);border-color:var(--fx-orange-hover)}

/* Sección genérica de ayuda */
.ayuda-section{padding:48px 16px}
.ayuda-section-tools{background:#fff}
.ayuda-section-contacto{
  background:linear-gradient(135deg,var(--fx-purple-soft) 0%,#fff 100%);
}
.ayuda-inner{max-width:980px;margin:0 auto}
.ayuda-inner > h2{
  font-size:1.65rem;font-weight:800;color:var(--fx-purple);
  margin:0 0 12px;
}
.ayuda-inner .ayuda-sub{color:var(--tinta-soft);margin-bottom:32px}

/* Categorías FAQ */
.ayuda-cat{margin-bottom:36px}
.ayuda-cat-titulo{
  font-size:1.2rem;font-weight:800;color:var(--fx-purple);
  margin:0 0 14px;padding-bottom:8px;
  border-bottom:2px solid var(--fx-orange);
  display:inline-block;
}
.ayuda-faq-list{display:grid;gap:10px}
.ayuda-faq{
  background:#fff;border:1px solid var(--linea);
  border-radius:8px;padding:14px 16px;
  transition:border-color .15s, box-shadow .15s;
}
.ayuda-faq:hover{border-color:var(--fx-purple)}
.ayuda-faq[open]{
  border-color:var(--fx-purple);
  box-shadow:0 2px 8px rgba(77,20,140,.08);
}
.ayuda-faq summary{
  font-weight:600;color:var(--tinta);cursor:pointer;
  list-style:none;padding-right:24px;position:relative;
}
.ayuda-faq summary::after{
  content:'+';position:absolute;right:0;top:-2px;
  color:var(--fx-orange);font-size:1.4rem;font-weight:700;
  transition:transform .15s;
}
.ayuda-faq[open] summary::after{content:'−'}
.ayuda-faq-body{
  margin-top:10px;padding-top:10px;border-top:1px solid var(--linea);
  color:var(--tinta-soft);font-size:.96rem;line-height:1.55;
}
.ayuda-faq-body a{color:var(--fx-purple)}
.ayuda-empty{
  text-align:center;color:var(--tinta-soft);
  padding:40px 16px;font-style:italic;
}

/* Herramientas */
.ayuda-tool{
  background:var(--bg-soft);border:1px solid var(--linea);
  border-radius:12px;padding:24px;margin-bottom:24px;
}
.ayuda-tool h3{
  margin:0 0 6px;font-size:1.25rem;color:var(--fx-purple);font-weight:800;
}
.ayuda-tool-sub{color:var(--tinta-soft);margin:0 0 18px;font-size:.95rem}
.ayuda-tool-form{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
.ayuda-tool-form label{
  display:flex;flex-direction:column;gap:6px;
  font-size:.86rem;font-weight:600;color:var(--tinta);
}
.ayuda-tool-form input,
.ayuda-tool-form select{
  padding:10px 12px;border:1px solid var(--linea);
  border-radius:6px;font-size:.95rem;background:#fff;
}
.ayuda-tool-form input:focus,
.ayuda-tool-form select:focus{
  outline:none;border-color:var(--fx-orange);
}
.ayuda-tool-full{grid-column:1 / -1}
.ayuda-tool-actions{
  grid-column:1 / -1;display:flex;gap:10px;flex-wrap:wrap;
}

.ayuda-tool-result{
  margin-top:18px;display:grid;gap:10px;
}
.ayuda-alert{
  padding:12px 16px;border-radius:8px;border-left:4px solid;
  font-size:.95rem;line-height:1.5;
  display:flex;flex-direction:column;gap:4px;
}
.ayuda-alert small{display:block;margin-top:4px;font-size:.8rem}
.ayuda-alert-ok{background:#e8f6ec;border-color:#1d7d2c;color:#0e4d1a}
.ayuda-alert-warn{background:#fff3e0;border-color:#d97700;color:#5a3000}
.ayuda-alert-err{background:#fbe9e9;border-color:#a33;color:#5a1a1a}
.ayuda-alert-doc{background:#eef4ff;border-color:#3b58c2;color:#1a2a5a}

.ayuda-tool-help{
  margin-top:16px;background:#fff;
  border:1px dashed var(--linea);border-radius:8px;
  padding:12px 16px;
}
.ayuda-tool-help summary{
  cursor:pointer;color:var(--fx-purple);font-weight:600;
  font-size:.92rem;
}
.ayuda-tool-help ul{margin:10px 0 0;padding-left:22px;font-size:.9rem;color:var(--tinta-soft)}
.ayuda-tool-help li{margin-bottom:4px}
.ayuda-table{
  width:100%;border-collapse:collapse;margin-top:12px;
  background:#fff;font-size:.92rem;
}
.ayuda-table thead th{
  text-align:left;padding:10px 14px;background:var(--fx-purple-soft);
  color:var(--fx-purple);font-weight:700;
}
.ayuda-table tbody td{
  padding:10px 14px;border-top:1px solid var(--linea);color:var(--tinta-soft);
}

/* Tarjeta de tránsito */
.ayuda-transito-card{
  background:#fff;border:1px solid var(--linea);
  border-left:4px solid var(--fx-orange);
  padding:18px 20px;border-radius:8px;margin-top:8px;
}
.ayuda-transito-rango{
  display:flex;align-items:baseline;gap:10px;margin-bottom:10px;
}
.ayuda-transito-num{
  font-size:2rem;font-weight:800;color:var(--fx-purple);
  line-height:1;
}
.ayuda-transito-label{font-size:.95rem;color:var(--tinta-soft);font-weight:600}
.ayuda-mini{font-size:.85rem;color:var(--tinta-soft);margin:8px 0 0}

/* Glosario */
.ayuda-gloss-grid{
  display:grid;grid-template-columns:1fr;gap:12px;
}
.ayuda-gloss-item{
  background:#fff;border:1px solid var(--linea);
  border-left:3px solid var(--fx-purple);
  border-radius:8px;padding:14px 16px;
}
.ayuda-gloss-item h4{
  margin:0 0 4px;color:var(--fx-purple);font-size:1rem;font-weight:800;
}
.ayuda-gloss-item p{margin:0;color:var(--tinta-soft);font-size:.92rem;line-height:1.5}

/* Contacto */
.ayuda-contacto-grid{
  display:grid;grid-template-columns:1fr;gap:14px;margin-top:14px;
}
.ayuda-contacto-card{
  background:#fff;border:1px solid var(--linea);
  border-radius:10px;padding:20px;text-align:center;
  display:flex;flex-direction:column;gap:6px;
  transition:border-color .15s, transform .1s;
  color:var(--tinta);
}
.ayuda-contacto-card:hover{
  border-color:var(--fx-orange);text-decoration:none;color:var(--tinta);
  transform:translateY(-2px);
}
.ayuda-contacto-card strong{color:var(--fx-purple);font-size:1.05rem}
.ayuda-contacto-card span{color:var(--tinta-soft);font-size:.9rem}
.ayuda-contacto-icono{font-size:2rem;margin-bottom:4px}
.ayuda-contacto-disabled{opacity:.6;cursor:default}
.ayuda-contacto-disabled:hover{border-color:var(--linea);transform:none}

/* Responsive */
@media(min-width:768px){
  .ayuda-hero{padding:80px 32px 60px}
  .ayuda-hero h1{font-size:2.8rem}
  .ayuda-section{padding:64px 32px}
  .ayuda-gloss-grid{grid-template-columns:repeat(2,1fr)}
  .ayuda-contacto-grid{grid-template-columns:repeat(3,1fr)}
  .ayuda-tool{padding:30px}
}
@media(min-width:1024px){
  .ayuda-gloss-grid{grid-template-columns:repeat(3,1fr)}
}


/* ════════════════════════════════════════════════════════════
   WIZARD ENVÍO — Capa 5 Iteración 5 v2 (FedEx Ship Manager pro)
   Layout amplio 1680px · form 1fr + sidebar 380px sticky
   ════════════════════════════════════════════════════════════ */

/* ─── Layout raíz ─── */
.wiz-app{
  background:var(--bg-soft);
  min-height:calc(100vh - 80px);
  padding:0 0 80px;
}

/* ─── Header navy compacto y sobrio ─── */
.wiz-app-head{
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);
  color:#fff;
  padding:22px 28px 20px;
  margin-bottom:24px;
  position:relative;overflow:hidden;
}
.wiz-app-head-inner{
  max-width:1680px;margin:0 auto;position:relative;z-index:1;
}
.wiz-app-eyebrow{
  text-transform:uppercase;letter-spacing:1.2px;
  font-size:.7rem;font-weight:700;color:var(--verde);
  margin:0 0 4px;
  display:inline-flex;align-items:center;gap:8px;
}
.wiz-app-eyebrow::before{
  content:'';width:18px;height:1px;background:var(--verde);
}
.wiz-app-title{
  font-family:Manrope,system-ui,sans-serif;
  font-size:1.4rem;font-weight:800;color:#fff;
  margin:0 0 14px;letter-spacing:-.3px;line-height:1.2;
}
.wiz-app-progress{
  background:rgba(255,255,255,.12);
  border-radius:99px;height:5px;overflow:hidden;
  max-width:560px;
}
.wiz-app-progress-bar{
  background:linear-gradient(90deg,var(--verde) 0%,#1ddb89 100%);
  height:100%;border-radius:99px;
  transition:width .4s cubic-bezier(.4,0,.2,1);
}
.wiz-app-progress-label{
  margin:8px 0 0;font-size:.78rem;color:rgba(255,255,255,.85);
  display:flex;align-items:center;gap:10px;
}
.wiz-app-progress-label strong{color:#fff;font-weight:700}

/* ─── Shell 2-col compacto ─── */
.wiz-shell{
  max-width:1240px;margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:1fr;gap:20px;
}
@media(min-width:1024px){
  .wiz-shell{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:24px;padding:0 28px}
}
@media(min-width:1280px){
  .wiz-shell{grid-template-columns:minmax(0,1fr) 300px;gap:28px}
}

/* Forzar [hidden] — reglas .btn con display:inline-flex lo pisan. */
.wiz-app [hidden]{display:none !important}

/* ─── Form (col centro) ─── */
.wiz-form{display:contents}
@media(min-width:1024px){
  .wiz-form{display:block;min-width:0}
}

/* ─── Card por paso ─── */
.wiz-step{}
.wiz-step[hidden]{display:none !important}
.wiz-card{
  background:#fff;border:1px solid var(--linea);
  border-radius:10px;padding:24px 28px 26px;
  box-shadow:0 1px 2px rgba(10,37,64,.04);
  margin-bottom:14px;
}
@media(min-width:1280px){
  .wiz-card{padding:28px 32px 30px}
}

/* Bloques de contacto dentro del wizard — grid 2 cols compacto */
.wiz-card .bloque{
  background:transparent;border:none;padding:0;box-shadow:none;
}
.wiz-card .bloque h2{display:none}
.wiz-card .parte-grid{
  display:grid;grid-template-columns:1fr;gap:12px 14px;
}
@media(min-width:560px){
  .wiz-card .parte-grid{grid-template-columns:1fr 1fr}
  .wiz-card .parte-grid .lg,
  .wiz-card .parte-grid .check{grid-column:1 / -1}
}
.wiz-card .parte-grid label{
  font-weight:600;font-size:.78rem;color:var(--tinta-soft);
  display:flex;flex-direction:column;gap:5px;
  text-transform:uppercase;letter-spacing:.4px;
}
.wiz-card .parte-grid input,
.wiz-card .parte-grid select{
  padding:8px 11px;border:1px solid var(--linea);
  border-radius:6px;font-size:.9rem;background:#fff;
  color:var(--tinta);font-family:inherit;width:100%;
  font-weight:500;text-transform:none;letter-spacing:0;
  transition:border-color .15s, box-shadow .15s;
  min-height:36px;
}
.wiz-card .parte-grid input:focus,
.wiz-card .parte-grid select:focus{
  outline:none;border-color:var(--verde);
  box-shadow:0 0 0 2px var(--verde-soft);
}
.wiz-card .parte-grid label.check{
  flex-direction:row;align-items:center;gap:8px;
  font-weight:500;font-size:.82rem;color:var(--tinta-soft);
  text-transform:none;letter-spacing:0;
}
.wiz-card .parte-grid label.check input{width:auto;min-height:auto}
.wiz-card .opt{font-weight:400;color:var(--gris);font-size:.7rem;margin-left:4px;text-transform:none;letter-spacing:0}
.wiz-card-head{
  display:flex;gap:12px;align-items:center;flex-wrap:nowrap;
  padding-bottom:14px;margin-bottom:18px;
  border-bottom:1px solid var(--linea);
}
.wiz-card-ico{
  flex:0 0 auto;
  width:34px;height:34px;border-radius:8px;
  background:var(--verde-soft);color:var(--verde-hover);
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--verde-border);
}
.wiz-card-ico svg{width:18px;height:18px}
.wiz-card-head > div{flex:1;min-width:0}
.wiz-card-head h2{
  font-family:Manrope,system-ui,sans-serif;
  font-size:1.1rem;font-weight:700;color:var(--navy);
  margin:0 0 1px;letter-spacing:-.2px;line-height:1.25;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.wiz-card-sub{
  margin:0;color:var(--tinta-soft);font-size:.82rem;font-weight:500;
}

/* ─── Eyebrow + headings dentro del card ─── */
.wiz-section-eyebrow{
  text-transform:uppercase;letter-spacing:1.1px;
  font-size:.72rem;font-weight:700;color:var(--gris);
  margin:18px 0 10px;
}
.wiz-h3{
  font-family:Manrope,system-ui,sans-serif;
  font-size:1.05rem;font-weight:800;color:var(--navy);
  margin:26px 0 12px;
  padding-top:18px;border-top:1px solid var(--linea);
}

/* ─── Caja de revisión final (paso 9) ─── */
.wiz-revisar-box{
  margin-top:18px;padding:14px 16px;
  background:var(--verde-soft);border:1px solid var(--verde-border);
  border-radius:8px;
}
.wiz-revisar-box p{
  margin:0;font-size:.88rem;color:#0a5a3a;line-height:1.5;
}
.wiz-revisar-box strong{color:var(--verde-hover);font-weight:800}

/* ─── Banner informativo dentro del card ─── */
.wiz-info-banner{
  background:var(--terracota-soft);
  border:1px solid var(--terracota-border);
  border-left:3px solid var(--terracota);
  border-radius:8px;
  padding:12px 14px;
  font-size:.92rem;color:#7a3300;line-height:1.5;
  margin:14px 0;
}

/* ─── Toggle rows (compactos) ─── */
.wiz-toggle-row{
  display:flex;gap:10px;align-items:flex-start;
  padding:10px 12px;border:1px solid var(--linea);
  border-radius:6px;background:#fff;
  margin-bottom:8px;cursor:pointer;
  transition:border-color .15s, background .15s;
}
.wiz-toggle-row:hover{
  border-color:var(--gris-light);background:var(--bg-soft);
}
.wiz-toggle-row:has(input:checked){
  border-color:var(--verde);background:var(--verde-soft);
}
.wiz-toggle-row input[type=checkbox]{
  flex:0 0 auto;margin-top:2px;
  width:15px;height:15px;accent-color:var(--verde);cursor:pointer;
}
.wiz-toggle-row > span{display:flex;flex-direction:column;gap:2px;flex:1}
.wiz-toggle-row > span strong{
  font-size:.86rem;color:var(--navy);font-weight:600;
  font-family:Manrope,system-ui,sans-serif;
}
.wiz-toggle-row > span span{
  font-size:.78rem;color:var(--tinta-soft);line-height:1.45;
}

/* ─── Details/summary (acordeón de opciones) ─── */
.wiz-detalles{
  margin-top:18px;border:1px solid var(--linea);
  border-radius:10px;background:var(--bg-soft);
  padding:0;
}
.wiz-detalles summary{
  padding:14px 18px;cursor:pointer;
  font-weight:600;color:var(--navy);font-size:.95rem;
  list-style:none;position:relative;padding-right:40px;
}
.wiz-detalles summary::after{
  content:'+';position:absolute;right:16px;top:50%;transform:translateY(-50%);
  color:var(--terracota);font-size:1.3rem;font-weight:700;
  transition:transform .15s;
}
.wiz-detalles[open] summary::after{content:'−'}
.wiz-detalles-body{padding:0 18px 18px}

/* ─── Tarjetas de servicio (radio cards compactos) ─── */
.wiz-servicios{display:grid;gap:8px;margin-top:14px}
.wiz-servicio{
  display:block;border:1.5px solid var(--linea);border-radius:8px;
  padding:12px 14px;background:#fff;cursor:pointer;
  transition:border-color .15s, background .15s;
  position:relative;
}
.wiz-servicio:hover{border-color:var(--gris-light)}
.wiz-servicio input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.wiz-servicio:has(input:checked){
  border-color:var(--verde);background:var(--verde-soft);
}
.wiz-servicio-body{
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
}
.wiz-servicio-l strong{
  display:block;font-size:.94rem;color:var(--navy);font-weight:700;
  font-family:Manrope,system-ui,sans-serif;
}
.wiz-servicio-l span{
  display:block;color:var(--tinta-soft);font-size:.78rem;margin-top:2px;line-height:1.4;
}
.wiz-servicio-r{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.wiz-servicio-precio{
  font-family:'JetBrains Mono',monospace;
  color:var(--navy);font-weight:600;font-size:.82rem;
}
.wiz-servicio-tag{
  background:var(--verde);color:#fff;
  padding:2px 8px;border-radius:99px;
  font-size:.62rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
}

/* ─── Tablas de cajas / artículos estilo FedEx ─── */
.wiz-card .filas-head{
  display:grid;
  background:var(--bg-soft);border-radius:6px 6px 0 0;
  padding:9px 12px;margin-bottom:0;
  font-size:.66rem;color:var(--gris);font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;
  border:1px solid var(--linea);border-bottom:none;
  gap:10px;
}
/* Grid de columnas dentro del wizard (independiente del media query global) */
.wiz-card .filas-caja{grid-template-columns:.8fr 1fr 1fr 1fr 1fr 34px}
.wiz-card .filas-item{grid-template-columns:1.8fr .9fr .9fr .6fr .8fr .9fr .9fr 34px}
.wiz-card .fila{display:grid;align-items:center}
@media(max-width:640px){
  /* En pantallas chicas, header oculto y cada fila apila sus campos */
  .wiz-card .filas-head{display:none}
  .wiz-card .filas-caja,.wiz-card .filas-item{grid-template-columns:1fr 1fr}
  .wiz-card #cajas .fila,.wiz-card #items .fila{
    gap:8px;padding:12px;border:1px solid var(--linea);border-radius:6px;margin-bottom:8px;
  }
}
.wiz-card #cajas, .wiz-card #items{
  border:1px solid var(--linea);border-radius:0 0 6px 6px;
  overflow:hidden;
}
.wiz-card #cajas .fila, .wiz-card #items .fila{
  padding:10px 12px;border-top:1px solid var(--linea);
  gap:10px;margin:0;background:#fff;
  transition:background .12s;
}
.wiz-card #cajas .fila:first-child,
.wiz-card #items .fila:first-child{border-top:none;padding-top:10px}
.wiz-card #cajas .fila:hover, .wiz-card #items .fila:hover{background:var(--bg-soft)}
.wiz-card .fila input{
  padding:8px 10px;border:1px solid var(--linea);
  border-radius:5px;font-size:.86rem;width:100%;
  font-family:inherit;color:var(--tinta);background:#fff;min-height:34px;
  transition:border-color .15s, box-shadow .15s;
}
.wiz-card .fila input:focus{
  outline:0;border-color:var(--verde);
  box-shadow:0 0 0 2px var(--verde-soft);
}
.wiz-card .btn-add{
  align-self:flex-start;margin-top:12px;
  background:#fff;color:var(--verde-hover);
  border:1px dashed var(--verde-border);
  padding:9px 16px;border-radius:6px;
  font-weight:700;font-size:.84rem;cursor:pointer;
  transition:background .15s, border-color .15s;
}
.wiz-card .btn-add:hover{background:var(--verde-soft);border-style:solid}
.wiz-card .btn-del{
  background:transparent;color:var(--gris-light);
  border:1px solid var(--linea);
  border-radius:5px;cursor:pointer;
  font-weight:700;padding:0;font-size:1rem;line-height:1;
  width:34px;height:34px;flex:0 0 auto;
  transition:color .15s, border-color .15s, background .15s;
}
.wiz-card .btn-del:hover{
  color:var(--danger);border-color:var(--danger-border);background:var(--danger-soft);
}

/* ─── Aviso de peso facturable ─── */
.wiz-peso-aviso{
  margin-top:14px;padding:12px 14px;border-radius:8px;
  border:1px solid;font-size:.92rem;line-height:1.5;
}
.wiz-peso-aviso strong{display:block;margin-bottom:3px;font-size:.96rem}
.wiz-peso-aviso p{margin:0;font-size:.88rem}
.wiz-peso-aviso-ok{
  background:var(--verde-soft);border-color:var(--verde-border);color:#0a5a3a;
}
.wiz-peso-aviso-err{
  background:var(--danger-soft);border-color:var(--danger-border);color:#7a1f1f;
}

/* ─── Pickup cards (radios compactos) ─── */
.wiz-pickup{
  display:block;border:1.5px solid var(--linea);border-radius:8px;
  padding:12px 14px;background:#fff;cursor:pointer;margin-bottom:8px;
  transition:border-color .15s, background .15s;
  position:relative;
}
.wiz-pickup:hover{border-color:var(--navy)}
.wiz-pickup.on,
.wiz-pickup:has(input:checked){
  border-color:var(--verde);background:var(--verde-soft);
}
.wiz-pickup.locked{
  opacity:.78;cursor:not-allowed;background:var(--bg-soft);
}
.wiz-pickup.locked:hover{border-color:var(--linea)}
.wiz-pickup input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.wiz-pickup-body{
  display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;
}
.wiz-pickup-l{display:flex;gap:14px;align-items:flex-start;flex:1;min-width:0}
.wiz-pickup-radio{
  flex:0 0 auto;width:16px;height:16px;border-radius:50%;
  border:1.5px solid var(--gris-light);background:#fff;
  margin-top:2px;position:relative;
  transition:border-color .15s, background .15s;
}
.wiz-pickup:has(input:checked) .wiz-pickup-radio{
  border-color:var(--verde);background:var(--verde);
}
.wiz-pickup:has(input:checked) .wiz-pickup-radio::after{
  content:'';position:absolute;left:50%;top:50%;
  width:6px;height:6px;background:#fff;border-radius:50%;
  transform:translate(-50%,-50%);
}
.wiz-pickup-l strong{
  display:block;font-size:.92rem;color:var(--navy);font-weight:700;
  font-family:Manrope,system-ui,sans-serif;line-height:1.3;
}
.wiz-pickup-l p{
  margin:3px 0 0;color:var(--tinta-soft);font-size:.78rem;line-height:1.45;
}
.wiz-pickup-tag{
  flex:0 0 auto;
  background:var(--bg-soft);color:var(--tinta-soft);
  padding:5px 12px;border-radius:99px;font-size:.74rem;
  font-weight:700;letter-spacing:.4px;text-transform:uppercase;
  border:1px solid var(--linea);
}
.wiz-pickup-tag-ok{
  background:var(--verde);color:#fff;border-color:var(--verde);
}
.wiz-pickup-locked-tag{
  display:inline-block;
  background:var(--warn-soft);color:var(--warn);
  padding:2px 10px;border-radius:99px;font-size:.7rem;
  font-weight:700;letter-spacing:.3px;text-transform:uppercase;
  margin-left:8px;border:1px solid var(--warn-border);vertical-align:middle;
}

/* ─── Campos genéricos del wizard ─── */
.wiz-field{display:flex;flex-direction:column;gap:8px;margin-bottom:0}
.wiz-field label{display:block;margin:0;font-weight:600;color:var(--tinta)}
.wiz-label{
  display:block;font-size:.88rem;font-weight:700;color:var(--navy);
  margin-bottom:6px;letter-spacing:-.1px;
}
.wiz-field input,
.wiz-field select,
.wiz-field textarea,
.wiz-card .parte-grid input,
.wiz-card .parte-grid select{
  padding:13px 15px;border:1.5px solid var(--linea);
  border-radius:10px;font-size:.98rem;background:#fff;
  font-family:inherit;color:var(--tinta);width:100%;
  transition:border-color .18s, box-shadow .18s;
}
.wiz-field input:hover,
.wiz-field select:hover,
.wiz-card .parte-grid input:hover,
.wiz-card .parte-grid select:hover{
  border-color:var(--gris-light);
}
.wiz-field input:focus,
.wiz-field select:focus,
.wiz-field textarea:focus,
.wiz-card .parte-grid input:focus,
.wiz-card .parte-grid select:focus{
  outline:none;border-color:var(--verde);
  box-shadow:0 0 0 3px var(--verde-soft);
}
.wiz-card .parte-grid label{
  font-size:.88rem;font-weight:700;color:var(--navy);
  letter-spacing:-.1px;gap:6px;
}

/* ─── Nav abajo del wizard (botones compactos) ─── */
.wiz-nav{
  display:flex;justify-content:space-between;gap:10px;
  margin-top:16px;padding:0 2px;align-items:center;
}
.wiz-nav .btn{
  padding:9px 18px;font-size:.88rem;font-weight:600;
  border-radius:6px;letter-spacing:.1px;
  display:inline-flex;align-items:center;gap:6px;
  min-height:36px;
}
.wiz-nav .btn-ghost{
  background:transparent;color:var(--navy);
  border:1px solid var(--linea);
}
.wiz-nav .btn-ghost:hover{
  background:var(--bg-soft);border-color:var(--navy);
}
.wiz-nav #btnSig, .wiz-nav #btnCrear{
  background:var(--verde);color:#fff;border:none;
  transition:background .15s;
}
.wiz-nav #btnSig:hover, .wiz-nav #btnCrear:hover{
  background:var(--verde-hover);
}
.wiz-nav #btnCrear{
  padding:9px 22px;
}
.wiz-paso-error{
  background:var(--danger-soft);border:1px solid var(--danger-border);
  border-left:3px solid var(--danger);border-radius:6px;
  padding:10px 14px;color:#7a1f1f;font-size:.88rem;font-weight:600;margin:12px 0 0;
}

/* ─── Banner de errores del backend ─── */
.wiz-alert{
  max-width:1240px;margin:0 auto 20px;
}

/* ════════════════════════════════════════════════════════════
   SIDEBAR RESUMEN (col derecha) — Pro stepper estilo Stripe Checkout
   ════════════════════════════════════════════════════════════ */
.wiz-summary{
  display:flex;flex-direction:column;gap:0;
  position:relative;
}
@media(min-width:1024px){
  .wiz-summary{
    position:sticky;top:24px;
    max-height:calc(100vh - 48px);overflow-y:auto;
    padding-right:6px;
    scrollbar-width:thin;scrollbar-color:var(--linea) transparent;
  }
  .wiz-summary::-webkit-scrollbar{width:6px}
  .wiz-summary::-webkit-scrollbar-thumb{background:var(--linea);border-radius:3px}
}

/* Cada bloque del stepper: compacto */
.wiz-summary-block{
  background:#fff;border:1px solid var(--linea);
  border-radius:0;padding:10px 14px;
  transition:background .18s;
  border-bottom:none;
  position:relative;
}
.wiz-summary-block:first-child{
  border-top-left-radius:10px;border-top-right-radius:10px;
}
.wiz-summary-block:last-of-type{
  border-bottom-left-radius:10px;border-bottom-right-radius:10px;
  border-bottom:1px solid var(--linea);
}
.wiz-summary-block + .wiz-summary-block{border-top:1px solid var(--linea)}

.wiz-summary-block.on{
  background:var(--verde-soft);
  box-shadow:inset 3px 0 0 var(--verde);
}
.wiz-summary-block.done{cursor:pointer}
.wiz-summary-block.done:hover{background:var(--bg-soft)}

.wiz-summary-head{
  display:flex;align-items:center;gap:10px;
}

.wiz-summary-icon{
  flex:0 0 auto;
  width:22px;height:22px;border-radius:50%;
  background:var(--bg-soft);color:var(--gris-light);
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--linea);
  font-family:Manrope,system-ui,sans-serif;
  font-weight:700;font-size:.72rem;
  transition:all .18s;
}
/* Cargo el número del paso (el SVG queda chico, mostramos número) */
.wiz-summary-block:nth-of-type(1) .wiz-summary-icon::before{content:'1'}
.wiz-summary-block:nth-of-type(2) .wiz-summary-icon::before{content:'2'}
.wiz-summary-block:nth-of-type(3) .wiz-summary-icon::before{content:'3'}
.wiz-summary-block:nth-of-type(4) .wiz-summary-icon::before{content:'4'}
.wiz-summary-block:nth-of-type(5) .wiz-summary-icon::before{content:'5'}
.wiz-summary-block:nth-of-type(6) .wiz-summary-icon::before{content:'6'}
.wiz-summary-block:nth-of-type(7) .wiz-summary-icon::before{content:'7'}
.wiz-summary-block:nth-of-type(8) .wiz-summary-icon::before{content:'8'}
.wiz-summary-block:nth-of-type(9) .wiz-summary-icon::before{content:'9'}
.wiz-summary-icon svg{display:none}
.wiz-summary-block.on .wiz-summary-icon{
  background:var(--verde);color:#fff;border-color:var(--verde);
}
.wiz-summary-block.done .wiz-summary-icon{
  background:var(--verde);color:transparent;border-color:var(--verde);
  position:relative;
}
.wiz-summary-block.done .wiz-summary-icon::after{
  content:'';position:absolute;
  width:8px;height:5px;border:1.5px solid #fff;
  border-top:none;border-right:none;
  transform:rotate(-45deg) translate(1px,-1px);
}
.wiz-summary-block.done .wiz-summary-icon::before{display:none}

.wiz-summary-title{
  flex:1;font-weight:600;color:var(--navy);font-size:.84rem;
  font-family:Manrope,system-ui,sans-serif;
  letter-spacing:-.1px;
}
.wiz-summary-block.on .wiz-summary-title{font-weight:700}
.wiz-summary-edit{
  background:transparent;border:none;color:var(--terracota);
  font-size:.66rem;font-weight:700;cursor:pointer;
  text-transform:uppercase;letter-spacing:.5px;
  padding:2px 6px;border-radius:3px;
  transition:background .15s;
}
.wiz-summary-edit:hover{background:var(--terracota-soft)}

.wiz-summary-body{
  margin-top:4px;padding-left:32px;
  font-size:.78rem;color:var(--tinta-soft);line-height:1.45;
}
.wiz-summary-body p{margin:0}
.wiz-summary-empty{color:var(--gris-light);font-style:italic;font-size:.76rem}
.wiz-summary-mini{
  display:block;font-size:.72rem;color:var(--gris);margin-top:2px;
}

/* Card de totales — compacta */
.wiz-summary-totales{
  background:var(--navy);
  color:#fff;
  border-radius:10px;padding:16px 16px 14px;
  margin-top:12px;
  box-shadow:0 2px 6px -1px rgba(10,37,64,.15);
}
.wiz-totales-eyebrow{
  text-transform:uppercase;letter-spacing:1.1px;
  font-size:.64rem;font-weight:700;color:var(--verde);
  margin:0 0 10px;display:flex;align-items:center;gap:6px;
}
.wiz-totales-eyebrow::before{
  content:'';width:14px;height:1px;background:var(--verde);
}
.wiz-totales-line{
  display:flex;justify-content:space-between;align-items:baseline;gap:6px;
  margin:0 0 6px;font-size:.78rem;color:rgba(255,255,255,.78);
}
.wiz-totales-line strong{
  color:#fff;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.88rem;
}
.wiz-totales-line:last-of-type strong{font-size:1.15rem;color:#fff}
.wiz-totales-fine{
  margin:10px 0 0;font-size:.68rem;color:rgba(255,255,255,.55);line-height:1.45;
  padding-top:10px;border-top:1px solid rgba(255,255,255,.12);
}

/* En mobile el sidebar va abajo del form */
@media(max-width:1023px){
  .wiz-summary{order:2;margin-top:18px}
}

/* ════════════════════════════════════════════════════════════
   ENVÍO OK (post-creación) — Capa 5 Iteración 5
   Pantalla serie + docs descargables + tips embalaje + flujo
   ════════════════════════════════════════════════════════════ */
.ok-page{
  max-width:920px;margin:0 auto;padding:0 24px 60px;background:var(--bg);
}

/* ─── Hero ─── */
.ok-hero{
  text-align:center;padding:48px 16px 36px;
}
.ok-hero-ico{margin:0 auto 16px;display:flex;justify-content:center}
.ok-eyebrow{
  text-transform:uppercase;letter-spacing:1.4px;
  font-size:.78rem;font-weight:700;color:var(--verde);
  margin:0 0 6px;
}
.ok-title{
  font-family:Manrope,system-ui,sans-serif;
  font-size:2rem;font-weight:800;color:var(--navy);
  margin:0 0 10px;letter-spacing:-.4px;
}
.ok-sub{
  margin:0;font-size:1rem;color:var(--tinta-soft);line-height:1.5;
  max-width:560px;margin:0 auto;
}

/* ─── Card precio ─── */
.ok-card{
  background:#fff;border:1px solid var(--linea);
  border-radius:14px;padding:24px 26px;
  box-shadow:var(--shadow-sm);
  margin-bottom:22px;
}
.ok-card-eyebrow{
  text-transform:uppercase;letter-spacing:1.2px;
  font-size:.72rem;font-weight:700;color:var(--gris);
  margin:0 0 8px;
}
.ok-precio-card{
  background:linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%);
  border-color:var(--navy);color:#fff;
  text-align:center;padding:32px 24px;
}
.ok-precio-card .ok-card-eyebrow{color:var(--verde)}
.ok-precio{
  font-family:'JetBrains Mono',monospace;font-weight:800;
  font-size:2.6rem;color:#fff;margin:0;letter-spacing:-1px;
  line-height:1.1;
}
.ok-precio span{
  display:block;font-size:.95rem;font-weight:600;
  color:rgba(255,255,255,.75);margin-top:6px;letter-spacing:0;
  font-family:'JetBrains Mono',monospace;
}
.ok-precio-mini{
  margin:14px 0 0;font-size:.92rem;color:rgba(255,255,255,.85);
}
.ok-precio-mini strong{color:#fff;font-family:'JetBrains Mono',monospace}
.ok-precio-nota{
  margin:12px 0 0;font-size:.82rem;color:rgba(255,255,255,.7);line-height:1.5;
  max-width:560px;margin:12px auto 0;
}

/* ─── Banners ─── */
.ok-banner{
  display:flex;gap:14px;align-items:flex-start;
  padding:16px 18px;border:1px solid;border-radius:10px;
  margin-bottom:18px;
}
.ok-banner-ico{flex:0 0 auto}
.ok-banner > div:not(.ok-banner-ico){flex:1}
.ok-banner strong{display:block;color:inherit;font-weight:800;margin-bottom:4px;font-size:.98rem}
.ok-banner p{margin:0;font-size:.92rem;color:inherit;line-height:1.5}
.ok-banner ul{margin:6px 0 0 18px;padding:0;font-size:.92rem}
.ok-banner ul li{margin-bottom:4px}
.ok-banner a{color:inherit;text-decoration:underline}

.ok-banner-ok{
  background:var(--verde-soft);border-color:var(--verde-border);
  border-left:3px solid var(--verde);color:#0a5a3a;
}
.ok-banner-warn{
  background:var(--warn-soft);border-color:var(--warn-border);
  border-left:3px solid var(--warn);color:#7a4900;
}
.ok-banner-doc{
  background:var(--terracota-soft);border-color:var(--terracota-border);
  border-left:3px solid var(--terracota);color:#7a3300;
}

/* ─── Sección genérica ─── */
.ok-section{margin-bottom:34px}
.ok-section-title{
  font-family:Manrope,system-ui,sans-serif;
  font-size:1.3rem;font-weight:800;color:var(--navy);
  margin:0 0 6px;letter-spacing:-.2px;
}
.ok-section-sub{
  margin:0 0 18px;color:var(--tinta-soft);font-size:.95rem;line-height:1.5;
}

/* ─── Docs grid ─── */
.ok-docs-grid{
  display:grid;grid-template-columns:1fr;gap:14px;
}
@media(min-width:720px){
  .ok-docs-grid{grid-template-columns:repeat(3,1fr)}
}
.ok-doc{
  background:#fff;border:1px solid var(--linea);
  border-radius:12px;padding:20px;
  display:flex;flex-direction:column;gap:8px;
  box-shadow:var(--shadow-xs);
  transition:border-color .15s, box-shadow .15s;
}
.ok-doc:hover{border-color:var(--navy);box-shadow:var(--shadow-sm)}
.ok-doc-ico{
  width:44px;height:44px;border-radius:10px;
  background:var(--verde-soft);color:var(--verde-hover);
  display:flex;align-items:center;justify-content:center;margin-bottom:4px;
}
.ok-doc h3{
  font-family:Manrope,system-ui,sans-serif;
  font-size:1.02rem;font-weight:800;color:var(--navy);
  margin:0;
}
.ok-doc p{
  margin:0;font-size:.88rem;color:var(--tinta-soft);line-height:1.5;flex:1;
}
.ok-doc-tag{
  display:inline-block;align-self:flex-start;
  padding:5px 12px;border-radius:99px;
  font-size:.74rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;
  border:1px solid;
}
.ok-doc-tag-pending{
  background:var(--bg-soft);color:var(--gris);border-color:var(--linea);
}
.ok-doc-tag-action{
  background:var(--terracota);color:#fff;border-color:var(--terracota);
  text-decoration:none;
}
.ok-doc-tag-action:hover{background:#a84d28;border-color:#a84d28;color:#fff}

/* ─── Tips embalaje ─── */
.ok-tips{
  list-style:none;padding:0;margin:0;
  display:grid;gap:12px;
}
.ok-tips li{
  display:flex;gap:14px;align-items:flex-start;
  background:#fff;border:1px solid var(--linea);
  border-radius:10px;padding:14px 16px;
}
.ok-tip-num{
  flex:0 0 auto;
  width:28px;height:28px;border-radius:50%;
  background:var(--terracota-soft);color:var(--terracota);
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.95rem;
  border:1px solid var(--terracota-border);
}
.ok-tips strong{
  display:block;color:var(--navy);font-weight:700;margin-bottom:3px;font-size:.96rem;
}
.ok-tips li > div{font-size:.9rem;color:var(--tinta-soft);line-height:1.5;flex:1}

/* ─── Flujo ─── */
.ok-flujo{
  list-style:none;padding:0;margin:0;
  display:grid;gap:14px;
}
.ok-flujo li{
  display:flex;gap:14px;align-items:flex-start;
  background:var(--bg-soft);border:1px solid var(--linea);
  border-radius:10px;padding:16px 18px;
}
.ok-flujo-num{
  flex:0 0 auto;
  width:32px;height:32px;border-radius:50%;
  background:var(--verde);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:1rem;
  font-family:Manrope,system-ui,sans-serif;
}
.ok-flujo strong{
  display:block;color:var(--navy);font-weight:800;margin-bottom:4px;font-size:1rem;
  font-family:Manrope,system-ui,sans-serif;
}
.ok-flujo li > div{font-size:.92rem;color:var(--tinta-soft);line-height:1.55;flex:1}
.ok-link{
  display:inline-block;margin-top:6px;
  color:var(--terracota);font-weight:700;text-decoration:none;
  font-size:.88rem;
}
.ok-link:hover{text-decoration:underline}

/* ─── Fidelidad ─── */
.ok-fidelidad{
  display:flex;gap:18px;align-items:center;
  background:linear-gradient(135deg,var(--verde-soft) 0%,#fff 100%);
  border:1px solid var(--verde-border);border-radius:12px;
  padding:18px 22px;margin-bottom:24px;flex-wrap:wrap;
}
.ok-fidelidad-eyebrow{
  margin:0 0 2px;
  text-transform:uppercase;letter-spacing:1.2px;
  font-size:.72rem;font-weight:700;color:var(--verde-hover);
}
.ok-fidelidad-nivel{
  margin:0;font-family:Manrope,system-ui,sans-serif;
  font-size:1.4rem;font-weight:800;color:var(--navy);letter-spacing:-.3px;
}
.ok-fidelidad-msg{
  margin:0;color:var(--tinta-soft);font-size:.95rem;line-height:1.5;flex:1;min-width:200px;
}
.ok-fidelidad-msg strong{color:var(--navy);font-weight:800}

/* ─── CTAs finales ─── */
.ok-cta{
  display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;
}
.ok-cta .btn-ghost{
  background:transparent;color:var(--navy);
  border:1px solid var(--linea);
}
.ok-cta .btn-ghost:hover{background:var(--navy-soft);border-color:var(--navy)}
.ok-back{margin-top:28px}

/* ════════════════════════════════════════════════════════════
   FIRMA DIGITAL DEL KYC — Capa 5 Iter5
   ════════════════════════════════════════════════════════════ */
.firma-page{
  max-width:780px;margin:0 auto;padding:40px 24px 60px;
}
.firma-bloque{
  background:#fff;border:1px solid var(--linea);
  border-radius:12px;padding:22px 24px;margin-bottom:18px;
}
.firma-bloque-titulo{
  font-family:Manrope,system-ui,sans-serif;
  font-size:1.05rem;font-weight:800;color:var(--navy);
  margin:0 0 14px;letter-spacing:-.1px;
  padding-bottom:10px;border-bottom:1px solid var(--linea);
}
.firma-dl{
  display:grid;grid-template-columns:1fr;gap:8px 24px;margin:0;
}
@media(min-width:680px){
  .firma-dl{grid-template-columns:repeat(2,1fr)}
}
.firma-dl > div{
  display:flex;flex-direction:column;gap:2px;
  padding:8px 0;border-bottom:1px solid var(--linea);
}
.firma-dl > div:last-child{border-bottom:none}
.firma-dl dt{
  font-size:.74rem;color:var(--gris);text-transform:uppercase;letter-spacing:1px;font-weight:700;
  margin:0;
}
.firma-dl dd{
  margin:0;font-size:.95rem;color:var(--tinta);font-weight:600;
}

.firma-decl{
  background:var(--bg-soft);border:1px solid var(--linea);
  border-radius:12px;padding:24px 26px;margin-bottom:18px;
}
.firma-decl-cuerpo{
  background:#fff;border:1px solid var(--linea);
  border-radius:8px;padding:18px 20px;margin:0 0 18px;
  font-size:.94rem;color:var(--tinta);line-height:1.6;
}
.firma-decl-cuerpo p{margin:0 0 12px}
.firma-decl-cuerpo ol{margin:0 0 12px 20px;padding:0}
.firma-decl-cuerpo li{margin-bottom:6px}
.firma-decl-fina{
  font-size:.84rem;color:var(--tinta-soft);
  border-top:1px solid var(--linea);padding-top:10px;
}

.firma-form{margin-top:6px}
.firma-form .kyc-check{margin-bottom:18px}
.firma-cta{
  background:var(--verde);color:#fff;
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 28px;font-size:1rem;font-weight:700;
  border-radius:10px;border:none;cursor:pointer;
  text-decoration:none;
}
.firma-cta:hover{background:var(--verde-hover);color:#fff;text-decoration:none}

/* ════════════════════════════════════════════════════════════
   ADMIN — Cards de KYC (Capa 5 Iter5)
   ════════════════════════════════════════════════════════════ */
.admin-kyc-card{
  background:#fff;border:1px solid var(--linea);border-radius:12px;
  padding:24px 26px;margin-bottom:18px;
  box-shadow:var(--shadow-xs);
}
.admin-kyc-recibida{border-left:4px solid var(--terracota)}
.admin-kyc-esperando_firma{border-left:4px solid var(--warn)}
.admin-kyc-firmada{border-left:4px solid var(--verde)}
.admin-kyc-head{
  display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--linea);
}
.admin-kyc-head h3{
  margin:0;font-family:Manrope,system-ui,sans-serif;
  font-size:1.2rem;font-weight:800;color:var(--navy);
}
.admin-badge-pending{background:var(--terracota-soft);color:#7a3300;border:1px solid var(--terracota-border)}
.admin-badge-warn{background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn-border)}
.admin-badge-ok{background:var(--verde-soft);color:#0a5a3a;border:1px solid var(--verde-border)}
.admin-kyc-dl{
  display:grid;grid-template-columns:repeat(2,1fr);gap:10px 24px;margin:0 0 18px;
}
@media(min-width:900px){.admin-kyc-dl{grid-template-columns:repeat(3,1fr)}}
.admin-kyc-dl > div{
  display:flex;flex-direction:column;gap:2px;padding:6px 0;
  border-bottom:1px solid var(--linea);
}
.admin-kyc-dl-full{grid-column:1 / -1}
.admin-kyc-dl dt{
  font-size:.72rem;color:var(--gris);text-transform:uppercase;
  letter-spacing:1px;font-weight:700;margin:0;
}
.admin-kyc-dl dd{margin:0;font-size:.93rem;color:var(--tinta);font-weight:600}
.admin-kyc-actions{
  display:flex;gap:10px;flex-wrap:wrap;align-items:center;
  padding-top:6px;
}
.admin-kyc-actions .mini{color:var(--tinta-soft);font-size:.85rem}

/* ============================================================
   Tarjeta en garantía + campos de formulario (duty diferido)
   ============================================================ */
.campo{display:flex;flex-direction:column;gap:5px}
.campo>span{font-size:.82rem;font-weight:600;color:var(--tinta-soft)}
.campo input{
  width:100%;padding:10px 12px;border:1px solid var(--linea-strong);
  border-radius:var(--r-md);font-size:.98rem;color:var(--tinta);background:var(--blanco);
  font-family:inherit;
}
.campo input:focus{outline:none;border-color:var(--verde);box-shadow:0 0 0 3px var(--verde-soft)}
.link-danger{color:var(--danger);background:none;border:none;cursor:pointer;font-weight:600;text-decoration:underline;font-size:.9rem;padding:0}

.tarjeta-page .panel-head{margin-bottom:18px}
.tarjeta-info{
  background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-lg);
  padding:20px 22px;margin-bottom:18px;box-shadow:var(--shadow-xs);
}
.tarjeta-info h2{font-size:1.05rem;margin:0 0 10px;color:var(--navy)}
.tarjeta-pasos{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:7px}
.tarjeta-pasos li{font-size:.95rem;color:var(--tinta-soft);line-height:1.45}
.tarjeta-mini{font-size:.85rem;color:var(--gris);margin-top:12px;line-height:1.45}
.tarjeta-badge-mock{
  margin-top:12px;font-size:.85rem;background:var(--warn-soft);color:var(--warn);
  border:1px solid var(--warn-border);border-radius:var(--r-md);padding:8px 12px;
}
.tarjeta-ok{margin-bottom:18px;flex-direction:column;align-items:flex-start}

.tarjeta-lista{margin-bottom:22px}
.tarjeta-lista h2,.tarjeta-form-wrap h2{font-size:1.02rem;color:var(--navy);margin:0 0 12px}
.tarjeta-card{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-md);
  padding:14px 16px;margin-bottom:10px;
}
.tarjeta-card-info{display:flex;align-items:center;gap:14px}
.tarjeta-marca{
  font-weight:800;font-size:.72rem;letter-spacing:.5px;color:#fff;background:var(--navy);
  padding:6px 9px;border-radius:var(--r-sm);min-width:46px;text-align:center;
}
.tarjeta-marca-visa{background:#1a1f71}
.tarjeta-marca-master{background:#c4361e}
.tarjeta-marca-amex{background:#1f72cd}
.tarjeta-card-mini{font-size:.82rem;color:var(--gris);margin-top:2px}
.tarjeta-pred{
  display:inline-block;margin-left:8px;font-size:.7rem;font-weight:700;
  background:var(--verde-soft);color:var(--verde-hover);border-radius:99px;padding:2px 9px;vertical-align:middle;
}
.tarjeta-form-wrap{
  background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r-lg);
  padding:20px 22px;box-shadow:var(--shadow-xs);
}
.tarjeta-form{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.tarjeta-form .campo{grid-column:span 2}
.tarjeta-form .campo-full{grid-column:1/-1}
.tarjeta-form-acciones{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
@media(max-width:560px){
  .tarjeta-form{grid-template-columns:repeat(3,1fr)}
  .tarjeta-form .campo{grid-column:span 1}
}
