body.audit-theme {
    --audit-navy: #10283f;
    --audit-primary: #1d4564;
    --audit-primary-hover: #15364f;
    --audit-gold: #ead4a4;
    --audit-text: #172d45;
    --audit-muted: #5e6d7d;
    --audit-background: #f5f7fa;
    --audit-surface: #fff;
    --audit-subtle: #edf2f7;
    --audit-selected: #e4edf5;
    --audit-border: #dfe6ee;
    --audit-radius: 0.65rem;
    --audit-shadow: 0 4px 18px rgb(23 45 69 / 5%);
    --bs-primary: #1d4564;
    --bs-primary-rgb: 29, 69, 100;
    --bs-body-color: var(--audit-text);
    --bs-body-bg: var(--audit-background);
    --bs-secondary-color: var(--audit-muted);
    --bs-border-color: var(--audit-border);
    --bs-link-color: var(--audit-primary);
    --bs-link-color-rgb: 29, 69, 100;
    --bs-link-hover-color: var(--audit-navy);
    --bs-link-hover-color-rgb: 16, 40, 63;
    color: var(--audit-text);
    background: var(--audit-background);
}

.audit-footer-content {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.25rem 1rem;
    font-size: 0.75rem;
}

.audit-theme .audit-footer {
    color: var(--audit-muted);
    background: var(--audit-surface);
    padding: 0.5rem 1.5rem;
}

.audit-theme .audit-footer a {
    color: var(--audit-muted);
}

.audit-theme .app-main {
    min-height: 0;
}

.audit-theme .layout-content {
    background: var(--audit-background);
}

.audit-theme .layout-sidebar {
    border-color: var(--audit-border);
    background: var(--audit-surface);
}

.audit-theme .sidebar-menu .menu-link {
    color: var(--audit-muted);
    border-radius: 0.45rem;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.audit-theme .sidebar-menu .menu-link:hover {
    color: var(--audit-primary);
    background: var(--audit-subtle);
}

.audit-theme .sidebar-menu .menu-item.active > .menu-link {
    color: var(--audit-navy);
    background: var(--audit-selected);
    box-shadow: inset 3px 0 var(--audit-gold);
    font-weight: 600;
}

.audit-theme .sidebar-menu .menu-item.active-parent > .menu-link {
    color: var(--audit-navy);
    font-weight: 600;
}

.audit-theme .audit-header,
.audit-theme .eng-header {
    color: #fff;
    background: linear-gradient(120deg, var(--audit-navy), var(--audit-primary));
    border-bottom: 1px solid rgb(255 255 255 / 15%);
    margin-bottom: 0;
}

.audit-theme .audit-header .navbar {
    --bs-navbar-color: #d0dde8;
    --bs-navbar-hover-color: #fff;
    --bs-navbar-active-color: #fff;
    --bs-navbar-brand-color: #fff;
    --bs-navbar-brand-hover-color: #fff;
    padding: 0.65rem 1.25rem;
}

.audit-theme .audit-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    white-space: normal;
    word-break: normal;
    font-size: 1rem;
    font-weight: 600;
    text-align: left;
}

.audit-theme .audit-brand-mark {
    display: inline-grid;
    place-items: center;
    flex: 0 0 2.25rem;
    width: 2.25rem;
    height: 2.25rem;
    border: 1px solid #aebfce;
    border-radius: 0.55rem;
    color: var(--audit-gold);
    font-size: 0.8rem;
    letter-spacing: 0.05em;
}

.audit-theme .audit-brand-provider {
    display: block;
    color: #d0dde8;
    font-size: 0.65rem;
    font-weight: 400;
    letter-spacing: 0.03em;
}

.audit-theme .audit-header .nav-link {
    color: #d0dde8;
    overflow-wrap: anywhere;
}

.audit-theme .audit-header .nav-link:hover,
.audit-theme .audit-header .nav-link:focus-visible {
    color: #fff;
}

.audit-theme .eng-header {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 1rem 1.5rem;
}

.audit-theme .eng-header > div,
.audit-theme .engagement-heading {
    min-width: 0;
}

.audit-theme .engagement-heading h1 {
    font-size: 1.15rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.audit-theme .engagement-meta {
    color: #d0dde8;
    overflow-wrap: anywhere;
}

.audit-theme .eng-header .btn-outline-light {
    --bs-btn-color: #fff;
    --bs-btn-border-color: #aebfce;
    --bs-btn-hover-color: var(--audit-navy);
    --bs-btn-hover-bg: #fff;
    --bs-btn-hover-border-color: #fff;
    --bs-btn-active-color: var(--audit-navy);
    --bs-btn-active-bg: var(--audit-selected);
    --bs-btn-active-border-color: #fff;
}

.audit-theme :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid var(--audit-primary);
    outline-offset: 3px;
}

.audit-theme :where(.audit-header, .eng-header) :focus-visible {
    outline-color: var(--audit-gold);
}

