/* ================================
   Ursa Theme — Light & Dark
   ================================ */

:root {
  /* Core palette (LIGHT) */
  --ursa-bg:              #f6f7fb;
  --ursa-fg:              #1f2328;
  --ursa-muted:           #6c757d;
  --ursa-border:          #dee2e6;

  --ursa-card-bg:         #ffffff;
  --ursa-card-fg:         var(--ursa-fg);
  --ursa-shadow:          0 .125rem .6rem rgba(0,0,0,.08);

  /* Brand */
  --ursa-accent:          #384166;
  --ursa-accent-contrast: #ffffff;
  --ursa-accent-2:        #61486b;

  /* Links */
  --ursa-link:            #2c7be5;
  --ursa-link-hover:      #1a68d1;

  /* Inputs / list / table */
  --ursa-input-bg:        #ffffff;
  --ursa-input-fg:        var(--ursa-fg);
  --ursa-input-border:    var(--ursa-border);
  --ursa-table-stripe:    #f8f9fa;

  /* Badges/pills */
  --ursa-badge-bg:        #eff2f7;
  --ursa-badge-fg:        #222;
}

/* Dark overrides */
.dark {
  --ursa-bg:              #0f1115;
  --ursa-fg:              #e9ecf1;
  --ursa-muted:           #a8b0bb;
  --ursa-border:          #2a2d36;

  --ursa-card-bg:         #171a21;
  --ursa-card-fg:         var(--ursa-fg);
  --ursa-shadow:          0 .125rem .6rem rgba(0,0,0,.5);

  --ursa-accent:          #7f89c9;
  --ursa-accent-contrast: #0f1115;
  --ursa-accent-2:        #fff;

  --ursa-link:            #92b0ff;
  --ursa-link-hover:      #bcd0ff;

  --ursa-input-bg:        #12141a;
  --ursa-input-fg:        var(--ursa-fg);
  --ursa-input-border:    var(--ursa-border);
  --ursa-table-stripe:    #14171d;

  --ursa-badge-bg:        #1f2430;
  --ursa-badge-fg:        #e9ecf1;
}

/* ===== Base ===== */
html, body { background: var(--ursa-bg); color: var(--ursa-fg); }
a { color: var(--ursa-link); }
a:hover { color: var(--ursa-link-hover); }

/* Keep sidebar unchanged */
.ursa-sidebar a { color: inherit !important; }

/* ===== Cards & headings ===== */
.card-ursa {
  background: var(--ursa-card-bg);
  color: var(--ursa-card-fg);
  border: 0;
  border-radius: .9rem;
  box-shadow: var(--ursa-shadow);
}
.icon-purple { color: var(--ursa-accent-2); }

/* ===== Buttons ===== */
.btn-purple{
  --bs-btn-color: var(--ursa-accent-contrast);
  --bs-btn-bg: var(--ursa-accent);
  --bs-btn-border-color: var(--ursa-accent);
  --bs-btn-hover-bg: var(--ursa-accent-2);
  --bs-btn-hover-border-color: var(--ursa-accent-2);
  --bs-btn-active-bg: var(--ursa-accent-2);
  --bs-btn-active-border-color: var(--ursa-accent-2);
}

.btn-outline-secondary{
  --bs-btn-color: var(--ursa-fg);
  --bs-btn-border-color: var(--ursa-border);
  --bs-btn-hover-bg: var(--ursa-table-stripe);
  --bs-btn-hover-border-color: var(--ursa-border);
}

/* ===== Forms ===== */
.form-control, .form-select, .form-check-input {
  background: var(--ursa-input-bg);
  color: var(--ursa-input-fg);
  border-color: var(--ursa-input-border);
}
.form-control:focus, .form-select:focus {
  border-color: var(--ursa-accent);
  box-shadow: 0 0 0 .2rem rgba(120,130,220,.25);
}

