/**
 * FestON — Módulo de inscrições (área logada)
 * Template: mrlab_views/templates/template_inscricoes.php
 */
@import url('feston-design-tokens.css');

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html,
body {
	margin: 0;
	padding: 0;
}

body.feston-insc {
	font-family: var(--feston-font);
	color: var(--feston-text);
	background: linear-gradient(180deg, #f7f7f5 0%, #efefec 100%);
	-webkit-font-smoothing: antialiased;
	min-height: 100vh;
}

/* ------------------------------------------------------------------ *
 * App shell — topbar moderna
 * ------------------------------------------------------------------ */
.feston-insc-header {
	position: sticky;
	top: 0;
	z-index: 300;
	background: #fff;
	border-bottom: 1px solid var(--feston-border);
	box-shadow: 0 6px 28px rgba(10, 10, 10, 0.06);
}

.feston-insc-header__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0.85rem 1.5rem;
	display: flex;
	align-items: center;
	gap: 1.25rem;
}

.feston-insc-header__brand {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	min-width: 0;
	flex-shrink: 0;
}

.feston-insc-header__logo {
	height: 38px;
	width: auto;
	max-width: 132px;
	object-fit: contain;
	display: block;
}

.feston-insc-header__badge {
	display: inline-flex;
	align-items: center;
	padding: 0.32rem 0.72rem;
	border-radius: var(--feston-radius-pill);
	background: var(--feston-green);
	color: var(--feston-text);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	white-space: nowrap;
	box-shadow: 0 2px 8px rgba(153, 255, 0, 0.35);
}

.feston-insc-header__toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	margin-left: auto;
	border: 1px solid var(--feston-border-strong);
	border-radius: var(--feston-radius-sm);
	background: var(--feston-surface-elevated);
	cursor: pointer;
	transition: border-color 0.2s var(--feston-ease), background 0.2s var(--feston-ease);
}

.feston-insc-header__toggle:hover {
	border-color: var(--feston-text);
	background: rgba(10, 10, 10, 0.03);
}

.feston-insc-header__toggle-bar,
.feston-insc-header__toggle-bar::before,
.feston-insc-header__toggle-bar::after {
	display: block;
	width: 18px;
	height: 2px;
	background: var(--feston-text);
	border-radius: 2px;
	position: relative;
}

.feston-insc-header__toggle-bar::before,
.feston-insc-header__toggle-bar::after {
	content: '';
	position: absolute;
	left: 0;
}

.feston-insc-header__toggle-bar::before { top: -6px; }
.feston-insc-header__toggle-bar::after { top: 6px; }

.feston-insc-topbar__panel {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.85rem;
	flex: 1;
	min-width: 0;
}

.feston-insc-topbar__nav-track {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.32rem;
	background: rgba(10, 10, 10, 0.04);
	border: 1px solid var(--feston-border);
	border-radius: var(--feston-radius-pill);
}

.feston-insc-topbar__nav-item {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.42rem 1rem 0.42rem 0.42rem;
	border-radius: var(--feston-radius-pill);
	color: var(--feston-text-secondary);
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.2s var(--feston-ease), color 0.2s var(--feston-ease), box-shadow 0.2s var(--feston-ease);
}

.feston-insc-topbar__nav-icon {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	color: var(--feston-text);
	font-size: 1.2rem;
	box-shadow: 0 2px 8px rgba(10, 10, 10, 0.08);
	transition: background 0.2s var(--feston-ease), color 0.2s var(--feston-ease), transform 0.2s var(--feston-ease);
}

.feston-insc-topbar__nav-item:hover {
	color: var(--feston-text);
}

.feston-insc-topbar__nav-item:hover .feston-insc-topbar__nav-icon {
	background: var(--feston-green-soft);
	transform: translateY(-1px);
}

.feston-insc-topbar__nav-item.is-active {
	background: var(--feston-text);
	color: #fff;
	box-shadow: 0 6px 18px rgba(10, 10, 10, 0.2);
}

.feston-insc-topbar__nav-item.is-active .feston-insc-topbar__nav-icon {
	background: var(--feston-green);
	color: var(--feston-text);
	box-shadow: none;
}

.feston-insc-topbar__actions {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.35rem 0.4rem 0.35rem 0.85rem;
	background: rgba(10, 10, 10, 0.03);
	border: 1px solid var(--feston-border);
	border-radius: var(--feston-radius-pill);
}

.feston-insc-topbar__user {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	min-width: 0;
	border-radius: var(--feston-radius-pill);
	padding: 0.15rem 0.35rem 0.15rem 0.15rem;
	text-decoration: none;
	color: inherit;
	cursor: pointer;
	transition: background 0.2s var(--feston-ease), box-shadow 0.2s var(--feston-ease);
}

.feston-insc-topbar__avatar {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: linear-gradient(145deg, #0a0a0a 0%, #262626 100%);
	color: var(--feston-green);
	border: 2px solid rgba(153, 255, 0, 0.55);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	overflow: hidden;
}

.feston-insc-topbar__avatar.has-photo {
	background: #f4f6f4;
}

.feston-insc-topbar__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.feston-insc-topbar__user:hover,
.feston-insc-topbar__user.is-active {
	background: rgba(153, 255, 0, 0.12);
	color: inherit;
	text-decoration: none;
}

.feston-insc-topbar__profile {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1px solid var(--feston-border-strong);
	color: var(--feston-text-secondary);
	font-size: 1.15rem;
	text-decoration: none;
	transition: background 0.2s var(--feston-ease), border-color 0.2s var(--feston-ease), color 0.2s var(--feston-ease), transform 0.2s var(--feston-ease);
}

.feston-insc-topbar__profile:hover,
.feston-insc-topbar__profile.is-active {
	background: rgba(153, 255, 0, 0.16);
	border-color: rgba(153, 255, 0, 0.55);
	color: #0a0a0a;
	transform: translateY(-1px);
	text-decoration: none;
}

.feston-perfil-page__breadcrumb {
	font-size: 0.82rem;
}

.feston-perfil-page__breadcrumb a {
	color: var(--feston-text-secondary);
	text-decoration: none;
	font-weight: 600;
}

.feston-perfil-page__breadcrumb a:hover {
	color: var(--feston-text);
}

.feston-perfil-page__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.feston-perfil-page__chips .feston-hub-chip.is-active {
	background: rgba(153, 255, 0, 0.14);
	border-color: rgba(153, 255, 0, 0.35);
	color: var(--feston-text);
}

.feston-perfil-page__layout {
	display: grid;
	grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
	gap: 1.25rem;
	align-items: start;
}

.feston-perfil-page__photo-card,
.feston-perfil-page__form-card {
	border-radius: 22px !important;
	box-shadow: 0 12px 40px rgba(10, 10, 10, 0.06);
}

.feston-perfil-page__photo-eyebrow {
	margin: 0 0 1rem;
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--feston-green);
}

.feston-perfil-page__avatar {
	width: 168px;
	height: 168px;
}

.feston-perfil-page__photo-copy {
	margin-top: 1rem;
	font-size: 0.84rem;
	line-height: 1.55;
	color: var(--feston-text-secondary);
}

.feston-perfil-page__form-card .feston-signup-page__section + .feston-signup-page__section {
	margin-top: 0.85rem;
}

.feston-perfil-page__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 1.25rem;
	padding-top: 0.25rem;
}

@media (max-width: 991.98px) {
	.feston-perfil-page__layout {
		grid-template-columns: 1fr;
	}
}

.feston-insc-topbar__user-text {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.25;
}

.feston-insc-topbar__user-text strong {
	font-size: 0.88rem;
	font-weight: 800;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 190px;
}

.feston-insc-topbar__user-text small {
	font-size: 0.72rem;
	color: var(--feston-text-tertiary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 190px;
}

.feston-insc-topbar__logout {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1px solid var(--feston-border-strong);
	color: var(--feston-text-secondary);
	font-size: 1.15rem;
	text-decoration: none;
	transition: background 0.2s var(--feston-ease), border-color 0.2s var(--feston-ease), color 0.2s var(--feston-ease), transform 0.2s var(--feston-ease);
}

.feston-insc-topbar__logout:hover {
	background: #fff5f5;
	border-color: #f5c2c2;
	color: #b42318;
	transform: translateY(-1px);
}

.feston-insc-main {
	min-height: calc(100vh - 140px);
}

.feston-insc-footer {
	margin-top: 2rem;
	border-top: 1px solid var(--feston-border);
	background: #fff;
}

.feston-insc-footer__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 1.15rem 1.5rem 1.35rem;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 1rem 1.5rem;
}

.feston-insc-footer__brand {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	min-width: 0;
}

.feston-insc-footer__logo {
	height: 28px;
	width: auto;
	display: block;
}

.feston-insc-footer__tag {
	display: inline-flex;
	align-items: center;
	padding: 0.28rem 0.62rem;
	border-radius: var(--feston-radius-pill);
	background: rgba(10, 10, 10, 0.04);
	border: 1px solid var(--feston-border);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--feston-text-secondary);
}

.feston-insc-footer__help {
	justify-self: center;
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.55rem 1rem;
	border-radius: var(--feston-radius-pill);
	border: 1px solid var(--feston-border);
	background: rgba(10, 10, 10, 0.03);
	color: var(--feston-text-secondary);
	font-size: 0.84rem;
	font-weight: 600;
	text-decoration: none;
	transition: border-color 0.2s var(--feston-ease), background 0.2s var(--feston-ease), color 0.2s var(--feston-ease), transform 0.2s var(--feston-ease);
}

.feston-insc-footer__help i {
	font-size: 1.15rem;
	color: var(--feston-text);
}

.feston-insc-footer__help strong {
	color: var(--feston-text);
	font-weight: 800;
}

.feston-insc-footer__help:hover {
	border-color: var(--feston-text);
	background: var(--feston-green-soft);
	color: var(--feston-text);
	transform: translateY(-1px);
}

.feston-insc-footer__copy {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--feston-text-tertiary);
	white-space: nowrap;
}

/* Debug Toolbar do CI4 — oculto na área de inscrições */
body.feston-insc #toolbarContainer,
body.feston-insc #debug-bar,
body.feston-insc #debug-icon,
body.feston-insc .debug-bar-vars {
	display: none !important;
	visibility: hidden !important;
}

@media (max-width: 767.98px) {
	.feston-insc-footer__inner {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
		padding: 1.25rem 1rem 1.5rem;
	}

	.feston-insc-footer__help {
		justify-self: center;
		width: 100%;
		justify-content: center;
	}
}

/* ------------------------------------------------------------------ *
 * Token bridge — modern insc-* screens (grupos, participantes, etc.)
 * ------------------------------------------------------------------ */
[class*='insc-groups-ui'],
[class*='insc-participants-ui'],
[class*='insc-coreographies-ui'],
[class*='insc-billing-ui'],
[class*='insc-signup-premium'] {
	--insc-yellow: var(--feston-green);
	--insc-yellow-strong: var(--feston-green-hover);
	--insc-yellow-soft: var(--feston-green-soft);
	--insc-ink: var(--feston-text);
	--insc-copy: var(--feston-text-secondary);
	--insc-copy-soft: var(--feston-text-tertiary);
	--insc-line: rgba(10, 10, 10, 0.08);
	--insc-card: var(--feston-surface-elevated);
	--insc-bg: linear-gradient(180deg, #f7f7f5 0%, #efefec 100%);
}

/* ------------------------------------------------------------------ *
 * Hub — Meus grupos (feston-hub-page)
 * ------------------------------------------------------------------ */
.feston-hub-page__stack {
	max-width: 1240px;
	margin: 0 auto;
}

.feston-hub-hero__dot {
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-right: 0.35rem;
	border-radius: 50%;
	background: var(--feston-green);
	box-shadow: 0 0 0 4px var(--feston-green-soft);
	vertical-align: middle;
}

.feston-hub-hero__copy {
	max-width: 42rem;
}

.feston-hub-hero__actions {
	flex-shrink: 0;
}

.feston-hub-section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 0.75rem 1rem;
}

.feston-hub-section-head__title {
	margin: 0;
	font-size: 1.2rem;
	font-weight: 800;
	line-height: 1.2;
}

.feston-hub-section-head__meta {
	margin: 0.2rem 0 0;
	font-size: 0.84rem;
	color: var(--feston-text-tertiary);
}

.feston-hub-section-head__link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.86rem;
	font-weight: 700;
	color: var(--feston-text-secondary);
	text-decoration: none;
	transition: color 0.18s var(--feston-ease);
}

.feston-hub-section-head__link:hover {
	color: var(--feston-text);
}

.feston-hub-groups {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.feston-hub-group-card {
	border-radius: 20px !important;
	box-shadow: 0 8px 28px rgba(10, 10, 10, 0.05);
	overflow: hidden;
}

.feston-hub-group-card__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem 1.25rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(10, 10, 10, 0.06);
}

.feston-hub-group-card__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	align-items: center;
}

.feston-hub-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.38rem 0.7rem;
	border-radius: var(--feston-radius-pill);
	background: var(--feston-surface);
	border: 1px solid var(--feston-border);
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--feston-text-secondary);
}

.feston-hub-inscricoes {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	padding-top: 1rem;
}

.feston-hub-inscricao {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
	padding: 0.95rem;
	border-radius: var(--feston-radius-md);
	background: var(--feston-surface);
	border: 1px solid var(--feston-border);
}

.feston-hub-inscricao__main {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	gap: 0.95rem;
	align-items: start;
	min-width: 0;
}

.feston-hub-inscricao__banner {
	height: 88px;
	border-radius: var(--feston-radius-sm);
	background-size: cover;
	background-position: center;
	background-color: #e8e8e6;
	border: 1px solid var(--feston-border);
}

.feston-hub-inscricao__content {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

.feston-hub-inscricao__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.45rem 0.65rem;
}

.feston-hub-inscricao__top strong {
	font-size: 0.95rem;
	font-weight: 800;
	line-height: 1.25;
}

.feston-hub-inscricao__meta {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.4rem;
	font-size: 0.8rem;
	color: var(--feston-text-tertiary);
}

.feston-hub-inscricao__sep {
	opacity: 0.55;
}

.feston-hub-inscricao__metrics {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.feston-hub-inscricao__actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.45rem;
	min-width: 11.5rem;
}

.feston-hub-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.22rem 0.55rem;
	border-radius: var(--feston-radius-pill);
	font-size: 0.72rem;
	font-weight: 700;
	white-space: nowrap;
}

.feston-hub-badge.is-progress {
	background: rgba(59, 130, 246, 0.12);
	color: #1d4ed8;
}

.feston-hub-badge.is-closed {
	background: rgba(239, 68, 68, 0.12);
	color: #b91c1c;
}

.feston-hub-group-card__empty {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	padding-top: 1rem;
}

.feston-hub-group-card__empty p {
	margin: 0;
	max-width: 48ch;
	font-size: 0.88rem;
	color: var(--feston-text-secondary);
	line-height: 1.5;
}

.feston-hub-festivals-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1rem;
}

.feston-hub-festival-card {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	border-radius: var(--feston-radius-lg);
	overflow: hidden;
	background: var(--feston-surface-elevated);
	border: 1px solid var(--feston-border);
	box-shadow: 0 10px 28px rgba(10, 10, 10, 0.05);
	transition: transform 0.18s var(--feston-ease), box-shadow 0.18s var(--feston-ease);
}

.feston-hub-festival-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 36px rgba(10, 10, 10, 0.08);
	color: inherit;
}

.feston-hub-festival-card__banner {
	position: relative;
	height: 148px;
	background-size: cover;
	background-position: center;
}

.feston-hub-festival-card__banner::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 15%, rgba(10, 10, 10, 0.55));
}

.feston-hub-festival-card__pill {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	padding: 0.28rem 0.62rem;
	border-radius: var(--feston-radius-pill);
	background: var(--feston-green);
	color: var(--feston-text);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.02em;
}

.feston-hub-festival-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	padding: 0.95rem 1rem 1.1rem;
}

.feston-hub-festival-card__body strong {
	font-size: 0.98rem;
	font-weight: 800;
	line-height: 1.25;
	margin-bottom: 0.15rem;
}

.feston-hub-festival-card__body span {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.8rem;
	color: var(--feston-text-tertiary);
}

.feston-hub-festival-card__cta {
	margin-top: 0.45rem !important;
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	color: var(--feston-text) !important;
}

.feston-hub-festival-card:hover .feston-hub-festival-card__cta {
	color: var(--feston-green-hover) !important;
}

/* ------------------------------------------------------------------ *
 * Inscrições — layout painel FestON (feston-grupos-page, feston-card…)
 * ------------------------------------------------------------------ */
.feston-insc-painel.feston-page-inner {
	max-width: 1240px;
	margin: 0 auto;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

body.feston-insc.feston-shell-typo {
	background: var(--feston-surface, #fafaf9) !important;
}

.feston-insc-painel .feston-kpi-hero .feston-kpi-hero-copy,
.feston-insc-painel .feston-kpi-hero .feston-kpi-hero-meta {
	color: rgba(10, 10, 10, 0.86) !important;
}

.feston-insc-painel .feston-kpi-hero .feston-kpi-hero-eyebrow {
	color: rgba(10, 10, 10, 0.7) !important;
	letter-spacing: 0.06em;
}

@media (max-width: 575.98px) {
	.feston-insc-painel .feston-kpi-hero .feston-kpi-hero-actions {
		width: 100%;
	}

	.feston-insc-painel .feston-kpi-hero .feston-kpi-hero-btn {
		flex: 1 1 auto;
		min-width: calc(50% - 0.35rem);
	}
}

.feston-insc-painel .feston-grupos-avatar {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	color: transparent;
}

.feston-insc-painel .bg-img-avatar {
	height: 48px;
	width: 48px;
	border: 2px solid var(--feston-green);
	border-radius: 50%;
	background-size: cover;
	background-position: center center;
	background-color: #fff;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
}

.feston-insc-painel .bg-img-avatar.full {
	height: 160px;
	width: 160px;
	border: 4px solid var(--feston-green);
}

/* Upload de foto / logotipo — placeholder FestON */
.feston-insc-avatar-upload {
	position: relative;
	width: 160px;
	height: 160px;
	border-radius: 50%;
	overflow: hidden;
	border: 3px solid var(--feston-green);
	background: #fff;
	box-shadow: 0 10px 28px rgba(10, 10, 10, 0.08);
	transition: transform 0.18s var(--feston-ease), box-shadow 0.18s var(--feston-ease), border-color 0.18s var(--feston-ease);
}

.feston-insc-avatar-upload-label {
	cursor: pointer;
}

.feston-insc-avatar-upload-stack {
	position: relative;
	display: inline-block;
	max-width: 100%;
}

.feston-insc-avatar-upload__remove {
	position: absolute;
	top: 0.4rem;
	left: 0.4rem;
	z-index: 3;
	width: 2.1rem;
	height: 2.1rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 2px solid #fff;
	border-radius: 50%;
	background: rgba(10, 10, 10, 0.86);
	color: #fff;
	font-size: 1.05rem;
	line-height: 1;
	box-shadow: 0 8px 18px rgba(10, 10, 10, 0.18);
	transition: transform 0.18s var(--feston-ease), background 0.18s var(--feston-ease);
}

.feston-insc-avatar-upload__remove:hover {
	background: #b42318;
	transform: scale(1.05);
}

.feston-insc-avatar-upload__remove:focus-visible {
	outline: 2px solid var(--feston-green);
	outline-offset: 2px;
}

.feston-insc-avatar-upload-label:hover .feston-insc-avatar-upload.is-empty {
	transform: translateY(-2px);
	border-color: var(--feston-green-hover);
	box-shadow: 0 14px 32px var(--feston-green-glow);
}

.feston-insc-avatar-upload__photo {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.feston-insc-avatar-upload__empty {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f4f6f4;
	position: relative;
	overflow: hidden;
}

.feston-insc-avatar-upload__mascot {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 42%;
	display: block;
	pointer-events: none;
	user-select: none;
}

.feston-insc-avatar-upload__empty--logo .feston-insc-avatar-upload__mascot {
	object-fit: contain;
	object-position: center center;
	padding: 0.35rem;
}

.feston-insc-avatar-upload__hint {
	position: absolute;
	right: 0.65rem;
	bottom: 0.65rem;
	width: 2.15rem;
	height: 2.15rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--feston-green);
	color: var(--feston-text);
	font-size: 1.05rem;
	border: 2px solid #fff;
	box-shadow: 0 6px 16px var(--feston-green-glow);
}

.feston-insc-avatar-upload-label:hover .feston-insc-avatar-upload__hint {
	animation: feston-avatar-hint-pulse 1.2s var(--feston-ease) infinite;
}

@keyframes feston-avatar-hint-pulse {
	0%,
	100% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.08);
	}
}

