/* ── UMHT Red Theme Override ─────────────────────────────── */

:root,
[data-bs-theme="light"] {
  --bs-primary: #cc0000;
  --bs-primary-rgb: 204, 0, 0;
  --bs-link-color: #cc0000;
  --bs-link-color-rgb: 204, 0, 0;
  --bs-link-hover-color: #a30000;
  --bs-link-hover-color-rgb: 163, 0, 0;
  --bs-primary-text-emphasis: #7a0000;
  --bs-primary-bg-subtle: #f9d6d6;
  --bs-primary-border-subtle: #f0a3a3;
  --bs-focus-ring-color: rgba(204, 0, 0, 0.25);
}

[data-bs-theme="dark"] {
  --bs-primary: #cc0000;
  --bs-primary-rgb: 204, 0, 0;
  --bs-link-color: #e65c5c;
  --bs-link-hover-color: #f08080;
  --bs-primary-text-emphasis: #e65c5c;
  --bs-primary-bg-subtle: #330000;
  --bs-primary-border-subtle: #7a0000;
}

/* Buttons */
.btn-primary {
  --bs-btn-bg: #cc0000;
  --bs-btn-border-color: #cc0000;
  --bs-btn-hover-bg: #a30000;
  --bs-btn-hover-border-color: #990000;
  --bs-btn-active-bg: #990000;
  --bs-btn-active-border-color: #8a0000;
  --bs-btn-disabled-bg: #cc0000;
  --bs-btn-disabled-border-color: #cc0000;
  --bs-btn-focus-shadow-rgb: 204, 0, 0;
}

.btn-outline-primary {
  --bs-btn-color: #cc0000;
  --bs-btn-border-color: #cc0000;
  --bs-btn-hover-bg: #cc0000;
  --bs-btn-hover-border-color: #cc0000;
  --bs-btn-active-bg: #cc0000;
  --bs-btn-active-border-color: #cc0000;
  --bs-btn-focus-shadow-rgb: 204, 0, 0;
}

/* Badge */
.badge.bg-primary {
  background-color: #cc0000 !important;
}

/* NobleUI logo (auth pages) */
.nobleui-logo,
.nobleui-logo:hover {
  color: #cc0000;
}
.nobleui-logo span {
  color: #cc0000;
}

/* ── Red Sidebar ────────────────────────────────────────── */

.sidebar-dark .sidebar .sidebar-header {
  background: #b30000;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  border-right: none;
}
.sidebar-dark .sidebar .sidebar-header .sidebar-brand,
.sidebar-dark .sidebar .sidebar-header .sidebar-brand span {
  color: #fff;
}
.sidebar-dark .sidebar .sidebar-header .sidebar-toggler span {
  background: rgba(255, 255, 255, 0.6);
}

.sidebar-dark .sidebar .sidebar-body {
  background: #cc0000;
  border-right: none;
}
.sidebar-dark .sidebar .sidebar-body .nav .nav-item.nav-category {
  color: rgba(255, 255, 255, 0.55);
}
.sidebar-dark .sidebar .sidebar-body .nav .nav-item .nav-link {
  color: rgba(255, 255, 255, 0.75);
}
.sidebar-dark .sidebar .sidebar-body .nav .nav-item .nav-link svg {
  fill: none;
  color: rgba(255, 255, 255, 0.75);
}
.sidebar-dark .sidebar .sidebar-body .nav .nav-item .nav-link .link-icon {
  color: rgba(255, 255, 255, 0.75);
}
.sidebar-dark .sidebar .sidebar-body .nav .nav-item .nav-link[aria-expanded="true"] {
  color: #fff;
}

/* Active & hover */
.sidebar-dark .sidebar .sidebar-body .nav .nav-item.active .nav-link .link-title,
.sidebar-dark .sidebar .sidebar-body .nav .nav-item:hover .nav-link .link-title {
  color: #fff;
}
.sidebar-dark .sidebar .sidebar-body .nav .nav-item.active .nav-link svg,
.sidebar-dark .sidebar .sidebar-body .nav .nav-item:hover .nav-link svg {
  fill: rgba(255, 255, 255, 0.2);
  color: #fff;
}
.sidebar-dark .sidebar .sidebar-body .nav .nav-item.active .nav-link .link-icon,
.sidebar-dark .sidebar .sidebar-body .nav .nav-item:hover .nav-link .link-icon {
  color: #fff;
}

/* Active indicator bar */
.sidebar-dark .sidebar .sidebar-body .nav .nav-item.active .nav-link::before {
  background: #fff;
}

