/* Layout for sticky footer that stays below content */
html {
    height: 100%;
}

body {
    min-height: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
}

#wb_header,
#wb_footer {
    flex-shrink: 0;
}

#wb_content {
    flex: 1 0 auto;
    width: 100%;
}

/*
 * Project   : Regional Stock Systems (SISTOCK)
 * Module    : Hoja de Estilo
 * Developer : Juan J. Barradas
 * Org.      : ERR-OPS/OMS
 * Contact   : juanjbarradas@gmail.com
 * Revision  : 2017-12-01 (y-m-d)
 * Observ.   : Ajustes para CENAPRECE-MX
 */


.ts-dropdown,
.dropdown-menu,
.bootstrap-select .dropdown-menu,
.bs-container,
.ts-wrapper.dropdown {
    z-index: 100000 !important;
}

.modal-backdrop {
    z-index: 1040 !important;
}

.modal {
    z-index: 1050 !important;
}

/* ── Select2 dropdown: siempre por encima del modal y su backdrop ─────────── */
/* Con dropdownParent: document.body el dropdown va al <body>; necesita un   */
/* z-index mayor que el modal (1050) para recibir eventos de ratón/teclado.  */
.select2-container--open {
    z-index: 9999 !important;
}

.select2-dropdown {
    z-index: 9999 !important;
    position: absolute !important;
    pointer-events: all !important;
}

/* ── Select2 Multi-select styling fixes ── */
.select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice {
    background-color: #f8f9fa !important;
    border: 1px solid #dee2e6 !important;
    color: #212529 !important;
    font-size: 0.9em !important;
    margin-top: 4px !important;
    margin-right: 4px !important;
    padding: 2px 6px !important;
}

/* Hide the duplicate 'x' text from the remove button and use a standard close SVG */
.select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice__remove {
    margin-right: 5px !important;
    border: none !important;
    background-color: transparent !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23dc3545'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 0.75em !important;
    font-size: 1.1em !important;
    line-height: 1 !important;
    padding: 0 5px !important;
}

/* If the remove button has a span inside with the 'x', hide it if it's causing double X */
.select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice__remove span {
    display: none !important;
}

.select2-search--dropdown .select2-search__field {
    pointer-events: all !important;
    user-select: text !important;
    -webkit-user-select: text !important;
}

/* Ensure dropdowns on body are even higher */
body>.ts-dropdown,
body>.bs-container,
body>.dropdown-menu,
.ts-dropdown.ts-dropdown-content {
    z-index: 99999999 !important;
    position: absolute !important;
}

input,
select,
textarea,
.form-control,
.form-select,
.ts-control,
.ts-dropdown,
.ts-dropdown .option,
.ts-control input {
    font-size: 1.2em !important;
}

input[type="checkbox"],
input[type="radio"] {
    width: 0.9em;
    height: 0.9em;
    min-width: 0.9em;
    min-height: 0.9em;
    vertical-align: middle;
}

input,
select,
textarea {
    padding: 2px 3px 2px 3px;
    border: 1px solid #1e7fb8;
    border-radius: 2px;
}

input[type='button'] {
    cursor: pointer;
    background-color: #1e7fb8;
    color: white;
    padding: 5px 10px 5px 10px;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    cursor: pointer;
}

input::-ms-clear,
input::-ms-reveal {
    cursor: pointer;
}

.input-space {

    padding: 0.2em !important;

    font-size: 1.2em !important;

}

.block {
    display: inline-block;
    padding: 0.2em;
}

.block_b {
    display: table-cell;
    text-align: center;
}

.block_report {
    padding: 5px;
    margin: 10px !important;
    border: 1px solid #1e7fb8;
    display: table-cell;
    text-align: left;
}

.block_step {
    padding: 5px;
    margin: 10px !important;
    border: 1px solid #1e7fb8;
}

.block_blue {
    border: 1px solid #1e7fb8;
    padding: 5px 5px 15px 5px;
    border-radius: 5px;
}

