/* ========================================================================== 
   FILE: __core/coreCss/base.css
   PURPOSE: Base and reset rules shared by all views.
   SCOPE: Global tags and accessibility states.
   DEPENDS: tokens.css.
   NOTES: Central base styles for shared behavior and global primitives.
   ========================================================================== */

/* [BASE] Box sizing and root behavior */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
}

/* [BASE] Document typography and rendering */
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-ui);
  font-size: var(--fs-ui);
  line-height: var(--lh-ui);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* [BASE] Generic data typography */
table,
.dataenlista {
  font-family: var(--font-data);
  font-size: var(--fs-data);
  line-height: var(--lh-data);
}

/* [A11Y] Focus and interactive affordances */
:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

a {
  color: var(--primary);
}

a:hover {
  color: color-mix(in srgb, var(--primary) 82%, #000 18%);
}

/* [SURFACE] Legacy body hook alignment */
.dashboardbackground {
  background: var(--bg) !important;
  color: var(--text);
}

/* [CORE] Shared application styles */
/* Esta fuente es la principal en todo el sitio */
@font-face {
    font-family: 'deltadesk-menu-title';
    src: url('../coreFonts/TiltNeon-Regular-VariableFont_XROT\,YROT.ttf') format('truetype');
	font-display: swap;
}
/* Fuente de marca — Goldman (reemplaza Anta) */
@font-face {
    font-family: 'deltadesk-logo';
    src: url('../coreFonts/Goldman-Regular.ttf') format('truetype');
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: 'deltadesk-logo';
    src: url('../coreFonts/Goldman-Bold.ttf') format('truetype');
    font-weight: 700;
    font-display: swap;
}
/* Esta fuente es la principal en todo el sitio */
@font-face {
    font-family: 'deltadesk-main-font';
    src: url('../coreFonts/Exo2-VariableFont_wght.ttf') format('truetype');
	font-display: swap;
}
/*
* Specific styles of core components
* CORE styles
*/
body {
    background: var(--bg);
	overflow-y:auto;
    overflow-x:hidden;
	overscroll-behavior: none;/*Hace que al hacer scroll hacia abajo muy duro la pagina no se recargue en moviles*/
	font-family: "deltadesk-main-font" !important;
	padding: 0rem;
    margin-top:0rem;
    margin-bottom:0rem;
    margin-right:0rem;
    margin-left:0rem;
}
/*para las ventanas externas como de documentos, plantillas o similares utilizar por defecto arial*/
.bodyArial{
	font-family: Arial, sans-serif !important;
}

/* ===== LOGIN: fondo simple, sin texturas ===== */
html, body{
  	height: 100%;
}
body.auth-page{
	min-height: 100vh;
	margin: 0;
}
/* Light login */
.dashboardbackground{
	background-image: none !important;
	background-repeat: no-repeat !important;
	background-attachment: fixed !important;
	background-color: var(--bg) !important;
	color: var(--text);
}

/*Propiedades para la barra de navbar*/
/*Asignar tamaño a todos los iconos del navbar.*/
.navbar-icons{
	font-size:1.563rem !important;
}
/*Eliminar borde de icono toggler del navbar. Icono derecha*/
.navbar-toggler{
	border: none !important; 
}
.navbar-brand{
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: inherit;
}
/*Formato para el logo de navbar*/
.navbar-logoimg{
	height: 32px;
    width: auto;
    display:block;
}
/*Formato para el texto del logo de navbar*/
.navbar-brand-text{
    display:flex;
    flex-direction:column;
    line-height: 1.05;
}
/* FUENTE DE VERDAD del brand text DELTADESK.
   Las páginas públicas (.pm-brand strong, .pv-brand-copy strong) deben replicar
   exactamente estas propiedades. Si se cambia aquí, actualizar también:
   - coreCss/pages.public-marketplace.css → .pm-brand strong
   - coreCss/pages.public-validation.css  → .pv-brand-copy strong */
.navbar-brand .navbar-logotxt,
.navbar-logotxt{
	font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: .2px;
    font-family: "deltadesk-logo";
    display: inline-block;
    transform: scaleY(1.28);
    transform-origin: left center;
	color: var(--text);
}
.navbar-sublogotxt{
	font-weight: 600;
    font-size: .78rem;
    opacity: .70;
	color: var(--text);
}

/*Estilo para la photo del perfil del usuario*/
.navbar-profilephoto{
	color: var(--text);
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 0.75rem;
	font-weight: 600;
	object-fit: cover;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--border-subtle, #cbd5e1) 82%, transparent);
	flex: 0 0 auto;
}

.navbar-profilephoto--fallback{
	color: #64748b;
	background: linear-gradient(135deg, #f4f7fb 0%, #e6ebf2 100%);
	box-shadow: inset 0 0 0 1px rgba(100,116,139,0.12);
}

.navbar-profilephoto--fallback i,
.navbar-profilephoto--fallback svg{
	width: 1.05rem;
	height: 1.05rem;
	stroke-width: 2.1;
}

#changeSuscriptionAccount{
	border-top: var(--border) solid 1px;
	border-bottom: var(--border) solid 1px;
	padding: 12px 0px 18px 0px;
	margin-bottom: 25px;
}

/*Estilo para todos los href*/
.href{
	text-decoration: none;
}
/*Espaciador debajo de navbar*/
/*Tamaño de navbar lateral derecha de accesos directos*/
/*Canvas lateral derecho modoclaro*/
.offcanvasPanel {
	background-color: var(--surface-1) !important;
	color: var(--text) !important;
}

/*Estilo para el texto del canvas lateral derecho accesosdirectos*/
.nav-link-accesosdirectos {
	padding: 1px 0 !important;
	color: var(--text) !important;
}

.nav-link-accesosdirectos.title {
	font-weight: 600;
	margin-bottom: 4px;
}

/*Titulo de acordeon de navegacion del menu - Cerrado*/
.accordion-button{
	background: linear-gradient(90deg,rgb(233, 233, 233) 0%,rgba(230,230,230,1) 55%,rgb(231, 231, 231) 68%,rgba(255,255,255,1) 100%);
	color: var(--text) !important;
	font-weight:600;
}

/*Titulo de acordeon de navegacion del menu - Cerrado*/
.accordion-button:hover{
	color: var(--primary) !important;
}

/*Titulo de acordeon de navegacion del menu - Abierto*/
.accordion-button:not(.collapsed){
	background: var(--dd-brand-gradient);
	color: #ffffff !important;
}
.accordion-button:not(.collapsed):hover{
	color: #ffffff !important;
}
.accordion-body{
	background: var(--surface-1);
}
.accordion-body.menu{
	padding: 12px 12px 12px 12px !important;
	background-color: var(--surface-1);
	color: var(--text);
}
/*Botones de permisos para abrir permisos*/
.accesosmenupermisolink{
	cursor: pointer;
	padding: 12px 12px 12px 12px;
	border: none;
    font-size: 1rem;
	width: 13.75rem;
	text-align: start;
	width: 100%;
	background-color: var(--surface-1);
	color: var(--text);
}
/*Botones de permisos para abrir permisos al pasar*/
.accesosmenupermisolink:hover{
	background-color: var(--surface-1);
	color: var(--primary);
}
/*Estilo para el tamaño de las imagenes del los permisos del menu*/
.imgpermisosMenu{
	width: 1.5rem;
}
/*Imagen de esperar carga*/ 
#DELTADESK_esperacarga{
    z-index: 9999;
    position: fixed;
    inset: 0;
    display: none;
    pointer-events: none;
}
#DELTADESK_esperacarga .dd-global-loader-card{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	gap: 0.95rem;
	width: min(92vw, 25rem);
	padding: 1rem 1.05rem;
	border-radius: 1rem;
	background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,251,255,0.98) 100%);
	border: 1px solid rgba(0,103,173,0.10);
	box-shadow: 0 24px 60px -24px rgba(15,23,42,0.42);
	backdrop-filter: blur(10px);
	color: var(--text, #0f172a);
}
#DELTADESK_esperacarga .dd-global-loader-card__spinner{
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 0.9rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,103,173,0.08);
	border: 1px solid rgba(0,103,173,0.12);
	color: var(--primary, #0067ad);
	flex-shrink: 0;
}
#DELTADESK_esperacarga .dd-global-loader-card__spinner .spinner-border{
	width: 1.1rem;
	height: 1.1rem;
	border-width: 0.16em;
}
#DELTADESK_esperacarga .dd-global-loader-card__copy{
	min-width: 0;
	flex: 1 1 auto;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
