/* ==========================================================================
   Unified Color Theme
   Restores the Bootstrap 3 color palette and maps it to both
   Bootstrap 5 CSS variables and Kendo UI CSS variables.
   This file MUST load after bootstrap.css and kendo bootstrap-main.css.
   ========================================================================== */

:root,
[data-bs-theme="light"] {
    /* ------------------------------------------------------------------
       1. App Color Palette (single source of truth)
       ------------------------------------------------------------------ */
    --app-primary: #337ab7;
    --app-primary-hover: #286090;
    --app-primary-active: #204d74;
    --app-primary-rgb: 51, 122, 183;
    --app-secondary: #efefef;
    --app-secondary-hover: #c1c1c1;
    --app-secondary-active: #a1a1a1;
    --app-secondary-rgb: 239, 239, 239;
    --app-secondary-text: #424242;
    --app-success: #5cb85c;
    --app-success-hover: #449d44;
    --app-success-active: #398439;
    --app-success-rgb: 92, 184, 92;
    --app-info: #5bc0de;
    --app-info-hover: #31b0d5;
    --app-info-active: #269abc;
    --app-info-rgb: 91, 192, 222;
    --app-warning: #f0ad4e;
    --app-warning-hover: #ec971f;
    --app-warning-active: #d58512;
    --app-warning-rgb: 240, 173, 78;
    --app-danger: #d9534f;
    --app-danger-hover: #c9302c;
    --app-danger-active: #ac2925;
    --app-danger-rgb: 217, 83, 79;
    /* Subtle backgrounds (alert / badge backgrounds) */
    --app-primary-subtle: #d4e5f7;
    --app-success-subtle: #dff0d8;
    --app-info-subtle: #d9edf7;
    --app-warning-subtle: #fcf8e3;
    --app-danger-subtle: #f2dede;
    /* Subtle borders */
    --app-primary-border-subtle: #9fc8e8;
    --app-success-border-subtle: #b2dba1;
    --app-info-border-subtle: #a6dff0;
    --app-warning-border-subtle: #f5d89e;
    --app-danger-border-subtle: #e6a8a4;
    /* Text emphasis (dark tints for text on subtle backgrounds) */
    --app-primary-text-emphasis: #1a3e5c;
    --app-success-text-emphasis: #254b24;
    --app-info-text-emphasis: #245059;
    --app-warning-text-emphasis: #604520;
    --app-danger-text-emphasis: #572120;
    /* ------------------------------------------------------------------
       2. Bootstrap 5 variable overrides
       ------------------------------------------------------------------ */
    /* Named colors */
    --bs-blue: var(--app-primary);
    --bs-green: var(--app-success);
    --bs-cyan: var(--app-info);
    --bs-yellow: var(--app-warning);
    --bs-red: var(--app-danger);
    /* Semantic colors */
    --bs-primary: var(--app-primary);
    --bs-success: var(--app-success);
    --bs-info: var(--app-info);
    --bs-warning: var(--app-warning);
    --bs-danger: var(--app-danger);
    --bs-secondary: var(--app-secondary);
    /* RGB triplets (used by BS5 for rgba() utilities) */
    --bs-primary-rgb: var(--app-primary-rgb);
    --bs-success-rgb: var(--app-success-rgb);
    --bs-info-rgb: var(--app-info-rgb);
    --bs-warning-rgb: var(--app-warning-rgb);
    --bs-danger-rgb: var(--app-danger-rgb);
    --bs-secondary-rgb: var(--app-secondary-rgb);
    /* Subtle backgrounds */
    --bs-primary-bg-subtle: var(--app-primary-subtle);
    --bs-success-bg-subtle: var(--app-success-subtle);
    --bs-info-bg-subtle: var(--app-info-subtle);
    --bs-warning-bg-subtle: var(--app-warning-subtle);
    --bs-danger-bg-subtle: var(--app-danger-subtle);
    /* Subtle borders */
    --bs-primary-border-subtle: var(--app-primary-border-subtle);
    --bs-success-border-subtle: var(--app-success-border-subtle);
    --bs-info-border-subtle: var(--app-info-border-subtle);
    --bs-warning-border-subtle: var(--app-warning-border-subtle);
    --bs-danger-border-subtle: var(--app-danger-border-subtle);
    /* Text emphasis */
    --bs-primary-text-emphasis: var(--app-primary-text-emphasis);
    --bs-success-text-emphasis: var(--app-success-text-emphasis);
    --bs-info-text-emphasis: var(--app-info-text-emphasis);
    --bs-warning-text-emphasis: var(--app-warning-text-emphasis);
    --bs-danger-text-emphasis: var(--app-danger-text-emphasis);
    /* Link color */
    --bs-link-color: var(--app-primary);
    --bs-link-hover-color: var(--app-primary-hover);
    --bs-link-color-rgb: var(--app-primary-rgb);
    /* ------------------------------------------------------------------
       3. Kendo UI variable overrides
       ------------------------------------------------------------------ */
    /* Primary */
    --kendo-color-primary: var(--app-primary);
    --kendo-color-primary-hover: var(--app-primary-hover);
    --kendo-color-primary-active: var(--app-primary-active);
    --kendo-color-primary-subtle: var(--app-primary-subtle);
    --kendo-color-primary-on-surface: var(--app-primary);
    --kendo-color-on-primary: #ffffff;
    --kendo-color-primary-emphasis: rgba(var(--app-primary-rgb), 0.4);
    /* Secondary */
    --kendo-color-secondary: var(--app-secondary);
    --kendo-color-secondary-hover: var(--app-secondary-hover);
    --kendo-color-secondary-active: var(--app-secondary-active);
    /* Success */
    --kendo-color-success: var(--app-success);
    --kendo-color-success-hover: var(--app-success-hover);
    --kendo-color-success-active: var(--app-success-active);
    --kendo-color-success-subtle: var(--app-success-subtle);
    --kendo-color-success-on-surface: var(--app-success);
    --kendo-color-on-success: #ffffff;
    --kendo-color-success-emphasis: rgba(var(--app-success-rgb), 0.4);
    /* Info */
    --kendo-color-info: var(--app-info);
    --kendo-color-info-hover: var(--app-info-hover);
    --kendo-color-info-active: var(--app-info-active);
    --kendo-color-info-subtle: var(--app-info-subtle);
    --kendo-color-info-on-surface: var(--app-info);
    --kendo-color-on-info: #ffffff;
    --kendo-color-info-emphasis: rgba(var(--app-info-rgb), 0.4);
    /* Warning */
    --kendo-color-warning: var(--app-warning);
    --kendo-color-warning-hover: var(--app-warning-hover);
    --kendo-color-warning-active: var(--app-warning-active);
    --kendo-color-warning-subtle: var(--app-warning-subtle);
    --kendo-color-warning-on-surface: var(--app-warning);
    --kendo-color-on-warning: #ffffff;
    --kendo-color-warning-emphasis: rgba(var(--app-warning-rgb), 0.4);
    /* Danger / Error (Kendo uses "error" instead of "danger") */
    --kendo-color-error: var(--app-danger);
    --kendo-color-error-hover: var(--app-danger-hover);
    --kendo-color-error-active: var(--app-danger-active);
    --kendo-color-error-subtle: var(--app-danger-subtle);
    --kendo-color-error-on-surface: var(--app-danger);
    --kendo-color-on-error: #ffffff;
    --kendo-color-error-emphasis: rgba(var(--app-danger-rgb), 0.4);
}

