/* Custom Color Overrides - Force #004186 for all purple elements */

/* Override any remaining purple colors with our custom color */
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
    background-color: #004186 !important;
    border-color: #004186 !important;
    color: white !important;
}

/* Ensure primary and solid buttons keep white text */
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-success,
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active,
.btn-danger,
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active,
.btn-danger.active,
.btn-warning,
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn-warning.active,
.btn-info,
.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-info.active {
    color: white !important;
}

/* Override purple text colors */
.text-purple,
.text-primary {
    color: #004186 !important;
}

/* Override purple background colors */
.bg-purple,
.bg-primary {
    background-color: #004186 !important;
}

/* Override purple border colors */
.border-purple,
.border-primary {
    border-color: #004186 !important;
}

/* Override purple hover states - only for non-button elements */
a:hover:not(.btn),
.nav-link:hover:not(.btn) {
    color: #004186 !important;
}

/* Override purple active states - only for non-button elements */
a:active:not(.btn),
.nav-link:active:not(.btn),
.nav-link.active:not(.btn) {
    color: #004186 !important;
}

/* Override purple focus states - only for non-button elements */
a:focus:not(.btn),
.nav-link:focus:not(.btn),
.form-control:focus {
    color: #004186 !important;
    border-color: #004186 !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 65, 134, 0.25) !important;
}

/* Override any purple CSS variables */
:root {
    --vz-purple: #004186 !important;
    --vz-primary: #004186 !important;
    --vz-primary-rgb: 0, 65, 134 !important;
}

/* Override any specific purple color codes - exclude buttons */
[style*="purple"]:not(.btn),
[style*="#6f42c1"]:not(.btn),
[style*="#7c3aed"]:not(.btn),
[style*="#8b5cf6"]:not(.btn),
[style*="#a855f7"]:not(.btn),
[style*="#c084fc"]:not(.btn),
[style*="#d8b4fe"]:not(.btn),
[style*="#e9d5ff"]:not(.btn),
[style*="#f3e8ff"]:not(.btn),
[style*="#865ce2"]:not(.btn),
[style*="#7084c7"]:not(.btn),
[style*="#8772f9"]:not(.btn),
[style*="#6559cc"]:not(.btn),
[style*="#695eef"]:not(.btn),
[style*="#ad64f1"]:not(.btn),
[style*="#687cfe"]:not(.btn) {
    color: #004186 !important;
    background-color: #004186 !important;
    border-color: #004186 !important;
}

/* Additional overrides for common purple elements - only for non-button elements */
.navbar-nav .nav-link:hover:not(.btn),
.navbar-nav .nav-link:focus:not(.btn),
.navbar-nav .nav-link:active:not(.btn),
.navbar-nav .nav-link.active:not(.btn) {
    color: #004186 !important;
}

/* Override dropdown menu colors */
.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus,
.dropdown-menu .dropdown-item:active {
    background-color: #004186 !important;
    color: white !important;
}

/* Override pagination colors */
.pagination .page-link:hover,
.pagination .page-link:focus,
.pagination .page-link:active,
.pagination .page-item.active .page-link {
    background-color: #004186 !important;
    border-color: #004186 !important;
    color: white !important;
}

/* Override table colors */
.table-hover tbody tr:hover {
    background-color: rgba(0, 65, 134, 0.1) !important;
}

/* Override form control focus */
.form-control:focus,
.form-select:focus {
    border-color: #004186 !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 65, 134, 0.25) !important;
}

/* Override checkbox and radio colors */
.form-check-input:checked {
    background-color: #004186 !important;
    border-color: #004186 !important;
}

/* Override switch colors */
.form-switch .form-check-input:checked {
    background-color: #004186 !important;
    border-color: #004186 !important;
}

/* Override progress bar colors */
.progress-bar {
    background-color: #004186 !important;
}

/* Override alert colors */
.alert-primary {
    background-color: rgba(0, 65, 134, 0.1) !important;
    border-color: #004186 !important;
    color: #004186 !important;
}

/* Override badge colors */
.badge-primary {
    background-color: #004186 !important;
    color: white !important;
}

/* Override card header colors */
.card-header {
    background-color: rgba(0, 65, 134, 0.05) !important;
    border-bottom-color: #004186 !important;
}

/* Sidebar Navigation - Force white text for active/selected items */
.app-menu .navbar-nav .nav-link {
    color: #ffffff !important;
}

.app-menu .navbar-nav .nav-link:hover {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
}

.app-menu .navbar-nav .nav-link.active {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.15) !important;
}

.app-menu .navbar-nav .nav-link:focus {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
}

.app-menu .navbar-nav .nav-link:active {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.2) !important;
}

/* Override any blue/purple text in sidebar */
.app-menu .navbar-nav .nav-link span,
.app-menu .navbar-nav .nav-link i {
    color: inherit !important;
}

/* Ensure menu links maintain white text in all states */
.app-menu .navbar-nav .nav-item .nav-link {
    color: #ffffff !important;
}

.app-menu .navbar-nav .nav-item .nav-link:hover,
.app-menu .navbar-nav .nav-item .nav-link:focus,
.app-menu .navbar-nav .nav-item .nav-link:active,
.app-menu .navbar-nav .nav-item .nav-link.active {
    color: #ffffff !important;
}

/* Statistics Cards - Force white text */
#statsContainer .card-title,
#statsContainer h3,
#statsContainer h5,
#statsContainer .card-body,
#statsContainer .card-body * {
    color: #ffffff !important;
}

/* Specific overrides for statistics text */
#totalMessages,
#seenMessages,
#unseenMessages {
    color: #ffffff !important;
}

/* Ensure all text in statistics cards is white */
#statsContainer .card.bg-primary,
#statsContainer .card.bg-success,
#statsContainer .card.bg-warning {
    color: #ffffff !important;
}

#statsContainer .card.bg-primary *,
#statsContainer .card.bg-success *,
#statsContainer .card.bg-warning * {
    color: #ffffff !important;
}