:root,
html[data-theme="lavender"] {
    --vg-sidebar-bg: #3d3494;
    --vg-sidebar-fill: #3d3494;
    --vg-sidebar-text: #ffffff;
    --vg-sidebar-hover: rgba(255, 255, 255, 0.12);
    --vg-sidebar-active: rgba(255, 255, 255, 0.2);
    --vg-main-bg: #ede9fa;
    --vg-hero-bg: #534ab7;
    --vg-hero-rgb: 83, 74, 183;
    --vg-accent: #f26522;
    --vg-accent-rgb: 242, 101, 34;
    --vg-card-bg: #ffffff;
    --vg-card-border: rgba(83, 74, 183, 0.15);
    --vg-stat-bg: #f5f2ff;
    --vg-text-primary: #1a1340;
    --vg-text-secondary: #6b6490;
    --vg-text-muted: #9b96b8;
    --vg-topbar-bg: rgba(255, 255, 255, 0.9);
    --vg-topbar-border: rgba(83, 74, 183, 0.12);
    --vg-highlight-bg: #fff4ee;
    --vg-highlight: #f26522;
    --vg-shadow-lg: 0 24px 60px rgba(24, 24, 61, 0.12);
    --vg-shadow-md: 0 16px 38px rgba(24, 24, 61, 0.08);
    --primary: var(--vg-hero-bg);
    --secondary: var(--vg-accent);
    --primary-purple: var(--vg-hero-bg);
    --indigo-light: rgba(var(--vg-hero-rgb), 0.1);
    --bg-main: var(--vg-main-bg);
    --bg-soft: rgba(var(--vg-hero-rgb), 0.05);
    --text-dark: var(--vg-text-primary);
    --text-muted: var(--vg-text-secondary);
    --border-color: rgba(var(--vg-hero-rgb), 0.14);
    --success: #16a34a;
    --warning: #f59e0b;
    --danger: #dc2626;
}

html[data-theme="dark"] {
    --vg-sidebar-bg: #1a1a2e;
    --vg-sidebar-fill: #1a1a2e;
    --vg-sidebar-text: #ffffff;
    --vg-sidebar-hover: rgba(242, 101, 34, 0.15);
    --vg-sidebar-active: rgba(242, 101, 34, 0.25);
    --vg-main-bg: #16213e;
    --vg-hero-bg: #0f3460;
    --vg-hero-rgb: 15, 52, 96;
    --vg-accent: #f26522;
    --vg-accent-rgb: 242, 101, 34;
    --vg-card-bg: #1e2d4e;
    --vg-card-border: rgba(242, 101, 34, 0.2);
    --vg-stat-bg: #1a2540;
    --vg-text-primary: #ffffff;
    --vg-text-secondary: #edf2ff;
    --vg-text-muted: #d4ddf2;
    --vg-topbar-bg: rgba(30, 45, 78, 0.88);
    --vg-topbar-border: rgba(242, 101, 34, 0.15);
    --vg-highlight-bg: rgba(242, 101, 34, 0.15);
    --vg-highlight: #f26522;
    --vg-shadow-lg: 0 24px 60px rgba(3, 7, 18, 0.38);
    --vg-shadow-md: 0 16px 38px rgba(3, 7, 18, 0.28);
}

html[data-theme="forest"] {
    --vg-sidebar-bg: #1b4332;
    --vg-sidebar-fill: #1b4332;
    --vg-sidebar-text: #d8f3dc;
    --vg-sidebar-hover: rgba(255, 255, 255, 0.1);
    --vg-sidebar-active: rgba(255, 255, 255, 0.18);
    --vg-main-bg: #f0fdf4;
    --vg-hero-bg: #2d6a4f;
    --vg-hero-rgb: 45, 106, 79;
    --vg-accent: #f4a261;
    --vg-accent-rgb: 244, 162, 97;
    --vg-card-bg: #ffffff;
    --vg-card-border: rgba(27, 67, 50, 0.12);
    --vg-stat-bg: #e8f8ee;
    --vg-text-primary: #0d2b1e;
    --vg-text-secondary: #3a7d5b;
    --vg-text-muted: #74b492;
    --vg-topbar-bg: rgba(255, 255, 255, 0.92);
    --vg-topbar-border: rgba(27, 67, 50, 0.1);
    --vg-highlight-bg: #fff6ed;
    --vg-highlight: #f4a261;
}

html[data-theme="ocean"] {
    --vg-sidebar-bg: #1e3a5f;
    --vg-sidebar-fill: #1e3a5f;
    --vg-sidebar-text: #dbeafe;
    --vg-sidebar-hover: rgba(255, 255, 255, 0.1);
    --vg-sidebar-active: rgba(255, 255, 255, 0.18);
    --vg-main-bg: #eff6ff;
    --vg-hero-bg: #2c3e50;
    --vg-hero-rgb: 44, 62, 80;
    --vg-accent: #d4a24c;
    --vg-accent-rgb: 212, 162, 76;
    --vg-card-bg: #ffffff;
    --vg-card-border: rgba(44, 62, 80, 0.12);
    --vg-stat-bg: #eff6ff;
    --vg-text-primary: #1f2d3a;
    --vg-text-secondary: #415a77;
    --vg-text-muted: #7d93aa;
    --vg-topbar-bg: rgba(255, 255, 255, 0.92);
    --vg-topbar-border: rgba(44, 62, 80, 0.1);
    --vg-highlight-bg: #fffbeb;
    --vg-highlight: #d4a24c;
}

html[data-theme="rose"] {
    --vg-sidebar-bg: #831843;
    --vg-sidebar-fill: #831843;
    --vg-sidebar-text: #fce7f3;
    --vg-sidebar-hover: rgba(255, 255, 255, 0.1);
    --vg-sidebar-active: rgba(255, 255, 255, 0.2);
    --vg-main-bg: #fff1f2;
    --vg-hero-bg: #be185d;
    --vg-hero-rgb: 190, 24, 93;
    --vg-accent: #fb923c;
    --vg-accent-rgb: 251, 146, 60;
    --vg-card-bg: #ffffff;
    --vg-card-border: rgba(190, 24, 93, 0.12);
    --vg-stat-bg: #fff1f5;
    --vg-text-primary: #3b0a20;
    --vg-text-secondary: #9d174d;
    --vg-text-muted: #ec4899;
    --vg-topbar-bg: rgba(255, 255, 255, 0.92);
    --vg-topbar-border: rgba(190, 24, 93, 0.1);
    --vg-highlight-bg: #fff7ed;
    --vg-highlight: #fb923c;
}

html[data-theme="sunset"] {
    --vg-sidebar-bg: #7c2d12;
    --vg-sidebar-fill: #7c2d12;
    --vg-sidebar-text: #fef3e2;
    --vg-sidebar-hover: rgba(255, 255, 255, 0.1);
    --vg-sidebar-active: rgba(255, 255, 255, 0.18);
    --vg-main-bg: #fff7ed;
    --vg-hero-bg: #7c2d12;
    --vg-hero-rgb: 124, 45, 18;
    --vg-accent: #f59e0b;
    --vg-accent-rgb: 245, 158, 11;
    --vg-card-bg: #ffffff;
    --vg-card-border: rgba(124, 45, 18, 0.12);
    --vg-stat-bg: #fff3e0;
    --vg-text-primary: #2d0e01;
    --vg-text-secondary: #9a3412;
    --vg-text-muted: #c2410c;
    --vg-topbar-bg: rgba(255, 255, 255, 0.92);
    --vg-topbar-border: rgba(124, 45, 18, 0.1);
    --vg-highlight-bg: #fff3e0;
    --vg-highlight: #f59e0b;
}

html {
    scroll-behavior: smooth;
}

body.vg-theme-shell,
body.vg-auth-page {
    background: var(--vg-main-bg) !important;
    color: var(--vg-text-primary);
    font-family: "Poppins", sans-serif !important;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Enforce Poppins globally in themed pages (keep icon/mono fonts untouched) */
body.vg-theme-shell :where(h1, h2, h3, h4, h5, h6, p, span, small, strong, em, b, a, li, label, div, section, article, header, footer, nav, form, table, thead, tbody, tfoot, tr, th, td, button, input, select, textarea),
body.vg-auth-page :where(h1, h2, h3, h4, h5, h6, p, span, small, strong, em, b, a, li, label, div, section, article, header, footer, nav, form, table, thead, tbody, tfoot, tr, th, td, button, input, select, textarea) {
    font-family: "Poppins", sans-serif !important;
}

body.vg-theme-shell a,
body.vg-auth-page a {
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

body.vg-theme-shell .welcome-banner {
    background: var(--vg-hero-bg) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 30px rgba(var(--vg-hero-rgb), 0.28) !important;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

body.vg-theme-shell .welcome-banner::after {
    background: rgba(255, 255, 255, 0.1) !important;
}

body.vg-theme-shell .welcome-banner .text-primary,
body.vg-theme-shell .welcome-banner .btn-light.text-primary {
    color: var(--vg-hero-bg) !important;
}

body.vg-theme-shell .main-sidebar {
    background: var(--vg-sidebar-bg) !important;
    color: var(--vg-sidebar-text) !important;
    box-shadow: 4px 0 28px rgba(15, 23, 42, 0.14) !important;
    border-radius: 0 24px 24px 0;
    border-right: 0 !important;
}

body.vg-theme-shell .brand-link {
    background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    color: var(--vg-sidebar-text) !important;
}

body.vg-theme-shell .brand-text,
body.vg-theme-shell .user-panel .info h5,
body.vg-theme-shell .user-panel .info a {
    color: var(--vg-sidebar-text) !important;
}

body.vg-theme-shell .user-panel,
body.vg-theme-shell .main-sidebar .sidebar-search {
    border-color: rgba(255, 255, 255, 0.08) !important;
}

body.vg-theme-shell .user-panel .info small,
body.vg-theme-shell .nav-header,
body.vg-theme-shell .nav-header-line {
    color: rgba(255, 255, 255, 0.62) !important;
}

body.vg-theme-shell .nav-sidebar .nav-link {
    color: var(--vg-sidebar-text) !important;
    border-radius: 12px;
    margin: 3px 10px;
    background: transparent !important;
}

body.vg-theme-shell .nav-sidebar .nav-link:hover,
body.vg-theme-shell .nav-sidebar .nav-link:focus {
    background: var(--vg-sidebar-hover) !important;
    color: #ffffff !important;
}

body.vg-theme-shell .nav-sidebar .nav-link.active,
body.vg-theme-shell .nav-sidebar .menu-open > .nav-link {
    background: var(--vg-sidebar-active) !important;
    color: #ffffff !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12), 0 10px 24px rgba(0, 0, 0, 0.12);
}

body.vg-theme-shell .nav-sidebar .nav-icon,
body.vg-theme-shell .nav-sidebar .right {
    color: inherit !important;
}

body.vg-theme-shell .main-header,
body.vg-theme-shell .navbar-white,
body.vg-theme-shell .navbar-light {
    background: var(--vg-topbar-bg) !important;
    border-bottom: 1px solid var(--vg-topbar-border) !important;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.06) !important;
    backdrop-filter: blur(12px);
    border-radius: 0 0 14px 14px;
    overflow: visible;
}

body.vg-theme-shell .content-wrapper {
    background: var(--vg-main-bg) !important;
}

body.vg-theme-shell .content-wrapper,
body.vg-theme-shell .content,
body.vg-theme-shell .container-fluid {
    color: var(--vg-text-primary);
}

body.vg-theme-shell .main-footer,
body.vg-theme-shell .superadmin-footer {
    background: transparent !important;
    color: var(--vg-text-secondary) !important;
    border-top-color: var(--vg-topbar-border) !important;
}

body.vg-theme-shell .sidebar-mess-switcher-label {
    color: var(--vg-sidebar-text) !important;
}

body.vg-theme-shell .student-active-mess-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 320px;
    padding: 5px 12px !important;
    border-radius: 999px;
    background: rgba(var(--vg-hero-rgb), 0.11) !important;
    border: 1px solid rgba(var(--vg-hero-rgb), 0.36) !important;
    box-shadow: 0 8px 18px rgba(var(--vg-hero-rgb), 0.12), 0 0 0 1px rgba(var(--vg-hero-rgb), 0.2), 0 0 14px rgba(var(--vg-hero-rgb), 0.28);
    backdrop-filter: blur(6px);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--vg-hero-bg) !important;
    transition: box-shadow 0.25s ease, border-color 0.25s ease, background-color 0.25s ease, transform 0.2s ease;
}