.audit-theme .btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--audit-primary);
    --bs-btn-border-color: var(--audit-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--audit-primary-hover);
    --bs-btn-hover-border-color: var(--audit-primary-hover);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--audit-navy);
    --bs-btn-active-border-color: var(--audit-navy);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--audit-primary);
    --bs-btn-disabled-border-color: var(--audit-primary);
    --bs-btn-focus-shadow-rgb: 29, 69, 100;
    color: var(--bs-btn-color);
    background-color: var(--bs-btn-bg);
    border-color: var(--bs-btn-border-color);
}

.audit-theme .btn-primary:hover {
    color: var(--bs-btn-hover-color);
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color);
}

.audit-theme .btn-primary:active,
.audit-theme .btn-primary.active {
    background-color: var(--bs-btn-active-bg);
    border-color: var(--bs-btn-active-border-color);
}

.audit-theme .btn-primary:disabled,
.audit-theme .btn-primary.disabled {
    background-color: var(--bs-btn-disabled-bg);
    border-color: var(--bs-btn-disabled-border-color);
}

.audit-theme .btn-outline-primary,
.audit-theme .btn-outline-secondary {
    --bs-btn-color: var(--audit-primary);
    --bs-btn-border-color: #879bad;
    --bs-btn-hover-color: var(--audit-navy);
    --bs-btn-hover-bg: var(--audit-selected);
    --bs-btn-hover-border-color: var(--audit-primary);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--audit-primary);
    --bs-btn-active-border-color: var(--audit-primary);
    --bs-btn-disabled-color: var(--audit-muted);
    --bs-btn-disabled-border-color: #879bad;
    --bs-btn-focus-shadow-rgb: 29, 69, 100;
}

.audit-theme .btn {
    border-radius: 0.45rem;
}

.audit-theme .btn:focus-visible {
    box-shadow: 0 0 0 0.2rem rgb(29 69 100 / 16%);
}

.audit-theme .form-control,
.audit-theme .form-select {
    color: var(--audit-text);
    background-color: var(--audit-surface);
    border-color: #aebfce;
    border-radius: 0.45rem;
}

.audit-theme .form-control:disabled,
.audit-theme .form-select:disabled {
    color: var(--audit-muted);
    background-color: var(--audit-subtle);
}

.audit-theme .form-control:focus,
.audit-theme .form-select:focus,
.audit-theme .form-check-input:focus {
    border-color: var(--audit-primary);
    box-shadow: 0 0 0 0.2rem rgb(29 69 100 / 16%);
}

.audit-theme .form-control.is-invalid,
.audit-theme .form-select.is-invalid {
    border-color: var(--bs-form-invalid-border-color);
}

.audit-theme .form-control.is-valid,
.audit-theme .form-select.is-valid {
    border-color: var(--bs-form-valid-border-color);
}

.audit-theme .form-check-input:checked {
    background-color: var(--audit-primary);
    border-color: var(--audit-primary);
}

.audit-theme .form-label {
    font-weight: 600;
    font-size: 0.875rem;
}

.audit-theme .card {
    --bs-card-bg: var(--audit-surface);
    --bs-card-border-color: var(--audit-border);
    --bs-card-border-radius: var(--audit-radius);
    --bs-card-cap-bg: var(--audit-subtle);
    --bs-card-cap-color: var(--audit-text);
    box-shadow: var(--audit-shadow);
}

.audit-theme .card-header,
.audit-theme .card-footer {
    border-color: var(--audit-border);
    background-color: var(--audit-subtle);
}

.audit-theme .audit-page-heading {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
}

.audit-theme .audit-page-title {
    margin: 0;
    color: var(--audit-navy);
    font-size: 1.4rem;
    font-weight: 650;
    letter-spacing: -0.02em;
}

.audit-theme .audit-page-description {
    color: var(--audit-muted);
    margin: 0.35rem 0 0;
    font-size: 0.875rem;
}

.audit-theme .audit-filter-bar {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--audit-border);
}

.audit-theme .table:not(.table-dark, .table-primary, .table-secondary, .table-success, .table-danger, .table-warning, .table-info) {
    --bs-table-color: var(--audit-text);
    --bs-table-bg: var(--audit-surface);
    --bs-table-border-color: var(--audit-border);
    --bs-table-striped-color: var(--audit-text);
    --bs-table-striped-bg: #f7f9fb;
    --bs-table-hover-color: var(--audit-text);
    --bs-table-hover-bg: var(--audit-subtle);
    --bs-table-active-color: var(--audit-navy);
    --bs-table-active-bg: var(--audit-selected);
    font-variant-numeric: tabular-nums;
}

.audit-theme .table:not(.table-dark) > thead > tr > th {
    color: var(--audit-text);
    background-color: var(--audit-subtle);
    border-bottom-color: #aebfce;
    font-size: 0.82rem;
    font-weight: 600;
    vertical-align: middle;
}

.audit-theme .table tfoot {
    font-weight: 600;
    border-top: 2px solid #aebfce;
}

