/* Fondo uniforme de la app */
.rz-body,
.rz-layout,
.rz-card {
	background-color: #fefeff !important;
}

/* KPI Cards - Dashboard */
.kpi-card {
	transition: transform .15s ease, box-shadow .15s ease;
	cursor: default;
}
.kpi-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(0,0,0,0.12) !important;
}

a {
	text-decoration: none;
	/* Quita el subrayado por defecto */
	color: inherit;
	/* (Opcional) Mantiene el color del texto */
}

a:hover {
	text-decoration: none;
	/* Asegura que no aparezca subrayado al pasar el mouse */
}

.popup-notificaciones {
	position: absolute;
	right: 100px;
	top: 50px;
	width: 400px;
	background: rgb(255, 255, 255);
	border: 1px solid #ddd;
	border-radius: 3px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
	z-index: 1000;
	max-height: 400px;
	overflow-y: auto;
	padding: 10px;
}

.notificacion-item {
	padding: 8px;
	border-bottom: 1px solid #eee;
}

.notificacion-item-read {
	width: 6px;
	height: 6px;
	background-color: #0c5acf;
	border-radius: 6px;
}

.notificacion-item:hover {
	background-color: #ebeef2;
	color: #fa5e04
}

.notificacion-item:last-child {
	border-bottom: none;
}



.border-gris {
	border: 1px solid #d8e1eb;
}

.w-completo {
	width: 100% !important;
}

.h-completo {
	height: 100% !important;
}

.texto-negrita {
	font-weight: bold;
}

*.btn-base {
	color: #fff;
	background-color: #fffb00 !important;
	border-color: #fffb00 !important;
}

.rz-button.rz-variant-outlined.rz-base:not(.rz-state-disabled):hover {
	background-color: var(--rz-base-lighter);
	color: #0151b9 !important;
	background-image: none !important;
}

.rz-button.rz-variant-outlined.rz-base.rz-shade-default {
	box-shadow: inset 0 0 0 var(--rz-border-width) #e9b50a;
	color: #ec2308;
}

.rz-form-field-label {
	background-color: transparent !important;
	margin-top: -9px !important;
	margin-left: -5px !important;
	font-size: 13px !important;
	color: var(--rz-text-secondary-color, #6b6b6b) !important;
}

.rz-form-field-content>* {

	font-size: 14px !important;
}

.rz-form-field-content>*:focus {
	border-radius: 5px !important;
}

.rz-form-field-content>*:hover {
	border-radius: 5px !important;
}


.rz-form-field-content {
	border-radius: 5px !important;
}

.rz-dialog-wrapper:has(.hide-modal-overlay) .rz-dialog-mask {
	background-color: red !important;
}

/* ── DataGrid moderno ────────────────────────────────── */

/* Contenedor general — sin bordes exteriores */
.rz-datagrid,
.rz-datagrid-data,
.rz-datagrid table,
.rz-datatable,
.rz-datatable-scrollable-wrapper,
.rz-datatable-scrollable-view,
.rz-datatable-scrollable-body,
.rz-datatable-scrollable-header,
.rz-datatable-scrollable-footer,
.rz-datagrid .rz-datatable-scrollable-body table,
.rz-datagrid .rz-datatable-scrollable-header table {
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}

.rz-datagrid {
	border-radius: 8px !important;
	overflow: hidden !important;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
}

/* Header */
.rz-grid-table {
	--rz-grid-hover-color: #2d2d2d;
	--rz-grid-selected-color: #2d2d2d;
	--rz-grid-hover-background-color: #eef4ff;
	cursor: pointer;
	border-collapse: collapse !important;
	border: none !important;
}

/* Header — forzado con máxima especificidad */
.rz-datagrid .rz-grid-table thead th,
.rz-datagrid .rz-grid-table thead tr th,
.rz-grid-table thead th {
	background-color: #1765a1 !important;
	border: none !important;
	border-bottom: none !important;
	padding: 0 12px !important;
}

.rz-datagrid .rz-grid-table thead th *,
.rz-datagrid .rz-grid-table thead th .rz-column-title,
.rz-datagrid .rz-grid-table thead th .rz-column-title-content,
.rz-datagrid .rz-grid-table thead th .rz-sortable-column-header,
.rz-datagrid .rz-grid-table thead th .rz-column-header-content,
.rz-datagrid .rz-grid-table thead th i {
	color: #ffffff !important;
	text-transform: capitalize !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	letter-spacing: 0.3px !important;
}

/* Filas */
.rz-data-row td,
.rz-grid-table td,
.rz-grid-table th {
	border-top: none !important;
	border-left: none !important;
	border-right: none !important;
	border-bottom: 1px solid #f0f2f5 !important;
	padding: 0 12px !important;
	font-size: 13.5px !important;
	color: #2d2d2d !important;
}

/* Filas alternas */
.rz-grid-table-striped tbody tr:not(.rz-expanded-row-content):nth-child(even) > td {
	background-color: #f8fafd !important;
}

/* Hover */
.rz-grid-table tbody tr:hover td {
	background-color: #eef4ff !important;
}

/* Fila seleccionada */
.rz-state-highlight td {
	background-color: #ddeeff !important;
	color: #2d2d2d !important;
	border-bottom: 1px solid #b8d4f0 !important;
}

/* Paginador */
.rz-paginator {
	background-color: #fefeff !important;
	border-top: 1px solid #f0f2f5 !important;
	border-bottom: none !important;
	font-size: 13px !important;
}

/* Footer del grid */
.rz-grid-footer td {
	background-color: #f8fafd !important;
	border-top: 1px solid #e8ecf2 !important;
	font-size: 13px !important;
	color: #6b7a8d !important;
	padding: 6px 12px !important;
}


.rz-button {
	border-radius: 5px !important;
	margin-left: 1px !important;
	margin-right: 1px !important;
}

.btn-normal {
	background-color: #5ea2f5 !important;
	color: #e3e3e8 !important;
	border-radius: 5px !important;
}

.btn-aceptar {
	background-color: #3fc177 !important;
	color: #e3e3e8 !important;
	border-radius: 5px !important;
}

.btn-base {
	background-color: #d2e6ff !important;
	color: #133794 !important;
	border-radius: 5px !important;
}

.overlay-ocupado {
	position: fixed;
	/* cubre todo el viewport */
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.5);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2147483647;
	pointer-events: all;
	/* asegura que bloquea clics */
}

