/* PlanoZero event registration flow */

.pz-event-page {
  --pz-event-brand: var(--pz-primary, #0b263d);
  --pz-event-on-dark: #fff7ef;
  --pz-event-ink: var(--pz-event-on-dark);
  --pz-event-muted: rgba(255, 247, 239, .74);
  --pz-event-line: rgba(255, 255, 255, .16);
  --pz-event-panel: #0b1725;
  --pz-event-panel-soft: rgba(255, 255, 255, .08);
  --pz-event-accent: var(--pz-accent, #fd6605);
  --pz-event-accent-strong: var(--pz-accent-2, #e15a04);
  --pz-event-primary: var(--pz-event-on-dark);
  --pz-event-deep: #050b12;
  --pz-event-steel: #12324d;
  --pz-event-radius: 18px;
  --pz-context: var(--pz-event-accent);
  --pz-context-2: var(--pz-event-accent-strong);
  --pz-context-soft: rgba(253, 102, 5, .1);
  --pz-context-ring: rgba(253, 102, 5, .2);
  background:
    linear-gradient(90deg, rgba(5, 11, 18, .98) 0%, rgba(12, 31, 49, .96) 48%, rgba(6, 10, 17, .99) 100%),
    linear-gradient(180deg, #0b263d 0%, #050b12 100%);
  background:
    linear-gradient(90deg, #050b12 0%, color-mix(in srgb, var(--pz-event-brand) 68%, #050b12) 48%, #050b12 100%),
    linear-gradient(180deg, color-mix(in srgb, var(--pz-event-brand) 60%, #050b12) 0%, #050b12 100%);
  color: var(--pz-event-ink);
  display: block;
  margin: 0;
  max-width: none;
  min-height: 100vh;
  overflow-x: clip;
  width: 100%;
}

.pz-events-admin-spa,
.pza-page--admin-events {
  --pz-event-ink: #17120f;
  --pz-event-muted: #6f6258;
  --pz-event-line: rgba(23, 18, 15, .12);
  --pz-event-panel: #fffdfa;
  --pz-event-panel-soft: #f7f1ea;
  --pz-event-accent: var(--pz-accent, #fd6605);
  --pz-event-primary: var(--pz-primary, #0b263d);
  --pz-event-radius: 14px;
}

.pz-event-page *,
.pz-event-page *::before,
.pz-event-page *::after {
  box-sizing: border-box;
}

.pz-event-page [hidden] {
  display: none;
}

.pz-event-shell {
  margin: 0 auto;
  max-width: 1180px;
  padding: clamp(10px, 2vw, 22px) clamp(14px, 3vw, 26px) clamp(34px, 5vw, 72px);
}

.pz-event-hero {
  align-items: stretch;
  display: grid;
  gap: clamp(16px, 2.5vw, 26px);
  grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
  margin-bottom: clamp(16px, 2.5vw, 26px);
}

.pz-event-hero__content,
.pz-event-hero-card,
.pz-event-form,
.pz-event-side > *,
.pz-event-success-panel,
.pz-event-empty,
.pz-event-portal-card,
.pz-event-admin-card,
.pz-event-admin-detail-card {
  background: rgba(255, 253, 250, .92);
  border: 1px solid var(--pz-event-line);
  border-radius: var(--pz-event-radius);
  box-shadow: 0 24px 70px rgba(23, 18, 15, .08);
}

.pz-event-page .pz-event-hero__content,
.pz-event-page .pz-event-hero-card,
.pz-event-page .pz-event-success-panel,
.pz-event-page .pz-event-empty,
.pz-event-page .pz-event-portal-card {
  background:
    linear-gradient(180deg, rgba(18, 50, 77, .82), rgba(6, 13, 22, .96)),
    var(--pz-event-panel);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--pz-event-brand) 58%, #050b12), rgba(6, 13, 22, .96)),
    var(--pz-event-panel);
  border-color: rgba(255, 255, 255, .14);
  box-shadow: 0 28px 90px rgba(0, 0, 0, .34);
}

/* Hero (mini incluído): fundo mais escuro e uniforme por trás do título —
   nunca depender só do gradiente subtil para garantir contraste. Textura de
   pontos subtil por cima (padrão real, não um "borrão" de glow) para dar
   profundidade sem competir com o texto — camada extra no MESMO background
   protegido por !important, não uma segunda regra a lutar por especificidade. */
.pz-event-page .pz-event-hero__content {
  background:
    radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1.3px) 0 0 / 20px 20px,
    linear-gradient(160deg, #0d2038 0%, #050b12 72%) !important;
}

.pz-event-page .pz-event-form {
  --pz-event-ink: var(--pz-text, #0b263d);
  --pz-event-muted: var(--pz-text-muted, rgba(11, 38, 61, .62));
  --pz-event-line: var(--pz-border, rgba(11, 38, 61, .08));
  --pz-event-panel: var(--pz-surface, #ffffff);
  --pz-event-panel-soft: var(--pz-surface-2, #f4f6f8);
  --pz-event-primary: var(--pz-primary, #0b263d);
  background: var(--pz-surface, #ffffff);
  border-color: var(--pz-border, rgba(11, 38, 61, .08));
  border-radius: 12px;
  box-shadow: 0 24px 58px rgba(5, 11, 18, .2);
  /* Formulário é sempre de tema claro por design — impede que o navegador
     (dark mode forçado do SO/Edge/Chrome) reescureça cartões/botões
     seletivamente, o que deixava só o passo/rádio "ativo" ilegível. */
  color-scheme: light;
}

.pz-event-hero__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(20px, 3vw, 32px);
}

.pz-event-page .pz-event-hero__content {
  overflow: hidden;
  position: relative;
}

.pz-event-page .pz-event-hero__content::before {
  background: linear-gradient(180deg, var(--pz-event-accent), var(--pz-event-accent-strong));
  bottom: 0;
  content: "";
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 5px;
}

.pz-event-kicker,
.pz-event-section-head > span,
.pz-event-form-head > span,
.pz-event-step-copy > span,
.pz-event-side span,
.pz-event-next-card > span,
.pz-event-agenda-card > span,
.pz-event-payment-card__top span {
  color: var(--pz-event-accent);
  display: inline-flex;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.pz-event-hero h1 {
  color: var(--pz-event-primary);
  font-size: clamp(1.85rem, 3.2vw, 2.85rem);
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.02;
  margin: 8px 0 10px;
  max-width: 18ch;
}

/* Contraste do título garantido de forma explícita (não só por herança de
   --pz-event-primary) — texto quase invisível reportado sobre o gradiente
   do hero; cor fixa + sombra ligeira funcionam em qualquer ponto do
   gradiente, claro ou escuro. */
.pz-event-page .pz-event-hero h1 {
  color: #fff7ef !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .45);
}

.pz-event-hero p,
.pz-event-section-head p,
.pz-event-form-head p,
.pz-event-fieldset p,
.pz-event-review-note,
.pz-event-payment-card p,
.pz-event-next-card p {
  color: var(--pz-event-muted);
  font-size: clamp(.98rem, 1.2vw, 1.08rem);
  line-height: 1.55;
  margin: 0;
}

.pz-event-hero__outcomes,
.pz-event-hero-card ul,
.pz-event-agenda-card ol,
.pz-event-next-card ol {
  display: grid;
  gap: 8px;
  margin: 14px 0 0;
  padding: 0;
}

.pz-event-hero__outcomes li,
.pz-event-hero-card li,
.pz-event-agenda-card li,
.pz-event-next-card li {
  color: var(--pz-event-ink);
  line-height: 1.45;
  list-style: none;
  padding-left: 24px;
  position: relative;
}

.pz-event-hero__outcomes li::before,
.pz-event-hero-card li::before,
.pz-event-agenda-card li::before,
.pz-event-next-card li::before {
  background: var(--pz-event-accent);
  border-radius: 999px;
  content: "";
  height: 8px;
  left: 2px;
  position: absolute;
  top: .55em;
  width: 8px;
}

.pz-event-hero__actions,
.pz-event-success-actions,
.pz-event-admin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

.pz-event-page .pz-btn {
  align-items: center;
  background: var(--pz-context, var(--pz-event-accent)) !important;
  border: 1.5px solid transparent;
  border-radius: var(--pz-radius, 12px);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-weight: 800;
  justify-content: center;
  line-height: 1.15;
  min-height: 44px;
  padding: 0 18px;
  text-decoration: none;
}

.pz-event-page .pz-btn:hover,
.pz-event-page .pz-btn:focus-visible {
  background: var(--pz-context-2, var(--pz-event-accent-strong)) !important;
  border-color: transparent;
  color: #fff;
}

.pz-event-page .pz-btn--ghost {
  background: var(--pz-surface, #fff) !important;
  border-color: var(--pz-border, rgba(11, 38, 61, .08));
  color: var(--pz-primary, #0b263d);
}

.pz-event-page .pz-btn--ghost:hover,
.pz-event-page .pz-btn--ghost:focus-visible {
  background: var(--pz-surface, #fff) !important;
  border-color: var(--pz-context, var(--pz-event-accent));
  color: var(--pz-context, var(--pz-event-accent));
}

.pz-event-page .pz-event-hero__actions .pz-btn.pz-btn--ghost {
  background: rgba(255, 255, 255, .08) !important;
  border-color: rgba(255, 255, 255, .22);
  color: #fff7ef !important;
}

.pz-event-page .pz-event-hero__actions .pz-btn.pz-btn--ghost:hover,
.pz-event-page .pz-event-hero__actions .pz-btn.pz-btn--ghost:focus-visible {
  background: rgba(255, 255, 255, .14) !important;
  color: #fff7ef !important;
}

.pz-event-page .pz-btn--small {
  min-height: 38px;
  padding: 9px 13px;
}

.pz-event-form .pz-btn--ghost {
  background: transparent;
  border-color: rgba(11, 38, 61, .22);
  color: var(--pz-event-primary);
}

.pz-event-form .pz-btn--ghost:hover,
.pz-event-form .pz-btn--ghost:focus-visible {
  background: rgba(11, 38, 61, .08);
  color: var(--pz-event-primary);
}

.pz-event-hero-card {
  align-content: start;
  display: grid;
  gap: 14px;
  padding: clamp(16px, 2vw, 22px);
}

.pz-event-signal {
  background:
    linear-gradient(90deg, rgba(253, 102, 5, .9) 0 5px, transparent 5px),
    linear-gradient(100deg, rgba(253, 102, 5, .22) 0%, rgba(253, 102, 5, .08) 38%, rgba(18, 50, 77, .18) 68%, rgba(255, 255, 255, .04) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .02));
  background:
    linear-gradient(90deg, var(--pz-event-accent) 0 5px, transparent 5px),
    linear-gradient(100deg, color-mix(in srgb, var(--pz-event-accent) 24%, transparent) 0%, rgba(253, 102, 5, .08) 38%, color-mix(in srgb, var(--pz-event-brand) 34%, transparent) 68%, rgba(255, 255, 255, .04) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .02));
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 12px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 18px 36px rgba(0, 0, 0, .22);
  display: grid;
  gap: 8px;
  min-height: 128px;
  overflow: hidden;
  padding: 18px 18px 18px 22px;
  position: relative;
}

.pz-event-signal::before,
.pz-event-signal::after {
  content: "";
  pointer-events: none;
  position: absolute;
}

.pz-event-signal::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, .2), transparent);
  bottom: 16px;
  right: 24px;
  top: 16px;
  width: 1px;
}

.pz-event-signal::after {
  background: linear-gradient(90deg, rgba(253, 102, 5, .7), rgba(253, 102, 5, 0));
  bottom: 18px;
  height: 1px;
  left: 22px;
  right: 28px;
}

.pz-event-signal span,
.pz-event-signal em {
  color: rgba(255, 247, 239, .78);
  font-size: .78rem;
  font-style: normal;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pz-event-signal strong {
  color: #fff7ef;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  font-weight: 900;
  line-height: 1.02;
  max-width: 10ch;
  text-transform: uppercase;
}

.pz-event-hero-card > strong {
  color: var(--pz-event-primary);
  font-size: clamp(1.24rem, 2vw, 1.55rem);
  line-height: 1.15;
}

.pz-event-hero-card__meta {
  display: grid;
  gap: 10px;
}

.pz-event-hero-card__meta > div,
.pz-event-review-grid > div,
.pz-event-payment-card dl > div {
  background: var(--pz-event-panel-soft);
  border: 1px solid var(--pz-event-line);
  border-radius: 14px;
  min-width: 0;
  padding: 14px;
}

.pz-event-hero-card__meta span,
.pz-event-review-grid span,
.pz-event-payment-card dt {
  color: var(--pz-event-muted);
  display: block;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 5px;
  text-transform: uppercase;
}

.pz-event-hero-card__meta strong,
.pz-event-review-grid strong,
.pz-event-payment-card dd {
  color: var(--pz-event-primary);
  display: block;
  font-size: .98rem;
  line-height: 1.35;
  margin: 0;
  overflow-wrap: anywhere;
}

.pz-event-section {
  margin-top: clamp(16px, 3vw, 30px);
}

.pz-event-section-head {
  margin: 0 auto clamp(18px, 3vw, 28px);
  max-width: 720px;
  text-align: center;
}

.pz-event-section-head h2 {
  color: var(--pz-event-primary);
  font-size: clamp(1.65rem, 3.4vw, 3rem);
  line-height: 1.02;
  margin: 10px 0 12px;
}

.pz-event-registration-layout {
  align-items: start;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
}

.pz-event-form {
  display: grid;
  gap: 18px;
  min-width: 0;
  padding: clamp(18px, 3vw, 28px);
}

.pz-event-form-head {
  border-bottom: 1px solid var(--pz-event-line);
  padding-bottom: 16px;
}

.pz-event-form-head h2,
.pz-event-step-copy h3,
.pz-event-next-card h3 {
  color: var(--pz-event-primary);
  font-size: clamp(1.28rem, 2.2vw, 1.8rem);
  line-height: 1.12;
  margin: 8px 0 8px;
}

.pz-event-stepper {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pz-event-stepper button {
  align-items: center;
  background: #fff;
  border: 1px solid var(--pz-event-line);
  border-radius: 14px;
  color: var(--pz-event-muted);
  display: flex;
  gap: 10px;
  min-height: 54px;
  padding: 10px;
  text-align: left;
}

.pz-event-stepper button span {
  align-items: center;
  background: var(--pz-event-panel-soft);
  border-radius: 999px;
  color: var(--pz-event-primary);
  display: inline-flex;
  flex: 0 0 30px;
  font-size: .88rem;
  font-weight: 900;
  height: 30px;
  justify-content: center;
  width: 30px;
}

.pz-event-stepper button strong {
  font-size: .92rem;
  line-height: 1.12;
  min-width: 0;
}

.pz-event-stepper button.is-active,
.pz-event-stepper button.is-complete {
  background: #fff;
  border-color: rgba(253, 102, 5, .5);
  color: var(--pz-event-primary);
  forced-color-adjust: none;
}

.pz-event-stepper button.is-active span,
.pz-event-stepper button.is-complete span {
  background: var(--pz-event-accent);
  color: #fff;
}

.pz-event-step-status {
  align-items: center;
  background: rgba(253, 102, 5, .08);
  border: 1px solid rgba(253, 102, 5, .18);
  border-radius: 14px;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding: 12px 14px;
}

.pz-event-step-status strong {
  color: var(--pz-event-primary);
  flex: 0 0 auto;
}

.pz-event-step-status span {
  color: var(--pz-event-muted);
  line-height: 1.4;
  text-align: right;
}

.pz-event-step-panel {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.pz-event-step-copy {
  max-width: 680px;
}

.pz-event-step-copy p {
  color: var(--pz-event-muted);
  line-height: 1.5;
  margin: 0;
}

.pz-event-form-grid,
.pz-event-profile-slim {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pz-event-profile-slim .pz-field--full,
.pz-event-form-grid .pz-field--full {
  grid-column: 1 / -1;
}

.pz-event-page .pz-field {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.pz-event-page .pz-field > label,
.pz-event-fieldset legend {
  color: var(--pz-event-primary);
  font-size: .9rem;
  font-weight: 850;
  line-height: 1.25;
}

.pz-event-page input[type="text"],
.pz-event-page input[type="email"],
.pz-event-page input[type="tel"],
.pz-event-page select,
.pz-event-page textarea {
  background: #fff;
  border: 1px solid rgba(23, 18, 15, .18);
  border-radius: 12px;
  color: var(--pz-event-ink);
  font: inherit;
  min-height: 46px;
  padding: 12px 13px;
  width: 100%;
}

.pz-event-page textarea {
  min-height: 112px;
  resize: vertical;
}

.pz-event-page input:focus,
.pz-event-page select:focus,
.pz-event-page textarea:focus,
.pz-event-page button:focus-visible,
.pz-event-page a:focus-visible {
  outline: 3px solid rgba(253, 102, 5, .26);
  outline-offset: 2px;
}

.pz-event-choice-grid,
.pz-event-account-options {
  display: grid;
  gap: 10px;
}

.pz-event-choice-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pz-event-choice-grid label,
.pz-event-account-options label,
.pz-event-check {
  align-items: start;
  background: #fff;
  border: 1px solid var(--pz-event-line);
  border-radius: 14px;
  color: var(--pz-event-ink);
  cursor: pointer;
  display: grid;
  gap: 10px;
  grid-template-columns: 22px minmax(0, 1fr);
  line-height: 1.35;
  min-width: 0;
  padding: 12px;
}

.pz-event-choice-grid input,
.pz-event-account-options input,
.pz-event-check input {
  accent-color: var(--pz-event-accent);
  height: 20px;
  margin: 1px 0 0;
  position: static;
  width: 20px;
}

.pz-event-account-options label > span {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.pz-event-account-options strong {
  color: var(--pz-event-primary);
  line-height: 1.25;
}

.pz-event-account-options small {
  color: var(--pz-event-muted);
  line-height: 1.35;
}

.pz-event-account-options em {
  color: var(--pz-event-accent);
  font-size: .8rem;
  font-style: normal;
  font-weight: 800;
  margin-top: 4px;
}

.pz-event-fieldset {
  border: 0;
  display: grid;
  gap: 14px;
  margin: 0;
  min-width: 0;
  padding: 0;
}

.pz-event-session-picker {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.pz-event-session-picker label {
  align-items: start;
  background: #fff;
  border: 1px solid var(--pz-event-line);
  border-radius: 16px;
  cursor: pointer;
  display: grid;
  gap: 8px 12px;
  grid-template-columns: 24px minmax(0, 1fr);
  min-height: 100%;
  min-width: 0;
  padding: 14px;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.pz-event-session-picker label:hover,
.pz-event-session-picker label:focus-within {
  border-color: rgba(253, 102, 5, .5);
  box-shadow: 0 16px 34px rgba(23, 18, 15, .08);
  transform: translateY(-1px);
}

.pz-event-session-picker label:has(input:checked) {
  background: #fff8f0;
  border-color: var(--pz-event-accent);
}

.pz-event-session-picker input {
  accent-color: var(--pz-event-accent);
  grid-column: 1;
  grid-row: 1 / span 4;
  height: 22px;
  margin: 2px 0 0;
  position: static;
  width: 22px;
}

.pz-event-session-picker label > span,
.pz-event-session-picker label > strong,
.pz-event-session-picker label > small,
.pz-event-session-picker label > em {
  grid-column: 2;
  min-width: 0;
}

.pz-event-session-picker label > span {
  color: var(--pz-event-accent);
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1;
}

.pz-event-session-picker label > strong {
  color: var(--pz-event-primary);
  font-size: 1rem;
  line-height: 1.18;
}

.pz-event-session-picker label > small {
  color: var(--pz-event-muted);
  font-size: .88rem;
  line-height: 1.35;
}

.pz-event-session-picker label > em {
  color: var(--pz-event-ink);
  font-size: .84rem;
  font-style: normal;
  font-weight: 800;
}

.pz-event-session-picker label.is-disabled {
  cursor: not-allowed;
  opacity: .58;
}

.pz-event-session-picker label.is-disabled:hover,
.pz-event-session-picker label.is-disabled:focus-within {
  border-color: var(--pz-event-line);
  box-shadow: none;
  transform: none;
}

.pz-event-session-picker label.is-past {
  background: linear-gradient(135deg, #f8fafb 0%, #edf2f5 100%);
  border-color: #cfd8df;
  opacity: 1;
}

.pz-event-session-picker label.is-past > span {
  color: #687987;
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
}

.pz-event-session-picker label.is-past > strong {
  color: #52616d;
}

.pz-event-session-picker label.is-past > small {
  color: #70808d;
}

.pz-event-session-picker label.is-past > em {
  align-items: center;
  align-self: start;
  background: #dfe7ec;
  border: 1px solid #c5d0d8;
  border-radius: 999px;
  color: #51626f;
  display: inline-flex;
  font-size: .7rem;
  font-weight: 900;
  justify-self: start;
  letter-spacing: .065em;
  line-height: 1;
  padding: 7px 9px;
  text-transform: uppercase;
}

.pz-event-session-picker label.is-past input {
  filter: grayscale(1);
  opacity: .58;
}

.pz-event-step-total,
.pz-event-submit-bar {
  background: linear-gradient(135deg, #111a24, #0b263d);
  border-radius: 16px;
  color: #fff;
  display: grid;
  gap: 8px;
  padding: 16px;
}

.pz-event-step-total strong,
.pz-event-submit-bar strong {
  color: #fff;
  font-size: 1rem;
  line-height: 1.25;
}

.pz-event-step-total span,
.pz-event-submit-bar span {
  color: rgba(255, 255, 255, .78);
  line-height: 1.45;
}

.pz-event-review-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.pz-event-payment-stage {
  align-items: start;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
}

.pz-event-payment-card {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.pz-event-payment-card__top {
  display: grid;
  gap: 6px;
}

.pz-event-payment-card__top strong {
  color: var(--pz-event-primary);
  font-size: clamp(1.2rem, 2vw, 1.65rem);
  line-height: 1.1;
}

.pz-event-payment-card dl {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.pz-event-payment-card dl .is-wide {
  grid-column: 1 / -1;
}

.pz-event-payment-card--checkout {
  background: linear-gradient(180deg, #ffffff, var(--pz-event-panel-soft));
  border: 1px solid var(--pz-event-line);
  border-radius: 16px;
  padding: 16px;
}

.pz-event-payment-card--checkout dl {
  grid-template-columns: 1fr;
}

.pz-event-review-note {
  background: rgba(11, 38, 61, .06);
  border: 1px solid rgba(11, 38, 61, .12);
  border-radius: 14px;
  padding: 14px;
}

.pz-event-form-grid--consents {
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr;
}

.pz-event-form-grid--consents .pz-event-check {
  min-height: 54px;
}

.pz-event-submit-bar {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: 2px;
}

.pz-event-submit-bar .pz-event-wizard-actions {
  margin: 0;
}

.pz-event-wizard-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 2px;
}

.pz-event-side {
  display: grid;
  gap: 16px;
  position: sticky;
  top: 96px;
}

.pz-event-side > * {
  padding: 18px;
}

.pz-event-side h3 {
  color: var(--pz-event-primary);
  margin: 8px 0 10px;
}

.pz-event-page--success .pz-event-shell {
  display: grid;
  gap: 22px;
}

.pz-event-success-panel,
.pz-event-empty {
  padding: clamp(22px, 4vw, 42px);
}

.pz-event-success-panel h1,
.pz-event-empty h1 {
  color: var(--pz-event-primary);
  margin: 8px 0 12px;
}

/* Portal and admin event views share the same stylesheet. */
.pz-event-portal-layout,
.pz-event-admin-grid,
.pz-event-flow-grid,
.pz-event-client-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pz-event-portal-list,
.pz-event-admin-results-list,
.pz-event-admin-fields,
.pz-event-admin-editor,
.pz-event-admin-table,
.pz-event-proof-form {
  display: grid;
  gap: 12px;
}

.pz-events-admin-spa {
  display: grid;
  gap: 16px;
}

.pz-events-admin-toolbar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
}

.pz-events-admin-toolbar form {
  margin: 0;
}

.pz-events-admin-toolbar select {
  min-height: 42px;
}

.pz-events-admin-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pz-events-admin-tabs a {
  border: 1px solid var(--pz-event-line);
  border-radius: 999px;
  color: var(--pz-event-primary);
  display: inline-flex;
  font-weight: 800;
  line-height: 1.15;
  padding: 10px 14px;
  text-decoration: none;
}

.pz-events-admin-tabs a.is-active {
  background: var(--pz-event-primary);
  color: #fff;
}

/* Painel operacional do evento: uma leitura rápida, sem cartões sem estrutura. */
.pz-events-admin-overview {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  min-width: 0;
}

.pz-events-admin-overview > * {
  box-sizing: border-box;
  min-width: 0;
}

.pz-events-admin-overview .pz-event-admin-card,
.pz-events-admin-overview > .pz-event-payment-card,
.pz-event-admin-payment-methods > .pz-event-payment-card {
  border-radius: 20px;
  box-shadow: 0 18px 48px rgba(11, 38, 61, .09);
  overflow: hidden;
  padding: clamp(20px, 2.4vw, 30px);
  position: relative;
}

.pz-events-admin-overview .pz-event-admin-card--feature {
  background:
    linear-gradient(135deg, rgba(11, 38, 61, .98), rgba(8, 67, 76, .94)),
    var(--pz-event-primary);
  border-color: rgba(255, 255, 255, .08);
  color: #fff;
  grid-column: span 8;
  isolation: isolate;
}

.pz-events-admin-overview .pz-event-admin-card--feature::before {
  background: var(--pz-event-accent);
  content: "";
  inset: 0 auto 0 0;
  position: absolute;
  width: 5px;
}

.pz-events-admin-overview .pz-event-admin-card--feature::after {
  background:
    linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
  background-size: 44px 44px;
  content: "";
  inset: 0;
  mask-image: linear-gradient(90deg, transparent 12%, #000 100%);
  pointer-events: none;
  position: absolute;
  z-index: -1;
}

.pz-events-admin-overview .pz-event-admin-card--feature > span {
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .09em;
  padding: 7px 10px;
  text-transform: uppercase;
}

.pz-events-admin-overview .pz-event-admin-card--feature h2 {
  color: #fff;
  font-size: clamp(1.65rem, 3vw, 2.45rem);
  letter-spacing: -.035em;
  line-height: 1.04;
  margin: 18px 0 12px;
  max-width: 720px;
}

.pz-events-admin-overview .pz-event-admin-card--feature p {
  color: rgba(255, 255, 255, .78);
  line-height: 1.62;
  margin: 0;
  max-width: 760px;
}

.pz-events-admin-overview .pz-event-admin-card:not(.pz-event-admin-card--feature) {
  align-content: start;
  background: linear-gradient(155deg, #fffdfa, #f5eee6);
  border-top: 4px solid var(--pz-event-accent);
  display: grid;
  gap: 10px;
  grid-column: span 4;
}

.pz-events-admin-overview .pz-event-admin-card:not(.pz-event-admin-card--feature) > span {
  color: var(--pz-event-muted);
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pz-events-admin-overview .pz-event-admin-card:not(.pz-event-admin-card--feature) > strong {
  color: var(--pz-event-primary);
  font-size: clamp(2rem, 4vw, 3.35rem);
  letter-spacing: -.045em;
  line-height: .95;
}

.pz-events-admin-overview .pz-event-admin-card:not(.pz-event-admin-card--feature) p {
  color: var(--pz-event-muted);
  line-height: 1.5;
  margin: 4px 0 0;
}

.pz-events-admin-overview > .pz-event-payment-card,
.pz-event-admin-payment-methods {
  grid-column: 1 / -1;
}

.pz-events-admin-overview > .pz-event-payment-card,
.pz-event-admin-payment-methods > .pz-event-payment-card {
  background: #fff;
  border: 1px solid rgba(11, 38, 61, .1);
}

.pz-events-admin-overview > .pz-event-payment-card .pz-event-payment-card__top,
.pz-event-admin-payment-methods .pz-event-payment-card__top {
  align-items: end;
  border-bottom: 1px solid rgba(11, 38, 61, .1);
  gap: 10px 24px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding-bottom: 16px;
}

.pz-events-admin-overview > .pz-event-payment-card dl,
.pz-event-admin-payment-methods .pz-event-payment-card dl {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pz-event-admin-payment-methods {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pz-event-admin-payment-methods > .pz-event-payment-card {
  height: 100%;
}

.pz-events-admin-overview .pz-event-admin-actions {
  margin-top: 24px;
}

.pz-events-admin-overview .pz-event-admin-actions .pz-btn {
  min-height: 44px;
}

@media (max-width: 820px) {
  .pz-events-admin-toolbar,
  .pz-events-admin-toolbar form,
  .pz-events-admin-toolbar select,
  .pz-events-admin-toolbar .pz-btn {
    width: 100%;
  }

  .pz-events-admin-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pz-events-admin-tabs a {
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding-inline: 8px;
    text-align: center;
  }

  .pz-events-admin-overview {
    grid-template-columns: minmax(0, 1fr);
  }

  .pz-events-admin-overview .pz-event-admin-card--feature,
  .pz-events-admin-overview .pz-event-admin-card:not(.pz-event-admin-card--feature),
  .pz-events-admin-overview > .pz-event-payment-card,
  .pz-event-admin-payment-methods {
    grid-column: 1;
  }

  .pz-event-admin-payment-methods {
    grid-template-columns: minmax(0, 1fr);
  }

  .pz-events-admin-overview > .pz-event-payment-card .pz-event-payment-card__top,
  .pz-event-admin-payment-methods .pz-event-payment-card__top,
  .pz-events-admin-overview > .pz-event-payment-card dl,
  .pz-event-admin-payment-methods .pz-event-payment-card dl {
    grid-template-columns: minmax(0, 1fr);
  }

  .pz-events-admin-overview .pz-event-admin-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .pz-events-admin-overview .pz-event-admin-actions .pz-btn {
    justify-content: center;
    width: 100%;
  }
}

@media (max-width: 480px) {
  .pz-events-admin-overview .pz-event-admin-card,
  .pz-events-admin-overview > .pz-event-payment-card,
  .pz-event-admin-payment-methods > .pz-event-payment-card {
    border-radius: 16px;
    padding: 16px;
  }

  .pz-events-admin-overview .pz-event-admin-card--feature h2 {
    font-size: 1.55rem;
  }
}

.pz-events-admin-spa [data-pz-event-panel] {
  display: none;
}

.pz-events-admin-spa [data-pz-event-panel].is-active {
  display: block;
}

.pz-event-portal-row,
.pz-event-admin-row,
.pz-event-admin-result-row {
  background: #fff;
  border: 1px solid var(--pz-event-line);
  border-radius: 14px;
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 14px;
}

.pz-event-admin-row {
  grid-template-columns: minmax(120px, .85fr) minmax(96px, .75fr) minmax(160px, 1.2fr) minmax(180px, 1.3fr) minmax(86px, .65fr) minmax(86px, .65fr) minmax(86px, .65fr) minmax(86px, .65fr);
}

.pz-event-admin-row input,
.pz-event-admin-field-row input,
.pz-event-admin-field-row select,
.pz-event-admin-field-row textarea {
  min-width: 0;
  width: 100%;
}

.pz-event-admin-field-row {
  background: #fff;
  border: 1px solid var(--pz-event-line);
  border-radius: 14px;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(110px, .8fr) minmax(160px, 1.1fr) minmax(92px, .7fr) minmax(96px, .7fr) minmax(80px, .6fr) minmax(160px, 1.1fr) minmax(180px, 1.2fr);
  padding: 14px;
}

.pz-event-admin-table {
  overflow-x: auto;
}

.pz-event-admin-table table {
  border-collapse: collapse;
  min-width: 760px;
  width: 100%;
}

.pz-event-admin-table th,
.pz-event-admin-table td {
  border-bottom: 1px solid var(--pz-event-line);
  padding: 10px;
  text-align: left;
  vertical-align: top;
}

.pz-event-tab {
  border: 1px solid var(--pz-event-line);
  border-radius: 999px;
  color: var(--pz-event-primary);
  display: inline-flex;
  margin: 0 8px 8px 0;
  padding: 10px 14px;
  text-decoration: none;
}

.pz-event-tab.is-active {
  background: var(--pz-event-primary);
  color: #fff;
}

/* --- Mini-app contida: hero compacto, wizard focal, apoio demovido --- */
.pz-event-registration-section {
  margin-top: clamp(12px, 2vw, 20px);
}
.pz-event-registration-section > .pz-event-section-head {
  display: none;
}
.pz-event-hero__outcomes {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.pz-event-hero-card {
  gap: 12px;
  padding: clamp(18px, 2.5vw, 26px);
}
.pz-event-hero-card__meta {
  gap: 8px;
}
.pz-event-hero-card__meta > div {
  padding: 10px 12px;
}
.pz-event-payment-stage > * {
  min-width: 0;
}
.pz-event-account-fieldset {
  min-width: 0;
}
.pz-event-flow-section,
.pz-event-portal-card,
.pz-event-faq {
  margin-top: clamp(12px, 2vw, 20px);
}
.pz-event-flow-section {
  border-top: 1px solid var(--pz-event-line);
  padding-top: clamp(16px, 2.5vw, 24px);
}
.pz-event-flow-section .pz-event-section-head {
  margin: 0 0 12px;
  max-width: none;
  text-align: left;
}
.pz-event-flow-section .pz-event-section-head h2,
.pz-event-portal-card h2 {
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  margin: 6px 0 0;
}
.pz-event-flow-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.pz-event-portal-card {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 20px;
  justify-content: space-between;
  padding: clamp(16px, 2.5vw, 22px);
}
.pz-event-portal-card > div {
  flex: 1 1 320px;
  min-width: 0;
}
.pz-event-portal-card > div p {
  color: var(--pz-event-muted);
  line-height: 1.5;
  margin: 6px 0 0;
}
.pz-event-faq {
  display: grid;
  gap: 6px;
}
.pz-event-faq details {
  background: rgba(255, 255, 255, .06);
  border: 1px solid var(--pz-event-line);
  border-radius: 12px;
  padding: 9px 12px;
}
.pz-event-faq details[open] {
  padding-bottom: 12px;
}
.pz-event-faq summary {
  color: var(--pz-event-primary);
  cursor: pointer;
  font-size: .92rem;
  font-weight: 800;
  line-height: 1.3;
}
.pz-event-faq p,
.pz-event-faq ol {
  margin: 6px 0 0;
}
.pz-event-faq p {
  color: var(--pz-event-muted);
  font-size: .92rem;
  line-height: 1.5;
}

.pz-event-page .pz-event-support {
  color: var(--pz-event-ink);
}

.pz-event-page .pz-event-support__intro {
  color: rgba(248, 243, 236, .78);
  line-height: 1.55;
  margin: 0 0 4px;
  max-width: 760px;
}

.pz-event-page .pz-event-faq details {
  background: rgba(255, 255, 255, .07);
  border-color: rgba(255, 255, 255, .14);
}

.pz-event-page .pz-event-faq summary {
  color: #fff7ef;
}

.pz-event-page .pz-event-faq p,
.pz-event-page .pz-event-support ol li {
  color: rgba(248, 243, 236, .74);
}

/* --- Mini-app de 2 colunas: resumo compacto (esq) + wizard focal (dir) --- */
.pz-event-hero--mini {
  display: block;
  margin-bottom: clamp(8px, 1.6vw, 14px);
  text-align: left;
}
.pz-event-hero--mini .pz-event-hero__content {
  align-items: center;
  display: grid;
  gap: 12px 18px;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 0;
  padding: clamp(12px, 2vw, 18px);
}
/* Eyebrow como etiqueta sólida "presa" ao canto (margin negativo puxa-a
   para cima/esquerda, quase a sair do cartão) em vez de texto simples a
   meio do fluxo — leitura de "selo/badge", não de texto decorado. */
.pz-event-hero--mini .pz-event-kicker {
  background: var(--pz-event-accent);
  border-radius: 7px;
  box-shadow: 0 6px 16px rgba(253, 102, 5, .35);
  color: #1a0d00;
  grid-column: 1;
  grid-row: 1;
  margin: -4px 0 0 -4px;
  padding: 4px 10px;
  width: fit-content;
}
.pz-event-hero--mini h1 {
  font-size: clamp(1.42rem, 2.2vw, 2.05rem);
  grid-column: 1;
  grid-row: 2;
  line-height: 1.04;
  margin: 1px 0 3px;
  max-width: none;
}
.pz-event-hero--mini p {
  font-size: .96rem;
  grid-column: 1;
  grid-row: 3;
  max-width: none;
}
.pz-event-hero--mini .pz-event-hero__actions {
  align-self: center;
  grid-column: 2;
  grid-row: 1 / span 3;
  margin-top: 0;
  min-width: min(100%, 330px);
}
.pz-event-appgrid {
  align-items: start;
  display: grid;
  gap: clamp(14px, 2vw, 20px);
  grid-template-areas: "summary form";
  grid-template-columns: minmax(230px, 300px) minmax(0, 1fr);
}
.pz-event-appgrid > .pz-event-hero-card {
  grid-area: summary;
  position: sticky;
  top: 24px;
}
.pz-event-wizard-col {
  grid-area: form;
  min-width: 0;
}
.pz-event-method {
  display: grid;
  gap: 12px;
}
.pz-event-method-panel {
  display: none;
}
.pz-event-method-picker:has(input[value="eupago"]:checked) ~ .pz-event-method-panel[data-pz-event-method="eupago"],
.pz-event-method-picker:has(input[value="manual"]:checked) ~ .pz-event-method-panel[data-pz-event-method="manual"] {
  display: block;
}
.pz-event-support {
  display: grid;
  gap: 8px;
}
.pz-event-support ol {
  margin: 8px 0 0;
  padding-left: 18px;
}
.pz-event-support ol li {
  color: var(--pz-event-muted);
  line-height: 1.5;
}

.pz-event-support__agenda-copy {
  color: var(--pz-event-muted);
  line-height: 1.5;
  margin: 8px 0 0;
  white-space: pre-wrap;
}

@media (max-width: 1060px) {
  .pz-event-hero,
  .pz-event-appgrid,
  .pz-event-registration-layout {
    grid-template-columns: 1fr;
  }

  .pz-event-appgrid {
    grid-template-areas:
      "form"
      "summary";
  }

  .pz-event-appgrid > .pz-event-hero-card {
    position: static;
  }

  .pz-event-side {
    position: static;
  }
}

@media (max-width: 860px) {
  .pz-event-shell {
    padding: 16px 12px 42px;
  }

  .pz-event-hero {
    gap: 14px;
    margin-bottom: 14px;
  }

  .pz-event-hero__content,
  .pz-event-hero-card,
  .pz-event-form,
  .pz-event-side > * {
    border-radius: 16px;
    padding: 16px;
  }

  .pz-event-form {
    gap: 14px;
  }

  .pz-event-form-head {
    padding-bottom: 12px;
  }

  .pz-event-form-head p,
  .pz-event-step-copy p {
    display: none;
  }

  .pz-event-step-panel {
    gap: 14px;
  }

  .pz-event-hero h1 {
    max-width: 12ch;
  }

  .pz-event-hero--mini .pz-event-hero__content {
    grid-template-columns: 1fr;
  }

  .pz-event-hero--mini .pz-event-kicker,
  .pz-event-hero--mini h1,
  .pz-event-hero--mini p,
  .pz-event-hero--mini .pz-event-hero__actions {
    grid-column: auto;
    grid-row: auto;
  }

  .pz-event-hero--mini h1 {
    max-width: none;
  }

  .pz-event-hero--mini .pz-event-hero__actions {
    display: flex;
    gap: 8px;
    min-width: 0;
  }

  .pz-event-hero--mini .pz-event-hero__actions .pz-btn {
    flex: 1 1 150px;
    width: auto;
  }

  .pz-event-stepper {
    gap: 6px;
  }

  .pz-event-stepper button {
    align-content: center;
    display: grid;
    gap: 6px;
    justify-items: center;
    min-height: 58px;
    padding: 8px 6px;
    text-align: center;
  }

  .pz-event-stepper button strong {
    font-size: .78rem;
  }

  .pz-event-step-status {
    align-items: start;
    display: grid;
    gap: 5px;
    padding: 10px 12px;
  }

  .pz-event-step-status span {
    text-align: left;
  }

  .pz-event-hero__outcomes,
  .pz-event-form-grid,
  .pz-event-profile-slim,
  .pz-event-choice-grid,
  .pz-event-session-picker,
  .pz-event-review-grid,
  .pz-event-payment-stage,
  .pz-event-payment-card dl,
  .pz-event-submit-bar,
  .pz-event-portal-layout,
  .pz-event-admin-grid,
  .pz-event-admin-row,
  .pz-event-admin-field-row,
  .pz-event-flow-grid,
  .pz-event-client-grid {
    grid-template-columns: 1fr;
  }

  .pz-event-session-picker label {
    min-height: 0;
    padding: 14px;
  }

  .pz-event-submit-bar .pz-event-wizard-actions,
  .pz-event-wizard-actions,
  .pz-event-wizard-actions .pz-btn,
  .pz-event-submit-bar .pz-btn {
    justify-content: center;
    width: 100%;
  }

  .pz-event-page .pz-btn {
    min-height: 48px;
    width: 100%;
  }

  .pz-event-hero__actions,
  .pz-event-success-actions,
  .pz-event-admin-actions {
    display: grid;
  }

  .pz-event-hero--mini .pz-event-hero__actions {
    display: flex;
  }
}

@media (max-width: 520px) {
  .pz-event-hero__content,
  .pz-event-hero-card,
  .pz-event-form,
  .pz-event-side > * {
    padding: 16px;
  }

  .pz-event-section-head {
    text-align: left;
  }

  .pz-event-form-head h2,
  .pz-event-step-copy h3,
  .pz-event-next-card h3 {
    font-size: 1.22rem;
  }

  .pz-event-session-picker label {
    grid-template-columns: 26px minmax(0, 1fr);
  }

  .pz-event-session-picker label > span {
    font-size: 1.2rem;
  }

  .pz-event-review-grid strong,
  .pz-event-payment-card dd,
  .pz-event-step-total span,
  .pz-event-submit-bar span {
    font-size: .92rem;
  }
}

.pz-event-sandbox-warn {
  background: rgba(180, 60, 20, .08);
  border: 1px solid rgba(180, 60, 20, .28);
  border-radius: 12px;
  color: #9a3412;
  line-height: 1.45;
  margin: 8px 0 0;
  padding: 10px 12px;
}

/* Eventos admin — command center operacional. */
.pza-page--admin-events .pz-events-admin-spa,
.pza-page--admin-events .pz-events-admin-spa * {
  box-sizing: border-box;
}

.pza-page--admin-events .pz-events-admin-spa {
  min-width: 0;
  width: 100%;
}

.pza-page--admin-events .pz-events-admin-tabs {
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(11, 38, 61, .1);
  border-radius: 16px;
  padding: 6px;
}

.pza-page--admin-events .pz-events-admin-tabs a {
  border-color: transparent;
  flex: 1 1 130px;
  justify-content: center;
}

.pz-event-visibility-card,
.pz-event-command-head,
.pz-event-operations-metrics,
.pz-event-session-operations,
.pz-event-registration-filters,
.pz-event-history-card {
  min-width: 0;
}

.pz-event-visibility-card {
  background: linear-gradient(135deg, rgba(11, 38, 61, .98), rgba(8, 67, 76, .94));
  border-radius: 20px;
  color: #fff;
  display: grid;
  gap: 18px;
  padding: clamp(20px, 3vw, 30px);
}

.pz-event-visibility-card > div:first-child > span,
.pz-event-command-head > div > span {
  color: var(--pz-event-accent);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.pz-event-visibility-card h3,
.pz-event-command-head h2 {
  color: inherit;
  font-size: clamp(1.45rem, 3vw, 2.1rem);
  letter-spacing: -.035em;
  line-height: 1.05;
  margin: 8px 0 10px;
}

.pz-event-visibility-card p,
.pz-event-command-head p {
  color: rgba(255, 255, 255, .76);
  line-height: 1.55;
  margin: 0;
  max-width: 720px;
}

.pz-event-visibility-options {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pz-event-visibility-options label,
.pz-event-inline-check {
  align-items: center;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 12px;
  display: flex;
  gap: 9px;
  min-width: 0;
  padding: 12px;
}

.pz-event-visibility-options input,
.pz-event-inline-check input {
  flex: 0 0 auto;
  height: 18px;
  margin: 0;
  width: 18px;
}

.pz-event-registrations-workspace,
.pz-event-history {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.pz-event-command-head {
  align-items: start;
  background:
    linear-gradient(135deg, rgba(11, 38, 61, .99), rgba(7, 75, 78, .94));
  border-left: 5px solid var(--pz-event-accent);
  border-radius: 20px;
  color: #fff;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  padding: clamp(20px, 3vw, 30px);
}

.pz-event-add-participant {
  min-width: 0;
  position: relative;
}

.pz-event-add-participant summary {
  align-items: center;
  background: var(--pz-event-accent);
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  display: flex;
  font-weight: 850;
  justify-content: center;
  list-style: none;
  min-height: 46px;
  padding: 10px 18px;
}

.pz-event-add-participant summary::-webkit-details-marker {
  display: none;
}

.pz-event-add-participant[open] summary {
  border-radius: 14px 14px 0 0;
}

.pz-event-add-participant__form {
  background: #fff;
  border-radius: 0 0 16px 16px;
  box-shadow: 0 28px 70px rgba(0, 0, 0, .24);
  color: var(--pz-event-primary);
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  left: auto;
  max-height: min(74vh, 720px);
  overflow: auto;
  padding: 18px;
  position: absolute;
  right: 0;
  top: 100%;
  width: min(760px, calc(100vw - 64px));
  z-index: 20;
}

.pz-event-add-participant__form input:not([type="checkbox"]):not([type="radio"]),
.pz-event-add-participant__form select,
.pz-event-add-participant__form textarea,
.pz-event-registration-filters input,
.pz-event-registration-filters select {
  min-width: 0;
  width: 100%;
}

.pz-event-add-participant__form > .pz-field--full,
.pz-event-add-participant__form > .pz-event-admin-session-checks,
.pz-event-add-participant__form > .pz-event-inline-check,
.pz-event-add-participant__form > .pz-btn {
  grid-column: 1 / -1;
}

.pz-event-add-participant__form .pz-event-inline-check {
  align-items: start;
  background: #f4f7f8;
  border-color: rgba(11, 38, 61, .12);
  color: var(--pz-event-primary);
  display: grid;
  font-size: .86rem;
  grid-template-columns: 22px minmax(0, 1fr);
  line-height: 1.45;
}

.pz-event-add-participant__form input[type="checkbox"],
.pz-event-add-participant__form input[type="radio"] {
  accent-color: var(--pz-event-accent);
  flex: none;
  height: 18px;
  margin: 2px 0 0;
  min-height: 18px;
  min-width: 18px;
  width: 18px;
}

.pz-event-admin-session-checks {
  border: 0;
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  min-width: 0;
  padding: 0;
}

.pz-event-admin-session-checks legend {
  grid-column: 1 / -1;
  font-weight: 800;
  margin-bottom: 8px;
}

.pz-event-admin-session-checks label {
  align-items: start;
  border: 1px solid rgba(11, 38, 61, .12);
  border-radius: 12px;
  display: grid;
  gap: 10px;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 11px;
}

.pz-event-admin-session-checks label > span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.pz-event-admin-session-checks small {
  color: var(--pz-event-muted);
}

.pz-event-operations-metrics {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pz-event-operations-metrics > div {
  background: #fff;
  border: 1px solid rgba(11, 38, 61, .1);
  border-radius: 16px;
  display: grid;
  gap: 7px;
  padding: 18px;
}

.pz-event-operations-metrics span,
.pz-event-history-card dt,
.pz-event-session-operations dt {
  color: var(--pz-event-muted);
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pz-event-operations-metrics strong {
  color: var(--pz-event-primary);
  font-size: clamp(1.55rem, 3vw, 2.25rem);
  letter-spacing: -.04em;
  line-height: 1;
}

.pz-event-operations-metrics .is-money {
  border-top: 4px solid #07866d;
}

.pz-event-operations-metrics small {
  color: var(--pz-event-muted);
}

.pz-event-session-operations {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pz-event-session-operations article {
  background: linear-gradient(145deg, #fffdfa, #f3f7f7);
  border: 1px solid rgba(11, 38, 61, .1);
  border-radius: 18px;
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: 18px;
}

.pz-event-session-operations article > div:first-child {
  display: grid;
  gap: 3px;
}

.pz-event-session-operations article > div:first-child span {
  color: var(--pz-event-accent);
  font-size: .75rem;
  font-weight: 900;
  text-transform: uppercase;
}

.pz-event-session-operations dl,
.pz-event-history-card dl {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
}

.pz-event-session-operations dl > div,
.pz-event-history-card dl > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.pz-event-session-operations dd,
.pz-event-history-card dd {
  color: var(--pz-event-primary);
  font-size: 1.25rem;
  font-weight: 850;
  margin: 0;
}

.pz-event-capacity-bar {
  background: rgba(11, 38, 61, .1);
  border-radius: 999px;
  height: 8px;
  overflow: hidden;
}

.pz-event-capacity-bar span {
  background: linear-gradient(90deg, var(--pz-event-accent), #07866d);
  border-radius: inherit;
  display: block;
  height: 100%;
}

.pz-event-registration-filters {
  align-items: end;
  background: #fff;
  border: 1px solid rgba(11, 38, 61, .1);
  border-radius: 16px;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(200px, 1fr) minmax(150px, .45fr) auto auto;
  padding: 14px;
}

.pz-event-registration-filters label {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.pz-event-registration-filters label > span {
  color: var(--pz-event-muted);
  font-size: .72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.pz-event-admin-results--operational {
  align-items: start;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
  min-width: 0;
}

.pz-event-admin-results--operational > * {
  min-width: 0;
}

.pz-event-admin-results--operational .pz-event-admin-results-list {
  background: rgba(255, 255, 255, .66);
  border: 1px solid rgba(11, 38, 61, .1);
  border-radius: 18px;
  max-height: 760px;
  overflow: auto;
  padding: 10px;
}

.pz-event-result-count {
  align-items: baseline;
  color: var(--pz-event-muted);
  display: flex;
  gap: 6px;
  padding: 4px 4px 8px;
}

.pz-event-result-count strong {
  color: var(--pz-event-primary);
  font-size: 1.25rem;
}

.pz-event-admin-result-row {
  color: var(--pz-event-primary);
  overflow-wrap: anywhere;
  text-decoration: none;
}

.pz-event-admin-result-row > span {
  color: var(--pz-event-accent);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.pz-event-admin-result-row.is-active {
  background: var(--pz-event-primary);
  border-color: var(--pz-event-primary);
  color: #fff;
}

.pz-event-admin-result-row.is-active > span,
.pz-event-admin-result-row.is-active small {
  color: rgba(255, 255, 255, .74);
}

.pz-event-admin-detail-card {
  min-width: 0;
  overflow: hidden;
  padding: clamp(18px, 3vw, 28px);
}

.pz-event-admin-detail-card header h2 {
  color: var(--pz-event-primary);
  font-size: clamp(1.45rem, 3vw, 2.1rem);
  overflow-wrap: anywhere;
}

.pz-event-admin-detail-card header p,
.pz-event-admin-answer-grid span,
.pz-event-admin-meta span {
  overflow-wrap: anywhere;
}

.pz-event-admin-meta,
.pz-event-admin-answer-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 18px 0;
}

.pz-event-admin-meta > div,
.pz-event-admin-answer-grid > div {
  background: #f5f7f8;
  border: 1px solid rgba(11, 38, 61, .08);
  border-radius: 12px;
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 12px;
}

.pz-event-admin-meta strong,
.pz-event-admin-answer-grid strong {
  color: var(--pz-event-muted);
  font-size: .7rem;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.pz-event-admin-status-form {
  border-top: 1px solid rgba(11, 38, 61, .1);
  display: grid;
  gap: 12px;
  margin-top: 20px;
  padding-top: 20px;
}

.pz-event-history-list {
  display: grid;
  gap: 12px;
}

.pz-event-history-card {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(11, 38, 61, .1);
  border-radius: 18px;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(220px, 1fr) minmax(420px, 1.5fr) auto;
  padding: 18px;
}

.pz-event-history-card__main > span {
  color: var(--pz-event-accent);
  font-size: .7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.pz-event-history-card h3 {
  color: var(--pz-event-primary);
  margin: 5px 0;
}

.pz-event-history-card p {
  color: var(--pz-event-muted);
  margin: 0;
}

.pz-event-history-card dl {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 980px) {
  .pza-page--admin-events .pz-events-admin-tabs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .pz-event-command-head,
  .pz-event-admin-results--operational,
  .pz-event-history-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .pz-event-add-participant__form {
    grid-template-columns: minmax(0, 1fr);
    position: static;
    width: 100%;
  }

  .pz-event-admin-session-checks {
    grid-template-columns: minmax(0, 1fr);
  }

  .pz-event-operations-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pz-event-registration-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .pza-page--admin-events .pz-events-admin-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pz-event-visibility-options,
  .pz-event-session-operations,
  .pz-event-operations-metrics,
  .pz-event-registration-filters,
  .pz-event-admin-meta,
  .pz-event-admin-answer-grid,
  .pz-event-history-card dl {
    grid-template-columns: minmax(0, 1fr);
  }

  .pz-event-command-head,
  .pz-event-visibility-card,
  .pz-event-admin-detail-card {
    border-radius: 16px;
    padding: 16px;
  }

  .pz-event-registration-filters .pz-btn,
  .pz-event-add-participant__form .pz-btn {
    justify-content: center;
    width: 100%;
  }

  .pz-event-admin-results--operational .pz-event-admin-results-list {
    max-height: none;
  }
}

/* ============================================================
   STEP 3 — CHECKOUT (Pagamento), redesign visual only.
   Âmbito: .pz-event-review-grid--compact, .pz-event-method-picker,
   .pz-event-payment-card--checkout, .pz-event-account-fieldset,
   .pz-event-total-band, .pz-event-submit-bar.
   Só tokens --pz-event-* já existentes, nenhum hex novo, sem !important.
   ============================================================ */

/* 1) Resumo — faixa compacta tipo recibo (substitui a grelha de 4 cartões).
   Linha inteira em flex (não grid) para dar ao valor a largura máxima
   disponível e reduzir ao mínimo as quebras feias de emails/telefones. */
.pz-event-review-grid.pz-event-review-grid--compact {
  background: var(--pz-event-panel-soft);
  border: 1px solid var(--pz-event-line);
  border-radius: 14px;
  display: grid;
  gap: 0;
  grid-template-columns: 1fr;
  padding: 0 16px;
}
.pz-event-review-grid.pz-event-review-grid--compact > div {
  align-items: baseline;
  background: none;
  border: 0;
  border-bottom: 1px solid var(--pz-event-line);
  border-radius: 0;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 11px 0;
}
.pz-event-review-grid.pz-event-review-grid--compact > div:last-child {
  border-bottom: 0;
}
.pz-event-review-grid.pz-event-review-grid--compact span {
  flex: 0 0 auto;
  font-size: .74rem;
  margin: 0;
  white-space: nowrap;
}
.pz-event-review-grid.pz-event-review-grid--compact strong {
  flex: 1 1 auto;
  font-size: .9rem;
  min-width: 0;
  text-align: right;
}

/* 2) Métodos de pagamento — 1 por linha (a largura real disponível aqui é
   só a coluna do método dentro de .pz-event-payment-stage, partilhada com
   o fieldset de acompanhamento ao lado; 2 colunas cortava o texto do IBAN).
   Estado selecionado com destaque claro (mesmo padrão :has() já usado em
   .pz-event-session-picker). */
.pz-event-account-options.pz-event-method-picker label {
  overflow: hidden;
  position: relative;
  transition: border-color .15s ease, background-color .15s ease;
}
.pz-event-account-options.pz-event-method-picker label strong {
  font-size: .96rem;
  font-weight: 800;
}
.pz-event-account-options.pz-event-method-picker label small {
  font-size: .8rem;
}
.pz-event-account-options.pz-event-method-picker label:has(input:checked) {
  background: var(--pz-event-panel-soft);
  border-color: var(--pz-event-accent);
}
.pz-event-account-options.pz-event-method-picker label:has(input:checked)::before {
  background: var(--pz-event-accent);
  border-radius: 14px 0 0 14px;
  bottom: -1px;
  content: "";
  left: -1px;
  position: absolute;
  top: -1px;
  width: 4px;
}

/* 2b) Rádio nativo refinado (anel + ponto) em vez do círculo sólido pesado
   por defeito — aplica-se ao picker de método E ao de acompanhamento
   (mesma família de escolha, mesmo tratamento visual). Mantém o <input>
   nativo (acessibilidade/teclado intactos), só troca a aparência. */
.pz-event-account-options input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  background: #fff;
  border: 2px solid var(--pz-event-line);
  border-radius: 999px;
  forced-color-adjust: none;
  height: 20px;
  margin: 1px 0 0;
  position: relative;
  width: 20px;
}
.pz-event-account-options input[type="radio"]:checked {
  border-color: var(--pz-event-accent);
}
.pz-event-account-options input[type="radio"]:checked::after {
  background: var(--pz-event-accent);
  border-radius: 999px;
  content: "";
  height: 10px;
  left: 3px;
  position: absolute;
  top: 3px;
  width: 10px;
}

/* Ícone do método (Eupago/IBAN) — cinza discreto em repouso, cor de
   destaque quando o cartão está selecionado (mesmo padrão já usado no
   checkout do portal, PZ_Payments::method_icon()/render_payment_methods()). */
.pz-event-account-options.pz-event-method-picker label {
  grid-template-columns: 20px 20px minmax(0, 1fr);
}
.pz-event-method-icon {
  align-items: center;
  color: var(--pz-event-muted);
  display: flex;
  height: 20px;
  justify-content: center;
}
.pz-event-account-options.pz-event-method-picker label:has(input:checked) .pz-event-method-icon {
  color: var(--pz-event-accent);
}

/* 3) Cartões de detalhe de pagamento — mais compactos; o valor aqui fica
   secundário porque o valor grande e proeminente passa a viver só no
   bloco "Total a pagar" (ponto 5). Só afeta a variante --checkout (Step 3),
   nunca a variante --preview usada no painel de sucesso. */
.pz-event-payment-card.pz-event-payment-card--checkout {
  padding: 14px 16px;
}
.pz-event-payment-card.pz-event-payment-card--checkout .pz-event-payment-card__top strong {
  font-size: 1rem;
  font-weight: 700;
}
.pz-event-payment-card.pz-event-payment-card--checkout dl > div {
  padding: 10px 12px;
}
.pz-event-payment-card.pz-event-payment-card--checkout > p:not(.pz-event-sandbox-warn) {
  font-size: .85rem;
}

/* 4) Acompanhamento no portal — mais discreto/compacto. */
.pz-event-account-fieldset legend {
  font-size: .92rem;
}
.pz-event-account-fieldset > p {
  font-size: .85rem;
  margin: 0 0 10px;
}
.pz-event-account-fieldset .pz-event-account-options label {
  padding: 10px 12px;
}
.pz-event-account-fieldset .pz-event-account-options strong {
  font-size: .9rem;
}
.pz-event-account-fieldset .pz-event-account-options small {
  font-size: .78rem;
}

/* 5) Total a pagar — bloco único de destaque, colado ao CTA final.
   Tratamento LEVE (fundo claro, não sólido/saturado) — a versão anterior
   em bloco cheio na cor de accent ficava demasiado pesada/gritante ao lado
   do resto do formulário claro; aqui só o VALOR fica em destaque (cor +
   tamanho), o fundo mantém-se discreto como o resto dos cartões do passo. */
.pz-event-total-band {
  align-items: baseline;
  background: var(--pz-event-panel-soft);
  border: 1px solid var(--pz-event-line);
  border-radius: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  padding: 14px 16px;
}
.pz-event-total-band__headline {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
}
.pz-event-total-band__headline span {
  color: var(--pz-event-muted);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.pz-event-total-band__headline strong {
  color: var(--pz-event-accent);
  font-size: clamp(1.25rem, 2.2vw, 1.55rem);
  font-weight: 800;
  line-height: 1.1;
}
.pz-event-total-band__hint {
  color: var(--pz-event-muted);
  flex-basis: 100%;
  font-size: .82rem;
  line-height: 1.4;
}

/* 6) CTA final — hierarquia por espaçamento/tipografia, sem tocar em .pz-btn. */
.pz-event-step-panel .pz-event-submit-bar {
  padding: 14px 18px;
}
.pz-event-step-panel .pz-event-submit-bar > div:first-child {
  display: grid;
  gap: 2px;
}
.pz-event-step-panel .pz-event-submit-bar > div:first-child strong {
  font-size: 1rem;
}
.pz-event-step-panel .pz-event-submit-bar > div:first-child span {
  font-size: .84rem;
}

/* Mobile @860px — .pz-event-review-grid--compact e .pz-event-method-picker
   já são 1 coluna sempre (sem grid-template-columns próprio a colapsar). */
@media (max-width: 860px) {
  .pz-event-total-band {
    padding: 12px 14px;
  }
}

/* Mobile @520px */
@media (max-width: 520px) {
  .pz-event-review-grid.pz-event-review-grid--compact > div {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
    padding: 9px 0;
  }
  .pz-event-review-grid.pz-event-review-grid--compact strong {
    text-align: left;
  }
  .pz-event-total-band__headline strong {
    font-size: 1.15rem;
  }
  .pz-event-total-band__headline span,
  .pz-event-total-band__hint {
    font-size: .72rem;
  }
}
