/* AveSui fair palette override. Keep this legacy filename loaded last. */
:root {
  --feira-ink: #171717;
  --feira-deep: #111827;
  --feira-action: #c8102e;
  --feira-action-hover: #980c23;
  --feira-link: #005ea8;
  --feira-link-hover: #004578;
  --feira-canvas: #fff;
  --feira-tint: #f3f7fb;
  --feira-tint-2: #e7f0f8;
  --feira-paper: #fff;
  --feira-muted: #4b5563;
  --feira-line: #d5dde7;
  --feira-shadow: 0 16px 40px rgba(17, 24, 39, .1);

  /* Compatibility aliases used by the existing final-cascade selectors. */
  --soft-green-deep: var(--feira-deep);
  --soft-green-action: var(--feira-action);
  --soft-green-action-hover: var(--feira-action-hover);
  --soft-green-cream: var(--feira-canvas);
  --soft-green-sage: var(--feira-tint);
  --soft-green-sage-2: var(--feira-tint-2);
  --soft-green-paper: var(--feira-paper);
  --soft-green-muted: var(--feira-muted);
  --soft-green-line: var(--feira-line);
  --soft-green-coral: var(--feira-action);
  --soft-green-coral-dark: var(--feira-action-hover);
  --soft-green-shadow: var(--feira-shadow);

  /* Legacy public and exhibitor portal tokens. */
  --navy: var(--soft-green-deep);
  --cream: var(--soft-green-cream);
  --paper: var(--soft-green-paper);
  --ink: var(--soft-green-deep);
  --muted: var(--soft-green-muted);
  --line: var(--soft-green-line);
  --red: var(--soft-green-coral);

  /* V2 compatibility tokens: blue accents and red actions. */
  --deep: var(--soft-green-deep);
  --green: var(--feira-link);
  --green-2: var(--feira-link-hover);
  --mist: var(--soft-green-sage);
  --coral: var(--soft-green-coral);
  --coral-dark: var(--soft-green-coral-dark);
  --white: var(--soft-green-paper);
  --shadow: var(--soft-green-shadow);
}

html,
body {
  color: var(--soft-green-deep);
  background-color: var(--soft-green-cream);
}

body[data-space=visitor],
body[data-space=scanner] {
  color: var(--soft-green-deep);
  background-color: var(--soft-green-cream);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px var(--feira-link);
}

/* Public Home, registration, portal entry and standalone authentication. */
.intro,
.legal-lead,
.legal-version,
.legal-reference,
.legal-muted,
.legal-contact-card > span:last-child,
.ave-media-scroll-hint,
.ave-media-workspace-hero p:last-child {
  color: var(--soft-green-muted);
}

.button:not(.primary):not(.ghost):not(.ghost-dark):not(.cream):not(.secondary):not(.secondary-button):not(.provider):not(.danger):not(.destructive):not(.error):not(.warning):not(.success):not(.whatsapp-button),
.button.primary,
.manual-scan-form button,
.scan-actions button:not(:disabled),
.assistant-form button,
.help-launcher,
.visitor-cta {
  color: #fff;
  background-color: var(--soft-green-action);
  border-color: var(--soft-green-action);
}

.button.primary {
  box-shadow: 0 8px 18px rgba(200, 16, 46, .2);
}

.button:not(.primary):not(.ghost):not(.ghost-dark):not(.cream):not(.secondary):not(.secondary-button):not(.provider):not(.danger):not(.destructive):not(.error):not(.warning):not(.success):not(.whatsapp-button):hover,
.button.primary:hover,
.manual-scan-form button:hover,
.scan-actions button:not(:disabled):hover,
.assistant-form button:hover,
.help-launcher:hover {
  background-color: var(--soft-green-action-hover);
  border-color: var(--soft-green-action-hover);
}

.text-link,
.topbar nav a:hover,
.site-header nav a:hover,
.story-links a:hover,
.section-title > a,
.panel-header > a,
.panel-link,
.task-action,
.metric-grid article > a,
.quick-card > a > span,
.sidebar-note a,
.text-button,
.legal-aside a,
.legal-help a,
.legal-article a,
.footer-legal-links a {
  color: var(--feira-link);
}

