@charset "ISO-8859-1";

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap');

:root {
	--lighter-fafafa: #FAFAFA;
	--unnamed-font-family-roboto: Roboto;
  	--unnamed-font-style-normal: normal;
  	--unnamed-font-weight-medium: medium;
  	--unnamed-font-weight-normal: normal;
  	--unnamed-font-weight-bold: bold;
  	--normal-d5007f-primario: #D5007F;
}

/*Elementos generales*/
button {
    background-color: #D3006D !important; /* Rosa Institucional */
    background-image: none !important;
    border: none !important;
    color: white !important;
    padding: 3px 50px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 10px rgba(211, 0, 109, 0.3) !important;
    cursor: pointer;
}

button:hover {
    background-color: #b1005c !important;
}

.obligatorio {
	color: #A50F34 !important;
}


/* ===================== ESTILOS DATATABLE========================= */




/* ====== CONTENEDOR ====== */
.tabla-snr {
    width: 100%;
}
			
 .ui-datatable-tablewrapper {
	overflow-x: auto !important;      
	border-radius: 0px;
}
			
/* ====== TABLA ====== */
 table {
	width: 100%;
	border-collapse: separate !important;
	border-spacing: 0;
}

.ui-datatable thead th, 
.ui-datatable tbody td, 
.ui-datatable tfoot td {
    border-radius: 0 !important;
  
}
			
/* ====== HEADER ====== */
 thead th {
	position: sticky;       
	top: 0;
	z-index: 2;
	background: #582e73 !important;
	color: #fff !important;
	font-size: 0.9em;
	text-align: center !important;
}
			
 thead th:first-child { border-top-left-radius: 12px; }
 thead th:last-child  { border-top-right-radius: 12px; }
			
 thead th .ui-sortable-column-icon {
	color: #fff !important;
	margin-left: 6px;
}
			
/* ====== FILTROS ====== */
 thead .ui-column-filter {
	width: 100% !important;
	box-sizing: border-box;
	border-radius: 10px !important;
	padding: 8px 10px !important;
	border: 1px solid rgba(255,255,255,.35) !important;
	background: rgba(255,255,255,.14) !important;
	color: #fff !important;
}
			
 thead .ui-column-filter::placeholder {
	color: rgba(255,255,255,.85);
}
			
/* ====== BODY ====== */
 tbody td {
	padding: 12px 10px !important;
	border: none !important;
	border-bottom: 1px solid rgb(251, 230, 242) !important;
	vertical-align: middle;
}
			
tbody tr:nth-child(even) {
	background: #eeeaf1 !important;
}
			
 tbody tr:hover {
	background: #e6e0ea !important;
}
/* ===== EMPTY MESSAGE ===== */
.ui-datatable-empty-message td {
	color: #999 !important;
	font-style: italic !important;
	text-align: center !important;
	padding: 24px !important;
}
			
/* ====== PAGINADOR ====== */
 .ui-paginator {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center;
	gap: 6px;                   
	padding: 8px 8px 12px 8px;   
	border-top: 1px solid #eeeeee; 
	margin-top: 10px;
	background: transparent !important;
	box-shadow: none !important;
}
			
/* Texto superior */
 .ui-paginator-current {
	width: 100%;
	text-align: center !important;
	margin: 0 !important;
	font-size: 12px;           
	font-weight: 400;          
	color: #777;               
	letter-spacing: 0.3px;
}
			
/* Contenedor de botones */
 .ui-paginator .ui-paginator-pages {
	display: flex !important;
	justify-content: center !important;
	gap: 6px;
	margin: 0 !important;
	padding: 0 !important;
}
			
/* Botones */
 .ui-paginator .ui-paginator-first,
 .ui-paginator .ui-paginator-prev,
 .ui-paginator .ui-paginator-next,
 .ui-paginator .ui-paginator-last,
 .ui-paginator .ui-paginator-page {
	border: 1px solid #582e73 !important;
	background: #fff !important;
	color: #582e73 !important;
	border-radius: 8px !important;
	min-width: 38px;          /* ancho */
	height: 32px;             /* alto */
	padding: 0 10px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	box-shadow: none !important;
	transition: all .18s ease;
}
			
