/* Investace look on top of Tabler: black, white and grey (no gold), Tabler's own spacing and components. */
:root, [data-bs-theme="light"] {
  --tblr-primary: #18181b; --tblr-primary-rgb: 24, 24, 27; --tblr-primary-fg: #fff;
  --tblr-primary-text: #18181b; --tblr-primary-lt: #f1f1f2; --tblr-primary-lt-rgb: 241, 241, 242;
  --tblr-link-color: #18181b; --tblr-link-color-rgb: 24, 24, 27; --tblr-link-hover-color: #52525b;
  --tblr-body-bg: #f6f6f7; --biz-good: #2f9e44; --biz-bad: #d6336c; --biz-muted: #a1a1aa;
}
[data-bs-theme="dark"] {
  --tblr-primary: #f4f4f5; --tblr-primary-rgb: 244, 244, 245; --tblr-primary-fg: #09090b;
  --tblr-primary-text: #f4f4f5; --tblr-primary-lt: #27272a; --tblr-primary-lt-rgb: 39, 39, 42;
  --tblr-link-color: #f4f4f5; --tblr-link-color-rgb: 244, 244, 245; --tblr-link-hover-color: #d4d4d8;
  --tblr-body-bg: #09090b; --tblr-bg-surface: #111113; --tblr-border-color: #26262a; --biz-good: #69db7c; --biz-bad: #f783ac;
}
.btn-primary { --tblr-btn-bg: var(--tblr-primary); --tblr-btn-border-color: var(--tblr-primary); --tblr-btn-color: var(--tblr-primary-fg); --tblr-btn-hover-bg: #3f3f46; --tblr-btn-hover-border-color: #3f3f46; --tblr-btn-hover-color: #fff; }
[data-bs-theme="dark"] .btn-primary { --tblr-btn-hover-bg: #d4d4d8; --tblr-btn-hover-border-color: #d4d4d8; --tblr-btn-hover-color: #09090b; }
.navbar-vertical { background: #09090b !important; }
.navbar-vertical .navbar-collapse { flex-direction: column; align-items: stretch; }
.navbar-vertical .nav-link.active { background: rgba(255, 255, 255, .08); border-radius: 6px; }
.navbar-vertical .nav-link .badge { margin-left: auto; }
.sidebar-foot { border-top: 1px solid rgba(255, 255, 255, .08); }
.logo-dark { display: none; } [data-bs-theme="dark"] .logo-dark { display: inline; } [data-bs-theme="dark"] .logo-light { display: none; }
.theme-toggle::before { content: "◐"; }

.kpi .h1 { font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.num { font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.up { color: var(--biz-good); } .down { color: var(--biz-bad); }
.chart { min-height: 240px; }
.empty { color: var(--tblr-secondary); padding: 1.25rem 0; text-align: center; }

/* Pipeline board: one column per stage, cards drag between columns (SortableJS). */
.board { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(170px, 1fr); gap: .75rem; overflow-x: auto; padding-bottom: .5rem; }
.board-col { background: var(--tblr-bg-surface-secondary, rgba(0, 0, 0, .03)); border: 1px solid var(--tblr-border-color); border-radius: 8px; display: flex; flex-direction: column; min-height: 320px; }
.board-col header { display: flex; justify-content: space-between; align-items: center; padding: .6rem .75rem; font-weight: 600; font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--tblr-secondary); }
.board-list { flex: 1; padding: 0 .5rem .5rem; display: flex; flex-direction: column; gap: .5rem; min-height: 60px; }
.board-card { cursor: grab; } .board-card:active { cursor: grabbing; }
.board-card .card-body { padding: .65rem .75rem; }
.sortable-ghost { opacity: .35; }
.overdue { color: var(--biz-bad); font-weight: 600; }

.md h2 { font-size: 1.15rem; margin-top: 1.5rem; } .md h3 { font-size: 1rem; margin-top: 1.1rem; }
.md table { width: 100%; margin: .75rem 0; } .md td, .md th { padding: .4rem .6rem; border-bottom: 1px solid var(--tblr-border-color); }
.md li { margin-bottom: .25rem; }

@media (max-width: 991.98px) { .board { grid-auto-columns: 82%; } }
@media (prefers-reduced-motion: reduce) { .modal.fade .modal-dialog, .toast { transition: none !important; } }
