﻿/*
Template Name: WOBM
Author: JAP
Version: 2.0.0
Website: https://www.thetwom.com/
Contact: @

Main App Styles
*/

/*

AMARILLO TWOM: FFEC00 (4%, 0%, 89%, 0%) 
GRIS MUY CLARO (PROVISIONAL) EEEEEE (4%, 0%, 89%, 0%)
GRIS CLARO WOBM: DADADA (17%, 12%, 13%, 0%)
GRIS OSCURO WOBM: 8B8B8C (46%, 36%, 35%, 16%)
GRIS MUY OSCURO WOBM: 727172 (53%, 43%, 42%, 27%)
AZUL TURQUESA CALL 2 ACTION: 30daee (61%, 0%, 13%, 0%)

*/


b, strong {
    font-weight: 600;
}

.color-grey-dark-plus {
    color: #727172 !important;
}

.color-grey-dark {
    color: #b3b3b3 !important;
}

.color-grey-light {
    color: #DADADA !important;
}

.color-grey-light-plus {
    color: #F4F4F4 !important;
}

.color-yellow {
    color: #FFEC00 !important;
}

.color-blue {
    color: rgba(29, 68, 209, 1) !important;
}

.color-white {
    color: #FFFFFF !important;
}

.color-black {
    color: #000000 !important;
}

.color-brown {
    color: #A57300 !important;
}

.color-brd {
    color: #BB4500 !important;
}

.color-sbu {
    color: #007792 !important;
}

.color-cat {
    color: #042CBB !important;
}

.color-prd {
    color: #AE6B00 !important;
}

.color-srv {
    color: #590FBA !important;
}

.bg-dark-grey {
    background-color: #DADADA !important;
    color: #717d84 !important;
}

.bg-color-grey-dark-plus {
    background-color: #727172 !important;
}

.bg-color-grey-dark {
    background-color: #b3b3b3 !important;
}

.bg-color-grey {
    background-color: #EEEEEE !important;
}

.bg-color-grey-light {
    background-color: #DADADA !important;
}

.bg-color-grey-light-plus {
    background-color: #F4F4F4 !important;
}

.bg-color-yellow {
    background-color: #FFEC00 !important;
}

.bg-color-brown {
    background-color: #A57300 !important;
}

.bg-color-white {
    background-color: #FFFFFF !important;
}

.bg-color-black {
    background-color: #000000 !important;
}

.bg-color-brd {
    background-color: #FFC5A2 !important;
}

.bg-color-sbu {
    background-color: #B0E6EB !important;
}

.bg-color-cat {
    background-color: #D2DAF6 !important;
}

.bg-color-prd {
    background-color: #FEE3A3 !important;
}

.bg-color-srv {
    background-color: #D4BDE9 !important;
}

.border-color-grey-light {
    border-color: #DADADA !important;
}

.border-color-black {
    border-color: #000000 !important;
}

.border-color-grey-dark-plus {
    border-color: #727172 !important;
}

.img-responsive {
    display: block;
    max-width: 100%;
    height: auto;
}

.popover {
    max-width: 30%; /* Max Width of the popover (depending on the container!) */
}

/*AutoComplete flyout */
.completionList {
    border: solid 1px #444444;
    margin: 0px;
    padding: 0.375rem 0.75rem;
    height: 100px;
    overflow: auto;
    list-style: none;
    background-color: #FFFFFF;
}

.listItem {
    color: #717d84;
    padding: 0rem 0.75rem;
}

.itemHighlighted {
    background-color: #000;
    cursor: pointer;
    color: #ffec00;
    padding: 0rem 0.75rem;
}

.croppedPais {
    height: 85.9%; /* height of container */
    overflow: hidden;
    border: 0px solid black;
}

    .croppedPais img {
        margin: -10px 0px 0px -180px;
    }

.croppedLogo {
    height: 85%; /* height of container */
    overflow: hidden;
    border: 0px solid black;
}

    .croppedLogo img {
        margin: -10px 0px 0px 0px;
    }

.popover-header {
    text-align: left;
}

.edit-popover {
    cursor: pointer;
}

.delete-popover {
    cursor: pointer;
}

.sidebar-widget img {
    /*-webkit-box-reflect: below 2px -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0.7, transparent), to(rgba(255,255,255,.5)));*/
    -webkit-transition: all 0.3s;
    -webkit-transform-origin: 50% 100%;
    position: relative;
}

    .sidebar-widget img:hover {
        -webkit-transform: scale(1.5) !important;
        margin: 0 0em;
        z-index: 5
    }

.navbar .btn-toggle-rightsidebar {
    /*font-size: 18px;
    padding: 0 20px;
    line-height: 1;
    vertical-align: middle;
    border: none;
    background: transparent;
    color: #fff;*/
}

    .navbar .btn-toggle-rightsidebar:hover, .navbar .btn-toggle-rightsidebar:focus {
        /* outline: none;
        -webkit-box-shadow: none;
        box-shadow: none;
        color: #fff;
        background-color: transparent;*/
    }


.sidebar-widget .side {
    position: relative;
    text-align: center;
}

    .sidebar-widget .side span {
        background: rgba(0, 0, 0, 0.8); /* Fondo oscuro con transparencia */
        position: absolute;
        top: 0; /* Ocupa toda la altura */
        left: 0; /* Ocupa todo el ancho */
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 10px;
        padding: 10px;
        border-radius: 2px;
        text-align: center;
        color: #fff;
        z-index: 10;
        opacity: 0;
        transition: opacity 0.3s ease-in-out;
    }

    .sidebar-widget .side:hover span {
        opacity: 1; /* Aparece al hacer hover */
        cursor: pointer;
    }


.content-heading .page-title {
    /*background-color: #ffec00;*/
    padding: 5px;
    font-weight: 700;
}

.mensajes {
    height: auto;
}

#myRotatedTable td {
    -webkit-transform: rotate(270deg);
    -moz-transform: rotate(270deg);
    -o-transform: rotate(270deg);
    writing-mode: vertical-lr;
}


.image_description {
    padding: 10px;
    color: #fff;
    text-align: center;
    background-color: #000;
    opacity: 0.8;
    bottom: 20px;
}


.line_tool19 {
    /*position: absolute;*/
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background-color: #ffec00;
    /* height:3px;
    width:150px;
    background-color:#000;*/
}


.overlay-update {
    position: fixed;
    z-index: 10000;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background-color: #aaa;
    opacity: 0.8;
}

.overlayContent {
    z-index: 99;
    margin: 250px auto;
    width: 80px;
    height: 80px;
}

    .overlayContent h2 {
        font-size: 18px;
        font-weight: bold;
        color: #000;
    }

    .overlayContent img {
        width: 80px;
        height: 80px;
    }


