/* ==========================================
   THEME — ADVANCE
   Requires: your theme-vars first
   Behavior: Brand applied broadly; brand links.
========================================== */

/* Kill Bootstrap blue, map links to brand for ADVANCE */
:root{
    --bs-primary: var(--primary);
    --bs-link-color: var(--primary);
    --bs-link-hover-color: var(--primary-dark, #0c1e48);
  }

  /* Core brand utility mappings */
  .text-primary { color: var(--primary) !important; }
  .bg-primary { background-color: var(--primary) !important; color: var(--primary-text, #fff) !important; }

  /* Buttons (ALWAYS brand) */
  .btn { box-shadow: none; }
  .btn.btn-primary{
    --bs-btn-bg: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-color: var(--primary-text, #fff);
    --bs-btn-hover-bg: var(--primary-dark, #0c1e48);
    --bs-btn-hover-border-color: var(--primary-dark, #0c1e48);
    --bs-btn-active-bg: var(--primary-darker, #0a173a);
    --bs-btn-active-border-color: var(--primary-darker, #0a173a);
    --bs-btn-disabled-bg: var(--primary);
    --bs-btn-disabled-border-color: var(--primary);
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
    color: var(--primary-text, #fff) !important;
  }
  .btn.btn-primary:hover,
  .btn.btn-primary:focus,
  .btn.btn-primary:active,
  .btn.btn-primary:not(:disabled):not(.disabled).active,
  .show > .btn.btn-primary.dropdown-toggle{
    background-color: var(--bs-btn-hover-bg) !important;
    border-color: var(--bs-btn-hover-border-color) !important;
    color: var(--primary-text, #fff) !important;
  }

  /* Outline primary */
  .btn.btn-outline-primary{
    --bs-btn-color: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-color: var(--primary-text, #fff);
    --bs-btn-hover-bg: var(--primary);
    --bs-btn-hover-border-color: var(--primary);
    color: var(--primary) !important;
    border-color: var(--primary) !important;
    background: transparent !important;
  }
  .btn.btn-outline-primary:hover,
  .btn.btn-outline-primary:focus,
  .btn.btn-outline-primary:active,
  .btn.btn-outline-primary:not(:disabled):not(.disabled).active,
  .show > .btn.btn-outline-primary.dropdown-toggle{
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
    color: var(--primary-text, #fff) !important;
  }

  /* Icon color follows current text */
  .btn i, .btn .fa, .btn .bi { color: currentColor !important; }
  .btn-success, .btn-danger, .btn-warning, .btn-info, .btn-dark { color:#fff !important; }

  /* Always-brand utilities */
  .badge-primary, .badge.bg-primary{ background-color: var(--primary) !important; color: var(--primary-text, #fff) !important; }
  .progress .bg-primary{ background-color: var(--primary) !important; }
  .form-check-input:checked{ background-color: var(--primary) !important; border-color: var(--primary) !important; }

  /* Navs / Tabs / Breadcrumbs */
  .nav-pills .nav-link{ color: var(--bs-link-color); transition: background-color .2s, color .2s, border-color .2s; }
  .nav-pills .nav-link:hover{ color: var(--bs-link-hover-color); background-color: var(--primary-50, rgba(0,0,0,.03)); }
  .nav-pills .nav-link.active{ background-color: var(--primary) !important; color: var(--primary-text, #fff) !important; }

  .nav-tabs .nav-link{ color: var(--bs-link-color); border-bottom: 2px solid transparent; transition: border-color .2s, color .2s; }
  .nav-tabs .nav-link:hover{ color: var(--bs-link-hover-color); border-bottom-color: var(--primary-300, rgba(0,0,0,.12)); }
  .nav-tabs .nav-link.active{
    color: var(--primary-text, #fff) !important;
    background-color: var(--primary-dark, #0c1e48) !important;
    border-bottom-color: var(--primary-dark, #0c1e48) !important;
  }

  .breadcrumb .breadcrumb-item a{ color: var(--bs-link-color); }
  .breadcrumb .breadcrumb-item a:hover{ color: var(--bs-link-hover-color); }

  /* Tables & DataTables */
  .table thead th{ background-color: var(--primary) !important; color: var(--primary-text, #fff) !important; }
  .table-hover tbody tr:hover{ background-color: var(--primary-50, rgba(0,0,0,.03)) !important; }

  .dataTables_filter {
    float: right; /* Floats the element to the right */
    text-align: right; /* Aligns the text content (including the input) to the right */
}
  .dataTables_length label, .dataTables_filter label{ color: var(--primary); font-weight: 500; display:flex; align-items:center; gap:.5rem; }
  .dataTables_length select{ color: var(--primary); }
  .dataTables_wrapper .dataTables_length select{ appearance:auto; -webkit-appearance:auto; -moz-appearance:auto; background-image:initial !important; }
  .dataTables_filter input{
    border:none !important; border-bottom:2px solid var(--primary) !important;
    background:transparent !important; color: var(--primary);
  }
  .dataTables_info{ color: var(--primary-800, #162446); display:block !important; margin-top:.25rem; white-space:normal; }
  .dataTables_wrapper .dataTables_paginate .paginate_button{
    color: var(--primary) !important; border:1px solid transparent;
  }
  .dataTables_wrapper .dataTables_paginate .paginate_button.current,
  .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{
    background-color: var(--primary) !important; border-color: var(--primary) !important; color: var(--primary-text, #fff) !important;
  }
  .dataTables_wrapper .dataTables_paginate .paginate_button:hover{
    color: var(--bs-link-hover-color) !important; border-color: var(--primary) !important;
  }

  /* Pagination */
  .pagination .page-link{ color: var(--bs-link-color); }
  .pagination .page-link:hover{ color: var(--bs-link-hover-color); }
  .pagination .page-item.active .page-link{
    background-color: var(--primary) !important; border-color: var(--primary) !important; color: var(--primary-text, #fff) !important;
  }

  /* Alerts / Toasts */
  .alert-primary{
    background-color: var(--primary-100, rgba(0,0,0,.06)) !important;
    color: var(--primary-900, #0a0f1c) !important;
    border-left: 4px solid var(--primary) !important;
  }
  .toast-primary .toast-header{ background-color: var(--primary) !important; color: var(--primary-text, #fff) !important; }

  /* Modals / Bars */
  .modal-header.bg-primary, .modal-primary .modal-header{
    background-color: var(--primary-darker, #0a173a) !important; color: var(--primary-text, #fff) !important;
  }

  /* Focus & selection */
  :focus{ outline:none; box-shadow: 0 0 0 .2rem var(--primary-300, rgba(0,0,0,.18)) !important; }
  ::selection{ background-color: var(--primary-300, rgba(0,0,0,.18)); color: var(--primary-text, #fff); }

  /* Micro-interactions */
  .btn.btn-primary, .btn.btn-outline-primary, .nav-tabs .nav-link, .nav-pills .nav-link, .pagination .page-link{
    transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .12s ease;
  }
  .btn.btn-primary:hover{ transform: translateY(-1px); }

  /* ===== Sidebar — LIGHT ===== */
  .main-sidebar.sidebar-light-primary,
  .main-sidebar.sidebar-light-primary .sidebar { background-color: #fff; }

  .sidebar-light-primary .nav-sidebar > .nav-item > .nav-link {
    color: var(--primary-800, #162446) !important;
    background: transparent !important;
    border-left: 3px solid transparent !important;
    transition: background-color .2s, color .2s, border-color .2s;
  }
  .sidebar-light-primary .nav-sidebar > .nav-item > .nav-link .nav-icon,
  .sidebar-light-primary .nav-sidebar > .nav-item > .nav-link .right,
  .sidebar-light-primary .nav-sidebar > .nav-item > .nav-link i {
    color: var(--primary-600, #1f315d) !important;
  }
  .sidebar-light-primary .nav-sidebar > .nav-item > .nav-link:hover {
    background-color: var(--primary-50, rgba(0,0,0,.03)) !important;
    color: var(--primary-900, #0a0f1c) !important;
  }
  .sidebar-light-primary .nav-sidebar > .nav-item > .nav-link.active,
  .sidebar-light-primary .nav-sidebar > .nav-item.menu-open > .nav-link {
    background-color: var(--primary-100, rgba(0,0,0,.06)) !important;
    color: var(--primary-900, #0a0f1c) !important;
    border-left-color: var(--primary) !important;
    font-weight: 600 !important;
  }
  .sidebar-light-primary .nav-treeview > .nav-item > .nav-link { color: var(--primary-700, #1a2a51) !important; background: transparent !important; }
  .sidebar-light-primary .nav-treeview > .nav-item > .nav-link:hover { background-color: var(--primary-50, rgba(0,0,0,.03)) !important; color: var(--primary-900, #0a0f1c) !important; }
  .sidebar-light-primary .nav-treeview > .nav-item > .nav-link.active { background-color: var(--primary-50, rgba(0,0,0,.03)) !important; color: var(--primary-900, #0a0f1c) !important; }
  .sidebar-light-primary .nav-header{ color: var(--primary-700, #1a2a51) !important; background: transparent !important; font-weight: 700; letter-spacing: .02em; }
  .sidebar-light-primary .brand-link{ color: var(--primary-900, #0a0f1c) !important; background: #fff !important; }
  .sidebar-light-primary .brand-link:hover{ background: var(--primary-50, rgba(0,0,0,.03)) !important; }

  /* ===== Sidebar — DARK ===== */
  .main-sidebar.sidebar-dark-primary { background-color: var(--primary-800, #162446) !important; }
  .sidebar-dark-primary .sidebar { background-color: transparent !important; }

  .sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link{
    color: rgba(255,255,255,.85) !important;
    background: transparent !important;
    border-left: 3px solid transparent !important;
    transition: background-color .2s, color .2s, border-color .2s;
  }
  .sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link .nav-icon,
  .sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link .right,
  .sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link i{
    color: rgba(255,255,255,.75) !important;
  }
  .sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link:hover{
    background-color: var(--primary-700, #1a2a51) !important; color: #fff !important;
  }
  .sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active,
  .sidebar-dark-primary .nav-sidebar > .nav-item.menu-open > .nav-link{
    background-color: var(--primary-700, #1a2a51) !important; color: #fff !important;
    border-left-color: var(--primary-300, #8fa1cf) !important; font-weight: 600 !important;
  }
  .sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active .nav-icon,
  .sidebar-dark-primary .nav-sidebar > .nav-item.menu-open > .nav-link .nav-icon{ color: #fff !important; }
  .sidebar-dark-primary .nav-treeview > .nav-item > .nav-link{ color: rgba(255,255,255,.8) !important; background: transparent !important; }
  .sidebar-dark-primary .nav-treeview > .nav-item > .nav-link:hover{ background-color: var(--primary-700, #1a2a51) !important; color: #fff !important; }
  .sidebar-dark-primary .nav-treeview > .nav-item > .nav-link.active{ background-color: var(--primary-700, #1a2a51) !important; color: #fff !important; border-left: 3px solid var(--primary-300, #8fa1cf) !important; }
  .sidebar-dark-primary .nav-header{ color: rgba(255,255,255,.6) !important; background: transparent !important; font-weight: 700; letter-spacing: .02em; }
  .sidebar-dark-primary .brand-link{ color: #fff !important; background: var(--primary-800, #162446) !important; }
  .sidebar-dark-primary .brand-link:hover{ background: var(--primary-700, #1a2a51) !important; }