.text-link:hover,
.topbar nav a:hover,
.site-header nav a:hover,
.story-links a:hover,
.section-title > a:hover,
.panel-header > a:hover,
.panel-link:hover,
.task-action:hover,
.metric-grid article > a:hover,
.quick-card > a > span:hover,
.sidebar-note a:hover,
.text-button:hover,
.legal-aside a:hover,
.legal-help a:hover,
.legal-article a:hover,
.footer-legal-links a:hover {
  color: var(--feira-link-hover);
}

input:not([type=checkbox]),
textarea,
select,
.assistant-form,
.legal-table-wrap,
.legal-article,
.legal-aside,
.legal-contact-card,
.ave-media-workspace-hero {
  border-color: var(--soft-green-line);
}

input[type=checkbox],
input[type=radio],
.ticket-option input,
.check-row input {
  accent-color: var(--soft-green-action);
}

.energy,
.credential-note,
.notice:not(.error),
.nav-login:hover,
.dashboard-card:hover,
.card-icon,
.room-sidebar,
.room-button[aria-current=true],
.room-button:hover,
.empty-symbol,
.staff-mfa-enrollment,
.credential-card,
.map-placeholder,
.confirmation-pending,
.registration-section,
.services-section,
.assistant-disclosure,
.assistant-message p,
.workflow-list-item:hover,
.workflow-list-item.active,
.data-summary,
.camera-frame {
  background-color: var(--soft-green-sage);
}

.person,
.participation-step-nav,
.participation-step-nav a,
.support-grid article,
.dashboard-card,
.schedule article,
.auth-layout,
.profile-card,
.member-bar,
.chat-layout,
.moderation-panel,
.installation-note,
.qr-card,
.exhibitor-extras > article,
.participation-identity,
.participation-gate,
.portal-session-actions,
.portal-choice-grid article,
.request-status-card,
.progress-card,
.task-card,
.timeline,
.dashboard-aside article,
.metric-grid article,
.panel,
.feature-triptych article,
.registration-panel,
.directory-card,
.service-card,
.scanner-panel,
.scan-result-panel,
.recent-scans,
.help-drawer,
.request-list-panel,
.editor-panel,
.history-ledger,
.moderation-item,
.moderation-scan-panel,
.action-dialog,
.ave-media-photo-list a,
.ave-media-workspace-hero {
  background-color: var(--soft-green-paper);
}

.dashboard-card,
.auth-layout,
.qr-card,
.portal-choice-grid article,
.request-status-card,
.progress-card,
.registration-panel,
.scanner-panel,
.scan-result-panel,
.ave-media-workspace-hero {
  box-shadow: var(--soft-green-shadow);
}

/* Standalone login and account surfaces contain fixed colors in their base CSS. */
.login-story {
  background-image: radial-gradient(ellipse at 85% 70%, var(--feira-tint-2) 0, transparent 53%);
}

.login-story h1,
.auth-card h2,
.auth-card h3,
.confirmation-page h1,
.account-dialog-identity h2 {
  color: var(--feira-ink);
}

.login-story > p:not(.eyebrow):not(.story-date),
.story-date,
.muted,
.field-help,
.auth-footnote,
.auth-card .hint,
.confirmation-page > p:not(.eyebrow),
.account-dialog-copy {
  color: var(--feira-muted);
}

.auth-card,
.auth-form input:not([type=checkbox]),
.confirmation-page,
.account-dialog-card,
.secondary-button,
.button.secondary,
.button.provider {
  color: var(--feira-ink);
  background-color: var(--feira-paper);
  border-color: var(--feira-line);
}

.auth-tabs,
.account-tabs {
  border-color: var(--feira-line);
}

.auth-tabs button,
.account-tabs button {
  color: var(--feira-muted);
}

.auth-tabs button[aria-pressed=true],
.account-tabs button[aria-pressed=true],
.panel-tabs button[aria-selected=true] {
  color: var(--feira-link);
  border-color: var(--feira-link);
}

.auth-form input:focus,
.auth-form input:focus-visible {
  outline-color: var(--feira-link);
}

.text-button,
.privacy a,
.auth-footnote a,
.confirmation-legal a,
.gate-actions p a,
.account-terms-check a,
.confirmation-page .text-link {
  color: var(--feira-link);
}

.secondary-button:hover,
.button.secondary:hover,
.button.provider:hover {
  color: var(--feira-link-hover);
  background-color: var(--feira-tint);
  border-color: var(--feira-link);
}

.button:disabled,
.secondary-button:disabled,
button:disabled {
  opacity: .55;
  cursor: not-allowed;
}