.oculto {
    display: none !important;
}
/*
@media (min-width: 576px) {
    .modal-dialog {
        max-width: 600px;
        margin: 10rem auto;
    }
}*/


/* password show/hide */
.hideShowPassword-toggle {
    margin-right: 5px;
    border: none;
    font-size: 12px;
    text-transform: uppercase;
    line-height: 19px;
    background: #f1f2f5;
    color: #b6bbcb;
}

    .hideShowPassword-toggle:focus {
        outline: 0;
    }

    .hideShowPassword-toggle.toggle-eye {
        background: transparent;
    }

        .hideShowPassword-toggle.toggle-eye i {
            position: relative;
            top: 1px;
            font-size: 14px;
        }


.info {
    margin-left: 5px;
    cursor: pointer;
}

.Idioma {
    position: absolute;
    top: 10px;
    right: 30px;
}


.border-1 {
    border: 1px solid #F4F4F4 !important;
}

.border-2 {
    border: 2px solid #F4F4F4 !important;
}

.eliminar_piramide {
    position: absolute;
    right: 20px;
}

.tooltip-inner {
    max-width: 300px;
    padding: 3px 8px;
    color: #000;
    text-align: center;
    background-color: #fff;
    border-radius: .25rem;
    border: solid 1px #DADADA;
}

.toast-success {
    background-color: #ffec00 !important;
    color: #000 !important;
}

.toast-info {
    background-color: #30DAEE !important;
    color: #000 !important;
}

.btn-xs, .btn-group-xs > .btn {
    padding: 0px 15px;
    font-size: 0.7875rem;
    line-height: 1.5;
    border-radius: 2px;
}

.tab-icons .material-symbols-outlined {
    font-size: 28px;
}

.tab-icons .cssclass {
    font-size: 0.7rem;
    display: block;
    /*  margin-top: 5px;
    margin-left: 5px;*/
}

.tab-icons .nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    /*background-color: transparent;*/
    font-weight: bold;
}

.tab-icons .nav-link {
    float: left;
    text-align: center;
    min-height: 95px;
    padding: 0.5rem 0.5rem;
}

.tab-icons .nav-link-separator {
    background-color: #DADADA;
    color: #000000;
    border-radius: 0px;
    padding: 1rem 0.5rem;
}

.badge-value-proposition {
    color: #A57300;
    background-color: #ffec00;
    margin-left: 5px;
    margin-right: 5px;
    border-radius: 5px;
}

.badge-yellow {
    color: #A57300;
    background-color: #ffec00;
    margin-left: 5px;
    margin-right: 5px;
    border-radius: 5px;
}

.leaf-node {
    cursor: pointer;
}

.leaf-icon-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20px; /* Ajusta el tamaño del contenedor si es necesario */
    height: 20px; /* Ajusta el tamaño del contenedor si es necesario */
    border-radius: 50%; /* Hacer el fondo circular */
    background-color: #D2DAF6;
    cursor: pointer;
}

.leaf-icon {
    font-size: 8px !important;
    color: #1D44D1;
}

.node {
    cursor: move; /* Cambia el cursor a una mano abierta cuando el mouse está sobre el nodo */
}

.central-node {
    cursor: default !important; /* Cursor por defecto para el nodo central */
}

.node:active {
    cursor: grabbing; /* Cambia el cursor a una mano cerrada cuando se está arrastrando */
}

.font-64 {
    font-size: 64px;
}

.font-small {
    font-size: 80%;
}

.list-resume-experience .value {
    float: right;
    position: relative;
    top: 10px;
    font-size: 22px;
    font-weight: 300;
}

.list-resume-experience .experience {
    margin: 15px 0;
    position: relative;
}

.circle {
    float: left;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    line-height: 4;
    text-align: center;
}

.circle-back {
    border-radius: 50%;
    width: 30px;
    height: 30px;
    text-align: center;
}

.vertical-align-bottom {
    vertical-align: bottom;
}

.hidden {
    display: none;
}

.display-block {
    display: block !important;
}

.cursor-pointer {
    cursor: pointer;
}

#img_sketch {
    border: 2px dashed #F4F4F4; /* Línea de contorno similar a Dropzone */
    padding: 20px;
    background-color: #F4F4F4; /* Color de fondo */
    min-height: 150px; /* Altura mínima para el contenedor */
    display: flex;
    justify-content: center;
    flex-wrap: wrap; /* Permite que las imágenes se distribuyan en varias filas */
    border-radius: 10px;
}

    #img_sketch:hover {
        border: 2px dashed #DADADA; /* Línea de contorno similar a Dropzone */
        padding: 20px;
        min-height: 150px; /* Altura mínima para el contenedor */
        display: flex;
        justify-content: center;
        flex-wrap: wrap; /* Permite que las imágenes se distribuyan en varias filas */
    }

    #img_sketch img {
        /*max-width: 100px;*/ /* Ajusta el tamaño de las imágenes */
        max-height: 100px; /* Altura máxima */
        margin: 5px; /* Espacio entre imágenes */
        border-radius: 5px; /* Bordes redondeados */
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Sombra para profundidad */
    }

#img_sketch_buyer_empresa {
    border: 2px dashed #F4F4F4; /* Línea de contorno similar a Dropzone */
    padding: 20px;
    background-color: #F4F4F4; /* Color de fondo */
    min-height: 150px; /* Altura mínima para el contenedor */
    display: flex;
    justify-content: center;
    flex-wrap: wrap; /* Permite que las imágenes se distribuyan en varias filas */
    border-radius: 10px;
}

    #img_sketch_buyer_empresa:hover {
        border: 2px dashed #DADADA; /* Línea de contorno similar a Dropzone */
        padding: 20px;
        min-height: 150px; /* Altura mínima para el contenedor */
        display: flex;
        justify-content: center;
        flex-wrap: wrap; /* Permite que las imágenes se distribuyan en varias filas */
    }

    #img_sketch_buyer_empresa img {
        /*max-width: 100px;*/ /* Ajusta el tamaño de las imágenes */
        max-height: 100px; /* Altura máxima */
        margin: 5px; /* Espacio entre imágenes */
        border-radius: 5px; /* Bordes redondeados */
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Sombra para profundidad */
    }

.dropzone .dz-preview.dz-image-preview {
    background-color: transparent;
}

.dropzone .dz-preview {
    position: relative;
    display: inline-block;
    vertical-align: top;
    margin: 0px;
    min-height: 100px;
}

    .dropzone .dz-preview:hover {
        z-index: 0;
        filter: brightness(0.8);
    }

.dropzone .dz-message:before {
    font-family: FontAwesome;
    content: '\f0ee';
    display: block;
    font-size: 3em;
    line-height: 1;
}

.dropzone.dz-clickable * {
    cursor: pointer;
}

.dd-handle .icon {
    color: rgba(29, 68, 209, 1);
    padding: 5px;
}

