/*
 * BizMate design tokens — dashboard.html neo dark theme (source of truth).
 * Load after Bootstrap, before app.css / page CSS.
 */
:root{
  /* Core palette */
  --bg:#0f0f11;
  --bg-elevated:#141416;
  --card:#1c1c1f;
  --card-hover:#232327;
  --green:#00D09C;
  --green-deep:#00a87e;
  --green-glow:rgba(0,208,156,.3);
  --green-soft:rgba(0,208,156,.15);
  --amber:#F2A93B;
  --amber-soft:rgba(242,169,59,.18);
  --ink:#0a1f17;
  --text:#ffffff;
  --muted:#9b9ba3;
  --line:rgba(255,255,255,.06);
  --line-strong:rgba(255,255,255,.12);
  --danger:#ff6b6b;
  --danger-soft:rgba(255,107,107,.15);
  --info:#5b9fd4;
  --info-soft:rgba(91,159,212,.18);

  /* Legacy aliases (keep older class names working) */
  --paper:var(--bg);
  --mist:var(--muted);
  --ink-2:#1a1a1e;
  --green-dark:var(--green-deep);

  /* Bootstrap 5 CSS variables */
  --bs-body-font-family:'DM Sans',system-ui,sans-serif;
  --bs-body-color:var(--text);
  --bs-body-bg:var(--bg);
  --bs-heading-color:var(--text);
  --bs-secondary-color:var(--muted);
  --bs-tertiary-bg:var(--card);
  --bs-border-color:var(--line-strong);
  --bs-primary:var(--green);
  --bs-primary-rgb:0,208,156;
  --bs-link-color:var(--green);
  --bs-link-color-rgb:0,208,156;
  --bs-link-hover-color:#00e0a8;
  --bs-emphasis-color:var(--text);
  --bs-secondary-bg:var(--card);
  --bs-focus-ring-color:rgba(0,208,156,.35);
}

