/* Universal UI Core V2.5.2 */
/*
 * Contrato visual público:
 * - componentes consomem somente tokens --uui-*;
 * - classes uui-* são opt-in;
 * - classes do módulo continuam responsáveis apenas por layout específico.
 */

/* Scope e reset local */
.uui-scope,
.uui-preview-scope,
.uui-card,
.uui-panel,
.uui-alert,
.uui-form,
.uui-modal,
.uui-offcanvas,
.uui-empty-state,
.uui-copy-field,
.uui-tabs,
.uui-stepper,
.uui-choice-card,
.uui-action-card,
.uui-list-item {
	font-family: var(--uui-font-body, inherit);
	color: var(--uui-color-text);
}

.uui-button,
.uui-card,
.uui-panel,
.uui-alert,
.uui-badge,
.uui-form,
.uui-modal,
.uui-offcanvas,
.uui-empty-state,
.uui-copy-field,
.uui-tabs,
.uui-tab,
.uui-stepper,
.uui-choice-card,
.uui-action-card,
.uui-list-item,
.uui-step,
.uui-preview-scope,
.uui-button *,
.uui-card *,
.uui-panel *,
.uui-alert *,
.uui-form *,
.uui-modal *,
.uui-offcanvas *,
.uui-empty-state *,
.uui-copy-field *,
.uui-tabs *,
.uui-stepper *,
.uui-choice-card *,
.uui-action-card *,
.uui-list-item *,
.uui-preview-scope * {
	box-sizing: border-box;
}

/* =========================================================
 * TIPOGRAFIA
 * ======================================================= */
.uui-heading:not(.elementor-widget-heading),
.elementor-widget-heading.uui-heading .elementor-heading-title {
	margin: 0;
	font-family: var(--uui-font-heading, inherit);
	font-weight: var(--uui-font-heading-weight, 700);
	line-height: var(--uui-font-heading-line-height, 1.2);
	color: var(--uui-color-heading);
}

.uui-heading--page:not(.elementor-widget-heading),
.elementor-widget-heading.uui-heading--page .elementor-heading-title {
	font-size: clamp(var(--uui-font-size-xl, 20px), 3vw, var(--uui-font-size-2xl, 28px));
}

.uui-heading--section:not(.elementor-widget-heading),
.elementor-widget-heading.uui-heading--section .elementor-heading-title {
	font-size: clamp(var(--uui-font-size-lg, 16px), 2vw, var(--uui-font-size-xl, 20px));
}

.uui-heading--card:not(.elementor-widget-heading),
.elementor-widget-heading.uui-heading--card .elementor-heading-title {
	font-size: var(--uui-font-size-lg, 16px);
}

.uui-text:not(.elementor-widget-text-editor),
.elementor-widget-text-editor.uui-text .elementor-widget-container {
	margin-block: 0;
	font-family: var(--uui-font-body, inherit);
	font-size: var(--uui-font-size-md, 14px);
	font-weight: var(--uui-font-body-weight, 400);
	line-height: var(--uui-font-body-line-height, 1.55);
	color: var(--uui-color-text);
}

.uui-text--lead:not(.elementor-widget-text-editor),
.elementor-widget-text-editor.uui-text--lead .elementor-widget-container {
	font-size: var(--uui-font-size-lg, 16px);
}

.uui-text--small:not(.elementor-widget-text-editor),
.elementor-widget-text-editor.uui-text--small .elementor-widget-container {
	font-size: var(--uui-font-size-sm, 12px);
}

.uui-text--muted:not(.elementor-widget-text-editor),
.elementor-widget-text-editor.uui-text--muted .elementor-widget-container {
	color: var(--uui-color-muted);
}

.uui-text--accent:not(.elementor-widget-text-editor),
.elementor-widget-text-editor.uui-text--accent .elementor-widget-container { color: var(--uui-color-accent); }
.uui-text--success:not(.elementor-widget-text-editor),
.elementor-widget-text-editor.uui-text--success .elementor-widget-container { color: var(--uui-color-success); }
.uui-text--warning:not(.elementor-widget-text-editor),
.elementor-widget-text-editor.uui-text--warning .elementor-widget-container { color: var(--uui-color-warning); }
.uui-text--danger:not(.elementor-widget-text-editor),
.elementor-widget-text-editor.uui-text--danger .elementor-widget-container { color: var(--uui-color-danger); }
.uui-text--info:not(.elementor-widget-text-editor),
.elementor-widget-text-editor.uui-text--info .elementor-widget-container { color: var(--uui-color-info); }

/* Ícone vetorial neutro: tamanho e traço permanecem previsíveis em qualquer tema. */
.uui-icon {
	display: block;
	width: var(--uui-icon-size, 18px);
	height: var(--uui-icon-size, 18px);
	flex: 0 0 var(--uui-icon-size, 18px);
	fill: none;
	stroke: currentColor;
	stroke-width: var(--uui-icon-stroke, 2);
	stroke-linecap: round;
	stroke-linejoin: round;
	pointer-events: none;
}
.uui-icon--fill {
	fill: currentColor;
	stroke: none;
}
.uui-icon-sprite {
	position: absolute !important;
	width: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
}

.uui-price:not(.elementor-widget-heading):not(.elementor-widget-text-editor),
.elementor-widget-heading.uui-price .elementor-heading-title,
.elementor-widget-text-editor.uui-price .elementor-widget-container {
	font-family: var(--uui-font-accent, var(--uui-font-heading, inherit));
	font-weight: var(--uui-font-accent-weight, 700);
	line-height: var(--uui-font-accent-line-height, 1.2);
	font-size: var(--uui-font-size-xl, 20px);
	font-variant-numeric: tabular-nums;
	color: var(--uui-color-accent);
}
.uui-price--previous {
	font-family: var(--uui-font-body, inherit);
	font-size: var(--uui-font-size-sm, 12px);
	font-weight: var(--uui-font-body-weight, 400);
	font-variant-numeric: tabular-nums;
	color: var(--uui-color-muted);
	text-decoration: line-through;
}

.uui-link:not(.elementor-widget-text-editor),
a.uui-link,
.elementor-widget-text-editor.uui-link a {
	color: var(--uui-color-link);
	font-family: var(--uui-font-control, inherit);
	font-weight: var(--uui-font-control-weight, 700);
	text-decoration: none;
	text-underline-offset: 3px;
	transition:
		color var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		opacity var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease);
}
.uui-link:not(.elementor-widget-text-editor):hover,
a.uui-link:hover,
.elementor-widget-text-editor.uui-link a:hover { text-decoration: underline; }
.uui-link:not(.elementor-widget-text-editor):focus-visible,
a.uui-link:focus-visible,
.elementor-widget-text-editor.uui-link a:focus-visible {
	outline: 2px solid var(--uui-color-focus);
	outline-offset: 3px;
	border-radius: var(--uui-radius-xs, 6px);
}
.uui-link--subtle:not(.elementor-widget-text-editor),
a.uui-link--subtle,
.elementor-widget-text-editor.uui-link--subtle a { color: var(--uui-color-muted); }
.uui-link--danger:not(.elementor-widget-text-editor),
a.uui-link--danger,
.elementor-widget-text-editor.uui-link--danger a { color: var(--uui-color-danger); }

/* =========================================================
 * BOTÕES
 * ======================================================= */
.uui-button:not(.elementor-widget-button),
a.uui-button,
button.uui-button,
input[type="button"].uui-button,
input[type="submit"].uui-button,
.elementor-widget-button.uui-button .elementor-button {
	--uui-button-loading-color: var(--uui-color-text);
	appearance: none;
	-webkit-appearance: none;
	min-width: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--uui-space-8, 8px);
	min-height: var(--uui-button-height, var(--uui-control-height, 46px));
	padding: 0 var(--uui-button-padding-x, var(--uui-control-padding-x, 16px));
	border-width: var(--uui-button-border-width, var(--uui-border-width, 1px));
	border-style: solid;
	border-color: transparent;
	border-radius: var(--uui-button-radius, var(--uui-radius-control, 11px));
	box-shadow: var(--uui-shadow-button, none);
	font-family: var(--uui-font-control, inherit);
	font-size: var(--uui-button-font-size, var(--uui-font-size-md, 14px));
	font-weight: var(--uui-font-control-weight, 700);
	line-height: var(--uui-font-control-line-height, 1.2);
	text-align: center;
	text-decoration: none;
	white-space: normal;
	cursor: pointer;
	transition:
		background-color var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		border-color var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		color var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		box-shadow var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		transform var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		opacity var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease);
}

.uui-button:not(.elementor-widget-button) svg,
.elementor-widget-button.uui-button .elementor-button svg {
	width: var(--uui-button-icon-size, 18px);
	height: var(--uui-button-icon-size, 18px);
	flex: 0 0 var(--uui-button-icon-size, 18px);
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.uui-button:not(.elementor-widget-button):hover,
.elementor-widget-button.uui-button .elementor-button:hover {
	transform: translateY(calc(var(--uui-button-hover-offset, 1px) * -1));
	box-shadow: var(--uui-shadow-button-hover, var(--uui-shadow-button, none));
}
.uui-button:not(.elementor-widget-button):active,
.elementor-widget-button.uui-button .elementor-button:active {
	transform: translateY(0);
	box-shadow: var(--uui-shadow-button, none);
}
.uui-button:not(.elementor-widget-button):focus-visible,
.elementor-widget-button.uui-button .elementor-button:focus-visible {
	outline: none;
	box-shadow: var(--uui-shadow-focus, 0 0 0 3px rgba(49,86,184,.18));
}

.uui-button--primary:not(.elementor-widget-button),
.elementor-widget-button.uui-button--primary .elementor-button {
	--uui-button-loading-color: var(--uui-color-on-primary);
	background: var(--uui-color-primary);
	border-color: var(--uui-color-primary);
	color: var(--uui-color-on-primary);
}
.uui-button--primary:not(.elementor-widget-button):hover,
.elementor-widget-button.uui-button--primary .elementor-button:hover {
	background: var(--uui-color-primary-hover);
	border-color: var(--uui-color-primary-hover);
	color: var(--uui-color-on-primary);
}

.uui-button--secondary:not(.elementor-widget-button),
.elementor-widget-button.uui-button--secondary .elementor-button {
	--uui-button-loading-color: var(--uui-color-on-secondary);
	background: var(--uui-color-secondary);
	border-color: var(--uui-color-secondary);
	color: var(--uui-color-on-secondary);
}
.uui-button--secondary:not(.elementor-widget-button):hover,
.elementor-widget-button.uui-button--secondary .elementor-button:hover {
	background: var(--uui-color-secondary-hover);
	border-color: var(--uui-color-secondary-hover);
	color: var(--uui-color-on-secondary);
}

.uui-button--outline:not(.elementor-widget-button),
.elementor-widget-button.uui-button--outline .elementor-button {
	--uui-button-loading-color: var(--uui-color-primary);
	background: var(--uui-color-surface);
	border-width: max(1px, var(--uui-button-outline-border-width, 1px));
	border-color: var(--uui-color-primary);
	color: var(--uui-color-primary);
}
.uui-button--outline:not(.elementor-widget-button):hover,
.elementor-widget-button.uui-button--outline .elementor-button:hover {
	background: var(--uui-color-primary-soft);
	border-color: var(--uui-color-primary-hover);
	color: var(--uui-color-primary-hover);
}

.uui-button--ghost:not(.elementor-widget-button),
.elementor-widget-button.uui-button--ghost .elementor-button {
	--uui-button-loading-color: var(--uui-color-link);
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	color: var(--uui-color-link);
}
.uui-button--ghost:not(.elementor-widget-button):hover,
.elementor-widget-button.uui-button--ghost .elementor-button:hover {
	background: var(--uui-color-surface-soft);
	border-color: transparent;
	box-shadow: none;
}

/* Estado oficial para botões de alternância, como Favoritos. */
.uui-button:not(.elementor-widget-button)[aria-pressed="true"] {
	--uui-button-loading-color: var(--uui-color-primary);
	background: var(--uui-color-primary-soft);
	border-color: var(--uui-color-primary);
	color: var(--uui-color-primary);
}
.uui-button:not(.elementor-widget-button)[aria-pressed="true"]:hover {
	background: var(--uui-color-primary-soft);
	border-color: var(--uui-color-primary-hover);
	color: var(--uui-color-primary-hover);
}

.uui-button--success:not(.elementor-widget-button),
.elementor-widget-button.uui-button--success .elementor-button {
	--uui-button-loading-color: var(--uui-color-on-success);
	background: var(--uui-color-success);
	border-color: var(--uui-color-success);
	color: var(--uui-color-on-success);
}
.uui-button--success:not(.elementor-widget-button):hover,
.elementor-widget-button.uui-button--success .elementor-button:hover {
	background: var(--uui-color-success-hover);
	border-color: var(--uui-color-success-hover);
}

.uui-button--warning:not(.elementor-widget-button),
.elementor-widget-button.uui-button--warning .elementor-button {
	--uui-button-loading-color: var(--uui-color-on-warning);
	background: var(--uui-color-warning);
	border-color: var(--uui-color-warning);
	color: var(--uui-color-on-warning);
}
.uui-button--warning:not(.elementor-widget-button):hover,
.elementor-widget-button.uui-button--warning .elementor-button:hover {
	background: var(--uui-color-warning-hover);
	border-color: var(--uui-color-warning-hover);
}

.uui-button--danger:not(.elementor-widget-button),
.elementor-widget-button.uui-button--danger .elementor-button {
	--uui-button-loading-color: var(--uui-color-on-danger);
	background: var(--uui-color-danger);
	border-color: var(--uui-color-danger);
	color: var(--uui-color-on-danger);
}
.uui-button--danger:not(.elementor-widget-button):hover,
.elementor-widget-button.uui-button--danger .elementor-button:hover {
	background: var(--uui-color-danger-hover);
	border-color: var(--uui-color-danger-hover);
}

.uui-button--info:not(.elementor-widget-button),
.elementor-widget-button.uui-button--info .elementor-button {
	--uui-button-loading-color: var(--uui-color-on-info);
	background: var(--uui-color-info);
	border-color: var(--uui-color-info);
	color: var(--uui-color-on-info);
}
.uui-button--info:not(.elementor-widget-button):hover,
.elementor-widget-button.uui-button--info .elementor-button:hover {
	background: var(--uui-color-info-hover);
	border-color: var(--uui-color-info-hover);
}

.uui-button--small:not(.elementor-widget-button),
.elementor-widget-button.uui-button--small .elementor-button {
	min-height: var(--uui-control-height-sm, 38px);
	padding-inline: calc(var(--uui-button-padding-x, var(--uui-control-padding-x, 16px)) * .75);
	font-size: var(--uui-font-size-sm, 12px);
}
.uui-button--large:not(.elementor-widget-button),
.elementor-widget-button.uui-button--large .elementor-button {
	min-height: var(--uui-control-height-lg, 54px);
	padding-inline: calc(var(--uui-button-padding-x, var(--uui-control-padding-x, 16px)) * 1.25);
	font-size: var(--uui-font-size-lg, 16px);
}
.uui-button--full:not(.elementor-widget-button),
.elementor-widget-button.uui-button--full,
.elementor-widget-button.uui-button--full .elementor-widget-container,
.elementor-widget-button.uui-button--full .elementor-button { width: 100%; }
.uui-button--pill:not(.elementor-widget-button),
.elementor-widget-button.uui-button--pill .elementor-button { border-radius: var(--uui-radius-pill, 999px); }
.uui-button--icon:not(.elementor-widget-button),
.elementor-widget-button.uui-button--icon .elementor-button {
	width: var(--uui-button-height, var(--uui-control-height, 46px));
	min-width: var(--uui-button-height, var(--uui-control-height, 46px));
	padding: 0;
}

.uui-button:not(.elementor-widget-button)[disabled],
.uui-button:not(.elementor-widget-button)[aria-disabled="true"],
.uui-button:not(.elementor-widget-button).is-disabled,
.elementor-widget-button.uui-button.is-disabled .elementor-button,
.elementor-widget-button.uui-button .elementor-button[aria-disabled="true"] {
	background: var(--uui-color-disabled-surface);
	border-color: var(--uui-color-disabled-border);
	color: var(--uui-color-disabled);
	opacity: var(--uui-disabled-opacity, .72);
	cursor: not-allowed;
	pointer-events: none;
	transform: none;
	box-shadow: none;
}

.uui-button:not(.elementor-widget-button).is-loading,
.elementor-widget-button.uui-button.is-loading .elementor-button {
	position: relative;
	pointer-events: none;
	color: transparent !important;
}
.uui-button:not(.elementor-widget-button).is-loading > *,
.elementor-widget-button.uui-button.is-loading .elementor-button > * { visibility: hidden; }
.uui-button:not(.elementor-widget-button).is-loading::after,
.elementor-widget-button.uui-button.is-loading .elementor-button::after {
	content: "";
	position: absolute;
	inset: 50% auto auto 50%;
	width: var(--uui-button-icon-size, 18px);
	height: var(--uui-button-icon-size, 18px);
	margin: calc(var(--uui-button-icon-size, 18px) / -2) 0 0 calc(var(--uui-button-icon-size, 18px) / -2);
	border: 2px solid var(--uui-button-loading-color);
	border-right-color: transparent;
	border-radius: 50%;
	animation: uui-spin .75s linear infinite;
}

/* =========================================================
 * CARDS E SUPERFÍCIES
 * ======================================================= */
.uui-card:not(.elementor-column),
.elementor-column.uui-card > .elementor-widget-wrap {
	background: var(--uui-color-surface);
	border: var(--uui-card-border-width, var(--uui-border-width, 1px)) solid var(--uui-color-border);
	border-radius: var(--uui-radius-card, 16px);
	box-shadow: var(--uui-shadow-sm, 0 4px 14px rgba(17,24,39,.06));
	padding: var(--uui-card-padding, 16px);
}

.uui-card--soft:not(.elementor-column),
.elementor-column.uui-card--soft > .elementor-widget-wrap {
	background: var(--uui-color-surface-soft);
	box-shadow: none;
}
.uui-card--outlined:not(.elementor-column),
.elementor-column.uui-card--outlined > .elementor-widget-wrap {
	background: var(--uui-color-surface);
	border-color: var(--uui-color-border-strong);
	box-shadow: none;
}
.uui-card--elevated:not(.elementor-column),
.elementor-column.uui-card--elevated > .elementor-widget-wrap {
	box-shadow: var(--uui-shadow-card, 0 8px 24px rgba(17,24,39,.07));
}
.uui-card--interactive:not(.elementor-column),
.elementor-column.uui-card--interactive > .elementor-widget-wrap {
	cursor: pointer;
	transition:
		transform var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		box-shadow var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		border-color var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease);
}
.uui-card--interactive:not(.elementor-column):hover,
.elementor-column.uui-card--interactive:hover > .elementor-widget-wrap {
	transform: translateY(-2px);
	box-shadow: var(--uui-shadow-card, 0 8px 24px rgba(17,24,39,.07));
	border-color: var(--uui-color-border-strong);
}
.uui-card--interactive:not(.elementor-column):focus-within,
.elementor-column.uui-card--interactive:focus-within > .elementor-widget-wrap {
	border-color: var(--uui-color-focus);
	box-shadow: var(--uui-shadow-focus, 0 0 0 3px rgba(49,86,184,.18));
}
.uui-card--disabled:not(.elementor-column),
.uui-card[aria-disabled="true"]:not(.elementor-column),
.elementor-column.uui-card--disabled > .elementor-widget-wrap {
	transform: none !important;
	border-color: var(--uui-color-disabled-border, var(--uui-color-border));
	background: var(--uui-color-disabled-surface);
	box-shadow: none;
	color: var(--uui-color-disabled);
	cursor: not-allowed;
	opacity: var(--uui-disabled-opacity, .62);
}
.uui-card--disabled *,
.uui-card[aria-disabled="true"] * { pointer-events: none; }

