/*!
 * This file is part of Platform ONE
 * Copyright (C) 2013-2025 Javira Labs <contacto@javiralabs.com>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */

/* Platform One - paleta de marca
   Primario/secundario definidos por el cliente; success/warning/danger/info
   retonados a propósito para no chocar con el morado (los defaults de
   Bootstrap -verde kelly, amarillo neón, celeste- leen "plantilla sin
   personalizar" al lado de un primario tan desaturado). */
:root,
[data-bs-theme="light"] {
    --bs-primary: #2C3142;
    --bs-primary-rgb: 44, 49, 66;
    --bs-primary-text-emphasis: #2C3142;
    --bs-primary-bg-subtle: #e7e8eb;
    --bs-primary-border-subtle: #c7c9d1;

    --bs-secondary: #875A7B;
    --bs-secondary-rgb: 135, 90, 123;
    --bs-secondary-text-emphasis: #875A7B;
    --bs-secondary-bg-subtle: #f0e6ee;
    --bs-secondary-border-subtle: #d9c1d3;

    --bs-success: #3D8361;
    --bs-success-rgb: 61, 131, 97;
    --bs-success-text-emphasis: #2c5d45;
    --bs-success-bg-subtle: #e6f0ea;
    --bs-success-border-subtle: #bfdacb;

    --bs-warning: #C98A3E;
    --bs-warning-rgb: 201, 138, 62;
    --bs-warning-text-emphasis: #8f5f26;
    --bs-warning-bg-subtle: #fbf0e1;
    --bs-warning-border-subtle: #efd3ad;

    --bs-danger: #B84C43;
    --bs-danger-rgb: 184, 76, 67;
    --bs-danger-text-emphasis: #8f3a33;
    --bs-danger-bg-subtle: #f8e6e4;
    --bs-danger-border-subtle: #e7bab5;

    --bs-info: #4F7C96;
    --bs-info-rgb: 79, 124, 150;
    --bs-info-text-emphasis: #3a5d70;
    --bs-info-bg-subtle: #e7eef2;
    --bs-info-border-subtle: #bfd3dd;

    --bs-link-color: var(--bs-primary);
    --bs-link-color-rgb: var(--bs-primary-rgb);
    --bs-link-hover-color: color-mix(in srgb, var(--bs-primary) 80%, black);
    --bs-link-hover-color-rgb: var(--bs-primary-rgb);
}

/* Estas reglas leen las variables --bs-primary/--bs-secondary de arriba
   (no colores fijos) para que el panel Administración > Ajustes >
   Identidad de marca pueda cambiarlas en caliente sin tocar este archivo. */
.dropdown-menu,
.dropdown-menu-dark {
    --bs-dropdown-link-active-bg: var(--bs-primary);
    --bs-dropdown-link-hover-bg: #e7e8eb;
}

.list-group {
    --bs-list-group-active-bg: var(--bs-primary);
    --bs-list-group-active-border-color: var(--bs-primary);
}

.nav-pills {
    --bs-nav-pills-link-active-bg: var(--bs-primary);
}

.pagination {
    --bs-pagination-active-bg: var(--bs-primary);
    --bs-pagination-active-border-color: var(--bs-primary);
}

.progress-stacked,
.progress-bar {
    --bs-progress-bar-bg: var(--bs-primary);
}

.form-control:focus,
.form-select:focus {
    border-color: color-mix(in srgb, var(--bs-primary) 55%, white);
    box-shadow: 0 0 0 .25rem color-mix(in srgb, var(--bs-primary) 25%, transparent);
}

.form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.form-check-input:focus {
    border-color: color-mix(in srgb, var(--bs-primary) 55%, white);
    box-shadow: 0 0 0 .25rem color-mix(in srgb, var(--bs-primary) 25%, transparent);
}

.btn-primary {
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: color-mix(in srgb, var(--bs-primary) 85%, black);
    --bs-btn-hover-border-color: color-mix(in srgb, var(--bs-primary) 85%, black);
    --bs-btn-active-bg: color-mix(in srgb, var(--bs-primary) 75%, black);
    --bs-btn-active-border-color: color-mix(in srgb, var(--bs-primary) 75%, black);
}

