:root {
	--reflora-green: #1f7a4d;
	--reflora-menu-green: #008000;
	--reflora-menu-green-hover: #006b00;
	--reflora-blue: #245da8;
	--reflora-ink: #17324d;
	--reflora-muted: #5b6775;
}

body {
	color: var(--reflora-ink);
	background-color: #f3f8f5;
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
	outline: 3px solid #f5c542;
	outline-offset: 3px;
}

.btn-verde-reflora {
	--bs-btn-color: #ffffff;
	--bs-btn-bg: #21770d;
	--bs-btn-border-color: #21770d;
	--bs-btn-hover-color: #ffffff;
	--bs-btn-hover-bg: #1b660b;
	--bs-btn-hover-border-color: #1b660b;
	--bs-btn-focus-shadow-rgb: 33, 119, 13;
	--bs-btn-active-color: #ffffff;
	--bs-btn-active-bg: #185b0a;
	--bs-btn-active-border-color: #185b0a;
	--bs-btn-disabled-color: #ffffff;
	--bs-btn-disabled-bg: #21770d;
	--bs-btn-disabled-border-color: #21770d;
	--bs-btn-padding-x: .75rem;
	--bs-btn-padding-y: .25rem;
	--bs-btn-font-size: .875rem;
	--bs-btn-border-radius: .25rem;
	min-width: 7.625rem;
	min-height: 2rem;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: uppercase;
}

.skip-link {
	position: absolute;
	left: 1rem;
	top: -4rem;
	z-index: 2000;
	padding: .75rem 1rem;
	background: #ffffff;
	color: var(--reflora-ink);
	border: 2px solid var(--reflora-ink);
}

.skip-link:focus {
	top: 1rem;
}

.govbr-brand-group {
	max-width: 100%;
}

.govbr-brand {
	display: inline-flex;
	align-items: center;
	margin-right: 0;
	padding-top: .25rem;
	padding-bottom: .25rem;
}

.govbr-brand img {
	display: block;
	width: 5.5rem;
	height: auto;
}

.govbr-agency-link {
	display: inline-flex;
	align-items: center;
	min-height: 2.5rem;
	margin-left: .9rem;
	padding-left: 1rem;
	border-left: 1px solid #d2d6dc;
	color: #1b1b1b;
	font-size: 1rem;
	line-height: 1.2;
	text-decoration: none;
}

.govbr-agency-link:hover,
.govbr-agency-link:focus {
	color: var(--reflora-blue);
	text-decoration: underline;
}

