body{
 font-size:14px;
 font-family:Tahoma, Geneva, sans-serif;
 background-color:#eeeeee  ;
 
 }
.link_borde_bajo
	{

		 border-bottom: solid 2px #fafafa;
		}
.link_borde_bajo:hover
	{
		 background-color:transparent;border-color: transparent;
		 border-bottom: solid 2px #ffab91;
		}
		

.link_borde_bajo_01
	{

		 border-bottom: solid 2px #transparent;
		}
.link_borde_bajo_01:hover
	{
		 background-color:transparent;border-color: transparent;
		 border-bottom: solid 2px #ffab91 ;
		 
		}		


.card_tamano_mini_log {
    min-height: 500px;
}



	canvas{
		-moz-user-select: none;
		-webkit-user-select: none;
		-ms-user-select: none;
	}	
	
.input-group-text 
	{
		display:table-row;
		}

.modal-open .ui-datepicker{z-index: 2000!important}

ul.uib-datepicker-popup.dropdown-menu.ng-scope { z-index: 1090 !important; }

.myaccordion {
  max-width: 500px;
  margin: 50px auto;
  box-shadow: 0 0 1px rgba(0,0,0,0.1);
}

.myaccordion .card,
.myaccordion .card:last-child .card-header {
  border: none;
}

.myaccordion .card-header {
  border-bottom-color: #EDEFF0;
  background: transparent;
}

.myaccordion .fa-stack {
  font-size: 18px;
}

.myaccordion .btn {
  width: 100%;
  font-weight: bold;
  color: #004987;
  padding: 0;
}

.myaccordion .btn-link:hover,
.myaccordion .btn-link:focus {
  text-decoration: none;
}

.myaccordion li + li {
  margin-top: 10px;
}

.titulos_rpinci_nav
	{
		 color:#FFFFFF;
		 padding-bottom:15px;
		 font-size:24px;
		 margin-left:5px;
		
		}
.cajas_no_form{
	
	background-color:#eeeeee;	
	display: block;
    width: 100%;
    height: calc(1.5em + .75rem + 2px);
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
	
	}


.multiselect {
  width: 200px;
}

.selectBox {
  position: relative;
}

.selectBox select {
  width: 100%;
  font-weight: bold;
}

.overSelect {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

#checkboxes {
  display: none;
  border: 1px #dadada solid;
}

#checkboxes label {
  display: block;
}

#checkboxes label:hover {
  background-color: #1e90ff;
}


.tamano_celdas_0 td{
	 padding:0rem;
	 padding-left:0.95rem;
	}
	
#clickme {
  cursor: pointer
}	

.barra_abre_modal_tabla{
	background-color:#E1AE00;border-collapse:0px; margin-left:10px; margin-right:10px; width:95%; border-radius:10px;
	}
.barra_abre_modal_tabla_td{
	text-align:right;  border-spacing:-1px; border-collapse:-1px; padding:0rem;
	}	
.barra_abre_modal_tabla_circulo{
	text-align:left; border-spacing:-1px; border-collapse:-1px; padding:0rem; 
	}		

.tabla_especial_historicos th {
	height: auto; /* Altura dinámica según contenido */
    vertical-align: top; /* Alineación inicial */
	border:solid 0px #B7B7B7;
	padding: 3px 3px;
    display: table-cell;
    text-align: left;
    border-radius: 2px;
	font-size:0.75rem;
	font-weight:400;
}
.tabla_especial_historicos td {
	vertical-align:middle; 
	border:solid 1px #B7B7B7;
    display: table-cell;
    text-align: left;
    border-radius: 2px;
	font-size:0.75rem;
}	
.tabla_especial_historicos_ver  {
border: solid 0px; vertical-align:text-top; font-weight: bold; display:none; border-radius: 0px;
}	

