/* Coxy Events V5.98 - Create/Update Event dialog clarity + compact professional layout.
   Scope is intentionally limited to #eventDialog so the global glass theme is unchanged. */

#eventDialog.modal {
  width: min(880px, calc(100vw - 28px)) !important;
  max-height: 90vh !important;
  padding: 0 !important;
  overflow: auto !important;
  background: rgba(250, 251, 249, 0.85) !important;
  color: #24313d !important;
  border: 1px solid rgba(255, 255, 255, 0.88) !important;
  border-radius: 14px !important;
  box-shadow: 0 22px 58px rgba(15, 31, 46, 0.30) !important;
  backdrop-filter: blur(16px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
}

#eventDialog.modal::backdrop {
  background: rgba(18, 29, 39, 0.44) !important;
  backdrop-filter: blur(2px) !important;
  -webkit-backdrop-filter: blur(2px) !important;
}

#eventDialog .modal-body {
  padding: 16px 18px 18px !important;
}

#eventDialog .eyebrow {
  margin: 0 44px 2px !important;
  color: #1675b8 !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  line-height: 1.25 !important;
  text-align: center !important;
}

#eventDialog #eventFormTitle {
  margin: 0 44px 6px !important;
  color: #202d38 !important;
  font-size: 23px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-align: center !important;
}

#eventDialog #eventDialogBack {
  min-height: 32px !important;
  padding: 6px 18px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: #334452 !important;
  border: 1px solid rgba(72, 101, 122, 0.24) !important;
  border-radius: 7px !important;
  box-shadow: 0 2px 8px rgba(28, 50, 67, 0.08) !important;
}

#eventDialog .modal-close {
  top: 10px !important;
  right: 10px !important;
  width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  border-radius: 8px !important;
  border: 1px solid rgba(72, 101, 122, 0.24) !important;
  background: rgba(255, 255, 255, 0.93) !important;
  color: #394a57 !important;
  font-size: 20px !important;
  line-height: 30px !important;
  box-shadow: 0 2px 8px rgba(28, 50, 67, 0.08) !important;
}

#eventDialog #eventForm {
  gap: 10px !important;
}

#eventDialog #event-config,
#eventDialog #event-config .grid,
#eventDialog .address-block .grid {
  gap: 10px 12px !important;
}

#eventDialog .label {
  gap: 4px !important;
  margin: 0 !important;
  color: #344552 !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
}

#eventDialog .input,
#eventDialog .select,
#eventDialog .textarea,
#eventDialog input[type="text"],
#eventDialog input[type="url"],
#eventDialog input[type="date"],
#eventDialog input[type="time"],
#eventDialog input[type="number"],
#eventDialog input[type="file"],
#eventDialog select,
#eventDialog textarea {
  min-height: 38px !important;
  padding: 7px 10px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  color: #1f2d37 !important;
  border: 1px solid rgba(49, 129, 183, 0.42) !important;
  border-radius: 8px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 1px 2px rgba(20, 46, 65, 0.05) !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
}

#eventDialog input[type="file"] {
  padding: 5px 7px !important;
}

#eventDialog textarea,
#eventDialog .textarea {
  min-height: 78px !important;
  resize: vertical !important;
}

#eventDialog .input:focus,
#eventDialog .select:focus,
#eventDialog .textarea:focus,
#eventDialog input:focus,
#eventDialog select:focus,
#eventDialog textarea:focus {
  outline: none !important;
  border-color: rgba(24, 133, 205, 0.76) !important;
  box-shadow: 0 0 0 3px rgba(30, 142, 213, 0.12) !important;
}

#eventDialog .help,
#eventDialog .muted {
  margin-top: 0 !important;
  color: #5c6c79 !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
}

#eventDialog .address-block,
#eventDialog .donation-wallet-config {
  padding: 11px 12px !important;
  background: rgba(255, 255, 255, 0.68) !important;
  border: 1px solid rgba(94, 122, 143, 0.24) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

#eventDialog .address-block .eyebrow,
#eventDialog .donation-wallet-config .eyebrow {
  margin: 0 0 8px !important;
  text-align: left !important;
}

#eventDialog .country-picker {
  max-height: 150px !important;
  gap: 5px 8px !important;
  padding: 8px !important;
  background: rgba(255, 255, 255, 0.82) !important;
  border: 1px solid rgba(94, 122, 143, 0.24) !important;
  border-radius: 8px !important;
}

#eventDialog .country-chip,
#eventDialog .check {
  color: #435460 !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
}

#eventDialog .notice {
  margin: 0 !important;
  padding: 9px 11px !important;
  background: rgba(240, 248, 252, 0.78) !important;
  color: #3b4d59 !important;
  border: 1px solid rgba(80, 137, 173, 0.20) !important;
  border-radius: 8px !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}

