@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,300;0,6..12,400;0,6..12,700;0,6..12,900;1,6..12,300;1,6..12,400;1,6..12,700&display=swap');

/************ TABLE OF CONTENTS ***************
1. INICIO DE SESIÓN


**********************************************/

/*** 

====================================================================
			INICIO DE SESIÓN
====================================================================

***/

body,
html {
    height: 100%;
    margin: 0;
    font-family: 'Nunito Sans', sans-serif;
}

.login-container {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #f8f9fa;
}

#captchaIMG {
    display: block;
    margin-left: auto;
    margin-right: auto;

}

#login {
    margin-bottom: 20px;
}

.login-bg {
    background-image: url(../img/salvia_home_img.jpg);
    background-size: cover;
    height: 100%;
    width: 100%;
    position: relative;
    top: 0;
    left: 0;
    z-index: -1;
}

.login-form {
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 8px;
    padding: 40px;
    max-width: 600px;
    width: 100%;
    text-align: center;
}

.form-group {
    position: relative;
    margin-bottom: 25px;
}

.form-group input {
    width: 100%;
    padding: 12px;
    border: 1px solid #ced4da;
    border-radius: 5px;
    font-size: 14px;
}

.form-group i {
    margin-right: 5px;
    color: #aaa;
}

.login-btn {
    background-color: #6c757d;
    border: none;
    border-radius: 5px;
    color: #ffffff;
    cursor: pointer;
    font-size: 18px;
    padding: 12px 20px;
    width: 100%;
}

.login-btn:hover {
    background-color: #495057;
}

.forgot-password {
    text-align: center;
    margin-top: 20px;
}

.forgot-password a {
    color: #6c757d;
}

/*** 

====================================================================
			TOP AND BOTTOM GOV
====================================================================

***/

.header-gov {
    height: 48px;
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    background-color: #36c;
    flex-direction: row;
    grid-template-rows: auto auto;
    grid-template-columns: auto;
    grid-auto-columns: auto;
    justify-content: flex-start;
    align-items: center;
    padding-left: 86px;
    padding-right: 86px;
    display: flex;
}

.login-footer-gov {
    margin-top: 0px;
    height: 95px;
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    background-color: #3366cc;
    flex-direction: row;
    grid-template-rows: auto auto;
    justify-content: flex-start;
    align-items: center;
    padding-left: 86px;
    padding-right: 86px;
    display: flex;
}

.footer-gov {
    margin-top: 40px;
    height: 95px;
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    background-color: #3366cc;
    flex-direction: row;
    grid-template-rows: auto auto;
    justify-content: flex-start;
    align-items: center;
    padding-left: 86px;
    padding-right: 86px;
    display: flex;
}

.top-bar {
    background-color: #007bff;
    height: 45px;
    margin: 0;
    padding: 0;
}

.top-bar img {
    max-height: 100%;
    vertical-align: middle;
}

.welcome-section {
    background-color: #F6F5F7;
    border-radius: 15px;
    padding: 20px;
    margin: 20px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.titulo-section {
    background-color: #F6F5F7;
    border-radius: 15px;
    padding: 20px;
    margin: 20px 0;
    display: flex;
    align-items: center;
    column-gap: 20px;
}


.search-form {
    display: flex;
    align-items: flex-end;
    gap: 0 16px;
}

.search-form select,
.search-form input {
    margin-bottom: 10px;
    margin-right: 10px;
}

.search-form .btn {
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
    line-height: 1.5;
}

.search-form.reportes-filter-form {
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 0 16px;
}

.search-form.reportes-filter-form .form-group {
    flex: 1 1 180px;
    margin-bottom: 0;
}

.search-form.reportes-filter-form .form-group label {
    display: block;
    margin-bottom: 0.5rem;
}

.search-form.reportes-filter-form .form-group--actions {
    flex: 0 0 auto;
}

.search-form.reportes-filter-form .form-group--actions .reportes-filter-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.search-form.reportes-filter-form select,
.search-form.reportes-filter-form input {
    margin-bottom: 0;
    margin-right: 0;
    width: 100%;
}

@media (max-width: 768px) {
    .search-form .form-group:last-child {
        width: 100%;
        margin-top: 4px;
    }

    .search-form.reportes-filter-form .form-group--actions {
        width: 100%;
    }
}



/*** 

====================================================================
		DASHBOARD TABLA DE CASOS
====================================================================

***/
.vistas {
    color: #5106A7;
    margin-right: 10px;
}

.bg-light {
    background: white;
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
    background-color: #ffffff;
    border-bottom-color: transparent;
}

.table-cell-red {
    background-color: #FFE8E8 !important;
    color: red;
}

.table-cell-verde {
    background-color: #ccffcc;

}

.news-icon {
    color: #2fcf2f;
}

.danger-icon {
    color: #ff5722;
}

#spinnerImg {
    width: 100px;
}

textarea.form-control {
    height: auto !important;
}