/* Estado semântico de superfícies operacionais com múltiplas ações. */
.uui-card--status-primary,
.uui-card--status-info,
.uui-card--status-success,
.uui-card--status-warning,
.uui-card--status-danger,
.uui-card--status-neutral {
	border-inline-start-width: var(--uui-card-status-width, 4px) !important;
}
.uui-card--status-primary { border-inline-start-color: var(--uui-color-primary) !important; }
.uui-card--status-info { border-inline-start-color: var(--uui-color-info) !important; }
.uui-card--status-success { border-inline-start-color: var(--uui-color-success) !important; }
.uui-card--status-warning { border-inline-start-color: var(--uui-color-warning) !important; }
.uui-card--status-danger { border-inline-start-color: var(--uui-color-danger) !important; }
.uui-card--status-neutral { border-inline-start-color: var(--uui-color-border-strong) !important; }

/* Card de ação: contrato robusto para button e link, sem herdar estilos do tema. */
.uui-action-card,
button.uui-action-card,
a.uui-action-card {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: flex;
	align-items: center;
	gap: var(--uui-content-gap, 16px);
	width: 100%;
	min-width: 0;
	margin: 0 !important;
	padding: var(--uui-card-padding, 16px) !important;
	border: var(--uui-card-border-width, var(--uui-border-width, 1px)) solid var(--uui-color-border) !important;
	border-radius: var(--uui-radius-card, 16px) !important;
	background: var(--uui-color-surface) !important;
	color: var(--uui-color-text) !important;
	font-family: var(--uui-font-body, inherit) !important;
	font-size: var(--uui-font-size-md, 14px) !important;
	font-weight: var(--uui-font-body-weight, 400) !important;
	line-height: var(--uui-font-body-line-height, 1.45) !important;
	text-align: left !important;
	text-decoration: none !important;
	box-shadow: var(--uui-shadow-sm, 0 4px 14px rgba(17,24,39,.06)) !important;
	cursor: pointer;
	transition:
		transform var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		box-shadow var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		border-color var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		background-color var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		opacity var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease);
}
.uui-action-card > * { min-width: 0; }
.uui-action-card strong,
.uui-action-card .uui-heading { color: var(--uui-color-heading) !important; }
.uui-action-card small,
.uui-action-card .uui-text--muted { color: var(--uui-color-muted) !important; }
.uui-action-card .uui-price { color: var(--uui-color-accent) !important; }
.uui-action-card--vertical { flex-direction: column; align-items: stretch; }
.uui-action-card--compact { padding: var(--uui-space-12, 12px) !important; gap: var(--uui-space-8, 8px); }
.uui-action-card:hover:not(:disabled):not([aria-disabled="true"]):not(.is-disabled) {
	transform: translateY(-2px);
	border-color: var(--uui-color-border-strong) !important;
	box-shadow: var(--uui-shadow-card, 0 8px 24px rgba(17,24,39,.07)) !important;
}
.uui-action-card:focus-visible {
	outline: none !important;
	border-color: var(--uui-color-focus) !important;
	box-shadow: var(--uui-shadow-focus, 0 0 0 3px rgba(49,86,184,.18)) !important;
}
.uui-action-card.is-disabled,
.uui-action-card[aria-disabled="true"],
button.uui-action-card:disabled {
	transform: none !important;
	border-color: var(--uui-color-disabled-border, var(--uui-color-border)) !important;
	background: var(--uui-color-disabled-surface) !important;
	box-shadow: none !important;
	color: var(--uui-color-disabled) !important;
	cursor: not-allowed;
	opacity: var(--uui-disabled-opacity, .62);
	pointer-events: none;
}
.uui-action-card.is-disabled *,
.uui-action-card[aria-disabled="true"] * { pointer-events: none; }
.uui-action-card.is-disabled strong,
.uui-action-card[aria-disabled="true"] strong,
button.uui-action-card:disabled strong { color: var(--uui-color-disabled) !important; }

/* Card selecionável: escolha única/múltipla com contrato próprio para button, label e radio. */
.uui-choice-card__control {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
.uui-choice-card,
button.uui-choice-card,
label.uui-choice-card {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: var(--uui-space-10, 10px);
	min-width: 0;
	padding: var(--uui-space-12, 12px) !important;
	border: var(--uui-card-border-width, var(--uui-border-width, 1px)) solid var(--uui-color-border) !important;
	border-radius: var(--uui-radius-card, 16px) !important;
	background: var(--uui-color-surface) !important;
	color: var(--uui-color-text) !important;
	font-family: var(--uui-font-body, inherit) !important;
	font-size: var(--uui-font-size-md, 14px) !important;
	font-weight: var(--uui-font-body-weight, 400) !important;
	line-height: var(--uui-font-body-line-height, 1.45) !important;
	text-align: left !important;
	text-decoration: none !important;
	box-shadow: var(--uui-shadow-sm, 0 4px 14px rgba(17,24,39,.06)) !important;
	cursor: pointer;
	transition:
		background-color var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		border-color var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		box-shadow var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		transform var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		opacity var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease);
}
.uui-choice-card > * { min-width: 0; }
.uui-choice-card > .uui-badge:last-child { margin-left: auto; }
.uui-choice-card__title,
.uui-choice-card strong {
	display: block;
	margin: 0 !important;
	color: var(--uui-color-heading) !important;
	font-family: var(--uui-font-control, inherit) !important;
	font-size: var(--uui-font-size-md, 14px) !important;
	font-weight: var(--uui-font-control-weight, 700) !important;
	line-height: var(--uui-font-control-line-height, 1.2) !important;
}
.uui-choice-card__description,
.uui-choice-card small {
	display: block;
	margin: var(--uui-space-2, 2px) 0 0 !important;
	color: var(--uui-color-muted) !important;
	font-family: var(--uui-font-body, inherit) !important;
	font-size: var(--uui-font-size-xs, 11px) !important;
	font-weight: var(--uui-font-body-weight, 400) !important;
	line-height: 1.35 !important;
}
.uui-choice-card:hover {
	transform: translateY(-1px);
	border-color: var(--uui-color-border-strong) !important;
	box-shadow: var(--uui-shadow-card, 0 8px 24px rgba(17,24,39,.07)) !important;
}
.uui-choice-card:focus-visible,
input:focus-visible + .uui-choice-card {
	outline: none;
	border-color: var(--uui-color-focus) !important;
	box-shadow: var(--uui-shadow-focus, 0 0 0 3px rgba(49,86,184,.18)) !important;
}
.uui-choice-card.is-selected,
.uui-choice-card.is-active,
.uui-choice-card[aria-pressed="true"],
.uui-choice-card[aria-selected="true"],
input:checked + .uui-choice-card {
	border-color: var(--uui-color-primary) !important;
	background: var(--uui-color-primary-soft) !important;
	box-shadow: inset 0 0 0 1px var(--uui-color-primary) !important;
}
.uui-choice-card.is-disabled,
.uui-choice-card[aria-disabled="true"],
button.uui-choice-card:disabled,
input:disabled + .uui-choice-card {
	transform: none !important;
	border-color: var(--uui-color-disabled-border, var(--uui-color-border)) !important;
	background: var(--uui-color-disabled-surface) !important;
	box-shadow: none !important;
	cursor: not-allowed;
	opacity: var(--uui-disabled-opacity, .62);
}
.uui-choice-card.is-disabled .uui-choice-card__title,
.uui-choice-card[aria-disabled="true"] .uui-choice-card__title,
input:disabled + .uui-choice-card .uui-choice-card__title { color: var(--uui-color-disabled) !important; }

.uui-panel {
	background: var(--uui-color-surface-soft);
	border: var(--uui-border-width, 1px) solid var(--uui-color-border);
	border-radius: var(--uui-radius-card, 16px);
	padding: var(--uui-card-padding, 16px);
}
.uui-section { padding-block: var(--uui-space-24, 24px); }
.uui-divider {
	width: 100%;
	height: var(--uui-border-width, 1px);
	background: var(--uui-color-border);
	border: 0;
	margin: var(--uui-space-16, 16px) 0;
}

/* =========================================================
 * CAMPO COPIÁVEL
 * ======================================================= */
.uui-copy-field:not(.elementor-widget-button),
button.uui-copy-field,
a.uui-copy-field,
.elementor-widget-button.uui-copy-field .elementor-button {
	appearance: none;
	-webkit-appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--uui-copy-gap, 8px);
	width: auto;
	max-width: 100%;
	min-width: 0;
	min-height: var(--uui-copy-height, var(--uui-control-height, 46px));
	overflow: hidden;
	box-sizing: border-box;
	padding: 0 var(--uui-copy-padding-x, var(--uui-control-padding-x, 16px));
	border: var(--uui-copy-border-width, 2px) dashed var(--uui-color-primary);
	border-radius: var(--uui-copy-radius, var(--uui-radius-control, 11px));
	background: var(--uui-color-surface);
	color: var(--uui-color-primary);
	box-shadow: none;
	font-family: var(--uui-font-accent, var(--uui-font-control, inherit));
	font-size: var(--uui-copy-font-size, var(--uui-font-size-md, 14px));
	font-weight: var(--uui-font-accent-weight, 700);
	line-height: 1.1;
	letter-spacing: .04em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
	transition:
		background-color var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		border-color var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		color var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		box-shadow var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		opacity var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease);
}

.uui-copy-field:not(.elementor-widget-button):hover,
.elementor-widget-button.uui-copy-field .elementor-button:hover {
	background: var(--uui-color-primary-soft);
	border-color: var(--uui-color-primary-hover);
	color: var(--uui-color-primary-hover);
}

.uui-copy-field:not(.elementor-widget-button):focus-visible,
.elementor-widget-button.uui-copy-field .elementor-button:focus-visible {
	outline: none;
	box-shadow: var(--uui-shadow-focus);
}

.uui-copy-field__value {
	display: block;
	flex: 1 1 auto;
	width: auto;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/*
 * Variante explícita para URLs, chaves e identificadores extensos.
 * O valor real deve permanecer em data-uui-copy-value; somente a
 * representação visual recebe reticências.
 */
.uui-copy-field--truncate:not(.elementor-widget-button),
.elementor-widget-button.uui-copy-field--truncate,
.elementor-widget-button.uui-copy-field--truncate .elementor-widget-container,
.elementor-widget-button.uui-copy-field--truncate .elementor-button,
.elementor-widget-button.uui-copy-field--truncate .elementor-button-content-wrapper {
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
}

.uui-copy-field--truncate .uui-copy-field__value {
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.elementor-widget-button.uui-copy-field .elementor-button-content-wrapper {
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
}

.uui-copy-field__label {
	font-family: var(--uui-font-body, inherit);
	font-size: var(--uui-font-size-xs, 11px);
	font-weight: var(--uui-font-body-weight, 400);
	letter-spacing: 0;
	text-transform: none;
	color: var(--uui-color-muted);
}

.uui-copy-field__icon,
.uui-copy-field svg {
	width: var(--uui-copy-icon-size, 16px);
	height: var(--uui-copy-icon-size, 16px);
	flex: 0 0 var(--uui-copy-icon-size, 16px);
	font-weight: 400;
}

.uui-copy-field svg {
	display: block;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
}

.uui-copy-field--compact:not(.elementor-widget-button),
.elementor-widget-button.uui-copy-field--compact .elementor-button {
	min-height: var(--uui-control-height-sm, 38px);
	padding-inline: calc(var(--uui-copy-padding-x, 16px) * .75);
	font-size: var(--uui-font-size-sm, 12px);
}

.uui-copy-field--full:not(.elementor-widget-button),
.elementor-widget-button.uui-copy-field--full,
.elementor-widget-button.uui-copy-field--full .elementor-widget-container,
.elementor-widget-button.uui-copy-field--full .elementor-button {
	width: 100%;
}

.uui-copy-field.is-copied:not(.elementor-widget-button),
.elementor-widget-button.uui-copy-field.is-copied .elementor-button {
	background: var(--uui-color-success-soft);
	border-color: var(--uui-color-success);
	color: var(--uui-color-success);
}

.uui-copy-field.is-loading:not(.elementor-widget-button),
.elementor-widget-button.uui-copy-field.is-loading .elementor-button {
	cursor: wait;
	opacity: .68;
	pointer-events: none;
}

.uui-copy-field:not(.elementor-widget-button)[disabled],
.uui-copy-field:not(.elementor-widget-button)[aria-disabled="true"],
.uui-copy-field:not(.elementor-widget-button).is-disabled,
.elementor-widget-button.uui-copy-field.is-disabled .elementor-button {
	background: var(--uui-color-disabled-surface);
	border-color: var(--uui-color-disabled-border);
	color: var(--uui-color-disabled);
	opacity: var(--uui-disabled-opacity, .55);
	cursor: not-allowed;
	pointer-events: none;
}

/* =========================================================
 * FORMULÁRIOS
 * ======================================================= */
.uui-form,
.elementor-widget-form.uui-form { color: var(--uui-color-text); }

.uui-label,
.uui-form label:not(.uui-choice):not(.uui-switch):not(.uui-choice-card),
.elementor-widget-form.uui-form .elementor-field-label {
	display: block;
	margin-bottom: var(--uui-space-6, 6px);
	font-family: var(--uui-font-control, inherit);
	font-size: var(--uui-label-font-size, var(--uui-font-size-sm, 12px));
	font-weight: var(--uui-label-font-weight, 700);
	line-height: var(--uui-font-control-line-height, 1.2);
	color: var(--uui-color-label);
}

.uui-input,
.uui-select,
.uui-textarea,
.uui-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
.uui-form select,
.uui-form textarea,
.elementor-widget-form.uui-form .elementor-field:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
.elementor-widget-form.uui-form select.elementor-field,
.elementor-widget-form.uui-form textarea.elementor-field {
	width: 100%;
	min-width: 0;
	min-height: var(--uui-input-height, var(--uui-control-height, 46px));
	padding: 10px var(--uui-input-padding-x, var(--uui-control-padding-x, 16px));
	border: var(--uui-input-border-width, var(--uui-border-width, 1px)) solid var(--uui-color-border);
	border-radius: var(--uui-input-radius, var(--uui-radius-control, 11px));
	background: var(--uui-color-input);
	box-shadow: none;
	font-family: var(--uui-font-control, inherit);
	font-size: var(--uui-input-font-size, var(--uui-font-size-md, 14px));
	font-weight: var(--uui-input-font-weight, 400);
	line-height: var(--uui-font-control-line-height, 1.3);
	color: var(--uui-color-text);
	transition:
		border-color var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		box-shadow var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		background-color var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		color var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease);
}

.uui-textarea,
.uui-form textarea,
.elementor-widget-form.uui-form textarea.elementor-field {
	min-height: 112px;
	resize: vertical;
}

.uui-input::placeholder,
.uui-textarea::placeholder,
.uui-form input::placeholder,
.uui-form textarea::placeholder,
.elementor-widget-form.uui-form .elementor-field::placeholder {
	color: var(--uui-color-placeholder);
	opacity: 1;
}

.uui-input:focus,
.uui-select:focus,
.uui-textarea:focus,
.uui-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):focus,
.uui-form select:focus,
.uui-form textarea:focus,
.elementor-widget-form.uui-form .elementor-field:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):focus {
	outline: none;
	border-color: var(--uui-color-focus);
	box-shadow: var(--uui-shadow-focus, 0 0 0 3px rgba(49,86,184,.18));
}

.uui-input:disabled,
.uui-select:disabled,
.uui-textarea:disabled,
.uui-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):disabled,
.uui-form select:disabled,
.uui-form textarea:disabled,
.elementor-widget-form.uui-form .elementor-field:disabled {
	background: var(--uui-color-disabled-surface);
	border-color: var(--uui-color-disabled-border);
	color: var(--uui-color-disabled);
	cursor: not-allowed;
	opacity: var(--uui-disabled-opacity, .72);
}

.uui-input[readonly],
.uui-textarea[readonly],
.uui-form input[readonly],
.uui-form textarea[readonly] {
	background: var(--uui-color-surface-soft);
	color: var(--uui-color-text);
}

.uui-form--compact .uui-input,
.uui-form--compact .uui-select,
.uui-form--compact .uui-textarea,
.uui-form--compact input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
.uui-form--compact select,
.elementor-widget-form.uui-form--compact .elementor-field:not([type="checkbox"]):not([type="radio"]) {
	min-height: var(--uui-control-height-sm, 38px);
}
.uui-form--large .uui-input,
.uui-form--large .uui-select,
.uui-form--large .uui-textarea,
.uui-form--large input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
.uui-form--large select,
.elementor-widget-form.uui-form--large .elementor-field:not([type="checkbox"]):not([type="radio"]) {
	min-height: var(--uui-control-height-lg, 54px);
}

