:root{
  --omni-primary:#544a9f;
  --omni-success:#16a34a;
  --omni-bg:#f6f7fb;
  --omni-card:#ffffff;
  --omni-border:#e9ecef;
  --omni-muted:#6c757d;
  --omni-radius:16px;
}

/* Bootstrap dark theme uses data-bs-theme="dark" on html */
html[data-bs-theme="dark"]{
  --omni-bg:#0b1220;
  --omni-card:#0f172a;
  --omni-border:#1f2a44;
  --omni-muted:#9aa4b2;
}

/* Global */
body{ background:var(--omni-bg); }
.omni-brand{ letter-spacing:.3px; font-weight:800; }
.omni-card{ background:var(--omni-card); border:1px solid var(--omni-border); border-radius:var(--omni-radius); }
.small-muted{ color:var(--omni-muted); font-size:.9rem; }
.value{ font-size:1.35rem; font-weight:800; }

/* Sidebar */
.omni-sidebar .nav-link{
  border-radius:12px;
  padding:.65rem .75rem;
  color:inherit;
}
.omni-sidebar .nav-link:hover{
  background: rgba(43, 89, 255, .08);
}
.omni-sidebar .nav-link.active{
  background: rgba(43, 89, 255, .14);
  color: #544a9f;
  font-weight:700;
}
html[data-bs-theme="dark"] .omni-sidebar .nav-link.active{
  color:#93c5fd;
}

/* Buttons */
.omni-btn-primary{
  background:var(--omni-primary);
  border-color:var(--omni-primary);
}
.omni-btn-primary:hover{ filter:brightness(.95); }

/* Helper: truncate */
.truncate{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Table better in dark */
html[data-bs-theme="dark"] .table{
  --bs-table-color: #e5e7eb;
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--omni-border);
}

/* Inputs on dark: keep nice contrast */
html[data-bs-theme="dark"] .form-control,
html[data-bs-theme="dark"] .form-select{
  background-color:#0b1220;
  border-color: var(--omni-border);
  color:#e5e7eb;
}
html[data-bs-theme="dark"] .form-control::placeholder{
  color:#94a3b8;
}