body.vg-theme-shell .student-active-mess-label:hover {
    border-color: rgba(var(--vg-hero-rgb), 0.58) !important;
    box-shadow: 0 10px 22px rgba(var(--vg-hero-rgb), 0.16), 0 0 0 1px rgba(var(--vg-hero-rgb), 0.28), 0 0 18px rgba(var(--vg-hero-rgb), 0.36);
    transform: translateY(-1px);
}

body.vg-theme-shell .main-header .student-active-mess-label i {
    color: rgba(var(--vg-hero-rgb), 0.95) !important;
}

body.vg-theme-shell .student-active-mess-title {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    opacity: 1;
    color: rgba(var(--vg-hero-rgb), 0.78) !important;
}

body.vg-theme-shell .student-active-mess-name {
    display: inline-block;
    min-width: 0;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 700;
    color: var(--vg-text-primary) !important;
}

body.vg-theme-shell .user-nav-avatar {
    width: 34px;
    height: 34px;
    object-fit: cover;
    border: 2px solid rgba(var(--vg-hero-rgb), 0.28);
    box-shadow: 0 4px 10px rgba(var(--vg-hero-rgb), 0.14);
}

body.vg-theme-shell .user-sidebar-avatar {
    width: 36px;
    height: 36px;
    object-fit: cover;
    border: 2px solid rgba(var(--vg-hero-rgb), 0.22);
}

body.vg-theme-shell .main-header .nav-link {
    border-radius: 10px;
    color: var(--vg-text-primary) !important;
    padding: 8px 10px !important;
}

body.vg-theme-shell .main-header .nav-link:hover,
body.vg-theme-shell .main-header .nav-link:focus {
    background: rgba(var(--vg-hero-rgb), 0.08) !important;
    color: var(--vg-hero-bg) !important;
}

body.vg-theme-shell .main-header .dropdown-menu.dropdown-menu-right.student-profile-menu {
    border: 1px solid var(--vg-card-border) !important;
    border-radius: 14px !important;
    padding: 6px !important;
    min-width: 210px;
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.14);
    background: var(--vg-card-bg) !important;
    top: calc(100% + 6px) !important;
    right: 0 !important;
    left: auto !important;
    margin-top: 0 !important;
    z-index: 1100 !important;
}

body.vg-theme-shell .student-profile-menu .dropdown-item {
    border-radius: 10px;
    font-weight: 600;
    color: var(--vg-text-primary) !important;
    padding: 8px 10px;
}

body.vg-theme-shell .student-profile-menu .dropdown-item:hover {
    background: rgba(var(--vg-hero-rgb), 0.09) !important;
    color: var(--vg-hero-bg) !important;
}

body.vg-theme-shell .student-profile-menu .dropdown-item.text-danger:hover {
    background: rgba(239, 68, 68, 0.10) !important;
    color: #b91c1c !important;
}

body.vg-theme-shell .vg-brand-image {
    width: 60px !important;
    height: 60px !important;
    min-width: 60px !important;
    object-fit: contain !important;
    padding: 0 !important;
    margin-left: 0 !important;
    margin-right: 4px !important;
    opacity: 1 !important;
    background: transparent !important;
}

body.vg-theme-shell .sidebar-mess-switcher {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 14px;
    padding: 12px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
}

body.vg-theme-shell .sidebar-mess-switcher-label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 6px;
    opacity: 0.74;
}

body.vg-theme-shell .sidebar-mess-switcher-select {
    width: 100%;
    background: rgba(255, 255, 255, 0.14) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    border-radius: 10px;
    padding: 8px 10px;
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    outline: none;
    appearance: none;
}

body.vg-theme-shell .sidebar-mess-switcher-select option {
    color: #111827;
}

html[data-theme="dark"] body.vg-theme-shell .sidebar-mess-switcher-select option {
    background: #243356;
    color: #ffffff;
}

body.vg-theme-shell .sidebar-mess-switcher-spinner {
    margin-top: 6px;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.8) !important;
}

body.vg-theme-shell .sidebar-mess-switcher-spinner.is-hidden {
    display: none;
}

body.vg-theme-shell .sidebar-search-input {
    border-radius: 999px !important;
}

body.vg-theme-shell .sidebar-account-button {
    color: rgba(255, 255, 255, 0.72) !important;
}

body.vg-theme-shell .sidebar-account-button:hover,
body.vg-theme-shell .sidebar-account-button:focus {
    color: #ffffff !important;
}

html[data-theme="dark"] body.vg-theme-shell .main-header .nav-link,
html[data-theme="dark"] body.vg-theme-shell .main-header .nav-link i,
html[data-theme="dark"] body.vg-theme-shell .navbar .navbar-nav .nav-link,
html[data-theme="dark"] body.vg-theme-shell .dropdown-header,
html[data-theme="dark"] body.vg-theme-shell .text-muted {
    color: #edf2ff !important;
}

body.vg-theme-shell .notif-list-scroll {
    max-height: 400px;
    overflow: auto;
}

body.vg-theme-shell .card,
body.vg-theme-shell .small-box,
body.vg-theme-shell .info-box,
body.vg-theme-shell .ap-card,
body.vg-theme-shell .perm-card {
    background: var(--vg-card-bg) !important;
    border: 1px solid var(--vg-card-border) !important;
    border-radius: 18px !important;
    box-shadow: var(--vg-shadow-md) !important;
}

body.vg-theme-shell .card-header,
body.vg-theme-shell .card-footer,
body.vg-theme-shell .ap-card-header,
body.vg-theme-shell .perm-card-header {
    background: rgba(var(--vg-hero-rgb), 0.06) !important;
    border-color: var(--vg-card-border) !important;
    color: var(--vg-text-primary) !important;
}

body.vg-theme-shell .bg-white {
    background: var(--vg-card-bg) !important;
    color: var(--vg-text-primary) !important;
}

body.vg-theme-shell .bg-light {
    background: rgba(var(--vg-hero-rgb), 0.06) !important;
    color: var(--vg-text-primary) !important;
}

body.vg-theme-shell .bg-dark {
    background: var(--vg-sidebar-bg) !important;
    color: #ffffff !important;
}

body.vg-theme-shell .dropdown-menu {
    background: var(--vg-card-bg) !important;
    border: 1px solid var(--vg-card-border) !important;
    border-radius: 16px !important;
    box-shadow: var(--vg-shadow-md) !important;
}

body.vg-theme-shell .dropdown-item,
body.vg-theme-shell .dropdown-item-text {
    color: var(--vg-text-primary) !important;
}

body.vg-theme-shell .dropdown-item:hover,
body.vg-theme-shell .dropdown-item:focus {
    background: rgba(var(--vg-hero-rgb), 0.08) !important;
    color: var(--vg-text-primary) !important;
}

body.vg-theme-shell .dropdown-divider {
    border-top-color: rgba(var(--vg-hero-rgb), 0.08) !important;
}

body.vg-theme-shell .navbar-badge,
body.vg-theme-shell .notif-badge {
    background: var(--vg-hero-bg) !important;
    color: #ffffff !important;
    border: 0 !important;
    box-shadow: 0 10px 20px rgba(var(--vg-accent-rgb), 0.25);
}

body.vg-theme-shell .brand-image,
body.vg-theme-shell .user-panel .image img {
    border: 2px solid rgba(255, 255, 255, 0.18) !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.12) !important;
}

body.vg-theme-shell .brand-link .brand-image {
    width: 60px !important;
    height: 60px !important;
    min-width: 60px !important;
    object-fit: contain !important;
    padding: 0 !important;
    opacity: 1 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 12px !important;
}

body.vg-theme-shell .brand-link .vg-brand-logo {
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    object-fit: contain !important;
    background: #ffffff !important;
    padding: 2px !important;
    border-radius: 16px !important;
    opacity: 1 !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.16) !important;
}

body.vg-theme-shell .table,
body.vg-theme-shell .perm-table {
    color: var(--vg-text-primary);
}

body.vg-theme-shell .table thead th,
body.vg-theme-shell .perm-table thead th {
    background: rgba(var(--vg-hero-rgb), 0.05);
    color: var(--vg-text-secondary);
    border-bottom-color: var(--vg-card-border) !important;
}

body.vg-theme-shell .table td,
body.vg-theme-shell .table th,
body.vg-theme-shell .perm-table td,
body.vg-theme-shell .perm-table th {
    border-color: rgba(var(--vg-hero-rgb), 0.08) !important;
}

body.vg-theme-shell .form-control,
body.vg-theme-shell .custom-select,
body.vg-theme-shell .select2-selection,
body.vg-theme-shell .sidebar-search .form-control {
    background: rgba(255, 255, 255, 0.92) !important;
    border: 1px solid rgba(var(--vg-hero-rgb), 0.14) !important;
    color: var(--vg-text-primary) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

html[data-theme="dark"] body.vg-theme-shell .form-control,
html[data-theme="dark"] body.vg-theme-shell .custom-select,
html[data-theme="dark"] body.vg-theme-shell .select2-selection,
html[data-theme="dark"] body.vg-theme-shell .sidebar-search .form-control {
    background: rgba(22, 33, 62, 0.9) !important;
}

body.vg-theme-shell .form-control:focus,
body.vg-theme-shell .custom-select:focus,
body.vg-theme-shell .select2-container--default.select2-container--focus .select2-selection--single,
body.vg-theme-shell .select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: rgba(var(--vg-accent-rgb), 0.72) !important;
    box-shadow: 0 0 0 0.18rem rgba(var(--vg-accent-rgb), 0.16) !important;
}

body.vg-theme-shell .btn-primary,
body.vg-theme-shell .btn-success,
body.vg-theme-shell .btn-info,
body.vg-theme-shell .btn-warning,
body.vg-theme-shell .btn-reset,
body.vg-theme-shell .btn-update,
body.vg-theme-shell .btn-submit,
body.vg-theme-shell .btn-login,
body.vg-theme-shell .btn-continue {
    background: var(--vg-hero-bg) !important;
    border-color: transparent !important;
    color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(var(--vg-hero-rgb), 0.16);
}

