@font-face {
    font-family: "Poppins-Regular";
    src: url("/jakarta.faces.resource/fonts/Poppins-Regular.ttf.xhtml?ln=default");
}

@font-face {
    font-family: "Poppins-Bold";
    src: url("/jakarta.faces.resource/fonts/Poppins-Bold.ttf.xhtml?ln=default");
}

@font-face {
    font-family: "Poppins-Light";
    src: url("/jakarta.faces.resource/fonts/Poppins-Light.ttf.xhtml?ln=default");
}

@font-face {
    font-family: "Poppins-SemiBold";
    src: url("/jakarta.faces.resource/fonts/Poppins-SemiBold.ttf.xhtml?ln=default");
}

body {
	font-family: 'Poppins-Regular' !important;
	margin: 0px;
	margin-right: auto;
    margin-left: auto;
}

.page-content {
	max-width: 1960px;	
	margin: 0px;
	margin-right: auto;
    margin-left: auto;
}

body .ui-commandlink:hover, body .ui-link:hover {
    text-decoration: none !important;
}
    
input {
	font-family: 'Poppins-Regular' !important;
}

textarea {
	font-family: 'Poppins-Regular' !important;
}

body .ui-widget {
	font-family: 'Poppins-Regular' !important;
}

.grid {
    margin-right: 0rem !important;
    margin-left: 0rem !important;
}

.ui-widget {
	font-family: 'Poppins-Regular';
	font-size: 1rem;
}

.poppins-regular {
	font-family: 'Poppins-Regular';	
}

.poppins-bold {
	font-family: 'Poppins-Bold';	
}

.poppins-semibold {
	font-family: 'Poppins-SemiBold';	
}

.poppins-light {
	font-family: 'Poppins-Light';	
}

a {
	text-decoration: none;
	color: black;
}

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
	background-image: none;
	text-shadow: none;
}

body .ui-commandlink:hover {
    text-decoration: none !important;
}

.icon-perfil {
	background-image:url("/jakarta.faces.resource/images/icons/Perfil.png.xhtml?ln=default") !important;
	background-size: 100% auto;
	width: 30px;
	height: 30px;
}

.bg-login {
	background-image: linear-gradient(to bottom right, #6078f2, lightblue);
	background-size: 100% auto;
}

.bg-landing {
	background-image:url("/jakarta.faces.resource/images/bg/fondo-landing.png.xhtml?ln=default");
	background-size: contain;
}

input#search {
    background-image: url("/jakarta.faces.resource/images/operations/left-arrow.png.xhtml?ln=default");
    background-size:contain;
    background-repeat: no-repeat;
    text-indent: 20px;
    /* Extra Styling */
    padding: 5px 3px;
    transition:0.3s;
}

input#search:focus {
    background-image:none;
    text-indent:0px
}

input#email {
	background-image: url("/jakarta.faces.resource/images/icons/envelope.png.xhtml?ln=default");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left;
	text-indent: 25px;
    transition:0.3s;	
}

input#email:focus {
	background-image:none;
    text-indent:0px
}

input#lock {
	background-image: url("/jakarta.faces.resource/images/icons/lock.png.xhtml?ln=default");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left;
	text-indent: 25px;
    transition:0.3s;	
}

input#lock:focus {
	background-image:none;
    text-indent:0px
}

.dashboard-card.dashboard-card-1 {
	background-color: #007bff;
	border: solid 1px #007bff;
	color: #ffffff;
}

.dashboard-card.dashboard-card-2 {
	background-color: #fd7e14;
	border: solid 1px #fd7e14;
	color: #ffffff;
}

.dashboard-card.dashboard-card-3 {
	background-color: #6f42c1;
	border: solid 1px #6f42c1;
	color: #ffffff;
}

.dashboard-card.dashboard-card-4 {
	background-color: #c061cb;
	border: solid 1px #c061cb;
	color: #ffffff;
}

.dashboard-card.dashboard-card-5 {
	background-color: #61c042;
	border: solid 1px #61c042;
	color: #ffffff;
}

.dashboard-card.dashboard-card-6 {
	background-color: #c2c140;
	border: solid 1px #c2c140;
	color: #ffffff;
}

.dashboard-card.dashboard-card-7 {
	background-color: #c06142;
	border: solid 1px #c06142;
	color: #ffffff;
}

.dashboard-card {
    padding: 15px;
    color: #ffffff;
    min-height: 100px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    margin: 0 !important;
}

.dashboard-card .dashboard-card-title {
    font-weight: bold;
    font-size: 24px;
    width: 100%;
}

.dashboard-card .dashboard-card-count {
    color: #ffffff;
    font-size: 46px;
    width: 100%;
    display: block;
    padding: 5px 0;
}

body .ui-button-upload .ui-button {
    background: #813d9c;
    color: #ffffff;
    border: 1px solid #813d9c;
}

body .ui-button.ui-button-upload {
    background: #813d9c;
    color: #ffffff;
    border: 1px solid #813d9c;
}

body .ui-button.ui-button-download {
    background: #e66100;
    color: #ffffff;
    border: 1px solid #e66100;
}

.ui-fileupload-simple .ui-fileupload-filename {
	margin-left: 0px;
}

.ui-fileupload-filename {
	display: none !important;
}

.eventos-button.ui-button .ui-button-icon-left {
	padding-left: .5rem !important;
}

.eventos-button.ui-button {
	border-radius: 24px !important;
	padding-left: .5rem !important;
	padding-right: .5rem !important;
}

/* Adaptación de combos para que los labels no pisen el icono de apertura del dropdown. */
.ui-selectonemenu .ui-selectonemenu-label {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	display: inline-block;
}

/* Lector de DNI */
/* Relación de aspecto ID-1 (DNI): 85.60 × 53.98 mm ⇒ 85.60 / 53.98 ≈ 1.586 */
.dni-preview-border {
	border: 2px solid #999;
	border-radius: 8px;
}

.dni-preview {
	aspect-ratio: 85.6 / 53.98;
	width: min(92vw, 8.56cm);   /* no supera ~tamaño físico en pantallas grandes */
	max-width: 8.56cm;          /* límite duro ≈ 85.6 mm */
	overflow: hidden;
	background: #000000;
	border-radius: 8px;
	display: block;
	box-shadow: 0 0 0 0 grey;
}

.dni-preview-border.pulsing {
	animation: borderPulse 1s ease-in infinite;
}

@keyframes borderPulse {
	0%   { border-color: transparent; }
	100% { border-color: #999; }
}

.dni-read-ok {
	display: inline-block !important;
	border: 6px solid #22c55e;
	background-color: #22c55e;
	border-radius: 8px;
	box-shadow: 0 0 0 2px rgba(34,197,94,.15);
	transition: border-color .2s ease, box-shadow .2s ease;
}

/* En móvil: hacerlo más chico que el tamaño físico (p.ej. 70% del ancho de la pantalla) */
@media (max-width: 768px) {
	.dni-preview {
		width: min(70vw, 7cm);    /* recorta aún más en teléfonos */
	}
}

.dni__content {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