/* Hover Paginator */
 .ui-paginator .ui-paginator-page:hover,
 .ui-paginator .ui-paginator-first:hover,
 .ui-paginator .ui-paginator-prev:hover,
 .ui-paginator .ui-paginator-next:hover,
 .ui-paginator .ui-paginator-last:hover {
	background: #582e73 !important;
	color: #fff !important;
	transform: translateY(-1px);
}
			
/* Activo */
 .ui-paginator .ui-paginator-page.ui-state-active {
	background: #582e73 !important;
	color: #fff !important;
	border-color: #582e73 !important;
}
			
/* Inactivo */
 .ui-paginator .ui-paginator-rpp-options {
	
	font-size: 12px;
	border-radius: 8px;
	border: 1px solid #ddd;
	margin-top: 28px !important;
}
/* Centrar paginador */
 .ui-paginator {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
}
			
/* Centra el bloque interno de los números */
 .ui-paginator-bottom,
 .ui-paginator-top {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	width: 100% !important;
}
			
/* Centra bloque de los botones */
 .ui-paginator-center-content {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 6px;
	width: 100% !important;
}
			
/* ====== Icono descarga ====== */
 .button-descarga {
    padding: 6px 10px !important;
    border-radius: 10px !important;
	border: 1px solid #582e73 !important;
	background: #fff !important;
	box-shadow: none !important;
}
			
 .button-descarga:hover {
	background: #e6e0ea !important;
}
			
/* ====== RESPONSIVE (Pantallas pequeñas) ====== */
@media (max-width: 768px) {
 thead th {
	font-size: 13px;
	padding: 10px 8px !important;
}
			
 tbody td {
	font-size: 13px;
	padding: 10px 8px !important;
}
			
 .ui-paginator {
	gap: 6px !important;
}
			
 .ui-paginator .ui-paginator-page,
 .ui-paginator .ui-paginator-first,
 .ui-paginator .ui-paginator-prev,
 .ui-paginator .ui-paginator-next,
 .ui-paginator .ui-paginator-last {
	min-width: 30px !important;
	height: 30px !important;
	border-radius: 9px !important;
   }
}
/* ===== RESPONSIVE PAGINATOR ===== */
@media (max-width: 600px) {
			
/* Paginador */
 .ui-paginator {
	gap: 6px !important;
	padding: 8px 4px !important;
}
			
/* Texto ocupa toda la línea */
 .ui-paginator-current {
	width: 100% !important;
	text-align: center !important;
	font-size: 11px !important;
}
			
/* Botones centrados */
 .ui-paginator-center-content {
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 6px !important;
}
			
/* Dropdown baja debajo y centrado */
 .ui-paginator-rpp-options {
	position: static !important; 
	margin-top: 6px !important;
 }
}
/* ===== ICONO BOTÓN ===== */
.btn-descarga-icon {
	background-color: #D3006D !important;
	border: none !important;
	width: 36px;
	height: 36px;
	border-radius: 8px !important;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease-in-out;
}
			
.btn-descarga-icon .pi {
    color: white !important;
	font-size: 16px;
}
			
.btn-descarga-icon:hover {
	background-color: #351c45!important;
	transform: scale(1.08);
}
			
.btn-descarga-icon:focus {
	box-shadow: none !important;
}

 /* ===================== L O A D E R========================= */
/*  Quitar overlay */
.pe-blockui,
.ui-blockui {
     background: transparent !important;
     left: 55% !important;
}
				
/* Quita la caja/sombra/padding */
.pe-blockui .ui-widget-content,
.pe-blockui .pe-blockui-content,
.ui-blockui .ui-widget-content,
.ui-blockui .ui-blockui-content {
	 background: transparent !important;
	 border: none !important;
	 box-shadow: none !important;
	 padding: 0 !important;
	 margin: 0 !important;
	 border-radius: 0 !important;
	 overflow: visible !important;
	 width: auto !important;
	 height: auto !important;
}
				
/* Asegurar que SOLO se vea el gif */
.pe-blockui img,
.ui-blockui img {
	 display: block !important;
	 max-width: 110px !important;
	 height: auto !important;
}
				
