:root {
    --aznv-accent-1: #c0c7ff;
    --aznv-accent-2: #92a1eb;
    --aznv-accent-3: #667ed1;
    --aznv-accent-4: #5870bc;
    --aznv-accent-5: #4a5e9d;
    --aznv-accent-rgb-1: 192, 199, 255;
    --aznv-accent-rgb-2: 146, 161, 235;
    --aznv-accent-rgb-3: 102, 126, 209;
    --aznv-accent-rgb-4: 88, 112, 188;
    --aznv-accent-rgb-5: 74, 94, 157;
    --aznv-surface-base: #101115;
    --aznv-surface-shell: #14161c;
    --aznv-surface-elevated: #1a1d24;
    --aznv-surface-overlay: #16181f;
    --aznv-surface-muted: #1e2129;
    --aznv-surface-soft: rgba(255, 255, 255, 0.04);
    --aznv-surface-soft-strong: rgba(255, 255, 255, 0.06);
    --aznv-accent-wash: rgba(var(--aznv-accent-rgb-2), 0.08);
    --aznv-accent-wash-strong: rgba(var(--aznv-accent-rgb-2), 0.14);
    --aznv-border-subtle: rgba(var(--aznv-accent-rgb-2), 0.16);
    --aznv-border-strong: rgba(var(--aznv-accent-rgb-2), 0.26);
    --aznv-shadow-soft: 0 18px 45px rgba(0, 0, 0, 0.34);
    --aznv-shadow-panel: 0 22px 55px rgba(0, 0, 0, 0.4);
    --aznv-focus-ring: rgba(var(--aznv-accent-rgb-2), 0.25);
    --aznv-nav-pill-active-bg: rgba(var(--aznv-accent-rgb-3), 0.32);
    --aznv-alert-info-background: rgba(var(--aznv-accent-rgb-3), 0.15);
    --aznv-alert-info-border: rgba(var(--aznv-accent-rgb-2), 0.45);
    --aznv-alert-info-color: #e1e6ff;
    --aznv-accent-text-strong: rgba(var(--aznv-accent-rgb-1), 0.86);
    --aznv-accent-text-muted: rgba(var(--aznv-accent-rgb-1), 0.72);
    --aznv-accent-surface-gradient: linear-gradient(135deg, rgba(var(--aznv-accent-rgb-2), 0.16), rgba(var(--aznv-accent-rgb-3), 0.08));
    --aznv-accent-surface-gradient-strong: linear-gradient(135deg, rgba(var(--aznv-accent-rgb-2), 0.9), rgba(var(--aznv-accent-rgb-3), 0.9));
    --aznv-accordion-active-background: rgba(var(--aznv-accent-rgb-5), 0.64);
    --aznv-accordion-hover-shadow: rgba(var(--aznv-accent-rgb-3), 0.4);
    --aznv-page-background:
        radial-gradient(circle at top center, rgba(var(--aznv-accent-rgb-2), 0.08), transparent 30%),
        linear-gradient(180deg, #101115 0%, #12141a 42%, #0f1116 100%);
    --aznv-panel-background:
        radial-gradient(circle at top left, rgba(var(--aznv-accent-rgb-2), 0.09), transparent 34%),
        linear-gradient(180deg, rgba(26, 29, 36, 0.98) 0%, rgba(18, 20, 26, 0.98) 100%);
    --aznv-overlay-background:
        radial-gradient(circle at top left, rgba(var(--aznv-accent-rgb-2), 0.08), transparent 30%),
        linear-gradient(180deg, rgba(18, 20, 26, 0.99) 0%, rgba(14, 16, 21, 0.99) 100%);
    --aznv-lavender-1: var(--aznv-accent-1);
    --aznv-lavender-2: var(--aznv-accent-2);
    --aznv-lavender-3: var(--aznv-accent-3);
    --aznv-lavender-4: var(--aznv-accent-4);
    --aznv-lavender-5: var(--aznv-accent-5);
    --aznv-lavender-wash: var(--aznv-accent-wash);
    --aznv-lavender-wash-strong: var(--aznv-accent-wash-strong);
}

[data-aznv-theme="blue"] {
    --aznv-accent-1: #c0c7ff;
    --aznv-accent-2: #92a1eb;
    --aznv-accent-3: #667ed1;
    --aznv-accent-4: #5870bc;
    --aznv-accent-5: #4a5e9d;
    --aznv-accent-rgb-1: 192, 199, 255;
    --aznv-accent-rgb-2: 146, 161, 235;
    --aznv-accent-rgb-3: 102, 126, 209;
    --aznv-accent-rgb-4: 88, 112, 188;
    --aznv-accent-rgb-5: 74, 94, 157;
    --aznv-alert-info-color: #e1e6ff;
    --aznv-accent-text-strong: rgba(var(--aznv-accent-rgb-1), 0.86);
    --aznv-accent-text-muted: rgba(var(--aznv-accent-rgb-1), 0.72);
    --aznv-accent-surface-gradient: linear-gradient(135deg, rgba(var(--aznv-accent-rgb-2), 0.16), rgba(var(--aznv-accent-rgb-3), 0.08));
    --aznv-accent-surface-gradient-strong: linear-gradient(135deg, rgba(var(--aznv-accent-rgb-2), 0.9), rgba(var(--aznv-accent-rgb-3), 0.9));
}

[data-aznv-theme="lavender"] {
    --aznv-accent-1: #D6A4FF;
    --aznv-accent-2: #AB81CD;
    --aznv-accent-3: #723a9f;
    --aznv-accent-4: #65318f;
    --aznv-accent-5: #57297c;
    --aznv-accent-rgb-1: 214, 164, 255;
    --aznv-accent-rgb-2: 171, 129, 205;
    --aznv-accent-rgb-3: 114, 58, 159;
    --aznv-accent-rgb-4: 101, 49, 143;
    --aznv-accent-rgb-5: 87, 41, 124;
    --aznv-alert-info-color: #e6dbf2;
}

.bg-aznv-lavender-1 {
    background-color: var(--aznv-lavender-1)
}

.bg-aznv-lavender-2 {
    background-color: var(--aznv-lavender-2)
}

.bg-aznv-lavender-3 {
    background-color: var(--aznv-lavender-3)
}

.bg-aznv-lavender-4 {
    background-color: var(--aznv-lavender-4)
}

.bg-aznv-lavender-5 {
    background-color: var(--aznv-lavender-5)
}

.border-aznv-lavender-1 {
    border-color: var(--aznv-lavender-1)
}

.border-aznv-lavender-2 {
    border-color: var(--aznv-lavender-2)
}

.border-aznv-lavender-3 {
    border-color: var(--aznv-lavender-3)
}

.bg-aznv-surface-shell {
    background: var(--aznv-panel-background);
}

.bg-aznv-surface-overlay {
    background: var(--aznv-overlay-background);
}

.text-aznv-accent,
.text-aznv-lavender-2,
a {
    color: var(--aznv-lavender-2);
}

[data-bs-theme=dark] {
    --bs-body-color: #e7e8ec;
    --bs-body-color-rgb: 231,232,236;
    --bs-body-bg: var(--aznv-surface-base);
    --bs-body-bg-rgb: 16,17,21;
    --bs-secondary-color: rgba(231, 232, 236, 0.72);
    --bs-secondary-color-rgb: 231,232,236;
    --bs-tertiary-color: rgba(231, 232, 236, 0.58);
    --bs-tertiary-color-rgb: 231,232,236;
    --bs-secondary-bg: var(--aznv-surface-muted);
    --bs-secondary-bg-rgb: 30,33,41;
    --bs-tertiary-bg: var(--aznv-surface-shell);
    --bs-tertiary-bg-rgb: 20,22,28;
    --bs-dark-bg-subtle: var(--aznv-surface-shell);
    --bs-dark-border-subtle: rgba(var(--aznv-accent-rgb-2), 0.18);
    --bs-secondary-bg-subtle: var(--aznv-surface-muted);
    --bs-secondary-border-subtle: rgba(var(--aznv-accent-rgb-2), 0.16);
    --bs-border-color: rgba(var(--aznv-accent-rgb-2), 0.16);
    --bs-border-color-translucent: rgba(var(--aznv-accent-rgb-2), 0.14);
    --bs-link-color: var(--aznv-lavender-2);
    --bs-link-hover-color: var(--aznv-lavender-1);
}

[data-bs-theme=dark] body {
    background: var(--aznv-page-background);
}

[data-bs-theme=dark] .bg-body,
[data-bs-theme=dark] .bg-body-tertiary {
    background-color: var(--aznv-surface-shell) !important;
}

[data-bs-theme=dark] .bg-body-secondary {
    background-color: var(--aznv-surface-soft) !important;
}

[data-bs-theme=dark] .bg-dark,
[data-bs-theme=dark] .bg-dark-subtle {
    background-color: var(--aznv-surface-overlay) !important;
}

[data-bs-theme=dark] .border-secondary,
[data-bs-theme=dark] .border-secondary-subtle {
    border-color: var(--aznv-border-subtle) !important;
}

[data-bs-theme=dark] .alert-dark {
    background:
        radial-gradient(circle at top left, rgba(var(--aznv-accent-rgb-2), 0.08), transparent 36%),
        linear-gradient(180deg, rgba(24, 26, 33, 0.98) 0%, rgba(18, 20, 26, 0.98) 100%);
    border: 1px solid var(--aznv-border-subtle);
    color: var(--bs-body-color);
}

.aznv-btn-link {
    color: var(--aznv-lavender-2) !important;
}

    a:hover, .aznv-btn-link:hover, .aznv-btn-link:active, .btn-link:hover {
        color: var(--aznv-lavender-1) !important;
    }

.form-check-input:checked {
    background-color: var(--aznv-accent-2);
    border-color: var(--aznv-accent-2);
}

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    background-color: var(--aznv-nav-pill-active-bg) !important;
}