@media (prefers-reduced-motion: reduce) {
	.feston-insc-avatar-upload-label:hover .feston-insc-avatar-upload__hint {
		animation: none;
	}
}

/* Cabeçalho da página de inscrição */
.feston-insc-page-head {
	background: #fff;
	border: 1px solid var(--feston-border);
	border-radius: 20px;
	padding: 1.25rem 1.5rem 1.35rem;
	box-shadow: 0 10px 32px rgba(10, 10, 10, 0.05);
}

.feston-insc-page-head__breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-bottom: 1rem;
	font-size: 0.78rem;
	font-weight: 600;
}

.feston-insc-page-head__breadcrumb a {
	color: var(--feston-text-tertiary);
	text-decoration: none;
	transition: color 0.2s var(--feston-ease);
}

.feston-insc-page-head__breadcrumb a:hover {
	color: var(--feston-text);
}

.feston-insc-page-head__breadcrumb .feston-breadcrumb__sep {
	color: var(--feston-border-strong);
}

.feston-insc-page-head__breadcrumb .feston-breadcrumb__current {
	color: var(--feston-text);
}

.feston-insc-page-head__eyebrow {
	margin: 0 0 0.35rem;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--feston-text-tertiary);
}

.feston-insc-page-head__title {
	margin: 0;
	font-size: 1.85rem;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.1;
	color: var(--feston-text);
}

.feston-insc-page-head__festival {
	margin: 0.4rem 0 0.85rem;
	font-size: 1rem;
	font-weight: 700;
	color: var(--feston-text-secondary);
	line-height: 1.35;
}

.feston-insc-page-head__lead {
	margin: 0.45rem 0 0;
	font-size: 0.88rem;
	color: var(--feston-text-secondary);
	line-height: 1.45;
	max-width: 40rem;
}

.feston-insc-meta-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.feston-insc-meta-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.38rem 0.72rem;
	border-radius: var(--feston-radius-pill);
	background: rgba(10, 10, 10, 0.03);
	border: 1px solid var(--feston-border);
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--feston-text-secondary);
}

.feston-insc-meta-chip i {
	font-size: 1rem;
	color: var(--feston-text);
}

.feston-insc-meta-chip--status.is-open {
	background: var(--feston-green-soft);
	border-color: rgba(153, 255, 0, 0.45);
	color: var(--feston-text);
}

.feston-insc-meta-chip--status.is-closed {
	background: #fff5f5;
	border-color: #fecaca;
	color: #b42318;
}

.feston-insc-meta-chip--status.is-closed i {
	color: #b42318;
}

.feston-insc-page-head__stepper {
	margin-top: 1.15rem;
	padding-top: 1.15rem;
	border-top: 1px solid var(--feston-border);
}

/* Stepper horizontal */
.feston-insc-stepper__track {
	display: flex;
	align-items: flex-start;
	list-style: none;
	margin: 0;
	padding: 0;
}

.feston-insc-stepper__step {
	position: relative;
	flex: 1 1 0;
	min-width: 4.5rem;
}

.feston-insc-stepper__connector {
	position: absolute;
	top: 20px;
	left: calc(50% + 22px);
	right: calc(-50% + 22px);
	height: 2px;
	background: var(--feston-border);
	z-index: 0;
}

.feston-insc-stepper__step:last-child .feston-insc-stepper__connector {
	display: none;
}

.feston-insc-stepper__step.is-done .feston-insc-stepper__connector {
	background: var(--feston-green);
}

.feston-insc-stepper__link {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.55rem;
	padding: 0 0.35rem;
	text-decoration: none;
	color: inherit;
	transition: transform 0.2s var(--feston-ease);
}

.feston-insc-stepper__link:not(.is-disabled):hover {
	transform: translateY(-1px);
}

.feston-insc-stepper__marker {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 2px solid var(--feston-border-strong);
	color: var(--feston-text-tertiary);
	font-size: 1.05rem;
	transition: background 0.2s var(--feston-ease), border-color 0.2s var(--feston-ease), color 0.2s var(--feston-ease), box-shadow 0.2s var(--feston-ease);
}

.feston-insc-stepper__check {
	font-size: 1.1rem;
	font-weight: 700;
}

.feston-insc-stepper__label {
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	color: var(--feston-text-tertiary);
	max-width: 6.5rem;
}

.feston-insc-stepper__step.is-current .feston-insc-stepper__marker {
	background: var(--feston-green);
	border-color: var(--feston-text);
	color: var(--feston-text);
	box-shadow: 0 4px 16px rgba(153, 255, 0, 0.42);
}

.feston-insc-stepper__step.is-current .feston-insc-stepper__label {
	color: var(--feston-text);
	font-weight: 800;
}

.feston-insc-stepper__step.is-done .feston-insc-stepper__marker {
	background: var(--feston-text);
	border-color: var(--feston-text);
	color: var(--feston-green);
}

.feston-insc-stepper__step.is-done .feston-insc-stepper__label {
	color: var(--feston-text-secondary);
}

.feston-insc-stepper__step.is-done .feston-insc-stepper__link:hover .feston-insc-stepper__marker {
	background: #1a1a1a;
}

.feston-insc-stepper__step.is-disabled {
	opacity: 0.42;
}

.feston-insc-stepper__step.is-disabled .feston-insc-stepper__link {
	pointer-events: none;
}

@media (max-width: 767.98px) {
	.feston-insc-page-head {
		padding: 1rem 1.1rem 1.15rem;
		border-radius: 16px;
	}

	.feston-insc-page-head__title {
		font-size: 1.5rem;
	}

	.feston-insc-page-head__stepper {
		margin-left: -0.25rem;
		margin-right: -0.25rem;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.feston-insc-page-head__stepper::-webkit-scrollbar {
		display: none;
	}

	.feston-insc-stepper__track {
		min-width: 34rem;
		padding-bottom: 0.15rem;
	}

	.feston-insc-meta-chip {
		font-size: 0.74rem;
	}
}

/* Grupos — listagem e formulário (padrão inscrições) */
.feston-kpi-hero-copy--insc {
	max-width: 36rem;
}

.feston-insc-empty__copy {
	max-width: 28rem;
	color: var(--feston-text-secondary);
	line-height: 1.55;
}

/* Botões pill FestON — disponíveis em toda a área de inscrições (não só no hero) */
.feston-insc-painel .feston-kpi-hero-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 42px;
	padding: 0.65rem 1.2rem;
	border-radius: var(--feston-radius-pill, 999px) !important;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	border: none !important;
	background: transparent;
	color: var(--feston-text);
	cursor: pointer;
	white-space: nowrap;
	box-shadow: none;
	transition: transform 0.18s var(--feston-ease), box-shadow 0.18s var(--feston-ease), background 0.18s var(--feston-ease), color 0.18s var(--feston-ease);
}

.feston-insc-painel .feston-kpi-hero-btn i {
	font-size: 1.15rem;
	line-height: 1;
}

.feston-insc-painel .feston-kpi-hero-btn--primary {
	background: #0a0a0a !important;
	color: #fff !important;
	box-shadow: 0 8px 22px rgba(10, 10, 10, 0.22);
}

.feston-insc-painel .feston-kpi-hero-btn--primary:hover:not(:disabled) {
	background: #1f1f1f !important;
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: 0 12px 28px rgba(10, 10, 10, 0.28);
}

.feston-insc-painel .feston-kpi-hero-btn--secondary {
	background: #fff !important;
	color: #0a0a0a !important;
	border: 1px solid rgba(10, 10, 10, 0.1) !important;
	box-shadow: 0 4px 16px rgba(10, 10, 10, 0.08);
}

.feston-insc-painel .feston-kpi-hero-btn--secondary:hover:not(:disabled) {
	background: #fff !important;
	color: #0a0a0a !important;
	transform: translateY(-1px);
	box-shadow: 0 8px 22px rgba(10, 10, 10, 0.14);
}

.feston-insc-painel .feston-kpi-hero-btn:disabled {
	opacity: 0.55;
	cursor: not-allowed;
	transform: none !important;
}

.feston-insc-painel .feston-kpi-hero-btn:focus-visible {
	outline: 2px solid rgba(10, 10, 10, 0.45);
	outline-offset: 2px;
}

.feston-insc-painel .feston-insc-empty .feston-kpi-hero-btn {
	margin-top: 0.15rem;
}

.feston-insc-painel .feston-kpi-hero-btn--compact {
	min-height: 38px;
	padding: 0.5rem 1rem;
	font-size: 0.82rem;
}

.feston-insc-form-toolbar__progress {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	min-width: 0;
	padding: 0.35rem 0.85rem 0.35rem 0.35rem;
	border-radius: var(--feston-radius-pill);
	background: rgba(10, 10, 10, 0.03);
	border: 1px solid var(--feston-border);
}

.feston-insc-form-toolbar__progress-ring {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 2px solid rgba(10, 10, 10, 0.1);
	box-shadow: inset 0 0 0 3px var(--feston-green-soft);
}

.feston-insc-form-toolbar__progress-ring.is-complete {
	background: var(--feston-green);
	border-color: var(--feston-text);
	box-shadow: 0 4px 14px rgba(153, 255, 0, 0.35);
}

.feston-insc-form-toolbar__progress-value {
	font-size: 0.72rem;
	font-weight: 800;
	line-height: 1;
	color: var(--feston-text);
}

.feston-insc-form-toolbar__progress-ring.is-complete .feston-insc-form-toolbar__progress-value {
	color: var(--feston-text);
}

.feston-insc-form-toolbar__progress-copy {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 10rem;
}

.feston-insc-form-toolbar__progress-label {
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--feston-text-secondary);
	line-height: 1.2;
}

.feston-insc-form-toolbar__progress-track {
	height: 6px;
	border-radius: var(--feston-radius-pill);
	background: rgba(10, 10, 10, 0.08);
	overflow: hidden;
}

.feston-insc-form-toolbar__progress-fill {
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--feston-green) 0%, #b8ff4d 100%);
	box-shadow: 0 0 10px rgba(153, 255, 0, 0.35);
	transition: width 0.25s ease;
}

.feston-insc-form-toolbar__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.feston-insc-painel .feston-insc-form-toolbar {
	border-radius: 16px !important;
	border: 1px solid var(--feston-border) !important;
	background: rgba(255, 255, 255, 0.98) !important;
	box-shadow: 0 8px 24px rgba(10, 10, 10, 0.06) !important;
}

@media (max-width: 575.98px) {
	.feston-insc-form-toolbar__progress-copy {
		min-width: 7.5rem;
	}

	.feston-insc-form-toolbar__progress-label {
		font-size: 0.72rem;
	}
}

.feston-insc-painel .feston-insc-form-progress .feston-grupos-progress__track {
	height: 8px;
}

.feston-insc-painel .feston-grupos-form-page .feston-form-tabs {
	gap: 0.35rem;
}

.feston-insc-painel .feston-grupos-form-page .feston-card .form-label {
	font-size: 0.84rem;
	font-weight: 700;
	color: var(--feston-text-secondary);
}

.feston-insc-loading {
	position: fixed;
	inset: 0;
	z-index: 1200;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(10, 10, 10, 0.28);
	backdrop-filter: blur(3px);
}

.feston-insc-loading__panel {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.85rem 1.15rem;
	border-radius: 16px;
	background: #fff;
	border: 1px solid var(--feston-border);
	box-shadow: 0 16px 40px rgba(10, 10, 10, 0.14);
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--feston-text);
}

.feston-insc-loading__spinner {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 3px solid rgba(10, 10, 10, 0.12);
	border-top-color: var(--feston-green);
	animation: feston-insc-spin 0.75s linear infinite;
}

@keyframes feston-insc-spin {
	to { transform: rotate(360deg); }
}

/* ------------------------------------------------------------------ *
 * Legacy screens polish (compliance, doações, pagamento, index)
 * ------------------------------------------------------------------ */
.feston-insc-main > section.pt-3,
.feston-insc-main > section.pb-4,
.feston-insc-main .insc-legacy-page {
	padding-top: 2rem !important;
	padding-bottom: 3rem !important;
}

.feston-insc-main .container {
	max-width: 1180px;
}

.feston-insc-main h3 {
	font-family: var(--feston-font);
	font-weight: 800;
	font-size: 1.35rem;
	letter-spacing: -0.02em;
	margin-bottom: 0;
}

.feston-insc-main .card.card-default,
.feston-insc-main .card {
	border: 1px solid var(--feston-border);
	border-radius: var(--feston-radius-lg);
	box-shadow: 0 12px 32px rgba(10, 10, 10, 0.05);
	background: var(--feston-surface-elevated);
}

.feston-insc-main .table {
	font-size: 0.9rem;
}

.feston-insc-main .table thead th {
	border-bottom-width: 1px;
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--feston-text-tertiary);
}

.feston-insc-main .btn-primary {
	background: var(--feston-green);
	border-color: var(--feston-green);
	color: var(--feston-text);
	font-weight: 700;
	border-radius: var(--feston-radius-pill);
}

.feston-insc-main .btn-primary:hover {
	background: var(--feston-green-hover);
	border-color: var(--feston-green-hover);
	color: var(--feston-text);
}

.feston-insc-main .form-control {
	border-radius: var(--feston-radius-sm);
	border-color: var(--feston-border-strong);
	padding: 0.65rem 0.85rem;
}

.feston-insc-main .form-control:focus {
	border-color: var(--feston-green);
	box-shadow: 0 0 0 3px var(--feston-green-soft);
}

/* Stepper legado */
.feston-insc-main .naveg-steps-item.current .steps-icon {
	background: var(--feston-green) !important;
}

.feston-insc-main .naveg-steps-item .steps-icon {
	background: var(--feston-green-soft) !important;
}

.feston-insc-main .content-itens .content-item-box.active {
	border-color: var(--feston-green) !important;
	background: var(--feston-green-soft) !important;
	color: var(--feston-text) !important;
}

/* ------------------------------------------------------------------ *
 * Responsive
 * ------------------------------------------------------------------ */
@media (max-width: 1100px) {
	.feston-insc-topbar__user-text {
		display: none;
	}

	.feston-insc-topbar__actions {
		padding-left: 0.45rem;
	}
}

@media (max-width: 991.98px) {
	.feston-insc-header {
		position: relative;
	}

	.feston-insc-header__inner {
		flex-wrap: wrap;
		padding: 0.75rem 1rem;
	}

	.feston-insc-header__toggle {
		display: inline-flex;
	}

	.feston-insc-topbar__panel {
		position: absolute;
		top: calc(100% + 1px);
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: stretch;
		gap: 0.85rem;
		padding: 1rem 1.25rem 1.25rem;
		background: rgba(255, 255, 255, 0.98);
		border-bottom: 1px solid var(--feston-border);
		box-shadow: 0 12px 28px rgba(10, 10, 10, 0.08);
		display: none;
	}

	.feston-insc-topbar__panel.is-open {
		display: flex;
	}

	.feston-insc-topbar__nav-track {
		flex-direction: column;
		align-items: stretch;
		border-radius: var(--feston-radius-lg);
		padding: 0.45rem;
	}

	.feston-insc-topbar__nav-item {
		width: 100%;
		padding: 0.55rem 0.85rem 0.55rem 0.55rem;
	}

	.feston-insc-topbar__actions {
		justify-content: space-between;
		border-radius: var(--feston-radius-lg);
		padding: 0.65rem 0.75rem;
	}

	.feston-insc-topbar__user-text {
		display: flex;
	}

	.feston-insc-topbar__user-text strong,
	.feston-insc-topbar__user-text small {
		max-width: none;
	}

	.feston-hub-inscricao {
		grid-template-columns: 1fr;
	}

	.feston-hub-inscricao__actions {
		flex-direction: row;
		flex-wrap: wrap;
		min-width: 0;
	}
}

@media (max-width: 767.98px) {
	.feston-hub-hero__actions {
		width: 100%;
	}

	.feston-hub-hero__actions .feston-kpi-hero-btn {
		flex: 1 1 auto;
		min-width: calc(50% - 0.35rem);
	}

	.feston-hub-inscricao__main {
		grid-template-columns: 1fr;
	}

	.feston-hub-inscricao__banner {
		height: 120px;
	}

	.feston-hub-inscricao__actions {
		flex-direction: column;
	}

	.feston-hub-inscricao__actions .feston-grupos-action-btn {
		width: 100%;
	}

	.feston-hub-festivals-grid {
		grid-template-columns: 1fr;
	}
}

/* ------------------------------------------------------------------ *
 * Inscrições — Participantes (padrão painel)
 * ------------------------------------------------------------------ */
.feston-insc-participantes .feston-insc-participantes-group-avatar {
	flex-shrink: 0;
	width: 3.5rem;
	height: 3.5rem;
}

.feston-insc-participantes .feston-insc-participantes-group-avatar.is-mascot {
	background: #f4f6f4;
	border: 2px solid rgba(153, 255, 0, 0.42);
}

.feston-insc-participantes .feston-insc-participantes-group-avatar.is-mascot img {
	object-fit: contain;
	object-position: center;
	padding: 0.2rem;
}

.feston-insc-painel .feston-kpi-hero .feston-kpi-hero-title {
	white-space: normal;
	overflow: visible;
	text-overflow: unset;
	word-break: break-word;
	text-transform: none;
	line-height: 1.25;
	max-width: 100%;
}

.feston-insc-participantes .feston-participantes-form-aside-meta {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.65rem;
}

.feston-insc-participantes .feston-participantes-form-aside-meta .feston-grupos-list-meta-chip {
	max-width: 100%;
}

.feston-insc-participantes .feston-participantes-form-aside-meta .feston-grupos-list-meta-chip.is-muted {
	opacity: 0.72;
}

.feston-participantes-aside-funcoes,
.feston-participantes-aside-extra {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	align-items: center;
}

