/*
	Autor: José Luis Rodriguez
	Mail: jrodriguez@bincodex.com
	Web: https://bincodex.com
	Fecha: 2018-03-04 14:13:29
*/

* {
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Segoe UI', sans-serif;
}

#alert_rep { color: red; }
.bd{ border: 1px solid red; }
.lk { cursor: pointer; -moz-user-select: none; user-select: none; color: #204a87; }
.fz07{ font-size: 0.7em !important; }
.fz08{ font-size: 0.8em !important; }
.fz09{ font-size: 0.9em !important; }
.fz13{ font-size: 1.3em !important; }
.fz15{ font-size: 1.5em !important; }
.fz18{ font-size: 1.8em !important; }
.fz20{ font-size: 2em !important; }
.fz30{ font-size: 3em !important; }


#login {

}



.login-container{
	position:fixed;
	top: 170px;
	right: 80px;
	z-index:2;
}

.login-card{
	width:520px;
	background:rgba(255,255,255,0.78);
	backdrop-filter:blur(15px);
	border-radius:35px;
	padding:50px;
	box-shadow:0 20px 50px rgba(0,0,0,.12);
}

.login-card h1{
	text-align:center;
	color:#333;
	font-size:48px;
	margin-bottom:10px;
}

.login-card h2{
	text-align:center;
	font-weight:400;
	color:#666;
	margin-bottom:15px;
}

.subtitle{
	text-align:center;
	color:#777;
	margin-bottom:35px;
}

.input-group{
	position:relative;
	margin-bottom:20px;
}

.input-group input{
	width:100%;
	height:58px;
	border:1px solid #ddd;
	border-radius:16px;
	padding:0 50px;
	font-size:15px;
	background:white;
}

.input-group i:first-child{
	position:absolute;
	left:18px;
	top:50%;
	transform:translateY(-50%);
	color:#888;
}

.input-group i:last-child{
	position:absolute;
	right:18px;
	top:50%;
	transform:translateY(-50%);
	color:#888;
	cursor:pointer;
}

.options{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin:20px 0 30px;
	font-size:14px;
}

.options a{
	color:#f5823e;
	text-decoration:none;
	font-weight:500;
}

button[type="submit"]{
	width:100%;
	height:58px;
	border:none;
	border-radius:16px;
	background:linear-gradient(90deg,#f5823e,#ff7a1f);
	color:white;
	font-size:18px;
	font-weight:600;
	cursor:pointer;
	transition:.3s;
}

button[type="submit"]:hover{
	transform:translateY(-2px);
}

.separator{
	display:flex;
	align-items:center;
	justify-content:center;
	margin:35px 0;
	color:#777;
}

.separator::before,
.separator::after{
	content:'';
	flex:1;
	height:1px;
	background:#ddd;
}

.separator span{
	margin:0 15px;
}

.biometric{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:10px;
}

.bio-btn{
	width:70px;
	height:70px;
	border:none;
	border-radius:50%;
	background:white;
	box-shadow:0 5px 15px rgba(0,0,0,.1);
	cursor:pointer;
}

.bio-btn i{
	color:#f5823e;
	font-size:32px;
}

.biometric span{
	color:#555;
}



@media(max-width:768px){

	.login-container {
		left: 23px;
		right: 0;
		margin: 0 auto;
		top: 10px;
	}

	.logo-container img{
		width:90%;
	}

	.login-card{
		width:90vw;
		padding:30px;
	}

	.login-card h1{
		font-size:38px;
	}
}




.iz {
	text-align: left !important;
}

.cn {
	margin: 0 auto;
	text-align: center !important;
}

.dr {
	text-align: right !important;
}

.n {
	font-weight: bold !important;
}


.mt10{ margin-top: 10px !important; }
.mt20{ margin-top: 20px !important; }
.mt30{ margin-top: 30px !important; }

.pd10{ padding: 10px !important; }
.pd15{ padding: 15px !important; }
.pd16{ padding: 16px !important; }
.pd17{ padding: 17px !important; }
.pd18{ padding: 18px !important; }
.pd19{ padding: 19px !important; }
.pd20{ padding: 20px !important; }
.pd30{ padding: 30px !important; }



.search-one {
	background: var(--bgd);
	margin-top: 20px;
	border: 1px solid silver;
}

.actions-one {
	background: var(--bgd);
	margin-top: 3px;
	border: 1px solid silver;
}

.perfil-one {
	margin: 0 auto;
	padding: 10px;
	width: 95%;
	border: 1px solid silver;
	background: rgb(94, 89, 89);
	color: #fff;
}

.name-user{
	padding: 5px;
	font-size: 1.3em;
}

#content-upload-files {
	width: 100%;
	height: 100px;
}

.st_cuenta{
	margin-top: 30px;
	padding: 7px;
/*	width: 100%;*/
}