.uui-help {
	display: block;
	margin-top: var(--uui-space-6, 6px);
	color: var(--uui-color-muted);
	font-size: var(--uui-font-size-sm, 12px);
}
.uui-field-error,
.elementor-widget-form.uui-form .elementor-message-danger {
	display: block;
	margin-top: var(--uui-space-6, 6px);
	color: var(--uui-color-danger);
	font-size: var(--uui-font-size-sm, 12px);
	font-weight: 700;
}
.uui-field.has-error .uui-input,
.uui-field.has-error .uui-select,
.uui-field.has-error .uui-textarea,
.uui-field.has-error input,
.uui-field [aria-invalid="true"],
.elementor-widget-form.uui-form .elementor-field.elementor-error {
	border-color: var(--uui-color-danger);
	box-shadow: 0 0 0 3px var(--uui-color-danger-soft);
}
.uui-field.has-success .uui-input,
.uui-field.has-success .uui-select,
.uui-field.has-success .uui-textarea,
.uui-field.has-success input {
	border-color: var(--uui-color-success);
	box-shadow: 0 0 0 3px var(--uui-color-success-soft);
}

.uui-choice {
	display: inline-flex;
	align-items: flex-start;
	gap: var(--uui-space-8, 8px);
	font-family: var(--uui-font-body, inherit);
	font-size: var(--uui-font-size-md, 14px);
	line-height: var(--uui-font-body-line-height, 1.55);
	color: var(--uui-color-text);
	cursor: pointer;
}
.uui-checkbox,
.uui-radio {
	width: var(--uui-choice-size, 18px);
	height: var(--uui-choice-size, 18px);
	margin: 2px 0 0;
	flex: 0 0 var(--uui-choice-size, 18px);
	accent-color: var(--uui-color-primary);
}
.uui-checkbox:focus-visible,
.uui-radio:focus-visible {
	outline: 2px solid var(--uui-color-focus);
	outline-offset: 2px;
}

.uui-switch {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: var(--uui-space-8, 8px);
	cursor: pointer;
	font-family: var(--uui-font-body, inherit);
	color: var(--uui-color-text);
}
.uui-switch input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.uui-switch__track {
	position: relative;
	width: var(--uui-switch-width, 42px);
	height: var(--uui-switch-height, 24px);
	flex: 0 0 var(--uui-switch-width, 42px);
	border: var(--uui-border-width, 1px) solid var(--uui-color-border-strong);
	border-radius: var(--uui-radius-pill, 999px);
	background: var(--uui-color-disabled-surface);
	transition: background-color var(--uui-transition-fast, 160ms), border-color var(--uui-transition-fast, 160ms);
}
.uui-switch__track::after {
	content: "";
	position: absolute;
	top: 2px;
	left: 2px;
	width: calc(var(--uui-switch-height, 24px) - 6px);
	height: calc(var(--uui-switch-height, 24px) - 6px);
	border-radius: 50%;
	background: var(--uui-color-surface);
	box-shadow: var(--uui-shadow-xs, 0 1px 2px rgba(17,24,39,.05));
	transition: transform var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease);
}
.uui-switch input:checked + .uui-switch__track {
	background: var(--uui-color-primary);
	border-color: var(--uui-color-primary);
}
.uui-switch input:checked + .uui-switch__track::after {
	transform: translateX(calc(var(--uui-switch-width, 42px) - var(--uui-switch-height, 24px)));
}
.uui-switch input:focus-visible + .uui-switch__track { box-shadow: var(--uui-shadow-focus); }
.uui-switch input:disabled + .uui-switch__track { opacity: var(--uui-disabled-opacity, .72); cursor: not-allowed; }

/* Ponte oficial para o Select2 usado por WooCommerce e plugins legados. */
.uui-select2.select2-container {
	display: block;
	width: 100% !important;
	min-width: 0;
	font-family: var(--uui-font-control, inherit);
	font-size: var(--uui-input-font-size, var(--uui-font-size-md, 14px));
	color: var(--uui-color-text);
}
.uui-select2.select2-container .selection { display: block; width: 100%; }
.uui-select2.select2-container .select2-selection--single,
.uui-select2.select2-container .select2-selection--multiple {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: var(--uui-input-height, var(--uui-control-height, 46px));
	margin: 0;
	padding: 10px var(--uui-input-padding-x, var(--uui-control-padding-x, 16px));
	border: var(--uui-input-border-width, var(--uui-border-width, 1px)) solid var(--uui-color-border) !important;
	border-radius: var(--uui-input-radius, var(--uui-radius-control, 11px)) !important;
	background: var(--uui-color-input) !important;
	box-shadow: none !important;
	color: var(--uui-color-text) !important;
}
.uui-select2.select2-container .select2-selection--single .select2-selection__rendered {
	display: block;
	width: 100%;
	min-width: 0;
	padding: 0 calc(var(--uui-space-24, 24px) + var(--uui-space-4, 4px)) 0 0 !important;
	line-height: var(--uui-font-control-line-height, 1.3) !important;
	color: var(--uui-color-text) !important;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.uui-select2.select2-container .select2-selection--multiple {
	align-items: flex-start;
	flex-wrap: wrap;
	gap: var(--uui-space-4, 4px);
}
.uui-select2.select2-container .select2-selection__placeholder {
	color: var(--uui-color-placeholder) !important;
}
.uui-select2.select2-container .select2-selection--single .select2-selection__arrow {
	position: absolute;
	top: 50%;
	right: var(--uui-input-padding-x, var(--uui-control-padding-x, 16px));
	width: var(--uui-space-16, 16px);
	height: var(--uui-space-16, 16px);
	transform: translateY(-50%);
}
.uui-select2.select2-container .select2-selection--single .select2-selection__arrow b {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	margin: -2px 0 0 -4px;
	border-color: var(--uui-color-muted) transparent transparent;
	border-style: solid;
	border-width: 5px 4px 0;
}
.uui-select2.select2-container--open .select2-selection--single,
.uui-select2.select2-container--focus .select2-selection--single,
.uui-select2.select2-container--focus .select2-selection--multiple {
	border-color: var(--uui-color-focus) !important;
	box-shadow: var(--uui-shadow-focus, 0 0 0 3px rgba(49,86,184,.18)) !important;
}
.uui-select2.select2-container--disabled .select2-selection--single,
.uui-select2.select2-container--disabled .select2-selection--multiple {
	background: var(--uui-color-disabled-surface) !important;
	border-color: var(--uui-color-disabled-border) !important;
	color: var(--uui-color-disabled) !important;
	opacity: var(--uui-disabled-opacity, .72);
	cursor: not-allowed;
}
.uui-field.has-error .uui-select2 .select2-selection--single,
.uui-field.has-error .uui-select2 .select2-selection--multiple {
	border-color: var(--uui-color-danger) !important;
	box-shadow: 0 0 0 3px var(--uui-color-danger-soft) !important;
}
.uui-field.has-success .uui-select2 .select2-selection--single,
.uui-field.has-success .uui-select2 .select2-selection--multiple {
	border-color: var(--uui-color-success) !important;
	box-shadow: 0 0 0 3px var(--uui-color-success-soft) !important;
}
.uui-select2-dropdown.select2-dropdown {
	border: var(--uui-border-width, 1px) solid var(--uui-color-border) !important;
	border-radius: var(--uui-radius-control, 11px) !important;
	background: var(--uui-color-surface) !important;
	box-shadow: var(--uui-shadow-md, 0 10px 30px rgba(17,24,39,.10)) !important;
	color: var(--uui-color-text) !important;
	overflow: hidden;
}
.uui-select2-dropdown .select2-search--dropdown { padding: var(--uui-space-8, 8px); }
.uui-select2-dropdown .select2-search__field {
	width: 100%;
	min-height: var(--uui-control-height-sm, 38px);
	padding: 8px var(--uui-input-padding-x, var(--uui-control-padding-x, 16px));
	border: var(--uui-border-width, 1px) solid var(--uui-color-border) !important;
	border-radius: var(--uui-radius-control, 11px) !important;
	background: var(--uui-color-input) !important;
	color: var(--uui-color-text) !important;
}
.uui-select2-dropdown .select2-results__options {
	max-height: min(40vh, 320px);
	overflow-y: auto;
}
.uui-select2-dropdown .select2-results__option {
	padding: var(--uui-space-10, 10px) var(--uui-space-12, 12px);
	background: var(--uui-color-surface) !important;
	color: var(--uui-color-text) !important;
	cursor: pointer;
}
.uui-select2-dropdown .select2-results__option[aria-selected="true"],
.uui-select2-dropdown .select2-results__option--selected {
	background: var(--uui-color-primary-soft) !important;
	color: var(--uui-color-primary) !important;
}
.uui-select2-dropdown .select2-results__option--highlighted[aria-selected] {
	background: var(--uui-color-primary) !important;
	color: var(--uui-color-on-primary) !important;
}
.uui-select2-dropdown .select2-results__message {
	color: var(--uui-color-muted) !important;
}

/* =========================================================
 * BADGES E ALERTAS
 * ======================================================= */
.uui-badge {
	justify-self: start;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--uui-space-4, 4px);
	min-height: var(--uui-badge-height, 24px);
	padding: 3px var(--uui-badge-padding-x, 9px);
	border: var(--uui-border-width, 1px) solid transparent;
	border-radius: var(--uui-radius-pill, 999px);
	background: var(--uui-color-surface-soft);
	color: var(--uui-color-text);
	font-family: var(--uui-font-control, inherit);
	font-size: var(--uui-badge-font-size, var(--uui-font-size-xs, 11px));
	font-weight: var(--uui-font-control-weight, 700);
	line-height: 1.1;
}
.uui-badge--primary { background: var(--uui-color-primary-soft); color: var(--uui-color-primary); border-color: var(--uui-color-primary-soft); }
.uui-badge--success { background: var(--uui-color-success-soft); color: var(--uui-color-success); border-color: var(--uui-color-success-soft); }
.uui-badge--warning { background: var(--uui-color-warning-soft); color: var(--uui-color-warning); border-color: var(--uui-color-warning-soft); }
.uui-badge--danger { background: var(--uui-color-danger-soft); color: var(--uui-color-danger); border-color: var(--uui-color-danger-soft); }
.uui-badge--info { background: var(--uui-color-info-soft); color: var(--uui-color-info); border-color: var(--uui-color-info-soft); }

.uui-alert {
	display: flex;
	align-items: flex-start;
	gap: var(--uui-space-10, 10px);
	padding: var(--uui-space-12, 12px) var(--uui-space-16, 16px);
	border: var(--uui-alert-border-width, var(--uui-border-width, 1px)) solid var(--uui-color-border);
	border-radius: var(--uui-alert-radius, var(--uui-radius-control, 11px));
	background: var(--uui-color-surface-soft);
	color: var(--uui-color-text);
	font-family: var(--uui-font-body, inherit);
	font-size: var(--uui-font-size-sm, 12px);
	line-height: 1.45;
}
.uui-alert strong { color: inherit; }
.uui-alert--primary { background: var(--uui-color-primary-soft); border-color: var(--uui-color-primary); color: var(--uui-color-primary); }
.uui-alert--neutral { background: var(--uui-color-surface-soft); border-color: var(--uui-color-border-strong); color: var(--uui-color-muted); }
.uui-alert--success { background: var(--uui-color-success-soft); border-color: var(--uui-color-success); color: var(--uui-color-success); }
.uui-alert--warning { background: var(--uui-color-warning-soft); border-color: var(--uui-color-warning); color: var(--uui-color-warning); }
.uui-alert--danger { background: var(--uui-color-danger-soft); border-color: var(--uui-color-danger); color: var(--uui-color-danger); }
.uui-alert--info { background: var(--uui-color-info-soft); border-color: var(--uui-color-info); color: var(--uui-color-info); }


/* =========================================================
 * NAVEGAÇÃO POR ABAS E PROGRESSO EM ETAPAS
 * ======================================================= */
.uui-tabs {
	display: flex;
	align-items: stretch;
	gap: var(--uui-tabs-gap, 20px);
	width: 100%;
	min-width: 0;
	overflow-x: auto;
	overflow-y: hidden;
	border-bottom: var(--uui-border-width, 1px) solid var(--uui-color-border);
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.uui-tabs::-webkit-scrollbar { display: none; }

.uui-tab:not(.elementor-widget-button),
button.uui-tab,
a.uui-tab,
.elementor-widget-button.uui-tab .elementor-button {
	position: relative;
	appearance: none;
	-webkit-appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--uui-space-6, 6px);
	min-height: var(--uui-tabs-height, 44px);
	padding: 0 var(--uui-tabs-padding-x, 2px);
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--uui-color-muted);
	font-family: var(--uui-font-control, inherit);
	font-size: var(--uui-tabs-font-size, 14px);
	font-weight: var(--uui-font-control-weight, 700);
	line-height: var(--uui-font-control-line-height, 1.2);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition:
		color var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		background-color var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		border-color var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease),
		opacity var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease);
}

.uui-tab:not(.elementor-widget-button)::after,
.elementor-widget-button.uui-tab .elementor-button::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: calc(var(--uui-border-width, 1px) * -1);
	height: var(--uui-tabs-indicator-height, 3px);
	border-radius: var(--uui-radius-pill, 999px) var(--uui-radius-pill, 999px) 0 0;
	background: var(--uui-color-primary);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease);
}

.uui-tab:not(.elementor-widget-button):hover,
.elementor-widget-button.uui-tab .elementor-button:hover { color: var(--uui-color-primary); }

.uui-tab.is-active:not(.elementor-widget-button),
.uui-tab[aria-selected="true"]:not(.elementor-widget-button),
.elementor-widget-button.uui-tab.is-active .elementor-button,
.elementor-widget-button.uui-tab .elementor-button[aria-selected="true"] {
	color: var(--uui-color-primary);
}

.uui-tab.is-active:not(.elementor-widget-button)::after,
.uui-tab[aria-selected="true"]:not(.elementor-widget-button)::after,
.elementor-widget-button.uui-tab.is-active .elementor-button::after,
.elementor-widget-button.uui-tab .elementor-button[aria-selected="true"]::after { transform: scaleX(1); }

.uui-tab:not(.elementor-widget-button):focus-visible,
.elementor-widget-button.uui-tab .elementor-button:focus-visible {
	outline: none;
	box-shadow: var(--uui-shadow-focus);
	border-radius: var(--uui-tabs-radius, 10px);
}

.uui-tab:not(.elementor-widget-button)[disabled],
.uui-tab:not(.elementor-widget-button)[aria-disabled="true"],
.uui-tab.is-disabled:not(.elementor-widget-button),
.elementor-widget-button.uui-tab.is-disabled .elementor-button {
	color: var(--uui-color-disabled);
	opacity: var(--uui-disabled-opacity, .55);
	cursor: not-allowed;
	pointer-events: none;
}

.uui-tabs--compact { gap: calc(var(--uui-tabs-gap, 20px) * .7); }
.uui-tabs--compact .uui-tab:not(.elementor-widget-button),
.uui-tabs--compact .elementor-widget-button.uui-tab .elementor-button {
	min-height: calc(var(--uui-tabs-height, 44px) * .86);
	font-size: var(--uui-font-size-sm, 12px);
}

.uui-tabs--full > .uui-tab,
.uui-tabs--full > .elementor-widget-button.uui-tab { flex: 1 1 0; }
.uui-tabs--full .uui-tab:not(.elementor-widget-button),
.uui-tabs--full .elementor-widget-button.uui-tab .elementor-button { width: 100%; }

.uui-tabs--pills {
	gap: var(--uui-space-6, 6px);
	padding: var(--uui-space-4, 4px);
	border: var(--uui-border-width, 1px) solid var(--uui-color-border);
	border-radius: var(--uui-tabs-radius, 10px);
	background: var(--uui-color-surface-soft);
}
.uui-tabs--pills .uui-tab:not(.elementor-widget-button),
.uui-tabs--pills .elementor-widget-button.uui-tab .elementor-button {
	min-height: calc(var(--uui-tabs-height, 44px) - 8px);
	padding-inline: max(var(--uui-space-10, 10px), var(--uui-tabs-padding-x, 2px));
	border-radius: max(0px, calc(var(--uui-tabs-radius, 10px) - 4px));
}
.uui-tabs--pills .uui-tab:not(.elementor-widget-button)::after,
.uui-tabs--pills .elementor-widget-button.uui-tab .elementor-button::after { display: none; }
.uui-tabs--pills .uui-tab.is-active:not(.elementor-widget-button),
.uui-tabs--pills .uui-tab[aria-selected="true"]:not(.elementor-widget-button),
.uui-tabs--pills .elementor-widget-button.uui-tab.is-active .elementor-button,
.uui-tabs--pills .elementor-widget-button.uui-tab .elementor-button[aria-selected="true"] {
	background: var(--uui-color-surface);
	box-shadow: var(--uui-shadow-xs);
}

.uui-tab-panel { min-width: 0; }
.uui-tab-panel[hidden] { display: none !important; }

.uui-stepper {
	display: flex;
	align-items: flex-start;
	width: 100%;
	min-width: 0;
}

.uui-step {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--uui-stepper-gap, 8px);
	text-align: center;
	color: var(--uui-color-muted);
	font-family: var(--uui-font-control, inherit);
	font-size: var(--uui-stepper-font-size, 11px);
	font-weight: var(--uui-font-control-weight, 700);
	line-height: 1.25;
}

.uui-step:not(:first-child)::before {
	content: "";
	position: absolute;
	top: calc((var(--uui-stepper-marker-size, 30px) - var(--uui-stepper-line-size, 3px)) / 2);
	right: 50%;
	width: 100%;
	height: var(--uui-stepper-line-size, 3px);
	background: var(--uui-color-border-strong);
	z-index: 0;
}

.uui-step__marker {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--uui-stepper-marker-size, 30px);
	height: var(--uui-stepper-marker-size, 30px);
	flex: 0 0 var(--uui-stepper-marker-size, 30px);
	border: var(--uui-border-width, 1px) solid var(--uui-color-border-strong);
	border-radius: var(--uui-radius-pill, 999px);
	background: var(--uui-color-surface);
	color: var(--uui-color-muted);
	font-family: var(--uui-font-control, inherit);
	font-size: var(--uui-stepper-font-size, 11px);
	font-weight: var(--uui-font-control-weight, 700);
}

