/* GCD Enterprise App V22.8.2 — Executive Budget Control */
.v2282-hero { border: 1px solid rgba(24,134,75,.18); background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(245,249,247,.96)); }
.v2282-filterbar .form-label { font-weight: 700; color: #374151; }
.v2282-metric { min-height: 122px; border-left: 5px solid #1f5fbf; }
.v2282-metric.rag-green { border-left-color: #18864b; background: linear-gradient(180deg,#fff,#f3fbf6); }
.v2282-metric.rag-amber { border-left-color: #d99218; background: linear-gradient(180deg,#fff,#fff8ea); }
.v2282-metric.rag-red { border-left-color: #c62828; background: linear-gradient(180deg,#fff,#fff2f2); }
.v2282-metric.rag-grey { border-left-color: #80868b; background: linear-gradient(180deg,#fff,#f7f7f7); }
.v2282-rag-pill { display:inline-flex; align-items:center; justify-content:center; min-width:72px; padding:.25rem .55rem; border-radius:999px; font-size:.76rem; font-weight:800; letter-spacing:.02em; }
.v2282-rag-pill.rag-green, .rag-green .v2282-rag-pill { background:#e9f7ef; color:#116b3a; border:1px solid #bfe6cd; }
.v2282-rag-pill.rag-amber, .rag-amber .v2282-rag-pill { background:#fff4d8; color:#8a5a00; border:1px solid #f1d08d; }
.v2282-rag-pill.rag-red, .rag-red .v2282-rag-pill { background:#fdeaea; color:#9f1f1f; border:1px solid #efb7b7; }
.v2282-rag-pill.rag-grey, .rag-grey .v2282-rag-pill { background:#f1f3f4; color:#5f6368; border:1px solid #d5d9dc; }
.v2282-linked-box { border:1px solid var(--line,#e5e7eb); border-radius:16px; padding:14px; height:100%; background:#fff; }
.v2282-linked-item { border-top:1px solid var(--line,#e5e7eb); padding:.55rem 0; display:grid; gap:2px; }
.v2282-linked-item:first-of-type { border-top:none; }
.v2282-linked-item span { font-weight:700; }
.v2282-linked-item strong { color:#111827; }
.v2282-linked-item small { color:#6b7280; }
@media (max-width: 768px) {
  .v2282-mobile-table thead { display:none; }
  .v2282-mobile-table tbody tr { display:block; margin:12px; padding:12px; border:1px solid var(--line,#e5e7eb); border-radius:16px; background:#fff; box-shadow:0 6px 20px rgba(15,23,42,.06); }
  .v2282-mobile-table tbody td { display:flex; justify-content:space-between; gap:12px; border:0 !important; padding:.45rem 0 !important; text-align:right; }
  .v2282-mobile-table tbody td::before { content: attr(data-label); font-weight:700; color:#6b7280; text-align:left; }
  .v2282-mobile-table tbody td.text-end { justify-content:flex-end; }
  .v2282-mobile-table tbody td.text-end::before { display:none; }
}

/* V22.8.2.2 chart stability: fixed chart stage prevents Chart.js resize/redraw loops. */
.v2282-chart-box {
  position: relative;
  width: 100%;
  height: 320px;
  min-height: 320px;
  max-height: 320px;
}
.v2282-chart-box-sm {
  height: 280px;
  min-height: 280px;
  max-height: 280px;
}
.v2282-chart-box canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
}