.overlay-content-ocupado {
	/* background: white; */
	padding: 30px 50px;
	border-radius: 12px;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

.spinner-ocupado {
	border: 6px solid #fff200;
	border-top: 6px solid #ffffff;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	animation: spin 1s linear infinite;
	margin: 0 auto 15px auto;
}

.rz-dialog {
	/* border: 1px solid #050142!important;  */
	/* border-top: 2px solid #d0d0d0 !important;*/
	border-radius: 5px 5px 5px 5px !important; 
}
.rz-dialog-wrapper {
	background-color: rgba(0, 0, 0, 0.4) !important;
}

.rz-data-row {
	border: none !important;
}
.rz-tabview{
	box-shadow: var(--rz-card-shadow);
}
.rz-tabview-nav{
	background-color: #4db6b2;
	padding-left: 15px !important;
	padding-right: 15px !important;
	padding-top:5px !important;
}

/* ── Global Grid + Tabs Maintenance Skin ───────────────────────── */
.grid-skin-global .rz-datagrid {
	border-radius: 0 !important;
	overflow: visible !important;
	box-shadow: none !important;
	background: transparent !important;
}

.grid-skin-global .rz-grid-table {
	border-collapse: separate !important;
	border-spacing: 0 10px !important;
}

.grid-skin-global .rz-grid-table tbody tr:not(.rz-expanded-row-content) td {
	background: #ffffff !important;
	border-top: 1px solid #dfe8f2 !important;
	border-bottom: 1px solid #dfe8f2 !important;
	border-left: none !important;
	border-right: none !important;
	padding: 10px 12px !important;
	color: #2d3748 !important;
}

.grid-skin-global .rz-grid-table tbody tr:not(.rz-expanded-row-content) td:first-child {
	border-left: 1px solid #dfe8f2 !important;
	border-top-left-radius: 10px !important;
	border-bottom-left-radius: 10px !important;
}

.grid-skin-global .rz-grid-table tbody tr:not(.rz-expanded-row-content) td:last-child {
	border-right: 1px solid #dfe8f2 !important;
	border-top-right-radius: 10px !important;
	border-bottom-right-radius: 10px !important;
}

.grid-skin-global .rz-grid-table tbody tr:not(.rz-expanded-row-content):hover td {
	background-color: #f3f8ff !important;
	border-color: #cfe0f3 !important;
}

.grid-skin-global .rz-state-highlight td {
	background-color: #e9f2ff !important;
	border-color: #bfd6ee !important;
}

.grid-skin-global .rz-tabview {
	box-shadow: none !important;
	border: 1px solid #d9e4f0 !important;
	border-radius: 0 !important;
	overflow: hidden !important;
}

.grid-skin-global .rz-tabview-nav {
	background: #2368a8 !important;
	border-bottom: none !important;
	padding: 6px 10px 0 !important;
}

.grid-skin-global .rz-tabview-nav li a {
	color: #dcecff !important;
	font-weight: 600 !important;
	font-size: 12px !important;
}

.grid-skin-global .rz-tabview-nav li.rz-tabview-selected a {
	color: #1f2a37 !important;
	background: #ffffff !important;
	border-top-left-radius: 4px !important;
	border-top-right-radius: 4px !important;
}

/* Inline header mode: hide table header and show labels inside each row */
.grid-skin-global .gsg-inline-header .rz-grid-table thead {
	display: none;
}

.grid-skin-global .gsg-cell {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.grid-skin-global .gsg-cell__label {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: #8aa0b9;
}

.grid-skin-global .gsg-cell__value {
	color: #1f2a37;
	font-size: 13px;
}

.grid-skin-global .gsg-cell__value--strong {
	font-weight: 700;
}

.rz-navigation-menu .rz-navigation-item {
	border-bottom: 1px solid #d0d0cf !important;
	padding-bottom: 3px !important;
	padding-top: 3px !important;
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}