/* Paleta extraída del logo LemaServices (static/logo/) */
:root {
    --brand-dark: #0a3980;
    --brand-accent: #1a7dc5;
    --brand-white: #ffffff;
    --brand-text: #0a3980;
    --brand-muted: rgba(10, 57, 128, 0.75);
    --brand-border: rgba(10, 57, 128, 0.2);
    --brand-surface: #ffffff;
    --brand-surface-soft: rgba(26, 125, 197, 0.08);
}

body {
    color: var(--brand-text);
    background-color: #f7fafd;
}

a,
.link-primary,
.text-primary {
    color: var(--brand-accent) !important;
}

.text-muted,
.small.text-muted,
small.text-muted {
    color: var(--brand-muted) !important;
}

.card,
.modal-content,
.dropdown-menu,
.list-group-item,
.table,
.form-control,
.form-select,
.input-group-text {
    background-color: var(--brand-surface);
    color: var(--brand-text);
    border-color: var(--brand-border);
}

.table th {
    color: var(--brand-dark);
}

.btn-primary,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger {
    background-color: var(--brand-accent) !important;
    border-color: var(--brand-accent) !important;
    color: var(--brand-white) !important;
}

.btn-outline-primary,
.btn-outline-success,
.btn-outline-info,
.btn-outline-warning,
.btn-outline-danger,
.btn-outline-secondary {
    border-color: var(--brand-accent) !important;
    color: var(--brand-accent) !important;
}

.btn-outline-primary:hover,
.btn-outline-success:hover,
.btn-outline-info:hover,
.btn-outline-warning:hover,
.btn-outline-danger:hover,
.btn-outline-secondary:hover {
    background-color: var(--brand-accent) !important;
    color: var(--brand-white) !important;
}

.bg-primary,
.badge.bg-primary {
    background-color: var(--brand-dark) !important;
    color: var(--brand-white) !important;
}

/* Sidebar: fondo oscuro, texto claro */
.sidebar-wrapper {
    background-color: var(--brand-dark);
}

.sidebar-wrapper a,
.sidebar-wrapper .menu-title,
.sidebar-wrapper .logo-text,
.sidebar-wrapper .toggle-icon,
.sidebar-wrapper .parent-icon,
.sidebar-wrapper i,
.sidebar-wrapper .has-arrow:after {
    color: var(--brand-white) !important;
}

.sidebar-wrapper .metismenu ul a,
.sidebar-wrapper .metismenu ul a i {
    color: var(--brand-white) !important;
}

.sidebar-wrapper .mm-active > a,
.sidebar-wrapper a:hover {
    background-color: rgba(26, 125, 197, 0.25) !important;
    color: var(--brand-white) !important;
}

/* Dentro del sidebar, text-muted debe ser claro */
.sidebar-wrapper .text-muted,
.sidebar-wrapper a.text-muted {
    color: rgba(255, 255, 255, 0.6) !important;
}

/* Topbar: fondo claro, texto oscuro */
.topbar,
.top-header {
    background-color: var(--brand-surface) !important;
    border-bottom-color: var(--brand-border) !important;
}

.topbar .navbar-nav .nav-link,
.topbar .user-name,
.topbar .designattion,
.topbar .search-control,
.topbar .dropdown-menu {
    color: var(--brand-text) !important;
}

.topbar .dropdown-menu {
    background-color: var(--brand-surface) !important;
    border-color: var(--brand-border);
}

.topbar .dropdown-item {
    color: var(--brand-text) !important;
}

.topbar .dropdown-item:hover {
    background-color: var(--brand-surface-soft) !important;
}

.topbar .search-control {
    color: var(--brand-text) !important;
    background-color: var(--brand-surface) !important;
    border-color: var(--brand-border) !important;
}

.topbar .search-control::placeholder {
    color: var(--brand-muted) !important;
}

/* Evitar que brand-palette fuerce text blanco en topbar */
.topbar .nav-link,
.topbar .user-name,
.topbar .designattion,
.topbar .msg-header-title,
.topbar .msg-header-clear,
.topbar .msg-name,
.topbar .msg-info,
.topbar .msg-footer,
.topbar .msg-time {
    color: var(--brand-text) !important;
}

.topbar .search-show,
.topbar .search-close {
    color: var(--brand-muted) !important;
}
