/* ============================================================
   Prime Institute of Health Sciences — Brand Theme Override
   Applies official brand palette across the entire application.

   Primary   : #432974 (Purple)   #E5332C (Red)   #FFFFFF
   Shades    : #36215D  #281946   #CE2E28  #A0241F
   Tints     : #EDEAF1  #D9D4E3   #FCEBEA  #FAD6D5
   Secondary : #FFF011 (Yellow)   #3369A5 (Blue)  #009FD6 (Cyan)
   Typography: Archivo

   This file MUST load last so it wins over theme CSS.
   ============================================================ */

/* --- 1. Root-level custom property override ---------------- */
:root {
    /* Brand aliases (use these directly anywhere) */
    --pihs-purple: #432974;
    --pihs-purple-mid: #36215D;
    --pihs-purple-dark: #281946;
    --pihs-purple-tint-1: #EDEAF1;
    --pihs-purple-tint-2: #D9D4E3;
    --pihs-red: #E5332C;
    --pihs-red-mid: #CE2E28;
    --pihs-red-dark: #A0241F;
    --pihs-red-tint-1: #FCEBEA;
    --pihs-red-tint-2: #FAD6D5;
    --pihs-yellow: #FFF011;
    --pihs-blue: #3369A5;
    --pihs-cyan: #009FD6;

    /* Windows-Fluent theme tokens (modern-theme.css consumes these) */
    --win-accent: var(--pihs-purple) !important;
    --win-accent-hover: var(--pihs-purple-mid) !important;
    --win-accent-light: var(--pihs-purple-tint-1) !important;
    --win-accent-border: var(--pihs-purple-tint-2) !important;

    --win-danger: var(--pihs-red) !important;
    --win-danger-bg: var(--pihs-red-tint-1) !important;

    --win-info: var(--pihs-blue) !important;
    --win-info-bg: #E8EEF6 !important;

    /* Keep success as a professional green (universal convention for money received) */
    --win-success: #15803d !important;
    --win-success-bg: #dcfce7 !important;

    --win-warning: #b45309 !important;
    --win-warning-bg: #fef3c7 !important;

    /* Bootstrap 4/5 & Tabler tokens */
    --bs-primary: var(--pihs-purple);
    --bs-primary-rgb: 67, 41, 116;
    --bs-danger: var(--pihs-red);
    --bs-danger-rgb: 229, 51, 44;
    --bs-info: var(--pihs-blue);
    --bs-info-rgb: 51, 105, 165;
    --bs-link-color: var(--pihs-purple);
    --bs-link-hover-color: var(--pihs-purple-mid);

    --tblr-primary: var(--pihs-purple);
    --tblr-primary-rgb: 67, 41, 116;
    --tblr-danger: var(--pihs-red);
    --tblr-danger-rgb: 229, 51, 44;
    --tblr-info: var(--pihs-blue);
    --tblr-info-rgb: 51, 105, 165;
    --tblr-link-color: var(--pihs-purple);
}

