/* UpRights Reports Window, v1.2.
   Every rule is scoped to .upr-reports or .upr-single and most declarations are
   marked !important, so the theme's general rules for lists, buttons, form
   fields and text sizes cannot reshape the grid. Sizes are in em, relative to
   the block's own base size, so they do not depend on the theme's root size.
   To change the accent colour, edit --upr-accent below. */

.upr-reports,
.upr-single {
	--upr-accent: #1d4f73;
	--upr-muted: color-mix(in srgb, currentColor 62%, transparent);
	--upr-line: color-mix(in srgb, currentColor 18%, transparent);
	--upr-gap: 1.75em;
	font-size: 16px !important;
	line-height: 1.5 !important;
	box-sizing: border-box !important;
}

.upr-reports *,
.upr-reports *::before,
.upr-reports *::after,
.upr-single *,
.upr-single *::before,
.upr-single *::after {
	box-sizing: border-box !important;
}

.upr-reports {
	display: block !important;
	position: relative !important;
	float: none !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 2em 0 3em !important;
	padding: 0 !important;
}

/* Header ---------------------------------------------------------------- */

.upr-reports .upr-reports__header {
	display: block !important;
	margin: 0 0 1.5em !important;
	padding: 0 0 1.25em !important;
	border: 0 !important;
	border-bottom: 1px solid var(--upr-line) !important;
	background: none !important;
}

.upr-reports .upr-reports__title {
	margin: 0 0 .4em !important;
}

.upr-reports .upr-reports__intro {
	max-width: 62ch !important;
	margin: 0 0 1.25em !important;
	font-size: 1.15em !important;
	line-height: 1.5 !important;
	color: var(--upr-muted) !important;
}

.upr-reports .upr-reports__controls {
	display: none !important;
}

/* Search and filters appear only once the script is running, so visitors never meet buttons that do nothing. */
.upr-reports.upr-js .upr-reports__controls {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: .75em 1em !important;
	margin: 0 !important;
	padding: 0 !important;
}

.upr-reports .upr-reports__search {
	flex: 1 1 15em !important;
	max-width: 22em !important;
	margin: 0 !important;
	padding: 0 !important;
}

.upr-reports .upr-reports__year {
	flex: 0 0 auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.upr-reports .upr-reports__input {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 2.6em !important;
	margin: 0 !important;
	padding: .5em .8em !important;
	font-family: inherit !important;
	font-size: .95em !important;
	line-height: 1.3 !important;
	color: inherit !important;
	background: transparent !important;
	border: 1px solid var(--upr-line) !important;
	border-radius: 4px !important;
	box-shadow: none !important;
}

.upr-reports select.upr-reports__input {
	width: auto !important;
	min-width: 8em !important;
	padding-right: 2em !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%) !important;
	background-position: calc(100% - 1.1em) 55%, calc(100% - .8em) 55% !important;
	background-size: .3em .3em, .3em .3em !important;
	background-repeat: no-repeat !important;
	cursor: pointer !important;
}

.upr-reports .upr-reports__input:focus-visible {
	outline: 2px solid var(--upr-accent) !important;
	outline-offset: 1px !important;
}

.upr-reports .upr-reports__types {
	flex: 0 1 auto !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: .45em !important;
	margin: 0 !important;
	padding: 0 !important;
}

.upr-reports .upr-reports__chip {
	display: inline-flex !important;
	align-items: center !important;
	width: auto !important;
	height: auto !important;
	min-height: 2.3em !important;
	margin: 0 !important;
	padding: .35em .95em !important;
	font-family: inherit !important;
	font-size: .9em !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: inherit !important;
	background: transparent !important;
	border: 1px solid var(--upr-line) !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	cursor: pointer !important;
}

.upr-reports .upr-reports__chip:hover {
	border-color: var(--upr-accent) !important;
}

.upr-reports .upr-reports__chip[aria-pressed="true"] {
	color: #fff !important;
	background: var(--upr-accent) !important;
	border-color: var(--upr-accent) !important;
}

.upr-reports .upr-reports__chip:focus-visible {
	outline: 2px solid var(--upr-accent) !important;
	outline-offset: 2px !important;
}

.upr-reports .upr-reports__count {
	margin: 0 0 1em !important;
	font-size: .875em !important;
	color: var(--upr-muted) !important;
}

/* Grid ----------------------------------------------------------------- */

.upr-reports .upr-reports__grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 2.5em 2em !important;
	position: static !important;
	float: none !important;
	left: auto !important;
	right: auto !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	transform: none !important;
	list-style: none !important;
}

.upr-reports.upr-reports--fixed .upr-reports__grid {
	grid-template-columns: repeat(var(--upr-cols, 3), minmax(0, 1fr)) !important;
}

@media (max-width: 600px) {
	.upr-reports .upr-reports__grid,
	.upr-reports.upr-reports--fixed .upr-reports__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 2em 1em !important;
	}
}

.upr-reports .upr-card {
	flex: none !important;
	display: block !important;
	float: none !important;
	position: static !important;
	left: auto !important;
	transform: none !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
}

.upr-reports .upr-card[hidden] {
	display: none !important;
}

.upr-reports .upr-card__link {
	display: flex !important;
	flex-direction: column !important;
	gap: .85em !important;
	height: 100% !important;
	color: inherit !important;
	text-decoration: none !important;
	border: 0 !important;
	box-shadow: none !important;
	background: none !important;
}

