
:root {
    --app-primary: #0A4DFF;
    --app-secondary: #00C2E0;
    --app-accent: #FFC107;
    --app-background: #F7FAFF;
    --app-card-background: #FFFFFF;
    --app-surface: #FFFFFF;
    --app-text: #0D1B2A;
    --app-text-muted: #5B6B7C;
    --app-border: #E3E8EF;
    --app-success: #22C55E;
    --app-info: #0EA5E9;
    --app-warning: #F59E0B;
    --app-danger: #EF4444;
    --app-error: #EF4444;
    --app-dark: #073CBD;
    --app-primary-deep: #0631A3;
    --app-primary-hover: #0842DB;
    --app-primary-rgb: 10, 77, 255;
    --app-secondary-rgb: 0, 194, 224;
    --app-accent-rgb: 255, 193, 7;
    --app-success-rgb: 34, 197, 94;
    --app-info-rgb: 14, 165, 233;
    --app-warning-rgb: 245, 158, 11;
    --app-danger-rgb: 239, 68, 68;
    --app-error-rgb: 239, 68, 68;
}


/* AI TOOLBOX global DB-driven topbar/navbar theme. */
.navbar,
.topbar {
    background: rgba(var(--app-primary-rgb), .08) !important;
}

.navbar .nav-link,
.topbar .nav-link,
.navbar > .container > a:not(.dropdown-item),
.topbar > .container > a:not(.dropdown-item) {
    color: var(--app-dark) !important;
}

.navbar .nav-link:hover,
.topbar .nav-link:hover,
.navbar .nav-link.active,
.topbar .nav-link.active {
    color: var(--app-primary-deep) !important;
}

.navbar .dropdown-menu,
.topbar .dropdown-menu {
    background: var(--app-card-background) !important;
}

.navbar .dropdown-menu .dropdown-item,
.topbar .dropdown-menu .dropdown-item {
    color: var(--app-text) !important;
    font-weight: 600;
}

.navbar .dropdown-menu .dropdown-item i,
.topbar .dropdown-menu .dropdown-item i {
    color: var(--app-secondary) !important;
}

.navbar .dropdown-menu .dropdown-item:hover,
.topbar .dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu .dropdown-item.active,
.topbar .dropdown-menu .dropdown-item.active {
    background: rgba(var(--app-primary-rgb), .06) !important;
    color: var(--app-primary-deep) !important;
}

.navbar .dropdown-menu .dropdown-item.text-danger,
.topbar .dropdown-menu .dropdown-item.text-danger {
    color: var(--app-danger) !important;
}

.navbar .dropdown-menu .dropdown-item.text-danger i,
.topbar .dropdown-menu .dropdown-item.text-danger i {
    color: var(--app-danger) !important;
}

/* Global DB-driven primary actions. */
.btn-primary,
.btn-primary:visited,
button.btn-primary,
input[type="submit"].btn-primary,
input[type="button"].btn-primary,
a.btn-primary {
    background: var(--app-primary) !important;
    border-color: var(--app-primary) !important;
    color: #ffffff !important;
    font-weight: 700;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.show {
    background: var(--app-secondary) !important;
    border-color: var(--app-secondary) !important;
    color: #ffffff !important;
}

.btn-outline-primary {
    border-color: var(--app-primary) !important;
    color: var(--app-secondary) !important;
    font-weight: 700;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    background: var(--app-primary) !important;
    border-color: var(--app-primary) !important;
    color: #ffffff !important;
}

/* AI TOOLBOX V-2.1.33 — DB-driven blue/cyan/yellow application palette. */
html, body { background-color: var(--app-background); color: var(--app-text); }
a { color: var(--bs-link-color, var(--app-secondary)); }
a:hover { color: var(--bs-link-hover-color, var(--app-primary-hover)); }
.card,
.modal-content,
.dropdown-menu,
.list-group-item,
.app-sidebar,
.app-topbar,
.app-footer,
.app-surface-box,
.bos-card { background-color: var(--app-card-background); color: var(--app-text); }

.btn-secondary,
.btn-secondary:visited {
    background-color: var(--app-secondary) !important;
    border-color: var(--app-secondary) !important;
    color: var(--app-text) !important;
    font-weight: 700;
}
.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active {
    background-color: var(--app-primary) !important;
    border-color: var(--app-primary) !important;
    color: #fff !important;
}
.btn-accent {
    background: var(--app-accent) !important;
    border-color: var(--app-accent) !important;
    color: var(--app-text) !important;
    font-weight: 800;
}
.btn-accent:hover,
.btn-accent:focus,
.btn-accent:active {
    background: var(--app-warning) !important;
    border-color: var(--app-warning) !important;
    color: var(--app-text) !important;
}

.btn-success,.text-bg-success,.bg-success { background-color: var(--app-success) !important; border-color: var(--app-success) !important; }
.btn-info,.text-bg-info,.bg-info { background-color: var(--app-info) !important; border-color: var(--app-info) !important; }
.btn-warning,.text-bg-warning,.bg-warning { background-color: var(--app-warning) !important; border-color: var(--app-warning) !important; color: var(--app-text) !important; }
.btn-danger,.text-bg-danger,.bg-danger { background-color: var(--app-danger) !important; border-color: var(--app-danger) !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-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; }

.alert-success { color: #0B4D27; background: rgba(var(--app-success-rgb), .12); border-color: rgba(var(--app-success-rgb), .30); }
.alert-info { color: #075985; background: rgba(var(--app-info-rgb), .12); border-color: rgba(var(--app-info-rgb), .30); }
.alert-warning { color: #78350F; background: rgba(var(--app-warning-rgb), .14); border-color: rgba(var(--app-warning-rgb), .34); }
.alert-danger { color: #7F1D1D; background: rgba(var(--app-danger-rgb), .11); border-color: rgba(var(--app-danger-rgb), .30); }

.form-control,
.form-select,
.input-group-text,
.table-responsive { background-color: var(--app-card-background); color: var(--app-text); }
.form-control::placeholder,
textarea::placeholder,
input::placeholder { color: var(--app-text-muted); opacity: .72; }

