/*
|--------------------------------------------------------------------------
| Speezu Theme Palette
|--------------------------------------------------------------------------
| Update the custom properties below to change the global color scheme.
| Any component that references these variables will update automatically.
*/
:root {
    /* Base brand colors */
    --speezu-blue: #01035e;
    --speezu-blue-rgb: 1, 3, 94;
    --speezu-blue-hover: #272876;
    --speezu-blue-active: #000844;

    --speezu-green: #98cc33;
    --speezu-green-rgb: 152, 204, 51;
    --speezu-green-hover: #7fb228;
    --speezu-green-active: #6a9a22;

    --speezu-pink: #f9349b;
    --speezu-pink-rgb: 249, 52, 155;
    --speezu-pink-hover: #e0208e;
    --speezu-pink-active: #c9187a;

    /* Semantic theme roles */
    --speezu-primary: var(--speezu-blue);
    --speezu-primary-rgb: var(--speezu-blue-rgb);
    --speezu-primary-hover: var(--speezu-blue-hover);
    --speezu-primary-active: var(--speezu-blue-active);

    --speezu-secondary: var(--speezu-green);
    --speezu-secondary-rgb: var(--speezu-green-rgb);
    --speezu-secondary-hover: var(--speezu-green-hover);
    --speezu-secondary-active: var(--speezu-green-active);

    --speezu-accent: var(--speezu-pink);
    --speezu-accent-rgb: var(--speezu-pink-rgb);
    --speezu-accent-hover: var(--speezu-pink-hover);
    --speezu-accent-active: var(--speezu-pink-active);

    /* Button palette */
    --speezu-button-bg: var(--speezu-green);
    --speezu-button-hover: var(--speezu-green-hover);
    --speezu-button-active: var(--speezu-green-active);

    /* Bootstrap overrides */
    --bs-primary: var(--speezu-primary);
    --bs-primary-rgb: var(--speezu-primary-rgb);
    --bs-secondary: var(--speezu-secondary);
    --bs-secondary-rgb: var(--speezu-secondary-rgb);
    --bs-success: var(--speezu-secondary);
    --bs-success-rgb: var(--speezu-secondary-rgb);
    --bs-info: var(--speezu-accent);
    --bs-info-rgb: var(--speezu-accent-rgb);
    --bs-link-color: var(--speezu-primary);
    --bs-link-hover-color: var(--speezu-accent);
    --bs-gradient: none;
}

a,
.btn-link {
    color: var(--speezu-primary);
}

a:hover,
.btn-link:hover {
    color: var(--speezu-accent);
}

.text-primary {
    color: var(--speezu-primary) !important;
}

.text-secondary {
    color: var(--speezu-secondary) !important;
}

.text-info {
    color: var(--speezu-accent) !important;
}

.text-success {
    color: var(--speezu-secondary) !important;
}

.bg-primary {
    background-color: var(--speezu-primary) !important;
}

.bg-secondary {
    background-color: var(--speezu-secondary) !important;
}

.bg-info {
    background-color: var(--speezu-accent) !important;
}

.bg-success {
    background-color: var(--speezu-secondary) !important;
}

.border-primary {
    border-color: var(--speezu-primary) !important;
}

.border-secondary {
    border-color: var(--speezu-secondary) !important;
}

.border-info {
    border-color: var(--speezu-accent) !important;
}

.border-success {
    border-color: var(--speezu-secondary) !important;
}

.btn:not(.btn-link) {
    color: #fff !important;
    background-color: var(--speezu-button-bg);
    border-color: var(--speezu-button-bg);
}

.btn:not(.btn-link):hover,
.btn:not(.btn-link):focus {
    color: #fff !important;
    background-color: var(--speezu-button-hover);
    border-color: var(--speezu-button-hover);
}

.btn:not(.btn-link):active,
.btn:not(.btn-link).active,
.show > .btn.dropdown-toggle {
    color: #fff !important;
    background-color: var(--speezu-button-active);
    border-color: var(--speezu-button-active);
}

.btn:not(.btn-link).disabled,
.btn:not(.btn-link):disabled {
    color: rgba(255, 255, 255, 0.75);
    background-color: rgba(var(--speezu-secondary-rgb), 0.65);
    border-color: rgba(var(--speezu-secondary-rgb), 0.65);
}

.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-info,
.btn-outline-warning,
.btn-outline-danger,
.btn-outline-dark,
.btn-outline-light {
    color: var(--speezu-button-bg) !important;
    border-color: var(--speezu-button-bg) !important;
    background-color: transparent;
}