.uui-step__marker svg {
	width: var(--uui-stepper-icon-size, 15px);
	height: var(--uui-stepper-icon-size, 15px);
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.uui-step__label {
	display: block;
	max-width: 100%;
	color: inherit;
	font: inherit;
}
.uui-step__description {
	display: block;
	color: var(--uui-color-muted);
	font-family: var(--uui-font-body, inherit);
	font-size: var(--uui-font-size-xs, 11px);
	font-weight: var(--uui-font-body-weight, 400);
}

.uui-step.is-complete,
.uui-step.is-current,
.uui-step[aria-current="step"] { color: var(--uui-color-primary); }
.uui-step.is-complete::before,
.uui-step.is-current::before,
.uui-step[aria-current="step"]::before { background: var(--uui-color-primary); }
.uui-step.is-complete .uui-step__marker {
	border-color: var(--uui-color-primary);
	background: var(--uui-color-primary);
	color: var(--uui-color-on-primary);
}
.uui-step.is-current .uui-step__marker,
.uui-step[aria-current="step"] .uui-step__marker {
	border-color: var(--uui-color-primary);
	background: var(--uui-color-primary-soft);
	color: var(--uui-color-primary);
	box-shadow: var(--uui-shadow-focus);
}
.uui-step.has-error { color: var(--uui-color-danger); }
.uui-step.has-error::before { background: var(--uui-color-danger); }
.uui-step.has-error .uui-step__marker {
	border-color: var(--uui-color-danger);
	background: var(--uui-color-danger-soft);
	color: var(--uui-color-danger);
}

.uui-stepper--compact .uui-step__marker {
	width: calc(var(--uui-stepper-marker-size, 30px) * .86);
	height: calc(var(--uui-stepper-marker-size, 30px) * .86);
	flex-basis: calc(var(--uui-stepper-marker-size, 30px) * .86);
}
.uui-stepper--compact .uui-step:not(:first-child)::before {
	top: calc(((var(--uui-stepper-marker-size, 30px) * .86) - var(--uui-stepper-line-size, 3px)) / 2);
}

/* Variante em trilhos para fluxos compactos com progresso no topo da tarefa. */
.uui-stepper--rail {
	display: grid;
	grid-template-columns: repeat(var(--uui-step-count, 3), minmax(24px, 1fr));
	gap: var(--uui-space-4, 4px);
}
.uui-stepper--rail .uui-step {
	display: block;
	min-width: 0;
	color: var(--uui-color-border-strong);
}
.uui-stepper--rail .uui-step::before { display: none; }
.uui-stepper--rail .uui-step__marker {
	display: block;
	width: 100%;
	height: max(4px, var(--uui-stepper-line-size, 3px));
	min-height: 0;
	flex: none;
	border: 0;
	border-radius: var(--uui-radius-pill, 999px);
	background: var(--uui-color-border-strong);
	color: transparent;
	font-size: 0;
	box-shadow: none;
}
.uui-stepper--rail .uui-step__content,
.uui-stepper--rail .uui-step__label,
.uui-stepper--rail .uui-step__description { display: none; }
.uui-stepper--rail .uui-step.is-complete .uui-step__marker,
.uui-stepper--rail .uui-step.is-current .uui-step__marker,
.uui-stepper--rail .uui-step[aria-current="step"] .uui-step__marker {
	background: var(--uui-color-primary);
}
.uui-stepper--rail .uui-step.is-current .uui-step__marker,
.uui-stepper--rail .uui-step[aria-current="step"] .uui-step__marker {
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--uui-color-primary) 18%, transparent);
}
.uui-stepper--rail .uui-step.has-error .uui-step__marker { background: var(--uui-color-danger); }

.uui-stepper--vertical {
	flex-direction: column;
	align-items: stretch;
	gap: 0;
}
.uui-stepper--vertical .uui-step {
	min-height: calc(var(--uui-stepper-marker-size, 30px) + var(--uui-space-16, 16px));
	flex: 0 0 auto;
	flex-direction: row;
	align-items: flex-start;
	justify-content: flex-start;
	text-align: left;
}
.uui-stepper--vertical .uui-step:not(:first-child)::before {
	top: calc(var(--uui-stepper-marker-size, 30px) * -1);
	left: calc((var(--uui-stepper-marker-size, 30px) - var(--uui-stepper-line-size, 3px)) / 2);
	right: auto;
	width: var(--uui-stepper-line-size, 3px);
	height: var(--uui-stepper-marker-size, 30px);
}
.uui-stepper--vertical .uui-step__content {
	display: flex;
	flex-direction: column;
	gap: var(--uui-space-2, 2px);
	padding-top: calc((var(--uui-stepper-marker-size, 30px) - 1em) / 2);
}

/* =========================================================
 * MODAIS E OFFCANVAS
 * ======================================================= */
.uui-overlay {
	position: fixed;
	inset: 0;
	z-index: var(--uui-overlay-z, 9998);
	display: grid;
	place-items: center;
	padding: var(--uui-overlay-padding, 16px);
	overflow-y: auto;
	background: var(--uui-overlay-background, var(--uui-color-overlay));
}
.uui-overlay[hidden],
.uui-modal[hidden],
.uui-offcanvas[hidden] { display: none !important; }
.uui-overlay--transparent { --uui-overlay-background: transparent; }
.uui-modal {
	width: min(100%, var(--uui-modal-width, 560px));
	max-height: min(88vh, 820px);
	overflow: auto;
	background: var(--uui-color-surface);
	border: var(--uui-modal-border-width, var(--uui-border-width, 1px)) solid var(--uui-color-border);
	border-radius: var(--uui-radius-modal, 20px);
	box-shadow: var(--uui-shadow-modal, 0 24px 70px rgba(17,24,39,.20));
	padding: var(--uui-space-20, 20px);
	color: var(--uui-color-text);
}
.uui-modal__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--uui-space-12, 12px);
	margin-bottom: var(--uui-space-16, 16px);
}
.uui-modal__title {
	margin: 0;
	font-family: var(--uui-font-heading, inherit);
	font-weight: var(--uui-font-heading-weight, 700);
	font-size: var(--uui-font-size-xl, 20px);
	line-height: var(--uui-font-heading-line-height, 1.2);
	color: var(--uui-color-heading);
}
.uui-modal__body { min-width: 0; }
.uui-modal__footer {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: var(--uui-space-8, 8px);
	margin-top: var(--uui-space-20, 20px);
}

.uui-offcanvas {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: var(--uui-offcanvas-z, 9999);
	width: min(100vw, var(--uui-offcanvas-width, 420px));
	overflow: auto;
	background: var(--uui-color-surface);
	border-left: var(--uui-border-width, 1px) solid var(--uui-color-border);
	box-shadow: var(--uui-shadow-modal, 0 24px 70px rgba(17,24,39,.20));
	padding: var(--uui-space-20, 20px);
	color: var(--uui-color-text);
}
.uui-offcanvas--left {
	left: 0;
	right: auto;
	border-right: var(--uui-border-width, 1px) solid var(--uui-color-border);
	border-left: 0;
}

/* =========================================================
 * ESTADOS VAZIOS E LOADING
 * ======================================================= */
.uui-empty-state {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--uui-space-8, 8px);
	min-height: 180px;
	padding: var(--uui-space-24, 24px);
	text-align: center;
	color: var(--uui-color-muted);
}
.uui-skeleton {
	display: block;
	min-height: 12px;
	border-radius: var(--uui-radius-xs, 6px);
	background: linear-gradient(90deg, var(--uui-color-surface-soft) 25%, var(--uui-color-border) 50%, var(--uui-color-surface-soft) 75%);
	background-size: 200% 100%;
	animation: uui-shimmer 1.35s infinite;
}
.uui-spinner {
	display: inline-block;
	width: 18px;
	height: 18px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: uui-spin .75s linear infinite;
}

/* =========================================================
 * V2 — LAYOUT SYSTEM E PAGE PATTERNS
 * ======================================================= */
.uui-page,
.uui-page-header,
.uui-section__header,
.uui-stack,
.uui-cluster,
.uui-split,
.uui-auto-grid,
.uui-toolbar,
.uui-action-bar,
.uui-breadcrumb,
.uui-pagination,
.uui-progress,
.uui-accordion,
.uui-list,
.uui-table-wrap,
.uui-chip,
.uui-avatar,
.uui-stat,
.uui-kv,
.uui-inline-loading,
.uui-menu,
.uui-menu-wrap,
.uui-timeline,
.uui-quantity,
.uui-progress-ring,
.uui-segmented,
.uui-app-shell,
.uui-toast,
.uui-input-group,
.uui-icon-tile,
.uui-thumbnail,
.uui-feedback {
	box-sizing: border-box;
	font-family: var(--uui-font-body, inherit);
	color: var(--uui-color-text);
}

.uui-page *,
.uui-page-header *,
.uui-section__header *,
.uui-stack *,
.uui-cluster *,
.uui-split *,
.uui-auto-grid *,
.uui-toolbar *,
.uui-action-bar *,
.uui-breadcrumb *,
.uui-pagination *,
.uui-progress *,
.uui-accordion *,
.uui-list *,
.uui-table-wrap *,
.uui-chip *,
.uui-avatar *,
.uui-stat *,
.uui-kv *,
.uui-inline-loading *,
.uui-menu *,
.uui-menu-wrap *,
.uui-timeline *,
.uui-quantity *,
.uui-progress-ring *,
.uui-segmented *,
.uui-app-shell *,
.uui-toast *,
.uui-input-group *,
.uui-icon-tile *,
.uui-thumbnail *,
.uui-feedback * { box-sizing: border-box; }

/* Containers de página. A largura é determinada pelo propósito da tela. */
.uui-page {
	--uui-page-max: var(--uui-page-max-standard, 1180px);
	width: min(100%, var(--uui-page-max));
	margin-inline: auto;
	padding-block: var(--uui-page-padding-y, 32px);
	padding-inline: clamp(var(--uui-page-gutter-mobile, 16px), 3vw, var(--uui-page-gutter, 24px));
	display: grid;
	align-content: start;
	gap: var(--uui-page-gap, 32px);
	min-width: 0;
}
.uui-page--compact { --uui-page-max: var(--uui-page-max-compact, 720px); }
.uui-page--standard { --uui-page-max: var(--uui-page-max-standard, 1180px); }
.uui-page--wide { --uui-page-max: var(--uui-page-max-wide, 1600px); }
.uui-page--fluid { width: 100%; max-width: none; }
.uui-page--flush { padding-block: 0; }

/* Aliases semânticos: descrevem a função da página sem acoplar o Core ao domínio. */
.uui-page--form { --uui-page-max: var(--uui-page-max-compact, 720px); }
.uui-page--flow,
.uui-page--object { --uui-page-max: var(--uui-page-max-standard, 1180px); }
.uui-page--list,
.uui-page--task,
.uui-page--dashboard { --uui-page-max: var(--uui-page-max-wide, 1600px); }

/* Shell opcional para aplicações operacionais. Navegação mobile pode migrar para offcanvas. */
.uui-app-shell {
	min-height: 100vh;
	min-height: 100dvh;
	display: grid;
	grid-template-columns: minmax(0, var(--uui-shell-sidebar-width, 272px)) minmax(0, 1fr);
	background: var(--uui-color-canvas);
	color: var(--uui-color-text);
}
.uui-app-shell__sidebar {
	position: sticky;
	top: 0;
	height: 100vh;
	height: 100dvh;
	overflow: auto;
	padding: var(--uui-content-gap, 16px);
	border-right: var(--uui-border-width, 1px) solid var(--uui-color-border);
	background: var(--uui-color-surface);
}
.uui-app-shell__main { min-width: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); align-content: start; }
.uui-app-shell__topbar {
	position: sticky;
	top: 0;
	z-index: 40;
	min-height: var(--uui-shell-topbar-height, 64px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--uui-cluster-gap, 12px);
	padding-inline: clamp(var(--uui-page-gutter-mobile, 16px), 3vw, var(--uui-page-gutter, 24px));
	border-bottom: var(--uui-border-width, 1px) solid var(--uui-color-border);
	background: var(--uui-color-surface);
}
.uui-app-shell__content { min-width: 0; }

.uui-page-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--uui-content-gap, 16px) var(--uui-section-gap, 24px);
	flex-wrap: wrap;
	min-width: 0;
}
.uui-page-header__main {
	min-width: min(100%, 280px);
	flex: 1 1 440px;
	display: grid;
	gap: var(--uui-space-8, 8px);
}
/* Cabeçalho de navegação: mantém voltar + título na mesma linha em qualquer viewport. */
.uui-page-header--with-back {
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: nowrap;
}
.uui-page-header--with-back > .uui-button--icon { flex: 0 0 auto; }
.uui-page-header--with-back > .uui-page-header__main {
	flex: 1 1 auto;
	min-width: 0;
}
.uui-page-header__eyebrow {
	margin: 0;
	font-family: var(--uui-font-control, inherit);
	font-size: var(--uui-font-size-xs, 11px);
	font-weight: var(--uui-font-control-weight, 700);
	line-height: var(--uui-font-control-line-height, 1.2);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--uui-color-muted);
}
.uui-page-header__title {
	margin: 0;
	font-family: var(--uui-font-heading, inherit);
	font-size: clamp(var(--uui-font-size-xl, 20px), 3vw, var(--uui-font-size-2xl, 28px));
	font-weight: var(--uui-font-heading-weight, 700);
	line-height: var(--uui-font-heading-line-height, 1.2);
	color: var(--uui-color-heading);
}
.uui-page-header__description {
	max-width: 72ch;
	margin: 0;
	font-size: var(--uui-font-size-md, 14px);
	line-height: var(--uui-font-body-line-height, 1.55);
	color: var(--uui-color-muted);
}
.uui-page-header__meta,
.uui-page-header__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--uui-cluster-gap, 12px);
}
.uui-page-header__actions { justify-content: flex-end; }

/* Seção: a V1 preserva padding-block; V2 acrescenta contrato de cabeçalho e corpo. */
.uui-section {
	min-width: 0;
}
.uui-section__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--uui-content-gap, 16px);
	margin-bottom: var(--uui-content-gap, 16px);
}
.uui-section__heading { min-width: 0; display: grid; gap: var(--uui-space-4, 4px); }
.uui-section__title {
	margin: 0;
	font-family: var(--uui-font-heading, inherit);
	font-size: var(--uui-font-size-xl, 20px);
	font-weight: var(--uui-font-heading-weight, 700);
	line-height: var(--uui-font-heading-line-height, 1.2);
	color: var(--uui-color-heading);
}
.uui-section__description {
	margin: 0;
	max-width: 72ch;
	font-size: var(--uui-font-size-md, 14px);
	line-height: var(--uui-font-body-line-height, 1.55);
	color: var(--uui-color-muted);
}
.uui-section__actions { flex: 0 0 auto; display: flex; flex-wrap: wrap; gap: var(--uui-cluster-gap, 12px); }
.uui-section__body { min-width: 0; }

/* Primitivos de composição: sem valores arbitrários nos módulos. */
.uui-stack {
	--uui-stack-gap: var(--uui-content-gap, 16px);
	display: flex;
	flex-direction: column;
	gap: var(--uui-stack-gap);
	min-width: 0;
}
.uui-stack--xs { --uui-stack-gap: var(--uui-space-4, 4px); }
.uui-stack--sm { --uui-stack-gap: var(--uui-space-8, 8px); }
.uui-stack--lg { --uui-stack-gap: var(--uui-section-gap, 24px); }
.uui-stack--xl { --uui-stack-gap: var(--uui-page-gap, 32px); }
.uui-cluster {
	--uui-cluster-current-gap: var(--uui-cluster-gap, 12px);
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--uui-cluster-current-gap);
	min-width: 0;
}
.uui-cluster--sm { --uui-cluster-current-gap: var(--uui-space-8, 8px); }
.uui-cluster--lg { --uui-cluster-current-gap: var(--uui-content-gap, 16px); }
.uui-split {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--uui-content-gap, 16px);
	min-width: 0;
}
.uui-auto-grid {
	--uui-grid-min: 240px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--uui-grid-min)), 1fr));
	gap: var(--uui-content-gap, 16px);
	min-width: 0;
}
.uui-auto-grid--fill {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--uui-grid-min)), 1fr));
	align-items: start;
}
.uui-auto-grid--compact { --uui-grid-min: 180px; }
.uui-auto-grid--wide { --uui-grid-min: 320px; }

/* Densidade é contextual: compact para mouse/dados; touch para operação em tela tátil. */
.uui-density--compact,
[data-uui-density="compact"] {
	--uui-button-height: var(--uui-control-height-sm, 38px);
	--uui-input-height: var(--uui-control-height-sm, 38px);
	--uui-card-padding: var(--uui-space-12, 12px);
	--uui-table-row-height: 40px;
}
.uui-density--touch,
[data-uui-density="touch"] {
	--uui-button-height: max(var(--uui-button-height-base, 46px), var(--uui-touch-target, 48px));
	--uui-input-height: max(var(--uui-input-height-base, 46px), var(--uui-touch-target, 48px));
	--uui-choice-size: max(20px, var(--uui-choice-size-base, 18px));
	--uui-table-row-height: max(52px, var(--uui-table-row-height-base, 48px));
}

.uui-density--touch .uui-choice,
[data-uui-density="touch"] .uui-choice,
.uui-density--touch .uui-switch,
[data-uui-density="touch"] .uui-switch { min-height: var(--uui-touch-target, 48px); }

.uui-density--touch .uui-menu__item,
[data-uui-density="touch"] .uui-menu__item { min-height: var(--uui-touch-target, 48px); }

/* Toolbar para busca, filtros, ordenação e ações. */
.uui-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--uui-cluster-gap, 12px);
	flex-wrap: wrap;
	min-width: 0;
}
.uui-toolbar--surface {
	padding: var(--uui-space-12, 12px);
	border: var(--uui-border-width, 1px) solid var(--uui-color-border);
	border-radius: var(--uui-radius-card, 16px);
	background: var(--uui-color-surface);
}
/* Cabeçalho/comando persistente para estações de trabalho e páginas longas. */
.uui-toolbar--sticky {
	position: sticky;
	top: var(--uui-toolbar-sticky-top, 0);
	z-index: var(--uui-toolbar-sticky-z, 40);
}
.uui-toolbar__primary,
.uui-toolbar__secondary,
.uui-toolbar__actions {
	display: flex;
	align-items: center;
	gap: var(--uui-cluster-gap, 12px);
	flex-wrap: wrap;
	min-width: 0;
}
.uui-toolbar__primary { flex: 1 1 360px; }
.uui-toolbar__secondary { flex: 0 1 auto; }
.uui-toolbar__actions { flex: 0 0 auto; margin-inline-start: auto; }
.uui-toolbar__search { flex: 1 1 260px; min-width: min(100%, 200px); }
.uui-toolbar__primary > .uui-select,
.uui-toolbar__secondary > .uui-select { width: auto; flex: 0 1 220px; }

/* =========================================================
 * V2.2 — ESTAÇÕES DE TRABALHO E COMMAND BARS
 * ======================================================= */
