.ui-dialog-content{
	background-color: #fff !important;
}

.ui-widget-content{
	background-color: #fff !important;
}

#formProveedores{
	background-color: #fff !important;
}

.ui-widget,
.ui-widget .ui-widget {
    font-size: 1em !important;   
    font-family:'Open Sans',sans-serif !important;

}

.ui-datatable-tablewrapper {
    border: none !important;    
    overflow: auto  !important;
}

/* Encabezado */
.ui-datatable thead th {
    background-color: #2A395E !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    text-align: center !important;
    padding: 10px 8px !important;        
}

/* Filas */
.ui-datatable tbody td {
    background-color: #ffffff !important;  /* fondo limpio */
    color: #4A5565 !important;             /* texto gris oscuro */
    text-align: center !important;
    vertical-align: middle !important;
    padding: 8px !important;    
}

/* Hover de fila */
.ui-datatable tbody tr:hover td {
    background-color: #f3f4f6 !important; /* gris claro al pasar mouse */
    cursor: pointer !important;
}

/* Pie de tabla */
.ui-datatable tfoot td {
    background-color: #2A395E !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    text-align: center !important;
}

/* Opcional: paginación minimalista */
.ui-paginator {
    background-color: transparent !important;
    border: none !important;
}

.ui-paginator .ui-paginator-page {
    color: #2A395E !important;
    font-weight: 500 !important;
}

.ui-paginator .ui-state-active {
    background-color: #4A5565 !important;
    color: #ffffff !important;
}


.container-100{
	width: 100%;
	text-align: center;
}
.container-100-left{
	width: 100%;
	text-align: left;
}

#j_idt68_content .tbody, td, tfoot, th, thead, tr{
	font-weight: bolder !important;	
}

.tbody {	  	
	width: 100% !important;	
}

.tbody, td, tfoot, th, thead, tr {
	font-size: 12px !important;  
	padding: 5px !important;		
}

.ui-inputfield, .ui-widget-content .ui-inputfield, .ui-widget-header .ui-inputfield{
	margin: 10px !important;
	width: 100% !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    border: 1px solid #d1d5db !important; /* gris suave */
    border-radius: 8px !important; /* esquinas redondeadas modernas */
    background-color: #ffffff !important;
    color: #374151 !important; /* gris oscuro */
    transition: all 0.2s ease-in-out !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.05) !important;			
}

/* Hover */
.ui-inputfield:hover {
    border-color: #4A5565 !important;     
}

/* Focus (cuando el usuario escribe) */
.ui-inputfield:focus {
    border-color: #4A5565 !important; /* azul fuerte */
    box-shadow: 0 0 0 3px rgba(74, 85, 101, 0.2) !important; /* halo suave del mismo color */        
    outline: none !important;
}

.ui-datepicker .ui-datepicker-header{
	background: #4A5565 !important; 	
}

.ui-datepicker-calendar thead tr th{
	background: #4A5565 !important; 	
}

.ui-datepicker td a.ui-state-default:hover{
	background: #4A5565 !important;
}

.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {
	color: #4A5565 !important;
	background-color: #fff !important;
}

#j_idt69{
	background: #000 !important;
}

#j_idt68_header.ui-widget-header {
	margin: 10px !important;
	padding: 7px !important;
    border: 1px solid #4A5565;
    border-radius: 10px !important;
    font-size: 12px !important;  
    font-weight: bolder !important;  
    background: #2A395E !important; 
    color: #fff !important;     
    text-align: center !important;
}

.ui-widget-header {
	margin: 10px !important;
	padding: 7px !important;
    border: 1px solid #fff;
    border-radius: 10px !important;
    font-size: 0.8em !important;       
    background: #fff !important; 
    color: #000 !important;     
	}
	
.ui-paginator-first,
.ui-paginator-prev,
.ui-paginator-next,
.ui-paginator-last{
	background: #4A5565 !important;	
}

.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled{
	background: #4A5565 !important;	
}

/* Por defecto (Escritorio) */
.desktop-menu {
    display: block;
}