/* Sub-menu */
.sidebar-dark .sidebar .sidebar-body .nav.sub-menu .nav-item .nav-link {
  color: rgba(255, 255, 255, 0.6);
}
.sidebar-dark .sidebar .sidebar-body .nav.sub-menu .nav-item .nav-link::before {
  border-color: rgba(255, 255, 255, 0.4);
}
.sidebar-dark .sidebar .sidebar-body .nav.sub-menu .nav-item .nav-link.active,
.sidebar-dark .sidebar .sidebar-body .nav.sub-menu .nav-item .nav-link:hover {
  color: #fff;
}
.sidebar .sidebar-body .nav.sub-menu .nav-item .nav-link.active {
  color: #fff;
}
.sidebar .sidebar-body .nav.sub-menu .nav-item .nav-link.active::before {
  border-color: #fff;
  background: #fff;
}
.sidebar .sidebar-body .nav.sub-menu .nav-item:hover .nav-link {
  color: #fff;
}
.sidebar .sidebar-body .nav.sub-menu .nav-item:hover .nav-link::before {
  border-color: #fff;
  background: #fff;
}

/* ── Complementary Colors ───────────────────────────────── */

/* Nav tabs & pills */
.nav-tabs .nav-link.active {
  color: #cc0000;
  border-bottom-color: #cc0000;
}
.nav-pills .nav-link.active {
  background-color: #cc0000;
}

/* Form controls focus */
.form-control:focus,
.form-select:focus {
  border-color: #e68a8a;
  box-shadow: 0 0 0 0.25rem rgba(204, 0, 0, 0.15);
}
.form-check-input:checked {
  background-color: #cc0000;
  border-color: #cc0000;
}
.form-range::-webkit-slider-thumb {
  background-color: #cc0000;
}

/* Header logo avatar — dark charcoal to complement red sidebar */
.custom-mini-logo {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #cc0000;
  color: #fff;
  font-size: 0.8rem;
  font-weight: 700;
}

/* Pagination */
.page-link {
  color: #cc0000;
}
.page-item.active .page-link {
  background-color: #cc0000;
  border-color: #cc0000;
}

/* DataTables sorting icons */
table.dataTable thead .sorting_asc::after,
table.dataTable thead .sorting_desc::after {
  color: #cc0000;
}

/* DataTables toolbar: stack length selector and export buttons */
div.dt-layout-row:first-child > div:first-child {
  flex-wrap: wrap;
}

/* DataTables export buttons */
.dt-buttons {
  display: inline-flex;
  gap: 0.5rem;
  margin-top: 0.75rem;
  flex-basis: 100%;
}
.dt-buttons .btn {
  border-width: 2px;
  font-weight: 500;
  background-color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.dt-buttons .btn svg {
  width: 14px;
  height: 14px;
}
.dt-buttons .btn-outline-success {
  --bs-btn-color: #198754;
  --bs-btn-border-color: #198754;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #198754;
  --bs-btn-hover-border-color: #198754;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #157347;
}
.dt-buttons .btn-outline-danger {
  --bs-btn-color: #dc3545;
  --bs-btn-border-color: #dc3545;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #dc3545;
  --bs-btn-hover-border-color: #dc3545;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #b02a37;
}
.dt-buttons .btn-outline-secondary {
  --bs-btn-color: #6c757d;
  --bs-btn-border-color: #adb5bd;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #6c757d;
  --bs-btn-hover-border-color: #6c757d;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #565e64;
}

/* ── Layout ─────────────────────────────────────────────── */

.auth-card {
  overflow: hidden;
  border: 0;
  box-shadow: 0 20px 55px rgba(15, 23, 42, 0.12);
}

.auth-page .auth-side-wrapper {
  min-height: 100%;
  display: flex;
  align-items: flex-end;
  padding: 2rem;
  background-image: url("../images/stockflow-login.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.auth-help-box {
  background: rgba(15, 23, 42, 0.03);
  border: 1px solid rgba(15, 23, 42, 0.08);
}

.metric-card {
  border: 0;
  box-shadow: 0 14px 35px rgba(15, 23, 42, 0.08);
}

.stock-summary-tile,
.stock-scope-note {
  height: 100%;
  border-radius: 14px;
  padding: 1rem 1.1rem;
  background: rgba(15, 23, 42, 0.03);
  border: 1px solid rgba(15, 23, 42, 0.08);
}

.sidebar .nav.sub-menu .nav-link.active,
.sidebar .nav-link.active {
  font-weight: 600;
}

.badge.bg-warning-subtle {
  background: rgba(255, 190, 11, 0.16);
}

@media (max-width: 767.98px) {
  .auth-page .auth-side-wrapper {
    min-height: 220px;
    align-items: flex-start;
  }
}