form .required:after {
    color: #f35958;
    content: "*";
    font-size: 15px;
    left: 3px;
    position: relative
}

.form-switch-md .form-check-input {
    width: 4rem !important
}

.form-switch-lg .form-check-input {
    width: 6rem !important
}

.form-switch-xl .form-check-input {
    width: 8rem !important
}

.feather-16 {
    height: 16px;
    width: 16px
}

.feather-20 {
    height: 20px;
    width: 20px
}

.feather-24 {
    height: 24px;
    width: 24px
}

.feather-32 {
    height: 32px;
    width: 32px
}

/* Navy Blue Theme Overrides */
:root {
    --bs-primary: #1e3a8a;
    --bs-primary-rgb: 30, 58, 138;
    --navy-base: #0a192f;
    --navy-light: #112240;
    --navy-dark: #020c1b;
    --accent-color: #38bdf8;
}

/* Hardcoded overrides for Vuexy elements */
.btn-primary {
    background-color: #1e3a8a !important;
    border-color: #1e3a8a !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: #172a6b !important;
    border-color: #172a6b !important;
    color: #fff !important;
}

.bg-primary {
    background-color: #1e3a8a !important;
}

.text-primary {
    color: #1e3a8a !important;
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
    background-color: #1e3a8a !important;
    color: #fff !important;
}

.main-menu.menu-light .navigation>li.active>a {
    background: linear-gradient(118deg, #1e3a8a, rgba(30, 58, 138, 0.8)) !important;
    box-shadow: 0 0 10px 1px rgba(30, 58, 138, 0.7) !important;
    color: #fff !important;
}

.page-item.active .page-link {
    background-color: #1e3a8a !important;
    border-color: #1e3a8a !important;
    color: #fff !important;
}

.badge.bg-primary {
    background-color: #1e3a8a !important;
}

.form-check-input:checked {
    background-color: #1e3a8a !important;
    border-color: #1e3a8a !important;
}

.dropdown-item.active,
.dropdown-item:active {
    background-color: #1e3a8a !important;
}

/* Glassmorphic Nav Menu Overrides */
.main-menu.menu-light,
.main-menu.menu-dark {
    background: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-right: 1px solid rgba(255, 255, 255, 1);
}

.main-menu .navbar-header {
    background: transparent !important;
}

.main-menu.menu-light .navigation {
    background: transparent !important;
}

.main-menu.menu-light .navigation>li>a {
    color: #1e293b !important;
}

.main-menu.menu-light .navigation>li>a:hover,
.main-menu.menu-light .navigation>li.open>a {
    background: rgba(30, 58, 138, 0.05) !important;
    color: #1e3a8a !important;
}

.main-menu.menu-light .navigation>li .navigation-header {
    color: #94a3b8 !important;
}

/* Dropdowns in Sidebar */
.main-menu.menu-light .navigation>li ul .active>a {
    color: var(--bs-primary) !important;
}

/* Submenu backgrounds */
.main-menu.menu-light .navigation>li ul {
    background: rgba(30, 58, 138, 0.03) !important;
}

.main-menu.menu-light .navigation>li ul>li>a {
    color: #475569 !important;
}

.main-menu.menu-light .navigation>li ul>li>a:hover {
    color: #1e3a8a !important;
}

/* Header Navbar Glassmorphism */
.header-navbar {
    background: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(255, 255, 255, 1) !important;
}

.header-navbar .navbar-nav .nav-link {
    color: #475569 !important;
}

.header-navbar .navbar-nav .nav-link:hover {
    color: #1e3a8a !important;
}

/* Adjust text inside navbar (like username) */
.header-navbar .user-name {
    color: #1e293b !important;
}

.header-navbar .user-status {
    color: #64748b !important;
}

/* Dropdown menus originating from navbar */
.header-navbar .dropdown-menu {
    background: rgba(255, 255, 255, 0.95) !important;
    border: 1px solid rgba(255, 255, 255, 1);
    box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.1) !important;
}

.header-navbar .dropdown-menu .dropdown-item {
    color: #475569 !important;
}

.header-navbar .dropdown-menu .dropdown-item:hover {
    background: rgba(30, 58, 138, 0.05) !important;
    color: #1e3a8a !important;
}

.header-navbar .dropdown-menu .dropdown-header {
    color: #1e293b !important;
}

/* Fix navbar brand color */
.navbar-brand .brand-text {
    color: #1e3a8a !important;
}

/* Light Content Section Overrides */
body,
html {
    background-color: #f4f7f6 !important;
}

.app-content {
    background-color: transparent !important;
}

.content-wrapper {
    background: transparent !important;
}

/* Glassmorphic Cards (Light) */
.card {
    background: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border: 1px solid #ffffff !important;
    box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.04) !important;
    color: #334155 !important;
}

/* Update text colors inside cards to be readable on Light Background */
.card-title,
.card-header,
h1,
h2,
h3,
h4,
h5,
h6,
.text-body {
    color: #1e293b !important;
}

.text-muted {
    color: #64748b !important;
}

/* Table styles */
.table {
    color: #334155 !important;
}