h1,h2,h3,h4,h5,.display-font{
  font-family:'Bricolage Grotesque',sans-serif;
  letter-spacing:-.02em;
  color:var(--text);
}
a{font-weight:700;text-decoration:none;color:var(--green)}
a:hover{color:#00e0a8}
.text-muted-ink{color:var(--muted)!important}
.text-mist{color:var(--muted)!important}
.text-amber{color:var(--amber)!important}
.text-green{color:var(--green)!important}
.text-danger{color:var(--danger)!important}
.bg-ink{background-color:var(--bg-elevated)!important;color:var(--text)}
.bg-green-soft{background-color:var(--green-soft)!important}
.bg-amber-soft{background-color:var(--amber-soft)!important}
.fw-800{font-weight:800}
.min-w-0{min-width:0}
.small-caps{
  font-size:.7rem;letter-spacing:1px;text-transform:uppercase;
  font-weight:700;color:var(--muted);
}

/* ---------- Bootstrap component theming ---------- */
.btn{font-weight:700;border-radius:12px}
.btn-primary{
  --bs-btn-bg:var(--green);--bs-btn-border-color:var(--green);--bs-btn-color:#000;
  --bs-btn-hover-bg:#00e0a8;--bs-btn-hover-border-color:#00e0a8;--bs-btn-hover-color:#000;
  --bs-btn-active-bg:var(--green-deep);--bs-btn-active-border-color:var(--green-deep);--bs-btn-active-color:#000;
  --bs-btn-disabled-bg:var(--green);--bs-btn-disabled-border-color:var(--green);--bs-btn-disabled-color:#000;
  box-shadow:0 4px 12px var(--green-glow);
}
.btn-outline-primary{
  --bs-btn-color:var(--green);--bs-btn-border-color:var(--green);
  --bs-btn-hover-bg:var(--green);--bs-btn-hover-border-color:var(--green);--bs-btn-hover-color:#000;
  --bs-btn-active-bg:var(--green-deep);--bs-btn-active-border-color:var(--green-deep);--bs-btn-active-color:#000;
}
.btn-amber{
  --bs-btn-bg:var(--amber);--bs-btn-border-color:var(--amber);--bs-btn-color:var(--ink);
  --bs-btn-hover-bg:#e3982a;--bs-btn-hover-border-color:#e3982a;--bs-btn-hover-color:var(--ink);
  --bs-btn-active-bg:#d18a20;--bs-btn-active-border-color:#d18a20;--bs-btn-active-color:var(--ink);
}
.btn-ink{
  --bs-btn-bg:var(--card);--bs-btn-border-color:var(--line-strong);--bs-btn-color:var(--text);
  --bs-btn-hover-bg:var(--card-hover);--bs-btn-hover-border-color:rgba(255,255,255,.2);--bs-btn-hover-color:var(--text);
  --bs-btn-active-bg:var(--card-hover);--bs-btn-active-color:var(--text);
}
.btn-light-ink{
  --bs-btn-bg:var(--card);--bs-btn-border-color:var(--line-strong);--bs-btn-color:var(--text);
  --bs-btn-hover-bg:var(--card-hover);--bs-btn-hover-border-color:rgba(255,255,255,.18);--bs-btn-hover-color:var(--text);
  --bs-btn-active-bg:var(--card-hover);--bs-btn-active-border-color:rgba(255,255,255,.18);
}
.btn-outline-light{
  --bs-btn-color:var(--text);--bs-btn-border-color:var(--line-strong);
  --bs-btn-hover-bg:rgba(255,255,255,.08);--bs-btn-hover-border-color:rgba(255,255,255,.2);--bs-btn-hover-color:#fff;
}
.btn:focus-visible,a:focus-visible,.form-check-input:focus-visible{
  outline:3px solid var(--amber);outline-offset:2px;
}

.form-control,.form-select{
  background:var(--card);border-color:var(--line-strong);border-radius:12px;color:var(--text);
}
.form-control::placeholder{color:var(--muted)}
.form-control:focus,.form-select:focus{
  background:var(--card-hover);border-color:var(--green);color:var(--text);
  box-shadow:0 0 0 .22rem rgba(0,208,156,.22);
}
.form-select{
  --bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239b9ba3' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
.form-label{font-weight:700;font-size:.9rem;color:var(--text)}
.input-group-text{
  background:rgba(0,208,156,.12);border-color:var(--line-strong);color:var(--green);font-weight:700;
}
.form-check-input{background-color:var(--card);border-color:var(--line-strong)}
.form-check-input:checked{background-color:var(--green);border-color:var(--green)}
.form-check-input:focus{border-color:var(--green);box-shadow:0 0 0 .22rem rgba(0,208,156,.22)}
.form-check-label{color:var(--muted)}

.nav-pills{
  --bs-nav-pills-link-active-bg:var(--green);--bs-nav-pills-link-active-color:#000;
  --bs-nav-link-color:var(--muted);--bs-nav-link-hover-color:var(--text);--bs-nav-link-font-weight:700;
}
.nav-pills .nav-link{border-radius:999px}
.progress{--bs-progress-bar-bg:var(--green);--bs-progress-bg:rgba(255,255,255,.08);height:.55rem;border-radius:99px}

.dropdown-menu{
  background:var(--card);border-color:var(--line);border-radius:14px;color:var(--text);
  --bs-dropdown-link-color:var(--text);
  --bs-dropdown-link-hover-bg:rgba(255,255,255,.06);
  --bs-dropdown-link-hover-color:#fff;
  --bs-dropdown-link-active-bg:rgba(0,208,156,.15);
  --bs-dropdown-link-active-color:var(--green);
  box-shadow:0 18px 40px -12px rgba(0,0,0,.55);
}
.dropdown-divider{border-color:var(--line)}

.modal-content{background:var(--card);border:1px solid var(--line);border-radius:18px;color:var(--text)}
.modal-header{border-bottom-color:var(--line)}
.modal-footer{border-top-color:var(--line)}
.modal-title{color:var(--text)}
.btn-close{filter:invert(1) grayscale(100%)}

.card{
  --bs-card-bg:var(--card);--bs-card-border-color:var(--line);
  --bs-card-border-radius:20px;--bs-card-inner-border-radius:19px;
  --bs-card-cap-bg:transparent;--bs-card-color:var(--text);
  box-shadow:0 8px 20px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05);
}
.card-header{border-bottom-color:var(--line);padding:1rem 1.25rem;color:var(--text)}
.card-footer{border-top-color:var(--line);background:transparent}

.list-group{
  --bs-list-group-bg:transparent;--bs-list-group-border-color:var(--line);
  --bs-list-group-color:var(--text);--bs-list-group-action-color:var(--text);
  --bs-list-group-action-hover-bg:rgba(255,255,255,.04);
  --bs-list-group-action-active-bg:rgba(0,208,156,.1);
  --bs-list-group-active-bg:rgba(0,208,156,.15);--bs-list-group-active-border-color:var(--green);
  --bs-list-group-active-color:var(--green);
}

.table{
  --bs-table-bg:transparent;--bs-table-color:var(--text);
  --bs-table-border-color:var(--line);--bs-table-hover-bg:rgba(255,255,255,.04);
  --bs-table-striped-bg:rgba(255,255,255,.02);margin-bottom:0;color:var(--text);
}
.table thead th{
  font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);
  font-weight:700;background:transparent;border-bottom-color:var(--line-strong);
  white-space:nowrap;padding-top:.8rem;padding-bottom:.8rem;
}
.table td{vertical-align:middle;padding-top:.8rem;padding-bottom:.8rem;border-color:var(--line);color:var(--text)}
.table a{color:var(--green)}
.alert-danger{background:var(--danger-soft);border-color:rgba(255,107,107,.35);color:#ffb4b4}
.alert-success{background:var(--green-soft);border-color:rgba(0,208,156,.35);color:var(--green)}
.alert-warning{background:var(--amber-soft);border-color:rgba(242,169,59,.35);color:var(--amber)}

::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#333;border-radius:10px}
