:root {
    --color-white: #FFFFFF;
    --color-blue: #003F7D;
}

body, .wrapper, .main-panel, .content { background: #F8FAFC !important; color: #000000 !important; font-family: 'Inter', sans-serif !important; }
h1, h2, h3, h4, h5, h6, .page-title, .card-title { color: #000000 !important; font-weight: 700 !important; }
p, span, div { color: inherit; }
.text-muted, .card-category, .small, small { color: #000000 !important; opacity: 0.75 !important; }
a { color: var(--color-blue) !important; }
a:hover { color: #002E58 !important; }

/* Navbar & Sidebar */
.main-header, .navbar-header, .logo-header, .sidebar, .sidebar .nav-collapse { background: var(--color-white) !important; border-color: rgba(0, 63, 125, 0.15) !important; }
.logo-header { border-right: none !important; border-bottom: 1px solid rgba(0, 63, 125, 0.15) !important; }
.sidebar { border-right: 1px solid rgba(0, 63, 125, 0.15) !important; }
.navbar-header { border-bottom: 1px solid rgba(0, 63, 125, 0.15) !important; }
.sidebar .nav-item a, .sidebar .user .info a { color: var(--color-blue) !important; }
.sidebar .nav-item a i, .logo-header .logo { color: var(--color-blue) !important; }
.sidebar .nav-item.active > a { background: rgba(0, 63, 125, 0.1) !important; color: var(--color-blue) !important; }
.sidebar .nav-item.active > a i { color: var(--color-blue) !important; }
.sidebar .nav-item a:hover { background: rgba(0, 63, 125, 0.04) !important; }

/* Sidebar Spacing Fix */
.sidebar .sidebar-wrapper { padding-top: 10px !important; }
.sidebar .nav { margin-top: 0 !important; padding-top: 0 !important; }
.sidebar .nav > .nav-item { margin-bottom: 4px !important; padding: 0 !important; }
.sidebar .nav .nav-item > a { margin-bottom: 0 !important; height: 44px !important; max-height: 44px !important; white-space: nowrap !important; }
.sidebar .nav .nav-item > a > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar .nav .collapse:not(.show) { display: none !important; margin: 0 !important; height: 0 !important; padding: 0 !important; overflow: hidden !important; }
.sidebar .nav .collapse,
.sidebar .nav .collapsing { margin-bottom: 4px !important; margin-top: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
.sidebar .nav .collapse .nav-item,
.sidebar .nav .collapsing .nav-item { margin-bottom: 2px !important; padding: 0 !important; }
.sidebar .nav .collapse .nav-item a,
.sidebar .nav .collapsing .nav-item a { margin-bottom: 0 !important; min-height: 36px !important; }

/* Navbar Profile Fix */
.navbar-header .dropdown-toggle { line-height: normal !important; }
.nexora-profile-name { white-space: nowrap !important; display: inline-block !important; }
.profile-pic { flex-wrap: nowrap !important; white-space: nowrap !important; }

/* Sidebar Toggle Fix */
.logo-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* --- Shared toggle button styling --- */
.logo-header .navbar-toggler {
    background: rgba(0, 63, 125, 0.04) !important;
    border: none !important;
    border-radius: 8px !important;
    width: 38px !important;
    height: 38px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    opacity: 1 !important;
}
.logo-header .navbar-toggler i {
    color: var(--color-blue) !important;
    font-size: 20px !important;
}
.logo-header .navbar-toggler:hover {
    background: rgba(0, 63, 125, 0.1) !important;
}

/* --- DESKTOP (>=992px) --- */
@media (min-width: 992px) {
    .logo-header .topbar-toggler {
        display: none !important;
    }
    
    /* Sidebar collapsed state */
    html.sidebar-collapsed .logo-header {
        width: 70px !important;
        min-width: 70px !important;
        max-width: 70px !important;
        justify-content: center !important;
        padding: 0 !important;
    }
    html.sidebar-collapsed .logo-header .logo {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        padding: 0 !important;
    }
    html.sidebar-collapsed .logo-header .brand-name {
        display: none !important;
    }
    html.sidebar-collapsed .sidebar {
        width: 70px !important;
        min-width: 70px !important;
        max-width: 70px !important;
    }
    html.sidebar-collapsed .navbar-header {
        left: 70px !important;
        margin-left: 0 !important;
        width: calc(100% - 70px) !important;
    }
    html.sidebar-collapsed .main-panel {
        margin-left: 70px !important;
        width: calc(100% - 70px) !important;
    }
}

/* --- MOBILE (<992px) --- */
@media (max-width: 991px) {
    /* Style the topbar toggler (the 3 dots) on mobile */
    .logo-header .topbar-toggler {
        opacity: 1 !important;
        color: var(--color-blue) !important;
        background: transparent !important;
        border: none !important;
        font-size: 20px !important;
        padding: 5px !important;
        margin-left: 10px !important;
    }
}

/* Cards */
.card {
    background: var(--color-white) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03), 0 1px 8px rgba(0, 0, 0, 0.01) !important;
    overflow: hidden !important;
}
.card-header, .card-footer, .card-action {
    background: var(--color-white) !important;
    border-color: rgba(0, 0, 0, 0.06) !important;
}

/* Tables */
.table, .table-bordered, .dataTable { background: var(--color-white) !important; border-color: rgba(0, 63, 125, 0.15) !important; color: var(--color-blue) !important; }
.table th, .table td, .table thead th, .table tbody td, .table-bordered th, .table-bordered td { border-color: rgba(0, 63, 125, 0.15) !important; }
.table thead, .table thead th { background: rgba(0, 63, 125, 0.04) !important; color: var(--color-blue) !important; font-weight: 700 !important; }
.table tbody tr:hover { background: rgba(0, 63, 125, 0.04) !important; }
.table-striped tbody tr:nth-of-type(odd) { background-color: transparent !important; } /* No zebra gray */

/* Buttons */
.btn-primary, .btn-info, .nexora-btn-primary { background: #0058A6 !important; border-color: #0058A6 !important; color: #FFFFFF !important; }
.btn-primary:hover, .btn-info:hover, .nexora-btn-primary:hover { background: #003F7D !important; border-color: #003F7D !important; color: #FFFFFF !important; }
.btn-secondary, .nexora-btn-secondary { background: var(--color-white) !important; border: 1px solid #CBD5E1 !important; color: #475569 !important; }
.btn-secondary:hover, .nexora-btn-secondary:hover { background: #F1F5F9 !important; color: #0F172A !important; }

/* Keep standard colors for semantic buttons */
.btn-danger { background: #E74C3C !important; border-color: #E74C3C !important; color: var(--color-white) !important; }
.btn-danger:hover { background: #C0392B !important; border-color: #C0392B !important; color: var(--color-white) !important; }
.btn-warning { background: #F1C40F !important; border-color: #F1C40F !important; color: #333 !important; }
.btn-warning:hover { background: #F39C12 !important; border-color: #F39C12 !important; color: #FFF !important; }
.btn-success { background: #2ECC71 !important; border-color: #2ECC71 !important; color: var(--color-white) !important; }
.btn-success:hover { background: #27AE60 !important; border-color: #27AE60 !important; color: var(--color-white) !important; }

/* Forms & Inputs */
.form-control, .select2-container--default .select2-selection--single { background: var(--color-white) !important; border: 1px solid rgba(0, 63, 125, 0.15) !important; color: #000000 !important; }
.form-control::placeholder { color: #888888 !important; }
.form-control:focus, .select2-container--default.select2-container--focus .select2-selection--single { border-color: var(--color-blue) !important; box-shadow: 0 0 0 3px rgba(0, 88, 166, 0.10) !important; }
.input-group-text { background: rgba(0, 63, 125, 0.04) !important; border-color: rgba(0, 63, 125, 0.15) !important; color: var(--color-blue) !important; }

/* Modals */
.modal-content {
    background: #FFFFFF !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    border-radius: 16px !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08) !important;
}
.modal-header, .modal-footer {
    border-color: rgba(0, 0, 0, 0.06) !important;
    background: #FFFFFF !important;
}
.modal-title {
    color: #000000 !important;
    font-weight: 700 !important;
}
.modal-body {
    color: #000000 !important;
}
.modal-backdrop {
    background: rgba(0, 46, 88, 0.24) !important;
}

/* Badges & Status */
.badge-primary { background: var(--color-blue) !important; color: var(--color-white) !important; }
.badge-secondary, .badge-default { background: rgba(0, 63, 125, 0.1) !important; color: var(--color-blue) !important; }
.badge-info { background: var(--color-blue) !important; color: var(--color-white) !important; }
/* Semantic badges */
.badge-success { background: #2ECC71 !important; color: var(--color-white) !important; }
.badge-warning { background: #F1C40F !important; color: #333 !important; }
.badge-danger { background: #E74C3C !important; color: var(--color-white) !important; }

/* SweetAlert Popups */
.swal2-popup {
    background: #FFFFFF !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    border-radius: 20px !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08) !important;
    color: #000000 !important;
}
.swal2-title {
    color: #000000 !important;
    font-weight: 700 !important;
}
.swal2-html-container, .swal2-content {
    color: #333333 !important;
}
.swal2-confirm {
    background: var(--color-blue) !important;
    color: #FFFFFF !important;
    border-radius: 8px !important;
    padding: 10px 24px !important;
    font-weight: 600 !important;
}
.swal2-cancel {
    background: #F8FAFC !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    color: #000000 !important;
    border-radius: 8px !important;
    padding: 10px 24px !important;
    font-weight: 600 !important;
}

/* Empty States */
.empty-state { background: var(--color-white) !important; color: var(--color-blue) !important; border-color: rgba(0, 63, 125, 0.15) !important; }
.empty-state-icon { background: rgba(0, 63, 125, 0.04) !important; color: var(--color-blue) !important; }

/* DataTables Pagination */
.dataTables_wrapper .dataTables_paginate .paginate_button,
.dataTables_wrapper .dataTables_paginate a.paginate_button { background: var(--color-white) !important; color: var(--color-blue) !important; border: 1px solid rgba(0, 63, 125, 0.15) !important; padding: 5px 10px !important; margin: 0 2px !important; border-radius: 4px !important; text-decoration: none !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button.current, 
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
.dataTables_wrapper .dataTables_paginate a.paginate_button.current { background: var(--color-blue) !important; color: #FFFFFF !important; border-color: var(--color-blue) !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button:not(.current):hover,
.dataTables_wrapper .dataTables_paginate a.paginate_button:not(.current):hover { background: rgba(0, 63, 125, 0.04) !important; color: var(--color-blue) !important; border-color: var(--color-blue-300) !important; }

/* Footer - Floating Signature Bar */
.footer { background: transparent !important; border-top: none !important; color: var(--color-blue) !important; padding: 0 24px 20px !important; }
.footer .container-fluid { background: var(--color-blue) !important; border: none !important; border-radius: 10px !important; color: #FFFFFF !important; box-shadow: 0 4px 18px rgba(0, 88, 166, 0.18) !important; }
.footer a { color: #FFFFFF !important; font-weight: 500 !important; }
.footer a:hover { color: #BAE6FD !important; text-decoration: none !important; }
.footer-license a, .footer-license span { color: #FFFFFF !important; }
.footer-powered span { color: rgba(255,255,255,0.85) !important; font-weight: 600 !important; font-size: 13px !important; }
.footer-powered img { height: 32px !important; width: auto !important; object-fit: contain !important; filter: brightness(0) invert(1) !important; }



/* Features Page Blue Cards */
.nexora-feature-stat { background: var(--color-blue) !important; color: #FFFFFF !important; border: none !important; border-radius: 14px !important; padding: 20px !important; display: flex !important; flex-direction: column !important; box-shadow: 0 4px 12px rgba(0, 88, 166, 0.1) !important; }
.nexora-feature-stat small { color: rgba(255,255,255,0.7) !important; font-size: 13px !important; font-weight: 500 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; }
.nexora-feature-stat strong { color: #FFFFFF !important; font-size: 28px !important; font-weight: 700 !important; margin-top: 5px !important; }
.nexora-feature-stat.is-neutral { background: #1E1E1E !important; color: #FFF !important; }
.nexora-feature-stat.is-success { background: #10B981 !important; color: #FFF !important; }
.nexora-feature-stat.is-warning { background: #F39C12 !important; color: #FFF !important; }
.nexora-feature-stat.is-danger { background: #E74C3C !important; color: #FFF !important; }
/* POS specific */
#productGrid .clickable-card { background: var(--color-white) !important; border: 1px solid rgba(0, 63, 125, 0.15) !important; }
#productGrid .clickable-card:hover { border-color: var(--color-blue) !important; }

/* Super Admin Header Filter */
.superadmin-header-card { background: var(--color-blue); color: #fff; border-radius: 14px; padding: 15px 20px; display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; transition: background 0.3s ease !important; }
.superadmin-header-card.is-success { background: #10B981 !important; }
.superadmin-header-card.is-warning { background: #F39C12 !important; }
.superadmin-header-card.is-danger { background: #E74C3C !important; }
.superadmin-header-card.is-neutral { background: #1E1E1E !important; }
.superadmin-header-card h4 { color: #fff !important; margin: 0; font-size: 18px; display: flex; align-items: center; gap: 10px; }
.superadmin-header-card .form-control { background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.3); color: #fff; min-width: 200px; border-radius: 8px; }
.superadmin-header-card .form-control option { background: var(--color-blue); color: #fff; }

/* Blue Theme for SaaS Company Cards */
.nexora-company-control {
    background: var(--color-blue) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 4px 15px rgba(0, 88, 166, 0.15) !important;
}

/* Form Control Card Styles - White Background with Accent Top Border */
.nexora-control-card {
    background: #FFFFFF !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03), 0 1px 8px rgba(0, 0, 0, 0.01) !important;
    padding: 24px !important;
    color: #000000 !important;
    overflow: hidden !important;
}

.nexora-control-card.is-success { border-top: 4px solid #10B981 !important; }
.nexora-control-card.is-warning { border-top: 4px solid #F39C12 !important; }
.nexora-control-card.is-neutral { border-top: 4px solid #1E1E1E !important; }
.nexora-control-card.is-danger { border-top: 4px solid #E74C3C !important; }

/* Ensure headings, labels, texts and spans inside control cards are black */
.nexora-control-card label, 
.nexora-control-card span, 
.nexora-control-card strong, 
.nexora-control-card small, 
.nexora-control-card p, 
.nexora-control-card h4, 
.nexora-control-card h5 {
    color: #000000 !important;
}

/* Keep text inside feature toggles & check boxes (which are white boxes) dark */
.nexora-control-card.is-success .nexora-feature-toggle *,
.nexora-control-card.is-warning .nexora-feature-toggle *,
.nexora-control-card.is-neutral .nexora-feature-toggle *,
.nexora-control-card.is-danger .nexora-feature-toggle *,
.nexora-control-card.is-success .nexora-feature-toggle strong,
.nexora-control-card.is-warning .nexora-feature-toggle strong,
.nexora-control-card.is-neutral .nexora-feature-toggle strong,
.nexora-control-card.is-danger .nexora-feature-toggle strong,
.nexora-control-card.is-success .nexora-feature-toggle small,
.nexora-control-card.is-warning .nexora-feature-toggle small,
.nexora-control-card.is-neutral .nexora-feature-toggle small,
.nexora-control-card.is-danger .nexora-feature-toggle small,
.nexora-control-card.is-success .nexora-permission-check *,
.nexora-control-card.is-warning .nexora-permission-check *,
.nexora-control-card.is-neutral .nexora-permission-check *,
.nexora-control-card.is-danger .nexora-permission-check *,
.nexora-control-card.is-success .nexora-permission-check span,
.nexora-control-card.is-warning .nexora-permission-check span,
.nexora-control-card.is-neutral .nexora-permission-check span,
.nexora-control-card.is-danger .nexora-permission-check span {
    color: #000000 !important;
}

/* Keep text inside permission groups (which are white sub-boxes) dark */
.nexora-control-card.is-neutral .nexora-permission-group,
.nexora-control-card.is-success .nexora-permission-group,
.nexora-control-card.is-warning .nexora-permission-group,
.nexora-control-card.is-danger .nexora-permission-group {
    background: #FFFFFF !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
}
.nexora-control-card.is-neutral .nexora-permission-group *,
.nexora-control-card.is-success .nexora-permission-group *,
.nexora-control-card.is-warning .nexora-permission-group *,
.nexora-control-card.is-danger .nexora-permission-group * {
    color: #000000 !important;
}
.nexora-control-card .nexora-permission-group-head .btn-secondary {
    background: #F8FAFC !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    color: #000000 !important;
}
.nexora-control-card .nexora-permission-group-head .btn-secondary:hover {
    background: rgba(0, 63, 125, 0.08) !important;
    color: var(--color-blue) !important;
    border-color: rgba(0, 63, 125, 0.15) !important;
}

/* Keep inputs and select dropdowns white with dark text for clear readability */
.nexora-control-card.is-success .form-control,
.nexora-control-card.is-warning .form-control,
.nexora-control-card.is-neutral .form-control,
.nexora-control-card.is-danger .form-control {
    background: #FFFFFF !important;
    color: #333333 !important;
    border: 1px solid rgba(0,0,0,0.1) !important;
}
.nexora-control-card.is-success .form-control option,
.nexora-control-card.is-warning .form-control option,
.nexora-control-card.is-neutral .form-control option,
.nexora-control-card.is-danger .form-control option {
    background: #FFFFFF !important;
    color: #333333 !important;
}
.nexora-control-card.is-neutral .form-control option,
.nexora-control-card.is-danger .form-control option {
    background: #FFFFFF !important;
    color: #333333 !important;
}

/* Company Cards - White Background with Status Accent Border */
.nexora-company-control {
    background: #FFFFFF !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03), 0 1px 8px rgba(0, 0, 0, 0.01) !important;
    overflow: hidden !important;
    color: #000000 !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.nexora-company-control:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.06), 0 2px 10px rgba(0, 0, 0, 0.02) !important;
}

.nexora-company-control.is-success { border-top: 4px solid #10B981 !important; }
.nexora-company-control.is-warning { border-top: 4px solid #F39C12 !important; }
.nexora-company-control.is-danger { border-top: 4px solid #E74C3C !important; }
.nexora-company-control.is-neutral { border-top: 4px solid #1E1E1E !important; }

/* Text colors inside white company cards */
.nexora-company-control * {
    color: #000000 !important;
}

/* Ensure the light grey meta boxes inside contrast nicely against white card */
.nexora-company-control .nexora-company-meta div {
    background: #F8FAFC !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    border-radius: 8px !important;
}
.nexora-company-control .nexora-company-meta div * {
    color: #000000 !important;
}
.nexora-company-control .nexora-company-meta div small {
    color: #555555 !important;
    font-weight: 600 !important;
}

/* Status-specific View Details Buttons */
.nexora-company-control .nexora-company-summary a.btn {
    border: none !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    display: block !important;
    text-align: center !important;
    width: 100% !important;
    box-shadow: none !important;
}
.nexora-company-control.is-success .nexora-company-summary a.btn {
    background: #10B981 !important;
    color: #FFFFFF !important;
}
.nexora-company-control.is-success .nexora-company-summary a.btn:hover {
    background: #0D9488 !important;
}
.nexora-company-control.is-warning .nexora-company-summary a.btn {
    background: #F39C12 !important;
    color: #FFFFFF !important;
}
.nexora-company-control.is-warning .nexora-company-summary a.btn:hover {
    background: #D68910 !important;
}
.nexora-company-control.is-danger .nexora-company-summary a.btn {
    background: #E74C3C !important;
    color: #FFFFFF !important;
}
.nexora-company-control.is-danger .nexora-company-summary a.btn:hover {
    background: #C0392B !important;
}
.nexora-company-control.is-neutral .nexora-company-summary a.btn {
    background: #1E1E1E !important;
    color: #FFFFFF !important;
}
.nexora-company-control.is-neutral .nexora-company-summary a.btn:hover {
    background: #000000 !important;
}

/* Header Elements Inside Card */
.nexora-company-control-head {
    background: transparent !important;
    margin-bottom: 12px !important;
}
.nexora-company-control-head h5 {
    color: #000000 !important;
    font-size: 16px !important;
}
.nexora-company-control-head .nexora-company-code-badge {
    background: rgba(0, 63, 125, 0.08) !important;
    color: var(--color-blue) !important;
    border: none !important;
    font-weight: 700 !important;
}
.nexora-company-control-head .nexora-company-actions .btn-secondary {
    background: #F8FAFC !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    color: #000000 !important;
}
.nexora-company-control-head .nexora-company-actions .btn-secondary:hover {
    background: rgba(0, 63, 125, 0.08) !important;
    color: var(--color-blue) !important;
    border-color: rgba(0, 63, 125, 0.15) !important;
}

/* Global Action Group & Buttons styling (matching users/listing) */
.nexora-action-group {
    display: inline-flex !important;
    gap: 6px !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
}
.nexora-action-btn {
    border-radius: 8px !important;
    width: 32px !important;
    height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.15s ease !important;
    flex-shrink: 0 !important;
    text-decoration: none !important;
}
.nexora-action-btn.is-warning {
    background: #FEF3C7 !important;
    border: 1px solid #FDE68A !important;
    color: #D97706 !important;
}
.nexora-action-btn.is-warning:hover {
    background: #D97706 !important;
    color: #FFFFFF !important;
    box-shadow: 0 3px 8px rgba(217, 119, 6, 0.25) !important;
}
.nexora-action-btn.is-warning i {
    color: #D97706 !important;
}
.nexora-action-btn.is-warning:hover i {
    color: #FFFFFF !important;
}
.nexora-action-btn.is-danger {
    background: #FEE2E2 !important;
    border: 1px solid #FECACA !important;
    color: #DC2626 !important;
}
.nexora-action-btn.is-danger:hover {
    background: #DC2626 !important;
    color: #FFFFFF !important;
    box-shadow: 0 3px 8px rgba(220, 38, 38, 0.25) !important;
}
.nexora-action-btn.is-danger i {
    color: #DC2626 !important;
}
.nexora-action-btn.is-danger:hover i {
    color: #FFFFFF !important;
}
.nexora-action-btn.is-info {
    background: #E0F2FE !important;
    border: 1px solid #BAE6FD !important;
    color: #0284C7 !important;
}
.nexora-action-btn.is-info:hover {
    background: #0284C7 !important;
    color: #FFFFFF !important;
    box-shadow: 0 3px 8px rgba(2, 132, 199, 0.25) !important;
}
.nexora-action-btn.is-info i {
    color: #0284C7 !important;
}
.nexora-action-btn.is-info:hover i {
    color: #FFFFFF !important;
}

/* Print styles for POS screen */
@media print {
    /* Only the POS checkout screen should use the full-screen print layout.
       Do not hide invoice pages, otherwise the browser print preview is blank. */
    body.pos-fullscreen-mode * {
        visibility: hidden !important;
    }
    body.pos-fullscreen-mode .pos-right-panel,
    body.pos-fullscreen-mode .pos-right-panel * {
        visibility: visible !important;
    }
    body.pos-fullscreen-mode .pos-right-panel {
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        width: 100% !important;
        height: auto !important;
        background: #FFFFFF !important;
        box-shadow: none !important;
        border: none !important;
    }
    /* Hide action buttons during print */
    body.pos-fullscreen-mode .pos-cart-header button,
    body.pos-fullscreen-mode .pos-cart-header a,
    body.pos-fullscreen-mode .pos-cart-footer button,
    body.pos-fullscreen-mode .pos-cart-footer div.d-flex {
        display: none !important;
    }
}

/* ==========================================================================
   STRICT OVERRIDE: DARK MODE HARMONIZATION
   ========================================================================== */
html.theme-dark body,
html.theme-dark .wrapper,
html.theme-dark .main-panel,
html.theme-dark .content,
body.theme-dark,
body.theme-dark .wrapper,
body.theme-dark .main-panel,
body.theme-dark .content {
    background: #0B1120 !important;
    color: #CBD5E1 !important;
}

html.theme-dark .main-header,
html.theme-dark .navbar-header,
html.theme-dark .logo-header,
html.theme-dark .sidebar,
html.theme-dark .sidebar .nav-collapse,
body.theme-dark .main-header,
body.theme-dark .navbar-header,
body.theme-dark .logo-header,
body.theme-dark .sidebar,
body.theme-dark .sidebar .nav-collapse {
    background: #111C2E !important;
    border-color: #1E2D44 !important;
}

/* ==========================================================================
   STRICT OVERRIDE: DARK MODE TABLES & DATATABLES COMPREHENSIVE FIX
   ========================================================================== */
html.theme-dark .nexora-table-card,
body.theme-dark .nexora-table-card,
html[data-theme="dark"] .nexora-table-card,
body[data-theme="dark"] .nexora-table-card,
html.theme-dark .card,
body.theme-dark .card,
html[data-theme="dark"] .card,
body[data-theme="dark"] .card {
    background: #151F32 !important;
    background-color: #151F32 !important;
    border-color: #26354D !important;
    color: #CBD5E1 !important;
}

html.theme-dark .card-body,
body.theme-dark .card-body,
html[data-theme="dark"] .card-body,
body[data-theme="dark"] .card-body {
    background: transparent !important;
    background-color: transparent !important;
}

html.theme-dark .card-title,
body.theme-dark .card-title,
html[data-theme="dark"] .card-title,
body[data-theme="dark"] .card-title {
    color: #F8FAFC !important;
}

html.theme-dark .card-category,
body.theme-dark .card-category,
html[data-theme="dark"] .card-category,
body[data-theme="dark"] .card-category {
    color: #94A3B8 !important;
}

html.theme-dark [style*="color: #0F1F3D"],
body.theme-dark [style*="color: #0F1F3D"],
html.theme-dark [style*="color:#0F1F3D"],
body.theme-dark [style*="color:#0F1F3D"],
html[data-theme="dark"] [style*="color: #0F1F3D"],
body[data-theme="dark"] [style*="color: #0F1F3D"],
html[data-theme="dark"] [style*="color:#0F1F3D"],
body[data-theme="dark"] [style*="color:#0F1F3D"] {
    color: #F8FAFC !important;
}

/* Wrappers: table-responsive, nexora-table-scroll, dataTables_wrapper */
html.theme-dark .table-responsive,
body.theme-dark .table-responsive,
html[data-theme="dark"] .table-responsive,
body[data-theme="dark"] .table-responsive,
html.theme-dark .nexora-table-scroll,
body.theme-dark .nexora-table-scroll,
html[data-theme="dark"] .nexora-table-scroll,
body[data-theme="dark"] .nexora-table-scroll,
html.theme-dark .dataTables_wrapper,
body.theme-dark .dataTables_wrapper,
html[data-theme="dark"] .dataTables_wrapper,
body[data-theme="dark"] .dataTables_wrapper {
    background: transparent !important;
    background-color: transparent !important;
    border-color: #1E2D44 !important;
    color: #CBD5E1 !important;
}

/* Tables */
html.theme-dark table,
body.theme-dark table,
html[data-theme="dark"] table,
body[data-theme="dark"] table,
html.theme-dark .table,
body.theme-dark .table,
html[data-theme="dark"] .table,
body[data-theme="dark"] .table,
html.theme-dark .table-bordered,
body.theme-dark .table-bordered,
html.theme-dark .table-striped,
body.theme-dark .table-striped,
html.theme-dark .table-hover,
body.theme-dark .table-hover,
html.theme-dark .table-modern,
body.theme-dark .table-modern,
html.theme-dark .table-recent-sales,
body.theme-dark .table-recent-sales,
html.theme-dark .dataTable,
body.theme-dark .dataTable,
html[data-theme="dark"] .dataTable,
body[data-theme="dark"] .dataTable,
html.theme-dark table.dataTable,
body.theme-dark table.dataTable,
html[data-theme="dark"] table.dataTable,
body[data-theme="dark"] table.dataTable,
html.theme-dark .nexora-data-table,
body.theme-dark .nexora-data-table,
html[data-theme="dark"] .nexora-data-table,
body[data-theme="dark"] .nexora-data-table {
    background: #151F32 !important;
    background-color: #151F32 !important;
    border-color: #1E2D44 !important;
    color: #CBD5E1 !important;
}

/* Table Headers (thead) */
html.theme-dark table thead,
html.theme-dark table thead th,
html.theme-dark table thead td,
body.theme-dark table thead,
body.theme-dark table thead th,
body.theme-dark table thead td,
html[data-theme="dark"] table thead,
html[data-theme="dark"] table thead th,
html[data-theme="dark"] table thead td,
body[data-theme="dark"] table thead,
body[data-theme="dark"] table thead th,
body[data-theme="dark"] table thead td,
html.theme-dark .table thead th,
body.theme-dark .table thead th,
html[data-theme="dark"] .table thead th,
body[data-theme="dark"] .table thead th,
html.theme-dark table.dataTable thead th,
body.theme-dark table.dataTable thead th,
html[data-theme="dark"] table.dataTable thead th,
body[data-theme="dark"] table.dataTable thead th {
    background: #111827 !important;
    background-color: #111827 !important;
    color: #94A3B8 !important;
    border-color: #1E2D44 !important;
    border-bottom: 2px solid #1E2D44 !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
}

/* Table Body Rows - overrides DataTables and Bootstrap white stripes */
html.theme-dark table tbody,
body.theme-dark table tbody,
html[data-theme="dark"] table tbody,
body[data-theme="dark"] table tbody,
html.theme-dark table tbody tr,
body.theme-dark table tbody tr,
html[data-theme="dark"] table tbody tr,
body[data-theme="dark"] table tbody tr,
html.theme-dark .table tbody tr,
body.theme-dark .table tbody tr,
html[data-theme="dark"] .table tbody tr,
body[data-theme="dark"] .table tbody tr,
html.theme-dark table.dataTable tbody tr,
body.theme-dark table.dataTable tbody tr,
html[data-theme="dark"] table.dataTable tbody tr,
body[data-theme="dark"] table.dataTable tbody tr,
html.theme-dark table.dataTable.display tbody tr,
body.theme-dark table.dataTable.display tbody tr,
html.theme-dark table.dataTable.stripe tbody tr,
body.theme-dark table.dataTable.stripe tbody tr,
html.theme-dark table.dataTable.display tbody tr.odd,
html.theme-dark table.dataTable.stripe tbody tr.odd,
body.theme-dark table.dataTable.display tbody tr.odd,
body.theme-dark table.dataTable.stripe tbody tr.odd,
html.theme-dark table.dataTable.display tbody tr.even,
html.theme-dark table.dataTable.stripe tbody tr.even,
body.theme-dark table.dataTable.display tbody tr.even,
body.theme-dark table.dataTable.stripe tbody tr.even,
html.theme-dark .table-striped tbody tr:nth-of-type(odd),
body.theme-dark .table-striped tbody tr:nth-of-type(odd),
html.theme-dark .table-striped tbody tr:nth-of-type(even),
body.theme-dark .table-striped tbody tr:nth-of-type(even) {
    background: #151F32 !important;
    background-color: #151F32 !important;
    color: #E2E8F0 !important;
}

/* Subtle Alternating Row Contrast */
html.theme-dark table tbody tr:nth-child(even),
body.theme-dark table tbody tr:nth-child(even),
html[data-theme="dark"] table tbody tr:nth-child(even),
body[data-theme="dark"] table tbody tr:nth-child(even),
html.theme-dark table.dataTable.display tbody tr.odd,
html.theme-dark table.dataTable.stripe tbody tr.odd,
body.theme-dark table.dataTable.display tbody tr.odd,
body.theme-dark table.dataTable.stripe tbody tr.odd {
    background: #121B2C !important;
    background-color: #121B2C !important;
}

/* DataTables Sorted Column Highlighting */
html.theme-dark table.dataTable.display tbody tr.odd > .sorting_1,
html.theme-dark table.dataTable.order-column.stripe tbody tr.odd > .sorting_1,
body.theme-dark table.dataTable.display tbody tr.odd > .sorting_1,
body.theme-dark table.dataTable.order-column.stripe tbody tr.odd > .sorting_1,
html[data-theme="dark"] table.dataTable.display tbody tr.odd > .sorting_1,
html.theme-dark table.dataTable.display tbody tr.even > .sorting_1,
html.theme-dark table.dataTable.order-column.stripe tbody tr.even > .sorting_1,
body.theme-dark table.dataTable.display tbody tr.even > .sorting_1,
body.theme-dark table.dataTable.order-column.stripe tbody tr.even > .sorting_1,
html[data-theme="dark"] table.dataTable.display tbody tr.even > .sorting_1 {
    background: #162238 !important;
    background-color: #162238 !important;
    color: #F8FAFC !important;
}

/* Table Cells (td & th) */
html.theme-dark table tbody td,
html.theme-dark table tbody th,
body.theme-dark table tbody td,
body.theme-dark table tbody th,
html[data-theme="dark"] table tbody td,
html[data-theme="dark"] table tbody th,
body[data-theme="dark"] table tbody td,
body[data-theme="dark"] table tbody th,
html.theme-dark .table th,
html.theme-dark .table td,
html.theme-dark .table tbody td,
body.theme-dark .table th,
body.theme-dark .table td,
body.theme-dark .table tbody td,
html.theme-dark table.dataTable tbody td,
body.theme-dark table.dataTable tbody td,
html[data-theme="dark"] table.dataTable tbody td,
body[data-theme="dark"] table.dataTable tbody td {
    border-color: #1E2D44 !important;
    border-bottom: 1px solid #1E2D44 !important;
    color: #E2E8F0 !important;
}

/* Table Row Hover State */
html.theme-dark table tbody tr:hover,
html.theme-dark table tbody tr:hover td,
body.theme-dark table tbody tr:hover,
body.theme-dark table tbody tr:hover td,
html[data-theme="dark"] table tbody tr:hover,
html[data-theme="dark"] table tbody tr:hover td,
body[data-theme="dark"] table tbody tr:hover,
body[data-theme="dark"] table tbody tr:hover td,
html.theme-dark table.dataTable tbody tr:hover,
html.theme-dark table.dataTable tbody tr:hover td,
body.theme-dark table.dataTable tbody tr:hover,
body.theme-dark table.dataTable tbody tr:hover td,
html.theme-dark table.dataTable.display tbody tr:hover > .sorting_1,
body.theme-dark table.dataTable.display tbody tr:hover > .sorting_1,
html[data-theme="dark"] table.dataTable.display tbody tr:hover > .sorting_1 {
    background: #1E2E4A !important;
    background-color: #1E2E4A !important;
    color: #FFFFFF !important;
}

/* Links inside tables */
html.theme-dark table tbody td a:not(.btn):not(.nexora-action-btn),
body.theme-dark table tbody td a:not(.btn):not(.nexora-action-btn),
html[data-theme="dark"] table tbody td a:not(.btn):not(.nexora-action-btn),
body[data-theme="dark"] table tbody td a:not(.btn):not(.nexora-action-btn) {
    color: #38BDF8 !important;
    font-weight: 500 !important;
}

html.theme-dark table tbody td a:not(.btn):not(.nexora-action-btn):hover,
body.theme-dark table tbody td a:not(.btn):not(.nexora-action-btn):hover,
html[data-theme="dark"] table tbody td a:not(.btn):not(.nexora-action-btn):hover {
    color: #7DD3FC !important;
    text-decoration: underline !important;
}

html.theme-dark table tbody td strong,
html.theme-dark table tbody td b,
body.theme-dark table tbody td strong,
body.theme-dark table tbody td b {
    color: #F8FAFC !important;
}

html.theme-dark table tbody td small,
html.theme-dark table tbody td .text-muted,
body.theme-dark table tbody td small,
body.theme-dark table tbody td .text-muted {
    color: #94A3B8 !important;
}

/* DataTables Controls: Length, Filter, Info, Pagination */
html.theme-dark .dataTables_wrapper .dataTables_length,
html.theme-dark .dataTables_wrapper .dataTables_filter,
html.theme-dark .dataTables_wrapper .dataTables_info,
html.theme-dark .dataTables_wrapper .dataTables_processing,
body.theme-dark .dataTables_wrapper .dataTables_length,
body.theme-dark .dataTables_wrapper .dataTables_filter,
body.theme-dark .dataTables_wrapper .dataTables_info,
body.theme-dark .dataTables_wrapper .dataTables_processing,
html[data-theme="dark"] .dataTables_wrapper .dataTables_length,
html[data-theme="dark"] .dataTables_wrapper .dataTables_filter,
html[data-theme="dark"] .dataTables_wrapper .dataTables_info,
body[data-theme="dark"] .dataTables_wrapper .dataTables_length,
body[data-theme="dark"] .dataTables_wrapper .dataTables_filter,
body[data-theme="dark"] .dataTables_wrapper .dataTables_info {
    color: #94A3B8 !important;
}

html.theme-dark .dataTables_wrapper .dataTables_length label,
html.theme-dark .dataTables_wrapper .dataTables_filter label,
body.theme-dark .dataTables_wrapper .dataTables_length label,
body.theme-dark .dataTables_wrapper .dataTables_filter label,
html[data-theme="dark"] .dataTables_wrapper .dataTables_length label,
html[data-theme="dark"] .dataTables_wrapper .dataTables_filter label,
body[data-theme="dark"] .dataTables_wrapper .dataTables_length label,
body[data-theme="dark"] .dataTables_wrapper .dataTables_filter label {
    color: #94A3B8 !important;
}

html.theme-dark .dataTables_wrapper .dataTables_length select,
body.theme-dark .dataTables_wrapper .dataTables_length select,
html[data-theme="dark"] .dataTables_wrapper .dataTables_length select,
body[data-theme="dark"] .dataTables_wrapper .dataTables_length select {
    background: #0F172A !important;
    background-color: #0F172A !important;
    border: 1px solid #334155 !important;
    color: #F8FAFC !important;
    border-radius: 8px !important;
}

html.theme-dark .dataTables_wrapper .dataTables_filter input,
body.theme-dark .dataTables_wrapper .dataTables_filter input,
html[data-theme="dark"] .dataTables_wrapper .dataTables_filter input,
body[data-theme="dark"] .dataTables_wrapper .dataTables_filter input {
    background: #0F172A !important;
    background-color: #0F172A !important;
    border: 1px solid #334155 !important;
    color: #F8FAFC !important;
    border-radius: 20px !important;
}

html.theme-dark .dataTables_wrapper .dataTables_filter input:focus,
body.theme-dark .dataTables_wrapper .dataTables_filter input:focus,
html[data-theme="dark"] .dataTables_wrapper .dataTables_filter input:focus,
body[data-theme="dark"] .dataTables_wrapper .dataTables_filter input:focus {
    background: #111C2E !important;
    border-color: #0058A6 !important;
    color: #FFFFFF !important;
    box-shadow: 0 0 0 3px rgba(0, 88, 166, 0.25) !important;
}

html.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button,
html.theme-dark .dataTables_wrapper .dataTables_paginate a.paginate_button,
body.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button,
body.theme-dark .dataTables_wrapper .dataTables_paginate a.paginate_button,
html[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button,
body[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button {
    background: #151F32 !important;
    background-color: #151F32 !important;
    border: 1px solid #334155 !important;
    color: #94A3B8 !important;
    border-radius: 6px !important;
}

html.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button:hover,
html.theme-dark .dataTables_wrapper .dataTables_paginate a.paginate_button:hover,
body.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button:hover,
body.theme-dark .dataTables_wrapper .dataTables_paginate a.paginate_button:hover,
html[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: #1E2D44 !important;
    background-color: #1E2D44 !important;
    color: #F8FAFC !important;
    border-color: #0058A6 !important;
}

html.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button.current,
html.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
html.theme-dark .dataTables_wrapper .dataTables_paginate a.paginate_button.current,
body.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button.current,
body.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
body.theme-dark .dataTables_wrapper .dataTables_paginate a.paginate_button.current,
html[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: #0058A6 !important;
    background-color: #0058A6 !important;
    color: #FFFFFF !important;
    border-color: #0058A6 !important;
}

html.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
html.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,
body.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
body.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,
html[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.disabled {
    background: rgba(255, 255, 255, 0.03) !important;
    color: #475569 !important;
    border-color: #1E2D44 !important;
}

html.theme-dark .dataTables_wrapper .dataTables_empty,
body.theme-dark .dataTables_wrapper .dataTables_empty,
html[data-theme="dark"] .dataTables_wrapper .dataTables_empty {
    color: #94A3B8 !important;
    background: transparent !important;
}

/* Dark Mode: Footer */
html.theme-dark .footer,
body.theme-dark .footer,
html[data-theme="dark"] .footer,
body[data-theme="dark"] .footer {
    background: transparent !important;
    background-color: transparent !important;
    border-top: none !important;
}

html.theme-dark .footer .container-fluid,
body.theme-dark .footer .container-fluid,
html[data-theme="dark"] .footer .container-fluid,
body[data-theme="dark"] .footer .container-fluid {
    background: linear-gradient(135deg, #003F7D 0%, #0058A6 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.45) !important;
    color: #FFFFFF !important;
}

html.theme-dark .footer-license a,
html.theme-dark .footer-license span,
body.theme-dark .footer-license a,
body.theme-dark .footer-license span,
html[data-theme="dark"] .footer-license a,
html[data-theme="dark"] .footer-license span,
body[data-theme="dark"] .footer-license a,
body[data-theme="dark"] .footer-license span {
    color: #FFFFFF !important;
}

html.theme-dark .footer a:hover,
body.theme-dark .footer a:hover,
html[data-theme="dark"] .footer a:hover,
body[data-theme="dark"] .footer a:hover {
    color: #38BDF8 !important;
    text-decoration: none !important;
}

html.theme-dark .footer-powered span,
body.theme-dark .footer-powered span,
html[data-theme="dark"] .footer-powered span,
body[data-theme="dark"] .footer-powered span {
    color: rgba(255, 255, 255, 0.85) !important;
}

html.theme-dark .footer-powered img,
body.theme-dark .footer-powered img,
html[data-theme="dark"] .footer-powered img,
body[data-theme="dark"] .footer-powered img {
    filter: brightness(0) invert(1) !important;
}

/* ==========================================================================
   REQUIRED FIELD ASTERISK (*) - ALWAYS INLINE BESIDE LABEL TEXT
   ========================================================================== */
label .text-danger,
.nexora-input-label .text-danger,
.nexora-form-label .text-danger,
.form-group label .text-danger,
span.text-danger {
    display: inline-block !important;
    color: #EF4444 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 3px !important;
    line-height: 1 !important;
    vertical-align: baseline !important;
    white-space: nowrap !important;
}

label,
.nexora-input-label,
.nexora-form-label {
    display: block !important;
    white-space: normal !important;
}

