@charset "UTF-8";
/*
 * Accesibilidad de las vistas públicas RegistroPQRS, ConsultaPQRSAnonima,
 * VisualizacionRespuestaRadicado y ReporteNorma (WCAG 2.1 AA).
 *
 * Solo la carga includes/accesibilidadPublica.jsp y todas las reglas cuelgan
 * de html.a11y-publico: el resto de vistas que comparten el layout no cambia.
 *
 * - Los rem equivalen a los px originales (px / 16): con la escala al 100 %
 *   la vista se ve igual que antes.
 * - Las reglas con :where(html.a11y-...) conservan la especificidad de la regla
 *   que reemplazan y ganan por ir después en la cascada.
 * - Las reglas que cambian la disposición solo se activan al escalar
 *   (html.a11y-escalado / html.a11y-escala-alta) o en ventanas angostas.
 */

/* ===== Tokens y escala ===== */

html.a11y-publico {
	--a11y-escala: 1;
	--a11y-foco: #0B1F33;
	--a11y-halo: #FFFFFF;
	--a11y-panel-fondo: #FFFFFF;
	--a11y-panel-texto: #222222;
	--a11y-panel-contorno: #A6C9E2;
	--a11y-panel-boton: #DFEFFC;
	--a11y-panel-boton-texto: #2E6E9E;
	--a11y-panel-borde: #C5DBEC;
	--a11y-panel-encima: #D0E5F5;
	--a11y-panel-encima-borde: #79B7E7;
	--a11y-panel-encima-texto: #1D5987;
	--a11y-panel-activo: #487AA0;
	--a11y-panel-activo-texto: #FFFFFF;
	font-size: calc(100% * var(--a11y-escala));
	/* theme.css:8-11 oculta el desborde horizontal y lo vuelve inalcanzable al ampliar */
	overflow-x: auto !important;
}

/* ===== px a rem: reglas propias de cada vista ===== */

:where(html.a11y-v-registro) .bar,
:where(html.a11y-v-registro) .jstree-dnd-helper,
:where(html.a11y-v-registro) input,
:where(html.a11y-v-registro) select,
:where(html.a11y-v-registro) textarea,
:where(html.a11y-v-registro) button,
:where(html.a11y-v-registro) table,
:where(html.a11y-v-registro) .columna,
:where(html.a11y-v-consulta) input,
:where(html.a11y-v-consulta) select,
:where(html.a11y-v-consulta) textarea,
:where(html.a11y-v-consulta) table,
:where(html.a11y-v-visualizacion) input,
:where(html.a11y-v-visualizacion) select,
:where(html.a11y-v-visualizacion) textarea,
:where(html.a11y-v-visualizacion) table,
:where(html.a11y-v-visualizacion) .columna,
:where(html.a11y-v-norma) input,
:where(html.a11y-v-norma) select,
:where(html.a11y-v-norma) textarea,
:where(html.a11y-v-norma) button,
:where(html.a11y-v-norma) table {
	font-size: 0.75rem;
}
:where(html.a11y-v-registro) .popup {
	font-size: 0.6875rem;
}
:where(html.a11y-v-registro) span.remov,
:where(html.a11y-v-registro) .main {
	font-size: 1.25rem;
}
:where(html.a11y-v-registro) #createRegistroPQRS {
	bottom: 2.1875rem;
	font-size: 0.9375rem;
}
:where(html.a11y-v-registro) .bttns,
:where(html.a11y-v-consulta) .bttns,
:where(html.a11y-v-visualizacion) .bttns {
	font-size: 0.625rem !important;
}
:where(html.a11y-v-visualizacion) .fqtext,
:where(html.a11y-v-visualizacion) .fqfield {
	font-size: 0.75rem !important;
}

/* ===== px a rem: hojas compartidas (gplus.css, custom.css, theme.css) ===== */

:where(html.a11y-publico) .uow,
:where(html.a11y-publico) .uowu,
:where(html.a11y-publico) .uowr,
:where(html.a11y-publico) .uows {
	line-height: 1.875rem;
}
/* En la cascada original .ui-button (jquery-ui.min.css) va después de .uow y le gana el interlineado */
:where(html.a11y-publico) .ui-button {
	line-height: normal;
}
:where(html.a11y-publico) .linkfile,
:where(html.a11y-publico) .fqfield .file-upload,
:where(html.a11y-publico) .fqcomm {
	font-size: 0.625rem;
}
:where(html.a11y-publico) .bttnacuerdo {
	font-size: 0.875rem !important;
}
/* gplus.css:162-172 fija 11px !important a una lista de botones por id; de esa lista estas vistas usan #filter y #search */
:where(html.a11y-publico) #filter,
:where(html.a11y-publico) #search {
	font-size: 0.6875rem !important;
}
:where(html.a11y-publico) .font16 {
	font-size: 1rem;
}
:where(html.a11y-publico) .header .logo img {
	height: 3.5rem;
	width: auto;
}
:where(html.a11y-publico) .page-header,
:where(html.a11y-publico) .page-header h2 {
	height: 1.875rem;
}
:where(html.a11y-publico) .page-header h2 {
	line-height: 1.875rem;
}
@media only screen and (min-width: 768px) {
	:where(html.a11y-publico) .header {
		height: 3.5rem;
	}
	html:where(.a11y-publico).fixed .page-header {
		top: 3.75rem;
	}
	/* 94px = 60 del encabezado + 30 de la barra + 4 del borde inferior del h2 */
	html:where(.a11y-publico).fixed .inner-wrapper {
		padding-top: calc(5.625rem + 4px);
	}
}
@media only screen and (max-width: 767px) {
	/* La franja de los logos es fija y el encabezado quedaba en 0px: tapaba la barra del título y el inicio del contenido */
	:where(html.a11y-publico) .header {
		height: 3.75rem;
	}
	:where(html.a11y-publico) .header .logo-container {
		height: 3.75rem;
	}
	:where(html.a11y-publico) .header .logo-container .logo {
		line-height: 3.5625rem;
	}
	:where(html.a11y-publico) .page-header h2 {
		font-size: 1rem;
	}
}