.navbar-nav .nav-link {
	color: var(--reflora-menu-green);
	font-weight: 600;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-nav .nav-link.active {
	color: var(--reflora-menu-green-hover);
}

.navbar-nav .nav-link.active {
	font-weight: 700;
}

.navbar-nav .dropdown-item {
	color: var(--reflora-menu-green);
	font-weight: 600;
}

.navbar-nav .dropdown-item:hover,
.navbar-nav .dropdown-item:focus,
.navbar-nav .dropdown-item.active {
	background-color: #e5f1ea;
	color: var(--reflora-menu-green-hover);
}

.hero-section {
	padding: 2rem 0 2.5rem;
	background: transparent;
}

.home-brand-title {
	margin-bottom: .75rem;
}

.home-brand-logo {
	display: block;
	width: min(14rem, 70vw);
	max-height: 4.5rem;
	object-fit: contain;
	object-position: left center;
}

.home-banner-image {
	display: block;
	width: 100%;
	height: clamp(14rem, 32vw, 24rem);
	object-fit: cover;
	object-position: center center;
	background: #ffffff;
}

.carousel-caption {
	right: .75rem;
	bottom: 3rem;
	left: auto;
	width: min(20rem, calc(100% - 1.5rem));
	background: rgba(255, 255, 255, .64);
	border-radius: .5rem;
	padding: .5rem .75rem;
	color: #113b5c;
	text-align: right;
	border: 1px solid rgba(255, 255, 255, .55);
	box-shadow: 0 .2rem .5rem rgba(15, 23, 42, .06);
}

.carousel-caption h2 {
	margin-bottom: .25rem;
	font-size: .85rem;
	line-height: 1.25;
}

.home-banner-subtitle {
	margin-bottom: .15rem;
	font-size: .7rem;
	line-height: 1.35;
}

.home-banner-credit {
	margin-bottom: 0;
	color: #506575;
	font-size: .64rem;
	line-height: 1.35;
}

.carousel-indicators {
	right: .75rem;
	bottom: .75rem;
	left: auto;
	justify-content: flex-end;
	margin: 0;
}

.presentation-section {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid #d7e0e8;
}

.presentation-content {
	width: 100%;
	max-width: none;
	color: var(--reflora-ink);
}

.presentation-content > :last-child {
	margin-bottom: 0;
}

.empty-banner {
	display: grid;
	min-height: clamp(14rem, 32vw, 24rem);
	place-items: center;
	background: #e8eef0;
	color: var(--reflora-muted);
}

.section-band {
	padding: 3rem 0;
}

.system-card {
	border: 1px solid #d7e0e8;
	border-radius: .5rem;
	padding: 1.25rem;
	background: #ffffff;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.system-card-flora-funga {
	background-color: #f7fbf8;
	background-image: url("../img/background-reflora.png");
}

.system-card-herbario-virtual {
	background-color: #ffffff;
	background-image: url("../img/fundo.png");
}

.system-card-heading {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
	margin-bottom: 1rem;
}

.system-description {
	margin-bottom: .35rem;
}

.system-contact {
	margin: 0 0 1rem;
	color: var(--reflora-muted);
	font-size: .95rem;
}

.system-contact-label {
	color: var(--reflora-ink);
	font-weight: 600;
}

.system-contact a {
	color: var(--reflora-blue);
	font-weight: 600;
	text-decoration: none;
}

.system-contact a:hover,
.system-contact a:focus {
	text-decoration: underline;
}

.system-logo {
	width: 11rem;
	height: 3.5rem;
	object-fit: contain;
	object-position: left center;
}

.language-selector {
	max-width: 100%;
}

.header-accessibility-actions {
	max-width: 100%;
}

.language-selector-toggle {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	min-height: 2.25rem;
	padding: .35rem .5rem;
	border: 0;
	border-radius: .25rem;
	background: transparent;
	color: #1351b4;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	transition: background-color .18s ease, box-shadow .18s ease;
}

.language-selector-toggle:hover,
.language-selector-toggle:focus-visible,
.language-selector-toggle[aria-expanded="true"] {
	background: #eef4f8;
	box-shadow: 0 .25rem .65rem rgba(19, 81, 180, .16);
}

.language-selector-toggle::after {
	content: "";
	width: .35rem;
	height: .35rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-.12rem);
}

.language-selector-menu {
	min-width: 5.25rem;
	padding: .35rem 0;
	border: 0;
	border-radius: 0 0 .75rem .75rem;
	box-shadow: 0 .5rem 1.25rem rgba(23, 50, 77, .16);
}

.language-selector-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	padding: .65rem 1rem;
	color: #1351b4;
	font-weight: 700;
}

.language-selector-item:hover,
.language-selector-item:focus {
	background: #eef4f8;
	color: #0f4aa1;
}

.language-selector-item.active {
	background: #1351b4;
	color: #ffffff;
}

.language-selector-check {
	display: none;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
}

.language-selector-check::after {
	content: "";
	width: .55rem;
	height: .3rem;
	margin-top: -.1rem;
	border-left: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(-45deg);
}

.language-selector-item.active .language-selector-check {
	display: inline-flex;
	color: #ffffff;
}

.contrast-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	padding: .35rem;
	border: 0;
	border-radius: .25rem;
	background: transparent;
	color: #1351b4;
	transition: background-color .18s ease, box-shadow .18s ease;
}

.contrast-toggle:hover,
.contrast-toggle:focus-visible,
.contrast-toggle[aria-pressed="true"] {
	background: #eef4f8;
	box-shadow: 0 .25rem .65rem rgba(19, 81, 180, .16);
}

.contrast-toggle-icon {
	position: relative;
	width: 1.08rem;
	height: 1.08rem;
	overflow: hidden;
	border: 2px solid currentColor;
	border-radius: 50%;
}

.contrast-toggle-icon::before {
	position: absolute;
	inset: 0 50% 0 0;
	background: currentColor;
	content: "";
}
.news-card {
	position: relative;
	display: block;
	min-height: 22rem;
	overflow: hidden;
	border: 0;
	border-radius: .25rem;
	color: #ffffff;
	text-decoration: none;
	background: #17324d;
}

