/* ══════════════════════════════════════
   DASHBOARD — css/dashboard.css
══════════════════════════════════════ */
.dash-page { padding:20px; }
.kpi-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:16px; }
.mid-grid  { display:grid; grid-template-columns:1fr 300px; gap:12px; margin-bottom:12px; }
.bot-grid  { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }

/* Bar chart */
.bar-chart { display:flex; align-items:flex-end; gap:5px; height:130px; }
.bc-group { flex:1; display:flex; gap:2px; align-items:flex-end; }
.bc-bar { flex:1; border-radius:4px 4px 0 0; min-width:5px; transition:opacity .2s; cursor:pointer; }
.bc-bar:hover { opacity:.7; }
.bc-bar.blue  { background:var(--blue); }
.bc-bar.green { background:var(--green); opacity:.65; }
.bc-labels { display:flex; gap:5px; padding:5px 0 0; }
.bc-label  { flex:1; text-align:center; font-size:8px; color:var(--m); font-family:var(--mo); }

/* Inbox preview */
.inbox-preview-item {
  display:flex; gap:10px; padding:10px 16px; border-bottom:1px solid var(--b);
  cursor:pointer; transition:background .15s;
}
.inbox-preview-item:hover { background:rgba(255,255,255,.02); }
.inbox-preview-item:last-child { border-bottom:none; }
.ipi-avatar { width:32px; height:32px; border-radius:9px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; color:#fff; font-family:var(--mo); }
.ipi-body { flex:1; min-width:0; }
.ipi-top { display:flex; align-items:center; gap:6px; margin-bottom:2px; }
.ipi-name { font-size:12px; font-weight:700; }
.ipi-time { font-size:9px; color:var(--m); margin-left:auto; font-family:var(--mo); }
.ipi-preview { font-size:11px; color:var(--m2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-bottom:4px; }
.ipi-tags { display:flex; gap:4px; }

/* Appt list */
.appt-row { display:flex; align-items:center; gap:9px; padding:8px 0; border-bottom:1px solid var(--b); }
.appt-row:last-child { border-bottom:none; }
.appt-time { font-size:10px; color:var(--m2); font-family:var(--mo); min-width:36px; }
.appt-bar  { width:3px; height:28px; border-radius:2px; flex-shrink:0; }
.appt-name { font-size:12px; font-weight:600; }
.appt-type { font-size:10px; color:var(--m2); }

/* Pay list */
.pay-row { display:flex; align-items:center; gap:9px; padding:8px 0; border-bottom:1px solid var(--b); }
.pay-row:last-child { border-bottom:none; }
.pay-icon   { width:28px; height:28px; border-radius:8px; background:var(--s2); display:flex; align-items:center; justify-content:center; font-size:13px; flex-shrink:0; }
.pay-name   { font-size:12px; font-weight:600; }
.pay-sub    { font-size:10px; color:var(--m2); }
.pay-amount { margin-left:auto; font-size:13px; font-weight:700; font-family:var(--mo); }
.pay-amount.pos     { color:var(--green); }
.pay-amount.pending { color:var(--amber); }

/* AI feed */
.ai-feed-item { display:flex; gap:8px; padding:8px 0; border-bottom:1px solid var(--b); }
.ai-feed-item:last-child { border-bottom:none; }
.ai-feed-icon { width:24px; height:24px; border-radius:7px; background:var(--bd); border:1px solid rgba(59,142,255,.2); display:flex; align-items:center; justify-content:center; font-size:11px; flex-shrink:0; }
.ai-feed-text { font-size:11px; color:var(--m2); line-height:1.45; }
.ai-feed-text strong { color:var(--t); font-weight:600; }
.ai-feed-time { font-size:9px; color:var(--m); font-family:var(--mo); margin-top:2px; }