body.vg-theme-shell .btn-primary:hover,
body.vg-theme-shell .btn-success:hover,
body.vg-theme-shell .btn-info:hover,
body.vg-theme-shell .btn-warning:hover,
body.vg-theme-shell .btn-reset:hover,
body.vg-theme-shell .btn-update:hover,
body.vg-theme-shell .btn-submit:hover,
body.vg-theme-shell .btn-login:hover,
body.vg-theme-shell .btn-continue:hover {
    filter: brightness(0.98);
    transform: translateY(-1px);
}

body.vg-theme-shell .btn-outline-primary,
body.vg-theme-shell .btn-outline-secondary {
    border-color: rgba(var(--vg-hero-rgb), 0.22) !important;
    color: var(--vg-text-secondary) !important;
    background: transparent !important;
}

body.vg-theme-shell .btn-light,
body.vg-theme-shell .btn-outline-light {
    background: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(255, 255, 255, 0.28) !important;
    color: #ffffff !important;
}

body.vg-theme-shell .btn-light:hover,
body.vg-theme-shell .btn-outline-light:hover {
    background: rgba(255, 255, 255, 0.28) !important;
    color: #ffffff !important;
}

body.vg-theme-shell .ticket-nav-link {
    background: var(--vg-highlight-bg) !important;
    color: var(--vg-hero-bg) !important;
}

body.vg-theme-shell .ticket-nav-link:hover {
    background: rgba(var(--vg-accent-rgb), 0.12) !important;
    color: var(--vg-accent) !important;
}

body.vg-theme-shell .ticket-nav-link.active {
    background: var(--vg-hero-bg) !important;
    color: #ffffff !important;
}

body.vg-theme-shell .ticket-nav-link .ticket-pill {
    background: rgba(255, 255, 255, 0.84);
    color: var(--vg-hero-bg);
}

body.vg-theme-shell .ame-hero,
body.vg-theme-shell .am-hero,
body.vg-theme-shell .rp-hero,
body.vg-theme-shell .pg-header,
body.vg-theme-shell .mc-header,
body.vg-theme-shell .tr-header,
body.vg-theme-shell .acm-header,
body.vg-theme-shell .wrl-header,
body.vg-theme-shell .dashboard-header,
body.vg-theme-shell .page-header,
body.vg-theme-shell .hero-banner,
body.vg-theme-shell .header-banner,
body.vg-theme-shell .status-header,
body.vg-theme-shell .header-section,
body.vg-theme-shell .forgot-header,
body.vg-theme-shell .top {
    background: var(--vg-hero-bg) !important;
    color: #ffffff !important;
}

body.vg-theme-shell .am-card,
body.vg-theme-shell .ame-card,
body.vg-theme-shell .rp-card,
body.vg-theme-shell .summary-card,
body.vg-theme-shell .stat-box,
body.vg-theme-shell .plan-card,
body.vg-theme-shell .counter-check-card,
body.vg-theme-shell .counter-card,
body.vg-theme-shell .report-card,
body.vg-theme-shell .otp-modal-card,
body.vg-theme-shell .wallet-card,
body.vg-theme-shell .ticket-card {
    background: var(--vg-card-bg) !important;
    border-color: var(--vg-card-border) !important;
    box-shadow: var(--vg-shadow-md) !important;
}

body.vg-theme-shell .am-card-header,
body.vg-theme-shell .perm-card-header,
body.vg-theme-shell .rp-card-header,
body.vg-theme-shell .card-header.bg-white,
body.vg-theme-shell .add-card .card-header {
    background: rgba(var(--vg-hero-rgb), 0.06) !important;
    border-color: var(--vg-card-border) !important;
    color: var(--vg-text-primary) !important;
}

body.vg-theme-shell .nav-pill,
body.vg-theme-shell .rp-nav-pill,
body.vg-theme-shell .btn-sm-ghost,
body.vg-theme-shell .btn-panel,
body.vg-theme-shell .btn-select-all,
body.vg-theme-shell .btn-clear-all,
body.vg-theme-shell .btn-otp-outline,
body.vg-theme-shell .btn-rp-edit,
body.vg-theme-shell .btn-cancel {
    background: var(--vg-highlight-bg) !important;
    border-color: rgba(var(--vg-accent-rgb), 0.22) !important;
    color: var(--vg-hero-bg) !important;
}

body.vg-theme-shell .nav-pill.active,
body.vg-theme-shell .nav-pill:hover,
body.vg-theme-shell .rp-nav-pill.active,
body.vg-theme-shell .rp-nav-pill.highlight,
body.vg-theme-shell .rp-nav-pill:hover,
body.vg-theme-shell .btn-sm-ghost:hover,
body.vg-theme-shell .btn-panel:hover,
body.vg-theme-shell .btn-select-all:hover,
body.vg-theme-shell .btn-clear-all:hover,
body.vg-theme-shell .btn-otp-outline:hover,
body.vg-theme-shell .btn-rp-edit:hover {
    background: var(--vg-hero-bg) !important;
    border-color: transparent !important;
    color: #ffffff !important;
}

body.vg-theme-shell .btn-save,
body.vg-theme-shell .btn-add-counter,
body.vg-theme-shell .btn-gradient,
body.vg-theme-shell .btn-otp-primary,
body.vg-theme-shell .btn-show-logs,
body.vg-theme-shell .btn-rp-delete,
body.vg-theme-shell .btn-dcp-confirm,
body.vg-theme-shell .btn-view,
body.vg-theme-shell .btn-unblock {
    background: var(--vg-hero-bg) !important;
    border-color: transparent !important;
    color: #ffffff !important;
}

body.vg-theme-shell .btn-verify-otp,
body.vg-theme-shell .btn-notify-ready,
body.vg-theme-shell .btn-serve-list,
body.vg-theme-shell .cc-open-btn,
body.vg-theme-shell .progress-bar-fill,
body.vg-theme-shell .coupon-stat-card,
body.vg-theme-shell .now-serving.active {
    background: var(--vg-hero-bg) !important;
    color: #ffffff !important;
    border-color: transparent !important;
}