.st_cuenta > legend {
	font-weight: bold;
	border: 1px solid black;
	padding: 7px;
}

.dt-estado-cuenta {
	font-weight: bold;
	font-size: 1.1em;
}

.tt-dt-estado-cuenta {
	font-weight: bold;
	font-size: 1.2em;
}

.item-Activo, .item-Activa {
	background: #4e9a069e;
}


.item-Inactivo, .item-Inactiva {
	background: #ef29299e;
}








.content-carpeta {
	margin: 0 auto;
	width: 90%;
	padding: 10px;
	border: 2px solid silver;
	border-radius: 10px;
	background: #f3f3f3;
}


.row-list-files {
	margin-top: 20px;
	margin-bottom: 20px;
}


.item-file-download {
	padding: 5px;
	background: #036000;
	color: #fff;
	cursor: pointer;
	user-select: none;
	width: 20%;
	border-radius: 7px;
	text-align: center;
	font-size: 0.9rem !important;
	margin-left: 15px;
	position: relative;
}

.file-up {
	font-size: 0.9rem !important;
	cursor: pointer;
	user-select: none;
	color: #3465a4;
}

.tit-carpeta {
	font-weight: bold;
	font-size: 1.3rem;
}


.exe-dwl {
	border: 1px dotted #fff;
}

.del-file {
	position: absolute;
	left: 99%;
	top: -65%;
	font-size: 1.3rem;
	display: none;
}



.tit_reportes {
	border-bottom: 1px solid black;
	text-align: left;
	font-size: 22px;
	font-weight: bold;
}


.fst-report {
	background: #d8fff2;
	border-radius: 20px;
}

.fst-report legend {
	border: 1px solid silver;
	background: #00557f;
	color: #fff;
	font-weight: bold;
	font-size: 1.5em;
	padding: 8px;
	border-radius: 20px;
	min-width: 200px;
	text-align: left;
}







/* --- Dashboard Wrapper --- */
.fonde-dashboard-wrapper {
    display: flex;
    flex-direction: column;
    gap: 25px;
    width: 100%;
    padding: 15px 0;
    font-family: tahoma, sans-serif;
    box-sizing: border-box;
}

/* --- Fila de Tarjetas (KPI Cards) --- */
.fonde-dashboard-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    width: 100%;
}

.fonde-kpi-card {
    background: #ffffff;
    padding: 20px 20px 25px 20px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    border-left: 5px solid #ff7b54; /* Línea decorativa naranja */
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    text-align: left;
}

.fonde-kpi-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
}

.fonde-kpi-card .kpi-label {
    font-size: 0.75em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--text-light, #999999);
    margin-bottom: 5px;
}