.block_single {
    padding: 5px;
    margin-top: 0.5em !important;
    margin-bottom: 0.5em !important;
    border: 1px solid #1e7fb8;
}

.block_orange {
    padding: 5px;
    margin-top: 0.2em !important;
    margin-bottom: 1em !important;
    border: 1px solid #ff671f;
}

.block_margin1 {
    margin: 1em !important;
}

.block_no_border {
    border: none !important;
}

.block_padding1 {
    padding: 1em !important;
}

.block_left_align {
    text-align: left;
}

.block_right_align {
    text-align: right;
}

.bg-red {
    background-color: #ff671f !important;
    color: white !important;
}

.bg-blue {
    background-color: #1e7fb8 !important;
    color: white !important;
}

.bg-orange {
    background-color: #ff671f !important;
    color: white !important;
}

.text-orange {
    color: #ff671f !important;
}

.title_1 {
    vertical-align: middle;
    font-size: 14px;
    font-weight: bold;
}

#data_content {
    font-size: 1.2em;
}

.full_height {
    height: calc(100% - 50px);
}

label {
    font-size: 1.2em;
}

.centered {
    text-align: center;
}

.shadow {
    box-shadow: 7px 6px 35px -5px rgba(0, 0, 0, 0.71);
    -webkit-box-shadow: 7px 6px 35px -5px rgba(0, 0, 0, 0.71);
    -moz-box-shadow: 7px 6px 35px -5px rgba(0, 0, 0, 0.71);
}

.r-padding {
    padding: 5px !important;
    font-size: 12px;
}

.p150 {
    width: 150px;
}

.p100 {
    width: 100px;
}

.p100p {
    width: 100% !important;
    padding-right: 5px;
    max-width: 525px;
}

.p50p {
    width: 50% !important;
    padding-right: 5px;
}

.p70 {
    width: 70px;
}

.p50 {
    width: 50px;
}

.number {
    text-align: right;
    color: black !important;
}

.number5 {
    text-align: right;
    color: black !important;
}

.numberZ {
    text-align: right;
    color: black !important;
}

.number:hover {
    color: black;
}

@media all and (max-width: 768px) {
    .title_1 {
        font-size: 20px;
    }
}

@media all and (max-width: 512px) {
    .block {
        width: 100%;
        display: block;
    }

    #data_content div .block_b,
    .block_b {
        width: 100%;
        display: block;
        text-align: center;
    }

    .block {
        width: 100% !important;
        padding: 5px !important;
        display: block;
        margin: 0px !important;
    }

    input[type="text"],
    input[type="password"] {
        width: 95%;
    }

    .shadow {
        box-shadow: none;
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
    }

    .title_1 {
        font-size: 20px;
    }

    label,
    body,
    #data_content {
        font-size: 1.2em;
    }
}

@media all and (max-width: 495px) {
    #menu-icon {
        margin-top: 45px;
    }
}

body {
    background-color: #FFFFFF;
    color: #000000;
    font-family: Helvetica;
    font-weight: normal;
    font-size: 0.9em;
    line-height: 1.1875;
    margin: 0;
    padding: 0;
}

#wb_logo {
    vertical-align: top;
}

#logo {
    border: 0px #000000 solid;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0px 0px 0px 0px;
    display: inline-block;
    /* 
    width: 352px;
    height: 70px;
    */
    vertical-align: top;
}

#wb_menu {
    display: block;
    text-align: left;
    width: 100%;
}

#menu {
    background-color: #1e7fb8;
    /*  height: 69px; */
}

#wb_menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

#wb_menu ul:after {
    clear: both;
    content: "";
    display: block;
}

#wb_menu ul li {
    background-color: #1e7fb8;
    display: list-item;
    float: left;
    list-style: none;
    z-index: 9999;
}

#wb_menu ul li i {
    font-size: 24px;
    width: 24px;
    margin: 0px 5px 0px 5px;
}

#wb_menu ul li a {
    color: #FFFFFF;
    font-family: Arial;
    font-size: 13px;
    font-weight: normal;
    font-style: normal;
    padding: 5px 5px 5px 5px;
    text-align: center;
    text-decoration: none;
}



