/* LegisNation Custom Theme Colors */
:root {
    /* Primary Colors from LegisNation Brand */
    --legisnation-primary: #152758;      /* Dark Navy Blue */
    --legisnation-secondary: #36a4a3;    /* Medium Teal */
    --legisnation-accent: #17867f;       /* Dark Teal */
    --legisnation-white: #ffffff;        /* White */
    
    /* Override Bootstrap Primary Colors */
    --bs-primary: #152758;
    --bs-primary-rgb: 21, 39, 88;
    --bs-secondary: #36a4a3;
    --bs-secondary-rgb: 54, 164, 163;
    
    /* Additional Bootstrap overrides */
    --bs-blue: #152758;
    --bs-indigo: #152758;
    --bs-purple: #152758;
    
    /* Additional Brand Colors */
    --legisnation-light-bg: #f8f9fa;
    --legisnation-border: #e9ecef;
    --legisnation-text: #495057;
    --legisnation-muted: #6c757d;
}

/* Logo Styling */
.brand-logo img {
    filter: none !important;
    height: 35px;
    width: auto;
}

.brand-text {
    color: var(--legisnation-primary) !important;
    font-weight: 600;
    font-size: 1.5rem;
}

/* Navigation Styling */
.navbar-brand {
    color: var(--legisnation-primary) !important;
}

.navbar-brand:hover {
    color: var(--legisnation-accent) !important;
}

/* Sidebar Styling */
.main-menu {
    background: var(--legisnation-white) !important;
}

.main-menu .navigation-main > li > a {
    color: var(--legisnation-text) !important;
}

.main-menu .navigation-main > li > a:hover {
    background-color: rgba(21, 39, 88, 0.1) !important;
    color: var(--legisnation-primary) !important;
}

.main-menu .navigation-main > li.active > a,
.main-menu .navigation-main > li.menu-open > a {
    background: linear-gradient(135deg, var(--legisnation-primary) 0%, var(--legisnation-accent) 100%) !important;
    color: var(--legisnation-white) !important;
}

.main-menu .navigation-main > li.active > a i,
.main-menu .navigation-main > li.menu-open > a i {
    color: var(--legisnation-white) !important;
}

/* Override any existing active states */
.main-menu .navigation-main > li.active > a,
.main-menu .navigation-main > li.menu-open > a,
.main-menu .navigation-main > li > a.active {
    background: linear-gradient(135deg, var(--legisnation-primary) 0%, var(--legisnation-accent) 100%) !important;
    color: var(--legisnation-white) !important;
    border-color: var(--legisnation-primary) !important;
}

.main-menu .navigation-main > li.active > a i,
.main-menu .navigation-main > li.menu-open > a i,
.main-menu .navigation-main > li > a.active i {
    color: var(--legisnation-white) !important;
}

/* Header Styling */
.header-navbar {
    background: var(--legisnation-white) !important;
    border-bottom: 1px solid var(--legisnation-border) !important;
}

/* Button Styling */
.btn-primary,
.btn.btn-primary,
button.btn-primary,
input[type="submit"].btn-primary,
a.btn-primary {
    background-color: var(--legisnation-primary) !important;
    border-color: var(--legisnation-primary) !important;
    color: var(--legisnation-white) !important;
    background-image: none !important;
}

.btn-primary:hover,
.btn.btn-primary:hover,
button.btn-primary:hover,
input[type="submit"].btn-primary:hover,
a.btn-primary:hover {
    background-color: var(--legisnation-accent) !important;
    border-color: var(--legisnation-accent) !important;
    color: var(--legisnation-white) !important;
    background-image: none !important;
}

/* Override any gradient backgrounds */
.btn-primary,
.btn-outline-primary,
button[class*="btn-primary"],
input[type="submit"][class*="btn-primary"],
a[class*="btn-primary"] {
    background: var(--legisnation-primary) !important;
    background-image: none !important;
    background-color: var(--legisnation-primary) !important;
}

.btn-primary:hover,
.btn-outline-primary:hover,
button[class*="btn-primary"]:hover,
input[type="submit"][class*="btn-primary"]:hover,
a[class*="btn-primary"]:hover {
    background: var(--legisnation-accent) !important;
    background-image: none !important;
    background-color: var(--legisnation-accent) !important;
}

/* Override any existing gradient classes */
.gradient-primary,
.bg-gradient-primary,
.btn-gradient-primary {
    background: var(--legisnation-primary) !important;
    background-image: none !important;
    background-color: var(--legisnation-primary) !important;
}