.tabla_especial_otros th {
	height: auto; /* Altura dinámica según contenido */
    vertical-align: top; /* Alineación inicial */
	border:solid 0px #B7B7B7;
	padding: 3px 3px;
    display: table-cell;
    text-align: left;
    border-radius: 2px;
	font-size:0.95rem;
	font-weight:bold;
}
.tabla_especial_otros td {
	vertical-align:middle; 
	border:solid 0px #B7B7B7;
	padding: 3px 3px;
    display: table-cell;
    text-align: left;
    border-radius: 2px;
	font-size:0.95rem;
}

table.dataTable thead th, table.dataTable thead td {
    padding: 10px 5px;
    border-bottom: 0px solid #111;
	text-align:left;
}

table.dataTable {
    width: 100%;
    margin: 0 auto;
    clear: both;
    border-collapse:collapse;
    border-spacing: 0;
}

.tabla_ligera {
    width: 100%;
    margin: 0 auto;
    clear: both;
    border-collapse:collapse;
    border-spacing: 0;
	font-size:0.80rem;
}

.tabla_ligera td {
	vertical-align:top; 
	border:solid 0px #B7B7B7;
	padding: 3px 3px;
    display: table-cell;
    text-align: left;
    border-radius: 2px;
	
}

.tabla_ligera th {
	height: auto; /* Altura dinámica según contenido */
    vertical-align: top; /* Alineación inicial */
	border:solid 0px #B7B7B7;
	padding: 3px 3px;
    display: table-cell;
    text-align: left;
    border-radius: 2px;
	font-weight:bold;
}

.summary {
      border-left:1px dashed #e5e7eb; padding-left:1rem;
    }

.section-title { font-size:.85rem; font-weight:600; color:var(--muted); letter-spacing:.04em; text-transform:uppercase; margin-bottom:.75rem }
.readonly-value { font-weight:600; }

table.dataTable tbody td {
    padding: 6px 8px;
}

.tabla_especial_historicos_2 th {
	height: auto; /* Altura dinámica según contenido */
    vertical-align: top; /* Alineación inicial */
	border:solid 0px #B7B7B7;
	padding: 3px 3px;
    display: table-cell;
    text-align: left;
    border-radius: 2px;
	font-size:0.75rem;
	font-weight:bold;
}
.tabla_especial_historicos_2 td {
	vertical-align:middle; 
	border:solid 1px #B7B7B7;
    display: table-cell;
    text-align: left;
    border-radius: 2px;
	font-size:0.75rem;
}	

/* ===== Login / páginas afuera (banner_afuera) - responsive ===== */
.login_logo {
	max-width: calc(100% - 70px); /* deja espacio al botón hamburguesa */
	height: auto;
}

@media (max-width: 575.98px) {
	/* Barra superior: en celular deja de ser fija para que el texto pueda ocupar 2 líneas sin tapar el logo */
	.login_barra_top {
		position: relative;
	}
	.login_barra_top_texto {
		margin-left: 10px !important;
		margin-right: 10px;
		padding: 3px 0;
		font-size: 11px !important;
		line-height: 1.3;
	}
	.login_nav_logo {
		margin-top: 0 !important;
	}
	.login_logo {
		max-height: 60px;
	}

	/* Campos del formulario de ingreso: menos padding en los addons (ícono, *, ojo) */
	.login_card_ingreso .input-group-text {
		padding-left: .5rem;
		padding-right: .5rem;
	}
	.login_card_ingreso .input-group > .form-control {
		min-width: 0;
		font-size: .95rem;
	}
}


/* ===== Agenda pública (paginas_afuera/asociados/agenda) - fecha + botón Buscar ===== */
.agenda_pub_fecha {
	display: flex;
	align-items: stretch;
}
.agenda_pub_fecha > div:first-child {
	flex: 1 1 auto;
	min-width: 0;
}
.agenda_pub_fecha .input-group {
	flex-wrap: nowrap;
}
/* gijgo envuelve el input del datepicker en un div role="wrapper" */
.agenda_pub_fecha .input-group > [role="wrapper"],
.agenda_pub_fecha .input-group > .form-control {
	flex: 1 1 auto;
	width: 1%;
	min-width: 0;
}
.agenda_pub_fecha > button {
	flex: 0 0 auto;
	margin-left: .5rem;
}