#eventDialog .btn {
  min-height: 34px !important;
  padding: 7px 14px !important;
  border-radius: 7px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

#eventDialog #eventForm > .row:last-of-type {
  gap: 8px !important;
  margin-top: 2px !important;
}

#eventDialog #eventForm > .row:last-of-type .btn[type="submit"] {
  background: rgba(32, 126, 184, 0.92) !important;
  color: #fff !important;
  border-color: rgba(28, 105, 154, 0.85) !important;
  box-shadow: 0 4px 12px rgba(19, 91, 137, 0.18) !important;
}

#eventDialog #eventForm > .row:last-of-type .btn.ghost {
  background: rgba(255, 255, 255, 0.88) !important;
  color: #344552 !important;
}

@media (max-width: 700px) {
  #eventDialog.modal {
    width: calc(100vw - 14px) !important;
    max-height: 92vh !important;
    border-radius: 11px !important;
  }

  #eventDialog .modal-body {
    padding: 13px 12px 15px !important;
  }

  #eventDialog #eventFormTitle {
    font-size: 20px !important;
  }

  #eventDialog #event-config.grid-2,
  #eventDialog .address-block .grid-2 {
    grid-template-columns: 1fr !important;
  }

  #eventDialog .country-picker {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Coxy Events V5.99 - Organizer Shared Information compact layout.
   CSS-only. Scoped to organizer/shared.php through data-share-role="organizer".
   Existing background colors, typography colors and all functionality are unchanged. */

html[data-share-role="organizer"] .community-sharing-page > .eyebrow {
  margin-bottom: 3px !important;
}

html[data-share-role="organizer"] .community-sharing-page > .page-title {
  margin-top: 0 !important;
  margin-bottom: 4px !important;
}

html[data-share-role="organizer"] .community-sharing-page > .lead {
  margin-top: 0 !important;
  margin-bottom: 12px !important;
  line-height: 1.35 !important;
}

/* Keep a visible one-line gap between each major section card. */
html[data-share-role="organizer"] .community-sharing-page > section.card {
  margin: 0 !important;
  padding: 14px 16px !important;
}

html[data-share-role="organizer"] .community-sharing-page > section.card + section.card {
  margin-top: 12px !important;
}

html[data-share-role="organizer"] .community-sharing-page > section.card > p,
html[data-share-role="organizer"] .community-sharing-page > section.card > .muted {
  margin-top: 4px !important;
  margin-bottom: 6px !important;
  line-height: 1.35 !important;
}

/* Compact each section header and put its action buttons on a centered row. */
html[data-share-role="organizer"] .community-sharing-page > section.card > .spread {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px 9px !important;
  margin-bottom: 8px !important;
}

html[data-share-role="organizer"] .community-sharing-page > section.card > .spread > :first-child:not(.btn) {
  flex: 1 1 100% !important;
  min-width: 0 !important;
}

html[data-share-role="organizer"] .community-sharing-page > section.card > .spread > .btn,
html[data-share-role="organizer"] .community-sharing-page > section.card > .spread > a.btn {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

html[data-share-role="organizer"] .community-sharing-page #shareIdentity {
  text-align: center !important;
}

html[data-share-role="organizer"] .community-sharing-page section.card h2,
html[data-share-role="organizer"] .community-sharing-page section.card h3 {
  margin-top: 0 !important;
  margin-bottom: 4px !important;
}

html[data-share-role="organizer"] .community-sharing-page section.card .eyebrow {
  margin-bottom: 3px !important;
}

html[data-share-role="organizer"] .community-sharing-page section.card .notice {
  margin: 7px 0 !important;
  padding: 8px 10px !important;
}

/* Compact form rhythm without changing field values, types, validation or behavior. */
html[data-share-role="organizer"] .community-sharing-page form.stack {
  gap: 8px !important;
}

html[data-share-role="organizer"] .community-sharing-page form .label {
  gap: 3px !important;
  margin: 0 !important;
}

html[data-share-role="organizer"] .community-sharing-page form .input,
html[data-share-role="organizer"] .community-sharing-page form .select,
html[data-share-role="organizer"] .community-sharing-page form .textarea,
html[data-share-role="organizer"] .community-sharing-page form input,
html[data-share-role="organizer"] .community-sharing-page form select,
html[data-share-role="organizer"] .community-sharing-page form textarea {
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}

html[data-share-role="organizer"] .community-sharing-page form .help {
  margin-top: 1px !important;
  line-height: 1.3 !important;
}

/* Center primary form actions. */
html[data-share-role="organizer"] .community-sharing-page form > .btn,
html[data-share-role="organizer"] .community-sharing-page form > button.btn {
  align-self: center !important;
  margin: 2px auto 0 !important;
  min-width: 170px !important;
}

