/* Grupo Nórdico — Nórdico Lotes › Reservas › Solicitudes e Historial (Bloque B, ver public/reservas-solicitudes.js): clases rsol-.
   Mobile first (390 px): una columna; desde 900 px, las secciones de la solicitud de a dos. Usa la paleta de app.css. */
.rsol { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.rsol-bandejas { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.rsol-bandejas .chip { flex: none; }
.rsol-n { background: var(--rojo); color: #fff; border-radius: 10px; padding: 0 6px; font-size: 11px; line-height: 17px; }
.chip.on .rsol-n { background: #fff; color: var(--azul); }
.rsol-cab { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 12px; }
.rsol-cab p { margin: 0; min-width: 200px; }
.rsol-busca { flex: 1 1 260px; max-width: 420px; position: relative; display: flex; align-items: center; }
.rsol-busca .ic { position: absolute; left: 12px; color: var(--suave); }
.rsol-busca .inp { padding-left: 36px; }
.rsol-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 12px; }
.rsol-sol { text-align: left; cursor: pointer; display: flex; flex-direction: column; gap: 6px; font: inherit; color: inherit; min-width: 0; transition: border-color .15s, box-shadow .15s; }
.rsol-sol:hover { border-color: var(--azul-2); box-shadow: var(--sombra-2); }
.rsol-sol-cab { gap: 6px; }
.rsol-sol-n { font: 700 16px var(--fm); color: var(--azul-9); overflow-wrap: anywhere; }
.rsol-sol-p { border-top: 1px dashed var(--linea); padding-top: 7px; overflow-wrap: anywhere; }
.rsol-barra { display: flex; flex-wrap: wrap; gap: 5px; }
.rsol-barra .tag { font-size: 11px; padding: 3px 8px; }
.rsol-barra.grande { margin-top: 12px; gap: 6px; }
.rsol-barra.grande .tag { font-size: 12px; padding: 5px 10px; }
.rsol-c span { white-space: nowrap; }
/* Hoy */
.rsol-kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 165px), 1fr)); gap: 10px; margin-bottom: 14px; }
.rsol-kpi { text-align: left; cursor: pointer; font: inherit; color: inherit; }
.rsol-kpi .v { font-size: 24px; }
.rsol-kpi .pie-k { line-height: 1.35; }
.rsol-kpi.cero { opacity: .62; }
.rsol-kpi:hover { border-color: var(--azul-2); }
.rsol-hoy-g { display: grid; grid-template-columns: 1fr; gap: 14px; align-items: start; }
.rsol-hoy-g > *, .rsol-grid > *, .rsol-kpis > * { min-width: 0; }
.rsol-f .grow { min-width: 0; }
.rsol-filas { display: flex; flex-direction: column; gap: 4px; }
.rsol-f { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; border: 1px solid var(--linea-2); background: var(--hielo-2); border-radius: 10px; padding: 8px 10px; cursor: pointer; font: inherit; color: inherit; min-width: 0; }
.rsol-f:hover { border-color: var(--azul-2); background: #fff; }
.rsol-pie { margin: 2px 0 0; }
/* el detalle */
.rsol-det-top { gap: 8px; }
.rsol-cab-s .row { gap: 6px; }
.rsol-cli { font-size: 20px; margin: 10px 0 4px; overflow-wrap: anywhere; }
.rsol-wa { display: inline-flex; align-items: center; gap: 4px; color: #178a48; font-weight: 600; }
.rsol-wa .ic { width: 14px; height: 14px; }
.rsol-aviso { background: var(--hielo-2); border-left: 4px solid var(--azul-4); }
.rsol-aviso.ambar { background: var(--ambar-1); border-left-color: var(--ambar); }
.rsol-aviso .row { gap: 8px; }
div.rsol-aviso { padding: 10px 12px; border-radius: 10px; margin-bottom: 10px; }
.rsol-secs { display: grid; grid-template-columns: 1fr; gap: 14px; align-items: start; }
.rsol-secs > section, .rsol-det > section { min-width: 0; }
.rsol .sec-h h2 { display: flex; align-items: center; gap: 8px; font-size: 15px; }
.rsol .sec-h { margin-bottom: 10px; }
.rsol-h3 { margin: 16px 0 6px; }
.rsol-items { display: flex; flex-direction: column; gap: 6px; margin: 4px 0 10px; }
.rsol-it { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 6px 0; border-bottom: 1px dashed var(--linea); }
.rsol-it .grow { min-width: 160px; }
.rsol-it-b { display: flex; gap: 6px; }
.rsol-archs { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0; }
.rsol-arch { max-width: 100%; }
.rsol-arch span { overflow: hidden; text-overflow: ellipsis; }
a.rsol-arch:hover { text-decoration: underline; }
.rsol-acc { gap: 8px; margin-top: 12px; }
.rsol-acc:empty { display: none; }
.rsol-lotes { display: flex; flex-direction: column; gap: 6px; }
.rsol-lote { display: flex; flex-wrap: wrap; gap: 4px 10px; padding: 8px 10px; background: var(--hielo-2); border-radius: 10px; font-size: 13px; }
.rsol-corrs { display: flex; flex-direction: column; gap: 10px; }
.rsol-corr { border: 1px solid var(--linea); border-radius: 12px; padding: 10px 12px; }
.rsol-corr .row { gap: 8px; }
.rsol-corr-t { margin: 8px 0 0; font-weight: 600; overflow-wrap: anywhere; }
.rsol-corr .rsol-acc { margin-top: 8px; }
.rsol-tabla { overflow-x: auto; }
.rsol-tabla table { width: 100%; border-collapse: collapse; font-size: 13px; }
.rsol-tabla th { text-align: left; font-size: 11px; color: var(--suave); text-transform: uppercase; letter-spacing: .04em; padding: 6px 8px; border-bottom: 1px solid var(--linea); }
.rsol-tabla td { padding: 8px; border-bottom: 1px solid var(--linea-2); vertical-align: top; max-width: 260px; }
.rsol-tabla tr.viejo td { opacity: .6; }
.rsol-td-b { white-space: nowrap; text-align: right; }
.rsol-td-b .icb { display: inline-grid; }
.rsol-final { border: 1px solid var(--azul-2); }
.rsol-final .rsol-acc { align-items: center; }
.rsol-tl { display: flex; flex-direction: column; gap: 10px; max-height: 420px; overflow-y: auto; }
.rsol-ev { display: flex; gap: 10px; }
.rsol-ev-d { width: 9px; height: 9px; border-radius: 50%; background: var(--azul-4); margin-top: 5px; flex: none; }
/* los modales */
.rsol-form h3 { margin-top: 14px; }
.rsol-campos { display: grid; grid-template-columns: 1fr; gap: 0 12px; }
.rsol-campos .campo { margin-bottom: 10px; }
.rsol-monto { display: grid; grid-template-columns: 1fr 86px; gap: 6px; }
.rsol-form details { margin: 8px 0; }
.rsol-form summary { cursor: pointer; padding: 6px 0; }
.rsol-dias, .rsol-horas { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.rsol-horas .chip { min-width: 64px; justify-content: center; }
/* historial */
.rsol-filtros { display: flex; flex-direction: column; gap: 10px; }
.rsol-filtros-g { display: grid; grid-template-columns: 1fr; gap: 8px; }
.rsol-filtros .buscador { position: relative; display: flex; align-items: center; }
.rsol-filtros .buscador .ic { position: absolute; left: 12px; color: var(--suave); }
.rsol-filtros .buscador .inp { padding-left: 36px; }
.rsol-fechas { display: grid; grid-template-columns: 1fr auto 1fr; gap: 6px; align-items: center; }
.rsol-fechas .inp, .rsol-filtros select.inp { min-width: 0; }
.rsol-pag { margin-top: 4px; }
@media (min-width: 720px) {
  .rsol-bandejas { flex-wrap: wrap; overflow: visible; }
}
@media (min-width: 560px) {
  .rsol-campos { grid-template-columns: 1fr 1fr; }
  .rsol-filtros-g { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 900px) {
  .rsol-secs { grid-template-columns: 1fr 1fr; }
  .rsol-hoy-g { grid-template-columns: 1fr 1fr; }
  .rsol-campos { grid-template-columns: 1fr 1fr 1fr; }
  .rsol-filtros-g { grid-template-columns: 2fr 1fr 1fr 1.4fr; }
}
@media (max-width: 480px) {
  .rsol-sol-n { font-size: 15px; }
  .rsol-acc .btn { flex: 1 1 auto; }
  .rsol-final .grow { display: none; }
  .rsol-final .btn { flex: 1 1 100%; }
  .rsol-tabla th:nth-child(3), .rsol-tabla td:nth-child(3) { display: none; }
}