.dd-handle .edit-icon {
    color: rgba(29, 68, 209, 1);
    margin: 0px;
    padding: 5px 10px;
    background-color: rgba(210, 218, 246, 1);
    border-radius: 50%;
}

    .dd-handle .edit-icon:hover {
        color: #000;
    }

.dd-handle .delete-icon {
    color: rgba(29, 68, 209, 1);
    margin: 0px;
    background-color: rgba(210, 218, 246, 1);
    border-radius: 50%;
}

    .dd-handle .delete-icon:hover {
        color: #000;
    }

.dd-handle {
    position: relative;
    /*display: flex;*/
    align-items: center;
}

.drag-handle {
    cursor: move;
    float: left;
    flex-shrink: 0;
}

.action-icons {
    display: none; /* Oculto por defecto */
    position: absolute;
    right: -0px;
    top: -5px;
    cursor: pointer;
    flex-direction: row;
    gap: 4px; /* Espacio entre los iconos */
    margin-left: auto; /* Separación opcional del contenido principal */
}

.action-icons-react {
    position: absolute;
    right: 5px;
    top: 5px;
    cursor: pointer;
    flex-direction: row;
    gap: 4px; /* Espacio entre los iconos */
    margin-left: auto; /* Separación opcional del contenido principal */
}

.trash-icon-react {
    position: absolute;
    top: -15px;
    right: 150px;
}

    .trash-icon-react i {
        background-color: #D2DAF6;
        color: rgba(29, 68, 209, 1);
        border-radius: 50%;
        padding: 10px 12px;
    }

.trash-icon {
    position: absolute;
    top: 15px;
    right: 10px;
}

    .trash-icon i {
        background-color: #D2DAF6;
        color: rgba(29, 68, 209, 1);
        border-radius: 50%;
        padding: 10px 12px;
    }

.trash-icon-little i {
    background-color: #D2DAF6;
    color: rgba(29, 68, 209, 1);
    border-radius: 50%;
    padding: 6px 8px;
}


.trash-icon-little i:hover {
    color: #fff;
    background-color: rgba(29, 68, 209, 1);
}

.edit-icon {
    position: absolute;
    top: 15px;
    right: 10px;
}

    .edit-icon i {
        background-color: #D2DAF6;
        color: rgba(29, 68, 209, 1);
        border-radius: 50%;
        padding: 5px 10px;
    }

.edit-icon-little i {
    background-color: #D2DAF6;
    color: rgba(29, 68, 209, 1);
    border-radius: 50%;
    padding: 6px 6px;
}
    .edit-icon-little i:hover {
        color: #fff;
        background-color: rgba(29, 68, 209, 1);
    }


.edit-icon i:hover {
    color: #fff;
    background-color: rgba(29, 68, 209, 1);
}

.stats-icon {
    position: absolute;
    top: 20px;
    left: 10px;
}

    .stats-icon i {
        background-color: #D2DAF6;
        color: rgba(29, 68, 209, 1);
        border-radius: 50%;
        padding: 10px 10px;
    }

.stats-icon-little i {
    background-color: #D2DAF6;
    color: rgba(29, 68, 209, 1);
    border-radius: 50%;
    padding: 6px 6px;
}


.stats-icon i:hover {
    color: #fff;
    background-color: rgba(29, 68, 209, 1);
}

.danger-icon {
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    background-color: rgba(230, 0, 4, 0.2);
    border-radius: 50%;
    padding: 8px;
    font-size: 24px;
    width: 48px;
    height: 48px;
    display: inline-block;
}

    .danger-icon i {
        color: #e60004;
    }

.warning-icon {
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    background-color: #FFE1B7;
    border-radius: 50%;
    padding: 8px;
    font-size: 24px;
    width: 48px;
    height: 48px;
    display: inline-block;
}

    .warning-icon i {
        color: #EE7300;
    }

.square-icon {
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    background-color: #FFFFFF;
    border-radius: 10px;
    padding: 8px;
    font-size: 24px;
    width: 48px;
    height: 48px;
    display: inline-block;
}

    .square-icon i {
        color: #727172;
        vertical-align: middle;
        margin-left: 5px;
    }


.blue-icon {
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    background-color: rgba(0, 195, 255, 0.3);
    border-radius: 50%;
    padding: 8px;
    font-size: 24px;
    width: 48px;
    height: 48px;
    display: inline-block;
}

    .blue-icon i {
        color: rgba(34, 151, 230, 1);
    }

.plus-icon {
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    background-color: #DADADA;
    border-radius: 50%;
    padding: 8px;
    font-size: 24px;
    width: 48px;
    height: 48px;
    display: inline-block;
}

    .plus-icon i {
        color: #fff;
        font-weight: 600;
    }

.icon-generated-ia {
    font-size: 1.5em;
    vertical-align: text-bottom;
    margin-left: 5px;
}

.dd-handle:hover .action-icons {
    display: flex;
}

.bmn-desactivado {
    filter: grayscale();
    opacity: 0.3;
}

.bmn-seleccionado {
    filter: none;
    opacity: 1;
}


/* Botones de siguiente y anterior */
/*.actions {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}

    .actions .btn-prev, .actions .btn-next {
        padding: 10px 20px;
        font-size: 1em;
        border-radius: 20px;
        border: none;
        cursor: pointer;
        transition: background-color 0.3s ease;
    }

    .actions .btn-prev {
        background-color: #d3d3d3;
        color: #333;
    }

        .actions .btn-prev:hover {
            background-color: #bfbfbf;
        }

    .actions .btn-next {
        background-color: #d29df7;
        color: #fff;
    }

        .actions .btn-next:hover {
            background-color: #b984d4;
        }*/

/* Ajustes para inputs tipo DropDownList */
.step-pane select {
    display: block;
    width: 100%;
    padding: 10px;
    border-radius: 5px;
    border: 1px solid #ddd;
    background-color: #DADADA;
    font-size: 1em;
    color: #333;
}

    .step-pane select option {
        padding: 10px;
        background-color: #ffffff;
        cursor: pointer;
        transition: background-color 0.3s ease;
    }

        .step-pane select option:hover {
            background-color: #e0e0e0;
        }
