/* AveSui 2026 visual language shared with the original exhibitor portal. */
:root {
  --ink: #20354b;
  --deep: #132b46;
  --green: #132b46;
  --green-2: #203f61;
  --coral: #ce153e;
  --coral-dark: #aa1234;
  --gold: #bf8c35;
  --cream: #f5f7fa;
  --paper: #fff;
  --mist: #edf2f7;
  --line: #dfe5ec;
  --muted: #617083;
  --white: #fff;
  --shadow: 0 16px 40px rgba(19, 43, 70, .1);
  --radius: 12px;
  --sans: "Segoe UI", Arial, Helvetica, sans-serif;
  --serif: "Segoe UI", Arial, Helvetica, sans-serif;
}

html { font-size: 16px; }
body {
  color: var(--ink);
  background: var(--cream);
  font: 16px/1.6 var(--sans);
}
h1, h2, h3, h4, strong, b { letter-spacing: -.01em; }
p, li, label, input, textarea, select, button { font-size: 1rem; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid rgba(206, 21, 62, .35);
  outline-offset: 3px;
}

.preview-ribbon {
  min-height: 40px;
  padding: 8px 24px;
  background: var(--deep) !important;
  color: #e7edf4;
  font-size: 14px;
  line-height: 1.35;
}
.preview-ribbon strong { color: #fff; font-size: 14px; }
.preview-ribbon button { font-size: 14px; font-weight: 700; }
.app-header,
body[data-space=staff] .app-header,
body[data-space=scanner] .app-header {
  display: grid;
  min-height: 88px;
  height: auto;
  grid-template-columns: minmax(240px, 1fr) auto minmax(180px, 1fr);
  padding: 0 clamp(20px, 4vw, 68px);
  background: #fff;
  border-bottom: 1px solid var(--line);
}
.brand { gap: 18px; }
.brand img { height: 52px; }
.brand b { color: var(--deep); font-size: 14px; }
.brand small { font-size: 14px; }
.space-switcher a {
  padding: 0 22px;
  color: var(--muted);
  font-size: 16px;
  font-weight: 600;
}
.space-switcher a:hover, .space-switcher a:focus-visible { color: var(--deep); }
body[data-space=exhibitor] [data-space-link=exhibitor],
body[data-space=visitor] [data-space-link=visitor],
body[data-space=staff] [data-space-link=staff],
body[data-space=scanner] [data-space-link=staff],
body[data-space=entry] [data-space-link=entry] { color: var(--deep); }
body[data-space=entry] [data-space-link=entry]:after { content: ""; height: 3px; background: var(--coral); position: absolute; left: 20px; right: 20px; bottom: 0; }
body[data-space=scanner] [data-space-link=staff]:after { content: ""; height: 3px; background: var(--coral); position: absolute; left: 20px; right: 20px; bottom: 0; }
.language-badge { padding: 7px 11px; border-radius: 8px; font-size: 14px; }
.avatar-button, .staff-user > span { background: var(--deep); }
.avatar-button { width: 42px; height: 42px; font-size: 13px; }
.mobile-nav { font-size: 16px; }

.staff-section-nav {
  display: none;
  min-height: 54px;
  padding: 0 clamp(20px, 4vw, 68px);
  align-items: stretch;
  gap: 4px;
  overflow-x: auto;
  background: var(--deep);
  color: #eaf0f6;
  scrollbar-width: thin;
}
body[data-space=staff] .staff-section-nav,
body[data-space=scanner] .staff-section-nav { display: flex; }
.staff-section-nav a {
  display: flex;
  align-items: center;
  padding: 0 14px;
  border-bottom: 3px solid transparent;
  color: #eaf0f6;
  font-size: 15px;
  font-weight: 650;
  white-space: nowrap;
}
.staff-section-nav small, .visitor-subnav small, .quick-actions small { margin-left: 5px; color: #bfcbd7; font-size: 14px; font-weight: 500; }
.visitor-subnav small { color: var(--muted); }
.quick-actions small { color: var(--muted); }
.staff-section-nav a:hover, .staff-section-nav a:focus-visible { background: rgba(255,255,255,.08); color: #fff; }
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"] { border-bottom-color: var(--coral); background: rgba(255,255,255,.06); color: #fff; }

.button { min-height: 48px; border-radius: 8px; padding: 12px 22px; font-size: 15px; font-weight: 700; }
.button.primary { background: var(--coral); box-shadow: 0 8px 18px rgba(206,21,62,.18); }
.button.primary:hover { background: var(--coral-dark); }
.button.ghost-dark { border-color: #c9d2dd; color: var(--deep); }
.button.ghost { border-color: #aeb9c5; color: var(--deep); }
.button.cream { background: #fff; color: var(--deep); }
.overline { color: var(--coral); font-size: 14px; font-weight: 800; letter-spacing: .11em; }
.system-status { min-height: 48px; padding: 11px 15px; border-radius: 9px; font-size: 14px; }
.empty-state { border-radius: 11px; }
.empty-state h3 { font-size: 19px; }
.empty-state p, .panel-loading, .timeline-loading, .catalog-loading { font-size: 15px; }
.content-version { font-size: 14px; }
.status-pill, .assistant-citations, .toast, .staff-alerts b { font-size: 14px; }
.staff-alerts b { min-width: 22px; height: 22px; right: -6px; top: -8px; }

/* Exhibitor dashboard truth comes from request states, never a synthetic percentage. */
.side-nav nav a { font-size: 15px; }
.side-company strong, .side-company div span:last-child, .side-support strong, .side-support small { font-size: 14px; }
.nav-count { font-size: 14px; }
.page-heading p:not(.overline) { font-size: 16px; }
.request-status-card { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 28px; margin-bottom: 28px; padding: 26px 28px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 7px 22px rgba(19,43,70,.045); }
.request-status-card h2 { margin: 0 0 6px; color: var(--deep); font: 750 26px/1.2 var(--sans); }
.request-status-card > div > p:not(.overline) { margin: 0; color: var(--muted); font-size: 15px; }
.request-status-card dl { display: grid; grid-template-columns: repeat(4,minmax(72px,1fr)); margin: 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.request-status-card dl > div { min-width: 90px; padding: 12px 14px; text-align: center; }
.request-status-card dl > div + div { border-left: 1px solid var(--line); }
.request-status-card dt { color: var(--muted); font-size: 14px; }
.request-status-card dd { margin: 2px 0 0; color: var(--deep); font: 750 24px/1 var(--sans); }
.task-card h3 { font-size: 16px; }
.task-card p, .task-action, .timeline-item strong, .timeline-item p, .timeline-item time, .deadline-card p:not(.overline), .deadline-card a, .subtle, .quick-card strong, .quick-card small { font-size: 14px; }
.deadline-card h3, .card-heading h3 { font-size: 18px; }
.empty-state .button { margin-top: 18px; }

/* Visitor portal */
.visitor-hero {
  width: min(1440px, 100%);
  min-height: 0;
  margin: 0 auto;
  padding: clamp(48px, 6vw, 86px) clamp(24px, 5vw, 74px);
  grid-template-columns: minmax(0, .9fr) minmax(430px, 1.1fr);
  gap: clamp(42px, 6vw, 88px);
  color: var(--ink);
  background: var(--cream);
}
.visitor-hero-copy { align-self: center; padding: 0; }
.visitor-hero-copy .overline { color: var(--coral); }
.visitor-hero h1 {
  margin: 10px 0 24px;
  color: var(--deep);
  font: 750 clamp(44px, 5.4vw, 76px)/1.02 var(--sans);
}
.visitor-hero h1 em { color: var(--coral); font-style: normal; font-weight: inherit; }
.visitor-hero-copy > p:not(.overline) { max-width: 650px; color: var(--muted); font-size: clamp(17px, 1.5vw, 20px); }
.hero-actions { gap: 12px; margin-top: 30px; }
.visitor-hero .button.ghost { color: var(--deep); border-color: #bac5d1; background: #fff; }
.event-facts { margin-top: 38px; border-top: 1px solid #d3dce6; }
.event-facts div { padding: 18px 24px 0 0; }
.event-facts dt { color: var(--muted); font-size: 14px; }
.event-facts dd { color: var(--deep); font-size: 16px; font-weight: 700; }
.visitor-hero-art {
  display: grid;
  align-self: center;
  align-content: start;
  min-height: 0;
  overflow: hidden;
  border-radius: 14px;
  background: var(--deep);
  box-shadow: 0 22px 50px rgba(19,43,70,.2);
}
.visitor-hero-art::after { content: none; display: none; background: none; }
.visitor-hero-art > img { position: static; width: 100%; border-radius: 0; }
.visitor-hero-art .visitor-banner { height: auto; aspect-ratio: 16/5; object-fit: cover; object-position: center; }
.visitor-hero-art .visitor-event-photo { height: clamp(300px, 31vw, 470px); object-fit: cover; }
.hero-caption { position: static; display: flex; justify-content: space-between; gap: 20px; padding: 18px 22px; background: var(--deep); color: #fff; }
.hero-caption b { font-size: 16px; }
.hero-caption span { color: #d6e0eb; font-size: 14px; }
.visitor-subnav {
  top: 0;
  min-height: 58px;
  padding: 0 clamp(20px,5vw,74px);
  border-color: var(--line);
  background: #fff;
  box-shadow: 0 5px 16px rgba(19,43,70,.05);
}
.visitor-subnav a { padding: 17px 15px; color: var(--muted); font-size: 16px; font-weight: 650; }
.visitor-subnav a:hover { color: var(--coral); }
.visitor-pending-label { padding: 17px 15px; color: #7c8997; font-size: 14px; white-space: nowrap; }
.visitor-section { max-width: 1440px; margin: 0 auto; padding: clamp(54px, 7vw, 92px) clamp(24px, 5vw, 74px); }
.visitor-section h2, .visitor-cta h2 { color: var(--deep); font: 750 clamp(34px, 4vw, 54px)/1.1 var(--sans); }
.visitor-section h3 { color: var(--deep); font-size: 19px; }
.visitor-section p { font-size: 16px; }
.intro-section > p { color: var(--muted); font-size: 18px; }
.feature-triptych { gap: 16px; }
.feature-triptych article, .registration-panel, .directory-card, .service-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(19,43,70,.055);
}
.feature-triptych article { padding: 26px; border-top: 4px solid var(--deep); }
.feature-triptych article > span { color: var(--coral); font-size: 14px; font-weight: 800; }
.feature-triptych article p { color: var(--muted); }
.registration-section { background: #edf2f7; }
.registration-copy > p { color: var(--muted); }
.registration-copy ol li { opacity: 1; }
.registration-copy ol li > span { background: #fff; color: var(--deep); border-color: #cbd6e1; font-size: 14px; }
.registration-copy ol li.active > span { background: var(--coral); border-color: var(--coral); color: #fff; }
.registration-copy li strong { color: var(--deep); font-size: 17px; }
.registration-copy li p { color: var(--muted); font-size: 15px; }
.registration-panel { padding: 28px; }
.panel-tabs button { font-size: 15px; }
.panel-tabs button[aria-selected=true] { color: var(--deep); border-bottom-color: var(--coral); }
.registration-panel label, .registration-panel legend { color: var(--deep); font-size: 15px; }
.registration-panel input, .ticket-option { font-size: 16px; }
.ticket-option { border-radius: 9px; }
.ticket-option.selected { border-color: var(--coral); box-shadow: 0 0 0 2px rgba(206,21,62,.12); }
.ticket-option strong, .ticket-option small { font-size: 14px; }
.check-row span, .form-note { font-size: 14px; }
.pass-state p { font-size: 15px; }
.agenda-section { max-width: none; padding-inline: max(clamp(24px,5vw,74px), calc((100vw - 1440px)/2 + 74px)); background: var(--deep); }
.agenda-section h2, .agenda-section h3, .agenda-section p { color: #fff; }
.agenda-section .overline { color: #ff6b8d; }
#agenda .day-selector button { color: #d9e2ec; background: transparent; font-size: 14px; }
#agenda .day-selector button:hover,
#agenda .day-selector button:focus-visible { color: #fff; background: var(--green-2); }
#agenda .day-selector button.active,
#agenda .day-selector button.active:hover,
#agenda .day-selector button.active:focus-visible { color: var(--deep); background: #fff; box-shadow: inset 0 -3px 0 var(--coral); }
.agenda-item, .agenda-placeholder { border-color: rgba(255,255,255,.17); }
.agenda-item p, .agenda-placeholder p, .agenda-item small { color: #c9d4df; font-size: 14px; }
.agenda-time { color: #fff; font-size: 16px; }
.directory-search input { width: min(380px, 100%); font-size: 15px; }
.directory-grid, .service-catalog { gap: 16px; }
.directory-card, .service-card { padding: 24px; }
.directory-card h3, .service-card h3 { font-size: 18px; }
.directory-card p, .service-card p { color: var(--muted); font-size: 15px; }
.directory-card b, .service-card > span, .service-card footer button, .cart-summary > div span, .cart-summary > p { font-size: 14px; }
.services-section { border-top: 1px solid var(--line); }
.demo-tag { border-radius: 7px; color: var(--deep); font-size: 14px; }
.cart-summary { border-radius: 12px; background: var(--deep); color: #fff; }
.cart-summary p { color: #dce5ee; font-size: 14px; }
.visitor-cta { background: var(--coral); padding-block: 72px; }
.visitor-cta .overline, .visitor-cta h2, .visitor-cta p { color: #fff; }
.visitor-cta p { font-size: 18px; }

/* Staff console and connected team screens */
.staff-shell { display: block; min-height: calc(100vh - 254px); }
.staff-shell > .staff-nav { display: none; }
.staff-menu-button { display: none !important; }
.staff-content { max-width: 1480px; padding: 0 clamp(22px,4vw,64px) 72px; }
.staff-top { min-height: 112px; height: auto; margin-bottom: 28px; }
.staff-top h1 { color: var(--deep); font: 750 clamp(32px,4vw,45px)/1.1 var(--sans); }
.staff-date span { font-size: 14px; }
.staff-date strong { font-size: 15px; }
.staff-alerts { width: 42px; height: 42px; border-radius: 10px; }
.staff-user { padding-left: 18px; }
.staff-user > span { width: 40px; height: 40px; font-size: 12px; }
.staff-user strong { font-size: 14px; }
.staff-user small { font-size: 14px; }
.metric-grid { gap: 16px; margin-bottom: 22px; }
.metric-grid article { padding: 22px; border-radius: 12px; grid-template-columns: 48px 1fr auto; }
.metric-icon { width: 48px; height: 48px; border-radius: 10px; }
.metric-grid article p { font-size: 14px; }
.metric-grid article strong { color: var(--deep); font: 750 30px var(--sans); }
.metric-grid article small { min-height: 22px; font-size: 14px; }
.panel { border-radius: 12px; padding: 25px 27px; box-shadow: 0 7px 22px rgba(19,43,70,.04); }
.panel-header h2, .quick-actions h2 { color: var(--deep); font: 750 24px var(--sans); }
.panel-header > a, .panel-link { color: var(--coral); font-size: 14px; }
.live-pill { font-size: 14px; }
.queue-item { grid-template-columns: 44px minmax(0,1fr) auto; gap: 14px; padding: 16px 0; }
.queue-item > span { width: 44px; height: 44px; font-size: 12px; }
.queue-item h3 { font-size: 16px; }
.queue-item p, .queue-item time { font-size: 14px; }
.health-list li { padding: 14px 0; font-size: 14px; }
.health-list li b { font-size: 14px; }
.audit-item { grid-template-columns: 36px minmax(0,1fr) auto; padding: 14px 0; }
.audit-item > span { width: 34px; height: 34px; font-size: 11px; }
.audit-item p, .audit-item strong { font-size: 14px; }
.audit-item time { font-size: 14px; }
.quick-actions > div a, .quick-actions > div button { min-height: 82px; border: 1px solid var(--line); border-radius: 9px; padding: 12px; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; background: #fff; color: var(--ink); font: 700 15px/1.35 var(--sans); cursor: pointer; text-align: left; }
.quick-actions > div a:hover, .quick-actions > div button:hover { border-color: var(--coral); }
.quick-actions > div a span, .quick-actions > div button span { color: var(--coral); font-size: 18px; }
.text-button { padding: 0; border: 0; background: none; cursor: pointer; text-align: left; }

/* Neutral private entry */
.portal-entry { max-width: 1400px; min-height: calc(100vh - 206px); margin: 0 auto; padding: 24px clamp(22px,5vw,72px) 36px; }
.portal-entry-intro { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr); gap: clamp(24px,4vw,52px); align-items: center; }
.portal-entry-intro h1 { margin: 6px 0 10px; color: var(--deep); font: 750 clamp(36px,3.5vw,42px)/1.06 var(--sans); }
.portal-entry-intro > div:first-child > p:not(.overline) { max-width: 650px; margin: 0; color: var(--muted); font-size: 16px; }
.portal-entry-art { display: grid; grid-template-rows: 54px 116px; height: 170px; overflow: hidden; border-radius: 14px; background: var(--deep); box-shadow: 0 12px 30px rgba(19,43,70,.16); }
.portal-entry-art img { width: 100%; height: 100%; object-fit: cover; }
.portal-entry-art img:first-child { aspect-ratio: auto; }
.portal-entry-art img:last-child { height: 116px; }
.portal-session-actions { margin-top: 14px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.portal-session-actions p { margin: 0 0 10px; font-size: 16px; }
.portal-session-actions > div { display: flex; flex-wrap: wrap; gap: 10px; }
.portal-choice-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 18px; }
.portal-choice-grid article { display: flex; flex-direction: column; min-height: 198px; padding: 20px; border: 1px solid var(--line); border-top: 4px solid var(--deep); border-radius: 12px; background: #fff; box-shadow: 0 8px 24px rgba(19,43,70,.055); }
.portal-choice-grid article > span { color: var(--coral); font-size: 14px; font-weight: 800; }
.portal-choice-grid h2 { margin: 8px 0 5px; color: var(--deep); font: 750 23px/1.15 var(--sans); }
.portal-choice-grid p { margin: 0 0 14px; color: var(--muted); font-size: 16px; }
.portal-choice-grid .button { align-self: flex-start; margin-top: auto; }
.original-portal-link { display: inline-flex; gap: 12px; margin-top: 16px; color: var(--deep); font-size: 16px; font-weight: 700; text-decoration: underline; text-decoration-color: var(--coral); text-underline-offset: 4px; }

.workflow-page { min-height: calc(100vh - 310px); max-width: 1480px; padding: 48px clamp(22px,5vw,72px) 72px; }
.staff-workflow { min-height: calc(100vh - 310px); }
.workflow-header { grid-template-columns: 170px minmax(0,1fr) auto; gap: 26px; margin-bottom: 32px; }
.workflow-header > a, .pending-page > a:first-child { color: var(--muted); font-size: 14px; font-weight: 650; }
.workflow-header h1, .pending-page h1 { color: var(--deep); font: 750 clamp(34px,4vw,50px)/1.08 var(--sans); }
.workflow-header div > p:not(.overline), .pending-page > p:not(.overline) { color: var(--muted); font-size: 16px; }
.workflow-header > select, .filter-row input, .filter-row select { min-height: 44px; border-radius: 8px; font-size: 15px; }
.workflow-columns { gap: 22px; }
.request-list-panel, .editor-panel { min-height: 440px; border-radius: 12px; box-shadow: 0 7px 22px rgba(19,43,70,.04); }
.filter-row { padding: 16px; gap: 10px; }
.workflow-list-item { grid-template-columns: 42px 1fr auto; gap: 13px; padding: 17px; }
.workflow-list-item:hover, .workflow-list-item.active { background: #f3f6f9; }
.workflow-list-item > span:first-child { width: 42px; height: 42px; border-radius: 9px; }
.workflow-list-item strong { font-size: 16px; }
.workflow-list-item small, .workflow-list-item time { font-size: 14px; }
.editor-empty { min-height: 440px; }
.editor-empty h2, .request-editor-content h2 { color: var(--deep); font: 750 25px var(--sans); }
.editor-empty p { color: var(--muted); font-size: 15px; }
.request-editor-content { padding: 28px; }
.request-editor-content header p { font-size: 14px; }
.editor-form label, .action-dialog label { font-size: 14px; }
.editor-form textarea, .editor-form input, .action-dialog input, .action-dialog textarea, .action-dialog select { min-height: 44px; font-size: 16px; }
.version-history h3 { color: var(--deep); font: 700 20px var(--sans); }
.version-history-item { font-size: 14px; }
.review-actions button { padding: 10px 14px; border-radius: 7px; font-size: 14px; }
.review-actions button.primary-review { background: var(--deep); border-color: var(--deep); }
.member-row { padding: 17px 2px; }
.member-row > span { font-size: 13px; }
.member-row h3 { font-size: 16px; }
.member-row p { font-size: 14px; }
.member-actions button { padding: 8px 11px; font-size: 14px; }
.boundary-note { color: var(--muted); font-size: 14px; }
.history-ledger { border-radius: 12px; }
.history-day time, .history-day p { font-size: 14px; }
.history-day h3 { font-size: 16px; }
.moderation-item { border-radius: 12px; padding: 22px; }
.moderation-item h2 { color: var(--deep); font: 700 20px var(--sans); }
.moderation-item p { font-size: 14px; }
.suggestion-list span { background: #fff0f4; color: #94122f; font-size: 14px; }
.moderation-scan-panel { border-radius: 12px; padding: 24px 26px; }
.moderation-scan-panel h2 { color: var(--deep); font: 700 22px var(--sans); }
.moderation-scan-panel div > p:not(.overline), .moderation-analysis-status { font-size: 14px; }
.moderation-scan-controls label { font-size: 14px; }
.moderation-scan-controls select { min-height: 44px; font-size: 15px; }
.moderation-scan-controls .button { min-height: 44px; font-size: 14px; }
.data-summary { background: #f4f7fa; padding: 17px; border-radius: 9px; }
.data-summary div { grid-template-columns: minmax(150px,.42fr) 1fr; gap: 12px; font-size: 14px; }
.pending-page { min-height: calc(100vh - 310px); max-width: 820px; padding: 60px 25px; }
.pending-icon { margin: 36px auto 20px; border-radius: 14px; }
.action-dialog { border-radius: 12px; }
.action-dialog form { padding: 28px; }
.action-dialog h2 { color: var(--deep); font: 750 25px var(--sans); }
.action-dialog p, .action-dialog legend { font-size: 14px; }
.text-action { font-size: 14px; }

/* Entry */
.scanner-shell { min-height: calc(100vh - 310px); max-width: 1480px; margin: 0 auto; padding: 42px clamp(22px,4vw,64px) 70px; color: var(--ink); background: var(--cream); }
.scanner-header { min-height: 90px; border-bottom-color: var(--line); }
.scanner-header > a { color: var(--muted); font-size: 14px; }
.scanner-header h1 { color: var(--deep); font: 750 40px/1.1 var(--sans); }
.scanner-context span, .scanner-context button { color: var(--ink); font-size: 15px; }
.scanner-context button { border-color: var(--line); background: #fff; }
.scanner-layout { gap: 20px; }
.scanner-panel, .scan-result-panel { border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 8px 24px rgba(19,43,70,.055); }
.camera-frame { min-height: 420px; border-radius: 10px; background: #e9eef4; }
.camera-copy h2 { color: var(--deep); font: 700 25px var(--sans); }
.camera-copy p, .privacy-note { color: var(--muted); font-size: 14px; }
.scanner-controls > span, .scan-identity span { font-size: 14px; }
.manual-scan-form input, .manual-scan-form button { min-height: 46px; font-size: 15px; }
.scan-result h2 { color: var(--deep); font: 700 24px var(--sans); }
.scan-result > p:not(.overline) { color: var(--muted); font-size: 14px; }
.scan-counts span, .scan-counts small { color: var(--muted); font-size: 14px; }
.scan-counts strong { color: var(--deep); font: 750 27px var(--sans); }
.scan-actions button, .scan-actions a { font-size: 14px; }
.recent-scans { border-color: var(--line); background: #fff; }
.recent-scans h2 { color: var(--deep) !important; font: 700 23px var(--sans); }
.recent-scans .section-title > span, .recent-scan-item, .empty-inline { color: var(--muted); font-size: 14px; }

/* Help, dialogs and footer */
.help-launcher { right: 24px; bottom: 24px; min-height: 50px; border-radius: 9px; background: var(--coral); font-size: 15px; }
.help-launcher:hover { background: var(--coral-dark); }
.whatsapp-support { position: fixed; right: 24px; bottom: 86px; z-index: 44; min-height: 48px; padding: 11px 17px; border-radius: 9px; display: flex; align-items: center; gap: 9px; background: #167d4d; color: #fff; box-shadow: 0 10px 26px rgba(19,43,70,.2); font-size: 15px; font-weight: 700; }
.whatsapp-support:hover, .whatsapp-support:focus-visible { background: #11653e; color: #fff; }
.whatsapp-support svg { flex: 0 0 auto; }
.help-drawer { width: min(470px, 100vw); }
.help-drawer > header { background: var(--deep); }
.help-drawer > header h2, .help-drawer > header .help-close { color: #fff; }
.help-drawer h2 { font: 750 24px var(--sans); }
.help-drawer > header p { color: #d6e0eb; font-size: 14px; }
.assistant-disclosure { font-size: 14px; }
.assistant-message p { font-size: 15px; }
.assistant-status { font-size: 14px; }
.assistant-prompts button { font-size: 14px; }
.assistant-form textarea { font-size: 16px; }
.assistant-footnote { font-size: 14px; }
.app-footer { min-height: 78px; background: var(--deep); color: #d9e2ec; font-size: 14px; }
.app-footer a:hover { color: #fff; }

@media (max-width: 1080px) {
  .app-header, body[data-space=staff] .app-header, body[data-space=scanner] .app-header { grid-template-columns: 1fr auto; }
  .space-switcher { display: none; }
  .mobile-nav-button { display: inline-block; }
  .visitor-hero { grid-template-columns: 1fr; }
  .visitor-hero-copy { max-width: 780px; }
  .visitor-hero-art { max-width: 820px; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 820px) {
  .preview-ribbon { justify-content: flex-start; padding-inline: 16px; }
  .preview-ribbon span { display: none; }
  .app-header, body[data-space=staff] .app-header, body[data-space=scanner] .app-header { min-height: 76px; padding-inline: 16px; }
  .brand img { height: 43px; }
  .brand > span { display: none; }
  .staff-section-nav { min-height: 50px; padding-inline: 8px; }
  .staff-section-nav a { padding-inline: 12px; font-size: 14px; }
  .visitor-hero { padding: 40px 20px 48px; gap: 34px; }
  .visitor-hero h1 { font-size: clamp(40px, 12vw, 58px); }
  .visitor-hero-art .visitor-event-photo { height: 320px; }
  .hero-caption { display: grid; gap: 2px; }
  .visitor-subnav { justify-content: flex-start; overflow-x: auto; padding-inline: 8px; }
  .visitor-subnav a { white-space: nowrap; }
  .visitor-section { padding: 52px 20px; }
  .registration-section { grid-template-columns: 1fr; }
  .staff-content { padding: 0 18px 54px; }
  .staff-top { gap: 12px; }
  .staff-date, .staff-alerts { display: none; }
  .staff-user { margin-left: auto; border-left: 0; padding-left: 0; }
  .staff-grid { grid-template-columns: 1fr; }
  .workflow-page { padding: 38px 18px 58px; }
  .workflow-header { grid-template-columns: 1fr auto; }
  .workflow-header > a { grid-column: 1/-1; }
  .request-list-panel { max-height: 400px; }
  .scanner-shell { padding: 30px 16px 55px; }
  .scanner-layout { display: block; }
  .scanner-panel, .scan-result-panel { margin-bottom: 18px; padding: 18px; }
  .camera-frame { min-height: 320px; }
  .portal-entry { padding: 22px 18px 124px; }
  .portal-entry-intro { grid-template-columns: 1fr; gap: 14px; }
  .portal-entry-intro h1 { font-size: 34px; }
  .portal-entry-art { grid-template-columns: 1fr 1fr; grid-template-rows: 110px; height: 110px; }
  .portal-entry-art img:last-child { height: 110px; }
  .portal-choice-grid { grid-template-columns: 1fr; }
  .portal-choice-grid article { display: grid; grid-template-columns: auto minmax(0,1fr) auto; grid-template-areas: "number title action" ". copy action"; column-gap: 12px; min-height: 0; padding: 15px 16px; }
  .portal-choice-grid article > span { grid-area: number; }
  .portal-choice-grid h2 { grid-area: title; margin: 0 0 4px; }
  .portal-choice-grid p { grid-area: copy; margin: 0; font-size: 14px; }
  .portal-choice-grid .button { grid-area: action; align-self: center; margin: 0; }
  .request-status-card { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .preview-ribbon strong { font-size: 14px; }
  .preview-ribbon button { margin-left: auto; font-size: 14px; }
  .language-badge { display: none; }
  .event-facts { grid-template-columns: 1fr; }
  .event-facts div { border-bottom: 1px solid var(--line); padding-bottom: 14px; }
  .hero-actions { display: grid; }
  .visitor-hero-art .visitor-event-photo { height: 240px; }
  .feature-triptych, .directory-grid, .service-catalog { grid-template-columns: 1fr; }
  .visitor-section h2, .visitor-cta h2 { font-size: 34px; }
  .registration-panel { padding: 22px 16px; }
  .field-row { grid-template-columns: 1fr; }
  .metric-grid { grid-template-columns: 1fr; }
  .metric-grid article { padding: 18px; }
  .staff-top h1 { font-size: 32px; }
  .staff-user i { display: none; }
  .workflow-header { display: flex; align-items: stretch; flex-direction: column; }
  .workflow-header .dialog-actions, .editor-actions, .pending-actions { display: grid; }
  .workflow-list-item { grid-template-columns: 42px 1fr; }
  .workflow-list-item time { grid-column: 2; }
  .data-summary div { grid-template-columns: 1fr; gap: 2px; }
  .member-row { grid-template-columns: 40px 1fr; }
  .member-actions { grid-column: 2; flex-wrap: wrap; }
  .moderation-item { grid-template-columns: 1fr; }
  .moderation-scan-panel { grid-template-columns: 1fr; }
  .scanner-header { grid-template-columns: 1fr; }
  .scanner-context { justify-self: start; }
  .scanner-controls { display: grid; grid-template-columns: 1fr; }
  .manual-scan-form { width: 100%; }
  .app-footer { display: grid; gap: 8px; padding: 20px; }
  .app-footer nav { flex-wrap: wrap; }
  .portal-entry-art { grid-template-columns: 1fr; grid-template-rows: 96px; height: 96px; }
  .portal-entry-art img:last-child { display: none; }
  .portal-session-actions > div { display: grid; }
  .request-status-card { padding: 22px 18px; }
  .request-status-card dl { grid-template-columns: repeat(2,1fr); }
  .request-status-card dl > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .request-status-card dl > div:nth-child(4) { border-top: 1px solid var(--line); }
  .whatsapp-support { right: 16px; bottom: 80px; width: auto; min-height: 48px; padding: 10px 13px; justify-content: center; font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

.agenda-group {
  padding: 28px 0 14px;
  border-bottom: 1px solid rgba(255,255,255,.17);
}
.agenda-group h3 {
  margin: 0;
  color: #fff;
  font: 800 18px/1.35 var(--sans);
  overflow-wrap: anywhere;
}
.agenda-group .agenda-context,
.agenda-item .agenda-context,
.agenda-item .agenda-detail {
  margin: 7px 0 0;
  color: #c9d4df;
  font-size: 14px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.agenda-section .content-version {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 20px;
  color: #c9d4df;
  line-height: 1.5;
}
.agenda-section .content-version a { color: #fff; text-decoration: underline; }
.agenda-section .agenda-notice { flex-basis: 100%; color: #fff; }
.agenda-group[hidden],
.agenda-item[hidden] { display: none; }

@media (max-width: 560px) {
  .agenda-group { padding-top: 24px; }
  .agenda-group h3 { font-size: 17px; }
  .agenda-item { min-width: 0; }
  .agenda-item > div { min-width: 0; }
}