.btn-outline-primary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-border-color: var(--bs-primary);
    --bs-btn-disabled-color: var(--bs-primary);
    --bs-btn-disabled-border-color: var(--bs-primary);
}

.btn-secondary {
    --bs-btn-bg: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);
    --bs-btn-hover-bg: color-mix(in srgb, var(--bs-secondary) 85%, black);
    --bs-btn-hover-border-color: color-mix(in srgb, var(--bs-secondary) 85%, black);
    --bs-btn-active-bg: color-mix(in srgb, var(--bs-secondary) 75%, black);
    --bs-btn-active-border-color: color-mix(in srgb, var(--bs-secondary) 75%, black);
}

.btn-outline-secondary {
    --bs-btn-color: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);
    --bs-btn-hover-bg: var(--bs-secondary);
    --bs-btn-hover-border-color: var(--bs-secondary);
    --bs-btn-active-bg: var(--bs-secondary);
    --bs-btn-active-border-color: var(--bs-secondary);
    --bs-btn-disabled-color: var(--bs-secondary);
    --bs-btn-disabled-border-color: var(--bs-secondary);
}

.btn-success {
    --bs-btn-bg: #3D8361;
    --bs-btn-border-color: #3D8361;
    --bs-btn-hover-bg: #346f52;
    --bs-btn-hover-border-color: #346f52;
    --bs-btn-active-bg: #2e6249;
    --bs-btn-active-border-color: #2e6249;
    --bs-btn-disabled-bg: #3D8361;
    --bs-btn-disabled-border-color: #3D8361;
}

.btn-outline-success {
    --bs-btn-color: #3D8361;
    --bs-btn-border-color: #3D8361;
    --bs-btn-hover-bg: #3D8361;
    --bs-btn-hover-border-color: #3D8361;
    --bs-btn-active-bg: #3D8361;
    --bs-btn-active-border-color: #3D8361;
    --bs-btn-disabled-color: #3D8361;
    --bs-btn-disabled-border-color: #3D8361;
}

.btn-warning {
    --bs-btn-bg: #C98A3E;
    --bs-btn-border-color: #C98A3E;
    --bs-btn-hover-bg: #ab7535;
    --bs-btn-hover-border-color: #ab7535;
    --bs-btn-active-bg: #97682f;
    --bs-btn-active-border-color: #97682f;
    --bs-btn-disabled-bg: #C98A3E;
    --bs-btn-disabled-border-color: #C98A3E;
}

.btn-outline-warning {
    --bs-btn-color: #ab7535;
    --bs-btn-border-color: #C98A3E;
    --bs-btn-hover-bg: #C98A3E;
    --bs-btn-hover-border-color: #C98A3E;
    --bs-btn-active-bg: #C98A3E;
    --bs-btn-active-border-color: #C98A3E;
    --bs-btn-disabled-color: #ab7535;
    --bs-btn-disabled-border-color: #C98A3E;
}

.btn-danger {
    --bs-btn-bg: #B84C43;
    --bs-btn-border-color: #B84C43;
    --bs-btn-hover-bg: #9c4139;
    --bs-btn-hover-border-color: #9c4139;
    --bs-btn-active-bg: #8a3932;
    --bs-btn-active-border-color: #8a3932;
    --bs-btn-disabled-bg: #B84C43;
    --bs-btn-disabled-border-color: #B84C43;
}

.btn-outline-danger {
    --bs-btn-color: #B84C43;
    --bs-btn-border-color: #B84C43;
    --bs-btn-hover-bg: #B84C43;
    --bs-btn-hover-border-color: #B84C43;
    --bs-btn-active-bg: #B84C43;
    --bs-btn-active-border-color: #B84C43;
    --bs-btn-disabled-color: #B84C43;
    --bs-btn-disabled-border-color: #B84C43;
}