/* ===== px a rem: plugins ===== */

:where(html.a11y-publico) .ui-dialog .ui-dialog-titlebar-close {
	height: 1.25rem;
	margin: -0.625rem 0 0 0;
	width: 1.25rem;
}
:where(html.a11y-publico) .ui-jqgrid > .ui-jqgrid-view,
:where(html.a11y-publico) .ui-jqgrid > .ui-jqgrid-pager,
:where(html.a11y-publico) .ui-jqgrid > .ui-jqgrid-view input,
:where(html.a11y-publico) .ui-jqgrid > .ui-jqgrid-view select,
:where(html.a11y-publico) .ui-jqgrid > .ui-jqgrid-view textarea,
:where(html.a11y-publico) .ui-jqgrid > .ui-jqgrid-view button {
	font-size: 0.6875rem;
}
:where(html.a11y-publico) .ui-jqgrid > .ui-jqgrid-pager {
	min-height: 1.375rem;
}
:where(html.a11y-publico) .ui-jqgrid > .loading,
:where(html.a11y-publico) .ui-jqgrid .ui-jqdialog,
:where(html.a11y-publico) .ui-jqdialog {
	font-size: 0.6875rem;
}
:where(html.a11y-publico) .ui-jqdialog .ui-jqdialog-titlebar {
	font-size: 0.75rem;
}
:where(html.a11y-publico) .ui-jqgrid tr.jqgrow > td {
	height: 1.375rem;
}
:where(html.a11y-publico) .ui-jqgrid .ui-separator {
	height: 0.75rem;
}
:where(html.a11y-publico) .select2-container .select2-selection--single {
	height: 1.25rem;
}
/* Select2 trae 20px de interlineado en una caja de 18px útiles (20px menos el borde): se recortaba por abajo */
html.a11y-publico .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: calc(1.25rem - 2px);
}
:where(html.a11y-publico) .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 1.125rem;
	width: 1.25rem;
}
:where(html.a11y-publico) .qq-upload-button {
	height: 1.25rem;
	width: 6.5625rem;
}
:where(html.a11y-publico) .qq-upload-list li {
	font-size: 1rem;
	line-height: 0.9375rem;
}
:where(html.a11y-publico) .qq-upload-file {
	height: 1.125rem;
	width: 18.75rem;
}
:where(html.a11y-publico) .qq-upload-size,
:where(html.a11y-publico) .qq-upload-cancel,
:where(html.a11y-publico) .qq-upload-retry,
:where(html.a11y-publico) .qq-upload-delete,
:where(html.a11y-publico) .qq-upload-pause,
:where(html.a11y-publico) .qq-upload-continue {
	font-size: 0.75rem;
}
:where(html.a11y-publico) .qq-upload-status-text {
	font-size: 0.875rem;
}
/* Los diálogos reciben un ancho fijo en px por JS; se limitan a la ventana */
html.a11y-publico .ui-dialog {
	max-width: calc(100vw - 1rem);
}
html.a11y-publico #noty_topCenter_layout_container {
	left: 50% !important;
	max-width: calc(100vw - 1rem);
	transform: translateX(-50%);
}
html.a11y-publico #noty_topCenter_layout_container > li {
	max-width: 100%;
}

/*
 * jqGrid fija en px el ancho del grid al cargar. Si la ventana se angosta después (zoom, giro), el desborde
 * lo absorbía .arow y se desplazaba todo el contenido. Se limita el grid al ancho disponible y el
 * desplazamiento horizontal queda en su cuerpo (que ya tiene overflow:auto y jqGrid sincroniza el encabezado).
 * A la carga el grid ya cabe, así que no cambia nada.
 */
html.a11y-publico .ui-jqgrid {
	max-width: calc(100% - 2px);
}
html.a11y-publico .ui-jqgrid > .ui-jqgrid-view,
html.a11y-publico .ui-jqgrid .ui-jqgrid-titlebar,
html.a11y-publico .ui-jqgrid .ui-jqgrid-hdiv,
html.a11y-publico .ui-jqgrid .ui-jqgrid-bdiv,
html.a11y-publico .ui-jqgrid > .ui-jqgrid-pager {
	max-width: 100%;
}
html.a11y-publico .ui-jqgrid > .ui-jqgrid-pager {
	overflow-x: auto;
}