.news-card:hover,
.news-card:focus {
	color: #ffffff;
}

.news-card:focus-visible {
	outline: 3px solid #f5c542;
	outline-offset: 4px;
}

.news-card img {
	width: 100%;
	height: 100%;
	min-height: 22rem;
	object-fit: cover;
	transition: transform .25s ease;
}

.news-card:hover img,
.news-card:focus img {
	transform: scale(1.03);
}

.news-card::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(180deg, rgba(0, 0, 0, .08) 0%, rgba(0, 0, 0, .35) 42%, rgba(0, 0, 0, .82) 100%);
}

.news-card-overlay {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	display: grid;
	gap: .5rem;
	padding: 1.25rem;
}

.news-card-overlay h2,
.news-card-overlay h3 {
	max-width: 90%;
	margin: 0;
	color: #ffffff;
	font-size: clamp(1rem, 1.35vw, 1.25rem);
	font-weight: 700;
	line-height: 1.22;
}

.news-card-overlay p {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	color: rgba(255, 255, 255, .88);
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.news-category {
	width: fit-content;
	max-width: 100%;
	padding: .2rem 0;
	color: rgba(255, 255, 255, .82);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
}

.news-detail {
	width: min(100%, 62rem);
	margin: 0 auto;
}

.news-detail-category {
	margin-bottom: .75rem;
	color: var(--reflora-blue);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
}

.news-detail-title {
	max-width: 52rem;
	margin-bottom: .75rem;
	font-size: clamp(1.75rem, 4vw, 2.6rem);
	line-height: 1.15;
}

.news-detail-subtitle {
	max-width: 52rem;
	color: var(--reflora-muted);
}

.news-detail-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem .75rem;
	margin-bottom: 1rem;
	font-size: .95rem;
}

.news-detail-image {
	display: block;
	width: 100%;
	max-height: 34rem;
	margin-bottom: 2rem;
	object-fit: cover;
	background: #e8eef0;
}

.news-content {
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 1.05rem;
	line-height: 1.75;
}

.news-content img,
.news-content iframe,
.news-content video {
	max-width: 100%;
	height: auto;
}

.news-content .ql-align-center {
	text-align: center;
}

.news-content .ql-align-right {
	text-align: right;
}

.news-content .ql-align-justify {
	text-align: justify;
}

.news-content iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.news-content a {
	word-break: break-word;
}

.footer-section {
	background: #071d41;
	color: #ffffff;
}

.footer-logo {
	font-size: 2rem;
}

.footer-logo:hover,
.footer-logo:focus {
	color: #ffffff;
	text-decoration: underline !important;
}

.footer-heading {
	color: #ffffff;
	letter-spacing: 0;
}

.footer-list a,
.footer-link-disabled {
	color: rgba(255, 255, 255, .9);
	font-size: .86rem;
	line-height: 1.35;
	text-decoration: none;
}

.footer-list a:hover,
.footer-list a:focus {
	color: #ffffff;
	text-decoration: underline;
}

.footer-link-disabled {
	display: inline-block;
	color: rgba(255, 255, 255, .66);
}

.footer-institution {
	color: #ffffff;
}

.footer-credits {
	row-gap: 1.25rem;
}

.footer-institution-group {
	display: flex;
	align-items: center;
	gap: 1rem;
	max-width: min(100%, 52rem);
}

.footer-institution-logo {
	width: 6.5rem;
	height: auto;
	flex-shrink: 0;
}

.footer-institution-divider {
	width: 1px;
	height: 2.6rem;
	flex-shrink: 0;
	background: rgba(255, 255, 255, .28);
}

.footer-institution-text {
	max-width: 46rem;
	color: rgba(255, 255, 255, .92);
	font-size: .96rem;
	font-weight: 500;
	line-height: 1.45;
}

@media (max-width: 575.98px) {
	.footer-institution-group {
		flex-direction: column;
		text-align: center;
	}

	.footer-institution-divider {
		width: 4rem;
		height: 1px;
	}
}

.footer-license {
	display: grid;
	width: 5.5rem;
	min-width: 5.5rem;
	overflow: hidden;
	border: 2px solid #000000;
	border-radius: .15rem;
	background: #ffffff;
	color: #000000;
	text-decoration: none;
}