.table thead th,
.table th,
.table td {
    border-color: rgba(0, 0, 0, 0.05) !important;
    color: #334155 !important;
}

.table-hover tbody tr:hover {
    background-color: rgba(0, 0, 0, 0.02) !important;
    color: #0f172a !important;
}

/* Form inputs */
.form-control,
.form-select {
    background-color: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    color: #1e293b !important;
}

.form-control:focus,
.form-select:focus {
    background-color: #ffffff !important;
    border-color: var(--accent-color) !important;
    color: #1e293b !important;
    box-shadow: 0 0 0 0.25rem rgba(56, 189, 248, 0.25) !important;
}

.form-label {
    color: #475569 !important;
}

.input-group-text {
    background-color: rgba(0, 0, 0, 0.03) !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    color: #475569 !important;
}

/* Stats/Cards Inner Elements */
.avatar {
    background-color: rgba(30, 58, 138, 0.1) !important;
}

/* Pagination */
.pagination .page-item .page-link {
    background-color: #ffffff !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    color: #1e293b !important;
}

.pagination .page-item.active .page-link {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: #ffffff !important;
}

/* Modals */
.modal-content {
    background: rgba(255, 255, 255, 0.95) !important;
    border: 1px solid #ffffff !important;
    color: #1e293b !important;
}

.modal-header {
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
}

.modal-footer {
    border-top: 1px solid rgba(0, 0, 0, 0.05) !important;
}

.btn-close {
    filter: none;
    /* Reset from dark mode */
}

/* Typography Overhaul */
body,
html,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
div,
span,
label,
input,
button,
table {
    font-family: 'Outfit', sans-serif !important;
}

/* Floating Navigation Component Architecture */
/* Top Navbar */
.header-navbar {
    position: fixed !important;
    top: 20px !important;
    left: 300px !important;
    /* Sidebar width (260) + margin (20) + gap (20) */
    right: 20px !important;
    width: auto !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0.05) !important;
    margin: 0 !important;
    z-index: 1030 !important;
}

body.menu-collapsed .header-navbar {
    left: 120px !important;
    /* Collapsed sidebar (80) + margins */
}

@media (max-width: 1200px) {
    .header-navbar {
        left: 20px !important;
    }
}

/* Sidebar Floating & Mobile Responsiveness */
.main-menu {
    top: 20px !important;
    left: 20px !important;
    bottom: 20px !important;
    height: calc(100vh - 40px) !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0.1) !important;
    z-index: 1031 !important;
    transition: left 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.3s ease, visibility 0.3s ease !important;
}

@media (max-width: 1200px) {
    .main-menu {
        left: -350px !important;
        transform: translate3d(0, 0, 0) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body.menu-open .main-menu,
    body.vertical-overlay-menu.menu-open .main-menu,
    .main-menu.expanded {
        left: 20px !important;
        transform: translate3d(0, 0, 0) !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    body.menu-hide .main-menu,
    body.vertical-overlay-menu.menu-hide .main-menu {
        left: -350px !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    .sidenav-overlay {
        transition: opacity 0.3s ease, visibility 0.3s ease !important;
    }

    .sidenav-overlay.show {
        z-index: 1025 !important;
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
    }

    body:not(.menu-open) .sidenav-overlay {
        opacity: 0 !important;
        visibility: hidden !important;
    }
}

@media (max-width: 576px) {
    .header-navbar {
        top: 10px !important;
        left: 10px !important;
        right: 10px !important;
    }

    .main-menu {
        top: 10px !important;
        bottom: 10px !important;
        height: calc(100vh - 20px) !important;
        width: calc(100vw - 30px) !important;
        max-width: 290px !important;
    }

    body.menu-open .main-menu,
    body.vertical-overlay-menu.menu-open .main-menu {
        left: 10px !important;
    }

    body.menu-hide .main-menu,
    body.vertical-overlay-menu.menu-hide .main-menu {
        left: -350px !important;
    }

    html .content.app-content {
        padding-top: 85px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* Content Area Spacing */
html .content.app-content {
    padding-top: 100px !important;
}

/* Pill-shaped Sidebar Links */
.main-menu.menu-light .navigation>li>a,
.main-menu.menu-dark .navigation>li>a {
    margin: 4px 15px !important;
    border-radius: 12px !important;
    padding: 12px 15px !important;
    transition: all 0.3s ease-in-out !important;
}

/* Interactive Card Dynamics */
.card {
    border-radius: 16px !important;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    margin-bottom: 2rem !important;
}

.card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08), 0 0 15px rgba(56, 189, 248, 0.1) !important;
    border: 1px solid #ffffff !important;
}

/* Button Animations */
.btn {
    border-radius: 10px !important;
    transition: all 0.3s ease !important;
}

.btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(30, 58, 138, 0.2) !important;
}

/* Table Row Micro-animations */
.table tbody tr {
    transition: all 0.2s ease !important;
}

.table tbody tr:hover {
    transform: scale(1.01) !important;
    background-color: rgba(30, 58, 138, 0.03) !important;
}

/* Custom Scrollbars to fit the premium aesthetic */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.15);
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.3);
}