/* Center dynamically rendered action rows when they contain buttons. */
html[data-share-role="organizer"] .community-sharing-page section.card .row:has(> .btn),
html[data-share-role="organizer"] .community-sharing-page section.card .row:has(> a.btn) {
  justify-content: center !important;
  gap: 7px !important;
}

@media (max-width: 700px) {
  html[data-share-role="organizer"] .community-sharing-page > section.card {
    padding: 12px 13px !important;
  }

  html[data-share-role="organizer"] .community-sharing-page > section.card + section.card {
    margin-top: 10px !important;
  }

  html[data-share-role="organizer"] .community-sharing-page > section.card > .spread {
    gap: 6px !important;
  }

  html[data-share-role="organizer"] .community-sharing-page form > .btn,
  html[data-share-role="organizer"] .community-sharing-page form > button.btn {
    min-width: 150px !important;
  }
}

/* Coxy Events V5.104 - Compact professional Organizer dashboard and event summary.
   CSS-only. Scoped to the Organizer dashboard by the presence of #eventStats.
   No event, marketplace, media, payment, attendee or wallet behavior is changed. */

/* Remove the oversized empty area above the Organizer workspace. */
html[data-role] main.page:has(#eventStats) {
  padding-top: 6px !important;
  padding-bottom: 24px !important;
}

html[data-role] main.page:has(#eventStats) > .container {
  padding-top: 0 !important;
}

/* Turn the workspace heading/actions into a compact, centered toolbar. */
html[data-role] main.page:has(#eventStats) > .container > .spread {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  margin: 0 !important;
}

html[data-role] main.page:has(#eventStats) > .container > .spread > div:first-child {
  width: 100% !important;
  min-width: 0 !important;
  text-align: center !important;
}

html[data-role] main.page:has(#eventStats) > .container > .spread .eyebrow {
  margin: 0 0 2px !important;
}

html[data-role] main.page:has(#eventStats) > .container > .spread .page-title {
  margin: 0 0 4px !important;
  font-size: 22px !important;
  line-height: 1.1 !important;
}

html[data-role] main.page:has(#eventStats) .ownership-note.small {
  display: inline-block !important;
  width: auto !important;
  max-width: 940px !important;
  margin: 0 auto !important;
  padding: 6px 10px !important;
  border-radius: 8px !important;
  line-height: 1.25 !important;
  text-align: center !important;
}

html[data-role] main.page:has(#eventStats) > .container > .spread > .row {
  width: 100% !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 3px 0 0 !important;
  flex-wrap: wrap !important;
}

html[data-role] main.page:has(#eventStats) > .container > .spread > .row .btn {
  width: auto !important;
  min-width: 104px !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  font-size: 11.5px !important;
}

html[data-role] main.page:has(#eventStats) #dashboardMsg:empty {
  display: none !important;
}

/* Compact the four Organizer counters so they read as a summary, not large panels. */
html[data-role] main.page:has(#eventStats) #eventStats.dashboard-stats {
  grid-template-columns: repeat(4, minmax(120px, 1fr)) !important;
  gap: 8px !important;
  width: min(760px, 100%) !important;
  margin: 9px auto 0 !important;
}

html[data-role] main.page:has(#eventStats) #eventStats .stat {
  min-height: 0 !important;
  padding: 9px 11px !important;
  border-radius: 9px !important;
  box-shadow: none !important;
  text-align: center !important;
}

html[data-role] main.page:has(#eventStats) #eventStats .stat strong {
  display: block !important;
  margin: 0 0 3px !important;
  font-size: 20px !important;
  line-height: 1 !important;
}

html[data-role] main.page:has(#eventStats) #eventStats .stat span {
  display: block !important;
  font-size: 9.5px !important;
  line-height: 1.15 !important;
  letter-spacing: 0.07em !important;
}

html[data-role] main.page:has(#eventStats) #eventsList {
  gap: 10px !important;
  margin-top: 10px !important;
}

/* Compact the event summary card. */
html[data-role] main.page:has(#eventStats) #eventsList .organizer-event-card {
  border-radius: 11px !important;
}

html[data-role] main.page:has(#eventStats) #eventsList .organizer-event-main {
  grid-template-columns: minmax(165px, 190px) minmax(0, 1fr) !important;
  align-items: stretch !important;
}

html[data-role] main.page:has(#eventStats) #eventsList .organizer-event-media {
  padding: 10px !important;
  gap: 6px !important;
}

html[data-role] main.page:has(#eventStats) #eventsList .event-thumb {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  max-height: none !important;
  border-radius: 8px !important;
}

html[data-role] main.page:has(#eventStats) #eventsList .event-theme-indicator {
  gap: 5px !important;
  margin: 0 !important;
  font-size: 10.5px !important;
  line-height: 1.2 !important;
}

html[data-role] main.page:has(#eventStats) #eventsList .event-theme-indicator span {
  width: 9px !important;
  height: 9px !important;
}