.mobile-menu {
    display: none;
}

 .main-header-mobile{
    display: none !important;    
 }
 
 #formConsultaMovil{
	display: none !important;
 }
 
 .mobile-menu{
  display:none;
  width:100%;
  height:164px;
  float:right;
  margin-top:1px;
  margin-right:1px;
  text-align:right;
  background: #666633;
  background: -webkit-linear-gradient(left, #f6f6ee, #666633);
  background: -o-linear-gradient(right, #f6f6ee, #666633);
  background: -moz-linear-gradient(right, #f6f6ee, #666633); 
  background: linear-gradient(to right, #f6f6ee, #666633); 
}


@media (max-width: 575.98px) {
  /* Estilos para celulares chicos */
   .main-header{
    display: none !important;
    }
    
    .header-logo{
    padding: 5px !important
    }
       
	.navbar-toggler-icon{
	border: none !important;}
	
	.main-header-mobile{
	display: block !important;
	}
	
	.ui-datatable-tablewrapper {
        overflow-x: auto !important;  /* permite scroll horizontal */
    }

    .ui-datatable-tablewrapper table {
        width: 1200px !important;  /* ancho mínimo para todas las columnas */
    }
    
    .tbody, td, tfoot, th, thead, tr {
	font-size: 10px !important;  
	padding: 2px !important;		
	}
	
	#formConsulta{
	display: none !important;
	}
	
	#formConsultaMovil{
	display: block !important;
	width: 100% !important;
	}
	
	.card{
	border: none !important;
	background-color: #2A395E !important;
	
	}
	
	.ui-menu .ui-menuitem{
	color: #fff !important;
	font-weight: bolder !important;
	font-size: 13px !important;
	}
	
	.ui-menu .ui-menu-list .ui-menuitem .ui-menuitem-link::after {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-left: 8px;
	background-image: url('data:image/svg+xml;utf8,<svg fill="white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 17l5-5-5-5v10z"/></svg>');
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	transform: rotate(90deg);
	}		
}


@media (min-width: 576px) and (max-width: 767.98px) {
  /* Estilos para celulares grandes */
   .main-header{
    display: none !important;
    }
    
    .header-logo{
    padding: 5px !important
    }
       
	.navbar-toggler-icon{
	border: none !important;}
	
	.main-header-mobile{
	display: block !important;
	}
	
	.ui-datatable-tablewrapper {
        overflow-x: auto !important;  /* permite scroll horizontal */
    }

    .ui-datatable-tablewrapper table {
        width: 1200px !important;  /* ancho mínimo para todas las columnas */
    }
    
    .tbody, td, tfoot, th, thead, tr {
	font-size: 10px !important;  
	padding: 2px !important;		
	}
	
	#formConsulta{
	display: none !important;
	}
	
	#formConsultaMovil{
	display: block !important;
	width: 100% !important;
	}
	
	.card{
	border: none !important;
	background-color: #2A395E !important;
	
	}
	
	.ui-menu .ui-menuitem{
	color: #fff !important;
	font-weight: bolder !important;
	font-size: 13px !important;
	}
	
	.ui-menu .ui-menu-list .ui-menuitem .ui-menuitem-link::after {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-left: 8px;
	background-image: url('data:image/svg+xml;utf8,<svg fill="white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 17l5-5-5-5v10z"/></svg>');
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	transform: rotate(90deg);
}		
}


@media (min-width: 768px) and (max-width: 991.98px) {
  /* Estilos para tablets */
   .main-header{
    display: none !important;
    }
    
    .header-logo{
    padding: 5px !important
    }
       
	.navbar-toggler-icon{
	border: none !important;}
	
	.main-header-mobile{
	display: block !important;
	}
	
	.ui-datatable-tablewrapper {
        overflow-x: auto !important;  /* permite scroll horizontal */
    }

    .ui-datatable-tablewrapper table {
        width: 1200px !important;  /* ancho mínimo para todas las columnas */
    }
    
    .tbody, td, tfoot, th, thead, tr {
	font-size: 10px !important;  
	padding: 2px !important;		
	}
	
	#formConsulta{
	display: none !important;
	}
	
	#formConsultaMovil{
	display: block !important;
	width: 100% !important;
	}
	
	.card{
	border: none !important;
	background-color: #2A395E !important;
	
	}
	
	.ui-menu .ui-menuitem{
	color: #fff !important;
	font-weight: bolder !important;
	font-size: 13px !important;
	}
	
	.ui-menu .ui-menu-list .ui-menuitem .ui-menuitem-link::after {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-left: 8px;
	background-image: url('data:image/svg+xml;utf8,<svg fill="white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 17l5-5-5-5v10z"/></svg>');
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	transform: rotate(90deg);
}		
}


@media (min-width: 992px) and (max-width: 1199.98px) {
  /* Estilos para laptops */
}

@media (min-width: 1200px) {
  /* Estilos para pantallas grandes */
}

.ui-dialog{
	background-color: #fff !important;
}

#dlgErrores{
	background-color: #fff !important;
}

.ui-menu .ui-menu-list .ui-menuitem .ui-menuitem-link:first-of-type{	
	color: #fff !important;
	font-weight: bolder !important;
	font-size: 13px !important;
}

.ui-menu .ui-menu-list .ui-menuitem .ui-menuitem-link::after {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-left: 8px;
	background-image: url('data:image/svg+xml;utf8,<svg fill="white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 17l5-5-5-5v10z"/></svg>');
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	transform: rotate(90deg);
}


