/* =============================================================
   GestionFlota — Panel operador · refinamiento visual
   Proviene del rediseño de Claude Design System (1).zip · ui_kits/panel/
   Override sobre el panel.html actual · sin tocar JS.
   ============================================================= */

/* Ritmo vertical 32px entre secciones (fix 'apretado') */
body:has(#tabla-wrapper) main .container > * { margin-bottom: 32px; }
body:has(#tabla-wrapper) main .container > .action-tiles { margin-bottom: 32px; }
body:has(#tabla-wrapper) main .container > #tareas-widget { margin-bottom: 24px; }

/* Action tiles · grid auto-fit, gap 16 */
#action-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--ck-space-4);
  margin-bottom: var(--ck-space-5);
}

/* Banners contextuales · espacio entre ellos */
#banner-sol-nuevas + #banner-solicitudes,
#banner-solicitudes + #banner-pedidos-servicio,
#banner-pedidos-servicio + #renovaciones-proximas-bloque,
#renovaciones-proximas-bloque + #banner-prospectos {
  margin-top: var(--ck-space-3);
}

/* KPIs · grid 3 columnas en desktop, 1 en mobile */
#kpi-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--ck-space-3);
  margin-bottom: var(--ck-space-5);
}

/* Tabla wrapper · panel-card style del kit */
#tabla-wrapper {
  background: var(--ck-surface);
  border: 1px solid var(--ck-border);
  border-radius: 12px;
  box-shadow: var(--ck-shadow-sm);
  overflow: hidden;
}
#tabla-wrapper .table-header,
#tabla-wrapper .panel-section__header {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--ck-border);
  flex-wrap: wrap;
}
#tabla-wrapper .table-header h2,
#tabla-wrapper .panel-section__header h2 {
  margin: 0; font-size: 17px; font-weight: 600;
}

/* Filtros con fondo neutral-50 (de tira separadora visual) */
.filtros-bar, .panel-filtros {
  background: var(--ck-neutral-50);
  border-bottom: 1px solid var(--ck-border);
  padding: 12px 20px;
}

/* Segmented control para vista (Toda la flota / Mi día / Por operador) */
#vista-toggle {
  display: inline-flex;
  background: var(--ck-neutral-100);
  border-radius: 8px;
  padding: 3px;
  gap: 2px;
}
#vista-toggle .filter-btn {
  border: none;
  background: transparent;
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  color: var(--ck-text-secondary, var(--ck-text-muted));
  padding: 6px 12px;
  border-radius: 6px;
  cursor: pointer;
  min-height: 32px;
}
#vista-toggle .filter-btn.is-active,
#vista-toggle .filter-btn--active {
  background: var(--ck-surface);
  color: var(--ck-text);
  box-shadow: var(--ck-shadow-sm);
  font-weight: 600;
}

/* Densidad cómodo/compacto · botón en el header de tabla */
.c-table.is-compact td,
.c-table.is-compact th { padding: 7px 16px; }

/* 'Responsable asignado' como chip success en celda */
.resp-asignado {
  color: var(--ck-success-700);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.resp-asignado i[data-lucide] { width: 14px; height: 14px; }

/* Franja 'Actúa hoy' · cabeza operativa del día (kit Claude Design) */
.actua-hoy {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 20px;
  background: linear-gradient(90deg, var(--ck-primary-50, #eff6ff), var(--ck-surface));
  border: 1px solid var(--ck-primary-200, #bfdbfe);
  border-left: 4px solid var(--ck-primary);
  border-radius: 12px;
  box-shadow: var(--ck-shadow-sm);
}
.actua-hoy__ic {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--ck-primary);
  color: #fff;
  display: grid; place-items: center;
  flex-shrink: 0;
}
.actua-hoy__ic i[data-lucide] { width: 20px; height: 20px; }
.actua-hoy__body { flex: 1; min-width: 0; }
.actua-hoy__title { font-weight: 700; color: var(--ck-text); font-size: 15px; }
.actua-hoy__sub { font-size: 13px; color: var(--ck-text-secondary, var(--ck-text-muted)); margin-top: 2px; }
.actua-hoy__count {
  font-family: var(--ck-font-mono);
  font-size: 24px;
  font-weight: 800;
  color: var(--ck-primary);
  flex-shrink: 0;
}

/* Barra flotante de selección en lote (panel) · refinada del kit */
.bulk-bar.is-on {
  display: flex !important;
  align-items: center;
  gap: 12px;
  background: var(--ck-neutral-900, #0f172a);
  color: #fff;
  border-radius: var(--ck-radius-md, 8px);
  padding: 12px 18px;
  box-shadow: var(--ck-shadow-elevated);
  position: fixed; left: 50%; bottom: 24px;
  transform: translateX(-50%);
  z-index: var(--ck-z-toast, 800);
  animation: bulkbar-in var(--ck-dur-soft, 200ms) var(--ck-ease-out);
}
@keyframes bulkbar-in { from { opacity:0; transform: translate(-50%, 8px); } to { opacity:1; transform: translateX(-50%); } }
.bulk-bar__count { font-weight: 700; font-family: var(--ck-font-mono); }
.bulk-bar .c-btn { background: #fff; color: var(--ck-text); border: none; }
.bulk-bar .c-btn:hover { background: var(--ck-neutral-100); }

/* Mobile · tabla a cards (alineado a mobile.css existente) */
@media (max-width: 900px) {
  #kpi-cards { grid-template-columns: 1fr; }
}