.form-control {
    display: block;
    width: 100%;
    height: calc(1.5em + 0.75rem + 2px);
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #5106A7;
    background-color: #EDEBF0;
    background-clip: padding-box;
    border-radius: 10px;
    box-shadow: 1px 1px 5px #9b9b9b;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}


select[multiple] {
    height: 100px;
}


h2,
h3,
h4,
h5 {
    color: #5106A7;
}

.btn {
    border-radius: 10px;
    width: auto;
}

btn-secondary.disabled,
.btn-secondary:disabled {
    color: #707070;
    background-color: #a7a7a7;
    border-color: #707070;
}

.btn-secondary {
    color: #fff;
    background-color: #5106A7;
    border-color: #6c757d;
}

.btn-primary {
    color: #fff;
    background-color: #5106A7;
    border: none;
    box-shadow: 1px 1px 5px #ebebeb;
    border-radius: 10px;
}

.btn-primary:focus {
    color: #fff;
    background-color: #5106A7;
    border-color: #0062cc;
}

.btn-success {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745;
}

.btn-primary:hover {
    background-color: #DBCEEC;
    color: #5106A7
}

.btn-primary:not(:disabled):not(.disabled):active {
    background: #5106A7;
}

.logoheader {
    width: 200px;
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
    background-color: #DBCEEC;
    border-bottom-color: none;
    border-radius: 15px;
    margin-bottom: 10px;
    min-width: 100px;
    text-align: center;
    color: #5106A7;
    border: none;
    box-shadow: 1px 1px 10px #e3d8ff;

}

a {
    color: #5106A7;
}

.circulo_activos {
    color: #0cff04;
    font-size: 12px;
    margin-right: 5px;
    border: 1px solid #2ba727;
    border-radius: 100px;
}

.circulo_desactivado {
    color: #ff9f9f;
    font-size: 12px;
    margin-right: 5px;
    border: 1px solid #f81300;
    border-radius: 100px;
}

.circulorecontacto {
    color: #FFFAD0;
    font-size: 12px;
    margin-right: 5px;
    border: 1px solid #A36D16;
    border-radius: 100px;
}

.circuloenrutados {
    color: #e2ffe5;
    font-size: 12px;
    margin-right: 5px;
    border: 1px solid #005c08;
    border-radius: 100px;
}

.enrutado {

    background-color: #e2ffe5;
    border: 1px solid #005c08;
    color: #005704;
}

.circuloporaprobar {
    color: #fdffe2;
    font-size: 12px;
    margin-right: 5px;
    border: 1px solid #6c7400;
    border-radius: 100px;
}

.poraprobar {

    background-color: #fdffe2;
    border: 1px solid #6c7400;
    color: #555300;
}

.circulovencidos {
    color: #ff9f9f;
    font-size: 12px;
    margin-right: 5px;
    border: 1px solid #f81300;
    border-radius: 100px;
}

.circulocompletados {
    color: #0cff04;
    font-size: 12px;
    margin-right: 5px;
    border: 1px solid #2ba727;
    border-radius: 100px;
}

.circuloinvalidos {
    color: #949494;
    font-size: 12px;
    margin-right: 5px;
    border: 1px solid #080808;
    border-radius: 100px;
}

.circulo_caso_atendido {
    color: rgb(0, 59, 6);
    font-size: 12px;
    margin-right: 5px;
    border: 1px solid #00b60f;
    border-radius: 100px;
}

.circulo_caso_proceso {
    color: #fffb00;
    font-size: 12px;
    margin-right: 5px;
    border: 1px solid #575500;
    border-radius: 100px;
}


.circulo_caso_sin_atender {
    color: #ff4a4a;
    font-size: 12px;
    margin-right: 5px;
    border: 1px solid #ff0000;
    border-radius: 100px;
}

.table {
    width: 100%;
    margin-bottom: 1rem;
    color: #68676A;
    background: #F6F5F7;
    border-radius: 15px;
}

.tags {
    display: flex;
    flex-wrap: wrap;
}

.tag {
    display: inline-block;
    padding: 5px;
    font-size: 12px;
    margin: 4px;
    border-radius: 20px;
    width: 100%;
    text-align: center;
}

.desactivado {

    background-color: #FFE0D0;
    border: 1px solid #DD736A;
    color: #DD736A;
}

.vencido {

    background-color: #FFAFAF;
    border: 1px solid #A31616;
    color: #A31616;
}

.novedad {

    background-color: #AAFFF2;
    border: 1px solid #1b8380;
    color: #1b8380;
}




.completado {

    background-color: #E9FFD0;
    border: 1px solid #62b21d;
    color: #62b21d;
}

.finalizado {

    background-color: #EBE9D9;
    border: 1px solid #9D9D9B;
    color: #9D9D9B;
}

.recontacto {

    background-color: #FFFAD0;
    border: 1px solid #A36D16;
    color: #A36D16;
}

.invalido {

    background-color: #e0e0da;
    border: 1px solid #ffc7c7;
    color: #a7a7a7;
}

.activos {
    background-color: #E9FFD0;
    border: 1px solid #62b21d;
    color: #62b21d;
}

.table thead th {
    vertical-align: bottom;
    color: #5106A7;
    border-bottom: none;
    font-size: 12px;
}

.icoacciones {
    color: #5106A7;
    cursor: pointer;
}

.acciones {
    column-gap: 10px;
}

.unable {
    color: #D1D1D1;
    cursor: pointer;
}

.nav-tabs {
    border-bottom: none;
}

.iconosacciones {
    column-gap: 15px;
}

.table td {
    padding: 0.75rem;
    vertical-align: middle;
    font-size: 13px;
    border-top: 1px solid #dee2e6;
    font-weight: 300;
}

.table td a {
    font-weight: bold;
    font-size: 10px;
    line-height: unset;
}

.nav-link:hover {
    color: #DBCEEC;
    border: none !important;
}

.page-link {
    position: relative;
    display: block;
    padding: 0.5rem 0.75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #5106A7;
    background-color: #fff;
    border: 1px solid #5106A7;
}

.page-link:hover {
    position: relative;
    display: block;
    padding: 0.5rem 0.75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #ffffff;
    background-color: #5106A7;
    border: 1px solid #5106A7;
}

.btn-assign {
    padding: unset;
    margin: unset;
    font-weight: bold;
    font-size: 10px;
    line-height: unset;
    color: #5106A7;
}

.vc_info_text {
    font-size: 14px;
    color: #000000;
    min-height: 40px;
}


/*** 

====================================================================
		POP UP
====================================================================

***/
.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.publicOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(0, 0, 0);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.alertapop {
    color: #5106A7;
    font-weight: bold;
}

.popup-container {
    position: relative;
    width: 350px;
    height: 300px;
    background-color: #ececf5;
    border-radius: 10px;
    box-shadow: 0px 0px 10px rgb(133 19 19 / 50%);
    text-align: center;
    padding: 30px;
    z-index: 10000;
    align-items: center;
}

.popup-container2 {
    width: auto;
    height: auto;

}

.popup-content {
    color: red;
    font-size: 18px;
    margin-bottom: 5px;
}

.close-button {
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
}

.nuevo-popup {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
}

.nuevo-popup-content {
    background-color: #fff;
    max-width: 80%;
    margin: 10% auto;
    padding: 60px;
    border-radius: 8px;
    position: relative;
    max-height: 600px;
    /* Establece la altura máxima de la tabla */
    overflow: auto;
    /* Agrega barras de desplazamiento cuando sea necesario */
}

.nuevo-popup-close {
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
}

.nuevo-popup-close:hover {
    color: red;
}

/*** 

====================================================================
		FORMULARIO DE REGISTRO DE NUEVO CASO
====================================================================

***/
.step-container {
    display: none;
}

.step-container.active {
    display: block;
    margin-bottom: 0px;
}

.step-progress {
    text-align: center;
    margin-bottom: 20px;
}

.tituloform {
    display: flex;
    background: #F6F5F7;
    padding: 15px 10px 10px 20px;
    border-radius: 10px;
    margin-bottom: 0px;
    align-items: center;
    column-gap: 20px;
    margin-top: 20px;
}

.star_info {
    background: #F6F5F7;
    padding: 15px 10px 10px 20px;
    border-radius: 10px;
    margin-bottom: 0px;
    align-items: center;
    column-gap: 20px;
    margin-top: 20px;
}

.star_info p {
    clear: left;
}

.tituloform i {
    color: #5106A7;
}

.acting_row {
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    padding: 15px;
}

label {
    font-size: 15px;
    color: #3c0080;
    min-height: 20px;
    /* margin-top: 40px; */
}

input::placeholder,
textarea::placeholder {
    font-size: 14px;
    font-weight: lighter;
    color: #794ea7;
}


.badge-secondary {
    background: #ffffff;
    color: #5106A7;
    filter: grayscale(1);
}

.badge-primary {
    color: #5106A7;
    background-color: #ffffff;
}

.imgstep {
    width: 90px;
}

.botones {
    column-gap: 30px;
    margin-top: 20px;
    justify-content: center;
}

.icoruta {
    height: 65px;
}

.mensaje {
    background: #E9E6EB;
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 30px;
    padding-left: 40px;
    margin-bottom: 40px;
}

.hechos {
    min-height: 200px;
}

/*** 

====================================================================
		POP UP INFO CASO
====================================================================

***/

.tableinfopopup {
    background: #f0f0f1;
    width: 100%;
    border-radius: 10px;
}

.tabspopup {
    display: flex;
}

.tabpopup {
    cursor: pointer;
    padding: 10px 20px;
    background-color: #f0f0f0;
    border: 1px solid #ccc;
    border-radius: 5px 5px 0 0;
    margin-right: 5px;
    display: flex;
    column-gap: 20px;
}

.tabpopup.active {

    background-color: #5106A7;
    color: #ffffff;

}

.tabpopup.active i {
    color: #ffffff;
}

.tab-contentpopup {
    display: none;
}

.btn-tabpopup {
    border: none;
    background-color: #007bff;
    color: #fff;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
}

.btn-tabpopup:focus {
    outline: none;
}

.ruta-info-container {
    display: flex;
    align-items: center;
    background-color: #ffffff;
    border-radius: 10px;

    margin-bottom: 16px;
    padding: 40px 40px 40px 40px;
    box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.3), -2px -2px 8px 0 rgba(255, 255, 255, 0.06);
    /* Box shadow */
    transition: transform 0.5s;
    /* Aumentamos la duración de la transición */
}

.ruta-info-container:hover {
    transform: scale(1.05);
    /* Al hacer hover, agranda el contenedor un poco */
}

.icono-principal-ruta h3 {
    font-size: 20px;
    margin: 20px;
}

.save_log {
    margin-bottom: 20px;
}

.icono-principal-ruta {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 10px;


}

.linea-progreso-ruta {
    flex-grow: 1;
    height: 3px;
    background: #cccccc;
    display: flex;
    justify-content: space-between;
}

