/* _dist/css/bs-dark-overrides.css
   Bootstrap dark-skin overrides that harmonize with your tokens from style.css.
   No layout changes, only palette + subtle polish. Safe to include after bootstrap.min.css.
*/

:root{
  /* read from your site tokens if present, else fallbacks */
  --ls-bg:        var(--bg, #0b1220);
  --ls-panel:     var(--panel, #101827);
  --ls-elev:      var(--elev, #0f172a);
  --ls-text:      var(--text, #e5e7eb);
  --ls-muted:     var(--muted, #a5b4fc);
  --ls-border:    var(--border, #1f2937);
  --ls-ring:      var(--ring, #7c3aed);
  --ls-brand:     var(--brand, #6366f1);
  --ls-safe:      var(--safe, #10b981);
  --ls-warn:      var(--warn, #f59e0b);
  --ls-danger:    var(--danger, #ef4444);
}

/* Typography + base */
body,
.navbar,
.dropdown-menu,
.modal-content,
.offcanvas,
.card,
.list-group-item {
  color: var(--ls-text);
}

/* Buttons */
.btn-primary{
  background:#22c55e;
  border-color:#22c55e;
  color:#0b1220;
  font-weight:700;
}
.btn-primary:hover{ filter:brightness(1.05); }
.btn-outline-light{
  color:#e5e7eb;
  border-color:#475569;
}
.btn-outline-light:hover{
  background:#111827;
  color:#fff;
  border-color:#64748b;
}
.btn-outline-secondary{
  color:#cbd5e1;
  border-color:#475569;
}
.btn-outline-secondary:hover{
  background:#111827;
  color:#e5e7eb;
  border-color:#64748b;
}

/* Navbar */
.navbar, .brandbar{
  background: rgba(16,24,39,.7);
  border-bottom:1px solid var(--ls-border);
  backdrop-filter: blur(8px);
}
.navbar .navbar-brand, .navbar .nav-link{
  color:#e5e7eb !important;
}
.navbar .nav-link:hover{ color:#fff !important; }

/* Cards */
.card{
  background: rgba(16,24,39,.6);
  border:1px solid var(--ls-border);
  border-radius:16px;
}
.card .card-header{
  background: rgba(15,23,42,.7);
  border-bottom:1px solid var(--ls-border);
  color:#cbd5e1;
}

/* Forms: controls, selects, checks */
.form-control,
.form-select,
.form-control:disabled,
.form-select:disabled{
  background:#0b1220;
  color:#e5e7eb;
  border:1px solid var(--ls-border);
}
.form-control::placeholder{ color:#94a3b8; opacity:1; }
.form-control:focus,
.form-select:focus{
  background:#0b1220;
  color:#fff;
  border-color: color-mix(in oklab, var(--ls-ring) 60%, #0b1220);
  box-shadow: 0 0 0 .2rem color-mix(in oklab, var(--ls-ring) 25%, transparent);
  outline: none;
}
.input-group-text{
  background:#0f172a;
  border-color:var(--ls-border);
  color:#cbd5e1;
}
.form-check-input{
  background-color:#0b1220;
  border:1px solid #334155;
}
.form-check-input:checked{
  background-color:#22c55e;
  border-color:#22c55e;
}
.form-text{ color:#9aa4b2; }

/* Dropdowns, tooltips, popovers */
.dropdown-menu{
  background:#0f172a;
  border:1px solid var(--ls-border);
  box-shadow: 0 10px 20px rgba(0,0,0,.35);
}
.dropdown-item{ color:#e5e7eb; }
.dropdown-item:hover, .dropdown-item:focus{
  background:#111827; color:#fff;
}
.tooltip .tooltip-inner{
  background:#111827; color:#e5e7eb; border:1px solid #334155;
}
.popover{
  background:#0f172a; border:1px solid var(--ls-border);
}
.popover-header{
  background:#111827; border-bottom:1px solid var(--ls-border); color:#e5e7eb;
}
.popover-body{ color:#cbd5e1; }

/* Modals & Offcanvas */
.modal-content{
  background:#0f172a;
  border:1px solid var(--ls-border);
  border-radius:16px;
}
.modal-header, .modal-footer{
  border-color:var(--ls-border);
}
.offcanvas{
  background:#0f172a;
  color:#e5e7eb;
  border-left:1px solid var(--ls-border);
}

/* Tables (subtle dark) */
.table{
  --bs-table-bg: transparent;
  --bs-table-color: var(--ls-text);
  --bs-table-border-color: var(--ls-border);
}
.table-striped > tbody > tr:nth-of-type(odd) > *{
  --bs-table-accent-bg: rgba(148,163,184,.06);
}
.table-hover > tbody > tr:hover > *{
  --bs-table-accent-bg: rgba(148,163,184,.12);
}

/* List group */
.list-group-item{
  background:#0f172a;
  border:1px solid var(--ls-border);
  color:#e5e7eb;
}
.list-group-item.active{
  background: linear-gradient(135deg,#7c3aed,#6366f1);
  border-color: transparent;
}

/* Alerts mapped to your palette */
.alert{
  border-radius:12px;
  border-width:1px;
}
.alert-primary{ background:#1e293b; border-color:#334155; color:#c7d2fe; }
.alert-success{ background:#052e2b; border-color:#0f766e; color:#34d399; }
.alert-warning{ background:#3b2a05; border-color:#a16207; color:#fbbf24; }
.alert-danger{  background:#3b0d0d; border-color:#7f1d1d; color:#fecaca; }

/* Badges + Progress */
.badge{
  border:1px solid #334155;
  background: rgba(99,102,241,.18);
  color:#c7d2fe;
}
.progress{
  background:#111827;
  border:1px solid #1f2937;
  border-radius:12px; overflow:hidden;
}
.progress-bar{
  background: linear-gradient(135deg,#7c3aed,#6366f1);
}

/* Pagination */
.pagination .page-link{
  background:#0f172a;
  border:1px solid var(--ls-border);
  color:#cbd5e1;
}
.pagination .page-link:hover{ background:#111827; color:#fff; }
.pagination .active .page-link{
  background: linear-gradient(135deg,#7c3aed,#6366f1);
  border-color: transparent;
  color:#fff;
}

/* Accordion */
.accordion-item{
  background:#0f172a; border:1px solid var(--ls-border);
}
.accordion-button{
  background:#0f172a; color:#e5e7eb;
}
.accordion-button:not(.collapsed){
  color:#fff;
  background:#101827;
  box-shadow: inset 0 -1px 0 var(--ls-border);
}

/* Nav pills */
.nav-pills .nav-link{
  color:#cbd5e1;
  background:transparent;
  border:1px solid #334155;
}
.nav-pills .nav-link.active{
  background: linear-gradient(135deg,#7c3aed,#6366f1);
  border-color: transparent;
  color:#fff;
}

/* Spinners */
.spinner-border, .spinner-grow{
  color:#cbd5e1;
}

/* Utilities for subtle dividers on dark */
.hr, .border-top, .border-bottom, .border{
  border-color: var(--ls-border) !important;
}
[hidden] { display: none !important; }