/* Solo al escalar: que las filas y los campos crezcan en lugar de recortar */
html.a11y-publico.a11y-escalado .fqfield textarea {
	max-width: 100%;
}
/* jqGrid fija en px el ancho de las columnas al cargar: al crecer el texto se parte en lugar de recortarse */
html.a11y-publico.a11y-escalado .ui-jqgrid .ui-jqgrid-htable th div,
html.a11y-publico.a11y-escalado .ui-jqgrid tr.jqgrow > td {
	height: auto !important;
	overflow-wrap: anywhere;
	white-space: normal !important;
}
@media only screen and (max-width: 63.99em) {
	/* «Página 1 de 43» no se parte en varias líneas; si no cabe, el paginador se desplaza */
	html.a11y-publico .ui-jqgrid .ui-pg-table td {
		white-space: nowrap;
	}
	html.a11y-publico .ui-jqgrid .ui-jqgrid-htable th div,
	html.a11y-publico .ui-jqgrid tr.jqgrow > td {
		height: auto !important;
		overflow-wrap: anywhere;
		white-space: normal !important;
	}
}
html.a11y-publico.a11y-escalado .select2-container .select2-selection--single {
	height: auto;
	min-height: 1.25rem;
}

/* ===== A1: alto fijo de .arow (encabezadoSinUsuario.jsp:91-93) ===== */

html.a11y-publico .arow {
	height: auto !important;
}
/*
 * En Registro y Norma, div#container es fijo y tomaba su alto de .arow (gplus.css:758).
 * Al ser fijo también era un contexto de apilamiento: el velo de blockUI que la vista pone sobre
 * #container mientras muestra un diálogo (z-index 1200) quedaba encerrado ahí, por debajo del diálogo.
 * isolation conserva ese comportamiento sin volver a fijar el contenedor.
 */
html.a11y-v-registro div#container,
html.a11y-v-norma div#container {
	height: auto;
	isolation: isolate;
	overflow: visible !important;
	position: static;
}

/* ===== A3: fechas de ReporteNorma con ancho fijo de 60px ===== */

html.a11y-v-norma #fechaRadicadoIni,
html.a11y-v-norma #fechaRadicadoFin {
	width: 6.5em !important;
}
html.a11y-v-norma #search {
	width: 1.875rem !important;
}
/* Botón de solo icono: el texto vacío reservaba 34px en un botón de 30px y el icono quedaba a la izquierda */
html.a11y-v-norma #search .ui-button-text {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
html.a11y-v-norma #search .ui-icon {
	left: 50%;
	margin-left: -8px;
}

/* ===== Reflujo: las columnas en % se apilan al escalar mucho o en ventanas angostas ===== */

/* Los filtros de ReporteNorma (A4) ya se reacomodan solos; con flex, el ancho de 20 % de Select2 se reducía */
html.a11y-publico.a11y-escala-alta #container .fila > .columna,
html.a11y-publico.a11y-escala-alta #area .fila > .columna,
html.a11y-v-visualizacion.a11y-escala-alta #area > .fila-no-disp {
	float: none;
	width: 100% !important;
}
@media only screen and (max-width: 47.99em) {
	html.a11y-publico #container .fila > .columna,
	html.a11y-publico #area .fila > .columna,
	html.a11y-v-visualizacion #area > .fila-no-disp {
		float: none;
		width: 100% !important;
	}
}

/* ===== A10: formPublicBuilder.js:139 pone font-family "calibri" sin respaldo ===== */

html.a11y-publico .fqtext,
html.a11y-publico .fqfield {
	font-family: Calibri, Verdana, sans-serif !important;
}

/* ===== Foco visible ===== */

/* Gana a body a:focus{outline:none !important} (theme.css:10416) y a los outline:0 de los plugins */
html.a11y-publico body :focus {
	box-shadow: 0 0 0 2px var(--a11y-halo) !important;
	outline: 3px solid var(--a11y-foco) !important;
	outline-offset: 2px !important;
}
html.a11y-publico body :focus:not(:focus-visible) {
	box-shadow: none !important;
	outline: none !important;
}
html.a11y-publico body :focus-visible {
	box-shadow: 0 0 0 2px var(--a11y-halo) !important;
	outline: 3px solid var(--a11y-foco) !important;
	outline-offset: 2px !important;
}
/* Contenedores que reciben el foco por programa (tabindex=-1): sin anillo */
html.a11y-publico body [tabindex="-1"]:focus {
	box-shadow: none !important;
	outline: none !important;
}

/* ===== Contraste de la presentación por defecto (sin paleta activa) ===== */