.footer-license:hover,
.footer-license:focus {
	color: #000000;
	text-decoration: none;
}

.footer-license:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: .2rem;
}

.footer-license-icons {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	padding: .16rem .35rem .12rem;
}

.footer-license-mark,
.footer-license-person {
	display: inline-grid;
	position: relative;
	width: 1.35rem;
	height: 1.35rem;
	place-items: center;
	border: 2px solid #000000;
	border-radius: 50%;
	font-size: .62rem;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1;
	text-transform: uppercase;
}

.footer-license-person::before,
.footer-license-person::after {
	position: absolute;
	left: 50%;
	content: "";
	transform: translateX(-50%);
}

.footer-license-person::before {
	top: .22rem;
	width: .32rem;
	height: .32rem;
	border-radius: 50%;
	background: #000000;
}

.footer-license-person::after {
	bottom: .2rem;
	width: .72rem;
	height: .42rem;
	border: 2px solid #000000;
	border-bottom: 0;
	border-radius: .5rem .5rem 0 0;
}

.footer-license-by {
	display: block;
	padding: .04rem 0 .08rem;
	background: #000000;
	color: #ffffff;
	font-size: .55rem;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1;
	text-align: center;
}
.indicator-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 19rem;
	overflow: hidden;
	padding: 1rem;
	border: 1px solid #d7e0e8;
	border-radius: .5rem;
	background: #ffffff;
	box-shadow: 0 .5rem 1.5rem rgba(23, 50, 77, .08);
}

.indicator-card > * {
	position: relative;
	z-index: 1;
}

.indicator-card::before {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	opacity: .48;
}

.indicator-card-flora-funga {
	background-color: #f7fbf8;
}

.indicator-card-flora-funga::before {
	background-image: url("../img/background-reflora.png");
}

.indicator-card-herbario-virtual {
	background-color: #ffffff;
}

.indicator-card-herbario-virtual::before {
	background-image: url("../img/fundo.png");
}

.indicator-chart-wrap {
	position: relative;
	width: min(10rem, 100%);
	margin: 0 auto .75rem;
}

.indicator-donut {
	display: block;
	width: 100%;
	height: auto;
}

.indicator-center {
	position: absolute;
	inset: 0;
	display: grid;
	place-content: center;
	text-align: center;
	pointer-events: none;
}

.indicator-center strong {
	font-size: 1.125rem;
	line-height: 1.1;
	color: #001034;
}

.indicator-center span {
	margin-top: .2rem;
	font-size: .75rem;
	line-height: 1.2;
	color: #53627c;
}

.biome-list {
	display: grid;
	gap: 1.1rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.biome-list li {
	position: relative;
	display: grid;
	grid-template-columns: 10rem 1fr;
	gap: 1rem;
	align-items: center;
}

.biome-list li::after {
	position: absolute;
	right: 0;
	bottom: calc(100% + .45rem);
	z-index: 10;
	display: none;
	padding: .35rem .55rem;
	border-radius: .25rem;
	background: var(--reflora-ink);
	color: #ffffff;
	font-size: .875rem;
	line-height: 1.2;
	white-space: nowrap;
	content: attr(data-value);
	box-shadow: 0 .35rem 1rem rgba(23, 50, 77, .18);
}

.biome-list li:hover::after,
.biome-list li:focus-visible::after {
	display: block;
}

.indicator-track {
	height: .55rem;
	overflow: hidden;
	border-radius: 999px;
	background: #dcefe9;
}

.indicator-fill {
	display: block;
	height: 100%;
	border-radius: inherit;
}

.indicator-source {
	margin: 0 0 .5rem;
	color: #25465f;
	font-size: .92rem;
	font-weight: 600;
	line-height: 1.35;
	text-align: center;
}

.indicator-question {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 2.5rem;
	margin: 0 0 .5rem;
	color: #53627c;
	font-size: .88rem;
	line-height: 1.35;
	text-align: center;
}

.indicator-question-placeholder {
	visibility: hidden;
}

.indicator-list-with-values li {
	grid-template-columns: minmax(8rem, 11rem) 1fr auto;
}

.indicator-herbarium-label {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
}

.indicator-herbarium-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.5rem;
	min-height: 1.5rem;
}

.indicator-label {
	min-width: 0;
}

