/* ═══════════════════════════════════════════════════════════════════
   dashboard.css — Committee dashboard: verdict, ratings, action plan
   All classes prefixed with dv-. This module OWNS the dashboard visual.
   Other modules must NOT override these classes inline.
   ═══════════════════════════════════════════════════════════════════ */

/* ── Dashboard container ── */
.dv-dashboard {
  background: var(--dv-card); border-radius: var(--dv-radius);
  padding: 24px; margin-bottom: 14px;
  border-left: 4px solid var(--dv-accent);
}

/* ── Verdict badge ── */
.dv-verdict-badge {
  display: inline-block; font-size: 20px; font-weight: 800;
  padding: 8px 20px; border-radius: 12px; margin-bottom: 12px;
}
.dv-verdict-green  { background: rgba(34,197,94,.15);  color: #22c55e; }
.dv-verdict-yellow { background: rgba(234,179,8,.15);  color: #eab308; }
.dv-verdict-orange { background: rgba(249,115,22,.15); color: #f97316; }
.dv-verdict-red    { background: rgba(239,68,68,.15);  color: #ef4444; }

.dv-verdict-reason { font-size: 14px; font-weight: 500; color: var(--dv-text-dim); margin-bottom: 20px; }

/* ── Rating rows ── */
.dv-rating-row {
  display: flex; align-items: center; gap: 12px;
  padding: 5px 0; font-size: 14px; font-weight: 500;
}
.dv-rating-label { width: 80px; flex-shrink: 0; color: var(--dv-text); text-align: right; font-weight: 600; }
.dv-rating-value { width: 32px; font-weight: 700; text-align: center; flex-shrink: 0; }

/* ── Rating colors ── */
.dv-rating-Aplus, .dv-rating-A, .dv-rating-Aminus { color: #22c55e; }
.dv-rating-Bplus, .dv-rating-B, .dv-rating-Bminus { color: #86efac; }
.dv-rating-Cplus, .dv-rating-C, .dv-rating-Cminus { color: #fbbf24; }
.dv-rating-D { color: #ef4444; }

/* ── Rating bars ── */
.dv-rating-bar-wrap {
  flex: 1; height: 8px; background: var(--dv-secondary);
  border-radius: 4px; overflow: hidden;
}
.dv-rating-bar {
  height: 100%; border-radius: 4px;
  transition: width .5s ease;
}
.dv-rating-pct {
  width: 36px; flex-shrink: 0; text-align: right;
  font-size: 12px; color: var(--dv-text); font-weight: 600;
}

/* ── Action plan zone ── */
.dv-action-zone { margin-top: 20px; }
.dv-action-zone h3 { font-size: 15px; font-weight: 700; margin-bottom: 10px; color: var(--dv-text); display: flex; align-items: center; gap: 8px; }
.dv-action-fav-btn {
  background: none; border: 1px solid #252a33; border-radius: 6px;
  cursor: pointer; padding: 2px 6px; line-height: 1;
  color: var(--dv-muted); transition: color .15s, border-color .15s;
}
.dv-action-fav-btn:hover { border-color: var(--dv-accent); color: var(--dv-accent); }
.dv-action-fav-btn.dv-faved { border-color: var(--dv-accent); color: var(--dv-accent); }

.dv-action-row {
  display: flex; align-items: center; gap: 14px;
  padding: 8px 12px; font-size: 14px; font-weight: 500;
  border-radius: 6px;
  margin-bottom: 3px;
  border-left: 3px solid transparent;
  transition: background var(--dv-transition);
}
.dv-action-price { width: 100px; flex-shrink: 0; text-align: right; font-weight: 700; color: var(--dv-text); white-space: nowrap; }
.dv-action-label { flex: 1; color: var(--dv-text); font-weight: 500; word-break: break-word; }

/* ── Action zone row tints (replaces thin bars) ── */
.dv-action-wait   { background: rgba(107,114,128,.08); border-left-color: rgba(107,114,128,.3); }
.dv-action-watch  { background: rgba(99,102,241,.08);  border-left-color: rgba(99,102,241,.4); }
.dv-action-buy    { background: rgba(34,197,94,.08);   border-left-color: rgba(34,197,94,.4); }
.dv-action-strong { background: rgba(34,197,94,.14);   border-left-color: rgba(34,197,94,.7); }
