:root{
  --verde:#217A46;
  --verde-hondo:#12301F;
  --verde-claro:#E4EDE6;
  --papel:#F4F6F3;
  --blanco:#FFFFFF;
  --linea:#D5DED7;
  --tinta:#1B2620;
  --gris:#5F6D64;
}

*{box-sizing:border-box;}

body{
  margin:0;
  background:var(--papel);
  color:var(--tinta);
  font-family:"Barlow",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:17px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3{
  font-family:"Barlow Condensed","Barlow",sans-serif;
  font-weight:700;
  letter-spacing:.01em;
  line-height:1.1;
  margin:0;
}

a{color:var(--verde);}

.contenedor{
  max-width:1120px;
  margin:0 auto;
  padding:0 24px;
}

/* --- cabecera --- */
.cabecera{
  background:var(--verde-hondo);
  color:var(--blanco);
  border-bottom:4px solid var(--verde);
}
.cabecera-fila{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  padding-top:18px;
  padding-bottom:18px;
  flex-wrap:wrap;
}
.marca{
  text-decoration:none;
  color:var(--blanco);
  display:flex;
  align-items:baseline;
  gap:12px;
  flex-wrap:wrap;
}
.marca-club{
  font-family:"Barlow Condensed",sans-serif;
  font-weight:700;
  font-size:1.5rem;
}
.marca-seccion{
  color:#9FC7AE;
  font-size:1.05rem;
}
.temporada{color:#9FC7AE;font-size:.95rem;}

/* --- portada --- */
.portada{
  background:var(--blanco);
  border-bottom:1px solid var(--linea);
  padding:56px 0 44px;
}
.portada h1{
  font-size:clamp(2.1rem,5vw,3.3rem);
  max-width:15ch;
  color:var(--verde-hondo);
}
.portada-texto{
  max-width:60ch;
  margin:18px 0 0;
  color:var(--gris);
  font-size:1.05rem;
}
.atajos{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}
.atajos a{
  text-decoration:none;
  background:var(--verde-claro);
  color:var(--verde-hondo);
  padding:7px 15px;
  border-radius:999px;
  font-size:.93rem;
  font-weight:500;
}
.atajos a:hover{background:var(--verde);color:var(--blanco);}

/* --- grupos --- */
.grupo{padding:52px 0 8px;}
.grupo-cabecera{
  border-top:3px solid var(--verde);
  padding-top:14px;
  margin-bottom:26px;
  max-width:62ch;
}
.grupo-cabecera h2{font-size:1.85rem;color:var(--verde-hondo);}
.grupo-cabecera p{margin:6px 0 0;color:var(--gris);}

.rejilla{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(232px,1fr));
  gap:22px;
}

/* --- tarjeta de prenda --- */
.prenda{
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:3px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.prenda-enlace{
  text-decoration:none;
  color:inherit;
  display:block;
  padding:0 0 4px;
}
.prenda-foto{
  aspect-ratio:1/1;
  background:var(--verde-claro);
  display:flex;
  align-items:center;
  justify-content:center;
}
.prenda-foto img{width:100%;height:100%;object-fit:cover;display:block;}
.sin-foto{
  color:#8AA795;
  font-size:.85rem;
}
.prenda h3{
  font-size:1.18rem;
  padding:14px 16px 0;
  color:var(--verde-hondo);
}
.prenda-pie{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px 16px;
}
.precio{
  font-family:"Barlow Condensed",sans-serif;
  font-weight:700;
  font-size:1.5rem;
  color:var(--verde-hondo);
}

.boton{
  display:inline-block;
  background:var(--verde);
  color:var(--blanco);
  text-decoration:none;
  padding:9px 17px;
  border-radius:3px;
  font-weight:600;
  font-size:.95rem;
}
.boton:hover{background:#1A6339;}
.boton:focus-visible{outline:3px solid var(--verde-hondo);outline-offset:2px;}
.boton-grande{padding:14px 28px;font-size:1.05rem;margin-top:12px;}

/* --- ficha --- */
.ficha{padding:34px 24px 60px;}
.volver{font-size:.95rem;text-decoration:none;}
.volver:hover{text-decoration:underline;}
.ficha-cuerpo{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:44px;
  margin-top:22px;
  align-items:start;
}
.ficha-foto{
  aspect-ratio:1/1;
  background:var(--verde-claro);
  border:1px solid var(--linea);
  display:flex;align-items:center;justify-content:center;
}
.ficha-foto img{width:100%;height:100%;object-fit:cover;}
.ficha-datos h1{font-size:2.3rem;color:var(--verde-hondo);}
.ficha-precio{
  font-family:"Barlow Condensed",sans-serif;
  font-weight:700;
  font-size:2.1rem;
  color:var(--verde);
  margin:6px 0 0;
}
.ficha-desc{color:var(--gris);max-width:52ch;}
.bloque{margin-top:26px;}
.bloque h2{font-size:1.1rem;color:var(--verde-hondo);}
.bloque p{margin:6px 0 0;color:var(--gris);}
.tallas{
  list-style:none;
  padding:0;
  margin:10px 0 0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.tallas li{
  border:1px solid var(--linea);
  background:var(--blanco);
  padding:5px 12px;
  border-radius:3px;
  font-size:.92rem;
}
.aviso{font-size:.9rem;color:var(--gris);max-width:46ch;margin-top:12px;}

/* --- pie --- */
.pie{
  background:var(--verde-hondo);
  color:#A9CBB6;
  margin-top:60px;
  padding:30px 0;
  font-size:.93rem;
}
.pie p{margin:0 0 8px;max-width:62ch;}
.pie-enlaces{display:flex;gap:18px;}
.pie a{color:var(--blanco);}

@media (max-width:720px){
  .ficha-cuerpo{grid-template-columns:1fr;gap:26px;}
  .portada{padding:38px 0 32px;}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important;}
}

/* =================== panel de gestion =================== */
.es-admin{background:#EDF1EE;}
.admin-nav{display:flex;gap:18px;flex-wrap:wrap;}
.admin-nav a{color:#9FC7AE;text-decoration:none;font-size:.95rem;}
.admin-nav a:hover{color:var(--blanco);}
.admin-cuerpo{padding-top:28px;padding-bottom:64px;}

.admin-titulo h1{font-size:2rem;color:var(--verde-hondo);}
.apunte{color:var(--gris);font-size:.93rem;margin:6px 0 0;max-width:66ch;}
.sub-titulo{margin:36px 0 12px;font-size:1.3rem;color:var(--verde-hondo);}

.aviso-ok,.aviso-error{
  padding:11px 15px;border-radius:3px;margin:0 0 18px;font-size:.95rem;
}
.aviso-ok{background:#DCEFE2;border-left:4px solid var(--verde);color:var(--verde-hondo);}
.aviso-error{background:#F8E3E0;border-left:4px solid #B4432F;color:#7A2A1C;}

.resumen{display:flex;gap:34px;flex-wrap:wrap;margin:22px 0 26px;
  background:var(--blanco);border:1px solid var(--linea);padding:18px 22px;border-radius:3px;}
.resumen div{color:var(--gris);font-size:.92rem;}
.cifra{display:block;font-family:"Barlow Condensed",sans-serif;font-weight:700;
  font-size:1.8rem;color:var(--verde-hondo);line-height:1.1;}

.filtros{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:22px;}
.filtros input[type=search],.filtros select{
  padding:9px 12px;border:1px solid var(--linea);border-radius:3px;
  font-family:inherit;font-size:.95rem;background:var(--blanco);color:var(--tinta);}
.filtros input[type=search]{min-width:270px;flex:1;}
.limpiar{font-size:.9rem;}

.tabla-scroll{overflow-x:auto;background:var(--blanco);
  border:1px solid var(--linea);border-radius:3px;}
.tabla{width:100%;border-collapse:collapse;font-size:.93rem;}
.tabla th{
  text-align:left;padding:12px 14px;background:var(--verde-claro);
  color:var(--verde-hondo);font-family:"Barlow Condensed",sans-serif;
  font-weight:700;font-size:1.02rem;white-space:nowrap;}
.tabla td{padding:12px 14px;border-top:1px solid var(--linea);vertical-align:top;}
.tabla tbody tr:hover{background:#F7FAF8;}
.mono{font-variant-numeric:tabular-nums;white-space:nowrap;}
.sub{display:block;color:var(--gris);font-size:.85rem;}
.detalles{min-width:230px;}
.dato{display:block;font-size:.87rem;color:var(--gris);}
.dato b{color:var(--tinta);font-weight:600;}

.sel-entrega{padding:6px 9px;border:1px solid var(--linea);border-radius:3px;
  font-family:inherit;font-size:.88rem;background:var(--blanco);}
.estado-pendiente{background:#FCF1DC;}
.estado-parcial{background:#E7EFF9;}
.estado-completado{background:#DCEFE2;}

.vacio{background:var(--blanco);border:1px dashed var(--linea);
  padding:28px;text-align:center;color:var(--gris);border-radius:3px;}

.entrar,.importar{background:var(--blanco);border:1px solid var(--linea);
  border-radius:3px;padding:28px;max-width:520px;}
.entrar h1{font-size:1.6rem;color:var(--verde-hondo);margin-bottom:16px;}
.entrar label,.importar label{display:block;font-weight:600;font-size:.93rem;
  margin:16px 0 6px;color:var(--verde-hondo);}
.entrar input,.importar select,.importar input[type=file]{
  width:100%;padding:10px 12px;border:1px solid var(--linea);border-radius:3px;
  font-family:inherit;font-size:.98rem;background:var(--blanco);color:var(--tinta);}
.entrar button{margin-top:18px;border:0;cursor:pointer;font-family:inherit;}
.importar button{margin-top:22px;border:0;cursor:pointer;font-family:inherit;}

/* --- inventario --- */
.stock-bloque{background:var(--blanco);border:1px solid var(--linea);
  border-radius:3px;padding:16px 18px;margin-bottom:14px;}
.stock-bloque h2{font-size:1.15rem;color:var(--verde-hondo);
  display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.stock-total{margin-left:auto;font-family:"Barlow Condensed",sans-serif;
  font-size:1.4rem;color:var(--verde);}
.etiqueta{font-family:"Barlow",sans-serif;font-weight:500;font-size:.72rem;
  background:var(--verde-claro);color:var(--verde-hondo);
  padding:3px 8px;border-radius:999px;}
.stock-celdas{display:flex;flex-wrap:wrap;gap:10px;}
.celda{display:flex;flex-direction:column;gap:4px;min-width:96px;}
.celda span{font-size:.78rem;color:var(--gris);}
.celda input{width:100%;padding:7px 9px;border:1px solid var(--linea);
  border-radius:3px;font-family:inherit;font-size:1rem;text-align:center;
  font-variant-numeric:tabular-nums;background:var(--blanco);color:var(--tinta);}
.celda-cero input{color:#9AA79F;background:#FAFBFA;}
.celda input:focus{outline:2px solid var(--verde);outline-offset:1px;}
.acciones-flotante{position:sticky;top:0;z-index:5;padding:10px 0;
  background:#EDF1EE;margin-bottom:8px;}
.acciones-flotante button{border:0;cursor:pointer;font-family:inherit;}
form > .boton-grande{border:0;cursor:pointer;font-family:inherit;margin-top:16px;}

/* --- necesidades --- */
.fila-falta{background:#FDF3E8;}
.fila-falta td b{color:#9A4A1E;}

/* --- previsualizacion --- */
.incidencia{background:var(--blanco);border:1px solid var(--linea);
  border-radius:3px;padding:10px 14px;margin-bottom:8px;}
.incidencia summary{cursor:pointer;font-weight:600;color:var(--verde-hondo);}
.incidencia ul{margin:10px 0 0;padding-left:20px;color:var(--gris);font-size:.9rem;}
.incidencia li{margin-bottom:3px;}
.confirmar{margin-top:26px;display:flex;align-items:center;gap:18px;}
.confirmar button{border:0;cursor:pointer;font-family:inherit;}

/* --- notas en la tabla --- */
.col-notas{min-width:180px;}
.col-notas textarea{width:100%;border:1px solid var(--linea);border-radius:3px;
  font-family:inherit;font-size:.85rem;padding:6px 8px;resize:vertical;
  background:var(--blanco);color:var(--tinta);}
.mini{margin-top:4px;background:var(--verde-claro);color:var(--verde-hondo);
  border:0;border-radius:3px;padding:4px 10px;font-size:.78rem;cursor:pointer;
  font-family:inherit;font-weight:600;}
.mini:hover{background:var(--verde);color:var(--blanco);}
.chip-aviso{display:inline-block;background:#FCF1DC;color:#8A5A1B;
  font-size:.72rem;padding:2px 7px;border-radius:999px;margin-bottom:4px;}

/* --- gestion de prendas --- */
.rejilla-prendas{display:grid;gap:16px;
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr));}
.tarjeta-prenda{background:var(--blanco);border:1px solid var(--linea);
  border-radius:3px;padding:14px;}
.tp-foto{aspect-ratio:1/1;background:var(--verde-claro);margin-bottom:10px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;}
.tp-foto img{width:100%;height:100%;object-fit:cover;}
.tarjeta-prenda h2{font-size:1.05rem;color:var(--verde-hondo);margin-bottom:8px;}
.tarjeta-prenda textarea{width:100%;border:1px solid var(--linea);border-radius:3px;
  font-family:inherit;font-size:.85rem;padding:6px 8px;resize:vertical;
  margin-bottom:8px;background:var(--blanco);color:var(--tinta);}
.tarjeta-prenda input[type=file]{width:100%;font-size:.8rem;margin-bottom:10px;}
.tp-acciones{display:flex;gap:8px;align-items:center;}
.tp-acciones .boton{border:0;cursor:pointer;font-family:inherit;font-size:.88rem;padding:7px 14px;}

/* --- navegacion publica y carrito --- */
.nav-publica{display:flex;gap:18px;align-items:baseline;}
.nav-publica a{color:#9FC7AE;text-decoration:none;font-size:.95rem;}
.nav-publica a:hover{color:var(--blanco);}
.enlace-carrito{background:var(--verde);color:var(--blanco)!important;
  padding:6px 14px;border-radius:999px;font-weight:600;}
.enlace-carrito:hover{background:#2C9557;}

.tit-carrito{font-size:2.1rem;color:var(--verde-hondo);margin:16px 0 20px;}
.tabla-carrito{width:100%;border-collapse:collapse;background:var(--blanco);
  border:1px solid var(--linea);border-radius:3px;}
.tabla-carrito td{padding:13px 15px;border-top:1px solid var(--linea);
  vertical-align:middle;}
.tabla-carrito tbody tr:first-child td{border-top:0;}
.tabla-carrito tfoot td{border-top:2px solid var(--verde);background:#F7FAF8;}
.total-carrito{font-family:"Barlow Condensed",sans-serif;font-weight:700;
  font-size:1.4rem;color:var(--verde-hondo);}

.form-anadir{background:#F7FAF8;border:1px solid var(--linea);border-radius:3px;
  padding:16px;margin-top:18px;}
.form-anadir label{display:block;font-weight:600;font-size:.9rem;
  margin:10px 0 5px;color:var(--verde-hondo);}
.form-anadir select,.form-anadir input{width:100%;padding:10px 12px;
  border:1px solid var(--linea);border-radius:3px;font-family:inherit;
  font-size:1rem;background:var(--blanco);color:var(--tinta);}
.form-anadir button{border:0;cursor:pointer;font-family:inherit;width:100%;}

.datos-pedido{background:var(--blanco);border:1px solid var(--linea);
  border-radius:3px;padding:24px;margin-top:26px;max-width:560px;}
.datos-pedido h2{font-size:1.3rem;color:var(--verde-hondo);}
.datos-pedido label{display:block;font-weight:600;font-size:.9rem;
  margin:16px 0 5px;color:var(--verde-hondo);}
.datos-pedido input{width:100%;padding:10px 12px;border:1px solid var(--linea);
  border-radius:3px;font-family:inherit;font-size:1rem;
  background:var(--blanco);color:var(--tinta);}
.datos-pedido button{border:0;cursor:pointer;font-family:inherit;}

/* --- pantalla de pedido --- */
.estado-banda{padding:22px 24px;border-radius:3px;margin:16px 0 28px;}
.estado-banda h1{font-size:1.9rem;margin-bottom:6px;}
.estado-banda p{margin:0;}
.estado-pendiente{background:var(--verde-claro);border-left:5px solid var(--verde);}
.estado-pendiente h1{color:var(--verde-hondo);}
.estado-ok{background:#DCEFE2;border-left:5px solid var(--verde);}
.estado-ok h1{color:var(--verde-hondo);}
.estado-revisar{background:#FCF1DC;border-left:5px solid #C58A2A;}
.estado-revisar h1{color:#7A5312;}

.paso{background:var(--blanco);border:1px solid var(--linea);border-radius:3px;
  padding:22px 24px;margin-bottom:16px;}
.paso h2{font-size:1.35rem;color:var(--verde-hondo);display:flex;
  align-items:center;gap:12px;margin-bottom:10px;}
.num{background:var(--verde);color:var(--blanco);width:30px;height:30px;
  border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  font-size:1rem;flex:none;}
.paso p{margin:0 0 10px;color:var(--gris);max-width:60ch;}

.codigo-caja{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  background:var(--verde-claro);padding:16px 20px;border-radius:3px;margin:12px 0;}
.codigo{font-family:"Barlow Condensed",monospace;font-weight:700;
  font-size:2.6rem;letter-spacing:.12em;color:var(--verde-hondo);}
.codigo-caja button{border:0;cursor:pointer;font-family:inherit;}

.marcar{list-style:none;padding:0;margin:14px 0;}
.marcar li{display:flex;justify-content:space-between;gap:16px;
  padding:12px 16px;border:1px solid var(--linea);border-radius:3px;
  margin-bottom:8px;background:#F7FAF8;flex-wrap:wrap;}
.marcar-art{font-weight:600;color:var(--verde-hondo);}
.marcar-uds{font-family:"Barlow Condensed",sans-serif;font-weight:700;
  font-size:1.15rem;color:var(--verde);white-space:nowrap;}
.total-pagar{font-size:1.1rem;color:var(--tinta)!important;}
.total-pagar b{font-family:"Barlow Condensed",sans-serif;font-size:1.5rem;
  color:var(--verde-hondo);}
.resumen-pedido{margin-top:34px;}
.resumen-pedido h2{font-size:1.3rem;color:var(--verde-hondo);margin-bottom:12px;}

/* --- pedidos de la web en el panel --- */
.pedido-web{background:var(--blanco);border:1px solid var(--linea);
  border-radius:3px;margin-bottom:12px;overflow:hidden;}
.pedido-web header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:12px 16px;background:#F7FAF8;border-bottom:1px solid var(--linea);}
.pw-codigo{font-family:"Barlow Condensed",monospace;font-weight:700;
  font-size:1.3rem;letter-spacing:.08em;color:var(--verde-hondo);}
.pw-atleta{font-weight:600;}
.pw-total{margin-left:auto;font-family:"Barlow Condensed",sans-serif;
  font-weight:700;font-size:1.25rem;color:var(--verde-hondo);}
.chip{font-size:.75rem;padding:3px 10px;border-radius:999px;font-weight:600;}
.chip-pendiente,.chip-huerfano{background:#FCF1DC;color:#8A5A1B;}
.chip-pagado,.chip-conciliado{background:#DCEFE2;color:#1A6339;}
.chip-revisar{background:#F8E3E0;color:#8A2F1C;}
.chip-anulado{background:#EDEFEE;color:#69736C;}
.pw-cuerpo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);
  gap:20px;padding:14px 16px;}
.pw-lineas{list-style:none;padding:0;margin:0;}
.pw-lineas li{padding:5px 0;font-size:.93rem;}
.talla-chip{background:var(--verde-claro);color:var(--verde-hondo);
  font-size:.75rem;padding:2px 8px;border-radius:999px;margin-left:6px;}
.pw-datos .sub{margin:0 0 4px;}
.aviso-linea{background:#FCF1DC;color:#7A5312;padding:7px 11px;
  border-radius:3px;font-size:.85rem;margin:6px 0;}
.pw-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px;}
.pw-form select,.pw-form input{padding:6px 9px;border:1px solid var(--linea);
  border-radius:3px;font-family:inherit;font-size:.85rem;
  background:var(--blanco);color:var(--tinta);}
.pw-form input{flex:1;min-width:130px;}
.lista-huerfanos{margin:10px 0 0;padding-left:20px;font-size:.88rem;font-weight:400;}
@media (max-width:760px){.pw-cuerpo{grid-template-columns:1fr;}}

.boton-seguir{display:inline-block;margin-top:14px;padding:11px 20px;
  border:2px dashed var(--verde);border-radius:3px;color:var(--verde-hondo);
  text-decoration:none;font-weight:600;background:var(--blanco);}
.boton-seguir:hover{background:var(--verde-claro);}
.casilla{display:flex!important;align-items:center;gap:9px;font-weight:400!important;
  margin:16px 0 6px!important;cursor:pointer;color:var(--tinta)!important;}
.casilla input{width:auto!important;margin:0;}
.opcional{font-weight:400;color:var(--gris);font-size:.85rem;}

.nota-tallas,.nota-campo{font-size:.85rem;color:var(--gris);margin:10px 0 0;
  line-height:1.45;}
.casilla{display:flex!important;flex-direction:row!important;align-items:flex-start;
  gap:10px;font-weight:400!important;margin:18px 0 8px!important;cursor:pointer;
  color:var(--tinta)!important;}
.casilla input[type=checkbox]{width:18px!important;height:18px;flex:none;margin:2px 0 0;}
.casilla span{font-size:.94rem;}

.bloque-unidad{border:1px solid var(--linea);border-radius:3px;padding:12px 14px;
  margin:12px 0 0;background:var(--blanco);}
.bloque-unidad legend{font-family:"Barlow Condensed",sans-serif;font-weight:700;
  font-size:1.05rem;color:var(--verde-hondo);padding:0 6px;}
.bloque-unidad label{margin-top:10px!important;}
.bloque-unidad label:first-of-type{margin-top:0!important;}

/* ===================== movil ===================== */
@media (max-width:640px){
  body{font-size:16px;}
  .contenedor{padding:0 16px;}

  .cabecera-fila{gap:10px;padding:12px 0;}
  .marca-club{font-size:1.15rem;}
  .marca-seccion,.temporada{font-size:.85rem;}
  .nav-publica{width:100%;justify-content:space-between;gap:10px;}
  .admin-nav{width:100%;gap:12px 14px;font-size:.88rem;}
  .admin-nav a{font-size:.88rem;}

  .portada{padding:30px 0 26px;}
  .portada h1{font-size:1.75rem;}
  .rejilla{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;}
  .prenda h3{font-size:1rem;padding:11px 12px 0;}
  .prenda-pie{padding:10px 12px 13px;gap:8px;}
  .precio{font-size:1.2rem;}

  .ficha{padding:22px 16px 44px;}
  .ficha-datos h1{font-size:1.65rem;}
  .ficha-precio{font-size:1.7rem;}

  /* el codigo del pedido no debe desbordar nunca */
  .codigo{font-size:1.9rem;letter-spacing:.06em;word-break:break-all;}
  .codigo-caja{padding:14px;gap:10px;}
  .codigo-caja button{flex:none;}

  .paso{padding:16px;}
  .paso h2{font-size:1.15rem;gap:9px;}
  .estado-banda{padding:16px;}
  .estado-banda h1{font-size:1.45rem;}
  .marcar li{flex-direction:column;gap:3px;}

  /* tablas que se apilan en fichas */
  .tabla-carrito td{padding:10px 12px;}
  .tabla-carrito{font-size:.92rem;}

  .datos-pedido,.entrar,.importar{padding:18px;}
  .resumen{gap:18px 26px;padding:14px 16px;}
  .cifra{font-size:1.45rem;}

  .filtros{flex-direction:column;align-items:stretch;}
  .filtros input[type=search],.filtros select,.filtros .boton{width:100%;min-width:0;}

  .pedido-web header{gap:8px;}
  .pw-codigo{font-size:1.1rem;}
  .pw-total{margin-left:0;}
  .pw-form{flex-direction:column;align-items:stretch;}
  .pw-form select,.pw-form input,.pw-form button{width:100%;}

  .stock-celdas{gap:8px;}
  .celda{min-width:calc(50% - 4px);flex:1;}
  .rejilla-prendas{grid-template-columns:1fr;}
  .acciones-flotante button{width:100%;}
}

@media (max-width:380px){
  .codigo{font-size:1.55rem;}
  .rejilla{grid-template-columns:1fr 1fr;}
}

/* --- entrega por linea --- */
.pw-lineas li{display:flex;align-items:flex-start;gap:10px;padding:6px 0;}
.linea-entrega{flex:none;}
.casilla-entrega{width:26px;height:26px;border:2px solid var(--linea);
  background:var(--blanco);border-radius:4px;cursor:pointer;font-size:1rem;
  line-height:1;color:var(--verde);font-weight:700;padding:0;
  display:flex;align-items:center;justify-content:center;font-family:inherit;}
.casilla-entrega:hover{border-color:var(--verde);}
.ya-entregada .casilla-entrega{background:var(--verde);border-color:var(--verde);
  color:var(--blanco);}
.ya-entregada .linea-texto{opacity:.55;text-decoration:line-through;}
.ya-entregada .talla-chip{text-decoration:none;}
.linea-texto{flex:1;}
.chip-entrega-pendiente{background:#FCF1DC;color:#8A5A1B;}
.chip-entrega-parcial{background:#E7EFF9;color:#20476F;}
.chip-entrega-completado{background:#DCEFE2;color:#1A6339;}

/* --- inventario --- */
.leyenda{font-size:.87rem;color:var(--gris);margin:0 0 16px;
  display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
.lg{display:inline-block;min-width:22px;text-align:center;padding:1px 7px;
  border-radius:999px;font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;}
.lg-hay{background:var(--verde-claro);color:var(--verde-hondo);}
.lg-debe{background:#E7EFF9;color:#20476F;}
.lg-falta{background:#F8E3E0;color:#8A2F1C;}
.bloque-falta{border-color:#E4B9AF;}
.etiqueta-falta{background:#F8E3E0;color:#8A2F1C;}
.celda-falta input{border-color:#D99C8D;background:#FDF6F4;}
.celda-pie{display:flex;gap:5px;margin-top:4px;justify-content:center;}
.instrucciones{margin:10px 0 14px;padding-left:22px;color:var(--gris);
  font-size:.93rem;line-height:1.7;max-width:62ch;}
.instrucciones b{color:var(--tinta);}
.enlace-historico{margin:0 0 18px;font-size:.87rem;}

/* casilla de entrega: cuadro claro, nunca una rayita */
.pw-lineas li{align-items:center;}
.casilla-entrega{width:24px;height:24px;min-width:24px;min-height:24px;
  border:2px solid #9AA79F;background:var(--blanco);border-radius:4px;
  box-sizing:border-box;appearance:none;-webkit-appearance:none;
  font-size:.95rem;line-height:1;}
.ya-entregada .casilla-entrega{border-color:var(--verde);}
.linea-texto{display:flex;flex-wrap:wrap;align-items:center;gap:5px;
  line-height:1.5;}
.talla-chip{margin-left:0;white-space:nowrap;}

/* --- pantalla de pago simplificada --- */
.pagar{background:var(--blanco);border:1px solid var(--linea);border-radius:3px;
  padding:24px;margin:18px 0 20px;}
.pagar-rotulo{font-family:"Barlow Condensed",sans-serif;font-weight:700;
  font-size:1.25rem;color:var(--verde-hondo);margin:0 0 8px;}
.pagar .marcar{margin:0 0 12px;}
.pagar .codigo-caja{margin:0 0 18px;}
.pagar-rotulo + .codigo-caja{margin-bottom:22px;}
.pagar-rotulo:not(:first-child){margin-top:26px;}
.marcar-uds{font-size:1.3rem;min-width:30px;text-align:right;}
.boton-pagar{display:block;text-align:center;margin-top:20px;}
.pagar-nota{font-size:.88rem;color:var(--gris);margin:8px 0 0;}
.letra-chica{font-size:.82rem;margin-top:18px;max-width:54ch;}
.detalle-pedido{background:var(--blanco);border:1px solid var(--linea);
  border-radius:3px;padding:14px 18px;}
.detalle-pedido summary{cursor:pointer;font-weight:600;color:var(--verde-hondo);}
.detalle-pedido .tabla-carrito{border:0;margin-top:12px;}

.estado-comprobando{background:#E7EFF9;border-left:5px solid #3E6FA8;}
.estado-comprobando h1{color:#20476F;}
.sin-margen{margin-top:0;margin-bottom:12px;}
/* que el texto se vea desde el primer instante, sin esperar a la tipografia */
body{font-family:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;}
h1,h2,h3{font-family:"Barlow Condensed","Barlow",system-ui,sans-serif;}

.mini-borrar{background:#F8E3E0;color:#8A2F1C;margin-top:6px;}
.mini-borrar:hover{background:#B4432F;color:var(--blanco);}
.zona-peligro{background:var(--blanco);border:1px solid #E4B9AF;border-radius:3px;
  padding:12px 16px;margin-bottom:16px;}
.zona-peligro summary{cursor:pointer;color:#8A2F1C;font-weight:600;font-size:.92rem;}
.zona-peligro p{color:var(--gris);font-size:.88rem;margin:10px 0;max-width:62ch;}
.zona-peligro form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.zona-peligro input{padding:7px 10px;border:1px solid var(--linea);border-radius:3px;
  font-family:inherit;font-size:.88rem;background:var(--blanco);color:var(--tinta);}

.celda-negativa input{border-color:#B4432F;background:#FBEAE6;color:#8A2F1C;
  font-weight:700;}

/* ===== tipografia del sistema: sin peticiones externas, dibuja al instante =====
   Antes se cargaba Barlow desde Google Fonts y eso obligaba al navegador a
   esperar a un servidor ajeno antes de mostrar la pagina. */
body{
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",
              Arial,sans-serif;
}
h1,h2,h3,.codigo,.cifra,.precio,.ficha-precio,.total-carrito,.pw-codigo,
.pw-total,.stock-total,.marcar-uds,.pagar-rotulo,.marca-club,.total-pagar b{
  font-family:"Helvetica Neue Condensed","Arial Narrow",system-ui,
              -apple-system,"Segoe UI",Roboto,sans-serif;
  letter-spacing:-.01em;
}
.codigo{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  letter-spacing:.1em;}

.avisos{padding-top:18px;}
.avisos .aviso-ok,.avisos .aviso-error{margin-bottom:0;}

/* ---- cabecera publica en movil: no debe desbordarse ---- */
@media (max-width:640px){
  .cabecera-fila{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
    padding:14px 0;
  }
  .marca{gap:8px;}
  .marca-club{font-size:1.1rem;line-height:1.2;}
  .marca-seccion{font-size:.9rem;}
  .nav-publica{
    width:100%;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  .enlace-carrito{
    padding:8px 16px;
    font-size:.92rem;
    white-space:nowrap;
  }
  .nav-publica a:not(.enlace-carrito){font-size:.92rem;}
  /* nada puede salirse de la pantalla */
  html,body{overflow-x:hidden;}
  .contenedor{padding-left:18px;padding-right:18px;}
}

@media (max-width:400px){
  .marca{flex-direction:column;gap:2px;align-items:flex-start;}
  .marca-club{font-size:1.05rem;}
  .enlace-carrito{padding:8px 13px;font-size:.88rem;}
}

/* ---- vista de entrenadores ---- */
.cab-entrenadores{display:flex;align-items:baseline;justify-content:space-between;
  gap:16px;flex-wrap:wrap;}
.marca-entregada{flex:none;width:22px;text-align:center;font-weight:700;
  color:var(--verde);}
.ya-entregada .marca-entregada{color:var(--verde);}
li:not(.ya-entregada) .marca-entregada{color:#C2CCC6;}

/* ---- editar las prendas de un pedido ---- */
.editar-pedido{margin-top:10px;background:#F7FAF8;border:1px solid var(--linea);
  border-radius:3px;padding:10px 14px;}
.editar-pedido summary{cursor:pointer;font-size:.88rem;font-weight:600;
  color:var(--verde-hondo);}
.ed-linea{display:flex;gap:7px;align-items:center;flex-wrap:wrap;
  padding:9px 0;border-top:1px solid var(--linea);}
.editar-pedido > form:first-of-type{border-top:0;}
.ed-nombre{font-size:.87rem;flex:1;min-width:140px;}
.ed-linea select,.ed-linea input{padding:5px 8px;border:1px solid var(--linea);
  border-radius:3px;font-family:inherit;font-size:.82rem;
  background:var(--blanco);color:var(--tinta);}
.ed-uds{width:62px;text-align:center;}
.ed-anadir{border-top:2px solid var(--verde-claro);margin-top:4px;}
.ed-anadir select[name=slug]{flex:1;min-width:190px;}
.ed-opciones{display:flex;gap:6px;flex-wrap:wrap;}

.boton-nuevo{display:inline-block;font-size:.9rem;padding:8px 16px;}
.huerfano{margin-bottom:12px;}
.form-asociar{display:flex;gap:7px;align-items:center;margin-top:5px;flex-wrap:wrap;}
.form-asociar input{padding:5px 9px;border:1px solid var(--linea);border-radius:3px;
  font-family:inherit;font-size:.83rem;background:var(--blanco);color:var(--tinta);
  width:170px;}
#opciones label{margin-top:12px;}

.mini-ajustar{background:#E7EFF9;color:#20476F;margin-top:6px;}
.mini-ajustar:hover{background:#3E6FA8;color:var(--blanco);}
.nota-ajuste{background:#EEF2F7;color:#3B4A5A;padding:7px 11px;border-radius:3px;
  font-size:.83rem;margin:8px 0 0;border-left:3px solid #8FA7C2;}
.talla-falta{background:#FCF1DC;color:#8A5A1B;font-style:italic;}

.chip-origen{font-size:.72rem;padding:2px 8px;border-radius:999px;
  white-space:nowrap;font-weight:600;}
.origen-pago{background:#E7EFF9;color:#20476F;}
.origen-nopago{background:#F8E3E0;color:#8A2F1C;}
.linea-no-pagada .linea-texto{opacity:.65;}
.casilla-vacia{width:24px;height:24px;min-width:24px;flex:none;
  display:flex;align-items:center;justify-content:center;
  border:2px dashed #D99C8D;border-radius:4px;color:#B4432F;
  font-size:.85rem;font-weight:700;box-sizing:border-box;}

.marca-linea{display:block;font-size:.78rem;margin-top:4px;font-weight:600;}
.marca-entrega{color:#1A6339;}
.marca-falta{color:#8A2F1C;}
.fila-no-pagada td:first-child b{opacity:.6;}
.pie-aviso{font-size:.82rem;color:var(--gris);padding-top:10px!important;}

.chip-becado{background:#EDE7F6;color:#4A3A7A;}

.mini-descartar{background:#EDEFEE;color:#5F6D64;}
.mini-descartar:hover{background:#5F6D64;color:var(--blanco);}
.zona-descartados{background:var(--blanco);border:1px solid var(--linea);
  border-radius:3px;padding:10px 16px;margin-bottom:16px;}
.zona-descartados summary{cursor:pointer;color:var(--gris);font-size:.88rem;
  font-weight:600;}
.zona-descartados .lista-huerfanos{color:var(--gris);}

.boton-excel{background:var(--verde-hondo);margin-left:8px;}
.boton-excel:hover{background:#0B2014;}

.origen-aparte{background:#EDE7F6;color:#4A3A7A;}
.form-inline{display:inline;}
.mini-aparte{background:#EDE7F6;color:#4A3A7A;margin-left:4px;}
.mini-aparte:hover{background:#4A3A7A;color:var(--blanco);}

.lg-camino{background:#EDE7F6;color:#4A3A7A;}

/* ---- pedidos al proveedor ---- */
.input-recibidas{width:80px;padding:6px 8px;border:1px solid var(--linea);
  border-radius:3px;font-family:inherit;font-size:.95rem;text-align:center;
  background:var(--blanco);color:var(--tinta);}
.fila-completa{background:#F1F8F3;}
.fila-parcial{background:#FBF7EC;}

/* ---- pestanas y prendas (entrenadores) ---- */
.pestanas{display:flex;gap:4px;border-bottom:2px solid var(--linea);margin:14px 0 20px;}
.pestanas a{padding:9px 18px;text-decoration:none;color:var(--gris);font-weight:600;
  border-bottom:3px solid transparent;margin-bottom:-2px;}
.pestanas a.activa{color:var(--verde-hondo);border-bottom-color:var(--verde);}
.bloque-prenda{margin-bottom:18px;}
.bloque-prenda h2{font-size:1.15rem;color:var(--verde-hondo);margin-bottom:8px;
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.tabla-prendas td:first-child{font-weight:600;}
.tabla-prendas td.mono{text-align:center;}
.tabla-prendas th:not(:first-child){text-align:center;}
.tabla-prendas td:first-child{white-space:nowrap;}
@media (max-width:640px){
  .tabla-prendas{font-size:.82rem;}
  .tabla-prendas th,.tabla-prendas td{padding:8px 6px;}
  .tabla-prendas th{font-size:.82rem;white-space:normal;line-height:1.15;}
  .cab-entrenadores{flex-direction:column;gap:4px;}
}

/* ---- entregar por prendas dentro de una equipacion ---- */
.pw-lineas > li{flex-wrap:wrap;}
.pw-lineas .partes{list-style:none;margin:2px 0 4px 36px;padding:0;flex-basis:100%;
  border-left:2px solid var(--linea);padding-left:10px;}
.pw-lineas .partes li{display:block;padding:3px 0;font-size:.86rem;}
.parte-form{display:grid;grid-template-columns:20px 1fr;align-items:center;column-gap:8px;row-gap:3px;margin:0;width:100%;}
.parte-form > :nth-child(n+4){grid-column:2;justify-self:start;}
.casilla-entrega.casilla-parte{width:20px;height:20px;min-width:20px;min-height:20px;font-size:.75rem;}
.parte-talla{font-size:.8rem;padding:2px 4px;max-width:12rem;}
.partes .ya-entregada .parte-nombre{opacity:.55;text-decoration:line-through;}