#DELTADESK_esperacarga .dd-global-loader-card__eyebrow{
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--primary, #0067ad);
	opacity: 0.78;
	margin-bottom: 0.18rem;
}
#DELTADESK_esperacarga .dd-global-loader-card__title{
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--text, #0f172a);
}
#DELTADESK_esperacarga .dd-global-loader-card__desc{
	margin-top: 0.2rem;
	font-size: 0.79rem;
	line-height: 1.45;
	color: var(--text-muted, #475569);
}
/*Imagen de sombra debajo de esperar carga*/ 
#DELTADESK_lasombra{
	z-index: 9000;
    position: fixed;
	background-color: rgba(0, 0, 0, 0.6);/*Fondo negro transparente*/
	inset: 0;
	width: 100%;
	height: 100%;
	display: none;
	pointer-events: none;
}
#DELTADESK_lasombra[aria-hidden="false"]{
	pointer-events: auto;
}
.dd-view-hydrating{
	position: relative;
	opacity: 1;
	transform: none;
}
.dd-view-ready{
	animation: ddViewReadyIn 180ms ease-out both;
}
.dd-list-progressive-scroll{
	overflow-x: auto;
	width: 100%;
}
.dd-list-progressive-raw{
	width: 100%;
	min-width: 720px;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 0.875rem;
}
.dd-list-progressive-raw th,
.dd-list-progressive-raw td{
	padding: 0.55rem 0.7rem;
	vertical-align: middle;
	white-space: nowrap;
}
.dd-list-progressive-raw tbody tr{
	transition: background-color 120ms ease-out;
}
.dd-list-refresh-status{
	position: fixed;
	right: 1.25rem;
	bottom: calc(47.5px + 1.25rem);
	z-index: var(--dd-z-taskbar, 9002);
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	max-width: min(22rem, calc(100vw - 2rem));
	padding: 0.72rem 0.92rem;
	border: 1px solid rgba(28, 155, 209, 0.24);
	border-radius: 0.75rem;
	background: rgba(255, 255, 255, 0.96);
	color: var(--text-primary, #142033);
	box-shadow: 0 14px 34px -24px rgba(15, 23, 42, 0.45);
	font-size: 0.84rem;
	font-weight: 600;
	line-height: 1.25;
	pointer-events: none;
}
.dd-list-refresh-status__spinner{
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	border: 2px solid rgba(28, 155, 209, 0.22);
	border-top-color: var(--accent-primary, #1c9bd1);
	animation: ddListRefreshSpin 0.8s linear infinite;
	flex: 0 0 auto;
}
@keyframes ddListRefreshSpin{
	to{
		transform: rotate(360deg);
	}
}
html[data-theme='dark'] .dd-list-refresh-status{
	background: rgba(17, 24, 39, 0.96);
	border-color: rgba(147, 197, 253, 0.22);
	color: #f8fafc;
	box-shadow: 0 18px 40px -26px rgba(0,0,0,0.78);
}
@keyframes ddViewReadyIn{
	from{
		opacity: 0.94;
		transform: translateY(0.12rem);
	}
	to{
		opacity: 1;
		transform: translateY(0);
	}
}
html[data-theme='dark'] #DELTADESK_esperacarga .dd-global-loader-card{
	background: linear-gradient(180deg, rgba(16,24,40,0.98) 0%, rgba(22,32,48,0.98) 100%);
	border-color: rgba(28,155,209,0.18);
	box-shadow: 0 28px 70px -28px rgba(0,0,0,0.72);
	color: #f8fafc;
}
html[data-theme='dark'] #DELTADESK_esperacarga .dd-global-loader-card__spinner{
	background: rgba(28,155,209,0.10);
	border-color: rgba(28,155,209,0.18);
	color: #8dd7f7;
}
html[data-theme='dark'] #DELTADESK_esperacarga .dd-global-loader-card__eyebrow{
	color: #8dd7f7;
}
html[data-theme='dark'] #DELTADESK_esperacarga .dd-global-loader-card__title{
	color: #f8fafc;
}
html[data-theme='dark'] #DELTADESK_esperacarga .dd-global-loader-card__desc{
	color: rgba(226,232,240,0.78);
}
@media (max-width: 575.98px){
	#DELTADESK_esperacarga .dd-global-loader-card{
		width: calc(100vw - 1.5rem);
		padding: 0.9rem 0.95rem;
		gap: 0.75rem;
	}
	#DELTADESK_esperacarga .dd-global-loader-card__title{
		font-size: 0.9rem;
	}
	#DELTADESK_esperacarga .dd-global-loader-card__desc{
		font-size: 0.75rem;
	}
}

/*Estilos para el icono de acceso directos*/
.navbarAccesosdirectos{
	color: var(--text) !important;
	padding: 0px 12px 0px 12px !important;
}

/*Estilo para la barra fija en el dashboard*/
.dashboartaskbar{
	background-color: rgba(0,0,0,0.7);
	position: fixed;
	bottom: 0;
	right: 0px;
	padding: 0px 8px 0px 8px;
	color: #cbcbcb;
	width: 100%;
	z-index: var(--dd-z-taskbar);
	min-height: var(--dd-taskbar-h);
}
/*Iconos adiconales en la taskbar*/
.dashActionIcons{
	color: #cbcbcb;
	text-shadow: 2px 2px 1px #383838;
}
/*Imagen que sale de icono en la taskbar y queda con el dage de notificacion alerta*/
.dashActionIconsImg{
	font-size: 12px;
}
/*Color para el badge por defecto rojo en taskbar*/
.badgered{
	border: 6px solid #dc3545;
}

/* Estilos mejorados para badges del taskbar */
.dd-taskbar-badge {
	width: 12px;
	height: 12px;
	min-width: 12px;
	min-height: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.6rem;
	font-weight: 700;
	color: #ffffff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
	animation: dd-badge-pulse 2s infinite;
	display: none !important;
}

#DDKV26dashActionIconsImg_notificaciones.dd-taskbar-badge--visible,
#DDKV26dashActionIconsImg_alertas.dd-taskbar-badge--visible,
#DDKV26dashActionIconsImg_chat.dd-taskbar-badge--visible{
	display: flex !important;
}

@keyframes dd-badge-pulse {
	0%, 100% {
		box-shadow: 0 2px 8px rgba(220, 53, 69, 0.3);
	}
	50% {
		box-shadow: 0 2px 12px rgba(220, 53, 69, 0.6);
	}
}

