.tim-row {
  margin-bottom: 20px;
}

.tim-white-buttons {
  background-color: #777777;
}

.typography-line {
  padding-left: 25%;
  margin-bottom: 35px;
  position: relative;
  display: block;
  width: 100%;
}

.typography-line span {
  bottom: 10px;
  color: #c0c1c2;
  display: block;
  font-weight: 400;
  font-size: 13px;
  line-height: 13px;
  left: 0;
  position: absolute;
  width: 260px;
  text-transform: none;
}

.tim-row {
  padding-top: 60px;
}

.tim-row h3 {
  margin-top: 0;
}

.offline-doc .page-header {
  display: flex;
  align-items: center;
}

.offline-doc .footer {
  position: absolute;
  width: 100%;
  background: transparent;
  bottom: 0;
  color: #fff;
  z-index: 1;
}

@media all and (min-width: 992px) {
  .sidebar .nav>li.active-pro {
    position: absolute;
    width: 100%;
    bottom: 10px;
  }
}

.card.card-upgrade .card-category {
  max-width: 530px;
  margin: 0 auto;
}

/* Login: inputs blancos y foco #08C7E1 (sobrescribe White Dashboard) */
body.login-page .card-login .form-control,
body.login-page .card-login .form-control:focus,
body.login-page .card-login .input-group .form-control,
body.login-page .card-login .input-group-text,
body.login-page .card-login .input-group-prepend .input-group-text,
body.login-page .card-login.card-white .form-control,
body.login-page .card-login.card-white .input-group-text {
  background-color: #ffffff !important;
  background: #ffffff !important;
}
body.login-page .card-login .form-control:-webkit-autofill,
body.login-page .card-login .form-control:-webkit-autofill:hover,
body.login-page .card-login .form-control:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 30px #ffffff inset !important;
  box-shadow: 0 0 0 30px #ffffff inset !important;
}
body.login-page .card-login .form-control:focus {
  border-color: #08C7E1 !important;
  box-shadow: none !important;
  outline: 0;
}
body.login-page .card-login .input-group-focus .form-control,
body.login-page .card-login .input-group-focus .input-group-prepend .input-group-text,
body.login-page .card-login .input-group-focus .input-group-append .input-group-text {
  border-color: #08C7E1 !important;
}
body.login-page .card-login .input-group-focus .form-control {
  box-shadow: none !important;
}

/* Todas las secciones: solo línea (borde) al seleccionar/enfocar, sin resaltado */
.content .form-control:focus,
.content input.form-control:focus,
.content select.form-control:focus,
.content textarea.form-control:focus {
  border-color: #08C7E1 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* Login: iconos de email y contraseña que resalten */
body.login-page .card-login .input-group-text .tim-icons {
  color: #08C7E1 !important;
  font-size: 1.25em !important;
  opacity: 1;
}

/* Sidebar menu color (sin cambiar posición: usa el margin-top del tema) */
.sidebar,
.off-canvas-sidebar,
.white-content .sidebar,
.white-content .off-canvas-sidebar {
  background: #237FEA !important;
  background-image: none !important;
  position: fixed !important;
  overflow: visible;
  margin-top: 60px !important;
}

/* Imagen superior del menú: mitad dentro, mitad fuera (no ocupa espacio en el flujo) */
.sidebar-menu-character,
.off-canvas-sidebar .sidebar-menu-character {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -55%);
  height: 110px;
  width: auto;
  z-index: 10;
  pointer-events: none;
}

/* Mantiene el scroll completo del menú y evita superposición con el muñeco */
.sidebar .sidebar-wrapper,
.off-canvas-sidebar .sidebar-wrapper {
  padding-top: 28px !important;
  overflow-y: auto !important;
}
@media (max-width: 991px) {
  .sidebar-menu-character,
  .off-canvas-sidebar .sidebar-menu-character {
    height: 90px;
  }
}

/* Logo vacío sin altura para que el menú quede en la posición de antes */
.sidebar .logo,
.off-canvas-sidebar .logo {
  padding: 0 !important;
  min-height: 0 !important;
}
.sidebar .logo:after,
.off-canvas-sidebar .logo:after {
  display: none !important;
}