.menu a {
    display: block;
}

#wb_menu li a:hover,
#wb_menu li .active {
    background-color: #ff671f;
    color: #FFFFFF;
    cursor: pointer;
}

#wb_menu ul ul {
    display: none;
    position: absolute;
    /*
    top: 52px;
    border-top: 1px solid white;
    */
}

#wb_menu>ul>ul>ul {
    border-top: 1px solid white;
}

#wb_menu ul li:hover>ul {
    display: list-item;
}

#wb_menu ul ul li {
    background-color: #1e7fb8;
    color: #FFFFFF;
    float: none;
    position: relative;
    width: 250px;
    border-right: 1px solid white;
}

#wb_menu ul ul li a:hover,
#wb_menu ul ul li .active {
    background-color: #a1461b;
    color: #FFFFFF;
}

#wb_menu ul ul li i {
    margin-right: 8px;
    margin-left: 0px;
    vertical-align: middle;
}

#wb_menu ul ul li a {
    color: #FFFFFF;
    padding: 10px 10px 10px 15px;
    text-align: left;
    vertical-align: middle;
    border-top: 1px solid white;
    background-color: #ff671f;
}

#wb_menu ul ul ul li {
    left: 250px;
    position: relative;
    top: -69px;
    border-left: 1px solid white;
}

#wb_menu .arrow-down {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 2px;
    vertical-align: middle;
    border-top: 4px solid #FFFFFF;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-bottom: 0 dotted;
}

#wb_menu .arrow-left {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 4px;
    vertical-align: middle;
    border-left: 4px solid #FFFFFF;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-right: 0 dotted;
}

#wb_menu li a:hover .arrow-down {
    border-top-color: #FFFFFF;
}

#wb_menu ul ul li a:hover .arrow-left,
#wb_menu ul ul li .active .arrow-left {
    border-left-color: #FFFFFF;
}

#wb_menu .toggle,
[id^=menu-submenu] {
    display: none;
}

@media all and (max-width:768px) {
    #wb_menu {
        margin: 0;
    }

    #wb_menu ul li a,
    #wb_menu .toggle {
        font-size: 13px;
        font-weight: normal;
        font-style: normal;
        padding: 5px 10px 5px 10px;
    }

    #wb_menu .toggle+a {
        display: none !important;
    }

    .menu {
        display: none;
        z-index: 9999;
    }

    #menu {
        background-color: transparent;
    }

    #wb_menu>ul>li>a {
        height: auto;
    }

    #wb_menu .toggle {
        display: block;
        background-color: #1e7fb8;
        color: #FFFFFF;
        padding: 0px 20px 0px 20px;
        line-height: 54px;
        text-decoration: none;
        border: none;
    }

    #wb_menu .toggle:hover {
        background-color: #ff671f;
        color: #FFFFFF;
    }

    [id^=menu-submenu]:checked+ul {
        display: block !important;
    }

    #menu-title {
        /* height: 69px;
         line-height: 69px !important; */
        text-align: center;
    }

    #wb_menu ul li {
        display: block;
        width: 100%;
    }

    #wb_menu ul ul .toggle,
    #wb_menu ul ul a {
        padding: 0 40px;
    }

    #wb_menu a:hover,
    #wb_menu ul ul ul a {
        background-color: #1e7fb8;
        color: #FFFFFF;
    }

    #wb_menu ul li ul li .toggle,
    #wb_menu ul ul a {
        background-color: #1e7fb8;
        color: #FFFFFF;
    }

    #wb_menu ul ul ul a {
        padding: 15px 20px 15px 60px;
    }

    #wb_menu ul li a {
        text-align: left;
    }

    #wb_menu ul li a br {
        display: none;
    }

    #wb_menu ul li i {
        margin-right: 8px;
    }

    #wb_menu ul ul {
        float: none;
        position: static;
    }

    #wb_menu ul ul li:hover>ul,
    #wb_menu ul li:hover>ul {
        display: none;
    }

    #wb_menu ul ul li {
        display: block;
        width: 100%;
    }

    #wb_menu ul ul ul li {
        position: static;
    }

    #menu-icon {
        display: block;
        position: absolute;
        right: 30px;
        top: 15px;
    }

    #menu-icon span {
        display: block;
        margin-top: 4px;
        height: 2px;
        background-color: #FFFFFF;
        color: #FFFFFF;
        width: 24px;
    }

    #wb_menu ul li ul li .toggle:hover {
        background-color: #ff671f;
        color: #FFFFFF;
    }

    #wb_menu .toggle .arrow-down {
        border-top-color: #FFFFFF;
    }

    #wb_menu .toggle:hover .arrow-down,
    #wb_menu li .active .arrow-down {
        border-top-color: #FFFFFF;
    }

    #wb_menu ul li ul li .toggle .arrow-down {
        border-top-color: #FFFFFF;
    }

    #wb_menu ul li ul li .toggle:hover .arrow-down,
    #wb_menu ul li ul li .active .arrow-down {
        border-top-color: #FFFFFF;
    }
}