.fonde-kpi-card .kpi-value {
    font-size: 1.8em;
    font-weight: 700;
    color: var(--text-dark, #4a4a4a);
    margin: 0;
}

.fonde-kpi-card .kpi-sub {
    font-size: 0.8em;
    color: var(--text-medium, #666666);
    margin-top: 5px;
}

/* Tarjeta destacada (con degradado) */
.fonde-kpi-card.highlight {
    background: var(--primary-gradient);
    border-left: 5px solid #ffffff;
}

.fonde-kpi-card.highlight .kpi-label,
.fonde-kpi-card.highlight .kpi-value,
.fonde-kpi-card.highlight .kpi-sub {
    color: #ffffff;
}

/* --- Gráficos y Tablas (Contenedor dividido) --- */
.fonde-dashboard-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
    width: 100%;
}

.fonde-chart-box {
    background: #ffffff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.fonde-chart-box h4 {
    margin: 0 0 15px 0;
    color: var(--text-dark, #4a4a4a);
    font-size: 1em;
    border-bottom: 1px solid var(--input-border, #e0e0e0);
    padding-bottom: 10px;
}

/* --- Gráfico de barras simulado (puramente CSS para demo) --- */
.bar-chart {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    height: 120px;
    padding-top: 10px;
}

.bar-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 15%;
}

.bar {
    width: 100%;
    background: var(--primary-gradient);
    border-radius: 4px 4px 0 0;
    min-height: 20px;
    transition: height 0.5s ease;
}

.bar-label {
    font-size: 0.6em;
    color: var(--text-medium, #666666);
    margin-top: 8px;
    text-align: center;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .fonde-dashboard-grid {
        grid-template-columns: 1fr;
    }
}


/* --- Encabezado de Módulo (Module Header) --- */
.fonde-module-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 15px 20px;
    margin-bottom: 20px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
    border-bottom: 4px solid transparent;
    border-image: var(--primary-gradient);
    border-image-slice: 1;
    box-sizing: border-box;
    font-family: tahoma, sans-serif;
}

/* --- Lado Izquierdo: Título y Subtítulo --- */
.fonde-module-title-group {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.fonde-module-title {
    font-size: 1.3em;
    font-weight: 700;
    color: var(--text-dark, #4a4a4a);
    margin: 0;
    letter-spacing: -0.5px;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Icono decorativo opcional (usando un pequeño círculo naranja) */
.fonde-module-title::before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    background: var(--primary-gradient);
    border-radius: 50%;
    margin-right: 5px;
}

.fonde-module-subtitle {
    font-size: 0.85em;
    font-weight: 300;
    color: var(--text-medium, #666666);
    margin: 0;
    margin-left: 20px; /* Alineado con el texto del título */
}

/* --- Lado Derecho: Acciones (Botones o enlaces) --- */
.fonde-module-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

/* Botón primario (Degradado naranja) */
.fonde-btn-primary {
    background: var(--primary-gradient);
    color: #ffffff;
    border: none;
    padding: 8px 20px;
    border-radius: 50px;
    font-size: 0.85em;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(255, 123, 84, 0.3);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.fonde-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(255, 123, 84, 0.4);
}

/* Botón secundario (Borde naranja, fondo blanco) */
.fonde-btn-secondary {
    background: transparent;
    color: var(--text-dark, #4a4a4a);
    border: 1px solid var(--input-border, #e0e0e0);
    padding: 7px 18px;
    border-radius: 50px;
    font-size: 0.85em;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.fonde-btn-secondary:hover {
    border-color: #ff7b54;
    color: #ff7b54;
    background: rgba(255, 123, 84, 0.05);
}

/* --- Responsive --- */
@media (max-width: 600px) {
    .fonde-module-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
        padding: 15px;
    }

    .fonde-module-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .fonde-module-title {
        font-size: 1.1em;
    }

    .fonde-module-subtitle {
        margin-left: 20px;
    }
}


/* --- Barra de Filtros (Debajo del Header) --- */
.fonde-filter-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end; /* Alinea los inputs y botones por la parte inferior */
    gap: 15px;
    width: 100%;
    padding: 15px 20px;
    margin-bottom: 20px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
    box-sizing: border-box;
    font-family: tahoma, sans-serif;
}

/* --- Grupos de Filtros (Label + Input) --- */
.fonde-filter-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1 1 150px; /* Crece y se achica, tamaño mínimo 150px */
    min-width: 120px;
}

.fonde-filter-group label {
    font-size: 0.75em;
    font-weight: 700;
    color: var(--text-medium, #666666);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.fonde-filter-group select,
.fonde-filter-group input[type="text"],
.fonde-filter-group input[type="date"],
.fonde-filter-group input[type="number"] {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--input-border, #e0e0e0);
    border-radius: 8px;
    background: var(--input-bg, #f8f8f8);
    font-size: 0.9em;
    color: var(--text-dark, #4a4a4a);
    transition: all 0.2s ease;
    box-sizing: border-box;
    height: 38px; /* Altura uniforme para todos */
}

/* Estilo específico para el select */
.fonde-filter-group select {
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 14px;
    padding-right: 30px;
}

.fonde-filter-group select:focus,
.fonde-filter-group input:focus {
    outline: none;
    border-color: #ff7b54;
    background: #ffffff;
    box-shadow: 0 0 0 3px var(--focus-ring, rgba(255, 123, 84, 0.3));
}

/* --- Grupo de Botones (A la derecha o al final) --- */
.fonde-filter-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex: 0 0 auto; /* No se encoge ni crece */
    margin-left: auto; /* Empuja los botones hacia la derecha */
    padding-top: 0px;
}

/* Botón Buscar (Primario) */
.fonde-btn-search {
    background: var(--primary-gradient);
    color: #ffffff;
    border: none;
    padding: 8px 24px;
    border-radius: 50px;
    font-size: 0.85em;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(255, 123, 84, 0.3);
    height: 38px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.fonde-btn-search:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(255, 123, 84, 0.4);
}

/* Botón Limpiar (Secundario) */
.fonde-btn-clear {
    background: transparent;
    color: var(--text-medium, #666666);
    border: 1px solid var(--input-border, #e0e0e0);
    padding: 8px 20px;
    border-radius: 50px;
    font-size: 0.85em;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    height: 38px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.fonde-btn-clear:hover {
    border-color: var(--red, #cc0000);
    color: var(--red, #cc0000);
    background: rgba(204, 0, 0, 0.05);
}

/* --- Responsive (Móviles) --- */
@media (max-width: 768px) {
    .fonde-filter-bar {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .fonde-filter-group {
        min-width: 100%;
        flex: none;
    }

    .fonde-filter-actions {
        margin-left: 0;
        justify-content: stretch;
        width: 100%;
    }

    .fonde-btn-search,
    .fonde-btn-clear {
        flex: 1;
        justify-content: center;
    }
}