.button.primary,
.button.primary > *,
.button:not(.primary):not(.ghost):not(.ghost-dark):not(.cream):not(.secondary):not(.secondary-button):not(.provider):not(.danger):not(.destructive):not(.error):not(.warning):not(.success):not(.whatsapp-button),
.button:not(.primary):not(.ghost):not(.ghost-dark):not(.cream):not(.secondary):not(.secondary-button):not(.provider):not(.danger):not(.destructive):not(.error):not(.warning):not(.success):not(.whatsapp-button) > *,
.manual-scan-form button,
.scan-actions button:not(:disabled),
.assistant-form button,
.help-launcher {
  color: #fff;
}

.status:not(.error),
#mfa-secret,
.confirmation-pending,
.staff-mfa-enrollment {
  background-color: var(--feira-tint);
  border-color: var(--feira-line);
}

/* V2 navigation, visitor, exhibitor and staff chrome. */
.utility-bar,
.hero-art,
.deadline,
.preview-ribbon,
.side-nav,
.staff-nav,
.staff-section-nav,
.agenda-section,
.cart-summary,
.portal-entry-art,
.visitor-hero-art,
.help-drawer > header,
.app-footer {
  background-color: var(--soft-green-deep);
}

.side-nav,
.staff-nav,
.staff-section-nav,
.agenda-section,
.cart-summary,
.help-drawer > header,
.app-footer {
  color: #fff;
}

.utility-bar,
.preview-ribbon,
.auth-story p,
.auth-story ul,
.side-company div span:last-child,
.side-support small,
.agenda-item p,
.agenda-placeholder p,
.agenda-item small,
.agenda-group .agenda-context,
.agenda-item .agenda-context,
.agenda-item .agenda-detail,
.agenda-section .content-version,
.cart-summary p,
.help-drawer > header p,
.app-footer {
  color: #dce8e1;
}

.app-header,
.topbar,
.site-header,
.visitor-subnav,
.contact-strip {
  background-color: var(--soft-green-paper);
  border-color: var(--soft-green-line);
}

.side-nav nav a:hover,
.side-nav nav a.active,
.staff-nav nav a:hover,
.staff-nav nav a.active,
.staff-section-nav a:hover,
.staff-section-nav a:focus-visible {
  background-color: rgba(255, 255, 255, .1);
  color: #fff;
}

.space-switcher a:hover,
.space-switcher a:focus-visible,
.visitor-subnav a:hover,
.original-portal-link,
.portal-entry-intro h1,
.portal-choice-grid h2,
.page-heading h1,
.staff-top h1,
.panel-header h2,
.quick-actions h2 {
  color: var(--soft-green-deep);
}

.registration-copy ol li.active > span {
  color: var(--soft-green-action);
  border-color: var(--soft-green-action);
}

.panel-tabs button[aria-selected=true] {
  color: var(--feira-link);
  border-color: var(--feira-link);
}

.registration-copy ol li.active > span {
  color: #fff;
  background-color: var(--soft-green-action);
}

.ticket-option:has(input:checked),
.ticket-option.selected {
  border-color: var(--feira-link);
  box-shadow: 0 0 0 1px var(--feira-link);
}

.service-card button {
  border-color: var(--soft-green-action);
}

.service-card button:hover {
  color: #fff;
  background-color: var(--soft-green-action);
}

.metric-icon.blue,
.task-icon,
.queue-item > span,
.audit-item > span,
.directory-card > span,
.pass-placeholder,
.version-history-item > span,
.member-row > span {
  color: var(--feira-link);
  background-color: var(--soft-green-sage-2);
}

.progress-track,
.skeleton-card span,
.skeleton-card i {
  background-color: var(--soft-green-sage-2);
}