#wb_header {
    clear: both;
    position: relative;
    text-align: center;
    width: 100%;
    background-color: transparent;
    background-image: none;
    border: 0px #CCCCCC solid;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#header {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0px 0px 0px 0px;
}

#header .row {
    margin-right: -0px;
    margin-left: -0px;
}

#header .column-1,
#header .column-2,
#header .column-3 {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 0px;
    min-height: 1px;
    padding-right: 0px;
    padding-left: 0px;
    position: relative;
}

#header .column-1,
#header .column-2,
#header .column-3 {
    float: left;
}

#header .column-1 {
    background-color: #F5F5F5;
    background-image: none;
    width: 8.33333333%;
    text-align: left;
}

#header .column-2 {
    background-color: #FFFFFF;
    background-image: none;
    width: 83.33333333%;
    text-align: left;
    width: 100%;
}

#header .column-3 {
    background-color: #F5F5F5;
    background-image: none;
    width: 8.33333333%;
    text-align: left;
}

#header:before,
#header:after,
#header .row:before,
#header .row:after {
    display: table;
    content: " ";
}

#header:after,
#header .row:after {
    clear: both;
}

@media (max-width: 768px) {

    #header .column-1,
    #header .column-2,
    #header .column-3 {
        float: none;
        width: 100%;
    }
}

#wb_content {
    clear: both;
    position: relative;
    width: 100%;
    background-color: transparent;
    background-image: none;
    border: 0px transparent solid;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#content {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    flex-direction: column;
    box-sizing: border-box;
    padding: 1em;
    margin-right: auto;
    margin-left: auto;
}

#content .row {
    margin-right: -0px;
    margin-left: -0px;
}

#content .column-1,
#content .column-2,
#content .column-3 {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 0px;
    min-height: 1px;
    padding-right: 0px;
    padding-left: 0px;
    position: relative;
}

#content .column-1,
#content .column-2,
#content .column-3 {
    float: left;
}

#content .column-1 {
    background-color: transparent;
    background-image: none;
    width: 8.33333333%;
    text-align: left;
}

#content .column-2 {
    background-color: #FFFFFF;
    background-image: none;
    width: 83.33333333%;
    text-align: left;
    width: 100%;
}

#content .column-3 {
    background-color: transparent;
    background-image: none;
    width: 8.33333333%;
    text-align: left;
}

#content:before,
#content:after,
#content .row:before,
#content .row:after {
    display: table;
    content: " ";
}

#content:after,
#content .row:after {
    clear: both;
}

@media (max-width: 768px) {

    #content .column-1,
    #content .column-2,
    #content .column-3 {
        float: none;
        width: 100%;
    }
}

#wb_footer {
    clear: both;
    position: relative;
    text-align: center;
    width: 100%;
    min-height: 50px;
    background-color: #1e7fb8;
    color: white;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#footer {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0px 15px 0px 15px;
    margin-right: auto;
    margin-left: auto;
    height: 50px;
}