/* Estilo para el RadioButtonList */
.custom-radiobuttonlist {
    display: flex;
    flex-wrap: wrap;
    column-gap: 15px; /* Espaciado horizontal entre los elementos */
    row-gap: 15px; /* Espaciado vertical entre los elementos */
    font-size: 0.9em;
}

    .custom-radiobuttonlist input[type="radio"] {
        display: none; /* Oculta el círculo del radio */
    }

    .custom-radiobuttonlist label {
        display: flex;
        align-items: center; /* Centra el texto verticalmente */
        justify-content: center; /* Centra el texto horizontalmente */
        padding: 10px;
        border: 1px solid #F4F4F4;
        border-radius: 5%;
        min-width: 100px;
        max-width: 150px;
        height: 100px; /* Define una altura fija para todos */
        box-sizing: border-box; /* Incluye el padding en el ancho y alto */
        margin: 0px; /* Elimina el margen del label para que el espaciado sea controlado por gap */
        background-color: #F4F4F4; /* Color de fondo corregido */
        cursor: pointer;
        transition: background-color 0.3s ease;
        text-align: center;
        color: #000000;
    }

        /* Cambio de color al hacer hover */
        .custom-radiobuttonlist label:hover {
            background-color: #ffec00;
            color: #000000;
        }

    /* Estilo para opción seleccionada */
    .custom-radiobuttonlist input[type="radio"]:checked + label {
        background-color: #ffec00;
        color: #000000;
    }


/* Estilo para el checklist */
.custom-checklist input[type="checkbox"] {
    /* Ocultar el checkbox */
    display: none;
}

.custom-checklist {
    display: flex;
    flex-wrap: wrap;
    column-gap: 15px;
    row-gap: 15px;
    font-size: 0.9em;
}

    .custom-checklist label {
        /* Estilo para el texto no seleccionado */
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 10px;
        border: 1px solid #F4F4F4;
        border-radius: 5%;
        min-width: 100px;
        max-width: 150px;
        height: 100px;
        box-sizing: border-box;
        margin: 0px;
        background-color: #F4F4F4;
        cursor: pointer;
        transition: background-color 0.3s ease;
        text-align: center;
        color: #000000;
    }

        /* Cambio de color al hacer hover */
        .custom-checklist label:hover {
            background-color: #ffec00;
            color: #000000;
        }

    .custom-checklist input[type="checkbox"]:checked + label {
        /* Estilo para el texto seleccionado */
        background-color: #ffec00; /* Cambiar el color de fondo */
        color: #000;
    }

.draggable-item .tinymce-input {
    background-color: #fff;
    padding: 5px;
    width: 100%;
}

.draggable-item .editable-label {
    padding: 5px;
}

.add-icon-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
    z-index: 10;
}

    .add-icon-center i {
        font-size: 30px;
        color: rgba(29, 68, 209, 1);
        background-color: #D2DAF6;
        border-radius: 50%;
        padding: 15px;
        font-weight: bold;
    }

        .add-icon-center i:hover {
            color: #fff;
            background-color: rgba(29, 68, 209, 1);
        }

.undo-brain {
    font-size: 28px !important;
    vertical-align: text-top;
    margin: 4px 0px;
    padding: 0px 10px;
}

    .undo-brain:hover {
        color: #FFEC00;
    }

.send-brain {
    font-size: 36px !important;
    vertical-align: text-top;
    margin: 0px;
    padding: 0px 10px;
}

    .send-brain:hover {
        color: #FFEC00;
    }

.tags-container {
    max-height: 400px;
    overflow-y: auto;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    gap: 0px;
    padding: 10px;
    background-color: #F9F9F9;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.selection-item-1 {
    cursor: pointer;
    padding: 5px;
}

    .selection-item-1:hover {
        background-color: #C0C0C0;
        border-radius: 5px;
        padding: 5px 10px;
    }

.selection-item-2 {
    cursor: pointer;
    padding: 10px;
    color: #1c1c1c;
    background-color: #d7d7d7;
    border-color: #c6c6c6;
    margin: 5px 0px;
    border-radius: 5px;
}

    .selection-item-2:hover {
        background-color: #C0C0C0;
        border-radius: 5px;
        padding: 10px 10px;
    }

.selection-item {
    cursor: pointer;
}

    .selection-item:hover {
        background-color: #C0C0C0;
        border-radius: 10px;
    }

.thumb-sketch {
    max-width: 80px;
    max-height: 60px;
}

.sortable-container .dd-handle .row {
    display: flex;
    align-items: center; /* Alinea los elementos verticalmente */
}

.dd-handle .text-center {
    display: flex;
    flex-direction: column;
    align-items: center; /* Asegura que el contenido interno esté centrado */
    justify-content: center; /* Centra verticalmente los textos */
}

.dropzone .dz-preview:hover .dz-image img {
    -webkit-transform: scale(1.05, 1.05);
    -moz-transform: scale(1.05, 1.05);
    -ms-transform: scale(1.05, 1.05);
    -o-transform: scale(1.05, 1.05);
    transform: scale(1.05, 1.05);
    -webkit-filter: blur(3px);
    filter: blur(3px);
}

.dropzone .dz-preview .dz-image img {
    object-fit: cover;
}

.border-plus {
    border-left: solid 3px #F9354C;
}

.border-minus {
    border-left: solid 3px #41B314;
}

.form-control-write-enter {
    background-color: rgba(255, 255, 255, 1);
    height: 34px !important;
}

.logged-user-menu {
    margin-top: 17px;
}

.shadow-right-down {
    box-shadow: 5px 5px 5px #ddd;
}

.shadow-top {
    box-shadow: 0px -3px 3px #ddd;
}

.shadow-floating {
    box-shadow: 0px 0px 8px 1px #ddd;
    border: 0px;
}


/*****************************/
/*IA TOOGLE SLIDER SWITCH*/
/*****************************/
.ia-toggle {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 6px;
}

    .ia-toggle input[type="checkbox"] {
        display: none;
    }