.ui-menu .ui-menu-list .ui-menuitem .ui-menuitem-link:hover::after {
	background-image: url('data:image/svg+xml;utf8,<svg fill="dark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 17l5-5-5-5v10z"/></svg>');
}

.ui-menu .ui-menu-list .ui-menuitem .ui-menuitem-link .ui-icon{	
	display: none !important;
}

.ui-menu .ui-menuitem:has(.ui-menuitem-link:hover) .ui-menuitem-link {
	color: #000 !important;
	background-color: #fff !important;
	transform: translateY(-1px);
}

.ui-menu .ui-menu-list .ui-menuitem .ui-menu-list .ui-menuitem .ui-menuitem-link:first-of-type{
	color: #000 !important;
}

.ui-menu .ui-menu-list .ui-menuitem .ui-menu-list .ui-menuitem .ui-menuitem-link::after {
	content: "";
	display: none;	
}

.ui-menu .ui-menu-list .ui-menuitem .ui-menu-list .ui-menuitem .ui-menuitem-link:first-of-type .ui-icon{
	display: block !important;
}

.ui-menu .ui-menu-list .ui-menuitem .ui-menu-list .ui-menuitem .ui-menuitem-link:first-of-type:hover{
	color: #fff !important; 
	background-color: #2A395E !important;
}

		
td{
    vertical-align: top !important;
    border-spacing: 10px !important;
    /*    width: auto !important;*/
    /*white-space:nowrap*/
}

table
{
    border-collapse:separate;
    border-spacing:10px 1px;

}

.label-success {
    background-color: #5cb85c;
}

.label-warning {
    background-color: #f0ad4e;
}

.label-primary {
    background-color: #428bca;
}

.label-info {
    background-color: #5bc0de;
}

.label-danger {
    background-color: #d9534f;
}

.label {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 75%;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}

.badge {
    display: inline-block;
    min-width: 10px;
    padding: 3px 7px;
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    line-height: 1;
    vertical-align: baseline;
    white-space: nowrap;
    text-align: center;
    background-color: #999;
    border-radius: 10px;
}

/* .ui-widget-header { */
/* background: #FFFFFF !important; */
/* color: #2c3e50; */
/* } */

.badge {
    display: inline-block;
    min-width: 10px;
    padding: 3px 7px;
    font-size: 13px;
    font-weight: bold;
    color: #ffffff;
    line-height: 1;
    vertical-align: baseline;
    white-space: nowrap;
    text-align: center;
    background-color: #0088cc;
    border-radius: 10px;
}



/*.ui-menu .ui-menu-item {
background-color: #FFFFFF !important;
}*/

.title{
    font-family: Verdana,Arial,sans-serif;
    color: #FFF;
    font-size: medium;

}

.btn-info {
    color: #ffffff;
    background-color: #3498db;
    border-color: #3498db;
}