/* Command bar de três zonas: identidade, tarefa corrente e estado/ações. */
.uui-commandbar {
	--uui-commandbar-brand-min: 0px;
	--uui-commandbar-task-min: 280px;
	display: grid;
	grid-template-columns: minmax(var(--uui-commandbar-brand-min), auto) minmax(var(--uui-commandbar-task-min), 1fr) auto;
	align-items: center;
	gap: var(--uui-cluster-gap, 12px);
	min-width: 0;
}
.uui-commandbar__brand,
.uui-commandbar__status {
	display: flex;
	align-items: center;
	gap: var(--uui-space-8, 8px);
	min-width: 0;
}
.uui-commandbar__task {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	width: 100%;
}
.uui-commandbar__status { justify-content: flex-end; }

/* Workbench: área principal + painel de trabalho/inspeção.
 * O módulo pode ajustar apenas as proporções pelas custom properties. */
.uui-workbench {
	--uui-workbench-aside-min: 320px;
	--uui-workbench-aside-width: 420px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(var(--uui-workbench-aside-min), var(--uui-workbench-aside-width));
	min-width: 0;
	min-height: 0;
	overflow: hidden;
}
.uui-workbench__main,
.uui-workbench__aside { min-width: 0; min-height: 0; }

/* Task layout: contexto/resumo + superfície da tarefa. */
.uui-task-layout {
	--uui-task-summary-width: 320px;
	--uui-task-layout-gap: var(--uui-section-gap, 24px);
	display: grid;
	grid-template-columns: minmax(260px, var(--uui-task-summary-width)) minmax(0, 1fr);
	gap: var(--uui-task-layout-gap);
	min-width: 0;
	min-height: 0;
}
.uui-task-layout__summary,
.uui-task-layout__main { min-width: 0; min-height: 0; }

/* Região de rolagem interna para listas, catálogos e painéis de tarefa. */
.uui-scroll-region {
	min-width: 0;
	min-height: 0;
	overflow: auto;
	overscroll-behavior: contain;
}

/* Variações universais de largura/scroll de modal. */
.uui-modal--sm { --uui-modal-width: 460px; }
.uui-modal--wide { --uui-modal-width: 880px; }
.uui-modal--xl { --uui-modal-width: 1080px; }
.uui-modal--scrollable {
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
.uui-modal--scrollable > .uui-modal__body { overflow: auto; }

/* Ações persistentes para fluxos e tarefas longas. */
.uui-action-bar {
	position: sticky;
	bottom: 0;
	z-index: 30;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--uui-content-gap, 16px);
	padding: var(--uui-space-12, 12px) clamp(var(--uui-page-gutter-mobile, 16px), 3vw, var(--uui-page-gutter, 24px));
	border-top: var(--uui-border-width, 1px) solid var(--uui-color-border);
	background: color-mix(in srgb, var(--uui-color-surface) 94%, transparent);
	box-shadow: 0 -8px 24px rgba(17,24,39,.06);
	backdrop-filter: blur(10px);
}
.uui-action-bar__summary { min-width: 0; color: var(--uui-color-muted); font-size: var(--uui-font-size-sm, 12px); }
.uui-action-bar__actions { display: flex; align-items: center; justify-content: flex-end; gap: var(--uui-cluster-gap, 12px); flex-wrap: wrap; }
/* Variante embutida para ações ao fim de cards/seções, sem comportamento sticky. */
.uui-action-bar--inline {
	position: static;
	z-index: auto;
	margin-top: auto;
	padding: var(--uui-space-12, 12px) 0 0;
	border-top: var(--uui-border-width, 1px) solid var(--uui-color-border);
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
}

/* =========================================================
 * V2 — NAVEGAÇÃO E PROGRESSO
 * ======================================================= */
.uui-breadcrumb {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--uui-space-6, 6px);
	font-size: var(--uui-font-size-sm, 12px);
	color: var(--uui-color-muted);
}
.uui-breadcrumb__item { display: inline-flex; align-items: center; min-width: 0; }
.uui-breadcrumb__item:not(:last-child)::after {
	content: "/";
	margin-inline-start: var(--uui-space-6, 6px);
	color: var(--uui-color-border-strong);
}
.uui-breadcrumb a { color: var(--uui-color-link); text-decoration: none; }
.uui-breadcrumb a:hover { text-decoration: underline; text-underline-offset: 3px; }
.uui-breadcrumb a:focus-visible { outline: 2px solid var(--uui-color-focus); outline-offset: 3px; border-radius: var(--uui-radius-xs, 6px); }
.uui-breadcrumb [aria-current="page"] { color: var(--uui-color-text); font-weight: 700; }

.uui-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: var(--uui-space-6, 6px);
}
.uui-pagination__item,
.uui-pagination a,
.uui-pagination button {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--uui-pagination-size, 40px);
	min-height: var(--uui-pagination-size, 40px);
	padding-inline: var(--uui-space-8, 8px);
	border: var(--uui-border-width, 1px) solid var(--uui-color-border);
	border-radius: var(--uui-radius-control, 11px);
	background: var(--uui-color-surface);
	color: var(--uui-color-text);
	font-family: var(--uui-font-control, inherit);
	font-size: var(--uui-font-size-sm, 12px);
	font-weight: var(--uui-font-control-weight, 700);
	text-decoration: none;
	cursor: pointer;
}
.uui-pagination__item:hover,
.uui-pagination a:hover,
.uui-pagination button:hover { border-color: var(--uui-color-border-strong); background: var(--uui-color-surface-soft); }
.uui-pagination__item:focus-visible,
.uui-pagination a:focus-visible,
.uui-pagination button:focus-visible { outline: none; box-shadow: var(--uui-shadow-focus); }
.uui-pagination .is-current,
.uui-pagination [aria-current="page"] { background: var(--uui-color-primary); border-color: var(--uui-color-primary); color: var(--uui-color-on-primary); }
.uui-pagination [disabled],
.uui-pagination [aria-disabled="true"] { opacity: var(--uui-disabled-opacity, .55); pointer-events: none; cursor: not-allowed; }

.uui-progress {
	--uui-progress-value: 0%;
	display: grid;
	gap: var(--uui-space-8, 8px);
	width: 100%;
	min-width: 0;
}
.uui-progress__track {
	position: relative;
	width: 100%;
	height: var(--uui-progress-height, 8px);
	overflow: hidden;
	border-radius: var(--uui-radius-pill, 999px);
	background: var(--uui-color-border);
}
.uui-progress__bar {
	position: absolute;
	inset: 0 auto 0 0;
	width: clamp(0%, var(--uui-progress-value), 100%);
	border-radius: inherit;
	background: var(--uui-color-primary);
	transition: width var(--uui-transition-normal, 240ms) var(--uui-ease-standard, ease);
}
.uui-progress__meta { display: flex; justify-content: space-between; gap: var(--uui-space-12, 12px); font-size: var(--uui-font-size-sm, 12px); color: var(--uui-color-muted); }
.uui-progress--success .uui-progress__bar { background: var(--uui-color-success); }
.uui-progress--warning .uui-progress__bar { background: var(--uui-color-warning); }
.uui-progress--danger .uui-progress__bar { background: var(--uui-color-danger); }
.uui-progress.is-indeterminate .uui-progress__bar,
.uui-progress:not([aria-valuenow]) .uui-progress__bar {
	width: 35%;
	animation: uui-progress-indeterminate 1.25s infinite var(--uui-ease-standard, ease);
}

/* =========================================================
 * V2 — DISCLOSURE / ACCORDION
 * ======================================================= */
.uui-accordion {
	border-block: var(--uui-border-width, 1px) solid var(--uui-color-border);
}
.uui-accordion__item + .uui-accordion__item { border-top: var(--uui-border-width, 1px) solid var(--uui-color-border); }
.uui-accordion__heading { margin: 0; }
.uui-accordion__trigger {
	appearance: none;
	width: 100%;
	min-height: max(var(--uui-button-height-base, 46px), var(--uui-touch-target, 48px));
	padding: var(--uui-space-12, 12px) 0;
	border: 0;
	background: transparent;
	color: var(--uui-color-heading);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--uui-content-gap, 16px);
	font-family: var(--uui-font-control, inherit);
	font-size: var(--uui-font-size-md, 14px);
	font-weight: var(--uui-font-control-weight, 700);
	text-align: left;
	cursor: pointer;
}
.uui-accordion__trigger:hover { color: var(--uui-color-primary); }
.uui-accordion__trigger:focus-visible { outline: none; box-shadow: inset 0 0 0 2px var(--uui-color-focus); border-radius: var(--uui-radius-xs, 6px); }
.uui-accordion__chevron {
	width: 10px;
	height: 10px;
	flex: 0 0 10px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease);
}
.uui-accordion__trigger[aria-expanded="true"] .uui-accordion__chevron { transform: rotate(225deg) translate(-2px, -2px); }
.uui-accordion__panel { padding: 0 0 var(--uui-space-16, 16px); color: var(--uui-color-text); }
.uui-accordion__panel[hidden] { display: none !important; }

/* =========================================================
 * V2 — LISTAS, TABELAS E DADOS
 * ======================================================= */
.uui-list { margin: 0; padding: 0; list-style: none; display: grid; }
.uui-list--divided > .uui-list-item + .uui-list-item { border-top: var(--uui-border-width, 1px) solid var(--uui-color-border); }
.uui-list--flush > .uui-list-item { padding-inline: 0; }
.uui-list-item {
	display: flex;
	align-items: center;
	gap: var(--uui-content-gap, 16px);
	min-width: 0;
	padding-block: var(--uui-space-12, 12px);
}
.uui-list-item--stacked { display: grid; align-items: stretch; }
button.uui-list-item,
a.uui-list-item {
	appearance: none !important;
	-webkit-appearance: none !important;
	width: 100%;
	margin: 0 !important;
	border: 0 !important;
	border-radius: var(--uui-radius-control, 10px);
	background: transparent !important;
	color: var(--uui-color-text) !important;
	font-family: var(--uui-font-body, inherit) !important;
	font-size: var(--uui-font-size-md, 14px) !important;
	font-weight: var(--uui-font-body-weight, 400) !important;
	line-height: var(--uui-font-body-line-height, 1.45) !important;
	text-align: left !important;
	text-decoration: none !important;
	box-shadow: none !important;
}
.uui-list-item__leading { flex: 0 0 auto; }
.uui-list-item__main { flex: 1 1 auto; min-width: 0; display: grid; gap: var(--uui-space-4, 4px); }
.uui-list-item__title { margin: 0; color: var(--uui-color-heading) !important; font-family: var(--uui-font-control, inherit); font-weight: var(--uui-font-control-weight, 700); }
.uui-list-item__description,
.uui-list-item__meta { color: var(--uui-color-muted) !important; font-size: var(--uui-font-size-sm, 12px); }
.uui-list-item__meta { display: flex; align-items: center; flex-wrap: wrap; gap: var(--uui-space-8, 8px); }
.uui-list-item__actions { flex: 0 0 auto; display: flex; align-items: center; gap: var(--uui-space-8, 8px); }
.uui-list-item--interactive { cursor: pointer; transition: background-color var(--uui-transition-fast, 160ms), box-shadow var(--uui-transition-fast, 160ms); }
.uui-list-item--interactive:hover { background: var(--uui-color-surface-soft) !important; }
.uui-list-item--interactive:focus-visible { outline: none; box-shadow: var(--uui-shadow-focus) !important; }
.uui-list-item--interactive:disabled,
.uui-list-item--interactive[aria-disabled="true"] { color: var(--uui-color-disabled) !important; cursor: not-allowed; opacity: var(--uui-disabled-opacity, .62); }
.uui-list-item--active { background: var(--uui-color-primary-soft); }
.uui-list-item--success { background: var(--uui-color-success-soft); }
.uui-list-item--warning { background: var(--uui-color-warning-soft); }
.uui-list-item--danger { background: var(--uui-color-danger-soft); }

.uui-table-wrap {
	width: 100%;
	min-width: 0;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	border: var(--uui-border-width, 1px) solid var(--uui-color-border);
	border-radius: var(--uui-radius-card, 16px);
	background: var(--uui-color-surface);
}
.uui-table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	font-family: var(--uui-font-body, inherit);
	font-size: var(--uui-font-size-md, 14px);
	color: var(--uui-color-text);
}
.uui-table th,
.uui-table td {
	height: var(--uui-table-row-height, 48px);
	padding: var(--uui-space-10, 10px) var(--uui-space-12, 12px);
	border-bottom: var(--uui-border-width, 1px) solid var(--uui-color-border);
	text-align: left;
	vertical-align: middle;
}
.uui-table th {
	background: var(--uui-color-surface-soft);
	color: var(--uui-color-label);
	font-family: var(--uui-font-control, inherit);
	font-size: var(--uui-font-size-sm, 12px);
	font-weight: var(--uui-font-control-weight, 700);
	white-space: nowrap;
}
.uui-table tbody tr:last-child td { border-bottom: 0; }
.uui-table tbody tr:hover { background: color-mix(in srgb, var(--uui-color-surface-soft) 65%, transparent); }
.uui-table--compact th,
.uui-table--compact td { padding-block: var(--uui-space-6, 6px); }
.uui-table__actions { display: flex; justify-content: flex-end; align-items: center; gap: var(--uui-space-6, 6px); white-space: nowrap; }

.uui-kv {
	display: grid;
	grid-template-columns: minmax(120px, .8fr) minmax(0, 1.5fr);
	gap: var(--uui-space-8, 8px) var(--uui-content-gap, 16px);
	margin: 0;
}
.uui-kv dt { margin: 0; color: var(--uui-color-muted); font-size: var(--uui-font-size-sm, 12px); }
.uui-kv dd { margin: 0; color: var(--uui-color-text); overflow-wrap: anywhere; }
.uui-kv--stacked { grid-template-columns: 1fr; gap: var(--uui-space-4, 4px); }

.uui-stat {
	display: grid;
	gap: var(--uui-space-4, 4px);
	min-width: 0;
}
.uui-stat__label { color: var(--uui-color-muted); font-size: var(--uui-font-size-sm, 12px); }
.uui-stat__value { color: var(--uui-color-heading); font-family: var(--uui-font-accent, var(--uui-font-heading, inherit)); font-size: var(--uui-font-size-2xl, 28px); font-weight: var(--uui-font-accent-weight, 700); line-height: 1.1; }
.uui-stat__value.uui-price { color: var(--uui-color-accent); font-size: var(--uui-font-size-2xl, 28px); }
.uui-stat__meta { color: var(--uui-color-muted); font-size: var(--uui-font-size-xs, 11px); }
.uui-stat__trend--up { color: var(--uui-color-success); }
.uui-stat__trend--down { color: var(--uui-color-danger); }

/* =========================================================
 * V2.1 — INPUT GROUP E ICON TILE
 * ======================================================= */
.uui-input-group {
	--uui-input-group-height: var(--uui-input-height, var(--uui-control-height, 46px));
	display: flex;
	align-items: stretch;
	width: 100%;
	min-width: 0;
	min-height: var(--uui-input-group-height);
	border: var(--uui-input-border-width, var(--uui-border-width, 1px)) solid var(--uui-color-border);
	border-radius: var(--uui-input-radius, var(--uui-radius-control, 11px));
	background: var(--uui-color-input);
	color: var(--uui-color-text);
	box-shadow: none;
	transition: border-color var(--uui-transition-fast, 160ms), box-shadow var(--uui-transition-fast, 160ms), background-color var(--uui-transition-fast, 160ms);
	overflow: hidden;
}
.uui-input-group:focus-within {
	border-color: var(--uui-color-focus);
	box-shadow: var(--uui-shadow-focus, 0 0 0 3px rgba(49,86,184,.18));
}
.uui-input-group.has-error,
.uui-input-group:has(.uui-input[aria-invalid="true"]) {
	border-color: var(--uui-color-danger);
	box-shadow: 0 0 0 3px var(--uui-color-danger-soft);
}
.uui-input-group.is-disabled,
.uui-input-group:has(.uui-input:disabled) {
	background: var(--uui-color-disabled-surface);
	border-color: var(--uui-color-disabled-border);
	color: var(--uui-color-disabled);
	opacity: var(--uui-disabled-opacity, .72);
}
.uui-input-group__leading,
.uui-input-group__trailing {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--uui-space-6, 6px);
	min-width: var(--uui-input-group-height);
	padding-inline: var(--uui-space-10, 10px);
	color: var(--uui-color-muted);
	font-family: var(--uui-font-control, inherit);
	font-size: var(--uui-font-size-sm, 12px);
	font-weight: var(--uui-font-control-weight, 700);
}
.uui-input-group__leading { padding-right: 0; }
.uui-input-group__trailing { padding-left: 0; }
.uui-input-group > .uui-input,
.uui-input-group__control {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	min-height: calc(var(--uui-input-group-height) - (2 * var(--uui-input-border-width, var(--uui-border-width, 1px))));
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	outline: 0;
}
.uui-input-group > .uui-input:focus,
.uui-input-group__control:focus { border: 0; box-shadow: none; outline: 0; }
.uui-input-group > .uui-input:disabled,
.uui-input-group__control:disabled { background: transparent; border: 0; opacity: 1; }
.uui-input-group__action {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	padding: var(--uui-space-4, 4px);
}
.uui-input-group__action > .uui-button { min-height: calc(var(--uui-input-group-height) - var(--uui-space-8, 8px)); }
.uui-input-group--compact { --uui-input-group-height: var(--uui-control-height-sm, 38px); }
.uui-input-group--large { --uui-input-group-height: var(--uui-control-height-lg, 54px); }

/* Campo de leitura: composição oficial para cesta, local, produto e etiqueta. */
.uui-scan-field {
	display: grid;
	gap: var(--uui-space-6, 6px);
	min-width: 0;
}
.uui-scan-field__control { min-width: 0; }
.uui-scan-field__control > .uui-input { width: 100%; }
.uui-scan-field__feedback { min-height: 1.35em; }
.uui-scan-field__feedback:empty { min-height: 0; }
.uui-scan-field.is-success .uui-input-group { border-color: var(--uui-color-success); }
.uui-scan-field.has-warning .uui-input-group { border-color: var(--uui-color-warning); }
.uui-scan-field.has-error .uui-input-group { border-color: var(--uui-color-danger); }
.uui-scan-field[aria-busy="true"] .uui-input-group__leading { color: var(--uui-color-primary); }

