:root{
	--rojo: #e33c4b;
}
/*==== LOGIN ====*/
body.fondo{
	position: relative;
	min-height: 100vh;
	font-family: "Rubik", sans-serif;
	overflow: hidden;
	background: #050506;
}
/* Fondo niebla WebGL (Three.js) — reemplaza el video */
#bg-canvas{
	position: fixed;
	inset: 0;
	z-index: -100;
	width: 100%;
	height: 100%;
	/* Fallback estático por si WebGL no está disponible */
	background:
		radial-gradient(45% 45% at 30% 30%, rgba(70, 72, 80, 0.55), transparent 62%),
		radial-gradient(50% 50% at 75% 75%, rgba(40, 41, 47, 0.60), transparent 62%),
		linear-gradient(135deg, #16171c, #050506);
}
#bg-canvas canvas{
	display: block;
	width: 100% !important;
	height: 100% !important;
}
body.fondo .cont-iniciar{
	position: relative;
	min-height: 100vh;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
body.fondo .inicia-sesion{
	border-radius: 1.8rem;
	padding: 2rem;
	background: rgba(255,255,255,0.6);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255,255,255,0.25);
	text-align: center;
}
body.fondo .inicia-sesion h1{
	color: #333;
	font-size: 1.6rem;
	font-weight: 700;
	text-transform: uppercase;
}
body.fondo .inicia-sesion .cont-gorila{
	border-bottom: 1px solid rgba(255,255,255,0.25);
	padding-bottom: 1rem;
}
body.fondo .inicia-sesion .form-label{
	font-weight: 400;
	color: #444;
	margin-bottom: .5rem;
}
body.fondo .inicia-sesion form .form-control::placeholder{
	color: #888;
	font-weight: 300;
	font-size: .9rem;
}
body.fondo .inicia-sesion form .btn-color{
	padding: .6rem 1rem;
	font-size: .9rem;
	font-family: "Rubik", sans-serif;
}

/* ==== FIN LOGIN ==== */

body{
	color: #666;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 300;
    background-color: #f3f3f4;
}
.btn-info {
    color: #fff;
    font-size: 16px!important;
    padding: 7px 10px!important;
    background-color: #17a2b8;
    border-color: #17a2b8;
}

button {
  position: relative;
  border-radius: 5px;
  border: 0;
  font-size: 1.5rem;
  /*font-family: 'Oswald', sans-serif;*/
  font-family: 'Lato', sans-serif;
  color: #fff;
  background-color: #2980b9;
  padding: .4em;
  margin-left: auto;
  margin-right: auto;
  display: block;
}




.cambiar-logo{
	border-radius: 0px!important;
	opacity: 0;
	width: 100%;
	height: 100%!important;
	padding: 10px!important;
	position: absolute;
	height: 100%;
	bottom: 0;
	margin: auto;
	left: 0;
	right: 0;
	background-color: rgba(35, 41, 47, 0.8)!important;

	-webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.cambiar-logo:hover{
	opacity: 1;
	text-decoration: none;
}
.cambiar-logo p{
	font-size: 16px;
    font-weight: 300;
    color: #fff!important;
    margin-bottom: 0;
    /*top: 50%;*/
    /*transform: translateY(-50%);*/
    /*position: relative;*/
}
.btn-primary{
    background-color: #337ab7;
    border-color: #2e6da4;
}
.btn-primary:hover{
	background-color: #2e6da4;
}

@media print {
	.tiro,
	.retiro{
		margin: auto;
	}
	.tiro .credencial-tiro{
		float: right;
		border: 1px solid red;
		width: 9.45cm;
		height: 5cm;
	}
	.retiro .credencial-retiro{
		background-color: green;
		float: left;
		border: 1px solid red;
		width: 9.45cm;
		height: 5cm;
	}
	.cm{
		display: inline-block;
		vertical-align: top;
		margin: 0 -4px 0 0;
		border: 1px solid red;
		width: 9.45cm;
		height: 5cm;
	}
}
.dataTables_length select{
	background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    margin: 0 10px;
    padding: 5px 10px;
    width: 70px;
    height: 35px;
}
.dataTables_filter label{
	color: #666;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 400;
}
.dataTables_filter label input{
	height: 30px;
	margin-left: 10px;
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
}
/* ── DataTables: info y paginador ──────────────────────────────────────────
   Markup de la integración Bootstrap de DataTables 1.13:
       <ul class="pagination"><li class="paginate_button page-item"><a class="page-link">
   El <li> es solo contenedor: borde, padding y color van en el <a>.
   IMPORTANTE: sin selectores por #id. Las reglas antiguas usaban
   #dataTables-example_paginate, y como un id gana a cualquier número de
   clases, pisaban los estilos .moderno-* en las 39 vistas que reutilizan
   ese id — ese era el paginador "descuadrado" del sistema.
   ------------------------------------------------------------------------ */
.dataTables_info{
	float: left;
	margin-bottom: 10px;
	color: #667085;
}
.dataTables_paginate{
	float: right;
	margin-bottom: 10px;
}
.dataTables_paginate .pagination{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.dataTables_paginate .paginate_button{
	list-style: none;
	margin: 0;
	padding: 0;
	border: none;
	background: none;
}
.dataTables_paginate .paginate_button > a,
.dataTables_paginate .paginate_button .page-link{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 32px;
	margin: 0;
	padding: 0 .6rem;
	border: 1px solid #E6E8EC;
	border-radius: 8px;
	background-color: #fff;
	color: #475467;
	font-size: 13.5px;
	line-height: 1;
	text-decoration: none;
	box-shadow: none;
	transition: all .14s;
}
.dataTables_paginate .paginate_button:not(.disabled):not(.active):not(.current) > a:hover,
.dataTables_paginate .paginate_button:not(.disabled):not(.active):not(.current) .page-link:hover{
	background-color: #f3e4e7;
	border-color: #d66267;
	color: #DC2A32;
}
.dataTables_paginate .paginate_button.active > a,
.dataTables_paginate .paginate_button.active .page-link,
.dataTables_paginate .paginate_button.current > a,
.dataTables_paginate .paginate_button.current .page-link{
	background-color: #DC2A32;
	border-color: #DC2A32;
	color: #fff;
}
.dataTables_paginate .paginate_button.disabled > a,
.dataTables_paginate .paginate_button.disabled .page-link{
	opacity: .45;
	background-color: #fff;
	border-color: #E6E8EC;
	color: #475467;
	cursor: default;
}

.widget-content {
	padding: 20px 15px 15px;
	background: #FFF;
}
.modal-dialog {
	width: 730px!important;
}
.modal-buscar{
	text-align: left;
	background-color: #242a30;
	border-radius: 4px 4px 0 0;
	margin-bottom: 15px;
	padding: 10px 15px;
	color: #fff;
	font-weight: 300;
	font-size: 16px;
}
.modal-buscar h4{
	padding: 5px 15px;
	color: #fff;
	font-weight: 300;
	font-size: 16px;
}
.modal-buscar .cerrar{
	border: none;
	background: url(../imagenes/iconos/eliminar.jpg) no-repeat center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	border-radius: 50%;
	width: 23px;
	margin-top: 5px;
	height: 23px;
	font-size: 0;
	display: inline-block;
	vertical-align: top;
	float: right;
}
.modal-buscar .input-buscar{
	border: 1px solid #ccc;
	border-radius: 4px;
	height: 35px;
	padding: 3px 10px;
	color: #242a30;
}
.cont-boton{
	margin: 10px 0 20px 15px;
}
.cont-formulario{
	padding: 15px 0;
	border-bottom: 1px solid #e7eaec;
	background-color: #fff;
}
.cont-formulario .cont-texto-enrrequesido{
	margin: 0;
}
.cont-formulario .cont-texto-enrrequesido .grabar{
	padding: 15px 0 0 0;
}
.cont-formulario .cont-texto-enrrequesido .enrrequesido{
	margin: 0 0 15px 0;
}
.cont-caledario{
	border-top: 1px solid #e7eaec;
	padding: 15px;
}
.cont-cuentas{
	overflow: hidden;
	border: 1px solid #ccc;
    border-top: none;
    border-radius: 4px;
    padding: 0;
	margin-top: 5px;
	margin-bottom: 15px;
}
.cont-cuentas .cont-oscuro{
	text-align: right;
	background-color: #242a30;
    border-radius: 4px 4px 0 0;
    margin-bottom: 15px;
    padding: 5px 15px;
}
.cont-cuentas .cont-oscuro-info{
	padding: 0;
	margin-top: -15px;
}
.cont-cuentas .cont-oscuro-info .gris{
	background-color: #f1f1f1;
	padding: 7px 15px;
	color: #666;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 300;
	margin: 0;
	width: 100%;
}
.cont-cuentas .cont-oscuro-info .gris a{
	color: #fc3f48;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 300;
	margin: 0;
	width: 100%;
}
.cont-cuentas .cont-oscuro-info .blanco{
	background-color: #fff;
	padding: 7px 15px;
	color: #666;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 300;
	margin: 0;
	width: 100%;
}
.cont-sig-ant{
	text-align: right;
	padding: 6px 0;
}
.cont-sig-ant .anterior{
	color: #777;
    background-color: #fff;
    border: 1px solid #ddd;
    padding: 6px 12px;
    margin-left: 0;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}
.cont-sig-ant .siguiente{
	color: #777;
    background-color: #fff;
    border: 1px solid #ddd;
    padding: 6px 12px;
    margin-left: -4px;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}
.cont-sig-ant .anterior:hover,
.cont-sig-ant .siguiente:hover,
.cont-sig-ant .anterior:focus,
.cont-sig-ant .siguiente:focus{
	color: #fff;
    background-color: #fb4046;
    text-decoration: none;
    border: 1px solid #ddd;
    padding: 6px 12px;
    margin-left: -4px;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}
.boton{
	border: none;
    border-radius: 4px;
    background-color: #DC2A32;
    color: #fff;
    padding: 5px 15px;
    border: 1px solid red;
    font-size: 16px;
    font-weight: 400;
    display: inline-block;
    margin-bottom: 8px;
}
.sig{
	border-radius: 0 4px 4px 0;
    background-color: #ece9e9;
    color: #666;
    padding: 5px 15px;
    border: 1px solid #bfbebe;
    font-size: 16px;
    font-weight: 400;
}
.ant{
	border-radius: 4px 0 0 4px;
	margin-right: -4px;
    background-color: #ece9e9;
    color: #666;
    padding: 5px 15px;
    border: 1px solid #bfbebe;
    font-size: 16px;
    font-weight: 400;
}
.ant:hover,.ant:focus,
.sig:hover,.sig:focus{
	text-decoration: none;
	background-color: #d0cece;
	color: #242a30;

}
/*
.fondo{
	background-image: url(../imagenes/avatar/fondo.jpg);
	background-blend-mode: luminosity;
	background-color: #444954;
}
*/


.sesion{
	background-image: url(../imagenes/avatar/fondo-avatar.png);
	background-color: #223545;
	padding: 0;
	margin: auto;
	text-align: center;
}
.sesion .avatar{
	padding: 30px 0 15px 0;
	text-align: center;
}
.sesion .avatar img{
	border-radius: 50%;
	width: 60px;
	height: 60px;
	text-align: center;
}.sesion .nombre{
	color: #fff;
	font-family: 'Lato', sans-serif;
	font-size: 15px;
	margin: 0;
	font-weight: 400;
}
.sesion .datos,
.datos{
	padding: 0;
}
.sesion .datos .desplegar1,
.datos .desplegar1{
	color: #fff;
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	font-weight: 300;
	padding: 0;
}
.sesion .datos .desplegar1:hover,
.sesion .datos .desplegar1:focus,
.datos .desplegar1:hover,
.datos .desplegar1:focus{
	background: rgba(16, 46, 72, 0.3);
}
.sesion .datos .desplegar1 .flecha,
.datos .desplegar1 .flecha{
	font-size: 9px;
	color: #fff;
	text-align: center;
	margin: 0;
}
.sesion .datos .desplegar1 .flecha:hover,
.sesion .datos .desplegar1 .flecha:focus{
	font-size: 9px;
	color: #DC2A32;
	text-align: center;
	margin: 0;
}
.sesion .datos .desplegar1-int,
.datos .desplegar1-int{
	border-left: 5px solid #DC2A32;
	list-style: none;
	padding: 0;
}
.sesion .datos .desplegar1-int .int1,
.datos .desplegar1-int .int1{
	background: rgba(09, 32, 52, 0.3);
	padding: 0;
	margin: 0;
}
.sesion .datos .desplegar1-int .int1 span,
.datos .desplegar1-int .int1 span{
	color: #fff;
	font-size: 11px;
	padding: 0;
}
.sesion .datos .desplegar1-int .int1 a,
.datos .desplegar1-int .int1 a{
	text-align: left;
	color: #fff;
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	font-weight: 300;
	padding: 0;
}
.sesion .datos .desplegar1-int .int1 a:hover,
.sesion .datos .desplegar1-int .int1 a:hover,
.datos .desplegar1-int .int1 a:hover,
.datos .desplegar1-int .int1 a:hover{
	background: rgba(09, 32, 52, 0.1);
}
.cont-iniciar{
	position: relative;
	top: 8%;
}
#sidebar-wrapper{
	background-color: #2e4050;
}
#sidebar-wrapper::-webkit-scrollbar {
  width: 5px;
  height: 8px;
}

/* Track */
#sidebar-wrapper::-webkit-scrollbar-track {
  background: #8b8b8b; 
}
 