.upr-reports .upr-card__link:focus-visible {
	outline: 3px solid var(--upr-accent) !important;
	outline-offset: 6px !important;
}

.upr-reports .upr-card__body {
	flex: none !important;
	display: flex !important;
	flex-direction: column !important;
	gap: .25em !important;
}

.upr-reports .upr-card__type,
.upr-single .upr-single__type {
	display: block !important;
	margin: 0 !important;
	font-size: .8em !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	color: var(--upr-accent) !important;
}

.upr-reports .upr-card__title {
	display: block !important;
	font-size: 1.05em !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	text-wrap: pretty;
}

.upr-reports .upr-card__link:hover .upr-card__title,
.upr-reports .upr-card__link:focus-visible .upr-card__title {
	text-decoration: underline !important;
	text-underline-offset: .2em !important;
}

.upr-reports .upr-card__meta,
.upr-single .upr-single__meta {
	display: block !important;
	margin: 0 !important;
	font-size: .85em !important;
	line-height: 1.4 !important;
	color: var(--upr-muted) !important;
}

/* The cover ------------------------------------------------------------ */

.upr-reports .upr-cover,
.upr-single .upr-cover {
	flex: none !important;
	position: relative !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1.414 !important; /* A4 */
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: #e9ecef !important;
	border-radius: 1px 3px 3px 1px !important;
	box-shadow:
		0 1px 1px rgba(20, 30, 45, .12),
		0 6px 14px -6px rgba(20, 30, 45, .35) !important;
	transition: transform .2s ease, box-shadow .2s ease !important;
}

.upr-reports .upr-cover::after,
.upr-single .upr-cover::after {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 7% !important;
	background: linear-gradient(90deg, rgba(0, 0, 0, .18), rgba(255, 255, 255, .12) 45%, rgba(0, 0, 0, 0)) !important;
	pointer-events: none !important;
}

.upr-reports .upr-card__link:hover .upr-cover,
.upr-reports .upr-card__link:focus-visible .upr-cover {
	transform: translateY(-4px) !important;
	box-shadow:
		0 1px 1px rgba(20, 30, 45, .12),
		0 16px 26px -10px rgba(20, 30, 45, .45) !important;
}

.upr-reports .upr-cover img,
.upr-single .upr-cover img {
	position: static !important;
	float: none !important;
	display: block !important;
	min-width: 0 !important;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: cover !important;
	object-position: top center !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.upr-reports .upr-cover__generated,
.upr-single .upr-cover__generated {
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	height: 100% !important;
	padding: 14% 12% 10% 16% !important;
	color: #fff !important;
	background: var(--upr-cover, #1d4f73) !important;
}

.upr-cover--v1 { --upr-cover: #1d4f73; }
.upr-cover--v2 { --upr-cover: #2f5d55; }
.upr-cover--v3 { --upr-cover: #5a3d5c; }
.upr-cover--v4 { --upr-cover: #8a5a1f; }
.upr-cover--v5 { --upr-cover: #3b4252; }

.upr-reports .upr-cover__gen-title,
.upr-single .upr-cover__gen-title {
	display: -webkit-box !important;
	-webkit-line-clamp: 7;
	-webkit-box-orient: vertical;
	overflow: hidden !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: 1.4em !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	color: #fff !important;
}

.upr-reports .upr-cover__gen-org,
.upr-single .upr-cover__gen-org {
	display: block !important;
	padding-top: .6em !important;
	font-size: .7em !important;
	line-height: 1.3 !important;
	color: #fff !important;
	border-top: 1px solid rgba(255, 255, 255, .45) !important;
	opacity: .9 !important;
}

/* Empty state ---------------------------------------------------------- */

.upr-reports .upr-reports__empty {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: .75em !important;
	margin: 0 !important;
	padding: 2em 0 !important;
	color: var(--upr-muted) !important;
}

.upr-reports .upr-reports__empty[hidden] {
	display: none !important;
}

/* Individual report page ----------------------------------------------- */

.upr-single {
	display: grid !important;
	grid-template-columns: minmax(0, 220px) 1fr !important;
	gap: var(--upr-gap) !important;
	align-items: start !important;
	margin: 0 0 2em !important;
}

.upr-single .upr-single__details p {
	margin: 0 0 .4em !important;
}

.upr-single .upr-single__button {
	display: inline-block !important;
	margin-top: .75em !important;
	padding: .7em 1.2em !important;
	font-weight: 600 !important;
	color: #fff !important;
	text-decoration: none !important;
	background: var(--upr-accent) !important;
	border: 0 !important;
	border-radius: 4px !important;
}

.upr-single .upr-single__button:focus-visible {
	outline: 3px solid var(--upr-accent) !important;
	outline-offset: 3px !important;
}

@media (max-width: 520px) {
	.upr-single {
		grid-template-columns: minmax(0, 160px) !important;
	}
}

/* Accessibility helpers ------------------------------------------------ */

.upr-reports .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(1px, 1px, 1px, 1px) !important;
	white-space: nowrap !important;
}

@media (prefers-reduced-motion: reduce) {
	.upr-reports .upr-cover {
		transition: none !important;
	}
	.upr-reports .upr-card__link:hover .upr-cover,
	.upr-reports .upr-card__link:focus-visible .upr-cover {
		transform: none !important;
	}
}