.uui-icon-tile {
	--uui-icon-tile-size: 40px;
	--uui-icon-tile-bg: var(--uui-color-primary-soft);
	--uui-icon-tile-color: var(--uui-color-primary);
	width: var(--uui-icon-tile-size);
	height: var(--uui-icon-tile-size);
	flex: 0 0 var(--uui-icon-tile-size);
	display: inline-grid;
	place-items: center;
	border-radius: var(--uui-radius-control, 11px);
	background: var(--uui-icon-tile-bg);
	color: var(--uui-icon-tile-color);
	line-height: 1;
}
.uui-icon-tile > svg,
.uui-icon-tile > img { max-width: 55%; max-height: 55%; }
.uui-icon-tile--sm { --uui-icon-tile-size: 32px; }
.uui-icon-tile--lg { --uui-icon-tile-size: 56px; }
.uui-icon-tile--xl { --uui-icon-tile-size: 72px; }
.uui-icon-tile--round { border-radius: 50%; }
.uui-icon-tile--primary { --uui-icon-tile-bg: var(--uui-color-primary-soft); --uui-icon-tile-color: var(--uui-color-primary); }
.uui-icon-tile--info { --uui-icon-tile-bg: var(--uui-color-info-soft); --uui-icon-tile-color: var(--uui-color-info); }
.uui-icon-tile--success { --uui-icon-tile-bg: var(--uui-color-success-soft); --uui-icon-tile-color: var(--uui-color-success); }
.uui-icon-tile--warning { --uui-icon-tile-bg: var(--uui-color-warning-soft); --uui-icon-tile-color: var(--uui-color-warning); }
.uui-icon-tile--danger { --uui-icon-tile-bg: var(--uui-color-danger-soft); --uui-icon-tile-color: var(--uui-color-danger); }
.uui-icon-tile--neutral { --uui-icon-tile-bg: var(--uui-color-surface-soft); --uui-icon-tile-color: var(--uui-color-muted); }


/* Miniatura universal para produtos, arquivos, pessoas ou entidades em listas. */
.uui-thumbnail {
	--uui-thumbnail-size: 64px;
	display: grid;
	place-items: center;
	width: var(--uui-thumbnail-size);
	height: var(--uui-thumbnail-size);
	flex: 0 0 var(--uui-thumbnail-size);
	overflow: hidden;
	border: var(--uui-border-width, 1px) solid var(--uui-color-border);
	border-radius: var(--uui-radius-control, 11px);
	background: var(--uui-color-surface);
	color: var(--uui-color-muted);
}
.uui-thumbnail > img,
.uui-thumbnail > picture,
.uui-thumbnail > picture > img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	object-fit: contain !important;
}
.uui-thumbnail--sm { --uui-thumbnail-size: 48px; }
.uui-thumbnail--lg { --uui-thumbnail-size: 88px; }
.uui-thumbnail--xl { --uui-thumbnail-size: 120px; }
.uui-thumbnail--cover > img,
.uui-thumbnail--cover > picture > img { object-fit: cover !important; }
.uui-thumbnail--round { border-radius: 50%; }

/* Feedback curto associado à ação/campo atual; não substitui alertas de página. */
.uui-feedback {
	display: block;
	min-height: 1.25em;
	margin-top: var(--uui-space-6, 6px);
	color: var(--uui-color-muted);
	font-size: var(--uui-font-size-sm, 12px);
	font-weight: 700;
}
.uui-feedback[hidden],
.uui-feedback:empty { display: none !important; }
.uui-feedback--info { color: var(--uui-color-info); }
.uui-feedback--success { color: var(--uui-color-success); }
.uui-feedback--warning { color: var(--uui-color-warning); }
.uui-feedback--danger { color: var(--uui-color-danger); }

/* =========================================================
 * V2 — IDENTIDADE CURTA, LABELS E FEEDBACK
 * ======================================================= */
.uui-avatar {
	--uui-avatar-current-size: var(--uui-avatar-size, 40px);
	width: var(--uui-avatar-current-size);
	height: var(--uui-avatar-current-size);
	flex: 0 0 var(--uui-avatar-current-size);
	display: inline-grid;
	place-items: center;
	overflow: hidden;
	border-radius: 50%;
	background: var(--uui-color-primary-soft);
	color: var(--uui-color-primary);
	font-family: var(--uui-font-control, inherit);
	font-size: calc(var(--uui-avatar-current-size) * .34);
	font-weight: var(--uui-font-control-weight, 700);
}
.uui-avatar img { width: 100%; height: 100%; object-fit: cover; }
.uui-avatar--sm { --uui-avatar-current-size: calc(var(--uui-avatar-size, 40px) * .8); }
.uui-avatar--lg { --uui-avatar-current-size: calc(var(--uui-avatar-size, 40px) * 1.4); }
.uui-avatar--square { border-radius: var(--uui-radius-sm, 8px); }

.uui-chip {
	justify-self: start;
	display: inline-flex;
	align-items: center;
	gap: var(--uui-space-6, 6px);
	min-height: 32px;
	max-width: 100%;
	padding: var(--uui-space-4, 4px) var(--uui-space-10, 10px);
	border: var(--uui-border-width, 1px) solid var(--uui-color-border);
	border-radius: var(--uui-radius-pill, 999px);
	background: var(--uui-color-surface);
	color: var(--uui-color-text);
	font-family: var(--uui-font-control, inherit);
	font-size: var(--uui-font-size-sm, 12px);
	font-weight: var(--uui-font-control-weight, 700);
	line-height: 1.2;
}
.uui-chip--primary { border-color: var(--uui-color-primary-soft); background: var(--uui-color-primary-soft); color: var(--uui-color-primary); }
.uui-chip--info { border-color: var(--uui-color-info-soft); background: var(--uui-color-info-soft); color: var(--uui-color-info); }
.uui-chip--success { border-color: var(--uui-color-success-soft); background: var(--uui-color-success-soft); color: var(--uui-color-success); }
.uui-chip--warning { border-color: var(--uui-color-warning-soft); background: var(--uui-color-warning-soft); color: var(--uui-color-warning); }
.uui-chip--danger { border-color: var(--uui-color-danger-soft); background: var(--uui-color-danger-soft); color: var(--uui-color-danger); }
.uui-chip__remove { appearance: none; display: inline-grid; place-items: center; width: 24px; height: 24px; margin: -2px -6px -2px 0; border: 0; border-radius: 50%; background: transparent; color: currentColor; cursor: pointer; }
.uui-chip__remove:hover { background: color-mix(in srgb, currentColor 10%, transparent); }
.uui-chip__remove:focus-visible { outline: 2px solid var(--uui-color-focus); outline-offset: 1px; }

/* Menu de overflow/dropdown. O wrapper ancora o painel e o JS cuida de teclado/fechamento. */
.uui-menu-wrap { position: relative; display: inline-flex; justify-self: start; min-width: 0; }
.uui-menu {
	position: absolute;
	z-index: 1000;
	top: calc(100% + var(--uui-space-6, 6px));
	left: 0;
	min-width: 200px;
	max-width: min(320px, calc(100vw - 32px));
	padding: var(--uui-space-6, 6px);
	border: var(--uui-border-width, 1px) solid var(--uui-color-border);
	border-radius: var(--uui-radius-control, 11px);
	background: var(--uui-color-surface);
	box-shadow: var(--uui-shadow-card);
	color: var(--uui-color-text);
}
.uui-menu--left { left: 0; right: auto; }
.uui-menu--right { left: auto; right: 0; }
.uui-menu[hidden] { display: none !important; }
.uui-menu__label {
	display: block;
	padding: var(--uui-space-6, 6px) var(--uui-space-10, 10px);
	color: var(--uui-color-muted);
	font-family: var(--uui-font-control, inherit);
	font-size: var(--uui-font-size-xs, 11px);
	font-weight: var(--uui-font-control-weight, 700);
	text-transform: uppercase;
	letter-spacing: .04em;
}
.uui-menu__item,
button.uui-menu__item,
a.uui-menu__item,
.uui-scope button.uui-menu__item,
.uui-scope a.uui-menu__item,
.uui-override-strong button.uui-menu__item,
.uui-override-strong a.uui-menu__item {
	appearance: none !important;
	-webkit-appearance: none !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 40px;
	display: flex !important;
	align-items: center;
	justify-content: flex-start !important;
	gap: var(--uui-space-8, 8px);
	margin: 0 !important;
	padding: var(--uui-space-8, 8px) var(--uui-space-10, 10px) !important;
	border: 0 !important;
	border-radius: max(0px, calc(var(--uui-radius-control, 11px) - 3px)) !important;
	background: transparent !important;
	color: var(--uui-color-text) !important;
	font-family: var(--uui-font-control, inherit) !important;
	font-size: var(--uui-font-size-sm, 12px) !important;
	font-weight: var(--uui-font-control-weight, 700) !important;
	line-height: 1.25 !important;
	text-align: left !important;
	text-decoration: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
	cursor: pointer;
}
.uui-menu__item:hover,
.uui-menu__item:focus-visible { outline: none !important; background: var(--uui-color-surface-soft) !important; color: var(--uui-color-primary) !important; box-shadow: none !important; }
.uui-menu__item--danger { color: var(--uui-color-danger) !important; }
.uui-menu__item--danger:hover,
.uui-menu__item--danger:focus-visible { background: var(--uui-color-danger-soft) !important; color: var(--uui-color-danger) !important; }
.uui-menu__item[disabled],
.uui-menu__item[aria-disabled="true"] { color: var(--uui-color-disabled) !important; opacity: var(--uui-disabled-opacity, .55); cursor: not-allowed; pointer-events: none; }
.uui-menu__divider { height: 1px; margin: var(--uui-space-6, 6px); border: 0; background: var(--uui-color-border); }
.uui-menu > p:empty,
.uui-menu > br { display: none !important; }

/* Tooltip visual: data-uui-tooltip complementa aria-label/title em controles compactos. */
[data-uui-tooltip] { position: relative; }
[data-uui-tooltip]::after {
	content: attr(data-uui-tooltip);
	position: absolute;
	z-index: 1100;
	left: 50%;
	bottom: calc(100% + var(--uui-space-8, 8px));
	transform: translate(-50%, 4px);
	max-width: 240px;
	padding: var(--uui-space-6, 6px) var(--uui-space-8, 8px);
	border-radius: var(--uui-radius-xs, 6px);
	background: var(--uui-color-secondary);
	color: var(--uui-color-on-secondary);
	box-shadow: var(--uui-shadow-sm);
	font-family: var(--uui-font-body, inherit);
	font-size: var(--uui-font-size-xs, 11px);
	font-weight: var(--uui-font-body-weight, 400);
	line-height: 1.35;
	white-space: normal;
	width: max-content;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease), transform var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease);
}
[data-uui-tooltip]:hover::after,
[data-uui-tooltip]:focus-visible::after,
[data-uui-tooltip]:focus-within::after { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
[data-uui-tooltip-position="bottom"]::after { top: calc(100% + var(--uui-space-8, 8px)); bottom: auto; transform: translate(-50%, -4px); }
[data-uui-tooltip-position="bottom"]:hover::after,
[data-uui-tooltip-position="bottom"]:focus-visible::after,
[data-uui-tooltip-position="bottom"]:focus-within::after { transform: translate(-50%, 0); }

/* Timeline para histórico, rastreamento e execução sequencial. */
.uui-timeline {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
}
.uui-timeline__item {
	position: relative;
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	gap: var(--uui-content-gap, 16px);
	padding-bottom: var(--uui-section-gap, 24px);
	min-width: 0;
}
.uui-timeline__item:last-child { padding-bottom: 0; }
.uui-timeline__item:not(:last-child)::before {
	content: "";
	position: absolute;
	left: 9px;
	top: 18px;
	bottom: 0;
	width: 2px;
	background: var(--uui-color-border);
}
.uui-timeline__marker {
	position: relative;
	z-index: 1;
	width: 20px;
	height: 20px;
	display: grid;
	place-items: center;
	border: 2px solid var(--uui-color-border-strong);
	border-radius: 50%;
	background: var(--uui-color-surface);
	color: var(--uui-color-muted);
	font-size: 10px;
	font-weight: 700;
}
.uui-timeline__content { min-width: 0; display: grid; gap: var(--uui-space-4, 4px); }
.uui-timeline__title { margin: 0; color: var(--uui-color-heading); font-family: var(--uui-font-control, inherit); font-weight: var(--uui-font-control-weight, 700); }
.uui-timeline__meta { color: var(--uui-color-muted); font-size: var(--uui-font-size-sm, 12px); }
.uui-timeline__item.is-complete .uui-timeline__marker { border-color: var(--uui-color-success); background: var(--uui-color-success); color: var(--uui-color-on-success); }
.uui-timeline__item.is-current .uui-timeline__marker { border-color: var(--uui-color-primary); box-shadow: 0 0 0 4px var(--uui-color-primary-soft); color: var(--uui-color-primary); }
.uui-timeline__item.has-error .uui-timeline__marker { border-color: var(--uui-color-danger); background: var(--uui-color-danger-soft); color: var(--uui-color-danger); }

/* Seletor de quantidade compacto e resistente a estilos globais de button/input. */
.uui-quantity {
	--uui-quantity-control-size: var(--uui-button-height, var(--uui-control-height, 46px));
	--uui-quantity-input-width: 56px;
	align-self: flex-start;
	justify-self: start;
	display: inline-grid;
	grid-template-columns: var(--uui-quantity-control-size) var(--uui-quantity-input-width) var(--uui-quantity-control-size);
	align-items: stretch;
	width: max-content;
	max-width: 100%;
	border: var(--uui-input-border-width, var(--uui-border-width, 1px)) solid var(--uui-color-border-strong, var(--uui-color-border));
	border-radius: var(--uui-input-radius, var(--uui-radius-control, 11px));
	background: var(--uui-color-surface);
	box-shadow: var(--uui-shadow-xs, none);
	overflow: hidden;
}
button.uui-quantity__button,
.uui-scope .uui-quantity__button,
.uui-override-strong .uui-quantity__button {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: grid !important;
	place-items: center !important;
	width: var(--uui-quantity-control-size) !important;
	min-width: var(--uui-quantity-control-size) !important;
	min-height: var(--uui-quantity-control-size) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--uui-color-surface) !important;
	color: var(--uui-color-text) !important;
	font-family: var(--uui-font-control, inherit) !important;
	font-size: var(--uui-font-size-lg, 16px) !important;
	font-weight: var(--uui-font-control-weight, 700) !important;
	line-height: 1 !important;
	box-shadow: none !important;
	cursor: pointer;
}
.uui-quantity__button svg,
.uui-quantity__icon {
	display: block;
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.25;
	pointer-events: none;
}
.uui-quantity__button:hover { background: var(--uui-color-primary-soft) !important; color: var(--uui-color-primary) !important; }
.uui-quantity__button:focus-visible { position: relative; z-index: 2; outline: none; box-shadow: inset 0 0 0 2px var(--uui-color-focus) !important; }
.uui-quantity__button:disabled,
.uui-quantity__button[aria-disabled="true"] { color: var(--uui-color-disabled) !important; background: var(--uui-color-disabled-surface) !important; cursor: not-allowed; }
input.uui-quantity__input,
.uui-scope .uui-quantity__input,
.uui-override-strong .uui-quantity__input {
	appearance: textfield !important;
	-webkit-appearance: none !important;
	width: var(--uui-quantity-input-width) !important;
	min-width: 0 !important;
	min-height: var(--uui-quantity-control-size) !important;
	margin: 0 !important;
	padding: 0 var(--uui-space-4, 4px) !important;
	border: 0 !important;
	border-inline: var(--uui-border-width, 1px) solid var(--uui-color-border) !important;
	border-radius: 0 !important;
	background: var(--uui-color-input) !important;
	color: var(--uui-color-text) !important;
	font-family: var(--uui-font-control, inherit) !important;
	font-size: var(--uui-font-size-md, 14px) !important;
	font-weight: var(--uui-font-control-weight, 700) !important;
	line-height: 1 !important;
	text-align: center !important;
	box-shadow: none !important;
	-moz-appearance: textfield;
}
.uui-quantity__input::-webkit-inner-spin-button,
.uui-quantity__input::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.uui-quantity__input:focus { position: relative; z-index: 2; outline: none; box-shadow: inset 0 0 0 2px var(--uui-color-focus); }

/* Segmented control para escolhas mutuamente exclusivas ou filtros curtos. */
.uui-segmented {
	justify-self: start;
	display: inline-flex;
	align-items: stretch;
	max-width: 100%;
	padding: var(--uui-space-2, 2px);
	gap: var(--uui-space-2, 2px);
	border: var(--uui-border-width, 1px) solid var(--uui-color-border);
	border-radius: var(--uui-radius-control, 11px);
	background: var(--uui-color-surface-soft);
}
.uui-segmented__item {
	appearance: none;
	min-height: var(--uui-button-height, 46px);
	padding: 0 var(--uui-space-12, 12px);
	border: 0;
	border-radius: max(0px, calc(var(--uui-radius-control, 11px) - 3px));
	background: transparent;
	color: var(--uui-color-muted);
	font-family: var(--uui-font-control, inherit);
	font-size: var(--uui-font-size-sm, 12px);
	font-weight: var(--uui-font-control-weight, 700);
	cursor: pointer;
}
.uui-segmented--compact .uui-segmented__item { min-height: var(--uui-control-height-sm, 38px); padding-inline: var(--uui-space-8, 8px); font-size: var(--uui-font-size-xs, 11px); }
.uui-segmented > input[type="radio"],
.uui-segmented > input[type="checkbox"] {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}
.uui-segmented__item:hover { color: var(--uui-color-text); }
.uui-segmented__item.is-active,
.uui-segmented__item[aria-pressed="true"],
.uui-segmented__item[aria-selected="true"] { background: var(--uui-color-surface); color: var(--uui-color-primary); box-shadow: var(--uui-shadow-xs); }
.uui-segmented > input:checked + .uui-segmented__item { background: var(--uui-color-surface); color: var(--uui-color-primary); box-shadow: var(--uui-shadow-xs); }
.uui-segmented > input:focus-visible + .uui-segmented__item { outline: none; box-shadow: var(--uui-shadow-focus); }
.uui-segmented__item:focus-visible { outline: none; box-shadow: var(--uui-shadow-focus); }
.uui-segmented__item:disabled,
.uui-segmented__item[aria-disabled="true"] { color: var(--uui-color-disabled); cursor: not-allowed; opacity: var(--uui-disabled-opacity, .55); }

.uui-density--touch .uui-segmented__item,
[data-uui-density="touch"] .uui-segmented__item,
.uui-density--touch .uui-quantity__button,
[data-uui-density="touch"] .uui-quantity__button,
.uui-density--touch .uui-quantity__input,
[data-uui-density="touch"] .uui-quantity__input { min-height: var(--uui-touch-target, 48px); }