html.a11y-publico:not(.a11y-paleta) .naranja {
	color: #B55A07;
}
html.a11y-publico:not(.a11y-paleta) .obligatorio {
	color: #C00000 !important;
}
/* Textos en rojo puro con estilo inline (enlaces del visor de Consulta, advertencia de Radicar) */
html.a11y-publico:not(.a11y-paleta) [style*="color:red"]:not(.linkfile),
html.a11y-publico:not(.a11y-paleta) [style*="color: red"]:not(.linkfile),
html.a11y-publico:not(.a11y-paleta) [style*="#ff0000" i]:not(.linkfile) {
	color: #C00000 !important;
}
:where(html.a11y-publico:not(.a11y-paleta)) a {
	color: #04809A;
}
:where(html.a11y-publico:not(.a11y-paleta)) a:hover,
:where(html.a11y-publico:not(.a11y-paleta)) a:focus,
:where(html.a11y-publico:not(.a11y-paleta)) a:active {
	color: #00668A;
}
html.a11y-publico:not(.a11y-paleta) .linkfile:hover {
	color: #8F4A06 !important;
}
/* Hover naranja #E17009 sobre blanco (3,2:1) de gplus.css:174-184 */
html.a11y-publico:not(.a11y-paleta) #filter:hover,
html.a11y-publico:not(.a11y-paleta) #search:hover {
	color: #B15807 !important;
}
:where(html.a11y-publico:not(.a11y-paleta)) .ui-widget-header {
	background: #487AA0;
}
:where(html.a11y-publico:not(.a11y-paleta)) .ui-state-active,
:where(html.a11y-publico:not(.a11y-paleta)) .ui-widget-content .ui-state-active,
:where(html.a11y-publico:not(.a11y-paleta)) .ui-widget-header .ui-state-active,
:where(html.a11y-publico:not(.a11y-paleta)) .ui-state-active a,
:where(html.a11y-publico:not(.a11y-paleta)) .ui-state-active a:link,
:where(html.a11y-publico:not(.a11y-paleta)) .ui-state-active a:visited {
	color: #B15807;
}
/* Blanco sobre la barra #00B1D6 da 2,54:1: el texto sigue blanco y la barra se oscurece lo mínimo para 4,6:1 */
html.a11y-publico:not(.a11y-paleta) .page-header,
html.a11y-publico.sidebar-light:not(.dark):not(.a11y-paleta) .page-header {
	background: #00809B;
}
html.a11y-publico:not(.a11y-paleta) #info {
	color: #737373;
}
html.a11y-publico:not(.a11y-paleta) .text-count-wrapper,
:where(html.a11y-publico:not(.a11y-paleta)) .select2-container--default .select2-selection--single .select2-selection__placeholder,
:where(html.a11y-publico:not(.a11y-paleta)) .select2-container--default .select2-selection--multiple .select2-selection__placeholder {
	color: #757575;
}
html.a11y-publico:not(.a11y-paleta) span.remov {
	color: #737373;
}
/* noty pone el color inline: blanco sobre #FF8181 (2,41:1) y sobre #78C5E7 (1,92:1) */
html.a11y-publico:not(.a11y-paleta) .noty_bar.noty_type_error,
html.a11y-publico:not(.a11y-paleta) .noty_bar.noty_type_information {
	color: #000000 !important;
}

/* ===== Campos con error: indicador que no depende solo del color ===== */

html.a11y-publico input.ui-state-error,
html.a11y-publico select.ui-state-error,
html.a11y-publico textarea.ui-state-error {
	border-style: solid !important;
	border-width: 2px !important;
}
html.a11y-publico:not(.a11y-paleta) input.ui-state-error,
html.a11y-publico:not(.a11y-paleta) select.ui-state-error,
html.a11y-publico:not(.a11y-paleta) textarea.ui-state-error {
	box-shadow: inset 0.1875rem 0 0 #CD0A0A;
}

/* ===== Mayúscula sostenida ===== */

html.a11y-mayusculas body {
	text-transform: uppercase;
}
html.a11y-mayusculas input,
html.a11y-mayusculas textarea,
html.a11y-mayusculas .tox,
html.a11y-mayusculas .tox *,
html.a11y-mayusculas #radicado,
html.a11y-mayusculas #txtRadicado,
html.a11y-mayusculas td[aria-describedby$="_radicado"] {
	text-transform: none;
}

/*
 * ===== Paletas: tema (Predeterminado o Cálido) × modo (claro u oscuro) × alto contraste =====
 * Predeterminado claro sin alto contraste es la presentación de la vista y no usa paleta.
 * El alto contraste sigue la convención de estos modos: el texto y los botones en el color de máximo
 * contraste con el fondo; los enlaces y el foco en un color propio; la selección invertida.
 * Cada combinación sube la especificidad para imponerse a las anteriores.
 */