/* Handle */
#sidebar-wrapper::-webkit-scrollbar-thumb {
  background: #626773; 
}

/* Handle on hover */
#sidebar-wrapper::-webkit-scrollbar-thumb:hover {
  background: #313659; 
}

.menu.accordion .card{
	border-radius: 0;
	border:0;
	font-size: 14px;
}
.menu.accordion .card-header{
	background-color: #444954;
	border:0;
	border-radius:0;
}
.menu.accordion .card-header button:hover,
.menu.accordion .card-header button:focus{
	color: #fff;
}
.menu.accordion .card-header button{
	display: flex;
	flex-direction: row;
	align-items: center;
	text-decoration: none;
	font-size: 14px;
	color: #a2abbe;
	font-weight: 300;
	padding-top: 8px;
	padding-bottom: 8px;
}
.menu.accordion .card-body{
	background-color: #363942;
	padding:0;
	border-left: 5px solid #DC2A32;
}
.menu.accordion .card-body li a.activo{
	background: rgba(220,42,50,.09)!important;
	color: #DC2A32!important;
	font-weight: 700!important;
}
.menu.accordion .card-body li a.activo i,.menu.accordion .card-body li a.activo svg{
	color: #DC2A32;
}
.menu.accordion .card-body li a{
	color: #a2abbe;
	padding-left: .5rem;
}
.superior{
	border: 1px solid red;
	margin: 0 15px;
}
.btn-treslineas{
	margin: 0;
}
.btn-treslineas a{
	border-radius: 3px;
	padding: 5px 14px;
	border: none;
	background-color: #DC2A32;
}
.btn-treslineas a:hover,
.btn-treslineas a:focus,
.btn-treslineas a:active{
	background-color: #fa3133;
}
.btn-treslineas a .tres{
	color: #fff;
	font-size: 13px;
}
.notifica{
	list-style: none;
	margin: 0;
}
.notifica a{
	position: relative;
	float: right;
}
.notifica a i{ 
	position: relative;
	color: #999c9e;
	padding: 10px 0 0 0;
	position: absolute;
}
.notifica .ayuda{
	border: 1px solid #fb4245;
	float: right;
	font-weight: 300;
	padding: 0 15px;
	color: #fff;
	border-radius: 12px;
	text-align: center;
	background-color: #fb4245;

	-webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.notifica .ayuda i{
	margin: 0;
	color: #fff;
	font-size: 15px;
	position: relative;
	padding: 0;

	-webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.notifica .ayuda:hover{
	border: 1px solid #ccc;
	background-color: #e7eaec;
}
.notifica .ayuda:hover i{
	color: #0a2736;
}
.notifica a span{
	font-weight: 300;
	font-size: 12px;
	margin: 0 0 0 9px;
	background-color: #DC2A32;
	border-radius: 15px;
	padding: 4px 8px;
	color: #fff;
	position: absolute;
}
.notifica .notificacion{
	border-top: 3px solid #e7eaec;
	border-radius: 0px;
	top: 30px;
	right: -15px;
	padding: 0;
	margin: 0;
}
.notifica .notificacion .cantidad{
	color: #333;
	margin: 0;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 400;
    padding: 15px;
    border-bottom: 1px solid #ccc;
}
.notifica .notificacion .detalle{
	color: #333;
	margin: 0;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 400;
    padding: 0;
    border-bottom: 1px solid #ccc;
}
.notifica .notificacion .detalle a .media-left img{
	border: 3px solid #DC2A32;
	width: 60px;
	height: 60px;
	margin: 15px 0;
	border-radius: 50%;
}
.notifica .notificacion .detalle a .media-body{
	margin: 0;
}
.notifica .notificacion .detalle a .media-body h6{
	color: #DC2A32;
	margin-top: 15px;
	font-size: 14px;
	font-weight: 400;
}
.notifica .notificacion .detalle a .media-body p{
	color: #666;
	font-size: 14px;
	font-weight: 300;
	margin: 5px 0 0 0;
}
.notifica .notificacion .detalle a .media-body .text-muted{
	color: #999;
	font-size: 12px;
	font-weight: 300;
	margin: 5px 0 0 0;
}

/* Toggle Styles */

#wrapper {
	background-color: #f3f3f4;
    padding-left: 0;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

#wrapper.toggled {
    padding-left: 250px;
}
#sidebar-wrapper {
    z-index: 1000;
    position: fixed;
    left: 250px;
    width: 0;
    height: 100%;
    margin-left: -250px;
    overflow-y: auto;
    background-image: url(../imagenes/avatar/fondo-avatar.png);
	background-color: #223545;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
#wrapper.toggled #sidebar-wrapper {
    width: 250px;
}
#page-content-wrapper {
    width: 100%;
    position: absolute;
    padding: 70px 15px 15px;
}
#wrapper.toggled #page-content-wrapper {
    position: absolute;
    margin-right: -250px;
}
/* Sidebar Styles */
.sidebar-nav {
    position: absolute;
    top: 0;
    width: 250px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.sidebar-nav li {
    text-indent: 20px;
    line-height: 40px;
}
.sidebar-nav li a {
    display: block;
    text-decoration: none;
    color: #999999;
}
.sidebar-nav li a:hover {
    text-decoration: none;
    color: #fff;
    background: rgba(255,255,255,0.2);
}
.sidebar-nav li a:active,
.sidebar-nav li a:focus {
    text-decoration: none;
}
.sidebar-nav > .sidebar-brand {
    height: 65px;
    font-size: 18px;
    line-height: 60px;
}
.sidebar-nav > .sidebar-brand a {
    color: #999999;
}
.sidebar-nav > .sidebar-brand a:hover {
    color: #fff;
    background: none;
}
table.dataTable thead .sorting_asc:after {
    content: "\f0de";
    float: right;
    font-family: 'Font Awesome 5 Free';
  	font-weight: 900;
}
table.dataTable thead .sorting_desc:after {
    content: "\f0dd";
    float: right;
    font-family: 'Font Awesome 5 Free';
  	font-weight: 900;
}
table.dataTable thead .sorting:after {
    content: "\f0dc";
    float: right;
    color: rgba(50,50,50,.5);
    font-family: 'Font Awesome 5 Free';
  	font-weight: 900;
}
table.dataTable thead{
    color: #666;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    font-weight: 300;
}



    
.panel{
	/*border: 1px solid red;
    border-top: 3px solid #e7eaec;
    border-radius: 0px;
    margin: 15px 0 0 0 !important;*/
    background-color: #fff;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: none;
    border-radius: 8px;
    padding: 0;
    margin: 0!important;
}
.panel .panel-heading{
    border-bottom: 1px solid #e7eaec;
    border-top-right-radius: 8px;
    border-top-left-radius: 8px;
    color: #666;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 400;
    background-color: #fff;
}
.panel .panel-heading figure{
    max-width: 300px;
    margin: 0 auto;
    display: block;
}
.panel .panel-heading figure img{
    width: 100%;
    padding: 0 0 15px 0;
}
.panel .panel-heading .cont-titulo{
	border-top: 1px solid #f3f3f4;
	padding: 0;
}
.panel .panel-heading .input{
	border: 1px solid #ccc;
	border-radius: 4px;
	margin: 0 15px 0 0;
	padding: 5px 0 5px 10px;
	font-weight: 300;
	font-size: 16px;
}
.panel .panel-heading .buscar,
.buscar{
	border: none;
	border-radius: 4px;
	background-color: #DC2A32;
	color: #fff;
	padding: 5px 15px;
	border: 1px solid red;
	font-size: 16px;
	font-weight: 400;
}
.panel .panel-heading .buscar-codigo,
.buscar-codigo{
	border-radius: 4px;
	background-color: #2e4050;
	color: #fff;
	padding: 5px 15px;
	border: 1px solid #1e2f40;
	font-size: 16px;
	font-weight: 400;
}
.panel .panel-heading .buscar-codigo:hover,
.buscar-codigo:hover{
	text-decoration: none;
	background-color: #1e2f40;
	color: #fff;
	border: 1px solid #2e4050;
}
.panel .panel-heading .boton{
	border: none;
	float: right;
	border-radius: 4px;
	background-color: #DC2A32;
	color: #fff;
	padding: 5px 15px;
	border: 1px solid red;
	font-size: 16px;
	font-weight: 400;
}
.panel .panel-heading .buscar:hover,
.panel .panel-heading .boton{
	text-decoration: none;
	background-color: #fe3537;
}
.panel .panel-heading h1{
	color: #1e2f40;
    font-family: 'Lato', sans-serif;
    font-size: 31px;
    font-weight: 400;
}
.panel .panel-heading p,
.panel .panel-heading a{
	color: #666;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 300;
}
.panel .panel-heading a:hover{
	text-decoration: none;
}
.panel .panel-heading p strong{
	color: #DC2A32;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 400;
}
.cont-boton{
	padding: 0;
}
.cont-boton .boton{
	border-radius: 4px;
	background-color: #DC2A32;
	color: #fff;
	padding: 5px 15px;
	border: 1px solid red;
	font-size: 16px;
	font-weight: 400;
	margin: 0;
}
.cont-boton .boton:hover{
	text-decoration: none;
}
.cont-usuarios .usuarios{
	border-radius: 4px;
	margin: 0;
	padding: 0;
	color: #666;
	font-family: 'Lato', sans-serif;
	font-size: 16px;
	font-weight: 400;
	background-color: #fff;
}
.cont-usuarios .usuarios .modificar{
	border-radius: 4px 4px 0 0;
	background-color: #242a30;
	padding: 10px 15px;
}
.cont-usuarios .usuarios .modificar .form{
	display: inline-block;
	margin: 0;
	padding: 0;
	vertical-align: top;
}
.cont-usuarios .usuarios .modificar .form p{
	color: #fff;
	font-family: 'Lato', sans-serif;
	font-size: 16px;
	font-weight: 300;
	margin: 0 15px 0 0;

	display: inline-block;
	vertical-align: top;

}
.cont-usuarios .usuarios .modificar .form .eliminar-2{
	border: none;
	background: url(../imagenes/iconos/eliminar.jpg) no-repeat center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
	border-radius: 50%;
	width: 23px;
	margin: auto;
	height: 23px;
	font-size: 0;

	display: inline-block;
	vertical-align: top;
}
.cont-usuarios .imprimir,
.imprimir{
	border: none;
    border-radius: 4px;
    background-color: #DC2A32;
    color: #fff;
    padding: 5px 15px;
    border: 1px solid red;
    font-size: 16px;
    font-weight: 400;
}
.cont-usuarios .sii,
.sii{
	border: none;
    border-radius: 4px;
    background-color: #00adad;
    color: #fff;
    padding: 5px 15px;
    border: 1px solid #038769;
    font-size: 16px;
    font-weight: 400;
}
.cont-usuarios .warning,
.warning{
	float: right;
	border-radius: 4px;
	background-color: #f0ad4e;
	color: #fff;
	padding: 5px 15px;
	border: 1px solid #f0b74e;
	font-size: 16px;
	font-weight: 400;
	margin: 0 0 15px 0;
}
.imprimir,
.sii{
	margin: 0 15px 15px 0;
}
.cont-usuarios .usuarios .titulo{
	background-color: #242a30;
    border-radius: 4px 4px 0 0;
    margin: 0;
    padding: 5px 15px;
    color: #fff;
    font-weight: 300;
    font-size: 16px; 
}
.cont-usuarios .usuarios .info table tr td a,
.editarcuenta{
	color: #8afefd;
    font-size: 12px;
    background-color: #00adad;
    border-radius: 18px;
    padding: 4px 6px;
}
.cont-usuarios .usuarios .info table tr td a:hover,
.cont-usuarios .usuarios .info table tr td .editarcuenta:hover{
	color: #fff;
    font-size: 12px;
    background-color: #00adad;
    border-radius: 18px;
    padding: 4px 6px;
}
.cont-usuarios .usuarios .modificar .editar{
	color: #8afefd;
	font-size: 12px;
	background-color: #00adad;
	border-radius: 18px;
	padding: 4px 6px;
}
.editar{
	border: none;
	  background: url(../imagenes/iconos/lapiz.jpg) no-repeat center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
	border-radius: 50%;
	width: 23px;
	margin: auto;
	height: 23px;
	font-size: 0;
	display: inline-block;
	vertical-align: top;
}
.eliminar{
	border: none;
	background: url(../imagenes/iconos/eliminar.jpg) no-repeat center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
	border-radius: 50%;
	width: 23px;
	margin: 0 0 0 10px;
	height: 23px;
	font-size: 0;
	display: inline-block;
	vertical-align: top;
}
.detalle{
	border: none;
	background: url(../imagenes/iconos/carpeta.jpg) no-repeat center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	border-radius: 50%;
	width: 23px;
	margin: 0 0 0 10px;
	height: 23px;
	font-size: 0;
	display: inline-block;
	vertical-align: top;
}
.finalizar{
	border: none;
	background: url(../imagenes/iconos/check.jpg) no-repeat center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
	border-radius: 50%;
	width: 23px;
	margin: auto;
	height: 23px;
	font-size: 0;
	display: inline-block;
	vertical-align: top;
}
.pautas{
	border: none;
	background: url(../imagenes/iconos/carpeta.jpg) no-repeat center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
	border-radius: 50%;
	width: 23px;
	margin: auto;
	height: 23px;
	font-size: 0;
	display: inline-block;
	vertical-align: top;
}
.TabbedPanels .TabbedPanelsTabGroup .TabbedPanelsTab{
	background-color: #f1f1f1!important;
	border: 1px solid #f1f1f1!important;
	border-radius: 5px 5px 0 0!important;
	text-transform: uppercase;
	color: #666;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    font-weight: 400;
}
.TabbedPanels .TabbedPanelsTabGroup .TabbedPanelsTab:focus,
.TabbedPanels .TabbedPanelsTabGroup .active{
	text-decoration: none;
	background-color: #fff!important;
	color: #333;
}
.TabbedPanels .TabbedPanelsContentGroup{
	border: 1px solid #f1f1f1!important;
	background-color: #fff!important;
}
.avatar-trabajaron{
	display: inline-block;
	vertical-align: top;
	overflow: hidden;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 2px solid #DC2A32;
}
.avatar-trabajaron img{
	width: 100%;
}
.cont-usuarios .usuarios .info{
	padding: 0;
}
.cont-usuarios .usuarios .info .avatar{
	background-color: #DC2A32;
	text-align: center;
	padding: 2rem 1rem;
}
.cont-usuarios .usuarios .info .avatar figure{
	border: 3px solid #242a30;
	border-radius: 50%;
	overflow: hidden;
	margin: 2em auto 1em auto;
	width: 5em;
	height: 5em;
}
.cont-usuarios .usuarios .info .avatar .icono{
	color: #fff;
	margin: 15px 0;
}
.cont-usuarios .usuarios .info .avatar figure img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.cont-usuarios .usuarios .info .avatar h2{
	margin: 0;
	color: #fff;
	/*min-height: 80px !important;*/
	font-weight: 400;
	font-size: 31px;
}
.cont-usuarios .usuarios .info .avatar p{
	margin: 0;
	color: #fff;
	font-weight: 300;
	font-size: 14px;
}
.cont-usuarios .usuarios .info .datos{
	padding: 15px;
    margin: 0;
    border-radius: 0 0 4px 4px;
    border:1px solid #ccc;
    border-top: none;
}
/*.cont-usuarios .usuarios .info .datos p{
	margin: 0 0 5px 0;
	color: #666;
	font-weight: 300;
	font-size: 15px;
}*/
/*.cont-usuarios .usuarios .info .datos p b{
	color: #DC2A32;
	font-weight: 400;
	font-size: 15px;
}*/
/*.cont-usuarios .usuarios .info .datos p i{
	color: #DC2A32;
	font-size: 12px;
}*/
.cont-usuarios .formulario{
	padding: 0;
}
.cont-usuarios .formulario .cont-info,
.cont-info{

	padding: 0;
}
.cont-usuarios .formulario .cont-info .avatar,
.cont-info .avatar{
	border-radius: 4px;
	margin-bottom: 15px;
	background-color: #DC2A32;
	text-align: center;
	padding: 30px 15px 15px 15px;
}
.cont-usuarios .formulario .cont-info .avatar a,
.cont-info .avatar a{
	background-color: #242a30;
	padding: 10px 15px;
	font-size: 16px;
	font-weight: 300;
	border-radius: 4px;
	color: #fff;
}
.cont-usuarios .formulario .cont-info .avatar figure,
.cont-info .avatar figure{
	width: 150px;
	border: 3px solid #242a30;
	height: 150px;
	margin: 30px auto 0 auto;
	overflow: hidden;
	padding: 23px 15px 0px 10px;
}
.cont-usuarios .formulario .cont-info .avatar figure img,
.cont-info .avatar figure img{
	width: 100%;
}
.cont-usuarios .formulario .cont-info .datos,
.cont-info .datos{
	border-top: none;
	margin: 0 0 15px 0;
	border-radius: 14px;
	padding: 0;
}

.datos{
	border-top: none;
	margin: 15px 0;
	border-radius: 4px;
	padding: 0;
}
.datos.datos-usuarios{
	font-weight: 300;
	font-size: 15px;
}
.datos.datos-usuarios span i,.datos-usuarios span svg,.datos-usuarios b{
	color: #DC2A32;
}

.cont-usuarios .formulario .cont-info .datos .cuadros,
.cont-info .datos .cuadros,
.datos .cuadros{
	/*margin: -15px auto 0 auto;*/
	text-align: center;
	/*padding: 0 0 15px 0;*/
	display: block;
}
.cont-usuarios .formulario .cont-info .datos .cuadros .icono,
.cont-info .datos .cuadros .icono,
.datos .cuadros .icono{
	background-color: #0a2635;
	padding: 15px 0;
	text-align: center;
	margin-bottom: 20px;
}
.cont-usuarios .formulario .cont-info .datos .cuadros .icono-check,
.cont-info .datos .cuadros .icono-check,
.datos .cuadros .icono-check{
	background-color: #0a2635;
	padding: 15px 0;
	text-align: center;
	/*margin-bottom: 20px;*/
}
.cont-usuarios .formulario .cont-info .datos .cuadros .icono-check .cont-img,
.cont-info .datos .cuadros .icono-check .cont-img,
.datos .cuadros .icono-check .cont-img{
	margin: auto;
	background-color: #ff7800;
    border-radius: 50%;
    color: #fff;
    width: 90px;
    height: 90px;
}
.cont-usuarios .formulario .cont-info .datos .cuadros .icono-check .contimg img,
.cont-info .datos .cuadros .icono-check .cont-img img,
.datos .cuadros .icono-check .cont-img img{
	margin-top: 17px;
	height: 55px;
}
.cont-usuarios .formulario .cont-info .datos .cuadros .icono .fa-file-text-o,
.cont-info .datos .cuadros .icono .fa-file-text-o,
.datos .cuadros .icono .fa-file-text-o{
	background-color: #999;
	border-radius: 50%;
	color: #fff;
	padding-top: 20px;
	font-size: 50px;
	width: 90px;
	height: 90px;
}
.cont-usuarios .formulario .cont-info .datos .cuadros .icono .fa-file-o,
.cont-info .datos .cuadros .icono .fa-file-o,
.datos .cuadros .icono .fa-file-o{
	background-color: #DC2A32;
	border-radius: 50%;
	color: #fff;
	padding-top: 20px;
	font-size: 50px;
	width: 90px;
	height: 90px;
}
.cont-usuarios .formulario .cont-info .datos .cuadros .icono .fa-cog,
.cont-info .datos .cuadros .icono .fa-cog,
.datos .cuadros .icono .fa-cog{
	background-color: #229474;
	border-radius: 50%;
	color: #fff;
	padding-top: 20px;
	font-size: 50px;
	width: 90px;
	height: 90px;
}
.cont-usuarios .formulario .cont-info .datos .cuadros .icono .fa-database,
.cont-info .datos .cuadros .icono .fa-database,
.datos .cuadros .icono .fa-database{
	background-color: #053464;
	border-radius: 50%;
	color: #fff;
	padding-top: 20px;
	font-size: 50px;
	width: 90px;
	height: 90px;
}
.cont-usuarios .formulario .cont-info .datos .cuadros .boton,
.cont-info .datos .cuadros .boton,
.datos .cuadros .boton{
	border-radius: 4px;
    background-color: #DC2A32;
    color: #fff;
    padding: 5px 15px;
    border: 1px solid red;
    font-size: 16px;
    font-weight: 400;
    margin: 15px 0;
}
.cont-usuarios .formulario .cont-info .datos .cuadros .warning,
.cont-info .datos .cuadros .warning,
.datos .cuadros .warning{
	border-radius: 4px;
	background-color: #f0ad4e;
	color: #fff;
	padding: 5px 15px;
	border: 1px solid red;
	font-size: 16px;
	font-weight: 400;
	margin: 15px 0;
}



.cont-usuarios .formulario .cont-info .datos .titulo,
.cont-info .datos .titulo,
.datos .titulo{
	background-color: #242a30;
	border-radius: 4px 4px 0 0;
	margin-bottom: 15px;
	padding: 5px 15px;
	color: #fff;
	font-weight: 300;
	font-size: 16px;
}
.cont-usuarios .formulario .cont-info .datos .titulo i,
.cont-usuarios .formulario .cont-info .datos .titulo svg,
.cont-info .datos .titulo i,
.cont-info .datos .titulo svg,
.datos .titulo i,.datos .titulo svg{
	float: right;
    color: #fff;
    font-size: 12px;
    background-color: #00adad;
    border-radius: 50%;
    height: 22px;
     padding: 4px 5px; 
    display: flex;
    width: 22px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.cont-usuarios .formulario .cont-info .datos .form,
.cont-info .datos .form,
.datos .form{
	margin-bottom: 15px;
	padding: 0;
}
.cont-usuarios .formulario .cont-info .datos .form .int-form,
.cont-info .datos .form .int-form,
.datos .form .int-form{
	margin-bottom: 15px;
	padding: 0;
}
.cont-usuarios .formulario .cont-info .datos .form p,
.cont-info .datos .form p,
.datos .form p{
	font-size: 14px;
	padding: 5px 0 0 15px;
}
.cont-usuarios .formulario .cont-info .datos .form .pe,
.cont-info .datos .form .pe,
.datos .form .pe{
	border-bottom: 1px solid #f1f1f1;
	font-size: 14px;
	padding: 5px 15px;
}
.cont-usuarios .formulario .cont-info .datos .form .texto,
.cont-info .datos .form .texto,
.datos .form .texto{
	border: 1px solid #ccc;
	border-left: none;
	border-right: none;
	border-bottom: none; 
	font-size: 16px;
	font-weight: 400;
	padding: 5px 0 0 15px;
}
.cont-usuarios .formulario .cont-info .datos .form .text,
.cont-info .datos .form .text,
.datos .form .text{
	border-bottom: 1px solid #ccc;
	font-size: 16px;
	font-weight: 400;
	padding: 0 0 15px 15px;
}
.cont-usuarios .formulario .cont-info .datos .form .input,
.cont-info .datos .form .input,
.cont-usuarios .formulario .cont-info .datos .form select,
.cont-info .datos .form select,
.datos .form .input,
.datos .form select,
.input{
	border: 1px solid #ccc;
	border-radius: 4px;
	height: 35px;
	padding: 5px 10px;
	width: 100%;
	font-weight: 300;
}
.descripcion,
select{
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 5px 10px;
	width: 100%;
	height: 35px;
}
.descripcion-final{
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 5px 10px;
	width: 100%;
}
.cont-usuarios .formulario .cont-info .datos .form .input2,
.cont-info .datos .form .input2,
.datos .form .input2{
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 5px 10px;
	height: 35px;
	width: 100%;
}
.cont-usuarios .formulario .cont-info .datos .form select,
.cont-info .datos .form select{
	width: 100%;
	height: 32px;
	background-color: #fff;
}
.cont-agregar{
	margin: 0 15px 0 0;
	width: 30px;
	height: 30px;
	font-size: 0;
	display: inline-block;
	vertical-align: top;
}
.cont-agregar .asignar{
	border-radius: 50%;
	background: url(../imagenes/iconos/mas.jpg) no-repeat center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
	width: 30px;
	height: 30px;
	border: 2px solid red;

}
/*.form{
	padding: 15px 0;
}*/
.form-2{
	padding: 0;
}
/*.form select{
	border: 1px solid #ccc;
	width: 100%;
	height: 32px;
	background-color: #fff;
}*/
.cont-usuarios .formulario .cont-info .datos .form .check{
	padding: 5px 0;
	height: 35px;
}
.cont-usuarios .formulario .cont-info .boton{
	border-radius: 4px;
	background-color: #DC2A32;
	color: #fff;
	padding: 5px 15px;
	border: 1px solid red;
	font-size: 16px;
	font-weight: 400;
	margin: 15px 0;
}
.cont-usuarios .formulario .cont-info .warning{
	border-radius: 4px;
	background-color: #f0ad4e;
	color: #fff;
	padding: 5px 15px;
	border: 1px solid red;
	font-size: 16px;
	font-weight: 400;
	margin: 15px 0;
}
.cont-usuarios .formulario .cont-info .boton2,
.boton2{
	border-radius: 4px;
	background-color: #DC2A32;
	color: #fff;
	padding: 5px 15px;
	border: 1px solid red;
	font-size: 16px;
	font-weight: 400;
	margin: 0;
}
.cont-usuarios .formulario .cont-info .boton3,
.boton3{
	border-radius: 4px;
	background-color: #DC2A32;
	color: #fff;
	padding: 5px 15px;
	width: 100%;
	border: 1px solid red;
	font-size: 15px;
	font-weight: 400;
}
.cont-usuarios .formulario .cont-info .boton4,
.boton4{
	border-radius: 4px;
	background-color: #00adad;
	color: #fff;
	padding: 6px 0;
	float: right;
	text-align: center;
	font-size: 16px;
	width: 100%;
	font-weight: 300;
}
.cont-usuarios .formulario .cont-info .boton4:hover,
.boton4:hover{
	text-decoration: none;
}


.table{
    background-color: #fff;
    color: #666;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 300;
}
.table .avatar{
	width: 80px;
	height: 80px;
	border: 2px solid #DC2A32;
	border-radius: 50%;
	overflow: hidden;
}
.table .avatar img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.dataTables_filter label,
.dataTables_length label{
	color: #666;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 400;
}
.dataTables_length{
  	display: inline-block;
  	padding-left: 0;
  	margin: 10px 0;
  	border-radius: 4px;
}
.dataTables_filter{
/*.pagination{*/
	float: right;
  	display: inline-block;
  	padding-left: 0;
  	margin: 10px 0;
  	border-radius: 4px;
}
.pagination>li>a,
.pagination>li>span{
	position: relative;
	float: left;
	padding: 6px 12px;
	margin-left: -1px;
	line-height: 1.42857143;
	color: #DC2A32;
	text-decoration: none;
	background-color: #fff;
	border: 1px solid #ddd;
}
.pagination>.active>a,
.pagination>.active>a:focus,
.pagination>.active>a:hover,
.pagination>.active>span,
.pagination>.active>span:focus,
.pagination>.active>span:hover{
	z-index: 2;
	color: #fff;
	cursor: default;
	background-color: #DC2A32!important;
	border-color: #DC2A32!important;
}

@media (max-width: 1200px) {
	.nav-collapse .pull-right{
		padding-top: 2%;
	}
	.nav-collapse .pull-right .dropdown{
		margin-bottom: -20px;
	}
}

@media (max-width: 991px) {
	.dataTables_length,
	.dataTables_filter{
		display: block!important;
		width: 90%;
		float: left!important;
		margin-bottom: 5px;
	}
	.dataTables_info {
		float: left;
		margin-bottom: 15px;
	}
	.dataTables_paginate {
		float: left;
		margin-bottom: 10px;
	}
}


@media (max-width: 767px) {
	/* El paginador NO se oculta en móvil: antes se hacía con
	   #dataTables-example_paginate{display:none} y dejaba sin navegación
	   a las 39 vistas que reutilizan ese id. Se compacta en su lugar. */
	.dataTables_length {
	    display: none!important;
	}
	.dataTables_info,
	.dataTables_paginate {
	    float: none!important;
	    width: 100%;
	    text-align: center;
	}
	.dataTables_paginate .pagination {
	    justify-content: center!important;
	}
	.dataTables_filter {
    	width: 100%;
    }
	.dataTables_filter label input {
	    margin-left: 5px;
	    width: 172px;
    }
    .modal-dialog {
	    width: 96%!important;
	    margin: 10% auto 0 auto;
	}
	.opciones {
		text-align: center!important;
	}
}

@media (min-width: 1200px) {
	.navbar .search-query {
		width: 200px;
	}
	
}
@media(min-width:768px) {
    #wrapper {
        padding-left: 250px;
    }
    #wrapper.toggled {
        padding-left: 0;
    }
    #sidebar-wrapper {
        width: 250px;
    }
    #wrapper.toggled #sidebar-wrapper {
        width: 0;
    }
    #page-content-wrapper {
        /*padding: 20px;*/