body.vg-theme-shell .btn-verify-otp:hover,
body.vg-theme-shell .btn-notify-ready:hover,
body.vg-theme-shell .btn-serve-list:hover,
body.vg-theme-shell .cc-open-btn:hover {
    background: color-mix(in srgb, var(--vg-hero-bg) 88%, #000 12%) !important;
    color: #ffffff !important;
}

body.vg-theme-shell .btn-back,
body.vg-theme-shell .mc-header-btn,
body.vg-theme-shell .tr-btn-board,
body.vg-theme-shell .btn-light.px-4,
body.vg-theme-shell .btn.btn-light.px-4 {
    background: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(255, 255, 255, 0.28) !important;
    color: #ffffff !important;
}

body.vg-theme-shell .btn-block,
body.vg-theme-shell .btn-delete,
body.vg-theme-shell .btn-dcp-confirm:hover {
    background: rgba(220, 38, 38, 0.12) !important;
    border-color: rgba(220, 38, 38, 0.26) !important;
    color: #b91c1c !important;
}

body.vg-theme-shell .btn-edit,
body.vg-theme-shell .btn-circle.btn-edit,
body.vg-theme-shell .btn-fix {
    background: rgba(245, 158, 11, 0.12) !important;
    border-color: rgba(245, 158, 11, 0.24) !important;
    color: #b45309 !important;
}

body.vg-theme-shell .btn-assign,
body.vg-theme-shell .btn-circle.btn-assign,
body.vg-theme-shell .btn-view:hover {
    background: rgba(var(--vg-hero-rgb), 0.1) !important;
    border-color: rgba(var(--vg-hero-rgb), 0.2) !important;
    color: var(--vg-hero-bg) !important;
}

body.vg-theme-shell .role-chip,
body.vg-theme-shell .perm-count-pill,
body.vg-theme-shell .food-tag,
body.vg-theme-shell .tag-mess,
body.vg-theme-shell .badge-cash,
body.vg-theme-shell .badge-other,
body.vg-theme-shell .status-blocked,
body.vg-theme-shell .pill-progress,
body.vg-theme-shell .prio-medium {
    background: var(--vg-highlight-bg) !important;
    color: var(--vg-hero-bg) !important;
}

body.vg-theme-shell .stat-icon.purple,
body.vg-theme-shell .sp-total,
body.vg-theme-shell .badge-wallet,
body.vg-theme-shell .tag-menutype,
body.vg-theme-shell .tag-mess,
body.vg-theme-shell .btn-toggle-off,
body.vg-theme-shell .status-active,
body.vg-theme-shell .pill-open,
body.vg-theme-shell .prio-low {
    background: rgba(var(--vg-hero-rgb), 0.1) !important;
    color: var(--vg-hero-bg) !important;
}

body.vg-theme-shell .stat-icon.green,
body.vg-theme-shell .sp-granted,
body.vg-theme-shell .badge-active,
body.vg-theme-shell .tag-staff,
body.vg-theme-shell .attach-badge,
body.vg-theme-shell .status-frozen,
body.vg-theme-shell .pill-resolved {
    background: rgba(22, 163, 74, 0.12) !important;
    color: #15803d !important;
}

body.vg-theme-shell .stat-icon.amber,
body.vg-theme-shell .tag-menuitem,
body.vg-theme-shell .btn-warning,
body.vg-theme-shell .pill-progress,
body.vg-theme-shell .prio-high,
body.vg-theme-shell .warning-box {
    background: rgba(245, 158, 11, 0.12) !important;
    color: #b45309 !important;
}

body.vg-theme-shell .badge-inactive,
body.vg-theme-shell .btn-toggle-on,
body.vg-theme-shell .pill-closed,
body.vg-theme-shell .prio-critical,
body.vg-theme-shell .danger,
body.vg-theme-shell .danger-box {
    background: rgba(220, 38, 38, 0.12) !important;
    color: #b91c1c !important;
}

/* Keep bootstrap info badges as plain text (no background fill) */
body.vg-theme-shell .badge.badge-info,
body.vg-theme-shell .badge-info {
    background: transparent !important;
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

body.vg-theme-shell .filter-btn.active,
body.vg-theme-shell .filter-btn:hover,
body.vg-theme-shell .counter-check-card.selected,
body.vg-theme-shell .perm-item.is-checked,
body.vg-theme-shell .perm-item:hover,
body.vg-theme-shell .plan-card.active,
body.vg-theme-shell .add-card,
body.vg-theme-shell .search-box:focus {
    border-color: rgba(var(--vg-accent-rgb), 0.38) !important;
    box-shadow: 0 0 0 0.18rem rgba(var(--vg-accent-rgb), 0.12) !important;
}

body.vg-theme-shell .table thead th,
body.vg-theme-shell .dataTables_wrapper table thead th,
body.vg-theme-shell #staffTable thead th,
body.vg-theme-shell #messTable thead th,
body.vg-theme-shell #menuTypeTable thead th,
body.vg-theme-shell .txn-table thead th,
body.vg-theme-shell .wrl-table thead th,
body.vg-theme-shell .rp-table thead th,
body.vg-theme-shell .am-table thead th {
    background: rgba(var(--vg-hero-rgb), 0.06) !important;
    color: var(--vg-text-secondary) !important;
    border-color: var(--vg-card-border) !important;
}

body.vg-theme-shell .table tbody tr:hover,
body.vg-theme-shell #staffTable tbody tr:hover td,
body.vg-theme-shell #messTable tbody tr:hover td,
body.vg-theme-shell #menuTypeTable tbody tr:hover td,
body.vg-theme-shell .am-table tbody tr:hover,
body.vg-theme-shell .wrl-table tbody tr:hover {
    background: rgba(var(--vg-hero-rgb), 0.03) !important;
}

body.vg-theme-shell .dataTables_paginate .paginate_button.current,
body.vg-theme-shell .dataTables_wrapper .page-item.active .page-link {
    background: var(--vg-hero-bg) !important;
    border-color: transparent !important;
    color: #ffffff !important;
}

body.vg-theme-shell .dataTables_paginate .paginate_button:hover,
body.vg-theme-shell .dataTables_wrapper .page-link:hover {
    background: var(--vg-highlight-bg) !important;
    color: var(--vg-hero-bg) !important;
    border-color: rgba(var(--vg-accent-rgb), 0.2) !important;
}

body.vg-theme-shell .btn-outline-primary:hover,
body.vg-theme-shell .btn-outline-secondary:hover,
body.vg-theme-shell .btn-outline-dark:hover,
body.vg-theme-shell .btn-ap-ghost:hover,
body.vg-theme-shell .btn-ap-icon:hover,
body.vg-theme-shell .btn-edit:hover,
body.vg-theme-shell .btn-circle:hover,
body.vg-theme-shell .icon-btn:hover,
body.vg-theme-shell .role-tab:hover,
body.vg-theme-shell .perm-role-chip:hover,
body.vg-theme-shell .filter-pill:hover {
    background: rgba(var(--vg-hero-rgb), 0.08) !important;
    border-color: var(--vg-hero-bg) !important;
    color: var(--vg-hero-bg) !important;
}

body.vg-theme-shell .card:hover,
body.vg-theme-shell .stat-card:hover,
body.vg-theme-shell .plan-card:hover,
body.vg-theme-shell .feedback-card:hover,
body.vg-theme-shell .mess-card:hover,
body.vg-theme-shell .counter-card:hover,
body.vg-theme-shell .dashboard-box:hover,
body.vg-theme-shell .item-card:hover,
body.vg-theme-shell .poll-card:hover,
body.vg-theme-shell .req-card:hover,
body.vg-theme-shell .report-card:hover,
body.vg-theme-shell .order-card:hover {
    border-color: rgba(var(--vg-hero-rgb), 0.22) !important;
    box-shadow: 0 16px 36px rgba(var(--vg-hero-rgb), 0.12) !important;
}

body.vg-theme-shell .table-hover tbody tr:hover,
body.vg-theme-shell .queue-row:hover,
body.vg-theme-shell .order-row:hover,
body.vg-theme-shell .student-row:hover,
body.vg-theme-shell .present-row:hover {
    background: rgba(var(--vg-hero-rgb), 0.04) !important;
    border-color: rgba(var(--vg-hero-rgb), 0.14) !important;
}

body.vg-auth-page {
    min-height: 100vh;
    background: var(--vg-main-bg) !important;
}

body.vg-auth-page .outer-card,
body.vg-auth-page .forgot-card,
body.vg-auth-page .registration-card,
body.vg-auth-page .access-card,
body.vg-auth-page .otp-card,
body.vg-auth-page .status-card,
body.vg-auth-page .password-card,
body.vg-auth-page .change-password-card {
    background: var(--vg-card-bg) !important;
    border: 1px solid var(--vg-card-border) !important;
    box-shadow: var(--vg-shadow-lg) !important;
}

body.vg-auth-page .outer-card,
body.vg-auth-page .header-section,
body.vg-auth-page .forgot-header,
body.vg-auth-page .otp-header,
body.vg-auth-page .password-card .card-header,
body.vg-auth-page .change-password-card .card-header,
body.vg-auth-page .status-header,
body.vg-auth-page .top,
body.vg-auth-page .otp-icon {
    background: var(--vg-sidebar-bg) !important;
    color: #ffffff !important;
}

body.vg-auth-page .form-container,
body.vg-auth-page .forgot-body,
body.vg-auth-page .content,
body.vg-auth-page .card-body,
body.vg-auth-page .policy-box,
body.vg-auth-page .role-label {
    background: var(--vg-card-bg) !important;
    color: var(--vg-text-primary) !important;
}

body.vg-auth-page .bg-circle {
    background: rgba(var(--vg-hero-rgb), 0.08) !important;
}

body.vg-auth-page .food-icon-top,
body.vg-auth-page .policy-link,
body.vg-auth-page .back-link,
body.vg-auth-page .form-header h2::after,
body.vg-auth-page .role-label .role-icon-wrap {
    color: var(--vg-accent) !important;
}

body.vg-auth-page .policy-status,
body.vg-auth-page .sent-banner,
body.vg-auth-page .badge-denied,
body.vg-auth-page .role-card input[type="radio"]:checked + .role-label,
body.vg-auth-page .role-label:hover {
    background: var(--vg-highlight-bg) !important;
    border-color: rgba(var(--vg-accent-rgb), 0.35) !important;
    box-shadow: 0 0 0 0.18rem rgba(var(--vg-accent-rgb), 0.12) !important;
}

body.vg-auth-page .policy-meta-item,
body.vg-auth-page .policy-box,
body.vg-auth-page .sent-banner,
body.vg-auth-page .role-label {
    border-color: var(--vg-card-border) !important;
}

body.vg-auth-page .sent-banner i,
body.vg-auth-page .sent-banner strong,
body.vg-auth-page .back-link,
body.vg-auth-page .otp-close-btn {
    color: var(--vg-hero-bg) !important;
}

body.vg-auth-page .role-label .role-icon-wrap,
body.vg-auth-page .role-card input[type="radio"]:checked + .role-label .role-icon-wrap {
    background: rgba(var(--vg-hero-rgb), 0.1) !important;
    color: var(--vg-hero-bg) !important;
}

body.vg-auth-page .role-card input[type="radio"]:checked + .role-label .role-icon-wrap {
    background: var(--vg-hero-bg) !important;
    color: #ffffff !important;
}

body.vg-auth-page .form-label,
body.vg-auth-page .form-header h2,
body.vg-auth-page .role-name,
body.vg-auth-page .otp-title {
    color: var(--vg-text-primary) !important;
}

body.vg-auth-page .form-subtitle,
body.vg-auth-page .helper-text,
body.vg-auth-page .otp-sub,
body.vg-auth-page .text-muted,
body.vg-auth-page .policy-content,
body.vg-auth-page .small.text-muted {
    color: var(--vg-text-secondary) !important;
}

body.vg-auth-page .form-control,
body.vg-auth-page .custom-input,
body.vg-auth-page .otp-input,
body.vg-auth-page select.form-control {
    background: rgba(255, 255, 255, 0.95) !important;
    border: 1px solid rgba(var(--vg-hero-rgb), 0.16) !important;
    color: var(--vg-text-primary) !important;
    border-radius: 12px !important;
}

html[data-theme="dark"] body.vg-auth-page .form-control,
html[data-theme="dark"] body.vg-auth-page .custom-input,
html[data-theme="dark"] body.vg-auth-page .otp-input,
html[data-theme="dark"] body.vg-auth-page select.form-control {
    background: rgba(22, 33, 62, 0.9) !important;
}

body.vg-auth-page .form-control:focus,
body.vg-auth-page .custom-input:focus,
body.vg-auth-page .otp-input:focus {
    border-color: rgba(var(--vg-accent-rgb), 0.72) !important;
    box-shadow: 0 0 0 0.18rem rgba(var(--vg-accent-rgb), 0.16) !important;
}

body.vg-auth-page .btn-primary,
body.vg-auth-page .btn-login,
body.vg-auth-page .btn-submit,
body.vg-auth-page .btn-reset,
body.vg-auth-page .btn-update,
body.vg-auth-page .btn-verify,
body.vg-auth-page .btn-continue,
body.vg-auth-page .btn-primary-custom {
    background: var(--vg-hero-bg) !important;
    border-color: transparent !important;
    color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(var(--vg-hero-rgb), 0.18) !important;
}

body.vg-auth-page .btn-outline-secondary,
body.vg-auth-page .btn-back,
body.vg-auth-page .back-link,
body.vg-auth-page .small.text-decoration-none {
    color: var(--vg-text-secondary) !important;
}

body.vg-auth-page .btn-outline-secondary {
    border-color: rgba(var(--vg-hero-rgb), 0.18) !important;
}

.vg-theme-switcher {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 2000;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.vg-theme-panel {
    width: 260px;
    padding: 14px;
    margin-bottom: 12px;
    border-radius: 18px;
    border: 1px solid var(--vg-card-border);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: var(--vg-shadow-lg);
    backdrop-filter: blur(16px);
    display: none;
}

html[data-theme="dark"] .vg-theme-panel {
    background: rgba(30, 45, 78, 0.96);
}

.vg-theme-panel.is-open {
    display: block;
}

.vg-theme-title {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--vg-text-secondary);
    margin-bottom: 10px;
}

.vg-theme-list {
    display: grid;
    gap: 8px;
}

.vg-theme-option {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid transparent;
    border-radius: 14px;
    background: transparent;
    color: inherit;
    text-align: left;
}

.vg-theme-option:hover {
    background: var(--vg-stat-bg);
    border-color: var(--vg-card-border);
}

.vg-theme-option.is-selected {
    background: var(--vg-highlight-bg);
    border-color: rgba(var(--vg-accent-rgb), 0.28);
}

.vg-theme-swatch {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.06);
    flex-shrink: 0;
}

.vg-theme-meta {
    min-width: 0;
}

.vg-theme-name {
    display: block;
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--vg-text-primary);
}

.vg-theme-note {
    display: block;
    font-size: 0.76rem;
    color: var(--vg-text-secondary);
    margin-top: 2px;
}

.vg-theme-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 94px;
    padding: 10px 16px;
    border: 0;
    border-radius: 999px;
    background: var(--vg-hero-bg);
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    box-shadow: 0 16px 28px rgba(var(--vg-hero-rgb), 0.22);
}

.vg-theme-trigger:hover {
    transform: translateY(-1px);
}

.vg-trigger-icon {
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.vg-trigger-icon svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.vg-theme-shell .dropdown-menu {
    background: var(--vg-card-bg) !important;
    border: 1px solid var(--vg-card-border) !important;
    border-radius: 16px !important;
    box-shadow: var(--vg-shadow-md) !important;
}

body.vg-theme-shell .dropdown-item,
body.vg-theme-shell .dropdown-item-text {
    color: var(--vg-text-primary) !important;
}

body.vg-theme-shell .dropdown-item:hover,
body.vg-theme-shell .dropdown-item:focus {
    background: rgba(var(--vg-hero-rgb), 0.08) !important;
    color: var(--vg-text-primary) !important;
}

body.vg-theme-shell .dropdown-divider {
    border-top-color: rgba(var(--vg-hero-rgb), 0.08) !important;
}

body.vg-theme-shell .navbar-badge,
body.vg-theme-shell .notif-badge {
    background: var(--vg-hero-bg) !important;
    color: #ffffff !important;
    border: 0 !important;
    box-shadow: 0 10px 20px rgba(var(--vg-accent-rgb), 0.25);
}

body.vg-theme-shell .brand-image,
body.vg-theme-shell .user-panel .image img {
    border: 2px solid rgba(255, 255, 255, 0.18) !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.12) !important;
}