/* --- 2. Typography ---------------------------------------- */
body, .font-archivo {
    font-family: 'Archivo', 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
.page-title, .card-title,
.btn, .badge,
.sidebar-brand div,
.modal-title {
    font-family: 'Archivo', 'Nunito', sans-serif !important;
    letter-spacing: 0.005em;
}

/* --- 3. Buttons ------------------------------------------- */
.btn-primary {
    background-color: var(--pihs-purple) !important;
    border-color: var(--pihs-purple) !important;
    color: #fff !important;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
    background-color: var(--pihs-purple-mid) !important;
    border-color: var(--pihs-purple-mid) !important;
    color: #fff !important;
    box-shadow: 0 0 0 0.2rem rgba(67, 41, 116, 0.25) !important;
}
.btn-outline-primary {
    color: var(--pihs-purple) !important;
    border-color: var(--pihs-purple) !important;
    background-color: transparent !important;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    background-color: var(--pihs-purple) !important;
    color: #fff !important;
}

.btn-danger {
    background-color: var(--pihs-red) !important;
    border-color: var(--pihs-red) !important;
    color: #fff !important;
}
.btn-danger:hover, .btn-danger:focus, .btn-danger:active {
    background-color: var(--pihs-red-mid) !important;
    border-color: var(--pihs-red-mid) !important;
    box-shadow: 0 0 0 0.2rem rgba(229, 51, 44, 0.25) !important;
}
.btn-outline-danger {
    color: var(--pihs-red) !important;
    border-color: var(--pihs-red) !important;
}
.btn-outline-danger:hover {
    background-color: var(--pihs-red) !important;
    color: #fff !important;
}

.btn-info {
    background-color: var(--pihs-blue) !important;
    border-color: var(--pihs-blue) !important;
    color: #fff !important;
}
.btn-info:hover {
    background-color: #2a5687 !important;
    border-color: #2a5687 !important;
    color: #fff !important;
}
.btn-outline-info {
    color: var(--pihs-blue) !important;
    border-color: var(--pihs-blue) !important;
}
.btn-outline-info:hover {
    background-color: var(--pihs-blue) !important;
    color: #fff !important;
}

.btn-warning {
    background-color: var(--pihs-yellow) !important;
    border-color: #e6d810 !important;
    color: #3d3500 !important;
}
.btn-warning:hover {
    background-color: #ffe600 !important;
    border-color: #ccc000 !important;
    color: #2d2700 !important;
}

/* --- 4. Backgrounds --------------------------------------- */
.bg-primary { background-color: var(--pihs-purple) !important; }
.bg-danger  { background-color: var(--pihs-red) !important; }
.bg-info    { background-color: var(--pihs-blue) !important; }
.bg-warning { background-color: var(--pihs-yellow) !important; color: #3d3500 !important; }

.bg-primary-lt, .bg-primary-light { background-color: var(--pihs-purple-tint-1) !important; color: var(--pihs-purple) !important; }
.bg-danger-lt,  .bg-danger-light  { background-color: var(--pihs-red-tint-1) !important;    color: var(--pihs-red-dark) !important; }

/* --- 5. Text colors --------------------------------------- */
.text-primary { color: var(--pihs-purple) !important; }
.text-danger  { color: var(--pihs-red) !important; }
.text-info    { color: var(--pihs-blue) !important; }

/* --- 6. Links --------------------------------------------- */
a,
a.text-reset:hover {
    color: var(--pihs-purple);
}
a:hover, a:focus {
    color: var(--pihs-purple-mid);
}
.breadcrumb-item a { color: var(--pihs-purple); }
.breadcrumb-item.active { color: var(--pihs-purple-mid); }

/* --- 7. Badges -------------------------------------------- */
.badge-primary, .badge.bg-primary {
    background-color: var(--pihs-purple) !important; color: #fff !important;
}
.badge-danger, .badge.bg-danger {
    background-color: var(--pihs-red) !important; color: #fff !important;
}
.badge-info, .badge.bg-info {
    background-color: var(--pihs-blue) !important; color: #fff !important;
}
.badge-warning, .badge.bg-warning {
    background-color: var(--pihs-yellow) !important; color: #3d3500 !important;
}

/* --- 8. Alerts -------------------------------------------- */
.alert-primary {
    background-color: var(--pihs-purple-tint-1) !important;
    border-color: var(--pihs-purple-tint-2) !important;
    color: var(--pihs-purple-dark) !important;
}
.alert-danger {
    background-color: var(--pihs-red-tint-1) !important;
    border-color: var(--pihs-red-tint-2) !important;
    color: var(--pihs-red-dark) !important;
}
.alert-info {
    background-color: #E8EEF6 !important;
    border-color: #C5D4E8 !important;
    color: #1e4474 !important;
}

/* --- 9. Forms --------------------------------------------- */
.form-control:focus,
.form-select:focus,
.custom-select:focus {
    border-color: var(--pihs-purple-tint-2) !important;
    box-shadow: 0 0 0 0.2rem rgba(67, 41, 116, 0.15) !important;
}
.form-check-input:checked {
    background-color: var(--pihs-purple) !important;
    border-color: var(--pihs-purple) !important;
}
.custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--pihs-purple) !important;
    border-color: var(--pihs-purple) !important;
}