/*        padding: 20px 35px 20px 20px;*/
        position: relative;
    }
    #wrapper.toggled #page-content-wrapper {
        position: relative;
        margin-right: 0;
    }
}
.opciones {
	padding: 0 15px 0 0;
}
.opciones a {
	margin-left: 2px;
	display: -webkit-inline-box;
}
.hover {
    cursor: pointer;
}
.hover i,.hover svg{
    opacity: 0;
    position: absolute;
    text-align: center;
    background-color: rgba(37, 43, 49, 0.8);
    color: #fff;
    border-radius: 50%;
    overflow: hidden;
    padding: 20px;
    width: 2.3em!important;
    height: 2.3em;
    font-size: 34px;
    margin: -1px 0 0 -1px;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
}
.hover:hover i,.hover:hover svg{
    opacity: 1;
}
.close.cerrar {
    border: 1px solid #d43e3a;
    background-color: #d9534e;
    opacity: 1;
    border-radius: 50%;
    padding: 1px 5.41px;
    font-size: 24px;
    text-shadow: none;
    color: #fff;
    top: -25px;
    right: -26px;
    position: fixed;
}
.cont {
    position: relative;
    display: inline-block;
    width: 100%;
}
.load {
    background-image: url("/imagenes/loading.gif");
    background-repeat: no-repeat;
    background-position: center; 
    position: absolute;
    z-index: -1;
    background-color: rgba(243, 243, 244, 0.6);
    opacity: 0;
    height: 100%;
    width: 100%;
}