.feston-participantes-aside-progress {
	margin-top: 0.35rem;
	padding: 0.9rem 1rem;
	border-radius: 14px;
	border: 1px solid rgba(10, 10, 10, 0.08);
	background: linear-gradient(180deg, #fff 0%, #f8faf5 100%);
}

.feston-participantes-aside-progress.is-complete {
	border-color: rgba(153, 255, 0, 0.42);
	background: linear-gradient(180deg, rgba(153, 255, 0, 0.14) 0%, #fff 72%);
	box-shadow: 0 8px 20px rgba(153, 255, 0, 0.1);
}

.feston-participantes-aside-progress__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.55rem;
}

.feston-participantes-aside-progress__label {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--feston-text-secondary);
}

.feston-participantes-aside-progress__pct {
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1;
	color: var(--feston-text-primary);
}

.feston-participantes-aside-progress.is-complete .feston-participantes-aside-progress__pct {
	color: #1f5f00;
}

.feston-participantes-aside-progress__track {
	height: 7px;
	border-radius: var(--feston-radius-pill);
	background: rgba(10, 10, 10, 0.08);
	overflow: hidden;
}

.feston-participantes-aside-progress__fill {
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--feston-green) 0%, #b8ff4d 100%);
	box-shadow: 0 0 10px rgba(153, 255, 0, 0.28);
	transition: width 0.28s var(--feston-ease);
}

.feston-participantes-aside-progress__status {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0.7rem 0 0;
	padding: 0.35rem 0.65rem;
	border-radius: var(--feston-radius-pill);
	font-size: 0.78rem;
	font-weight: 700;
	color: #1f5f00;
	background: rgba(153, 255, 0, 0.22);
}

.feston-participantes-aside-progress__status.is-pending {
	color: var(--feston-text-secondary);
	background: rgba(10, 10, 10, 0.04);
	font-weight: 600;
}

.feston-insc-participantes-funcoes {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.feston-insc-participantes .feston-participantes-kpi__value--sm {
	font-size: 1.05rem;
	line-height: 1.2;
}

.feston-insc-painel .feston-insc-participantes-form-block .feston-form-tabs,
.feston-insc-painel .feston-participantes-form-page .feston-form-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	padding: 0.35rem;
	margin-bottom: 1rem;
	border-radius: var(--feston-radius-pill);
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid rgba(10, 10, 10, 0.06);
	box-shadow: 0 6px 18px rgba(10, 10, 10, 0.04);
}

.feston-insc-painel .feston-insc-participantes-form-block .feston-form-tabs .nav-item,
.feston-insc-painel .feston-participantes-form-page .feston-form-tabs .nav-item {
	margin: 0;
}

.feston-insc-painel .feston-insc-participantes-form-block .feston-form-tabs .nav-link,
.feston-insc-painel .feston-participantes-form-page .feston-form-tabs .nav-link {
	border-radius: var(--feston-radius-pill) !important;
	border: 1px solid transparent;
	background: transparent !important;
	color: var(--feston-text-secondary) !important;
	font-size: 0.84rem;
	font-weight: 700;
	padding: 0.5rem 1rem;
	line-height: 1.2;
	transition: background 0.18s var(--feston-ease), color 0.18s var(--feston-ease), border-color 0.18s var(--feston-ease), transform 0.18s var(--feston-ease);
}

.feston-insc-painel .feston-insc-participantes-form-block .feston-form-tabs .nav-link:hover,
.feston-insc-painel .feston-participantes-form-page .feston-form-tabs .nav-link:hover {
	background: var(--feston-surface) !important;
	color: var(--feston-text) !important;
	border-color: rgba(10, 10, 10, 0.06);
}

.feston-insc-painel .feston-insc-participantes-form-block .feston-form-tabs .nav-link.active,
.feston-insc-painel .feston-participantes-form-page .feston-form-tabs .nav-link.active {
	background: var(--feston-green) !important;
	color: var(--feston-text) !important;
	border-color: transparent;
	box-shadow: 0 8px 22px var(--feston-green-glow);
}

.feston-insc-painel .feston-insc-participantes-form-block .feston-form-tabs .nav-link:focus,
.feston-insc-painel .feston-participantes-form-page .feston-form-tabs .nav-link:focus,
.feston-insc-painel .feston-insc-participantes-form-block .feston-form-tabs .nav-link:focus-visible,
.feston-insc-painel .feston-participantes-form-page .feston-form-tabs .nav-link:focus-visible {
	outline: none;
	box-shadow: none;
}

.feston-insc-painel .feston-insc-participantes-form-block .feston-form-section-title,
.feston-insc-painel .feston-participantes-form-page .feston-form-section-title {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--feston-text-tertiary);
	font-weight: 700;
	margin-bottom: 1rem;
}

.feston-insc-participantes-list-item .feston-grupos-identity {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	min-width: 0;
}

.feston-insc-participantes-list-item .feston-grupos-identity__avatar {
	width: 3rem;
	height: 3rem;
	position: relative;
	flex-shrink: 0;
}

.feston-grupos-identity__avatar-photo {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.feston-grupos-identity__avatar-probe {
	position: absolute;
	width: 0;
	height: 0;
	opacity: 0;
	pointer-events: none;
}

.feston-insc-doc-link {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.2rem 0.55rem;
	border-radius: var(--feston-radius-pill);
	background: var(--feston-surface);
	border: 1px solid rgba(10, 10, 10, 0.08);
	color: var(--feston-text-secondary);
	text-decoration: none;
	font-weight: 600;
}

.feston-insc-doc-link:hover {
	color: var(--feston-text);
	border-color: var(--feston-green);
	background: var(--feston-green-soft);
}

.feston-insc-whatsapp-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: inherit;
	text-decoration: none;
	transition: color 0.15s ease;
}

.feston-insc-whatsapp-link i {
	font-size: 1rem;
	color: #25d366;
	flex-shrink: 0;
}

.feston-insc-whatsapp-link:hover {
	color: var(--feston-text);
	text-decoration: underline;
}

.feston-insc-whatsapp-link:hover i {
	color: #128c7e;
}

.feston-insc-page-footer {
	border-radius: var(--feston-radius-xl);
	box-shadow: 0 12px 36px rgba(10, 10, 10, 0.05);
}

.feston-insc-participantes-filters-bar {
	grid-template-columns: minmax(0, 1.35fr) minmax(160px, 0.75fr) minmax(160px, 0.75fr) auto auto;
}

.feston-select-field {
	position: relative;
	display: block;
	width: 100%;
}

.feston-select-field .form-select,
.feston-select-field select {
	width: 100%;
	padding-right: 2.75rem !important;
	cursor: pointer;
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	background-image: none !important;
	background-repeat: no-repeat !important;
}

.feston-select-field__icon {
	position: absolute;
	top: 50%;
	right: 1rem;
	z-index: 1;
	transform: translateY(-50%);
	pointer-events: none;
	font-size: 1.15rem;
	line-height: 1;
	color: var(--feston-text-tertiary);
}

.feston-insc-filter-select {
	min-height: 46px;
	border-radius: var(--feston-radius-pill);
	border: 1px solid var(--feston-border);
	background-color: var(--feston-surface-elevated);
	box-shadow: 0 2px 10px rgba(10, 10, 10, 0.04);
	font-size: 0.86rem;
	font-weight: 600;
	color: var(--feston-text-secondary);
	padding-left: 1rem;
}

.feston-insc-filter-select:focus {
	border-color: rgba(153, 255, 0, 0.55);
	box-shadow: 0 0 0 3px rgba(153, 255, 0, 0.18);
}

.feston-select-field:focus-within .feston-select-field__icon {
	color: var(--feston-text);
}

@media (max-width: 1199.98px) {
	.feston-insc-participantes-filters-bar {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 767.98px) {
	.feston-insc-participantes-filters-bar {
		grid-template-columns: 1fr;
	}
}

.feston-insc-doc-upload-grid {
	--feston-doc-upload-gap: 0.85rem;
}

.feston-insc-doc-upload {
	display: grid;
	grid-template-columns: 4.5rem minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.85rem;
	width: 100%;
	padding: 0.9rem 1rem;
	border-radius: var(--feston-radius-xl);
	background: rgba(255, 255, 255, 0.96);
	border: 1px dashed rgba(10, 10, 10, 0.14);
	box-shadow: 0 8px 22px rgba(10, 10, 10, 0.04);
	cursor: pointer;
	transition: border-color 0.18s var(--feston-ease), box-shadow 0.18s var(--feston-ease), transform 0.18s var(--feston-ease), background 0.18s var(--feston-ease);
}

.feston-insc-doc-upload:hover {
	border-color: var(--feston-green);
	background: var(--feston-green-soft);
	box-shadow: 0 12px 28px var(--feston-green-glow);
	transform: translateY(-1px);
}

.feston-insc-doc-upload__media {
	display: flex;
	align-items: center;
	justify-content: center;
}

.feston-insc-doc-upload__preview {
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 16px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	border: 1px solid rgba(10, 10, 10, 0.08);
	background-color: var(--feston-surface);
}

.feston-insc-doc-upload__preview.is-empty {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.65rem;
	color: var(--feston-text-tertiary);
	background: linear-gradient(180deg, #fff 0%, var(--feston-surface) 100%);
}

.feston-insc-doc-upload__copy {
	display: grid;
	gap: 0.2rem;
	min-width: 0;
}

.feston-insc-doc-upload__copy strong {
	font-size: 0.88rem;
	font-weight: 800;
	color: var(--feston-text);
}

.feston-insc-doc-upload__copy span,
.feston-insc-doc-upload__copy small {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.feston-insc-doc-upload__copy span {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--feston-text-secondary);
}

.feston-insc-doc-upload__copy small {
	font-size: 0.74rem;
	color: var(--feston-text-tertiary);
}

.feston-insc-doc-upload__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	padding: 0.55rem 0.9rem;
	border-radius: var(--feston-radius-pill);
	background: var(--feston-green);
	color: var(--feston-text);
	font-size: 0.78rem;
	font-weight: 800;
	white-space: nowrap;
	box-shadow: 0 8px 20px var(--feston-green-glow);
}

.feston-insc-doc-upload__link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: 0.55rem;
	padding-left: 0.15rem;
	color: var(--feston-text-secondary);
	font-weight: 700;
	text-decoration: none;
}

.feston-insc-doc-upload__link:hover {
	color: var(--feston-text);
}

@media (max-width: 767.98px) {
	.feston-insc-doc-upload {
		grid-template-columns: 4rem minmax(0, 1fr);
	}

	.feston-insc-doc-upload__action {
		grid-column: 1 / -1;
		width: 100%;
	}
}

/* Coreografias — KPIs, formulario, elenco e filtros */
.feston-insc-coreografias .feston-coreografias-kpi {
	border-radius: var(--feston-radius-xl);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 10px 28px rgba(10, 10, 10, 0.05);
	transition: transform 0.18s var(--feston-ease), box-shadow 0.18s var(--feston-ease);
}

.feston-insc-coreografias .feston-coreografias-kpi:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 34px rgba(10, 10, 10, 0.08);
}

.feston-insc-coreografias .feston-coreografias-kpi__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: var(--feston-radius-pill);
	background: var(--feston-green-soft);
	color: var(--feston-text);
	font-size: 1.15rem;
	margin-bottom: 0.55rem;
}

.feston-insc-coreografias .feston-coreografias-kpi--ok .feston-coreografias-kpi__icon {
	background: rgba(153, 255, 0, 0.22);
}

.feston-insc-coreografias .feston-coreografias-kpi--minor .feston-coreografias-kpi__icon {
	background: rgba(10, 10, 10, 0.06);
}

.feston-insc-coreografias .feston-coreografias-kpi--new .feston-coreografias-kpi__icon {
	background: rgba(11, 142, 142, 0.12);
}

.feston-insc-coreografias .feston-coreografias-kpi__label {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-weight: 700;
	color: var(--feston-text-tertiary);
	margin-bottom: 0.2rem;
}

.feston-insc-coreografias .feston-coreografias-kpi__value {
	font-size: 1.45rem;
	font-weight: 800;
	line-height: 1.1;
	color: var(--feston-text);
}

.feston-insc-coreografias .feston-coreografias-kpi__value--sm {
	font-size: 1.05rem;
	line-height: 1.2;
}

.feston-insc-painel .feston-coreografias-form-block .feston-form-tabs,
.feston-insc-painel .feston-coreografias-form-page .feston-form-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	padding: 0;
	margin-bottom: 1rem;
	border: 0;
}

.feston-insc-painel .feston-coreografias-form-block .feston-form-tabs .nav-item,
.feston-insc-painel .feston-coreografias-form-page .feston-form-tabs .nav-item {
	margin: 0;
}

.feston-insc-painel .feston-coreografias-form-block .feston-form-tabs .nav-link,
.feston-insc-painel .feston-coreografias-form-page .feston-form-tabs .nav-link {
	border-radius: var(--feston-radius-pill) !important;
	border: 1px solid transparent;
	background: transparent !important;
	color: var(--feston-text-secondary) !important;
	font-size: 0.82rem;
	font-weight: 700;
	padding: 0.5rem 0.95rem;
	transition: background 0.18s var(--feston-ease), color 0.18s var(--feston-ease), border-color 0.18s var(--feston-ease);
}

.feston-insc-painel .feston-coreografias-form-block .feston-form-tabs .nav-link:hover,
.feston-insc-painel .feston-coreografias-form-page .feston-form-tabs .nav-link:hover {
	background: var(--feston-surface) !important;
	color: var(--feston-text) !important;
	border-color: rgba(10, 10, 10, 0.06);
}

.feston-insc-painel .feston-coreografias-form-block .feston-form-tabs .nav-link.active,
.feston-insc-painel .feston-coreografias-form-page .feston-form-tabs .nav-link.active {
	background: var(--feston-green) !important;
	color: var(--feston-text) !important;
	border-color: transparent;
	box-shadow: 0 8px 20px var(--feston-green-glow);
}

.feston-coreografias-resumo.feston-grupos-table-card {
	overflow: hidden;
	border-radius: 20px !important;
}

.feston-coreografias-resumo__body {
	padding: 1.1rem 1.15rem 1.15rem;
	border-bottom: 1px solid rgba(10, 10, 10, 0.06);
	background: #fafaf9;
}

.feston-coreografias-resumo__filters {
	padding: 1rem 1.15rem;
	border-bottom: 1px solid rgba(10, 10, 10, 0.06);
	background: #fff;
}

.feston-coreografias-resumo__empty {
	border-top: 1px solid rgba(10, 10, 10, 0.06);
	background: #fff;
}

.feston-coreografias-resumo__dims {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.75rem;
	margin-bottom: 1.15rem;
}

.feston-coreografias-resumo__dims--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.feston-coreografias-resumo__dims--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.feston-coreografias-resumo__dims--auto {
	grid-template-columns: repeat(auto-fit, minmax(11.5rem, 1fr));
}

.feston-coreografias-resumo__breakdown--2cols {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.feston-coreografias-resumo__dim {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.85rem 1rem;
	border-radius: 16px;
	border: 1px solid rgba(10, 10, 10, 0.04);
	background: #fff;
	box-shadow: 0 6px 18px rgba(10, 10, 10, 0.04);
	text-align: left;
}

.feston-coreografias-resumo__dim.is-highlight {
	border-color: rgba(153, 255, 0, 0.28);
	background: linear-gradient(145deg, rgba(153, 255, 0, 0.16) 0%, rgba(255, 255, 255, 0.98) 72%);
	box-shadow: 0 8px 22px rgba(153, 255, 0, 0.12);
}

.feston-coreografias-resumo__dim-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 12px;
	background: rgba(10, 10, 10, 0.05);
	color: #5a8f00;
	font-size: 1.1rem;
	flex-shrink: 0;
}

