/* ══════════════════════════════════════════════════════════
   PANEL DE RUTAS
   ══════════════════════════════════════════════════════════ */
.panel-rutas { background:var(--white); }
.rutas-filtros { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-bottom:32px; }
.rfiltro { padding:8px 18px; border:1.5px solid var(--line); border-radius:99px; font-size:13px; font-weight:600; color:var(--gray); background:var(--white); cursor:pointer; transition:all 0.2s; font-family:inherit; }
.rfiltro.active { background:var(--navy); color:var(--white); border-color:var(--navy); }
.rfiltro:hover:not(.active) { border-color:var(--navy); color:var(--navy); }
.rutas-full-grid { display:flex; flex-direction:column; gap:12px; }
.ruta-full-card {
  display:grid; grid-template-columns:2fr 1fr 1fr auto;
  align-items:center; gap:16px;
  background:var(--bg); border:1px solid var(--line); border-radius:14px;
  padding:18px 24px; transition:all 0.2s;
}
.ruta-full-card:hover { border-color:var(--accent); box-shadow:0 8px 24px -8px rgba(0,196,140,0.15); }
.rfc-ruta .rfc-nombre { font-size:15px; font-weight:700; color:var(--navy); margin-bottom:2px; }
.rfc-cell { text-align:center; }
.rfc-cell .rfc-val { font-size:14px; font-weight:700; color:var(--navy); }
.rfc-cell .rfc-lbl { font-size:11px; color:var(--gray-light); margin-top:1px; }
.rutas-full-header {
  display:grid; grid-template-columns:2fr 1fr 1fr auto;
  gap:16px; padding:0 24px 8px;
}
.rutas-full-header span { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.8px; color:var(--gray-light); text-align:center; }
.rutas-full-header span:first-child { text-align:left; }
.panel-cta-bar { text-align:center; margin-top:32px; }
.panel-cta-bar p { color:var(--gray); font-size:14px; margin-bottom:16px; }

/* Status badges for routes list — estado derivado de los días declarados, no es tracking en vivo */
.estado-badge { display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:700; padding:5px 12px; border-radius:99px; white-space:nowrap; }
.estado-hoy { background:var(--accent-light); color:var(--accent-dark); }
.estado-proxima { background:var(--blue-light); color:var(--blue); }

/* ─── RESPONSIVE FOR PANEL RUTAS ───────────────────────── */
@media (max-width:960px) {
  .rutas-full-header { display:none; }
  .ruta-full-card { grid-template-columns:1fr 1fr; }
}
@media (max-width:640px) {
  .ruta-full-card { grid-template-columns:1fr; gap:8px; }
}
