/* IEEE YESIST12 Portal Theme Colors */
:root {
    --yesist-primary: #2ebc79;
    --yesist-secondary: #0b405f;
    --yesist-primary-dark: #25a066;
    --yesist-primary-light: #4dd199;
    --yesist-secondary-light: #0d4d6f;
    --yesist-secondary-dark: #082d3f;
}
    
    /* Override Bootstrap orange with theme colors */
    --bs-orange: var(--yesist-primary);
    --bs-orange-100: rgba(46, 188, 121, 0.1);
    --bs-orange-200: rgba(46, 188, 121, 0.2);
    --bs-orange-300: rgba(46, 188, 121, 0.3);
    --bs-orange-400: rgba(46, 188, 121, 0.4);
    --bs-orange-500: var(--yesist-primary);
    --bs-orange-600: var(--yesist-primary-dark);
    --bs-orange-700: var(--yesist-primary-dark);
    --bs-orange-800: var(--yesist-primary-dark);
    --bs-orange-900: var(--yesist-primary-dark);
    
    /* Override warning colors with secondary */
    --bs-warning: var(--yesist-secondary);
    --bs-warning-rgb: 11, 64, 95;
}

/* Primary Color Overrides */
/* Normal state - Use secondary brand color */
.btn-primary,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
button.btn-primary,
button.btn-primary:focus,
button.btn-primary:active,
[type="submit"].btn-primary,
[type="submit"].btn-primary:focus,
[type="submit"].btn-primary:active,
form .btn-primary,
form button.btn-primary,
form [type="submit"].btn-primary,
.card .btn-primary,
.card button.btn-primary,
.card [type="submit"].btn-primary {
    background-color: #0b405f !important;
    border-color: #0b405f !important;
    color: #ffffff !important;
    --bs-btn-bg: #0b405f !important;
    --bs-btn-border-color: #0b405f !important;
    --bs-btn-color: #ffffff !important;
}

/* Hover state - Use primary brand color */
.btn-primary:hover,
button.btn-primary:hover,
[type="submit"].btn-primary:hover,
form .btn-primary:hover,
form button.btn-primary:hover,
form [type="submit"].btn-primary:hover,
.card .btn-primary:hover,
.card button.btn-primary:hover,
.card [type="submit"].btn-primary:hover {
    background-color: #2ebc79 !important;
    border-color: #2ebc79 !important;
    color: #ffffff !important;
    --bs-btn-hover-bg: #2ebc79 !important;
    --bs-btn-hover-border-color: #2ebc79 !important;
    --bs-btn-hover-color: #ffffff !important;
}

.btn-outline-primary {
    color: var(--yesist-primary) !important;
    border-color: var(--yesist-primary) !important;
}

.btn-outline-primary:hover {
    background-color: var(--yesist-primary) !important;
    border-color: var(--yesist-primary) !important;
    color: #ffffff !important;
}

/* Secondary Color Overrides */
.btn-secondary,
.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active {
    background-color: var(--yesist-secondary) !important;
    border-color: var(--yesist-secondary) !important;
    color: #ffffff !important;
}

/* Links - Global Override */
a:not(.btn):not(.nav-link):not(.dropdown-item),
a.link-primary,
.link-primary,
a[class*="link"]:not(.btn),
a[class*="orange"]:not(.btn),
a[class*="warning"]:not(.btn) {
    color: var(--yesist-primary) !important;
}

a:not(.btn):not(.nav-link):not(.dropdown-item):hover,
a.link-primary:hover,
.link-primary:hover,
a[class*="link"]:not(.btn):hover,
a[class*="orange"]:not(.btn):hover,
a[class*="warning"]:not(.btn):hover {
    color: var(--yesist-primary-dark) !important;
}

/* Specific link classes */
a.text-orange,
a.text-warning,
a.text-orange-500,
a.text-orange-600,
a.link-primary.text-orange,
a.link-primary.text-warning {
    color: var(--yesist-primary) !important;
}

a.text-orange:hover,
a.text-warning:hover,
a.text-orange-500:hover,
a.text-orange-600:hover,
a.link-primary.text-orange:hover,
a.link-primary.text-warning:hover {
    color: var(--yesist-primary-dark) !important;
}

/* Force override for any orange/warning colored links */
a[style*="orange"],
a[style*="#fd7e14"],
a[style*="#ff"] {
    color: var(--yesist-primary) !important;
}

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

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

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

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

.bg-light-primary {
    background-color: rgba(46, 188, 121, 0.1) !important;
}

.bg-light-secondary {
    background-color: rgba(11, 64, 95, 0.1) !important;
}