.feston-coreografias-resumo__dim.is-highlight .feston-coreografias-resumo__dim-icon {
	background: rgba(153, 255, 0, 0.28);
	color: var(--feston-text, #0a0a0a);
}

.feston-coreografias-resumo__dim-copy {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	min-width: 0;
}

.feston-coreografias-resumo__dim-lbl {
	display: block;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--feston-text-tertiary, #64748b);
}

.feston-coreografias-resumo__dim-val {
	display: block;
	font-size: 1.35rem;
	font-weight: 800;
	line-height: 1.1;
	color: var(--feston-text, #0a0a0a);
	letter-spacing: -0.02em;
}

.feston-coreografias-resumo__dim-val--sm {
	font-size: 0.95rem;
	line-height: 1.35;
	letter-spacing: 0;
}

.feston-coreografias-resumo__breakdown {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	padding: 1rem 1.1rem;
	border-radius: 16px;
	background: #fff;
	border: 1px solid rgba(10, 10, 10, 0.04);
	box-shadow: 0 4px 14px rgba(10, 10, 10, 0.03);
}

.feston-coreografias-resumo__breakdown-section {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	min-width: 0;
	padding: 0 1rem;
}

.feston-coreografias-resumo__breakdown-section:first-child {
	padding-left: 0;
}

.feston-coreografias-resumo__breakdown-section:last-child {
	padding-right: 0;
}

.feston-coreografias-resumo__breakdown-section:not(:last-child) {
	border-right: 1px solid rgba(10, 10, 10, 0.06);
}

.feston-coreografias-resumo__breakdown-title {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--feston-text-tertiary, #64748b);
}

.feston-coreografias-resumo__breakdown-title i {
	font-size: 1rem;
	color: #5a8f00;
}

.feston-coreografias-resumo__tags {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

.feston-coreografias-resumo__tag {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem;
	width: 100%;
	padding: 0.5rem 0.65rem;
	border-radius: 12px;
	background: #f6f7f5;
	border: 1px solid rgba(10, 10, 10, 0.04);
}

.feston-coreografias-resumo__tag-label {
	min-width: 0;
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--feston-text, #0a0a0a);
}

.feston-coreografias-resumo__tag-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.65rem;
	height: 1.65rem;
	padding: 0 0.35rem;
	border-radius: var(--feston-radius-pill, 999px);
	background: #0a0a0a;
	color: var(--feston-green, #99ff00);
	font-size: 0.72rem;
	font-weight: 800;
	line-height: 1;
	flex-shrink: 0;
}

.feston-coreografias-list-order {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	min-width: 2rem;
	border-radius: 50%;
	background: #0a0a0a;
	color: var(--feston-green, #99ff00);
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1;
	flex-shrink: 0;
	box-shadow: 0 4px 12px rgba(10, 10, 10, 0.14);
}

.feston-insc-coreografias .feston-grupos-list-item__main .feston-grupos-identity {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	min-width: 0;
}

.feston-coreografias-resumo__list .feston-coreografias-resumo__item {
	grid-template-columns: minmax(0, 1.5fr) minmax(220px, 0.9fr) auto;
}

@media (max-width: 991.98px) {
	.feston-coreografias-resumo__dims,
	.feston-coreografias-resumo__dims--3,
	.feston-coreografias-resumo__dims--4,
	.feston-coreografias-resumo__dims--auto {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.feston-coreografias-resumo__breakdown,
	.feston-coreografias-resumo__breakdown--2cols {
		grid-template-columns: 1fr;
		gap: 0.85rem;
		padding: 0.9rem;
	}

	.feston-coreografias-resumo__breakdown-section {
		padding: 0;
		border-right: 0 !important;
		padding-bottom: 0.85rem;
		border-bottom: 1px solid rgba(10, 10, 10, 0.06);
	}

	.feston-coreografias-resumo__breakdown-section:last-child {
		padding-bottom: 0;
		border-bottom: 0;
	}

	.feston-coreografias-resumo__list .feston-coreografias-resumo__item {
		grid-template-columns: 1fr;
	}

	.feston-coreografias-resumo__list .feston-coreografias-resumo__item .feston-grupos-list-item__actions {
		justify-content: flex-start;
	}
}

.feston-insc-coreografias-filters-bar {
	grid-template-columns: minmax(0, 1.35fr) minmax(140px, 0.7fr) minmax(140px, 0.7fr) minmax(140px, 0.7fr) auto auto;
}

.feston-insc-elenco-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(17.5rem, 1fr));
	gap: 0.85rem;
}

.feston-insc-elenco-card {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 0.85rem;
	width: 100%;
	min-height: 4.75rem;
	padding: 0.85rem 1rem;
	border-radius: var(--feston-radius-xl);
	border: 1px solid rgba(10, 10, 10, 0.08);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 8px 22px rgba(10, 10, 10, 0.04);
	cursor: pointer;
	text-align: left;
	transition: border-color 0.18s var(--feston-ease), box-shadow 0.18s var(--feston-ease), transform 0.18s var(--feston-ease), background 0.18s var(--feston-ease);
}

.feston-insc-elenco-card:hover {
	border-color: var(--feston-green);
	background: var(--feston-green-soft);
	transform: translateY(-1px);
	box-shadow: 0 12px 28px var(--feston-green-glow);
}

.feston-insc-elenco-card.is-selected {
	border-color: var(--feston-green);
	background: linear-gradient(135deg, rgba(198, 255, 0, 0.18) 0%, rgba(255, 255, 255, 0.98) 100%);
	box-shadow: 0 12px 28px var(--feston-green-glow);
}

.feston-insc-elenco-card__media {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex: 1;
	min-width: 0;
}

.feston-insc-elenco-card__avatar {
	position: relative;
	overflow: hidden;
	width: 3rem;
	height: 3rem;
	border-radius: var(--feston-radius-pill);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	flex-shrink: 0;
	border: 2px solid rgba(255, 255, 255, 0.9);
	box-shadow: 0 4px 12px rgba(10, 10, 10, 0.08);
}

.feston-insc-elenco-card__avatar-photo {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.feston-insc-elenco-card__avatar-probe {
	position: absolute;
	width: 0;
	height: 0;
	opacity: 0;
	pointer-events: none;
}

.feston-insc-elenco-card__avatar.is-empty {
	background-color: #f4f6f4;
	background-image: none;
}

.feston-insc-elenco-card__avatar-mascot {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 42%;
	display: block;
	pointer-events: none;
	user-select: none;
}

.feston-insc-funcoes-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.feston-insc-funcao-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.55rem 0.85rem;
	border-radius: var(--feston-radius-pill);
	border: 1px solid rgba(10, 10, 10, 0.1);
	background: #fff;
	cursor: pointer;
	transition: border-color 0.18s var(--feston-ease), box-shadow 0.18s var(--feston-ease), background 0.18s var(--feston-ease);
	margin: 0;
}

.feston-insc-funcao-chip.is-selected {
	border-color: rgba(153, 255, 0, 0.65);
	background: rgba(153, 255, 0, 0.12);
	box-shadow: 0 0 0 1px rgba(153, 255, 0, 0.2);
}

.feston-insc-funcao-chip__input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.feston-insc-funcao-chip__label {
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--feston-text-primary);
}

.feston-insc-elenco-card__copy {
	min-width: 0;
	flex: 1;
}

.feston-insc-elenco-card__copy strong {
	display: block;
	font-size: 0.875rem;
	font-weight: 800;
	line-height: 1.25;
	color: var(--feston-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.feston-insc-elenco-card__copy small,
.feston-insc-elenco-card__doc {
	display: block;
	margin-top: 0.15rem;
	font-size: 0.75rem;
	line-height: 1.2;
	color: var(--feston-text-tertiary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.feston-insc-elenco-card__check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 1.85rem;
	height: 1.85rem;
	border-radius: var(--feston-radius-pill);
	color: rgba(10, 10, 10, 0.28);
	background: rgba(10, 10, 10, 0.04);
	transition: color 0.18s var(--feston-ease), background 0.18s var(--feston-ease), transform 0.18s var(--feston-ease);
}

.feston-insc-elenco-card__check i {
	font-size: 1.35rem;
	line-height: 1;
}

.feston-insc-elenco-card.is-selected .feston-insc-elenco-card__check {
	color: var(--feston-green-dark, #5a7a00);
	background: rgba(198, 255, 0, 0.28);
}

.feston-insc-music-panel {
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
	padding: 1rem 1.1rem;
	border-radius: var(--feston-radius-xl);
	border: 1px solid rgba(10, 10, 10, 0.08);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 248, 248, 0.96) 100%);
	box-shadow: 0 10px 28px rgba(10, 10, 10, 0.04);
}

.feston-insc-music-panel.has-file {
	border-color: rgba(198, 255, 0, 0.45);
	box-shadow: 0 12px 30px var(--feston-green-glow);
}

.feston-insc-music-panel.is-error {
	border-color: rgba(220, 53, 69, 0.35);
}

.feston-insc-music-panel__head {
	display: flex;
	align-items: center;
	gap: 0.85rem;
}

.feston-insc-music-panel__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: var(--feston-radius-lg);
	background: var(--feston-green-soft);
	color: var(--feston-text);
	flex-shrink: 0;
}

.feston-insc-music-panel__icon i {
	font-size: 1.45rem;
	line-height: 1;
}

.feston-insc-music-panel__copy {
	min-width: 0;
	flex: 1;
}

.feston-insc-music-panel__copy strong {
	display: block;
	font-size: 0.9rem;
	font-weight: 800;
	color: var(--feston-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.feston-insc-music-panel__copy span,
.feston-insc-music-panel__copy small {
	display: block;
}

.feston-insc-music-panel__copy span {
	margin-top: 0.15rem;
	font-size: 0.78rem;
	color: var(--feston-text-secondary);
}

.feston-insc-music-panel__copy small {
	margin-top: 0.1rem;
	font-size: 0.72rem;
	color: var(--feston-text-tertiary);
}

.feston-insc-music-panel__actions {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-shrink: 0;
}

.feston-insc-music-panel__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	min-height: 2.5rem;
	padding: 0.55rem 0.95rem;
	border-radius: var(--feston-radius-pill);
	border: 1px solid transparent;
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
	transition: transform 0.18s var(--feston-ease), box-shadow 0.18s var(--feston-ease), background 0.18s var(--feston-ease);
}

.feston-insc-music-panel__btn:hover {
	transform: translateY(-1px);
}

.feston-insc-music-panel__btn--ghost {
	background: rgba(255, 255, 255, 0.92);
	border-color: rgba(10, 10, 10, 0.08);
	color: var(--feston-text);
}

.feston-insc-music-panel__btn--primary {
	background: var(--feston-green);
	color: var(--feston-text);
	box-shadow: 0 8px 20px var(--feston-green-glow);
}

.feston-insc-music-panel__player {
	width: 100%;
	height: 2.75rem;
	border-radius: var(--feston-radius-pill);
	background: rgba(10, 10, 10, 0.04);
}

.feston-insc-music-panel__player::-webkit-media-controls-panel {
	background: rgba(255, 255, 255, 0.92);
}

.feston-insc-music-panel__empty {
	color: var(--feston-text-tertiary);
}

@media (max-width: 767.98px) {
	.feston-insc-music-panel__head {
		flex-wrap: wrap;
	}

	.feston-insc-music-panel__actions {
		width: 100%;
	}

	.feston-insc-music-panel__btn {
		width: 100%;
	}
}

.feston-insc-music-upload .feston-insc-doc-upload__media i {
	font-size: 1.6rem;
	color: var(--feston-text-secondary);
}

.feston-insc-coreo-dados-panel {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 1rem 1.1rem;
	border-radius: var(--feston-radius-xl);
	border: 1px solid rgba(10, 10, 10, 0.08);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 248, 248, 0.96) 100%);
	box-shadow: 0 10px 28px rgba(10, 10, 10, 0.04);
}

.feston-insc-coreo-dados-panel.is-complete {
	border-color: rgba(198, 255, 0, 0.45);
	box-shadow: 0 12px 30px var(--feston-green-glow);
}

.feston-insc-coreo-dados-panel__hero {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding-bottom: 0.85rem;
	border-bottom: 1px dashed rgba(10, 10, 10, 0.1);
}

.feston-insc-coreo-dados-panel__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: var(--feston-radius-lg);
	background: linear-gradient(145deg, #0a0a0a 0%, #2d2d2d 100%);
	color: var(--feston-green);
	flex-shrink: 0;
}

.feston-insc-coreo-dados-panel__icon i {
	font-size: 1.45rem;
	line-height: 1;
}

.feston-insc-coreo-dados-panel__copy strong {
	display: block;
	font-size: 0.92rem;
	font-weight: 800;
	color: var(--feston-text);
}

.feston-insc-coreo-dados-panel__copy span {
	display: block;
	margin-top: 0.15rem;
	font-size: 0.78rem;
	color: var(--feston-text-secondary);
}

.feston-insc-coreo-dados-section {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	padding: 0.95rem 0 0;
}

.feston-insc-coreo-dados-section + .feston-insc-coreo-dados-section {
	border-top: 1px dashed rgba(10, 10, 10, 0.08);
}

.feston-insc-coreo-dados-section__head {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.feston-insc-coreo-dados-section__head > i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.2rem;
	height: 2.2rem;
	border-radius: var(--feston-radius-md);
	background: var(--feston-green-soft);
	color: var(--feston-text);
	font-size: 1.1rem;
	flex-shrink: 0;
}

.feston-insc-coreo-dados-section__head strong {
	display: block;
	font-size: 0.86rem;
	font-weight: 800;
	color: var(--feston-text);
}

.feston-insc-coreo-dados-section__head span {
	display: block;
	margin-top: 0.1rem;
	font-size: 0.74rem;
	color: var(--feston-text-tertiary);
}

.feston-insc-coreo-dados-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
}

.feston-insc-coreo-dados-summary {
	margin-top: 0.15rem;
}

.feston-insc-coreo-dados-grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.feston-insc-coreo-dados-panel.is-error {
	border-color: rgba(220, 53, 69, 0.35);
}

.feston-insc-coreo-dados-section__hint {
	color: var(--feston-text-tertiary);
}

.feston-insc-coreo-dados-section__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.feston-insc-field__control--link {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	padding-left: 0.95rem;
	padding-right: 0.95rem;
}

.feston-insc-field__control--link > i {
	font-size: 1rem;
	color: var(--feston-text-secondary);
	flex-shrink: 0;
}

.feston-insc-field__control-input {
	width: 100%;
	border: 0;
	background: transparent;
	font-size: 0.86rem;
	font-weight: 600;
	color: var(--feston-text);
	outline: none;
}

.feston-insc-field__control-input::placeholder {
	color: var(--feston-text-tertiary);
	font-weight: 500;
}

.feston-insc-music-panel--section {
	padding: 0.85rem 0.95rem;
	border-radius: var(--feston-radius-lg);
	border: 1px solid rgba(10, 10, 10, 0.08);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: none;
}

.feston-insc-music-panel--section.has-file {
	border-color: rgba(198, 255, 0, 0.35);
}

.feston-insc-music-panel--section.is-error {
	border-color: rgba(220, 53, 69, 0.35);
}

.feston-insc-video-viewer--section {
	margin-top: 0;
	padding: 0.95rem 0 0;
	border: 0;
	background: none;
	box-shadow: none;
}

.feston-insc-video-viewer--section.feston-insc-coreo-dados-section {
	padding-top: 0.95rem;
}

.feston-insc-field {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.feston-insc-field__label {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--feston-text-secondary);
}

.feston-insc-field__control {
	min-height: 2.75rem;
	border-radius: var(--feston-radius-pill);
	border: 1px solid rgba(10, 10, 10, 0.08);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 2px 10px rgba(10, 10, 10, 0.03);
	font-size: 0.86rem;
	font-weight: 600;
	color: var(--feston-text);
}

.feston-insc-field__control:focus {
	border-color: rgba(153, 255, 0, 0.55);
	box-shadow: 0 0 0 3px rgba(153, 255, 0, 0.18);
}

.feston-insc-field__control--area {
	min-height: 7.5rem;
	border-radius: var(--feston-radius-lg);
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
	resize: vertical;
}

.feston-insc-field__error {
	font-size: 0.76rem;
	color: #dc2626;
}

@media (max-width: 991.98px) {
	.feston-insc-coreo-dados-grid,
	.feston-insc-coreo-dados-grid--2 {
		grid-template-columns: 1fr;
	}
}

.feston-insc-seletiva-link-panel {
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
	padding: 1rem 1.1rem;
	border-radius: var(--feston-radius-xl);
	border: 1px solid rgba(10, 10, 10, 0.08);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 248, 248, 0.96) 100%);
	box-shadow: 0 10px 28px rgba(10, 10, 10, 0.04);
}

.feston-insc-seletiva-link-panel.has-link {
	border-color: rgba(198, 255, 0, 0.45);
	box-shadow: 0 12px 30px var(--feston-green-glow);
}

.feston-insc-seletiva-link-panel.is-error {
	border-color: rgba(220, 53, 69, 0.35);
}

.feston-insc-seletiva-link-panel__head {
	display: flex;
	align-items: center;
	gap: 0.85rem;
}

.feston-insc-seletiva-link-panel__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: var(--feston-radius-lg);
	background: var(--feston-green-soft);
	color: var(--feston-text);
	flex-shrink: 0;
}

.feston-insc-seletiva-link-panel__icon i {
	font-size: 1.45rem;
	line-height: 1;
}

.feston-insc-seletiva-link-panel__copy {
	min-width: 0;
	flex: 1;
}

.feston-insc-seletiva-link-panel__copy strong {
	display: block;
	font-size: 0.9rem;
	font-weight: 800;
	color: var(--feston-text);
}

.feston-insc-seletiva-link-panel__copy span,
.feston-insc-seletiva-link-panel__copy small {
	display: block;
}

.feston-insc-seletiva-link-panel__copy span {
	margin-top: 0.15rem;
	font-size: 0.78rem;
	color: var(--feston-text-secondary);
}

.feston-insc-seletiva-link-panel__copy small {
	margin-top: 0.1rem;
	font-size: 0.72rem;
	color: var(--feston-text-tertiary);
}

.feston-insc-seletiva-link-panel__actions {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-shrink: 0;
}

.feston-insc-seletiva-link-panel__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	min-height: 2.5rem;
	padding: 0.55rem 0.95rem;
	border-radius: var(--feston-radius-pill);
	border: 1px solid transparent;
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
	transition: transform 0.18s var(--feston-ease), box-shadow 0.18s var(--feston-ease), background 0.18s var(--feston-ease);
}

.feston-insc-seletiva-link-panel__btn:hover {
	transform: translateY(-1px);
}

.feston-insc-seletiva-link-panel__btn--ghost {
	background: rgba(255, 255, 255, 0.92);
	border-color: rgba(10, 10, 10, 0.08);
	color: var(--feston-text);
}

.feston-insc-seletiva-link-panel__field {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	padding: 0.65rem 0.85rem;
	border-radius: var(--feston-radius-pill);
	border: 1px solid rgba(10, 10, 10, 0.08);
	background: rgba(255, 255, 255, 0.96);
}

.feston-insc-seletiva-link-panel__field i {
	font-size: 1rem;
	color: var(--feston-text-secondary);
	flex-shrink: 0;
}

.feston-insc-seletiva-link-panel__input {
	width: 100%;
	border: 0;
	background: transparent;
	font-size: 0.84rem;
	font-weight: 600;
	color: var(--feston-text);
	outline: none;
}

.feston-insc-seletiva-link-panel__input::placeholder {
	color: var(--feston-text-tertiary);
	font-weight: 500;
}

.feston-insc-seletiva-link-panel__preview {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	border-radius: var(--feston-radius-lg);
	overflow: hidden;
	background: #0a0a0a;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.feston-insc-seletiva-link-panel__iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.feston-insc-seletiva-link-panel__empty {
	color: var(--feston-text-tertiary);
}

.feston-insc-seletiva-link-panel__ready {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	color: var(--feston-text-secondary);
}

.feston-insc-seletiva-link-panel__ready i {
	color: #15803d;
	font-size: 1rem;
}

.feston-insc-video-viewer {
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
	margin-top: 1rem;
	padding: 1rem 1.1rem 1.1rem;
	border-radius: var(--feston-radius-xl);
	border: 1px solid rgba(198, 255, 0, 0.35);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 248, 248, 0.96) 100%);
	box-shadow: 0 12px 30px var(--feston-green-glow);
}

.feston-insc-video-viewer__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.85rem;
}

.feston-insc-video-viewer__intro {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	min-width: 0;
	flex: 1;
}

.feston-insc-video-viewer__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: var(--feston-radius-lg);
	background: linear-gradient(145deg, #0a0a0a 0%, #2d2d2d 100%);
	color: var(--feston-green);
	flex-shrink: 0;
}

.feston-insc-video-viewer__icon i {
	font-size: 1.35rem;
	line-height: 1;
}

.feston-insc-video-viewer__eyebrow {
	margin: 0 0 0.12rem;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--feston-text-tertiary);
}

.feston-insc-video-viewer__title {
	margin: 0;
	font-size: 1rem;
	font-weight: 800;
	color: var(--feston-text);
	line-height: 1.25;
}

.feston-insc-video-viewer__sub {
	margin-top: 0.2rem;
	color: var(--feston-text-secondary);
}

.feston-insc-video-viewer__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.feston-insc-video-viewer__stage {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	border-radius: var(--feston-radius-lg);
	overflow: hidden;
	background: #0a0a0a;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.feston-insc-video-viewer__iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.feston-insc-video-viewer__hint {
	color: var(--feston-text-secondary);
}

.feston-insc-video-viewer-modal {
	position: fixed;
	inset: 0;
	z-index: 1065;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: rgba(10, 10, 10, 0.72);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s var(--feston-ease), visibility 0.2s var(--feston-ease);
}

.feston-insc-video-viewer-modal.is-open {
	opacity: 1;
	visibility: visible;
}

body.feston-insc-video-viewer-open {
	overflow: hidden;
}

.feston-insc-video-viewer-modal__dialog {
	width: min(960px, 100%);
	border-radius: var(--feston-radius-xl);
	overflow: hidden;
	background: #fff;
	box-shadow: 0 28px 60px rgba(10, 10, 10, 0.28);
}

.feston-insc-video-viewer-modal__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.85rem;
	padding: 1rem 1.1rem 0.85rem;
	border-bottom: 1px solid var(--feston-border);
}

.feston-insc-video-viewer-modal__eyebrow {
	margin: 0 0 0.12rem;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--feston-text-tertiary);
}

.feston-insc-video-viewer-modal__title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 800;
	color: var(--feston-text);
	line-height: 1.25;
}

.feston-insc-video-viewer-modal__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	border: 0;
	border-radius: 999px;
	background: #f1f5f9;
	color: var(--feston-text-secondary);
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.feston-insc-video-viewer-modal__close:hover {
	background: #e2e8f0;
	color: var(--feston-text);
}

.feston-insc-video-viewer-modal__stage {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	background: #0a0a0a;
}