.indicator-value {
	color: var(--reflora-ink);
	font-size: .95rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}

.indicator-fill-1 {
	background: #007c6c;
}

.indicator-fill-2 {
	background: #2768bf;
}

.indicator-fill-3 {
	background: #b05a00;
}

.indicator-fill-4 {
	background: #7b4bb2;
}

.indicator-fill-5 {
	background: #c43d4d;
}

.indicator-fill-6 {
	background: #627700;
}

.indicator-width-10 {
	width: 10%;
}

.indicator-width-15 {
	width: 15%;
}

.indicator-width-20 {
	width: 20%;
}

.indicator-width-25 {
	width: 25%;
}

.indicator-width-30 {
	width: 30%;
}

.indicator-width-35 {
	width: 35%;
}

.indicator-width-40 {
	width: 40%;
}

.indicator-width-45 {
	width: 45%;
}

.indicator-width-50 {
	width: 50%;
}

.indicator-width-55 {
	width: 55%;
}

.indicator-width-60 {
	width: 60%;
}

.indicator-width-65 {
	width: 65%;
}

.indicator-width-70 {
	width: 70%;
}

.indicator-width-75 {
	width: 75%;
}

.indicator-width-80 {
	width: 80%;
}

.indicator-width-85 {
	width: 85%;
}

.indicator-width-90 {
	width: 90%;
}

.indicator-width-95 {
	width: 95%;
}

.indicator-width-100 {
	width: 100%;
}

.specimens-fill-1 {
	width: 95%;
	background: #245da8;
}

.specimens-fill-2 {
	width: 76%;
	background: #2a9d8f;
}

.specimens-fill-3 {
	width: 58%;
	background: #d58900;
}

.specimens-fill-4 {
	width: 35%;
	background: #6f42c1;
}

.specimens-fill-5 {
	width: 24%;
	background: #c8553d;
}

.specimens-fill-6 {
	width: 18%;
	background: #5f6f00;
}

@media (max-width: 575.98px) {
	.biome-list li,
	.indicator-list-with-values li {
		grid-template-columns: 1fr;
		gap: .5rem;
	}

	.indicator-value {
		justify-self: start;
	}
}

.admin-page {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.admin-main {
	flex: 1;
}

.admin-thumb {
	width: 7rem;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: .25rem;
}

.admin-preview {
	max-width: 18rem;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: .25rem;
}

.admin-table-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(7.625rem, 1fr));
	gap: .5rem;
	max-width: 18rem;
}

.admin-table-actions .btn,
.admin-table-action-form,
.admin-table-action-form .btn {
	width: 100%;
}

.banner-form {
	max-width: 42rem;
}

.presentation-form,
.news-form,
.translation-form {
	padding-bottom: 2rem;
}

.news-editor-shell {
	margin-bottom: 1rem;
}

.news-editor-shell .ql-toolbar {
	border-top-left-radius: .25rem;
	border-top-right-radius: .25rem;
	background: #ffffff;
}

.news-editor-shell .ql-container {
	border-bottom-left-radius: .25rem;
	border-bottom-right-radius: .25rem;
	background: #ffffff;
}

.news-editor-shell .ql-editor {
	min-height: 18rem;
	max-height: 28rem;
	overflow-y: auto;
}

.news-publication-field {
	margin-top: .5rem;
}

.news-form-actions {
	margin-top: 1.5rem;
}

.translation-reference {
	padding-bottom: 1rem;
	border-bottom: 1px solid #cfd8df;
}

.translation-source {
	flex: 1 1 20rem;
	min-width: 0;
}

.translation-source summary {
	cursor: pointer;
	font-weight: 700;
}

.translation-source-body {
	max-height: 28rem;
	margin-top: 1rem;
	padding-left: 1rem;
	border-left: 2px solid #9fb0bf;
	overflow: auto;
	overflow-wrap: anywhere;
}

.translation-source-body .news-content {
	font-size: 1rem;
	line-height: 1.5;
}