/* Badges */
.badge.bg-primary {
    background-color: var(--yesist-primary) !important;
}

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

/* Borders */
.border-primary {
    border-color: var(--yesist-primary) !important;
}

.border-secondary {
    border-color: var(--yesist-secondary) !important;
}

/* Form Controls */
.form-control:focus,
.form-select:focus {
    border-color: var(--yesist-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(46, 188, 121, 0.25) !important;
}

.form-check-input:checked {
    background-color: var(--yesist-primary) !important;
    border-color: var(--yesist-primary) !important;
}

/* Nav Tabs - Override all orange/warning colors */
.nav-tabs .nav-link,
.nav-tabs button.nav-link,
.nav-tabs .nav-item .nav-link,
.nav-tabs .nav-item button.nav-link {
    color: var(--yesist-secondary) !important;
    border-color: transparent !important;
    background-color: transparent !important;
    font-weight: bold !important;
}

.nav-tabs .nav-link.active,
.nav-tabs button.nav-link.active,
.nav-tabs .nav-link[aria-selected="true"],
.nav-tabs button.nav-link[aria-selected="true"],
.nav-tabs .nav-item .nav-link.active,
.nav-tabs .nav-item button.nav-link.active {
    color: var(--yesist-primary) !important;
    border-bottom-color: var(--yesist-primary) !important;
    border-top-color: transparent !important;
    border-left-color: transparent !important;
    border-right-color: transparent !important;
    background-color: transparent !important;
}

.nav-tabs .nav-link:hover,
.nav-tabs button.nav-link:hover,
.nav-tabs .nav-item .nav-link:hover,
.nav-tabs .nav-item button.nav-link:hover {
    color: var(--yesist-primary) !important;
    border-color: transparent !important;
    background-color: transparent !important;
}

.nav-tabs .nav-link:not(.active),
.nav-tabs button.nav-link:not(.active),
.nav-tabs .nav-link[aria-selected="false"],
.nav-tabs button.nav-link[aria-selected="false"],
.nav-tabs .nav-item .nav-link:not(.active),
.nav-tabs .nav-item button.nav-link:not(.active) {
    color: var(--yesist-secondary) !important;
}

.nav-tabs .nav-link:not(.active):hover,
.nav-tabs button.nav-link:not(.active):hover,
.nav-tabs .nav-item .nav-link:not(.active):hover,
.nav-tabs .nav-item button.nav-link:not(.active):hover {
    color: var(--yesist-primary) !important;
}

/* Force override any orange/warning colors in nav tabs */
.nav-tabs .nav-link[class*="orange"],
.nav-tabs button.nav-link[class*="orange"],
.nav-tabs .nav-link[class*="warning"],
.nav-tabs button.nav-link[class*="warning"] {
    color: var(--yesist-secondary) !important;
}

.nav-tabs .nav-link.active[class*="orange"],
.nav-tabs button.nav-link.active[class*="orange"],
.nav-tabs .nav-link.active[class*="warning"],
.nav-tabs button.nav-link.active[class*="warning"] {
    color: var(--yesist-primary) !important;
}

/* Nav Pills */
.nav-pills .nav-link {
    color: var(--yesist-secondary) !important;
}

.nav-pills .nav-link.active {
    background-color: var(--yesist-primary) !important;
    color: #ffffff !important;
}

.nav-pills .nav-link:hover:not(.active) {
    background-color: rgba(46, 188, 121, 0.1) !important;
    color: var(--yesist-primary) !important;
}

/* Cards */
.card-header {
    background-color: rgba(11, 64, 95, 0.05) !important;
    border-bottom-color: rgba(11, 64, 95, 0.1) !important;
}

/* Logo Styling */
.yesist-logo {
    max-width: 300px;
    height: auto;
    display: block;
    margin: 0 auto;
}

.yesist-logo-small {
    max-width: 150px;
    height: auto;
}

.yesist-logo-large {
    max-width: 400px;
    height: auto;
}

/* Header - Use brand colors for hover states only */
.pc-header .pc-head-link:hover {
    color: var(--yesist-primary) !important;
    background-color: rgba(46, 188, 121, 0.1) !important;
}

/* Footer - Use brand colors for links only */
.pc-footer a {
    color: var(--yesist-primary-light) !important;
}

.pc-footer a:hover {
    color: var(--yesist-primary) !important;
}

/* Sidebar - Use brand colors for active states - Highest specificity - Override ALL presets */
body .pc-sidebar .pc-navbar > .pc-item.active > .pc-link,
body .pc-sidebar .pc-navbar-item.active > .pc-navbar-link,
body .pc-sidebar .pc-navbar-item.pc-hasmenu.active > .pc-navbar-link,
[data-pc-preset] .pc-sidebar .pc-navbar > .pc-item.active > .pc-link,
[data-pc-preset] .pc-sidebar .pc-navbar-item.active > .pc-navbar-link,
[data-pc-preset] .pc-sidebar .pc-navbar-item.pc-hasmenu.active > .pc-navbar-link,
[data-pc-preset=preset-1] .pc-sidebar .pc-navbar > .pc-item.active > .pc-link,
[data-pc-preset=preset-1] .pc-sidebar .pc-navbar-item.active > .pc-navbar-link,
[data-pc-preset=preset-1] .pc-sidebar .pc-navbar-item.pc-hasmenu.active > .pc-navbar-link,
[data-pc-preset=preset-6] .pc-sidebar .pc-navbar > .pc-item.active > .pc-link,
[data-pc-preset=preset-6] .pc-sidebar .pc-navbar-item.active > .pc-navbar-link,
[data-pc-preset=preset-6] .pc-sidebar .pc-navbar-item.pc-hasmenu.active > .pc-navbar-link {
    color: #2ebc79 !important;
}

/* Override ::after pseudo-element for active sidebar items - Force green, no orange */
body .pc-sidebar .pc-navbar > .pc-item.active > .pc-link::after,
[data-pc-preset] .pc-sidebar .pc-navbar > .pc-item.active > .pc-link::after,
[data-pc-preset=preset-1] .pc-sidebar .pc-navbar > .pc-item.active > .pc-link::after,
[data-pc-preset=preset-6] .pc-sidebar .pc-navbar > .pc-item.active > .pc-link::after,
body[data-pc-preset] .pc-sidebar .pc-navbar > .pc-item.active > .pc-link::after {
    background: #2ebc79 !important;
    background-color: #2ebc79 !important;
    opacity: 0.1 !important;
}

/* Override CSS variable for sidebar active color */
[data-pc-preset] {
    --pc-sidebar-active-color: #2ebc79 !important;
}

.pc-sidebar .pc-navbar-link:hover,
.pc-sidebar .pc-navbar > .pc-item:hover:not(.active) > .pc-link {
    background-color: rgba(46, 188, 121, 0.1) !important;
    color: #2ebc79 !important;
}

.pc-sidebar .pc-navbar > .pc-item:hover:not(.active) > .pc-link::after {
    background: #2ebc79 !important;
    opacity: 0.05 !important;
}

/* Sidebar user card - Use brand colors for hover only */
.pc-sidebar .pc-user-links a:hover {
    color: var(--yesist-primary) !important;
    background-color: rgba(46, 188, 121, 0.1) !important;
}

/* Sidebar submenu - Use brand colors for active/hover */
.pc-sidebar .pc-submenu .pc-link:hover {
    color: var(--yesist-primary) !important;
    background-color: rgba(46, 188, 121, 0.1) !important;
}

.pc-sidebar .pc-submenu .pc-item.active > .pc-link {
    color: var(--yesist-primary) !important;
    background-color: rgba(46, 188, 121, 0.1) !important;
}

/* Breadcrumb */
.breadcrumb-item.active {
    color: var(--yesist-secondary) !important;
}

.breadcrumb-item a {
    color: var(--yesist-primary) !important;
}

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

/* Alerts */
.alert-primary {
    background-color: rgba(46, 188, 121, 0.1) !important;
    border-color: var(--yesist-primary) !important;
    color: var(--yesist-secondary) !important;
}

/* Loading Spinner */
.spinner-border-primary {
    border-color: var(--yesist-primary) !important;
    border-right-color: transparent !important;
}

/* Custom Gradient */
.yesist-gradient {
    background: linear-gradient(135deg, var(--yesist-primary) 0%, var(--yesist-secondary) 100%) !important;
}

.yesist-gradient-text {
    background: linear-gradient(135deg, var(--yesist-primary) 0%, var(--yesist-secondary) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Auth Page Specific */
.auth-main .btn-primary {
    background-color: var(--yesist-primary) !important;
    border-color: var(--yesist-primary) !important;
}

.auth-main .btn-primary:hover {
    background-color: var(--yesist-primary-dark) !important;
    border-color: var(--yesist-primary-dark) !important;
}

/* Force override for all button primary instances - Highest specificity */
body .btn-primary,
body button.btn-primary,
body [type="submit"].btn-primary,
body form .btn-primary,
body form button.btn-primary,
body form [type="submit"].btn-primary,
body .card .btn-primary,
body .card button.btn-primary,
body .card [type="submit"].btn-primary,
body .card-body .btn-primary,
body .card-body button.btn-primary,
body .card-body [type="submit"].btn-primary {
    background-color: #0b405f !important;
    border-color: #0b405f !important;
    color: #ffffff !important;
}

body .btn-primary:hover,
body button.btn-primary:hover,
body [type="submit"].btn-primary:hover,
body form .btn-primary:hover,
body form button.btn-primary:hover,
body form [type="submit"].btn-primary:hover,
body .card .btn-primary:hover,
body .card button.btn-primary:hover,
body .card [type="submit"].btn-primary:hover,
body .card-body .btn-primary:hover,
body .card-body button.btn-primary:hover,
body .card-body [type="submit"].btn-primary:hover {
    background-color: #2ebc79 !important;
    border-color: #2ebc79 !important;
    color: #ffffff !important;
}

/* Status Badges */
.badge.bg-success {
    background-color: var(--yesist-primary) !important;
}

/* Orange Color Overrides - Use Theme Colors */
.text-orange,
.text-orange-100,
.text-orange-200,
.text-orange-300,
.text-orange-400,
.text-orange-500,
.text-orange-600,
.text-orange-700,
.text-orange-800,
.text-orange-900 {
    color: var(--yesist-primary) !important;
}

.bg-orange,
.bg-orange-100,
.bg-orange-200,
.bg-orange-300,
.bg-orange-400,
.bg-orange-500,
.bg-orange-600,
.bg-orange-700,
.bg-orange-800,
.bg-orange-900 {
    background-color: var(--yesist-primary) !important;
}

.bg-orange-100 {
    background-color: rgba(46, 188, 121, 0.1) !important;
}

.bg-orange-200 {
    background-color: rgba(46, 188, 121, 0.2) !important;
}

.bg-orange-300 {
    background-color: rgba(46, 188, 121, 0.3) !important;
}

.bg-orange-400 {
    background-color: rgba(46, 188, 121, 0.4) !important;
}

/* Warning Color Overrides - Use Secondary Color */
.btn-warning,
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active {
    background-color: var(--yesist-secondary) !important;
    border-color: var(--yesist-secondary) !important;
    color: #ffffff !important;
}

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

/* Text Muted - Use Secondary for better contrast */
.text-muted {
    color: var(--yesist-secondary) !important;
    opacity: 0.7;
}

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

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

.alert-warning {
    background-color: rgba(11, 64, 95, 0.1) !important;
    border-color: var(--yesist-secondary) !important;
    color: var(--yesist-secondary) !important;
}

/* Header dropdowns - Use brand colors for hover only */
.pc-header .dropdown-item:hover {
    background-color: rgba(46, 188, 121, 0.1) !important;
    color: var(--yesist-primary) !important;
}

/* Sidebar dropdown menus - Use brand colors for hover only */
.pc-sidebar .dropdown-item:hover {
    background-color: rgba(46, 188, 121, 0.1) !important;
    color: var(--yesist-primary) !important;
}

/* Remove theme-specific overrides - let theme system handle it */

/* Custom Utilities */
.yesist-shadow {
    box-shadow: 0 4px 6px rgba(11, 64, 95, 0.1) !important;
}

.yesist-shadow-lg {
    box-shadow: 0 10px 25px rgba(11, 64, 95, 0.15) !important;
}

/* Dark theme shadows */
[data-pc-theme=dark] .yesist-shadow {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3) !important;
}

[data-pc-theme=dark] .yesist-shadow-lg {
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4) !important;
}

/* Badge colors - Use brand primary color */
.pc-sidebar .pc-badge {
    background-color: var(--yesist-primary) !important;
    color: #ffffff !important;
}

/* Breadcrumb active state */
.breadcrumb-item.active {
    color: var(--yesist-secondary) !important;
}

.breadcrumb-item a {
    color: var(--yesist-primary) !important;
}

.breadcrumb-item a:hover {
    color: var(--yesist-primary-dark) !important;
}

/* Table hover states */
.table-hover tbody tr:hover {
    background-color: rgba(46, 188, 121, 0.05) !important;
}

/* Card header styling */
.card-header {
    background-color: rgba(11, 64, 95, 0.05) !important;
    border-bottom-color: rgba(11, 64, 95, 0.1) !important;
    color: var(--yesist-secondary) !important;
}

/* Notifications - Ensure they appear above modals */
.notifier-container {
    z-index: 1060 !important; /* Bootstrap modals use 1055, so we need higher */
    position: fixed !important;
}

.notifier {
    z-index: 1061 !important;
    position: relative !important;
}