/* Quitar cualquier sombra */
.ui-shadow,
.ui-overlay-visible,
.ui-overlay-hidden,
.ui-corner-all {
	 box-shadow: none !important;
}
 /* ===================== BARRA PROGRESO ========================= */
/* Barra de progreso del p:fileUpload */
body .ui-fileupload .ui-fileupload-content .ui-progressbar {
  background: #E9E9EF !important;  
  border: 0 !important;
  height: 10px;                     
  border-radius: 999px;
  overflow: hidden;
}

body .ui-fileupload .ui-fileupload-content .ui-progressbar .ui-progressbar-value {
  background: #1F1027 !important; 
  border: 0 !important;
  border-radius: 999px;
}

  	/* ===== CONTENT-CARD COMO CARD FULL WIDTH ===== */
.content-card {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    border-radius: 16px !important;
   box-shadow: 0 4px 20px rgba(88,46,115,0.10) !important;
 /*    box-shadow: 0 4px 20px rgba(211, 0, 109, 0.3) !important;*/
    border: 1px solid #e8e2f0 !important;
    background: #f4f0f8 !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    min-height: unset !important;
    height: auto !important;
}

.content-area {
    padding: 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

 /* ===== NUEVO HEADER ===== */
		.snr-page-header {
		    background: #fff;
		    border-radius: 12px;
		    border-left: 5px solid #D3006D;
/*  	        border-left: 5px solid #582e73;*/
		    padding: 20px 28px;
		    margin-bottom: 20px;
/*		    box-shadow: 0 2px 8px rgba(88,46,115,0.08);*/
            box-shadow: 0 4px 14px rgba(213, 0, 127, 0.10);
		    display: flex;
		    align-items: center;
		    justify-content: space-between;
		}
		
		.snr-page-header-content {
		    display: flex;
		    align-items: center;
		    gap: 16px;
		}
		
		.snr-page-header-icon {
		    width: 46px;
		    height: 46px;
/*		    background: linear-gradient(135deg, #582e73, #7b3fa0);*/
		    background: linear-gradient(135deg, #D3006D, #4F2968);
		    border-radius: 10px;
		    display: flex;
		    align-items: center;
		    justify-content: center;
		    flex-shrink: 0;
		}
		
		.snr-page-header-icon .pi {
		    color: #fff !important;
		    font-size: 20px !important;
		}
		
		.snr-page-title {
		    font-size: 1.2rem !important;
		    font-weight: 700 !important;
/*		    color: #2d1b3d !important;*/
    		color: #D5007F !important;
		    margin: 0 0 2px 0 !important;
		    letter-spacing: 0 !important;
		    text-transform: none !important;
		    background: none !important;
		    padding: 0 !important;
		    border: none !important;
		}
		/* ===== SECCIÓN FiltrosAcciones ===== */
	    #seccionFiltrosAcciones {
	        background: #fff !important;
	        border-radius: 12px !important;
	        border: 0.5px solid #e8e2f0 !important;
	        padding: 24px 28px !important;
	        margin-bottom: 20px !important;
	        box-shadow: 0 2px 8px rgba(213, 0, 127, 0.10) !important;
	    }
/*			   #seccionFiltrosAcciones {*/
/*		    position: relative !important;*/
/*		    background: #FFFFFF !important;*/
/*		    border: 0.5px solid #D5007F !important;*/
/*		    border-radius: 14px !important;*/
/*		    padding: 24px 28px !important;*/
/*		    margin-bottom: 24px !important;*/
/*		    box-shadow: 0 4px 14px rgba(213, 0, 127, 0.10) !important;*/
/*		    overflow: hidden !important;*/
/*		    outline: none !important;*/
/*		}*/


	    /* ===== TÍTULOS SECCIÓN ===== */
	    #seccionFiltrosAcciones h1,
	    #seccionTableSNR h1 {
	        font-size: 0.95rem !important;
	        font-weight: 700 !important;
            /* color: #582e73 !important;*/
            color: #D3006D !important;
	        text-transform: uppercase !important;
	        letter-spacing: 0.8px !important;
	        margin: 0 0 20px 0 !important;
	        padding-bottom: 8px !important;
	        border-bottom: 2px solid #eeeaf1 !important;
	    }
	
	    /* ===== HELP TEXT ===== */
	    .help-block {
	        font-size: 12.5px;
	        color: #888;
	        margin-bottom: 16px;
	        display: flex;
	        align-items: center;
	        gap: 4px;
	    }
	
	    /* ===== LABELS ===== */
	    #seccionFiltrosAcciones label {
	        font-size: 12.5px !important;
	        font-weight: 600 !important;
	        color: #422356 !important;
	        margin-bottom: 6px !important;
	        display: block !important;
	    }
	
	    /* ===== SELECTS ===== */
	    .form-control {
	        border: 1.5px solid #d4cae2 !important;
	        border-radius: 10px !important;
	        padding: 10px 14px !important;
	        font-size: 14px !important;
	        width: 100% !important;
	        background: #faf9fc !important;
	        color: #333 !important;
	        transition: border-color .2s, box-shadow .2s !important;
	        appearance: auto !important;
	    }
	
	    .form-control:focus {
	        
	        border-color: #582e73 !important;
            box-shadow: 0 0 0 3px rgba(88,46,115,0.1) !important;
            /*box-shadow: 0 0 0 3px rgba(216, 27, 96, 0.1) !important;
            border-color: #D3006D !important;*/
	        outline: none !important;
	        background: #fff !important;
	    }
	
	    .form-control[disabled] {
	        background: #f0edf5 !important;
	        color: #bbb !important;
	        border-color: #e5dff0 !important;
	        cursor: not-allowed !important;
	    }
	
	    /* ===== SEPARACIÓN entre campos ===== */
	    #seccionFiltrosAcciones .col-md-6 {
	        margin-bottom: 4px;
	    }
	
	    /* ===== SECCIÓN TABLE SNR ===== */
	    #seccionTableSNR {
	        background: #fff !important;
	        border-radius: 12px !important;
            border: 1px solid #e8e2f0 !important;
	        padding: 24px 28px !important;
            /*box-shadow: 0 2px 8px rgba(88,46,115,0.06) !important;*/
            box-shadow: 0 2px 8px rgba(213, 0, 127, 0.10) !important;
	        overflow: hidden !important;
	        
	    }	


		/* Regla Global para Inputs y el contenedor del Combo */
		.ui-inputfield, 
		.ui-selectonemenu {
		    border: 1.5px solid #d4cae2 !important;
		    border-radius: 10px !important;
		    background: #faf9fc !important;
		    padding: 0 !important; 
		    transition: all .2s ease !important;
		    width: 100% !important;
		    box-sizing: border-box !important;
		}

		/*  Ajuste específico para Inputs de texto  */
		.ui-inputfield {
		    padding: 10px 14px !important;
		    color: #333 !important;
		}

		/* Ajuste para que el texto dentro del Combo se alinee con los inputs */
		.ui-selectonemenu .ui-selectonemenu-label {
		    padding: 10px 14px !important; 
		    font-size: 14px !important;
		    background: transparent !important;
		    color: #333 !important;
		    height: auto !important; 
		    text-align: left !important;
		}

		/* Limpieza de la flecha del Combo */
		.ui-selectonemenu .ui-selectonemenu-trigger {
		    background: transparent !important;
		    border: none !important;
		    width: 35px !important;
		}

		/* HOVER */
		.ui-inputfield.ui-state-hover,
		.ui-selectonemenu.ui-state-hover {
		    border-color: #D81B60 !important;
		    background-color: #FDF2F7 !important;
		}

		/* FOCUS */
		.ui-inputfield.ui-state-focus,
		.ui-selectonemenu.ui-state-focus {
		    border-color: #aa0066 !important;
		    box-shadow: 0 0 0 3px rgba(216, 27, 96, 0.2) !important;
		    background-color: #ffffff !important;
		}



		/*  */
		.ui-selectonemenu-panel .ui-selectonemenu-items .ui-selectonemenu-item.ui-state-highlight,
		.ui-selectonemenu-panel .ui-selectonemenu-items .ui-selectonemenu-item.ui-state-hover {
		    background: #D5007F !important; 
		    color: #ffffff !important;    
		    text-shadow: none !important;
		    border-radius: 5px !important;  
		}

		.ui-selectonemenu-panel .ui-selectonemenu-items .ui-selectonemenu-item {
		    transition: background-color 0.1s;
		    border: none !important;
		}

		/* Estilo del contenedor de la lista */
		.ui-selectonemenu-panel {
		    border: 1px solid #d4cae2 !important;
		    border-radius: 10px !important;
		    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
		    background-color: #ffffff !important;
		}
		
		.snr-info-banner { background-color: #e2f0f1;  padding: 12px 20px; border-radius: 8px; margin-bottom: 30px; display: flex; align-items: center; font-size: 0.9rem; }
		.snr-info-banner i { margin-right: 12px; font-size: 1.2rem; }
		.snr-footer { text-align: center; margin-top: 40px; }
		.snr-link { color: #c2185b; }
		.snr-divider { margin: 0 10px; color: #ccc; }
		
		
/* ===== HEADER NAV TABS ===== */

.snr-page-header-row {
	background: #fff;
    border-radius: 12px;
/*    border-left: 5px solid #582e73;*/
    border-left: 5px solid #D3006D;
    padding: 20px 28px;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(88, 46, 115, 0.08);
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
}
				
.snr-nav-tabs {
    display: flex;
    gap: 4px;
    padding: 0 24px 0 24px;
    border-top: 1px solid #e8e2f0;
    margin-top: 12px;
}

.snr-nav-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    font-size: 0.875rem;
    font-weight: 500;
    color: #b86a97;
    text-decoration: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -1px;
    transition: all 0.2s ease;
}

.snr-nav-tab:hover {
    color: #D5007F;
    border-bottom-color: #b86a97;
    background: rgba(213, 100, 127, 0.10);
}

.snr-nav-tab.active {
    color: #D5007F;
    border-bottom-color: #D5007F;
    font-weight: 600;
}

.snr-nav-tab i {
    font-size: 0.85rem;
}


/* ==============================
   RADIO BUTTONS GLOBAL SNR
============================== */

/* radio normal (gris) */
.ui-radiobutton .ui-radiobutton-box {
    border: 1.5px solid #cdbfd7 !important;
    background: #fff !important;
    box-shadow: none !important;
}

/* hover */
.ui-radiobutton .ui-radiobutton-box.ui-state-hover {
    border-color: #D5007F !important;
}

/* seleccionado (el círculo exterior) */
.ui-radiobutton .ui-radiobutton-box.ui-state-active {
    border-color: #D5007F !important;
    background: #fff !important;
}

/* seleccionado */
.ui-radiobutton .ui-radiobutton-box.ui-state-active .ui-radiobutton-icon {
    background-color: #D5007F !important;
}

/* efecto focus */
.ui-radiobutton .ui-radiobutton-box.ui-state-focus {
    box-shadow: 0 0 0 3px rgba(213, 0, 127, 0.15) !important;
}

 /* ==============================
   PRIMEFACES CALENDAR - SNR FINAL
============================== */

/* ===== CONTENEDOR ===== */
.ui-datepicker {
    z-index: 999999 !important;
    border: 1px solid #e7d8e4 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 8px 24px rgba(213, 0, 127, 0.12) !important;
    overflow: hidden !important;
    padding: 10px !important;
}

/* ===== HEADER ===== */
.ui-datepicker .ui-datepicker-header {
    background: #582E73 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px 10px 0 0 !important;
    padding: 10px 12px !important;
}

/* título */
.ui-datepicker .ui-datepicker-title,
.ui-datepicker .ui-datepicker-title select {
    color: #fff !important;
    font-weight: 600 !important;
}

/* flechas */
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
    color: #fff !important;
    transition: all .2s ease !important;
}

.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover {
    opacity: 0.85;
}

/* ===== DÍAS HEADER ===== */
.ui-datepicker table th {
    background: #582E73 !important;
    color: #fff !important;
    font-weight: 600 !important;
    padding: 10px 0 !important;
    border: none !important;
}

/* ===== CELDAS ===== */
.ui-datepicker table td {
    padding: 4px !important;
}

/* días base */
.ui-datepicker td a,
.ui-datepicker td span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    margin: 0 auto !important;
    border-radius: 999px !important;
    color: #2f2237 !important;
    background: transparent !important;
    border: none !important;
    transition: all .2s ease !important;
}