/* Cálido claro */
html.a11y-publico.a11y-tema-calido {
	--a11y-fondo: #F8F1E3;
	--a11y-texto: #2B2118;
	--a11y-panel: #FFFBF2;
	--a11y-control: #FFFDF8;
	--a11y-control-texto: #2B2118;
	--a11y-borde: #7D6447;
	--a11y-enlace: #7A3B00;
	--a11y-acento: #6B3F1D;
	--a11y-acento-texto: #FFFFFF;
	--a11y-sel: #EAD7B2;
	--a11y-sel-texto: #2B2118;
	--a11y-error: #A10000;
	--a11y-foco: #6B3F1D;
	--a11y-halo: #FFFFFF;
	--a11y-icono: url("../jQuery/ui-custom/images/ui-icons_217bc0_256x240.png");
	--a11y-icono-acento: url("../jQuery/ui-custom/images/ui-icons_d8e7f3_256x240.png");
}
/* Predeterminado oscuro */
html.a11y-publico.a11y-modo-oscuro {
	--a11y-fondo: #1E1E1E;
	--a11y-texto: #E8E8E8;
	--a11y-panel: #262626;
	--a11y-control: #2D2D2D;
	--a11y-control-texto: #F0F0F0;
	--a11y-borde: #9A9A9A;
	--a11y-enlace: #8AB4F8;
	--a11y-acento: #2B4A6F;
	--a11y-acento-texto: #FFFFFF;
	--a11y-sel: #3D5A80;
	--a11y-sel-texto: #FFFFFF;
	--a11y-error: #FF8A80;
	--a11y-foco: #8AB4F8;
	--a11y-halo: #1E1E1E;
	--a11y-icono: url("../jQuery/ui-custom/images/ui-icons_d8e7f3_256x240.png");
	--a11y-icono-acento: url("../jQuery/ui-custom/images/ui-icons_d8e7f3_256x240.png");
}
/* Cálido oscuro */
html.a11y-publico.a11y-tema-calido.a11y-modo-oscuro {
	--a11y-fondo: #1F1A14;
	--a11y-texto: #F2E8D8;
	--a11y-panel: #2A231B;
	--a11y-control: #30281F;
	--a11y-control-texto: #F5ECDD;
	--a11y-borde: #A08C70;
	--a11y-enlace: #F0B35A;
	--a11y-acento: #5C4320;
	--a11y-acento-texto: #FFFFFF;
	--a11y-sel: #6E5228;
	--a11y-sel-texto: #FFFFFF;
	--a11y-error: #FF9A8A;
	--a11y-foco: #F0B35A;
	--a11y-halo: #1F1A14;
	--a11y-icono: url("../jQuery/ui-custom/images/ui-icons_d8e7f3_256x240.png");
	--a11y-icono-acento: url("../jQuery/ui-custom/images/ui-icons_d8e7f3_256x240.png");
}
/* Predeterminado claro con alto contraste */
html.a11y-publico.a11y-contraste {
	--a11y-fondo: #FFFFFF;
	--a11y-texto: #000000;
	--a11y-panel: #FFFFFF;
	--a11y-control: #FFFFFF;
	--a11y-control-texto: #000000;
	--a11y-borde: #000000;
	--a11y-enlace: #0033A0;
	--a11y-acento: #003A70;
	--a11y-acento-texto: #FFFFFF;
	--a11y-sel: #003A70;
	--a11y-sel-texto: #FFFFFF;
	--a11y-error: #B00000;
	--a11y-foco: #0033A0;
	--a11y-halo: #FFFFFF;
	--a11y-icono: url("../jQuery/ui-custom/images/ui-icons_217bc0_256x240.png");
	--a11y-icono-acento: url("../jQuery/ui-custom/images/ui-icons_d8e7f3_256x240.png");
}
/* Predeterminado oscuro con alto contraste */
html.a11y-publico.a11y-contraste.a11y-modo-oscuro {
	--a11y-fondo: #000000;
	--a11y-texto: #FFFFFF;
	--a11y-panel: #000000;
	--a11y-control: #000000;
	--a11y-control-texto: #FFFFFF;
	--a11y-borde: #FFFFFF;
	--a11y-enlace: #FFFF00;
	--a11y-acento: #000000;
	--a11y-acento-texto: #FFFFFF;
	--a11y-sel: #1AEBFF;
	--a11y-sel-texto: #000000;
	--a11y-error: #FF8080;
	--a11y-foco: #FFFF00;
	--a11y-halo: #000000;
	--a11y-icono: url("../jQuery/ui-custom/images/ui-icons_d8e7f3_256x240.png");
	--a11y-icono-acento: url("../jQuery/ui-custom/images/ui-icons_d8e7f3_256x240.png");
}
/* Cálido claro con alto contraste */
html.a11y-publico.a11y-contraste.a11y-tema-calido {
	--a11y-fondo: #FFFDF5;
	--a11y-texto: #000000;
	--a11y-panel: #FFFFFF;
	--a11y-control: #FFFFFF;
	--a11y-control-texto: #000000;
	--a11y-borde: #000000;
	--a11y-enlace: #5A2A00;
	--a11y-acento: #4A2300;
	--a11y-acento-texto: #FFFFFF;
	--a11y-sel: #4A2300;
	--a11y-sel-texto: #FFFFFF;
	--a11y-error: #A00000;
	--a11y-foco: #4A2300;
	--a11y-halo: #FFFFFF;
	--a11y-icono: url("../jQuery/ui-custom/images/ui-icons_217bc0_256x240.png");
	--a11y-icono-acento: url("../jQuery/ui-custom/images/ui-icons_d8e7f3_256x240.png");
}
/* Cálido oscuro con alto contraste */
html.a11y-publico.a11y-contraste.a11y-tema-calido.a11y-modo-oscuro {
	--a11y-fondo: #000000;
	--a11y-texto: #FFF8E8;
	--a11y-panel: #000000;
	--a11y-control: #000000;
	--a11y-control-texto: #FFF8E8;
	--a11y-borde: #FFF8E8;
	--a11y-enlace: #FFC94D;
	--a11y-acento: #000000;
	--a11y-acento-texto: #FFF8E8;
	--a11y-sel: #FFC94D;
	--a11y-sel-texto: #000000;
	--a11y-error: #FF8A80;
	--a11y-foco: #FFC94D;
	--a11y-halo: #000000;
	--a11y-icono: url("../jQuery/ui-custom/images/ui-icons_d8e7f3_256x240.png");
	--a11y-icono-acento: url("../jQuery/ui-custom/images/ui-icons_d8e7f3_256x240.png");
}
html.a11y-publico.a11y-contraste.a11y-paleta {
	--a11y-panel-activo: var(--a11y-sel);
	--a11y-panel-activo-texto: var(--a11y-sel-texto);
}
html.a11y-paleta {
	--a11y-panel-fondo: var(--a11y-panel);
	--a11y-panel-texto: var(--a11y-texto);
	--a11y-panel-contorno: var(--a11y-borde);
	--a11y-panel-boton: var(--a11y-control);
	--a11y-panel-boton-texto: var(--a11y-control-texto);
	--a11y-panel-borde: var(--a11y-borde);
	--a11y-panel-encima: var(--a11y-sel);
	--a11y-panel-encima-borde: var(--a11y-borde);
	--a11y-panel-encima-texto: var(--a11y-sel-texto);
	--a11y-panel-activo: var(--a11y-acento);
	--a11y-panel-activo-texto: var(--a11y-acento-texto);
	background-color: var(--a11y-fondo) !important;
}