/* Force override for any inline styles */
[style*="background: linear-gradient"],
[style*="background:linear-gradient"],
[style*="background-image: linear-gradient"],
[style*="background-image:linear-gradient"] {
    background: var(--legisnation-primary) !important;
    background-image: none !important;
    background-color: var(--legisnation-primary) !important;
}

/* Override specific purple/blue gradients */
[style*="background: linear-gradient(135deg, #667eea"],
[style*="background:linear-gradient(135deg, #667eea"],
[style*="background: linear-gradient(135deg, #764ba2"],
[style*="background:linear-gradient(135deg, #764ba2"] {
    background: var(--legisnation-primary) !important;
    background-image: none !important;
    background-color: var(--legisnation-primary) !important;
}

.btn-primary:focus,
.btn.btn-primary:focus,
button.btn-primary:focus,
input[type="submit"].btn-primary:focus,
a.btn-primary:focus {
    background-color: var(--legisnation-primary) !important;
    border-color: var(--legisnation-secondary) !important;
    box-shadow: 0 0 0 0.2rem rgba(54, 164, 163, 0.25) !important;
}

.btn-secondary,
.btn.btn-secondary,
button.btn-secondary,
input[type="submit"].btn-secondary,
a.btn-secondary {
    background-color: var(--legisnation-secondary) !important;
    border-color: var(--legisnation-secondary) !important;
    color: var(--legisnation-white) !important;
}

.btn-secondary:hover,
.btn.btn-secondary:hover,
button.btn-secondary:hover,
input[type="submit"].btn-secondary:hover,
a.btn-secondary:hover {
    background-color: var(--legisnation-accent) !important;
    border-color: var(--legisnation-accent) !important;
    color: var(--legisnation-white) !important;
}

/* Text Colors */
.text-primary {
    color: var(--legisnation-primary) !important;
}

.text-secondary {
    color: var(--legisnation-secondary) !important;
}

/* Background Colors */
.bg-primary {
    background-color: var(--legisnation-primary) !important;
}

.bg-secondary {
    background-color: var(--legisnation-secondary) !important;
}

/* Card Styling */
.card {
    border-color: var(--legisnation-border) !important;
}

.card-header {
    background-color: var(--legisnation-light-bg) !important;
    border-bottom-color: var(--legisnation-border) !important;
}

/* Form Styling */
.form-control:focus {
    border-color: var(--legisnation-secondary) !important;
    box-shadow: 0 0 0 0.2rem rgba(54, 164, 163, 0.25) !important;
}

.form-select:focus {
    border-color: var(--legisnation-secondary) !important;
    box-shadow: 0 0 0 0.2rem rgba(54, 164, 163, 0.25) !important;
}

/* Link Styling */
a {
    color: var(--legisnation-primary) !important;
}

a:hover {
    color: var(--legisnation-accent) !important;
}

/* Badge Styling */
.badge.bg-primary {
    background-color: var(--legisnation-primary) !important;
}

.badge.bg-secondary {
    background-color: var(--legisnation-secondary) !important;
}

/* Alert Styling */
.alert-primary {
    background-color: rgba(21, 39, 88, 0.1) !important;
    border-color: var(--legisnation-primary) !important;
    color: var(--legisnation-primary) !important;
}

.alert-secondary {
    background-color: rgba(54, 164, 163, 0.1) !important;
    border-color: var(--legisnation-secondary) !important;
    color: var(--legisnation-secondary) !important;
}

/* Progress Bar */
.progress-bar {
    background-color: var(--legisnation-primary) !important;
}

/* Pagination */
.page-link {
    color: var(--legisnation-primary) !important;
}

.page-link:hover {
    color: var(--legisnation-accent) !important;
}

.page-item.active .page-link {
    background-color: var(--legisnation-primary) !important;
    border-color: var(--legisnation-primary) !important;
}

/* Dropdown Styling */
.dropdown-item:hover {
    background-color: rgba(21, 39, 88, 0.1) !important;
}

.dropdown-item.active {
    background-color: var(--legisnation-primary) !important;
}

/* Table Styling */
.table-primary {
    background-color: rgba(21, 39, 88, 0.1) !important;
}

.table-primary th {
    background-color: var(--legisnation-primary) !important;
    color: var(--legisnation-white) !important;
}

/* Custom Scrollbar */
::-webkit-scrollbar-thumb {
    background-color: var(--legisnation-secondary) !important;
}

::-webkit-scrollbar-track {
    background-color: var(--legisnation-light-bg) !important;
}

/* Focus States */
.btn:focus,
.form-control:focus,
.form-select:focus {
    border-color: var(--legisnation-secondary) !important;
    box-shadow: 0 0 0 0.2rem rgba(54, 164, 163, 0.25) !important;
}