.slider {
    width: 44px;
    height: 22px;
    background-color: #ccc;
    border-radius: 12px;
    position: relative;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

    .slider:before {
        position: absolute;
        content: "IA";
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 10px;
        font-weight: bold;
        color: #000;
        width: 18px;
        height: 18px;
        background-color: rgba(255, 236, 0, 1);
        border-radius: 50%;
        position: absolute;
        top: 2px;
        left: 3px;
        transition: transform 0.3s ease;
        transform: translateX(0);
    }

input[type="checkbox"]:checked + .slider {
    background-color: #000;
}

    input[type="checkbox"]:checked + .slider:before {
        transform: translateX(20px);
    }

.toggle-text {
    font-size: 14px;
    font-weight: bold;
}

.write-enter-text {
    font-size: 14px;
    color: #666;
    font-style: italic;
    margin-left: 10px;
}

.btn-danger {
    border-radius: 5px;
    font-size: 0.9rem;
    background-color: #E60004;
    border-color: #E60004;
    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
}

    .btn-danger:hover {
        font-size: 0.9rem;
        background-color: #E60004;
        border-color: #E60004;
        -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(250, 83, 103, 0.5);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(250, 83, 103, 0.5);
    }

.btn-cancel {
    border-radius: 5px;
    color: #000;
    font-size: 0.9rem;
    background-color: #F4F4F4;
    border-color: #F4F4F4;
    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
}

    .btn-cancel:hover {
        color: #fff;
        font-size: 0.9rem;
        background-color: #000;
        border-color: #F4F4F4;
        -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
    }

.btn-IA {
    border-radius: 5px;
    border: solid 1px #F4F4F4;
    color: #000;
    font-size: 12px;
    background: rgb(255,236,0);
    background: linear-gradient(90deg, rgba(255,236,0,1) 0%, rgba(255,255,255,1) 75%);
    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
}

    .btn-IA:hover {
        border: solid 1px #F4F4F4;
        color: #000;
        font-size: 12px;
        background: rgb(255,236,0);
        /*background: linear-gradient(90deg, rgba(255,236,0,1) 0%, rgba(255,255,255,1) 50%);*/
        -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
    }

.cmb-blue {
    border-radius: 5px;
    color: #1D44D1;
    background-color: #D2DAF6;
}

.btn-blue {
    border-radius: 5px;
    color: #1D44D1;
    background-color: #D2DAF6;
}

    .btn-blue:hover {
        color: #fff;
        background: #1D44D1;
    }

    .btn-blue.active {
        color: #fff;
        background: #1D44D1;
    }

.btn-blue-light {
    border-radius: 5px;
    color: #1D44D1;
    background-color: #FFF;
    box-shadow: 0px 0px 8px 1px #ddd;
    border: 0px;
}

    .btn-blue-light:hover {
        color: #fff;
        background: #1D44D1;
    }

    .btn-blue-light.active {
        color: #fff;
        background: #1D44D1;
    }

.border-ia {
    position: relative;
    padding-left: 15px;
    border-radius: 10px;
}

    .border-ia::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        width: 10px;
        background: linear-gradient(180deg, rgba(255, 236, 0, 1) 0%, rgba(255, 255, 255, 1) 75%);
        border-radius: 10px 0 0 10px;
    }

.border-twom::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 0; /* 🔹 Comienza invisible */
    background: #ffec00;
    border-radius: 10px 0 0 10px;
    transition: width 0.3s ease-in-out; /* 🔹 Animación suave */
}

.border-twom:hover::before {
    width: 10px; /* 🔹 Se expande desde la izquierda */
}


.choose-task {
    font-size: 12px;
    padding: 5px 15px;
    margin: 0px 2px;
}

.content-containerIA {
    max-height: 65px; /* Altura inicial del contenedor */
    overflow: hidden;
    transition: max-height 0.3s ease-in-out; /* Añade una animación suave */
}

    .content-containerIA.expanded {
        max-height: 1000px; /* Permite mostrar todo el contenido */
    }

.content-containerDAFO {
    max-height: 80px; /* Altura inicial del contenedor */
    overflow: hidden;
    transition: max-height 0.3s ease-in-out; /* Añade una animación suave */
}

    .content-containerDAFO.expanded {
        overflow-y: auto;
        max-height: 500px; /* Permite mostrar todo el contenido */
    }

.show-more-btn {
    display: block;
    margin-top: 10px;
    text-decoration: none;
    color: rgba(29, 68, 209, 1);
    cursor: pointer;
    font-weight: 500;
}

    .show-more-btn:hover {
        text-decoration: underline;
        color: #D2DAF6;
    }

.ps-tag {
    position: absolute;
    bottom: 0px;
    right: 0px;
    padding: 5px 10px;
    background-color: #F4F4F4;
    border-radius: 10px 0px;
    font-weight: 600;
    font-size: 12px;
}

.undo-redo {
    position: absolute;
    top: 0px;
    right: 20px;
}

.ia-degradado {
    background: linear-gradient(90deg, rgb(255, 236, 0) 0%, rgb(255, 255, 255) 75%);
}

.btn-enter {
    margin-left: 5px;
    font-size: 10px;
    padding: 4px 10px;
    height: 25px;
    margin-top: 5px;
}

.valign-middle {
    vertical-align: middle;
}

.hidden-fade {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
}

.visible-fade {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
}

#tool .searchContainer {
    position: absolute;
    z-index: 1;
    top: 160px;
    left: 50px;
    width: 20%;
}

    #tool .searchContainer .tool02 {
        position: absolute;
        z-index: 1;
        top: 40px;
        left: 40px;
        width: 20%;
    }

.widget-competitor_5 .value-points {
    position: absolute;
    top: 10px;
    left: 10px;
    color: #727172;
    background-color: #F4F4F4;
    padding: 5px;
    border-radius: 5px;
}

.widget-metric_6 .value {
    font-size: 15px;
}

.widget-metric_6 {
    border-radius: 10px;
    padding: 25px 50px 15px;
}

.widget-stat {
    padding: 10px;
    border-radius: 10px;
}

    .widget-stat .media-left i {
        font-size: 50px;
    }

    .widget-stat .title {
        color: #000;
        font-weight: 500;
        font-size: 17px;
        line-height: 1;
    }

    .widget-stat .footer {
        margin-top: 0px;
        margin-bottom: 0;
        padding-top: 12px;
        border-top: 0px solid #f0f0f0;
        line-height: 1.2;
    }

    .widget-stat .icon-info {
        position: absolute;
        top: 10px;
        right: 10px;
        border-radius: 50%;
        padding: 2px 6px;
        font-size: 12px;
    }

.widget-info {
    border-radius: 50%;
    padding: 4px 8px;
    font-size: 12px;
}