@media (max-width: 575.98px) {
	.agenda_pub_fecha {
		flex-wrap: wrap;
	}
	.agenda_pub_fecha > div:first-child {
		flex-basis: 100%;
	}
	.agenda_pub_fecha > button {
		width: 100%;
		margin-left: 0;
		margin-top: .5rem;
	}
}


/* ===== Registro nuevo asociado (paginas_afuera/asociados) - iframe oculto grp ===== */
/* devuelve_fin() reescribe el iframe como 800x800; se recorta para que no ensanche la página */
.asoc_reg_frms {
	height: 0;
	overflow: hidden;
}

/* Separación entre el menú de pasos y el formulario cuando se apilan (< 992px) */
@media (max-width: 991.98px) {
	.asoc_reg_contenedor > div:first-child {
		margin-bottom: 1.5rem;
	}
}

/* Menú lateral (fun.sidebar.php: nav#sidebar.sidebar-wrapper). Anula reglas heredadas de
   style_sidebar.css / style_sidebar_personalizado.css (otra plantilla, #sidebarCollapse)
   que lo ocultaban en <=768px */
@media (max-width: 768px) {
	#sidebar.sidebar-wrapper {
		margin-left: 0;
		transform: none;
	}
}

/* ===== Actualización de información del asociado: menú de pestañas ===== */
/* Pestañas más compactas en pantallas pequeñas para que ocupen menos filas */
@media (max-width: 575.98px) {
	.act_tabs .nav-link {
		padding: .6rem .6rem;
		font-size: .875rem;
	}
}

/* ===== Actualización de información: comodidad táctil (celular/tablet) ===== */
@media (max-width: 767.98px) {
	/* Editar / eliminar en tablas: área táctil mayor y separados entre sí (eliminar es destructivo) */
	#contenido_historicos td > a[onclick*="modal_general"],
	#contenido_historicos td > a[onclick*="valida_eliminacion"] {
		display: inline-block;
		padding: .6rem .7rem;
	}
	/* Botones "Ir al formulario anterior / siguiente" y "Grabar": no pegados entre sí */
	#contenido_historicos .alert .btn {
		margin-bottom: .5rem;
	}
}

/* Pestañas con botones directos en .d-grid (Bootstrap 4 no define d-grid): ancho completo en celular,
   igual que en Info. (botones btn-block) */
@media (max-width: 767.98px) {
	#contenido_historicos .alert .d-grid > .btn {
		display: block;
		width: 100%;
	}
}

/* Cuadro "Validación y aprobación": etiqueta sobre valor en celular, como en Info. (dl) */
@media (max-width: 575.98px) {
	#contenido_historicos .blue.lighten-5 table.table tr,
	#contenido_historicos .blue.lighten-5 table.table td {
		display: block;
		width: 100% !important;
		text-align: left !important;
	}
	#contenido_historicos .blue.lighten-5 table.table td {
		padding: .25rem .75rem 0;
		border-top: 0;
	}
	#contenido_historicos .blue.lighten-5 table.table td:nth-child(odd) {
		font-weight: 700;
	}
}

/* Resumen Activos / Pasivos / Patrimonio (04_info_solvencia.php): 3 columnas legibles en celular */
@media (max-width: 575.98px) {
	.act_resumen {
		width: 100%;
	}
	.act_resumen td {
		vertical-align: top;
		padding: 0 .25rem;
	}
	.act_resumen .blockquote {
		font-size: .9rem;
		margin-bottom: .25rem;
	}
	.act_resumen .blockquote-footer {
		font-size: 70%;
		word-break: break-word;
	}
}