#footer .row {
    margin-right: -15px;
    margin-left: -15px;
}

#footer .column-1,
#footer .column-2,
#footer .column-3 {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 0px;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
    position: relative;
}



#footer .column-1,
#footer .column-2,
#footer .column-3 {
    float: left;
}

#footer .column-1 {
    background-color: transparent;
    background-image: none;
    width: 8.33333333%;
    text-align: left;
}

#footer .column-2 {
    background-color: #1e7fb8;
    background-image: none;
    width: 83.33333333%;
    text-align: left;
    width: 100%;
}

#footer .column-3 {
    background-color: transparent;
    background-image: none;
    width: 8.33333333%;
    text-align: left;
}

#footer:before,
#footer:after,
#footer .row:before,
#footer .row:after {
    display: table;
    content: " ";
}

#footer:after,
#footer .row:after {
    clear: both;
}

@media (max-width: 768px) {

    #footer .column-1,
    #footer .column-2,
    #footer .column-3 {
        float: none;
        width: 100%;
    }
}

#data_content {
    background-color: transparent;
    background-image: none;
    border: 0px #000000 solid;
    padding: 15px 15px 15px 15px;
    margin: 0;
    text-align: left;
}



#wb_Image2 {
    vertical-align: top;
}

#Image2 {
    border: 0px #000000 solid;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0px 0px 0px 0px;
    display: inline-block;
    width: 200px;
    height: 41px;
    vertical-align: top;
}

#wb_Image2 {
    display: inline-block;
    width: 200px;
    height: 41px;
    z-index: 3;
}

#wb_logo {
    display: inline-block;
    width: 352px;
    height: 70px;
    z-index: 0;
}

#wb_menu {
    display: inline-block;
    width: 100%;
    z-index: 1;
}

@media only screen and (max-width: 768px) {
    #wb_menu {
        visibility: visible;
        display: block;
    }

    #wb_header {
        visibility: visible;
        background-color: transparent;
        background-image: none;
    }

    #header .column-1 {
        text-align: left;
    }

    #header .column-2 {
        text-align: left;
    }

    #header .column-3 {
        text-align: left;
    }

    #wb_content {
        visibility: visible;
        font-size: 13px;
        background-color: transparent;
        background-image: none;
    }

    #content .column-1 {
        text-align: left;
    }

    #content .column-2 {
        text-align: left;
    }

    #content .column-3 {
        text-align: left;
    }

    #wb_footer {
        visibility: visible;
        background-color: transparent;
        background-image: none;
    }

    #footer .column-1 {
        text-align: left;
    }

    #footer .column-2 {
        text-align: left;
    }

    #footer .column-3 {
        text-align: left;
    }

    #data_content {
        visibility: visible;
        display: block;
        background-color: transparent;
        background-image: none;
    }

    #wb_Image2 {
        width: 200px;
        height: 41px;
        visibility: visible;
        display: inline-block;
    }

    #Image2 {
        width: 200px;
        height: 41px;
    }
}

.modal_load {
    display: none;
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(255, 255, 255, .8) url('images/wait.gif') 50% 50% no-repeat;
    opacity: 0.80;
    -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
    filter: alpha(opacity=80)
}

;

.modal {
    overflow-y: auto !important;
}

a {
    color: #1E7FB8;
    text-decoration: underline;
}

/*
a:visited {
   color: #800080;
}
*/
a:active {
    color: #FF0000;
}

a:hover {
    color: #1E7FB8;
    text-decoration: underline;
}

h1 {
    font-family: Arial;
    font-weight: bold;
    font-size: 32px;
    font-style: normal;
    text-decoration: none;
    color: #000000;
    background-color: transparent;
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    display: inline;
}

h2 {
    font-family: Arial;
    font-weight: bold;
    font-size: 27px;
    font-style: normal;
    text-decoration: none;
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    display: inline;
}

h3 {
    font-family: Arial;
    font-weight: normal;
    font-size: 24px;
    font-style: normal;
    text-decoration: none;
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    display: inline;
}