body.vg-theme-shell .form-control-navbar,
body.vg-theme-shell .form-control-custom,
body.vg-theme-shell .custom-input,
body.vg-theme-shell .sidebar-search-input,
body.vg-theme-shell .input-group-text,
body.vg-theme-shell .select2-container--default .select2-selection--single,
body.vg-theme-shell .select2-container--default .select2-selection--multiple,
body.vg-theme-shell .dataTables_filter input {
    background: rgba(255, 255, 255, 0.92) !important;
    border: 1px solid rgba(var(--vg-hero-rgb), 0.14) !important;
    color: var(--vg-text-primary) !important;
    border-radius: 12px !important;
}

html[data-theme="dark"] body.vg-theme-shell .form-control-navbar,
html[data-theme="dark"] body.vg-theme-shell .form-control-custom,
html[data-theme="dark"] body.vg-theme-shell .custom-input,
html[data-theme="dark"] body.vg-theme-shell .sidebar-search-input,
html[data-theme="dark"] body.vg-theme-shell .input-group-text,
html[data-theme="dark"] body.vg-theme-shell .select2-container--default .select2-selection--single,
html[data-theme="dark"] body.vg-theme-shell .select2-container--default .select2-selection--multiple,
html[data-theme="dark"] body.vg-theme-shell .dataTables_filter input {
    background: rgba(22, 33, 62, 0.9) !important;
}

body.vg-theme-shell .page-header-card,
body.vg-theme-shell .header-card,
body.vg-theme-shell .table-card,
body.vg-theme-shell .content-container,
body.vg-theme-shell .generic-page-shell {
    background: var(--vg-card-bg) !important;
    color: var(--vg-text-primary) !important;
    border: 1px solid var(--vg-card-border) !important;
    box-shadow: var(--vg-shadow-md) !important;
}

body.vg-theme-shell .page-header-card {
    background: var(--vg-hero-bg) !important;
    color: #ffffff !important;
}

.vg-banner-panel {
    background: rgba(255, 255, 255, 0.16) !important;
    border: 1px solid rgba(255, 255, 255, 0.24) !important;
    backdrop-filter: blur(10px);
    color: #ffffff !important;
}

html[data-theme="dark"] .vg-banner-panel {
    background: rgba(255, 255, 255, 0.08) !important;
}

.vg-banner-badge {
    background: rgba(255, 255, 255, 0.94) !important;
    color: var(--vg-hero-bg) !important;
    border: 0 !important;
}

.vg-header-chip {
    background: rgba(255, 255, 255, 0.16) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
    border-radius: 999px;
}

.vg-dashboard-select {
    background: rgba(var(--vg-hero-rgb), 0.08) !important;
    border: 1px solid rgba(var(--vg-hero-rgb), 0.14) !important;
    color: var(--vg-text-primary) !important;
}

.vg-soft-panel {
    background: rgba(var(--vg-hero-rgb), 0.06) !important;
    border: 1px solid rgba(var(--vg-hero-rgb), 0.12) !important;
    color: var(--vg-text-primary) !important;
}

.vg-health-card {
    background: var(--vg-sidebar-bg) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.vg-health-card .bg-secondary,
.vg-health-card .bg-secondary.bg-opacity-25 {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
}

.vg-health-card .progress {
    background: rgba(255, 255, 255, 0.14) !important;
}

.vg-theme-surface {
    background: rgba(var(--vg-hero-rgb), 0.08) !important;
    color: var(--vg-text-primary) !important;
    border: 1px solid rgba(var(--vg-hero-rgb), 0.12) !important;
}

.vg-theme-icon {
    background: rgba(var(--vg-hero-rgb), 0.1) !important;
    color: var(--vg-hero-bg) !important;
}

body.vg-theme-shell .bg-primary,
body.vg-theme-shell .badge-primary,
body.vg-theme-shell .text-bg-primary,
body.vg-theme-shell .badge.text-bg-primary {
    background: var(--vg-hero-bg) !important;
    border-color: transparent !important;
    color: #ffffff !important;
}

body.vg-theme-shell .text-primary {
    color: var(--vg-hero-bg) !important;
}

body.vg-theme-shell .border-left-primary {
    border-left: 4px solid var(--vg-hero-bg) !important;
}

body.vg-theme-shell .alert-info {
    background: rgba(var(--vg-hero-rgb), 0.08) !important;
    border-color: rgba(var(--vg-hero-rgb), 0.16) !important;
    color: var(--vg-text-primary) !important;
}

body.vg-theme-shell .alert.alert-success {
    background: rgba(var(--vg-hero-rgb), 0.1) !important;
    border-color: rgba(var(--vg-hero-rgb), 0.2) !important;
    color: var(--vg-text-primary) !important;
}

body.vg-theme-shell .alert.alert-success a,
body.vg-theme-shell .alert.alert-success .alert-link,
body.vg-theme-shell .alert.alert-success i {
    color: var(--vg-hero-bg) !important;
}

body.vg-theme-shell #pending-payments-alert,
body.vg-theme-shell .pending-card {
    background: rgba(var(--vg-accent-rgb), 0.12) !important;
    border: 1px solid rgba(var(--vg-accent-rgb), 0.28) !important;
    border-left: 5px solid var(--vg-accent) !important;
    color: var(--vg-text-primary) !important;
    box-shadow: 0 10px 26px rgba(var(--vg-accent-rgb), 0.12) !important;
}

body.vg-theme-shell #pending-payments-alert .pending-header h5,
body.vg-theme-shell #pending-payments-alert .pending-header i,
body.vg-theme-shell .pending-card .pending-header h5,
body.vg-theme-shell .pending-card .pending-header i {
    color: var(--vg-accent) !important;
}

body.vg-theme-shell #pending-payments-alert .pending-header p,
body.vg-theme-shell .pending-card .pending-header p {
    color: var(--vg-text-secondary) !important;
}

body.vg-theme-shell #pending-payments-alert .pending-list::-webkit-scrollbar-track,
body.vg-theme-shell .pending-card .pending-list::-webkit-scrollbar-track {
    background: rgba(var(--vg-accent-rgb), 0.14) !important;
}

body.vg-theme-shell #pending-payments-alert .pending-list::-webkit-scrollbar-thumb,
body.vg-theme-shell .pending-card .pending-list::-webkit-scrollbar-thumb {
    background: var(--vg-accent) !important;
}

body.vg-theme-shell #pending-payments-alert .pending-list::-webkit-scrollbar-thumb:hover,
body.vg-theme-shell .pending-card .pending-list::-webkit-scrollbar-thumb:hover {
    background: var(--vg-hero-bg) !important;
}

body.vg-theme-shell #pending-payments-alert .pending-item,
body.vg-theme-shell .pending-card .pending-item {
    background: var(--vg-card-bg) !important;
    border: 1px solid rgba(var(--vg-accent-rgb), 0.14) !important;
}

.vg-theme-actions {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--vg-card-border);
}

.vg-theme-action-button {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    padding: 12px 14px;
    border: 1px solid rgba(var(--vg-accent-rgb), 0.18);
    border-radius: 14px;
    background: rgba(var(--vg-accent-rgb), 0.08);
    color: var(--vg-text-primary);
    text-align: left;
}

.vg-theme-action-button:hover {
    background: rgba(var(--vg-accent-rgb), 0.12);
}

.vg-theme-action-label {
    font-size: 0.88rem;
    font-weight: 700;
}

.vg-theme-action-note {
    font-size: 0.74rem;
    color: var(--vg-text-secondary);
}

.vg-theme-trigger-group {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.vg-chat-trigger {
    background: rgba(255, 255, 255, 0.96);
    color: var(--vg-text-primary);
    border: 1px solid var(--vg-card-border);
    box-shadow: var(--vg-shadow-md);
}

html[data-theme="dark"] .vg-chat-trigger {
    background: rgba(30, 45, 78, 0.96);
    color: var(--vg-text-primary);
}

.vg-chat-panel {
    width: 320px;
    max-height: 460px;
    margin-bottom: 12px;
    border-radius: 20px;
    border: 1px solid var(--vg-card-border);
    background: rgba(255, 255, 255, 0.97);
    box-shadow: var(--vg-shadow-lg);
    backdrop-filter: blur(16px);
    display: none;
    overflow: hidden;
}

html[data-theme="dark"] .vg-chat-panel {
    background: rgba(30, 45, 78, 0.97);
}

.vg-chat-panel.is-open {
    display: flex;
    flex-direction: column;
}

.vg-chat-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    background: var(--vg-hero-bg);
    color: #ffffff;
}

.vg-chat-title-wrap {
    min-width: 0;
}

.vg-chat-title {
    display: block;
    font-size: 0.92rem;
    font-weight: 700;
}

.vg-chat-subtitle {
    display: block;
    margin-top: 2px;
    font-size: 0.72rem;
    opacity: 0.86;
}

.vg-chat-close {
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
    font-size: 1.1rem;
    line-height: 1;
}

.vg-chat-messages {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px;
    min-height: 220px;
    max-height: 280px;
    overflow-y: auto;
    background: rgba(var(--vg-hero-rgb), 0.03);
}

.vg-chat-bubble {
    max-width: 86%;
    padding: 11px 13px;
    border-radius: 16px;
    font-size: 0.84rem;
    line-height: 1.45;
    box-shadow: 0 10px 18px rgba(15, 23, 42, 0.06);
}

.vg-chat-bubble.is-bot {
    align-self: flex-start;
    background: var(--vg-card-bg);
    border: 1px solid var(--vg-card-border);
    color: var(--vg-text-primary);
}

.vg-chat-bubble.is-user {
    align-self: flex-end;
    background: var(--vg-hero-bg);
    color: #ffffff;
}

.vg-chat-input-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    padding: 14px 16px 16px;
    border-top: 1px solid var(--vg-card-border);
}

.vg-chat-input {
    width: 100%;
    min-width: 0;
    padding: 11px 14px;
    border: 1px solid rgba(var(--vg-hero-rgb), 0.14);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.96);
    color: var(--vg-text-primary);
}

.vg-chat-input:focus {
    outline: none;
    border-color: rgba(var(--vg-accent-rgb), 0.72);
    box-shadow: 0 0 0 0.18rem rgba(var(--vg-accent-rgb), 0.16);
}

html[data-theme="dark"] .vg-chat-input {
    background: rgba(22, 33, 62, 0.9);
}

.vg-chat-send {
    padding: 11px 16px;
    border: 0;
    border-radius: 12px;
    background: var(--vg-hero-bg);
    color: #ffffff;
    font-weight: 700;
}

body.vg-theme-shell .main-sidebar,
body.vg-theme-shell .main-sidebar.bg-white {
    background: var(--vg-sidebar-bg) !important;
    color: var(--vg-sidebar-text) !important;
    box-shadow: 4px 0 28px rgba(15, 23, 42, 0.14) !important;
    border-radius: 0 24px 24px 0;
    border-right: 0 !important;
    overflow: hidden;
}