html[data-role] main.page:has(#eventStats) #eventsList .organizer-event-overview {
  padding: 11px 13px 10px !important;
}

html[data-role] main.page:has(#eventStats) #eventsList .event-badge-row {
  gap: 5px !important;
  margin: 0 0 6px !important;
}

html[data-role] main.page:has(#eventStats) #eventsList .event-badge-row .badge {
  padding: 4px 8px !important;
  border-radius: 5px !important;
  font-size: 9.5px !important;
  line-height: 1.15 !important;
}

html[data-role] main.page:has(#eventStats) #eventsList .event-title-line {
  gap: 8px !important;
}

/* Requested event title size. */
html[data-role] main.page:has(#eventStats) #eventsList .event-title-line h2 {
  margin: 2px 0 7px !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

html[data-role] main.page:has(#eventStats) #eventsList .event-id-label {
  margin: 0 0 1px !important;
  font-size: 10.5px !important;
  line-height: 1.2 !important;
}

/* Date, time, venue and owner now share one compact row on desktop. */
html[data-role] main.page:has(#eventStats) #eventsList .event-meta-grid {
  grid-template-columns: 0.72fr 0.95fr 2.15fr 1.55fr !important;
  gap: 6px !important;
  align-items: stretch !important;
}

html[data-role] main.page:has(#eventStats) #eventsList .event-meta-wide {
  grid-column: auto !important;
}

html[data-role] main.page:has(#eventStats) #eventsList .event-meta-item {
  min-height: 0 !important;
  padding: 7px 9px !important;
  border-radius: 8px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

html[data-role] main.page:has(#eventStats) #eventsList .event-meta-item span {
  margin-bottom: 2px !important;
  font-size: 8.5px !important;
  line-height: 1.1 !important;
}

html[data-role] main.page:has(#eventStats) #eventsList .event-meta-item strong {
  font-size: 11.5px !important;
  line-height: 1.25 !important;
}

html[data-role] main.page:has(#eventStats) #eventsList .event-meta-item small {
  margin-top: 2px !important;
  font-size: 9.5px !important;
  line-height: 1.2 !important;
}

html[data-role] main.page:has(#eventStats) #eventsList .event-metrics {
  gap: 5px !important;
  margin-top: 7px !important;
  font-size: 10.5px !important;
}

html[data-role] main.page:has(#eventStats) #eventsList .event-metrics span {
  padding: 4px 7px !important;
  border-radius: 6px !important;
}

html[data-role] main.page:has(#eventStats) #eventsList .event-media-link {
  margin-top: 6px !important;
  font-size: 10.5px !important;
}

@media (max-width: 980px) {
  html[data-role] main.page:has(#eventStats) #eventStats.dashboard-stats {
    grid-template-columns: repeat(4, minmax(100px, 1fr)) !important;
  }

  html[data-role] main.page:has(#eventStats) #eventsList .organizer-event-main {
    grid-template-columns: 165px minmax(0, 1fr) !important;
  }

  html[data-role] main.page:has(#eventStats) #eventsList .event-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  html[data-role] main.page:has(#eventStats) {
    padding-top: 4px !important;
  }

  html[data-role] main.page:has(#eventStats) > .container > .spread .page-title {
    font-size: 19px !important;
  }

  html[data-role] main.page:has(#eventStats) > .container > .spread > .row .btn {
    min-width: 92px !important;
    height: 31px !important;
    min-height: 31px !important;
    max-height: 31px !important;
    padding-inline: 8px !important;
    font-size: 11px !important;
  }

  html[data-role] main.page:has(#eventStats) #eventStats.dashboard-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(420px, 100%) !important;
    gap: 6px !important;
  }

  html[data-role] main.page:has(#eventStats) #eventStats .stat {
    padding: 8px 9px !important;
  }

  html[data-role] main.page:has(#eventStats) #eventStats .stat strong {
    font-size: 18px !important;
  }

  html[data-role] main.page:has(#eventStats) #eventsList .organizer-event-main {
    grid-template-columns: 1fr !important;
  }

  html[data-role] main.page:has(#eventStats) #eventsList .organizer-event-media {
    display: grid !important;
    grid-template-columns: minmax(120px, 170px) minmax(0, 1fr) !important;
    align-items: center !important;
    padding: 9px !important;
    border-right: 0 !important;
  }

  html[data-role] main.page:has(#eventStats) #eventsList .event-thumb {
    max-height: 105px !important;
  }

  html[data-role] main.page:has(#eventStats) #eventsList .organizer-event-overview {
    padding: 10px !important;
  }

  html[data-role] main.page:has(#eventStats) #eventsList .event-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;
  }
}

@media (max-width: 430px) {
  html[data-role] main.page:has(#eventStats) .ownership-note.small {
    padding: 5px 7px !important;
    font-size: 10.5px !important;
  }

  html[data-role] main.page:has(#eventStats) #eventsList .organizer-event-media {
    grid-template-columns: 120px minmax(0, 1fr) !important;
  }

  html[data-role] main.page:has(#eventStats) #eventsList .event-meta-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* V5.105 — Participant history: logout belongs to Participant menu only.
   Retained here so V5.106 includes the V5.105 fix while preserving V5.104. */
body:has(.participant-history-section) main.page #participantLogout {
  display: none !important;
}

/* Coxy Events V5.106 — compact professional Participant pages.
   CSS-only. No PHP/JS/API/session/upload/marketplace behavior changes. */

/* --------------------------------------------------------------------------
   Participant main dashboard — compact top area and section cards.
   #participantAccountBar uniquely scopes these rules to participant/index.php.
   -------------------------------------------------------------------------- */
body:has(#participantAccountBar) main.page {
  padding-top: 4px !important;
}

body:has(#participantAccountBar) main.page > .container {
  padding-top: 0 !important;
}

body:has(#participantAccountBar) #participantAccountBar {
  margin-top: 0 !important;
  margin-bottom: 9px !important;
  padding: 8px 10px !important;
  gap: 7px 10px !important;
}

body:has(#participantAccountBar) #participantAccountBar .participant-account-actions {
  justify-content: center !important;
  gap: 6px !important;
}

body:has(#participantAccountBar) #participantAccountBar .participant-account-actions .btn {
  min-height: 32px !important;
  padding: 6px 10px !important;
  font-size: 11.5px !important;
}

body:has(#participantAccountBar) main.page > .container > .eyebrow {
  margin: 0 0 2px !important;
}

body:has(#participantAccountBar) main.page > .container > .page-title {
  margin: 0 0 3px !important;
  line-height: 1.16 !important;
}

body:has(#participantAccountBar) main.page > .container > .lead {
  max-width: 900px !important;
  margin: 0 auto 9px !important;
  line-height: 1.32 !important;
}

/* One clean line of space between top-level Participant dashboard cards. */
body:has(#participantAccountBar) main.page > .container > section.card {
  margin-top: 9px !important;
  margin-bottom: 0 !important;
  padding: 11px 13px !important;
}

body:has(#participantAccountBar) main.page > .container > section.card + section.card {
  margin-top: 10px !important;
}

body:has(#participantAccountBar) main.page section.card > .spread {
  gap: 6px 9px !important;
  align-items: center !important;
}

body:has(#participantAccountBar) main.page section.card .eyebrow {
  margin-bottom: 2px !important;
}

body:has(#participantAccountBar) main.page section.card h2,
body:has(#participantAccountBar) main.page section.card h3 {
  margin-top: 1px !important;
  margin-bottom: 4px !important;
  line-height: 1.18 !important;
}

body:has(#participantAccountBar) main.page section.card p,
body:has(#participantAccountBar) main.page section.card .muted {
  margin-top: 2px !important;
  margin-bottom: 6px !important;
  line-height: 1.3 !important;
}

body:has(#participantAccountBar) main.page section.card form.grid,
body:has(#participantAccountBar) main.page section.card form.stack {
  gap: 7px 9px !important;
}

body:has(#participantAccountBar) main.page section.card form .label {
  gap: 3px !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

body:has(#participantAccountBar) main.page section.card form .input,
body:has(#participantAccountBar) main.page section.card form .select,
body:has(#participantAccountBar) main.page section.card form .textarea,
body:has(#participantAccountBar) main.page section.card form input,
body:has(#participantAccountBar) main.page section.card form select,
body:has(#participantAccountBar) main.page section.card form textarea {
  min-height: 34px !important;
  padding: 6px 8px !important;
  border-radius: 8px !important;
  font-size: 12.5px !important;
}

body:has(#participantAccountBar) main.page section.card form textarea,
body:has(#participantAccountBar) main.page section.card form .textarea {
  min-height: 76px !important;
  line-height: 1.35 !important;
  resize: vertical !important;
}

/* The Event Enquiry screenshot: keep the message area useful without the large void. */
body:has(#participantAccountBar) #enquire {
  padding: 11px 13px !important;
}

body:has(#participantAccountBar) #enquire > .eyebrow,
body:has(#participantAccountBar) #enquire > h2 {
  text-align: center !important;
}

body:has(#participantAccountBar) #enquire #enquiryForm {
  gap: 7px 9px !important;
}

body:has(#participantAccountBar) #enquire textarea[name="message"] {
  height: 86px !important;
  min-height: 86px !important;
}

body:has(#participantAccountBar) main.page section.card form > button.btn[type="submit"],
body:has(#participantAccountBar) main.page section.card form > .btn[type="submit"] {
  justify-self: center !important;
  align-self: center !important;
  width: auto !important;
  min-width: 160px !important;
  min-height: 32px !important;
  padding: 6px 13px !important;
  margin: 1px auto 0 !important;
}

/* --------------------------------------------------------------------------
   Participant Journal — event notes/photos/audio/video.
   #journalEvent uniquely scopes participant/journal.php.
   -------------------------------------------------------------------------- */
body:has(#journalEvent) main.page {
  padding-top: 4px !important;
}

body:has(#journalEvent) .community-page {
  padding-top: 0 !important;
}

body:has(#journalEvent) .community-page > .eyebrow {
  margin: 0 0 2px !important;
  text-align: center !important;
}

body:has(#journalEvent) .community-page > .page-title {
  margin: 0 0 3px !important;
  text-align: center !important;
  line-height: 1.16 !important;
}

body:has(#journalEvent) .community-page > .lead {
  max-width: 940px !important;
  margin: 0 auto 9px !important;
  text-align: center !important;
  line-height: 1.3 !important;
}

body:has(#journalEvent) .community-page > section.card,
body:has(#journalEvent) .community-page .community-two-col > section.card {
  margin: 0 !important;
  padding: 11px 13px !important;
}

/* One-line section separation, including the two-column pair. */
body:has(#journalEvent) .community-page > section.card + section.card,
body:has(#journalEvent) .community-page > .community-two-col + section.card,
body:has(#journalEvent) .community-page > section.card + .community-two-col {
  margin-top: 10px !important;
}

body:has(#journalEvent) .community-two-col {
  gap: 10px !important;
  margin-top: 10px !important;
}

body:has(#journalEvent) .community-page section.card > .spread {
  gap: 6px 9px !important;
  align-items: center !important;
}

body:has(#journalEvent) .community-page section.card .eyebrow {
  margin-bottom: 2px !important;
}

body:has(#journalEvent) .community-page section.card h2,
body:has(#journalEvent) .community-page section.card h3 {
  margin: 1px 0 4px !important;
  line-height: 1.18 !important;
}

body:has(#journalEvent) .community-page section.card p,
body:has(#journalEvent) .community-page section.card .muted {
  margin: 2px 0 6px !important;
  line-height: 1.3 !important;
}

body:has(#journalEvent) .community-page form.stack {
  gap: 7px !important;
}

body:has(#journalEvent) .community-page form .label,
body:has(#journalEvent) .community-page > section.card > .label {
  gap: 3px !important;
  margin: 0 !important;
}

body:has(#journalEvent) .community-page .input,
body:has(#journalEvent) .community-page .select,
body:has(#journalEvent) .community-page .textarea,
body:has(#journalEvent) .community-page input,
body:has(#journalEvent) .community-page select,
body:has(#journalEvent) .community-page textarea {
  min-height: 34px !important;
  padding: 6px 8px !important;
  border-radius: 8px !important;
  font-size: 12.5px !important;
}

body:has(#journalEvent) #noteForm textarea[name="note"] {
  height: 86px !important;
  min-height: 86px !important;
}

body:has(#journalEvent) .community-page .help {
  margin-top: 1px !important;
  line-height: 1.28 !important;
}

body:has(#journalEvent) .audio-recorder-actions,
body:has(#journalEvent) .video-recorder-actions,
body:has(#journalEvent) .community-page section.card > .row {
  justify-content: center !important;
  gap: 6px !important;
  margin-top: 5px !important;
}

body:has(#journalEvent) .community-page .btn {
  min-height: 32px !important;
  padding: 6px 11px !important;
  font-size: 11.5px !important;
}

body:has(#journalEvent) .community-page form > button.btn[type="submit"] {
  align-self: center !important;
  min-width: 150px !important;
  margin: 1px auto 0 !important;
}

body:has(#journalEvent) .journal-audio-preview,
body:has(#journalEvent) .journal-video-preview {
  margin-top: 6px !important;
}

/* --------------------------------------------------------------------------
   Participant Shared Information.
   participant/shared.php already exposes data-share-role="participant".
   -------------------------------------------------------------------------- */
html[data-share-role="participant"] main.page {
  padding-top: 4px !important;
}

html[data-share-role="participant"] .community-sharing-page {
  padding-top: 0 !important;
}

html[data-share-role="participant"] .community-sharing-page > .eyebrow {
  margin: 0 0 2px !important;
  text-align: center !important;
}

html[data-share-role="participant"] .community-sharing-page > .page-title {
  margin: 0 0 3px !important;
  text-align: center !important;
  line-height: 1.16 !important;
}

html[data-share-role="participant"] .community-sharing-page > .lead {
  max-width: 940px !important;
  margin: 0 auto 9px !important;
  text-align: center !important;
  line-height: 1.3 !important;
}

/* One clean line between all major Shared Information cards. */
html[data-share-role="participant"] .community-sharing-page > section.card,
html[data-share-role="participant"] .sharing-layout > section.card {
  margin: 0 !important;
  padding: 11px 13px !important;
}

html[data-share-role="participant"] .community-sharing-page > section.card + section.card,
html[data-share-role="participant"] .community-sharing-page > .sharing-layout + section.card,
html[data-share-role="participant"] .community-sharing-page > section.card + .sharing-layout {
  margin-top: 10px !important;
}

html[data-share-role="participant"] .sharing-layout {
  gap: 10px !important;
  margin-top: 10px !important;
}

html[data-share-role="participant"] .community-sharing-page section.card > .spread {
  gap: 6px 8px !important;
  align-items: center !important;
}

html[data-share-role="participant"] .community-sharing-page section.card .eyebrow {
  margin-bottom: 2px !important;
}

html[data-share-role="participant"] .community-sharing-page section.card h2,
html[data-share-role="participant"] .community-sharing-page section.card h3 {
  margin: 1px 0 4px !important;
  line-height: 1.18 !important;
}

html[data-share-role="participant"] .community-sharing-page section.card p,
html[data-share-role="participant"] .community-sharing-page section.card .muted {
  margin-top: 2px !important;
  margin-bottom: 6px !important;
  line-height: 1.3 !important;
}

html[data-share-role="participant"] .community-sharing-page .privacy-callout {
  padding: 9px 12px !important;
}

html[data-share-role="participant"] .community-sharing-page .privacy-callout p {
  margin-bottom: 0 !important;
}

html[data-share-role="participant"] .community-sharing-page form.stack {
  gap: 7px !important;
}

html[data-share-role="participant"] .community-sharing-page form .label {
  gap: 3px !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

html[data-share-role="participant"] .community-sharing-page form .input,
html[data-share-role="participant"] .community-sharing-page form .select,
html[data-share-role="participant"] .community-sharing-page form .textarea,
html[data-share-role="participant"] .community-sharing-page form input,
html[data-share-role="participant"] .community-sharing-page form select,
html[data-share-role="participant"] .community-sharing-page form textarea {
  min-height: 34px !important;
  padding: 6px 8px !important;
  border-radius: 8px !important;
  font-size: 12.5px !important;
}

html[data-share-role="participant"] #shareForm textarea[name="message"],
html[data-share-role="participant"] #publicShareForm textarea[name="message"] {
  height: 86px !important;
  min-height: 86px !important;
}

html[data-share-role="participant"] #shareForm textarea[name="links"],
html[data-share-role="participant"] #publicShareForm textarea[name="links"] {
  height: 62px !important;
  min-height: 62px !important;
}

html[data-share-role="participant"] .community-sharing-page form .help {
  margin-top: 1px !important;
  line-height: 1.28 !important;
}

html[data-share-role="participant"] .community-sharing-page .notice {
  margin: 6px 0 !important;
  padding: 8px 10px !important;
}

html[data-share-role="participant"] .community-sharing-page .share-tabs,
html[data-share-role="participant"] .community-sharing-page section.card > .spread {
  justify-content: center !important;
}

html[data-share-role="participant"] .community-sharing-page .btn {
  min-height: 32px !important;
  padding: 6px 11px !important;
  font-size: 11.5px !important;
}

html[data-share-role="participant"] .community-sharing-page form > button.btn[type="submit"] {
  align-self: center !important;
  min-width: 160px !important;
  margin: 1px auto 0 !important;
}

@media (max-width: 720px) {
  body:has(#participantAccountBar) main.page > .container > section.card,
  body:has(#journalEvent) .community-page > section.card,
  body:has(#journalEvent) .community-page .community-two-col > section.card,
  html[data-share-role="participant"] .community-sharing-page > section.card,
  html[data-share-role="participant"] .sharing-layout > section.card {
    padding: 10px 11px !important;
  }

  body:has(#participantAccountBar) main.page section.card form.grid,
  body:has(#journalEvent) .community-two-col,
  html[data-share-role="participant"] .sharing-layout {
    gap: 8px !important;
  }

  body:has(#participantAccountBar) #enquire #enquiryForm {
    grid-template-columns: 1fr !important;
  }

  body:has(#participantAccountBar) #enquire #enquiryForm > * {
    grid-column: 1 !important;
  }
}

/* Coxy Events V5.107 — compact Participant History page.
   CSS-only. Scoped by .participant-history-section so other Participant pages are unchanged. */
body:has(.participant-history-section) main.page {
  padding-top: 3px !important;
  padding-bottom: 12px !important;
}

body:has(.participant-history-section) main.page > .container {
  padding-top: 0 !important;
}

/* Compact page heading — remove the large blank area below the navigation. */
body:has(.participant-history-section) main.page > .container > .spread:first-child {
  margin: 0 0 6px !important;
  gap: 4px !important;
  align-items: flex-start !important;
}

body:has(.participant-history-section) main.page > .container > .spread:first-child > div:first-child {
  width: 100% !important;
}

body:has(.participant-history-section) main.page > .container > .spread:first-child .eyebrow {
  margin: 0 0 2px !important;
}

body:has(.participant-history-section) main.page > .container > .spread:first-child .page-title {
  margin: 0 0 3px !important;
  font-size: 20px !important;
  line-height: 1.12 !important;
}

body:has(.participant-history-section) main.page > .container > .spread:first-child .lead {
  margin: 0 !important;
  max-width: none !important;
  font-size: 13px !important;
  line-height: 1.28 !important;
}

body:has(.participant-history-section) #historyMsg:empty {
  display: none !important;
}

body:has(.participant-history-section) #historyMsg:not(:empty) {
  margin: 5px 0 !important;
}

/* Old participant.css uses a large margin here. Keep only one clean line between sections. */
body:has(.participant-history-section) .participant-history-section {
  margin-top: 10px !important;
  padding-top: 0 !important;
}

body:has(.participant-history-section) .participant-history-section > .spread {
  margin: 0 0 5px !important;
  gap: 5px !important;
  align-items: center !important;
}

body:has(.participant-history-section) .participant-history-section > .eyebrow,
body:has(.participant-history-section) .participant-history-section > .spread .eyebrow {
  margin: 0 0 2px !important;
}

body:has(.participant-history-section) .participant-history-section > h2,
body:has(.participant-history-section) .participant-history-section > .spread h2 {
  margin: 0 !important;
  font-size: 17px !important;
  line-height: 1.16 !important;
}

/* Joined RSVP cards. */
body:has(.participant-history-section) #joinedList.stack {
  gap: 8px !important;
}

body:has(.participant-history-section) #joinedList > .card,
body:has(.participant-history-section) #joinedList .joined-event-row {
  margin: 0 !important;
  padding: 10px 12px !important;
}

body:has(.participant-history-section) .joined-event-row {
  gap: 10px !important;
  align-items: center !important;
}

body:has(.participant-history-section) .joined-event-row > div:first-child {
  min-width: 0 !important;
}

body:has(.participant-history-section) .joined-event-row h3 {
  margin: 4px 0 !important;
  font-size: 14px !important;
  line-height: 1.22 !important;
}

body:has(.participant-history-section) .joined-event-row p,
body:has(.participant-history-section) .joined-event-row .small,
body:has(.participant-history-section) .joined-event-row .muted {
  margin-top: 2px !important;
  margin-bottom: 3px !important;
  line-height: 1.25 !important;
}

body:has(.participant-history-section) .joined-event-row .row {
  gap: 5px !important;
  margin-top: 5px !important;
  flex-wrap: wrap !important;
}

body:has(.participant-history-section) .joined-event-row .btn {
  min-height: 30px !important;
  padding: 5px 9px !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
}

body:has(.participant-history-section) .joined-event-row .badge {
  padding: 4px 8px !important;
  font-size: 10.5px !important;
}

body:has(.participant-history-section) .joined-event-row .notice,
body:has(.participant-history-section) .joined-event-row .referral-reward,
body:has(.participant-history-section) .joined-event-row [class*="referral"] {
  margin-top: 5px !important;
}

/* Attendance history below the RSVP section. */
body:has(.participant-history-section) #attendedEvents {
  margin-top: 10px !important;
}

body:has(.participant-history-section) #attendedList.event-browser-grid {
  gap: 10px !important;
  margin-top: 6px !important;
}

body:has(.participant-history-section) #attendedList .event-browser-card {
  margin: 0 !important;
}

body:has(.participant-history-section) #attendedList .event-browser-card > img {
  height: 135px !important;
}

body:has(.participant-history-section) #attendedList .event-browser-body {
  padding: 10px 11px !important;
}

body:has(.participant-history-section) #attendedList .event-browser-body h2,
body:has(.participant-history-section) #attendedList .event-browser-body h3 {
  margin: 4px 0 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

body:has(.participant-history-section) #attendedList .event-browser-card .row {
  gap: 5px !important;
  margin-top: 5px !important;
}

body:has(.participant-history-section) #attendedList .btn {
  min-height: 30px !important;
  padding: 5px 9px !important;
  font-size: 11px !important;
}

@media (max-width: 720px) {
  body:has(.participant-history-section) main.page {
    padding-top: 2px !important;
  }

  body:has(.participant-history-section) .participant-history-section {
    margin-top: 8px !important;
  }

  body:has(.participant-history-section) #joinedList > .card,
  body:has(.participant-history-section) #joinedList .joined-event-row {
    padding: 9px 10px !important;
  }

  body:has(.participant-history-section) .joined-event-row {
    gap: 7px !important;
  }

  body:has(.participant-history-section) .joined-event-row .row {
    justify-content: center !important;
  }

  body:has(.participant-history-section) #attendedList.event-browser-grid {
    gap: 8px !important;
  }
}