.linea-progreso-ruta-atendida {
    margin: 10px;
    flex-grow: 1;
    height: 3px;
    background: linear-gradient(to right, #17e892 0%, #17e892 0%, #cccccc 33.33%, #cccccc 100%, #cccccc 100%, #cccccc 100%, #cccccc 100%);
    display: flex;
    justify-content: space-between;
}

.linea-progreso-ruta-iniciada {
    margin: 10px;
    flex-grow: 1;
    height: 3px;
    background: linear-gradient(to right, #17e892 0%, #17e892 0%, #cccccc 33.33%, #cccccc 33.33%, #cccccc 50.66%, #cccccc 80%, #cccccc 100%);
    display: flex;
    justify-content: space-between;
}

.linea-progreso-ruta-finalizada {
    margin: 10px;
    flex-grow: 1;
    height: 3px;
    background: #17e892;
    display: flex;
    justify-content: space-between;
}

.linea-progreso-ruta-vencido {
    margin: 10px;
    flex-grow: 1;
    height: 3px;
    background: #F15557;
    display: flex;
    justify-content: space-between;
}

.estado-ruta {
    flex-basis: 30%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column;
    font-size: 18px;
    font-weight: bold;
    position: relative;
    padding: 10px;
    border-radius: 10px;
    margin: 0 5px;
}


.titulo-estado {
    font-size: 16px;
}


.titulo-estado-inicial {
    font-size: 16px;
    color: #cccccc;
}

.estado-circulo {
    width: 80px;
    height: 80px;
    background-color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 5px;
}

.estado-circulo-inicial {
    width: 80px;
    height: 80px;
    background-color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 5px;
}

.estado-circulo i {
    color: #17e892;
    font-size: 30px;
}

.estado-circulo-inicial i {
    color: #cccccc;
    font-size: 30px;
}

.imgruta {
    width: 40px;
}

#rutas-tab {
    margin-top: 25px;
}

.botones-container {
    display: flex;
    align-items: center;
    column-gap: 10px;
}

.boton {
    background-color: #007bff;
    color: #fff;
    border: none;
    padding: 8px 16px;
    margin-left: 8px;
    border-radius: 5px;
    cursor: pointer;
}

.estadoruta {
    display: flex;
    align-content: center;
    align-items: center;
    padding: 45px;
    margin: 30px;
}

.inforuta {
    background: #f0eef2;
    border-radius: 10px;
    padding: 30px;
}

.inforuta td {
    padding: 30px;
    min-width: 300px;
}

.inforuta tr {
    border-bottom: 1px solid #cccccc;
}

.alert {
    font-size: 12px;
    font-style: italic;
    color: #5106a7;
}

.mensaje {
    min-height: 250px;
}

.tabla-desplegable {

    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out;
    margin-top: 10px;
    /* Añadimos espacio arriba */
    background-color: #F6F5F7;
    color: #68676A;
    border-radius: 10px;
    padding: 10px;
    /* Padding para espacio */
}

.tabla-desplegable table {
    width: 100%;
    /* Ocupa todo el ancho del contenedor */
    border-collapse: collapse;
}

.tabla-desplegable th,
.tabla-desplegable td {
    border: 1px solid #ccc;
    /* Añade bordes a las celdas */
    padding: 8px;
    /* Añade padding a las celdas */
}

.tabla-desplegable.mostrar {
    max-height: min-content;
    /* Altura máxima de la tabla desplegable */
    display: block;
    /* Mostrar la tabla al expandirse */
}

.container1 {
    max-width: 800px;
    margin: 20px auto;
    padding: 20px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.column1 {
    width: 30%;
    float: left;
    margin: 0 3%;
    cursor: pointer;
}

.box1 {
    background-color: #3498db;
    color: #fff;
    padding: 20px;
    border-radius: 5px;
    margin-bottom: 20px;
    text-align: center;
}

.options-container {
    display: none;
    margin-top: 20px;
}

.options-group {
    margin-bottom: 15px;
}

.autocomplete,
.select-field {
    width: 100%;
    padding: 10px;
    margin-top: 5px;
    box-sizing: border-box;
}

.selected-box {
    background-color: #007bff;
    /* Cambiar al color deseado */
    color: #fff;
    /* Cambiar al color de texto deseado */
}

.custom-tab-content {
    display: none;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    /* Sombra */
    padding: 45px;
}

.custom-tabs {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    /* Sombra  */
}

.custom-nav-item {
    cursor: pointer;
    border-radius: 10px 10px 0 0;
    width: 100%;
    transition: transform 0.3s, box-shadow 0.3s;
    min-height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.custom-nav-item:hover {
    background-color: #5106A7;
    color: #ffffff;
    transform: scale(1.05);
    /* Efecto de crecimiento al hacer hover */
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
    /* Sombra aumentada */
}

.custom-nav-item:hover a {

    color: #ffffff;

}

.custom-nav-item.active {
    background-color: #FCFAFF;
    color: #5106A7;
    /* Color de texto para la pestaña activa */
}

.custom-nav-link {
    color: #5106A7;
    display: flex;
    text-decoration: none;
    align-items: center;
    flex-direction: column;
    justify-content: center;
}

.custom-nav-link:hover {
    text-decoration: none;

}

.autocomplete-container {
    position: relative;
    display: flex;
}

.autocomplete-input {
    padding: 8px;
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.autocomplete-list {
    position: absolute;
    z-index: 1000;
    width: 100%;
    max-height: 150px;
    overflow-y: auto;
    border: 1px solid #ccc;
    border-top: none;
    border-radius: 0 0 4px 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    background-color: #fff;
}

.autocomplete-item {
    padding: 8px;
    cursor: pointer;
}

.autocomplete-item:hover {
    background-color: #f4f4f4;
}

.tituloform1 {
    display: flex;
    background: #F6F5F7;
    padding: 15px 10px 10px 20px;
    border-radius: 10px;
    margin-bottom: 20px;
    margin-top: 20px;
    align-items: center;
    column-gap: 20px;
}

.tituloform1 i {
    color: #5106A7;
}

.nombreentidad {
    color: #5106A7;
    font-weight: bold;
    margin: 10px;
}

.item1 {
    display: flex;
}

.thead {
    background: #F6F5F7;
    font-weight: bold;
    font-size: 12px;
    display: flex;
    align-items: center;
    margin-top: 30px;
    padding: 10px;
    min-height: 60px;
}

.tbody {
    font-size: 12px;
    padding: 10px;
}

.row1 {
    width: 100%;
}

.table1 {
    margin-bottom: 20px;
}

@media screen and (max-width: 920px) {
    table1 {
        display: none;
    }

    div.table1 {
        display: block;
        width: 100%;
    }

    div.item1 {
        margin-bottom: 10px;
        display: block;
    }

    div.row1 {
        display: flex;
        justify-content: start;
        align-items: center;
        flex-direction: row;
        width: 100%;
    }

    div.tbody,
    div.thead {

        padding: 5px;
        text-align: left;
        width: 50%;
    }

    div.thead {
        background-color: #F6F5F7;
    }
}


.loginlabel {
    font-size: 17px;
    color: #868686;
}

.titulomomento {
    display: flex;
    align-items: center;
}

.titulomomento h2 {
    color: #4ECDC4;
    margin-bottom: 0;
    margin-left: 10px;
}

.titulomomento i {
    color: #4ECDC4;
}

.titulo_seguimiento {
    margin: 20px;
    display: flex;
    align-items: center;
}

#selected_barriers {
    text-align: left;
}

.titulo_seguimiento h2 {
    color: #4ECDC4;
    margin-bottom: 0;
    margin-left: 10px;
}

.titulo_seguimiento i {
    color: #4ECDC4;
}

/*** 

====================================================================
		MAPA DE CALOR
====================================================================

***/

.mapadiv {
    display: flex;
}

.navbar-expand-lg {
    justify-content: unset !important;
}

.user {
    display: flex;
    justify-content: flex-end;
    column-gap: 15px;
    font-size: 14px;
    color: #FFFFFF;
    z-index: 1000;
    width: 100%;
    position: absolute;
    height: 100%;
    padding: 10px;
}

.user a:visited {
    color: #FFFFFF;
}

.nav_banner {
    padding: 0 !important;
}

/*** 

====================================================================
		HOMEPAGE
====================================================================

***/
header {
    background-color: #e8e5e5;
    padding: 15px 0;
    color: #707070;
}

header img {
    max-width: 100%;
    height: auto;
}

/* Slider */
#slider {
    margin-top: 20px;
    border-radius: 15px;
    overflow: hidden;
}

#carouselExampleControls {
    border-radius: 15px;
}

.carousel-item {
    position: relative;
}

.carousel-item img {
    width: 100%;
    height: auto;
    border-radius: 15px;
    filter: brightness(70%);
    /* Opacidad oscura */
}

.carousel-caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgb(85 149 138 / 70%);
    border-radius: 15px;
    padding: 20px;
    color: #fff;
    text-align: center;
}

/* Noticias y artículos */
.noticia {

    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 1px 1px 8px #ebe9e9;
    padding: 15px;
    margin: 10px;
    text-align: center;
}

.noticia h4 {
    font-weight: 800;
    font-size: 17px;
    margin-top: 10px;
    color: #5106A7;
}

.noticia p {
    font-weight: 100;
    font-size: 13px;
    color: #707070;
}

.noticiasrow {
    display: flex;
    justify-content: center;
    margin-top: 40px;
    margin-bottom: 40px;
}

@media (min-width: 992px) {
    .navbar-expand-lg .navbar-collapse {

        justify-content: center;
    }
}

