:root {
    --beycom-logo-blue: #4cbce4;
    --beycom-primary: #08799d;
    --beycom-primary-rgb: 8, 121, 157;
    --beycom-primary-hover: #06617e;
    --beycom-accent: #08799d;
    --beycom-wash: #eaf7fb;
    --beycom-active: #d9f0f8;
    --beycom-border: #bddfea;
    --accent-gold: var(--beycom-accent);
    --bs-primary: var(--beycom-primary);
    --bs-primary-rgb: var(--beycom-primary-rgb);
    --bs-primary-bg-subtle: var(--beycom-wash);
    --bs-primary-border-subtle: var(--beycom-border);
    --bs-primary-text-emphasis: var(--beycom-accent);
    --bs-link-color: var(--beycom-accent);
    --bs-link-color-rgb: var(--beycom-primary-rgb);
    --bs-link-hover-color: var(--beycom-primary-hover);
    --bs-link-hover-color-rgb: 6, 97, 126;
}

html[data-ui-theme="executive"] {
    --bg-light: #f5f8f9;
    --sidebar-bg: #f1f9fc;
    --sidebar-text: #38515e;
    --sidebar-muted: #6d8690;
    --sidebar-border: #d5e7ee;
    --panel-border: #dde6eb;
}

html[data-ui-theme="dark"] {
    --beycom-accent: #74d3ed;
    --beycom-wash: #17313b;
    --beycom-active: #1c3c49;
    --beycom-border: #335866;
    --accent-gold: var(--beycom-accent);
    --bs-primary-bg-subtle: var(--beycom-wash);
    --bs-primary-border-subtle: var(--beycom-border);
    --bs-primary-text-emphasis: var(--beycom-accent);
    --bs-link-color: var(--beycom-accent);
    --bs-link-color-rgb: 116, 211, 237;
    --bs-link-hover-color: #b0eafa;
    --bs-link-hover-color-rgb: 176, 234, 250;
}

.btn-primary, .btn-primary-custom {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--beycom-primary);
    --bs-btn-border-color: var(--beycom-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--beycom-primary-hover);
    --bs-btn-hover-border-color: var(--beycom-primary-hover);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #054e67;
    --bs-btn-active-border-color: #054e67;
    --bs-btn-disabled-bg: var(--beycom-primary);
    --bs-btn-disabled-border-color: var(--beycom-primary);
    --bs-btn-focus-shadow-rgb: var(--beycom-primary-rgb);
}

.btn-primary-custom { background: var(--beycom-primary); }
.btn-primary-custom:hover, .btn-primary-custom:focus-visible { background: var(--beycom-primary-hover); }
.btn-primary-custom:focus-visible { box-shadow: 0 0 0 3px rgba(var(--beycom-primary-rgb), .25); }
html[data-ui-theme="dark"] .text-primary { color: var(--beycom-accent) !important; }
html[data-ui-theme] .link-primary { color: var(--beycom-accent) !important; }
html[data-ui-theme] .link-primary:hover { color: var(--bs-link-hover-color) !important; }
.btn-outline-primary {
    --bs-btn-color: var(--beycom-accent);
    --bs-btn-border-color: var(--beycom-accent);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--beycom-primary);
    --bs-btn-hover-border-color: var(--beycom-primary);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--beycom-primary-hover);
    --bs-btn-active-border-color: var(--beycom-primary-hover);
    --bs-btn-disabled-color: var(--beycom-accent);
    --bs-btn-disabled-border-color: var(--beycom-accent);
    --bs-btn-focus-shadow-rgb: var(--beycom-primary-rgb);
}