/* ===== HOVER ===== */
.ui-datepicker td a:hover {
    background: rgba(213, 0, 127, 0.10) !important;
    color: #D5007F !important;
}

/* ===== DÍA SELECCIONADO ===== */
.ui-datepicker td a.ui-state-active,
.ui-datepicker td a.ui-state-highlight {
    background: #D5007F !important;
    color: #fff !important;
    box-shadow: 0 4px 10px rgba(213, 0, 127, 0.18) !important;
}

/*  HOY blanco */
.ui-datepicker td a.ui-state-active span,
.ui-datepicker td a.ui-state-highlight span,
.ui-datepicker td a.ui-state-active,
.ui-datepicker td a.ui-state-highlight {
    color: #fff !important;
}

/* ===== HOY (no seleccionado) ===== */
.ui-datepicker .ui-datepicker-today a:not(.ui-state-active):not(.ui-state-highlight) {
    border: 1.5px solid #D5007F !important;
    color: #D5007F !important;
    font-weight: 600 !important;
    background: transparent !important;
}

/* ===== SELECTS (MES / AÑO) ===== */
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
    border: 1px solid #d4cae2 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #333 !important;
    padding: 6px 10px !important;
    box-shadow: none !important;
}

/* focus */
.ui-datepicker select.ui-datepicker-month:focus,
.ui-datepicker select.ui-datepicker-year:focus {
    border-color: #D5007F !important;
    box-shadow: 0 0 0 3px rgba(213, 0, 127, 0.15) !important;
    outline: none !important;
}