body.vg-theme-shell .main-sidebar::before {
    content: "";
    position: absolute;
    top: -70px;
    right: -62px;
    width: 230px;
    height: 230px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    pointer-events: none;
}

body.vg-theme-shell .main-sidebar::after {
    content: "";
    position: absolute;
    bottom: 72px;
    left: -112px;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.07);
    pointer-events: none;
}

body.vg-theme-shell .brand-link,
body.vg-theme-shell .main-sidebar .sidebar {
    position: relative;
    z-index: 1;
}

body.vg-theme-shell .brand-link .brand-text,
body.vg-theme-shell .brand-link .brand-image {
    position: relative;
    z-index: 1;
}

body.vg-theme-shell .nav-sidebar .nav-link {
    position: relative;
    overflow: hidden;
}

body.vg-theme-shell .nav-sidebar .nav-link.active::before,
body.vg-theme-shell .nav-sidebar .menu-open > .nav-link::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 4px;
    border-radius: 0 3px 3px 0;
    background: var(--vg-accent);
    box-shadow: 0 0 12px rgba(var(--vg-accent-rgb), 0.36);
}

body.vg-theme-shell .content-wrapper {
    background: var(--vg-main-bg) !important;
}

body.vg-theme-shell .btn-primary,
body.vg-theme-shell .btn-success,
body.vg-theme-shell .btn-info,
body.vg-theme-shell .btn-warning,
body.vg-theme-shell .btn-reset,
body.vg-theme-shell .btn-update,
body.vg-theme-shell .btn-submit,
body.vg-theme-shell .btn-login,
body.vg-theme-shell .btn-continue,
body.vg-theme-shell .btn-save,
body.vg-theme-shell .bg-primary,
body.vg-theme-shell .badge-primary,
body.vg-theme-shell .text-bg-primary,
body.vg-theme-shell .badge.text-bg-primary,
.vg-theme-trigger,
.vg-chat-send,
body.vg-auth-page .btn-primary,
body.vg-auth-page .btn-login,
body.vg-auth-page .btn-submit,
body.vg-auth-page .btn-reset,
body.vg-auth-page .btn-update,
body.vg-auth-page .btn-verify,
body.vg-auth-page .btn-continue,
body.vg-auth-page .btn-primary-custom {
    background: var(--vg-hero-bg) !important;
    border-color: transparent !important;
    color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(var(--vg-hero-rgb), 0.18) !important;
}

body.vg-theme-shell .ticket-nav-link.active,
body.vg-theme-shell .nav-pill.active,
body.vg-theme-shell .nav-pill:hover,
body.vg-theme-shell .rp-nav-pill.active,
body.vg-theme-shell .rp-nav-pill.highlight,
body.vg-theme-shell .rp-nav-pill:hover,
body.vg-theme-shell .btn-sm-ghost:hover,
body.vg-theme-shell .btn-panel:hover,
body.vg-theme-shell .btn-select-all:hover,
body.vg-theme-shell .btn-clear-all:hover,
body.vg-theme-shell .btn-otp-outline:hover,
body.vg-theme-shell .btn-rp-edit:hover {
    background: var(--vg-hero-bg) !important;
    border-color: transparent !important;
    color: #ffffff !important;
}

body.vg-theme-shell .navbar-badge,
body.vg-theme-shell .notif-badge {
    background: var(--vg-accent) !important;
    color: #ffffff !important;
    border: 0 !important;
    box-shadow: 0 10px 20px rgba(var(--vg-accent-rgb), 0.24);
}

body.vg-theme-shell .ame-hero,
body.vg-theme-shell .am-hero,
body.vg-theme-shell .rp-hero,
body.vg-theme-shell .mc-header,
body.vg-theme-shell .tr-header,
body.vg-theme-shell .acm-header,
body.vg-theme-shell .wrl-header,
body.vg-theme-shell .dashboard-header,
body.vg-theme-shell .page-header,
body.vg-theme-shell .hero-banner,
body.vg-theme-shell .status-header,
body.vg-theme-shell .header-section,
body.vg-theme-shell .header-card,
body.vg-theme-shell .forgot-header,
body.vg-theme-shell .top,
body.vg-theme-shell .page-header-card,
body.vg-theme-shell .page-header,
body.vg-theme-shell .pg-header,
body.vg-theme-shell .wrl-header,
body.vg-theme-shell .recon-header,
body.vg-theme-shell .acm-header,
body.vg-theme-shell .tr-header,
body.vg-theme-shell .mc-header,
body.vg-theme-shell .pi-header,
body.vg-theme-shell .prc-header,
body.vg-theme-shell .pc-header,
body.vg-theme-shell .sc-header,
body.vg-theme-shell .import-header,
body.vg-theme-shell .rsvp-header,
body.vg-theme-shell .pay-header,
body.vg-theme-shell .pay-side-header,
body.vg-theme-shell .jm-header,
body.vg-theme-shell .jm-summary-header,
body.vg-theme-shell .tp-header,
body.vg-theme-shell .poll-page-header,
body.vg-theme-shell .od-page-header,
body.vg-theme-shell .inv-header,
body.vg-theme-shell .kot-header,
body.vg-theme-shell .renew-hero,
body.vg-theme-shell .pl-hero,
body.vg-theme-shell .mp-header,
body.vg-theme-shell .sys-header-card,
body.vg-theme-shell .cat-header {
    background: var(--vg-hero-bg) !important;
    color: #ffffff !important;
    border: 1px solid rgba(var(--vg-hero-rgb), 0.22) !important;
    box-shadow: var(--vg-shadow-md) !important;
}

body.vg-theme-shell .section-header,
body.vg-theme-shell .module-section-header,
body.vg-theme-shell .table-card-header,
body.vg-theme-shell .add-card-header,
body.vg-theme-shell .present-panel-header,
body.vg-theme-shell .combo-header-strip,
body.vg-theme-shell .rp-card-header,
body.vg-theme-shell .perm-card-header,
body.vg-theme-shell .am-card-header,
body.vg-theme-shell .ap-card-header,
body.vg-theme-shell .pop-card-header,
body.vg-theme-shell .stu-card-header,
body.vg-theme-shell .step-card-header,
body.vg-theme-shell .inv-card-header,
body.vg-theme-shell .pay-card-header,
body.vg-theme-shell .jm-card-header,
body.vg-theme-shell .mess-card-header,
body.vg-theme-shell .reply-header,
body.vg-theme-shell .notif-header,
body.vg-theme-shell .profile-header {
    background: rgba(var(--vg-hero-rgb), 0.06) !important;
    color: var(--vg-text-primary) !important;
    border: 1px solid rgba(var(--vg-hero-rgb), 0.12) !important;
    box-shadow: none !important;
}

body.vg-theme-shell .card-header.bg-white,
body.vg-theme-shell .add-card .card-header,
body.vg-theme-shell .page-header-card h1,
body.vg-theme-shell .page-header-card h2,
body.vg-theme-shell .page-header-card h3,
body.vg-theme-shell .page-header-card h4,
body.vg-theme-shell .header-card h1,
body.vg-theme-shell .header-card h2,
body.vg-theme-shell .header-card h3,
body.vg-theme-shell .header-card h4,
body.vg-theme-shell .header-card h5,
body.vg-theme-shell .header-card h6,
body.vg-theme-shell .renew-hero h1,
body.vg-theme-shell .renew-hero h2,
body.vg-theme-shell .renew-hero h3,
body.vg-theme-shell .pl-hero-title,
body.vg-theme-shell .mp-header h1,
body.vg-theme-shell .sys-header-card h4,
body.vg-theme-shell .cat-header h1,
body.vg-theme-shell .cat-header h2,
body.vg-theme-shell .cat-header h3,
body.vg-theme-shell .cat-header h4,
body.vg-theme-shell .header-banner h1,
body.vg-theme-shell .header-banner h2,
body.vg-theme-shell .header-banner h3,
body.vg-theme-shell .header-banner h4,
body.vg-theme-shell .page-header h1,
body.vg-theme-shell .page-header h2,
body.vg-theme-shell .page-header h3,
body.vg-theme-shell .page-header h4,
body.vg-theme-shell .pg-header h1,
body.vg-theme-shell .pg-header h2,
body.vg-theme-shell .pg-header h3,
body.vg-theme-shell .pg-header h4,
body.vg-theme-shell .wrl-header h1,
body.vg-theme-shell .wrl-header h2,
body.vg-theme-shell .wrl-header h3,
body.vg-theme-shell .wrl-header h4,
body.vg-theme-shell .recon-header h1,
body.vg-theme-shell .recon-header h2,
body.vg-theme-shell .recon-header h3,
body.vg-theme-shell .recon-header h4,
body.vg-theme-shell .acm-header h1,
body.vg-theme-shell .acm-header h2,
body.vg-theme-shell .acm-header h3,
body.vg-theme-shell .acm-header h4,
body.vg-theme-shell .tr-header h1,
body.vg-theme-shell .tr-header h2,
body.vg-theme-shell .tr-header h3,
body.vg-theme-shell .tr-header h4,
body.vg-theme-shell .mc-header h1,
body.vg-theme-shell .mc-header h2,
body.vg-theme-shell .mc-header h3,
body.vg-theme-shell .mc-header h4,
body.vg-theme-shell .pi-header h1,
body.vg-theme-shell .pi-header h2,
body.vg-theme-shell .pi-header h3,
body.vg-theme-shell .pi-header h4,
body.vg-theme-shell .prc-header h1,
body.vg-theme-shell .prc-header h2,
body.vg-theme-shell .prc-header h3,
body.vg-theme-shell .prc-header h4,
body.vg-theme-shell .pc-header h1,
body.vg-theme-shell .pc-header h2,
body.vg-theme-shell .pc-header h3,
body.vg-theme-shell .pc-header h4,
body.vg-theme-shell .sc-header h1,
body.vg-theme-shell .sc-header h2,
body.vg-theme-shell .sc-header h3,
body.vg-theme-shell .sc-header h4,
body.vg-theme-shell .import-header h1,
body.vg-theme-shell .import-header h2,
body.vg-theme-shell .import-header h3,
body.vg-theme-shell .import-header h4,
body.vg-theme-shell .rsvp-header h1,
body.vg-theme-shell .rsvp-header h2,
body.vg-theme-shell .rsvp-header h3,
body.vg-theme-shell .rsvp-header h4,
body.vg-theme-shell .pay-header h1,
body.vg-theme-shell .pay-header h2,
body.vg-theme-shell .pay-header h3,
body.vg-theme-shell .pay-header h4,
body.vg-theme-shell .pay-side-header h1,
body.vg-theme-shell .pay-side-header h2,
body.vg-theme-shell .pay-side-header h3,
body.vg-theme-shell .pay-side-header h4,
body.vg-theme-shell .jm-header h1,
body.vg-theme-shell .jm-header h2,
body.vg-theme-shell .jm-header h3,
body.vg-theme-shell .jm-header h4,
body.vg-theme-shell .jm-summary-header h1,
body.vg-theme-shell .jm-summary-header h2,
body.vg-theme-shell .jm-summary-header h3,
body.vg-theme-shell .jm-summary-header h4,
body.vg-theme-shell .tp-header h1,
body.vg-theme-shell .tp-header h2,
body.vg-theme-shell .tp-header h3,
body.vg-theme-shell .tp-header h4,
body.vg-theme-shell .poll-page-header h1,
body.vg-theme-shell .poll-page-header h2,
body.vg-theme-shell .poll-page-header h3,
body.vg-theme-shell .poll-page-header h4,
body.vg-theme-shell .od-page-header h1,
body.vg-theme-shell .od-page-header h2,
body.vg-theme-shell .od-page-header h3,
body.vg-theme-shell .od-page-header h4,
body.vg-theme-shell .inv-header h1,
body.vg-theme-shell .inv-header h2,
body.vg-theme-shell .inv-header h3,
body.vg-theme-shell .inv-header h4,
body.vg-theme-shell .kot-header h1,
body.vg-theme-shell .kot-header h2,
body.vg-theme-shell .kot-header h3,
body.vg-theme-shell .kot-header h4,
body.vg-theme-shell .pg-header-title,
body.vg-theme-shell .header-title,
body.vg-theme-shell .tr-header-title,
body.vg-theme-shell .mc-header-title,
body.vg-theme-shell .pi-header-title {
    color: #ffffff !important;
}