/*Subir Archivos*/
.custom-file{
    position: relative;
    display: inline-block;
    width: 100%;
    height: calc(1.5em + .75rem + 2px);
    margin-bottom: 10px;
    overflow: hidden;
}
.custom-file-input{
    position: relative;
    z-index: 2;
    width: 131%;
    height: calc(1.5em + .75rem + 2px);
    margin: 0;
    margin-top: 6px;
    opacity: 0;
}
.custom-file-label{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1;
    height: calc(1.5em + .75rem + 2px);
    padding: .375rem .75rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    border: 1px solid #ced4da;
    border-radius: .25rem;
}
.custom-file-label{
    transition: background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.custom-file-label::after{
    position: absolute;
    font-weight: 400;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: block;
    height: calc(1.5em + .75rem);
    padding: .375rem .75rem;
    line-height: 1.5;
    color: #495057;
    content: "Seleccionar";
    background-color: #e9ecef;
    border-left: inherit;
    border-radius: 0 .25rem .25rem 0;
}
.custom-file-label{
    font-weight: 300;
}
/*Subir Archivos*/


/*Nuevos estilos*/

/*Sidebar*/
.logo-lateral{
	margin:15px auto;
	width: 125px;
	height: 125px;
	overflow: hidden;
	border-radius: 15px;

/*	padding: 15px; */
	/*background-color: #313659; */
/*	text-align: center;*/
	position: relative;
	/*margin-bottom: 50px;*/
}
.logo-lateral img{
	width: 125px!important;
	height: 125px!important;
	padding: 10px;
    background: #fff;
    box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, .25);
}
.logo-lateral a {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(35, 41, 47, 0.8);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	opacity: 0;
	color: #fff;
	font-size: 13px;
	text-decoration: none;
}
.logo-lateral:hover a {
	opacity: 1;
}

/*==== MODAL SUBIR IMAGENES ====*/
#cambiarImgs figure{
	border-radius: 15px;
	background-color: #f6f6f6;
	padding: 1rem;
	border: 2px dashed #e3e3e3;
	display: grid;
	height: 200px;
	align-items: center;
}
#cambiarImgs figure img{
	max-width: calc(200px - 2rem);
}
#cambiarImgs p.text-size-img{
	font-size: 13px;
	font-weight: 500;
	text-align: center;
}
#cambiarImgs form .form-label{
	font-weight: 500;
}

/* // Sidebar*/

.header{
	padding: 0; 
	position: absolute; 
	width: 100%; 
	top: 0; 
	left: 0;
	right: 0; 
	height: auto; 
	/*background: linear-gradient(to top, #D5DEE7 0%, #E8EBF2 50%, #E2E7ED 100%), linear-gradient(to bottom, rgba(0,0,0,0.02) 50%, rgba(255,255,255,0.02) 61%, rgba(0,0,0,0.02) 73%), linear-gradient(33deg, rgba(255,255,255,0.20) 0%, rgba(0,0,0,0.20) 100%);*/
}
.menu-superior{
	display: flex; 
	flex-wrap: wrap;
	align-items: center; 
	justify-content: space-between; 
/*	padding-right: 25px;*/
	padding: .5rem 1rem;
	z-index: 1030;
	position: relative;
	background-color: #fff;
	box-shadow: 0 4px 16px rgba(0, 0, 0, .1);
}
.btn-menu-sidebar,.btn-menu-sidebar:focus,.btn-menu-sidebar:active{
	background-color: transparent;
	border-color: transparent;
	color: #e33c4b;
	height: auto;
	padding: 10px 15px; 
	border-radius: 0;
	box-shadow: none;
	font-size: 22px;
}

/*@media (max-width: 767px) {
	.btn-menu-sidebar,
	.btn-menu-sidebar:focus,
	.btn-menu-sidebar:active{
		margin-top: -30px!important;
	}
}*/

.btn-menu-sidebar:hover{
	color: #444954;
}
.fondo-sidebar{
	background-image: none!important;
	background-color: #444954!important;
}
.items-sidebar{
	background-color: #444954!important;
}
.barra-noti{
	display: flex; 
	/*padding-top: 8px;*/
	align-items: center;
}
.linea-vertical{
	height: 50px;
	width: 1px;
	background-color: #e3e3e3;
}
.menu-superior label.form-label{
	font-size: .8rem;
	font-weight: 400;
}
.barra-noti .btn-ayuda{
	margin-right: 15px;
	padding: 1px 10px;
	/*margin-bottom: 5px;*/
	font-size: 11px;
	color: #fff;
	background-color: #e23c4b;
	border-radius: 15px;
}
.barra-noti .btn-ayuda:hover{
	background-color: #ce3a47;
}
.notificaciones.dropdown-toggle::after{
	display: none;
}
.notificaciones i,.notificaciones svg{
	color: #444955;
}
.notificaciones:hover i,.notificaciones:hover svg{
	color: #363942;
} 
.notificaciones span.label{
	font-weight: 300;
	transform: scale(.7);
	top: -8px;
	right: -10px;
	background-color: #e23c4b;
}
.membresia-text{
	font-weight: 400;
	font-size: 13px;
	text-align: right;
}
/* Entre 1200 y 1339px no cabe el texto de membresía junto al resto del topbar y usuario-tab cae a una segunda línea: se oculta en ese rango puntual */
@media (min-width: 1200px) and (max-width: 1339.98px) {
	.membresia-text.d-xl-block,
	.linea-vertical.d-xl-block{
		display: none !important;
	}
}
/* Entre 992 y 1099px tampoco cabe el formulario de seleccionar empresa junto al resto del topbar */
@media (min-width: 992px) and (max-width: 1099.98px) {
	.form-selector-empresa.d-lg-block{
		display: none !important;
	}
}
.usuario-tab{
	display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    flex-shrink: 0;
    white-space: nowrap;
}
.usuario-tab img{
	margin-right: .6rem;
	width: 42px; 
	height: 42px;
	aspect-ratio: 1; 
	border-radius: 50%;
	box-shadow: 0 0 10px rgba(0, 0, 0, .15);
}
.usuario-tab a{
	color: #444954;
	font-size: 13px;
	line-height: 13px;
	font-weight: 400;
	text-decoration: none;
}
.usuario-tab a span{
	display: block;
	color: var(--rojo);
	font-size: 12px;
}
.usuario-tab a span.flecha{
	margin-left: 5px; 
	font-size: 10px; 
	font-weight: 300;
}
.usuario-tab ul{
	list-style: none; 
	padding-left: 0; 
	position: absolute;
	background-color: #fff;
	margin-top: 15px;
	margin-bottom: 0;
    left: 0;
    right: 0;
    border-radius: 10px;
    box-shadow: 0 6px 12px rgba(0,0,0,.175);
    z-index: 999;
    /*padding: 0 1rem;*/
}
.usuario-tab ul li{
	padding: 0 1rem;
	margin: .5rem 0;
}
.usuario-tab ul li a{
	color: #6b6b6b;
}
.barra-noti .open{
	position: relative;
}
/*.barra-noti .notificacion-lista{
	width: 32rem;
	padding-top: 0;
	left: auto!important;
	right: 0!important;
	transform: none!important;
	top: inherit!important;
}
@media (max-width: 991px){
	.barra-noti .notificacion-lista{
		width: 16rem;
	}
}
@media (max-width: 767px) {
	.barra-noti .notificacion-lista {
	    right: 0!important;
    	margin: auto!important;
    	left: -160!important;
	}
}*/
.notificacion-lista li{
	border-bottom: 2px dotted #dadada;
    padding-bottom: 10px;
    margin-bottom: 5px;
}
.notificacion-lista li a{
	white-space: normal;
}
/*.barra-noti .notificacion-lista .dropdown-header{
	background-color: #e33c4b;
	color: #fff;
	padding-top: 5px;
	padding-bottom: 5px;
	font-weight: 400;
	margin-bottom: 5px;
	border-bottom: none;
	font-size: 12px;
}*/

.banner-inicio{
	display: flex; 
	flex-direction: row; 
	align-items: center;
	color: #444954;
}
.banner-inicio h1{
	font-weight: 700;
	font-size: 36px;
}

.card.facturas{
	border: none;
	border-left: 3px solid var(--success);
}
.card.exentas{
	border: none;
	border-left: 3px solid var(--warning);
}
.card.cobrar{
	border: none;
	border-left: 3px solid var(--primary);
}
.card.iva{
	border: none;
	border-left: 3px solid var(--info);
}
.card.pagos{
	border: none;
	border-left: 3px solid var(--danger);
}