/* ===== Tables (base) ===== */
.table { color: var(--ursa-fg); }
.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-accent-bg: var(--ursa-table-stripe);
  color: var(--ursa-fg);
}
.table > :not(caption) > * > * { border-color: var(--ursa-border); }

/* ===== Dashboard-style tables ===== */
.table-ursa {
  border-collapse: separate;
  border-spacing: 0;
  font-size: .95rem;
  color: var(--ursa-fg);
}
.table-ursa thead th {
  background: var(--ursa-table-stripe);
  color: var(--ursa-fg);
  border-bottom: 1px solid var(--ursa-border);
  font-weight: 600;
  vertical-align: middle;
  white-space: nowrap;
}
.table-ursa th, .table-ursa td {
  padding: .75rem .9rem;
  vertical-align: middle;
  border-color: var(--ursa-border);
}
.table-ursa tbody tr:hover {
  background: rgba(97,72,107,.06);
}
.table-ursa .col-actions { width: 1%; white-space: nowrap; text-align: right; }
.table-ursa .text-truncate-ursa {
  max-width: 340px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Sticky header */
.table-sticky thead th {
  position: sticky;
  top: 0;
  z-index: 2;
}

/* ===== List group / dropdown / modal / tooltip ===== */
.list-group-item {
  background: var(--ursa-card-bg);
  color: var(--ursa-fg);
  border-color: var(--ursa-border);
}
.dropdown-menu {
  background: var(--ursa-card-bg);
  color: var(--ursa-fg);
  border-color: var(--ursa-border);
}
.modal-content {
  background: var(--ursa-card-bg);
  color: var(--ursa-fg);
  border-color: var(--ursa-border);
}
.tooltip-inner {
  background: var(--ursa-card-fg);
  color: var(--ursa-card-bg);
}

/* ===== Badges / Pills ===== */
.badge.bg-light {
  background: var(--ursa-badge-bg) !important;
  color: var(--ursa-badge-fg) !important;
}

/* Business type badges */
.business-badge {
  display: inline-block;
  padding: .25rem .5rem;
  border-radius: .5rem;
  font-size: .85rem;
  font-weight: 600;
  background: var(--ursa-badge-bg);
  color: var(--ursa-badge-fg);
  border: 1px solid var(--ursa-border);
}
.business-badge.bt-ltd          { background: #eaf4ff; color: #0b5ed7; border-color: #bcd7ff; }
.business-badge.bt-llp          { background: #f3e8ff; color: #6f42c1; border-color: #dfccff; }
.business-badge.bt-sole         { background: #eafaf1; color: #0f9d58; border-color: #bfead2; }
.business-badge.bt-partnership  { background: #fff5e6; color: #b35c00; border-color: #ffd6a8; }
.business-badge.bt-incchar      { background: #f6e9f6; color: #8e44ad; border-color: #e6c9f0; }
.business-badge.bt-unincchar    { background: #eef7ff; color: #1f6feb; border-color: #cfe6ff; }
.business-badge.bt-other        { background: #eef0f3; color: #495057; border-color: #d6dbe1; }

/* Dark mode badge tweaks */
.dark .business-badge.bt-ltd         { background:#19324a; color:#cfe4ff; border-color:#264b6a; }
.dark .business-badge.bt-llp         { background:#2a1f3a; color:#e6d6ff; border-color:#3a2c52; }
.dark .business-badge.bt-sole        { background:#153826; color:#cfeedd; border-color:#21523a; }
.dark .business-badge.bt-partnership { background:#3a2a12; color:#ffdcb3; border-color:#4e3a1d; }
.dark .business-badge.bt-incchar     { background:#2f1f38; color:#ead6f7; border-color:#433052; }
.dark .business-badge.bt-unincchar   { background:#1b2a45; color:#d7e6ff; border-color:#2a3d61; }
.dark .business-badge.bt-other       { background:#22252a; color:#d2d6dc; border-color:#33373e; }

/* ===== Navbar / card header lines ===== */
.navbar, .table, .card-ursa .card-header {
  border-color: var(--ursa-border) !important;
}
/* ========= Dark-mode table enforcement ========= */

/* Let table cells inherit the card/bg in dark */
.dark .table,
.dark .table > :not(caption) > * > * {
  background-color: transparent !important;
  color: var(--ursa-fg);
  border-color: var(--ursa-border);
}

/* Stripe color for odd rows (uses your dark var) */
.dark .table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-accent-bg: var(--ursa-table-stripe);
  color: var(--ursa-fg);
}

/* Hover color that works on dark bg */
.dark .table-hover tbody tr:hover > * {
  background-color: rgba(97,72,107,.10) !important; /* subtle brand tint */
}

/* Ensure our dashboard table never introduces its own white bg */
.table-ursa th,
.table-ursa td {
  background-color: transparent !important;
}

/* If any card still appears white, force it dark */
.dark .card-ursa {
  background: var(--ursa-card-bg) !important;
  color: var(--ursa-card-fg) !important;
}

/* If you kept a light header background anywhere: remove Bootstrap's 'table-light' effect in dark */
.dark .table thead th {
  background: var(--ursa-table-stripe) !important;
  color: var(--ursa-fg) !important;
  border-color: var(--ursa-border) !important;
}
/* Dark tables behave everywhere */
.dark .table,
.dark .table > :not(caption) > * > * {
  background-color: transparent !important;
  color: var(--ursa-fg);
  border-color: var(--ursa-border);
}
.dark .table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-accent-bg: var(--ursa-table-stripe);
}
.dark .table-hover tbody tr:hover > * {
  background-color: rgba(97,72,107,.10) !important;
}
/* Dashboard table header & cells */
.table-ursa thead th {
  background: var(--ursa-table-stripe);
  color: var(--ursa-fg);
  border-bottom: 1px solid var(--ursa-border);
}
.table-ursa th, .table-ursa td {
  background-color: transparent !important;
}
/* Light */
:root{
  /* Your theme vars */
  --ursa-app-bg:#ffffff;
  --ursa-card-bg:#ffffff;
  --ursa-card-fg:#111827;
  --ursa-border:#e5e7eb;
  --ursa-accent-2:#61486b;

  /* Map to Bootstrap vars */
  --bs-body-bg: var(--ursa-app-bg);
  --bs-body-color: var(--ursa-card-fg);
  --bs-border-color: var(--ursa-border);
  --bs-card-bg: var(--ursa-card-bg);
  --bs-card-color: var(--ursa-card-fg);
  --bs-card-border-color: var(--ursa-border);
  --bs-secondary-color: #6c757d; /* text-muted */
}

/* Dark */
html[data-theme="dark"]{
   --ursa-app-bg:#0b0f14;
   --ursa-card-bg:#111827;
   --ursa-card-fg:#e5e7eb;
   --ursa-border:#243040;
  --ursa-accent-2:#a58cc0;
  --ursa-accent-2:#ffffff;

  --bs-body-bg: var(--ursa-app-bg);
  --bs-body-color: var(--ursa-card-fg);
  --bs-border-color: var(--ursa-border);
  --bs-card-bg: var(--ursa-card-bg);
  --bs-card-color: var(--ursa-card-fg);
  --bs-card-border-color: var(--ursa-border);
  --bs-secondary-color: #9aa5b1; /* text-muted in dark */
}


/* Ensure muted text on cards follows the var */
.card .text-muted{ color: var(--bs-secondary-color) !important; }



/* current (light) */
.sticky-bottomactionbar{
  background:#fff;
  border-top:1px solid var(--ursa-border, rgba(0,0,0,.1));
  z-index:1030;
}

/* dark override */
.dark .sticky-bottomactionbar{
  background:#111 !important;              /* same as your dark body bg */
  border-top-color:#2a2b31 !important;     /* matches your dark borders */
  color:#e9ecef;                            /* ensure text/icons are visible */
}
.dark .sticky-bottomactionbar .btn,
.dark .sticky-bottomactionbar i{
  color:#e9ecef;
}