/*
 * Base de la paleta: fondo, texto y borde para todo, salvo imágenes, iframes,
 * sprites de iconos, iconos de fuente (el estado de las normas va por su color),
 * el velo de blockUI y el panel. :where() deja la especificidad en (0,1,1)
 * para que las reglas siguientes la refinen.
 */
html.a11y-paleta :where(body, body *:not(img, svg, svg *, iframe, video, canvas, .ui-icon, .jstree-icon, .fa, .fas, .far, .blockOverlay, .a11y-panel, .a11y-panel *, .select2-selection__arrow b)) {
	background-color: var(--a11y-fondo) !important;
	background-image: none !important;
	border-color: var(--a11y-borde) !important;
	color: var(--a11y-texto) !important;
	text-shadow: none !important;
}
/* El bloque .logo es más alto que la franja de los logos; con su fondo pintado tapaba el inicio del contenido */
html.a11y-paleta.a11y-publico .header .logo {
	background-color: transparent !important;
}
/* Logo de G+ 3, claro u oscuro según el modo (lo cambia a11y-publico.js), con el alto que tiene en G+ 3. El original no se muestra mientras se cambia */
html.a11y-publico .header .logo img:not(#cobranding):not([data-a11y-logo]) {
	visibility: hidden;
}
html.a11y-publico .header .logo img[data-a11y-logo] {
	height: 3rem;
	margin: 0.25rem 0.5rem 0 0;
	vertical-align: top;
}
/* En pantallas angostas el logo de G+ 3 es más ancho que el original: los dos logos se reducen para no chocar con el botón del panel. Con el texto muy aumentado conservan un ancho mínimo, como antes */
@media only screen and (max-width: 767px) {
	html.a11y-publico .header .logo {
		align-items: center;
		display: flex;
		max-width: max(40vw, calc(100vw - 15px - 10rem));
	}
	html.a11y-publico .header .logo img {
		flex: 0 1 auto;
		height: auto;
		min-width: 0;
		object-fit: contain;
		object-position: left center;
	}
	html.a11y-publico .header .logo img[data-a11y-logo] {
		margin-top: 0;
		max-height: 3rem;
	}
	html.a11y-publico .header .logo img#cobranding {
		max-height: 3.5rem;
	}
}
html.a11y-paleta :where(.header, .header .logo-container, .ui-widget-content, .ui-dialog, .ui-dialog-content, .ui-datepicker, .select2-dropdown, .noty_bar, .noty_message, .blockMsg, .qq-upload-list li) {
	background-color: var(--a11y-panel) !important;
}
html.a11y-paleta :where(.noty_bar) {
	border: 2px solid var(--a11y-borde) !important;
}
html.a11y-paleta :where(.noty_bar.noty_type_error, .noty_bar.noty_type_error *) {
	border-color: var(--a11y-error) !important;
	color: var(--a11y-error) !important;
}
html.a11y-paleta :where(input, select, textarea, .select2-selection, .select2-search__field, .qq-upload-file) {
	background-color: var(--a11y-control) !important;
	border-color: var(--a11y-borde) !important;
	color: var(--a11y-control-texto) !important;
}
html.a11y-paleta :where(input, textarea)::placeholder {
	color: var(--a11y-control-texto) !important;
	opacity: 1;
}
html.a11y-paleta :where(a, a *) {
	color: var(--a11y-enlace) !important;
	text-decoration: underline !important;
}
/* Reglas existentes con !important y más especificidad que la base de la paleta */
html.a11y-paleta.a11y-publico .linkfile,
html.a11y-paleta.a11y-publico .linkfile:hover,
html.a11y-paleta.a11y-publico .link:hover,
html.a11y-paleta.a11y-publico #dialog-aviso-legal a,
html.a11y-paleta.a11y-publico #filter,
html.a11y-paleta.a11y-publico #filter:hover {
	background-color: transparent !important;
	color: var(--a11y-enlace) !important;
}
html.a11y-paleta.a11y-publico #search,
html.a11y-paleta.a11y-publico #search:hover {
	color: var(--a11y-acento-texto) !important;
}
html.a11y-paleta :where(.page-header, .page-header h2, .ui-widget-header, .ui-widget-header *, .ui-state-default, .ui-state-default *, .ui-button, .ui-button *, button, button *, .qq-upload-button, .qq-upload-button *, .ui-jqgrid .ui-jqgrid-htable th, .ui-jqgrid .ui-jqgrid-htable th *) {
	background-color: var(--a11y-acento) !important;
	border-color: var(--a11y-borde) !important;
	color: var(--a11y-acento-texto) !important;
}
html.a11y-paleta :where(.ui-state-hover, .ui-state-hover *, .ui-state-focus, .ui-state-focus *, .ui-state-highlight, .ui-state-highlight *, .ui-state-active, .ui-state-active *, .select2-results__option--highlighted, .select2-results__option[aria-selected="true"]) {
	background-color: var(--a11y-sel) !important;
	color: var(--a11y-sel-texto) !important;
}
/* El fondo lo pinta el botón: el texto oculto de la X de los diálogos mide 21px y, pintado, se salía por debajo del botón de 20px */
html.a11y-paleta :where(.ui-button *, button *) {
	background-color: transparent !important;
}
html.a11y-paleta :where(.ui-state-error, .ui-state-error-text, .obligatorio, [style*="color:red"], [style*="color: red"], [style*="#ff0000" i]) {
	color: var(--a11y-error) !important;
}
html.a11y-paleta :where(input.ui-state-error, select.ui-state-error, textarea.ui-state-error) {
	border-color: var(--a11y-error) !important;
	box-shadow: inset 0.1875rem 0 0 var(--a11y-error) !important;
}
html.a11y-paleta :where(.ui-icon) {
	background-image: var(--a11y-icono) !important;
}
html.a11y-paleta :where(.ui-widget-header .ui-icon, .ui-state-default .ui-icon, .ui-button .ui-icon) {
	background-image: var(--a11y-icono-acento) !important;
}
/* HugeRTE fija el relleno de sus iconos SVG; en la paleta siguen el color del texto de su botón */
html.a11y-paleta.a11y-publico .tox svg,
html.a11y-paleta.a11y-publico .tox svg * {
	fill: currentColor !important;
}
html.a11y-paleta :where(.select2-selection__arrow b) {
	border-color: var(--a11y-control-texto) transparent transparent transparent !important;
}

