:root{
  --brand:#6757E8;       /* primary */
  --brand-dark:#5245ba;
  --muted:#f6f7fb;
}

body{ background:#f7f8fb; }
.navbar{ box-shadow:0 2px 10px rgba(0,0,0,.04); }

.badge-soft{ background:#eef2f7; border:1px solid #e3e8ee; color:#445; }

.table thead th{ position:sticky; top:0; background:#fff; z-index:1; }
.table>tbody>tr:hover td{ background:#fafbff; }

.kpi{ border-radius:16px; }
.card{ border-radius:14px; }

.btn-3d{
  box-shadow: 0 6px 0 #5245ba, 0 10px 20px rgba(0,0,0,.08);
  transform: translateY(-2px);
  transition: all .12s ease;
}
.btn-3d:active{
  transform: translateY(2px);
  box-shadow: 0 2px 0 #5245ba, 0 6px 12px rgba(0,0,0,.06);
}

.btn-brand{ background:var(--brand); border-color:var(--brand); }
.btn-brand:hover{ background:var(--brand-dark); border-color:var(--brand-dark); }

.nav-link.active{ font-weight:600; color:var(--brand)!important; }

/* ===== Expenses Summary colors ===== */
.x-exp-summary .row-parent td{ color:#0d47a1 !important; font-weight:700 !important; } /* parent rows */
.x-exp-summary .row-child  td{ color:#263238 !important; font-weight:400 !important; } /* child rows */

.x-exp-summary .num{ font-variant-numeric:tabular-nums; } /* align digits */

.x-exp-summary .total{   color:#1b5e20 !important; font-weight:700 !important; } /* parent totals col */
.x-exp-summary .planned{ color:#6a1b9a !important; }                              /* planned col */

.x-exp-summary .diff-pos{  color:#2e7d32 !important; font-weight:600 !important; } /* under plan */
.x-exp-summary .diff-neg{  color:#c62828 !important; font-weight:700 !important; } /* over plan */
.x-exp-summary .diff-zero{ color:#607d8b !important; }                             /* on plan */