/* Loading Spinner */
.spinner-border.text-primary {
    color: var(--legisnation-primary) !important;
}

/* Toast Notifications */
.toast.bg-primary {
    background-color: var(--legisnation-primary) !important;
}

.toast.bg-secondary {
    background-color: var(--legisnation-secondary) !important;
}

/* Custom Brand Logo Container */
.brand-logo-container {
    display: flex;
    align-items: center;
    gap: 10px;
}

.brand-text-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.brand-logo-container .brand-text {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    color: var(--legisnation-primary);
    margin: 0;
    line-height: 1.2;
}

.brand-tagline {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.7rem;
    color: var(--legisnation-secondary);
    font-weight: 400;
    margin: 0;
    line-height: 1;
}

/* Force override any existing theme styles */
*[class*="btn-primary"],
*[class*="btn-primary"]:hover,
*[class*="btn-primary"]:focus,
*[class*="btn-primary"]:active {
    background-color: var(--legisnation-primary) !important;
    border-color: var(--legisnation-primary) !important;
    color: var(--legisnation-white) !important;
}

*[class*="btn-primary"]:hover {
    background-color: var(--legisnation-accent) !important;
    border-color: var(--legisnation-accent) !important;
}

/* Override any gradient backgrounds */
.main-menu .navigation-main > li.active > a,
.main-menu .navigation-main > li.menu-open > a,
.main-menu .navigation-main > li > a.active,
.main-menu .navigation-main > li.active > a:hover,
.main-menu .navigation-main > li.menu-open > a:hover {
    background: linear-gradient(135deg, var(--legisnation-primary) 0%, var(--legisnation-accent) 100%) !important;
    background-image: linear-gradient(135deg, var(--legisnation-primary) 0%, var(--legisnation-accent) 100%) !important;
    background-color: var(--legisnation-primary) !important;
    color: var(--legisnation-white) !important;
    border-color: var(--legisnation-primary) !important;
}

/* Authentication Page Specific Styling */
.auth-wrapper .brand-logo-container {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 1rem;
}

.auth-wrapper .brand-text-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.auth-wrapper .brand-text {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    color: var(--legisnation-primary);
    margin: 0;
    line-height: 1.2;
    font-size: 1.8rem;
}

.auth-wrapper .brand-tagline {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.8rem;
    color: var(--legisnation-secondary);
    font-weight: 400;
    margin: 0;
    line-height: 1;
}

/* Authentication Form Styling */
.auth-login-form .btn-primary,
.auth-register-form .btn-primary {
    background-color: var(--legisnation-primary) !important;
    border-color: var(--legisnation-primary) !important;
    color: var(--legisnation-white) !important;
}

.auth-login-form .btn-primary:hover,
.auth-register-form .btn-primary:hover {
    background-color: var(--legisnation-accent) !important;
    border-color: var(--legisnation-accent) !important;
}

/* Form Focus States */
.auth-wrapper .form-control:focus {
    border-color: var(--legisnation-secondary) !important;
    box-shadow: 0 0 0 0.2rem rgba(54, 164, 163, 0.25) !important;
}

.auth-wrapper .form-select:focus {
    border-color: var(--legisnation-secondary) !important;
    box-shadow: 0 0 0 0.2rem rgba(54, 164, 163, 0.25) !important;
}

/* Link Colors */
.auth-wrapper a {
    color: var(--legisnation-primary) !important;
}

.auth-wrapper a:hover {
    color: var(--legisnation-accent) !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .brand-text {
        font-size: 1.2rem;
    }
    
    .brand-logo img {
        height: 28px;
    }
    
    .brand-tagline {
        font-size: 0.6rem;
    }
    
    .auth-wrapper .brand-text {
        font-size: 1.5rem;
    }
    
    .auth-wrapper .brand-tagline {
        font-size: 0.7rem;
    }
}

@media (max-width: 576px) {
    .brand-logo-container {
        flex-direction: column;
        gap: 5px;
        text-align: center;
    }
    
    .brand-text-container {
        align-items: center;
    }
    
    .brand-text {
        font-size: 1rem;
    }
    
    .brand-tagline {
        font-size: 0.5rem;
    }
    
    .auth-wrapper .brand-logo-container {
        flex-direction: column;
        text-align: center;
        margin-bottom: 1.5rem;
    }
    
    .auth-wrapper .brand-text-container {
        align-items: center;
    }
    
    .auth-wrapper .brand-text {
        font-size: 1.3rem;
    }
    
    .auth-wrapper .brand-tagline {
        font-size: 0.6rem;
    }
}
