/* =====================================================================
   PAL Centre — brand theme override (navy + green) + modern polish
   Loaded after Velzon's app/custom CSS so these win.
   ===================================================================== */

:root {
    --pal-navy: #16357e;
    --pal-navy-dark: #0f2659;
    --pal-green: #2e9e44;
    --pal-green-dark: #24803a;

    /* Recolour everything that reads the Bootstrap/Velzon CSS variables */
    --vz-primary: #16357e;
    --vz-primary-rgb: 22, 53, 126;
    --vz-primary-text-emphasis: #0f2659;
    --vz-primary-bg-subtle: #e7ecf7;
    --vz-primary-border-subtle: #b6c3e2;

    --vz-success: #2e9e44;
    --vz-success-rgb: 46, 158, 68;
    --vz-success-text-emphasis: #1f6e31;
    --vz-success-bg-subtle: #e6f4e9;

    --vz-link-color: #16357e;
    --vz-link-color-rgb: 22, 53, 126;
    --vz-link-hover-color: #0f2659;

    --vz-vertical-menu-item-hover-color: #16357e;
    --vz-vertical-menu-item-active-color: #16357e;
    --vz-vertical-menu-item-active-bg: rgba(22, 53, 126, .10);
}

/* ---- Buttons (these hardcode the hex, so override the button vars) ---- */
.btn-primary {
    --vz-btn-bg: #16357e;
    --vz-btn-border-color: #16357e;
    --vz-btn-hover-bg: #0f2659;
    --vz-btn-hover-border-color: #0d224f;
    --vz-btn-active-bg: #0d224f;
    --vz-btn-active-border-color: #0d224f;
    --vz-btn-focus-shadow-rgb: 22, 53, 126;
}
.btn-success {
    --vz-btn-bg: #2e9e44;
    --vz-btn-border-color: #2e9e44;
    --vz-btn-hover-bg: #24803a;
    --vz-btn-hover-border-color: #226f34;
    --vz-btn-active-bg: #226f34;
    --vz-btn-active-border-color: #226f34;
    --vz-btn-focus-shadow-rgb: 46, 158, 68;
}
.btn-soft-primary { color: #16357e; background-color: rgba(22, 53, 126, .10); }
.btn-soft-primary:hover, .btn-soft-primary:focus { color: #fff; background-color: #16357e; }
.btn-soft-success { color: #2e9e44; background-color: rgba(46, 158, 68, .12); }
.btn-soft-success:hover, .btn-soft-success:focus { color: #fff; background-color: #2e9e44; }
.btn-link { color: #16357e; }

/* ============ Premium dark NAVY sidebar (forced regardless of toggle) ============ */
.app-menu.navbar-menu,
.navbar-menu {
    background: linear-gradient(180deg, #16357e 0%, #0f2659 100%) !important;
    border-right: 1px solid rgba(255, 255, 255, .06) !important;
}

/* White strip at the top so the white-background logo sits cleanly */
.navbar-brand-box {
    background: #ffffff !important;
    border-bottom: 1px solid rgba(255, 255, 255, .12) !important;
}

/* Menu items */
.app-menu .navbar-nav .nav-link { border-radius: .45rem; font-weight: 500; }
.app-menu .navbar-nav .nav-link,
.app-menu .navbar-nav .nav-link i { color: rgba(255, 255, 255, .72) !important; }
.app-menu .navbar-nav .menu-title span { color: rgba(255, 255, 255, .45) !important; letter-spacing: .06em; }

.app-menu .navbar-nav .nav-link:hover,
.app-menu .navbar-nav .nav-link:hover i { color: #ffffff !important; }

/* Active parent: soft white pill; active sub-link: PAL green accent */
.app-menu .navbar-nav > .nav-item > .nav-link.menu-link.active,
.app-menu .navbar-nav > .nav-item > .nav-link.active {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, .12) !important;
}
.app-menu .navbar-nav > .nav-item > .nav-link.active i { color: #ffffff !important; }
.app-menu .navbar-nav .nav-sm .nav-link.active {
    color: #5fe08a !important;
    font-weight: 600;
}
.app-menu .navbar-nav .nav-sm .nav-link:hover { color: #ffffff !important; }

/* Scrollbar + collapse chevrons on navy */
.app-menu .menu-dropdown .nav-link::after { color: rgba(255, 255, 255, .55); }
#scrollbar .simplebar-scrollbar:before { background: rgba(255, 255, 255, .3); }
#vertical-hover, .navbar-brand-box .btn { color: #16357e !important; }

/* ---- Modern look & feel: softer cards, rounded controls, subtle depth ---- */
body { background-color: #f3f5f9; }
.card {
    border: 0;
    border-radius: .85rem;
    box-shadow: 0 2px 14px rgba(15, 38, 89, .06);
}
.card-header {
    background-color: #fff;
    border-bottom: 1px solid #eef1f6;
    border-top-left-radius: .85rem;
    border-top-right-radius: .85rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.btn { border-radius: .55rem; font-weight: 500; }
.btn-sm { border-radius: .45rem; }
.form-control, .form-select { border-radius: .5rem; }
.badge { font-weight: 600; letter-spacing: .01em; }
.table > :not(caption) > * > * { padding: .75rem .75rem; }
.table-light { --vz-table-bg: #f6f8fb; }

/* Topbar + sidebar chrome */
#page-topbar { box-shadow: 0 1px 12px rgba(15, 38, 89, .06); }
.navbar-brand-box { border-bottom: 1px solid #eef1f6; }
.app-menu { box-shadow: 1px 0 14px rgba(15, 38, 89, .04); }

/* Page title accent */
.page-title-box h4 { font-weight: 600; color: #0f2659; }

/* Avatars / status dots use brand */
.avatar-title.bg-primary-subtle { color: #16357e !important; }

/* Login / auth page accents */
.auth-one-bg .bg-overlay {
    background: linear-gradient(135deg, rgba(22, 53, 126, .92), rgba(15, 38, 89, .92));
    opacity: 1;
}
.text-primary { color: #16357e !important; }
