/* AveSui soft-green palette override. Load after all existing stylesheets. */
:root {
  --soft-green-deep: #173b35;
  --soft-green-action: #174a3f;
  --soft-green-action-hover: #0f392f;
  --soft-green-cream: #f6f7f2;
  --soft-green-sage: #eaf2e9;
  --soft-green-sage-2: #e6ede5;
  --soft-green-paper: #fff;
  --soft-green-muted: #596e63;
  --soft-green-line: #cbd7ce;
  --soft-green-coral: #ad4732;
  --soft-green-coral-dark: #8f3929;
  --soft-green-shadow: 0 16px 40px rgba(23, 59, 53, .1);

  /* 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 tokens. Coral remains available for brand and semantic micro-accents. */
  --deep: var(--soft-green-deep);
  --green: var(--soft-green-action);
  --green-2: #2f685b;
  --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-color: rgba(23, 74, 63, .45);
}

/* 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(23, 74, 63, .18);
}

.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(--soft-green-action);
}

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);
}

/* 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,
.panel-tabs button[aria-selected=true] {
  color: var(--soft-green-action);
  border-color: var(--soft-green-action);
}

.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(--soft-green-action);
  box-shadow: 0 0 0 1px var(--soft-green-action);
}

.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(--soft-green-action);
  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(--soft-green-action), #4f7d70);
}

/* 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(--soft-green-action);
}

.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(23, 59, 53, .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(--soft-green-action);
}

.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(23, 59, 53, .11);
}

.ave-media-lightbox button {
  color: #fff;
  background-color: rgba(255, 255, 255, .12);
}

/* Preserve distinct communication and system states. */
.whatsapp-button { background-color: #177656; border-color: #177656; }
.whatsapp-button:hover { background-color: #0d5e42; border-color: #0d5e42; }
.whatsapp-float { background-color: #146c4e; }
.whatsapp-float:hover { background-color: #0d533b; }
.whatsapp-support { background-color: #167d4d; }
.whatsapp-support:hover,
.whatsapp-support:focus-visible { background-color: #11653e; }
