:root {
    --rk-blue: #1f3b6f;
    --rk-blue-hover: #3565bf;
    --rk-orange: #f26722;
    --rk-text: #58595b;
    --rk-cream: #f0f1e8;
    --rk-surface: #ffffff;
    --rk-surface-muted: #f5f5f5;
    --rk-surface-subtle: #e8e8e8;
    --rk-border: #aaaaaa;
    --rk-footer: #000000;

    --bs-primary: var(--rk-blue);
    --bs-primary-rgb: 31, 59, 111;
    --bs-link-color-rgb: 31, 59, 111;
    --bs-link-hover-color-rgb: 242, 103, 34;
    --bs-body-color: var(--rk-text);
    --bs-body-color-rgb: 88, 89, 91;
    --bs-body-bg: var(--rk-surface-muted);
    --bs-secondary-color: rgba(88, 89, 91, 0.75);
    --bs-border-color: var(--rk-border);
    --bs-tertiary-bg: var(--rk-surface-muted);
    --bs-focus-ring-color: rgba(242, 103, 34, 0.25);
}

body {
    background: var(--rk-surface-muted);
    color: var(--rk-text);
}

a {
    color: var(--rk-blue);
}

a:hover,
a:focus {
    color: var(--rk-orange);
}

.navbar {
    border-bottom: 3px solid var(--rk-orange);
}

.navbar-brand {
    align-items: center;
    color: var(--rk-blue) !important;
    display: inline-flex;
    gap: 0.75rem;
    font-weight: 700;
    line-height: 1.1;
    text-decoration: none;
}

.navbar-brand:hover,
.navbar-brand:focus {
    color: var(--rk-blue) !important;
}

.navbar-brand__icon {
    display: block;
    flex: 0 0 auto;
    height: 3rem;
    width: auto;
}

.navbar-brand__content {
    display: flex;
    flex-direction: column;
}

.navbar-brand__title {
    color: var(--rk-blue);
    font-size: 1.1rem;
    font-weight: 700;
}

.navbar-brand__subtitle {
    color: var(--rk-text);
    font-size: 0.8rem;
    font-style: italic;
    font-weight: 500;
}

@media (max-width: 575.98px) {
    .navbar-brand {
        gap: 0.5rem;
    }

    .navbar-brand__icon {
        height: 2.5rem;
    }

    .navbar-brand__title {
        font-size: 1rem;
    }

    .navbar-brand__subtitle {
        font-size: 0.72rem;
    }
}

.navbar .nav-link {
    color: var(--rk-text) !important;
    font-weight: 600;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-link.active {
    color: var(--rk-blue) !important;
}

.card {
    border: 1px solid rgba(170, 170, 170, 0.45);
    box-shadow: 0 0.75rem 2rem rgba(31, 59, 111, 0.08);
}

.card-header,
.modal-header {
    background: var(--rk-blue);
    color: var(--rk-cream);
    border-bottom: 0;
    font-weight: 700;
}

.modal-header .btn-close {
    filter: invert(1) grayscale(1) brightness(200%);
}

.card-body,
.modal-content {
    background: var(--rk-surface);
}

.modal-footer {
    background: var(--rk-surface-muted);
    border-top-color: rgba(170, 170, 170, 0.35);
}

.btn-primary {
    --bs-btn-color: var(--rk-cream);
    --bs-btn-bg: var(--rk-blue);
    --bs-btn-border-color: var(--rk-blue);
    --bs-btn-hover-color: var(--rk-cream);
    --bs-btn-hover-bg: var(--rk-blue-hover);
    --bs-btn-hover-border-color: var(--rk-blue-hover);
    --bs-btn-active-color: var(--rk-cream);
    --bs-btn-active-bg: #16315e;
    --bs-btn-active-border-color: #16315e;
    --bs-btn-disabled-color: var(--rk-cream);
    --bs-btn-disabled-bg: var(--rk-blue);
    --bs-btn-disabled-border-color: var(--rk-blue);
}

.btn-outline-primary {
    --bs-btn-color: var(--rk-blue);
    --bs-btn-border-color: var(--rk-blue);
    --bs-btn-hover-color: var(--rk-cream);
    --bs-btn-hover-bg: var(--rk-blue);
    --bs-btn-hover-border-color: var(--rk-blue);
    --bs-btn-active-color: var(--rk-cream);
    --bs-btn-active-bg: var(--rk-blue-hover);
    --bs-btn-active-border-color: var(--rk-blue-hover);
}

.btn-link {
    color: var(--rk-blue);
    font-weight: 600;
    text-decoration: none;
}

.btn-link:hover,
.btn-link:focus {
    color: var(--rk-orange);
}

.form-control,
.form-select {
    border-color: rgba(170, 170, 170, 0.75);
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    border-color: var(--rk-orange);
    box-shadow: 0 0 0 0.25rem rgba(242, 103, 34, 0.2);
}

.form-check-input:checked {
    background-color: var(--rk-blue);
    border-color: var(--rk-blue);
}

.alert-warning {
    color: #8b4a22;
    background-color: #fff3eb;
    border-color: rgba(242, 103, 34, 0.35);
}

.table > :not(caption) > * > * {
    border-bottom-color: rgba(170, 170, 170, 0.35);
}

footer {
    background: var(--rk-footer);
    color: var(--rk-cream);
}

footer .text-muted,
footer .link-secondary {
    color: rgba(240, 241, 232, 0.72) !important;
}

footer .link-secondary:hover,
footer .link-secondary:focus {
    color: #ffffff !important;
}

.chef-loading-overlay__panel {
    border: 1px solid rgba(31, 59, 111, 0.15);
}