/* Sidebar active item style like reference image */
.sidebar .nav li.active > a,
.sidebar .nav li.active > a[data-toggle="collapse"],
.off-canvas-sidebar .nav li.active > a,
.off-canvas-sidebar .nav li.active > a[data-toggle="collapse"] {
  background: #ffffff !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}

.sidebar .nav li.active > a i,
.sidebar .nav li.active > a p,
.sidebar .nav li.active > a .nav-link-text,
.sidebar .nav li.active > a .caret,
.off-canvas-sidebar .nav li.active > a i,
.off-canvas-sidebar .nav li.active > a p,
.off-canvas-sidebar .nav li.active > a .nav-link-text,
.off-canvas-sidebar .nav li.active > a .caret {
  color: #1d253b !important;
}

.sidebar .nav li.active > a:before,
.off-canvas-sidebar .nav li.active > a:before,
.sidebar .nav li.active > a[data-toggle="collapse"] + div .nav .active a:before,
.off-canvas-sidebar .nav li.active > a[data-toggle="collapse"] + div .nav .active a:before {
  display: none !important;
  content: none !important;
}

/* Microterritorio: sub-item Ubicaciones alineado; blanco solo cuando está seleccionado */
.sidebar #microterritorioMenu .nav,
.off-canvas-sidebar #microterritorioMenu .nav {
  padding-left: 0 !important;
}
.sidebar #microterritorioMenu .nav li a,
.off-canvas-sidebar #microterritorioMenu .nav li a {
  margin-bottom: 4px;
  border-radius: 18px;
}
/* Solo el ítem seleccionado del submenú tiene fondo blanco (como el principal) */
.sidebar #microterritorioMenu .nav li.active a,
.off-canvas-sidebar #microterritorioMenu .nav li.active a {
  background: #ffffff !important;
  color: #1d253b !important;
}
.sidebar #microterritorioMenu .nav li.active a i,
.sidebar #microterritorioMenu .nav li.active a p,
.off-canvas-sidebar #microterritorioMenu .nav li.active a i,
.off-canvas-sidebar #microterritorioMenu .nav li.active a p {
  color: #1d253b !important;
}
.sidebar #microterritorioMenu .nav li a:before,
.off-canvas-sidebar #microterritorioMenu .nav li a:before {
  display: none !important;
}

/* Microterritorio: el ítem que abre el desplegable no se resalta en blanco cuando el hijo Ubicaciones está activo. */
.sidebar .nav li.open > a[data-toggle="collapse"][href="#microterritorioMenu"],
.off-canvas-sidebar .nav li.open > a[data-toggle="collapse"][href="#microterritorioMenu"] {
  background: transparent !important;
}
.sidebar .nav li.open > a[data-toggle="collapse"][href="#microterritorioMenu"] i,
.sidebar .nav li.open > a[data-toggle="collapse"][href="#microterritorioMenu"] p,
.sidebar .nav li.open > a[data-toggle="collapse"][href="#microterritorioMenu"] .caret,
.off-canvas-sidebar .nav li.open > a[data-toggle="collapse"][href="#microterritorioMenu"] i,
.off-canvas-sidebar .nav li.open > a[data-toggle="collapse"][href="#microterritorioMenu"] p,
.off-canvas-sidebar .nav li.open > a[data-toggle="collapse"][href="#microterritorioMenu"] .caret {
  color: rgba(255, 255, 255, 0.8) !important;
}

