/* Grupo Nórdico — Nórdico Lotes › Ofertas (ver public/ofertas.js). Usa la paleta y las piezas de app.css. */
.of { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 16px; align-items: start; }
.of-pasos { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.of-lado { position: sticky; top: 12px; }
.of-cab { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.of-cab h2 { font: 700 16px var(--fm); margin: 0; color: var(--azul-9, #0b2955); }
.of-n { width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font: 700 13px var(--fm); background: var(--hielo); color: var(--azul); border: 1px solid var(--linea); }
.of-n.ok { background: var(--verde); color: #fff; border-color: transparent; }
.of-n .ic { width: 14px; height: 14px; }
.of-elegido { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: var(--r-s); background: var(--hielo); margin-bottom: 6px; }
.of-lista { display: flex; flex-direction: column; gap: 4px; max-height: 320px; overflow: auto; margin: 8px 0; }
.of-it { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; text-align: left; border: 1px solid var(--linea); background: #fff; border-radius: var(--r-s); padding: 8px 11px; cursor: pointer; font: inherit; color: inherit; }
.of-it:hover { border-color: var(--azul-2); background: var(--hielo); }
.of-alertas { margin-top: 8px; display: flex; flex-direction: column; gap: 4px; }
.of-planes { flex-wrap: wrap; margin-bottom: 12px; }
.of-planes button { padding: 7px 11px; }
.of-campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
.of-campos .campo { margin-bottom: 10px; }
.of-ancho, .of-pol { grid-column: 1 / -1; }
.of-pol { border: 1px dashed var(--linea); border-radius: var(--r-s); padding: 9px 12px; margin-bottom: 10px; display: flex; flex-direction: column; gap: 4px; }
.of-pol.falta { border-color: #f0d9a8; background: #fffaf0; }
.of-chk { display: flex; align-items: center; gap: 8px; font-size: 13px; margin-bottom: 8px; cursor: pointer; }
.of-mon { max-width: 90px; }
.of-res-h { display: flex; gap: 10px; align-items: center; margin-bottom: 10px; }
.of-res-h > .ic { width: 22px; height: 22px; color: var(--azul); }
.of-lineas { display: flex; flex-direction: column; margin: 4px 0 8px; }
.of-l { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--linea); font-size: 13px; }
.of-l b { text-align: right; }
.of-l small { display: block; font-weight: 400; font-size: 11px; color: var(--suave); }
.of-l.f { background: var(--hielo); border: 0; border-radius: 8px; padding: 8px 10px; margin: 3px -10px; font-size: 14px; }
.of-l.f b { color: var(--azul); }
.of-cargos { display: flex; flex-wrap: wrap; gap: 5px; margin: 6px 0 10px; }
.of-err, .of-av { display: flex; gap: 7px; align-items: flex-start; font-size: 12.5px; padding: 7px 9px; border-radius: 8px; margin-bottom: 6px; }
.of-err { background: var(--rojo-1, #fdecec); color: var(--rojo, #c62828); }
.of-av { background: #fff6e0; color: #7a5200; }
.of-err .ic, .of-av .ic { flex: none; margin-top: 1px; }
.of-int { margin: 8px 0; font-size: 12.5px; }
.of-int summary { cursor: pointer; color: var(--tinta-2); font-weight: 600; }
.of-int .tiny > div { margin-top: 4px; }
.of-acc { display: flex; gap: 8px; margin-top: 12px; }
.of-acc .btn { flex: 1; }
.of-envio { border: 1px solid var(--linea); border-radius: var(--r-s); padding: 12px; margin-top: 10px; }
.of-t td { vertical-align: top; }
.of-cfg { display: flex; flex-direction: column; gap: 14px; max-width: 980px; }
.of-h2 { font: 700 16px var(--fm); margin: 0 0 12px; display: flex; align-items: center; gap: 8px; }
.of-mt .inp { max-width: 150px; padding: 7px 9px; }
.of-guardar { position: sticky; bottom: 10px; display: flex; justify-content: flex-end; }
.of-guardar .btn { box-shadow: var(--sombra); }
@media (max-width: 980px) {
  .of { grid-template-columns: minmax(0, 1fr); }
  .of-lado { position: static; }
}
@media (max-width: 560px) {
  .of-campos { grid-template-columns: minmax(0, 1fr); }
  .of-acc { flex-direction: column; }
}
