body.vidona-portal-page .page-header {
	display: none;
}

body.vidona-portal-page .site-main,
.site-main--vidona-portal {
	padding-top: 0;
	padding-bottom: 0;
	background: var(--color-cream, #fcfaf4);
}

body.vidona-portal-page--app .site-main > .container-xl {
	max-width: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

body.vidona-portal-page--app .site-main > .container-xl > .row {
	margin-left: 0;
	margin-right: 0;
}

body.vidona-portal-page--app .site-main > .container-xl > .row > [class*="col-"] {
	padding-left: 0;
	padding-right: 0;
}

.vidona-portal {
	padding-top: 40px;
	padding-bottom: 60px;
	color: var(--color-body-text, #4e594f);
}

.vidona-portal--app {
	padding-top: 0;
	padding-bottom: 64px;
	background: var(--color-cream, #fcfaf4);
}

.vidona-portal--auth {
	padding-top: 32px;
}

.vidona-portal__bar {
	background: var(--color-primary, #00441f);
	color: var(--color-white, #ffffff);
	margin-bottom: 32px;
	position: sticky;
	top: 0;
	z-index: 20;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
}

.admin-bar .vidona-portal__bar {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .vidona-portal__bar {
		top: 46px;
	}
}

.vidona-portal__bar-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 24px;
	padding-top: 14px;
	padding-bottom: 14px;
}

.vidona-portal__brand {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.2px;
	color: var(--color-white, #ffffff);
	text-decoration: none;
	white-space: nowrap;
}

.vidona-portal__brand:hover,
.vidona-portal__brand:focus {
	color: var(--color-gold, #d4aa5a);
}

.vidona-portal__nav {
	flex: 1 1 auto;
}

.vidona-portal__menu {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.vidona-portal__menu a {
	display: inline-block;
	padding: 8px 12px;
	border-radius: 8px;
	color: rgba(255, 255, 255, 0.82);
	text-decoration: none;
	font-size: 14px;
}

.vidona-portal__menu a:hover,
.vidona-portal__menu a:focus {
	color: var(--color-white, #ffffff);
	background: rgba(255, 255, 255, 0.1);
}

.vidona-portal__menu a.is-active {
	color: var(--color-white, #ffffff);
	background: rgba(255, 255, 255, 0.16);
	font-weight: 600;
}

.vidona-portal__account {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	margin-left: auto;
}

.vidona-portal__who {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.72);
	max-width: 240px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.vidona-portal__logout {
	font-size: 13px;
	font-weight: 600;
	color: var(--color-gold, #d4aa5a);
	text-decoration: none;
}

.vidona-portal__logout:hover,
.vidona-portal__logout:focus {
	color: var(--color-white, #ffffff);
}

.vidona-portal__body {
	padding-bottom: 8px;
}

.vidona-portal__pagehead {
	margin-bottom: 24px;
}

.vidona-portal__kicker {
	font-size: 12px;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	color: var(--color-gold, #d4aa5a);
}

.vidona-portal__title {
	font-size: clamp(26px, 4vw, 36px);
	line-height: 1.2;
	color: var(--color-primary, #00441f);
}

.vidona-portal__title--section {
	font-size: 22px;
}

.vidona-portal__lead p,
.vidona-portal__lead-text {
	margin-bottom: 12px;
	color: var(--color-body-text, #4e594f);
}

.vidona-portal__hint {
	font-size: 14px;
	color: var(--color-body-text, #4e594f);
}

.vidona-portal__stat,
.vidona-portal__tile,
.vidona-portal__card,
.vidona-portal__table,
.vidona-portal__empty,
.vidona-portal__next,
.vidona-portal__auth {
	background: var(--color-white, #ffffff);
	border: 1px solid var(--color-border-cream, #e3decf);
	border-radius: 12px;
}

.vidona-portal__stat {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 20px;
	height: 100%;
	text-decoration: none;
	color: inherit;
	box-shadow: 0 8px 24px rgba(0, 68, 31, 0.04);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.vidona-portal__stat:hover,
.vidona-portal__stat:focus {
	border-color: var(--color-gold, #d4aa5a);
	color: inherit;
	box-shadow: 0 8px 24px rgba(0, 68, 31, 0.08);
}

.vidona-portal__stat-value {
	font-size: 32px;
	line-height: 1;
	font-weight: 700;
	color: var(--color-primary, #00441f);
}

.vidona-portal__stat-label {
	font-size: 13px;
	color: var(--color-body-text, #4e594f);
}

.vidona-portal__stat--wait {
	border-top: 3px solid #996800;
}

.vidona-portal__stat--ok {
	border-top: 3px solid #1e7e34;
}

.vidona-portal__stat--off {
	border-top: 3px solid #8a2424;
}

.vidona-portal__stat--queue {
	border-top: 3px solid var(--color-gold, #d4aa5a);
}

.vidona-portal__tile {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px;
	height: 100%;
	text-decoration: none;
	color: inherit;
}

.vidona-portal__tile:hover,
.vidona-portal__tile:focus {
	border-color: var(--color-primary, #00441f);
	color: inherit;
}

.vidona-portal__tile--primary {
	background: var(--color-primary, #00441f);
	border-color: var(--color-primary, #00441f);
	color: var(--color-white, #ffffff);
}

.vidona-portal__tile--primary:hover,
.vidona-portal__tile--primary:focus {
	color: var(--color-white, #ffffff);
	border-color: var(--color-secondary, #135c30);
	background: var(--color-secondary, #135c30);
}

.vidona-portal__tile-title {
	font-size: 16px;
	font-weight: 700;
	color: var(--color-primary, #00441f);
}

.vidona-portal__tile--primary .vidona-portal__tile-title {
	color: var(--color-white, #ffffff);
}

.vidona-portal__tile-text {
	font-size: 13px;
	line-height: 1.45;
	color: var(--color-body-text, #4e594f);
}

.vidona-portal__tile--primary .vidona-portal__tile-text {
	color: rgba(255, 255, 255, 0.82);
}

.vidona-portal__card {
	padding: 24px;
}

.vidona-portal__card-head {
	margin-bottom: 16px;
}

.vidona-portal__card-title {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	color: var(--color-primary, #00441f);
}

.vidona-portal__meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 24px;
	margin: 0;
}

.vidona-portal__meta dt {
	margin: 0 0 4px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	color: var(--color-gold, #d4aa5a);
}

.vidona-portal__meta dd {
	margin: 0;
	font-size: 15px;
	color: var(--color-primary, #00441f);
}

@media (max-width: 575px) {
	.vidona-portal__meta {
		grid-template-columns: 1fr;
	}

	.vidona-portal__who {
		display: none;
	}
}

.vidona-portal__table {
	overflow: hidden;
}

.vidona-portal__table .table {
	margin: 0;
}

.vidona-portal__table thead th {
	background: #f7f4ea;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	color: var(--color-primary, #00441f);
	border-bottom-color: var(--color-border-cream, #e3decf);
	white-space: nowrap;
}

.vidona-portal__table tbody td {
	vertical-align: middle;
	border-color: var(--color-border-cream, #e3decf);
}

.vidona-portal__table tbody tr:hover td {
	background: #fbfaf6;
}

.vidona-portal__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	white-space: nowrap;
}

.vidona-portal__actions a {
	font-size: 13px;
	font-weight: 600;
	color: var(--color-primary, #00441f);
	text-decoration: none;
}

.vidona-portal__actions a:hover,
.vidona-portal__actions a:focus {
	color: var(--color-gold, #d4aa5a);
}

.vidona-portal__trash-form {
	display: inline;
	margin: 0;
}

.vidona-portal__action-delete {
	padding: 0;
	border: 0;
	background: none;
	font-size: 13px;
	font-weight: 600;
	line-height: inherit;
	color: #b42318;
	cursor: pointer;
}

.vidona-portal__action-delete:hover,
.vidona-portal__action-delete:focus {
	color: #912018;
}

.vidona-portal__empty {
	padding: 40px 24px;
	text-align: center;
}

.vidona-portal__empty-title {
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: 700;
	color: var(--color-primary, #00441f);
}

.vidona-portal__empty .vidona-portal__lead-text {
	margin-left: auto;
	margin-right: auto;
}

.vidona-portal__next {
	padding: 20px 24px;
}

.vidona-portal__next-title {
	font-size: 16px;
	font-weight: 700;
	color: var(--color-primary, #00441f);
}

.vidona-portal__next-text {
	font-size: 14px;
	line-height: 22px;
	color: var(--color-body-text, #4e594f);
	max-width: 640px;
}

.vidona-portal__auth {
	max-width: 480px;
	padding: 28px;
	margin: 0 auto;
}

.vidona-portal--app .vidona-portal__section {
	box-shadow: 0 8px 24px rgba(0, 68, 31, 0.04);
}

.vidona-portal__section {
	border: 1px solid var(--color-border-cream, #e3decf);
	border-radius: 12px;
	padding: 24px;
	background: var(--color-white, #ffffff);
}

.vidona-portal__section legend.h4 {
	float: none;
	width: auto;
	color: var(--color-primary, #00441f);
}

.vidona-portal__conditional[hidden] {
	display: none !important;
}

.vidona-portal__submit {
	background-color: var(--color-primary, #00441f);
	border-color: var(--color-primary, #00441f);
	padding: 10px 24px;
}

.vidona-portal__submit:hover,
.vidona-portal__submit:focus {
	background-color: var(--color-secondary, #135c30);
	border-color: var(--color-secondary, #135c30);
}

.vidona-portal__turnstile {
	margin-bottom: 16px;
}

.vidona-portal .was-validated .form-check-input:invalid ~ .invalid-feedback,
.vidona-portal .form-check-input.is-invalid ~ .invalid-feedback {
	display: block;
}

.vidona-portal__password-toggle {
	width: 46px;
	padding: 0;
	border-color: var(--color-border-cream, #e3decf);
	background: var(--color-white, #ffffff);
	color: var(--color-body-text, #4e594f);
}

.vidona-portal__password-toggle:hover,
.vidona-portal__password-toggle:focus {
	background: var(--color-white, #ffffff);
	border-color: var(--color-gold, #d4aa5a);
	color: var(--color-primary, #00441f);
}

.vidona-portal__password-toggle svg {
	width: 20px;
	height: 20px;
	display: block;
	margin: 0 auto;
}

.vidona-portal__stash-hint {
	color: var(--color-primary, #00441f);
}

.vidona-portal__preview img {
	max-width: 120px;
	height: auto;
	border: 1px solid var(--color-border-cream, #e3decf);
	border-radius: 8px;
}

.vidona-portal__file-thumb {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border: 1px solid var(--color-border-cream, #e3decf);
	border-radius: 8px;
	flex-shrink: 0;
}

.vidona-portal__form--login {
	max-width: none;
}

.vidona-portal__status {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 4px;
	font-size: 13px;
	font-weight: 600;
	background: #f3f0e8;
	color: var(--color-primary, #00441f);
	white-space: nowrap;
}

.vidona-portal__status--partner_draft {
	background: #f3f0e8;
	color: #50575e;
}

.vidona-portal__status--pending_review,
.vidona-pp-status--pending_review {
	background: #fff8e5;
	color: #996800;
}

.vidona-portal__status--publish,
.vidona-pp-status--publish {
	background: #edfaef;
	color: #1e7e34;
}

.vidona-portal__status--changes_requested,
.vidona-pp-status--changes_requested {
	background: #e8f1fb;
	color: #0a4b78;
}

.vidona-portal__status--rejected,
.vidona-pp-status--rejected {
	background: #fcf0f1;
	color: #8a2424;
}

.vidona-portal__ingredients th {
	font-size: 13px;
}

.vidona-portal [data-vidona-locked],
.vidona-portal__control--locked {
	background: #f7f4ea;
	cursor: not-allowed;
	opacity: 0.92;
}

.vidona-portal__ranges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.vidona-pp-chart {
	margin: 0;
}

.vidona-pp-chart__caption {
	margin: 0 0 12px;
	font-size: 14px;
	font-weight: 700;
	color: var(--color-primary, #00441f);
}

.vidona-pp-chart__canvas {
	display: block;
	width: 100%;
	max-width: 100%;
}