.panel-home{
	/*margin: 30px 0 0;*/
    border: none;
    border-radius: 8px;
    box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.12);
    background-color: #f9f9fc;
    overflow: hidden;
    /*padding: 2rem 1rem 0 1rem;*/
}
.panel-home .panel-header{
	padding: .5rem 1rem;
}
.panel-home .panel-content{
	padding: 1.5rem 1rem 0 1rem;
}
.panel-home .select-empresa{
	margin-bottom: 25px; 
	border:none; 
	box-shadow: 0px 0px 13px 0px rgba(82, 63, 105, 0.05);
}
.panel-home .select-empresa form{
	border-radius: 5px; 
	background-color: #fff; 
	box-shadow: 0px 0px 13px 0px rgba(82, 63, 105, 0.05);
}
.main-sec figure{
	border-radius: 5px; 
	background-color: #fff;
	box-shadow: 0px 0px 13px 0px rgba(82, 63, 105, 0.05); 
	padding:1.5rem; 
	display: flex; 
	flex-direction: column; 
	align-items: center; 
	justify-content: center; 
	text-align: center;
	/*min-height: 250px;*/
	margin-bottom: 2rem;
}
.main-sec i, .main-sec svg{
	background-color: #DC2A32;
    border-radius: 50%;
    color: #fff;
    padding: 20px;
    font-size: 40px;
    width: 90px!important;
    height: 90px!important;
    text-align: center;
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.main-sec h5{
	font-size: 16px;
}
.main-sec.compras i,.main-sec.compras svg{
	background-color: #7591e9;
}
.main-sec.vender i,.main-sec.vender svg{
	background-color: #e27d14;
}
.main-sec.ventas i,.main-sec.ventas svg{
	background-color: #4CAF50;
}
.main-sec.comprarmen i,.main-sec.comprarmen svg{
	background-color: #3170bd;
}
.main-sec.prod i,.main-sec.prod svg{
	background-color: #716d69;
}
.main-sec.plan i,.main-sec.plan svg{
	background-color: #00bcd4;
}

.btn-color{
	color: #fff;
    background-color: var(--rojo);
    border-radius: 5px;
    border-color: var(--rojo);
    letter-spacing: .5px;
}
.btn-color:hover{
	color: #fff;
	background-color: #aa2850;
	border-color: #aa2850;
}
.main-sec .btn-color{
	margin-top: 1rem;
}
.wrapper-home{
	padding: 110px 15px 15px!important;
}
.wrapper-secciones{
	margin-top: 30px;
    background-color: #fff;
    position: relative;
    border-radius: 8px;
    box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.12)
}

.trabajadores .cont{
	background: #fff;
	color: #11151A;
	border: 1px solid #E6E8EC;
	padding: 1rem;
	height: auto;
/*	min-height: 100vh;*/
	border-radius: 10px;
/*    overflow-y: auto;*/
}
.trabajadores .cont h4{
	font-size: 18px;
}
@media (max-width: 1199px) {
	.trabajadores .cont{
		min-height: auto;
		position: relative;
	}
}
.trabajadores .trabajador-user{
	display: flex;
	flex-direction: row;
	border-top: 1px solid #E6E8EC;
	margin: 0 0 1rem;
	padding: .8rem .5rem 0;
/*	margin-top: 5px;*/
}
.trabajadores .trabajador-user img{
	height: 60px!important;
    width: 60px!important;
	object-fit: cover;
	border-radius: 50%;
	margin-right: 1rem;
/*	border: 2px solid #e33c4b;*/
}
.trabajadores .trabajador-user .trabajador-info p{
	margin-bottom: 0;
	font-size: 13px;
	line-height: 16px;
	font-weight: 300;
}
.trabajadores .trabajador-user .trabajador-info button{
	font-size: 11px;
	padding: 3px 15px;
}
.cambiar-imagen{
	border:1px solid #e6e6e6;
	border-radius: 10px;
	padding: 1rem;
	background-color: #fff; 
	position: relative; 
	margin: 2rem auto 1rem auto!important;
}
.cambiar-imagen a p{
	color: #fff!important;
	text-align: center;
}
.cambiar-imagen a p i{
	margin-right: 5px;
}
.control-label{
	font-size: 14px!important;
	font-weight: 300!important;
	padding: 5px 0 0 15px;
}
.alerta .alert {
	position: fixed;
    width: 100%;
    z-index: 9999;
    left: 0;
    right: 0;
    max-width: 600px;
    margin: auto;
    text-align: center;
    box-shadow: 0px 10px 10px 0px rgba(0, 0, 0, 0.12);
}
.alerta .alert ul {
	padding: 0!important;
}
.alerta .alert li {
	list-style: none!important;
}
.form-group p {
    font-size: 14px;
}
.error,
.error:focus {
    background-color: #f72c2e;
    border: 1px solid #c30000!important;
    color: #fff;
}

/*Subir imagen Usuario*/
.cargar button.btn-default{
	border-radius: 0;
	border: 1px solid #ced4da;
	border-left: 0;
	margin-left: -3px;
	font-size: 14px;
	padding: 7px 12px;
	line-height: 22px;
}
.cargar button.btn-default:hover{
	background-color: #e6e6e6;
}
.cargar .btn-file{
	background-color: #337ab7;
	border-color: #2e6da4;
	margin-left: -4px;
	font-size: 14px;
	padding: 7px 12px;
	line-height:22px;
	border-top-left-radius: 0!important; 
	border-bottom-left-radius: 0!important; 
}
.cargar .btn-file:hover{
	background-color: #2e6da4;
	cursor: pointer;
}
.cargar .file-caption-name{
	font-weight: 300;
	font-size: 14px;
}
/* Fin Subir imagen Usuario*/
.cert_mode {
    position: fixed;
    z-index: 9999!important;
    bottom: 0;
    left: 250px;
    right: 0;
    display: inherit;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.cert_mode.no_menu {
    left: 0!important;
}
@media (max-width: 767px) {
    .cert_mode {
        left: 0!important;
    }
}



.new-tarjetas .card{
	border-radius: 20px;
	overflow: hidden;
}
.new-tarjetas .card .card-body p{
	font-weight: 700;

}
.new-tarjetas .card .card-body .cont-img{
	margin: auto;
    background-color: #ff7800;
    border-radius: 50%;
    color: #fff;
    width: 90px;
    height: 90px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.estado-conectado{
	background-color: rgb(19 191 129 / 15%);
    color: #13bf81;
    padding: 4px 8px;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 400;
}
.estado-vinculando{
    background-color: rgb(255 192 8 / 15%);
    color: #b08506;
    padding: 4px 8px;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 400;
}
.estado-desconectado{
    background-color: rgb(220 53 69 / 15%);
    color: #dc3545;
    padding: 4px 8px;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 400;
}
.btn-check {
	position: absolute;
	clip: rect(0, 0, 0, 0);
	pointer-events: none;
}
.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
	pointer-events: none;
	filter: none;
	opacity: 0.65;
}
.btn-check + .btn:hover {
	color: #fff;
	background-color: #6c757d;
	border-color: #6c757d;
	cursor: pointer;
}
.btn-check:focus-visible + .btn {
	border-color: #565e64;
	outline: 0;
	box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, .5);
}
.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
	color: #fff;
	background-color: #565e64;
	border-color: #51585e;
}
.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
	box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, .5);
}

/* OFFCANVAS */
/* contenedor offcanvas básico */
.offcanvas {
	position: fixed;
	top: 0;
	bottom: 0;
	width: 50%;          
	background-color: #fff;
	visibility: hidden;
	z-index: 1045;
	transition: transform .3s ease-in-out, visibility .3s;
	font-size: 13px;
	font-weight: 400;
}

/* posición “desde la derecha” */
.offcanvas-end {
	right: 0;
	transform: translateX(100%);
}

/* estado abierto */
.offcanvas.show {
	visibility: visible;
	transform: translateX(0);
}

/* backdrop semitransparente */
.offcanvas-backdrop {
	position: fixed;
	inset: 0;                 /* top:0; right:0; bottom:0; left:0; */
	background-color: rgba(0,0,0,.5);
	z-index: 1040;
}

.offcanvas .offcanvas-header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem;
}

.offcanvas .close{
	float: right;
	margin: 0;
}
.offcanvas .offcanvas-title{
	font-weight: 700;
	margin-bottom: 0;
}
.offcanvas .offcanvas-body{
	padding: 1rem;
	height: -webkit-fill-available;
    overflow-y: scroll;
    margin-bottom: 3rem;
}
.offcanvas .accordion-button{
	text-align: left;
	width: 100%;
	background-color: #f6f6f6;
	border-radius: 8px;
	box-shadow: none !important;
	font-weight: 600;
}
/* FIN OFFCANVAS */

b{
	font-weight: 700;
}
.card-table table{
	font-size: 13.5px;
	border-radius: 8px;
	overflow: hidden;
	font-weight: 400;
}
.card-table table thead{
	font-size: 14px;
}
.card-table .table td,
.card-table .table th{
	vertical-align: middle;
	padding: 0.5rem 0.5rem;
}
.new-tab-pills .nav-item .nav-link{
	background-color: #f6f6f6;
    color: #888;
    font-size: 14px;
    font-weight: 400;
    padding: .5rem .8rem;
    border: none;
    border-radius: 10px;
}
.new-tab-pills .nav-item .nav-link.active{
	background-color: #ff38493e;
	color: var(--rojo);
}
.new-tab-pills .nav-item .nav-link .badge{
	background-color: var(--rojo);
	color: #fff;
}
span.disponible{
   font-size: 10px;
   background-color: rgba(19, 191, 129, 0.22);
   color: #13BF81;
   padding: 3px 6px;
   border-radius: 5px;
   font-weight: 400;
}
span.sin-stock{
   font-size: 10px;
   background-color: rgba(219, 47, 23, 0.18);
   color: #DB2F17;
   padding: 3px 6px;
   border-radius: 5px;
   font-weight: 400;
}
span.poco-stock{
   font-size: 10px;
   background-color: rgba(242, 160, 0, 0.35);
   color: #DB8117;
   padding: 3px 6px;
   border-radius: 5px;
   font-weight: 400;
}

.text-14{
	font-size: 14px;
}
.text-13{
	font-size: 13px;
}
.text-12{
	font-size: 12px;
}
.text-10{
	font-size: 10px;
}
.fw-semibold{
	font-weight: 600;
}
.btn-verde {
    background-color: #13BF81;
    color: #fff;
}
.btn-verde:is(:hover,:focus){
   background-color: #0f9162;
   color: #fff;
}
.btn-sm.btn-verde{
	border-radius: 7px;
}
.badge.pausa{
	background-color: rgb(255 177 68 / 34%);
	color: rgb(226, 150, 0);
	text-transform: capitalize;
}
.badge.activa{
	background-color: rgb(0 255 125 / 25%);
    color: rgb(0 170 110);
	text-transform: capitalize;
}
.badge.finalizado{
	background-color: rgba(255, 68, 68, 0.20);
	color: rgb(199, 1, 1);
	text-transform: capitalize;
}

/* ══════════════════════════════════════
   REDISEÑO MODERNO — FacturadorERP
   Aplicado desde el diseño Facturador ERP.dc.html
   ══════════════════════════════════════ */

/* Sidebar blanco moderno */
#sidebar-wrapper{
	background-image:none!important;
	background-color:#F4F6F8!important;
	border-right:1px solid #E6E8EC;
	-webkit-transition:width .5s ease!important;
	-moz-transition:width .5s ease!important;
	-o-transition:width .5s ease!important;
	transition:width .5s ease!important;
}
.fondo-sidebar{
	background-image:none!important;
	background-color:#F4F6F8!important;
}
.sidebar-nav li a{
	color:#475467!important;
	font-size:13.5px;
	font-weight:500;
}
.sidebar-nav li a:hover{
	background:rgba(244,246,248,.8)!important;
	color:#11151A!important;
}
/* Logo empresa en sidebar */
.sesion.px-3.fondo-sidebar{
	border-bottom:1px solid #EEF0F3;
	padding:14px 14px 10px!important;
	display:block;
	width:100%;
	box-sizing:border-box;
}
.logo-lateral{
	border:1px solid #ECEEF1;
	border-radius:14px;
	padding:8px!important;
	background:linear-gradient(180deg,#FBFCFD,#F5F6F8);
	display:block!important;
	width:125px;
	height:125px;
	box-sizing:border-box;
	margin:0 auto 8px auto!important;
	box-shadow:none!important;
	text-align:center;
}
.logo-lateral img{
	display:block;
	width:100%!important;
	height:100%!important;
	max-width:100%!important;
	object-fit:contain;
	border-radius:8px;
}
.logo-lateral a{
	display:block;
	font-size:10px;
	font-weight:700;
	letter-spacing:.06em;
	color:#A0A7B0!important;
	text-transform:uppercase;
	margin:6px 0 0 0!important;
	padding:0!important;
	text-align:center;
	line-height:1.4;
}
/* Accordion sidebar */
.menu.accordion .card{
	border:none;
	border-radius:0;
	background:transparent;
}
.menu.accordion .card-header{
	background:transparent;
	border:none;
	padding:2px 8px!important;
}
.menu.accordion .card-header button{
	color:#475467!important;
	font-size:13.5px;
	font-weight:600;
	padding:9px 12px!important;
	border-radius:10px;
	transition:background .14s,color .14s;
}
.menu.accordion .card-header button:hover,
.menu.accordion .card-header button:focus{
	background:#F4F6F8;
	color:#11151A!important;
	text-decoration:none;
	outline:none;
	box-shadow:none;
}
.menu.accordion .card-header button.collapsed{
	background:transparent;
	color:#475467!important;
}
.menu.accordion .card-header button:not(.collapsed){
	background:rgba(220,42,50,.06);
	color:#11151A!important;
	font-weight:700;
}
.menu.accordion .collapse .card-body{
	padding:2px 8px 6px!important;
	background:transparent;
}
.menu.accordion .collapse .card-body ul li a{
	padding:8px 12px 8px 28px!important;
	border-radius:9px;
	color:#667085!important;
	font-size:13px;
	font-weight:500;
	display:block;
	text-indent:0;
	line-height:1.4;
	transition:background .14s,color .14s;
}
.menu.accordion .collapse .card-body ul li a:hover{
	background:#F4F6F8;
	color:#11151A!important;
}
.menu.accordion .collapse .card-body ul li a.activo{
	background:rgba(220,42,50,.09);
	color:#DC2A32!important;
	font-weight:700;
}
/* Topbar modernizado */
.menu-superior{
	border-bottom:1px solid #E6E8EC;
	box-shadow:none!important;
	padding:.65rem 1.25rem!important;
	background:#fff!important;
}
.btn-menu-sidebar,.btn-menu-sidebar:focus,.btn-menu-sidebar:active{
	width:38px;height:38px;
	border-radius:10px!important;
	border:1px solid #E6E8EC!important;
	background:#fff!important;
	color:#475467!important;
	display:inline-flex;align-items:center;justify-content:center;
	padding:0!important;font-size:20px;
	transition:all .14s;
}
.btn-menu-sidebar:hover{
	background:#F4F6F8!important;
	color:#DC2A32!important;
}
/* Body/wrapper background */
#wrapper{
	background:#EEF0F3;
	-webkit-transition:padding-left .5s ease!important;
	-moz-transition:padding-left .5s ease!important;
	-o-transition:padding-left .5s ease!important;
	transition:padding-left .5s ease!important;
}
#page-content-wrapper{
	background:#fff;
}
/* Wrapper home padding */
.wrapper-home{
	padding:100px 15px 15px!important;
	background:#EEF0F3;
}