/* Submenús alineados con el título: mismo margen izquierdo (15px) que los ítems principales. */
.sidebar .nav .sidebar-subnav,
.off-canvas-sidebar .nav .sidebar-subnav {
  padding-left: 0 !important;
  margin-left: 15px;
  margin-right: 15px;
}
/* Alineación uniforme de subítems: icono y texto al mismo nivel que el título del desplegable. */
.sidebar .nav li > a + div .nav li > a,
.sidebar .nav li > div + div .nav li > a,
.sidebar .nav .sidebar-subnav li > a,
.off-canvas-sidebar .nav li > a + div .nav li > a,
.off-canvas-sidebar .nav li > div + div .nav li > a,
.off-canvas-sidebar .nav .sidebar-subnav li > a {
  position: relative;
  padding-left: 54px;
  padding-right: 8px;
  padding-top: 8px;
  padding-bottom: 8px;
  min-height: 46px;
  box-sizing: border-box;
  display: block;
  margin-left: 0;
  margin-right: 0;
}
.sidebar .nav li > a + div .nav li > a i,
.sidebar .nav li > div + div .nav li > a i,
.sidebar .nav .sidebar-subnav li > a i,
.off-canvas-sidebar .nav li > a + div .nav li > a i,
.off-canvas-sidebar .nav li > div + div .nav li > a i,
.off-canvas-sidebar .nav .sidebar-subnav li > a i {
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  margin: 0;
  margin-right: 0;
  float: none;
  text-align: center;
  line-height: 30px;
}
.sidebar .nav li > a + div .nav li > a p,
.sidebar .nav li > div + div .nav li > a p,
.sidebar .nav .sidebar-subnav li > a p,
.off-canvas-sidebar .nav li > a + div .nav li > a p,
.off-canvas-sidebar .nav li > div + div .nav li > a p,
.off-canvas-sidebar .nav .sidebar-subnav li > a p {
  margin: 0;
  line-height: 30px;
}
/* Emoji en submenú: misma columna que el icono del título; mismo tamaño que los iconos del menú (20px). */
.sidebar .nav .sidebar-subnav li > a .sidebar-subnav-emoji,
.off-canvas-sidebar .nav .sidebar-subnav li > a .sidebar-subnav-emoji {
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  text-align: center;
  line-height: 30px;
  font-size: 20px;
}
/* El texto (p) empieza donde el padding-left del enlace (54px); así queda alineado con el texto del título. */
.sidebar .nav .sidebar-subnav li > a .sidebar-subnav-emoji + p,
.off-canvas-sidebar .nav .sidebar-subnav li > a .sidebar-subnav-emoji + p {
  margin-left: 0;
}

/* Microterritorio: texto/icono es enlace a Indicadores; flecha abre el dropdown. La flecha debe verse siempre. */
.sidebar .nav li .sidebar-nav-item-microterritorio,
.off-canvas-sidebar .nav li .sidebar-nav-item-microterritorio {
  margin: 10px 15px 0;
  padding: 0;
  border-radius: 18px;
  min-height: 2.5rem;
  position: relative;
}
.sidebar .nav li:first-child .sidebar-nav-item-microterritorio,
.off-canvas-sidebar .nav li:first-child .sidebar-nav-item-microterritorio {
  margin-top: 0;
}
.sidebar .nav li .sidebar-nav-link-microterritorio,
.off-canvas-sidebar .nav li .sidebar-nav-link-microterritorio {
  display: flex !important;
  align-items: center;
  padding: 10px 8px;
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none !important;
  cursor: pointer;
  font-size: 0.62475rem;
  text-transform: uppercase;
  font-weight: 400;
  line-height: 1.625rem;
}
.sidebar .nav li .sidebar-nav-link-microterritorio i,
.sidebar .nav li .sidebar-nav-link-microterritorio p,
.off-canvas-sidebar .nav li .sidebar-nav-link-microterritorio i,
.off-canvas-sidebar .nav li .sidebar-nav-link-microterritorio p {
  color: inherit;
  font-size: inherit;
  text-transform: inherit;
  font-weight: inherit;
}
.sidebar .nav li .sidebar-nav-caret-microterritorio,
.off-canvas-sidebar .nav li .sidebar-nav-caret-microterritorio {
  display: flex !important;
  align-items: center;
  padding: 10px 12px;
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none !important;
  cursor: pointer;
}
.sidebar .nav li .sidebar-nav-caret-microterritorio .caret,
.off-canvas-sidebar .nav li .sidebar-nav-caret-microterritorio .caret {
  border-top-color: currentColor;
  color: inherit;
}
.sidebar .nav li.active .sidebar-nav-item-microterritorio,
.off-canvas-sidebar .nav li.active .sidebar-nav-item-microterritorio {
  background: #ffffff !important;
}
.sidebar .nav li.active .sidebar-nav-link-microterritorio i,
.sidebar .nav li.active .sidebar-nav-link-microterritorio p,
.sidebar .nav li.active .sidebar-nav-caret-microterritorio .caret,
.off-canvas-sidebar .nav li.active .sidebar-nav-link-microterritorio i,
.off-canvas-sidebar .nav li.active .sidebar-nav-link-microterritorio p,
.off-canvas-sidebar .nav li.active .sidebar-nav-caret-microterritorio .caret {
  color: #1d253b !important;
}
.sidebar .nav li.active .sidebar-nav-caret-microterritorio .caret,
.off-canvas-sidebar .nav li.active .sidebar-nav-caret-microterritorio .caret {
  border-top-color: #1d253b;
}
/* Submenú de Microterritorio: que el div.collapse bajo el wrapper tenga el mismo margen que en el tema. */
.sidebar .nav li .sidebar-nav-item-microterritorio + .collapse .nav,
.off-canvas-sidebar .nav li .sidebar-nav-item-microterritorio + .collapse .nav {
  margin-top: 5px;
}
.sidebar .nav li .sidebar-nav-item-microterritorio + .collapse .nav li > a,
.off-canvas-sidebar .nav li .sidebar-nav-item-microterritorio + .collapse .nav li > a {
  margin-top: 0;
  padding: 8px 8px;
}

