/* Todo lo que sigue está deliberadamente scoped bajo .cotiz-wrap (con
   selectores descendientes) para no pisar ningún estilo global del sitio
   (tipografía, colores, box-sizing, etc. quedan como los define estilo.css).
   Las variables usan el prefijo --cotiz- para no colisionar con las
   propias del sitio. */

.cotiz-wrap {
  --cotiz-tinta:  #2b2b2b;
  --cotiz-tenue:  #6b6b6b;
  --cotiz-linea:  #e2e0dd;
  --cotiz-panel:  #faf9f7;
  --cotiz-acento: #2f6a4f;

  font-family: "Segoe UI", Tahoma, Verdana, sans-serif;
  color: var(--cotiz-tinta);
  font-size: 13px;
  line-height: 1.5;
  padding: 24px 0 48px;
}
.cotiz-wrap * { box-sizing: border-box; }

.cotiz-wrap .cab {
  border-bottom: 2px solid var(--cotiz-acento);
  padding-bottom: 10px;
  margin-bottom: 14px;
}
.cotiz-wrap .cab h1 { font-size: 20px; margin: 0 0 2px; }
.cotiz-wrap .cab .sub { color: var(--cotiz-tenue); font-size: 12px; }

/* Filtros */
.cotiz-wrap .filtros {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px 14px;
  padding: 12px 14px;
  background: var(--cotiz-panel);
  border: 1px solid var(--cotiz-linea);
  border-radius: 6px;
  margin-bottom: 16px;
}
.cotiz-wrap .filtros .campo { display: flex; flex-direction: column; gap: 3px; }
.cotiz-wrap .filtros label { font-size: 11px; color: var(--cotiz-tenue); }
.cotiz-wrap .filtros input:not([type="checkbox"]), .cotiz-wrap .filtros select {
  width: 130px;
  padding: 5px 7px;
  border: 1px solid #cfccc8;
  border-radius: 4px;
  font-size: 13px;
  background: #fff;
}
.cotiz-wrap .filtros select:disabled {
  background: #f1f0ee;
  color: var(--cotiz-tenue);
}
.cotiz-wrap .filtros > button {
  padding: 6px 14px;
  border: 1px solid var(--cotiz-acento);
  background: var(--cotiz-acento);
  color: #fff;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
}
.cotiz-wrap .filtros a.limpiar {
  font-size: 12px;
  color: var(--cotiz-acento);
  text-decoration: none;
  padding: 6px 4px;
}

/* Botón "Tipos" + modal */
.cotiz-wrap .btn-tipos {
  width: auto;
  padding: 6px 12px;
  border: 1px solid #cfccc8;
  background: #fff;
  color: var(--cotiz-tinta);
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
  white-space: nowrap;
}
.cotiz-wrap .btn-tipos:hover { border-color: var(--cotiz-acento); color: var(--cotiz-acento); }
.cotiz-wrap .btn-tipos .cant { color: var(--cotiz-tenue); }

.cotiz-wrap .modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(43, 43, 43, 0.35);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 100;
}
.cotiz-wrap .modal-overlay.abierto { display: flex; }
.cotiz-wrap .modal-box {
  background: #fff;
  border: 1px solid var(--cotiz-linea);
  border-radius: 8px;
  padding: 16px 18px;
  width: 280px;
  box-shadow: 0 10px 30px rgba(0,0,0,.15);
  font-size: 13px;
  line-height: 1.5;
}
.cotiz-wrap .modal-box h2 {
  font-size: 13px;
  margin: 0 0 4px;
}
.cotiz-wrap .modal-box .modal-sub {
  font-size: 11px;
  color: var(--cotiz-tenue);
  margin-bottom: 10px;
}
.cotiz-wrap .grilla-tipos {
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--cotiz-linea);
}
.cotiz-wrap .grilla-tipos label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  color: var(--cotiz-tinta);
  cursor: pointer;
}
.cotiz-wrap .grilla-tipos label input[type="checkbox"] {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
.cotiz-wrap .modal-accesos {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
}
.cotiz-wrap .modal-accesos a {
  font-size: 11px;
  color: var(--cotiz-acento);
  text-decoration: none;
  cursor: pointer;
}
.cotiz-wrap .modal-botones {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.cotiz-wrap .modal-botones button {
  padding: 5px 12px;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
}
.cotiz-wrap .modal-botones .aplicar {
  border: 1px solid var(--cotiz-acento);
  background: var(--cotiz-acento);
  color: #fff;
}
.cotiz-wrap .modal-botones .cerrar {
  border: 1px solid #cfccc8;
  background: #fff;
  color: var(--cotiz-tinta);
}

.cotiz-wrap .conteo { font-size: 12px; color: var(--cotiz-tenue); margin-bottom: 10px; }
.cotiz-wrap .conteo-fila {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px 14px;
}
.cotiz-wrap .conteo-fila .conteo { margin-bottom: 0; }
.cotiz-wrap .descargas {
  display: flex;
  gap: 14px;
  margin-bottom: 10px;
}
.cotiz-wrap .descargas a {
  font-size: 12px;
  color: var(--cotiz-acento);
  text-decoration: none;
}
.cotiz-wrap .descargas a:hover { text-decoration: underline; }

.cotiz-wrap .mensajes { margin-bottom: 14px; }
.cotiz-wrap .msg {
  font-size: 12px;
  padding: 8px 12px;
  border-radius: 4px;
  margin-bottom: 6px;
}
.cotiz-wrap .msg.error { background: #fbeceb; color: #a3282f; border: 1px solid #f0d3d1; }
.cotiz-wrap .msg.aviso { background: #fdf6e6; color: #8a5a00; border: 1px solid #f3e6c2; }

.cotiz-wrap .sin-datos {
  text-align: center;
  color: var(--cotiz-tenue);
  padding: 44px 0;
  font-size: 15px;
}

.cotiz-wrap table.lista {
  width: 100%;
  border-collapse: collapse;
  font-size: 12.5px;
}
.cotiz-wrap table.lista th, .cotiz-wrap table.lista td {
  text-align: left;
  padding: 5px 9px;
  border-bottom: 1px solid var(--cotiz-linea);
  vertical-align: top;
}
.cotiz-wrap table.lista th {
  color: var(--cotiz-tenue);
  font-weight: 600;
  background: var(--cotiz-panel);
  border-bottom: 2px solid var(--cotiz-linea);
}
.cotiz-wrap table.lista tr:hover td { background: #f8f8f1; }
.cotiz-wrap table.lista td.imp { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.cotiz-wrap .fecha { white-space: nowrap; color: var(--cotiz-tenue); }
.cotiz-wrap .tipo { text-transform: capitalize; }

.cotiz-wrap .leyenda {
  margin-top: 10px;
  padding-top: 5px;
  /* border-top: 1px solid var(--cotiz-linea); */
  font-size: 11.5px;
  color: var(--cotiz-tenue);
  line-height: 1.6;
}
.cotiz-wrap .leyenda a {
  color: var(--cotiz-acento);
  text-decoration: none;
}
.cotiz-wrap .leyenda a:hover { text-decoration: underline; }