.feston-insc-video-viewer-modal__iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.feston-insc-video-viewer-modal__footer {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.55rem;
	padding: 0.9rem 1.1rem 1rem;
	border-top: 1px solid var(--feston-border);
	background: #fafafa;
}

@media (max-width: 767.98px) {
	.feston-insc-seletiva-link-panel__head {
		flex-wrap: wrap;
	}

	.feston-insc-seletiva-link-panel__actions {
		width: 100%;
	}

	.feston-insc-seletiva-link-panel__btn {
		width: 100%;
	}

	.feston-insc-video-viewer__actions {
		width: 100%;
	}

	.feston-insc-video-viewer-modal {
		padding: 0.65rem;
	}

	.feston-insc-video-viewer-modal__footer {
		flex-direction: column;
	}

	.feston-insc-video-viewer-modal__footer .feston-kpi-hero-btn {
		width: 100%;
	}
}

@media (max-width: 1199.98px) {
	.feston-insc-coreografias-filters-bar {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 767.98px) {
	.feston-insc-coreografias-filters-bar {
		grid-template-columns: 1fr;
	}
}

/* Coreografias — fluxo guiado do formulario */
.feston-coreo-flow-guide {
	border-radius: var(--feston-radius-xl);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 10px 28px rgba(10, 10, 10, 0.05);
}

.feston-coreo-flow-guide__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	margin-bottom: 1rem;
}

.feston-coreo-flow-guide__title {
	font-size: 0.92rem;
	font-weight: 800;
	color: var(--feston-text);
}

.feston-coreo-flow-guide__copy {
	color: var(--feston-text-secondary);
}

.feston-coreo-flow-guide__badge {
	display: inline-flex;
	align-items: center;
	padding: 0.35rem 0.75rem;
	border-radius: var(--feston-radius-pill);
	background: rgba(10, 10, 10, 0.06);
	color: var(--feston-text-secondary);
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.feston-coreo-flow-guide__badge.is-ready {
	background: var(--feston-green-soft);
	color: var(--feston-text);
	box-shadow: 0 6px 18px var(--feston-green-glow);
}

.feston-coreo-flow-steps {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.feston-coreo-flow-steps--unified {
	counter-reset: feston-coreo-step;
}

.feston-coreo-flow-steps__item {
	margin: 0;
}

.feston-coreo-flow-steps__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.55rem 0.85rem;
	border: 1px solid rgba(10, 10, 10, 0.08);
	border-radius: var(--feston-radius-pill);
	background: #fff;
	color: var(--feston-text-secondary);
	font-size: 0.8rem;
	font-weight: 700;
	cursor: pointer;
	transition: border-color 0.18s var(--feston-ease), background 0.18s var(--feston-ease), color 0.18s var(--feston-ease), box-shadow 0.18s var(--feston-ease);
}

.feston-coreo-flow-steps__btn:hover:not(:disabled) {
	border-color: var(--feston-green);
	background: var(--feston-green-soft);
	color: var(--feston-text);
}

.feston-coreo-flow-steps__btn:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.feston-coreo-flow-steps__item.is-locked .feston-coreo-flow-steps__btn {
	border-style: dashed;
	background: rgba(10, 10, 10, 0.02);
}

.feston-coreo-flow-steps__item.is-current .feston-coreo-flow-steps__btn {
	border-color: var(--feston-green);
	background: var(--feston-green);
	color: var(--feston-text);
	box-shadow: 0 8px 20px var(--feston-green-glow);
}

.feston-coreo-flow-steps__item.is-complete .feston-coreo-flow-steps__btn {
	border-color: rgba(153, 255, 0, 0.35);
	background: var(--feston-green-soft);
	color: var(--feston-text);
}

.feston-coreo-flow-steps__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.35rem;
	height: 1.35rem;
	border-radius: var(--feston-radius-pill);
	background: rgba(10, 10, 10, 0.06);
	font-size: 0.72rem;
	font-weight: 800;
}

.feston-coreo-flow-steps__item.is-current .feston-coreo-flow-steps__num,
.feston-coreo-flow-steps__item.is-complete .feston-coreo-flow-steps__num {
	background: rgba(255, 255, 255, 0.72);
}

.feston-coreo-flow-steps__icon {
	font-size: 1rem;
}

.feston-coreo-flow-steps__status {
	font-size: 1rem;
}

.feston-coreo-step-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.85rem;
}

.feston-coreo-step-panel__eyebrow {
	margin-bottom: 0.2rem;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--feston-text-tertiary);
}

.feston-coreo-step-panel__title {
	color: var(--feston-text);
}

.feston-coreo-tab-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
	gap: 0.85rem;
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid var(--feston-border);
}

.feston-coreo-tab-footer__hint {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	flex: 1 1 18rem;
	min-width: 0;
	padding: 0.9rem 1rem;
	border-radius: var(--feston-radius-lg);
	background:
		linear-gradient(135deg, rgba(153, 255, 0, 0.12) 0%, rgba(255, 255, 255, 0.98) 100%);
	border: 1px solid rgba(198, 255, 0, 0.28);
	box-shadow: 0 8px 22px rgba(10, 10, 10, 0.04);
}

p.feston-coreo-tab-footer__hint {
	display: block;
	flex: 1 1 auto;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: var(--feston-text-secondary);
	max-width: 34rem;
}

.feston-coreo-tab-footer__hint-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: var(--feston-radius-md);
	background: var(--feston-green-soft);
	color: var(--feston-text);
	flex-shrink: 0;
}

.feston-coreo-tab-footer__hint-icon i {
	font-size: 1.15rem;
	line-height: 1;
}

.feston-coreo-tab-footer__hint-copy {
	min-width: 0;
}

.feston-coreo-tab-footer__hint-copy strong {
	display: block;
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--feston-text-tertiary);
}

.feston-coreo-tab-footer__hint-copy span {
	display: block;
	margin-top: 0.15rem;
	font-size: 0.84rem;
	line-height: 1.45;
	color: var(--feston-text-secondary);
}

.feston-coreo-tab-footer__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex: 0 0 auto;
}

.feston-coreo-tab-footer__actions .feston-kpi-hero-btn {
	min-width: 11.5rem;
}

.feston-coreo-elenco-callout {
	border-radius: var(--feston-radius-xl);
	background: rgba(255, 249, 230, 0.92);
	border: 1px solid rgba(245, 158, 11, 0.22) !important;
}

@media (max-width: 767.98px) {
	.feston-coreo-flow-steps {
		flex-direction: column;
	}

	.feston-coreo-flow-steps__btn {
		width: 100%;
		justify-content: flex-start;
	}

	.feston-coreo-tab-footer {
		flex-direction: column;
		align-items: stretch;
	}

	.feston-coreo-tab-footer__actions {
		width: 100%;
	}

	.feston-coreo-tab-footer__actions .feston-kpi-hero-btn {
		width: 100%;
		min-width: 0;
	}
}

/* ------------------------------------------------------------------ *
 * SweetAlert2 — padrao FestON inscricoes
 * ------------------------------------------------------------------ */
.feston-insc-swal-container {
	font-family: var(--feston-font);
	z-index: 1300 !important;
}

.feston-insc-swal.swal2-popup {
	border-radius: 20px;
	padding: 1.75rem 1.5rem 1.35rem;
	border: 1px solid var(--feston-border);
	box-shadow: 0 24px 48px rgba(10, 10, 10, 0.14);
}

.feston-insc-swal__title {
	font-size: 1.2rem !important;
	font-weight: 700 !important;
	color: var(--feston-text) !important;
	letter-spacing: -0.02em;
}

.feston-insc-swal__content {
	font-size: 0.95rem !important;
	line-height: 1.55 !important;
	color: var(--feston-text-secondary) !important;
}

.feston-insc-swal__content strong {
	color: var(--feston-text);
	font-weight: 600;
}

.feston-insc-swal__icon {
	margin: 0.25rem auto 0.85rem !important;
	border-width: 3px !important;
}

.feston-insc-swal__icon.swal2-warning {
	border-color: #f59e0b !important;
	color: #f59e0b !important;
}

.feston-insc-swal__icon.swal2-error {
	border-color: #ef4444 !important;
}

.feston-insc-swal__icon.swal2-success {
	border-color: var(--feston-green) !important;
}

.feston-insc-swal__icon.swal2-info {
	border-color: #0ea5e9 !important;
	color: #0ea5e9 !important;
}

.feston-insc-swal__actions {
	gap: 0.65rem !important;
	margin-top: 1.15rem !important;
}

.feston-insc-swal__confirm.swal2-styled,
.feston-insc-swal__confirm.swal2-confirm {
	background: var(--feston-green) !important;
	color: var(--feston-text) !important;
	border: none !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
	font-size: 0.9rem !important;
	padding: 0.62rem 1.35rem !important;
	box-shadow: none !important;
}

.feston-insc-swal__confirm.swal2-styled:hover,
.feston-insc-swal__confirm.swal2-confirm:hover {
	filter: brightness(0.96);
}

.feston-insc-swal__cancel.swal2-styled,
.feston-insc-swal__cancel.swal2-cancel {
	background: #f1f5f9 !important;
	color: var(--feston-text-secondary) !important;
	border: 1px solid var(--feston-border) !important;
	border-radius: 999px !important;
	font-weight: 600 !important;
	font-size: 0.9rem !important;
	padding: 0.62rem 1.2rem !important;
	box-shadow: none !important;
}

/* Modais FestON — painel unificado (inscricoes) */
.feston-insc-swal--panel.swal2-popup,
.feston-insc-swal--step.swal2-popup {
	padding: 0 !important;
	max-width: 27rem;
	overflow: hidden;
	border-radius: var(--feston-radius-lg) !important;
	box-shadow: 0 20px 44px rgba(10, 10, 10, 0.12) !important;
}

.feston-insc-swal--panel.swal2-popup::before,
.feston-insc-swal--step.swal2-popup::before {
	display: none;
}

.feston-insc-swal--panel .feston-insc-swal__title,
.feston-insc-swal--panel .swal2-title,
.feston-insc-swal--step .feston-insc-swal__title,
.feston-insc-swal--step .swal2-title {
	display: none !important;
}

.feston-insc-swal--panel .feston-insc-swal__content,
.feston-insc-swal--panel .swal2-content,
.feston-insc-swal--step .feston-insc-swal__content,
.feston-insc-swal--step .swal2-content {
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

.feston-insc-swal--panel .feston-insc-swal__actions,
.feston-insc-swal--panel .swal2-actions,
.feston-insc-swal--step .feston-insc-swal__actions,
.feston-insc-swal--step .swal2-actions {
	margin: 0 !important;
	padding: 0.85rem 1.2rem 1.05rem !important;
	justify-content: stretch !important;
	gap: 0.55rem !important;
	border-top: 1px solid var(--feston-border);
	background: #fff;
}

.feston-insc-swal--panel .feston-insc-swal__confirm,
.feston-insc-swal--step .feston-insc-swal__confirm {
	flex: 1 1 auto !important;
	min-height: 2.65rem !important;
	background: var(--feston-green) !important;
	color: var(--feston-text) !important;
	box-shadow: 0 8px 20px var(--feston-green-glow) !important;
}

.feston-insc-swal--panel .feston-insc-swal__confirm:hover,
.feston-insc-swal--step .feston-insc-swal__confirm:hover {
	filter: brightness(0.96) !important;
	background: var(--feston-green) !important;
}

.feston-insc-swal--panel.is-danger .feston-insc-swal__confirm {
	background: #dc2626 !important;
	box-shadow: 0 8px 20px rgba(220, 38, 38, 0.28) !important;
}

.feston-insc-swal--panel.is-danger .feston-insc-swal__confirm:hover {
	background: #b91c1c !important;
}

.feston-insc-swal--panel .feston-insc-swal__cancel,
.feston-insc-swal--step .feston-insc-swal__cancel {
	flex: 1 1 auto !important;
	min-height: 2.65rem !important;
}

.feston-insc-swal-panel__head {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 1.15rem 1.2rem 0.75rem;
}

.feston-insc-swal-panel__alert-icon {
	position: relative;
	flex-shrink: 0;
	width: 2.35rem;
	height: 2.35rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.3rem;
}

.feston-insc-swal-panel__alert-icon.is-warning {
	color: #d97706;
}

.feston-insc-swal-panel__alert-icon.is-error,
.feston-insc-swal-panel__alert-icon.is-danger {
	color: #dc2626;
}

.feston-insc-swal-panel__alert-icon.is-success {
	color: #16a34a;
}

.feston-insc-swal-panel__alert-icon.is-info {
	color: #0ea5e9;
}

.feston-insc-swal-panel__alert-pulse {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	animation: feston-swal-alert-pulse 1.85s var(--feston-ease) infinite;
}

.feston-insc-swal-panel__alert-icon.is-warning .feston-insc-swal-panel__alert-pulse {
	background: rgba(245, 158, 11, 0.28);
}

.feston-insc-swal-panel__alert-icon.is-error .feston-insc-swal-panel__alert-pulse,
.feston-insc-swal-panel__alert-icon.is-danger .feston-insc-swal-panel__alert-pulse {
	background: rgba(220, 38, 38, 0.22);
}

.feston-insc-swal-panel__alert-icon i {
	position: relative;
	z-index: 1;
}

.feston-insc-swal-panel__alert-icon.is-warning i,
.feston-insc-swal-panel__alert-icon.is-danger i,
.feston-insc-swal-panel__alert-icon.is-error i {
	animation: feston-swal-alert-tilt 2.4s ease-in-out infinite;
}

@keyframes feston-swal-alert-pulse {
	0% {
		transform: scale(0.82);
		opacity: 0.75;
	}
	70% {
		transform: scale(1.45);
		opacity: 0;
	}
	100% {
		transform: scale(1.45);
		opacity: 0;
	}
}

@keyframes feston-swal-alert-tilt {
	0%,
	100% {
		transform: rotate(0deg);
	}
	25% {
		transform: rotate(-7deg);
	}
	75% {
		transform: rotate(7deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.feston-insc-swal-panel__alert-pulse,
	.feston-insc-swal-panel__alert-icon i {
		animation: none;
	}
}

.feston-insc-swal-panel__accent {
	flex-shrink: 0;
	align-self: stretch;
	width: 4px;
	border-radius: var(--feston-radius-pill);
	background: var(--feston-green);
	box-shadow: 0 0 10px var(--feston-green-glow);
}

.feston-insc-swal-panel__head-copy {
	flex: 1;
	min-width: 0;
}

.feston-insc-swal-panel__stat {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.22rem;
	margin-left: 0.15rem;
}

.feston-insc-swal-panel__stat-ring {
	width: 2.7rem;
	height: 2.7rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--feston-green);
	box-shadow: 0 6px 18px var(--feston-green-glow);
}

.feston-insc-swal-panel__stat-ring.is-error,
.feston-insc-swal-panel__stat-ring.is-danger {
	background: #fecaca;
	box-shadow: 0 6px 18px rgba(220, 38, 38, 0.18);
}

.feston-insc-swal-panel__stat-ring.is-success {
	background: var(--feston-green-soft);
}

.feston-insc-swal-panel__stat-ring.is-info {
	background: #e0f2fe;
	box-shadow: 0 6px 18px rgba(14, 165, 233, 0.16);
}

.feston-insc-swal-panel__stat-num {
	font-size: 1.08rem;
	font-weight: 800;
	line-height: 1;
	color: var(--feston-text);
	letter-spacing: -0.03em;
}

.feston-insc-swal-panel__stat-icon {
	font-size: 1.15rem;
	line-height: 1;
	color: var(--feston-text);
}

.feston-insc-swal-panel__stat-label {
	font-size: 0.62rem;
	font-weight: 700;
	line-height: 1.1;
	color: var(--feston-text-tertiary);
	text-align: center;
}

.feston-insc-swal-panel__title {
	margin: 0 0 0.18rem;
	font-size: 1.02rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--feston-text);
	line-height: 1.25;
}

.feston-insc-swal-panel__sub {
	margin: 0;
	font-size: 0.82rem;
	line-height: 1.4;
	color: var(--feston-text-secondary);
}

.feston-insc-swal-panel__body {
	padding: 0 1.2rem 1.05rem;
	font-size: 0.86rem;
	line-height: 1.55;
	color: var(--feston-text-secondary);
}

.feston-insc-swal-panel__body strong {
	color: var(--feston-text);
	font-weight: 700;
}

.feston-insc-swal-panel__chips {
	padding: 0 1.2rem 1.05rem;
	gap: 0.5rem;
}

.feston-insc-swal-panel--music .feston-insc-swal-panel__chips.feston-insc-meta-chips {
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.feston-insc-swal-panel--music .feston-insc-swal-panel__note {
	max-width: 18rem;
	margin: 0.15rem 0 0;
	text-align: center;
	font-size: 0.82rem;
	line-height: 1.5;
	color: var(--feston-text-secondary);
}

.feston-insc-swal-panel .feston-insc-meta-chip {
	background: #fff;
	font-size: 0.8rem;
	padding: 0.44rem 0.78rem;
	box-shadow: 0 4px 14px rgba(10, 10, 10, 0.05);
}

/* ------------------------------------------------------------------ *
 * Bootstrap modal — padrao FestON inscricoes
 * ------------------------------------------------------------------ */
.feston-insc-modal .modal-content {
	border: 1px solid var(--feston-border);
	border-radius: 20px;
	box-shadow: 0 24px 48px rgba(10, 10, 10, 0.14);
	overflow: hidden;
}

.feston-insc-modal .modal-header {
	padding: 1.15rem 1.35rem;
	border-bottom: 1px solid var(--feston-border);
	background: #fff;
}

.feston-insc-modal .modal-title {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--feston-text);
}

.feston-insc-modal .modal-body {
	padding: 1.25rem 1.35rem;
	color: var(--feston-text-secondary);
	line-height: 1.55;
}

.feston-insc-modal .modal-body .modal-titulo {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--feston-text);
	margin-bottom: 0.75rem;
}

.feston-insc-modal .modal-footer {
	padding: 1rem 1.35rem 1.2rem;
	border-top: 1px solid var(--feston-border);
	background: #fafafa;
	gap: 0.65rem;
}

.feston-insc-modal__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border: none;
	border-radius: 999px;
	background: #f1f5f9;
	color: var(--feston-text-secondary);
	transition: background 0.15s ease;
}

.feston-insc-modal__close:hover {
	background: #e2e8f0;
	color: var(--feston-text);
}

.feston-insc-modal__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	width: 100%;
}

/* ------------------------------------------------------------------ */
/* Doacoes — inscricoes/doacoes                                       */
/* ------------------------------------------------------------------ */

.feston-insc-doacoes-kpi .card-body {
	padding: 1.1rem 1.15rem;
}

.feston-insc-doacoes-kpi__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: var(--feston-radius-sm);
	background: var(--feston-green-soft);
	color: #5a8f00;
	font-size: 1.15rem;
	margin-bottom: 0.65rem;
}

.feston-insc-doacoes-kpi__label {
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--feston-text-secondary);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.feston-insc-doacoes-kpi__value {
	font-size: 1.65rem;
	font-weight: 800;
	line-height: 1.1;
	color: var(--feston-text);
}

.feston-insc-doacoes-kpi--ok .feston-insc-doacoes-kpi__icon {
	background: rgba(37, 99, 235, 0.12);
	color: #2563eb;
}

