/* Cascos en Mi Gallardo y avisos del carrito.
   Vive en el plugin y no en el tema a propósito: si algún día se cambia de
   tema, el portal del cliente no puede quedarse sin estilos. */

.gp-casco-resumen{
  background:#fdf2e2;
  border:1px solid #f0d9b4;
  border-radius:3px;
  padding:15px 18px;
  margin-bottom:1.3em;
}
.gp-casco-resumen b{
  display:block;
  font-size:1.6em;
  line-height:1.1;
  color:#8f5000;
  font-variant-numeric:tabular-nums;
}
.gp-casco-resumen span{ display:block; font-size:.85em; color:#5d6b80; margin-top:.2em; }

.gp-tabla{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  border:1px solid #dde3ec;
  border-radius:3px;
  font-size:.86em;
}
.gp-tabla th{
  background:#f1f4f9;
  color:#002A6F;
  font-size:.82em;
  letter-spacing:.05em;
  text-transform:uppercase;
  text-align:left;
  padding:10px 12px;
  font-weight:600;
}
.gp-tabla td{ padding:12px; border-top:1px solid #eef1f6; vertical-align:middle; }
.gp-tabla .gp-num{ text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.gp-tabla .gp-acc{ text-align:right; white-space:nowrap; }
.gp-tabla .gp-ref{ font-variant-numeric:tabular-nums; letter-spacing:.02em; }
.gp-tabla .gp-ref small{ display:block; font-size:.82em; color:#5d6b80; letter-spacing:0; }
.gp-urge{ display:block; color:#9a2b31; font-weight:600; font-size:.85em; }

/* La cuenta atrás del casco. Verde mientras sobra tiempo, rojo los últimos
   siete días, gris cuando ya no hay nada que hacer: el color dice qué pasa
   antes de leer el número. */
.gp-quedan{ display:block; color:#2c7a4b; font-weight:600; font-size:.85em; }
.gp-cad{ display:block; color:#5d6b80; font-weight:600; font-size:.85em; }
.gp-cad-nota{
  display:inline-block; color:#5d6b80; font-size:.86em; font-weight:600;
  border:1px dashed #c3cbd8; border-radius:3px; padding:4px 9px; white-space:nowrap;
}

/* El aviso de plazo terminado en el formulario de devolución. */
.gp-dc-caduco{
  border:1px solid #e3d6b8; border-left:4px solid #b9902b; background:#fdf8ec;
  border-radius:3px; padding:16px 18px; margin:0 0 18px;
}
.gp-dc-caduco strong{ display:block; color:#7a5f14; margin-bottom:8px; font-size:1.02em; }
.gp-dc-caduco ul{ margin:0 0 10px 18px; }
.gp-dc-caduco li{ font-variant-numeric:tabular-nums; }
.gp-dc-caduco p{ margin:0 0 6px; font-size:.94em; color:#3d4550; }

.gp-pill{
  display:inline-block; border-radius:999px; padding:3px 10px;
  font-size:.86em; font-weight:600; line-height:1.5; white-space:nowrap;
}
.gp-pill-espera{ background:#fdf2e2; color:#8f5000; }
.gp-pill-curso{ background:#e8f1fa; color:#005C94; }
.gp-pill-ok{ background:#e9f4ee; color:#0f6b45; }
.gp-pill-no{ background:#fbeced; color:#9a2b31; }

.gp-mini{
  display:inline-block; background:#0073B9; color:#fff; border:0; border-radius:3px;
  padding:8px 13px; font-size:.92em; font-weight:500; cursor:pointer; text-decoration:none;
  font-family:inherit; letter-spacing:-.02em;
}
.gp-mini:hover{ background:#005C94; color:#fff; }
.gp-mini-g{ background:#fff; color:#002A6F; box-shadow:inset 0 0 0 1px #dde3ec; }
.gp-mini-g:hover{ background:#f1f4f9; color:#002A6F; box-shadow:inset 0 0 0 1px #002A6F; }
.gp-tabla form{ margin:0; }

.gp-traza td{ background:#f7f9fc; }
.gp-traza-lista{ margin:0; padding-left:1.1em; font-size:.94em; }
.gp-traza-lista li{ margin-bottom:5px; color:#1C242A; }
.gp-traza-f{ display:inline-block; min-width:120px; color:#5d6b80; font-variant-numeric:tabular-nums; }
.gp-traza-vacia{ margin:0; color:#5d6b80; }

.gp-casco-pie{ margin-top:1.1em; font-size:.82em; color:#5d6b80; line-height:1.55; }

.gp-vacio{
  background:#fff; border:1px solid #dde3ec; border-radius:3px; padding:24px 26px;
}
.gp-vacio h3{ margin:0 0 .5em; font-size:1.05em; }
.gp-vacio p{ margin:0 0 .7em; color:#5d6b80; font-size:.92em; line-height:1.6; }
.gp-vacio-p{ margin-bottom:0 !important; }

/* Aviso del depósito en el carrito */
.gp-aviso-casco{
  background:#fdf2e2; border:1px solid #f0d9b4; border-left-width:4px;
  border-radius:3px; padding:14px 17px; margin-bottom:1.2em;
}
.gp-aviso-casco b{ color:#8f5000; }
.gp-aviso-casco p{ margin:.35em 0 0; font-size:.88em; line-height:1.55; color:#1C242A; }

@media (max-width:640px){
  .gp-tabla, .gp-tabla thead, .gp-tabla tbody, .gp-tabla tr, .gp-tabla td{ display:block; width:100%; }
  .gp-tabla thead{ display:none; }
  .gp-tabla tr{ border-top:1px solid #dde3ec; padding:6px 0; }
  .gp-tabla td{ border:0; padding:5px 12px; text-align:left !important; }
  .gp-tabla .gp-acc{ text-align:left; padding-top:10px; }
}

/* ==========================================================================
   MI GALLARDO → STOCK — panel de almacén
   Se usa de pie en la nave con el móvil en una mano. De ahí que los botones
   sean grandes, la referencia vaya en primer lugar y la casilla de unidades
   tenga el tamaño de un pulgar.
   ========================================================================== */
.gp-stock-aviso{
  background:var(--gp-amber-bg,#fdf2e2);
  border:1px solid var(--gp-amber-line,#f0d9b4);
  border-radius:3px;
  padding:1em 1.2em;
  margin:0 0 1.4em;
  color:var(--gp-amber,#8f5000);
  font-size:.92em;
  line-height:1.55;
}
.gp-stock-aviso p{ margin:0 0 .7em; }
.gp-stock-aviso form{ margin:0; }

.gp-stock-ok{
  background:var(--gp-ok-bg,#e9f4ee);
  border:1px solid #c8e3d5;
  border-radius:3px;
  padding:.7em 1em;
  margin:0 0 1.2em;
  color:var(--gp-ok,#0f6b45);
  font-size:.92em;
  font-weight:600;
}

.gp-stock-buscar{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  margin:0 0 .9em;
}
.gp-stock-buscar input[type=search]{
  flex:1 1 260px;
  min-width:0;
  padding:.62em .85em;
  border:1px solid var(--gp-line,#dde3ec);
  border-radius:3px;
  font-size:.95em;
}
.gp-stock-limpiar{ font-size:.88em; }

.gp-stock-filtros{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 1em; }
.gp-stock-chip{
  display:inline-block;
  padding:.32em .85em;
  border:1px solid var(--gp-line,#dde3ec);
  border-radius:999px;
  background:#fff;
  font-size:.85em;
  color:var(--gp-ink,#1C242A) !important;
  text-decoration:none !important;
  white-space:nowrap;
}
.gp-stock-chip:hover{ border-color:var(--gp-navy,#002A6F); }
.gp-stock-chip.gp-sel{
  background:var(--gp-navy,#002A6F);
  border-color:var(--gp-navy,#002A6F);
  color:#fff !important;
}

.gp-stock-total{ font-size:.85em; color:var(--gp-mute,#5d6b80); margin:0 0 .6em; }

.gp-stock-tabla{
  width:100%;
  border-collapse:collapse;
  margin:0 0 1em;
  font-size:.92em;
}
.gp-stock-tabla th{
  text-align:left;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--gp-mute,#5d6b80);
  border-bottom:1px solid var(--gp-line,#dde3ec);
  padding:.5em .4em;
}
.gp-stock-tabla td{
  border-bottom:1px solid var(--gp-line-s,#eef1f6);
  padding:.55em .4em;
  vertical-align:middle;
}
.gp-stock-tabla th.gp-num,
.gp-stock-tabla td.gp-num{ text-align:right; white-space:nowrap; width:1%; }
.gp-stock-tabla td.gp-acc{ width:1%; white-space:nowrap; text-align:right; }

.gp-stock-ref code{
  background:none;
  padding:0;
  font-variant-numeric:tabular-nums;
  letter-spacing:.03em;
  font-weight:600;
  font-size:1em;
}
.gp-stock-ref a{ text-decoration:none; }
.gp-stock-nombre{
  display:block;
  font-size:.85em;
  color:var(--gp-mute,#5d6b80);
  line-height:1.35;
  margin-top:.1em;
}
.gp-stock-sinprecio{
  display:inline-block;
  margin-top:.25em;
  font-size:.78em;
  font-weight:600;
  color:var(--gp-red,#9a2b31);
}
.gp-stock-nota{ font-size:.8em; color:var(--gp-mute,#5d6b80); }

/* El punto del semáforo, igual que en la ficha */
.gp-stock-ref .gp-dot{
  display:inline-block;
  width:9px; height:9px;
  border-radius:50%;
  margin-right:.5em;
  vertical-align:middle;
}
.gp-stock-ref .gp-dot.gp-ok{ background:var(--gp-ok,#0f6b45); }
.gp-stock-ref .gp-dot.gp-pocas{ background:#e0a12a; }
.gp-stock-ref .gp-dot.gp-no{ background:#c0392f; }
.gp-stock-ref .gp-dot.gp-gris{ background:#9aa6b8; }

/* Menos, número, más. Tamaño de dedo, no de ratón. */
.gp-stock-tabla .gp-pm{
  width:38px; height:38px;
  padding:0 !important;
  font-size:18px !important;
  line-height:1;
  background:#fff !important;
  color:var(--gp-navy,#002A6F) !important;
  border:1px solid var(--gp-line,#dde3ec) !important;
  border-radius:3px !important;
  cursor:pointer;
  vertical-align:middle;
}
.gp-stock-tabla .gp-pm:hover{ border-color:var(--gp-navy,#002A6F) !important; background:var(--gp-line-s,#eef1f6) !important; }
.gp-stock-tabla .gp-uds{
  width:62px; height:38px;
  margin:0 4px;
  padding:0 .3em;
  text-align:center;
  font-size:1em;
  font-variant-numeric:tabular-nums;
  border:1px solid var(--gp-line,#dde3ec);
  border-radius:3px;
  vertical-align:middle;
}

.gp-stock-pie{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin:0 0 1.4em;
}
.gp-stock-pie span{ font-size:.82em; color:var(--gp-mute,#5d6b80); }
.gp-stock-guardar{ padding:.7em 1.6em !important; }

.gp-stock-pag{ display:flex; gap:16px; margin:0 0 1.8em; font-size:.9em; }
.gp-stock-nada{ color:var(--gp-mute,#5d6b80); }

.gp-stock-mov{ margin-top:2.2em; padding-top:1.2em; border-top:1px solid var(--gp-line,#dde3ec); }
.gp-stock-mov h3{ font-size:1em; margin:0 0 .6em; }
.gp-mov-sube{ color:var(--gp-ok,#0f6b45); font-weight:600; }
.gp-mov-baja{ color:var(--gp-red,#9a2b31); font-weight:600; }

@media (max-width:600px){
  .gp-stock-tabla{ font-size:.88em; }
  .gp-stock-tabla td.gp-acc{ display:none; }
  .gp-stock-tabla th.gp-acc{ display:none; }
  .gp-stock-nombre{ font-size:.8em; }
}

/* ==========================================================================
   UBICACIONES — el mapa y las columnas verticales
   Una estantería = una tarjeta con sus cinco verticales. Al abrir una, las
   otras se apartan: con cuatro en pantalla la lista de referencias queda
   tan abajo que hay que desplazarse para verla.
   ========================================================================== */
.gp-ubis{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
  gap:16px;
  margin:0 0 1.6em;
}
.gp-est{
  display:block;
  background:#fff;
  border:1px solid var(--gp-line,#dde3ec);
  border-radius:4px;
  overflow:hidden;
  text-decoration:none !important;
  color:var(--gp-ink,#1C242A) !important;
  transition:border-color .12s ease, box-shadow .12s ease;
}
.gp-est:hover{ border-color:var(--gp-navy,#002A6F); box-shadow:0 3px 0 0 var(--gp-navy,#002A6F); }
.gp-est-cab{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:8px;
  padding:13px 15px;
  border-bottom:1px solid var(--gp-line-s,#eef1f6);
}
.gp-est-cod{ font-family:var(--gp-display,sans-serif); font-size:1.2em; letter-spacing:.02em; }
.gp-est-n{ font-size:.78em; color:var(--gp-mute,#5d6b80); }

/* La marca que vive en la estantería. `margin-right:auto` en lugar de dejar
   que el space-between la centre: pegada al código se lee como parte del
   nombre de la estantería —«E01 Bosch»—, y centrada se lee como un dato
   suelto que no se sabe de quién es. */
.gp-est-marca{
  margin-right:auto;
  padding:2px 8px;
  border-radius:2px;
  background:var(--gp-navy,#002A6F);
  color:#fff;
  font-size:.7em;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

/* Las verticales, tal y como se ven de frente.
   NO se fija el número de columnas: se reparten en una sola fila sean las
   que sean. Estaba puesto a cinco a mano, y al pasar a siete las dos
   últimas se caían a una segunda fila y la estantería dejaba de parecer
   una estantería. */
.gp-cols{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(0,1fr);
  gap:5px;
  padding:13px 15px 15px;
}
.gp-col{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  aspect-ratio:.62/1;
  border:1px solid var(--gp-line,#dde3ec);
  border-radius:3px;
  background:#fff;
}
.gp-col small{
  font-size:8.5px;
  letter-spacing:.06em;
  font-weight:600;
  color:var(--gp-mute,#5d6b80);
}
.gp-col b{ font-size:1.05em; font-variant-numeric:tabular-nums; line-height:1; }
.gp-col.gp-v0{ border-style:dashed; background:#fbfcfe; }
.gp-col.gp-v0 b{ color:var(--gp-line,#dde3ec); }
.gp-col.gp-v1{ background:#eef4fb; }
.gp-col.gp-v2{ background:var(--gp-navy,#002A6F); border-color:var(--gp-navy,#002A6F); color:#fff; }
.gp-col.gp-v2 small{ color:rgba(255,255,255,.72); }

/* Al abrir una estantería, las demás se apartan de la vista. */
.gp-almacen.gp-hay-abierta .gp-est{ display:none; }
.gp-almacen.gp-hay-abierta .gp-est.gp-abierta{ display:block; }
.gp-almacen.gp-hay-abierta .gp-ubis{ grid-template-columns:minmax(290px,360px); }
.gp-almacen.gp-hay-abierta .gp-ubi-ayuda{ display:none; }
.gp-almacen.gp-hay-abierta .gp-lado a:not(.gp-abierta){ display:none; }
.gp-est.gp-abierta{
  border-color:var(--gp-navy,#002A6F);
  box-shadow:0 3px 0 0 var(--gp-navy,#002A6F);
}

/* Zonas que no son estantería */
.gp-lado{ display:flex; gap:6px; flex-wrap:wrap; margin:0 0 1.4em; }
.gp-lado a{
  display:inline-block;
  padding:.34em .85em;
  border:1px dashed var(--gp-line,#dde3ec);
  border-radius:999px;
  background:#fff;
  font-size:.83em;
  color:var(--gp-ink,#1C242A) !important;
  text-decoration:none !important;
}
.gp-lado a:hover{ border-color:var(--gp-navy,#002A6F); }
.gp-lado a.gp-abierta{
  border-style:solid;
  border-color:var(--gp-navy,#002A6F);
  background:var(--gp-navy,#002A6F);
  color:#fff !important;
}
.gp-lado a b{ font-variant-numeric:tabular-nums; }

.gp-ubi-chip{
  display:inline-block;
  padding:.16em .55em;
  border-radius:3px;
  background:var(--gp-navy,#002A6F);
  color:#fff;
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.04em;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.gp-ubi-chip.gp-vacia{ background:var(--gp-line-s,#eef1f6); color:var(--gp-mute,#5d6b80); }

/* --- El panel de la estantería ---------------------------------------- */
.gp-ubi-panel{
  margin:0 0 1.6em;
  padding:18px 20px 12px;
  background:#fff;
  border:1px solid var(--gp-line,#dde3ec);
  border-top:3px solid var(--gp-navy,#002A6F);
  border-radius:4px;
  scroll-margin-top:16px;
}
.gp-ubi-panel[hidden]{ display:none !important; }
.gp-panel-cab2{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin:0 0 1em;
  padding:0 0 .8em;
  border-bottom:1px solid var(--gp-line,#dde3ec);
}
.gp-ubi-cod{ font-family:var(--gp-display,sans-serif); font-size:1.4em; margin:0; letter-spacing:.02em; }
.gp-volver{ font-size:.86em; }
.gp-ubi-cargando{ margin:0; padding:.6em 0; color:var(--gp-mute,#5d6b80); font-size:.92em; }
.gp-panel-total{ margin:1.2em 0 .4em; }

/* --- Una vertical y su pila de referencias ----------------------------- */
.gp-vcol{ margin:0 0 1.5em; }
.gp-vcol-cab{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 .5em;
}
.gp-vcol-cab span:last-child{ font-size:.8em; color:var(--gp-mute,#5d6b80); }
.gp-vcol-vacia{
  margin:0;
  padding:.7em .9em;
  border:1px dashed var(--gp-line,#dde3ec);
  border-radius:3px;
  font-size:.85em;
  color:var(--gp-mute,#5d6b80);
}
.gp-vcol-vacia code{ background:var(--gp-line-s,#eef1f6); padding:.05em .35em; border-radius:2px; }

.gp-pila{ list-style:none; margin:0; padding:0; border:1px solid var(--gp-line,#dde3ec); border-radius:3px; }
.gp-pieza{
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px 12px;
  border-bottom:1px solid var(--gp-line-s,#eef1f6);
}
.gp-pieza:last-child{ border-bottom:0; }
/* La primera de la pila es la de arriba en la estantería: se marca. */
.gp-pila .gp-pieza:first-child{ box-shadow:inset 3px 0 0 0 var(--gp-navy,#002A6F); }

.gp-flechas{ display:flex; flex-direction:column; gap:2px; flex:none; }
.gp-flecha{
  width:30px; height:22px;
  padding:0 !important;
  font-size:13px !important;
  line-height:1;
  background:#fff !important;
  color:var(--gp-navy,#002A6F) !important;
  border:1px solid var(--gp-line,#dde3ec) !important;
  border-radius:3px !important;
  cursor:pointer;
}
.gp-flecha:hover:not(:disabled){ background:var(--gp-line-s,#eef1f6) !important; border-color:var(--gp-navy,#002A6F) !important; }
.gp-flecha:disabled{ opacity:.3; cursor:default; }

.gp-pieza-ref{ flex:1; min-width:0; }
.gp-pieza-ref code{
  background:none; padding:0;
  font-weight:600;
  font-variant-numeric:tabular-nums;
  letter-spacing:.03em;
}
.gp-pieza-ref a{ text-decoration:none; }
.gp-pieza-ref .gp-dot{
  display:inline-block;
  width:9px; height:9px;
  border-radius:50%;
  margin-right:.5em;
  vertical-align:middle;
}
.gp-pieza-ref .gp-dot.gp-ok{ background:var(--gp-ok,#0f6b45); }
.gp-pieza-ref .gp-dot.gp-pocas{ background:#e0a12a; }
.gp-pieza-ref .gp-dot.gp-no{ background:#c0392f; }
.gp-pieza-ref .gp-dot.gp-gris{ background:#9aa6b8; }
.gp-stock-nombre{
  display:block;
  font-size:.82em;
  color:var(--gp-mute,#5d6b80);
  line-height:1.35;
  margin-top:.1em;
}

.gp-pieza-uds{ flex:none; white-space:nowrap; }
.gp-pieza-uds .gp-pm{
  width:34px; height:34px;
  padding:0 !important;
  font-size:17px !important;
  line-height:1;
  background:#fff !important;
  color:var(--gp-navy,#002A6F) !important;
  border:1px solid var(--gp-line,#dde3ec) !important;
  border-radius:3px !important;
  cursor:pointer;
  vertical-align:middle;
}
.gp-pieza-uds .gp-pm:hover{ background:var(--gp-line-s,#eef1f6) !important; border-color:var(--gp-navy,#002A6F) !important; }
.gp-pieza-uds .gp-uds{
  width:56px; height:34px;
  margin:0 4px;
  padding:0 .3em;
  text-align:center;
  font-size:1em;
  font-variant-numeric:tabular-nums;
  border:1px solid var(--gp-line,#dde3ec);
  border-radius:3px;
  vertical-align:middle;
}
.gp-pieza-ubi{ flex:none; }
.gp-ubi-campo{
  width:104px;
  padding:.42em .5em;
  border:1px solid var(--gp-line,#dde3ec);
  border-radius:3px;
  font-size:12.5px;
  font-variant-numeric:tabular-nums;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.gp-ubi-campo:focus{ outline:2px solid var(--gp-blue,#0073B9); outline-offset:-1px; }

.gp-pila-pie{ margin:.4em 0 0; font-size:.78em; color:var(--gp-mute,#5d6b80); }

/* Estados mientras se guarda. Sin esto, pulsar «+» no parece hacer nada
   hasta que el número cambia, y el de almacén vuelve a pulsar. */
.gp-pieza.gp-guardando{ opacity:.55; }
.gp-pieza.gp-guardado{ background:var(--gp-ok-bg,#e9f4ee); transition:background .5s ease; }
.gp-pieza.gp-fallo{ background:#fbeced; }

@media (max-width:600px){
  .gp-pieza{ flex-wrap:wrap; gap:8px 10px; }
  .gp-pieza-ref{ flex:1 1 60%; }
  .gp-pieza-ubi{ flex:1 1 100%; }
  .gp-ubi-campo{ width:100%; }
  .gp-almacen.gp-hay-abierta .gp-ubis{ grid-template-columns:1fr; }
}

/* --------------------------------------------------------------------------
 * Orden del panel de stock y cabeceras de estantería (0.18.1)
 * ----------------------------------------------------------------------- */

.gp-stock-orden {
	display: flex;
	align-items: center;
	gap: .5em;
	margin: 0 0 .9em;
	font-size: .86em;
}

.gp-stock-orden > span {
	color: #5a6470;
}

.gp-stock-orden .gp-chip {
	display: inline-block;
	padding: .3em .9em;
	border: 1px solid #e2e6ec;
	border-radius: 999px;
	text-decoration: none;
	color: #242d36;
	line-height: 1.4;
}

.gp-stock-orden .gp-chip:hover {
	border-color: #0072ce;
}

.gp-stock-orden .gp-chip.gp-activo {
	background: #002c64;
	border-color: #002c64;
	color: #fff;
	font-weight: 600;
}

/* La cabecera de cada hueco. Se queda pegada arriba al desplazarse: en una
   página de cuarenta filas, si la cabecera se va, deja de saberse de qué
   estantería es la fila que se está mirando, que es lo único que aporta
   ordenar por ubicación. */
.gp-stock-tabla tr.gp-stock-grupo td {
	position: sticky;
	top: 0;
	z-index: 2;
	background: #f1f1f1;
	border-top: 2px solid #002c64;
	padding: .55em .7em;
}