/* Progresso circular para espaços compactos; usa o mesmo contrato ARIA da barra linear. */
.uui-progress-ring {
	--uui-progress-value: 0%;
	--uui-progress-ring-size: 64px;
	--uui-progress-ring-stroke: 6px;
	position: relative;
	width: var(--uui-progress-ring-size);
	height: var(--uui-progress-ring-size);
	flex: 0 0 var(--uui-progress-ring-size);
	display: inline-grid;
	place-items: center;
	border-radius: 50%;
	background: conic-gradient(var(--uui-color-primary) 0 var(--uui-progress-value), var(--uui-color-border) var(--uui-progress-value) 100%);
}
.uui-progress-ring::after {
	content: "";
	position: absolute;
	inset: var(--uui-progress-ring-stroke);
	border-radius: inherit;
	background: var(--uui-color-surface);
}
.uui-progress-ring__value { position: relative; z-index: 1; color: var(--uui-color-text); font-family: var(--uui-font-control, inherit); font-size: var(--uui-font-size-sm, 12px); font-weight: var(--uui-font-control-weight, 700); }
.uui-progress-ring--success { background: conic-gradient(var(--uui-color-success) 0 var(--uui-progress-value), var(--uui-color-border) var(--uui-progress-value) 100%); }
.uui-progress-ring--warning { background: conic-gradient(var(--uui-color-warning) 0 var(--uui-progress-value), var(--uui-color-border) var(--uui-progress-value) 100%); }
.uui-progress-ring--danger { background: conic-gradient(var(--uui-color-danger) 0 var(--uui-progress-value), var(--uui-color-border) var(--uui-progress-value) 100%); }
.uui-progress-ring.is-indeterminate,
.uui-progress-ring:not([aria-valuenow]) { background: conic-gradient(transparent 0 20%, var(--uui-color-primary) 20% 48%, transparent 48% 100%); animation: uui-spin .9s linear infinite; }

.uui-inline-loading {
	display: inline-flex;
	align-items: center;
	gap: var(--uui-space-8, 8px);
	color: var(--uui-color-muted);
	font-size: var(--uui-font-size-sm, 12px);
}
.uui-inline-loading.is-success { color: var(--uui-color-success); }
.uui-inline-loading.has-error { color: var(--uui-color-danger); }

.uui-toast-region {
	position: fixed;
	z-index: var(--uui-toast-z, 10020);
	top: var(--uui-space-16, 16px);
	right: var(--uui-space-16, 16px);
	width: min(420px, calc(100vw - var(--uui-space-32, 32px)));
	display: grid;
	gap: var(--uui-space-8, 8px);
	pointer-events: none;
}
.uui-toast[hidden] { display: none !important; }

.uui-toast {
	pointer-events: auto;
	display: flex;
	align-items: flex-start;
	gap: var(--uui-space-12, 12px);
	padding: var(--uui-space-12, 12px) var(--uui-space-16, 16px);
	border: var(--uui-border-width, 1px) solid var(--uui-color-border);
	border-left-width: 4px;
	border-radius: var(--uui-alert-radius, 11px);
	background: var(--uui-color-surface);
	box-shadow: var(--uui-shadow-card);
}
.uui-toast--success { border-left-color: var(--uui-color-success); }
.uui-toast--warning { border-left-color: var(--uui-color-warning); }
.uui-toast--danger { border-left-color: var(--uui-color-danger); }
.uui-toast--info { border-left-color: var(--uui-color-info); }
.uui-toast__body { flex: 1 1 auto; min-width: 0; }
.uui-toast__title { display: block; margin-bottom: var(--uui-space-2, 2px); color: var(--uui-color-heading); font-family: var(--uui-font-control, inherit); font-weight: var(--uui-font-control-weight, 700); }
.uui-toast__dismiss { appearance: none; width: 32px; height: 32px; flex: 0 0 32px; display: grid; place-items: center; border: 0; border-radius: var(--uui-radius-xs, 6px); background: transparent; color: var(--uui-color-muted); cursor: pointer; }
.uui-toast__dismiss:hover { background: var(--uui-color-surface-soft); color: var(--uui-color-text); }
.uui-toast__dismiss:focus-visible { outline: none; box-shadow: var(--uui-shadow-focus); }

/* Campo é uma unidade semântica; evita margins locais entre label/input/help. */
.uui-field { min-width: 0; }
.uui-form--stacked { display: grid; gap: var(--uui-content-gap, 16px); }
.uui-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--uui-content-gap, 16px); }
.uui-form-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.uui-form-actions { display: flex; align-items: center; justify-content: flex-end; gap: var(--uui-cluster-gap, 12px); flex-wrap: wrap; margin-top: var(--uui-section-gap, 24px); }

/* Acessibilidade de navegação por teclado. */
.uui-skip-link {
	position: fixed;
	z-index: 10050;
	top: var(--uui-space-8, 8px);
	left: var(--uui-space-8, 8px);
	transform: translateY(-160%);
	padding: var(--uui-space-8, 8px) var(--uui-space-12, 12px);
	border-radius: var(--uui-radius-control, 11px);
	background: var(--uui-color-secondary);
	color: var(--uui-color-on-secondary);
	font-family: var(--uui-font-control, inherit);
	font-weight: var(--uui-font-control-weight, 700);
	text-decoration: none;
	transition: transform var(--uui-transition-fast, 160ms) var(--uui-ease-standard, ease);
}
.uui-skip-link:focus { transform: translateY(0); }

@keyframes uui-progress-indeterminate {
	0% { transform: translateX(-110%); }
	55% { transform: translateX(110%); }
	100% { transform: translateX(280%); }
}

/* =========================================================
 * V2 — RESPONSIVIDADE DE COMPOSIÇÃO
 * ======================================================= */
@media (max-width: 1023px) {
	.uui-app-shell { grid-template-columns: 1fr; }
	.uui-app-shell__sidebar { position: relative; height: auto; border-right: 0; border-bottom: var(--uui-border-width, 1px) solid var(--uui-color-border); }
	.uui-app-shell--sidebar-hidden-mobile .uui-app-shell__sidebar { display: none; }
	.uui-page { gap: min(var(--uui-page-gap, 32px), var(--uui-space-24, 24px)); }
	.uui-toolbar__actions { margin-inline-start: 0; }
	.uui-commandbar { grid-template-columns: minmax(0, 1fr) auto; }
	.uui-commandbar__brand { grid-column: 1; }
	.uui-commandbar__status { grid-column: 2; }
	.uui-commandbar__task { grid-column: 1 / -1; grid-row: 2; justify-content: stretch; }
	.uui-auto-grid--wide { --uui-grid-min: 260px; }
}

@media (max-width: 767px) {
	.uui-page { padding-block: min(var(--uui-page-padding-y, 32px), var(--uui-space-24, 24px)); }
	.uui-page-header,
	.uui-section__header,
	.uui-split,
	.uui-toolbar,
	.uui-action-bar { align-items: stretch; flex-direction: column; }
	.uui-page-header__main { flex-basis: auto; }
	.uui-page-header.uui-page-header--with-back {
		align-items: flex-start;
		flex-direction: row;
		flex-wrap: nowrap;
	}
	.uui-page-header__actions,
	.uui-section__actions,
	.uui-toolbar__primary,
	.uui-toolbar__secondary,
	.uui-toolbar__actions,
	.uui-action-bar__actions { width: 100%; justify-content: flex-start; }
	.uui-page-header__actions > .uui-button,
	.uui-section__actions > .uui-button,
	.uui-action-bar__actions > .uui-button { flex: 1 1 auto; }
	.uui-toolbar__primary { flex-basis: auto; }
	.uui-toolbar__primary > *,
	.uui-toolbar__secondary > *,
	.uui-toolbar__actions > * { max-width: 100%; }
	.uui-toolbar__primary > .uui-select,
	.uui-toolbar__secondary > .uui-select { width: 100%; flex-basis: auto; }
	.uui-list-item { align-items: flex-start; flex-wrap: wrap; }
	.uui-list-item__actions { width: 100%; padding-left: calc(var(--uui-avatar-size, 40px) + var(--uui-content-gap, 16px)); }
	.uui-list-item__actions:only-child { padding-left: 0; }
	.uui-kv { grid-template-columns: 1fr; gap: var(--uui-space-2, 2px); }
	.uui-kv dt:not(:first-child) { margin-top: var(--uui-space-8, 8px); }
	.uui-form-grid,
	.uui-form-grid--3 { grid-template-columns: 1fr; }
	.uui-workbench {
		grid-template-columns: 1fr;
		grid-template-rows: minmax(0, var(--uui-workbench-mobile-main, 1fr)) minmax(0, var(--uui-workbench-mobile-aside, 1fr));
	}
	.uui-task-layout { grid-template-columns: 1fr; }
	.uui-task-layout--focus-mobile > .uui-task-layout__summary { display: none; }
	.uui-form-actions { flex-direction: column-reverse; align-items: stretch; }
	.uui-form-actions .uui-button { width: 100%; }
	.uui-toast-region { top: var(--uui-space-8, 8px); right: var(--uui-space-8, 8px); left: var(--uui-space-8, 8px); width: auto; }
	.uui-segmented { display: flex; width: 100%; overflow-x: auto; }
	.uui-segmented__item { flex: 1 0 auto; }
	.uui-quantity { --uui-quantity-control-size: max(var(--uui-button-height, 46px), var(--uui-touch-target, 48px)); grid-template-columns: var(--uui-quantity-control-size) var(--uui-quantity-input-width) var(--uui-quantity-control-size); width: max-content; }
	.uui-menu { max-width: min(320px, calc(100vw - (2 * var(--uui-page-gutter-mobile, 16px)))); }

	/* Responsive table requer data-label nos td. Sem isso, o wrapper continua rolável. */
	.uui-table--responsive thead { display: none; }
	.uui-table--responsive,
	.uui-table--responsive tbody,
	.uui-table--responsive tr,
	.uui-table--responsive td { display: block; width: 100%; }
	.uui-table--responsive tr { padding: var(--uui-space-8, 8px) var(--uui-space-12, 12px); border-bottom: var(--uui-border-width, 1px) solid var(--uui-color-border); }
	.uui-table--responsive tr:last-child { border-bottom: 0; }
	.uui-table--responsive td {
		display: grid;
		grid-template-columns: minmax(110px, .8fr) minmax(0, 1.2fr);
		gap: var(--uui-space-8, 8px);
		padding: var(--uui-space-6, 6px) 0;
		border: 0;
		text-align: right;
	}
	.uui-table--responsive td::before { content: attr(data-label); text-align: left; color: var(--uui-color-muted); font-family: var(--uui-font-control, inherit); font-size: var(--uui-font-size-sm, 12px); font-weight: var(--uui-font-control-weight, 700); }
	.uui-table--responsive .uui-table__actions { justify-content: flex-end; }

	/* Steps horizontais preservam progresso sem ocupar a tela com descrições. */
	.uui-stepper:not(.uui-stepper--vertical) .uui-step__description { display: none; }
	.uui-stepper:not(.uui-stepper--vertical) .uui-step__label { font-size: var(--uui-font-size-xs, 11px); }
}


/* =========================================================
 * UTILITÁRIOS
 * ======================================================= */
.uui-full-width { width: 100% !important; }
.uui-text-center { text-align: center !important; }
.uui-flex { display: flex !important; }
.uui-inline-flex { display: inline-flex !important; }
.uui-grid { display: grid !important; }
.uui-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.uui-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.uui-items-center { align-items: center !important; }
.uui-justify-between { justify-content: space-between !important; }
.uui-wrap { flex-wrap: wrap !important; }
.uui-gap-sm { gap: var(--uui-space-8, 8px) !important; }
.uui-gap-md { gap: var(--uui-space-16, 16px) !important; }
.uui-gap-lg { gap: var(--uui-space-24, 24px) !important; }
.uui-mt-sm { margin-top: var(--uui-space-8, 8px) !important; }
.uui-mt-md { margin-top: var(--uui-space-16, 16px) !important; }
.uui-mb-sm { margin-bottom: var(--uui-space-8, 8px) !important; }
.uui-mb-md { margin-bottom: var(--uui-space-16, 16px) !important; }
.uui-hidden { display: none !important; }
.uui-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* =========================================================
 * MODO FORTE — CONTROLES NATIVOS
 * ======================================================= */
/*
 * Protege componentes UUI opt-in contra regras globais de temas/builders
 * (ex.: `.elementor-kit-* button`, `input[type=text]`, `a`, etc.).
 * O modo standard continua cooperativo; o modo strong é a autoridade visual.
 */
.uui-override-strong .uui-label {
	font-family: var(--uui-font-control, inherit) !important;
	font-size: var(--uui-label-font-size, var(--uui-font-size-sm, 12px)) !important;
	font-weight: var(--uui-label-font-weight, 700) !important;
	line-height: var(--uui-font-control-line-height, 1.2) !important;
	color: var(--uui-color-label) !important;
}

.uui-override-strong .uui-input:not(.uui-quantity__input),
.uui-override-strong .uui-select:not(.select2-hidden-accessible),
.uui-override-strong .uui-textarea {
	width: 100% !important;
	min-width: 0 !important;
	min-height: var(--uui-input-height, var(--uui-control-height, 46px)) !important;
	padding: 10px var(--uui-input-padding-x, var(--uui-control-padding-x, 16px)) !important;
	border: var(--uui-input-border-width, var(--uui-border-width, 1px)) solid var(--uui-color-border) !important;
	border-radius: var(--uui-input-radius, var(--uui-radius-control, 11px)) !important;
	background: var(--uui-color-input) !important;
	box-shadow: none !important;
	font-family: var(--uui-font-control, inherit) !important;
	font-size: var(--uui-input-font-size, var(--uui-font-size-md, 14px)) !important;
	font-weight: var(--uui-input-font-weight, 400) !important;
	line-height: var(--uui-font-control-line-height, 1.3) !important;
	color: var(--uui-color-text) !important;
}
.uui-override-strong .uui-textarea { min-height: 112px !important; }
.uui-override-strong .uui-input:not(.uui-quantity__input)::placeholder,
.uui-override-strong .uui-textarea::placeholder { color: var(--uui-color-placeholder) !important; opacity: 1 !important; }
.uui-override-strong .uui-input:not(.uui-quantity__input):focus,
.uui-override-strong .uui-select:not(.select2-hidden-accessible):focus,
.uui-override-strong .uui-textarea:focus {
	outline: none !important;
	border-color: var(--uui-color-focus) !important;
	box-shadow: var(--uui-shadow-focus, 0 0 0 3px rgba(49,86,184,.18)) !important;
}
.uui-override-strong .uui-input:not(.uui-quantity__input):disabled,
.uui-override-strong .uui-select:not(.select2-hidden-accessible):disabled,
.uui-override-strong .uui-textarea:disabled {
	background: var(--uui-color-disabled-surface) !important;
	border-color: var(--uui-color-disabled-border) !important;
	color: var(--uui-color-disabled) !important;
	opacity: var(--uui-disabled-opacity, .72) !important;
}
.uui-override-strong .uui-input:not(.uui-quantity__input)[readonly],
.uui-override-strong .uui-textarea[readonly] { background: var(--uui-color-surface-soft) !important; color: var(--uui-color-text) !important; }

.uui-override-strong .uui-choice,
.uui-override-strong .uui-switch { color: var(--uui-color-text) !important; font-family: var(--uui-font-body, inherit) !important; }
.uui-override-strong .uui-checkbox,
.uui-override-strong .uui-radio {
	width: var(--uui-choice-size, 18px) !important;
	height: var(--uui-choice-size, 18px) !important;
	margin: 2px 0 0 !important;
	accent-color: var(--uui-color-primary) !important;
}
/* Controles visuais que escondem o input nativo preservam seu próprio contrato. */
.uui-override-strong .uui-choice-card__control,
.uui-override-strong .uui-segmented > input[type="radio"],
.uui-override-strong .uui-segmented > input[type="checkbox"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
.uui-override-strong .uui-switch input { position: absolute !important; opacity: 0 !important; pointer-events: none !important; }
.uui-override-strong .uui-switch__track { border-color: var(--uui-color-border-strong) !important; background: var(--uui-color-disabled-surface) !important; }
.uui-override-strong .uui-switch input:checked + .uui-switch__track { background: var(--uui-color-primary) !important; border-color: var(--uui-color-primary) !important; }

.uui-override-strong .uui-breadcrumb a { color: var(--uui-color-link) !important; text-decoration: none !important; }
.uui-override-strong .uui-breadcrumb a:hover { text-decoration: underline !important; }

.uui-override-strong .uui-pagination__item,
.uui-override-strong .uui-pagination a,
.uui-override-strong .uui-pagination button {
	appearance: none !important;
	-webkit-appearance: none !important;
	min-width: var(--uui-pagination-size, 40px) !important;
	min-height: var(--uui-pagination-size, 40px) !important;
	margin: 0 !important;
	padding-inline: var(--uui-space-8, 8px) !important;
	border: var(--uui-border-width, 1px) solid var(--uui-color-border) !important;
	border-radius: var(--uui-radius-control, 11px) !important;
	background: var(--uui-color-surface) !important;
	color: var(--uui-color-text) !important;
	font-family: var(--uui-font-control, inherit) !important;
	font-size: var(--uui-font-size-sm, 12px) !important;
	font-weight: var(--uui-font-control-weight, 700) !important;
	text-decoration: none !important;
	box-shadow: none !important;
}
.uui-override-strong .uui-pagination__item:hover,
.uui-override-strong .uui-pagination a:hover,
.uui-override-strong .uui-pagination button:hover { border-color: var(--uui-color-border-strong) !important; background: var(--uui-color-surface-soft) !important; }
.uui-override-strong .uui-pagination .is-current,
.uui-override-strong .uui-pagination [aria-current="page"] { background: var(--uui-color-primary) !important; border-color: var(--uui-color-primary) !important; color: var(--uui-color-on-primary) !important; }

.uui-override-strong .uui-accordion__trigger {
	appearance: none !important;
	-webkit-appearance: none !important;
	width: 100% !important;
	min-height: max(var(--uui-button-height-base, 46px), var(--uui-touch-target, 48px)) !important;
	margin: 0 !important;
	padding: var(--uui-space-12, 12px) 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--uui-color-heading) !important;
	font-family: var(--uui-font-control, inherit) !important;
	font-size: var(--uui-font-size-md, 14px) !important;
	font-weight: var(--uui-font-control-weight, 700) !important;
	line-height: var(--uui-font-control-line-height, 1.2) !important;
	text-align: left !important;
	text-decoration: none !important;
	box-shadow: none !important;
}
.uui-override-strong .uui-accordion__trigger:hover { color: var(--uui-color-primary) !important; background: transparent !important; }
.uui-override-strong .uui-accordion__trigger:focus-visible { box-shadow: inset 0 0 0 2px var(--uui-color-focus) !important; }