/* ══════════════════════════════════════
   ESTILO MODERNO — componentes reutilizables
   Tarjetas, toolbar, tablas, modal y toast.
   Primer uso: Existencia / Categoría (DataTable server-side)
   Prefijo de clases: .moderno-
   ══════════════════════════════════════ */
.moderno-card{
	border:1px solid #E6E8EC;
	border-radius:14px;
	overflow:hidden;
	background:#fff;
	box-shadow:none;
    margin-bottom: 15px !important;
}
.moderno-card__header{
	font-weight:700;
	color:#fff;
	background:#DC2A32;
	padding:5px 15px;
}

/* Toolbar */
.moderno-toolbar{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	align-items:center;
	justify-content:space-between;
	padding:14px 18px;
	border-bottom:1px solid #E6E8EC;
	background:#FBFCFD;
}
.moderno-toolbar__left,
.moderno-toolbar__right{
	display:flex;
	gap:8px;
	flex-wrap:wrap;
	align-items:center;
}
.moderno-toolbar__left--nowrap{
	flex-wrap:nowrap;
}
/* Toolbar como cabecera de tabla: rojo, texto blanco y compacta */
.moderno-toolbar--head{
	/* mismo alto que .moderno-table thead th (12px+12px padding + línea de texto) */
	min-height:40px;
	padding:0 14px;
	background:#DC2A32;
	border-bottom:1px solid #DC2A32;
	border-top-left-radius:inherit;
	border-top-right-radius:inherit;
}
.moderno-toolbar--head .moderno-form-title{
	color:#fff;
	font-size:12.5px;
	text-transform:uppercase;
	letter-spacing:.04em;
	font-weight:700;
}
/* Botón sobre cabecera roja: blanco sólido con texto rojo.
   No usar .moderno-btn--primary aquí: es rojo sobre rojo y desaparece. */
.moderno-toolbar--head .moderno-btn,
.moderno-toolbar--head .boton{
	padding:.2rem .7rem;
	font-size:12.5px;
	font-weight:600;
	line-height:1.4;
	border:1px solid #fff;
	border-radius:6px;
	background:#fff;
	color:#c22128;
	float:none;
	margin-bottom:0;
	text-decoration:none;
	display:inline-flex;
	align-items:center;
	gap:6px;
}
.moderno-toolbar--head .moderno-btn:hover,
.moderno-toolbar--head .moderno-btn:focus,
.moderno-toolbar--head .boton:hover,
.moderno-toolbar--head .boton:focus{
	background:#FFECEC;
	color:#c22128;
	border-color:#fff;
	text-decoration:none;
}

/* Botones */
.moderno-btn{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:.5rem .95rem;
	border-radius:10px;
	border:1px solid #E6E8EC;
	background:#fff;
	color:#475467;
	font-size:13.5px;
	font-weight:600;
	line-height:1.2;
	cursor:pointer;
	transition:all .14s;
	text-decoration:none;
}
.moderno-btn:hover,
.moderno-btn:focus{
	background:#F4F6F8;
	color:#11151A;
	text-decoration:none;
	outline:none;
}
.moderno-btn--primary{
	background:#DC2A32;
	border-color:#DC2A32;
	color:#fff;
}
.moderno-btn--primary:hover{
	background:#c22128;
	border-color:#c22128;
	color:#fff;
}
.moderno-btn--outline{
	background:#fff;
}
.moderno-btn--ghost{
	background:transparent;
	border-color:#E6E8EC;
}
.moderno-btn--active{
	background:rgba(220,42,50,.08);
	border-color:rgba(220,42,50,.3);
	color:#DC2A32;
}
.moderno-btn--danger{
	background:#DC2A32;
	border-color:#DC2A32;
	color:#fff;
}
.moderno-btn--danger:hover{
	background:#b91c23;
	border-color:#b91c23;
	color:#fff;
}
.moderno-btn--info{
	background:#2563EB;
	border-color:#2563EB;
	color:#fff;
}
.moderno-btn--info:hover{
	background:#1D4ED8;
	border-color:#1D4ED8;
	color:#fff;
}
.moderno-btn--secondary{
	background:#475467;
	border-color:#475467;
	color:#fff;
}
.moderno-btn--secondary:hover{
	background:#344054;
	border-color:#344054;
	color:#fff;
}

/* Menú de exportación */
.moderno-export{
	position:relative;
}
.moderno-export__menu{
	border-radius:12px;
	border:1px solid #E6E8EC;
	box-shadow:0 10px 24px rgba(17,21,26,.1);
	padding:6px;
	min-width:150px;
}
.moderno-export__menu .dropdown-item{
	border-radius:8px;
	padding:8px 10px;
	font-size:13.5px;
	color:#475467;
	display:flex;
	gap:8px;
	align-items:center;
}
.moderno-export__menu .dropdown-item:hover{
	background:#F4F6F8;
	color:#11151A;
}

/* Tabla */
.table.moderno-table{
	background-color: #f5f6f8;
    border-radius: 10px;
    overflow: hidden;
    border:none;
}
.moderno-table{
	width:100%;
}
.moderno-table thead th{
	background:#dc2a32;
	color:#fff;
	font-size:12.5px;
	text-transform:uppercase;
	letter-spacing:.04em;
	font-weight:700;
	border-bottom:1px solid #dc2a32!important;
	padding:12px 14px;
	white-space:nowrap;
}
.moderno-table tbody td{
	padding:8px;
	vertical-align:middle;
	border-top:1px solid #F0F1F3;
	color:#344054;
	font-size:13.5px;
}
.moderno-table tbody tr:hover{
	background:#FAFBFC;
}
.moderno-table.modo-reordenar tbody tr{
	cursor:grab;
}
.moderno-table.modo-reordenar tbody tr:active{
	cursor:grabbing;
}
.moderno-table tbody tr.ui-sortable-helper{
	display:table;
	box-shadow:0 8px 22px rgba(17,21,26,.14);
	background:#fff;
}
.moderno-table tbody tr.ui-sortable-placeholder{
	background:#F4F6F8;
	visibility:visible!important;
}
.moderno-img-thumb{
	width:48px;
	height:48px;
	object-fit:cover;
	border-radius:10px;
	border:1px solid #E6E8EC;
}
.moderno-checkbox{
	width:16px;
	height:16px;
	cursor:pointer;
	accent-color:#DC2A32;
}
.moderno-actions{
	display:flex;
	gap:6px;
	justify-content:center;
}
.moderno-icon-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:32px;
	height:32px;
	min-width:32px;
	min-height:32px;
	margin:0;
	padding:0;
	font-size:14px;
	border-radius:9px;
	border:1px solid #E6E8EC;
	background:#fff;
	color:#475467;
	transition:all .14s;
	text-decoration:none;
	box-sizing:border-box;
}
.moderno-icon-btn:hover{
	background:#F4F6F8;
	color:#11151A;
	text-decoration:none;
}
.moderno-icon-btn--danger:hover{
	background:rgba(220,42,50,.08);
	color:#DC2A32;
	border-color:rgba(220,42,50,.25);
}

/* Controles nativos de DataTables restyled — layout propio (dom custom), sin depender
   de la integración vieja de Bootstrap 3 que trae DataTables (conflictúa con Bootstrap 4) */
.moderno-table-wrap .dataTables_wrapper{
	width:100%;
	box-sizing:border-box;
	display:block!important;
	padding:0;
}
.moderno-table-wrap .dataTables_wrapper table.dataTable{
	width:100%!important;
	margin:0!important;
}
.moderno-table-wrap .dataTables_wrapper .moderno-dt-top,
.moderno-table-wrap .dataTables_wrapper .moderno-dt-bottom{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	padding:0 14px;
}
.moderno-table-wrap .dataTables_wrapper .moderno-dt-top{
	padding-top:14px;
	padding-bottom:10px;
}
.moderno-table-wrap .dataTables_wrapper .moderno-dt-bottom{
	padding-top:10px;
	padding-bottom:14px;
}
.moderno-table-wrap .dataTables_wrapper .dataTables_length,
.moderno-table-wrap .dataTables_wrapper .dataTables_filter,
.moderno-table-wrap .dataTables_wrapper .dataTables_info,
.moderno-table-wrap .dataTables_wrapper .dataTables_paginate{
	margin:0;
	white-space:nowrap;
}
.moderno-table-wrap .dataTables_wrapper .dataTables_filter label{
	display:flex;
	align-items:center;
	gap:8px;
	margin:0;
	color:#475467;
	font-size:13.5px;
	font-weight:600;
}
.moderno-table-wrap .dataTables_wrapper .dataTables_length label{
	display:flex;
	align-items:center;
	gap:8px;
	margin:0;
	color:#475467;
	font-size:13.5px;
	font-weight:600;
}
.moderno-table-wrap .dataTables_wrapper .dataTables_filter input{
	width:auto!important;
	border:1px solid #E6E8EC;
	border-radius:10px;
	padding:.45rem .8rem;
	font-size:13.5px;
	margin:0;
}
.moderno-table-wrap .dataTables_wrapper .dataTables_filter input:focus{
	outline:none;
	border-color:#DC2A32;
	box-shadow:0 0 0 3px rgba(220,42,50,.12);
}
.moderno-table-wrap .dataTables_wrapper .dataTables_length select{
	width:auto!important;
	border:1px solid #E6E8EC;
	border-radius:10px;
	padding:.4rem 1.6rem .4rem .7rem;
	font-size:13.5px;
	margin:0;
}
.moderno-table-wrap .dataTables_wrapper .dataTables_info{
	color:#667085;
	font-size:12.5px;
	padding-top:14px;
}
.moderno-table-wrap .dataTables_wrapper .dataTables_processing{
	color:#475467;
	font-weight:600;
}
.moderno-table-wrap .dataTables_wrapper .dataTables_paginate .pagination{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:4px;
	margin:0;
	padding:0;
	list-style:none;
}
.moderno-table-wrap .dataTables_wrapper .dataTables_paginate .paginate_button{
	list-style:none;
	border-radius: 8px;
    padding: 0px;
    border: none;
}
.moderno-table-wrap .dataTables_wrapper .dataTables_paginate .paginate_button a{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:32px;
	height:32px;
	padding:0 .6rem;
	border-radius:8px!important;
	color:#475467!important;
	text-decoration:none!important;
	font-size:13.5px;
	transition:all .14s;
}
.moderno-table-wrap .dataTables_wrapper .dataTables_paginate .paginate_button.current a,
.moderno-table-wrap .dataTables_wrapper .dataTables_paginate .paginate_button.active a{
	background:#DC2A32!important;
	border-color:#DC2A32!important;
	color:#fff!important;
}
.moderno-table-wrap .dataTables_wrapper .dataTables_paginate .paginate_button:not(.disabled):not(.current):not(.active) a:hover{
	background: #f3e4e7 !important;
	border-color: #d66267 !important;
	color: #DC2A32 !important;
}
.moderno-table-wrap .dataTables_wrapper .dataTables_paginate .paginate_button.disabled a{
	opacity:.4;
	background:transparent!important;
	color:#475467!important;
	cursor:default;
}

/* Modal de confirmación */
.moderno-modal{
	position:fixed;
	inset:0;
	background:rgba(17,21,26,.45);
	display:none;
	align-items:center;
	justify-content:center;
	z-index:2000;
}
.moderno-modal.is-open{
	display:flex;
}
.moderno-modal__box{
	background:#fff;
	border-radius:16px;
	padding:22px 24px;
	max-width:380px;
	width:90%;
	max-height:90vh;
	overflow-y:auto;
	box-shadow:0 20px 50px rgba(17,21,26,.25);
}
.moderno-modal__box h3{
	margin:0 0 8px;
	font-size:16px;
	color:#11151A;
	font-weight:700;
}
.moderno-modal__box p{
	margin:0 0 18px;
	color:#475467;
	font-size:13.5px;
}
.moderno-modal__actions{
	display:flex;
	justify-content:flex-end;
	gap:8px;
}

/* Toast */
.moderno-toast{
	position:fixed;
	bottom:24px;
	right:24px;
	z-index:2100;
	display:flex;
	flex-direction:column;
	gap:8px;
}
.moderno-toast__item{
	min-width:240px;
	max-width:340px;
	background:#11151A;
	color:#fff;
	padding:12px 16px;
	border-radius:12px;
	font-size:13.5px;
	box-shadow:0 10px 30px rgba(17,21,26,.25);
	animation:moderno-toast-in .18s ease;
}
.moderno-toast__item.is-success{
	background:#12794A;
}
.moderno-toast__item.is-error{
	background:#B42318;
}
@keyframes moderno-toast-in{
	from{ opacity:0; transform:translateY(8px); }
	to{ opacity:1; transform:translateY(0); }
}