/* ===== RegistroPQRS ===== */

html.a11y-v-registro .a11y-nota-obligatorio {
	font-size: 0.75rem;
	margin: 0;
	padding: 0.3125rem;
}
html.a11y-v-registro #a11y-etiqueta-descripcion {
	display: block;
	margin: 0 0 0.3125rem 0;
}
/* El botón «Radicar» es fijo abajo a la derecha: se deja espacio para que no tape el final del formulario */
html.a11y-v-registro #container {
	padding-bottom: 4rem;
}
/* Aviso legal, opción A: el checkbox real siempre visible y el recuadro #noCheck siempre oculto */
html.a11y-v-registro #isCheck {
	display: inline-block !important;
}
html.a11y-v-registro #noCheck {
	display: none !important;
}
html.a11y-v-registro #avisoLegal > p {
	margin-left: 0 !important;
}
html.a11y-v-registro .a11y-error-aviso {
	display: block;
	font-size: 0.75rem;
	font-weight: bold;
	margin: 0.3125rem 0 0 0;
}
html.a11y-v-registro:not(.a11y-paleta) .a11y-error-aviso {
	color: #C00000;
}
html.a11y-paleta.a11y-v-registro .a11y-error-aviso {
	color: var(--a11y-error) !important;
}
html.a11y-v-registro #isCheck[aria-invalid="true"] {
	outline: 2px solid #C00000;
	outline-offset: 2px;
}
html.a11y-paleta.a11y-v-registro #isCheck[aria-invalid="true"] {
	outline-color: var(--a11y-error);
}

/* «Cargar Archivo» (Fine Uploader) con el mismo aspecto que los botones de jQuery UI */
html.a11y-publico:not(.a11y-paleta) .qq-upload-button {
	background: #DFEFFC;
	border: 1px solid #C5DBEC;
	border-radius: 0.3125rem;
	box-shadow: none;
	color: #2E6E9E;
	font-weight: bold;
}
html.a11y-publico:not(.a11y-paleta) .qq-upload-button-hover {
	background: #D0E5F5;
	border-color: #79B7E7;
	color: #1D5987;
}
html.a11y-publico .qq-upload-button-focus {
	box-shadow: 0 0 0 2px var(--a11y-halo) !important;
	outline: 3px solid var(--a11y-foco) !important;
	outline-offset: 2px;
}

/* ===== ConsultaPQRSAnonima ===== */

/* «Filtrar» pasa de enlace a botón: se le quita el aspecto de botón del navegador para que se vea igual */
html.a11y-v-consulta button#filter {
	background: transparent;
	border: 0;
	cursor: pointer;
	line-height: inherit;
	margin: 0;
	padding: 0;
}

/* ===== VisualizacionRespuestaRadicado ===== */

html.a11y-v-visualizacion .a11y-ayuda-buscar {
	font-size: 0.75rem;
	margin: 0 0 0.3125rem 0;
	text-align: center;
}
/* El resultado tenía un alto fijo de 490px que recortaba al crecer el texto; ahora ese alto es el mínimo */
html.a11y-v-visualizacion #visualizacionDocumento {
	height: auto !important;
	min-height: 30.625rem;
}

/* ===== Panel, enlace de salto y regiones vivas ===== */

