/* ---------- Brand palette ---------- */
/* Text        */ :root { --ink: #0f172a; }        /* slate-900 */
/* Muted text  */ :root { --muted: #64748b; }      /* slate-500 */
/* Borders     */ :root { --border: #e5e7eb; }     /* gray-200 */
/* Background  */ :root { --bg: #f8fafc; }         /* slate-50 */
/* Cards       */ :root { --card: #ffffff; }
/* Accent      */ :root { --accent: #2563eb; }     /* indigo-600 */
/* Danger      */ :root { --danger: #dc2626; }     /* red-600 */

/* ---------- Global ---------- */
html, body { background: var(--bg); color: var(--ink); }

/* Kill any legacy greens/tans/gradients */
[class*="bg-"], .bg-gradient { background: transparent !important; }

/* ---------- Navbar / top bar ---------- */
.navbar, .navbar-light { background: var(--card) !important; border-bottom: 1px solid var(--border); }
.navbar .navbar-brand { color: var(--ink) !important; font-weight: 700; letter-spacing: .2px; }

/* ---------- Cards ---------- */
.card, .subcard { background: var(--card); border: 1px solid var(--border); border-radius: 14px;
  box-shadow: 0 1px 2px rgba(15,23,42,.04); }
.do-title { color: var(--ink); font-weight: 700; letter-spacing: .2px; }

/* “New Features” panel → understated info look */
.features-card { background: #f1f5f9; border: 1px dashed #e2e8f0; }
.features-card h5 { color: #334155; }

/* ---------- Buttons ---------- */
.btn-primary { background-color: var(--accent); border-color: var(--accent); }
.btn-outline-secondary { color: #334155; border-color: var(--border); }
.btn-danger { background-color: var(--danger); border-color: var(--danger); }
.btn:focus { box-shadow: 0 0 0 .2rem rgba(37,99,235,.15); }

/* ---------- AG Grid (alpine) ---------- */
.ag-theme-alpine {
  --ag-font-size: 13px;
  --ag-foreground-color: var(--ink);
  --ag-header-foreground-color: var(--ink);
  --ag-header-background-color: #f8fafc;
  --ag-odd-row-background-color: #ffffff;
  --ag-row-hover-color: #f1f5f9;
  --ag-borders: var(--border);
  --ag-selected-row-background-color: rgba(37,99,235,.08);
  --ag-range-selection-border-color: var(--accent);
}
.ag-theme-alpine .ag-header-cell-label { font-weight: 600; }
.ag-theme-alpine .ag-cell { line-height: 1.2; }
.ag-theme-alpine .ag-cell-value { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ag-theme-alpine .ag-ltr .ag-cell-focus:not(.ag-cell-range-selected) { outline: 1px solid rgba(37,99,235,.35); }

/* Utility */
.text-muted { color: var(--muted) !important; }
.right { text-align: right; }
.italic { font-style: italic; opacity: .9; }