/* ===== BOTONES (si aparecen) ===== */
.ui-datepicker .ui-datepicker-buttonpane button {
    background: #D5007F !important;
    border: none !important;
    color: #fff !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 10px rgba(213, 0, 127, 0.18) !important;
}

.ui-datepicker .ui-datepicker-buttonpane button:hover {
    background: #C00072 !important;
}

/* ==============================
   COMBOS PRIMEFACES (GLOBAL)
============================== */

/* contenedor */
body .ui-selectonemenu {
    background: #ffffff !important;
    border: 1.5px solid #dfe5ef !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    box-shadow: none !important;
}

/* texto */
body .ui-selectonemenu .ui-selectonemenu-label {
    padding: 8px 12px !important;
    color: #495057 !important;
    text-align: left !important;
    background: transparent !important;
}

/* icono */
body .ui-selectonemenu .ui-selectonemenu-trigger {
    background: transparent !important;
    border: none !important;
    width: 35px !important;
}

/* focus */
body .ui-selectonemenu.ui-state-focus {
    border-color: #d81b60 !important;
    box-shadow: 0 0 0 3px rgba(216, 27, 96, 0.1) !important;
}
/* ==============================
   PANEL DROPDOWN
============================== */

body .ui-selectonemenu-panel {
    border-radius: 10px !important;
    border: 1px solid #dfe5ef !important;
    box-shadow: 0 10px 24px rgba(0,0,0,0.08) !important;
    overflow: hidden !important;
}