/* Registros: mismo estilo que Microterritorio (dropdown con Registros + Núcleo familiar) */
.sidebar .nav li .sidebar-nav-item-registros,
.off-canvas-sidebar .nav li .sidebar-nav-item-registros {
  margin: 10px 15px 0;
  padding: 0;
  border-radius: 18px;
  min-height: 2.5rem;
  position: relative;
}
.sidebar .nav li:first-child .sidebar-nav-item-registros,
.off-canvas-sidebar .nav li:first-child .sidebar-nav-item-registros {
  margin-top: 0;
}
.sidebar .nav li .sidebar-nav-link-registros,
.off-canvas-sidebar .nav li .sidebar-nav-link-registros {
  display: flex !important;
  align-items: center;
  padding: 10px 12px;
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none !important;
  flex: 1;
  min-width: 0;
}
.sidebar .nav li .sidebar-nav-link-registros p,
.off-canvas-sidebar .nav li .sidebar-nav-link-registros p,
.sidebar .nav li .sidebar-nav-link-registros i,
.off-canvas-sidebar .nav li .sidebar-nav-link-registros i {
  color: inherit;
  font-size: inherit;
  text-transform: inherit;
  font-weight: inherit;
}
.sidebar .nav li .sidebar-nav-caret-registros,
.off-canvas-sidebar .nav li .sidebar-nav-caret-registros {
  display: flex !important;
  align-items: center;
  padding: 10px 12px;
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none !important;
  cursor: pointer;
}
.sidebar .nav li .sidebar-nav-caret-registros .caret,
.off-canvas-sidebar .nav li .sidebar-nav-caret-registros .caret {
  border-top-color: currentColor;
  color: inherit;
}
.sidebar .nav li.active .sidebar-nav-item-registros,
.off-canvas-sidebar .nav li.active .sidebar-nav-item-registros {
  background: #ffffff !important;
}
.sidebar .nav li.active .sidebar-nav-link-registros i,
.sidebar .nav li.active .sidebar-nav-link-registros p,
.sidebar .nav li.active .sidebar-nav-caret-registros .caret,
.off-canvas-sidebar .nav li.active .sidebar-nav-link-registros i,
.off-canvas-sidebar .nav li.active .sidebar-nav-link-registros p,
.off-canvas-sidebar .nav li.active .sidebar-nav-caret-registros .caret {
  color: #1d253b !important;
}
.sidebar .nav li.active .sidebar-nav-caret-registros .caret,
.off-canvas-sidebar .nav li.active .sidebar-nav-caret-registros .caret {
  border-top-color: #1d253b;
}
.sidebar .nav li .sidebar-nav-item-registros + .collapse .nav,
.off-canvas-sidebar .nav li .sidebar-nav-item-registros + .collapse .nav {
  margin-top: 5px;
}
.sidebar .nav li .sidebar-nav-item-registros + .collapse .nav li > a,
.off-canvas-sidebar .nav li .sidebar-nav-item-registros + .collapse .nav li > a {
  margin-top: 0;
  padding: 8px 8px;
}

/* Botón Crear núcleo: color #237FEA */
a.btn-crear-nucleo,
a.btn-crear-nucleo:hover,
a.btn-crear-nucleo:focus,
a.btn-crear-nucleo:active {
  background-color: #237FEA !important;
  background: #237FEA !important;
  border-color: #237FEA !important;
  color: #ffffff !important;
}