h4 {
    font-family: Arial;
    font-weight: normal;
    font-size: 21px;
    font-style: italic;
    text-decoration: none;
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    display: inline;
}

h5 {
    font-family: Arial;
    font-weight: normal;
    font-size: 19px;
    font-style: normal;
    text-decoration: none;
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    display: inline;
}

h6 {
    font-family: Arial;
    font-weight: normal;
    font-size: 16px;
    font-style: normal;
    text-decoration: none;
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    display: inline;
}

.CustomStyle {
    font-family: "Courier New";
    font-weight: bold;
    font-size: 16px;
    font-style: normal;
    text-decoration: none;
    color: #000080;
    background-color: transparent;
}

.dynamic-tabs {
    width: 100%;
    float: left;
}

.dynamic-tabs-container {
    position: relative;
}

.dynamic-tabs-container {
    position: relative;
    width: 100%;
    margin-bottom: 0;
}

.dynamic-tabs-container .dynamic-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
    padding-right: 50px;
    border-bottom: 2px solid #dee2e6;
    margin-bottom: 0;
}

.dynamic-tabs-container .tabs-dropdown {
    position: absolute;
    top: 0;
    right: 0;
    margin-right: 0 !important;
    z-index: 10;
}

.dynamic-tabs-container .tabs-dropdown .dropdown-toggle {
    border-radius: 0 4px 0 0;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 15px;
}

.dynamic-tabs-container .tabs-dropdown .dropdown-menu {
    max-height: 400px;
    overflow-y: auto;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    min-width: 200px;
}

.dynamic-tabs-container .tabs-dropdown .dropdown-header {
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
    margin-bottom: 5px;
    padding: 10px 15px;
}

@media only screen and (max-width: 767px) {
    .dynamic-tab {
        width: auto;
    }

    .dynamic-tabs-container .tabs-dropdown .dropdown-menu {
        max-height: 70vh;
    }
}

@media screen and (max-height: 575px) {

    #rc-imageselect,
    .g-recaptcha {
        transform: scale(0.77);
        -webkit-transform: scale(0.77);
        transform-origin: 0 0;
        -webkit-transform-origin: 0 0;
    }
}

.modal {
    overflow-y: auto !important;
}

.border_bottom {
    border-bottom: 4px solid white;
}

.border_top {
    border-top: 4px solid white;
}

.inligne {
    display: inline-block !important;
}

.hidden {
    display: none;
}

.box_centered {
    text-align: end;
    align-items: center;
    align-content: center;
    text-align: center;
}

.w-25 {
    width: 25% !important
}

.w-50 {
    width: 50% !important
}

.w-75 {
    width: 75% !important
}

.w-100 {
    width: 100% !important
}

.header {
    background-color: #ff671f;
    color: #FFFFFF;
    padding: 0.5em;
}

/* Redefinir el ancho máximo de los modales de forma dinámica */
@media (min-width: 576px) {
    .modal-dialog.modal-custom-xl {
        max-width: 1000px !important;
    }

    .modal-dialog.modal-lg {
        max-width: 600px !important;
    }
}

/* Estilos para cabeceras de DataTables */
table.dataTable thead th,
table.dataTable thead td {
    background-color: #1e7fb8 !important;
    color: white !important;
    font-size: 1.2em !important;
    border-bottom: 2px solid #cccccc !important;
}

/* Tamaño de fuente para filas de datos */
table.dataTable tbody td {
    font-size: 1.2em !important;
}

/* Asegurar que los íconos de ordenamiento sean visibles sobre el fondo azul */
table.dataTable thead .sorting::before,
table.dataTable thead .sorting::after,
table.dataTable thead .sorting_asc::before,
table.dataTable thead .sorting_asc::after,
table.dataTable thead .sorting_desc::before,
table.dataTable thead .sorting_desc::after {
    color: white !important;
    opacity: 0.8 !important;
}

/* Separador gris para el footer */
table.dataTable tfoot th,
table.dataTable tfoot td {
    border-top: 2px solid #cccccc !important;
}