.highlight-border {
    filter: brightness(0.7);
    transition: filter 0.25s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.grabbable {
    cursor: grab;
}

    .grabbable:active, .dragging {
        cursor: grabbing;
    }


.generation-item {
    display: inline-block;
    position: relative;
    cursor: pointer;
}

    .generation-item i {
        border-radius: 5px;
    }

    /* Oscurecer solo el icono de la generación en hover */
    .generation-item:hover i:not(.delete-icon) {
        filter: brightness(0.5);
    }

    /* Estilo para la "X" */
    .generation-item .delete-icon {
        position: absolute;
        top: 45%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 13px;
        color: #fff;
        border-radius: 50%;
        display: none;
        padding: 5px;
        transition: opacity 0.3s ease;
    }

    /* Mostrar la "X" al hacer hover */
    .generation-item:hover .delete-icon {
        display: block;
        opacity: 1;
    }


.info-market .icon-info {
    /*position: absolute;
    top: 0px;
    right: 10px;*/
    cursor: pointer;
    margin-left: 5px;
    border-radius: 50%;
    padding: 2px 6px;
    font-size: 12px;
}

.desactivado {
    -webkit-filter: grayscale(1); /* Safari 6.0 - 9.0 */
    filter: grayscale(1);
}

.needs .needs-text-wrapper {
    display: flex; /* Activa el modelo flexbox */
    align-items: center; /* Centra verticalmente */
    justify-content: center; /* Centra horizontalmente */
    gap: 10px; /* Espacio entre el icono y el texto */
}

.needs .needs-wrapper {
    border-radius: 8px;
    display: block;
    position: relative;
    width: 35px;
    height: 35px;
    float: left;
    text-align: center;
    color: #fff;
    overflow: hidden;
}

    .needs .needs-wrapper i {
        font-size: 20px;
        line-height: 35px;
    }

.legend-container {
    display: block;
    vertical-align: top;
    padding-left: 5px;
    font-family: 'Work Sans', sans-serif;
    font-size: 14px;
    color: #333;
}
    /* Estilos de la leyenda */
    .legend-container ul {
        list-style-type: none;
        padding: 0;
        margin: 0;
    }

    .legend-container li {
        display: block;
        align-items: center;
        margin-bottom: 12px;
        padding: 10px;
        background: #F9F9F9;
        border-radius: 8px;
        box-shadow: 0px 0px 8px 1px #ddd;
        cursor: pointer;
        transition: all 0.2s ease-in-out;
        color: #1D44D1;
        background-color: #D2DAF6;
    }

        .legend-container li:hover {
            color: #fff;
            background: #1D44D1;
            transform: scale(1.02);
        }
        /* Colores de las etiquetas de la leyenda */
        .legend-container li span {
            display: inline-block;
            width: fit-content;
            height: 16px;
            margin-right: 10px;
            border-radius: 50%;
            box-shadow: 0px 0px 8px 1px #ddd;
        }
        /* Texto dentro de la leyenda */
        .legend-container li p {
            margin: 0;
            font-weight: bold;
            color: #333;
        }
    /* Contenedor de la descripción adicional */
    .legend-container .description {
        margin-top: 20px;
        font-size: 12px;
        color: #666;
        line-height: 1.5;
    }

    .legend-container li.removed {
        text-decoration: line-through;
        opacity: 0.5;
    }
/* Radar Chart Responsivo */
@media (max-width: 768px) {
    .chart-container,
    .legend-container {
        width: 100%;
        display: block;
        margin-bottom: 20px;
    }

        .legend-container ul {
            display: block;
        }
}

.nav-item-menu {
    background: #2d2d2d;
}

    .nav-item-menu:hover {
        background: #727172;
    }

.members-list {
    /*display: flex;*/
    align-items: center;
}

.member-thumbnail {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    margin-right: -10px;
    object-fit: cover;
    border: 0px solid #000;
}

.user-thumbnail {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin-right: 10px;
    border: 1px solid #ccc;
}

#contenedorTwoms .icon-image {
    vertical-align: middle;
}

#chart_Customer {
    width: 100%;
    height: 750px;
}

#chart_Supplier {
    width: 100%;
    height: 750px;
}

.auth-box {
    border: 10px solid #000;
    max-width: 54rem;
}

    .auth-box .left {
        background-color: #F4F4F4;
        border-radius: 10px;
    }

    .auth-box .right {
        width: 60%;
        margin-left: 10px;
        border-radius: 10px;
    }

        .auth-box .right .text {
            bottom: 50px;
            position: relative;
            padding: 0 30px;
            color: #fff;
            text-align: center;
        }

        .auth-box .right p {
            margin: 0;
            line-height: 35px;
            font-size: 40px;
            font-weight: 700;
        }

.index-vertical-align-middle {
    vertical-align: -webkit-baseline-middle;
}

.ecosystem-quantity {
    background-color: #fff;
    width: 100%;
    border-radius: 5px;
    padding: 10px;
    text-align: center;
    font-weight: 700;
    font-size: 15px;
    color: #727172;
    margin-top: 10px;
}

.badge-brd {
    color: rgb(187, 69, 0);
    background-color: rgb(255, 197, 162);
}

.badge-sbu {
    color: rgb(0, 119, 146);
    background-color: rgb(176, 230, 235);
}

.badge-cat {
    color: rgb(4, 44, 187);
    background-color: rgb(210, 218, 246);
}

.badge-prd {
    color: rgb(174, 107, 0);
    background-color: rgb(254, 227, 163);
}

.badge-srv {
    color: rgb(89, 15, 186);
    background-color: rgb(212, 189, 233);
}
.badge-grp {
    color: #1d44d1;
    background: linear-gradient( 90deg, #e9c9ff 0%, #f6f7f9 22%, #f6f7f9 82%, #ffd9bf 88%, #c9f2f6 100% );
}

.badge-blue {
    color: #1D44D1;
    padding: 0.8em 1.4em;
    background-color: #D2DAF6;
    font-weight: 600;
    font-size: 100%;
}

.badge-grey-light {
    color: #727172;
    padding: 0.8em 1.4em;
    background-color: #F4F4F4;
    font-weight: 600;
    font-size: 100%;
}

.badge-white {
    color: #000;
    background-color: #fff;
    font-weight: 600;
}

.badge-blue-dark {
    color: #fff;
    background-color: #1D44D1;
    font-weight: 600;
    font-size: 100%;
}

.submenuadmin {
    list-style: none;
}

    .submenuadmin a,
    .submenuadmin > li > a {
        display: block;
        padding: 5px 12px;
        font-size: 13px;
        color: #dedede;
    }

        .submenuadmin a:hover, .submenuadmin a:hover i, .submenuadmin a:focus, .submenuadmin a:focus i,
        .submenuadmin > li > a:hover,
        .submenuadmin > li > a:hover i,
        .submenuadmin > li > a:focus,
        .submenuadmin > li > a:focus i {
            text-decoration: none;
            color: #ffec00;
        }

        .submenuadmin a i,
        .submenuadmin > li > a i {
            margin-right: 6px;
            font-size: 14px;
            color: #dedede;
        }

.nav-market .nav-link.active {
    color: #000;
    background-color: #fff;
    border-radius: 10px 0px 0px 10px;
}

.noUi-handle:before, .noUi-handle:after {
    height: 0px;
    top: 5px;
}

.dropdown-menu {
    -webkit-box-shadow: none;
    box-shadow: none;
}

    .dropdown-menu.show {
        top: 40px !important;
        right: -25px !important;
    }

.portfolio-title {
    display: block; /* Asegura comportamiento de bloque */
    white-space: nowrap; /* No permite saltos de línea */
    overflow: hidden; /* Oculta el texto que se sale */
    text-overflow: ellipsis; /* Muestra "…" al final */
    max-width: 100%; /* Asegúrate de limitar el ancho */
}

.portfolio-selected .portfolio-title {
    color: white;
}

.portfolio-selected {
    background-color: #1D44D1;
    color: #ffffff;
}
/* Zoom en el elemento seleccionado */
.slick-slide .portfolio-selected {
    transform: scale(1.13);
    z-index: 2;
    box-shadow: none;
}

.slick-slider .slick-list {
    padding: 0px 10px;
}

.countries .select2-container .select2-selection--single {
    height: calc(1.5em + 0.75rem + 15px);
    border-radius: 10px;
}

.countries .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: calc(1.5em + 0.75rem + 15px);
}