/* ------------------------------------------------------------------
   4. Bootstrap 5 component-level overrides
   BS5 hard-codes colors in some component classes rather than
   using the root variables. Override the most common ones here.
   ------------------------------------------------------------------ */

.btn {
    --bs-btn-font-size: .9rem;
}

.btn-primary {
    --bs-btn-bg: var(--app-primary);
    --bs-btn-border-color: var(--app-primary-hover);
    --bs-btn-hover-bg: var(--app-primary-hover);
    --bs-btn-hover-border-color: var(--app-primary-active);
    --bs-btn-active-bg: var(--app-primary-active);
    --bs-btn-active-border-color: var(--app-primary-active);
    --bs-btn-disabled-bg: var(--app-primary);
    --bs-btn-disabled-border-color: var(--app-primary);
}

.btn-secondary {
    --bs-btn-color: var(--app-secondary-text);
    --bs-btn-bg: var(--app-secondary);
    --bs-btn-border-color: var(--app-secondary-hover);
    --bs-btn-hover-bg: var(--app-secondary-hover);
    --bs-btn-hover-border-color: var(--app-secondary-active);
    --bs-btn-active-bg: var(--app-secondary-active);
    --bs-btn-active-border-color: var(--app-secondary-active);
    --bs-btn-disabled-bg: var(--app-secondary);
    --bs-btn-disabled-border-color: var(--app-secondary);
    --bs-btn-hover-color: var(--app-secondary-text);
}

