:root {
    --sd-red-rgb: 227, 6, 19;
    --sd-red-hover-rgb: 182, 5, 15;
    --sd-red-active-rgb: 145, 4, 12;
    --sd-red-soft-rgb: 255, 232, 234;
    --sd-navy-rgb: 34, 56, 78;
    --sd-navy-hover-rgb: 24, 43, 61;
    --sd-ice-rgb: 243, 245, 250;
    --sd-white-rgb: 255, 255, 255;
    --sd-muted-rgb: 99, 115, 130;
    --sd-line-rgb: 211, 218, 226;
    --sd-canvas-rgb: 255, 255, 255;
    --sd-surface-rgb: 255, 255, 255;
    --sd-surface-muted-rgb: 243, 245, 250;
    --sd-ink-rgb: 34, 56, 78;
    --sd-overlay-shadow: 0 0.75rem 2.25rem rgba(34, 56, 78, 0.16);
    --sd-radius-control: 0.25rem;
    --sd-radius-panel: 0.375rem;
    --sd-font-family: "Sora", system-ui, -apple-system, "Segoe UI", sans-serif;
    --sd-font-utility: "Sora", system-ui, -apple-system, "Segoe UI", sans-serif;
    --oa-accent-rgb: var(--sd-red-rgb);
    --oa-accent-hover-rgb: var(--sd-red-hover-rgb);
    --oa-accent-active-rgb: var(--sd-red-active-rgb);
    --oa-accent-subtle-rgb: var(--sd-red-soft-rgb);
    --oa-accent-border-rgb: 247, 172, 177;
    --oa-accent-text-emphasis-rgb: 145, 4, 12;
    --oa-secondary-rgb: var(--sd-navy-rgb);
    --oa-secondary-hover-rgb: var(--sd-navy-hover-rgb);
    --oa-secondary-subtle-rgb: 226, 232, 238;
    --oa-secondary-border-rgb: 171, 185, 198;
    --oa-secondary-text-emphasis-rgb: 24, 43, 61;
    --oa-info-rgb: var(--sd-muted-rgb);
    --oa-info-hover-rgb: 75, 91, 106;
    --oa-info-active-rgb: 60, 76, 91;
    --oa-info-on-rgb: var(--sd-white-rgb);
    --oa-info-subtle-rgb: 232, 236, 241;
    --oa-info-border-rgb: 196, 205, 214;
    --oa-info-text-emphasis-rgb: 60, 76, 91;
    --oa-surface-base-rgb: var(--sd-canvas-rgb);
    --oa-surface-tint-rgb: var(--sd-surface-muted-rgb);
    --oa-surface-line-rgb: var(--sd-line-rgb);
    --oa-surface-line-opacity: 0.42;
    --oa-surface-accent-opacity: 0.08;
    --oa-card-shadow: none;
    --oa-card-border-color: rgb(var(--sd-line-rgb));
    --oa-sidebar-base-rgb: var(--sd-surface-muted-rgb);
    --oa-sidebar-tint-rgb: 236, 240, 246;
    --oa-sidebar-accent-opacity: 0.08;
    --bs-body-font-family: var(--sd-font-family);
    --bs-body-bg: rgb(var(--sd-canvas-rgb));
    --bs-body-color: rgb(var(--sd-ink-rgb));
    --bs-emphasis-color: rgb(var(--sd-ink-rgb));
    --bs-secondary-color: rgb(var(--sd-muted-rgb));
    --bs-tertiary-bg: rgb(var(--sd-surface-muted-rgb));
    --bs-tertiary-bg-rgb: var(--sd-surface-muted-rgb);
    --bs-border-color: rgb(var(--sd-line-rgb));
    --bs-border-color-translucent: rgba(var(--sd-line-rgb), 0.68);
    --bs-heading-color: rgb(var(--sd-ink-rgb));
    --bs-border-radius: var(--sd-radius-control);
    --bs-border-radius-sm: var(--sd-radius-control);
    --bs-border-radius-lg: var(--sd-radius-panel);
    --bs-primary-rgb: var(--sd-red-rgb);
    --bs-primary: rgb(var(--sd-red-rgb));
    --bs-primary-text-emphasis: rgb(var(--oa-accent-text-emphasis-rgb));
    --bs-primary-bg-subtle: rgb(var(--oa-accent-subtle-rgb));
    --bs-primary-border-subtle: rgb(var(--oa-accent-border-rgb));
    --bs-secondary-rgb: var(--sd-navy-rgb);
    --bs-secondary: rgb(var(--sd-navy-rgb));
    --bs-secondary-text-emphasis: rgb(var(--oa-secondary-text-emphasis-rgb));
    --bs-secondary-bg-subtle: rgb(var(--oa-secondary-subtle-rgb));
    --bs-secondary-border-subtle: rgb(var(--oa-secondary-border-rgb));
    --bs-info-rgb: var(--oa-info-rgb);
    --bs-info: rgb(var(--oa-info-rgb));
    --bs-info-text-emphasis: rgb(var(--oa-info-text-emphasis-rgb));
    --bs-info-bg-subtle: rgb(var(--oa-info-subtle-rgb));
    --bs-info-border-subtle: rgb(var(--oa-info-border-rgb));
    --bs-link-color: rgb(var(--sd-red-rgb));
    --bs-link-color-rgb: var(--sd-red-rgb);
    --bs-link-hover-color: rgb(var(--sd-red-hover-rgb));
    --bs-link-hover-color-rgb: var(--sd-red-hover-rgb);
    --bs-focus-ring-color: rgba(var(--sd-red-rgb), 0.24)
}