@media (max-width: 450px) {

    .noticiasrow {
        display: grid;
        flex-direction: column;
        background-image: url('../images/bg1.jpg');
    }

    .carousel-item {
        min-height: 325px;
    }

    .navbar {
        display: flex;
        justify-content: center;
        align-content: center;
        flex-wrap: nowrap;
        align-items: center;
    }

}

.imgmujeres {
    display: flex;
    justify-content: center;
}

.titulos {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

.titulos h2 {
    font-weight: 900;
}

.imagenarticulo {
    display: flex;
    justify-content: center;
    margin-top: 40px;
    margin-bottom: 40px;
}

.fotoarticulo {
    border-radius: 10px;
}

.navbar-toggler {
    background-color: #5106A7;
}

.navbar-dark .navbar-nav .nav-link {
    color: #5106A7;
}

.navbar-dark .navbar-nav .active>.nav-link,
.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .nav-link.show,
.navbar-dark .navbar-nav .show>.nav-link {
    color: #5106A7;
}

#salviaMap {
    width: 100%;
    height: 500px;
}

.groupMarker {
    width: 20px;
    height: 20px;
    background-color: #DD736A;
    text-align: center;
    border-radius: 50%;
}

.leaflet-div-icon {
    background: none !important;
    border: 0px !important;
}

#salviaMap {
    margin: 30px;
}

#searchButton {
    margin: 10px;
}

.main_banner {
    width: 100%;
}

.mandatory {
    color: #5106A7;
    padding: 5px;
}

/*
    Estrellas para calificar
*/

.rating {
    display: inline-flex;
    cursor: pointer;
    width: 100%;

}

.star.empty,
.star.filled {
    width: 30px;
    height: 30px;
    margin-right: 5px;
    font-size: 1.8rem;
    color: #d3d3d3;
}

.star.filled {
    color: #5106A7;
}

.starLabel {
    width: 50%;
}

.starGroup {
    width: 50%;
}

.starGroupInfo {
    width: auto;
    float: left;
    clear: left;
}

.is-invalid {
    min-height: 50px;
}

.error_input {
    border-radius: 5px;
    padding: 5px;
    border-style: solid;
    border-color: #ffbcbc;
    border-width: thin;
    width: 100%;
    background-color: #fff8f8;
}

.error_label {
    font-size: small;
    color: red;
}

.input_form {
    height: 60px;
}


.popup-container2 {
    /* Habilitar scroll vertical */
    overflow-y: auto;

    /* Altura máxima (ejemplo) */
    max-height: 80vh;
    /* 80% del viewport height */

    /* Scrollbar personalizada (opcional) */
    scrollbar-width: thin;
    /* Para Firefox */
    overflow-x: hidden;
    /* Evitar scroll horizontal */
}

/* Scrollbar para navegadores webkit (Chrome, Safari) */
.popup-container2::-webkit-scrollbar {
    width: 8px;
}

.popup-container2::-webkit-scrollbar-thumb {
    background-color: #888;
    border-radius: 4px;
}

.riesgo_bajo {
    background: #F6F5F7;
}

.riesgo_moderado {
    background: #e7d0ff;
}

.riesgo_alto {
    background: #cea1ff;
}

.riesgo_extremo {
    background: #ff97d0;
}

.riesgo_bajo,
.riesgo_moderado,
.riesgo_alto,
.riesgo_extremo {
    display: flex;
    padding: 15px 10px 10px 20px;
    border-radius: 10px;
    margin-bottom: 0px;
    align-items: center;
    column-gap: 20px;
    margin-top: 20px;
}

.riesgo_bajo,
.riesgo_moderado,
.riesgo_alto,
.riesgo_extremo {
    display: flex;
    padding: 15px 10px 10px 20px;
    border-radius: 10px;
    margin-bottom: 0px;
    align-items: center;
    column-gap: 20px;
    margin-top: 20px;
}

/* ====================================================================
			DETALLE DE SEGUIMIENTO (PREMIUM)
   ==================================================================== */

:root {
    --violet-primary: #7C3AED;
    --violet-light: #F5F3FF;
    --violet-hover: #6D28D9;
    --green-success: #10B981;
    --green-bg: #ECFDF5;
    --orange-warning: #F59E0B;
    --orange-bg: #FFFBEB;
    --gray-text-muted: #9CA3AF;
}

.container-detalle {
    max-width: 1200px;
    margin: 2rem auto;
    font-family: 'Nunito Sans', sans-serif !important;
}

.breadcrumb-detalle {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: var(--gray-text-muted);
    margin-bottom: 1.5rem;
}

.breadcrumb-detalle button {
    background: none;
    border: none;
    color: inherit;
    cursor: pointer;
    transition: color 0.2s;
}

.breadcrumb-detalle button:hover {
    color: var(--violet-primary);
}

.header-card {
    background: white;
    border: 1px solid #E5E7EB;
    border-radius: 1rem;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 1.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.status-icon {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
}

.status-icon.ejecutado {
    background-color: var(--green-bg);
    color: var(--green-success);
}

.badge-status {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.125rem 0.625rem;
    border-radius: 9999px;
}

.badge-status.ejecutado {
    background-color: var(--green-bg);
    color: var(--green-success);
}

.case-card-info {
    text-align: right;
    margin-left: auto;
}

.tabs-container {
    background: white;
    border: 1px solid #E5E7EB;
    border-radius: 1rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

.tabs-header {
    display: flex;
    border-bottom: 1px solid #F3F4F6;
}

.tab-btn {
    flex: 0 0 auto;
    padding: 0.875rem 1.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #6B7280;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.tab-btn:hover {
    background-color: #F9FAFB;
    color: #374151;
}

.tab-btn.active {
    border-bottom-color: var(--violet-primary);
    color: var(--violet-primary);
    background-color: var(--violet-light);
}

.tab-content-inner {
    padding: 1.5rem;
}

.section-title {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--gray-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.75rem;
}

.info-grid {
    background-color: #F9FAFB;
    border: 1px solid #F3F4F6;
    border-radius: 0.75rem;
    padding: 1rem;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1.5rem 2rem !important;
}

.info-label {
    font-size: 0.75rem;
    color: var(--gray-text-muted);
    margin-bottom: 0.125rem;
}

.info-value {
    font-size: 0.875rem;
    font-weight: 500;
    color: #1F2937;
}

.form-sidebar {
    width: 12rem;
    background: white;
    border: 1px solid #E5E7EB;
    border-radius: 0.75rem;
    padding: 0.5rem;
    position: sticky;
    top: 1rem;
}

.sidebar-btn {
    width: 100%;
    text-align: left;
    padding: 0.625rem 0.75rem;
    font-size: 0.875rem;
    border-radius: 0.5rem;
    border: none;
    background: none;
    color: #4B5563;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.sidebar-btn:hover {
    background-color: #F9FAFB;
}

.sidebar-btn.active {
    background-color: var(--violet-light);
    color: var(--violet-primary);
    font-weight: 600;
}

.step-number {
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    flex-shrink: 0;
}

.step-number.active {
    background-color: var(--violet-primary);
    color: white;
}

.step-number.inactive {
    background-color: #F3F4F6;
    color: #9CA3AF;
}

/* ============================================= */
/* MIS SEGUIMIENTOS PAGE STYLES                  */
/* ============================================= */

/* Wrapper */
#mis-seguimientos-app {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 2rem !important;
    font-family: 'Inter', 'Nunito Sans', ui-sans-serif, system-ui, -apple-system, sans-serif !important;
}

/* Header Section */
.ms-page-header {
    margin-bottom: 2rem !important;
}

.ms-page-title {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin: 0 0 0.25rem 0 !important;
}

.ms-page-subtitle {
    font-size: 0.875rem !important;
    color: #6b7280 !important;
    margin: 0 !important;
}

/* Stats Grid */
.ms-stats-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1rem !important;
    margin-bottom: 2rem !important;
}