body.vg-theme-shell .section-header h1,
body.vg-theme-shell .section-header h2,
body.vg-theme-shell .section-header h3,
body.vg-theme-shell .section-header h4,
body.vg-theme-shell .section-header h5,
body.vg-theme-shell .section-header h6,
body.vg-theme-shell .module-section-header h1,
body.vg-theme-shell .module-section-header h2,
body.vg-theme-shell .module-section-header h3,
body.vg-theme-shell .module-section-header h4,
body.vg-theme-shell .module-section-header h5,
body.vg-theme-shell .module-section-header h6,
body.vg-theme-shell .table-card-header h1,
body.vg-theme-shell .table-card-header h2,
body.vg-theme-shell .table-card-header h3,
body.vg-theme-shell .table-card-header h4,
body.vg-theme-shell .table-card-header h5,
body.vg-theme-shell .table-card-header h6,
body.vg-theme-shell .add-card-header h1,
body.vg-theme-shell .add-card-header h2,
body.vg-theme-shell .add-card-header h3,
body.vg-theme-shell .add-card-header h4,
body.vg-theme-shell .add-card-header h5,
body.vg-theme-shell .add-card-header h6,
body.vg-theme-shell .present-panel-header h1,
body.vg-theme-shell .present-panel-header h2,
body.vg-theme-shell .present-panel-header h3,
body.vg-theme-shell .present-panel-header h4,
body.vg-theme-shell .present-panel-header h5,
body.vg-theme-shell .present-panel-header h6,
body.vg-theme-shell .combo-header-strip h1,
body.vg-theme-shell .combo-header-strip h2,
body.vg-theme-shell .combo-header-strip h3,
body.vg-theme-shell .combo-header-strip h4,
body.vg-theme-shell .combo-header-strip h5,
body.vg-theme-shell .combo-header-strip h6 {
    color: var(--vg-text-primary) !important;
}

body.vg-theme-shell .page-header-card p,
body.vg-theme-shell .header-card p,
body.vg-theme-shell .header-card small,
body.vg-theme-shell .header-card .text-muted,
body.vg-theme-shell .renew-hero p,
body.vg-theme-shell .pl-hero-sub,
body.vg-theme-shell .mp-header p,
body.vg-theme-shell .sys-header-meta,
body.vg-theme-shell .cat-header p,
body.vg-theme-shell .header-banner p,
body.vg-theme-shell .page-header p,
body.vg-theme-shell .pg-header p,
body.vg-theme-shell .wrl-header p,
body.vg-theme-shell .recon-header p,
body.vg-theme-shell .acm-header p,
body.vg-theme-shell .tr-header p,
body.vg-theme-shell .mc-header p,
body.vg-theme-shell .pi-header p,
body.vg-theme-shell .prc-header p,
body.vg-theme-shell .pc-header p,
body.vg-theme-shell .sc-header p,
body.vg-theme-shell .import-header p,
body.vg-theme-shell .rsvp-header p,
body.vg-theme-shell .pay-header p,
body.vg-theme-shell .pay-side-header p,
body.vg-theme-shell .jm-header p,
body.vg-theme-shell .jm-summary-header p,
body.vg-theme-shell .tp-header p,
body.vg-theme-shell .poll-page-header p,
body.vg-theme-shell .od-page-header p,
body.vg-theme-shell .inv-header p,
body.vg-theme-shell .kot-header p,
body.vg-theme-shell .pg-header-sub,
body.vg-theme-shell .tr-header-sub,
body.vg-theme-shell .mc-header-sub,
body.vg-theme-shell .rsvp-header-meta {
    color: rgba(255, 255, 255, 0.76) !important;
}

body.vg-theme-shell .header-card .btn-light,
body.vg-theme-shell .header-card .btn-outline-light,
body.vg-theme-shell .header-card .text-white,
body.vg-theme-shell .header-card .text-white-50 {
    color: #ffffff !important;
}

body.vg-theme-shell .section-header p,
body.vg-theme-shell .section-header small,
body.vg-theme-shell .section-header .text-muted,
body.vg-theme-shell .module-section-header p,
body.vg-theme-shell .module-section-header small,
body.vg-theme-shell .module-section-header .text-muted,
body.vg-theme-shell .table-card-header p,
body.vg-theme-shell .table-card-header small,
body.vg-theme-shell .table-card-header .text-muted,
body.vg-theme-shell .add-card-header p,
body.vg-theme-shell .add-card-header small,
body.vg-theme-shell .add-card-header .text-muted,
body.vg-theme-shell .present-panel-header p,
body.vg-theme-shell .present-panel-header small,
body.vg-theme-shell .present-panel-header .text-muted,
body.vg-theme-shell .combo-header-strip p,
body.vg-theme-shell .combo-header-strip small,
body.vg-theme-shell .combo-header-strip .text-muted {
    color: var(--vg-text-secondary) !important;
}

body.vg-theme-shell .add-card-header-icon,
body.vg-theme-shell .module-section-header .dot,
body.vg-theme-shell .present-panel-header .notif-icon {
    background: var(--vg-hero-bg) !important;
    color: #ffffff !important;
}

body.vg-theme-shell #pageLoader {
    background: rgba(255, 255, 255, 0.72) !important;
    backdrop-filter: blur(4px);
}

html[data-theme="dark"] body.vg-theme-shell #pageLoader {
    background: rgba(15, 23, 42, 0.7) !important;
}

body.vg-theme-shell .loader-spinner,
body.vg-theme-shell .spinner-border,
body.vg-theme-shell .spinner-grow {
    border-color: rgba(var(--vg-hero-rgb), 0.14) !important;
    border-top-color: var(--vg-hero-bg) !important;
    color: var(--vg-hero-bg) !important;
}

body.vg-theme-shell .loader-text {
    color: var(--vg-hero-bg) !important;
}

body.vg-theme-shell .swal2-loader {
    border-color: rgba(var(--vg-hero-rgb), 0.16) !important;
    border-top-color: var(--vg-hero-bg) !important;
    border-right-color: var(--vg-hero-bg) !important;
}

body.vg-theme-shell #rc-overlay .rc-card {
    background: var(--vg-card-bg) !important;
    color: var(--vg-text-primary) !important;
    border: 1px solid var(--vg-card-border) !important;
}

body.vg-theme-shell #rc-overlay .rc-icon,
body.vg-theme-shell #rc-overlay .rc-new,
body.vg-theme-shell #rc-overlay #rc-bar-fill {
    background: var(--vg-accent) !important;
    color: #ffffff !important;
}

body.vg-theme-shell #rc-overlay .rc-old {
    background: rgba(var(--vg-hero-rgb), 0.12) !important;
    color: var(--vg-hero-bg) !important;
}

body.vg-theme-shell #rc-overlay .rc-title,
body.vg-theme-shell #rc-overlay .rc-count-row,
body.vg-theme-shell #rc-overlay .rc-meta {
    color: var(--vg-text-primary) !important;
}

body.vg-theme-shell #rc-overlay .rc-subtitle,
body.vg-theme-shell #rc-overlay .rc-note,
body.vg-theme-shell #rc-overlay .rc-arrow {
    color: var(--vg-text-secondary) !important;
}

body.vg-theme-shell #rc-overlay .rc-role-row,
body.vg-theme-shell #rc-overlay .rc-bar,
body.vg-theme-shell #rc-overlay .rc-timeline {
    background: rgba(var(--vg-hero-rgb), 0.05) !important;
    border-color: rgba(var(--vg-hero-rgb), 0.12) !important;
}

body.vg-theme-shell .section-title,
body.vg-theme-shell .card-title,
body.vg-theme-shell .header-title,
body.vg-theme-shell .page-subtitle,
body.vg-theme-shell .section-heading,
body.vg-theme-shell .subheading,
body.vg-theme-shell .title-label,
body.vg-theme-shell .pg-header-title,
body.vg-theme-shell .tr-header-title,
body.vg-theme-shell .mc-header-title,
body.vg-theme-shell .pi-header-title,
/*body.vg-theme-shell .notif-header-title {
    color: var(--vg-text-primary) !important;*/
}

body.vg-theme-shell .section-sub,
body.vg-theme-shell .card-subtitle,
body.vg-theme-shell .subtitle,
body.vg-theme-shell .sub-title,
body.vg-theme-shell .subheading-note,
body.vg-theme-shell .section-note,
body.vg-theme-shell .meta-text,
body.vg-theme-shell .pg-header-sub,
body.vg-theme-shell .tr-header-sub,
body.vg-theme-shell .mc-header-sub,
body.vg-theme-shell .sys-header-meta {
    color: var(--vg-text-secondary) !important;
}

body.vg-theme-shell .stat-lbl,
body.vg-theme-shell .op-sub,
body.vg-theme-shell .empty-state,
body.vg-theme-shell .empty-state p,
body.vg-theme-shell .small.text-muted,
body.vg-theme-shell small.text-muted,
body.vg-theme-shell .text-muted.small {
    color: var(--vg-text-secondary) !important;
}

body.vg-auth-page .outer-card,
body.vg-auth-page .header-section,
body.vg-auth-page .forgot-header,
body.vg-auth-page .otp-header,
body.vg-auth-page .password-card .card-header,
body.vg-auth-page .change-password-card .card-header,
body.vg-auth-page .status-header,
body.vg-auth-page .top,
body.vg-auth-page .otp-icon,
.vg-chat-header {
    background: var(--vg-hero-bg) !important;
}

