/* Broker → Dashboard. Panels, tags, dots and avatars come from the tenant admin shell; this adds the attention strip,
   list rows and the tasks checklist. Status = small dots, no stripes or tinted fills. */

/* ─── Needs attention: one tile per count, each a link to the filtered list ─── */
.dash-body { display: grid; gap: 14px; }
.attn-row { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.attn { display: grid; gap: 2px; padding: 14px 16px; border: 1px solid var(--border); border-radius: var(--r-card); background: var(--surface);
  color: var(--fg); text-decoration: none; transition: border-color 0.15s var(--ease); }
.attn:hover, .attn:focus-visible { border-color: var(--border-strong); }
.attn-label { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 12.5px; font-weight: 500; }
.shell-page .attn-label svg.lucide { width: 14px; height: 14px; }
.attn strong { font-size: 24px; font-weight: 700; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.attn[data-zero] strong { color: var(--muted); }
.attn small { color: var(--muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ─── Two columns of panels ─── */
.dash-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(320px, 1fr); gap: 16px; align-items: start; }
.dash-col { display: grid; gap: 16px; min-width: 0; }
.dash-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.panel-head .count-pill { margin-left: 2px; }

/* List rows: whole row is the link */
.dlist { margin: 0; padding: 0; list-style: none; }
.dlist li + li { border-top: 1px solid var(--border); }
.drow { display: flex; align-items: center; gap: 12px; padding: 10px 16px; color: var(--fg); text-decoration: none; }
a.drow:hover, a.drow:focus-visible { background: var(--surface-soft); }
.drow .member-text { flex: 1; min-width: 0; }
.drow .member-text > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Row titles (tasks, renewals, refinance, missing docs, birthdays): same size + weight as the empty-state title (.dempty strong) */
.drow .member-text > span:first-child, .check-title { font-size: 13.5px; font-weight: 600; }
.drow-meta { flex: none; display: grid; justify-items: end; gap: 2px; color: var(--muted); font-size: 12.5px; text-align: right; font-variant-numeric: tabular-nums; }
.drow-meta strong { color: var(--fg); font-size: 13.5px; font-weight: 600; }
.drow-time { flex: none; width: 76px; white-space: nowrap; color: var(--fg); font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
.drow-time small { display: block; color: var(--muted); font-weight: 400; }
.drow .doc-icon { width: 30px; height: 30px; }
.drow .member-avatar { width: 30px; height: 30px; font-size: 11px; flex: none; }
.dempty { display: grid; justify-items: start; gap: 8px; padding: 18px 16px; color: var(--muted); font-size: 13.5px; }
.dempty strong { color: var(--fg); font-weight: 600; }
.dfoot { padding: 10px 16px; border-top: 1px solid var(--border); color: var(--muted); font-size: 12.5px; }


/* Portfolio */
.pf { display: grid; gap: 12px; padding: 16px; }
.pf-value { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.pf-value strong { font-size: 28px; font-weight: 700; letter-spacing: -0.02em; }
.pf-value .kpi-delta { font-size: 13px; }
.pf-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; }
.pf-facts div { display: grid; gap: 2px; }
.pf-facts dt { color: var(--muted); font-size: 12px; }
.pf-facts dd { margin: 0; font-size: 14px; font-weight: 600; }


@media (max-width: 1280px) { .attn-row { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1100px) { .dash-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 720px) { .attn-row, .dash-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dash-pair { grid-template-columns: minmax(0, 1fr); } }

/* Tasks checklist: tick to complete right here */
.check-row { display: flex; align-items: center; gap: 12px; padding: 10px 16px; cursor: pointer; }
.check-row:hover { background: var(--surface-soft); }
.check-row .task-check { flex: none; width: 18px; height: 18px; margin: 0; accent-color: var(--fg); cursor: pointer; }
.check-row .member-text { flex: 1; min-width: 0; }
.check-row .member-text > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.check-row.is-done .check-title { color: var(--muted); text-decoration: line-through; }
body[data-ai-open] .dash-grid { grid-template-columns: minmax(0, 1fr); } /* chat open: one column */
body[data-ai-open] .attn-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
/* the auth stylesheet styles spans inside <label> as grids — undo that inside checklist rows */
.check-row .member-email, .check-row .check-title { display: block; }
.check-row .member-email { font-size: 12.5px; } /* record line under a task title: one step below the title */
.check-row .ndot { display: inline-flex; align-items: center; gap: 7px; }