.btn {
    display: inline-block;
    margin-bottom: 0;
    font-weight: normal;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    white-space: nowrap;
    padding: 10px 15px;
    font-size: 15px;
    line-height: 1.42857143;
    border-radius: 4px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.ajustar{    
    white-space:nowrap !important;
}

.panelIzquierdo{
    width: 30%;
    vertical-align: top !important;
    border-spacing: 10px !important;
    /*    width: auto !important;*/
    white-space:pre;

}

.panelDerecho{
    white-space: pre-wrap;
}

ul.ui-menu-child {
    white-space: nowrap;
    width: auto !important;
}

.textoNegrita{
    font-weight: bold;
}

.textoCursiva{
    font-style: italic;
    font-size: small;
}
.estiloId{
    width: 40px;
}

.estiloText{
    width: 100px;
}
.estiloDetalle{
    width: 100%;    
}

.ui-inputfield{
    width: 230px !important;
}
.selectStatic{
    resize: none !important; 
    width: 230px !important;
}

.textoBreak{
    white-space: initial !important
}

table.tablaWrap td{
    width: 100%;
    white-space: initial !important
}


.imagenAjustada{
    max-height: 300px;
    max-width: 300px;
    object-fit: cover;
}


.rojita{
    color:red;
}

.fila-espaciada td {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}



.panelMinimo{
    min-height: 250px !important;
}

.dateTimeField input {
    vertical-align: middle;
    margin-right: 1px;
    width: 60px !important;
}

.cfdp-panel{
      background-image: url("/RecepcionFactura/javax.faces.resource/images/cfdp.jpg.jsf")!important ;
      background-repeat: no-repeat;
     /**  background: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/owl1.jpg); **/
  /*opacity: 0.25;*/
}

.excelIcon{
	background-image: url("/RecepcionFactura/resources/images/excel-icon.png")!important;
	background-repeat: no-repeat;
}

.gridProveedor {
    gap: 18px;    
}

.formProveedorCampo {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

/* .formProveedorLabel { */
/*     font-size: 13px; */
/*     font-weight: 500; */
/* } */

.formProveedorLabel {
    display: inline-block;
    min-width: 120px;  
    font-size: 13px;
    font-weight: 600;
}

.obligatorio::after{
    content:" *";
    color:red;
    font-weight:bold;
    margin-top: -1px;
  	margin-right: 8px;
}


.obligatorio{
    margin-top: -1px;
    margin-right: 8px;
}

.inputProveedorCalendar{
	margin-top: -1px !important;
    margin-right: 5px !important;
}

.ui-fluid .p-inputtext,
.ui-fluid .p-selectonemenu,
.ui-fluid .p-calendar {
    width: 100%;
}

.btnCargar {
    font-size: 16px;        
    font-weight: 600;      
    padding: 12px 24px;     
    background-color: #007ad9;   
    color: white;
    border-radius: 6px;
}

.btnCargar:hover {
    background-color: #005bb5;  
}
/*.ui-menu-bar{
     background-color: #1584de !important;
    
}*/

/*.ui-menu {
    background: #1584de !important;
    color: #FFF;
}

.ui-menubar{
    background-color: #13A3DE !important; 
    background: #FFF;
    color: #FFF  !important;
}

.white .ui-menuitem-text{
    color:#FFF;
}

.back .ui-menuitem-text{
    color:#000;
}*/


/* Grupo */
.btn-group-custom {
    display: inline-flex;
    vertical-align: middle;
}

/* Reset fuerte al botón PrimeFaces */
.btn-group-custom .ui-button {
    margin: 0 !important;
/*     border-radius: 0 !important; */
/*     box-shadow: none !important; */
/*     border: 1px solid #d0d0d0 !important; */
/*     background: #f8f9fa !important; */
/*     color: #333 !important; */
/*     font-size: 12px !important; */
    padding: 4px 12px !important;
    min-width: auto !important;
}

/* Elimina doble borde entre botones */
.btn-group-custom .ui-button:not(:first-child) {
    margin-left: -1px !important;
}

/* Bordes redondeados solo extremos */
.btn-group-custom .ui-button:first-child {
    border-top-left-radius: 6px !important;
    border-bottom-left-radius: 6px !important;
}

.btn-group-custom .ui-button:last-child {
    border-top-right-radius: 6px !important;
    border-bottom-right-radius: 6px !important;
}

.btn-small {
    font-size: 12px !important;
    padding: 4px 8px !important;
    height: 28px !important;
}

.btn-small .ui-button-text {
    padding: 0 !important;
}

/* /* Hover suave */ */
/* .btn-group-custom .ui-button:hover { */
/*     background: #e9ecef !important; */
/* } */

/* Permitir salto en texto largo */
.btn-group-custom .ui-button .ui-button-text {
    white-space: normal !important;
    line-height: 1.1 !important;
}

/*DIALOGOS*/
/* ===== DIALOG BASE BLANCO MODERNO ===== */
 
.dialog-blanco.ui-dialog {
    background: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    box-shadow: 0 12px 30px rgba(0,0,0,0.15) !important;
}

/* Header */
.dialog-blanco .ui-dialog-titlebar {
    background: #ffffff !important;
    border: none !important;
    border-bottom: 1px solid #eeeeee !important;
}

/* Quita cualquier sombra interna del tema */
.dialog-blanco .ui-widget-content {
    background: #ffffff !important;
    border: none !important;
}

/* Contenido */
.dialog-blanco .ui-dialog-content {
    background: #ffffff !important;
}

/* Botón cerrar */
.dialog-blanco .ui-dialog-titlebar-close {
    background: transparent !important;
    border: none !important;
}

/* ===== CONFIRM DIALOG BLANCO ===== */


/* 1. Quitar overflow que corta el header */
#bitacoraTable .ui-datatable-scrollable-header-box {
    overflow: visible !important;
}

/* 2. Permitir que el header crezca */
#bitacoraTable .ui-datatable-scrollable-header th {
    height: auto !important;
    white-space: normal !important;
    vertical-align: middle !important;
}

/* 3. El div interno que realmente corta el texto */
#bitacoraTable .ui-column-title {
    display: block !important;
    white-space: normal !important;
    line-height: 1.3 !important;
}


 
.user-text-container {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
}

.user-profile-link {
    text-decoration: none !important;
    display: flex;
    flex-direction: column;  
    align-items: flex-end;   
    line-height: 1.1;        
}

.user-name {
    color: #ffffff;
    font-weight: bold;
    font-size: 13px;
    margin-bottom: 2px;
}

.user-email {
    color: #cbd5e0; 
    font-size: 11px;
    font-weight: normal;
}

.user-profile-link:hover .user-name {
    text-decoration: underline;
    color: #edf2f7;
}