/* lista */
body .ui-selectonemenu-panel .ui-selectonemenu-items {
    padding: 6px !important;
    background: #fff !important;
}

/* item */
body .ui-selectonemenu-panel .ui-selectonemenu-item {
    border-radius: 6px !important;
    padding: 5px 12px !important;
    color: #495057 !important;
    transition: all .15s ease !important;
}

/* hover */
body .ui-selectonemenu-panel .ui-selectonemenu-item.ui-state-hover {
    background: rgba(216, 27, 96, 0.10) !important;
    color: #d81b60 !important;
}

/* seleccionado (ANTES era azul ❌) */
body .ui-selectonemenu-panel .ui-selectonemenu-item.ui-state-highlight {
    background: #d81b60 !important;
    color: #fff !important;
    text-shadow: none !important;
}
	
/* ==============================
   BOTÓN CANCELAR PEQUEÑO
============================== */

.snr-btn-small.ui-button {
    font-size: 12px !important;
    border-radius: 8px !important;
    height: auto !important;
    min-height: auto !important;
    width: 180px;
}

/* opcional: ajustar sombra */
.snr-btn-small.ui-button {
    box-shadow: 0 3px 8px rgba(213, 0, 127, 0.15) !important;
}


/*==================================
	p:tabMenu Global
================================== */