/* Clases de posicionamiento para badges más cerca del ícono */
.top-minus {
	top: 8px !important;
}

.end-minus {
	right: 4px !important;
}
/*Contenedor de espacio de clima  en taskbar, por fdefecto sale oculto hasta que cargue correctamente*/
#DDKV26widgetClima{
	display: none;
	cursor: pointer;
}
/*Widget completo del clima para mostrar todos los datos en modal*/
#DDKV26climaFullWidget{
	display: none;
}
/*
* FORMATOS PARA FORMULARIOS Y LISTADOS
*/
/*DENTRO DE LAS VISTAS - Titulo de listados y formularios para el igenerator*/
.barrasuperiorAccionesIcon{
	display: inline;
	padding-right: 1rem;
}
.barrasuperiorAccionesRuta{
	display: inline;
	font-weight: 500;
}
.barrasuperiorAccionesFlecha{
	padding: 0px 0.5rem 0px 0.5rem;
	display: inline;
	opacity: 0.4;
}
.barrasuperiorAcciones {
	color: var(--text);
	padding: 0 var(--sp-4);
	font-size: var(--fs-ui);
	font-weight: 500;
	text-align: start;
	display: inline;
	min-width: fit-content;
}

/*El contenedor grande de la barra de acciones que se convierte en scroll de ser necesario*/
.barraaccionesbotones{
	display: inline;
}
/*la barra de acciones de listas y formularios — layout resuelto por layout.css */
.barraacciones{
	padding: var(--sp-2) var(--sp-4);
	overflow-x: auto;
	overflow-y: hidden;
}
/*Cajas para cada icono de accion — vertical icon+label (Office toolbar pattern) */
.barraaccionesIcons {
	color: var(--text-muted);
	font-size: 0.65rem;
	font-weight: 600;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	padding: 6px 10px;
	min-width: 52px;
	min-height: 52px;
	margin: 3px 2px;
	border: 1px solid var(--border);
	border-radius: 8px;
	cursor: pointer;
	text-decoration: none;
	line-height: 1.15;
	white-space: nowrap;
	transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}
.dd-action-label {
	font-size: 0.65rem;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	pointer-events: none;
}
/* Tooltip nativo del quickbar contextual — position:fixed para escapar overflow:hidden del menú */
.dd-quickbar-tip {
	position: fixed;
	z-index: 10002;
	background: rgba(20,20,30,0.85);
	color: #fff;
	font-size: 11px;
	line-height: 1.3;
	padding: 3px 8px;
	border-radius: 5px;
	pointer-events: none;
	white-space: nowrap;
	display: none;
	box-shadow: 0 2px 6px rgba(0,0,0,0.25);
}

/* ── Menú contextual clic derecho ── */
.deltadesk-contextual-menu {
	background: var(--surface-1);
	color: var(--text);
	position: fixed;
	z-index: 9999;
	border-radius: 10px;
	padding: 8px 0 10px;
	width: 280px;
	min-width: 260px;
	max-width: min(360px, calc(100vw - 16px));
	box-shadow:
		0 4px 6px -1px rgba(0,0,0,0.10),
		0 10px 28px -4px rgba(0,0,0,0.14),
		0 0 0 1px var(--border);
	border: none;
	display: none;
	overflow: hidden;
}

/* Quickbar: fila de iconos copiar/cortar/pegar */
.deltadesk-contextual-quickbar {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px 10px;
	overflow-x: auto;
	overflow-y: hidden;
	width: 100%;
}
.contextualQuickIconBtn {
	min-width: 34px;
	height: 34px;
	border: 1px solid var(--border);
	background: var(--surface-2);
	color: var(--text);
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	flex: 0 0 auto;
	transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
}
.contextualQuickIconBtn i {
	font-size: 13px;
	line-height: 1;
}
.contextualQuickDivider {
	width: 1px;
	height: 22px;
	background: var(--border);
	margin: 0 4px 0 auto;
	flex: 0 0 auto;
}
.contextualQuickIconBtnNative {
	margin-left: 0;
}
.contextualQuickIconBtn:hover {
	border-color: var(--primary);
	background: color-mix(in srgb, var(--primary) 10%, var(--surface-2));
	color: var(--primary);
}
.contextualQuickIconBtn:active {
	transform: scale(0.96);
}
.contextualQuickIconBtn:disabled {
	opacity: 0.38;
	cursor: not-allowed;
}

