/* ============================================================
   DASHBOARD EJECUTIVO — Viña Las Pitras
   ============================================================ */

/* --- Sparklines en KPIs --- */
.spark-wrap { margin-top:6px;display:flex;justify-content:center }
.sparkline { display:block }

/* --- Mapa de calor --- */
.hm-grid { overflow-x:auto;font:400 10px 'DM Mono',monospace }
.hm-row { display:flex;min-width:720px }
.hm-header { border-bottom:2px solid var(--line) }
.hm-label {
  flex:0 0 130px;padding:5px 6px;font:600 10px Manrope;color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.hm-cell {
  flex:1;min-width:44px;text-align:center;padding:5px 2px;font-size:9px;
  border-right:1px solid rgba(255,255,255,.3);transition:opacity .12s;
}
.hm-cell:hover { opacity:.8 }
.hm-month { font:600 8px Manrope;color:var(--muted);text-transform:uppercase;letter-spacing:.3px }
.hm-total { font-weight:700;background:var(--soft)!important;color:var(--ink)!important }

/* --- Indicadores de eficiencia --- */
.eff-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px }
.eff-card {
  display:flex;gap:10px;align-items:flex-start;padding:14px;border-radius:12px;
  background:var(--soft);transition:background .12s;
}
.eff-card:hover { background:rgba(27,104,64,.06) }
.eff-ico { font-size:20px;flex-shrink:0;margin-top:2px }
.eff-body { min-width:0 }
.eff-valor { font:700 16px 'DM Mono',monospace;color:var(--forest-2) }
.eff-nombre { font:600 11px Manrope;color:var(--ink);margin-top:2px }
.eff-detalle { font:400 9px Manrope;color:var(--muted);margin-top:1px }

/* --- Dashboard de directorio --- */
.db-kpis { display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:18px }
.db-kpis .kpi { margin:0 }
.db-kpis .kpi .help { display:flex;flex-direction:column;align-items:center;gap:4px }

/* --- Semáforo por área --- */
.sem-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;padding:4px 0 }
.sem-card {
  padding:16px;border-radius:12px;border-left:4px solid var(--line);
  background:var(--card);transition:box-shadow .15s;
}
.sem-card:hover { box-shadow:0 4px 16px rgba(12,67,36,.08) }
.sem-verde { border-left-color:var(--forest-2) }
.sem-amarillo { border-left-color:var(--gold) }
.sem-rojo { border-left-color:var(--red) }
.sem-gris { border-left-color:var(--muted) }
.sem-nombre { font:700 13px Manrope;color:var(--ink);margin-bottom:4px }
.sem-ppto { font:600 15px 'DM Mono',monospace;color:var(--forest-2) }
.sem-estado { font:400 10px Manrope;color:var(--muted);margin-top:4px }
.sem-barra { height:4px;border-radius:2px;background:var(--soft);margin-top:8px;overflow:hidden }
.sem-fill { height:100%;border-radius:2px;background:var(--forest-2);transition:width .3s }
.sem-rojo .sem-fill { background:var(--red) }
.sem-amarillo .sem-fill { background:var(--gold) }
.sem-gris .sem-fill { background:var(--muted);width:0!important }

/* --- Calendarización --- */
.cal-table { width:100%;border-collapse:collapse;font-size:10px }
.cal-table th { font:600 8px Manrope;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;padding:6px 4px;border-bottom:2px solid var(--line);text-align:center }
.cal-table th:first-child { text-align:left }
.cal-table td { padding:5px 4px;border-bottom:1px solid var(--line);text-align:center;font-family:'DM Mono',monospace;font-size:9px }
.cal-table td:first-child { text-align:left;font-family:Manrope }
.cal-table td:last-child { font-weight:700 }
.cal-table tbody tr:hover { background:rgba(27,104,64,.03) }

@media(max-width:700px){
  .eff-grid { grid-template-columns:1fr }
  .sem-grid { grid-template-columns:1fr 1fr }
  .db-kpis { grid-template-columns:1fr 1fr }
  .hm-label { flex:0 0 80px;font-size:8px }
}