.countries .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #000;
    line-height: calc(1.5em + 0.75rem + 2px);
    font-size: 20px;
    text-align: center;
    font-weight: 400;
}

/* Estilos generales de la barra */
#floating-toolbar-logo {
    position: fixed;
    bottom: 20px;
    left: 42%;
    background-color: #171717;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    border-radius: 300px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 8px 20px;
    gap: 15px;
    cursor: grab;
    z-index: 1000;
}

#floating-toolbar {
    position: fixed;
    bottom: 20px;
    left: 50%;
    background-color: #171717;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    border-radius: 300px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 8px 12px;
    gap: 25px;
    cursor: grab;
    z-index: 1000;
}

    #floating-toolbar:active {
        cursor: grabbing;
    }

    #floating-toolbar span {
        color: #fff;
    }

.toolbar-button {
    background: none;
    border: none;
    outline: none;
    color: #fff;
    font-size: 16px;
    padding: 5px;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s;
}

    .toolbar-button:hover {
        background: #171717;
    }

    .toolbar-button:active {
        background: #171717;
    }

#minimize-button {
    font-size: 18px;
    cursor: pointer;
    margin-left: auto;
}

#floating-toolbar.minimized {
    width: 50px;
    height: 50px;
    padding: 5px;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

    #floating-toolbar.minimized .toolbar-button,
    #floating-toolbar.minimized #minimize-button {
        display: none;
    }

    #floating-toolbar.minimized #restore-button {
        display: block;
        background: none;
        border: none;
        font-size: 18px;
        cursor: pointer;
    }

#restore-button {
    display: none;
}


/* **********************************************/
/* ************TOUR*****************************/
/* **********************************************/

/* Capa general */
.driver-overlay {
    opacity: .78 !important;
}

/* Popover general */
.driver-popover {
    border-radius: 14px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.25) !important;
    border: 1px solid #DADADA !important;
    max-width: 420px !important;
    font-family: inherit; /* usa tu tipografía */
}

    /* Título */
    .driver-popover .driver-popover-title {
        font-weight: 700 !important;
        font-size: 18px !important;
        color: #000 !important;
        margin-bottom: 6px !important;
        text-align: center;
    }

    /* Descripción */
    .driver-popover .driver-popover-description,
    .driver-popover .twom-pop-desc {
        color: #727172 !important; /* gris TWOM */
        font-size: 14px !important;
        line-height: 1.45 !important;
        text-align: center;
    }

    .driver-popover .twom-pop-small {
        font-size: 13px;
    }

    .driver-popover .twom-pop-desc ul {
        margin: 6px 0 0 18px;
        padding: 0;
    }

.driver-popover-footer button:focus {
    border: none;
}

.driver-popover-footer {
    background-color: #fff;
}
/* Botones navegación */
.driver-popover .driver-popover-footer button {
    display: inline-block;
    font-weight: 500;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    padding: 6px 22px;
    font-size: 0.9rem;
    line-height: 1.5;
    border-radius: 5px;
    color: #1D44D1;
    background-color: #D2DAF6;
    border: 0px;
    text-shadow: none;
}


    .driver-popover .driver-popover-footer button:hover {
        color: #fff;
        background: #1D44D1;
    }

.driver-popover .driver-prev-btn,
.driver-popover driver-popover-next-btn,
.driver-popover .driver-close-btn,
.driver-popover .driver-done-btn {
    border-radius: 5px;
    padding: 6px 14px !important;
    color: #1D44D1;
    background-color: #D2DAF6;
}

.driver-popover driver-popover-next-btn,
.driver-popover .driver-done-btn {
    background: #FFEC00 !important; /* amarillo TWOM */
    border-color: #FFEC00 !important;
}

/* Progreso 1/3 */
.driver-popover .driver-popover-progress-text {
    color: #b3b3b3 !important;
    font-size: 12px !important;
}

.driver-popover .driver-skip-link {
    position: absolute;
    top: 15px;
    left: 15px;
    color: #b3b3b3;
    font-size: 12px;
    cursor: pointer;
    z-index: 10;
}

    .driver-popover .driver-skip-link:hover {
        color: #000;
    }

.driver-popover-navigation-btns button + button {
    margin-left: 15px;
}
/* **********************************************/
/* ************ FIN TOUR**************************/
/* **********************************************/

/*POPOVERS*/
#scope-portfolio-popovers .popover-header {
    padding: 1.5rem 0.75rem;
    text-align: center;
    margin-bottom: 0;
    font-size: 0.9rem;
    background-color: #fff;
    border-bottom: 0px solid #e9ecef;
    border-radius: 10px;
    padding:1.5rem 0.75rem 0.5rem;
    /* border-top-right-radius: calc(0.3rem - 1px); */
}
/* Personalización del título del popover */
.popover-title-custom {
    background: #fff; /* fondo blanco */
    text-align: center; /* centrado */
    padding: 10px 5px;
}

    /* badge grande y centrado */
    .popover-title-custom .badge {
        font-size: 12px;
        padding: 8px 12px;
    }

/* ajusta cuerpo del popover */
#scope-portfolio-popovers .popover {
    max-width: 320px; /* un poco más ancho */
    border-radius: 10px;
}

    #scope-portfolio-popovers .popover .popover-body {
        font-size: 12px;
        color: #444;
        padding: 0.5rem 1.5rem 1.5rem 1.5rem;
    }

    #scope-portfolio-popovers .popover ul {
        margin-top: 20px;
        list-style: none;
        line-height: 1.8;
        padding-inline-start: 0px;
    }


.card-gradient-yellow {
    background: linear-gradient(90deg, #FFEC44 0%, #ffffff 40%);
    background-repeat: no-repeat;
    background-size: cover;
    background-clip: padding-box;
}

.okr-row {
    border: 1px solid #F4F4F4;
    border-radius: 10px;
    background: #fff;
}

.okr-chip {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 9999px;
    font-size: 12px;
}

/*SELECTOR ITEM*/
.blur-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    backdrop-filter: blur(8px);
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 99999;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
}

    .blur-overlay h2 {
        color: white;
        font-size: 28px;
        margin-bottom: 30px;
    }

/* Contenedor de cuadrícula */
/* Contenedor */
.portfolio-grid {
    display: grid;
    /* columnas auto-responsivas desde 220px hasta ocupar 1fr */
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: clamp(8px, 2vw, 20px);
    align-content: start;
    grid-auto-flow: row dense;
    padding: clamp(8px, 2vw, 16px);
    width: min(1200px, 100% - 2rem);
    margin-inline: auto;
}


/* Ajustes finos opcionales */
@media (max-width: 480px) {
    .portfolio-grid {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }
}


/* Cada celda */
.portfolio-card {
    display: block;
}

