/*!
 * DashTemplate.com — Budget Variance Analysis · Template Styles
 * © 2025 DashTemplate.com. All Rights Reserved.
 * License: https://dashtemplate.com/license
 */

:root {
  --dt-template-primary: #6366F1;
  --dt-template-accent:  #22C55E;
}

/* ─── Variance row ───────────────────────── */
.var-row {
  display: grid;
  grid-template-columns: 1fr 96px 96px 90px 64px 1fr;
  gap: 10px;
  align-items: center;
  padding: 10px 16px;
  border-bottom: 1px solid var(--dt-border);
  font-size: 11.5px;
  transition: background var(--t-fast);
}
.var-row:hover { background: var(--dt-surface-2); }
.var-row:last-child { border-bottom: none; }
.var-row.hdr {
  font-size: 9.5px; font-weight: 700; color: var(--dt-text-3);
  letter-spacing: .07em; text-transform: uppercase; background: var(--dt-surface-2);
}

/* ─── Dept budget row ────────────────────── */
.dept-budget-row {
  display: grid;
  grid-template-columns: 140px 96px 96px 80px 64px 1fr;
  gap: 10px;
  align-items: center;
  padding: 10px 16px;
  border-bottom: 1px solid var(--dt-border);
  font-size: 11.5px;
  transition: background var(--t-fast);
}
.dept-budget-row:hover { background: var(--dt-surface-2); }
.dept-budget-row:last-child { border-bottom: none; }
.dept-budget-row.hdr {
  font-size: 9.5px; font-weight: 700; color: var(--dt-text-3);
  letter-spacing: .07em; text-transform: uppercase; background: var(--dt-surface-2);
}

/* ─── Budget utilization bar ─────────────── */
.util-track { height: 8px; background: var(--dt-surface-3); border-radius: 4px; overflow: hidden; }
.util-fill  { height: 100%; border-radius: 4px; transition: width 1s ease; }

/* ─── Variance badge ─────────────────────── */
.var-badge {
  display: inline-block; padding: 2px 7px; border-radius: 5px;
  font-family: 'JetBrains Mono', monospace; font-size: 10.5px; font-weight: 700;
}
.var-badge.under { background: rgba(34,197,94,.15);  color: #22C55E; }
.var-badge.on    { background: rgba(59,130,246,.15); color: #3B82F6; }
.var-badge.over  { background: rgba(239,68,68,.15);  color: #EF4444; }

/* ─── Scenario card ──────────────────────── */
.scenario-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.scenario-card {
  background: var(--dt-surface-2); border: 1px solid var(--dt-border); border-radius: 10px;
  padding: 16px 18px; display: flex; flex-direction: column; gap: 6px;
}
.scenario-card__label { font-size: 9.5px; font-weight: 700; color: var(--dt-text-3); text-transform: uppercase; letter-spacing: .07em; }
.scenario-card__value { font-size: 28px; font-weight: 800; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.scenario-card__sub   { font-size: 11px; color: var(--dt-text-3); }
