a{
    cursor: pointer;
}
hr{
    margin: 0.75em 0;
}
.clear-both{
    clear: both;
}
.display-none{
    display: none !important;
}
.inline-block{
    display: inline-block !important;
}
.card.active .card-body{
    border: 3px solid var(--vz-warning);
    border-radius: 3px;
}
.form-control.required,
[form-group] .select2.select2-container.select2-container--default.required,
.form-group .select2.select2-container.select2-container--default.required{
    border-left: 2px solid var(--vz-warning);
    border-radius: 5px;
}
.has-error .form-control.required,
[form-group].has-error .select2.select2-container.select2-container--default.required,
.form-group.has-error .select2.select2-container.select2-container--default.required{
    border-left: 2px solid var(--vz-danger);
}
.overflow-wrap-break-word{
    overflow-wrap: break-word;
}
.rowSelectable{
    vertical-align: middle;
}
.rowSelectable i{
    font-size: 1.5em;
}
.form-control.number-small{
    max-width: 90px;
}
.form-control.number, .container-select-yes-no{
    max-width: 155px;
}
.form-control.date-simple{
    max-width: 120px;
}
.number{
    text-align: right;
}
.text-left{
    text-align: left !important;
}
.text-center{
    text-align: center;
}
.title{
    font-size: 14px;
}
.badge-container .badge{
    font-size: 13px;
}
/* Fechas importantes (detalle de pedido): título y separador sutil entre filas */
.fecha-item-title{
    font-size: .95rem;
    font-weight: 600;
    margin-bottom: .15rem;
}
.fecha-sep{
    padding-bottom: .75rem;
    margin-bottom: .75rem;
    border-bottom: 1px solid var(--vz-border-color);
}
.fecha-sep:last-child{
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0;
}
/* Boxes de totales (Vinculados/Invitados, Seleccionados, etc.) en detalle de pedido */
.total-card{
    min-width: 112px;
    border: none;
    overflow: hidden;
}
/* Selección: anillo alrededor de toda la caja (body + footer), sin alterar el layout interno */
.total-card.active{
    box-shadow: 0 0 0 3px var(--vz-warning);
}
.total-card.active .card-body{
    border: none;
}
.total-card .card-body{
    padding: .85rem .75rem .5rem;
}
.total-card-footer{
    background-color: rgba(0, 0, 0, .2);
    border-top: 1px solid rgba(255, 255, 255, .15);
    color: #fff;
    text-transform: uppercase;
    font-weight: 600;
    font-size: .72rem;
    letter-spacing: .02em;
    line-height: 1.2;
    padding: .45rem .5rem;
}
.border-bottom-1px{
    border-bottom: 1px solid var(--vz-header-border);
}
.no-border-left{
    border-left: none;
}
.body-color .label-color {
    display: block;
    height: 28px;
    width: 28px;
}
.width-50px{
    width: 50px !important;
}
.width-120px{
    width: 120px !important;
}
.width-250px{
    width: 250px !important;
}
.width-350px{
    width: 350px !important;
}
.btn{
}
.input-group-text{
    padding-left: 10px;
    padding-right: 10px;
}
input.form-check-input{
    width: 1.0rem;
    height: 1.0rem;
}
.form-group{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
.form-group [class*="col-"]{
    padding-right: 15px;
    padding-left: 15px;
}
.form-control{
    font-weight: lighter;
}
.form-horizontal .form-group{
}
.hidden, display-none{
    display: none;
}
.text-right{
    text-align: right;
}
[yasta-form] .control-label{
    padding-top: 10px;
}
[yasta-form] .field-number{
    max-width: 120px;
    text-align: right;
}
.form-inline .form-group{
    display: inline-block;
}
/*options*/
.options{
    padding: var(--vz-card-cap-padding-y) var(--vz-card-cap-padding-x);
    border-bottom: 1px dashed #e5e5e5;
}
/*Table*/
.td-action-width{
    min-width: 120px;
}
/*filters*/
.filters .form-group.inline-block {
    min-width: auto;
}
.filters .form-group {
    min-width: 150px;
}
.filters label {
    margin-bottom: 0.1rem;
    font-weight: normal;
}
.filters .form-check-container{
    vertical-align: middle;
    width: 100px;
    margin-left: 5px;
}
.filters .check-filter{
    position: absolute;
    top: 1px;
    width: 24px;
    height: 24px;
}
.filters .form-check-container label{
    margin-left: 5px;
}

/*card-detail*/
.card-detail .form-label{
    margin-top: .5rem;
    margin-bottom: 2px;
}
.card-detail .form-control-static{
    margin-bottom: 0;
    color: var(--vz-secondary-color);
}
/*panel*/
.modal, [yasta-form]{
    color: var(--vz-secondary-color);
}
.modal-footer {
    padding-top: 10px !important;
}
[data-bs-theme="light"] .modal-footer{
    border-top: 1px solid #e5e5e5;
}
@media (min-width: 600px) {
    .modal {
        --vz-modal-width: 600px;
    }
}
@media (min-width: 1400px) {
    .modal-xl {
        /*--vz-modal-width: 1350px;*/
    }
}
/*panel-form*/
label.bold, .bold{
    font-weight: var(--vz-font-weight-semibold) !important;
    color: var(--vz-gray-800);
}
.form-group .control-label {
    text-align: right;
    vertical-align: middle;
    font-weight: normal;
}

.has-success .form-control,
.has-success .form-control:focus {
    border-color: var(--vz-green);
}
.has-warning .form-control,
.has-warning .form-control:focus {
    border-color: var(--vz-orange);
}
.has-error .form-control,
.has-error .form-control:focus,
.has-error .select2-container .select2-selection--single,
.has-error .form-control.required.is-invalid{
    border-color: var(--vz-red);
}
.has-success .control-label {
    color: var(--vz-green);
}
.has-warning .control-label {
    color: var(--vz-orange);
}
.has-error .control-label {
    color: var(--vz-red);
}
.has-error input[type="file"].required {
    border-color: var(--vz-red);
}

.has-error span.field-format, span.field-error {
    font-size: 10px;
    color: var(--vz-red) !important;
}

.has-error .form-control-static {
    color: var(--vz-red) !important;
}

.has-error .select.required, .has-error .select2.required a.select2-choice {
    border-color: var(--vz-red);
}

.field-format-error {
    color: var(--vz-red);
    font-size: 11px;
}
.col .col-content, .col .col-content .col-header, .col .col-content .col-header .card-body{
    border-radius: 10px;
}
.col .col-content .col-header{
    margin-bottom: 2px;
}
.col .col-content{
    border: 2px solid var(--vz-gray-500);
    min-height: 100%;
}
/** Yasta Locked Screen
*****************************************/
.yastaLockedScreen{display: none;background-color: #e2e2e2;position: absolute;top: 0;left: 0;width: 100%;height: 100%;z-index: 99999;opacity: .91}
.yastaLockedScreen .lock-word span{color: #666}
.yastaLockedScreen .lockscreen img.img-circle{border-radius: 50%; max-width: 150px}

/** Yasta Loading Spinner
*****************************************/
.spin {
    -webkit-animation: spin 2s infinite linear;
    -moz-animation: spin 2s infinite linear;
    -o-animation: spin 2s infinite linear;
    animation: spin 2s infinite linear;
}

@-moz-keyframes spin {
    from {
        -moz-transform: rotate(0deg);
    }
    to {
        -moz-transform: rotate(360deg);
    }
}

@-webkit-keyframes spin {
    from {
        -webkit-transform: rotate(0deg);
    }
    to {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
/** Tareas **/
.tarea-list {
    overflow-y: auto;
    max-height: 500px;
}

.tarea-fecha {
    margin-bottom: 5px;
}

.tarea-descripcion {
    color: #999;
    font-size: 13px;
    font-style: italic;
    font-weight: normal;
    margin: 7px 0 0;
}

.alarma-counter-main {
    counter-reset: alarma;
}

.alarma-counter::before {
    counter-increment: alarma;
    content: counter(alarma);
}

.yasta-autocomplete-input-group .easy-autocomplete-yasta.person{
    min-width: 88%;
}
.yasta-autocomplete-input-group .easy-autocomplete-yasta.person .help-inline{
    right: 4px;
}
.yasta-autocomplete-input-group .input-group-text{
    padding-right: 6px;
    padding-left: 6px;
}
.easy-autocomplete-yasta {
    position: relative;
}

.easy-autocomplete-yasta .eac-item {
    clear: both;
}

.easy-autocomplete-yasta.person ul li {
    min-height: 70px;
}

.easy-autocomplete-yasta.person.poliza ul li {
    min-height: 30px;
}

.easy-autocomplete-yasta.person.poliza .ea-item .ea-data {
    width: 100%;
    text-align: right;
}

.easy-autocomplete-yasta .eac-item img {
    float: left;
    width: 60px;
    margin-right: 10px;
}

.easy-autocomplete-yasta .help-inline {
    position: absolute;
    top: 9px;
    right: 8px;
}

form[class^="form-horizontal"] .help-inline {
    right: 22px;
}

.easy-autocomplete-yasta .easy-autocomplete input {
    padding: 6px 20px 6px 12px;
}

.easy-autocomplete-container {
    z-index: 34;
}
.easy-autocomplete-yasta.static .easy-autocomplete-container {
    position: relative;
    z-index: 0;
}

.easy-autocomplete-yasta.input-group .easy-autocomplete-container {
    top: 30px;
}

.easy-autocomplete-yasta.static ul li.danger {
    background-color: #FCB5BC;
}

.easy-autocomplete-container .eac-item {
    clear: both;
}

.easy-autocomplete-container .eac-item .ea-left {
    float: left;
    width: 70%;
}

.easy-autocomplete-yasta.static ul {
    display: block;
}

.easy-autocomplete-yasta.static ul li {
    background-color: #F3F6FB;
}

.eac-item .ea-left .ea-nombre {
    font-size: 14px;
    color: #337ab7;
}

.eac-item .ea-left {
    font-size: 12px;
}

.eac-item .ea-left .ea-codigo {
    font-size: 10px;
    color: #66606d;
}

.easy-autocomplete-container .eac-item .ea-right {
    float: left;
    text-align: right;
    width: 29%;
}

.eac-item .ea-right .ea-categoria {
    font-size: 12px;
}

.eac-item .ea-right .ea-categoria .label {
    font-size: 9px;
}

.eac-item .ea-right .btn-enlace {
    margin-top: 10px;
    font-size: 20px;
    text-align: right;
}

.easy-autocomplete-yasta.user {

}

.easy-autocomplete-yasta.static ul, .easy-autocomplete-yasta.static li {
    border: none;
}

.easy-autocomplete-yasta.static ul {
    border-bottom: 1px solid #ddd;
}

.easy-autocomplete-yasta.static li {
    border-top: 1px solid #ddd !important;
}

.easy-autocomplete-yasta.user .eac-item .ea-left, .easy-autocomplete-yasta.producto .eac-item .ea-left {
    width: 16%;
}

.easy-autocomplete-yasta.user .eac-item .ea-left .img {
    border-radius: 50%;
    height: 32px;
    width: 32px;
}

.easy-autocomplete-yasta.producto .eac-item .ea-left .fa.checked {
    color: #18A689;
    font-size: 20px;
}

.easy-autocomplete-yasta.user .eac-item .ea-name, .easy-autocomplete-yasta.producto .eac-item .ea-name {
    color: inherit;
    font-weight: 600;
}

.easy-autocomplete-yasta.user .eac-item .ea-role, .easy-autocomplete-yasta.producto .eac-item .ea-ramo {
    font-size: 10px;
}

.easy-autocomplete-yasta.user .eac-item .ea-center, .easy-autocomplete-yasta.producto .eac-item .ea-center {
    float: left;
}

.easy-autocomplete-yasta.user .eac-item .ea-right, .easy-autocomplete-yasta.producto .eac-item .ea-right {
    float: right;
}

.easy-autocomplete-yasta.employee .eac-item {
    position: relative;
}

.easy-autocomplete-yasta.employee .eac-item .ea-right-top {
    position: absolute;
    top: 0px;
    right: 5px;
}

.easy-autocomplete-yasta.employee .eac-item .ea-right-top .fa {
    font-size: 14px;
}

.easy-autocomplete-yasta .eac-item .ea-right .fa, .easy-autocomplete-yasta.producto .eac-item .ea-right .fa {
    font-size: 20px;
}

.easy-autocomplete-yasta.user .eac-item .ea-right .btn {
    color: white;
}

.ea-item .ea-nombre {
    font-size: 13px;
    color: #337ab7;
}

.ea-item {
    font-size: 11px;
    color: #66606d;
}

.ea-data {
    width: 84%;
    display: inline;
}

.json-data {
    max-height: 200px;
    max-width: 800px;
    overflow-y: scroll;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    padding: 10px;
    white-space: pre-wrap;
    font-family: monospace;
}

/* Datatables
************************************************/
table.dataTable thead th,
table.dataTable tfoot th {
    font-weight: bold;
}
table.dataTable thead th {
    font-weight: 600;
}
[data-bs-theme="light"] table.dataTable thead th{
    background-color: #eee !important
}
table.dataTable th,
table.dataTable td {
    padding: 5px !important;
    font-size: 12px;
    line-height: 18px !important;
}

table.dataTable {
    box-sizing: border-box;
}
.vertical-navs-step .nav .nav-link.done.active{
    border-color: var(--vz-primary);
    font-weight: bold;
}
.dataTables_wrapper::after {
    clear: both;
    content: "";
    display: block;
    height: 0;
    visibility: hidden;
}

.dataTables_wrapper {
    min-height: 200px;
    display: block;
}

.min30Block {
    min-height: 30px;
    display: block;
}

.dataTables_wrapper .dataTables_processing {
    background: none;
    font-size: 1.2em;
    height: 40px;
    left: 50%;
    margin-left: -50%;
    margin-top: -25px;
    padding-top: 20px;
    position: absolute;
    text-align: center;
    top: 50%;
    width: 100%;
}

.dataTable .row_selected {
    background-color: #B0BED9 !important;
}
/**Toastify**/
.toastify.danger {
    background: var(--vz-danger);
}
.toastify.info {
    background: var(--vz-info);
}
.toastify.warning {
    background: var(--vz-warning);
}
/** Dynamic Column **/
.dynamic-column-list {
    column-gap: 1rem; /* Espacio entre columnas */
}
.dynamic-column-list:has(.dynamic-list-item:nth-last-child(-n+6)) {
    column-count: 1; /* 2 columnas si hay 14 o menos elementos */
}
.dynamic-column-list:has(.dynamic-list-item:nth-last-child(n+6)) {
    column-count: 3 /* 3 columnas si hay 15 o más elementos */
}
.dynamic-list-item {
    break-inside: avoid; /* Evita que un item se divida entre columnas */
}