/*La línea inferior (borde) de la pestaña activa */
.ui-tabmenu .ui-tabmenu-nav .ui-tabmenuitem.ui-state-active {
    border-bottom: 2px solid #D5007F !important;
    background: transparent !important; /* Evita fondos grises de temas por defecto */
}

/* El texto de la pestaña activa */
.ui-tabmenu .ui-tabmenu-nav .ui-tabmenuitem.ui-state-active .ui-menuitem-link {
    color: #D5007F !important;
}

/* El icono de la pestaña activa */
.ui-tabmenu .ui-tabmenu-nav .ui-tabmenuitem.ui-state-active .ui-menuitem-link .ui-menuitem-icon {
    color: #D5007F !important;
}

/* Efecto Hover (cuando pasas el mouse por encima) */
.ui-tabmenu .ui-tabmenu-nav .ui-tabmenuitem:hover .ui-menuitem-link,
.ui-tabmenu .ui-tabmenu-nav .ui-tabmenuitem:hover .ui-menuitem-link .ui-menuitem-icon {
    color: #C00072 !important;
    border-bottom-color: #C00072 !important;
}		
/*==================================
		Fin	p:tabMenu Global
================================== */


/*==================================
 		Estilo para p:fileUpload 
====================================*/

/* Contenedor principal del componente */
 .ui-fileupload {
    position: relative;
    padding-right: 550px !important; /* Espacio reservado para los botones a la derecha */
    min-height: 250px;
}

/* Rediseño de la Caja Punteada */
.ui-fileupload-content {
    border: 2px dashed #d1d1d1 !important;
    background: #fafafa !important;
    border-radius: 15px !important;
    padding: 60px 20px 100px 20px !important; /* Más espacio abajo para el botón */
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    min-height: 250px;
}

/*  Forzar Icono pi-upload ) */
.ui-fileupload-content::before {
    content: "\e934" !important; 
    font-family: 'primeicons' !important;
    font-size: 4rem !important;
    color: #c0c0c0 !important;
    display: block !important;
    margin-bottom: 10px;
}

/* Texto "Arrastra aquí..." Arriba de todo */
.ui-fileupload-content::after {
    content: "Arrastra aqu los archivos para subir";
    display: block !important;
    font-weight: bold;
    color: #333;
    order: -1 !important; /* Lo sube al principio del flex */
    margin-bottom: 25px !important;
}



/* Caja de botones (Examinar, Agregar, Cancelar) */
.ui-fileupload-buttonbar {
    position: absolute !important;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 500px; /* Ancho de la columna de botones */
    display: flex !important;
    flex-direction: column !important; /* Botones uno sobre otro */
    gap: 10px;
    background: transparent !important;
    border: none !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	/* Crea dos columnas iguales */
	grid-template-areas:
			"choose choose"
			"upload cancel";
			
}

/* Estilo del Botón "Explora tus archivos" */
.ui-fileupload-choose {
	background: #fce4ec !important;
	color: rgb(0, 0, 0) !important;
	border: none !important;
	border-radius: 8px !important;
	
	width: 100% !important;
	margin: 0 !important;
	grid-area: choose;
}


/* Estilo del Botón "Explora tus archivos" */
.ui-fileupload-upload {
	grid-area: upload;
	width: 100% !important;
	margin: 0 !important;
	border-radius: 8px !important;
}

/* Estilo del Botón "Cancelar" */
.ui-fileupload-cancel {
	grid-area: cancel;
	width: 100% !important;
	margin: 0 !important;
	border-radius: 8px !important;
}