.btn-outline-primary:hover,
.btn-outline-secondary:hover,
.btn-outline-success:hover,
.btn-outline-info:hover,
.btn-outline-warning:hover,
.btn-outline-danger:hover,
.btn-outline-dark:hover,
.btn-outline-light:hover {
    color: #fff !important;
    background-color: var(--speezu-button-bg) !important;
    border-color: var(--speezu-button-bg) !important;
}

.bg-gradient-primary,
.badge.bg-gradient-primary,
.btn.bg-gradient-primary,
.card.bg-gradient-primary {
    background-image: none !important;
    background-color: var(--speezu-primary) !important;
}

.bg-gradient-success,
.badge.bg-gradient-success,
.btn.bg-gradient-success,
.card.bg-gradient-success {
    background-image: none !important;
    background-color: var(--speezu-secondary) !important;
}

.bg-gradient-info,
.bg-gradient-secondary,
.badge.bg-gradient-info,
.badge.bg-gradient-secondary,
.btn.bg-gradient-info,
.btn.bg-gradient-secondary,
.card.bg-gradient-info,
.card.bg-gradient-secondary {
    background-image: none !important;
    background-color: var(--speezu-accent) !important;
}

.sidenav[data-color="primary"] .navbar-nav > .nav-item > .nav-link.active {
    background-color: var(--speezu-primary) !important;
}

.sidenav[data-color="success"] .navbar-nav > .nav-item > .nav-link.active {
    background-color: var(--speezu-secondary) !important;
}

.sidenav[data-color="info"] .navbar-nav > .nav-item > .nav-link.active,
.sidenav[data-color="secondary"] .navbar-nav > .nav-item > .nav-link.active {
    background-image: none !important;
    background-color: var(--speezu-accent) !important;
}

.sidenav[data-color="primary"] .navbar-nav > .nav-item > .nav-link.active,
.sidenav[data-color="success"] .navbar-nav > .nav-item > .nav-link.active {
    background-image: none !important;
}

.form-check-input:checked {
    background-color: var(--speezu-button-bg);
    border-color: var(--speezu-button-bg);
}

.page-item.active .page-link {
    color: #fff;
    background-color: var(--speezu-button-bg);
    border-color: var(--speezu-button-bg);
}

.nav-pills .nav-link.active {
    background-image: none !important;
    background-color: var(--speezu-primary) !important;
    color: #fff !important;
}

body.dark-version.orders-management .bg-white {
    background-color: #111C44 !important;
}

body.dark-version.orders-management .bg-light {
    background-color: #051139 !important;
}

.dark-version .sidenav .sidenav-header .navbar-brand-img {
    background-color: #ffffff !important;
    padding: 6px !important;
    border-radius: 10px !important;
}

.dark-version .sidenav .nav-link i,
.dark-version .sidenav .navbar-nav .nav-link i {
    opacity: 1 !important;
}

.dark-version .sidenav .icon i,
.dark-version .sidenav .nav-link i,
.dark-version .sidenav .navbar-nav .nav-link i {
    color: #ffffff !important;
}

.dark-version .sidenav .nav-link i.text-dark,
.dark-version .sidenav .navbar-nav .nav-link i.text-dark {
    color: #ffffff !important;
}

/* Dark mode for collapsible sidebar on small screens */
body.dark-version .sidenav,
body.dark-version .navbar-vertical,
body.dark-version .sidenav.bg-white,
body.dark-version .navbar-vertical.bg-white {
    background-color: #111C44 !important;
}
body.dark-version .sidenav .navbar-brand,
body.dark-version .navbar-vertical .navbar-brand {
    background-color: transparent !important;
}
body.dark-version .sidenav .navbar-brand img,
body.dark-version .navbar-vertical .navbar-brand img {
    background-color: #ffffff !important;
    padding: 6px !important;
    border-radius: 10px !important;
}
body.dark-version .sidenav .nav-link,
body.dark-version .navbar-vertical .nav-link {
    color: #ffffff !important;
}
body.dark-version .sidenav .nav-link:hover,
body.dark-version .sidenav .nav-link.active,
body.dark-version .navbar-vertical .nav-link:hover,
body.dark-version .navbar-vertical .nav-link.active {
    background-color: #272e4a !important;
    color: #ffffff !important;
}
body.dark-version .sidenav .nav-link i,
body.dark-version .sidenav .navbar-nav .nav-link i,
body.dark-version .navbar-vertical .nav-link i,
body.dark-version .navbar-vertical .navbar-nav .nav-link i {
    color: #ffffff !important;
    opacity: 1 !important;
}
body.dark-version .sidenav .nav-link .nav-link-text,
body.dark-version .navbar-vertical .nav-link .nav-link-text {
    color: #ffffff !important;
}
body.dark-version .sidenav .horizontal.dark,
body.dark-version .navbar-vertical .horizontal.dark {
    border-color: #374151 !important;
}
body.dark-version .sidenav .navbar-toggler,
body.dark-version .navbar-vertical .navbar-toggler {
    border-color: #374151 !important;
}
body.dark-version .sidenav .navbar-toggler-icon,
body.dark-version .navbar-vertical .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E") !important;
}