/* Selects Sí/No de Persona Expuesta Públicamente (07_info_exppublicamente.php): ancho completo del campo */
.act_sel_corto {
	width: 100%;
}

/* Modal "Seleccione la ciudad" (tablas_ciudades.php, DataTables): que la tabla quepa en celular */
@media (max-width: 575.98px) {
	:is(#modal_todos_new, #sub_modal_todos_new) .dataTables_wrapper {
		overflow-x: auto;
	}
	/* Gana ancho para las 4 columnas */
	:is(#modal_todos_new, #sub_modal_todos_new) :is(.container-sm, .container-md):has(#tabla_idiomas) {
		padding-left: 0;
		padding-right: 0;
	}
	:is(#modal_todos_new, #sub_modal_todos_new) #tabla_idiomas th,
	:is(#modal_todos_new, #sub_modal_todos_new) #tabla_idiomas td {
		padding: .4rem .15rem;
		font-size: .72rem;
	}
	:is(#modal_todos_new, #sub_modal_todos_new) #tabla_idiomas tbody td {
		font-size: .8rem;
	}
	:is(#modal_todos_new, #sub_modal_todos_new) #tabla_idiomas th {
		width: auto !important;
	}
	:is(#modal_todos_new, #sub_modal_todos_new) #tabla_idiomas th input {
		width: 3.4rem;
		max-width: 100%;
		min-width: 0;
		padding: .25rem .3rem;
		font-size: .72rem;
	}
	/* Nombres largos se parten en vez de ensanchar la tabla: la columna de acción (ver) queda visible */
	:is(#modal_todos_new, #sub_modal_todos_new) #tabla_idiomas tbody td {
		overflow-wrap: anywhere;
	}
}
@media (max-width: 575.98px) {
	/* "Colombia" no se parte por letras */
	:is(#modal_todos_new, #sub_modal_todos_new) #tabla_idiomas tbody td:first-child {
		overflow-wrap: normal;
		white-space: nowrap;
	}
}

/* ===== Inicio del asociado (inbox / tareas y mensajes): comodidad táctil en celular ===== */
@media (max-width: 767.98px) {
	/* Enlaces de las tarjetas ("Ingresa aquí") y de los contadores de INBOX / MENSAJES con área táctil mayor */
	.card-footer .stats a {
		display: inline-block;
		padding: .5rem 0;
	}
	.cuadros_desaboar_01 a.card-link {
		display: inline-block;
		padding: .35rem 0;
	}
}

/* Tablas DataTables dentro de table-responsive (Convenios → Mis solicitudes): el texto "Registros del…" y la
   paginación quedan fijos; solo la tabla se desliza de lado */
@media (max-width: 767.98px) {
	.table-responsive:has(> .dataTables_wrapper) {
		overflow-x: visible;
	}
	.table-responsive > .dataTables_wrapper > table.dataTable {
		display: block;
		max-width: 100%;
		overflow-x: auto;
	}
}

/* Selector de archivos de los modales (custom-file): el texto no se parte en 2 líneas bajo el botón "Buscar" */
@media (max-width: 575.98px) {
	#modal_todos_new .custom-file-label {
		white-space: nowrap;
		text-overflow: ellipsis;
		overflow: hidden;
		padding-right: 5.5rem;
	}
}

/* Simulador de créditos (03_creditos/simulador/01_simulador_principal.php): la tabla de modalidad/plazo/tasa en celular */
@media (max-width: 575.98px) {
	.tabla_especial_otros th {
		width: auto !important;
	}
	.tabla_especial_otros td > div[class*="col-"] {
		max-width: 100%;
		flex: 0 0 100%;
		padding-left: 0;
		padding-right: 0;
	}
}
@media (max-width: 575.98px) {
	/* La descripción del tipo de crédito justificada en una columna angosta deja huecos enormes entre palabras */
	.tabla_especial_otros td {
		text-align: left !important;
	}
}
