/* Renzo Dashboard Design Tokens (visual polish — no logic) */
:root{
  /* Typography */
  --font-display:700 2.125rem/1.1 var(--font-stack,'Inter',system-ui,sans-serif);
  --font-label:600 0.6875rem/1.2 var(--font-stack,'Inter',system-ui,sans-serif);
  --font-h1:600 1.125rem/1.35 var(--font-stack,'Inter',system-ui,sans-serif);
  --font-h2:600 0.9375rem/1.35 var(--font-stack,'Inter',system-ui,sans-serif);
  --font-body:400 0.875rem/1.55 var(--font-stack,'Inter',system-ui,sans-serif);
  --font-caption:500 0.75rem/1.4 var(--font-stack,'Inter',system-ui,sans-serif);
  /* Spacing */
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;
  /* Radii */
  --r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:18px;
  /* Elevation (light default) */
  --elev-0:none;
  --elev-1:0 1px 2px rgba(15,23,41,0.06),0 1px 3px rgba(15,23,41,0.04);
  --elev-2:0 4px 12px rgba(15,23,41,0.08),0 2px 4px rgba(15,23,41,0.04);
  /* Transitions */
  --tr-fast:150ms cubic-bezier(0.4,0,0.2,1);
}
[data-theme="dark"]{
  --elev-1:0 0 0 1px rgba(148,163,184,0.06);
  --elev-2:0 0 0 1px rgba(148,163,184,0.14);
}

/* Renzo Data Chat v6 */
.rzd{position:fixed;inset:0;z-index:10000;background:var(--bg,#0f172a);display:flex;flex-direction:column;opacity:0;transition:opacity .2s}
.rzd.open{opacity:1}
/* Header */
.rzd-head{display:flex;justify-content:space-between;align-items:center;padding:0 20px;height:48px;border-bottom:1px solid rgba(148,163,184,0.08);flex-shrink:0}
.rzd-head-l{font-size:.88em;color:var(--text-muted)}
.rzd-head-l strong{color:var(--text)}
.rzd-hbtn{padding:6px 14px;border-radius:8px;border:1px solid rgba(148,163,184,0.1);background:transparent;color:var(--text-muted);font-size:.8em;cursor:pointer;font-family:inherit;transition:all .12s}
.rzd-hbtn:hover{border-color:var(--primary-light);color:var(--primary-light)}
/* Messages area */
.rzd-msgs{flex:1;overflow-y:auto;padding:24px;max-width:800px;margin:0 auto;width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:16px;scroll-behavior:smooth}
/* Messages */
.rzd-msg{animation:rzd-fi .3s ease both}
.rzd-msg-user{align-self:flex-end;max-width:70%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:12px 18px;border-radius:16px 16px 4px 16px;font-size:14px;line-height:1.5}
.rzd-msg-ai{align-self:flex-start;max-width:95%}
.rzd-msg-text{font-size:14px;line-height:1.7;color:var(--text)}
.rzd-msg-text strong{color:var(--primary-light,#818cf8)}
/* KPI cards inline */
.rzd-kpis{display:flex;gap:12px;margin:12px 0;flex-wrap:wrap}
.rzd-kpi{background:rgba(148,163,184,0.03);border:1px solid rgba(148,163,184,0.06);border-radius:12px;padding:14px 18px;min-width:120px;text-align:center}
.rzd-kpi-v{font-size:24px;font-weight:700;line-height:1.2}
.rzd-kpi-l{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}
/* Chart inline */
.rzd-chart{margin:12px 0;max-width:600px;height:300px;background:rgba(148,163,184,0.02);border:1px solid rgba(148,163,184,0.06);border-radius:12px;padding:16px;box-sizing:border-box}
.rzd-chart canvas{width:100%!important;height:100%!important}
/* Table inline */
.rzd-table{margin:12px 0;overflow-x:auto;border-radius:10px;border:1px solid rgba(148,163,184,0.06);max-width:600px}
.rzd-table table{width:100%;border-collapse:collapse;font-size:12px}
.rzd-table th{padding:8px 12px;text-align:left;border-bottom:1px solid rgba(148,163,184,0.1);color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.3px;background:rgba(148,163,184,0.02)}
.rzd-table td{padding:6px 12px;border-bottom:1px solid rgba(148,163,184,0.03)}
.rzd-table tr:nth-child(even){background:rgba(148,163,184,0.015)}
.rzd-table-more{padding:8px 12px;font-size:11px;color:var(--text-muted);text-align:center}
/* Suggestion chips */
.rzd-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.rzd-chip{padding:7px 16px;border-radius:20px;border:1px solid rgba(99,102,241,0.25);background:transparent;color:var(--primary-light,#818cf8);font-size:12.5px;cursor:pointer;font-family:inherit;transition:all .15s}
.rzd-chip:hover{background:rgba(99,102,241,0.1);border-color:var(--primary-light)}
/* Input bar */
.rzd-bar{padding:12px 24px 16px;max-width:800px;margin:0 auto;width:100%;box-sizing:border-box;display:flex;gap:10px}
.rzd-input{flex:1;padding:12px 18px;border-radius:14px;border:1px solid rgba(148,163,184,0.1);background:transparent;color:var(--text);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s}
.rzd-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,0.08)}
.rzd-input:disabled{opacity:.5;cursor:not-allowed}
.rzd-send{width:42px;height:42px;border-radius:12px;border:none;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;cursor:pointer;font-size:1.1em;flex-shrink:0;transition:transform .1s}
.rzd-send:hover{transform:scale(1.05)}
/* Spinner */
.rzd-spin{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,0.3);border-top-color:#fff;border-radius:50%;animation:rzd-spin .6s linear infinite}
@keyframes rzd-spin{to{transform:rotate(360deg)}}
/* Animation */
@keyframes rzd-fi{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
/* Responsive */
@media(max-width:600px){.rzd-msgs,.rzd-bar{padding-left:12px;padding-right:12px}.rzd-msg-user{max-width:85%}.rzd-chart{height:220px}}