/* Buscador desplegable: clic para desplegar/contraer */
.buscador-desplegable {
  display: inline-flex;
  align-items: center;
}
.buscador-desplegable .buscador-input {
  transition: width 0.25s ease, min-width 0.25s ease, padding 0.25s ease, opacity 0.2s ease;
}
.buscador-desplegable.collapsed .buscador-input {
  width: 0 !important;
  min-width: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border: none !important;
  margin: 0 !important;
  opacity: 0;
  overflow: hidden;
}
.buscador-desplegable .btn-toggle-buscador {
  flex-shrink: 0;
}

/* Botones de acción en tablas (vulnerabilidad, etc.): fondo blanco */
.main-panel .content .btn-accion-tabla,
.main-panel .content .card .table .btn-accion-tabla {
  background-color: #ffffff !important;
  background-image: none !important;
  color: #212529 !important;
  border-color: #dee2e6 !important;
}
.main-panel .content .btn-accion-tabla:hover,
.main-panel .content .btn-accion-tabla:focus,
.main-panel .content .card .table .btn-accion-tabla:hover,
.main-panel .content .card .table .btn-accion-tabla:focus {
  background-color: #f8f9fa !important;
  background-image: none !important;
  color: #212529 !important;
  border-color: #dee2e6 !important;
}
/* Eliminar: borde rojo sobre fondo blanco */
.main-panel .content .btn-accion-tabla.btn-outline-danger,
.main-panel .content .card .table .btn-accion-tabla.btn-outline-danger {
  color: #dc3545 !important;
  border-color: #dc3545 !important;
}
.main-panel .content .btn-accion-tabla.btn-outline-danger:hover,
.main-panel .content .card .table .btn-accion-tabla.btn-outline-danger:hover {
  background-color: #f8f9fa !important;
  color: #dc3545 !important;
  border-color: #dc3545 !important;
}

/* Tabla Ubicaciones (Mapa): botón eliminar fondo blanco */
#tabla-ubicaciones-mapa .btn-accion-tabla.btn-outline-danger,
#tabla-ubicaciones-mapa tbody td button.btn {
  background-color: #ffffff !important;
  background-image: none !important;
  color: #dc3545 !important;
  border-color: #dee2e6 !important;
}
#tabla-ubicaciones-mapa .btn-accion-tabla.btn-outline-danger:hover,
#tabla-ubicaciones-mapa tbody td button.btn:hover {
  background-color: #f8f9fa !important;
  color: #dc3545 !important;
  border-color: #dee2e6 !important;
}

/* En formulario de registros (editar/crear paciente): sin scroll vertical; el contenido crece en altura */
body.registros-form-sin-scroll-vertical .main-panel,
body.registros-form-sin-scroll-vertical .main-panel .content {
  overflow-y: visible !important;
  min-height: auto;
}
body.registros-form-sin-scroll-vertical .wrapper {
  min-height: 100vh;
}

/* Scroll en listados (Pacientes/Registros): solo el área de contenido hace scroll, no .main-panel,
   para no bloquear menú ni clics. El wrapper y el panel mantienen altura; .content con overflow-y. */
html.perfect-scrollbar-off body:not(.registros-form-sin-scroll-vertical) .main-panel > .content {
  max-height: calc(100vh - 78px);
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}
html.perfect-scrollbar-on body:not(.registros-form-sin-scroll-vertical) .main-panel > .content {
  overflow-y: auto !important;
}

/* Texto del contenido en #01120A; títulos y menú sin cambios */
.main-panel .content {
  color: #01120A;
}
.main-panel .content .card .card-header .title,
.main-panel .content .card .card-header .card-title,
.main-panel .content .card .card-header h1,
.main-panel .content .card .card-header h2,
.main-panel .content .card .card-header h3,
.main-panel .content .card .card-header h4 {
  color: #1d253b;
}

/* Botones "Sí, eliminar" en modales de confirmación: color #237FEA en toda la app */
.btn-confirmar-eliminar,
#btnConfirmarEliminarAceptar {
  background-color: #237FEA !important;
  border-color: #237FEA !important;
}
.btn-confirmar-eliminar:hover,
.btn-confirmar-eliminar:focus,
#btnConfirmarEliminarAceptar:hover,
#btnConfirmarEliminarAceptar:focus {
  background-color: #1a6dd4 !important;
  border-color: #1a6dd4 !important;
}