.uui-override-strong .uui-chip__remove,
.uui-override-strong .uui-toast__dismiss {
	appearance: none !important;
	-webkit-appearance: none !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font: inherit !important;
	text-decoration: none !important;
}
.uui-override-strong .uui-chip__remove {
	display: inline-grid !important;
	place-items: center !important;
	width: 24px !important;
	height: 24px !important;
	min-height: 24px !important;
	margin: -2px -6px -2px 0 !important;
	border-radius: 50% !important;
	color: currentColor !important;
}
.uui-override-strong .uui-toast__dismiss {
	display: grid !important;
	place-items: center !important;
	width: 32px !important;
	height: 32px !important;
	min-height: 32px !important;
	margin: 0 !important;
	border-radius: var(--uui-radius-xs, 6px) !important;
	color: var(--uui-color-muted) !important;
}
.uui-override-strong .uui-toast__dismiss:hover { background: var(--uui-color-surface-soft) !important; color: var(--uui-color-text) !important; }

.uui-override-strong .uui-segmented__item {
	appearance: none !important;
	-webkit-appearance: none !important;
	min-height: var(--uui-button-height, 46px) !important;
	margin: 0 !important;
	padding: 0 var(--uui-space-12, 12px) !important;
	border: 0 !important;
	border-radius: max(0px, calc(var(--uui-radius-control, 11px) - 3px)) !important;
	background: transparent !important;
	color: var(--uui-color-muted) !important;
	font-family: var(--uui-font-control, inherit) !important;
	font-size: var(--uui-font-size-sm, 12px) !important;
	font-weight: var(--uui-font-control-weight, 700) !important;
	line-height: var(--uui-font-control-line-height, 1.2) !important;
	box-shadow: none !important;
	text-decoration: none !important;
}
.uui-override-strong .uui-segmented__item:hover { color: var(--uui-color-text) !important; background: transparent !important; }
.uui-override-strong .uui-segmented__item.is-active,
.uui-override-strong .uui-segmented__item[aria-pressed="true"],
.uui-override-strong .uui-segmented__item[aria-selected="true"],
.uui-override-strong .uui-segmented > input:checked + .uui-segmented__item { background: var(--uui-color-surface) !important; color: var(--uui-color-primary) !important; box-shadow: var(--uui-shadow-xs) !important; }
.uui-override-strong .uui-segmented__item:focus-visible,
.uui-override-strong .uui-segmented > input:focus-visible + .uui-segmented__item { box-shadow: var(--uui-shadow-focus) !important; }
.uui-override-strong .uui-segmented__item:disabled,
.uui-override-strong .uui-segmented__item[aria-disabled="true"] { color: var(--uui-color-disabled) !important; opacity: var(--uui-disabled-opacity, .55) !important; }

/* =========================================================
 * MODO FORTE — ADAPTADORES ELEMENTOR
 * ======================================================= */
.uui-override-strong .elementor-widget-button.uui-button .elementor-button {
	min-height: var(--uui-button-height, var(--uui-control-height, 46px)) !important;
	padding: 0 var(--uui-button-padding-x, var(--uui-control-padding-x, 16px)) !important;
	border-width: var(--uui-button-border-width, var(--uui-border-width, 1px)) !important;
	border-style: solid !important;
	border-radius: var(--uui-button-radius, var(--uui-radius-control, 11px)) !important;
	font-family: var(--uui-font-control, inherit) !important;
	font-size: var(--uui-button-font-size, var(--uui-font-size-md, 14px)) !important;
	font-weight: var(--uui-font-control-weight, 700) !important;
	line-height: var(--uui-font-control-line-height, 1.2) !important;
	box-shadow: var(--uui-shadow-button, none) !important;
}
.uui-override-strong .elementor-widget-button.uui-button .elementor-button:hover { box-shadow: var(--uui-shadow-button-hover, var(--uui-shadow-button, none)) !important; }
.uui-override-strong .elementor-widget-button.uui-button--primary .elementor-button { background: var(--uui-color-primary) !important; border-color: var(--uui-color-primary) !important; color: var(--uui-color-on-primary) !important; }
.uui-override-strong .elementor-widget-button.uui-button--primary .elementor-button:hover { background: var(--uui-color-primary-hover) !important; border-color: var(--uui-color-primary-hover) !important; }
.uui-override-strong .elementor-widget-button.uui-button--secondary .elementor-button { background: var(--uui-color-secondary) !important; border-color: var(--uui-color-secondary) !important; color: var(--uui-color-on-secondary) !important; }
.uui-override-strong .elementor-widget-button.uui-button--secondary .elementor-button:hover { background: var(--uui-color-secondary-hover) !important; border-color: var(--uui-color-secondary-hover) !important; }
.uui-override-strong .elementor-widget-button.uui-button--outline .elementor-button { background: var(--uui-color-surface) !important; border-width: max(1px, var(--uui-button-outline-border-width, 1px)) !important; border-color: var(--uui-color-primary) !important; color: var(--uui-color-primary) !important; }
.uui-override-strong .elementor-widget-button.uui-button--outline .elementor-button:hover { background: var(--uui-color-primary-soft) !important; border-color: var(--uui-color-primary-hover) !important; color: var(--uui-color-primary-hover) !important; }
.uui-override-strong .elementor-widget-button.uui-button--ghost .elementor-button { background: transparent !important; border-color: transparent !important; color: var(--uui-color-link) !important; box-shadow: none !important; }
.uui-override-strong .elementor-widget-button.uui-button--success .elementor-button { background: var(--uui-color-success) !important; border-color: var(--uui-color-success) !important; color: var(--uui-color-on-success) !important; }
.uui-override-strong .elementor-widget-button.uui-button--warning .elementor-button { background: var(--uui-color-warning) !important; border-color: var(--uui-color-warning) !important; color: var(--uui-color-on-warning) !important; }
.uui-override-strong .elementor-widget-button.uui-button--danger .elementor-button { background: var(--uui-color-danger) !important; border-color: var(--uui-color-danger) !important; color: var(--uui-color-on-danger) !important; }
.uui-override-strong .elementor-widget-button.uui-button--info .elementor-button { background: var(--uui-color-info) !important; border-color: var(--uui-color-info) !important; color: var(--uui-color-on-info) !important; }
.uui-override-strong .elementor-widget-button.uui-button--success .elementor-button:hover { background: var(--uui-color-success-hover) !important; border-color: var(--uui-color-success-hover) !important; }
.uui-override-strong .elementor-widget-button.uui-button--warning .elementor-button:hover { background: var(--uui-color-warning-hover) !important; border-color: var(--uui-color-warning-hover) !important; }
.uui-override-strong .elementor-widget-button.uui-button--danger .elementor-button:hover { background: var(--uui-color-danger-hover) !important; border-color: var(--uui-color-danger-hover) !important; }
.uui-override-strong .elementor-widget-button.uui-button--info .elementor-button:hover { background: var(--uui-color-info-hover) !important; border-color: var(--uui-color-info-hover) !important; }
.uui-override-strong .elementor-widget-button.uui-button--ghost .elementor-button:hover { background: var(--uui-color-surface-soft) !important; border-color: transparent !important; box-shadow: none !important; }
.uui-override-strong .elementor-widget-button.uui-button .elementor-button:focus-visible { box-shadow: var(--uui-shadow-focus) !important; }
.uui-override-strong .elementor-widget-button.uui-button.is-disabled .elementor-button,
.uui-override-strong .elementor-widget-button.uui-button .elementor-button[aria-disabled="true"] { background: var(--uui-color-disabled-surface) !important; border-color: var(--uui-color-disabled-border) !important; color: var(--uui-color-disabled) !important; opacity: var(--uui-disabled-opacity, .72) !important; box-shadow: none !important; transform: none !important; }
.uui-override-strong .elementor-widget-button.uui-button--small .elementor-button { min-height: var(--uui-control-height-sm, 38px) !important; padding-inline: calc(var(--uui-button-padding-x, var(--uui-control-padding-x, 16px)) * .75) !important; font-size: var(--uui-font-size-sm, 12px) !important; }
.uui-override-strong .elementor-widget-button.uui-button--large .elementor-button { min-height: var(--uui-control-height-lg, 54px) !important; padding-inline: calc(var(--uui-button-padding-x, var(--uui-control-padding-x, 16px)) * 1.25) !important; font-size: var(--uui-font-size-lg, 16px) !important; }
.uui-override-strong .elementor-widget-button.uui-copy-field .elementor-button {
	min-height: var(--uui-copy-height, 46px) !important;
	padding: 0 var(--uui-copy-padding-x, 16px) !important;
	border: var(--uui-copy-border-width, 2px) dashed var(--uui-color-primary) !important;
	border-radius: var(--uui-copy-radius, 11px) !important;
	background: var(--uui-color-surface) !important;
	color: var(--uui-color-primary) !important;
	box-shadow: none !important;
	font-family: var(--uui-font-accent, var(--uui-font-control, inherit)) !important;
	font-size: var(--uui-copy-font-size, 14px) !important;
	font-weight: var(--uui-font-accent-weight, 700) !important;
}
.uui-override-strong .elementor-widget-button.uui-copy-field .elementor-button:hover { background: var(--uui-color-primary-soft) !important; border-color: var(--uui-color-primary-hover) !important; color: var(--uui-color-primary-hover) !important; }
.uui-override-strong .elementor-widget-button.uui-copy-field.is-copied .elementor-button { background: var(--uui-color-success-soft) !important; border-color: var(--uui-color-success) !important; color: var(--uui-color-success) !important; }

.uui-override-strong .elementor-widget-button.uui-tab .elementor-button {
	min-height: var(--uui-tabs-height, 44px) !important;
	padding: 0 var(--uui-tabs-padding-x, 2px) !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--uui-color-muted) !important;
	font-family: var(--uui-font-control, inherit) !important;
	font-size: var(--uui-tabs-font-size, 14px) !important;
	font-weight: var(--uui-font-control-weight, 700) !important;
}
.uui-override-strong .elementor-widget-button.uui-tab.is-active .elementor-button,
.uui-override-strong .elementor-widget-button.uui-tab .elementor-button[aria-selected="true"] { color: var(--uui-color-primary) !important; }
.uui-override-strong .uui-tabs--pills .elementor-widget-button.uui-tab.is-active .elementor-button,
.uui-override-strong .uui-tabs--pills .elementor-widget-button.uui-tab .elementor-button[aria-selected="true"] { background: var(--uui-color-surface) !important; border-radius: max(0px, calc(var(--uui-tabs-radius, 10px) - 4px)) !important; box-shadow: var(--uui-shadow-xs) !important; }

.uui-override-strong .elementor-widget-heading.uui-heading .elementor-heading-title { font-family: var(--uui-font-heading, inherit) !important; font-weight: var(--uui-font-heading-weight, 700) !important; line-height: var(--uui-font-heading-line-height, 1.2) !important; color: var(--uui-color-heading) !important; }
.uui-override-strong .elementor-widget-heading.uui-price .elementor-heading-title,
.uui-override-strong .elementor-widget-text-editor.uui-price .elementor-widget-container { font-family: var(--uui-font-accent, var(--uui-font-heading, inherit)) !important; font-weight: var(--uui-font-accent-weight, 700) !important; line-height: var(--uui-font-accent-line-height, 1.2) !important; color: var(--uui-color-accent) !important; }
.uui-override-strong .elementor-widget-text-editor.uui-text .elementor-widget-container { font-family: var(--uui-font-body, inherit) !important; color: var(--uui-color-text) !important; }
.uui-override-strong .elementor-widget-text-editor.uui-text--muted .elementor-widget-container { color: var(--uui-color-muted) !important; }
.uui-override-strong .elementor-widget-text-editor.uui-text--accent .elementor-widget-container { color: var(--uui-color-accent) !important; }
.uui-override-strong .elementor-widget-text-editor.uui-text--success .elementor-widget-container { color: var(--uui-color-success) !important; }
.uui-override-strong .elementor-widget-text-editor.uui-text--warning .elementor-widget-container { color: var(--uui-color-warning) !important; }
.uui-override-strong .elementor-widget-text-editor.uui-text--danger .elementor-widget-container { color: var(--uui-color-danger) !important; }
.uui-override-strong .elementor-widget-text-editor.uui-text--info .elementor-widget-container { color: var(--uui-color-info) !important; }

.uui-override-strong .uui-input-group > .uui-input,
.uui-override-strong .uui-input-group > .uui-input:focus,
.uui-override-strong .uui-input-group .uui-input-group__control,
.uui-override-strong .uui-input-group .uui-input-group__control:focus {
	min-height: calc(var(--uui-input-group-height) - (2 * var(--uui-input-border-width, var(--uui-border-width, 1px)))) !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: 0 !important;
}

.uui-override-strong .elementor-widget-form.uui-form .elementor-field-label { color: var(--uui-color-label) !important; font-size: var(--uui-label-font-size, var(--uui-font-size-sm, 12px)) !important; font-weight: var(--uui-label-font-weight, 700) !important; }
.uui-override-strong .elementor-widget-form.uui-form .elementor-field:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
.uui-override-strong .elementor-widget-form.uui-form select.elementor-field,
.uui-override-strong .elementor-widget-form.uui-form textarea.elementor-field { min-height: var(--uui-input-height, var(--uui-control-height, 46px)) !important; padding-inline: var(--uui-input-padding-x, var(--uui-control-padding-x, 16px)) !important; border: var(--uui-input-border-width, var(--uui-border-width, 1px)) solid var(--uui-color-border) !important; border-radius: var(--uui-input-radius, var(--uui-radius-control, 11px)) !important; background: var(--uui-color-input) !important; color: var(--uui-color-text) !important; font-family: var(--uui-font-control, inherit) !important; font-size: var(--uui-input-font-size, var(--uui-font-size-md, 14px)) !important; font-weight: var(--uui-input-font-weight, 400) !important; box-shadow: none !important; }
.uui-override-strong .elementor-widget-form.uui-form .elementor-field:focus { border-color: var(--uui-color-focus) !important; box-shadow: var(--uui-shadow-focus, 0 0 0 3px rgba(49,86,184,.18)) !important; }
.uui-override-strong .elementor-widget-form.uui-form .elementor-field:disabled { background: var(--uui-color-disabled-surface) !important; border-color: var(--uui-color-disabled-border) !important; color: var(--uui-color-disabled) !important; opacity: var(--uui-disabled-opacity, .72) !important; }
.uui-override-strong .elementor-widget-form.uui-form .elementor-field.elementor-error,
.uui-override-strong .elementor-widget-form.uui-form .elementor-field[aria-invalid="true"] { border-color: var(--uui-color-danger) !important; box-shadow: 0 0 0 3px var(--uui-color-danger-soft) !important; }

.uui-override-strong .e-con.uui-card,
.uui-override-strong .elementor-section.uui-card,
.uui-override-strong .elementor-column.uui-card > .elementor-widget-wrap { background: var(--uui-color-surface) !important; border: var(--uui-card-border-width, var(--uui-border-width, 1px)) solid var(--uui-color-border) !important; border-radius: var(--uui-radius-card, 16px) !important; box-shadow: var(--uui-shadow-sm) !important; padding: var(--uui-card-padding, 16px) !important; }
.uui-override-strong .e-con.uui-card--soft,
.uui-override-strong .elementor-section.uui-card--soft,
.uui-override-strong .elementor-column.uui-card--soft > .elementor-widget-wrap { background: var(--uui-color-surface-soft) !important; box-shadow: none !important; }
.uui-override-strong .e-con.uui-card--outlined,
.uui-override-strong .elementor-section.uui-card--outlined,
.uui-override-strong .elementor-column.uui-card--outlined > .elementor-widget-wrap { border-color: var(--uui-color-border-strong) !important; box-shadow: none !important; }
.uui-override-strong .e-con.uui-card--elevated,
.uui-override-strong .elementor-section.uui-card--elevated,
.uui-override-strong .elementor-column.uui-card--elevated > .elementor-widget-wrap { box-shadow: var(--uui-shadow-card) !important; }
.uui-override-strong .e-con.uui-card--interactive:hover,
.uui-override-strong .elementor-section.uui-card--interactive:hover,
.uui-override-strong .elementor-column.uui-card--interactive:hover > .elementor-widget-wrap { border-color: var(--uui-color-border-strong) !important; box-shadow: var(--uui-shadow-card) !important; }
.uui-override-strong .e-con.uui-card--interactive:focus-within,
.uui-override-strong .elementor-section.uui-card--interactive:focus-within,
.uui-override-strong .elementor-column.uui-card--interactive:focus-within > .elementor-widget-wrap { border-color: var(--uui-color-focus) !important; box-shadow: var(--uui-shadow-focus) !important; }

@keyframes uui-spin { to { transform: rotate(360deg); } }
@keyframes uui-shimmer { to { background-position: -200% 0; } }

@media (max-width: 767px) {
	.uui-modal { padding: var(--uui-space-16, 16px); }
	.uui-modal__footer { flex-direction: column-reverse; }
	.uui-modal__footer .uui-button { width: 100%; }
	.uui-stack--mobile { flex-direction: column !important; }
	.uui-full--mobile { width: 100% !important; }
	.uui-grid--2,
	.uui-grid--3 { grid-template-columns: 1fr !important; }
	.uui-hidden--mobile { display: none !important; }
}

@media (min-width: 768px) {
	.uui-hidden--desktop { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
	.uui-button:not(.elementor-widget-button),
	.uui-card--interactive,
	.uui-action-card,
	.uui-link,
	.uui-switch__track,
	.uui-switch__track::after,
	.uui-tab,
	.uui-tab::after,
	.uui-step__marker,
	.uui-progress__bar,
	.uui-accordion__chevron,
	.uui-list-item--interactive,
	.uui-skip-link,
	[data-uui-tooltip]::after { transition: none !important; }
	.uui-spinner,
	.uui-skeleton,
	.uui-button:not(.elementor-widget-button).is-loading::after,
	.elementor-widget-button.uui-button.is-loading .elementor-button::after,
	.uui-progress.is-indeterminate .uui-progress__bar,
	.uui-progress:not([aria-valuenow]) .uui-progress__bar,
	.uui-progress-ring.is-indeterminate,
	.uui-progress-ring:not([aria-valuenow]) { animation: none !important; }
}