.auth-page {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.auth-main {
	flex: 1;
	display: grid;
	place-items: center;
	padding: 2rem 1rem;
	background: transparent;
}

.auth-card {
	width: min(100%, 26rem);
	padding: 1.5rem;
	border: 1px solid #d7e0e8;
	border-radius: .5rem;
	background: #ffffff;
	box-shadow: 0 .5rem 1.5rem rgba(23, 50, 77, .08);
}

.password-guidance {
	font-size: .875rem;
	color: #17324d;
}

.password-requirements li {
	margin-bottom: .25rem;
}

.password-requirements [data-rule-marker] {
	display: inline-block;
	width: 1rem;
}

.password-requirements .is-met {
	color: #185b0a;
}

.password-strength-meter {
	height: .5rem;
	border-radius: 1rem;
	background: #e9ecef;
	overflow: hidden;
}

.password-strength-fill {
	display: block;
	height: 100%;
	background: #b02a37;
	transform: scaleX(0);
	transform-origin: left;
}

.password-strength-meter[data-score="1"] .password-strength-fill { transform: scaleX(.2); }
.password-strength-meter[data-score="2"] .password-strength-fill { transform: scaleX(.4); }
.password-strength-meter[data-score="3"] .password-strength-fill { transform: scaleX(.6); }
.password-strength-meter[data-score="4"] .password-strength-fill { transform: scaleX(.8); }
.password-strength-meter[data-score="5"] .password-strength-fill { transform: scaleX(1); }
.password-strength-meter[data-level="medium"] .password-strength-fill { background: #8a5700; }
.password-strength-meter[data-level="strong"] .password-strength-fill { background: #185b0a; }

html.reflora-high-contrast .password-guidance,
html.reflora-high-contrast .password-requirements .is-met {
	color: #ffffff;
}

html.reflora-high-contrast .password-strength-meter {
	background: #000000;
	outline: 1px solid #ffffff;
}

html.reflora-high-contrast .password-strength-meter[data-level] .password-strength-fill {
	background: #ffff00;
}

.error-page {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.error-main {
	flex: 1;
}

.error-panel {
	display: grid;
	grid-template-columns: minmax(7rem, 10rem) 1fr;
	gap: 2rem;
	align-items: center;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 1px solid #d7e0e8;
	border-radius: .5rem;
	background: #ffffff;
	box-shadow: 0 .5rem 1.5rem rgba(23, 50, 77, .08);
}

.error-status {
	display: grid;
	min-height: 8rem;
	place-items: center;
	border-radius: .5rem;
	background: #e5f1ea;
	color: #185b0a;
	font-size: clamp(2.4rem, 7vw, 4.25rem);
	font-weight: 800;
	line-height: 1;
}

.error-kicker {
	margin-bottom: .4rem;
	color: var(--reflora-green);
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
}

.error-title {
	max-width: 44rem;
	margin-bottom: .75rem;
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	line-height: 1.15;
}

.error-description {
	max-width: 46rem;
	margin-bottom: 1rem;
	color: var(--reflora-muted);
	font-size: 1.05rem;
	line-height: 1.6;
}

.error-path {
	margin-bottom: 1.25rem;
	color: #53627c;
	font-size: .9rem;
	word-break: break-word;
}

.error-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
}

@media (max-width: 767.98px) {
	.error-panel {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.error-status {
		min-height: 5.5rem;
	}
}

html.reflora-high-contrast {
	--reflora-green: #ffff00;
	--reflora-menu-green: #ffff00;
	--reflora-menu-green-hover: #ffffff;
	--reflora-blue: #ffff00;
	--reflora-ink: #ffffff;
	--reflora-muted: #ffffff;
	--bs-body-bg: #000000;
	--bs-body-color: #ffffff;
	--bs-border-color: #ffffff;
	--bs-link-color: #ffff00;
	--bs-link-hover-color: #ffffff;
	--bs-secondary-color: #ffffff;
	color-scheme: dark;
}

html.reflora-high-contrast body,
html.reflora-high-contrast .bg-white,
html.reflora-high-contrast .navbar,
html.reflora-high-contrast .section-band,
html.reflora-high-contrast .hero-section,
html.reflora-high-contrast .auth-main,
html.reflora-high-contrast .dropdown-menu,
html.reflora-high-contrast .system-card,
html.reflora-high-contrast .indicator-card,
html.reflora-high-contrast .auth-card,
html.reflora-high-contrast .error-panel,
html.reflora-high-contrast .empty-banner,
html.reflora-high-contrast .carousel-caption,
html.reflora-high-contrast .news-editor-shell .ql-toolbar,
html.reflora-high-contrast .news-editor-shell .ql-container {
	background: #000000 !important;
	background-image: none !important;
	color: #ffffff !important;
	border-color: #ffffff !important;
	box-shadow: none !important;
}

html.reflora-high-contrast a,
html.reflora-high-contrast .nav-link,
html.reflora-high-contrast .dropdown-item,
html.reflora-high-contrast .footer-list a,
html.reflora-high-contrast .language-selector-toggle,
html.reflora-high-contrast .contrast-toggle {
	color: #ffff00 !important;
}

html.reflora-high-contrast a:hover,
html.reflora-high-contrast a:focus,
html.reflora-high-contrast .nav-link:hover,
html.reflora-high-contrast .nav-link:focus,
html.reflora-high-contrast .dropdown-item:hover,
html.reflora-high-contrast .dropdown-item:focus {
	background: #111111 !important;
	color: #ffffff !important;
	text-decoration: underline;
}

html.reflora-high-contrast .language-selector-item.active,
html.reflora-high-contrast .contrast-toggle[aria-pressed="true"],
html.reflora-high-contrast .btn-verde-reflora,
html.reflora-high-contrast .badge,
html.reflora-high-contrast .error-status {
	background: #ffff00 !important;
	color: #000000 !important;
	border-color: #ffff00 !important;
}

html.reflora-high-contrast .btn,
html.reflora-high-contrast .form-control,
html.reflora-high-contrast .form-select,
html.reflora-high-contrast .form-check-input,
html.reflora-high-contrast .table,
html.reflora-high-contrast .table > :not(caption) > * > *,
html.reflora-high-contrast .alert,
html.reflora-high-contrast .navbar-toggler,
html.reflora-high-contrast .footer-license {
	background-color: #000000 !important;
	color: #ffffff !important;
	border-color: #ffffff !important;
	box-shadow: none !important;
}

html.reflora-high-contrast .btn-outline-primary,
html.reflora-high-contrast .btn-outline-secondary,
html.reflora-high-contrast .btn-outline-info,
html.reflora-high-contrast .btn-outline-danger {
	color: #ffff00 !important;
	border-color: #ffff00 !important;
}

html.reflora-high-contrast .btn:hover,
html.reflora-high-contrast .btn:focus {
	background-color: #ffff00 !important;
	color: #000000 !important;
	border-color: #ffff00 !important;
}

html.reflora-high-contrast .text-muted,
html.reflora-high-contrast .form-text,
html.reflora-high-contrast .news-detail-subtitle,
html.reflora-high-contrast .news-detail-meta,
html.reflora-high-contrast .error-description,
html.reflora-high-contrast .error-path,
html.reflora-high-contrast .indicator-center span,
html.reflora-high-contrast .indicator-source,
html.reflora-high-contrast .indicator-question,
html.reflora-high-contrast .footer-institution-text,
html.reflora-high-contrast .footer-link-disabled {
	color: #ffffff !important;
}

html.reflora-high-contrast .border-bottom,
html.reflora-high-contrast .border-top,
html.reflora-high-contrast .govbr-agency-link,
html.reflora-high-contrast .footer-institution-divider {
	border-color: #ffffff !important;
}

html.reflora-high-contrast .indicator-track {
	background: #222222 !important;
	border: 1px solid #ffffff;
}

html.reflora-high-contrast .indicator-fill {
	background: #ffff00 !important;
}

html.reflora-high-contrast .news-card::after {
	background: linear-gradient(180deg, rgba(0, 0, 0, .35) 0%, rgba(0, 0, 0, .72) 45%, #000000 100%);
}

html.reflora-high-contrast .news-card-overlay p,
html.reflora-high-contrast .news-category {
	color: #ffffff !important;
}

html.reflora-high-contrast .carousel-indicators [data-bs-target] {
	background-color: #ffff00;
}

html.reflora-high-contrast .carousel-control-prev-icon,
html.reflora-high-contrast .carousel-control-next-icon {
	filter: invert(1) grayscale(1) contrast(2);
}

html.reflora-high-contrast input:focus-visible,
html.reflora-high-contrast textarea:focus-visible,
html.reflora-high-contrast select:focus-visible,
html.reflora-high-contrast button:focus-visible,
html.reflora-high-contrast a:focus-visible {
	outline: 3px solid #ffff00;
	outline-offset: 3px;
}