.btn-success {
    --bs-btn-bg: var(--app-success);
    --bs-btn-border-color: var(--app-success-hover);
    --bs-btn-hover-bg: var(--app-success-hover);
    --bs-btn-hover-border-color: var(--app-success-active);
    --bs-btn-active-bg: var(--app-success-active);
    --bs-btn-active-border-color: var(--app-success-active);
    --bs-btn-disabled-bg: var(--app-success);
    --bs-btn-disabled-border-color: var(--app-success);
}

.btn-info {
    --bs-btn-bg: var(--app-info);
    --bs-btn-border-color: var(--app-info-hover);
    --bs-btn-hover-bg: var(--app-info-hover);
    --bs-btn-hover-border-color: var(--app-info-active);
    --bs-btn-active-bg: var(--app-info-active);
    --bs-btn-active-border-color: var(--app-info-active);
    --bs-btn-disabled-bg: var(--app-info);
    --bs-btn-disabled-border-color: var(--app-info);
    --bs-btn-color: #ffffff;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-active-color: #ffffff;
}

.btn-warning {
    --bs-btn-bg: var(--app-warning);
    --bs-btn-border-color: var(--app-warning-hover);
    --bs-btn-hover-bg: var(--app-warning-hover);
    --bs-btn-hover-border-color: var(--app-warning-active);
    --bs-btn-active-bg: var(--app-warning-active);
    --bs-btn-active-border-color: var(--app-warning-active);
    --bs-btn-disabled-bg: var(--app-warning);
    --bs-btn-disabled-border-color: var(--app-warning);
}

.btn-danger {
    --bs-btn-bg: var(--app-danger);
    --bs-btn-border-color: var(--app-danger-hover);
    --bs-btn-hover-bg: var(--app-danger-hover);
    --bs-btn-hover-border-color: var(--app-danger-active);
    --bs-btn-active-bg: var(--app-danger-active);
    --bs-btn-active-border-color: var(--app-danger-active);
    --bs-btn-disabled-bg: var(--app-danger);
    --bs-btn-disabled-border-color: var(--app-danger);
}

.btn-outline-primary {
    --bs-btn-color: var(--app-primary);
    --bs-btn-border-color: var(--app-primary-hover);
    --bs-btn-hover-bg: var(--app-primary);
    --bs-btn-hover-border-color: var(--app-primary);
    --bs-btn-active-bg: var(--app-primary-active);
    --bs-btn-active-border-color: var(--app-primary-active);
}

.btn-outline-success {
    --bs-btn-color: var(--app-success);
    --bs-btn-border-color: var(--app-success);
    --bs-btn-hover-bg: var(--app-success);
    --bs-btn-hover-border-color: var(--app-success);
    --bs-btn-active-bg: var(--app-success-active);
    --bs-btn-active-border-color: var(--app-success-active);
}

.btn-outline-info {
    --bs-btn-color: var(--app-info);
    --bs-btn-border-color: var(--app-info);
    --bs-btn-hover-bg: var(--app-info);
    --bs-btn-hover-border-color: var(--app-info);
    --bs-btn-active-bg: var(--app-info-active);
    --bs-btn-active-border-color: var(--app-info-active);
}

.btn-outline-warning {
    --bs-btn-color: var(--app-warning);
    --bs-btn-border-color: var(--app-warning);
    --bs-btn-hover-bg: var(--app-warning);
    --bs-btn-hover-border-color: var(--app-warning);
    --bs-btn-active-bg: var(--app-warning-active);
    --bs-btn-active-border-color: var(--app-warning-active);
}

.btn-outline-danger {
    --bs-btn-color: var(--app-danger);
    --bs-btn-border-color: var(--app-danger);
    --bs-btn-hover-bg: var(--app-danger);
    --bs-btn-hover-border-color: var(--app-danger);
    --bs-btn-active-bg: var(--app-danger-active);
    --bs-btn-active-border-color: var(--app-danger-active);
}