.feston-insc-doacoes-kpi--minor .feston-insc-doacoes-kpi__icon {
	background: rgba(124, 58, 237, 0.12);
	color: #7c3aed;
}

.feston-insc-doacoes-kpi--total .feston-insc-doacoes-kpi__icon {
	background: rgba(234, 88, 12, 0.12);
	color: #ea580c;
}

.feston-insc-doacoes-alert {
	border-left: 4px solid var(--feston-green);
	box-shadow: 0 12px 36px rgba(10, 10, 10, 0.05);
}

.feston-insc-doacoes-alert--cred {
	border-left-color: #2563eb;
}

.feston-insc-doacoes-alert__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: var(--feston-radius-md);
	background: var(--feston-green-soft);
	color: #5a8f00;
	font-size: 1.35rem;
	flex-shrink: 0;
}

.feston-insc-doacoes-alert--cred .feston-insc-doacoes-alert__icon {
	background: rgba(37, 99, 235, 0.12);
	color: #2563eb;
}

.feston-insc-doacoes-alert__dates {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
}

.feston-insc-doacoes-alert__date {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 8rem;
}

.feston-insc-doacoes-alert__date-label {
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--feston-text-secondary);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.feston-insc-doacoes-section__eyebrow {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #5a8f00;
}

.feston-insc-doacoes-section.feston-grupos-table-card {
	overflow: hidden;
	border-radius: 20px !important;
	box-shadow: 0 12px 36px rgba(10, 10, 10, 0.05);
}

.feston-insc-doacoes-list-item {
	grid-template-columns: minmax(0, 1fr) auto;
}

.feston-insc-doacoes-list-item .feston-grupos-list-item__meta {
	align-items: flex-end;
}

.feston-insc-doacoes-subtotal {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem;
	padding: 0.9rem 1.15rem;
	border-top: 1px solid rgba(10, 10, 10, 0.06);
	background: linear-gradient(145deg, rgba(153, 255, 0, 0.14) 0%, rgba(153, 255, 0, 0.05) 100%);
}

.feston-insc-doacoes-subtotal__label {
	font-size: 0.82rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--feston-text-secondary);
}

.feston-insc-doacoes-subtotal__value {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.65rem;
	border-radius: 50%;
	background: #0a0a0a;
	color: var(--feston-green, #99ff00);
	font-size: 1rem;
	font-weight: 800;
}

.feston-insc-doacoes-resumo.feston-grupos-table-card {
	overflow: hidden;
	border-radius: 20px !important;
	box-shadow: 0 12px 36px rgba(10, 10, 10, 0.05);
}

.feston-insc-doacoes-subtotal--grand {
	background: linear-gradient(145deg, rgba(153, 255, 0, 0.22) 0%, rgba(153, 255, 0, 0.08) 100%);
}

.feston-insc-doacoes-subtotal--grand .feston-insc-doacoes-subtotal__value {
	min-width: 2.75rem;
	height: 2.75rem;
	font-size: 1.1rem;
}

@media (max-width: 767.98px) {
	.feston-insc-doacoes-list-item {
		grid-template-columns: 1fr;
	}

	.feston-insc-doacoes-list-item .feston-grupos-list-item__meta {
		align-items: flex-start;
	}
}

/* ------------------------------------------------------------------ */
/* Status — inscricoes/status                                         */
/* ------------------------------------------------------------------ */

.feston-insc-status-overview .feston-insc-status-overview__body {
	padding: 1.1rem 1.15rem 1.15rem;
	background: #fafaf9;
}

.feston-insc-status-overview .feston-coreografias-resumo__dims {
	margin-bottom: 0;
}

.feston-insc-status-dim--seletiva .feston-insc-status-dim__icon {
	background: rgba(153, 255, 0, 0.22);
	color: #3f6d00;
}

.feston-insc-status-dim--payment .feston-insc-status-dim__icon {
	background: rgba(234, 88, 12, 0.14);
	color: #c2410c;
}

.feston-insc-status-dim--autz .feston-insc-status-dim__icon {
	background: rgba(37, 99, 235, 0.12);
	color: #1d4ed8;
}

.feston-insc-status-dim--event .feston-insc-status-dim__icon {
	background: rgba(124, 58, 237, 0.12);
	color: #6d28d9;
}

.feston-insc-status-section {
	overflow: hidden;
	box-shadow: 0 12px 36px rgba(10, 10, 10, 0.05);
}

.feston-insc-status-section__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.25rem 1.35rem;
	border-bottom: 1px solid var(--feston-border);
	background: linear-gradient(180deg, rgba(153, 255, 0, 0.06) 0%, rgba(255, 255, 255, 0) 100%);
}

.feston-insc-status-section__head--inline {
	border-bottom: none;
	padding: 0;
	background: none;
}

.feston-insc-status-section__eyebrow {
	margin: 0 0 0.25rem;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #5a8f00;
}

.feston-insc-status-section__title {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--feston-text);
}

.feston-insc-status-badge,
.feston-insc-status-payment {
	display: inline-flex;
	align-items: center;
	padding: 0.45rem 0.9rem;
	border-radius: var(--feston-radius-pill);
	font-size: 0.82rem;
	font-weight: 800;
}

.feston-insc-status-badge.is-em_analise,
.feston-insc-status-payment.is-pending,
.feston-insc-status-payment.is-in_process {
	background: rgba(245, 158, 11, 0.14);
	color: #a16207;
}

.feston-insc-status-badge.is-aprovado,
.feston-insc-status-payment.is-approved {
	background: rgba(34, 197, 94, 0.14);
	color: #15803d;
}

.feston-insc-status-badge.is-reprovado,
.feston-insc-status-payment.is-cancelled,
.feston-insc-status-payment.is-rejected {
	background: rgba(239, 68, 68, 0.12);
	color: #b91c1c;
}

.feston-insc-status-tiles {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.85rem;
	padding: 1.1rem 1.35rem 0;
}

/* Seletiva — painel refinado */
.feston-insc-seletiva-panel {
	overflow: hidden;
}

.feston-insc-seletiva-panel__hero {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.35rem 1.35rem 1rem;
	border-bottom: 1px solid var(--feston-border);
	background:
		linear-gradient(135deg, rgba(153, 255, 0, 0.08) 0%, rgba(255, 255, 255, 0) 55%),
		#fff;
}

.feston-insc-seletiva-panel__intro {
	display: flex;
	align-items: center;
	gap: 0.85rem;
}

.feston-insc-seletiva-panel__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: var(--feston-radius-md);
	background: linear-gradient(145deg, #0a0a0a 0%, #2d2d2d 100%);
	color: var(--feston-green);
	font-size: 1.25rem;
	box-shadow: 0 10px 24px rgba(10, 10, 10, 0.12);
}

.feston-insc-seletiva-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.75rem;
	padding: 1rem 1.35rem 1.25rem;
	border-bottom: 1px solid var(--feston-border);
	background: rgba(10, 10, 10, 0.015);
}

.feston-insc-seletiva-stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	padding: 1rem 0.75rem;
	border-radius: var(--feston-radius-md);
	background: var(--feston-surface);
	border: 1px solid var(--feston-border);
	text-align: center;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.feston-insc-seletiva-stat:hover {
	border-color: rgba(153, 255, 0, 0.45);
	box-shadow: 0 6px 18px rgba(10, 10, 10, 0.04);
}

.feston-insc-seletiva-stat__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: var(--feston-radius-sm);
	background: rgba(10, 10, 10, 0.05);
	color: var(--feston-text);
	font-size: 1.15rem;
	margin-bottom: 0.15rem;
}

.feston-insc-seletiva-stat__val {
	font-size: 1.65rem;
	font-weight: 800;
	line-height: 1;
	color: var(--feston-text);
}

.feston-insc-seletiva-stat__lbl {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--feston-text-secondary);
}

.feston-insc-seletiva-stat--ok .feston-insc-seletiva-stat__icon {
	background: rgba(21, 128, 61, 0.12);
	color: #15803d;
}

.feston-insc-seletiva-stat--ok .feston-insc-seletiva-stat__val { color: #15803d; }

.feston-insc-seletiva-stat--warn .feston-insc-seletiva-stat__icon {
	background: rgba(161, 98, 7, 0.12);
	color: #a16207;
}

.feston-insc-seletiva-stat--warn .feston-insc-seletiva-stat__val { color: #a16207; }

.feston-insc-seletiva-stat--muted .feston-insc-seletiva-stat__icon {
	background: rgba(100, 116, 139, 0.12);
	color: #64748b;
}

.feston-insc-seletiva-stat--muted .feston-insc-seletiva-stat__val { color: #64748b; }

.feston-insc-seletiva-alert {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 1rem 1.35rem 0;
	padding: 1.1rem 1.15rem;
	border-radius: var(--feston-radius-md);
	background: #fff;
	border: 1px solid var(--feston-border);
	border-left-width: 4px;
	box-shadow: 0 8px 24px rgba(10, 10, 10, 0.04);
}

.feston-insc-seletiva-alert.is-empty {
	margin-top: 0.75rem;
	margin-bottom: 1rem;
}

.feston-insc-seletiva-alert__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: var(--feston-radius-md);
	flex-shrink: 0;
	font-size: 1.35rem;
}

.feston-insc-seletiva-alert__content {
	min-width: 0;
}

.feston-insc-seletiva-alert__eyebrow {
	margin: 0 0 0.25rem;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.feston-insc-seletiva-alert__title {
	display: block;
	margin: 0 0 0.35rem;
	font-size: 0.98rem;
	font-weight: 800;
	line-height: 1.35;
	color: var(--feston-text);
}

.feston-insc-seletiva-alert__text {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.5;
	color: var(--feston-text-secondary);
}

.feston-insc-seletiva-alert.is-pending {
	border-left-color: #f59e0b;
	background: linear-gradient(90deg, rgba(245, 158, 11, 0.07) 0%, #fff 32%);
}

.feston-insc-seletiva-alert.is-pending .feston-insc-seletiva-alert__icon {
	background: rgba(245, 158, 11, 0.14);
	color: #b45309;
}

.feston-insc-seletiva-alert.is-pending .feston-insc-seletiva-alert__eyebrow {
	color: #b45309;
}

.feston-insc-seletiva-alert.is-success {
	border-left-color: #22c55e;
	background: linear-gradient(90deg, rgba(34, 197, 94, 0.07) 0%, #fff 32%);
}

.feston-insc-seletiva-alert.is-success .feston-insc-seletiva-alert__icon {
	background: rgba(34, 197, 94, 0.14);
	color: #15803d;
}

.feston-insc-seletiva-alert.is-success .feston-insc-seletiva-alert__eyebrow {
	color: #15803d;
}

.feston-insc-seletiva-alert.is-danger {
	border-left-color: #ef4444;
	background: linear-gradient(90deg, rgba(239, 68, 68, 0.06) 0%, #fff 32%);
}

.feston-insc-seletiva-alert.is-danger .feston-insc-seletiva-alert__icon {
	background: rgba(239, 68, 68, 0.12);
	color: #b91c1c;
}

.feston-insc-seletiva-alert.is-danger .feston-insc-seletiva-alert__eyebrow {
	color: #b91c1c;
}

.feston-insc-seletiva-list {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin: 0.75rem 1.35rem 1.25rem;
}

.feston-insc-seletiva-item {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	padding: 1rem 1.1rem;
	border-radius: var(--feston-radius-md);
	background: var(--feston-surface);
	border: 1px solid var(--feston-border);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.feston-insc-seletiva-item:hover {
	border-color: rgba(153, 255, 0, 0.45);
	box-shadow: 0 8px 24px rgba(10, 10, 10, 0.05);
}

.feston-insc-seletiva-item__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.85rem 1rem;
}

.feston-insc-seletiva-item__identity {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
	flex: 1 1 16rem;
	min-width: 0;
}

.feston-insc-seletiva-item__title-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.65rem;
}

.feston-insc-seletiva-item__thumb {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: var(--feston-radius-md);
	flex-shrink: 0;
	background: var(--feston-green-soft);
	color: #5a8f00;
	font-size: 1.15rem;
	border: 1px solid rgba(90, 143, 0, 0.12);
}

.feston-insc-seletiva-item__title {
	margin: 0;
	font-size: 1.02rem;
	font-weight: 800;
	line-height: 1.25;
	color: var(--feston-text);
	letter-spacing: -0.02em;
}

.feston-insc-seletiva-item__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-top: 0.45rem;
}

.feston-insc-seletiva-item__tags span {
	display: inline-flex;
	align-items: center;
	padding: 0.18rem 0.55rem;
	border-radius: var(--feston-radius-pill);
	background: rgba(10, 10, 10, 0.04);
	border: 1px solid var(--feston-border);
	font-size: 0.74rem;
	font-weight: 600;
	color: var(--feston-text-secondary);
}

.feston-insc-seletiva-item__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 0.65rem;
	padding-top: 0.15rem;
	border-top: 1px dashed rgba(10, 10, 10, 0.08);
}

.feston-insc-seletiva-meta {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--feston-text-secondary);
}

.feston-insc-seletiva-meta i {
	font-size: 0.95rem;
	color: #64748b;
}

.feston-insc-seletiva-meta.is-ok {
	color: #15803d;
}

.feston-insc-seletiva-meta.is-ok i {
	color: #15803d;
}

.feston-insc-seletiva-meta.is-pending {
	color: #a16207;
}

.feston-insc-seletiva-meta.is-pending i {
	color: #a16207;
}

.feston-insc-seletiva-meta.is-muted {
	opacity: 0.72;
}

.feston-insc-seletiva-item__link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.45rem 0.85rem;
	border-radius: var(--feston-radius-pill);
	background: var(--feston-text);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 700;
	text-decoration: none;
	flex-shrink: 0;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.feston-insc-seletiva-item__link:hover {
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(10, 10, 10, 0.14);
}

.feston-insc-seletiva-item__extra {
	padding: 0.85rem 1rem;
	border-radius: var(--feston-radius-sm);
	background: rgba(10, 10, 10, 0.02);
	border: 1px solid var(--feston-border);
}

.feston-insc-seletiva-item__extra.is-warning {
	background: rgba(245, 158, 11, 0.06);
	border-color: rgba(245, 158, 11, 0.16);
}

.feston-insc-seletiva-item__extra strong {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	margin-bottom: 0.35rem;
	font-size: 0.88rem;
}

.feston-insc-seletiva-item__extra p,
.feston-insc-seletiva-item__extra ul {
	margin: 0;
	font-size: 0.86rem;
	line-height: 1.5;
	color: var(--feston-text-secondary);
}

.feston-insc-seletiva-item__extra ul {
	padding-left: 1.1rem;
}

.feston-insc-seletiva-item__deadline {
	margin-top: 0.45rem;
	font-size: 0.8rem;
	font-weight: 700;
	color: #a16207;
}

.feston-insc-status-tile {
	padding: 0.9rem 1rem;
	border-radius: var(--feston-radius-sm);
	background: var(--feston-surface);
	border: 1px solid var(--feston-border);
}

.feston-insc-status-tile span {
	display: block;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--feston-text-secondary);
}

.feston-insc-status-tile strong {
	display: block;
	margin-top: 0.35rem;
	font-size: 1.25rem;
	color: var(--feston-text);
}

.feston-insc-status-note {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
	margin: 1.1rem 1.35rem;
	padding: 1rem 1.1rem;
	border-radius: var(--feston-radius-md);
}

.feston-insc-status-note--compact {
	margin: 0.85rem 0 0;
}

.feston-insc-status-note i {
	font-size: 1.35rem;
	flex-shrink: 0;
	margin-top: 0.1rem;
}

.feston-insc-status-note.is-warning {
	background: rgba(245, 158, 11, 0.1);
	border: 1px solid rgba(245, 158, 11, 0.22);
}

.feston-insc-status-note.is-success {
	background: rgba(34, 197, 94, 0.1);
	border: 1px solid rgba(34, 197, 94, 0.22);
}

.feston-insc-status-note.is-danger {
	background: rgba(239, 68, 68, 0.08);
	border: 1px solid rgba(239, 68, 68, 0.18);
}

.feston-insc-status-note strong {
	display: block;
	margin-bottom: 0.25rem;
	color: var(--feston-text);
}

.feston-insc-status-note p,
.feston-insc-status-note ul {
	margin: 0;
	color: var(--feston-text-secondary);
	line-height: 1.55;
}

.feston-insc-status-deadline {
	margin-top: 0.5rem;
	font-weight: 700;
	color: #a16207;
}

.feston-insc-status-selection-list {
	display: grid;
	gap: 0.85rem;
	padding: 1.1rem 1.35rem 1.35rem;
}

.feston-insc-status-selection-card {
	padding: 1rem 1.1rem;
	border-radius: var(--feston-radius-md);
	background: var(--feston-surface);
	border: 1px solid var(--feston-border);
}

.feston-insc-status-selection-card__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}

.feston-insc-status-selection-card__head h3 {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 800;
}

.feston-insc-status-selection-card__head p {
	margin: 0.25rem 0 0;
	font-size: 0.86rem;
	color: var(--feston-text-secondary);
}

.feston-insc-status-chip {
	display: inline-flex;
	align-items: center;
	padding: 0.35rem 0.75rem;
	border-radius: var(--feston-radius-pill);
	font-size: 0.78rem;
	font-weight: 800;
}

.feston-insc-status-chip.is-success { background: rgba(34, 197, 94, 0.14); color: #15803d; }
.feston-insc-status-chip.is-warning { background: rgba(245, 158, 11, 0.14); color: #a16207; }
.feston-insc-status-chip.is-primary,
.feston-insc-status-chip.is-info { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.feston-insc-status-chip.is-danger { background: rgba(239, 68, 68, 0.12); color: #b91c1c; }
.feston-insc-status-chip.is-muted { background: rgba(148, 163, 184, 0.14); color: #475569; }

.feston-insc-status-selection-card__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.65rem;
	margin-top: 0.85rem;
}

.feston-insc-status-selection-card__grid div {
	padding: 0.7rem 0.8rem;
	border-radius: var(--feston-radius-sm);
	background: #fff;
	border: 1px solid var(--feston-border);
}

.feston-insc-status-selection-card__grid span {
	display: block;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--feston-text-secondary);
}

.feston-insc-status-selection-card__grid strong {
	display: block;
	margin-top: 0.2rem;
	font-size: 0.88rem;
}

.feston-insc-status-selection-card__links {
	margin-top: 0.75rem;
}

.feston-insc-status-payment-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: 1rem;
}

.feston-insc-status-ref-card,
.feston-insc-status-payment-summary {
	padding: 1.1rem 1.15rem;
	border-radius: var(--feston-radius-md);
	background: var(--feston-surface);
	border: 1px solid var(--feston-border);
}

.feston-insc-status-ref-card__label {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--feston-text-secondary);
}

.feston-insc-status-ref-card__code {
	margin-top: 0.35rem;
	font-size: 1.2rem;
	font-weight: 800;
	word-break: break-all;
	color: var(--feston-text);
}

.feston-insc-status-ref-card__hint {
	margin: 0.75rem 0 0;
	font-size: 0.84rem;
	color: var(--feston-text-secondary);
}

.feston-insc-status-payment-summary__total {
	font-size: 2rem;
	font-weight: 800;
	line-height: 1.1;
	color: var(--feston-text);
}

.feston-insc-status-payment-summary__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	margin-top: 0.85rem;
}