html .form-control:focus, html .form-select:focus,
html[data-ui-theme="dark"] .form-control:focus, html[data-ui-theme="dark"] .form-select:focus {
    border-color: var(--beycom-accent);
    box-shadow: 0 0 0 3px rgba(var(--beycom-primary-rgb), .16);
}
.form-check-input:checked { background-color: var(--beycom-primary); border-color: var(--beycom-primary); }
.form-check-input:focus { border-color: var(--beycom-accent); box-shadow: 0 0 0 3px rgba(var(--beycom-primary-rgb), .16); }
html .pagination, html[data-ui-theme="dark"] .pagination {
    --bs-pagination-color: var(--beycom-accent);
    --bs-pagination-hover-color: var(--beycom-accent);
    --bs-pagination-active-bg: var(--beycom-primary);
    --bs-pagination-active-border-color: var(--beycom-primary);
}

html[data-ui-theme="executive"] body { background: var(--bg-light); }
html[data-ui-theme="executive"] .sidebar {
    background: var(--sidebar-bg);
    color: var(--sidebar-text);
    border-right-color: var(--sidebar-border);
}
html[data-ui-theme="executive"] .sidebar-brand { border-bottom-color: var(--sidebar-border); }
html[data-ui-theme="executive"] .sidebar-section-label { color: #617e8a; }
html[data-ui-theme="executive"] .sidebar .nav-link { color: #38515e; }
html[data-ui-theme="executive"] .sidebar .nav-link i { color: #5c7c8b; }
html[data-ui-theme="executive"] .sidebar .nav-link:hover { color: #14536b; background: #e4f2f7; }
html[data-ui-theme="executive"] .sidebar .nav-link[aria-expanded="true"] { color: #244957; }
html[data-ui-theme="executive"] .sidebar-account {
    background: #f1f9fc;
    border-top-color: var(--sidebar-border);
}
html[data-ui-theme="executive"] .sidebar-logout { color: #38515e; border-color: #b8d5df; }
html[data-ui-theme="executive"] .sidebar-logout:hover { background: #e4f2f7; color: #14536b; border-color: #88bdce; }
html[data-ui-theme="executive"] .sidebar-navigation::-webkit-scrollbar-thumb { background: #b4d3df; }

html[data-ui-theme="executive"] .sidebar .nav-link.active,
html[data-ui-theme="executive"] .sidebar .nav-link[aria-current="page"],
html[data-ui-theme="dark"] .sidebar .nav-link.active,
html[data-ui-theme="dark"] .sidebar .nav-link[aria-current="page"] {
    color: var(--beycom-accent);
    background: var(--beycom-active);
    border-color: var(--beycom-border);
    box-shadow: inset 3px 0 var(--beycom-logo-blue);
}
html[data-ui-theme] .sidebar .nav-link.active i,
html[data-ui-theme] .sidebar .nav-link[aria-current="page"] i { color: var(--beycom-accent); }
html[data-ui-theme] .sidebar .collapse .nav-link[aria-current="page"]::before { background: var(--beycom-accent); }
html[data-ui-theme] .sidebar-account-avatar { background: var(--beycom-wash); color: var(--beycom-accent); }
html[data-ui-theme] .top-navbar { border-bottom: 2px solid var(--beycom-logo-blue); }
html[data-ui-theme] .top-navbar .bg-warning { background: var(--beycom-primary) !important; color: #fff !important; }
html[data-ui-theme] .top-navbar .bg-primary-subtle { color: var(--beycom-accent) !important; border-color: var(--beycom-border) !important; }
html[data-ui-theme] .table thead th { --bs-table-bg: var(--beycom-wash); }
html[data-ui-theme] .select2-container--bootstrap-5 .select2-results__option--highlighted,
html[data-ui-theme] .select2-container--default .select2-results__option--highlighted,
html[data-ui-theme="dark"] .select2-results__option--highlighted {
    background: var(--beycom-primary) !important;
    color: #fff !important;
}
html[data-ui-theme] .select2-container--bootstrap-5.select2-container--focus .select2-selection,
html[data-ui-theme] .select2-container--default.select2-container--focus .select2-selection { border-color: var(--beycom-accent); }
