:root {
    --evergreen-navy: #123d2d;
    --evergreen-deep-blue: #174c35;
    --evergreen-royal: #226b4e;
    --evergreen-blue: #4b9966;
    --evergreen-electric: #83b561;
    --evergreen-gold: #e8a548;
    --evergreen-orange: #ec8b32;
    --evergreen-red-orange: #d56f22;
    --evergreen-ink: #153a2b;
    --evergreen-tint: #f5f9f2;
    --evergreen-border: #d3e3d2;
    --evergreen-muted: #587066;
    --evergreen-warm-ink: #a95217;
    --bs-primary: #226b4e;
    --bs-primary-rgb: 0, 79, 196;
    --bs-link-color: #226b4e;
    --bs-link-hover-color: #174c35;
}

/* Color overrides only, except the existing logo sizing retained below.
 * Match Qovex's ID/data-attribute selectors so vendor colors cannot win. */
body { background: var(--evergreen-tint); color: var(--evergreen-navy); }
#page-topbar,
body[data-topbar=colored] #page-topbar,
body[data-topbar=dark] #page-topbar {
    background: #fff;
    box-shadow: 0 2px 14px rgba(0, 35, 95, .08), inset 0 -3px 0 var(--evergreen-royal);
}
.navbar-brand-box { background: #fff; }
.logo-lg img, .logo-sm img { background: #fff !important; border-radius: 0 !important; padding: 0 !important; object-fit: contain; }
.logo-lg img { width: 158px; max-height: 44px; }
.logo-sm img { width: 42px; max-height: 38px; object-fit: cover; object-position: 50% 20%; }

body[data-topbar] .header-item,
body[data-topbar] .noti-icon i { color: var(--evergreen-deep-blue); }
body[data-topbar] .header-item:hover,
body[data-topbar] .header-item:hover i { color: var(--evergreen-royal); background: #edf7ed; }
body[data-topbar] .navbar-header .dropdown .header-item.show { background: #fff3e4; color: var(--evergreen-navy); }
body[data-topbar] .app-search .form-control { background: var(--evergreen-tint); color: var(--evergreen-navy); }
body[data-topbar] .app-search input.form-control::placeholder,
body[data-topbar] .app-search span { color: var(--evergreen-muted); }
.vertical-menu { background: #fff; box-shadow: 0 6px 22px rgba(0,35,95,.07); }
.vertical-menu .user-wid { background: linear-gradient(135deg, #eff6ee, #fff8ee); }
.vertical-menu .user-wid .text-body { color: var(--evergreen-navy) !important; }
.vertical-menu .user-wid .text-muted,
#sidebar-menu .menu-title { color: var(--evergreen-muted) !important; }
#sidebar-menu ul li a,
#sidebar-menu ul li ul.sub-menu li a { color: var(--evergreen-deep-blue); }
#sidebar-menu ul li a i { color: var(--evergreen-royal); }
#sidebar-menu ul li a:hover { background: #edf7ed; color: var(--evergreen-royal); }
#sidebar-menu ul li a:hover i { color: var(--evergreen-royal); }
#sidebar-menu .mm-active > a,
#sidebar-menu .mm-active > a:hover {
    color: var(--evergreen-navy) !important;
    background: #fff3e4;
    box-shadow: inset 4px 0 0 var(--evergreen-orange);
}
#sidebar-menu .mm-active > a i,
#sidebar-menu .mm-active > a::after { color: var(--evergreen-warm-ink) !important; }
#sidebar-menu a:focus-visible { outline: 2px solid var(--evergreen-royal); outline-offset: -2px; }

/* Royal blue provides sufficient contrast for white, normal-sized labels. */
.btn-primary,
body .btn-primary,
body.evergreen-auth button.btn.btn-primary.btn-login {
    --bs-btn-bg: #226b4e;
    --bs-btn-border-color: #226b4e;
    --bs-btn-hover-bg: #174c35;
    --bs-btn-hover-border-color: #174c35;
    --bs-btn-active-bg: #174c35;
    --bs-btn-active-border-color: #174c35;
    --bs-btn-disabled-bg: #226b4e;
    --bs-btn-disabled-border-color: #226b4e;
    background: var(--evergreen-royal) !important;
    border-color: var(--evergreen-royal) !important;
    color: #fff !important;
}
.btn-primary:hover, .btn-primary:active, .btn-primary:focus,
body.evergreen-auth button.btn.btn-primary.btn-login:hover { background: var(--evergreen-deep-blue) !important; border-color: var(--evergreen-deep-blue) !important; color: #fff !important; }
.btn-outline-primary { color: var(--evergreen-royal); border-color: var(--evergreen-royal); }
.btn-outline-primary:hover, .btn-outline-primary:active { background: var(--evergreen-royal); border-color: var(--evergreen-royal); color: #fff; }
.btn-warning { background: var(--evergreen-gold); border-color: var(--evergreen-gold); color: var(--evergreen-navy); }
.btn-warning:hover { background: var(--evergreen-orange); border-color: var(--evergreen-orange); color: var(--evergreen-navy); }
.btn:focus-visible { outline: 3px solid var(--evergreen-electric); outline-offset: 2px; }
.text-primary { color: var(--evergreen-royal) !important; }
a { color: var(--evergreen-royal); }
a:hover { color: var(--evergreen-deep-blue); }
h1, h2, h3, h4, h5, h6, .form-label, .col-form-label, label { color: var(--evergreen-navy); }
.text-muted { color: var(--evergreen-muted) !important; }
.page-title-box .breadcrumb .breadcrumb-item.active { color: var(--evergreen-deep-blue); }
.card { background: #fff; border-color: var(--evergreen-border); box-shadow: 0 6px 20px rgba(0,35,95,.06); }
.card-header, .table-light { background: #eef6ff; color: var(--evergreen-navy); border-color: var(--evergreen-border); }
.table { color: var(--evergreen-navy); --bs-table-color: #123d2d; --bs-table-hover-bg: #eef6ff; --bs-table-striped-bg: #f5f9f2; border-color: var(--evergreen-border); }
body .form-control, body .form-select { color: var(--evergreen-navy); background-color: #fff; border-color: #9eb6d0; }
.form-control::placeholder { color: #587066; }
.form-control:focus, .form-select:focus { background-color: #fff; color: var(--evergreen-navy); border-color: var(--evergreen-royal); box-shadow: 0 0 0 .2rem rgba(0,125,235,.18); }
.form-control:disabled, .form-control[readonly], .form-select:disabled { background: #eef3f8; color: #587066; }
.form-control.is-invalid, .form-select.is-invalid { border-color: #bd2828; }
.invalid-feedback, .text-danger { color: #bd2828 !important; }
.form-check-input { border-color: #7a94b5; }
.form-check-input:checked { background-color: var(--evergreen-royal); border-color: var(--evergreen-royal); }
body .select2.select2-container,
body .select2-selection { background: #fff !important; color: var(--evergreen-navy); }
body .select2-container--default .select2-selection--single .select2-selection__rendered,
body .select2-results__option { color: var(--evergreen-navy); }
body .select2-container--default .select2-search--dropdown .select2-search__field { color: var(--evergreen-navy); border-color: #9eb6d0; }
body .select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--evergreen-royal); color: #fff; }
.page-link { color: var(--evergreen-royal); border-color: var(--evergreen-border); }
.page-item.active .page-link { background: var(--evergreen-royal); border-color: var(--evergreen-royal); color: #fff; }
.bg-primary, .progress-bar { background-color: var(--evergreen-royal) !important; color: #fff; }
.avatar-title { background-color: var(--evergreen-royal); color: #fff; }
.page-content .col-md-4:nth-child(2) .avatar-title { background: linear-gradient(135deg, var(--evergreen-gold), var(--evergreen-orange)); color: var(--evergreen-navy); }
.dropdown-menu { background: #fff; border-color: var(--evergreen-border); }
.dropdown-item { color: var(--evergreen-navy); }
.dropdown-item:hover, .dropdown-item:focus { background: #edf7ed; color: var(--evergreen-deep-blue); }
.footer { color: var(--evergreen-muted); background: #fff; }

/* Standalone login shares the color system, not dashboard layout rules. */
body.evergreen-auth, .bg-login { background: radial-gradient(circle at 85% 10%, #dbf2ff, transparent 45%), linear-gradient(135deg, #f5f9f2, #fff 55%, #fff2dc); }
.bg-login-overlay { background: rgba(0,79,196,.04); }
.evergreen-auth .login-container { background: #fff; box-shadow: 0 12px 40px rgba(0,35,95,.12), inset 0 4px 0 var(--evergreen-orange); }
.evergreen-auth .login-header img { background: #fff; }
@media (max-width: 991.98px) { .logo-lg img { width: 140px; } }
