/*
 * SonhoLab · Paleta verde del panel del vendedor
 * Capa de sobreescritura: se carga la ultima en el layout del vendedor y en el login.
 * Solo color. Primario verde pino; el unico color no verde permitido es el rojo de error.
 */
:root {
    --sl-pine: #0E5A47;
    --sl-pine-hover: #0B4838;
    --sl-pine-light: #3FA98C;
    --sl-tint: #E6F0EC;
    --sl-tint-2: #C9DDD5;
    --sl-paper: #F7F5F0;
    --sl-ink: #16181D;
    --sl-ink-2: #5A6070;
    --sl-line: #E7E3DA;
    --sl-danger: #B42318;
    --sl-danger-tint: #FBEAE8;

    /* variables que ya usa style.css / custom.css */
    --c1: #0E5A47;
    --c1-rgb: 14, 90, 71;
    --c2: #0E5A47;
    --title-color: #16181D;
    --text-color: #5A6070;
    --border-color: #E7E3DA;

    /* bootstrap / plantilla */
    --primary: #0E5A47;
    --secondary: #5A6070;
    --success: #0E5A47;
    --info: #0E5A47;
    --warning: #5A6070;
    --danger: #B42318;
}

body { background-color: var(--sl-paper); color: var(--sl-ink-2); }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .page-header-title { color: var(--sl-ink); }

/* ---------- enlaces y textos ---------- */
a { color: var(--sl-pine); }
a:hover { color: var(--sl-pine-hover); }
.text-primary, .text-info, .text-success, .text-c1, .text-title { color: var(--sl-pine) !important; }
.text-warning, .text-orange, .text-yellow { color: var(--sl-ink-2) !important; }
.text-danger { color: var(--sl-danger) !important; }
.text-muted, .text-secondary { color: var(--sl-ink-2) !important; }
.text-dark, .text-body { color: var(--sl-ink) !important; }
a.text-primary:hover, a.text-info:hover, a.text-success:hover { color: var(--sl-pine-hover) !important; }
a.text-danger:hover { color: var(--sl-danger) !important; }