.navbar {
    --bs-navbar-padding-y: 0.25rem;
    --bs-nav-link-font-size: .9rem;
    --bs-navbar-nav-link-padding-x: .75rem;
}

.dropdown-menu {
    --bs-dropdown-font-size: var(--bs-nav-link-font-size);
}


/* Alerts */
.alert-primary {
    --bs-alert-bg: var(--app-primary-subtle);
    --bs-alert-border-color: var(--app-primary-border-subtle);
    --bs-alert-color: var(--app-primary-text-emphasis);
}

.alert-success {
    --bs-alert-bg: var(--app-success-subtle);
    --bs-alert-border-color: var(--app-success-border-subtle);
    --bs-alert-color: var(--app-success-text-emphasis);
}

.alert-info {
    --bs-alert-bg: var(--app-info-subtle);
    --bs-alert-border-color: var(--app-info-border-subtle);
    --bs-alert-color: var(--app-info-text-emphasis);
}

.alert-warning {
    --bs-alert-bg: var(--app-warning-subtle);
    --bs-alert-border-color: var(--app-warning-border-subtle);
    --bs-alert-color: var(--app-warning-text-emphasis);
}

.alert-danger {
    --bs-alert-bg: var(--app-danger-subtle);
    --bs-alert-border-color: var(--app-danger-border-subtle);
    --bs-alert-color: var(--app-danger-text-emphasis);
}

/* Badges */
.badge.text-bg-primary {
    background-color: var(--app-primary) !important;
}

.badge.text-bg-success {
    background-color: var(--app-success) !important;
}

.badge.text-bg-info {
    background-color: var(--app-info) !important;
}

.badge.text-bg-warning {
    background-color: var(--app-warning) !important;
}

.badge.text-bg-danger {
    background-color: var(--app-danger) !important;
}

.bg-primary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--app-primary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-success {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--app-success-rgb), var(--bs-bg-opacity)) !important;
}

.bg-info {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--app-info-rgb), var(--bs-bg-opacity)) !important;
}

.bg-warning {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--app-warning-rgb), var(--bs-bg-opacity)) !important;
}

.bg-danger {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--app-danger-rgb), var(--bs-bg-opacity)) !important;
}

/* Text colors */
.text-primary {
    color: var(--app-primary) !important;
}

.text-success {
    color: var(--app-success) !important;
}

.text-info {
    color: var(--app-info) !important;
}

.text-warning {
    color: var(--app-warning) !important;
}

.text-danger {
    color: var(--app-danger) !important;
}

/* Border colors */
.border-primary {
    border-color: var(--app-primary) !important;
}

.border-success {
    border-color: var(--app-success) !important;
}

.border-info {
    border-color: var(--app-info) !important;
}

.border-warning {
    border-color: var(--app-warning) !important;
}

.border-danger {
    border-color: var(--app-danger) !important;
}

/* Links */
a {
    color: var(--app-primary);
}

    a:hover {
        color: var(--app-primary-hover);
    }

/* Progress bars */
.progress-bar {
    background-color: var(--app-primary);
}

/* List groups */
.list-group-item-primary {
    --bs-list-group-bg: var(--app-primary-subtle);
    --bs-list-group-color: var(--app-primary-text-emphasis);
    --bs-list-group-border-color: var(--app-primary-border-subtle);
}

.list-group-item-success {
    --bs-list-group-bg: var(--app-success-subtle);
    --bs-list-group-color: var(--app-success-text-emphasis);
    --bs-list-group-border-color: var(--app-success-border-subtle);
}

.list-group-item-info {
    --bs-list-group-bg: var(--app-info-subtle);
    --bs-list-group-color: var(--app-info-text-emphasis);
    --bs-list-group-border-color: var(--app-info-border-subtle);
}

.list-group-item-warning {
    --bs-list-group-bg: var(--app-warning-subtle);
    --bs-list-group-color: var(--app-warning-text-emphasis);
    --bs-list-group-border-color: var(--app-warning-border-subtle);
}

.list-group-item-danger {
    --bs-list-group-bg: var(--app-danger-subtle);
    --bs-list-group-color: var(--app-danger-text-emphasis);
    --bs-list-group-border-color: var(--app-danger-border-subtle);
}

.k-tabstrip-items .k-tabstrip-item, .k-tabstrip-items .k-item {
    border-color: var(--kendo-color-border, rgba(0, 0, 0, 0.08));
}