.aznv-btn-accent,
.aznv-btn-lavender-3 {
    background-color: var(--aznv-lavender-3);
    color: #ffffffd6;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
    .aznv-btn-accent:hover,
    .aznv-btn-lavender-3:hover {
        background-color: var(--aznv-lavender-4) !important;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(var(--aznv-accent-rgb-3), 0.4);
    }
    .aznv-btn-accent:active,
    .aznv-btn-lavender-3:active {
        background-color: var(--aznv-lavender-5) !important;
        transform: translateY(0);
    }

.aznv-btn-lavender-2 {
    background-color: var(--aznv-lavender-2);
    color: #ffffffd6;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: none;
}
    .aznv-btn-lavender-2:hover {
        background-color: var(--aznv-lavender-3) !important;
        color: #ffffff !important;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(var(--aznv-accent-rgb-2), 0.4);
    }
    .aznv-btn-lavender-2:active {
        background-color: var(--aznv-lavender-4) !important;
        transform: translateY(0);
    }

.aznv-btn-check:checked + .aznv-btn, .aznv-btn.active, .aznv-btn.show, .aznv-btn:first-child:active, :not(.aznv-btn-check) + .aznv-btn:active {
    color: #FFF;
    border-color: var(--aznv-lavender-1);
    background-color: var(--aznv-lavender-3);
}

.aznv-btn-primary {
    color: #FFF;
    background-color: var(--aznv-lavender-3);
    border-color: var(--aznv-lavender-3);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

    .aznv-btn-primary:hover {
        background-color: var(--aznv-lavender-4) !important;
        border-color: var(--aznv-lavender-4) !important;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(var(--aznv-accent-rgb-3), 0.4);
    }

    .aznv-btn-primary:active {
        background-color: var(--aznv-lavender-5) !important;
        border-color: var(--aznv-lavender-5) !important;
        transform: translateY(0);
    }

.aznv-btn-outline-primary {
    color: var(--aznv-lavender-2);
    border-color: var(--aznv-lavender-2);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

    .aznv-btn-outline-primary:hover {
        background-color: var(--aznv-lavender-4) !important;
        border-color: var(--aznv-lavender-2);
        color: #FFF !important;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(var(--aznv-accent-rgb-3), 0.3);
    }

    .aznv-btn-outline-primary:active {
        background-color: var(--aznv-lavender-3) !important;
        color: #FFF !important;
        transform: translateY(0);
    }

.aznv-page-link {
    position: relative;
    display: block;
    padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
    font-size: var(--bs-pagination-font-size);
    color: var(--aznv-lavender-2);
    text-decoration: none;
    background-color: var(--bs-pagination-bg);
    border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

    .aznv-page-link:hover {
        background-color: var(--bs-pagination-hover-bg);
        border-color: var(--bs-pagination-hover-border-color);
    }

.active > .aznv-page-link, .aznv-page-link.active {
    background-color: var(--aznv-lavender-3);
    border-color: var(--aznv-lavender-3);
    color: #FFF;
}

.aznv-alert-info {
    background-color: var(--aznv-alert-info-background);
    border-color: var(--aznv-alert-info-border);
    color: var(--aznv-alert-info-color);
}

.accordion-button:not(.collapsed) {
    color: #fff;
    background-color: var(--aznv-accordion-active-background);
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .125);
}
    .accordion-button:not(.collapsed):hover {
        background-color: var(--aznv-lavender-4);
    }
    .accordion-button:not(.collapsed):active {
        background-color: var(--aznv-lavender-5);
    }

.accordion-button.collapsed:hover {
        background-color: var(--aznv-lavender-4);
    }

.accordion-button.collapsed:active {
        background-color: var(--aznv-lavender-5);
    }

.accordion-button:focus {
    box-shadow: 0 0 0 0.25rem var(--aznv-focus-ring)
}

[data-bs-theme=dark] .card {
    background: var(--aznv-panel-background);
    border: 1px solid var(--aznv-border-subtle);
    box-shadow: var(--aznv-shadow-soft);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

    [data-bs-theme=dark] .card:hover {
        border-color: rgba(var(--aznv-accent-rgb-2), 0.28);
    }

[data-bs-theme=dark] .table {
    --bs-table-bg: var(--aznv-surface-elevated);
    --bs-table-striped-bg: var(--aznv-surface-muted);
    --bs-table-border-color: rgba(var(--aznv-accent-rgb-2), 0.15);
}

[data-bs-theme=dark] .table-hover tbody tr:hover {
    background-color: rgba(var(--aznv-accent-rgb-2), 0.08);
}

[data-bs-theme=dark] .table-active {
    background-color: rgba(var(--aznv-accent-rgb-3), 0.18);
}

[data-bs-theme=dark] .modal-content {
    background: var(--aznv-overlay-background);
    border: 1px solid var(--aznv-border-strong);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6);
    border-radius: 1rem;
    backdrop-filter: blur(10px);
}

[data-bs-theme=dark] .modal-header {
    border-bottom: 1px solid var(--aznv-border-subtle);
    padding: 1.25rem 1.5rem;
}

[data-bs-theme=dark] .modal-footer {
    border-top: 1px solid var(--aznv-border-subtle);
    padding: 1rem 1.5rem;
}

[data-bs-theme=dark] .modal-backdrop {
    backdrop-filter: blur(4px);
}

[data-bs-theme=dark] .form-control,
[data-bs-theme=dark] .form-select {
    background-color: rgba(17, 19, 24, 0.94);
    border-color: rgba(var(--aznv-accent-rgb-2), 0.22);
    color: #e2e3e8;
    transition: all 0.3s ease;
}

    [data-bs-theme=dark] .form-control:focus,
    [data-bs-theme=dark] .form-select:focus {
        border-color: var(--aznv-lavender-2);
        box-shadow: 0 0 0 0.2rem var(--aznv-focus-ring);
        background-color: rgba(22, 24, 31, 0.98);
    }

    [data-bs-theme=dark] .form-control:hover,
    [data-bs-theme=dark] .form-select:hover {
        border-color: rgba(var(--aznv-accent-rgb-2), 0.4);
    }

[data-bs-theme=dark] .input-group-text {
    background-color: rgba(var(--aznv-accent-rgb-2), 0.08);
    border-color: rgba(var(--aznv-accent-rgb-2), 0.2);
    color: var(--aznv-lavender-1);
}

[data-bs-theme=dark] .nav-link {
    color: rgba(226, 227, 232, 0.75);
    transition: color 0.3s ease;
}

    [data-bs-theme=dark] .nav-link:hover {
        color: var(--aznv-lavender-2);
    }

    [data-bs-theme=dark] .nav-link.active {
        color: var(--aznv-lavender-1);
    }

[data-bs-theme=dark] .dropdown-menu {
    background: var(--aznv-overlay-background);
    border: 1px solid var(--aznv-border-strong);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.5);
    border-radius: 0.75rem;
    padding: 0.5rem;
    backdrop-filter: blur(10px);
}

[data-bs-theme=dark] .dropdown-item {
    color: rgba(226, 227, 232, 0.9);
    border-radius: 0.5rem;
    padding: 0.6rem 1rem;
    transition: all 0.2s ease;
}

    [data-bs-theme=dark] .dropdown-item:hover {
        background-color: rgba(var(--aznv-accent-rgb-2), 0.14);
        color: var(--aznv-lavender-1);
    }

    [data-bs-theme=dark] .dropdown-item.active,
    [data-bs-theme=dark] .dropdown-item:active {
        background-color: rgba(var(--aznv-accent-rgb-2), 0.2);
        color: #fff;
    }

[data-bs-theme=dark] .dropdown-divider {
    border-color: rgba(var(--aznv-accent-rgb-2), 0.2);
    margin: 0.5rem 0;
}

[data-bs-theme=dark] .offcanvas {
    background: var(--aznv-overlay-background);
    border-color: var(--aznv-border-subtle);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}

[data-bs-theme=dark] .offcanvas-header,
[data-bs-theme=dark] .offcanvas-body {
    background: transparent;
}

[data-bs-theme=dark] .list-group-item {
    background-color: var(--aznv-surface-elevated);
    border-color: var(--aznv-border-subtle);
    color: inherit;
}

[data-bs-theme=dark] .navbar-toggler {
    border-color: rgba(var(--aznv-accent-rgb-2), 0.22);
    background-color: rgba(255, 255, 255, 0.02);
}

[data-bs-theme=dark] .navbar-toggler:focus {
    box-shadow: 0 0 0 0.2rem rgba(var(--aznv-accent-rgb-2), 0.18);
}




