/* ── Dashboard layout ── */
.dash-wrap { max-width:1360px; margin:0 auto; padding:0 1.25rem 4rem; position:relative; z-index:1; }

/* Sección */
.dash-section { margin-bottom:2.5rem; }

.section-title {
  font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em;
  color:var(--green-light); margin-bottom:1rem;
  display:flex; align-items:center; gap:.5rem;
  padding:.6rem 1rem; background:rgba(16,185,129,.08);
  border:1px solid rgba(16,185,129,.2); border-radius:10px;
}

/* KPI row */
.kpi-row { display:grid; grid-template-columns:repeat(6,1fr); gap:1rem; margin-bottom:1rem; }
.kpi { background:var(--card); border:1px solid var(--border); border-radius:var(--radius); backdrop-filter:blur(10px); padding:1.2rem; display:flex; flex-direction:column; gap:.3rem; transition:var(--transition); }
.kpi:hover { transform:translateY(-3px); box-shadow:0 12px 32px rgba(0,0,0,.35); }
.kpi-icon { font-size:1.5rem; }
.kpi-val  { font-size:1.9rem; font-weight:800; line-height:1; }
.kpi-lbl  { font-size:.7rem; color:var(--text-muted); font-weight:500; line-height:1.3; }
.kpi.green  .kpi-val { color:var(--green-light); }
.kpi.orange .kpi-val { color:var(--orange-light); }
.kpi.blue   .kpi-val { color:#60a5fa; }
.kpi.purple .kpi-val { color:#a78bfa; }
.kpi.teal   .kpi-val { color:#2dd4bf; }
.kpi.red    .kpi-val { color:#fb7185; }

/* Row layouts */
.row-1,.row-2,.row-3 { display:grid; gap:1rem; margin-bottom:1rem; }
.row-1 { grid-template-columns:1fr; }
.row-2 { grid-template-columns:1fr 1fr; }
.row-3 { grid-template-columns:repeat(12,1fr); }
.mb-sm { margin-bottom:1rem; }

/* Columns for row-3 */
.cc { min-width:0; }
.cc-3  { grid-column:span 3; }
.cc-4  { grid-column:span 4; }
.cc-5  { grid-column:span 5; }
.cc-6  { grid-column:span 6; }
.cc-8  { grid-column:span 8; }
.cc-12 { grid-column:span 12; }

/* Chart card */
.chart-card { background:var(--card); border:1px solid var(--border); border-radius:var(--radius); backdrop-filter:blur(10px); padding:1.25rem; box-shadow:var(--shadow); height:100%; }

.ct { font-size:.8rem; font-weight:600; color:var(--text); margin-bottom:.85rem; padding-bottom:.65rem; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:.4rem; }
.cw    { position:relative; height:230px; }
.cw-md { height:280px; }
.cw-lg { height:260px; }

/* Tabla recientes */
.recent-table { width:100%; border-collapse:collapse; font-size:.79rem; }
.recent-table th { text-align:left; padding:.45rem .65rem; font-size:.68rem; font-weight:600; text-transform:uppercase; letter-spacing:.05em; color:var(--text-muted); border-bottom:1px solid var(--border); }
.recent-table td { padding:.55rem .65rem; border-bottom:1px solid var(--border); color:var(--text); }
.recent-table tr:last-child td { border-bottom:none; }
.recent-table tr:hover td { background:rgba(255,255,255,.03); }
.bx { display:inline-block; padding:.15rem .5rem; border-radius:999px; font-size:.68rem; font-weight:600; }
.bx-g { background:rgba(16,185,129,.15); color:var(--green-light); border:1px solid rgba(16,185,129,.25); }
.bx-o { background:rgba(245,158,11,.15); color:var(--orange-light); border:1px solid rgba(245,158,11,.25); }
.bx-b { background:rgba(59,130,246,.15); color:#60a5fa; border:1px solid rgba(59,130,246,.25); }
.bx-r { background:rgba(251,113,133,.15); color:#fb7185; border:1px solid rgba(251,113,133,.25); }
.bx-p { background:rgba(139,92,246,.15); color:#a78bfa; border:1px solid rgba(139,92,246,.25); }

/* Responsive */
@media(max-width:1100px) {
  .kpi-row { grid-template-columns:repeat(3,1fr); }
  .cc-8 { grid-column:span 12; } .cc-4.chart-card { grid-column:span 12; }
  .cc-5,.cc-7 { grid-column:span 12; }
  .row-2 { grid-template-columns:1fr; }
}
@media(max-width:768px) {
  .kpi-row { grid-template-columns:repeat(2,1fr); }
  .cc-3,.cc-4,.cc-5,.cc-6,.cc-8 { grid-column:span 12; }
  .row-2 { grid-template-columns:1fr; }
}
@media(max-width:480px) {
  .kpi-row { grid-template-columns:1fr 1fr; }
  .kpi-val { font-size:1.5rem; }
}
