/* Reglas comunes de las webs Active (tomadas de ValoraIntranet2026). Cada web carga esta hoja
   justo delante de su site.css, en el mismo punto de la cascada en que estaban repetidas. */

.text-sm .nav-link {
    padding: 0.4rem 0.4rem !important;
}

.nav-tabs .nav-link {
    border-radius: 0 !important;
}

.btn-group-xs > .btn, .btn-xs {
    padding: .25rem .4rem;
    font-size: .7rem;
}

.user-menu .user-image {
    float: left;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    margin-right: 10px;
    margin-top: -2px;
}

.user-img {
    z-index: 5;
    height: 90px;
    width: 90px;
    border: 3px solid;
    border-color: transparent;
    border-color: rgba(255, 255, 255, 0.2);
}

.img-circle {
    border-radius: 50%;
}

.img-fluid {
    max-width: 100%;
    height: auto;
}

.sidebar {
    font-size: 1em;
}

.sidebar-wrapper .nav-treeview > li.divider {
        border-bottom: solid 2px #4c7760;
    }

div.validation-summary-valid ul {
    margin: 0 !important;
}

div.validation-summary-errors {
    background: #f5504e !important;
    color: #fff !important;
    border-radius: 0 !important;
}

div.validation-summary-errors ul {
        list-style-type: none !important;
        padding: 5px 10px !important;
        margin: 0.5em 0 !important;
        font-size: .85rem !important;
    }