.progress-track > span {
  background: linear-gradient(90deg, var(--feira-link), #4d83b3);
}

body[data-view=overview][data-space=staff] .staff-section-nav a[href="/staff"],
body[data-view=staff-requests] .staff-section-nav a[href="/staff/solicitacoes"],
body[data-view=staff-team] .staff-section-nav a[href="/staff/equipe"],
body[data-view=moderation] .staff-section-nav a[href="/staff/moderacao"],
body[data-space=scanner] .staff-section-nav a[href="/entrada"] {
  color: #fff;
  background-color: rgba(255, 255, 255, .08);
  border-bottom-color: var(--feira-action);
}

.connection-status {
  color: var(--feira-link);
}

.review-actions button.primary-review {
  color: #fff;
  background-color: var(--feira-action);
  border-color: var(--feira-action);
}

.review-actions button.primary-review:hover,
.review-actions button.primary-review:focus-visible {
  color: #fff;
  background-color: var(--feira-action-hover);
  border-color: var(--feira-action-hover);
}

.quick-actions > div a:hover,
.quick-actions > div button:hover {
  border-color: var(--feira-link);
}

.quick-actions > div a span,
.quick-actions > div button span,
.metric-icon.sage,
.empty-state > span,
.avatar {
  color: var(--feira-link);
  background-color: var(--feira-tint-2);
}

.text-action,
.member-actions button {
  color: var(--feira-link);
}

.member-actions button:hover {
  color: var(--feira-link-hover);
  background-color: var(--feira-tint);
  border-color: var(--feira-link);
}

/* Legal surfaces: requests and warnings keep their existing semantic colors. */
.legal-nav {
  border-color: var(--soft-green-line);
}

.legal-nav a {
  color: var(--soft-green-deep);
}

.legal-nav a:hover,
.legal-contact-card:hover {
  color: var(--soft-green-deep);
  background-color: var(--soft-green-sage);
  border-color: var(--soft-green-line);
}

.legal-nav a[aria-current=page] {
  color: #fff;
  background-color: var(--soft-green-deep);
}

.legal-article {
  color: var(--soft-green-deep);
}

.legal-article h2,
.legal-article h3,
.legal-callout strong,
.legal-article caption,
.legal-article tbody th,
.legal-contact-card {
  color: var(--soft-green-deep);
}

.legal-callout {
  background-color: var(--soft-green-sage);
  border-left-color: var(--feira-link);
}

.legal-article caption,
.legal-article thead th {
  color: var(--soft-green-deep);
  background-color: var(--soft-green-sage);
}

.legal-article th,
.legal-article td,
.legal-details > div,
.legal-reference,
.legal-help {
  border-color: var(--soft-green-line);
}

.legal-details dt {
  color: var(--soft-green-muted);
}

/* Media chrome only; photos, posters, video frames and lightbox imagery are untouched. */
.ave-media-video,
.ave-media-video-frame,
.ave-media-lightbox {
  color: #fff;
  background-color: var(--soft-green-deep);
}

.ave-media-play {
  color: #fff;
  background-color: rgba(17, 24, 39, .92);
}

.ave-media-play:hover {
  background-color: var(--soft-green-action);
}

.ave-media-play-icon,
.ave-media-album-heading .ave-media-kicker,
.ave-media-workspace-hero .ave-media-kicker {
  color: var(--feira-link);
}

.ave-media-album,
.ave-media-photo-list a,
.ave-media-album-heading h2,
.ave-media-workspace-hero h2 {
  color: var(--soft-green-deep);
}

.ave-media-photo-list a {
  box-shadow: 0 3px 12px rgba(17, 24, 39, .11);
}

.ave-media-lightbox button {
  color: #fff;
  background-color: rgba(255, 255, 255, .12);
}

/* Communication controls follow the action palette; semantic status colors stay distinct. */
.whatsapp-button { color: #fff; background-color: var(--feira-action); border-color: var(--feira-action); }
.whatsapp-button:hover,
.whatsapp-button:focus-visible { color: #fff; background-color: var(--feira-action-hover); border-color: var(--feira-action-hover); }
.whatsapp-float { color: #fff; background-color: var(--feira-action); }
.whatsapp-float:hover,
.whatsapp-float:focus-visible { color: #fff; background-color: var(--feira-action-hover); }
.whatsapp-support { color: #fff; background-color: var(--feira-action); }
.whatsapp-support:hover,
.whatsapp-support:focus-visible { color: #fff; background-color: var(--feira-action-hover); }

/* Preserve the two-color keyboard ring over action shadows on light and dark surfaces. */
.button.primary:focus-visible,
.review-actions button.primary-review:focus-visible,
.whatsapp-button:focus-visible,
.whatsapp-float:focus-visible,
.whatsapp-support:focus-visible,
.manual-scan-form button:focus-visible,
.scan-actions button:not(:disabled):focus-visible,
.assistant-form button:focus-visible,
.help-launcher:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px var(--feira-link);
}