.feston-insc-status-payment-summary__grid div {
	padding: 0.75rem 0.85rem;
	border-radius: var(--feston-radius-sm);
	background: #fff;
	border: 1px solid var(--feston-border);
}

.feston-insc-status-payment-summary__grid span {
	display: block;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--feston-text-secondary);
}

.feston-insc-status-payment-summary__grid strong {
	display: block;
	margin-top: 0.2rem;
}

.feston-insc-status-bank {
	display: grid;
	gap: 0.55rem;
	margin-top: 0.85rem;
}

.feston-insc-status-bank div {
	padding: 0.7rem 0.8rem;
	border-radius: var(--feston-radius-sm);
	background: #fff;
	border: 1px solid var(--feston-border);
}

.feston-insc-status-bank span {
	display: block;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--feston-text-secondary);
}

.feston-insc-status-bank strong {
	display: block;
	margin-top: 0.15rem;
}

.feston-insc-status-donation-panel {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.feston-insc-status-donation-panel__hero {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem 1.5rem;
	padding: 1.15rem 1.25rem;
	border-radius: var(--feston-radius-lg);
	background: linear-gradient(135deg, rgba(153, 255, 0, 0.12) 0%, rgba(255, 255, 255, 0.95) 58%);
	border: 1px solid rgba(153, 255, 0, 0.35);
}

.feston-insc-status-donation-panel__intro {
	display: flex;
	align-items: flex-start;
	gap: 0.9rem;
	flex: 1 1 18rem;
	min-width: 0;
}

.feston-insc-status-donation-panel__icon {
	flex-shrink: 0;
	width: 3rem;
	height: 3rem;
	border-radius: var(--feston-radius-md);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--feston-green);
	color: #0a0a0a;
	font-size: 1.45rem;
}

.feston-insc-status-donation-panel__desc {
	margin: 0;
	font-size: 0.88rem;
	color: var(--feston-text-secondary);
	line-height: 1.45;
}

.feston-insc-status-donation-panel__total {
	flex-shrink: 0;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 6.5rem;
	padding: 0.75rem 1rem;
	border-radius: var(--feston-radius-lg);
	background: var(--feston-green-soft);
	border: 2px solid var(--feston-green);
}

.feston-insc-status-donation-panel__total-val {
	font-size: 2rem;
	font-weight: 800;
	line-height: 1;
	color: var(--feston-text);
}

.feston-insc-status-donation-panel__total-lbl {
	margin-top: 0.15rem;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--feston-text-secondary);
}

.feston-insc-status-donation-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
}

.feston-insc-status-donation-stat {
	padding: 0.85rem 1rem;
	border-radius: var(--feston-radius-md);
	background: var(--feston-surface);
	border: 1px solid var(--feston-border);
	text-align: center;
}

.feston-insc-status-donation-stat__val {
	display: block;
	font-size: 1.35rem;
	font-weight: 800;
	line-height: 1.1;
	color: var(--feston-text);
}

.feston-insc-status-donation-stat__lbl {
	display: block;
	margin-top: 0.2rem;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--feston-text-secondary);
}

.feston-insc-status-donation-stat--accent {
	background: var(--feston-green-soft);
	border-color: rgba(153, 255, 0, 0.45);
}

.feston-insc-status-donation-list {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.feston-insc-status-donation-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 1rem 1.25rem;
	padding: 1rem 1.1rem;
	border-radius: var(--feston-radius-md);
	background: var(--feston-surface);
	border: 1px solid var(--feston-border);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.feston-insc-status-donation-item:hover {
	border-color: rgba(153, 255, 0, 0.55);
	box-shadow: 0 8px 24px rgba(10, 10, 10, 0.05);
}

.feston-insc-status-donation-item__identity {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
	min-width: 0;
}

.feston-insc-status-donation-item__thumb {
	flex-shrink: 0;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: var(--feston-radius-sm);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(10, 10, 10, 0.04);
	border: 1px solid var(--feston-border);
	font-size: 1.25rem;
	color: #5a8f00;
}

.feston-insc-status-donation-item__title {
	margin: 0;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.25;
}

.feston-insc-status-donation-item__descr {
	margin: 0.3rem 0 0;
	font-size: 0.88rem;
	color: var(--feston-text-secondary);
	line-height: 1.4;
}

.feston-insc-status-donation-item__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: 0.55rem;
}

.feston-insc-status-donation-item__tags span {
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.55rem;
	border-radius: var(--feston-radius-pill);
	background: rgba(10, 10, 10, 0.04);
	border: 1px solid var(--feston-border);
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--feston-text-secondary);
}

.feston-insc-status-donation-item__aside {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.feston-insc-status-donation-item__qty {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 4.5rem;
	padding: 0.55rem 0.75rem;
	border-radius: var(--feston-radius-md);
	background: var(--feston-green-soft);
	border: 1px solid var(--feston-green);
}

.feston-insc-status-donation-item__qty-val {
	font-size: 1.35rem;
	font-weight: 800;
	line-height: 1;
	color: var(--feston-text);
}

.feston-insc-status-donation-item__qty-lbl {
	margin-top: 0.1rem;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--feston-text-secondary);
}

.feston-insc-status-donation-panel__foot {
	display: flex;
	justify-content: flex-end;
	padding-top: 0.15rem;
}

.feston-insc-status-donation-panel__link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.55rem 0.95rem;
	border-radius: var(--feston-radius-pill);
	background: #0a0a0a;
	color: #fff;
	font-size: 0.82rem;
	font-weight: 700;
	text-decoration: none;
	transition: opacity 0.15s ease, transform 0.15s ease;
}

.feston-insc-status-donation-panel__link:hover {
	color: #fff;
	opacity: 0.92;
	transform: translateY(-1px);
}

.feston-insc-status-autz-panel__hero {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem 1.5rem;
	padding: 1.15rem 1.35rem;
	border-bottom: 1px solid var(--feston-border);
	background: linear-gradient(135deg, rgba(153, 255, 0, 0.08) 0%, rgba(255, 255, 255, 0.95) 58%);
}

.feston-insc-status-autz-panel__intro {
	display: flex;
	align-items: flex-start;
	gap: 0.9rem;
	flex: 1 1 18rem;
	min-width: 0;
}

.feston-insc-status-autz-panel__icon {
	flex-shrink: 0;
	width: 3rem;
	height: 3rem;
	border-radius: var(--feston-radius-md);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--feston-green);
	color: #0a0a0a;
	font-size: 1.45rem;
}

.feston-insc-status-autz-panel__desc {
	margin: 0;
	font-size: 0.88rem;
	color: var(--feston-text-secondary);
	line-height: 1.45;
}

.feston-insc-status-autz-panel__summary {
	flex-shrink: 0;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 6rem;
	padding: 0.65rem 0.95rem;
	border-radius: var(--feston-radius-lg);
	background: var(--feston-green-soft);
	border: 2px solid var(--feston-green);
}

.feston-insc-status-autz-panel__summary-val {
	font-size: 1.35rem;
	font-weight: 800;
	line-height: 1;
	color: var(--feston-text);
}

.feston-insc-status-autz-panel__summary-lbl {
	margin-top: 0.15rem;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--feston-text-secondary);
}

.feston-insc-status-autz-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
	padding: 1rem 1.35rem;
	border-bottom: 1px solid var(--feston-border);
	background: rgba(10, 10, 10, 0.015);
}

.feston-insc-status-autz-stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	padding: 0.95rem 0.75rem;
	border-radius: var(--feston-radius-md);
	background: var(--feston-surface);
	border: 1px solid var(--feston-border);
	text-align: center;
}

.feston-insc-status-autz-stat__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: var(--feston-radius-sm);
	background: rgba(10, 10, 10, 0.05);
	color: var(--feston-text);
	font-size: 1.15rem;
}

.feston-insc-status-autz-stat__val {
	font-size: 1.45rem;
	font-weight: 800;
	line-height: 1;
	color: var(--feston-text);
}

.feston-insc-status-autz-stat__lbl {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--feston-text-secondary);
}

.feston-insc-status-autz-stat--ok .feston-insc-status-autz-stat__icon {
	background: rgba(21, 128, 61, 0.12);
	color: #15803d;
}

.feston-insc-status-autz-stat--ok .feston-insc-status-autz-stat__val { color: #15803d; }

.feston-insc-status-autz-stat--warn .feston-insc-status-autz-stat__icon {
	background: rgba(161, 98, 7, 0.12);
	color: #a16207;
}

.feston-insc-status-autz-stat--warn .feston-insc-status-autz-stat__val { color: #a16207; }

.feston-insc-status-autz-list {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 1rem 1.35rem 1.25rem;
}

.feston-insc-status-autz-card {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.1rem;
	border-radius: var(--feston-radius-md);
	background: var(--feston-surface);
	border: 1px solid var(--feston-border);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.feston-insc-status-autz-card:hover {
	border-color: rgba(153, 255, 0, 0.45);
	box-shadow: 0 8px 24px rgba(10, 10, 10, 0.05);
}

.feston-insc-status-autz-card.is-complete {
	background: rgba(34, 197, 94, 0.04);
	border-color: rgba(34, 197, 94, 0.18);
}

.feston-insc-status-autz-card__identity {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	flex: 1 1 16rem;
	min-width: 0;
}

.feston-insc-status-autz-avatar {
	width: 2.75rem;
	height: 2.75rem;
	border-radius: var(--feston-radius-pill);
	background-size: cover;
	background-position: center;
	background-color: var(--feston-green-soft);
	flex-shrink: 0;
	border: 2px solid #fff;
	box-shadow: 0 0 0 1px var(--feston-border);
}

.feston-insc-status-autz-card__name {
	margin: 0;
	font-size: 0.98rem;
	font-weight: 800;
	line-height: 1.25;
	color: var(--feston-text);
}

.feston-insc-status-autz-card__progress-label {
	margin: 0.25rem 0 0.45rem;
	font-size: 0.8rem;
	color: var(--feston-text-secondary);
}

.feston-insc-status-autz-card__bar {
	height: 0.45rem;
	border-radius: var(--feston-radius-pill);
	background: rgba(10, 10, 10, 0.06);
	overflow: hidden;
}

.feston-insc-status-autz-card__bar span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #5a8f00 0%, var(--feston-green) 100%);
	transition: width 0.2s ease;
}

.feston-insc-status-autz-card.is-complete .feston-insc-status-autz-card__bar span {
	background: linear-gradient(90deg, #15803d 0%, #22c55e 100%);
}

.feston-insc-status-autz-card__aside {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-shrink: 0;
	min-width: 0;
}

.feston-insc-status-autz-card__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.55rem;
	min-width: 0;
}

.feston-insc-status-autz-share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.4rem;
}

.feston-insc-status-autz-share__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.38rem 0.7rem;
	border: 1px solid rgba(10, 10, 10, 0.08);
	border-radius: var(--feston-radius-pill);
	background: #fff;
	color: var(--feston-text, #0a0a0a);
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.feston-insc-status-autz-share__btn:hover:not(:disabled) {
	transform: translateY(-1px);
	border-color: rgba(10, 10, 10, 0.14);
	box-shadow: 0 6px 14px rgba(10, 10, 10, 0.08);
}

.feston-insc-status-autz-share__btn:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

.feston-insc-status-autz-share__btn.is-loading {
	opacity: 0.7;
	pointer-events: none;
}

.feston-insc-status-autz-share__btn--whatsapp {
	border-color: rgba(37, 211, 102, 0.28);
	background: rgba(37, 211, 102, 0.08);
	color: #128c7e;
}

.feston-insc-status-autz-share__btn i {
	font-size: 0.95rem;
}

.feston-insc-status-autz-card__action {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.45rem 0.85rem;
	border-radius: var(--feston-radius-pill);
	background: var(--feston-text);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.feston-insc-status-autz-card__action:hover {
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(10, 10, 10, 0.14);
}

.feston-insc-status-autz-ok {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.4rem 0.75rem;
	border-radius: var(--feston-radius-pill);
	background: rgba(34, 197, 94, 0.12);
	color: #15803d;
	font-size: 0.78rem;
	font-weight: 700;
}

@media (max-width: 991.98px) {
	.feston-insc-status-tiles,
	.feston-insc-status-selection-card__grid,
	.feston-insc-status-payment-grid,
	.feston-insc-status-payment-summary__grid,
	.feston-insc-seletiva-stats,
	.feston-insc-status-donation-stats,
	.feston-insc-status-autz-stats {
		grid-template-columns: 1fr 1fr;
	}

	.feston-insc-seletiva-item__head {
		flex-direction: column;
		align-items: stretch;
	}

	.feston-insc-seletiva-item__link {
		justify-content: center;
		width: 100%;
	}

	.feston-insc-status-donation-item {
		grid-template-columns: 1fr;
	}

	.feston-insc-status-donation-item__aside {
		justify-content: flex-start;
	}

	.feston-insc-status-donation-panel__foot {
		justify-content: stretch;
	}

	.feston-insc-status-donation-panel__link {
		justify-content: center;
		width: 100%;
	}

	.feston-insc-status-autz-card {
		flex-direction: column;
		align-items: stretch;
	}

	.feston-insc-status-autz-card__aside {
		justify-content: stretch;
	}

	.feston-insc-status-autz-card__actions {
		align-items: stretch;
		width: 100%;
	}

	.feston-insc-status-autz-share {
		justify-content: flex-start;
	}

	.feston-insc-status-autz-card__action {
		justify-content: center;
		width: 100%;
	}
}

/* ------------------------------------------------------------------ *
 * Inscrições — Compliance (termos e autorizações)
 * ------------------------------------------------------------------ */
.feston-insc-compliance .feston-insc-page-head__title {
	max-width: 18ch;
}

.feston-insc-compliance-participant__hero {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.25rem;
	padding: 1.35rem 1.5rem 1rem;
	border-bottom: 1px solid var(--feston-border);
}

.feston-insc-compliance-participant__identity {
	display: flex;
	align-items: center;
	gap: 1rem;
	min-width: 0;
}

.feston-insc-compliance-participant__avatar {
	flex-shrink: 0;
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 999px;
	background-size: cover;
	background-position: center;
	background-color: var(--feston-green-soft);
	border: 2px solid rgba(90, 143, 0, 0.18);
}

.feston-insc-compliance-participant__eyebrow {
	margin: 0 0 0.2rem;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--feston-text-tertiary);
}

.feston-insc-compliance-participant__name {
	margin: 0 0 0.45rem;
	font-size: 1.35rem;
	font-weight: 800;
	line-height: 1.15;
	color: var(--feston-text);
}

.feston-insc-compliance-participant__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.feston-insc-compliance-participant__tag {
	display: inline-flex;
	align-items: center;
	padding: 0.18rem 0.55rem;
	border-radius: var(--feston-radius-pill);
	background: var(--feston-green-soft);
	color: #3f6212;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.feston-insc-compliance-participant__summary {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 5.5rem;
	padding: 0.65rem 0.85rem;
	border-radius: var(--feston-radius-lg);
	background: linear-gradient(135deg, rgba(90, 143, 0, 0.12), rgba(90, 143, 0, 0.04));
	border: 1px solid rgba(90, 143, 0, 0.14);
	text-align: center;
}

.feston-insc-compliance-participant__summary-val {
	font-size: 1.35rem;
	font-weight: 800;
	line-height: 1;
	color: #3f6212;
}

.feston-insc-compliance-participant__summary-lbl {
	margin-top: 0.2rem;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--feston-text-tertiary);
}

.feston-insc-compliance-participant__meta {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
	padding: 1rem 1.5rem;
	border-bottom: 1px solid var(--feston-border);
}

.feston-insc-compliance-participant__meta-item {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 0;
}

.feston-insc-compliance-participant__meta-label {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--feston-text-tertiary);
}

.feston-insc-compliance-participant__meta-value {
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--feston-text);
	word-break: break-word;
}

.feston-insc-compliance-participant__progress {
	padding: 1rem 1.5rem 1.25rem;
}

.feston-insc-compliance-participant__progress-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.55rem;
	font-size: 0.82rem;
	color: var(--feston-text-secondary);
}

.feston-insc-compliance-participant__progress-head strong {
	font-size: 0.95rem;
	color: #3f6212;
}

.feston-insc-compliance-participant__bar {
	height: 0.55rem;
	border-radius: 999px;
	background: rgba(10, 10, 10, 0.06);
	overflow: hidden;
}

.feston-insc-compliance-participant__bar span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #5a8f00, #7cb305);
	transition: width 0.35s ease;
}

.feston-insc-compliance-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
}

.feston-insc-compliance-stat .card-body {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 1.1rem 0.85rem;
}

.feston-insc-compliance-stat__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	margin-bottom: 0.55rem;
	border-radius: 999px;
	background: rgba(10, 10, 10, 0.05);
	color: var(--feston-text-secondary);
	font-size: 1.15rem;
}

.feston-insc-compliance-stat__val {
	font-size: 1.45rem;
	font-weight: 800;
	line-height: 1;
	color: var(--feston-text);
}

.feston-insc-compliance-stat__lbl {
	margin-top: 0.25rem;
	font-size: 0.74rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--feston-text-tertiary);
}

.feston-insc-compliance-stat--ok .feston-insc-compliance-stat__icon {
	background: rgba(21, 128, 61, 0.12);
	color: #15803d;
}

.feston-insc-compliance-stat--ok .feston-insc-compliance-stat__val {
	color: #15803d;
}

.feston-insc-compliance-stat--warn .feston-insc-compliance-stat__icon {
	background: rgba(161, 98, 7, 0.12);
	color: #a16207;
}

.feston-insc-compliance-stat--warn .feston-insc-compliance-stat__val {
	color: #a16207;
}

.feston-insc-compliance-empty__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	margin-bottom: 0.85rem;
	border-radius: 999px;
	background: rgba(10, 10, 10, 0.05);
	color: var(--feston-text-secondary);
	font-size: 1.5rem;
}

.feston-insc-compliance-group__head {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.25rem 1.5rem;
	border-bottom: 1px solid var(--feston-border);
}

.feston-insc-compliance-group__icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: var(--feston-radius-md);
	background: var(--feston-green-soft);
	color: #3f6212;
	font-size: 1.25rem;
}

.feston-insc-compliance-group__eyebrow {
	margin: 0 0 0.15rem;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--feston-text-tertiary);
}

.feston-insc-compliance-group__title {
	margin: 0 0 0.25rem;
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--feston-text);
}

.feston-insc-compliance-group__desc {
	margin: 0;
	font-size: 0.88rem;
	color: var(--feston-text-secondary);
}

.feston-insc-compliance-group__count {
	flex-shrink: 0;
	margin-left: auto;
	align-self: center;
	padding: 0.35rem 0.7rem;
	border-radius: var(--feston-radius-pill);
	background: rgba(10, 10, 10, 0.05);
	font-size: 0.74rem;
	font-weight: 700;
	color: var(--feston-text-secondary);
}

.feston-insc-compliance-list {
	display: flex;
	flex-direction: column;
}

