/* ================================================================
   Brokerr — Dashboard Feature
   ================================================================ */

/* ---------- Pipeline Funnel (Dashboard) ---------- */
.pipeline-funnel { display: flex; flex-direction: column; gap: 6px; }
.pipeline-funnel-stage {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 4px 0;
  border-radius: var(--radius-sm, 4px);
  transition: background 0.15s;
}
.pipeline-funnel-stage:hover { background: var(--color-gray-50, #F8FAFC); }
.pipeline-funnel-bar {
  height: 28px;
  border-radius: 6px;
  min-width: 28px;
  transition: width 0.4s ease;
  opacity: 0.85;
}
.pipeline-funnel-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1;
  min-width: 0;
}
.pipeline-funnel-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-gray-700, #334155);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pipeline-funnel-count {
  font-size: 16px;
  font-weight: 800;
  min-width: 28px;
  text-align: right;
}

/* ---------- Pipeline Summary Cards (dashboard widget) ---------- */
.pipeline-summary-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
  gap: 8px;
}
.pipeline-summary-card {
  border: 1px solid var(--color-gray-200, #E2E8F0);
  border-radius: 10px;
  overflow: hidden;
  text-align: center;
  background: white;
  transition: box-shadow 0.15s, transform 0.15s;
}
.pipeline-summary-card:hover {
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  transform: translateY(-1px);
}
.pipeline-summary-card__bar {
  height: 3px;
  width: 100%;
}
.pipeline-summary-card__body {
  padding: 10px 6px 8px;
}
.pipeline-summary-card__name {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-gray-500);
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pipeline-summary-card__count {
  font-size: 1.25rem;
  font-weight: 800;
}

/* ---------- Dashboard ---------- */
.dashboard-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: var(--sp-6);
}

/* Stat cards */
.stat-card {
  padding: 24px;
  border-radius: 14px;
  border: none;
  background: white;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  transition: all 0.2s ease;
}
.stat-card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transform: translateY(-1px);
}
.stat-card__value {
  font-size: 2rem;
  font-weight: 700;
  color: #0F172A;
  line-height: 1.2;
}
.stat-card__label {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #94A3B8;
  font-weight: 600;
  margin-bottom: 4px;
}

/* Dashboard quick actions */
.dashboard-quick-actions {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--sp-2);
  margin-bottom: var(--sp-5);
}
.quick-action-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: var(--sp-3) var(--sp-2);
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: 14px;
  text-decoration: none;
  color: var(--color-gray-600);
  font-size: 0.75rem;
  font-weight: 500;
  transition: all 0.2s ease;
  letter-spacing: 0.01em;
}
.quick-action-card:hover {
  border-color: var(--color-primary);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  transform: translateY(-1px) scale(1.02);
  color: var(--color-primary);
}
.quick-action-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.quick-action-icon-clean {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-gray-500, #64748B);
  transition: color 0.15s;
}
.quick-action-card:hover .quick-action-icon-clean {
  color: var(--color-primary, #1B2A4A);
}

.dashboard-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-6);
}