@media (max-width: 767.98px) {
    .vg-theme-switcher {
        right: 16px;
        bottom: 16px;
    }

    .vg-theme-panel {
        width: min(260px, calc(100vw - 32px));
    }

    .vg-chat-panel {
        width: min(320px, calc(100vw - 32px));
    }

    .vg-theme-trigger-group {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    body.vg-theme-shell .main-sidebar {
        border-radius: 0;
    }
}

/* Student compact sizing: dashboard + subscription details */
body.vg-theme-shell.student-layout .container-fluid.py-2.px-2 {
    font-size: 0.93rem;
}

body.vg-theme-shell.student-layout .hero-name {
    font-size: 1.82rem !important;
}

body.vg-theme-shell.student-layout .hero-sub {
    font-size: 0.86rem !important;
}

body.vg-theme-shell.student-layout .stat-val {
    font-size: 1.2rem !important;
}

body.vg-theme-shell.student-layout .section-title {
    font-size: 0.96rem !important;
}

body.vg-theme-shell.student-layout .op-label,
body.vg-theme-shell.student-layout .meal-lbl,
body.vg-theme-shell.student-layout .wallet-strip,
body.vg-theme-shell.student-layout .order-row {
    font-size: 0.8rem !important;
}

body.vg-theme-shell.student-layout .dashboard-container {
    width: min(82%, 1100px) !important;
    margin: 8px auto 24px !important;
}

body.vg-theme-shell.student-layout .hub-card {
    border-radius: 20px !important;
}

body.vg-theme-shell.student-layout .hub-banner {
    padding: 20px 22px !important;
}

body.vg-theme-shell.student-layout .hub-banner::after {
    right: -12px !important;
    bottom: -14px !important;
    font-size: 96px !important;
}

body.vg-theme-shell.student-layout .hub-banner .display-5 {
    font-size: 1.68rem !important;
}

body.vg-theme-shell.student-layout .hub-banner .h2 {
    font-size: 1.22rem !important;
}

body.vg-theme-shell.student-layout .status-chip {
    font-size: 11px !important;
}

body.vg-theme-shell.student-layout .stat-pill {
    border-radius: 16px !important;
    padding: 14px !important;
}

body.vg-theme-shell.student-layout .stat-icon {
    width: 40px !important;
    height: 40px !important;
    font-size: 16px !important;
}

body.vg-theme-shell.student-layout .consumption-box {
    border-radius: 18px !important;
    padding: 22px !important;
}

body.vg-theme-shell.student-layout .action-btn {
    padding: 11px 20px !important;
    font-size: 0.88rem !important;
}

body.vg-theme-shell.student-layout .dashboard-container .p-md-5 {
    padding: 1.65rem !important;
}

body.vg-theme-shell.student-layout .dashboard-container .mb-5 {
    margin-bottom: 1.6rem !important;
}

body.vg-theme-shell.student-layout .paid-square-btn,
body.vg-theme-shell.student-layout .paid-square-btn.btn:disabled {
    border-radius: 10px !important;
    min-height: 44px;
    padding: 10px 16px !important;
    justify-content: center;
    background: rgba(16, 185, 129, 0.14) !important;
    border: 1px solid rgba(16, 185, 129, 0.4) !important;
    color: #047857 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    cursor: default !important;
}

body.vg-theme-shell.student-layout .action-btn.btn-primary-custom.w-100.disabled,
body.vg-theme-shell.student-layout button.action-btn.btn-primary-custom.w-100:disabled {
    border-radius: 10px !important;
    min-height: 44px;
    padding: 10px 16px !important;
    justify-content: center;
    background: rgba(16, 185, 129, 0.14) !important;
    border: 1px solid rgba(16, 185, 129, 0.4) !important;
    color: #047857 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    cursor: default !important;
}

/* Global student view font-size reduction */
body.vg-theme-shell.student-layout .content-wrapper {
    font-size: 0.93rem;
}

body.vg-theme-shell.student-layout .content-wrapper h1,
body.vg-theme-shell.student-layout .content-wrapper .h1 {
    font-size: 1.75rem;
}

body.vg-theme-shell.student-layout .content-wrapper h2,
body.vg-theme-shell.student-layout .content-wrapper .h2 {
    font-size: 1.5rem;
}

body.vg-theme-shell.student-layout .content-wrapper h3,
body.vg-theme-shell.student-layout .content-wrapper .h3 {
    font-size: 1.3rem;
}

body.vg-theme-shell.student-layout .content-wrapper h4,
body.vg-theme-shell.student-layout .content-wrapper .h4 {
    font-size: 1.15rem;
}

body.vg-theme-shell.student-layout .content-wrapper h5,
body.vg-theme-shell.student-layout .content-wrapper .h5 {
    font-size: 1.02rem;
}

body.vg-theme-shell.student-layout .content-wrapper h6,
body.vg-theme-shell.student-layout .content-wrapper .h6 {
    font-size: 0.92rem;
}

body.vg-theme-shell.student-layout .content-wrapper .display-1 {
    font-size: 3.8rem !important;
}

body.vg-theme-shell.student-layout .content-wrapper .display-2 {
    font-size: 3.2rem !important;
}

body.vg-theme-shell.student-layout .content-wrapper .display-3 {
    font-size: 2.7rem !important;
}

body.vg-theme-shell.student-layout .content-wrapper .display-4 {
    font-size: 2.25rem !important;
}

body.vg-theme-shell.student-layout .content-wrapper .display-5 {
    font-size: 1.9rem !important;
}

body.vg-theme-shell.student-layout .content-wrapper .display-6 {
    font-size: 1.62rem !important;
}

body.vg-theme-shell.student-layout .content-wrapper p,
body.vg-theme-shell.student-layout .content-wrapper li,
body.vg-theme-shell.student-layout .content-wrapper label,
body.vg-theme-shell.student-layout .content-wrapper td,
body.vg-theme-shell.student-layout .content-wrapper th,
body.vg-theme-shell.student-layout .content-wrapper .form-control,
body.vg-theme-shell.student-layout .content-wrapper .form-select,
body.vg-theme-shell.student-layout .content-wrapper .btn,
body.vg-theme-shell.student-layout .content-wrapper .badge,
body.vg-theme-shell.student-layout .content-wrapper .nav-link {
    font-size: 0.9rem;
}

body.vg-theme-shell.student-layout .content-wrapper small,
body.vg-theme-shell.student-layout .content-wrapper .small {
    font-size: 0.78rem;
}

/* Student tables: improve header readability/contrast across all table variants */
body.vg-theme-shell.student-layout .content-wrapper .table thead th,
body.vg-theme-shell.student-layout .content-wrapper .sys-table thead th,
body.vg-theme-shell.student-layout .content-wrapper .inv-table thead th,
body.vg-theme-shell.student-layout .content-wrapper .txn-table thead th,
body.vg-theme-shell.student-layout .content-wrapper .wrl-table thead th,
body.vg-theme-shell.student-layout .content-wrapper .rp-table thead th {
    background: linear-gradient(180deg, rgba(var(--vg-hero-rgb), 0.14) 0%, rgba(var(--vg-hero-rgb), 0.08) 100%) !important;
    color: var(--vg-text-primary) !important;
    font-size: 0.76rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(var(--vg-hero-rgb), 0.22) !important;
    padding-top: 0.68rem !important;
    padding-bottom: 0.68rem !important;
    vertical-align: middle !important;
}

html[data-theme="dark"] body.vg-theme-shell.student-layout .content-wrapper .table thead th,
html[data-theme="dark"] body.vg-theme-shell.student-layout .content-wrapper .sys-table thead th,
html[data-theme="dark"] body.vg-theme-shell.student-layout .content-wrapper .inv-table thead th,
html[data-theme="dark"] body.vg-theme-shell.student-layout .content-wrapper .txn-table thead th,
html[data-theme="dark"] body.vg-theme-shell.student-layout .content-wrapper .wrl-table thead th,
html[data-theme="dark"] body.vg-theme-shell.student-layout .content-wrapper .rp-table thead th {
    background: linear-gradient(180deg, rgba(var(--vg-accent-rgb), 0.26) 0%, rgba(var(--vg-accent-rgb), 0.18) 100%) !important;
    color: #f8fafc !important;
    border-bottom-color: rgba(var(--vg-accent-rgb), 0.42) !important;
}

/* Student MyOrders: inline styles moved to global + compact numeric sizing */
body.vg-theme-shell.student-layout .my-orders-page .th-actions {
    text-align: right;
}

body.vg-theme-shell.student-layout .my-orders-page .alert-icon {
    font-size: 15px;
    margin-top: 1px;
    flex-shrink: 0;
}

body.vg-theme-shell.student-layout .my-orders-page .alert-icon-pending {
    color: #f59e0b;
}

body.vg-theme-shell.student-layout .my-orders-page .alert-icon-rejected {
    color: #ef4444;
}

body.vg-theme-shell.student-layout .my-orders-page .otp-box-token {
    background: #f0f9ff;
    gap: 0.35rem;
}

body.vg-theme-shell.student-layout .my-orders-page .token-store-icon {
    font-size: 11px;
    color: #0284c7;
}

body.vg-theme-shell.student-layout .my-orders-page .otp-label-token {
    color: #0284c7;
}

body.vg-theme-shell.student-layout .my-orders-page .token-separator {
    font-size: 11px;
    color: #6b7280;
}

body.vg-theme-shell.student-layout .my-orders-page .otp-code-token {
    color: #0369a1;
    font-size: 14px;
}

body.vg-theme-shell.student-layout .my-orders-page .order-id-num,
body.vg-theme-shell.student-layout .my-orders-page .cell-base,
body.vg-theme-shell.student-layout .my-orders-page .cell-total {
    font-size: 12px !important;
}

body.vg-theme-shell.student-layout .my-orders-page .cell-gst,
body.vg-theme-shell.student-layout .my-orders-page .cell-date,
body.vg-theme-shell.student-layout .my-orders-page .status-pill,
body.vg-theme-shell.student-layout .my-orders-page .item-tag {
    font-size: 11px !important;
}

body.vg-theme-shell.student-layout .my-orders-page .otp-code {
    font-size: 13px !important;
    letter-spacing: 0.12em;
}

/* Student mobile safety: keep data accessible and action buttons visible */
@media (max-width: 991.98px) {
    body.vg-theme-shell.student-layout .content-wrapper .table-responsive,
    body.vg-theme-shell.student-layout .content-wrapper .sys-table-wrap,
    body.vg-theme-shell.student-layout .content-wrapper .inv-table-wrap,
    body.vg-theme-shell.student-layout .content-wrapper .txn-table-wrap,
    body.vg-theme-shell.student-layout .content-wrapper .wrl-table-wrap,
    body.vg-theme-shell.student-layout .content-wrapper .rp-table-wrap {
        overflow-x: auto !important;
        overflow-y: visible !important;
        -webkit-overflow-scrolling: touch;
    }

    body.vg-theme-shell.student-layout .content-wrapper button[class*="d-"],
    body.vg-theme-shell.student-layout .content-wrapper input[type="button"][class*="d-"],
    body.vg-theme-shell.student-layout .content-wrapper input[type="submit"][class*="d-"],
    body.vg-theme-shell.student-layout .content-wrapper a.btn[class*="d-"],
    body.vg-theme-shell.student-layout .content-wrapper a[class*="btn"][class*="d-"] {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    body.vg-theme-shell.student-layout .content-wrapper :is(button, a.btn, a[class*="btn"]) :is(.d-none, .d-sm-none, .d-md-none, .d-lg-none, .d-sm-inline, .d-md-inline, .d-lg-inline, .d-sm-inline-block, .d-md-inline-block, .d-lg-inline-block, .d-sm-block, .d-md-block, .d-lg-block) {
        display: inline !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    body.vg-theme-shell.student-layout .content-wrapper .btn,
    body.vg-theme-shell.student-layout .content-wrapper [class*="btn"] {
        white-space: normal;
        word-break: break-word;
    }
}



/*git*/