.page-title {
    font-size: 20px;
    color: var(--app-page-title, var(--app-primary, #3c8dbc));
    padding-bottom: .5em;
    display: block;
    text-align: left;
    margin-right: 2em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.group-title {
    font-size: 1.2em;
    padding: .5em 0;
    display: block;
    text-align: left;
    margin: 0;
    color: var(--app-group-title, #046c3c) !important;
}

.group-title[data-bs-toggle="collapse"] .fa-solid:before {
    content: "\f055";
}

.group-title[aria-expanded="true"] .fa-solid:before {
    content: "\f056";
}

.group-title[data-bs-toggle="collapse"].collapsed .fa-solid:before {
    content: "\f055";
}

label.required {
    color: #F44336 !important;
}

.display-label {
    color: #616161 !important;
}

.td-buttons {
    width: 100px !important;
    white-space: nowrap !important;
    text-align: center !important;
}

span.field-validation-error {
    font-size: .8em !important;
    font-weight: normal !important;
    color: #f5504e !important;
}

.btn-close-bs {
    width: 1.5em;
    text-align: center;
    position: absolute;
    right: 0.5em;
    background: #dc3545;
    color: white;
    border: none;
    font-size: 22px;
    cursor: pointer !important;
    z-index: 2;
    top: .5em;
}

.hidden {
    display: none !important;
}

div.display-container {
    padding-top: .5em;
}

div.display-stacked {
    display: block;
    padding-left: 2.5em;
    position: relative;
    border-bottom: 1px solid var(--app-display-border, #cccccc) !important;
    color: var(--app-display-text, #4a4a4a);
    /*margin: 0 .5em .5em !important;*/
    font-weight: normal;
    height: 100%;
}

div.display-stacked > img {
        position: absolute;
        max-height: 2.5em;
        max-width: 2.5em;
        top: 50%;
        -webkit-transform: translate(-50%,-50%);
        transform: translate(-50%,-50%);
        left: 1.75em !important;
        display: none;
    }

div.display-stacked .icon {
        position: absolute;
        top: 50%;
        margin-top: -1em;
        width: 2em;
        height: 2em;
        line-height: 2em;
        text-align: center;
        left: 0;
        color: var(--app-display-icon, var(--app-display, var(--app-primary, #3d8dbc)));
    }

div.display-stacked .label {
        color: var(--app-display, var(--app-primary, #3c8dbc));
        display: block;
        text-transform: uppercase;
    }

div.display-stacked .text {
        display: block;
        color: inherit;
    }

/* Dato sin icono aunque la vista le ponga ms-icon (class="no-icon") */
div.display-stacked.no-icon {
    padding-left: 0 !important;
}

div.display-stacked.no-icon .icon {
    display: none;
}

div.editor-container {
    padding-top: .5em;
}

label.editor-stacked {
    margin: 0 !important;
}

label.editor-stacked .mbsc-label {
        left: 2.5em !important;
        font-size: 0.9rem !important;
        text-transform: uppercase;
        line-height: 1.5;
    }

label.editor-stacked .mbsc-input-wrap {
        padding-top: 1.2em !important
    }

label.editor-stacked .mbsc-input-wrap input {
            padding-left: 2.5em !important;
        }

label.editor-stacked .mbsc-input-wrap textarea {
            padding-left: 2.5em !important;
        }

label.editor-stacked .mbsc-input-ic {
        left: 0 !important;
        line-height: 2em;
        top: .9375em!important;
    }

div.row-group {
    background-color: #efefef !important;
    margin: .5em 0;
    border: solid 1px #ccc;
}

div.text-box-info {
    font-size: .9em;
    margin-left: 1em;
}

.text-ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.right-sidebar {
    --lte-sidebar-hover-bg: rgba(255, 255, 255, 0.1);
    --lte-sidebar-color: #c2c7d0;
    --lte-sidebar-hover-color: #fff;
    --lte-sidebar-active-color: #fff;
    --lte-sidebar-menu-active-bg: rgba(255, 255, 255, 0.1);
    --lte-sidebar-menu-active-color: #fff;
    --lte-sidebar-submenu-bg: transparent;
    --lte-sidebar-submenu-color: #c2c7d0;
    --lte-sidebar-submenu-hover-color: #fff;
    --lte-sidebar-submenu-hover-bg: rgba(255, 255, 255, 0.1);
    --lte-sidebar-submenu-active-color: #fff;
    --lte-sidebar-submenu-active-bg: rgba(255, 255, 255, 0.1);
    --lte-sidebar-header-color: rgb(197.05, 201.8, 210.35);
}

.right-sidebar .nav-link p {
    visibility: visible !important;
    opacity: 100 !important;
    margin-left: 0 !important;
}

.right-sidebar .nav-header {
    display: list-item !important;
}

.grid-modal-body {
    display: none;
}

.container-checkbox {
    position: relative;
    cursor: pointer;
    font-size: 25px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    margin-bottom: 0 !important;
    width: 25px;
    height: 25px;
    margin: .15em;
}

.container-checkbox input {
        position: absolute;
        opacity: 0;
        cursor: pointer;
        height: 0;
        width: 0;
    }

.checkmark {
    position: absolute;
    top: 0;
    left: 0;
     height: 25px;
   width: 1em;
    background-color: #BDBDBD;
}

.container-checkbox:hover input ~ .checkmark {
    background-color: #ccc;
}

.container-checkbox input:checked ~ .checkmark {
    background-color: #2196F3;
}

.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

.container-checkbox input:checked ~ .checkmark:after {
    display: block;
}

.container-checkbox .checkmark:after {
    left: 10px;
    top: 6px;
    width: 6px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

input[type="radio"] {
    display: none;
}

input[type="radio"] + label {
        font-weight: 400;
        font-size: 14px;
    }

input[type="radio"] + label span {
            display: inline-block;
            width: 18px;
            height: 18px;
            margin: -2px 10px 0 0;
            vertical-align: middle;
            cursor: pointer;
            -moz-border-radius: 50%;
            border-radius: 50%;
            border: 3px solid #ffffff;
        }

input[type="radio"] + label span {
            background-color: #E0E0E0;
        }

input[type="radio"]:checked + label {
        color: #333;
        font-weight: 700;
    }

input[type="radio"]:checked + label span {
            background-color: #ff8800;
            border: 2px solid #ffffff;
            box-shadow: 2px 2px 2px rgba(0,0,0,.1);
        }

input[type="radio"] + label span, input[type="radio"]:checked + label span {
            -webkit-transition: background-color 0.24s linear;
            -o-transition: background-color 0.24s linear;
            -moz-transition: background-color 0.24s linear;
            transition: background-color 0.24s linear;
        }

.card {
    width: 100%;
    margin-bottom: 1rem;
}

.card-header {
    background: var(--app-card-header, #00695C);
    padding: .5em 1em;
    color: white;
}

.card.item:hover {
    box-shadow: 0 4px 5px rgba(0,0,0,.25), 0 10px 10px rgba(0,0,0,.22);
}

/* Fecha en la esquina y lineas con icono de las tarjetas de los listados (Card.cshtml).
   Iguales en ValoraCliente y en otras 23 webs, cada una con su copia. */
.card-title-date {
    background: var(--app-card-date, #4dc494);
    border-left: 3px solid var(--app-card-date-border, #daeae4ba);
    border-bottom: 3px solid var(--app-card-date-border, #daeae4ba);
    border-radius: 0 4px 0 12px;
    font-size: .8em;
    color: #fff;
    padding: 5px 15px;
    position: absolute;
    right: 0;
    top: 0;
}

.card-text-item {
    margin-left: 2.25em;
    font-size: .9em;
    display: block;
    margin-bottom: .3em;
}

    .card-text-item i {
        margin-left: -2em;
        width: 2em;
    }

.table-list {
    font-size: .9em;
}

.table-list thead th {
        vertical-align: middle;
    }

.leaflet-popup-content-wrapper {
    border-radius: 0!important; 
}

.app-sidebar .brand-image { width: 33px; height: 33px; margin-right: .5rem; object-fit: contain; }

.right-sidebar { height: 100%; overflow-y: auto; }