.feston-insc-compliance-item {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 0.85rem;
	padding: 1rem 1.5rem;
	border-top: 1px solid var(--feston-border);
	background: var(--feston-surface-elevated);
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.feston-insc-compliance-item:first-child {
	border-top: 0;
}

.feston-insc-compliance-item:hover {
	background: rgba(90, 143, 0, 0.03);
}

.feston-insc-compliance-item.is-accepted {
	background: linear-gradient(90deg, rgba(21, 128, 61, 0.06), rgba(21, 128, 61, 0.02));
}

.feston-insc-compliance-item__check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: #cbd5e1;
	font-size: 1.65rem;
	line-height: 1;
	cursor: pointer;
}

.feston-insc-compliance-item.is-accepted .feston-insc-compliance-item__check {
	color: #15803d;
}

.feston-insc-compliance-item__body {
	min-width: 0;
	text-align: left;
}

.feston-insc-compliance-item__title {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: left;
	font-size: 0.98rem;
	font-weight: 700;
	color: var(--feston-text);
	cursor: pointer;
}

.feston-insc-compliance-item__title:hover {
	color: #3f6212;
}

.feston-insc-compliance-item__subtitle {
	margin: 0.2rem 0 0;
	font-size: 0.82rem;
	color: var(--feston-text-secondary);
}

.feston-insc-compliance-item__meta {
	margin-top: 0.45rem;
}

.feston-insc-compliance-item__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.22rem 0.6rem;
	border-radius: var(--feston-radius-pill);
	background: rgba(21, 128, 61, 0.12);
	color: #15803d;
	font-size: 0.74rem;
	font-weight: 700;
}

.feston-insc-compliance-item__badge--pending {
	background: rgba(161, 98, 7, 0.12);
	color: #a16207;
}

.feston-insc-compliance-item__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	border: 1px solid var(--feston-border);
	border-radius: 999px;
	background: #fff;
	color: var(--feston-text-secondary);
	font-size: 1.1rem;
	cursor: pointer;
	transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}

.feston-insc-compliance-item__action:hover {
	border-color: rgba(90, 143, 0, 0.35);
	color: #3f6212;
	background: var(--feston-green-soft);
}

.feston-insc-compliance-done,
.feston-insc-compliance-pending-note {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--feston-text-secondary);
}

.feston-insc-compliance-done {
	color: #15803d;
}

.feston-insc-compliance-modal-body {
	max-height: 70vh;
	overflow: auto;
}

.feston-insc-compliance-modal-body .modal-descricao {
	font-size: 0.95rem;
	line-height: 1.65;
	color: var(--feston-text);
}

.feston-insc-compliance-modal-body .modal-descricao p:last-child {
	margin-bottom: 0;
}

@media (max-width: 991.98px) {
	.feston-insc-compliance-participant__hero {
		flex-direction: column;
	}

	.feston-insc-compliance-participant__summary {
		align-self: flex-start;
		flex-direction: row;
		gap: 0.45rem;
		min-width: 0;
	}

	.feston-insc-compliance-participant__meta {
		grid-template-columns: 1fr;
	}

	.feston-insc-compliance-stats {
		grid-template-columns: 1fr;
	}

	.feston-insc-compliance-group__head {
		flex-wrap: wrap;
	}

	.feston-insc-compliance-group__count {
		margin-left: 0;
	}

	.feston-insc-compliance-done,
	.feston-insc-compliance-pending-note {
		justify-content: center;
		text-align: center;
	}
}

@media (max-width: 575.98px) {
	.feston-insc-compliance-item {
		grid-template-columns: auto 1fr;
	}

	.feston-insc-compliance-item__action {
		grid-column: 2;
		justify-self: end;
		margin-top: -0.35rem;
	}
}

/* ------------------------------------------------------------------ *
 * Cadastro de acesso — feston-signup-page
 * ------------------------------------------------------------------ */
.feston-signup-page__stack {
	max-width: 1240px;
	margin: 0 auto;
}

.feston-signup-page__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(360px, 0.88fr);
	gap: 1.5rem;
	align-items: start;
}

.feston-signup-page__event,
.feston-signup-page__form-card,
.feston-signup-page__note {
	border-radius: 22px !important;
	box-shadow: 0 12px 40px rgba(10, 10, 10, 0.06);
	overflow: hidden;
}

.feston-signup-page__cover {
	min-height: 320px;
	padding: 1.75rem;
	display: flex;
	align-items: flex-end;
	background-size: cover;
	background-position: center;
}

.feston-signup-page__cover-copy {
	display: grid;
	gap: 1rem;
	max-width: 36rem;
	color: #fff;
}

.feston-signup-page__cover-top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem;
}

.feston-signup-page__badge,
.feston-signup-page__kicker,
.feston-signup-page__event-eyebrow,
.feston-signup-page__form-eyebrow {
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.12em;
}

.feston-signup-page__badge {
	padding: 0.45rem 0.8rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.16);
	backdrop-filter: blur(8px);
}

.feston-signup-page__badge.is-open {
	background: rgba(153, 255, 0, 0.22);
	color: #f7ffe8;
}

.feston-signup-page__badge.is-closed {
	background: rgba(120, 120, 120, 0.35);
}

.feston-signup-page__kicker {
	color: rgba(255, 255, 255, 0.82);
}

.feston-signup-page__event-title {
	margin: 0;
	font-size: clamp(2rem, 3.4vw, 3rem);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -0.04em;
}

.feston-signup-page__event-lead {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.9);
}

.feston-signup-page__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.feston-signup-page__meta-pill {
	min-width: 120px;
	padding: 0.85rem 0.95rem;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(10px);
}

.feston-signup-page__meta-pill span {
	display: block;
	margin-bottom: 0.2rem;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: rgba(255, 255, 255, 0.72);
}

.feston-signup-page__meta-pill strong {
	display: block;
	font-size: 0.9rem;
	font-weight: 800;
}

.feston-signup-page__event-body {
	padding: 1.5rem 1.75rem 1.75rem;
	display: grid;
	gap: 0.85rem;
}

.feston-signup-page__event-eyebrow {
	margin: 0;
	color: var(--feston-green);
}

.feston-signup-page__event-heading,
.feston-signup-page__form-title {
	margin: 0;
	font-size: clamp(1.45rem, 2.2vw, 1.85rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.03em;
	color: var(--feston-text);
}

.feston-signup-page__checklist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.65rem;
}

.feston-signup-page__checklist li {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	font-size: 0.92rem;
	line-height: 1.55;
	color: var(--feston-text-secondary);
}

.feston-signup-page__checklist i {
	margin-top: 0.15rem;
	color: var(--feston-green);
	font-size: 1.05rem;
}

.feston-signup-page__event-link,
.feston-signup-page__support-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.88rem;
	font-weight: 800;
	color: var(--feston-text);
	text-decoration: none;
}

.feston-signup-page__event-link:hover,
.feston-signup-page__support-link:hover {
	color: var(--feston-green-hover);
}

.feston-signup-page__auth {
	display: grid;
	gap: 1rem;
}

.feston-signup-page__form-head {
	display: grid;
	gap: 0.45rem;
	margin-bottom: 1.25rem;
}

.feston-signup-page__form-eyebrow {
	margin: 0;
	color: var(--feston-green);
}

.feston-signup-page__form-lead {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.65;
	color: var(--feston-text-secondary);
}

.feston-signup-page__alert {
	margin-bottom: 1rem;
	padding: 0.95rem 1rem;
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 0.75rem;
	border-radius: 14px;
	background: #fff1ee;
	border: 1px solid rgba(237, 92, 71, 0.16);
}

.feston-signup-page__alert strong {
	display: block;
	margin-bottom: 0.2rem;
	font-size: 0.9rem;
	font-weight: 800;
	color: #aa402d;
}

.feston-signup-page__alert p {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.55;
	color: var(--feston-text-secondary);
}

.feston-signup-page__alert-icon {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(237, 92, 71, 0.12);
	color: #de5a43;
	font-size: 1.1rem;
}

.feston-signup-page__steps {
	list-style: none;
	margin: 0 0 1.25rem;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.5rem;
}

.feston-signup-page__steps li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
	padding: 0.55rem 0.35rem;
	border-radius: 12px;
	background: rgba(10, 10, 10, 0.03);
	color: var(--feston-text-tertiary);
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	transition: background 0.2s var(--feston-ease), color 0.2s var(--feston-ease);
}

.feston-signup-page__steps li.is-active {
	background: rgba(153, 255, 0, 0.14);
	color: var(--feston-text);
}

.feston-signup-page__steps li.is-done .feston-signup-page__step-num {
	background: var(--feston-green);
	color: #0a0a0a;
}

.feston-signup-page__step-num {
	width: 1.55rem;
	height: 1.55rem;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(10, 10, 10, 0.08);
	font-size: 0.72rem;
	font-weight: 800;
}

.feston-signup-page__form {
	display: grid;
	gap: 1.15rem;
}

.feston-signup-page__section {
	display: grid;
	gap: 0.55rem;
	padding: 1rem;
	border-radius: 16px;
	background: rgba(10, 10, 10, 0.02);
	border: 1px solid rgba(10, 10, 10, 0.05);
}

.feston-signup-page__section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.15rem;
}

.feston-signup-page__section-title {
	margin: 0;
	font-size: 0.92rem;
	font-weight: 800;
	color: var(--feston-text);
}

.feston-signup-page__status {
	padding: 0.25rem 0.55rem;
	border-radius: 999px;
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.feston-signup-page__status.is-master,
.feston-signup-page__status.is-loading {
	background: rgba(153, 255, 0, 0.18);
	color: #2d5a00;
}

.feston-signup-page__status.is-manual {
	background: rgba(255, 178, 33, 0.18);
	color: #8a5a00;
}

.feston-signup-page__label {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--feston-text-secondary);
}

.feston-signup-page__input-wrap {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	align-items: center;
	border-radius: 14px;
	background: #fff;
	border: 1px solid rgba(10, 10, 10, 0.08);
	transition: border-color 0.2s var(--feston-ease), box-shadow 0.2s var(--feston-ease);
}

.feston-signup-page__input-wrap:focus-within {
	border-color: rgba(153, 255, 0, 0.55);
	box-shadow: 0 0 0 3px rgba(153, 255, 0, 0.14);
}

.feston-signup-page__input-wrap--password {
	grid-template-columns: 42px minmax(0, 1fr) auto;
}

.feston-signup-page__input-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--feston-green);
	font-size: 1.05rem;
}

.feston-signup-page__input {
	width: 100%;
	padding: 0.9rem 0.75rem 0.9rem 0;
	border: 0;
	outline: none;
	background: transparent;
	color: var(--feston-text);
	font-size: 0.95rem;
}

.feston-signup-page__input.is-locked {
	cursor: not-allowed;
}

.feston-signup-page__input-wrap:has(.is-locked) {
	background: #f3f3f1;
}

.feston-signup-page__input::placeholder {
	color: var(--feston-text-tertiary);
}

.feston-signup-page__toggle {
	border: 0;
	background: transparent;
	padding: 0 0.85rem;
	font-size: 0.78rem;
	font-weight: 800;
	color: var(--feston-text-secondary);
	cursor: pointer;
}

.feston-signup-page__toggle:hover {
	color: var(--feston-text);
}

.feston-signup-page__hint {
	margin: 0;
	font-size: 0.82rem;
	line-height: 1.55;
}

.feston-signup-page__hint.is-muted {
	color: var(--feston-text-tertiary);
}

.feston-signup-page__hint.is-ok {
	color: #2f7a45;
	font-weight: 600;
}

.feston-signup-page__hint.is-warn {
	color: #a86a1d;
	font-weight: 600;
}

.feston-signup-page__support {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.85rem 1rem;
	border-radius: 14px;
	background: rgba(153, 255, 0, 0.08);
	border: 1px solid rgba(153, 255, 0, 0.18);
}

.feston-signup-page__support-item {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.84rem;
	line-height: 1.55;
	color: var(--feston-text-secondary);
}

.feston-signup-page__support-item i {
	margin-top: 0.1rem;
	color: var(--feston-green);
}

.feston-signup-page__actions {
	display: grid;
	gap: 0.65rem;
}

.feston-signup-page__submit,
.feston-signup-page__secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	padding: 0.75rem 1rem;
	border-radius: 999px;
	font-weight: 800;
	text-decoration: none;
	transition: transform 0.2s var(--feston-ease), box-shadow 0.2s var(--feston-ease), background 0.2s var(--feston-ease);
}

.feston-signup-page__submit {
	border: 0;
	background: var(--feston-green);
	color: #0a0a0a;
	box-shadow: 0 10px 24px rgba(153, 255, 0, 0.22);
}

.feston-signup-page__submit:hover:not(:disabled) {
	transform: translateY(-1px);
	box-shadow: 0 14px 28px rgba(153, 255, 0, 0.28);
}

.feston-signup-page__submit:disabled {
	opacity: 0.7;
	cursor: wait;
}

.feston-signup-page__secondary {
	background: transparent;
	color: var(--feston-text);
	border: 1px solid rgba(10, 10, 10, 0.1);
}

.feston-signup-page__secondary:hover {
	background: rgba(10, 10, 10, 0.04);
	color: var(--feston-text);
}

.feston-signup-page__note strong {
	display: block;
	margin-bottom: 0.25rem;
	font-size: 0.92rem;
	font-weight: 800;
}

.feston-signup-page__note p {
	font-size: 0.86rem;
	line-height: 1.6;
	color: var(--feston-text-secondary);
}

@media (max-width: 1199.98px) {
	.feston-signup-page__layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767.98px) {
	.feston-signup-page__cover {
		min-height: 260px;
		padding: 1.25rem;
	}

	.feston-signup-page__event-body {
		padding: 1.15rem;
	}

	.feston-signup-page__toggle span {
		display: none;
	}
}

/* ------------------------------------------------------------------ *
 * Cadastro de acesso — feston-cadastro-page (formulario limpo)
 * ------------------------------------------------------------------ */
.feston-cadastro-page__head {
	margin-bottom: 1.25rem;
}

.feston-cadastro-page__breadcrumb {
	font-size: 0.82rem;
	margin-bottom: 0.85rem;
}

.feston-cadastro-page__breadcrumb a {
	color: var(--feston-text-secondary);
	text-decoration: none;
	font-weight: 600;
}

.feston-cadastro-page__breadcrumb a:hover {
	color: var(--feston-text);
}

.feston-cadastro-page__head-main {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem 1.5rem;
}

.feston-cadastro-page__head-copy {
	max-width: 40rem;
}

.feston-cadastro-page__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0 0 0.45rem;
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--feston-text-secondary);
}

.feston-cadastro-page__title {
	margin: 0 0 0.45rem;
	font-size: clamp(1.55rem, 2.5vw, 2rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.03em;
	color: var(--feston-text);
}

.feston-cadastro-page__lead {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.65;
	color: var(--feston-text-secondary);
}

.feston-cadastro-page__head-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.55rem 0.95rem;
	border-radius: 999px;
	background: #fff;
	border: 1px solid rgba(10, 10, 10, 0.1);
	box-shadow: 0 4px 14px rgba(10, 10, 10, 0.06);
	font-size: 0.84rem;
	font-weight: 700;
	color: var(--feston-text);
	text-decoration: none;
	transition: transform 0.18s var(--feston-ease), box-shadow 0.18s var(--feston-ease);
}

.feston-cadastro-page__head-link:hover {
	color: var(--feston-text);
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(10, 10, 10, 0.1);
}

.feston-cadastro-page__shell {
	max-width: 820px;
	margin: 0 auto;
	border-radius: 22px !important;
	box-shadow: 0 12px 40px rgba(10, 10, 10, 0.06);
}

.feston-cadastro-page__context {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.85rem 1rem;
	margin-bottom: 1.35rem;
	padding: 0.85rem 1rem;
	border-radius: 16px;
	background: rgba(10, 10, 10, 0.025);
	border: 1px solid rgba(10, 10, 10, 0.06);
}

.feston-cadastro-page__context-thumb {
	flex-shrink: 0;
	width: 56px;
	height: 56px;
	border-radius: 12px;
	background-size: cover;
	background-position: center;
}

.feston-cadastro-page__context-copy {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	min-width: 0;
	flex: 1;
}

.feston-cadastro-page__context-label {
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--feston-text-tertiary);
}

.feston-cadastro-page__context-copy strong {
	font-size: 0.95rem;
	font-weight: 800;
	color: var(--feston-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.feston-cadastro-page__context-meta {
	font-size: 0.8rem;
	color: var(--feston-text-secondary);
}

.feston-cadastro-page__context-link {
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--feston-text);
	text-decoration: none;
	white-space: nowrap;
}

.feston-cadastro-page__context-link:hover {
	color: var(--feston-green-hover);
}

.feston-cadastro-page__track {
	margin-bottom: 1.35rem;
}

.feston-cadastro-page__track-bar {
	position: relative;
	height: 4px;
	margin-bottom: 0.85rem;
	border-radius: 999px;
	background: rgba(10, 10, 10, 0.08);
	overflow: hidden;
}

.feston-cadastro-page__track-fill {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--feston-green) 0%, #c8ff4d 100%);
	transition: width 0.28s var(--feston-ease);
}

.feston-cadastro-page__track-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.5rem;
}

.feston-cadastro-page__track-steps li {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	color: var(--feston-text-tertiary);
	font-size: 0.78rem;
	font-weight: 700;
}

.feston-cadastro-page__track-dot {
	width: 1.45rem;
	height: 1.45rem;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(10, 10, 10, 0.07);
	font-size: 0.68rem;
	font-weight: 800;
	transition: background 0.2s var(--feston-ease), color 0.2s var(--feston-ease);
}

.feston-cadastro-page__track-steps li.is-active {
	color: var(--feston-text);
}

.feston-cadastro-page__track-steps li.is-active .feston-cadastro-page__track-dot,
.feston-cadastro-page__track-steps li.is-done .feston-cadastro-page__track-dot {
	background: var(--feston-green);
	color: #0a0a0a;
}

.feston-cadastro-page__track-label {
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.feston-cadastro-page__form {
	display: grid;
	gap: 0.85rem;
}

.feston-cadastro-page__alert {
	margin-bottom: 1rem;
	padding: 0.95rem 1rem;
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 0.75rem;
	border-radius: 14px;
	background: #fff1ee;
	border: 1px solid rgba(237, 92, 71, 0.16);
}

.feston-cadastro-page__alert strong {
	display: block;
	margin-bottom: 0.2rem;
	font-size: 0.9rem;
	font-weight: 800;
	color: #aa402d;
}

.feston-cadastro-page__alert p {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.55;
	color: var(--feston-text-secondary);
}

.feston-cadastro-page__alert-icon {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(237, 92, 71, 0.12);
	color: #de5a43;
	font-size: 1.1rem;
}

.feston-cadastro-page__support {
	padding: 0.85rem 1rem;
	border-radius: 14px;
	background: rgba(153, 255, 0, 0.08);
	border: 1px solid rgba(153, 255, 0, 0.18);
}

.feston-cadastro-page__support-item {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.84rem;
	line-height: 1.55;
	color: var(--feston-text-secondary);
}

.feston-cadastro-page__support-item i {
	margin-top: 0.1rem;
	color: var(--feston-green);
}

.feston-cadastro-page__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 0.35rem;
}

@media (max-width: 575.98px) {
	.feston-cadastro-page__head-link span,
	.feston-cadastro-page__track-label {
		display: none;
	}

	.feston-cadastro-page__track-steps li {
		justify-content: center;
	}

	.feston-cadastro-page__context-link {
		width: 100%;
	}
}