/* Fix sidebar logo/nav overlap on small screens */
@media (max-width: 575.98px) {
    .sidenav-header {
        margin-bottom: 1rem;
        padding-bottom: 0.5rem;
        border-bottom: 1px solid rgba(0,0,0,0.1);
    }
    .sidenav-header .navbar-brand {
        padding: 0.75rem 1rem;
    }
    .sidenav-header .navbar-brand img {
        max-height: 40px;
    }
    #sidenav-main .navbar-collapse {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
    .navbar-vertical .navbar-nav .nav-link {
        padding: 0.5rem 0.75rem;
    }
}

body.dark-version.orders-management .text-black {
    color: #ffffff !important;
}

body.dark-version.orders-management .card,
body.dark-version.orders-management .modal-content {
    background-color: #111C44 !important;
}

body.dark-version.orders-management .card.border,
body.dark-version.orders-management .border,
body.dark-version.orders-management .border-top,
body.dark-version.orders-management .border-bottom,
body.dark-version.orders-management .border-end {
    border-color: #374151 !important;
}

/* Dark mode for all report pages */
body.dark-version .card-header.bg-white {
    background-color: #111C44 !important;
}
body.dark-version .card {
    background-color: #111C44 !important;
}
body.dark-version .card-body {
    background-color: #111C44 !important;
}
body.dark-version .table {
    color: #ffffff !important;
}
body.dark-version .table thead th {
    background-color: #111C44 !important;
    color: #ffffff !important;
    border-color: #374151 !important;
}
body.dark-version .table tbody td {
    background-color: #111C44 !important;
    color: #ffffff !important;
    border-color: #374151 !important;
}
body.dark-version .table tbody tr:nth-of-type(odd) td {
    background-color: #1a1f3a !important;
}
body.dark-version .table tbody tr:hover td {
    background-color: #272e4a !important;
}
body.dark-version .form-control {
    background-color: #1a1f3a !important;
    color: #ffffff !important;
    border-color: #374151 !important;
}
body.dark-version .form-control:focus {
    background-color: #1a1f3a !important;
    color: #ffffff !important;
    border-color: var(--speezu-primary) !important;
}
body.dark-version .form-label {
    color: #ffffff !important;
}
body.dark-version .btn-outline-primary {
    border-color: var(--speezu-primary) !important;
    color: var(--speezu-primary) !important;
}
body.dark-version .btn-outline-primary:hover {
    background-color: var(--speezu-primary) !important;
    color: #ffffff !important;
}
body.dark-version .pagination .page-link {
    background-color: #1a1f3a !important;
    border-color: #374151 !important;
    color: #ffffff !important;
}
body.dark-version .pagination .page-item.active .page-link {
    background-color: var(--speezu-primary) !important;
    border-color: var(--speezu-primary) !important;
}
body.dark-version .pagination .page-link:hover {
    background-color: #272e4a !important;
    color: #ffffff !important;
}

/* Dashboard status cards dark mode */
body.dark-version .card .card-body {
    background-color: #111C44 !important;
}
body.dark-version .card .card-body .text-sm,
body.dark-version .card .card-body .text-xs,
body.dark-version .card .card-body h5,
body.dark-version .card .card-body p {
    color: #ffffff !important;
}
body.dark-version .card .card-body .text-secondary {
    color: #a0aec0 !important;
}
body.dark-version .card .card-body .text-muted {
    color: #718096 !important;
}
body.dark-version .card .card-body .text-dark {
    color: #ffffff !important;
}
body.dark-version .list-group-item {
    background-color: #111C44 !important;
    color: #ffffff !important;
}
body.dark-version .list-group-item .text-dark {
    color: #ffffff !important;
}
body.dark-version .list-group-item .text-secondary {
    color: #a0aec0 !important;
}

/* Badges dark mode */
body.dark-version .badge.bg-light {
    background-color: #4a5568 !important;
    color: #ffffff !important;
}

.progress-bar.bg-primary {
    background-color: var(--speezu-primary) !important;
}

.progress-bar.bg-success {
    background-color: var(--speezu-secondary) !important;
}

.progress-bar.bg-info {
    background-color: var(--speezu-accent) !important;
}

.progress-bar.bg-secondary {
    background-color: var(--speezu-secondary) !important;
}

table thead th,
.table thead th {
    color: var(--speezu-primary) !important;
}