/* Separador */
.deltadesk-contextual-separator {
	margin: 0 0 6px;
	border-color: var(--border);
}
.dd-soft-separator,
hr.dd-soft-separator {
	border: 0;
	border-top: 1px solid color-mix(in srgb, var(--text-muted, #52606d) 24%, transparent);
}
.dd-soft-separator-top {
	border-top: 1px solid color-mix(in srgb, var(--text-muted, #52606d) 24%, transparent) !important;
}
[data-theme="dark"] .dd-soft-separator,
[data-theme="dark"] hr.dd-soft-separator,
[data-theme="dark"] .dd-soft-separator-top,
.dark .dd-soft-separator,
.dark hr.dd-soft-separator,
.dark .dd-soft-separator-top {
	border-color: color-mix(in srgb, var(--text-muted, #94a3b8) 18%, transparent) !important;
}

/* Ítem de acción en la lista del menú contextual */
.contextualBarraaccionesIcons {
	color: var(--text);
	font-size: 0.79rem;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 0 14px 0 19px;
	cursor: pointer;
	position: relative;
	text-decoration: none;
	min-height: 40px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	transition: background 100ms ease, color 100ms ease;
}
/* Borde izquierdo degradado con punta superior hacia arriba */
.contextualBarraaccionesIcons::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: linear-gradient(to bottom, #1d4ed8, rgb(15 118 110));
	clip-path: polygon(0 0, 100% 2px, 100% calc(100% - 2px), 0 100%);
	opacity: 0;
	transition: opacity 150ms ease;
	pointer-events: none;
}
.contextualBarraaccionesIcons:hover {
	background: color-mix(in srgb, var(--primary) 8%, var(--surface-1));
	color: var(--primary);
	text-decoration: none;
}
.contextualBarraaccionesIcons:hover::before {
	opacity: 1;
}
.contextualBarraaccionesIcons:visited,
.contextualBarraaccionesIcons:focus-visible,
.contextualBarraaccionesIcons:active {
	color: var(--text);
	text-decoration: none;
}
.deltadesk-contextual-menu .contextualBarraaccionesIcons .dd-contextual-icon {
	width: 17px;
	height: 17px;
	opacity: 0.82;
	margin-right: 0;
}
.deltadesk-contextual-menu .contextualBarraaccionesIcons:hover .dd-contextual-icon {
	opacity: 1;
}
.deltadesk-contextual-menu .showmoreActions {
	align-items: flex-start !important;
	padding-top: 8px;
	padding-bottom: 8px;
}

/* Lista scrolleable de acciones adicionales */
#showmoreContextualMenu {
	overflow-y: auto;
	max-height: 125px;
	padding: 2px 0;
}

/* Títulos dentro del showmore */
.showmoreActionsTitle {
	padding: 0;
	font-weight: 600;
	color: var(--text);
	text-align: start;
	max-width: 100px;
}
.showmoreActionsSubTitle {
	margin-top: -4px;
	font-weight: 400;
	color: var(--text-muted);
	text-align: start;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 140px;
}

/* Spellcheck slot */
.deltadesk-spellcheck-slot {
	padding: 0 8px 2px;
}
.deltadesk-spellcheck-section {
	border: 1px solid var(--border);
	border-radius: 8px;
	background: var(--surface-2);
	padding: 8px;
}
.deltadesk-spellcheck-title {
	font-size: 0.72rem;
	color: var(--primary);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 6px;
}
.deltadesk-spellcheck-state {
	font-size: 0.78rem;
	color: var(--text-muted);
	padding: 4px 6px;
}
.deltadesk-spellcheck-item {
	width: 100%;
	border: 1px solid var(--border);
	background: var(--surface-1);
	color: var(--text);
	border-radius: 6px;
	margin-bottom: 4px;
	text-align: left;
	padding: 6px 8px;
	font-size: 0.79rem;
	line-height: 1.2;
	transition: border-color 100ms ease, background 100ms ease;
}
.deltadesk-spellcheck-item:hover {
	border-color: var(--primary);
	background: color-mix(in srgb, var(--primary) 6%, var(--surface-1));
}
.deltadesk-spellcheck-item-strong {
	border-color: color-mix(in srgb, #3e8056 60%, var(--border));
	background: color-mix(in srgb, #3e8056 12%, var(--surface-1));
	color: color-mix(in srgb, #3e8056 90%, var(--text));
	font-weight: 700;
}
.deltadesk-spellcheck-more-wrapper {
	position: relative;
}
.deltadesk-spellcheck-more-trigger {
	margin-bottom: 0;
}
.deltadesk-spellcheck-more-panel {
	display: none;
	position: absolute;
	top: 0;
	left: calc(100% + 6px);
	min-width: 200px;
	max-height: 220px;
	overflow-y: auto;
	background: var(--surface-1);
	border-radius: 10px;
	padding: 8px;
	box-shadow:
		0 4px 6px -1px rgba(0,0,0,0.10),
		0 10px 28px -4px rgba(0,0,0,0.14),
		0 0 0 1px var(--border);
	z-index: 10001;
}
.deltadesk-spellcheck-more-wrapper.open .deltadesk-spellcheck-more-panel {
	display: block;
}

/* Hover chips de la barra de acciones principal */
.barraaccionesIcons:hover {
	background: color-mix(in srgb, var(--primary) 8%, transparent);
	border-color: color-mix(in srgb, var(--primary) 40%, var(--border));
	color: var(--primary);
}
.barraaccionesIcons:visited,
.barraaccionesIcons:focus-visible,
.barraaccionesIcons:active {
	color: var(--text-muted);
	text-decoration: none;
}
.barraaccionesIcons:hover,
.barraaccionesIcons:hover .dd-action-label,
.barraaccionesIcons:hover i {
	color: var(--primary);
}

@media (max-width: 768px) {
	.deltadesk-contextual-menu {
		max-width: calc(100vw - 16px);
	}
	.deltadesk-contextual-quickbar {
		padding: 4px 12px 8px;
	}
}
/*Espacio para mostrar contenido debajo de la barra acciones*/
.coreComponentContainer {
    padding: 1.25rem 1.25rem 1.25rem 1.25rem;
    overflow-x: auto;
    overflow-y: auto;
}
@media (max-width: 600px) {
    .coreComponentContainer {
        padding: 1.25rem 0rem 1.25rem 0rem !important;
    }
	.coreComponentCard {
		padding: 1.25rem 0rem 1.25rem 0rem !important;
	}
	.espacioformgroup {
		padding: 1.5rem 1rem 2rem 1rem !important;
	}
	
}

/*
* ESTILOS PARA LOS FOMULARIOS 
*/
/*Estilo para el texto de titulo de listado o formulario cuando tiene datos de un listado anterior*/
.coreDataListAnterior{
	/* Estilos movidos a pages.igenerator.css */
}
/*Borde del listado final limpio*/
div.dt-container.dt-empty-footer tbody > tr:last-child > *{
	border-bottom: none !important;
}
/*Borde del listado final limpio*/
div.dt-container.dt-empty-footer tbody > tr:first-child > *{
	border-bottom: none !important;
}

/*EL borde redondeado para el registro top left*/
.core_titulolistadoTLTR{
	border-radius: 0.4rem 0.4rem 0rem 0rem;
}
.core_titulolistadoTL{
	border-radius: 0.4rem 0rem 0rem 0rem;
}
/*EL borde redondeado para el registro top right*/
.core_titulolistadoTR{
	border-radius: 0rem 0.4rem 0rem 0rem;
}
.core_titulolistadoBLBR{
	border-radius: 0rem 0rem 0.4rem 0.4rem;
}
/*EL borde redondeado para el registro bottom right*/
.core_titulolistadoBR{
	border-radius: 0rem 0rem 0.4rem 0rem;
}
/*EL borde redondeado para el registro bottom left*/
.core_titulolistadoBL{
	border-radius: 0rem 0rem 0rem 0.4rem;
}
/*Tabla interna con los datos para el estilo tarjeta Grid*/
.tableGridDataIntern{
	margin: 36px 0px 36px 0px;
	width: 100%;
}
.cardsGridTdItems{
	border: 0px !important;
	padding: 4px 16px 4px 16px;
}
.dataenlista {
	font-size: var(--fs-data);
	vertical-align: middle;
	border-bottom: 1px solid var(--divider);
	color: var(--text);
	padding: 8px var(--sp-2);
	word-wrap: break-word;
}

/*Cuando esta seleccionada la fila en el listado — colores en components.tables.css via tokens*/
.datagrid-row-selected {
	background-color: var(--listing-row-selected) !important;
}

/*Formato de texto de cantidades del datatable*/
/*Barra espaciadora de contenido azul para listados*/
.DataSpacerSubtitle{
	font-weight: 600;
	border-right: 2px solid var(--accent);
	border-left: 2px solid var(--accent);
	width: fit-content;
	padding: 2px 4px 2px 4px;
	border-radius: 4px;
}
/*Estilo para botones especiales que aparecen dentro del listado*/
.datatables-special-actions{
	border-radius: 20px !important; /* Ajustar según lo que quieras */
    padding: 4px 16px !important;
}
/*Estilo de tamaño para el editor CKEDITOR*/
.ck-content {
    max-height: 400px;
}
/*
* ESTILOS PARA TIPS - EN FOMULARIOS Y LISTADOS
*/
/*Espacio de informacion letras grises pequeñas.*/
.infofootermaster{
	padding: 16px 25px 16px 25px;
}
.infofootercontainer{
	padding: 2px 1px 2px 1px;
	font-size: 0.78rem;
	color: var(--text-muted);
}
.infofootericons{
	min-width: 35px;
	max-width: 35px;
	text-align: center;
}
.infofootertabs{
	width: auto;
}
/*
* ESTILOS PARA LOS FOMULARIOS 
*/
/*Contenedor para cada seccion del formulario — una por grupo de campos*/
.contentform {
  width: 100%;
  margin: 0 0 var(--sp-4);
  border-radius: var(--radius-md);
  border: 1px solid var(--divider);
  overflow: hidden;
}

.contentform:last-child {
  margin-bottom: 0;
}
/*Cabecera de seccion — muestra el nombre del grupo*/
.tituloformgroup {
  padding: 0;
  background: var(--surface-2);
  border-bottom: 1px solid var(--divider);
  text-align: left;
  width: auto;
  border-radius: 0;
}
/*Titulo dentro de la cabecera de seccion*/
.tituloformgrouptitle {
  color: var(--text-muted);
  text-align: left;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.45rem 0.75rem;
}
/*Area de campos de la seccion*/
.espacioformgroup {
  padding: 1.25rem 1.5rem 1.5rem;
  font-size: 1rem;
  text-align: left;
  background: var(--surface-1);
  border-radius: 0;
}

/*Label de campo: flex para alinear texto + colon + asterisco + icono de ayuda*/
.tituloforminput {
  display: flex;
  align-items: center;
  gap: 3px;
  flex-wrap: nowrap;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text-muted);
  margin-bottom: 5px;
}

/**/
/*
* Estilos generales de campos o formularios o listados
*/
/*Espaciado para formularios y cajas de texto de todo el sistema*/
.form-group{
    padding: 0.5rem 0rem 0.5rem 0rem;
}
/*Estilo de texto de titulo para poner al principio de los formularios*/
.tituosuperiorFormularios{
	color: var(--text);
	padding: .6rem 0rem .4125rem 0rem;
	font-size: 1.3rem;
	font-weight: 500;
}
/*Estilo de texto de titulo para poner al principio de los formularios*/
.tituosuperiorFormulariosSubrayado{
	color: var(--text);
	padding: .6rem 0rem .4125rem 0rem;
	font-size: 1.3rem;
	font-weight: 500;
	text-decoration: underline;
}
/*Tipo de input text para todo el sistema — usa tokens para dark mode automático*/
.inputtextStripped {
  font-size: 0.9rem;
  color: var(--text);
  border-radius: var(--radius-sm) !important;
  padding: 0.45rem 0.75rem;
  background: var(--surface-1);
}
.inputtextStripped:focus {
  border-color: var(--accent);
  outline: none;
}
/*Opciones de select*/
.inputtextStrippedSelectOption {
  font-family: var(--font-ui) !important;
  background: var(--surface-2);
  color: var(--text);
}

.inputtextStrippedSelectOption:checked {
  background: var(--primary) !important;
  color: var(--primary-contrast) !important;
}

/*Error de campo obligatorio*/
.inputtextStrippedMandatoryError {
  color: var(--danger);
  font-size: 0.75rem;
  margin-top: 4px;
}
/*Habilitar a los select multiple que se puedan ampliar para ver mas info*/
.resizableSelectMultiple {
	/*width: auto;
	height: auto; /* Alto inicial */
	resize: both; /* Permite redimensionar en ambas direcciones */
	overflow: auto; /* Muestra barras de desplazamiento si es necesario */
}
/*Asignar estilo de fondo para el textarea de DELTADESK_CKEditor5*/
.ck-rounded-corners .ck.ck-editor__main > .ck-editor__editable, .ck.ck-editor__main > .ck-editor__editable.ck-rounded-corners{
	font-size: 1rem;
	color: var(--text);
	border-radius: 0px 0px 12px 12px !important;
	padding: 11px 12px;
	background: var(--surface-1);
}
/*Espacio para el contenedor de los botones de autofill*/
.textarea_autofill_Contrainer {
    margin: 5px 0px 5px 0px;
    display: flex;
    flex-wrap: wrap; /* Permite que los elementos flexibles se envuelvan a la siguiente línea */
    gap: 5px; /* Espaciado más pequeño entre los botones */
    max-width: 100%; /* Asegura que el contenedor no se expanda más allá del 100% del ancho disponible */
    justify-content: flex-end; /* Alinea los botones a la derecha */
}

/**Estilo para el input de buscar en datatables*/
div.dt-container .dt-search input {
	font-size: 1rem;
	color: var(--text);
	border-radius: 12px !important;
	padding: 11px 12px;
	border: var(--border) solid 1px;
	background: var(--surface-1);
}
/*
* INICO ESTILO para el scroll de navegación
*/
/*Estilo para la separación del sidebar*/
.links-sidebar{
	padding-bottom: 32px;
}

/*ESTADO DE BARRA DE SCROLL POR DEFECTO - usado en listados y formularios en desborde de contenido para movil*/
.scrollableStyledDiv::-webkit-scrollbar {
	width: 8px;
}
.scrollableStyledDiv::-webkit-scrollbar-thumb {
	background: var(--border);
	border-radius: 4px;
}
.scrollableStyledDiv::-webkit-scrollbar-thumb:active {
	background-color: color-mix(in srgb, var(--border) 80%, var(--text-muted));
}
.scrollableStyledDiv::-webkit-scrollbar-thumb:hover {
	background: color-mix(in srgb, var(--border) 70%, var(--text-muted));
	box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.2);
}
.scrollableStyledDiv::-webkit-scrollbar-track {
	background: var(--surface-3);
	border-radius: 4px;
}
.scrollableStyledDiv::-webkit-scrollbar-track:hover,
.scrollableStyledDiv::-webkit-scrollbar-track:active {
	background: var(--surface-3);
}



/*
* FIN ESTILO para el scroll de navegación
*/
/*Estilo para la alineacion de los titulos del datatables al centro. para el header*/
table.dataTable thead th, table.dataTable thead td, table.dataTable tfoot th, table.dataTable tfoot td{
	text-align: center !important;
}
/*Estilo para iconos redondos como de fotos o imagenes.*/
.iconografico{
	border-radius:100%;
	width: 4rem;
	height: 4rem;
	padding: 0.3rem;
	border: 1px solid #dbdbdb;
	background-color: #fbfbfb;
}
/*Estilo para iconos redondos como de fotos o imagenes.*/
.iconograficoplus{
	border-radius:100%;
	width: 6rem;
	padding: 0.5rem;
	background-color: #fbfbfb;
}
.iconograficoAlpha{
	border-radius:100%;
	width: 4rem;
	height: 4rem;
	padding: 0.3rem;
	border: 1px solid #dbdbdb;
}
/*Estilo para iconos redondos como de fotos o imagenes.*/
.iconograficoplusAlpha{
	border-radius:100%;
	width: 6rem;
	padding: 0.5rem;
}
/*Estilo para iconos redondos como de fotos o imagenes.*/
.iconograficoSquare{
	border-radius: 2px;
	width: 4rem;
	height: 4rem;
	padding: 0.3rem;
	border: 1px solid #dbdbdb;
	background-color: #fbfbfb;
}
/*Etiqueta para funciones beta en desarrollo*/
.betamark {
    padding: 0 5px 0 5px;
    border: solid 1px var(--primary);
    border-radius: 8px;
    font-size: .7rem;
    color: var(--primary);
	font-style: italic;
}
/*Etiqueta de listado con color alrededor*/
.defaultcoloredmark {
    margin: 0 5px 0 5px;
    border-radius: 8px;
	padding: 2px 5px 2px 5px;
	color: #ffffff;
	font-weight: bold;
}
/*Indicador para un circulo con color estilo semaforo*/
.DatSemaforoIndicator{
	/*margin: 0 5px 0 5px;*/
	padding-top: 1px;
    border-radius: 100%;
	width: 1.25rem;
	height: 1.25rem;
	display: inline-block;
	color: #ffffff;
	font-weight: bold;
	background-repeat: no-repeat;
	background-size: cover;
	background-clip: padding-box;
	box-shadow: inset 0 1px 1px rgba(255,255,255,.55), inset 0 -1px 2px rgba(0,0,0,.18), 0 0 2px 1px rgba(0, 0, 0, 0.2);
	text-align: center;
	cursor: help;
	transition: transform .15s ease, box-shadow .15s ease;
  }
.DatSemaforoIndicator:hover{
	transform: translateY(-1px) scale(1.03);
	box-shadow: inset 0 1px 1px rgba(255,255,255,.65), inset 0 -1px 2px rgba(0,0,0,.22), 0 2px 6px rgba(15, 23, 42, .18);
}
/* Modal triggers reuse the same dd-btn styles as their document actions. */
.dd-special-state-pill,
.dd-special-docs-pill{
 max-width: 100%;
 box-sizing: border-box;
}
.dd-special-docs-pill.dd-btn--secondary{
 background: var(--surface-2);
 border-color: var(--border);
 color: var(--text);
}
.dd-special-state-pill.dd-btn--secondary{
 background: var(--surface-2);
 border-color: var(--border);
 color: var(--text);
}
.dd-special-state-pill > span,
.dd-special-docs-pill > span{
 min-width: 0;
 overflow: hidden;
 text-overflow: ellipsis;
 white-space: nowrap;
}
.dd-special-state-pill::before{
 content: '';
 flex: 0 0 8px;
 width: 8px;
 height: 8px;
 border-radius: 50%;
 background: var(--dd-state-action-color, var(--text-muted));
}
.dd-term-progress{
	width: 100%;
	max-width: 100%;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.dd-term-progress__principal{
	line-height: 1.25;
	color: var(--text, #243b53);
}
.dd-term-progress__detail{
	font-size: 11px;
	line-height: 1.35;
	color: var(--text-muted, #52606d);
}
.dd-term-progress__bar{
	width: 100%;
	height: 10px;
	background: var(--surface-3, #e9ecef);
	border-radius: 999px;
	overflow: hidden;
}
.dd-term-progress__fill{
	height: 100%;
	min-width: 0;
	border-radius: 999px;
	transition: width .2s ease;
}
.dd-term-progress--ok .dd-term-progress__fill{
	background: linear-gradient(90deg, #93c5fd 0%, #2563eb 100%);
}
.dd-term-progress--watch .dd-term-progress__fill{
	background: linear-gradient(90deg, #fde68a 0%, #f59e0b 100%);
}
.dd-term-progress--warning .dd-term-progress__fill{
	background: linear-gradient(90deg, #fdba74 0%, #f97316 100%);
}
.dd-term-progress--critical .dd-term-progress__fill{
	background: linear-gradient(90deg, #fca5a5 0%, #dc2626 100%);
}
.dd-term-progress--expired .dd-term-progress__fill{
	background: linear-gradient(90deg, #64748b 0%, #111827 100%);
}
.dd-term-progress--done .dd-term-progress__fill{
	background: linear-gradient(90deg, #86efac 0%, #22c55e 60%, #15803d 100%);
}
.dd-term-progress--done-late .dd-term-progress__fill{
	background: linear-gradient(90deg, #86efac 0%, #a3e635 55%, #f59e0b 100%);
}
.dd-term-progress__meta{
	font-size: 11px;
	color: var(--text, #243b53);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}
/*Etiqueta de listado con color alrededor*/
.defaultcoloredState {
    margin: 0 5px 0 5px;
	padding: 4px 5px 4px 5px;
    border-radius: 2px;
	color: #ffffff;
	font-weight: bold;
	width: 100%;
}
/*Etiqueta de listado con color alrededor*/
.defaultcoloredLine {
    padding: 4px 5px 4px 5px;
    border-radius: 4px;
	word-wrap: break-word;
}
/*Estilo oculto para campos en formularios hidden*/
.form-group-Hidden{
	display: none !important;
	padding: 0 !important;
	margin: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
}
/*Banner que aparece en el menu debajo de cada uno de las secciones de acordeon*/
.bannermenuapp{	
	background-size: 100%;
	background-repeat: no-repeat;
	background-position-y: -70px;
	border-radius: 8px;
	min-width: 271px;
}
/*Banner para los favoritos del dashboard*/
.bannermenuappFavs{
	margin: 6px 6px 6px 6px;
	display: inline-block;
	vertical-align:	top;
	max-width: 271px;
}
/*Banner secundario que aparece en el menu debajo de cada uno de las secciones de acordeon*/
.bannermenuappsub{
	padding: 5px 10px 10px 10px;
	background-color: rgba(0,0,0,0.6);
	border-radius: 8px;
}
/*Barra de acciones de pin u archivar - ocultar*/
.bannermenuappactionsLinks{
	padding: 5px 8px 5px 8px;
	color: var(--text-muted);
}
/*Contenedor del nombre y titulo de la app en el menu*/
.bannertituloContainerapp{
	margin-top: 16px;
	margin-bottom: 16px;
	cursor: pointer;
}
/*Imagen del banner del titulo de cada app en el menu*/
.bannertituloapp{
	text-shadow: 2px 2px rgba(0,0,0,0.7);
	font-size: 22px;
	font-weight: 500;
}
/*Descripcion del banner del titulo de cada app en el menu*/
.bannerdescripcionapp{
	font-size: 14px;
	font-weight: 400;
	color: #dfdfdf;
	text-shadow: 2px 2px rgba(0,0,0,0.7);
}
/*Contenedor de perfiles oculto para el caso del dashboard de favoritos*/
.containerFavsPerfiles{
	display: none;
}
/*Estilo del body del canvas del menu*/

/*HACER UN CHECKBOX DE TIPO SWITCH PARA LOS ACCESOS DIRECTOS - SE PUEDE REUSAR PERO SIN LOS BOTONES*/
/* The switch - the box around the slider */
.chktoggler {
	position: relative;
	display: inline-block;
	width: 40px; /* Cambia el ancho del contenedor */
	height: 20px; /* Cambia el alto del contenedor */
}
/* Hide default HTML checkbox */
.chktoggler input {
opacity: 0;
width: 0;
height: 0;
}
/* The slider */
.chktoggler-slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
-webkit-transition: .4s;
transition: .4s;
}
.chktoggler-slider:before {
position: absolute;
content: ""; /* Texto por defecto */
height: 16px; /* Cambia el alto del deslizador */
width: 16px; /* Cambia el ancho del deslizador */
left: 2px; /* Ajusta la posición horizontal del deslizador */
bottom: 2px; /* Ajusta la posición vertical del deslizador */
background-color: white; /* Color del deslizador */
border-radius: 50%; /* Forma circular */
-webkit-transition: .4s;
transition: .4s;
}
input:checked + .chktoggler-slider {
background-color: var(--primary);
}
input:focus + .chktoggler-slider {
box-shadow: 0 0 1px var(--primary);
}
input:checked + .chktoggler-slider:before {
content: ""; /* Cambiar el texto */
-webkit-transform: translateX(20px); /* Ajusta la distancia que se mueve el deslizador */
-ms-transform: translateX(20px);
transform: translateX(20px);
}
/* Rounded sliders */
.chktoggler-slider.round {
border-radius: 20px; /* Cambia el radio de las esquinas del contenedor */
}
/* The text span */
.chktoggler-slider-text {
	display: inline-block;
  	margin-left: 10px; /* Espacio entre el toggler y el texto */
}
/******************************************************/
/******************************************************/
/*Tarjeta blanca con padding*/
.coreComponentCard {
    background-color: var(--surface-1);
    padding: 1.25rem;
    border-radius: 8px;
    width: 100%;
	box-shadow: 0px 4px 8px 0px hsla(0, 0%, 0%, 0.06);
}

/*Tarjeta blanca con padding Dashboard*/
.coreComponentCardDashboard {
    background-color: var(--surface-1);
    border-radius: 8px;
    width: 100%;
	box-shadow: 0px 4px 8px 0px hsla(0, 0%, 0%, 0.06);
}

/*Contenedor de info de card con overflow en el eje x*/
.coreComponentCardTitleDashboard {
	width: 100%;
	padding: 0.5rem 1.2rem 0.5rem 1.2rem;
	border-radius: .4rem .4rem 0rem 0rem;
	color: var(--text);
	font-weight: 600;
}
.coreComponentCardTitleDashboard.verticalCard {
	border-top: solid 5px var(--accent);
}

/*Contenedor de info de card con overflow en el eje x*/
.coreComponentCardInfo{
	overflow-x: auto;
}
/*Contenedor de info de card con overflow en el eje x*/
.coreComponentCardInfoDashboard{
	overflow-x: auto;
	min-height: 2rem;
	padding: 0.5rem 1.4rem 0.5rem 1.4rem;
}

/*Dentro de dashboard hay noticias y estas tienenun POSTER*/
.dashnoticiasPoster{
	width: 100%;
	background-size: cover;
	border-radius: 6px;
}

/*Dentro de dashboard hay noticias y estas tienenun POSTER*/
.emergentePoster{
	padding: 0.3rem;
	display: inline-block;
	min-width: 200px;
}
/*Para las categorias de noticias dentro del dashboard accesibles desde el taskbar*/
.dashnoticiasCategoriaTag{
	padding: 2px 5px;
	border-radius: 4px;
	color: #fff;
	vertical-align: middle;
	font-size: 14px;
}
/*Estilo para ventana emergente de imagen*/
.emergentePosterImg{
	min-width: 200px;
	min-height: 200px;
	/*border: 1px solid #dbdbdb;*/
	border-radius: 8px !important;
	display: inline-block;
}
.dashnoticiasTitulo{
	font-size: 1.4rem;
	font-weight: 600;
	padding-bottom: 6px;
	color: var(--text);
}


.coreComponentCardCommentsDashboard{
	padding: 18px 18px 6px 18px;
	background-color: var(--surface-2);
	border-radius: 0px 0px 8px 8px;
}
.coreComponentCardCommentsDashboardLite{
	margin-top: 12px;
	padding: 16px 12px 1px 12px;
	background-color: var(--surface-2);
	border-radius: 0px 0px 8px 8px;
}

/******************************************************/
/******************************************************/

/*************************************************
******CONTENIDO PARA LOS FORMATOS EXTERNOS********
******GENERADOS A NUEVA PESTAÑA EN EL SISTEMA*****
**************************************************/
/*Estilop para el contenedor principal de toda la pagina*/
.EXTformat_main{
	width: 650px;
}
.EXTformat_main_oficio{
	width: 550px;
}
.EXTformat_main_word{
	width: 550px;
}
/*Estilo completo para todas las tablas que sea del 100*/
.EXTformat_table{
	width: 100%;
}
/*Estilo para cada caja de la tabla*/
.EXTformat_td{
	font-size: 12px;
	border: 1px solid rgba(100,116,139,.28);
	padding: 2px 4px 2px 4px;
}
.EXTformat_td_lite{
	font-size: 12px;
	padding: 2px 4px 2px 4px;
}
/*Para encabezados que requieren alineacion top lef*/
.EXTformat_td_encabezado{
	font-size: 12px;
	font-weight: 600;
	text-align: left;
	vertical-align: top;
}
.EXTformat_td_encabezado_times{
	font-size: 11px;
	font-weight: 400;
	text-align: right;
	vertical-align: middle;
	font-family: 'Times New Roman', Times, serif;
}
/*Estilo para todos los titulos de tablas los centra V y H*/
.EXTformat_td_titulos{
	font-size: 12px;
	font-weight: 600;
	text-align: center;
	vertical-align: center;	
}
/*Para encabezados que requieren alineacion top center*/
.EXTformat_td_firmas{
	font-size: 12px;
	font-weight: 600;
	text-align: center;
	vertical-align: top;	
}
/*Para encabezados que requieren alineacion top izquierda*/
.EXTformat_td_firmas{
	font-size: 12px;
	font-weight: 600;
	text-align: left;
	vertical-align: top;	
}
/*para el contenido de los td - este seria el normal alineado a la izquierda*/
.EXTformat_td_contenido{
	font-size: 12px;
	text-align: justify;
	vertical-align: center;
}
/*para el contenido de los td - este seria el normal centrado*/
.EXTformat_td_contenido_center{
	font-size: 12px;
	text-align: center;
	vertical-align: center;
}
/*Espacio con contenido pero con letra mas pequeña como de informacion*/
.EXTformat_td_info{
	font-size: 10px;
	text-align: left;
	vertical-align: center;
}
/*Estilo para cada caja de la tabla*/
.EXTformat_copy_L{font-size: 12px;
	border: none;
	padding: 4px 6px 4px 6px;
	text-align: left;
}
.EXTformat_copy_R{font-size: 12px;
	border: none;
	padding: 4px 6px 4px 6px;
	text-align: right;
}
/*Texto de tamaño maximo y en letra no bold*/
.EXTformat_presupertexto{
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 1px;
	text-align: left;
}
/*Texto de tamaño anterior al maximo y en letra no bold y centrado*/
.EXTformat_presupertexto_center{
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 1px;
	text-align: center;
}
/*Texto de tamaño maximo*/
.EXTformat_supertexto14{
	font-size: 16px;
	text-align: left;
}
/*Texto de tamaño maximo*/
.EXTformat_supertexto{
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 1px;
	text-align: left;
}
/*Texto de tamaño anterior al maximo y en letra no bold y centrado*/
.EXTformat_supertexto_center{
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 1px;
	text-align: center;
}
/*espaciador de contenidos con posibilidad de texto 13*/
.EXTformat_tituloSpacer{
	padding: 4px 16px 0px 16px;
	font-family: Georgia, 'Times New Roman', Times, serif;
	font-weight: 600;
	width: 100%;
	font-size: 14px;
	text-align: start;
}
@media print {
    .EXTformat_oficio-footer {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        background: #fff;
        z-index: 100;
        padding-bottom: 10px;
    }
    .EXTformat_page-break {
        display: block;
        page-break-after: always;
    }
    .EXTformat_oficio {
        position: relative;
        min-height: 100vh;
        box-sizing: border-box;
        page-break-after: always;
    }
}
.page-break {
    display: none;
}

/************************************/
/************************************/
/************************************/
/*ESPACIO DE BOTONES EN LISTADOS DE SELECCION SELECT MULTIPLE*/
.td_selectmultiple{
	text-align: center;
	vertical-align: middle;
	padding: 4px 8px 4px 8px;
	display: inline-block;
}

/************************************/
/************************************/
/************************************/
.oficioArial12 {
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 12px !important;
}
.oficioArial14 {
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 14px !important;
}
.oficioArial16 {
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 16px !important;
}
.oficioTimes12 {
	font-family: 'Times New Roman', Times, serif !important;
	font-size: 12px !important;
}
.oficioTimes14 {
	font-family: 'Times New Roman', Times, serif !important;
	font-size: 14px !important;
}
.oficioTimes16 {
	font-family: 'Times New Roman', Times, serif !important;
	font-size: 16px !important;
}
/************************************/
/************************************/
/************************************/
/*Toast del sistema*/
#DELTADESK_toastgenerator{
	position: fixed;
	bottom: 65px;
	z-index: 9999;
}
/*Toast de mensajes de acciones, guardar, eliminar, etc*/
#DELTADESK_toastgeneratoractions {
  position: fixed;
  bottom: calc(47.5px + 1.75rem);
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  pointer-events: none;
}

/* 
The .likeButton class is used for elements that represent a "like" button. 
The color of the text is set to a light grey (#aaa) and the cursor changes to a pointer when hovering over the element, indicating an interactive element.
*/
.likeButton{
	color: #aaa; /* Set the color of the text to light grey */
	cursor: pointer; /* Change the cursor to a pointer when hovering over the element */
}

/* 
The .unikeButton class is used for elements that represent an "unlike" or "dislike" button. 
The color of the text is set to a strong red (#f93943) and the cursor changes to a pointer when hovering over the element, indicating an interactive element.
*/
.unikeButton{
	color: #f93943; /* Set the color of the text to strong red */
	cursor: pointer; /* Change the cursor to a pointer when hovering over the element */
}

/*Agregar color al toast por defecto*/
.toast-darkside{
	background-color: #303030 !important;
	color: #cbcbcb !important;
	/*box-shadow: 0rem 0rem 2.5rem -1.375rem rgba(0,0,0,0.7);*/
	box-shadow: 0px 4px 8px 0px hsla(0, 0%, 0%, 0.06);
}
/*Agregar el header*/
.toast-darkside-header{
	background: var(--dd-brand-gradient);
    background-color: #303030 !important;
}
/* ---- Actions toast: outer wrapper ---- */
.toast.toast-actions-header {
  pointer-events: auto;
  width: auto;
  max-width: min(520px, calc(100vw - 2rem));
  min-width: 260px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--radius-lg, 16px);
  background: linear-gradient(135deg, #0b5ca8 0%, #0f7dc7 52%, #29a4ff 100%);
  box-shadow:
    0 12px 36px -8px rgba(6, 24, 44, 0.30),
    0 2px 8px rgba(6, 24, 44, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
  overflow: hidden;
  animation: dd-toast-actions-in 260ms cubic-bezier(0.34, 1.28, 0.64, 1) both;
}

@keyframes dd-toast-actions-in {
  from { opacity: 0; transform: translateY(14px) scale(0.95); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* Reset Bootstrap .toast-header inside actions toast */
.toast.toast-actions-header > .toast-header {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 0.72rem 0.9rem;
  border: 0;
  background: transparent;
  color: #ffffff;
}

/* Title strong */
.toast.toast-actions-header > .toast-header strong {
  font-size: 0.9rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.2;
}

/* Body inline text */
.toast-header-title {
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 0.82rem;
  font-weight: 400;
}

/* Icon chip */
.toast-header-icon {
  width: 2.1rem;
  height: 2.1rem;
  min-width: 2.1rem;
  padding: 0;
  border-radius: 0.7rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(5, 15, 32, 0.22);
  color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.toast-header-icon svg,
.toast-header-icon i[data-lucide] {
  width: 1rem;
  height: 1rem;
  stroke-width: 2.2;
}
/*Estilos de iluminacion estilo sombra para los divs*/
.yellowBoxBorderShadow{
	border: 1px solid #f0ad4e !important;
	box-shadow: 0 0 4px #f08c00 !important;
	background: #f0ad4e !important;
}
.greenBoxBorderShadow{
	border: 1px solid #5cb85c !important;
	box-shadow: 0 0 4px #00bb00 !important;
	background: #5cb85c !important;
}
.redBoxBorderShadow{
	border: 1px solid #d9534f !important;
	box-shadow: 0 0 4px #dd0700 !important;
	background: #d9534f !important;
}
/* Colores para iconos titilantes en acciones*/
@keyframes blink {
	0% { opacity: 1; }
	50% { opacity: 0; }
	100% { opacity: 1; }
}
.blink-red {
	animation: blink 1s infinite;
	color: rgb(212, 0, 0);
}
.blink-green {
	animation: blink 1s infinite;
	color: rgb(0, 177, 0);
}
.blink-yellow {
	animation: blink 1s infinite;
	color: rgb(252, 143, 0);
}
/* Close button inside actions toast */
.toast-darkside-header-time {
  filter: invert(1) brightness(1.1);
  opacity: 0.8;
  flex-shrink: 0;
  margin-left: 0.5rem !important;
}

.toast-darkside-header-time:hover {
  opacity: 1;
}

/* ---- Semantic variants via shadowclass ---- */
.toast.toast-actions-header.greenBoxBorderShadow {
  background: linear-gradient(135deg, #15803d 0%, #16a34a 52%, #22c55e 100%) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
  box-shadow:
    0 12px 36px -8px rgba(21, 128, 61, 0.35),
    0 2px 8px rgba(21, 128, 61, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
}

.toast.toast-actions-header.redBoxBorderShadow {
  background: linear-gradient(135deg, #b42318 0%, #dc2626 52%, #ef4444 100%) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
  box-shadow:
    0 12px 36px -8px rgba(180, 35, 24, 0.35),
    0 2px 8px rgba(180, 35, 24, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
}

.toast.toast-actions-header.yellowBoxBorderShadow {
  background: linear-gradient(135deg, #b45309 0%, #d97706 52%, #f59e0b 100%) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
  box-shadow:
    0 12px 36px -8px rgba(180, 83, 9, 0.35),
    0 2px 8px rgba(180, 83, 9, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
}

/* Dark mode: deeper shadow (gradient stays the same — looks great on dark bg) */
html[data-theme='dark'] .toast.toast-actions-header {
  box-shadow:
    0 12px 36px -8px rgba(0, 0, 0, 0.55),
    0 2px 8px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

/* Mobile */
@media (max-width: 520px) {
  #DELTADESK_toastgeneratoractions {
    bottom: calc(47.5px + 1rem);
    left: 0.75rem;
    right: 0.75rem;
    transform: none;
  }

  .toast.toast-actions-header {
    max-width: 100%;
    min-width: 0;
    width: 100%;
  }
}
/*BOTON PARA MARCAR EL OCULTO*/
.achivebutton{
	color: rgb(63, 216, 247); 
	cursor: pointer; 
}
/*BOTON PARA QUITAR MARCAR EL OCULTO*/
.unachivebutton{
	color: #aaa; 
	cursor: pointer;
}
/*BOTON PARA QUITAR MARCAR EL FAVORITO*/
.favoritebutton{
	color: #cfb002;
	cursor: pointer;
}
/*BOTON PARA MARCAR EL FAVORITO*/
.unfavoritebutton{
	color: #aaa; 
	cursor: pointer;
}

/*Estilo para el boton de mostrar u ocultar los modulos ocultos en el menu principal*/
.menuArchived{
	border: none;
	color: #a0a0a0;
	cursor: pointer;
}


/************************************/
/*****ESTILOS PARA LOS INPUT FILE****/
/************************************/
/* Contenedor principal de la previsualización del archivo */
/* Previsualización de imagen */
/* Previsualización de PDF */
/* Ícono genérico para archivos sin previsualización */
/* Contenedor de la superposición que muestra el ícono de eliminar y el texto */
/* Mostrar la superposición solo al hacer hover */

/************************************/
/************************************/