/* Estilo para el encabezado de los modales */
.modal-header {
    background-color: #1e7fb8 !important;
    color: white !important;
}

/* Asegurar que el botón de cerrar sea blanco sobre el fondo azul */
.modal-header .btn-close {
    filter: invert(1);
}

/* Pequeño borde y sombra para marcar un pequeño relieve en las ventanas modales */
.modal-content {
    border: 1px solid #1e7fb8 !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2), 0 6px 6px rgba(0, 0, 0, 0.2) !important;
    border-radius: 8px !important;
    overflow: hidden;
    /* Asegura que el header/footer respeten los bordes redondeados */
}

/* Ajustar el footer para que tenga un fondo ligero y combine con el relieve */
.modal-footer {
    border-top: 1px solid #dee2e6 !important;
    background-color: #f8f9fa;
}

/* Fix para Responsividad de DataTables: Ocultar inputs de búsqueda en el detalle */
.dtr-title .data-grid-search-input,
.dtr-title .datepicker,
.dtr-title br {
    display: inherit !important;
}

.dtr-title {
    font-weight: bold;
    min-width: 120px;
}

.dtr-data {
    white-space: normal !important;
    word-break: break-word;
}

.dtr-data div {
    display: inline !important;
}

.data-grid-search-input {
    width: 100% !important;
    color: black !important;
    background-color: white !important;
    display: block !important;
    margin-top: 8px !important;
    padding: 4px 6px !important;
    font-size: 0.9em !important;
    border: 1px solid #1e7fb8 !important;
    border-radius: 4px !important;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    height: auto !important;
}

table.dataTable thead th {
    vertical-align: top !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    height: auto !important;
    min-height: 60px !important;
}

table.dataTable tbody tr {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

table.dataTable tbody tr input,
table.dataTable tbody tr textarea,
table.dataTable tbody tr select {
    -webkit-user-select: auto;
    -moz-user-select: auto;
    -ms-user-select: auto;
    user-select: auto;
}

.sm-font {
    font-size: 0.9em !important;
}

@media (min-width: 992px) {
    .text-nowrap-responsive {
        white-space: nowrap !important;
    }
}

.close {
    background: transparent !important;
    border: none !important;
    opacity: 0.5;
}

.close:hover {
    opacity: 1;
}

.option {
    border-bottom: 1px solid #dbdbdb !important;
}

.btn-zoom-custom {
    background: transparent !important;
    border: none !important;
    color: #ffffff !important;
    padding: 5px 8px !important;
    box-shadow: none !important;
}

.btn-zoom-custom:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
}

.btn-zoom-custom i {
    font-size: 0.7em !important;
}

.kv-zoom-actions {
    display: flex;
    align-items: center;
}

/* Datepicker Styling Improvements */
/* Target only the dropdown/popup calendar */
.datepicker-dropdown.datepicker {
    padding: 10px !important;
    border: 1px solid #1e7fb8 !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1) !important;
    background-color: #fff !important;
}

/* Ensure the input itself matches standard inputs */
/* Removido para que herede de .form-control */

.datepicker table thead tr.dow {
    background-color: #f2f2f2 !important;
}

.datepicker table thead tr.dow th {
    border-radius: 0 !important;
    padding: 8px 0 !important;
    font-size: 0.9em !important;
    color: #555 !important;
}

.datepicker table tr td.day:hover {
    background: #e9ecef !important;
}

.datepicker table tr td.active,
.datepicker table tr td.active:hover {
    background-color: #1e7fb8 !important;
    color: #fff !important;
    text-shadow: none !important;
}

/* Timepicker Widget Styling Improvements */
.bootstrap-timepicker-widget.dropdown-menu {
    padding: 10px !important;
    min-width: 150px !important;
}

.bootstrap-timepicker-widget table td {
    padding: 2px !important;
}

.bootstrap-timepicker-widget input {
    width: 40px !important;
    height: 30px !important;
    margin: 0 !important;
    text-align: center !important;
    border: 1px solid #1e7fb8 !important;
    border-radius: 4px !important;
    font-size: 0.9em !important;
}