/* Needs your attention */
.dashboard-attention {
  margin-bottom: var(--sp-6);
}
.dashboard-attention__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: var(--sp-3);
}
.dashboard-attention__title {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-900);
  margin: 0;
}
.dashboard-attention__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-3);
}
.attention-card {
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  padding: var(--sp-3);
  display: flex;
  flex-direction: column;
  min-height: 128px;
}
.attention-card--empty {
  background: var(--color-gray-50);
  border-style: dashed;
}
.attention-card__head {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  margin-bottom: var(--sp-2);
  color: var(--color-gray-700);
}
.attention-card__title {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  flex: 1;
}
.attention-card__count {
  background: var(--color-gray-100);
  color: var(--color-gray-700);
  border-radius: var(--radius-sm);
  padding: 2px 8px;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
}
.attention-card__body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}
.attention-card__empty {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
  font-style: italic;
}
.attention-item {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  background: none;
  border: none;
  padding: 6px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  text-align: left;
  width: 100%;
  transition: background 0.15s;
}
.attention-item:hover {
  background: var(--color-gray-100);
}
.attention-item__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.attention-item__dot--error { background: var(--color-error); }
.attention-item__dot--warn { background: var(--color-warning, #F59E0B); }
.attention-item__dot--info { background: var(--color-info, #3B82F6); }
.attention-item__text {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
}
.attention-item__title {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  color: var(--color-gray-800);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.attention-item__meta {
  font-size: 10px;
  color: var(--color-gray-500);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Pipeline Chart */
.dashboard-chart {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}
.dashboard-chart__row {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
}
.dashboard-chart__label {
  width: 90px;
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
  text-align: right;
  flex-shrink: 0;
}
.dashboard-chart__bar-wrap {
  flex: 1;
  height: 24px;
  background: var(--color-gray-100);
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.dashboard-chart__bar {
  height: 100%;
  border-radius: var(--radius-sm);
  transition: width var(--transition-slow);
  min-width: 4px;
}
.dashboard-chart__count {
  width: 36px;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-700);
  text-align: right;
  flex-shrink: 0;
}

/* Activity Feed */
.dashboard-activity {
  display: flex;
  flex-direction: column;
}
.dashboard-activity__item {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-5);
  border-bottom: 1px solid #F1F5F9;
}
.dashboard-activity__item:last-child { border-bottom: none; }
.dashboard-activity__icon {
  color: var(--color-gray-400);
  margin-top: 2px;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dashboard-activity__content { flex: 1; min-width: 0; }
.dashboard-activity__text {
  font-size: var(--font-size-sm);
  color: var(--color-gray-700);
  line-height: 1.4;
}
.dashboard-activity__meta {
  font-size: 0.7rem;
  color: var(--color-gray-400);
  display: flex;
  gap: var(--sp-2);
  margin-top: 2px;
}

/* Skeleton Loading */
.skeleton-block {
  background: linear-gradient(90deg, var(--color-gray-100) 25%, var(--color-gray-200) 50%, var(--color-gray-100) 75%);
  background-size: 200% 100%;
  animation: dash-skeleton-pulse 1.5s ease-in-out infinite;
  border-radius: var(--radius-lg);
}
@keyframes dash-skeleton-pulse {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ---------- Job Pipeline (Dashboard) ---------- */
.jp-stages { display:flex; flex-direction:column; gap:6px; }
.jp-stage {
  position:relative; display:flex; justify-content:space-between; align-items:center;
  padding:10px 16px; border-radius:var(--radius-md); background:var(--color-gray-50);
  cursor:pointer; overflow:hidden; transition:background 0.15s;
}
.jp-stage:hover { background:var(--color-gray-100); }
.jp-stage__left { display:flex; align-items:center; gap:8px; z-index:1; }
.jp-stage__name { font-size:13px; font-weight:600; color:var(--color-gray-700); letter-spacing:0.01em; }
.jp-stage__right { display:flex; align-items:center; gap:10px; z-index:1; }
.jp-stage__count { font-size:18px; font-weight:800; color:var(--color-primary); }
.jp-stage__pct { font-size:11px; font-weight:500; color:var(--color-gray-400); min-width:32px; text-align:right; }
.jp-stage__bar {
  position:absolute; left:0; top:0; bottom:0; border-radius:var(--radius-md);
  background:linear-gradient(90deg, rgba(13,148,136,0.08), rgba(13,148,136,0.04));
  transition:width 0.4s ease;
}
.jp-stage--rejected .jp-stage__count { color:var(--color-error); }
.jp-stage--rejected .jp-stage__bar { background:linear-gradient(90deg, rgba(239,68,68,0.06), rgba(239,68,68,0.02)); }
.jp-status { font-size:11px; font-weight:600; color:var(--color-gray-500); background:var(--color-gray-100); padding:2px 10px; border-radius:99px; }
.jp-status--open { color:#059669; background:#ECFDF5; }
.jp-status--paused { color:#D97706; background:#FFFBEB; }

/* ---------- Dashboard Widgets ---------- */

.dashboard-widgets {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-4);
  margin-top: var(--sp-4);
}

.widget-card {
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg, 12px);
  overflow: hidden;
  transition: box-shadow 0.2s;
}
.widget-card:hover { box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06); }

.widget-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid var(--color-gray-100);
}
.widget-header__title {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--color-gray-700);
}
.widget-header__link {
  font-size: var(--font-size-xs);
  color: var(--color-secondary, #0D9488);
  text-decoration: none;
  font-weight: 600;
}
.widget-header__link:hover { text-decoration: underline; }

.widget-body { padding: var(--sp-3) var(--sp-4); }

.widget-list { display: flex; flex-direction: column; gap: 0; }
.widget-list-item {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-2) 0;
  border-bottom: 1px solid var(--color-gray-50);
  font-size: 0.8125rem;
}
.widget-list-item:last-child { border-bottom: none; }

.widget-avatar {
  width: 28px;
  height: 28px;
  border-radius: var(--radius-full, 50%);
  background: var(--color-primary, #1B2A4A);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.65rem;
  font-weight: 700;
  flex-shrink: 0;
}

.widget-item-info { flex: 1; min-width: 0; }
.widget-item-name { font-weight: 500; color: var(--color-gray-900); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.widget-item-meta { font-size: var(--font-size-xs); color: var(--color-gray-500); }

.widget-item-time {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
  white-space: nowrap;
  flex-shrink: 0;
}

/* Pipeline summary mini bars */
.widget-pipeline-bars { display: flex; flex-direction: column; gap: var(--sp-2); }
.widget-pipeline-row {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  font-size: 0.8125rem;
}
.widget-pipeline-label {
  width: 100px;
  flex-shrink: 0;
  font-weight: 500;
  color: var(--color-gray-700);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.widget-pipeline-bar-wrap {
  flex: 1;
  height: 8px;
  background: var(--color-gray-100);
  border-radius: 4px;
  overflow: hidden;
}
.widget-pipeline-bar {
  height: 100%;
  border-radius: 4px;
  min-width: 2px;
  transition: width 0.4s ease;
}
.widget-pipeline-count {
  width: 28px;
  text-align: right;
  font-weight: 600;
  color: var(--color-gray-600);
  font-size: var(--font-size-xs);
}

/* Activity feed widget */
.widget-activity-item {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-2);
  padding: var(--sp-2) 0;
  border-bottom: 1px solid var(--color-gray-50);
  font-size: 0.8125rem;
}
.widget-activity-item:last-child { border-bottom: none; }
.widget-activity-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-secondary, #0D9488);
  flex-shrink: 0;
  margin-top: 6px;
}
.widget-activity-text { flex: 1; color: var(--color-gray-700); }
.widget-activity-time { font-size: var(--font-size-xs); color: var(--color-gray-400); white-space: nowrap; flex-shrink: 0; }

/* -- Responsive -- */
@media (max-width: 1024px) {
  .dashboard-stats { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .dashboard-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .dashboard-attention__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .dashboard-stats {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px;
  }
  .stat-card { padding: var(--sp-3); }
  .stat-card__label { font-size: 11px; }
  .stat-card__value { font-size: var(--font-size-xl); }

  .dashboard-attention__grid {
    grid-template-columns: 1fr !important;
    gap: var(--sp-3);
  }
  .attention-card { padding: var(--sp-3); }

  .dashboard-quick-actions {
    display: flex !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: var(--sp-2);
    padding-bottom: var(--sp-2);
    scroll-snap-type: x mandatory;
  }
  .dashboard-quick-actions > * {
    flex-shrink: 0;
    min-width: 100px;
    scroll-snap-align: start;
  }

  .dashboard-grid { grid-template-columns: 1fr !important; }

  .dashboard-widgets {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .dashboard-attention__grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .dashboard-quick-actions > * { min-width: 90px; }
  .stat-card { padding: var(--sp-2); }
  .stat-card__value { font-size: var(--font-size-lg); }
}

/* ============================================================
   Dashboard v2 — premium single-view redesign (9 Jun 2026)
   All selectors scoped under .dash2 so nothing leaks in/out.
   ============================================================ */
.dash2{display:flex;flex-direction:column;gap:28px;}
/* KPI row, quick row, checklist and accordions live inside #dashboard-body —
   this is the element whose children need the vertical spacing. */
.dash2 #dashboard-body{display:flex;flex-direction:column;gap:28px;}

/* Header */
.dash2 .head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;}
.dash2 .head h1{font-size:21px;font-weight:700;color:var(--color-primary);letter-spacing:-0.025em;margin:0;}
.dash2 .head__title-row{display:flex;align-items:center;gap:12px;}
.dash2 .month-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border:1px solid var(--color-gray-200);border-radius:999px;background:var(--color-white);font-size:12px;font-weight:600;color:var(--color-gray-600);box-shadow:0 1px 2px rgba(16,24,40,.04);letter-spacing:-0.005em;}
@keyframes dash2-dotPulse{0%{box-shadow:0 0 0 0 rgba(13,148,136,.5);}70%{box-shadow:0 0 0 6px rgba(13,148,136,0);}100%{box-shadow:0 0 0 0 rgba(13,148,136,0);}}
.dash2 .month-pill__dot{width:6px;height:6px;border-radius:50%;background:var(--color-secondary);animation:dash2-dotPulse 2s cubic-bezier(.4,0,.6,1) infinite;}
.dash2 .greet{font-size:13px;color:var(--color-gray-500);margin-top:3px;}
.dash2 .greet b{color:var(--color-gray-700);font-weight:600;}
.dash2 .head .actions{display:flex;gap:8px;}
.dash2-btn{height:36px;padding:0 14px;border-radius:10px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:7px;cursor:pointer;border:1px solid var(--color-gray-200);background:var(--color-white);color:var(--color-gray-600);transition:all .15s;text-decoration:none;}
.dash2-btn svg{width:15px;height:15px;stroke:currentColor;}
.dash2-btn:hover{background:var(--color-gray-50);border-color:var(--color-gray-300);}
.dash2-btn--primary{background:var(--color-secondary);border-color:var(--color-secondary);color:#fff;box-shadow:0 1px 2px rgba(13,148,136,.25);}
.dash2-btn--primary:hover{background:var(--color-secondary-dark);border-color:var(--color-secondary-dark);}
.dash2-btn--primary svg{stroke:#fff;}

/* KPI strip */
.dash2 .kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;}
.dash2 .kpi{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:14px;padding:16px 18px;box-shadow:0 1px 2px rgba(16,24,40,.04);transition:transform .18s,box-shadow .18s,border-color .18s;}
.dash2 .kpi:hover{transform:translateY(-2px);box-shadow:0 8px 24px -12px rgba(16,24,40,.18);border-color:var(--color-gray-300);}
.dash2 .kpi--link{cursor:pointer;}
.dash2 .kpi--link:hover{border-color:var(--color-secondary);}
.dash2 .kpi__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.dash2 .kpi__label{font-size:11px;font-weight:600;color:var(--color-gray-400);text-transform:uppercase;letter-spacing:0.07em;}
.dash2 .kpi__ico{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--color-gray-100);}
.dash2 .kpi__ico svg{width:16px;height:16px;stroke:var(--color-gray-500);}
.dash2 .kpi--accent .kpi__ico{background:rgba(13,148,136,.10);} .dash2 .kpi--accent .kpi__ico svg{stroke:var(--color-secondary);}
.dash2 .kpi--ok .kpi__ico{background:rgba(34,197,94,.10);} .dash2 .kpi--ok .kpi__ico svg{stroke:var(--color-success);}
.dash2 .kpi__value{font-size:30px;font-weight:700;color:var(--color-primary);line-height:1;letter-spacing:-0.03em;font-variant-numeric:tabular-nums;}
.dash2 .kpi__value small{font-size:16px;font-weight:600;color:var(--color-gray-400);margin-left:1px;}
.dash2 .kpi__delta{display:inline-flex;align-items:center;gap:3px;margin-top:9px;font-size:11.5px;font-weight:600;}
.dash2 .kpi__delta svg{width:12px;height:12px;}
.dash2 .up{color:var(--color-success);} .dash2 .down{color:var(--color-error);} .dash2 .flat{color:var(--color-gray-400);}

/* Quick actions */
.dash2 .quick{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;}
.dash2 .qa{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:14px;padding:13px 15px;display:flex;flex-direction:row;align-items:center;gap:11px;cursor:pointer;text-decoration:none;box-shadow:0 1px 2px rgba(16,24,40,.04);transition:all .16s;}
.dash2 .qa:hover{transform:translateY(-2px);box-shadow:0 8px 24px -12px rgba(16,24,40,.18);border-color:var(--color-secondary);}
.dash2 .qa__ico{width:38px;height:38px;border-radius:11px;background:rgba(13,148,136,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .16s;}
.dash2 .qa__ico svg{width:19px;height:19px;stroke:var(--color-secondary);}
.dash2 .qa:hover .qa__ico{background:rgba(13,148,136,.16);}
.dash2 .qa__l{flex:1;min-width:0;font-size:13px;font-weight:600;color:var(--color-gray-700);letter-spacing:-0.01em;}
.dash2 .qa__arrow{width:16px;height:16px;stroke:var(--color-gray-300);flex-shrink:0;opacity:0;transform:translateX(-4px);transition:all .18s;}
.dash2 .qa:hover .qa__arrow{opacity:1;transform:translateX(0);stroke:var(--color-secondary);}
@keyframes dash2-livePulse{0%{box-shadow:0 0 0 0 rgba(13,148,136,.45);}70%{box-shadow:0 0 0 10px rgba(13,148,136,0);}100%{box-shadow:0 0 0 0 rgba(13,148,136,0);}}
.dash2 .qa--live .qa__ico{background:rgba(13,148,136,.10);animation:dash2-livePulse 2s cubic-bezier(.4,0,.6,1) infinite;}
.dash2 .qa--live .qa__ico svg{stroke:var(--color-secondary);}

/* Bento + section headers */
.dash2 .bento{display:grid;grid-template-columns:repeat(3,1fr);align-items:start;gap:16px;}
.dash2 .col{display:flex;flex-direction:column;gap:12px;min-width:0;}
.dash2 .sec-head{display:flex;align-items:center;justify-content:space-between;padding:0 2px;}
.dash2 .sec-title-group{display:flex;align-items:center;gap:8px;}
.dash2 .sec-title{font-size:14px;font-weight:700;color:var(--color-primary);letter-spacing:-0.01em;}
/* Collapsible dashboard accordions (default closed) — premium stacked cards */
.dash2 .d2-accordions{display:flex;flex-direction:column;gap:12px;}
.dash2 .d2-acc{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:14px;box-shadow:0 1px 2px rgba(16,24,40,.04);overflow:hidden;transition:box-shadow .18s,border-color .18s;}
.dash2 .d2-acc:hover{border-color:var(--color-gray-300);box-shadow:0 4px 16px -8px rgba(16,24,40,.12);}
.dash2 .d2-acc__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;cursor:pointer;transition:background .14s;}
.dash2 .d2-acc__head:hover{background:var(--color-gray-50);}
.dash2 .d2-acc__title-group{display:flex;align-items:center;gap:9px;min-width:0;}
.dash2 .d2-acc__actions{display:flex;align-items:center;gap:14px;flex-shrink:0;}
.dash2 .d2-chevron{width:18px;height:18px;stroke:var(--color-gray-400);flex-shrink:0;transition:transform .2s ease;}
.dash2 .d2-acc.d2-collapsed .d2-chevron{transform:rotate(-90deg);}
.dash2 .d2-acc__body{border-top:1px solid var(--color-gray-100);padding:6px 10px 10px;}
.dash2 .d2-acc.d2-collapsed .d2-acc__body{display:none;}
.dash2 .sec-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;}
.dash2 .sec-count--err{background:#FEE2E2;color:#DC2626;}
.dash2 .sec-count--warn{background:#FEF3C7;color:#D97706;}
.dash2 .panel__link{font-size:12px;font-weight:600;color:var(--color-secondary);cursor:pointer;text-decoration:none;}
.dash2 .panel__link:hover{color:var(--color-secondary-dark);}
.dash2 .panel{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:14px;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(16,24,40,.04);overflow:hidden;}
.dash2 .panel__body{padding:6px 8px 8px;}
.dash2 .panel__empty{padding:22px 14px;text-align:center;font-size:12.5px;color:var(--color-gray-400);}

/* Attention list items (overdue tasks, stalled) */
.dash2 .att-list{display:flex;flex-direction:column;}
.dash2 .att-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;cursor:pointer;transition:background .12s;border:none;background:none;width:100%;text-align:left;}
.dash2 .att-item:hover{background:var(--color-gray-50);}
.dash2 .att-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.dash2 .d-warn{background:var(--color-accent);} .dash2 .d-err{background:var(--color-error);} .dash2 .d-info{background:var(--color-info);}
.dash2 .att-item > span:not([class]){display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;}
.dash2 .att-item__t{display:block;font-size:13px;font-weight:600;color:var(--color-gray-800);line-height:1.35;letter-spacing:-0.006em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dash2 .att-item__m{display:block;font-size:11.5px;color:var(--color-gray-400);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dash2 .att-item__time{margin-left:auto;padding-left:10px;font-size:11px;color:var(--color-gray-400);font-weight:500;white-space:nowrap;}

/* Upcoming events — grouped agenda with timeline rail */
.dash2 .agenda__day{padding:2px 4px 4px;}
.dash2 .agenda__day + .agenda__day{margin-top:4px;}
.dash2 .agenda__day-label{display:flex;align-items:baseline;gap:7px;padding:8px 8px 6px;font-size:11px;font-weight:700;color:var(--color-gray-400);text-transform:uppercase;letter-spacing:0.07em;}
.dash2 .agenda__day-label span{font-size:11px;font-weight:600;color:var(--color-gray-300);letter-spacing:0.02em;}
.dash2 .agenda__day--today .agenda__day-label{color:var(--color-secondary);}
.dash2 .ag-item{display:grid;grid-template-columns:44px 16px 1fr;align-items:stretch;gap:11px;padding:4px 8px;border-radius:9px;cursor:pointer;transition:background .12s;border:none;background:none;width:100%;text-align:left;}
.dash2 .ag-item:hover{background:var(--color-gray-50);}
.dash2 .ag-time{align-self:center;text-align:right;font-size:12.5px;font-weight:600;color:var(--color-gray-600);font-variant-numeric:tabular-nums;letter-spacing:-0.01em;}
.dash2 .ag-rail{position:relative;display:flex;align-items:center;justify-content:center;}
.dash2 .ag-rail::before{content:'';position:absolute;top:0;bottom:0;width:2px;background:var(--color-gray-100);border-radius:2px;}
.dash2 .agenda__day-label + .ag-item .ag-rail::before{top:50%;}
.dash2 .ag-item:last-child .ag-rail::before{bottom:50%;}
.dash2 .ag-dot{position:relative;z-index:1;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 3px var(--color-white);}
.dash2 .ag-dot--interview{background:var(--color-secondary);}
.dash2 .ag-dot--call{background:var(--color-info);}
.dash2 .ag-dot--meeting{background:var(--color-accent);}
.dash2 .ag-body{display:flex;flex-direction:column;gap:3px;min-width:0;padding:7px 0;}
.dash2 .ag-title{display:block;font-size:13px;font-weight:600;color:var(--color-gray-800);line-height:1.35;letter-spacing:-0.006em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dash2 .ag-meta{display:block;font-size:11.5px;color:var(--color-gray-400);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* staggered load */
@keyframes dash2-rise{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.dash2 .anim{opacity:0;animation:dash2-rise .5s cubic-bezier(.2,.7,.2,1) forwards;}
.dash2 .d1{animation-delay:.04s;}.dash2 .d2{animation-delay:.10s;}.dash2 .d3{animation-delay:.16s;}.dash2 .d4{animation-delay:.22s;}

/* skeleton */
.dash2 .dash2-sk{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:14px;min-height:92px;position:relative;overflow:hidden;}
.dash2 .dash2-sk::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(0,0,0,.03),transparent);animation:dash2-shimmer 1.2s infinite;}
@keyframes dash2-shimmer{from{transform:translateX(-100%);}to{transform:translateX(100%);}}

/* responsive */
@media (max-width:1100px){
  .dash2 .kpis{grid-template-columns:repeat(3,1fr);}
  .dash2 .quick{grid-template-columns:repeat(3,1fr);}
  .dash2 .bento{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .dash2 .kpis{grid-template-columns:repeat(2,1fr);}
  .dash2 .quick{grid-template-columns:repeat(2,1fr);}
  .dash2 .head{flex-direction:column;align-items:flex-start;gap:10px;}
}

/* Stalled-candidate deep-link flash (applied to a .kanban-card on the pipeline page) */
@keyframes d2CardFlash{0%,100%{box-shadow:0 0 0 0 rgba(13,148,136,0);}30%,65%{box-shadow:0 0 0 4px rgba(13,148,136,.4);}}
.d2-card-flash{animation:d2CardFlash 1.3s ease-in-out 2;outline:2px solid var(--color-secondary)!important;outline-offset:2px;}
