:root[data-bs-theme="dark"] {
    --elms-course-panel-bg: var(--bs-body-bg);
    --ck-color-base-background: var(--bs-body-bg);
    --ck-color-base-foreground: var(--bs-tertiary-bg);
    --ck-color-base-border: var(--bs-border-color);
    --ck-color-base-text: var(--bs-body-color);
    --ck-color-text: var(--bs-body-color);
    --ck-color-focus-border: var(--bs-primary);
    --ck-color-focus-outer-shadow: rgba(var(--bs-primary-rgb), .25);
    --ck-color-button-default-hover-background: var(--bs-secondary-bg);
    --ck-color-button-default-active-background: var(--bs-secondary-bg);
    --ck-color-button-on-background: var(--bs-primary-bg-subtle);
    --ck-color-button-on-hover-background: var(--bs-primary-border-subtle);
    --ck-color-button-on-active-background: var(--bs-primary-border-subtle);
    --ck-color-button-on-disabled-background: var(--bs-secondary-bg);
    --ck-color-button-on-color: var(--bs-primary-text-emphasis);
    --ck-color-dropdown-panel-background: var(--bs-body-bg);
    --ck-color-dropdown-panel-border: var(--bs-border-color);
    --ck-color-dialog-background: var(--bs-body-bg);
    --ck-color-dialog-form-header-border: var(--bs-border-color);
    --ck-color-input-background: var(--bs-body-bg);
    --ck-color-input-border: var(--bs-border-color);
    --ck-color-input-text: var(--bs-body-color);
    --ck-color-input-disabled-background: var(--bs-tertiary-bg);
    --ck-color-input-disabled-border: var(--bs-border-color);
    --ck-color-input-disabled-text: var(--bs-tertiary-color);
    --ck-color-list-background: var(--bs-body-bg);
    --ck-color-list-button-hover-background: var(--bs-secondary-bg);
    --ck-color-list-button-on-background: var(--bs-primary);
    --ck-color-list-button-on-background-focus: var(--bs-primary);
    --ck-color-list-button-on-text: #fff;
    --ck-color-panel-background: var(--bs-body-bg);
    --ck-color-panel-border: var(--bs-border-color);
    --ck-color-toolbar-background: var(--bs-tertiary-bg);
    --ck-color-toolbar-border: var(--bs-border-color);
    --ck-color-tooltip-background: var(--bs-emphasis-color);
    --ck-color-tooltip-text: var(--bs-body-bg);
    --ck-color-engine-placeholder-text: var(--bs-tertiary-color);
    --ck-color-link-default: var(--bs-link-color);
    --ck-color-labeled-field-label-background: var(--bs-body-bg);
    --ck-color-widget-blurred-border: var(--bs-border-color);
    --ck-color-widget-editable-focus-background: var(--bs-body-bg);
}

[data-bs-theme="dark"] .ck.ck-editor__editable {
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .bg-light,
[data-bs-theme="dark"] .bg-white {
    background-color: var(--bs-tertiary-bg) !important;
}

[data-bs-theme="dark"] .text-bg-light {
    color: var(--bs-body-color) !important;
    background-color: var(--bs-secondary-bg) !important;
}

[data-bs-theme="dark"] .border-light {
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .text-dark:not(.bg-warning):not(.bg-info):not(.badge) {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .text-secondary {
    color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"] .alert-info,
[data-bs-theme="dark"] .alert-danger {
    --bs-alert-color: var(--bs-body-color);
    --bs-alert-bg: var(--bs-tertiary-bg);
    --bs-alert-border-color: var(--bs-border-color);
    border: var(--bs-border-width) solid var(--bs-alert-border-color);
}

[data-bs-theme="dark"] .alert-info {
    border-inline-start: .25rem solid var(--bs-info-border-subtle);
}

[data-bs-theme="dark"] .alert-danger {
    --bs-alert-bg: rgba(var(--bs-danger-rgb), .12);
    --bs-alert-border-color: rgba(var(--bs-danger-rgb), .35);
    border-inline-start: .375rem solid var(--bs-danger);
}

[data-bs-theme="dark"] .btn-light {
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-bg: var(--bs-tertiary-bg);
    --bs-btn-border-color: var(--bs-border-color);
    --bs-btn-hover-color: var(--bs-emphasis-color);
    --bs-btn-hover-bg: var(--bs-secondary-bg);
    --bs-btn-hover-border-color: var(--bs-border-color);
    --bs-btn-active-color: var(--bs-emphasis-color);
    --bs-btn-active-bg: var(--bs-secondary-bg);
    --bs-btn-active-border-color: var(--bs-border-color);
    --bs-btn-disabled-color: var(--bs-secondary-color);
    --bs-btn-disabled-bg: var(--bs-tertiary-bg);
    --bs-btn-disabled-border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .btn:disabled,
[data-bs-theme="dark"] .btn[disabled],
[data-bs-theme="dark"] .btn.disabled {
    color: var(--bs-secondary-color);
    background-color: var(--bs-tertiary-bg);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .table-light {
    --bs-table-color: var(--bs-body-color);
    --bs-table-bg: var(--bs-tertiary-bg);
    --bs-table-border-color: var(--bs-border-color);
    --bs-table-striped-bg: var(--bs-secondary-bg);
    --bs-table-striped-color: var(--bs-body-color);
    --bs-table-hover-bg: var(--bs-secondary-bg);
    --bs-table-hover-color: var(--bs-body-color);
}

[data-bs-theme="dark"] table.dataTable tbody tr.selected > * {
    box-shadow: inset 0 0 0 9999px var(--bs-secondary-bg) !important;
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .hover-row-table tbody tr:hover td,
[data-bs-theme="dark"] .accordion-button {
    color: var(--bs-body-color);
    background-color: var(--bs-tertiary-bg);
}

[data-bs-theme="dark"] .fade-anchor {
    color: var(--bs-body-color);
    background: linear-gradient(to bottom, transparent, transparent 70px, var(--bs-body-bg) 135px);
}

[data-bs-theme="dark"] .tokenfield,
[data-bs-theme="dark"] .tt-dropdown-menu,
[data-bs-theme="dark"] .ui-widget-content,
[data-bs-theme="dark"] .ui-widget-header {
    color: var(--bs-body-color);
    background: var(--bs-tertiary-bg);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .tokenfield .token {
    color: var(--bs-body-color);
    background-color: var(--bs-secondary-bg);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .StripeElement {
    background-color: var(--bs-tertiary-bg);
    border-color: var(--bs-border-color);
    box-shadow: none;
}

[data-bs-theme="dark"] .introjs-tooltip {
    color: var(--bs-body-color);
    background-color: var(--bs-tertiary-bg);
}

[data-bs-theme="dark"] .introjs-dontShowAgain label {
    color: inherit;
    background-color: transparent;
}

.app-logo-dark {
    display: none;
}

[data-bs-theme="dark"] .app-logo-light {
    display: none;
}

[data-bs-theme="dark"] .app-logo-dark {
    display: inline-block;
}