.bootstrap-timepicker-widget a.btn {
    padding: 4px 0 !important;
}

.bootstrap-timepicker-widget a [class^="fa-"],
.bootstrap-timepicker-widget a [class*=" fa-"] {
    font-size: 14px !important;
    color: #1e7fb8 !important;
}

.collapse {
    border: 1px solid navy;
    padding: 5px;
}

/* Custom Switch Labels v2 (Text INSIDE the switch) */
.form-check.form-switch.custom-switch-v2 {
    padding-left: 0;
    display: inline-block;
}

.form-check.form-switch.custom-switch-v2 .form-check-input {
    width: 4.5em;
    /* Más ancho para que quepa el texto */
    height: 2.2em;
    margin-left: 0;
    cursor: pointer;
    position: relative;
    background-image: none !important;
    /* Quitar el círculo de bootstrap estándar */
    background-color: #ced4da;
    border-color: #adb5bd;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

/* El "Círculo" del switch */
.form-check.form-switch.custom-switch-v2 .form-check-input::after {
    content: "";
    position: absolute;
    top: 0.15em;
    left: 0.2em;
    width: 1.8em;
    height: 1.8em;
    background-color: white;
    border-radius: 50%;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: 2;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.form-check.form-switch.custom-switch-v2 .form-check-input:checked::after {
    left: 2.45em;
}

/* Texto del estado (SI / NO) */
.form-check.form-switch.custom-switch-v2 .form-check-input::before {
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.85em;
    font-weight: bold;
    text-transform: uppercase;
    z-index: 1;
    transition: opacity 0.2s;
    width: 100%;
    text-align: center;
    padding: 0 0.5em;
}

/* Estado OFF */
.form-check.form-switch.custom-switch-v2 .form-check-input:not(:checked)::before {
    content: attr(data-off);
    padding-left: 1.8em;
    /* Empujar texto para que no quede bajo el círculo */
    color: #495057;
}

/* Estado ON */
.form-check.form-switch.custom-switch-v2 .form-check-input:checked::before {
    content: attr(data-on);
    padding-right: 1.8em;
    /* Empujar texto para que no quede bajo el círculo */
    color: white;
}

.form-check.form-switch.custom-switch-v2 .form-check-input:checked {
    background-color: #1e7fb8;
    border-color: #1e7fb8;
}

.form-check.form-switch.custom-switch-v2 .form-check-input:focus {
    box-shadow: 0 0 0 0.25rem rgba(30, 127, 184, 0.25);
}

.small {
    font-size: 0.2em
}

.select2-results__group {
    background-color: orange !important;
    color: #575454 !important;
    display: block !important;
}

.block_header {
    background-color: #1E7FB8;
    color: white;
    padding: 10px;
    cursor: pointer;
    border-radius: 4px;
}
/* Password Strength Meter */
.password-strength-container {
    margin-top: 5px;
    margin-bottom: 5px;
    width: 100%;
}

.password-strength-bar-container {
    height: 8px;
    background-color: #eee;
    border-radius: 4px;
    margin-bottom: 5px;
    overflow: hidden;
}

.password-strength-bar {
    height: 100%;
    width: 0;
    transition: width 0.3s ease, background-color 0.3s ease;
}

.strength-0 { width: 0%; background-color: #eee; }
.strength-1 { width: 20%; background-color: #ff4d4d; }
.strength-2 { width: 40%; background-color: #ffad33; }
.strength-3 { width: 60%; background-color: #ffff66; }
.strength-4 { width: 80%; background-color: #99ff66; }
.strength-5 { width: 100%; background-color: #2eb82e; }

.password-requirements {
    font-size: 0.8em;
    list-style: none;
    padding: 0;
    margin: 0;
}

.password-requirements li {
    color: #888;
    margin-bottom: 2px;
}

.password-requirements li.met {
    color: #2eb82e;
}

.password-requirements li i {
    margin-right: 5px;
}