/* Tabs (ej. Empresa: Datos Empresa / Información SII) */
.moderno-tabs{
	display:flex;
	flex-wrap:wrap;
	gap:4px;
	border-bottom:1px solid #E6E8EC;
	margin:0 0 18px;
	padding:0;
	list-style:none;
}
.moderno-tabs .nav-item{
	margin-bottom:-1px;
}
.moderno-tabs .nav-link{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:10px 16px;
	font-size:13.5px;
	font-weight:600;
	color:#667085;
	border:none;
	border-bottom:2px solid transparent;
	border-radius:0;
	background:transparent;
	transition:color .14s,border-color .14s;
}
.moderno-tabs .nav-link:hover{
	color:#11151A;
}
.moderno-tabs .nav-link.active{
	color:#DC2A32;
	border-bottom-color:#DC2A32;
	background:transparent;
}

/* Formularios (crear/editar/subir imagen) */
.moderno-form{
	max-width:480px;
}
.moderno-form-title{
	font-weight:700;
	color:#11151A;
	display:flex;
	align-items:center;
	gap:8px;
}
.moderno-form-group{
	margin-bottom:16px;
}
.moderno-form-row{
	display:flex;
	gap:12px;
	margin-bottom:16px;
}
.moderno-form-row .moderno-form-group{
	flex:1 1 0;
	margin-bottom:0;
	min-width:0;
}
#modal-editar-cliente .moderno-form{
	max-width:none;
}
.moderno-label{
	display:block;
	margin-bottom:6px;
	font-size:13px;
	font-weight:600;
	color:#475467;
}
.moderno-input{
	width:100%;
	height:auto;
	line-height:1.4;
	border:1px solid #E6E8EC;
	border-radius:10px;
	padding:.6rem .85rem;
	font-size:14px;
	color:#11151A;
	background:#fff;
	box-sizing:border-box;
	transition:border-color .14s,box-shadow .14s;
}
.moderno-input:focus{
	outline:none;
	border-color:#DC2A32;
	box-shadow:0 0 0 3px rgba(220,42,50,.12);
}
.moderno-input.error{
	border-color:#DC2A32!important;
}
.moderno-input.ok{
	border-color:#12794A!important;
}
.input-group .moderno-input{
	flex:1 1 auto;
	width:1%;
}
.moderno-form-actions{
	display:flex;
	gap:8px;
	margin-top:8px;
}

/* Avatar (Mi Perfil) */
/* Caja de vista previa para imágenes rectangulares (logo de local, jefe de local, etc.).
   A diferencia de .moderno-avatar-frame, no recorta en círculo ni deforma la imagen. */
.moderno-img-box{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:150px;
	padding:12px;
	border:1px solid #E6E8EC;
	border-radius:10px;
	background:#F4F6F8;
}
.moderno-img-box img{
	max-width:100%;
	max-height:150px;
	object-fit:contain;
}

.moderno-avatar-frame{
	width:180px;
	height:180px;
	border-radius:50%;
	overflow:hidden;
	margin:0 auto 16px;
	border:3px solid #E6E8EC;
	background:#F4F6F8;
}
.moderno-avatar-frame img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.moderno-avatar-preview{
	max-height:320px;
	border-radius:14px;
}

/* Modal "Cambiar imagen" (Mi Perfil) */
.moderno-modal-avatar .modal-content{
	border-radius:16px;
	border:none;
	box-shadow:0 20px 50px rgba(17,21,26,.25);
}
.moderno-modal-avatar .modal-header{
	background:#fff!important;
	border-bottom:1px solid #E6E8EC;
}
.moderno-modal-avatar .modal-header .close{
	color:#475467!important;
	text-shadow:none;
	opacity:1;
}
.moderno-modal-avatar .modal-title{
	font-weight:700;
	color:#11151A!important;
	display:flex;
	align-items:center;
	gap:8px;
}
.moderno-cropper-container{
	max-height:400px;
	overflow:hidden;
	border-radius:14px;
}
.moderno-cropper-hint{
	color:#667085;
	font-size:12.5px;
	margin-top:10px;
}

/* Modal-content generico (para modales Bootstrap reestilizados) */
.moderno-modal-content{
	border-radius:16px;
	border:none;
	box-shadow:0 20px 50px rgba(17,21,26,.25);
}
.moderno-modal-content .modal-header{
	background:#fff!important;
	border-bottom:1px solid #E6E8EC;
}
.moderno-modal-content .modal-header .close{
	color:#475467!important;
	text-shadow:none;
	opacity:1;
}
.moderno-modal-content .modal-title{
	font-weight:700;
	color:#11151A!important;
}

/* Celdas editables inline (tabla Productos) */
.celda-editable{
	cursor:pointer;
	border-bottom:1px dashed #98A2B3;
	padding-bottom:1px;
}
.celda-editable:hover{
	color:#DC2A32;
	border-bottom-color:#DC2A32;
}
.moderno-input--sm{
	width:100%;
	min-width:140px;
	height:auto;
	line-height:1.4;
	padding:.3rem .5rem;
	font-size:13px;
	border:1px solid #E6E8EC;
	border-radius:8px;
	color:#11151A;
	background:#fff;
	box-sizing:border-box;
}
.moderno-input--sm:focus{
	outline:none;
	border-color:#DC2A32;
	box-shadow:0 0 0 3px rgba(220,42,50,.12);
}

/* Badge Tipo (Producto/Servicio) */
.moderno-badge-tipo{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:26px;
	height:26px;
	border-radius:8px;
	font-size:12px;
	font-weight:700;
	border:1px solid transparent;
	cursor:default;
	user-select:none;
}
.moderno-badge-tipo--clickable{
	cursor:pointer;
	transition:transform .12s;
}
.moderno-badge-tipo--clickable:hover{
	transform:scale(1.12);
}
.moderno-badge-tipo--producto{
	background:rgba(220,42,50,.08);
	color:#DC2A32;
	border-color:rgba(220,42,50,.3);
}
.moderno-badge-tipo--servicio{
	background:rgba(18,121,74,.08);
	color:#12794A;
	border-color:rgba(18,121,74,.3);
}

/* Imagen clickeable (subir imagen rápida en tabla Productos) */
.moderno-img-clickable{
	position:relative;
	display:inline-block;
	cursor:pointer;
	line-height:0;
}
.moderno-img-clickable .moderno-img-thumb{
	transition:opacity .14s;
}
.moderno-img-clickable:hover .moderno-img-thumb{
	opacity:.7;
}
.moderno-img-clickable__icon{
	position:absolute;
	right:-4px;
	bottom:-4px;
	width:20px;
	height:20px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#DC2A32;
	color:#fff;
	border-radius:50%;
	font-size:10.5px;
	border:2px solid #fff;
	box-shadow:0 1px 3px rgba(17,21,26,.25);
}

/* Badge destacado "S" (tabla Productos) */
.moderno-badge-destacado{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:26px;
	height:26px;
	border-radius:8px;
	font-size:12px;
	font-weight:700;
	border:1px solid transparent;
	user-select:none;
}
.moderno-badge-destacado--clickable{
	cursor:pointer;
	transition:transform .12s;
}
.moderno-badge-destacado--clickable:hover{
	transform:scale(1.12);
}
.moderno-badge-destacado--activa{
	background:rgba(245,166,35,.12);
	color:#B7791F;
	border-color:rgba(245,166,35,.35);
}
.moderno-badge-destacado--inactiva{
	background:rgba(152,162,179,.1);
	color:#98A2B3;
	border-color:rgba(152,162,179,.3);
}

/* Badge stock total (todas las sucursales, tabla Productos) */
.moderno-badge-stock{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:32px;
	padding:2px 8px;
	border-radius:8px;
	font-size:12px;
	font-weight:700;
	background:rgba(18,121,74,.08);
	color:#12794A;
	border:1px solid rgba(18,121,74,.3);
}

/* Overlay de carga (Actualizar precios masivo) */
.moderno-table-loading{
	position:absolute;
	inset:0;
	background:rgba(255,255,255,.85);
	display:flex;
	align-items:center;
	justify-content:center;
	opacity:0;
	pointer-events:none;
	z-index:-1;
	transition:opacity .15s;
}
.moderno-table-loading.is-visible{
	opacity:1;
	pointer-events:auto;
	z-index:9;
}
.moderno-table-loading__text{
	color:#475467;
	font-weight:600;
	font-size:13.5px;
}

/* Precio "escrito" que se convierte en input al hacer click/focus (Masivo productos) */
.moderno-price-input{
	width:100%;
	min-width:90px;
	height:auto;
	line-height:1.4;
	box-sizing:border-box;
	border:1px solid transparent;
	background:transparent;
	padding:.3rem .5rem;
	font-size:13px;
	border-radius:8px;
	color:#11151A;
	text-align:right;
	cursor:pointer;
	transition:border-color .14s,background .14s;
}
.moderno-price-input:hover{
	border-color:#E6E8EC;
	background:#FAFBFC;
}
.moderno-price-input:focus{
	outline:none;
	cursor:text;
	border-color:#DC2A32;
	background:#fff;
	box-shadow:0 0 0 3px rgba(220,42,50,.12);
}

/* KPI cards reutilizables (ej. gestion/grafico) */
.moderno-kpi-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
	gap:12px;
	margin-bottom:4px;
}
.moderno-kpi-card{
	background:#fff;
	border:1px solid #E6E8EC;
	border-radius:14px;
	padding:14px;
	display:flex;
	align-items:center;
	gap:13px;
	box-shadow:0 1px 2px rgba(17,21,26,.04);
}
.moderno-kpi-icon{
	width:42px;
	height:42px;
	border-radius:12px;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
}
.moderno-kpi-label{
	font-size:12.5px;
	font-weight:600;
	color:#667085;
	margin-bottom:3px;
}
.moderno-kpi-value{
	font-size:20px;
	font-weight:700;
	color:#11151A;
	line-height:1;
}

/* Barra de filtros (selector + rango de fechas) */
.moderno-filtros{
	display:flex;
	flex-wrap:wrap;
	align-items:flex-end;
	gap:14px;
	padding:14px 16px;
	border-bottom:1px solid #E6E8EC;
}
.moderno-filtros__group{
	display:flex;
	flex-direction:column;
	gap:4px;
}
.moderno-filtros__group .moderno-label{
	margin-bottom:0;
}
.moderno-filtros__rango{
	color:#667085;
	font-size:12.5px;
	font-weight:600;
}
.moderno-filtros__rango strong{
	color:#11151A;
}

.moderno-btn:disabled,
.moderno-btn[disabled]{
	opacity:.5;
	cursor:not-allowed;
}

.moderno-input:disabled{
	background:#F4F6F8;
	color:#98A2B3;
	cursor:not-allowed;
}

/* Modificador para permitir que un dropdown/menu escape los bordes de la tarjeta */
.moderno-card--overflow-visible{
	overflow:visible;
}

/* Encabezado de página (panel-heading px-3 py-4) sin borde inferior */
.panel-heading.px-3.py-4{
	border-bottom:none;
}

/* Footer pegado al pie del navegador (sticky footer) */
#page-content-wrapper{
	display:flex;
	flex-direction:column;
	min-height:100vh;
}
#page-content-wrapper > .container-fluid{
	display:flex;
	flex-direction:column;
	flex:1;
}
#page-content-wrapper > .container-fluid > footer{
	margin-top:auto;
}

/* Accordion (ej. Mantenedor) */
.moderno-accordion .moderno-card{
	margin-bottom:12px;
}
.moderno-accordion .moderno-card:last-child{
	margin-bottom:0;
}
.moderno-accordion__header{
	display:flex;
	align-items:center;
	gap:10px;
	width:100%;
	padding:14px 18px;
	background:#FBFCFD;
	border:none;
	cursor:pointer;
	font-size:14px;
	font-weight:700;
	color:#11151A;
	text-align:left;
	transition:background .14s,color .14s;
}
.moderno-accordion__header:hover,
.moderno-accordion__header:focus{
	background:#F4F6F8;
	color:#DC2A32;
	outline:none;
}
.moderno-accordion__header i.bi-chevron-down{
	margin-left:auto;
	color:#DC2A32;
	transition:transform .2s;
	font-size:14px;
}
.moderno-accordion__header[aria-expanded="false"] i.bi-chevron-down{
	transform:rotate(-90deg);
}
/* Acordeón con cabecera estilo tabla: rojo, texto blanco y compacta.
   Se aplica al contenedor (.moderno-accordion--head), no a cada header. */
.moderno-accordion--head .moderno-accordion__header{
	/* mismo alto que .moderno-table thead th */
	min-height:40px;
	padding:0 14px;
	background:#DC2A32;
	color:#fff;
	font-size:12.5px;
	text-transform:uppercase;
	letter-spacing:.04em;
	font-weight:700;
}
.moderno-accordion--head .moderno-accordion__header:hover,
.moderno-accordion--head .moderno-accordion__header:focus{
	background:#c22128;
	color:#fff;
}
.moderno-accordion--head .moderno-accordion__header i{
	color:#fff;
}
.moderno-accordion__body{
	padding:18px;
	border-top:1px solid #E6E8EC;
}
.moderno-accordion__body a.texto{
	display:block;
	padding:7px 10px;
	margin:2px -10px;
	border-radius:8px;
	color:#475467;
	text-decoration:none;
	transition:background .14s,color .14s;
}
.moderno-accordion__body a.texto:hover,
.moderno-accordion__body a.texto:focus{
	background:#F4F6F8;
	color:#DC2A32;
	text-decoration:none;
}