.ui-fileupload-buttonbar .ui-icon {
    display: none !important; /* Esconde el icono de la flecha y la X */
}


/* Estilo del Botón "Cancelar del progressbar" */
.ui-fileupload-row .ui-fileupload-cancel {
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important; /* Quita sombras si el tema las pone */
	position: relative !important;

}

.ui-fileupload-row .ui-fileupload-cancel .ui-button-text {
    display: none !important;
}

.ui-fileupload-row .ui-fileupload-cancel .ui-icon {
    display: block !important;
    visibility: visible !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important; /* Centrado perfecto */
    color: rgb(0, 0, 0) !important;

    font-family: 'primeicons' !important;
    background: none !important; /* Quita iconos de fondo antiguos */
}
.ui-fileupload-row .ui-fileupload-cancel .ui-icon::before {
    content: "\e90b" !important; /* Código de pi-times (X) */

}

/* arreglo de desborde */

/* Mantener la tabla interna dentro del contenedor */
.ui-fileupload-files {
    width: 100% !important;
    table-layout: fixed !important;
}

/* Celdas base */
.ui-fileupload-files td {
    vertical-align: middle !important;
    overflow: hidden !important;
    padding: 4px 6px !important;
}

/* La fila se acomoda en varias líneas */
.ui-fileupload-files .ui-fileupload-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Nombre del archivo */
.ui-fileupload-files .ui-fileupload-filename {
    display: inline-block !important;
    max-width: 180px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

/* Tamaño */
.ui-fileupload-files td:nth-child(2) {
    width: auto !important;
    white-space: nowrap !important;
    flex: 0 0 auto !important;
}

/* La celda de la barra se baja a otra línea */
.ui-fileupload-files td:nth-child(3) {
    flex-basis: 100% !important;
    width: 100% !important;
    margin-top: 6px !important;
    padding: 0 !important;
}

/* Barra visible y completa */
.ui-fileupload-files td:nth-child(3) .ui-progressbar {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 8px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

/* Botón cancelar */
.ui-fileupload-files td:last-child {
    width: 35px !important;
    white-space: nowrap !important;
    text-align: center !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
}

/*==================================
 	Fin de Estilo para p:fileUpload 
====================================*/

/* =====================================================
   SNR 10 – Botones de acción dentro de DataTables
   (sin tocar estructura de tabla)
   ===================================================== */

/* Columna de acciones (última columna) */
.ui-datatable tbody td:last-child {
    text-align: center !important;
}

/* Botones dentro de tablas: quitar estilo de formulario */
.ui-datatable tbody td:last-child button,
.ui-datatable tbody td:last-child .ui-button {
    padding: 0 !important;          /* mata el 3px 50px */
    margin: 0 auto !important;      /* centra horizontal */
    min-width: auto !important;
    min-height: auto !important;

    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.snr-exportadores {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.snr-exportadores img {
    display: block;
}
/* Alinear Excel y PDF con los controles del paginador */
body .ui-paginator .ui-paginator-center-content > .snr-exportadores {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;

    height: 42px !important;
    min-height: 42px !important;

    margin: 0 0 0 8px !important;
    padding: 0 !important;

    vertical-align: middle !important;
    line-height: 0 !important;

    position: relative !important;
    top: 6px !important;
}

/* Links de Excel y PDF */
body .ui-paginator .snr-exportadores > a,
body .ui-paginator .snr-exportadores > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}

/* Imágenes */
body .ui-paginator .snr-exportadores img {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
}

/* ==========================================
   Color del texto de los filtros del DataTable
   ========================================== */
body .ui-datatable thead .ui-column-filter {
    color: #333 !important;
    caret-color: #333 !important;
}

body .ui-datatable thead .ui-column-filter::placeholder {
    color: #FFFFFF  !important;
}
/* Texto del filtro */


/* Filtro sin foco: texto blanco */
body .ui-datatable thead .ui-column-filter:not(:focus),
body .ui-datatable thead .ui-column-filter.ui-state-filled:not(:focus),
body .ui-datatable thead .ui-column-filter.ui-state-active:not(:focus) {
    color: #fff !important;
    caret-color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