/* ---------- fondos y bordes de utilidad ---------- */
.bg-primary, .bg-info, .bg-success { background-color: var(--sl-pine) !important; color: #fff; }
.bg-warning { background-color: var(--sl-tint) !important; color: var(--sl-ink-2); }
.bg-danger { background-color: var(--sl-danger) !important; color: #fff; }
.bg-soft-primary, .bg-soft-info, .bg-soft-success, .bg-soft-warning, .bg-soft-secondary { background-color: var(--sl-tint) !important; }
.bg-soft-danger { background-color: var(--sl-danger-tint) !important; }
.border-primary, .border-info, .border-success { border-color: var(--sl-pine) !important; }
.border-warning { border-color: var(--sl-tint-2) !important; }
.border-danger { border-color: var(--sl-danger) !important; }

/* ---------- botones ---------- */
.btn-primary, .btn--primary, .btn-info, .btn-success, .btn--success, .btn--info {
    background-color: var(--sl-pine) !important;
    border-color: var(--sl-pine) !important;
    color: #fff !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active,
.btn--primary:hover, .btn--primary:focus, .btn--primary:active,
.btn-info:hover, .btn-info:focus, .btn-success:hover, .btn-success:focus,
.btn--success:hover, .btn--info:hover {
    background-color: var(--sl-pine-hover) !important;
    border-color: var(--sl-pine-hover) !important;
    color: #fff !important;
}
.btn-warning, .btn--warning, .btn-secondary, .btn--secondary {
    background-color: var(--sl-tint) !important;
    border-color: var(--sl-tint-2) !important;
    color: var(--sl-ink-2) !important;
}
.btn-warning:hover, .btn--warning:hover, .btn-secondary:hover, .btn--secondary:hover {
    background-color: var(--sl-tint-2) !important;
    color: var(--sl-ink) !important;
}
.btn-danger, .btn--danger {
    background-color: var(--sl-danger) !important;
    border-color: var(--sl-danger) !important;
    color: #fff !important;
}
.btn-outline-primary, .btn-outline-info, .btn-outline-success, .btn-outline--primary {
    color: var(--sl-pine) !important;
    border-color: var(--sl-pine) !important;
    background-color: transparent;
}
.btn-outline-primary:hover, .btn-outline-info:hover, .btn-outline-success:hover, .btn-outline--primary:hover {
    background-color: var(--sl-pine) !important;
    color: #fff !important;
}
.btn-outline-warning, .btn-outline-secondary {
    color: var(--sl-ink-2) !important;
    border-color: var(--sl-ink-2) !important;
    background-color: transparent;
}
.btn-outline-warning:hover, .btn-outline-secondary:hover { background-color: var(--sl-tint) !important; color: var(--sl-ink) !important; }
.btn-outline-danger { color: var(--sl-danger) !important; border-color: var(--sl-danger) !important; }
.btn-outline-danger:hover { background-color: var(--sl-danger) !important; color: #fff !important; }
.btn-soft-primary, .btn-soft-info, .btn-soft-success, .btn-soft-warning, .btn-soft-secondary {
    background-color: var(--sl-tint) !important; color: var(--sl-pine) !important; border-color: transparent !important;
}
.btn-soft-danger { background-color: var(--sl-danger-tint) !important; color: var(--sl-danger) !important; }
.btn-ghost-primary, .btn-ghost-info, .btn-ghost-success { color: var(--sl-pine) !important; }
.btn-ghost-warning, .btn-ghost-secondary { color: var(--sl-ink-2) !important; }
.btn-ghost-danger { color: var(--sl-danger) !important; }
.btn:focus, .form-control:focus, .custom-select:focus { box-shadow: 0 0 0 .2rem rgba(14, 90, 71, .18) !important; }
.form-control:focus, .custom-select:focus, .select2-container--open .select2-selection { border-color: var(--sl-pine) !important; }

/* ---------- insignias ---------- */
.badge-primary, .badge-info, .badge-success, .badge-soft-primary, .badge-soft-info, .badge-soft-success,
.badge-soft-c1, .badge-soft-secondary, .badge-soft-warning, .badge-warning, .badge-secondary, .badge-light {
    background-color: var(--sl-tint) !important;
    color: var(--sl-pine) !important;
}
.badge-warning, .badge-soft-warning, .badge-secondary, .badge-soft-secondary { color: var(--sl-ink-2) !important; }
.badge-danger, .badge-soft-danger { background-color: var(--sl-danger-tint) !important; color: var(--sl-danger) !important; }
.badge-dark { background-color: var(--sl-ink) !important; color: #fff !important; }
.legend-indicator.bg-primary, .legend-indicator.bg-success, .legend-indicator.bg-info { background-color: var(--sl-pine) !important; }
.legend-indicator.bg-warning, .legend-indicator.bg-secondary { background-color: var(--sl-ink-2) !important; }
.legend-indicator.bg-danger { background-color: var(--sl-danger) !important; }

/* ---------- alertas ---------- */
.alert-primary, .alert-info, .alert-success, .alert-soft-primary, .alert-soft-info, .alert-soft-success,
.alert-warning, .alert-soft-warning, .alert-secondary, .alert-soft-secondary {
    background-color: var(--sl-tint) !important; border-color: var(--sl-tint-2) !important; color: var(--sl-ink) !important;
}
.alert-danger, .alert-soft-danger { background-color: var(--sl-danger-tint) !important; border-color: #F2C3BE !important; color: var(--sl-danger) !important; }

/* ---------- barra lateral ---------- */
.navbar-vertical, .navbar-vertical.navbar-vertical-aside, .navbar-vertical-aside, .bg-c2 {
    background: var(--sl-pine) !important;
}
.navbar-vertical .nav-link, .navbar-vertical .navbar-nav .nav-link, .navbar-vertical .nav-subtitle,
.navbar-vertical .nav-link .nav-icon, .navbar-vertical .nav-indicator-icon, .navbar-vertical .navbar-vertical-aside-has-menu > .nav-link::after {
    color: #fff !important;
}
.navbar-vertical .nav-subtitle { opacity: .72; }
.navbar-vertical .nav-link:hover, .navbar-vertical .active > .nav-link, .navbar-vertical .nav-link.active,
.navbar-vertical .show > .nav-link {
    background-color: rgba(255, 255, 255, .14) !important;
    color: #fff !important;
}
.navbar-vertical .nav-sub .nav-link:hover, .navbar-vertical .nav-sub .active .nav-link { background-color: rgba(255, 255, 255, .08) !important; }
.navbar-vertical .nav-sub { background-color: rgba(0, 0, 0, .12) !important; }
.navbar-vertical .form-control, .navbar-vertical .form--control, .navbar-vertical input[type="search"] {
    background-color: rgba(255, 255, 255, .12) !important;
    border-color: rgba(255, 255, 255, .28) !important;
    color: #fff !important;
}
.navbar-vertical .form-control::placeholder { color: rgba(255, 255, 255, .78) !important; }
.navbar-vertical .badge, .navbar-vertical .badge-soft-danger, .navbar-vertical .badge-danger {
    background-color: #fff !important; color: var(--sl-danger) !important;
}
.navbar-vertical .badge-soft-success, .navbar-vertical .badge-success, .navbar-vertical .badge-info,
.navbar-vertical .badge-soft-info, .navbar-vertical .badge-soft-primary {
    background-color: #fff !important; color: var(--sl-pine) !important;
}

/* ---------- cabecera ---------- */
.navbar-brand, .navbar-brand:hover { color: var(--sl-pine) !important; }
header.navbar a, header.navbar .btn-icon, .navbar .js-hs-unfold-invoker { color: var(--sl-pine); }
.avatar-bordered, .border-gold { border-color: var(--sl-pine) !important; }
.avatar-status, .avatar-status-success { background-color: var(--sl-pine-light) !important; }
.avatar-status-warning, .avatar-status-info, .avatar-status-secondary { background-color: var(--sl-ink-2) !important; }
.avatar-status-danger { background-color: var(--sl-danger) !important; }

/* ---------- tarjetas, tablas, pestañas ---------- */
.card, .card-header, .card-footer, .table th, .table td, .table-bordered, .table-thead-bordered th {
    border-color: var(--sl-line) !important;
}
.thead-light th, .table thead th { background-color: var(--sl-paper); color: var(--sl-ink); }
.table-hover tbody tr:hover { background-color: var(--sl-tint); }
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { color: var(--sl-pine); border-bottom-color: var(--sl-pine) !important; }
.nav-tabs .nav-link:hover { color: var(--sl-pine-hover); }
.page-item.active .page-link, .pagination .active .page-link { background-color: var(--sl-pine) !important; border-color: var(--sl-pine) !important; color: #fff !important; }
.page-link { color: var(--sl-pine); border-color: var(--sl-line); }
.page-link:hover { background-color: var(--sl-tint); color: var(--sl-pine-hover); }
.dropdown-item:hover, .dropdown-item:focus, .dropdown-item.active { background-color: var(--sl-tint); color: var(--sl-pine-hover); }
.progress-bar { background-color: var(--sl-pine); }
.custom-control-input:checked ~ .custom-control-label::before,
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--sl-pine) !important; border-color: var(--sl-pine) !important;
}
.switcher_input:checked ~ .switcher_control, .switcher input:checked + .switcher_control { background-color: var(--sl-pine) !important; }
.toggle-switch-input:checked + .toggle-switch-label { background-color: var(--sl-pine) !important; }
.toast-success { background-color: var(--sl-pine) !important; }
.toast-info, .toast-warning { background-color: var(--sl-ink-2) !important; }
.toast-error { background-color: var(--sl-danger) !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: var(--sl-pine) !important; color: #fff !important; }
.daterangepicker td.active, .daterangepicker td.active:hover, .daterangepicker .ranges li.active { background-color: var(--sl-pine) !important; }
.daterangepicker td.in-range { background-color: var(--sl-tint) !important; }

/* ---------- ajustes sobre la generada ---------- */
.navbar-vertical-content, .navbar-vertical-container { background-color: var(--sl-pine) !important; }
.navbar-vertical .nav-link *, .navbar-vertical a span, .navbar-vertical .nav-title,
.navbar-vertical .navbar-vertical-aside-mini-mode-hidden-elements { color: #fff !important; }
.navbar-vertical .badge, .navbar-vertical .badge *, .navbar-vertical .badge-soft-danger { color: var(--sl-danger) !important; }
.navbar-vertical .badge-soft-success, .navbar-vertical .badge-success, .navbar-vertical .badge-info,
.navbar-vertical .badge-soft-info, .navbar-vertical .badge-soft-primary { color: var(--sl-pine) !important; }
.navbar-vertical .nav-link:hover, .navbar-vertical .active > .nav-link { color: #fff !important; }
.navbar-vertical-footer, .navbar-vertical-footer-list { background-color: var(--sl-pine) !important; }

/* iconos SVG en linea de la cabecera (fill como atributo) */
svg [fill="#d1690e" i], svg [fill="#D1690E"] { fill: var(--sl-pine); }

/* ---------- SweetAlert2 (el JS fija el color en linea; !important gana) ---------- */
.swal2-styled.swal2-confirm, .swal2-confirm { background-color: var(--sl-pine) !important; color: #fff !important; }
.swal2-styled.swal2-confirm:hover { background-color: var(--sl-pine-hover) !important; }
.swal2-styled:focus { box-shadow: 0 0 0 3px rgba(14, 90, 71, .3) !important; }
.swal2-icon.swal2-warning, .swal2-icon.swal2-info, .swal2-icon.swal2-question { border-color: var(--sl-pine-light) !important; color: var(--sl-pine) !important; }
.swal2-icon.swal2-success { border-color: var(--sl-pine-light) !important; color: var(--sl-pine) !important; }
.swal2-icon.swal2-success [class^='swal2-success-line'] { background-color: var(--sl-pine) !important; }
.swal2-icon.swal2-success .swal2-success-ring { border-color: rgba(63, 169, 140, .3) !important; }
.swal2-icon.swal2-error { border-color: var(--sl-danger) !important; color: var(--sl-danger) !important; }
.swal2-icon.swal2-error [class^='swal2-x-mark-line'] { background-color: var(--sl-danger) !important; }
.swal2-popup .swal2-title { color: var(--sl-ink) !important; }
.swal2-popup .swal2-html-container, .swal2-popup .swal2-content { color: var(--sl-ink-2) !important; }

/* ---------- ApexCharts: tooltips y rejilla neutros ---------- */
.apexcharts-xaxistooltip, .apexcharts-yaxistooltip { background: var(--sl-paper) !important; border-color: var(--sl-line) !important; color: var(--sl-ink) !important; }
.apexcharts-xaxistooltip-bottom:before, .apexcharts-xaxistooltip-top:before { border-bottom-color: var(--sl-line) !important; border-top-color: var(--sl-line) !important; }
.apexcharts-xaxistooltip-bottom:after { border-bottom-color: var(--sl-paper) !important; }
.apexcharts-xaxistooltip-top:after { border-top-color: var(--sl-paper) !important; }
.apexcharts-tooltip.apexcharts-theme-light { border-color: var(--sl-line) !important; background: #fff !important; }
.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title { background: var(--sl-paper) !important; border-bottom-color: var(--sl-line) !important; color: var(--sl-ink) !important; }

/* ---------- barra lateral: especificidad para ganarle a custom.css ---------- */
aside.navbar-vertical.navbar-vertical-aside .nav-link,
aside.navbar-vertical.navbar-vertical-aside .nav-link span,
aside.navbar-vertical.navbar-vertical-aside .nav-link i,
aside.navbar-vertical.navbar-vertical-aside .nav-link .nav-icon,
aside.navbar-vertical.navbar-vertical-aside .nav-subtitle,
aside.navbar-vertical.navbar-vertical-aside .nav-title { color: #fff !important; }
aside.navbar-vertical.navbar-vertical-aside .nav-link:hover,
aside.navbar-vertical.navbar-vertical-aside .active > .nav-link,
aside.navbar-vertical.navbar-vertical-aside .nav-link.active { background-color: rgba(255, 255, 255, .14) !important; }
aside.navbar-vertical.navbar-vertical-aside .nav-sub .nav-link:hover,
aside.navbar-vertical.navbar-vertical-aside .nav-sub .active > .nav-link { background-color: rgba(255, 255, 255, .08) !important; }
aside.navbar-vertical.navbar-vertical-aside .nav-link .badge,
aside.navbar-vertical.navbar-vertical-aside .nav-link .badge span { background-color: #fff !important; color: var(--sl-danger) !important; }

.sidebar--search-form { background-color: var(--sl-pine) !important; }


/* ---------- contraste ---------- */
.select2-container--default .select2-selection__placeholder, ::placeholder { color: var(--sl-ink-2) !important; opacity: 1; }
.page-item.disabled .page-link { color: var(--sl-ink-2); background-color: var(--sl-paper); }


.__color-8a8a8a { color: var(--sl-ink-2) !important; }


/* mapas Leaflet (terceros): enlaces de atribucion; la bandera de atribucion se conserva por licencia */
.leaflet-container a, .leaflet-control-attribution a { color: var(--sl-pine) !important; }