/* --- 10. Pagination --------------------------------------- */
.page-item.active .page-link {
    background-color: var(--pihs-purple) !important;
    border-color: var(--pihs-purple) !important;
    color: #fff !important;
}
.page-link {
    color: var(--pihs-purple) !important;
}
.page-link:hover {
    color: var(--pihs-purple-mid) !important;
    background-color: var(--pihs-purple-tint-1) !important;
    border-color: var(--pihs-purple-tint-2) !important;
}

/* --- 11. Tables (active row / sortable highlights) --------- */
.table-hover tbody tr:hover {
    background-color: var(--pihs-purple-tint-1) !important;
}
.table thead th {
    color: var(--pihs-purple-dark);
}

/* --- 12. Sidebar (via modern-theme.css, tokens already swapped) */
/* Add a subtle brand indicator on active sidebar item */
.sidebar-dark .sidebar-nav-link.active {
    box-shadow: inset 3px 0 0 var(--pihs-purple) !important;
}

/* Sidebar brand area picks up brand purple automatically via --win-accent */

/* --- 13. Page title & breadcrumb -------------------------- */
.page-title-box .page-title {
    color: var(--pihs-purple-dark) !important;
}

/* --- 14. Progress bars ------------------------------------ */
.progress-bar {
    background-color: var(--pihs-purple) !important;
}
.progress-bar.bg-success { background-color: #15803d !important; }
.progress-bar.bg-danger  { background-color: var(--pihs-red) !important; }
.progress-bar.bg-info    { background-color: var(--pihs-blue) !important; }

/* --- 15. Nav tabs ----------------------------------------- */
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    color: var(--pihs-purple) !important;
    border-bottom: 2px solid var(--pihs-purple) !important;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background-color: var(--pihs-purple) !important;
    color: #fff !important;
}

/* --- 16. Dropdowns ---------------------------------------- */
.dropdown-item.active,
.dropdown-item:active {
    background-color: var(--pihs-purple) !important;
    color: #fff !important;
}

/* --- 17. Sweetalert confirm button ------------------------ */
.swal2-confirm, .swal2-styled.swal2-confirm {
    background-color: var(--pihs-purple) !important;
}
.swal2-cancel, .swal2-styled.swal2-cancel {
    background-color: #6b5f7c !important;
}

/* --- 18. Toastr success/error tint ------------------------ */
.toast-success { background-color: #15803d !important; }
.toast-error   { background-color: var(--pihs-red) !important; }
.toast-info    { background-color: var(--pihs-blue) !important; }
.toast-warning { background-color: var(--pihs-yellow) !important; color:#3d3500 !important; }

/* --- 19. Modern-theme win-* classes extra mapping --------- */
/* Some explicit colors hardcoded in modern-theme.css */
.btn-success:hover { background: #106030 !important; }
.btn-danger:hover  { background: var(--pihs-red-mid) !important; }

/* Cards/shadows keep neutral — no overrides needed */

/* --- 20. DataTables buttons ------------------------------- */
.dt-button.btn-primary, button.dt-button.btn-primary {
    background: var(--pihs-purple) !important;
    border-color: var(--pihs-purple) !important;
    color: #fff !important;
}

/* --- 21. Print/PDF safety (if any page uses brand buttons) */
@media print {
    .btn-primary, .bg-primary { background-color: var(--pihs-purple) !important; -webkit-print-color-adjust: exact; }
}