.btn-info {
    --bs-btn-bg: #4F7C96;
    --bs-btn-border-color: #4F7C96;
    --bs-btn-hover-bg: #436980;
    --bs-btn-hover-border-color: #436980;
    --bs-btn-active-bg: #3b5d71;
    --bs-btn-active-border-color: #3b5d71;
    --bs-btn-disabled-bg: #4F7C96;
    --bs-btn-disabled-border-color: #4F7C96;
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-color: #fff;
    --bs-btn-disabled-color: #fff;
}

.btn-outline-info {
    --bs-btn-color: #4F7C96;
    --bs-btn-border-color: #4F7C96;
    --bs-btn-hover-bg: #4F7C96;
    --bs-btn-hover-border-color: #4F7C96;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: #4F7C96;
    --bs-btn-active-border-color: #4F7C96;
    --bs-btn-active-color: #fff;
    --bs-btn-disabled-color: #4F7C96;
    --bs-btn-disabled-border-color: #4F7C96;
}

/* bootstrap customizations */
.navbar .dropdown-toggle::after {
    display: none;
}

.nav-pills-sm.nav > li > a,
.nav-pills-sm a {
    padding-top: 3px;
    padding-bottom: 3px;
}

.table th {
    border-top: none;
}

.clickable, .clickableRow:hover, .clickableListRow:hover {
    cursor: pointer;
}

.cancelClickable {
    cursor: default;
}

.custom-checkbox-control {
    position: relative;
    display: -ms-inline-flexbox;
    display: inline-flex;
    min-height: 1.2rem;
    padding-left: 1.5rem;
    margin-right: 1rem;
}

.dropdown-menu {
    position: absolute !important;
}

.dropdown-submenu {
    position: relative
}

.dropdown-submenu > .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -6px;
    margin-left: 0;
    border-radius: 0.25rem;
}

.dropdown-submenu:hover > .dropdown-menu {
    display: block;
}

.dropdown-submenu > a::after {
    display: block;
    content: " ";
    float: right;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
    border-left-width: 0.3em;
    border-left-color: inherit;
    margin-right: -0.6em;
    margin-top: 0.6em;
}

.dropdown-submenu.pull-left {
    float: none
}

.dropdown-submenu.pull-left > .dropdown-menu {
    left: -100%;
    margin-left: 10px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}

input[required].form-control:not(:read-only) {
    background-image: linear-gradient(to bottom, rgba(253, 253, 150, 0.5), rgba(253, 253, 150, 0.25));
}

textarea[required].form-control:not(:read-only) {
    background-image: linear-gradient(to bottom, rgba(253, 253, 150, 0.5), rgba(253, 253, 150, 0.25));
}

select[required].form-control:not(:disabled) {
    background-image: linear-gradient(to bottom, rgba(253, 253, 150, 0.5), rgba(253, 253, 150, 0.25));
}

/* Select2 required fields */
select[required].form-select.select2 + .select2-container--bootstrap-5 .select2-selection {
    box-shadow: 0 0 0 0.2rem rgba(253, 253, 150, 0.4) !important;
}

/* pace customizations */
.pace {
    -webkit-pointer-events: none;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
}

.pace-inactive {
    display: none;
}

.pace .pace-progress {
    background: #ffffff;
    position: fixed;
    z-index: 2000;
    top: 0;
    right: 100%;
    width: 100%;
    height: 2px;
}

/* end pace customizations */
.pointer {
    cursor: pointer;
}

/* migrate to bootstrap5 */
.form-control[readonly], .form-select[readonly] {
    background-color: #e9ecef;
    opacity: 1;
}

.order-6 {
    order: 6 !important;
}

.order-7 {
    order: 7 !important;
}

.order-8 {
    order: 8 !important;
}

.order-9 {
    order: 9 !important;
}

.order-10 {
    order: 10 !important;
}

.order-11 {
    order: 11 !important;
}

.order-12 {
    order: 12 !important;
}

a {
    text-decoration: none;
}

.table-warning {
    background-color: #ffeeba;
}