html.a11y-publico .a11y-oculto {
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}
html.a11y-publico .a11y-saltar {
	background: var(--a11y-panel-fondo);
	border: 2px solid var(--a11y-panel-borde);
	color: var(--a11y-panel-texto) !important;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1rem;
	left: 0.5rem;
	padding: 0.5rem 1rem;
	position: fixed;
	text-decoration: underline;
	top: -10rem;
	z-index: 10000001;
}
html.a11y-publico .a11y-saltar:focus {
	top: 0.5rem;
}
html.a11y-publico .a11y-panel {
	font-family: "Lucida Grande", "Lucida Sans", Arial, sans-serif;
	line-height: 1.25;
	position: absolute;
	right: 1rem;
	text-transform: none;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1030;
}
/* Los colores del panel llevan !important para no heredar los de la paleta sobre button */
html.a11y-publico .a11y-panel button {
	background: var(--a11y-panel-boton) !important;
	border: 1px solid var(--a11y-panel-borde) !important;
	border-radius: 0.3125rem;
	color: var(--a11y-panel-boton-texto) !important;
	cursor: pointer;
	font-family: inherit;
	font-size: 0.8125rem;
	font-weight: bold;
	line-height: 1.25;
	margin: 0;
	min-height: 2rem;
	min-width: 2rem;
	padding: 0.3125rem 0.75rem;
	text-transform: none;
}
html.a11y-publico .a11y-panel button:hover {
	background: var(--a11y-panel-encima) !important;
	border-color: var(--a11y-panel-encima-borde) !important;
	color: var(--a11y-panel-encima-texto) !important;
}
html.a11y-publico .a11y-panel .a11y-icono {
	height: 1.125em;
	margin-right: 0.375rem;
	vertical-align: -0.25em;
	width: 1.125em;
}
/* El contenido de los botones (icono, textos) no toma fondo ni color propios de la paleta: sigue al botón */
html.a11y-publico .a11y-panel button * {
	background-color: transparent !important;
	color: inherit !important;
}
/* Respuesta visual al presionar, como los botones de jQuery UI */
html.a11y-publico .a11y-panel button:active {
	background: var(--a11y-panel-activo) !important;
	border-color: var(--a11y-panel-activo) !important;
	color: var(--a11y-panel-activo-texto) !important;
}
html.a11y-publico .a11y-panel button[aria-pressed="true"],
html.a11y-publico .a11y-panel .a11y-panel-abrir[aria-expanded="true"] {
	background: var(--a11y-panel-activo) !important;
	color: var(--a11y-panel-activo-texto) !important;
	font-weight: bold;
}
/* El estado activo se ve también sin color */
html.a11y-publico .a11y-panel button[aria-pressed="true"]::before {
	content: "\2713\00a0";
}
html.a11y-publico .a11y-panel button[aria-disabled="true"] {
	cursor: not-allowed;
	opacity: 0.6;
}
/* Ajustes que se encienden o apagan, separados de las opciones de tema y modo */
html.a11y-publico .a11y-grupo.a11y-ajustes {
	border-bottom: 1px solid var(--a11y-panel-contorno);
	border-top: 1px solid var(--a11y-panel-contorno);
	padding: 0.75rem 0;
}
html.a11y-publico .a11y-panel button.a11y-interruptor {
	align-items: center;
	display: flex;
	justify-content: space-between;
	width: 100%;
}
html.a11y-publico .a11y-panel button.a11y-interruptor[aria-checked="true"] {
	background: var(--a11y-panel-activo) !important;
	border-color: var(--a11y-panel-activo) !important;
	color: var(--a11y-panel-activo-texto) !important;
}
/* La posición del círculo indica el estado sin depender del color */
html.a11y-publico .a11y-panel .a11y-pista {
	border: 2px solid currentColor !important;
	border-radius: 0.75rem;
	box-sizing: border-box;
	display: inline-block;
	flex: none;
	height: 1.25rem;
	margin-left: 0.75rem;
	position: relative;
	width: 2.5rem;
}
html.a11y-publico .a11y-panel .a11y-pista > span {
	background-color: currentColor !important;
	border-radius: 50%;
	height: 0.75rem;
	left: 0.125rem;
	position: absolute;
	top: 0.125rem;
	transition: left 0.15s;
	width: 0.75rem;
}
html.a11y-publico .a11y-panel button.a11y-interruptor[aria-checked="true"] .a11y-pista > span {
	left: 1.375rem;
}
@media (prefers-reduced-motion: reduce) {
	html.a11y-publico .a11y-panel .a11y-pista > span {
		transition: none;
	}
}
/* Restablecer queda aparte, como acción secundaria y no como opción de un grupo */
html.a11y-publico .a11y-panel button.a11y-restablecer {
	background: transparent !important;
	display: block;
	font-weight: normal;
	margin-top: 0.75rem;
	text-decoration: underline;
	width: 100%;
}
html.a11y-publico .a11y-panel button.a11y-restablecer::before {
	content: "\21BA\00a0";
	text-decoration: none;
}
html.a11y-publico .a11y-opciones {
	background: var(--a11y-panel-fondo) !important;
	border: 1px solid var(--a11y-panel-contorno);
	border-radius: 0.3125rem;
	box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.25);
	color: var(--a11y-panel-texto) !important;
	max-height: calc(100vh - 6rem);
	max-width: calc(100vw - 2rem);
	overflow: auto;
	padding: 0.75rem;
	position: absolute;
	right: 0;
	top: calc(100% + 0.25rem);
	width: 18rem;
}
html.a11y-publico .a11y-opciones[hidden] {
	display: none;
}
html.a11y-publico .a11y-opciones-titulo {
	font-size: 1rem;
	font-weight: bold;
	margin: 0 0 0.5rem 0;
}
html.a11y-publico .a11y-grupo {
	border: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
	margin: 0 0 0.75rem 0;
	padding: 0;
}
html.a11y-publico .a11y-grupo-titulo {
	font-size: 0.875rem;
	font-weight: bold;
	margin: 0 0 0.25rem 0;
	width: 100%;
}
html.a11y-publico .a11y-nivel {
	align-self: center;
	font-size: 0.875rem;
	min-width: 3.5rem;
	text-align: center;
}