[data-bs-theme=dark] {
    --sd-red-rgb: 227, 6, 19;
    --sd-red-hover-rgb: 255, 58, 69;
    --sd-red-active-rgb: 191, 5, 16;
    --sd-red-soft-rgb: 64, 25, 31;
    --sd-navy-rgb: 243, 245, 250;
    --sd-navy-hover-rgb: 255, 255, 255;
    --sd-ice-rgb: 29, 48, 67;
    --sd-white-rgb: 255, 255, 255;
    --sd-muted-rgb: 176, 189, 202;
    --sd-line-rgb: 62, 83, 104;
    --sd-canvas-rgb: 17, 27, 38;
    --sd-surface-rgb: 29, 48, 67;
    --sd-surface-muted-rgb: 24, 41, 57;
    --sd-ink-rgb: 243, 245, 250;
    --sd-overlay-shadow: 0 0.9rem 2.5rem rgba(0, 0, 0, 0.42);
    --oa-accent-rgb: var(--sd-red-rgb);
    --oa-accent-hover-rgb: var(--sd-red-hover-rgb);
    --oa-accent-active-rgb: var(--sd-red-active-rgb);
    --oa-accent-subtle-rgb: var(--sd-red-soft-rgb);
    --oa-accent-border-rgb: 124, 45, 53;
    --oa-accent-text-emphasis-rgb: 255, 164, 169;
    --oa-secondary-rgb: 207, 218, 229;
    --oa-secondary-hover-rgb: 235, 241, 247;
    --oa-secondary-subtle-rgb: 37, 58, 78;
    --oa-secondary-border-rgb: 83, 105, 125;
    --oa-secondary-text-emphasis-rgb: 235, 241, 247;
    --oa-info-rgb: 176, 189, 202;
    --oa-info-hover-rgb: 205, 215, 224;
    --oa-info-active-rgb: 151, 167, 182;
    --oa-info-on-rgb: 17, 27, 38;
    --oa-info-subtle-rgb: 37, 58, 78;
    --oa-info-border-rgb: 83, 105, 125;
    --oa-info-text-emphasis-rgb: 220, 229, 237;
    --oa-surface-base-rgb: var(--sd-canvas-rgb);
    --oa-surface-tint-rgb: var(--sd-surface-muted-rgb);
    --oa-surface-line-rgb: var(--sd-line-rgb);
    --oa-surface-line-opacity: 0.5;
    --oa-surface-accent-opacity: 0.12;
    --oa-card-shadow: none;
    --oa-card-border-color: rgb(var(--sd-line-rgb));
    --oa-sidebar-base-rgb: var(--sd-surface-muted-rgb);
    --oa-sidebar-tint-rgb: var(--sd-surface-rgb);
    --oa-sidebar-accent-opacity: 0.1;
    --bs-body-font-family: var(--sd-font-family);
    --bs-body-bg: rgb(var(--sd-canvas-rgb));
    --bs-body-color: rgb(var(--sd-ink-rgb));
    --bs-emphasis-color: rgb(var(--sd-ink-rgb));
    --bs-secondary-color: rgb(var(--sd-muted-rgb));
    --bs-tertiary-bg: rgb(var(--sd-surface-muted-rgb));
    --bs-tertiary-bg-rgb: var(--sd-surface-muted-rgb);
    --bs-border-color: rgb(var(--sd-line-rgb));
    --bs-border-color-translucent: rgba(var(--sd-line-rgb), 0.74);
    --bs-heading-color: rgb(var(--sd-ink-rgb));
    --bs-primary-rgb: var(--sd-red-rgb);
    --bs-primary: rgb(var(--sd-red-rgb));
    --bs-primary-text-emphasis: rgb(var(--oa-accent-text-emphasis-rgb));
    --bs-primary-bg-subtle: rgb(var(--oa-accent-subtle-rgb));
    --bs-primary-border-subtle: rgb(var(--oa-accent-border-rgb));
    --bs-secondary-rgb: var(--oa-secondary-rgb);
    --bs-secondary: rgb(var(--oa-secondary-rgb));
    --bs-secondary-text-emphasis: rgb(var(--oa-secondary-text-emphasis-rgb));
    --bs-secondary-bg-subtle: rgb(var(--oa-secondary-subtle-rgb));
    --bs-secondary-border-subtle: rgb(var(--oa-secondary-border-rgb));
    --bs-info-rgb: var(--oa-info-rgb);
    --bs-info: rgb(var(--oa-info-rgb));
    --bs-info-text-emphasis: rgb(var(--oa-info-text-emphasis-rgb));
    --bs-info-bg-subtle: rgb(var(--oa-info-subtle-rgb));
    --bs-info-border-subtle: rgb(var(--oa-info-border-rgb));
    --bs-link-color: rgb(255, 107, 115);
    --bs-link-color-rgb: 255, 107, 115;
    --bs-link-hover-color: rgb(255, 153, 158);
    --bs-link-hover-color-rgb: 255, 153, 158;
    --bs-focus-ring-color: rgba(255, 107, 115, 0.3)
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: rgb(var(--oa-accent-rgb));
    --bs-btn-border-color: rgb(var(--oa-accent-rgb));
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: rgb(var(--oa-accent-hover-rgb));
    --bs-btn-hover-border-color: rgb(var(--oa-accent-hover-rgb));
    --bs-btn-focus-shadow-rgb: var(--oa-accent-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: rgb(var(--oa-accent-active-rgb));
    --bs-btn-active-border-color: rgb(var(--oa-accent-active-rgb));
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: rgb(var(--oa-accent-rgb));
    --bs-btn-disabled-border-color: rgb(var(--oa-accent-rgb))
}

.btn-outline-primary {
    --bs-btn-color: rgb(var(--oa-accent-rgb));
    --bs-btn-border-color: rgb(var(--oa-accent-rgb));
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: rgb(var(--oa-accent-rgb));
    --bs-btn-hover-border-color: rgb(var(--oa-accent-rgb));
    --bs-btn-focus-shadow-rgb: var(--oa-accent-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: rgb(var(--oa-accent-active-rgb));
    --bs-btn-active-border-color: rgb(var(--oa-accent-active-rgb));
    --bs-btn-disabled-color: rgb(var(--oa-accent-rgb));
    --bs-btn-disabled-border-color: rgb(var(--oa-accent-rgb))
}

.btn-secondary {
    --bs-btn-bg: rgb(var(--oa-secondary-rgb));
    --bs-btn-border-color: rgb(var(--oa-secondary-rgb));
    --bs-btn-hover-bg: rgb(var(--oa-secondary-hover-rgb));
    --bs-btn-hover-border-color: rgb(var(--oa-secondary-hover-rgb));
    --bs-btn-focus-shadow-rgb: var(--oa-secondary-rgb);
    --bs-btn-active-bg: rgb(var(--oa-secondary-hover-rgb));
    --bs-btn-active-border-color: rgb(var(--oa-secondary-hover-rgb));
    --bs-btn-disabled-bg: rgb(var(--oa-secondary-rgb));
    --bs-btn-disabled-border-color: rgb(var(--oa-secondary-rgb))
}

.btn-outline-secondary {
    --bs-btn-color: rgb(var(--oa-secondary-rgb));
    --bs-btn-border-color: rgb(var(--oa-secondary-rgb));
    --bs-btn-hover-bg: rgb(var(--oa-secondary-rgb));
    --bs-btn-hover-border-color: rgb(var(--oa-secondary-rgb));
    --bs-btn-focus-shadow-rgb: var(--oa-secondary-rgb);
    --bs-btn-active-bg: rgb(var(--oa-secondary-hover-rgb));
    --bs-btn-active-border-color: rgb(var(--oa-secondary-hover-rgb));
    --bs-btn-disabled-color: rgb(var(--oa-secondary-rgb));
    --bs-btn-disabled-border-color: rgb(var(--oa-secondary-rgb))
}

.btn-info {
    --bs-btn-color: rgb(var(--oa-info-on-rgb));
    --bs-btn-bg: rgb(var(--oa-info-rgb));
    --bs-btn-border-color: rgb(var(--oa-info-rgb));
    --bs-btn-hover-color: rgb(var(--oa-info-on-rgb));
    --bs-btn-hover-bg: rgb(var(--oa-info-hover-rgb));
    --bs-btn-hover-border-color: rgb(var(--oa-info-hover-rgb));
    --bs-btn-focus-shadow-rgb: var(--oa-info-rgb);
    --bs-btn-active-color: rgb(var(--oa-info-on-rgb));
    --bs-btn-active-bg: rgb(var(--oa-info-active-rgb));
    --bs-btn-active-border-color: rgb(var(--oa-info-active-rgb));
    --bs-btn-disabled-color: rgb(var(--oa-info-on-rgb));
    --bs-btn-disabled-bg: rgb(var(--oa-info-rgb));
    --bs-btn-disabled-border-color: rgb(var(--oa-info-rgb))
}

.btn-outline-info {
    --bs-btn-color: rgb(var(--oa-info-rgb));
    --bs-btn-border-color: rgb(var(--oa-info-rgb));
    --bs-btn-hover-color: rgb(var(--oa-info-on-rgb));
    --bs-btn-hover-bg: rgb(var(--oa-info-rgb));
    --bs-btn-hover-border-color: rgb(var(--oa-info-rgb));
    --bs-btn-focus-shadow-rgb: var(--oa-info-rgb);
    --bs-btn-active-color: rgb(var(--oa-info-on-rgb));
    --bs-btn-active-bg: rgb(var(--oa-info-active-rgb));
    --bs-btn-active-border-color: rgb(var(--oa-info-active-rgb));
    --bs-btn-disabled-color: rgb(var(--oa-info-rgb));
    --bs-btn-disabled-border-color: rgb(var(--oa-info-rgb))
}

.alert-primary {
    --bs-alert-color: rgb(var(--oa-accent-text-emphasis-rgb));
    --bs-alert-bg: rgb(var(--oa-accent-subtle-rgb));
    --bs-alert-border-color: rgb(var(--oa-accent-border-rgb));
    --bs-alert-link-color: rgb(var(--oa-accent-text-emphasis-rgb))
}

.alert-secondary {
    --bs-alert-color: rgb(var(--oa-secondary-text-emphasis-rgb));
    --bs-alert-bg: rgb(var(--oa-secondary-subtle-rgb));
    --bs-alert-border-color: rgb(var(--oa-secondary-border-rgb));
    --bs-alert-link-color: rgb(var(--oa-secondary-text-emphasis-rgb))
}

.alert-info {
    --bs-alert-color: rgb(var(--oa-info-text-emphasis-rgb));
    --bs-alert-bg: rgb(var(--oa-info-subtle-rgb));
    --bs-alert-border-color: rgb(var(--oa-info-border-rgb));
    --bs-alert-link-color: rgb(var(--oa-info-text-emphasis-rgb))
}

.dropdown-menu {
    --bs-dropdown-color: rgb(var(--sd-ink-rgb));
    --bs-dropdown-bg: rgb(var(--sd-surface-rgb));
    --bs-dropdown-border-color: rgb(var(--sd-line-rgb));
    --bs-dropdown-link-color: rgb(var(--sd-ink-rgb));
    --bs-dropdown-link-hover-color: rgb(var(--sd-ink-rgb));
    --bs-dropdown-link-hover-bg: rgb(var(--sd-surface-muted-rgb));
    --bs-dropdown-link-active-color: rgb(var(--oa-accent-text-emphasis-rgb));
    --bs-dropdown-link-active-bg: rgba(var(--oa-accent-rgb), 0.14)
}

.nav-pills {
    --bs-nav-pills-link-active-color: rgb(var(--oa-accent-text-emphasis-rgb));
    --bs-nav-pills-link-active-bg: rgba(var(--oa-accent-rgb), 0.14)
}

.nav-tabs {
    --bs-nav-tabs-border-color: rgb(var(--sd-line-rgb));
    --bs-nav-tabs-link-hover-border-color: rgb(var(--sd-line-rgb));
    --bs-nav-tabs-link-active-color: rgb(var(--sd-ink-rgb));
    --bs-nav-tabs-link-active-bg: rgb(var(--sd-surface-rgb));
    --bs-nav-tabs-link-active-border-color: rgb(var(--sd-line-rgb)) rgb(var(--sd-line-rgb)) rgb(var(--sd-surface-rgb))
}

.pagination {
    --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(var(--oa-accent-rgb), 0.25);
    --bs-pagination-active-bg: rgb(var(--oa-accent-rgb));
    --bs-pagination-active-border-color: rgb(var(--oa-accent-rgb))
}

.progress {
    --bs-progress-bar-bg: rgb(var(--oa-accent-rgb))
}

.list-group {
    --bs-list-group-color: rgb(var(--sd-ink-rgb));
    --bs-list-group-bg: rgb(var(--sd-surface-rgb));
    --bs-list-group-border-color: rgb(var(--sd-line-rgb));
    --bs-list-group-action-hover-color: rgb(var(--sd-ink-rgb));
    --bs-list-group-action-hover-bg: rgb(var(--sd-surface-muted-rgb));
    --bs-list-group-active-bg: rgb(var(--oa-accent-rgb));
    --bs-list-group-active-border-color: rgb(var(--oa-accent-rgb))
}

.badge.text-bg-primary, .text-bg-primary {
    background-color: rgb(var(--sd-red-rgb)) !important
}

.badge.text-bg-secondary, .text-bg-secondary {
    background-color: rgb(var(--sd-navy-rgb)) !important
}

.toast, .popover, .modal-content {
    --bs-toast-bg: rgb(var(--sd-surface-rgb));
    --bs-toast-color: rgb(var(--sd-ink-rgb));
    --bs-toast-border-color: rgb(var(--sd-line-rgb));
    --bs-popover-bg: rgb(var(--sd-surface-rgb));
    --bs-popover-body-color: rgb(var(--sd-ink-rgb));
    --bs-popover-border-color: rgb(var(--sd-line-rgb));
    --bs-modal-bg: rgb(var(--sd-surface-rgb));
    --bs-modal-color: rgb(var(--sd-ink-rgb));
    --bs-modal-border-color: rgb(var(--sd-line-rgb));
    --bs-modal-header-border-color: rgb(var(--sd-line-rgb));
    --bs-modal-footer-border-color: rgb(var(--sd-line-rgb))
}

.form-check-input:focus {
    border-color: rgba(var(--oa-accent-rgb), 0.5);
    box-shadow: 0 0 0 .25rem rgba(var(--oa-accent-rgb), 0.25)
}

.form-check-input:checked, .form-check-input[type=checkbox]:indeterminate {
    background-color: rgb(var(--oa-accent-rgb));
    border-color: rgb(var(--oa-accent-rgb))
}

.form-switch .form-check-input:checked {
    background-color: rgb(var(--oa-accent-rgb))
}

.form-range::-webkit-slider-thumb, .form-range::-moz-range-thumb {
    background-color: rgb(var(--oa-accent-rgb))
}

.form-range::-webkit-slider-thumb:active, .form-range::-moz-range-thumb:active {
    background-color: rgb(var(--oa-accent-hover-rgb))
}

[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-secondary-bg);
    --bs-btn-focus-shadow-rgb: var(--bs-secondary-color-rgb);
    --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)
}