/* Fuerza estilo compacto de las tarjetas */
.project-milestone {
    border-radius: 14px;
    border: 1px solid #ededf2;
}

    .project-milestone .card-body {
        padding: 14px 16px;
    }

/* Título */
.portfolio-title {
    display: block;
    font-size: 13px;
    line-height: 1.25rem;
    color: #333;
    max-height: 2.5rem;
    overflow: hidden;
}

/* Estado seleccionado (azul, como en la imagen) */
.portfolio-selected {
    box-shadow: 0 6px 18px rgba(79,108,255,.25);
    background-color: #1D44D1 !important;
    border-radius: 14px;
}

/* Hover sutil */
.portfolio-grid .card:hover {
    box-shadow: 0 8px 20px rgba(0,0,0,.08);
    transform: translateY(-1px);
    transition: all .15s ease;
}

/* Badges (por si tus helpers no lo traen) */
.badge-soft {
    display: inline-block;
    font-size: 11px;
    padding: 4px 8px;
    border-radius: 8px;
    background: #eef2ff;
    color: #4f6cff;
}


/* Estado seleccionado: realce sin cambiar el fondo */
.card.project-milestone.portfolio-selected {
    background-color: #1D44D1 !important;
}


.steps-payment {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0px;
    margin: 10px 0 30px;
    color: #A57300;
}

.step-dot-payment {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #ffec00;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600
}

.step-line-payment {
    height: 2px;
    width: 100px;
    border-radius: 4px;
    background: #ffe96a
}


.bg-gradient-yellow {
    background: linear-gradient(180deg,#fff9cf 0%, #ffffff 65%)
}

.bg-gradient-blue {
    background: linear-gradient(180deg,#e8eefe 0%, #ffffff 65%)
}


.text-blue {
    color: #1D44D1 !important;
}
.price {
    font-size: 64px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: -1px;
    color: #000;
}

    .price small {
        font-size: 16px;
        font-weight: 600;
        color: #8b8b8c
    }

@media (max-width: 991.98px) {
    .price {
        font-size: 48px
    }
}

.btn-auto {
    display: inline-block;
    width: auto;
}



.react-flow__attribution a {
    color: #fff !important;
}

.twom-autosave-pathname.is-editing {
    outline: 1px dashed #c9cdd9;
}
.is-invalid {
    border-color: #dc3545 !important;
    padding-right: calc(1.5em + .75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

    .is-invalid:focus {
        border-color: #dc3545;
        box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
    }

.close{
    font-size:25px;
}

/* Estilo para items deshabilitados (selected != 1) */
.portfolio-disabled {
    background-color: #f5f5f5 !important;
    opacity: 0.6;
    cursor: pointer;
}

    .portfolio-disabled .portfolio-title {
        color: #999 !important;
    }

    .portfolio-disabled:hover {
        opacity: 0.8;
        background-color: #ebebeb !important;
    }

    .portfolio-disabled .badge-brd, .portfolio-disabled .badge-sbu, .portfolio-disabled .badge-cat, .portfolio-disabled .badge-prd {
        color: #999 !important;
        background-color: #dedede !important;
    }

.card-body.scrollable {
    display: flex; /* Asegura que los hijos se alineen */
    flex-direction: column; /* Ajusta la dirección del flujo */
}

.activity-list-solution {
    display: flex;
    flex-direction: column;
    height: 100%; /* Ajusta la altura al 100% del contenedor padre */
    margin: 0;
    padding: 0;
}

.activity-list {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
}

.draggable-item {
    flex: 1; /* Permite que el <li> ocupe todo el espacio disponible */
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Ajusta los elementos internos si es necesario */
    /*height: 100%;*/
}

.dd-handle-solution {
    flex: 1; /* Si quieres ajustar su contenido verticalmente */
    display: flex;
    align-items: center; /* Alinea contenido dentro del handle */
}

#ContentPlaceHolder1_lb_Portfolio_Nombre {
    display: block; /* Para asegurarse de que se comporta como bloque */
    white-space: nowrap; /* Evita que el texto pase a la segunda línea */
    overflow: hidden; /* Oculta el texto que no cabe */
    text-overflow: ellipsis; /* Añade los puntos suspensivos (...) */
    max-width: 100%; /* Se adapta al contenedor */
    margin-top: 15px;
}


.react-flow__handle-left {
    left: -8px !important;
}

.react-flow__handle-right {
    right: -8px !important;
}

/* Mantén tus estilos existentes y añade estos: */

#panel_write_and_enter {
    position: relative;
}

.idea-container {
    padding: 0;
    position: absolute;
    bottom: 60px;
}

.card-footer {
    background-color: transparent !important; /* Elimina el fondo del card-footer */
    border-top: none !important; /* Elimina el borde superior */
}

.menu-opciones {
    background: white;
    border-radius: 12px;
    padding: 0;
    margin-bottom: 15px;
    display: none; /* Oculto por defecto */
}

    .menu-opciones hr {
        margin: 0 20px;
        border: none;
        border-top: 1px solid #e9ecef;
    }

.opcion {
    padding: 20px;
    display: flex;
    align-items: flex-start;
    transition: background-color 0.2s;
    cursor: pointer;
    border: none;
}

    .opcion:hover {
        background-color: #f8f9fa;
    }

    .opcion:first-child {
        border-radius: 12px 12px 0 0;
    }

    .opcion:last-child {
        border-radius: 0 0 12px 12px;
    }

    .opcion img {
        width: 28px;
        height: 28px;
        flex-shrink: 0;
    }

    .opcion .circle {
        width: 28px;
        height: 28px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        font-size: 14px;
    }

.opcion-content {
    flex: 1;
    margin-left: 15px;
}

.opcion label {
    font-weight: 600;
    font-size: 14px;
    color: #333;
    margin: 0;
    display: block;
}

.opcion small {
    color: #666;
    font-size: 12px;
    display: block;
    margin-top: 4px;
    line-height: 1.4;
}

.btn-add-toggle {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #D2DAF6;
    color: #1D44D1;
    border: none;
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    transition: all 0.3s;
    cursor: pointer;
}

    .btn-add-toggle:hover {
        background: #1D44D1;
        color: #D2DAF6;
    }

    .btn-add-toggle.active {
        background: #1D44D1;
        color: #D2DAF6;
    }

#modalSesionCaducada .modal-dialog {
    display: flex;
    align-items: center;
    min-height: calc(100vh - 60px);
    margin: 30px auto;
}
/* Asegurar centrado vertical */
@media (min-width: 576px) {
    #modalSesionCaducada .modal-dialog {
        margin: 1.75rem auto;
    }
}

/* Responsive para móviles */
@media (max-width: 768px) {
    #modalSesionCaducada .modal-dialog {
        margin: 10px;
        min-height: calc(100vh - 20px);
    }

    #modalSesionCaducada .position-absolute {
        bottom: 10% !important;
    }
}