/* Renzo Data Analytics Dashboard */
.rz-dashboard { background:var(--bg-card); border:1px solid rgba(148,163,184,0.08); border-radius:16px; overflow:hidden; margin:12px 0; }
.rz-dashboard.rz-dash-full { position:fixed; inset:20px; z-index:9998; border-radius:20px; overflow-y:auto; box-shadow:0 20px 60px rgba(0,0,0,0.4); }
.rz-dash-header { display:flex; justify-content:space-between; align-items:center; padding:16px 20px; border-bottom:1px solid rgba(148,163,184,0.06); }
.rz-dash-header strong { font-size:0.95em; }
.rz-dash-meta { font-size:0.75em; color:var(--text-muted); margin-left:10px; }
.rz-dash-expand { background:none; border:1px solid rgba(148,163,184,0.1); border-radius:8px; padding:6px 8px; cursor:pointer; color:var(--text-muted); transition:all .15s; }
.rz-dash-expand:hover { border-color:var(--primary-light); color:var(--primary-light); }

/* KPI Row */
.rz-kpi-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; padding:16px 20px; }
.rz-kpi { background:rgba(148,163,184,0.03); border:1px solid rgba(148,163,184,0.06); border-radius:12px; padding:14px 16px; position:relative; overflow:hidden; }
.rz-kpi-label { font-size:0.7em; font-weight:600; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.5px; margin-bottom:6px; }
.rz-kpi-val { font-size:1.6em; font-weight:700; color:var(--text); line-height:1.2; }
.rz-kpi-trend { font-size:0.75em; font-weight:600; margin-top:4px; }
.rz-kpi-spark { position:absolute; bottom:8px; right:12px; opacity:0.5; }

/* Chart Grid */
.rz-chart-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:0 20px 20px; }
.rz-chart-card { background:rgba(148,163,184,0.02); border:1px solid rgba(148,163,184,0.06); border-radius:12px; padding:16px; }
.rz-chart-title { font-size:0.78em; font-weight:600; color:var(--text-muted); margin-bottom:10px; text-transform:uppercase; letter-spacing:0.3px; }

@media(max-width:600px) {
    .rz-chart-grid { grid-template-columns:1fr; }
    .rz-kpi-row { grid-template-columns:1fr 1fr; }
}

/* KPI name and progress bar */
.rz-kpi-name { font-size:0.85em; font-weight:600; color:var(--text); margin:4px 0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rz-kpi-bar { height:4px; background:rgba(148,163,184,0.08); border-radius:2px; margin:6px 0 4px; overflow:hidden; }
.rz-kpi-bar > div { height:100%; border-radius:2px; transition:width 0.8s ease; }

/* ── v2.2 VISUAL POLISH — executive-grade (CSS-only, no logic) ── */

/* Insight box (emitted by app.js/data-analytics) — unified typography + left rule */
.rz-insight-box{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-left:3px solid var(--primary);
  border-radius:var(--r-lg,14px);
  padding:var(--sp-4,16px) var(--sp-5,20px);
  margin:var(--sp-4,16px) 0;
  box-shadow:var(--elev-1);
  transition:border-color var(--tr-fast);
}
.rz-insight-box:hover{border-color:rgba(99,102,241,0.28)}
.rz-insight-box--positive{border-left-color:var(--success,#22c55e)}
.rz-insight-box--warn{border-left-color:var(--warn,#f59e0b)}
.rz-insight-box--risk{border-left-color:var(--danger,#ef4444)}
.rz-insight-header{display:flex;align-items:center;gap:var(--sp-3,12px);margin-bottom:var(--sp-3,12px)}
.rz-insight-header h3{font:var(--font-h1);letter-spacing:-0.01em;color:var(--text);margin:0}
.rz-insight-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--r-sm,6px);background:rgba(99,102,241,0.12);color:var(--primary)}
.rz-insight-icon i[data-lucide]{width:16px;height:16px}
.rz-insight-body{font:var(--font-body);color:var(--text)}
.rz-insight-body strong{font-weight:600;color:var(--text)}
.rz-insight-actions{display:flex;gap:var(--sp-2,8px);margin-top:var(--sp-4,16px);flex-wrap:wrap}

/* Inline KPI (rz-kpi) — neutralize inline rainbow top-border, left-rule on first */
.rz-kpi{
  border:1px solid var(--border) !important;
  border-top:1px solid var(--border) !important;
  border-radius:var(--r-lg,14px);
  padding:var(--sp-4,16px) var(--sp-5,20px);
  background:var(--bg-card);
  box-shadow:var(--elev-1);
  transition:border-color var(--tr-fast),box-shadow var(--tr-fast);
}
.rz-kpi:hover{border-color:rgba(99,102,241,0.28);box-shadow:var(--elev-2)}
.rz-kpis .rz-kpi:first-child{border-left:3px solid var(--primary) !important;padding-left:calc(var(--sp-5,20px) - 3px)}
.rz-kpi .rz-kpi-val{
  font:var(--font-display);
  font-feature-settings:"tnum" 1;
  font-variant-numeric:tabular-nums;
  letter-spacing:-0.02em;
  color:var(--text);
  text-align:left;
}
.rz-kpi .rz-kpi-label{
  font:var(--font-label);
  letter-spacing:0.08em;
  color:var(--text-muted);
  text-transform:uppercase;
  text-align:left;
}
.rz-kpi .rz-kpi-name{font:var(--font-caption);color:var(--text-muted);text-align:left}
.rz-kpi .rz-kpi-bar{margin-top:var(--sp-2,8px)}
.rz-kpi .rz-kpi-bar > div{background:var(--primary) !important}
.rz-kpi .rz-kpi-trend{font:var(--font-caption);color:var(--text-muted) !important;text-align:left;margin-top:var(--sp-1,4px)}

/* Chart card (data-analytics) parity with an-chart */
.rz-chart-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--r-lg,14px);
  padding:var(--sp-5,24px);
  box-shadow:var(--elev-1);
  transition:border-color var(--tr-fast);
}
.rz-chart-card:hover{border-color:rgba(99,102,241,0.22)}
.rz-chart-title{
  font:var(--font-h2);
  color:var(--text);
  letter-spacing:-0.005em;
  text-transform:none;
  margin-bottom:var(--sp-4,16px);
}
.rz-chart-card canvas{min-height:260px}

/* Focus-visible */
.rz-kpi:focus-visible,.rz-chart-card:focus-visible,.rz-insight-box:focus-visible{
  outline:2px solid var(--primary);outline-offset:2px;
}