.audit-theme .audit-amount,
.audit-theme .extraction-amount-input {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.audit-theme .pagination {
    --bs-pagination-color: var(--audit-primary);
    --bs-pagination-bg: var(--audit-surface);
    --bs-pagination-border-color: var(--audit-border);
    --bs-pagination-hover-color: var(--audit-navy);
    --bs-pagination-hover-bg: var(--audit-subtle);
    --bs-pagination-hover-border-color: #aebfce;
    --bs-pagination-active-bg: var(--audit-primary);
    --bs-pagination-active-border-color: var(--audit-primary);
    --bs-pagination-focus-color: var(--audit-navy);
    --bs-pagination-focus-bg: var(--audit-selected);
    --bs-pagination-focus-box-shadow: 0 0 0 0.2rem rgb(29 69 100 / 16%);
}

.audit-theme .nav-tabs,
.audit-theme .nav-pills {
    --bs-nav-link-color: var(--audit-muted);
    --bs-nav-link-hover-color: var(--audit-primary);
    --bs-nav-tabs-link-active-color: var(--audit-navy);
    --bs-nav-tabs-link-active-bg: var(--audit-surface);
    --bs-nav-tabs-link-active-border-color: var(--audit-border) var(--audit-border) var(--audit-surface);
    --bs-nav-pills-link-active-color: var(--audit-navy);
    --bs-nav-pills-link-active-bg: var(--audit-selected);
}

.audit-theme .nav-pills .nav-link.active,
.audit-theme .nav-pills .show > .nav-link {
    color: var(--audit-navy);
    background-color: var(--audit-selected);
    border-color: var(--audit-border);
    box-shadow: inset 0 -3px var(--audit-gold);
}

.audit-theme .nav-tabs .nav-link.active {
    box-shadow: inset 0 -3px var(--audit-gold);
    font-weight: 600;
}

.audit-theme .modal-content,
.audit-theme .offcanvas,
.audit-theme .dropdown-menu {
    color: var(--audit-text);
    background-color: var(--audit-surface);
    border-color: var(--audit-border);
    box-shadow: var(--audit-shadow);
}

.audit-theme .modal-header,
.audit-theme .modal-footer,
.audit-theme .offcanvas-header {
    background-color: var(--audit-subtle);
    border-color: var(--audit-border);
}

.audit-theme .dropdown-menu {
    --bs-dropdown-link-color: var(--audit-text);
    --bs-dropdown-link-hover-bg: var(--audit-subtle);
    --bs-dropdown-link-active-bg: var(--audit-primary);
}

.audit-theme .badge.bg-primary,
.audit-theme .badge.bg-secondary,
.audit-theme .badge.bg-success,
.audit-theme .badge.bg-danger,
.audit-theme .badge.bg-dark {
    color: #fff;
    border-color: transparent;
}

.audit-theme .alert {
    border-radius: var(--audit-radius);
}

.audit-theme .list-group {
    --bs-list-group-color: var(--audit-text);
    --bs-list-group-bg: var(--audit-surface);
    --bs-list-group-border-color: var(--audit-border);
    --bs-list-group-action-hover-color: var(--audit-primary);
    --bs-list-group-action-hover-bg: var(--audit-subtle);
    --bs-list-group-active-color: #fff;
    --bs-list-group-active-bg: var(--audit-primary);
    --bs-list-group-active-border-color: var(--audit-primary);
}

.audit-theme .accordion {
    --bs-accordion-bg: var(--audit-surface);
    --bs-accordion-border-color: var(--audit-border);
    --bs-accordion-btn-color: var(--audit-text);
    --bs-accordion-active-color: var(--audit-navy);
    --bs-accordion-active-bg: var(--audit-selected);
    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.2rem rgb(29 69 100 / 16%);
}

.audit-theme .account-detail-actions .btn-primary:hover {
    border-color: var(--audit-primary-hover);
    background: var(--audit-primary-hover);
}

.audit-theme .tb-grid,
.audit-theme .wp-proc-table {
    font-variant-numeric: tabular-nums;
}

.audit-theme .tb-tabs,
.audit-theme .tb-subtabs {
    flex-wrap: wrap;
    gap: 0.25rem;
}

.audit-theme .tb-tab,
.audit-theme .tb-subtab {
    flex-shrink: 0;
}

.audit-theme .tb-toolbar,
.audit-theme .tb-toolbar__left,
.audit-theme .tb-toolbar__right,
.audit-theme .tb-toolbar__group {
    flex-wrap: wrap;
}

.audit-theme .tb-toolbar {
    gap: 0.5rem;
    margin-bottom: 0.25rem;
    padding-bottom: 0.25rem;
}

.audit-theme .tb-grid-host {
    min-height: 0;
}

.audit-theme.audit-editor {
    background: var(--audit-background);
}

@media (max-width: 768px) {
    .audit-theme .page-fill-layout {
        height: auto;
        min-height: 100%;
        overflow: visible;
    }

    .audit-theme .page-fill-layout .fill-card {
        height: auto;
    }

    .audit-theme .page-fill-layout .fill-card__scroll-region {
        flex: 0 0 auto;
        max-height: 60vh;
    }

    .audit-theme .layout-sidebar {
        flex: 0 0 auto;
        min-height: 0;
    }

    .audit-theme .layout-content {
        min-height: 0;
    }

    .audit-theme .eng-header {
        padding: 0.75rem 1rem;
        gap: 0.75rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .audit-theme .sidebar-menu .menu-link {
        transition: none;
    }
}