.ms-stat-card {
    background: white !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0.75rem !important;
    padding: 1.25rem 1.5rem !important;
    min-height: 80px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.ms-stat-card--pending {
    background: white !important;
    border-color: #e5e7eb !important;
}

.ms-stat-card--priority {
    background: #fff7ed !important;
    border-color: #fed7aa !important;
}

.ms-stat-card--completed {
    background: #f0fdf4 !important;
    border-color: #bbf7d0 !important;
}

.ms-stat-label {
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    margin: 0 0 0.25rem 0 !important;
}

.ms-stat-card--pending .ms-stat-label {
    color: #6b7280 !important;
}

.ms-stat-card--priority .ms-stat-label {
    color: #ea580c !important;
}

.ms-stat-card--completed .ms-stat-label {
    color: #16a34a !important;
}

.ms-stat-value {
    font-size: 2rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
    line-height: 1 !important;
}

.ms-stat-card--pending .ms-stat-value {
    color: #111827 !important;
}

.ms-stat-card--priority .ms-stat-value {
    color: #ea580c !important;
}

.ms-stat-card--completed .ms-stat-value {
    color: #16a34a !important;
}

/* Tabs Container */
.ms-tabs-wrapper {
    background: white !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0.75rem !important;
    overflow: hidden !important;
}

.ms-tabs-header {
    display: flex !important;
    border-bottom: 1px solid #e5e7eb !important;
    padding: 0 !important;
}

.ms-tab-button {
    padding: 1rem 1.5rem !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: #6b7280 !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    white-space: nowrap !important;
}

.ms-tab-button:hover {
    color: #111827 !important;
}

.ms-tab-button.active {
    color: #8b5cf6 !important;
    border-bottom-color: #8b5cf6 !important;
}

.ms-tab-count {
    font-size: 0.75rem !important;
    padding: 0.125rem 0.5rem !important;
    border-radius: 9999px !important;
    font-weight: 600 !important;
}

.ms-tab-button.active .ms-tab-count {
    background-color: #ede9fe !important;
    color: #7c3aed !important;
}

.ms-tab-button:not(.active) .ms-tab-count {
    background-color: #f3f4f6 !important;
    color: #9ca3af !important;
}

/* List Container */
.ms-list-content {
    padding: 1.5rem !important;
}

/* Follow-up Cards */
.ms-followup-card {
    padding: 1rem 1.25rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0.75rem !important;
    margin-bottom: 0.75rem !important;
    transition: all 0.2s !important;
    background: white !important;
}

.ms-followup-card:last-child {
    margin-bottom: 0 !important;
}

.ms-followup-card:hover {
    border-color: #d1d5db !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

.ms-avatar {
    width: 2.75rem !important;
    height: 2.75rem !important;
    border-radius: 9999px !important;
    background-color: #ede9fe !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #7c3aed !important;
    font-weight: 700 !important;
    font-size: 0.875rem !important;
    flex-shrink: 0 !important;
}

.ms-card-content {
    flex: 1 !important;
    min-width: 0 !important;
}

.ms-card-header {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    margin-bottom: 0.125rem !important;
}

.ms-card-name {
    font-weight: 700 !important;
    font-size: 0.9375rem !important;
    color: #111827 !important;
    margin: 0 !important;
}

.ms-card-subtitle {
    font-size: 0.8125rem !important;
    color: #6b7280 !important;
    margin: 0 !important;
}

.ms-card-time {
    font-size: 0.8125rem !important;
    color: #8b5cf6 !important;
    font-weight: 600 !important;
    margin-top: 0.25rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.25rem !important;
}

.ms-card-actions {
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    flex-shrink: 0 !important;
}

/* Risk Badges */
.ms-badge {
    padding: 0.25rem 0.625rem !important;
    border-radius: 9999px !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    border: 1px solid !important;
    display: inline-block !important;
}

.ms-badge--critical {
    background-color: #fee2e2 !important;
    color: #b91c1c !important;
    border-color: #ef4444 !important;
}

.ms-badge--high {
    background-color: #fff7ed !important;
    color: #ea580c !important;
    border-color: #fed7aa !important;
}

.ms-badge--medium {
    background-color: #fefce8 !important;
    color: #a16207 !important;
    border-color: #fde047 !important;
}

.ms-badge--low {
    background-color: #f0fdf4 !important;
    color: #16a34a !important;
    border-color: #bbf7d0 !important;
}

/* Action Link */
.ms-action-link {
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: #8b5cf6 !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.25rem !important;
    transition: color 0.2s !important;
}

.ms-action-link:hover {
    color: #7c3aed !important;
}

/* Intent Indicators */
.ms-intent-dots {
    display: flex !important;
    align-items: center !important;
    gap: 0.25rem !important;
}

.ms-intent-dot {
    width: 0.5rem !important;
    height: 0.5rem !important;
    border-radius: 9999px !important;
}

.ms-intent-dot--filled {
    background-color: #f97316 !important;
}

.ms-intent-dot--empty {
    background-color: #e5e7eb !important;
}

.ms-intent-label {
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    color: #ea580c !important;
    margin-left: 0.5rem !important;
}

/* Urgent Alert Banner */
.ms-urgent-alert {
    background-color: #f5f3ff !important;
    border: 1px solid #ddd6fe !important;
    border-radius: 0.75rem !important;
    padding: 1rem 1.25rem !important;
    margin-bottom: 1rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
}

.ms-urgent-alert__icon {
    font-size: 1.25rem !important;
    color: #8b5cf6 !important;
}

.ms-urgent-alert__content {
    flex: 1 !important;
}

.ms-urgent-alert__title {
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    color: #7c3aed !important;
    margin: 0 0 0.125rem 0 !important;
}

.ms-urgent-alert__subtitle {
    font-size: 0.8125rem !important;
    color: #8b5cf6 !important;
    margin: 0 !important;
}

/* Empty State */
.ms-empty-state {
    text-align: center !important;
    padding: 3rem 1rem !important;
    color: #9ca3af !important;
}

.ms-empty-state__icon {
    font-size: 2.5rem !important;
    margin-bottom: 1rem !important;
    color: #10b981 !important;
    opacity: 0.5 !important;
}

.ms-empty-state__text {
    font-weight: 700 !important;
    margin: 0 !important;
}

/* ============================================= */
/* MODAL STYLES - Mis Seguimientos               */
/* ============================================= */

/* Modal Overlay - Fondo oscuro con backdrop blur */
.ms-modal-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 9999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1rem !important;
    background-color: rgba(17, 24, 39, 0.7) !important;
    backdrop-filter: blur(4px) !important;
}

/* Modal Content - Contenido centrado */
.ms-modal-content {
    background: white !important;
    border-radius: 1.25rem !important;
    width: 100% !important;
    max-width: 26rem !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
    overflow: hidden !important;
    padding: 2rem !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

/* ============================================= */
/* FOLLOW-UP DETAIL PAGE STYLES                 */
/* ============================================= */

/* Page Wrapper */
#follow-up-detail-app.ms-page-wrapper {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 2rem !important;
    font-family: 'Inter', 'Nunito Sans', ui-sans-serif, system-ui, -apple-system, sans-serif !important;
}

/* Breadcrumb */
.ms-breadcrumb {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    font-size: 0.875rem !important;
    color: #6b7280 !important;
    margin-bottom: 1.5rem !important;
}

.ms-breadcrumb-btn {
    background: none !important;
    border: none !important;
    color: inherit !important;
    cursor: pointer !important;
    transition: color 0.2s !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.ms-breadcrumb-btn:hover {
    color: #8b5cf6 !important;
}

.ms-breadcrumb-separator {
    color: #d1d5db !important;
}

.ms-breadcrumb-text {
    color: #374151 !important;
    font-weight: 500 !important;
}

/* Detail Header */
.ms-detail-header {
    background: white !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 1rem !important;
    padding: 1.25rem 1.5rem !important;
    margin-bottom: 1.5rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 1.25rem !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

.ms-detail-header-icon {
    width: 2.75rem !important;
    height: 2.75rem !important;
    border-radius: 9999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.25rem !important;
    flex-shrink: 0 !important;
}

.ms-detail-header-info {
    flex: 1 !important;
}

.ms-detail-header-title {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    margin-bottom: 0.25rem !important;
}

.ms-detail-header-title h2 {
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin: 0 !important;
}

.ms-detail-header-meta {
    font-size: 0.875rem !important;
    color: #6b7280 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.25rem !important;
}

.ms-detail-header-case {
    text-align: right !important;
    margin-left: auto !important;
}

.ms-detail-case-label {
    font-size: 0.75rem !important;
    color: #9ca3af !important;
    margin: 0 0 0.125rem 0 !important;
}

.ms-detail-case-info {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
}

.ms-detail-case-name {
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: #374151 !important;
}

/* Detail Sections */
.ms-detail-section {
    margin-bottom: 2rem !important;
}

.ms-detail-section:last-child {
    margin-bottom: 0 !important;
}

.ms-detail-section-title {
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    color: #9ca3af !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 0.75rem !important;
}

/* Info Grid */
.ms-info-grid {
    background-color: #f9fafb !important;
    border: 1px solid #f3f4f6 !important;
    border-radius: 0.75rem !important;
    padding: 1rem !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1.5rem 2rem !important;
}

.ms-info-item {
    display: flex !important;
    flex-direction: column !important;
}

.ms-info-item-wide {
    grid-column: span 3 !important;
}

.ms-info-label {
    font-size: 0.75rem !important;
    color: #9ca3af !important;
    margin-bottom: 0.125rem !important;
}

.ms-info-value {
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    color: #1f2937 !important;
}

.ms-info-value-text {
    font-weight: 400 !important;
    line-height: 1.5 !important;
}

/* Risk Comparison */
.ms-risk-comparison {
    background-color: #f9fafb !important;
    border: 1px solid #f3f4f6 !important;
    border-radius: 0.75rem !important;
    padding: 1.25rem !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.ms-risk-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

.ms-risk-label {
    font-size: 0.75rem !important;
    color: #9ca3af !important;
    margin: 0 !important;
}

.ms-risk-arrow {
    color: #d1d5db !important;
    font-size: 1.25rem !important;
}

.ms-risk-no-changes {
    font-size: 0.875rem !important;
    color: #9ca3af !important;
    font-weight: 500 !important;
    margin: 0 !important;
}

/* Care Plan */
.ms-care-plan {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.75rem !important;
}

/* Barriers */
.ms-barriers-list {
    background-color: #fffbeb !important;
    border: 1px solid #fde68a !important;
    border-radius: 0.75rem !important;
    overflow: hidden !important;
}

.ms-barriers-header {
    padding: 0.75rem 1rem !important;
    border-bottom: 1px solid #fde68a !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.ms-barriers-header-left {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    color: #92400e !important;
}

.ms-barriers-count {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    color: #f59e0b !important;
    background: white !important;
    border: 1px solid #fde68a !important;
    padding: 0.125rem 0.5rem !important;
    border-radius: 0.375rem !important;
}

.ms-barrier-item {
    padding: 1rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border-bottom: 1px solid #fde68a !important;
}

.ms-barrier-item:last-child {
    border-bottom: none !important;
}

.ms-barrier-info {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
}

.ms-barrier-sector {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    color: #92400e !important;
    background: white !important;
    border: 1px solid #fde68a !important;
    padding: 0.125rem 0.5rem !important;
    border-radius: 0.375rem !important;
}

.ms-barrier-description {
    font-size: 0.875rem !important;
    color: #92400e !important;
    margin: 0 !important;
}

.ms-barrier-action {
    display: flex !important;
    align-items: center !important;
    gap: 0.375rem !important;
}

.ms-barrier-action i {
    font-size: 0.75rem !important;
    color: #d97706 !important;
}

.ms-barrier-action span {
    font-size: 0.75rem !important;
    color: #d97706 !important;
    font-weight: 700 !important;
}

/* Empty State Small */
.ms-empty-state-small {
    padding: 1rem !important;
    background-color: white !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0.75rem !important;
}

.ms-empty-state-small p {
    font-size: 0.875rem !important;
    color: #6b7280 !important;
    margin: 0 !important;
}

/* Referrals */
.ms-referrals {
    background-color: #f9fafb !important;
    border: 1px solid #f3f4f6 !important;
    border-radius: 0.75rem !important;
    padding: 1rem !important;
}

.ms-referrals-header {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    margin-bottom: 1rem !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    color: #374151 !important;
}

.ms-referrals-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
}

.ms-referral-item {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.375rem !important;
    border-bottom: 1px solid #f3f4f6 !important;
    padding-bottom: 0.75rem !important;
}

.ms-referral-item:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.ms-referral-header {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

.ms-referral-notes {
    font-size: 0.875rem !important;
    color: #6b7280 !important;
    margin: 0 !important;
    padding-left: 0.25rem !important;
}

/* Badge Variants */
.ms-badge--emergency {
    background-color: #fee2e2 !important;
    color: #b91c1c !important;
    border: 1px solid #ef4444 !important;
}

.ms-badge--psychosocial {
    background-color: #ede9fe !important;
    color: #7c3aed !important;
    border: 1px solid #7c3aed !important;
}

.ms-badge--economic {
    background-color: #d1fae5 !important;
    color: #065f46 !important;
    border: 1px solid #10b981 !important;
}

/* Observations */
.ms-observations {
    background-color: #f9fafb !important;
    border: 1px solid #f3f4f6 !important;
    border-radius: 0.75rem !important;
    padding: 1rem !important;
}

.ms-observations p {
    font-size: 0.875rem !important;
    color: #374151 !important;
    margin: 0 !important;
}

/* Tab Content */
.ms-tab-content {
    padding: 1.5rem !important;
}

.ms-tab-pane {
    animation: fadeIn 0.2s ease-in !important;
}

@keyframes fadeIn {
    from {
        opacity: 0 !important;
    }

    to {
        opacity: 1 !important;
    }
}

/* Form Layout */
.ms-form-layout {
    display: flex !important;
    gap: 1.5rem !important;
    align-items: start !important;
}

/* Form Sidebar */
.ms-form-sidebar {
    width: 12rem !important;
    background: white !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0.75rem !important;
    padding: 0.5rem !important;
    position: sticky !important;
    top: 1rem !important;
}

.ms-form-sidebar-header {
    padding: 0.5rem 0.75rem !important;
    border-bottom: 1px solid #f3f4f6 !important;
    margin-bottom: 0.5rem !important;
}

.ms-form-sidebar-header p {
    font-size: 0.625rem !important;
    font-weight: 700 !important;
    color: #9ca3af !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin: 0 !important;
}

.ms-form-nav {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.25rem !important;
}

.ms-form-nav-btn {
    width: 100% !important;
    text-align: left !important;
    padding: 0.625rem 0.75rem !important;
    font-size: 0.875rem !important;
    border-radius: 0.5rem !important;
    border: none !important;
    background: none !important;
    color: #4b5563 !important;
    transition: all 0.2s !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.625rem !important;
    cursor: pointer !important;
}

.ms-form-nav-btn:hover {
    background-color: #f9fafb !important;
}

.ms-form-nav-btn.active {
    background-color: #ede9fe !important;
    color: #7c3aed !important;
    font-weight: 600 !important;
}

.ms-form-step-number {
    width: 1.25rem !important;
    height: 1.25rem !important;
    border-radius: 9999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.75rem !important;
    flex-shrink: 0 !important;
    background-color: #f3f4f6 !important;
    color: #6b7280 !important;
}

.ms-form-step-number.active {
    background-color: #7c3aed !important;
    color: white !important;
}

/* Form Content */
.ms-form-content {
    flex: 1 !important;
}

.ms-form-card {
    background: white !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0.75rem !important;
    overflow: hidden !important;
}

.ms-form-card-header {
    padding: 1.25rem 1.5rem !important;
    border-bottom: 1px solid #f3f4f6 !important;
    background-color: #f9fafb !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.ms-form-card-header-left {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
}

.ms-form-step-badge {
    background-color: #7c3aed !important;
    color: white !important;
    width: 1.5rem !important;
    height: 1.5rem !important;
    border-radius: 9999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
}

.ms-form-section-title {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin: 0 !important;
}

.ms-form-edit-btn {
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    padding: 0.5rem 0.875rem !important;
    border-radius: 0.5rem !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    border: 1px solid #d1d5db !important;
    background: white !important;
    color: #4b5563 !important;
}

.ms-form-edit-btn:hover {
    background-color: #f9fafb !important;
}

.ms-form-edit-btn.editing {
    background-color: #7c3aed !important;
    color: white !important;
    border: none !important;
}

.ms-form-card-body {
    padding: 1.5rem !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1.75rem !important;
}

.ms-form-field {
    border-bottom: 1px solid #f9fafb !important;
    padding-bottom: 1rem !important;
}

.ms-form-field:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.ms-form-label {
    font-size: 0.75rem !important;
    color: #9ca3af !important;
    margin-bottom: 0.375rem !important;
}

.ms-form-input {
    border-radius: 0.5rem !important;
    border: 1px solid #e5e7eb !important;
    font-size: 0.875rem !important;
    padding: 0.5rem 0.75rem !important;
    width: 100% !important;
    outline: none !important;
    transition: all 0.2s !important;
}

.ms-form-input:focus {
    border-color: #7c3aed !important;
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.1) !important;
}

.ms-form-boolean-group {
    display: flex !important;
    gap: 0.5rem !important;
}

.ms-form-boolean-btn {
    padding: 0.5rem 1rem !important;
    border-radius: 0.5rem !important;
    border: 1px solid #d1d5db !important;
    background: white !important;
    color: #4b5563 !important;
    font-size: 0.875rem !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
}

.ms-form-boolean-btn.active {
    background-color: #7c3aed !important;
    color: white !important;
    border-color: #7c3aed !important;
}

.ms-form-text-muted {
    font-size: 0.875rem !important;
    color: #9ca3af !important;
    margin: 0 !important;
}

.ms-form-value {
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: #374151 !important;
    margin: 0 !important;
}

.ms-form-empty {
    font-size: 0.875rem !important;
    color: #d1d5db !important;
    margin: 0 !important;
}

.ms-form-card-footer {
    padding: 1rem 1.5rem !important;
    border-top: 1px solid #f3f4f6 !important;
    background-color: #f9fafb !important;
    display: flex !important;
    justify-content: space-between !important;
}

.ms-form-nav-btn-small {
    border-radius: 0.5rem !important;
    padding: 0.5rem 1rem !important;
    border: 1px solid #d1d5db !important;
    background: white !important;
    color: #4b5563 !important;
    font-size: 0.875rem !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
}

.ms-form-nav-btn-small:hover:not(:disabled) {
    background-color: #f9fafb !important;
}

.ms-form-nav-btn-small:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
}

/* Tooltip */
.ms-tooltip {
    cursor: help !important;
    color: #6b7280 !important;
    font-size: 0.875rem !important;
}
/* --- Tooltip Premium Custom --- */
.ms-tooltip-container {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin-left: 0.5rem;
}

.ms-tooltip-trigger {
    color: #6366f1;
    cursor: pointer;
    transition: transform 0.2s;
    font-size: 1rem;
}

.ms-tooltip-trigger:hover {
    transform: scale(1.2);
}

.ms-tooltip-content {
    visibility: hidden;
    position: absolute;
    bottom: 150%;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    background: white;
    border: 1px solid #e5e7eb;
    min-width: 250px;
    max-width: 350px;
    padding: 14px 18px;
    border-radius: 12px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
    z-index: 10000; /* Asegurar que flote sobre todo */
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    pointer-events: none;
    text-align: left;
}

.ms-tooltip-container:hover .ms-tooltip-content {
    visibility: visible;
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.ms-tooltip-arrow {
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -8px;
    border-width: 8px;
    border-style: solid;
    border-color: white transparent transparent transparent;
}

.ms-tooltip-header {
    font-weight: 700;
    font-size: 0.7rem;
    text-transform: uppercase;
    color: #7c3aed;
    margin-bottom: 0.5rem;
    letter-spacing: 0.05em;
}

.ms-tooltip-body {
    font-size: 0.8125rem;
    color: #4b5563;
    line-height: 1.5;
    white-space: normal !important;
    word-wrap: break-word;
}


/* ============================================================
   DETALLE DE CASO - Pantalla sv (get_case_detail_sv.html)
   Prefijo .cd- para evitar colisiones con estilos globales
   ============================================================ */
.cd-breadcrumb{display:flex;align-items:center;gap:8px;font-size:.83rem;color:#9ca3af;margin-bottom:20px;flex-wrap:wrap}
.cd-breadcrumb a{color:#5106A7;font-weight:600;text-decoration:none}.cd-breadcrumb a:hover{text-decoration:underline}
.cd-breadcrumb .cd-current{color:#111827;font-weight:700}.cd-breadcrumb .cd-id{font-family:monospace;font-size:.75rem;color:#9ca3af}
.cd-header{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:20px 24px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 4px rgba(0,0,0,.06);flex-wrap:wrap;gap:14px}
.cd-header-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.cd-avatar{width:52px;height:52px;border-radius:50%;background:#ede9fe;color:#5106A7;font-weight:700;font-size:1.2rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cd-case-name{font-size:1.15rem!important;font-weight:700!important;color:#111827!important;margin:0!important;min-height:unset!important}
.cd-case-sub{font-size:.8rem!important;color:#9ca3af!important;margin-top:3px!important;min-height:unset!important}
.cd-badges{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cd-header-right{display:flex;gap:10px;flex-wrap:wrap}
.badge-riesgo{display:inline-block;padding:3px 11px;border-radius:20px;font-size:.72rem;font-weight:700;border:1px solid transparent}
.badge-critico{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.badge-alto{background:#ffedd5;color:#ea580c;border-color:#fdba74}
.badge-medio{background:#fef9c3;color:#ca8a04;border-color:#fde047}.badge-bajo{background:#dcfce7;color:#16a34a;border-color:#86efac}
.badge-estado{display:inline-block;padding:3px 11px;border-radius:20px;font-size:.72rem;font-weight:700;border:1px solid transparent}
.badge-activo{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}.badge-seguimiento{background:#ede9fe;color:#5106A7;border-color:#c4b5fd}
.badge-cerrado{background:#f3f4f6;color:#6b7280;border-color:#d1d5db}.badge-vencido{background:#fee2e2;color:#dc2626;border-color:#fca5a5}
.btn-reasignar{padding:7px 16px!important;border:1px solid #e5e7eb!important;border-radius:8px!important;background:#fff!important;font-size:.8rem!important;color:#374151!important;cursor:pointer!important;font-weight:500!important;width:auto!important;min-height:unset!important;margin-top:0!important;text-decoration:none}
.btn-reasignar:hover{background:#f9fafb!important;border-color:#c4b5fd!important;color:#5106A7!important}
.btn-nuevo-seg{padding:7px 16px!important;border:none!important;border-radius:8px!important;background:#5106A7!important;color:#fff!important;font-size:.8rem!important;font-weight:600!important;cursor:pointer!important;width:auto!important;min-height:unset!important;margin-top:0!important}
.btn-nuevo-seg:hover{background:#3d0080!important}
.cd-panel{background:#fff;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.cd-tabs{display:flex;border-bottom:1px solid #f3f4f6;overflow-x:auto}
.cd-tab-btn{display:flex!important;align-items:center!important;gap:6px!important;padding:14px 22px!important;font-size:.84rem!important;font-weight:500!important;color:#6b7280!important;border:none!important;background:none!important;cursor:pointer!important;border-bottom:2px solid transparent!important;transition:all .12s!important;white-space:nowrap!important;flex-shrink:0!important;width:auto!important;min-height:unset!important;margin-top:0!important}
.cd-tab-btn:hover{color:#374151!important;background:#f9fafb!important}
.cd-tab-btn.active{color:#5106A7!important;border-bottom-color:#5106A7!important;background:#faf5ff!important;font-weight:600!important}
.cd-tab-content{padding:24px}
.cd-info-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:20px 24px;background:#f9fafb;border:1px solid #f3f4f6;border-radius:12px;margin-bottom:28px}
.cd-info-field{padding:8px 16px;border-right:1px solid #e5e7eb}
.cd-info-field:first-child{padding-left:0}.cd-info-field:last-child{border-right:none}
.cd-lbl{font-size:.72rem!important;color:#9ca3af!important;margin-bottom:4px!important;min-height:unset!important;margin-top:0!important;font-weight:400!important}
.cd-val{font-size:.85rem!important;font-weight:600!important;color:#111827!important;min-height:unset!important;margin-top:0!important}
.cd-section-title{font-size:.72rem!important;font-weight:700!important;color:#9ca3af!important;text-transform:uppercase!important;letter-spacing:.06em!important;margin-bottom:14px!important;min-height:unset!important;margin-top:0!important}
.cd-data-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 32px}
.cd-campo{display:flex;flex-direction:column}
.cd-seg-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.cd-sstat{border-radius:12px;padding:14px 18px;border:1px solid #e5e7eb}
.cd-sstat-green{background:#f0fdf4;border-color:#bbf7d0}.cd-sstat-green .cd-val{color:#15803d!important}
.cd-sstat-orange{background:#fff7ed;border-color:#fed7aa}.cd-sstat-orange .cd-val{color:#ea580c!important}
.cd-seg-item{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:10px;transition:all .12s}
.cd-seg-item.done{background:#f0fdf4;border-color:#bbf7d0;cursor:pointer}.cd-seg-item.done:hover{border-color:#86efac}
.cd-seg-item.pending{border-style:dashed}
.cd-seg-indicator{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex-shrink:0;margin-top:2px}
.cd-si-done{background:#22c55e;color:#fff}.cd-si-pending{background:#e5e7eb;color:#6b7280}
.cd-seg-info{flex:1;min-width:0}.cd-seg-title{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.cd-seg-title p{font-size:.85rem!important;font-weight:600!important;color:#111827!important;margin:0!important;min-height:unset!important}
.cd-seg-badge{font-size:.68rem;font-weight:600;padding:2px 8px;border-radius:20px}
.cd-sb-done{background:#dcfce7;color:#15803d}.cd-sb-pending{background:#f3f4f6;color:#6b7280}
.cd-seg-meta{font-size:.74rem!important;color:#9ca3af!important;min-height:unset!important;margin-top:0!important}
.cd-seg-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}
.btn-iniciar{font-size:.72rem!important;background:#5106A7!important;color:#fff!important;border:none!important;border-radius:8px!important;padding:6px 12px!important;cursor:pointer!important;font-weight:600!important;width:auto!important;min-height:unset!important;margin-top:0!important}
.btn-iniciar:hover{background:#3d0080!important}
.cd-deriv-section{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;margin-bottom:12px}
.cd-deriv-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid #f3f4f6;font-size:.84rem;font-weight:600;color:#374151;min-height:unset!important}
.cd-deriv-header .cd-count{margin-left:auto;font-size:.72rem;color:#9ca3af;font-weight:400}
.cd-deriv-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid #f9fafb}
.cd-deriv-item:last-child{border-bottom:none}.cd-deriv-desc{flex:1;font-size:.83rem;color:#374151}
.cd-deriv-date{font-size:.72rem!important;color:#9ca3af!important;margin-top:2px!important;min-height:unset!important}
.cd-deriv-empty{padding:14px 16px;font-size:.82rem;color:#9ca3af;font-style:italic}
.cd-badge-deriv{font-size:.68rem;font-weight:700;padding:2px 9px;border-radius:20px;white-space:nowrap;flex-shrink:0}
.cd-bd-proceso{background:#fef9c3;color:#ca8a04}.cd-bd-completado{background:#dcfce7;color:#15803d}
.cd-bd-articulando{background:#ffedd5;color:#b45309}.cd-bd-resuelto{background:#f3f4f6;color:#6b7280}
.cd-timeline{position:relative;padding-left:4px}
.cd-timeline::before{content:'';position:absolute;left:19px;top:0;bottom:0;width:2px;background:#f3f4f6}
.cd-tl-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px;position:relative}
.cd-tl-dot{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;position:relative;z-index:1;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.cd-tl-purple{background:#5106A7;color:#fff}.cd-tl-green{background:#22c55e;color:#fff}.cd-tl-blue{background:#3b82f6;color:#fff}.cd-tl-orange{background:#f97316;color:#fff}.cd-tl-gray{background:#9ca3af;color:#fff}
.cd-tl-card{flex:1;background:#fff;border:1px solid #f3f4f6;border-radius:12px;padding:12px 16px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.cd-tl-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}
.cd-tl-badge{font-size:.68rem;font-weight:700;padding:2px 9px;border-radius:20px;background:#ede9fe;color:#5106A7}
.cd-tl-date{font-size:.72rem!important;color:#9ca3af!important;white-space:nowrap;min-height:unset!important;margin-top:0!important}
.cd-tl-desc{font-size:.82rem!important;color:#374151!important;min-height:unset!important;margin-top:0!important}
.cd-tl-agent{font-size:.72rem!important;color:#9ca3af!important;margin-top:6px!important;min-height:unset!important}
.cd-empty{text-align:center;padding:48px 20px;color:#9ca3af}.cd-empty .cd-empty-icon{font-size:2rem;margin-bottom:10px}
@media(max-width:768px){.cd-info-summary{grid-template-columns:repeat(2,1fr)}.cd-data-grid{grid-template-columns:repeat(2,1fr)}.cd-header{flex-direction:column;align-items:flex-start}.cd-seg-stats{grid-template-columns:repeat(2,1fr)}}

/* ============================================================
   MODAL NUEVO SEGUIMIENTO - ns-*
   ============================================================ */
.ns-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:9999}
.ns-modal{background:#fff;border-radius:14px;width:100%;max-width:480px;box-shadow:0 20px 60px rgba(0,0,0,.18);overflow:hidden}
.ns-header{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 24px 16px;border-bottom:1px solid #f3f4f6}
.ns-title{font-size:1.05rem;font-weight:700;color:#111827;margin:0;min-height:unset}
.ns-subtitle{font-size:.8rem;color:#9ca3af;margin-top:3px;min-height:unset}
.ns-close{background:none;border:none;cursor:pointer;color:#9ca3af;font-size:1rem;padding:2px 6px;border-radius:6px;line-height:1;width:auto;min-height:unset;margin-top:0}
.ns-close:hover{background:#f3f4f6;color:#374151}
.ns-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px}
.ns-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ns-field{display:flex;flex-direction:column;gap:6px}
.ns-label{font-size:.78rem;font-weight:600;color:#374151;min-height:unset;margin-top:0}
.ns-required{color:#5106A7}
.ns-input{border:1px solid #e5e7eb;border-radius:8px;padding:9px 12px;font-size:.85rem;color:#111827;background:#fff;outline:none;transition:border-color .15s;height:auto;min-height:unset}
.ns-input:focus{border-color:#5106A7;box-shadow:0 0 0 3px rgba(81,6,167,.08)}
.ns-textarea{border:1px solid #e5e7eb;border-radius:8px;padding:9px 12px;font-size:.85rem;color:#111827;background:#fff;outline:none;resize:vertical;min-height:90px;transition:border-color .15s;font-family:inherit}
.ns-textarea:focus{border-color:#5106A7;box-shadow:0 0 0 3px rgba(81,6,167,.08)}
.ns-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #f3f4f6}
.ns-btn-cancel{padding:9px 18px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#374151;font-size:.85rem;font-weight:500;cursor:pointer;width:auto;min-height:unset;margin-top:0}
.ns-btn-cancel:hover{background:#f9fafb}
.ns-btn-save{padding:9px 20px;border:none;border-radius:8px;background:#5106A7;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;width:auto;min-height:unset;margin-top:0}
.ns-btn-save:hover{background:#3d0080}

/* Boton reasignar dentro de seguimientos */
.btn-reasignar-seg{font-size:.72rem!important;background:#fff!important;color:#5106A7!important;border:1px solid #e5e7eb!important;border-radius:8px!important;padding:4px 10px!important;cursor:pointer!important;font-weight:500!important;width:auto!important;min-height:unset!important;margin-top:0!important}
.btn-reasignar-seg:hover{background:#faf5ff!important;border-color:#c4b5fd!important}

/* ============================================= */
/* VICTIM CARD - Follow-up Detail               */
/* ============================================= */

.vc-card {
    background-color: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0.75rem !important;
    padding: 1.25rem 1.5rem !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
}

.vc-header {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.875rem !important;
}

.vc-avatar {
    width: 2.5rem !important;
    height: 2.5rem !important;
    min-width: 2.5rem !important;
    border-radius: 9999px !important;
    background-color: #ede9fe !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1rem !important;
    color: #7c3aed !important;
    flex-shrink: 0 !important;
}

.vc-avatar i {
    margin: 0 !important;
    padding: 0 !important;
}

.vc-identity {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.2rem !important;
    min-width: 0 !important;
}

.vc-name {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #7c3aed !important;
    line-height: 1.3 !important;
    white-space: normal !important;
}

.vc-location {
    font-size: 0.8125rem !important;
    color: #6b7280 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.375rem !important;
    margin: 0 !important;
    padding: 0 !important;
}

.vc-location i {
    font-size: 0.6875rem !important;
    color: #9ca3af !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}

.vc-meta {
    margin-left: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 0.4rem !important;
    flex-shrink: 0 !important;
}

.vc-meta-item {
    font-size: 0.8125rem !important;
    color: #6b7280 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.5rem !important;
    white-space: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
}

.vc-meta-item i {
    color: #7c3aed !important;
    font-size: 0.75rem !important;
    flex-shrink: 0 !important;
    width: 0.875rem !important;
    text-align: center !important;
    margin: 0 !important;
}

.vc-meta-item span {
    line-height: 1.2 !important;
}

.vc-divider {
    height: 1px !important;
    background-color: #f3f4f6 !important;
    margin: 1rem 0 !important;
    border: none !important;
}