/* Shortcuts / accesos directos en grilla (ej. Mantenedor) */
.moderno-shortcut-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:12px;
}
.moderno-shortcut-btn{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:10px;
	border:1px solid #E6E8EC;
	border-radius:12px;
	padding:20px 10px;
	background:#fff;
	cursor:pointer;
	font-family:inherit;
	color:#475467;
	transition:all .15s ease;
	text-decoration:none;
	text-align:center;
	width:100%;
}
.moderno-shortcut-btn:hover,
.moderno-shortcut-btn:focus{
	border-color:#DC2A32;
	background:#FEF4F4;
	color:#DC2A32;
	transform:translateY(-2px);
	text-decoration:none;
	outline:none;
}
.moderno-shortcut-icon{
	width:52px;
	height:52px;
	border-radius:14px;
	display:flex;
	align-items:center;
	justify-content:center;
	color:#fff;
	font-size:20px;
	flex-shrink:0;
}
.moderno-shortcut-icon img{
	max-width:60%;
	max-height:60%;
	object-fit:contain;
}
.moderno-shortcut-label{
	font-size:13px;
	font-weight:600;
	color:#374151;
	line-height:1.3;
}
.moderno-shortcut-btn:hover .moderno-shortcut-label,
.moderno-shortcut-btn:focus .moderno-shortcut-label{
	color:#DC2A32;
}
@media(max-width:991px){
	.moderno-shortcut-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:576px){
	.moderno-shortcut-grid{grid-template-columns:repeat(2,1fr);}
}

/* ══════════════════════════════════════
   Tarjeta de usuario (Inicio / Usuarios)
   Reemplaza el bloque viejo .cont-usuarios .usuarios (barra #242a30 e
   iconos lapiz.jpg/eliminar.jpg). El markup viejo sigue existiendo en
   otras vistas, por eso NO se tocaron aquellas reglas.
   ══════════════════════════════════════ */
.moderno-user-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:14px;
}
.moderno-user-card{
	display:flex;
	flex-direction:column;
	border:1px solid #E6E8EC;
	background:#fff;
	overflow:hidden;
}
.moderno-user-card__bar{
	display:flex;
	align-items:center;
	gap:8px;
	/* mismo alto y rojo que las demás cabeceras (.moderno-table thead th) */
	min-height:40px;
	padding:0 12px;
	background:#DC2A32;
	border-bottom:1px solid #DC2A32;
}
.moderno-user-card__color{
	width:16px;
	height:16px;
	border-radius:50%;
	border:2px solid #fff;
	box-shadow:0 0 0 1px rgba(0,0,0,.12);
	flex:0 0 auto;
}
/* Iconos de acción sobre la cabecera roja: blancos con el icono rojo,
   mismo criterio que los botones de .moderno-toolbar--head */
.moderno-user-card__bar .moderno-icon-btn{
	width:26px;
	height:26px;
	min-width:26px;
	min-height:26px;
	font-size:12px;
	border-radius:7px;
	border-color:#fff;
	background:#fff;
	color:#c22128;
}
.moderno-user-card__bar .moderno-icon-btn:hover,
.moderno-user-card__bar .moderno-icon-btn:focus{
	background:#FFECEC;
	color:#c22128;
	border-color:#fff;
}
.moderno-user-card__actions{
	display:flex;
	gap:6px;
	margin-left:auto;
}
.moderno-user-card__actions form{
	margin:0;
}
.moderno-user-card__body{
	padding:18px 16px 16px;
	text-align:center;
}
.moderno-user-card__avatar{
	position:relative;
	display:inline-block;
	margin:0 0 10px;
}
.moderno-user-card__avatar img{
	width:88px;
	height:88px;
	border-radius:50%;
	object-fit:cover;
	border:1px solid #E6E8EC;
	display:block;
}
.moderno-user-card__avatar .moderno-user-card__upload{
	position:absolute;
	right:0;
	bottom:0;
	width:28px;
	height:28px;
	border-radius:50%;
	background:#DC2A32;
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:12px;
	border:2px solid #fff;
	cursor:pointer;
	transition:background .14s;
}
.moderno-user-card__avatar:hover .moderno-user-card__upload{
	background:#c22128;
}
.moderno-user-card__name{
	font-size:15px;
	font-weight:700;
	color:#11151A;
	margin:0 0 2px;
}
.moderno-user-card__meta{
	font-size:12.5px;
	color:#667085;
	margin:0;
	line-height:1.5;
}
.moderno-user-card__data{
	margin-top:14px;
	padding-top:12px;
	border-top:1px solid #F0F1F3;
	text-align:left;
	font-size:13px;
	color:#475467;
}
.moderno-user-card__data div{
	display:flex;
	align-items:center;
	gap:8px;
	padding:3px 0;
	word-break:break-all;
}
.moderno-user-card__data i{
	color:#98A2B3;
	width:14px;
	flex:0 0 auto;
	text-align:center;
}
@media(max-width:1200px){
	.moderno-user-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:768px){
	.moderno-user-grid{grid-template-columns:1fr;}
}

/* Lista seleccionable con radio (ej. "Empresas en las que apareces") */
.moderno-radio-list{
	display:flex;
	flex-direction:column;
}
.moderno-radio-item{
	display:flex;
	align-items:center;
	gap:10px;
	padding:10px 14px;
	border-bottom:1px solid #F0F1F3;
	font-size:13.5px;
	color:#344054;
	cursor:pointer;
	margin:0;
	transition:background .14s;
}
.moderno-radio-item:last-child{
	border-bottom:none;
}
.moderno-radio-item:hover{
	background:#FAFBFC;
}
.moderno-radio-item input[type="radio"]{
	width:16px;
	height:16px;
	accent-color:#DC2A32;
	margin:0;
	flex:0 0 auto;
	cursor:pointer;
}
.moderno-radio-item input[type="radio"]:checked ~ span{
	font-weight:700;
	color:#11151A;
}
.moderno-radio-item--selected{
	background:rgba(220,42,50,.04);
}
.moderno-btn:disabled,
.moderno-btn[disabled]{
	opacity:.5;
	cursor:not-allowed;
}

/* Variante sin foto: ícono circular en vez de avatar (ej. Sucursales) */
.moderno-user-card__icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:88px;
	height:88px;
	border-radius:50%;
	background:rgba(220,42,50,.08);
	color:#DC2A32;
	font-size:34px;
	margin:0 0 10px;
}

/* Texto de ayuda bajo un label */
.moderno-hint{
	font-size:12.5px;
	color:#667085;
	margin:0 0 8px;
	line-height:1.5;
}
.moderno-hint code{
	background:rgba(220,42,50,.08);
	color:#c22128;
	padding:1px 5px;
	border-radius:4px;
	font-size:12px;
}

/* input-group: botón pegado a un .moderno-input como un solo control.
   Estaba inline en inicio/empresa/edit; se sube al design system porque
   ya lo usa también mantenedor/mailer-config. */
.input-group .input-group-prepend .moderno-btn{
	border-top-right-radius:0;
	border-bottom-right-radius:0;
	display:inline-flex;
	align-items:center;
}
.input-group .input-group-prepend + .moderno-input{
	border-top-left-radius:0;
	border-bottom-left-radius:0;
	margin-left:-1px;
}

/* Píldora de texto (etiqueta de estado/perfil en tablas) */
.moderno-pill{
	display:inline-block;
	padding:2px 9px;
	border-radius:999px;
	font-size:11.5px;
	font-weight:700;
	letter-spacing:.02em;
	white-space:nowrap;
	border:1px solid transparent;
}
.moderno-pill--info{
	background:rgba(65,128,232,.1);
	color:#2F5FBF;
	border-color:rgba(65,128,232,.28);
}
.moderno-pill--success{
	background:rgba(18,121,74,.1);
	color:#12794A;
	border-color:rgba(18,121,74,.28);
}
.moderno-pill--warning{
	background:rgba(217,138,10,.12);
	color:#A9690B;
	border-color:rgba(217,138,10,.3);
}
.moderno-pill--muted{
	background:#F4F6F8;
	color:#667085;
	border-color:#E6E8EC;
}
/* Botón de confirmación (ej. "OK!" tras guardar por AJAX) */
.moderno-btn--success{
	background:#12794A;
	border-color:#12794A;
	color:#fff;
}
.moderno-btn--success:hover,
.moderno-btn--success:focus{
	background:#0e5f3a;
	border-color:#0e5f3a;
	color:#fff;
}

/* Tabla de vendedores: cabe completa en el ancho del contenedor, sin scroll
   horizontal. Los inputs se encogen con la columna en vez de forzar un
   min-width que desbordara la tabla. */
.moderno-table--vendedores{
	width:100%;
	table-layout:fixed;
}
.moderno-table--vendedores td{
	vertical-align:top;
	word-break:break-word;
}
.moderno-table--vendedores th:nth-child(1){ width:18%; }
.moderno-table--vendedores th:nth-child(2){ width:11%; }
.moderno-table--vendedores th:nth-child(3){ width:12%; }
.moderno-table--vendedores th:nth-child(4){ width:23%; }
.moderno-table--vendedores th:nth-child(5){ width:24%; }
.moderno-table--vendedores th:nth-child(6){ width:12%; }
/* Inputs compactos: el .moderno-input de formulario es muy alto para una celda */
.moderno-table--vendedores .moderno-input{
	width:100%;
	min-width:0;
	max-width:100%;
	padding:.4rem .6rem;
	border-radius:8px;
	font-size:13px;
}
.moderno-table--vendedores td small{
	display:block;
	margin-top:4px;
	font-size:11.5px;
	line-height:1.35;
	color:#667085;
}
/* Feedback del guardado automatico (ya no hay boton Actualizar) */
.vend-estado:empty{
	display:none;
}
.vend-estado--cargando{
	color:#667085!important;
}
.vend-estado--ok{
	color:#12B76A!important;
	font-weight:600;
}
.vend-estado--error{
	color:#F04438!important;
	font-weight:600;
}

/* Iconos de estado si/no en tablas (ej. columna SII de DTE recibidos) */
.moderno-ico-ok{
	color:#12B76A;
	font-size:16px;
}
.moderno-ico-no{
	color:#D0D5DD;
	font-size:16px;
}
/* DTE recibidos: 15 columnas, no caben comprimidas — scroll horizontal controlado
   por el .table-responsive.moderno-table-wrap que la envuelve. */
.moderno-table--dte{
	min-width:1500px;
}
.moderno-table--dte td{
	white-space:nowrap;
}

/* ── Totales del período (historial de compras / ventas) ───────────────────── */
.moderno-totales{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:0 18px;
	margin-top:12px;
	padding:10px 16px;
	background:#F7F8FA;
	border:1px solid #E6E8EC;
	border-radius:0;
}
.moderno-totales__titulo{
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-size:11.5px;
	font-weight:700;
	color:#98A2B3;
	text-transform:uppercase;
	letter-spacing:.05em;
	padding-right:18px;
	border-right:1px solid #E6E8EC;
}
.moderno-totales__item{
	display:inline-flex;
	align-items:baseline;
	gap:7px;
	white-space:nowrap;
}
.moderno-totales__item + .moderno-totales__item{
	padding-left:18px;
	border-left:1px solid #E6E8EC;
}
.moderno-totales__label{
	font-size:11.5px;
	font-weight:600;
	color:#667085;
	text-transform:uppercase;
	letter-spacing:.04em;
}
.moderno-totales__valor{
	font-size:14.5px;
	font-weight:700;
	color:#11151A;
	font-variant-numeric:tabular-nums;
}
.moderno-totales__item--fuerte{
	margin-left:auto;
	padding:6px 14px;
	background:#11151A;
	border-left:0 !important;
}
.moderno-totales__item--fuerte .moderno-totales__label{
	color:#C3C8D0;
}
.moderno-totales__item--fuerte .moderno-totales__valor{
	color:#fff;
	font-size:16px;
}
@media(max-width:991px){
	.moderno-totales{gap:8px 14px}
	.moderno-totales__titulo{flex:1 1 100%;padding-right:0;border-right:0;margin-bottom:2px}
	.moderno-totales__item + .moderno-totales__item{padding-left:14px}
	.moderno-totales__item--fuerte{margin-left:0;flex:1 1 100%;justify-content:space-between}
}

.moderno-table .moderno-input{
	padding: .4rem .5rem;
	font-size: 12px;
}
.input-group .moderno-input {
	border-radius: 10px 0 0 10px;
}
.input-group .input-group-append .moderno-btn {
	border-radius: 0 10px 10px 0;
}

/* ── Barra inferior fija para el único "Guardar" (nueva venta / editar borrador) ── */
.moderno-guardar-bar {
	position: sticky;
	bottom: 0;
	z-index: 1030;
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	margin-top: 16px;
	padding: 12px 18px;
	background: #fff;
	border-top: 1px solid #E6E8EC;
	box-shadow: 0 -4px 16px rgba(16, 24, 40, .08);
	border-radius: 10px 10px 0 0;
}
.moderno-guardar-bar .moderno-btn {
	min-width: 180px;
	justify-content: center;
}
