/**
 * FECABI — Espace Membres screens (W2–W8)
 * Uses locked design system from styles.css
 */

.em-wrap {
  flex: 1;
  width: 100%;
  padding: 0.25rem 0 1.5rem;
}

.em-card {
  position: relative;
  width: 100%;
  background: var(--bg-card);
  border: 1px solid var(--border-green);
  border-radius: var(--radius);
  box-shadow:
    0 6px 24px rgba(0, 0, 0, 0.4),
    0 0 22px rgba(26, 122, 76, 0.08);
  padding: 1.15rem 1.15rem 1.1rem;
  overflow: hidden;
  margin-bottom: 0.85rem;
}

.em-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(
    90deg,
    var(--green) 0%,
    var(--green) 33.33%,
    var(--red) 33.33%,
    var(--red) 66.66%,
    var(--gold) 66.66%,
    var(--gold) 100%
  );
}

.em-card__title {
  font-size: clamp(1.25rem, 4.5vw, 1.5rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-align: center;
  margin: 0.1rem 0 0.45rem;
}

.em-card__subtitle {
  font-size: 0.85rem;
  color: var(--text-muted);
  text-align: center;
  margin: 0 0 1.1rem;
  line-height: 1.4;
}

.em-stack {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.em-actions {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin-top: 0.35rem;
}

.em-actions .lang-switch-wrap {
  margin-top: 0.15rem;
}

.btn--retro {
  background: transparent;
  color: var(--text-muted);
  border: 1px solid var(--border-neutral);
  min-height: 44px;
}

.btn--retro:hover:not(:disabled) {
  color: var(--gold-soft);
  border-color: var(--gold-dim);
  background: rgba(232, 200, 114, 0.06);
}

.btn--sm {
  min-height: 36px;
  padding: 0.4rem 0.75rem;
  font-size: 0.8rem;
  width: auto;
}

/* ── W2 Role selection — compact, no-scroll ───────── */
.page-role .site-footer {
  padding: 0.45rem 0.75rem 0.4rem;
}

.page-role .site-footer__name {
  font-size: 0.62rem;
  margin-bottom: 0.1rem;
}

.page-role .site-footer__address {
  font-size: 0.55rem;
  margin-bottom: 0.2rem;
}

.page-role .site-footer__powered {
  font-size: 0.55rem;
}

.page-role .site-brand {
  gap: 0.2rem;
  margin-bottom: 0.45rem;
}

.page-role .site-brand__title {
  font-size: 0.85rem;
  letter-spacing: 0.16em;
}

.page-role .site-brand__logo,
.page-role .site-brand__logo-fallback {
  width: 56px;
  height: 56px;
}

.page-role .site-brand__org {
  font-size: 0.62rem;
}

.page-role .site-brand__accent {
  width: 40px;
  height: 2px;
  margin-top: 0.1rem;
}

.em-wrap--role {
  padding: 0 0 0.35rem;
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1;
}

.em-card--role {
  display: flex;
  flex-direction: column;
  padding: 0;
  margin-bottom: 0.35rem;
  min-height: 0;
  flex: 1;
  max-height: calc(100dvh - 9.5rem);
  overflow: hidden;
}

/* Sticky header: title + multi-role note (below tricolour bar; chips scroll under) */
.role-sticky-header {
  position: sticky;
  top: 0;
  z-index: 3;
  flex-shrink: 0;
  padding: 0.85rem 0.85rem 0.5rem;
  margin-top: 3px; /* clear card tricolour stripe */
  background: linear-gradient(180deg, var(--bg-card) 85%, rgba(16, 20, 16, 0.95));
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.em-card__title--role {
  font-size: clamp(1.05rem, 3.8vw, 1.2rem);
  margin: 0 0 0.3rem;
}

/* Slightly more visible grey (not too dim) */
.em-card__subtitle--role {
  font-size: 0.78rem;
  color: #9a9a9a;
  text-align: center;
  margin: 0;
  line-height: 1.35;
  font-style: italic;
}

/* Scrollable chip area under sticky header */
.role-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0.55rem 0.85rem 0.35rem;
  -webkit-overflow-scrolling: touch;
}

.role-sticky-footer {
  flex-shrink: 0;
  margin-top: 0;
  padding: 0.55rem 0.85rem 0.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  background: var(--bg-card);
  gap: 0.35rem;
}

.em-actions--role .btn--primary {
  min-height: 40px;
}

.role-grid {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin-bottom: 0.15rem;
}

/* Subject group + white rules + gold/yellow titles */
.role-group {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.role-group__rule {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0.05rem 0 0.12rem;
}

.role-group__rule-line {
  flex: 1;
  height: 1px;
  background: rgba(255, 255, 255, 0.55);
}

.role-group__rule-title {
  flex-shrink: 0;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold-soft);
}

.role-group__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.45rem;
}

/* Compact square-ish tiles — larger chip labels */
.role-chip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
  text-align: left;
  padding: 0.55rem 0.65rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-neutral);
  background: var(--bg-elevated);
  color: var(--text);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.role-chip--tile {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 0.08rem;
  /* Fixed chip box — do not grow/shrink with FR/EN text */
  min-height: 3.55rem;
  height: 3.55rem;
  aspect-ratio: auto;
  padding: 0.35rem 0.3rem;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}

.role-chip:hover:not(:disabled) {
  border-color: var(--border-green);
}

.role-chip.is-selected {
  border-color: var(--gold);
  background: rgba(26, 122, 76, 0.22);
  box-shadow: inset 0 0 0 1px rgba(232, 200, 114, 0.25);
}

.role-chip:disabled,
.role-chip.is-disabled {
  opacity: 0.42;
  cursor: not-allowed;
}

.role-chip__label {
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1.12;
  max-width: 100%;
  overflow: hidden;
}

/* Larger type inside fixed chip box; 2-line labels stay centered */
.role-chip--tile .role-chip__label {
  font-size: 0.92rem;
  letter-spacing: 0.01em;
  line-height: 1.12;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-height: 2.35em;
  padding: 0 0.15rem;
}

.role-chip__line2 {
  font-size: 0.9em;
  opacity: 0.95;
}

.role-chip__badge {
  font-size: 0.52rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gold-muted);
  white-space: nowrap;
  flex-shrink: 0;
}

.role-chip__check {
  color: var(--gold-soft);
  font-weight: 700;
  font-size: 0.72rem;
  line-height: 1;
  position: absolute;
  top: 0.2rem;
  right: 0.3rem;
}

/* Club Manager — blinking mini CDC2026 badge (red) */
.role-chip__cdc {
  position: absolute;
  top: 0.22rem;
  left: 0.28rem;
  z-index: 2;
  font-size: 0.48rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  padding: 0.14rem 0.22rem;
  border-radius: 3px;
  color: #fff;
  background: var(--red);
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 0 0 1px rgba(206, 17, 38, 0.35);
  pointer-events: none;
  animation: role-cdc-blink 1.15s ease-in-out infinite;
}

.role-chip--cdc.is-selected .role-chip__check {
  top: 0.2rem;
  right: 0.28rem;
}

@keyframes role-cdc-blink {
  0%,
  100% {
    opacity: 1;
    box-shadow: 0 0 0 1px rgba(206, 17, 38, 0.4), 0 0 6px rgba(206, 17, 38, 0.55);
  }
  50% {
    opacity: 0.35;
    box-shadow: 0 0 0 1px rgba(206, 17, 38, 0.15), 0 0 2px rgba(206, 17, 38, 0.2);
  }
}

@media (prefers-reduced-motion: reduce) {
  .role-chip__cdc {
    animation: none;
    opacity: 1;
  }
}

/* Disabled tiles keep same box metrics so FR/EN never shifts layout */
.role-chip--tile.is-disabled .role-chip__label {
  font-size: 0.88rem;
}

@media (max-height: 720px) {
  .page-role .site-brand__logo,
  .page-role .site-brand__logo-fallback {
    width: 48px;
    height: 48px;
  }

  .role-chip--tile {
    min-height: 3.55rem;
    height: 3.55rem;
  }

  .role-chip--tile .role-chip__label {
    font-size: 0.88rem;
  }

  .role-sticky-header {
    padding: 0.6rem 0.75rem 0.4rem;
  }

  .em-card--role {
    max-height: calc(100dvh - 8.5rem);
  }
}

/* ── LiteKYC (W3) compact layout ───────────────────── */
.page-kyc .site-brand {
  gap: 0.2rem;
  margin-bottom: 0.4rem;
}

.page-kyc .site-brand__logo,
.page-kyc .site-brand__logo-fallback {
  width: 56px;
  height: 56px;
}

.page-kyc .site-brand__title {
  font-size: 0.85rem;
  letter-spacing: 0.16em;
}

.page-kyc .site-brand__org {
  font-size: 0.62rem;
}

/*
 * CM home header mockup (replaces ESPACE MEMBRES stack):
 *   [ FR org + accent ]   (logo)   [ EN org + accent ]
 * FR is longer → allow 2-line wrap (no ellipsis).
 * Accent is dead-centered under each text block via .flank-inner.
 */
:is(.page-membres-home, .page-role, .shell-locked) .site-brand--flank {
  display: flex;
  flex-direction: row;
  /* Top of FR/EN text flush with top of circular logo (logo stays put) */
  align-items: flex-start;
  justify-content: center;
  gap: 0.4rem;
  width: 100%;
  /* Raise logo band ~3–4px (was 0.35rem top) */
  margin: 0.1rem 0 0.65rem;
  padding: 0 0.3rem;
  box-sizing: border-box;
}

/* Trim wrap top padding on home so logo can sit closer to viewport top */
:is(.page-membres-home, .page-role, .shell-locked) .em-wrap--kyc {
  padding-top: 0;
}

:is(.page-membres-home, .page-role, .shell-locked) .site-brand--flank .site-brand__logo-btn {
  flex: 0 0 auto;
  align-self: flex-start;
  margin: 0;
  padding: 0;
  line-height: 0;
}

:is(.page-membres-home, .page-role, .shell-locked) .site-brand--flank .site-brand__logo,
:is(.page-membres-home, .page-role, .shell-locked) .site-brand--flank .site-brand__logo-fallback {
  width: 60px;
  height: 60px;
  margin-top: 0;
  /* match circle box top exactly (global logo padding would inset art) */
  padding: 0.2rem;
}

:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start; /* top-align with logo, not mid */
  padding-top: 0;
}

/* FR block hugs the logo from the left */
:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank--fr {
  align-items: flex-end;
}

/* EN block hugs the logo from the right */
:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank--en {
  align-items: flex-start;
}

/* Text + accent as one unit → rule is always centered under the words */
:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-inner {
  display: flex;
  flex-direction: column;
  align-items: center; /* dead-center accent under text */
  gap: 0.28rem;
  max-width: 100%;
  width: max-content; /* shrink-wrap to text width */
  min-width: 0;
  margin-top: 0;
  padding-top: 0;
}

:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-text {
  margin: 0;
  padding: 0;
  /*
   * Same column width FR + EN → both wrap to ~2 lines on desktop Chrome
   * as well as Android (EN was 1 line when max-width was too loose).
   * max-width: 100% still protects narrow phones.
   */
  width: 8.6rem;
  max-width: 100%;
  font-size: clamp(0.5rem, 2.45vw, 0.68rem);
  font-weight: 600;
  /* tight first-line box so cap height meets circle top edge */
  line-height: 1.15;
  letter-spacing: 0.01em;
  color: #ffffff;
  text-align: center;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: manual;
  /* Prefer even 2-line blocks where supported */
  text-wrap: balance;
}

:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-accent {
  display: flex;
  flex-direction: row;
  width: 3.4rem; /* short rule, centered by parent align-items */
  height: 3px;
  border-radius: 2px;
  overflow: hidden;
  flex-shrink: 0;
  margin: 0 auto; /* belt-and-suspenders centering */
}

:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-accent span {
  flex: 1 1 0;
  display: block;
  height: 100%;
}

:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-accent span:nth-child(1) {
  background: var(--green, #1a7a4c);
}

:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-accent span:nth-child(2) {
  background: var(--red, #ce1126);
}

:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-accent span:nth-child(3) {
  background: var(--gold, #e8c872);
}

/*
 * ≤25px control row — exact placement lock:
 *
 * FR side (under FR text block width):
 *   [← Exit] ………… [FR] ………… [ ]
 *    left edge of text    dead center under GRG
 *
 * EN side (under EN text block width):
 *   [ ] ………… [EN] ………… [⚙ Gear]
 *         dead center under GRG   right edge of text
 *
 * Grid 1fr | auto | 1fr keeps FR/EN on the same vertical axis as the accent.
 */
:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-controls {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  width: 100%; /* = flank-inner = federation text width */
  height: 25px;
  max-height: 25px;
  margin-top: 0.12rem;
  flex-shrink: 0;
  box-sizing: border-box;
  column-gap: 0.15rem;
}

/* FR column: Mail (or Exit) | FR | spacer */
:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-controls--fr .site-brand__flank-btn--exit,
:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-controls--fr .site-brand__flank-btn--mail {
  grid-column: 1;
  justify-self: start; /* under left end of "Camerounaise…" */
}

:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-controls--fr .site-brand__flank-btn--lang {
  grid-column: 2;
  justify-self: center; /* dead center under FR GRG rule */
}

:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-controls--fr .site-brand__flank-controls-spacer {
  grid-column: 3;
}

/* EN column: spacer | EN | Gear */
:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-controls--en .site-brand__flank-controls-spacer {
  grid-column: 1;
}

:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-controls--en .site-brand__flank-btn--lang {
  grid-column: 2;
  justify-self: center; /* dead center under EN GRG rule */
}

:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-controls--en .site-brand__flank-btn--settings {
  grid-column: 3;
  justify-self: end; /* under right end of "Cameroon…" / Federation block */
}

:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-controls-spacer {
  display: block;
  min-width: 0;
  width: 100%;
  height: 1px;
  pointer-events: none;
  visibility: hidden;
}

:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-btn {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  height: 22px;
  min-width: 26px;
  margin: 0;
  padding: 0 0.28rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 5px;
  background: transparent;
  color: rgba(232, 200, 114, 0.55);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: color 0.12s ease, border-color 0.12s ease, background 0.12s ease;
}

/* Expanded hit target — does not affect 25px row height */
:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-btn::after {
  content: "";
  position: absolute;
  inset: -10px -8px;
}

:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-btn:hover,
:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-btn:focus-visible {
  color: var(--gold-soft);
  border-color: rgba(232, 200, 114, 0.35);
  background: rgba(0, 0, 0, 0.28);
  outline: none;
}

:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-btn.is-active,
:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-btn[aria-pressed="true"] {
  color: #fff;
  border-color: rgba(232, 200, 114, 0.45);
  background: rgba(26, 122, 76, 0.28);
}

/* Selected language chip — white label */
:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-btn--lang.is-active,
:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-btn--lang[aria-pressed="true"] {
  color: #fff !important;
}

:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-ico {
  width: 0.95rem;
  height: 0.95rem;
  display: block;
  pointer-events: none;
}

/* Mail — notifications: compact box so badge sits on the icon */
:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-btn--mail {
  position: relative;
  width: 22px;
  min-width: 22px;
  max-width: 22px;
  padding: 0;
  overflow: visible;
}

:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-btn--mail .site-brand__flank-ico {
  width: 0.95rem;
  height: 0.95rem;
}

/* Badge hugs top-right of envelope icon (not the FR chip) */
:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-mail-badge {
  position: absolute;
  top: -3px;
  right: -2px;
  z-index: 3;
  min-width: 0.85rem;
  height: 0.85rem;
  padding: 0 0.12rem;
  border-radius: 999px;
  background: var(--red, #ce1126);
  color: #fff;
  font-size: 0.48rem;
  font-weight: 800;
  line-height: 0.85rem;
  text-align: center;
  pointer-events: none;
  box-shadow: 0 0 0 1.5px rgba(0, 0, 0, 0.45);
}

/* Avatar initial + ▾ — 1Engine Profile (fits 25px band) */
:is(.page-membres-home, .page-role, .shell-locked) .site-brand__flank-btn--sso {
  gap: 0.1rem;
  min-width: 0;
  padding: 0 0.15rem 0 0.1rem;
  height: 22px;
}

:is(.page-membres-home, .page-role, .shell-locked) .site-brand__sso-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 0.2rem;
  border: 1.5px solid var(--green, #1a7a4c);
  background: rgba(232, 200, 114, 0.25);
  color: var(--gold-soft, #e8c872);
  font-size: 0.55rem;
  font-weight: 800;
  line-height: 1;
  flex-shrink: 0;
}

:is(.page-membres-home, .page-role, .shell-locked) .site-brand__sso-caret {
  font-size: 0.55rem;
  line-height: 1;
  color: rgba(232, 200, 114, 0.75);
  flex-shrink: 0;
}

/*
 * Bottom sheet — 1Engine Profile / Mail
 * Match mobile-first shell width (.page max-width: 480px), not full desktop viewport.
 */
.sso-sheet {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center; /* center panel in wide viewports */
  pointer-events: auto;
  max-width: 100vw;
  overflow: hidden;
  box-sizing: border-box;
}

.sso-sheet[hidden] {
  display: none !important;
}

.sso-sheet__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

.sso-sheet__panel {
  position: relative;
  z-index: 1;
  width: min(20rem, calc(100vw - 2.6rem));
  max-width: min(20rem, calc(100vw - 2.6rem));
  max-height: min(78dvh, 30rem);
  margin: 0 auto 0.65rem;
  padding: 1.05rem 0.85rem calc(0.85rem + env(safe-area-inset-bottom, 0px));
  box-sizing: border-box;
  border-radius: 16px;
  border: 1px solid #e8c872;
  background: #0a0e0a;
  box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.45);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.sso-sheet__panel.cse-profile-sheet {
  padding-top: 1.15rem;
}
.sso-sheet__panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(
    90deg,
    #1a7a4c 0%,
    #1a7a4c 33.33%,
    #ce1126 33.33%,
    #ce1126 66.66%,
    #e8c872 66.66%,
    #e8c872 100%
  );
}

/* Align with page horizontal padding when viewport > 480px */
@media (min-width: 481px) {
  .sso-sheet__panel {
    width: min(20rem, calc(100vw - 2.6rem));
    max-width: min(20rem, calc(100vw - 2.6rem));
    border-radius: 16px;
  }
}

#mail-sheet .sso-sheet__x {
  position: absolute;
  top: 0.4rem;
  right: 0.35rem;
  z-index: 2;
  width: 2rem;
  height: 2rem;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--gold-soft, #e8c872);
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#mail-sheet .sso-sheet__x:hover,
#mail-sheet .sso-sheet__x:focus-visible {
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
  outline: none;
}
#mail-sheet .sso-sheet__title {
  padding: 0 2rem;
}

.sso-sheet__title,
.sso-sheet__name {
  margin: 0.15rem 0 0.55rem;
  padding: 0 0.4rem;
  text-align: center;
  font-size: 1rem;
  font-weight: 750;
  letter-spacing: 0.01em;
  line-height: 1.25;
  color: #ffffff;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sso-sheet__name {
  color: var(--gold-soft, #e8c872);
}

.sso-sheet__avatar-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0 0 0.85rem;
  gap: 0.35rem;
}

.sso-sheet__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.1rem;
  height: 5.1rem;
  padding: 0;
  border-radius: 0.28rem;
  border: 2px solid var(--gold, #e8c872);
  background: rgba(232, 200, 114, 0.16) center 18% / cover no-repeat;
  color: var(--gold-soft, #e8c872);
  font-size: 1.55rem;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 0 0 3px rgba(26, 122, 76, 0.28);
  overflow: hidden;
}
.sso-sheet__avatar.has-photo .sso-sheet__avatar-initial {
  display: none;
}
.sso-sheet__avatar.is-pending {
  box-shadow: 0 0 0 3px rgba(232, 200, 114, 0.45);
}
.sso-sheet__avatar-hint {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 650;
  color: rgba(232, 200, 114, 0.85);
  text-align: center;
}
.sso-sheet__avatar-hint[hidden] {
  display: none !important;
}
:is(.page-membres-home, .page-role, .shell-locked) .site-brand__sso-avatar.has-photo {
  background-size: cover;
  background-position: center;
  color: transparent;
}

.sso-sheet__menu {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin: 0 0 0.85rem;
}

.sso-sheet__item {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.75rem 0.9rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.28);
  color: #ffffff;
  font-size: 0.92rem;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.12s ease, background 0.12s ease;
}

.sso-sheet__item:hover,
.sso-sheet__item:focus-visible {
  border-color: rgba(232, 200, 114, 0.45);
  background: rgba(26, 122, 76, 0.2);
  outline: none;
}

.sso-sheet__item--auth {
  color: var(--gold-soft, #e8c872);
}

.sso-sheet__item.is-disabled,
.sso-sheet__item:disabled {
  opacity: 0.38;
  cursor: not-allowed;
  pointer-events: none;
  filter: grayscale(0.35);
  color: rgba(255, 255, 255, 0.55);
}

.sso-sheet__empty {
  margin: 0.5rem 0 1rem;
  text-align: center;
  color: var(--text-muted, #9a9a9a);
  font-size: 0.88rem;
}

.sso-sheet__empty[hidden] {
  display: none !important;
}

/* Mail inbox: pending team invites for this phone */
.mail-sheet__list {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.45rem;
  width: 100%;
  max-width: 100%;
  margin: 0 0 0.85rem;
  max-height: min(52vh, 22rem);
  overflow-x: hidden;
  overflow-y: auto;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
}

.mail-sheet__list[hidden] {
  display: none !important;
}

.mail-sheet__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  flex: 0 0 auto;
  gap: 0.2rem;
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 0.7rem 0.8rem;
  border: 1px solid rgba(232, 200, 114, 0.35);
  border-radius: 8px;
  background: rgba(26, 122, 76, 0.12);
  color: #fff;
  font: inherit;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
  box-sizing: border-box;
  overflow: visible;
  appearance: none;
  -webkit-appearance: none;
}

.mail-sheet__item:hover,
.mail-sheet__item:focus-visible {
  border-color: var(--gold, #e8c872);
  background: rgba(26, 122, 76, 0.22);
  outline: none;
}

.mail-sheet__item-title,
.mail-sheet__item-body,
.mail-sheet__item-cta {
  display: block;
  width: 100%;
  line-height: 1.35;
}

.mail-sheet__item-title {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--gold-soft, #e8c872);
  max-width: 100%;
  word-break: break-word;
}

.mail-sheet__item-body {
  font-size: 0.82rem;
  font-weight: 600;
  color: #f2f2f2;
  max-width: 100%;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.mail-sheet__item-cta {
  margin-top: 0.15rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--gold-muted, rgba(232, 200, 114, 0.85));
}

.sso-sheet .mail-sheet__tabs {
  margin: 0.15rem 0 0.5rem;
}
.sso-sheet .mail-sheet__swipe {
  position: relative;
  overflow: hidden;
  flex: 0 0 auto;
  width: 100%;
  border-radius: 8px;
  touch-action: pan-y;
}
.sso-sheet .swipe-reveal__del {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 5.5rem;
  z-index: 0;
  margin: 0;
  padding: 0 0.35rem;
  border: 0;
  background: #c0392b;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  visibility: hidden;
}
.sso-sheet .mail-sheet__swipe .mail-sheet__item {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding-right: 2.15rem;
  background: #122016;
  cursor: pointer;
  transition: transform 0.18s ease;
}
.sso-sheet .mail-sheet__swipe.is-open .swipe-reveal__del {
  visibility: visible;
}
.sso-sheet .mail-sheet__swipe.is-open .mail-sheet__item {
  transform: translateX(-5.5rem);
}
.sso-sheet .mail-sheet__bin {
  position: absolute;
  top: 0.35rem;
  right: 0.35rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.45rem;
  height: 1.45rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: rgba(232, 200, 114, 0.78);
  cursor: pointer;
}
.sso-sheet .mail-sheet__bin svg {
  width: 0.92rem;
  height: 0.92rem;
  display: block;
}
.sso-sheet .mail-sheet__item-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 0.4rem;
  padding: 0.45rem 0.7rem;
  min-height: 2.2rem;
  border: 0;
  border-radius: 8px;
  background: #e8c872;
  color: #0c120e;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.2;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  touch-action: manipulation;
}
.sso-sheet .mail-sheet__item-cta:hover,
.sso-sheet .mail-sheet__item-cta:focus-visible {
  background: #f0d48a;
  color: #0c120e;
  outline: none;
}

.sso-sheet .mail-sheet__swipe:has(.mail-sheet__item--profile_pic_public):not(.is-open) {
  overflow: visible;
}
.sso-sheet .mail-sheet__item--profile_pic_public {
  padding-right: 0.8rem;
  overflow: visible;
}
.sso-sheet .mail-sheet__item--profile_pic_public .mail-sheet__item-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(1.7rem, 0.85fr) auto;
  align-items: center;
  column-gap: 0.15rem;
  width: 100%;
}
.sso-sheet .mail-sheet__item--profile_pic_public .mail-sheet__item-title {
  grid-column: 1;
  width: auto;
  min-width: 0;
}
.sso-sheet .mail-sheet__item--profile_pic_public .mail-sheet__copy {
  grid-column: 2;
  justify-self: end;
}
.sso-sheet .mail-sheet__item--profile_pic_public .mail-sheet__bin {
  grid-column: 4;
  justify-self: end;
}
.sso-sheet .mail-sheet__item--profile_pic_public .mail-sheet__copy,
.sso-sheet .mail-sheet__item--profile_pic_public .mail-sheet__bin {
  position: relative;
  top: auto;
  right: auto;
  z-index: auto;
}
.sso-sheet .mail-sheet__copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.45rem;
  height: 1.45rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: rgba(232, 200, 114, 0.78);
  cursor: pointer;
}
.sso-sheet .mail-sheet__copy svg {
  width: 0.92rem;
  height: 0.92rem;
  display: block;
}
.sso-sheet .mail-sheet__copy:hover,
.sso-sheet .mail-sheet__copy:focus-visible,
.sso-sheet .mail-sheet__copy.is-copied {
  color: #e8c872;
  outline: none;
}
.sso-sheet .mail-sheet__copy[data-tip]::after,
.sso-sheet .mail-sheet__item--profile_pic_public .mail-sheet__bin[data-tip]::after {
  content: attr(data-tip);
  position: absolute;
  left: 50%;
  top: calc(100% + 0.22rem);
  transform: translateX(-50%);
  z-index: 6;
  padding: 0.16rem 0.38rem;
  border: 1px solid rgba(232, 200, 114, 0.45);
  border-radius: 5px;
  background: #0a0e0a;
  color: #e8c872;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.2;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.sso-sheet .mail-sheet__copy:hover[data-tip]::after,
.sso-sheet .mail-sheet__copy:focus-visible[data-tip]::after,
.sso-sheet .mail-sheet__item--profile_pic_public .mail-sheet__bin:hover[data-tip]::after,
.sso-sheet .mail-sheet__item--profile_pic_public .mail-sheet__bin:focus-visible[data-tip]::after {
  opacity: 1;
  visibility: visible;
}
.sso-sheet .mail-sheet__item--profile_pic_public .mail-sheet__item-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.45rem;
  flex-wrap: nowrap;
  width: 100%;
}
.sso-sheet .mail-sheet__item--profile_pic_public .mail-sheet__item-body {
  width: auto;
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.74rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sso-sheet .mail-sheet__item--profile_pic_public .mail-sheet__item-cta {
  display: inline-flex;
  width: auto;
  flex: 0 0 auto;
  margin-top: 0;
  padding: 0;
  min-height: 0;
  border-radius: 0;
  background: transparent;
  color: var(--gold-muted, rgba(232, 200, 114, 0.85));
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.sso-sheet .mail-sheet__item--profile_pic_public .mail-sheet__item-cta:hover,
.sso-sheet .mail-sheet__item--profile_pic_public .mail-sheet__item-cta:focus-visible {
  background: transparent;
  color: #e8c872;
}

.sso-sheet__close {
  width: 100%;
}

/* Admin mailbox — full panel under search (not the overlay sheet) */
body.page-admin #mail-sheet {
  display: none !important;
}
body.page-admin.admin-mailbox-open #admin-tabs,
body.page-admin.admin-mailbox-open .admin-tab-panel,
body.page-admin.admin-mailbox-open #invite-form-wrap {
  display: none !important;
}
.admin-mailbox[hidden] {
  display: none !important;
}
.admin-mailbox {
  display: none;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  margin: 0;
  padding: 0.45rem 0.35rem 0.4rem;
  border: 1px solid rgba(232, 200, 114, 0.42);
  border-radius: 10px;
  background: #0a0e0a;
  box-sizing: border-box;
}
body.page-admin.admin-mailbox-open .admin-mailbox {
  display: flex !important;
}
/* Review modal sits over the mailbox. Keep mail CTAs inert so Approve
   cannot click-through onto another person's card. */
body.page-admin.cse-modal-open .admin-mailbox,
body.page-admin.cse-modal-clicklock .admin-mailbox,
body.cse-modal-open #mail-sheet,
body.cse-modal-clicklock #mail-sheet {
  pointer-events: none !important;
}
.admin-mailbox__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.4rem;
  flex-shrink: 0;
  margin: 0 0 0.4rem;
  padding: 0 0.15rem;
}
.admin-mailbox__title {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 750;
  letter-spacing: 0.02em;
  color: #e8c872;
}
.admin-mailbox__close {
  flex: 0 0 auto;
  width: 1.85rem;
  height: 1.85rem;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(232, 200, 114, 0.4);
  border-radius: 8px;
  background: transparent;
  color: #e8c872;
  font-size: 1.15rem;
  line-height: 1;
  cursor: pointer;
}
.admin-mailbox__close:hover,
.admin-mailbox__close:focus-visible {
  border-color: #e8c872;
  background: rgba(232, 200, 114, 0.12);
  outline: none;
}
.admin-mailbox__tabs {
  display: flex;
  flex-shrink: 0;
  gap: 0.28rem;
  margin: 0 0 0.45rem;
}
.admin-mailbox__tab {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  padding: 0.38rem 0.2rem;
  border: 1px solid rgba(232, 200, 114, 0.32);
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.28);
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.62rem;
  font-weight: 750;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  cursor: pointer;
}
.admin-mailbox__tab.is-active {
  border-color: #e8c872;
  background: rgba(26, 122, 76, 0.28);
  color: #e8c872;
}
.admin-mailbox__empty {
  margin: 0.85rem 0.2rem;
  text-align: center;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.82rem;
}
.admin-mailbox__empty[hidden] {
  display: none !important;
}
.admin-mailbox .mail-sheet__list {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  margin: 0;
}
.admin-mailbox .mail-sheet__swipe {
  position: relative;
  overflow: hidden;
  flex: 0 0 auto;
  width: 100%;
  border-radius: 8px;
  touch-action: pan-y;
}
.admin-mailbox .swipe-reveal__del {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 5.5rem;
  z-index: 0;
  margin: 0;
  padding: 0 0.35rem;
  border: 0;
  background: #c0392b;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
}
.admin-mailbox .mail-sheet__item {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding-right: 2.15rem;
  background: #122016;
  cursor: pointer;
  transition: transform 0.18s ease;
  will-change: transform;
}
.admin-mailbox .mail-sheet__swipe.is-open .mail-sheet__item {
  transform: translateX(-5.5rem);
}
.admin-mailbox .mail-sheet__bin {
  position: absolute;
  top: 0.35rem;
  right: 0.35rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.45rem;
  height: 1.45rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: rgba(232, 200, 114, 0.78);
  cursor: pointer;
}
.admin-mailbox .mail-sheet__bin:hover,
.admin-mailbox .mail-sheet__bin:focus-visible {
  color: #c0392b;
  background: rgba(192, 57, 43, 0.16);
  outline: none;
}
.admin-mailbox .mail-sheet__bin svg {
  width: 0.92rem;
  height: 0.92rem;
  display: block;
}
.admin-mailbox .mail-sheet__item-cta {
  display: inline-flex;
  align-items: center;
  margin-top: 0.28rem;
  padding: 0.18rem 0;
  border: 0;
  background: none;
  color: var(--gold-muted, rgba(232, 200, 114, 0.85));
  font-size: 0.72rem;
  font-weight: 700;
  cursor: pointer;
}
.admin-mailbox .mail-sheet__item-cta:hover,
.admin-mailbox .mail-sheet__item-cta:focus-visible {
  color: #e8c872;
  outline: none;
}
.admin-mailbox .mail-sheet__item--profile_pic_pending .mail-sheet__item-row {
  display: flex;
  align-items: baseline;
  gap: 0.4rem 0.55rem;
  flex-wrap: wrap;
  width: 100%;
}
.admin-mailbox .mail-sheet__item--profile_pic_pending .mail-sheet__item-body {
  width: auto;
  flex: 1 1 10rem;
}
.admin-mailbox .mail-sheet__item--profile_pic_pending .mail-sheet__item-cta {
  width: auto;
  margin-top: 0;
  flex: 0 0 auto;
}
.admin-mailbox .mail-sheet__item--athlete_gallery_pending .mail-sheet__item-row {
  display: flex;
  align-items: baseline;
  gap: 0.4rem 0.55rem;
  flex-wrap: wrap;
  width: 100%;
}
.admin-mailbox .mail-sheet__item--athlete_gallery_pending .mail-sheet__item-body {
  width: auto;
  flex: 1 1 10rem;
}
.admin-mailbox .mail-sheet__item--athlete_gallery_pending .mail-sheet__item-cta {
  width: auto;
  margin-top: 0;
  flex: 0 0 auto;
}
}

body.sso-sheet-open {
  overflow: hidden;
}

/* Hide legacy absolute header icons / under-brand lang if leftover markup exists */
:is(.page-membres-home, .page-role, .shell-locked) .em-header-icon,
:is(.page-membres-home, .page-role, .shell-locked) .kyc-toolbar--lang-under-brand {
  display: none !important;
}

/*
 * Title under locked header (header geometry untouched):
 *              ESPACE MEMBRES  (FULL CAPS, dead center)
 * Card topbar:  ‹ Retro  ·  @player  ·  X   (Retro same height as former CDC badge)
 * CDC2026 badge lives on Mes équipes chip §1 (not card chrome)
 */
:is(.page-membres-home, .page-role, .shell-locked) .em-home-screen-title-row {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  margin: 0.12rem 0 0.22rem;
  padding: 0 0.5rem;
  box-sizing: border-box;
  flex: 0 0 auto;
  align-self: stretch;
  gap: 0.12rem;
}


:is(.page-membres-home, .page-role, .shell-locked) .em-home-screen-title,
:is(.page-membres-home, .page-role, .shell-locked) a.em-home-screen-title {
  display: block;
  margin: 0;
  padding: 0 0.5rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  text-align: center;
  font-size: clamp(0.85rem, 3.2vw, 1.05rem);
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-variant: normal;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  line-height: 1.2;
  color: #ffffff;
  white-space: nowrap;
}

/* Role-tagged home titles stay one centered line under the FECABI logo */
.page-membres-home .em-home-screen-title,
.page-membres-home a.em-home-screen-title {
  padding: 0 0.15rem;
  font-size: clamp(1.32rem, 5.7vw, 1.84rem);
  letter-spacing: 0.04em;
  white-space: nowrap;
}
@media (max-width: 360px) {
  .page-membres-home .em-home-screen-title,
  .page-membres-home a.em-home-screen-title {
    letter-spacing: 0.01em;
  }
}

/*
 * Card top strip under tricolour ::before.
 * Equal 1fr | auto | 1fr so @handle is true dead center of the card
 * (same axis as ESPACE MEMBRES above) — not biased by CDC vs X widths.
 */
:is(.page-membres-home, .page-role, .shell-locked) .em-home-card-topbar {
  position: relative;
  z-index: 8;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  column-gap: 0.45rem;
  min-height: 1.85rem;
  margin: 0;
  /* sit just under 3px ::before stripe */
  padding: 0.42rem 0.55rem 0.28rem;
  box-sizing: border-box;
  flex-shrink: 0;
  overflow: hidden;
}

/*
 * Retro in topbar — same height as former CDC badge.
 * ‹ and "Retro" share one baseline so it reads as "<Retro" (chevron not dropped).
 */
:is(.page-membres-home, .page-role, .shell-locked) .em-home-card-topbar .em-home-card-retro {
  grid-column: 1;
  justify-self: start;
  align-self: center;
  box-sizing: border-box;
  height: 1.15rem;
  min-height: 1.15rem;
  max-height: 1.15rem;
  margin: 0;
  padding: 0 0.32rem 0 0.2rem;
  gap: 0.06rem;
  border-radius: 4px;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  display: inline-flex;
  flex-direction: row;
  align-items: center; /* vertical center chevron + label together */
  justify-content: center;
  white-space: nowrap;
}

:is(.page-membres-home, .page-role, .shell-locked) .em-home-card-topbar .em-home-card-retro .kyc-retro__chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 1em;
  margin: 0;
  padding: 0;
  font-size: 0.72rem; /* closer to label size so glyphs share optical middle */
  font-weight: 400;
  line-height: 1;
  transform: none; /* kill global translateY that dropped ‹ below "Retro" */
  vertical-align: middle;
}

:is(.page-membres-home, .page-role, .shell-locked) .em-home-card-topbar .em-home-card-retro .kyc-retro__label {
  display: inline-flex;
  align-items: center;
  height: 1em;
  margin: 0;
  padding: 0;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  vertical-align: middle;
}

:is(.page-membres-home, .page-role, .shell-locked) .em-home-card-topbar .em-home-screen-handle {
  grid-column: 2;
  justify-self: center;
  margin: 0;
  padding: 0 0.2rem;
  max-width: min(12rem, 46vw);
  min-width: 0;
  text-align: center;
  font-size: clamp(0.72rem, 2.6vw, 0.86rem);
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.2;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

:is(.page-membres-home, .page-role, .shell-locked) .em-home-card-topbar .club-close {
  position: static;
  top: auto;
  right: auto;
  grid-column: 3;
  justify-self: end;
  width: 1.85rem;
  height: 1.85rem;
  flex-shrink: 0;
  z-index: 20;
  /*
   * X DISABLED on dashboards / member shells (2026-08-14).
   * Leave via Retro / logo; logout only via SSO profile → Sign out.
   * Button kept in grid for handle centering; not interactive.
   */
  pointer-events: none !important;
  cursor: default !important;
  opacity: 0.22;
  visibility: hidden;
}
/* Club form is the exception: X must be visible to discard unsaved edits */
.page-club.shell-locked .em-home-card-topbar .club-close,
.page-club .em-home-card-topbar .club-close,
.page-club-edit .em-home-card-topbar .club-close {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  color: #e8c872;
}
.page-membres-home .em-home-card-topbar .em-venue-top-x {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  align-self: center;
  z-index: 21;
  margin: 0;
  padding: 0 0.15rem;
  border: 0;
  background: transparent;
  color: #e8c872;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}
:is(.page-membres-home, .page-role, .shell-locked) .em-home-card-topbar .em-home-card-retro {
  z-index: 2;
  max-width: 100%;
  overflow: hidden;
  pointer-events: auto !important;
  cursor: pointer;
  position: relative;
}
.page-membres-home .em-card.is-pf-stage .em-pf-stage:not([hidden]) {
  top: 3.2rem;
  z-index: 4;
}
.page-membres-home .em-home-card-topbar .em-home-screen-handle {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0 0.2rem;
}

/* Chips below topbar — keep prior +14px block drop; no absolute-badge clearance */
.page-membres-home .em-card--home-chips-only .kyc-scroll--home-chips {
  padding-top: 0.35rem;
  padding-bottom: calc(4.35rem + env(safe-area-inset-bottom, 0px) + 1.35rem + 8px);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
}

.page-kyc .site-footer,
.page-kyc .site-footer--compact {
  padding: 0.32rem 0.65rem calc(3.6rem + env(safe-area-inset-bottom, 0px));
}
.page-licence .page-kyc__main,
.page-membres-home .page-kyc__main,
.page-profil .page-kyc__main,
.shell-locked .page-kyc__main {
  padding-bottom: calc(5.1rem + env(safe-area-inset-bottom, 0px));
}
:is(.page-membres-home, .page-licence, .page-profil, .shell-locked) .site-footer__name {
  display: none !important;
}
:is(.page-membres-home, .page-licence, .page-profil, .shell-locked) [data-site-footer],
:is(.page-membres-home, .page-licence, .page-profil, .shell-locked) .site-footer,
:is(.page-membres-home, .page-licence, .page-profil, .shell-locked) .site-footer--compact {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  width: min(480px, 100%);
  bottom: 0;
  z-index: 44;
  margin: 0;
  padding: 0.08rem 0.45rem calc(0.18rem + env(safe-area-inset-bottom, 0px));
  background: #070707;
  box-sizing: border-box;
  text-align: center;
}
:is(.page-membres-home, .page-licence, .page-profil, .shell-locked) .site-footer__powered {
  margin: 0;
  font-size: 0.42rem;
  line-height: 1.25;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.72);
}
:is(.page-membres-home, .page-licence, .page-profil, .shell-locked) .site-footer__yeloball,
:is(.page-membres-home, .page-licence, .page-profil, .shell-locked) .site-footer__engine {
  color: var(--cse-gold, var(--gold, #d4af37));
  font-weight: 700;
}
:is(.page-membres-home, .page-licence, .page-profil, .shell-locked) .em-bottom-nav {
  bottom: calc(1.05rem + env(safe-area-inset-bottom, 0px));
  padding-bottom: 0.12rem;
}
.page-licence .qr-note {
  display: none !important;
}

.page-kyc .site-footer__name {
  font-size: 0.58rem;
  margin-bottom: 0.12rem;
}

.page-kyc .site-footer__address,
.page-kyc .site-footer__powered {
  font-size: 0.52rem;
}

.em-wrap--kyc {
  position: relative;
  padding: 0.15rem 0 0.35rem;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

/*
 * Header icons — same vertical row as FECABI logo
 *  logout  ← extreme left · settings → extreme right
 */
:is(.page-membres-home, .page-role, .shell-locked) .em-header-icon {
  position: absolute;
  z-index: 20;
  top: 1.55rem; /* logo row under MEMBERS AREA title */
  width: 2rem;
  height: 2rem;
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: rgba(232, 200, 114, 0.55);
  cursor: pointer;
  transition: color 0.12s ease, border-color 0.12s ease, background 0.12s ease,
    opacity 0.12s ease;
}

:is(.page-membres-home, .page-role, .shell-locked) .em-header-icon--logout {
  left: 0.15rem;
  right: auto;
}

:is(.page-membres-home, .page-role, .shell-locked) .em-header-icon--settings {
  right: 0.15rem;
  left: auto;
}

:is(.page-membres-home, .page-role, .shell-locked) .em-header-icon:hover,
:is(.page-membres-home, .page-role, .shell-locked) .em-header-icon:focus-visible {
  color: var(--gold-soft);
  border-color: rgba(232, 200, 114, 0.35);
  background: rgba(0, 0, 0, 0.28);
  outline: none;
}

:is(.page-membres-home, .page-role, .shell-locked) .em-header-icon__svg {
  width: 1.1rem;
  height: 1.1rem;
  display: block;
}

/* FR|EN — site dead center under brand green/red/gold rule */
:is(.page-membres-home, .page-role, .shell-locked) .kyc-toolbar--lang-under-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0.2rem 0 0.45rem;
  padding: 0;
}

:is(.page-membres-home, .page-role, .shell-locked) .lang-switch-wrap--under-brand {
  margin: 0;
  width: auto;
  justify-content: center;
}

/* Reduce FR|EN by ~2 points vs default .lang-switch__btn (0.68rem) */
:is(.page-membres-home, .page-role, .shell-locked) .lang-switch--compact {
  padding: 0.1rem;
}

:is(.page-membres-home, .page-role, .shell-locked) .lang-switch--compact .lang-switch__btn {
  min-width: 1.85rem;
  padding: 0.18rem 0.42rem;
  font-size: 0.55rem; /* ~2pt smaller than 0.68rem */
  letter-spacing: 0.06em;
}

/* Home card without sticky Log-out footer */
.em-card--home-nofooter .kyc-scroll {
  padding-bottom: 0.85rem;
}

/* Blinking CDC2026 — top-left of home card (same as club/team) */
.em-card--home .club-cdc-badge {
  position: absolute;
  top: 0.5rem;
  left: 0.55rem;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  padding: 0.22rem 0.42rem;
  border-radius: 4px;
  color: #fff;
  background: var(--red);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 0 0 1px rgba(206, 17, 38, 0.35);
  animation: role-cdc-blink 1.15s ease-in-out infinite;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .em-card--home .club-cdc-badge {
    animation: none;
    opacity: 1;
  }
}

/*
 * Home card: tricolour ::before is the only GRG under ESPACE MEMBRES.
 * CDC / @handle / X live in .em-home-card-topbar (not absolute over chips).
 */
.page-membres-home .em-card--home::before {
  z-index: 8;
}

/* Form cards: CDC lives in topbar center (moved by shell-sso) — not absolute over Retro */
:is(.page-membres-home, .page-role, .shell-locked) .em-home-card-topbar .club-cdc-badge {
  position: static;
  top: auto;
  left: auto;
  grid-column: 2;
  justify-self: center;
  align-self: center;
  z-index: 1;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  :is(.page-membres-home, .page-role, .shell-locked) .em-home-card-topbar .club-cdc-badge {
    animation: none;
    opacity: 1;
  }
}

.page-membres-home .em-nav-card--home-chip.is-disabled,
.page-membres-home .em-nav-card--home-chip.is-coming-soon {
  opacity: 0.42;
  pointer-events: none;
  cursor: not-allowed;
  filter: grayscale(0.35);
}

/*
 * Toolbar immediately above card tricolour (not under brand):
 * Retro left · FR|EN right
 */
.kyc-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  margin: 0.15rem 0 0.4rem;
  padding: 0 0.1rem;
  flex-shrink: 0;
}

.lang-switch-wrap--toolbar {
  margin: 0;
  width: auto;
  justify-content: flex-end;
}

/* CSE-themed Retro — just above green/red/gold card lining */
.kyc-retro {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  padding: 0.28rem 0.55rem 0.28rem 0.35rem;
  border: 1px solid rgba(232, 200, 114, 0.35);
  background: rgba(26, 122, 76, 0.12);
  color: var(--gold-soft);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  cursor: pointer;
  border-radius: 8px;
  transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

.kyc-retro:hover {
  color: #f0d48a;
  border-color: var(--gold);
  background: rgba(26, 122, 76, 0.22);
}

/* Left chevron only (no hyphen) */
.kyc-retro__chevron {
  color: #ffffff;
  font-size: 1.45rem;
  font-weight: 400;
  line-height: 0.85;
  display: inline-block;
  transform: translateY(-0.05em);
}

.kyc-retro__label {
  text-transform: none;
  color: var(--gold-soft);
}

.em-card--kyc {
  display: flex;
  flex-direction: column;
  padding: 0;
  margin-bottom: 0.25rem;
  flex: 1;
  min-height: 0;
  /* Taller card — reclaimed space from 2-row compact footer */
  max-height: calc(100dvh - 8.75rem);
  overflow: hidden;
}

.kyc-sticky-header {
  position: sticky;
  top: 0;
  z-index: 3;
  flex-shrink: 0;
  padding: 0.8rem 0.9rem 0.45rem;
  margin-top: 3px;
  background: var(--bg-card);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.page-club-profil .pf-wizard .field__label--hinted {
  display: flex;
  align-items: baseline;
  flex-wrap: nowrap;
  gap: 0.22rem;
  width: 100%;
  max-width: 100%;
  white-space: nowrap;
  overflow: visible;
}
.page-club-profil .pf-wizard .field__label-main {
  flex: 0 0 auto;
}
.page-club-profil .pf-wizard .field__hint {
  flex: 0 0 auto;
  font-size: 0.58rem;
  font-weight: 500;
  line-height: 1.2;
  color: #9a9a9a;
  white-space: nowrap;
}
.page-club-profil #page-title {
  line-height: 1.25;
}
.page-club-profil .pf-edit-club-name {
  color: #e8c872;
  -webkit-text-fill-color: #e8c872;
  font-weight: 700;
}
.em-card__title--kyc {
  font-size: clamp(1.1rem, 4vw, 1.3rem);
  margin: 0 0 0.25rem;
}

.em-card__subtitle--kyc {
  font-size: 0.78rem;
  color: #9a9a9a;
  margin: 0;
  text-align: center;
}

.kyc-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 0.55rem 0.9rem 0.7rem;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  -webkit-overflow-scrolling: touch;
  /* Keep focused fields clear of sticky footer / keyboard (global rules in styles.css) */
  scroll-padding-bottom: 5.5rem;
  scroll-padding-top: 0.75rem;
}

/* Spacer so last fields can scroll above keyboard (height grows when body.em-keyboard-open) */
.kyc-scroll::after {
  content: "";
  display: block;
  flex: 0 0 auto;
  height: 0.35rem;
  pointer-events: none;
}

.field--id-type {
  max-width: 16rem;
  margin: 0 auto;
  width: 100%;
}

.field__label--center {
  text-align: center;
  width: 100%;
}

.field__panel--center {
  text-align: center;
}

.field-row {
  display: grid;
  gap: 0.45rem;
}

.field-row--2 {
  grid-template-columns: 1fr 1fr;
}
.pf-class-stack {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  min-width: 0;
}

/* First Name (flex) + M.I (narrow) */
.field-row--first-mi {
  grid-template-columns: 1fr minmax(3.25rem, 4.25rem);
  align-items: end;
}

.field--mi .field__label {
  text-align: center;
}

.field__input--mi {
  text-align: center;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding-left: 0.35rem !important;
  padding-right: 0.35rem !important;
}

.field-row .field__label {
  font-size: 0.7rem;
}

.field-row .field__input {
  padding: 0.55rem 0.5rem;
  font-size: 0.88rem;
}

.upload-row--kyc {
  gap: 0.5rem;
}

.upload-zone--kyc {
  min-height: 96px;
  height: 96px;
  padding: 0.55rem;
}

.upload-zone--kyc.has-file {
  padding: 0;
}

.upload-zone.is-optional {
  opacity: 0.85;
}

.ocr-block--kyc {
  gap: 0.5rem;
  padding: 0.65rem;
}

.ocr-block--kyc .ocr-block__label {
  margin-bottom: 0;
}

/* Validate ID — pinned under scroll area, full width at bottom of card */
.kyc-sticky-footer {
  flex-shrink: 0;
  margin: 0;
  padding: 0.55rem 0.9rem 0.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  background: var(--bg-card);
  gap: 0;
}

.em-actions--kyc .btn--primary {
  min-height: 44px;
  width: 100%;
}

/* Club enlistment footer: Register only (Cancel → X on card) */
.club-footer-actions {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

/* Close X — top right of card (standard on club / team / licence / invite / kyc) */
.em-card--club,
.em-card--kyc,
.em-card--team,
.em-card--licence,
.em-card--invite {
  position: relative;
}

.club-close {
  position: absolute;
  top: 0.55rem;
  right: 0.55rem;
  z-index: 50; /* always above CDC badge / sticky header */
  width: 2.25rem;
  height: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--gold-soft);
  font-size: 1.55rem;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  pointer-events: auto !important;
  transition: color 0.15s ease, background 0.15s ease, transform 0.1s ease;
}

.club-close:hover {
  color: #f5e0a0;
  background: rgba(232, 200, 114, 0.1);
}

.club-close:active {
  transform: scale(0.94);
}

.page-club .kyc-sticky-header,
.page-kyc .kyc-sticky-header,
.page-team .kyc-sticky-header,
.page-licence .kyc-sticky-header,
.page-invite .kyc-sticky-header,
.page-team-status .kyc-sticky-header,
.page-membres-home .kyc-sticky-header,
.page-role .kyc-sticky-header {
  padding-right: 2.5rem; /* room for absolute X (legacy) */
}

/* Locked shell: X lives in card topbar — drop title clearance for absolute close */
.shell-locked .kyc-sticky-header,
.page-membres-home .kyc-sticky-header,
.page-role .kyc-sticky-header {
  padding-right: 0;
}

/* Home: FR|EN flush right (no Retro) */
.kyc-toolbar--lang-only {
  justify-content: flex-end;
}

.em-card--home,
.em-card--role {
  position: relative; /* CDC badge + close */
}

.page-membres-home .em-card--home {
  /* Gain height from shorter footer */
  max-height: calc(100dvh - 8.5rem);
}

.page-membres-home .em-greeting {
  margin-bottom: 0.15rem;
}

.page-membres-home .kyc-scroll {
  gap: 0.35rem;
  padding-top: 0.25rem; /* chips sit closer under greeting */
}

.page-role .em-card--role {
  max-height: calc(100dvh - 10.5rem);
}

.page-role .role-scroll,
.page-role .kyc-scroll.role-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

/* Searchable city combo (uni-select, no free-text value) */
.combo {
  position: relative;
}

.combo__panel {
  position: relative;
}

.combo__list {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 4px); /* always below field — iOS/Android */
  bottom: auto;
  z-index: 40; /* above sticky titles / topbars inside card */
  max-height: 11rem;
  overflow-y: auto;
  margin: 0;
  padding: 0.25rem 0;
  list-style: none;
  background: var(--bg-card);
  border: 1px solid var(--gold);
  border-radius: var(--radius-sm);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45), var(--focus-ring-soft);
  -webkit-overflow-scrolling: touch;
}

.combo__option {
  padding: 0.55rem 0.8rem;
  font-size: 0.9rem;
  color: var(--text);
  cursor: pointer;
}

.combo__option:hover,
.combo__option.is-selected,
.combo__option.is-active {
  background: rgba(26, 122, 76, 0.28);
  color: var(--gold-soft);
}
/* Keyboard focus row — slightly stronger than hover */
.combo__option.is-active {
  background: rgba(26, 122, 76, 0.42);
  outline: 1px solid rgba(232, 200, 114, 0.45);
  outline-offset: -1px;
}

.combo__empty {
  padding: 0.55rem 0.8rem;
  font-size: 0.85rem;
  color: var(--text-dim);
}

.combo--error .combo__panel,
.combo--error .field__panel {
  border-color: var(--error) !important;
  box-shadow: 0 0 0 2px rgba(232, 90, 107, 0.2) !important;
}

.combo__option.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
  text-decoration: line-through;
}

.combo__option.is-disabled:hover {
  background: transparent;
  color: var(--text);
}

/* Team name combo sits in the 70% name column */
.combo--team-name {
  width: 100%;
  min-width: 0;
}

.combo--team-name .combo__list {
  z-index: 30;
}

/* Club select on team form — plain uni-select (admin BE, keep simple) */
#field-select-club .combo {
  z-index: 40;
}
#field-select-club .combo__list {
  max-height: 10rem;
}

.page-club .em-card--kyc {
  max-height: calc(100dvh - 10rem);
}

/*
 * Club form — translation-stable layout
 * Fixed control heights + single-line labels so EN↔FR never reflows widgets.
 */
.page-club .field__label--club {
  font-size: 0.8rem;
  font-weight: 600;
  color: #d4d4d4;
  letter-spacing: 0.01em;
  line-height: 1.25;
  margin-bottom: 0.28rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.page-club .kyc-scroll .field__panel {
  height: 44px;
  box-sizing: border-box;
  align-items: center;
}

.page-club .kyc-scroll .field__panel .field__input {
  height: 100%;
  box-sizing: border-box;
}

/* Club selects (Champ d'action / Depuis): full CSE panel + gold caret */
.page-club .kyc-scroll .field__panel select.field__input {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  line-height: 1.2;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}

/*
 * Business name (~80%) + Since year (~20%)
 * Equal label baseline + equal panel height
 */
.field-row--biz-since {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(5.25rem, 1fr);
  gap: 0.5rem;
  align-items: start;
}

.field-row--biz-since > .field {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.field-row--biz-since .field__label--club {
  display: block;
  height: 1.25em;
  margin-bottom: 0.28rem;
  line-height: 1.25em;
}

.field__label--since {
  text-align: center;
}

.field__panel--biz,
.field__panel--since {
  min-width: 0;
  height: 44px;
  box-sizing: border-box;
}

.field__panel--since .field__input {
  text-align: center;
  padding-left: 0.25rem;
  padding-right: 1.45rem;
  font-variant-numeric: tabular-nums;
}

/*
 * CDC teams (left, flexible) + licenses Qty (right, fixed min)
 * Labels forced to one line; longer FR text stays left, Qté pushed right.
 */
.field-row--cdc-lic {
  /* Same column tracks as HQ / Own venue row → Licenses Qty under Own venue */
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(7.25rem, 0.75fr);
  gap: 0.55rem;
  align-items: start;
}

.field-row--cdc-lic > .field {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.field-row--cdc-lic .field__label--club {
  height: 1.25em;
  margin-bottom: 0.28rem;
  line-height: 1.25em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left; /* same left edge as Own venue? label above */
}

.field-row--cdc-lic .field__panel {
  height: 44px;
  width: 100%;
  box-sizing: border-box;
}

.field-row--cdc-lic .field__input {
  height: 100%;
  box-sizing: border-box;
}

.field-row--cdc-lic .field:last-child .field__input {
  text-align: left;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  padding-left: 0.8rem;
}

/* Larger primary CTA on club register / modify */
.page-club .club-footer-actions .btn--primary {
  font-size: 1.08rem;
  letter-spacing: 0.02em;
  min-height: 48px;
}

/* Delete club — edit mode only (create must never show it) */
.page-club .club-footer-actions .btn--danger-club,
.page-club .club-footer-actions #btn-delete-club {
  width: 100%;
  min-height: 44px;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  border: 1px solid rgba(198, 40, 40, 0.65);
  background: rgba(198, 40, 40, 0.18);
  color: #ffb4b0 !important;
  opacity: 1 !important;
  cursor: pointer;
  pointer-events: auto !important;
}
/* .btn display rules override bare [hidden] — force hide on create */
.page-club .club-footer-actions #btn-delete-club[hidden],
.page-club .club-footer-actions .btn--danger-club[hidden],
.page-club:not(.page-club-edit) .club-footer-actions #btn-delete-club {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}
.page-club-edit .club-footer-actions #btn-delete-club:not([hidden]) {
  display: block !important;
  visibility: visible !important;
}
.page-club .club-footer-actions .btn--danger-club:hover:not(:disabled),
.page-club .club-footer-actions #btn-delete-club:hover:not(:disabled) {
  background: rgba(198, 40, 40, 0.35);
  border-color: #e57373;
  color: #fff !important;
}
.page-club .club-footer-actions .btn--danger-club:disabled,
.page-club .club-footer-actions #btn-delete-club:disabled {
  opacity: 0.55 !important;
  cursor: wait;
}
/* Edit title dead-center under @handle (no CDC padding offset) */
.page-club-edit .kyc-sticky-header--centered,
.page-club-edit .kyc-sticky-header,
.page-club .kyc-sticky-header--centered,
.page-club .kyc-sticky-header {
  text-align: center !important;
  padding-left: 0.9rem !important;
  padding-right: 0.9rem !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.page-club-edit #page-title,
.page-club-edit #page-subtitle,
.page-club #page-title,
.page-club #page-subtitle,
.page-club-edit .em-card__title--kyc,
.page-club-edit .em-card__subtitle--kyc,
.page-club .em-card__title--kyc,
.page-club .em-card__subtitle--kyc {
  text-align: center !important;
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* Sites owned label — single row, full width */
.page-club .field__label--sites {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  width: 100%;
}

/* N° of sites — two equal halves with small gap */
.field-row--sites-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.45rem;
  align-items: stretch;
}

.field-row--sites-split .field__panel {
  min-width: 0;
  height: 44px;
  box-sizing: border-box;
}

.field-row--sites-split .field__panel.is-disabled {
  opacity: 0.45;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.02);
}

.field-row--sites-split .field__input {
  height: 100%;
  box-sizing: border-box;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.field-row--sites-split .field__input:disabled {
  cursor: not-allowed;
  color: var(--text-dim);
}

/* In/Out city placeholders — high contrast, readable */
.field-row--sites-split .field__input::placeholder {
  text-align: center;
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: rgba(232, 200, 114, 0.88);
  opacity: 1;
}

.field-row--sites-split .field__input::-webkit-input-placeholder {
  color: rgba(232, 200, 114, 0.88);
  font-weight: 600;
  opacity: 1;
}

.field-row--sites-split .field__input::-moz-placeholder {
  color: rgba(232, 200, 114, 0.88);
  font-weight: 600;
  opacity: 1;
}

/*
 * CDC2026 badge — inside card, just under green/red/gold line
 * Absolute (top-left) so form height / fields do not shift
 */
.em-card--club .club-cdc-badge,
.em-card--team .club-cdc-badge {
  position: absolute;
  /* Under locked topbar (Retro · @player · ×) so center stays @handle */
  top: 2.35rem;
  left: 0.55rem;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  padding: 0.22rem 0.42rem;
  border-radius: 4px;
  color: #fff;
  background: var(--red);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 0 0 1px rgba(206, 17, 38, 0.35);
  animation: role-cdc-blink 1.15s ease-in-out infinite;
  pointer-events: none;
}

/*
 * Sticky title: do NOT pad-left for CDC badge — badge is absolute and must
 * not shift title/subtitle off visual center. Team forms keep slight clear.
 */
.page-team .kyc-sticky-header,
.page-team-status .kyc-sticky-header {
  padding-left: 4.25rem;
}
.page-club .kyc-sticky-header,
.page-club-edit .kyc-sticky-header {
  padding-left: 0.9rem;
  padding-right: 0.9rem;
}

@media (prefers-reduced-motion: reduce) {
  .em-card--club .club-cdc-badge,
  .em-card--team .club-cdc-badge {
    animation: none;
    opacity: 1;
  }
}

/* HQ location + Own venue toggle — same row */
.field-row--hq-venue {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(7.25rem, 0.75fr);
  gap: 0.55rem;
  align-items: start;
}

.field--hq {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.field--hq .field__label--club {
  height: 1.25em;
  line-height: 1.25em;
}

.field--toggle {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end; /* flush with right edge of sibling field panels */
}

.field--toggle .field__label {
  height: 1.25em;
  line-height: 1.25em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  text-align: right;
}

.field--toggle .toggle {
  height: 44px;
  min-height: 44px;
  justify-content: flex-end;
  width: 100%;
  box-sizing: border-box;
}

/* Toggle switch (default OFF) */
.toggle {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 44px;
  cursor: pointer;
  user-select: none;
}

/* Keep 1×1px hit box so keyboard Tab does not skip the toggle */
.toggle input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}

.toggle__track {
  position: relative;
  width: 2.75rem;
  height: 1.45rem;
  flex-shrink: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid var(--border-neutral);
  transition: background 0.15s ease, border-color 0.15s ease;
}

.toggle__thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background: #c8c8c8;
  transition: transform 0.15s ease, background 0.15s ease;
}

.toggle input:checked + .toggle__track {
  background: rgba(26, 122, 76, 0.45);
  border-color: var(--gold);
}

.toggle input:checked + .toggle__track .toggle__thumb {
  transform: translateX(1.25rem);
  background: var(--gold-soft);
}

.toggle input:focus-visible + .toggle__track {
  box-shadow: var(--focus-ring-soft);
  border-color: var(--gold);
}

.toggle__state {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--text-dim);
  min-width: 1.75rem;
}

.toggle__state.is-on {
  color: var(--gold-soft);
}

.field__panel--readonly {
  background: rgba(255, 255, 255, 0.03);
  opacity: 0.92;
}

.field__panel--readonly .field__input {
  color: var(--gold-muted);
  font-weight: 600;
  cursor: default;
}

/* Upload row layout only — zone chrome lives in styles.css (global gold theme) */
.upload-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
}

/* OCR block — nested fields still use global .field__panel gold focus */
.ocr-block {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0.85rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-subtle);
  background: rgba(0, 0, 0, 0.25);
}

.ocr-block__label {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gold-muted);
  margin-bottom: -0.15rem;
}

/* Ensure membres never strips global field gold lining */
.ocr-block .field__panel:focus-within,
.em-card .field__panel:focus-within {
  border-color: var(--gold);
  box-shadow: var(--focus-ring-soft);
}

/* Home cards */
.em-nav-card {
  display: block;
  width: 100%;
  text-align: left;
  padding: 1rem 1.05rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-green);
  background: var(--bg-elevated);
  color: var(--text);
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
  text-decoration: none;
  box-sizing: border-box;
}

.em-nav-card:hover {
  background: rgba(26, 122, 76, 0.18);
  border-color: var(--gold-dim);
  text-decoration: none;
}

/* Mon équipe: title/desc left · status lamp + action label right */
.em-nav-card--split {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem 0.85rem 0.75rem 1.05rem;
  cursor: default;
}

.em-nav-card--split:hover {
  background: rgba(26, 122, 76, 0.18);
  border-color: var(--gold-dim);
}

.em-nav-card__main {
  flex: 1;
  min-width: 0;
  text-decoration: none;
  color: inherit;
  padding: 0.15rem 0;
}

.em-nav-card__main:hover {
  text-decoration: none;
}

/* My team section 1 — labels only, not a link */
.em-nav-card__main--static {
  cursor: default;
  pointer-events: none;
  user-select: none;
}

.em-nav-card--team:hover {
  background: rgba(26, 122, 76, 0.12);
}

/*
 * Home chips — equal size & height (CM design lock)
 *
 * Split format:
 *  Section 1                        Section 2
 *  My clubs|teams|…                   entity_name (gold)
 *  k/N               +Add             ‹ [●][✎] …… [🗑] ›
 */
.em-nav-card--home-chip {
  box-sizing: border-box;
  /* Slightly shorter than lock trial (4.85rem) — height only; width unchanged */
  min-height: 4.15rem;
  width: 100%;
}

/* Simple cards (My License): same shell height, content vertically centered */
a.em-nav-card--home-chip {
  display: flex;
  align-items: center;
  padding: 0.5rem 0.55rem 0.5rem 1.05rem;
}

.em-nav-card--team-chip {
  align-items: stretch;
  gap: 0;
  cursor: default;
  /* Tighter vertical pad (height only) — left/right width unchanged */
  padding: 0.5rem 0.55rem 0.5rem 1.05rem;
  overflow: hidden; /* never let offline-pay text spill under next chip */
  position: relative;
  z-index: 1;
}

.em-nav-card--team-chip:hover {
  background: rgba(26, 122, 76, 0.12);
  border-color: var(--gold-dim);
}

.team-chip-sec {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  gap: 0.1rem;
}

/* ── Section 1 (left) — design lock
 *  My teams
 *  k/N              +Add
 */
.team-chip-sec--1 {
  flex: 1 1 46%;
  padding-right: 0.55rem;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.team-chip-sec1__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  min-width: 0;
  width: 100%;
}

.team-chip-sec1__title {
  font-weight: 700;
  font-size: 0.95rem;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

/*
 * §1 bottom: k/N · CDC · + on ONE geometric line.
 * Shared track height 20px; every child is a 20px flex box with centered content.
 */
.team-chip-sec1__row--bottom {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 0.3rem;
  height: 20px;
  min-height: 20px;
  max-height: 20px;
  box-sizing: border-box;
  line-height: 0; /* kill inherited text leading on the row */
}

.team-chip-sec1__row--bottom-cdc {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  column-gap: 0.3rem;
  height: 20px;
  min-height: 20px;
  max-height: 20px;
}

/* Shared cell metrics for k/N, CDC, + */
.team-chip-sec1__row--bottom > .team-chip-sec1__cup,
.team-chip-sec1__row--bottom > .team-chip-cdc-badge,
.team-chip-sec1__row--bottom > .team-chip-add {
  box-sizing: border-box;
  height: 20px;
  min-height: 20px;
  max-height: 20px;
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  vertical-align: middle;
}

/* k/N — left (+1pt from 11px) */
.team-chip-sec1__cup {
  min-width: 0;
  justify-content: flex-start;
  font-size: calc(11px + 1pt);
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--gold-soft);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.team-chip-sec1__row--bottom-cdc .team-chip-sec1__cup {
  grid-column: 1;
  justify-self: start;
}

/* CDC — center column */
.team-chip-cdc-badge {
  flex-shrink: 0;
  width: auto;
  padding: 0 6px;
  border-radius: 3px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #fff;
  background: var(--red, #ce1126);
  border: 1px solid rgba(255, 255, 255, 0.28);
  box-shadow: 0 0 0 1px rgba(206, 17, 38, 0.3);
  animation: role-cdc-blink 1.15s ease-in-out infinite;
  pointer-events: none;
  white-space: nowrap;
}

.team-chip-sec1__row--bottom-cdc .team-chip-cdc-badge {
  grid-column: 2;
  justify-self: center;
}

@media (prefers-reduced-motion: reduce) {
  .team-chip-cdc-badge {
    animation: none;
    opacity: 1;
  }
}

/* legacy class kept if referenced */
.team-chip-sec1__slot {
  flex-shrink: 0;
  margin-left: auto;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--gold-soft);
  white-space: nowrap;
  line-height: 1.2;
}

/* Circular + — gold fill, green ring; forced 20×20 same as k/N & CDC cells */
.team-chip-add,
.team-chip-add--plus {
  flex-shrink: 0;
  width: 20px;
  min-width: 20px;
  max-width: 20px;
  border: 1.5px solid var(--green, #1a7a4c);
  border-radius: 50%;
  background: var(--gold, #e8c872);
  color: #0a120a;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: 0 0 0 1px rgba(26, 122, 76, 0.25);
  transition: background 0.12s ease, border-color 0.12s ease, opacity 0.12s ease;
}

.team-chip-sec1__row--bottom-cdc .team-chip-add {
  grid-column: 3;
  justify-self: end;
}

.team-chip-add__plus {
  display: block;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  margin: 0;
  padding: 0;
  transform: none;
  pointer-events: none;
}

.team-chip-add:hover:not(:disabled):not(.is-disabled),
.team-chip-add--plus:hover:not(:disabled):not(.is-disabled) {
  border-color: var(--green, #1a7a4c);
  background: #f0d48a;
  filter: brightness(1.05);
}

.team-chip-add:disabled,
.team-chip-add.is-disabled,
.team-chip-add--plus:disabled,
.team-chip-add--plus.is-disabled {
  opacity: 0.35;
  cursor: not-allowed;
  filter: none;
}

/* Without CDC: k/N left, + right */
.team-chip-sec1__row--bottom:not(.team-chip-sec1__row--bottom-cdc) .team-chip-add {
  margin-left: auto;
}

/* Fan RO tag (replaces + on browse chips) */
.team-chip-ro-tag {
  flex-shrink: 0;
  margin-left: auto;
  padding: 0.12rem 0.35rem;
  border-radius: 4px;
  border: 1px solid rgba(232, 200, 114, 0.35);
  font-size: 0.55rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: var(--gold-soft, #e8c872);
  line-height: 1;
}

/* Fan social icons — same icon-btn shell, gold tint */
.team-chip-social {
  color: var(--gold-soft, #e8c872) !important;
}

.team-chip-social:hover,
.team-chip-social:focus-visible {
  border-color: rgba(232, 200, 114, 0.55) !important;
  background: rgba(26, 122, 76, 0.22) !important;
}

/* ── Section 2 (right) — 2 rows, match original chip height ── */
.team-chip-sec--2 {
  flex: 1 1 54%;
  padding-left: 0.45rem;
  padding-right: 0;
  gap: 0.18rem;
  justify-content: center;
  min-width: 0;
}

/* Row 1: team name only — full width */
.team-chip-sec2__row--name {
  display: flex;
  align-items: center;
  min-width: 0;
  width: 100%;
  min-height: 1.05rem;
}

/* Entity name (club / team) — gold yellow */
.team-chip-name {
  min-width: 0;
  width: 100%;
  flex: 1;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--gold);
  font: inherit;
  font-weight: 700;
  font-size: 0.86rem;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.2;
}

.team-chip-name:hover {
  color: var(--gold-soft);
  filter: brightness(1.08);
}

/*
 * Row 2: ‹  [bulb] [edit] ……… [delete] ›
 * Left cluster after ‹; right group (delete + ›) flush to section edge
 */
.team-chip-sec2__row--actions {
  display: flex;
  align-items: center;
  gap: 0.22rem;
  min-height: 1.28rem;
  width: 100%;
}

/* Gold chevrons — free of icon collision */
.team-chip-chevron {
  flex-shrink: 0;
  width: 1.15rem;
  height: 1.15rem;
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(232, 200, 114, 0.5);
  border-radius: 5px;
  background: rgba(232, 200, 114, 0.1);
  color: var(--gold-soft);
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  transition: background 0.12s ease, border-color 0.12s ease, opacity 0.12s ease;
}

.team-chip-chevron:hover:not(:disabled):not(.is-disabled) {
  border-color: var(--gold);
  background: rgba(232, 200, 114, 0.22);
}

.team-chip-chevron:disabled,
.team-chip-chevron.is-disabled {
  opacity: 0.4;
  cursor: default;
}

/* Status + edit sit just inside left chevron */
.team-chip-actions-left {
  display: flex;
  align-items: center;
  gap: 0.22rem;
  min-width: 0;
  flex-shrink: 0;
}

/* Delete + right chevron — glued, pushed to section 2 right edge */
.team-chip-actions-right {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.22rem;
  flex-shrink: 0;
  margin-left: auto;
  min-width: 0;
}

/* Status = bulb only (no text under it) */
.team-chip-status {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.3rem;
  height: 1.3rem;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(232, 200, 114, 0.28);
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.22);
  cursor: pointer;
  transition: background 0.12s ease, border-color 0.12s ease;
}

.team-chip-status:hover,
.team-chip-status:focus-visible {
  border-color: var(--gold);
  background: rgba(26, 122, 76, 0.25);
  outline: none;
}

.team-chip-status .em-nav-card__bulb {
  width: 0.68rem;
  height: 0.68rem;
  margin: 0;
}

.team-chip-sec--2 .em-nav-card__icon-btn {
  width: 1.3rem;
  height: 1.3rem;
  flex-shrink: 0;
}

.team-chip-sec--2 .em-nav-card__icon-btn .em-icon {
  width: 0.85rem;
  height: 0.85rem;
}

.team-chip-delete {
  margin: 0;
}

.em-nav-card__title {
  font-weight: 700;
  font-size: 0.95rem;
  color: #ffffff; /* chip main titles white; desc stays muted */
  margin-bottom: 0.25rem;
}

.em-nav-card__desc {
  font-size: 0.8rem;
  color: var(--text-muted);
  line-height: 1.4;
}

.em-nav-card__status {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.28rem;
  min-width: 2.75rem;
  margin: 0;
  padding: 0.25rem 0.35rem;
  border: none;
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
  color: inherit;
  font: inherit;
  transition: background 0.12s ease;
}

.em-nav-card__status:hover,
.em-nav-card__status:focus-visible {
  background: rgba(232, 200, 114, 0.1);
  outline: none;
}

.em-nav-card__bulb {
  width: 0.85rem;
  height: 0.85rem;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.15);
  flex-shrink: 0;
}

.em-nav-card__bulb--red {
  background: #ce1126;
  box-shadow: 0 0 8px rgba(206, 17, 38, 0.5);
}

.em-nav-card__bulb--yellow {
  background: #e8c872;
  box-shadow: 0 0 8px rgba(232, 200, 114, 0.5);
}

.em-nav-card__bulb--green {
  background: var(--green);
  box-shadow: 0 0 8px rgba(26, 122, 76, 0.55);
}

.em-nav-card__status-label {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: none;
  color: #ffffff;
  line-height: 1.1;
  white-space: nowrap;
}

/* Mon club: delete / edit / + icons on the right */
.em-nav-card--club-actions {
  gap: 0.45rem;
}

.em-nav-card__icon-actions {
  flex: 0 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.2rem;
}

.em-nav-card__icon-wrap {
  position: relative;
  display: inline-flex;
}

.em-nav-card__icon-btn {
  width: 1.85rem;
  height: 1.85rem;
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(232, 200, 114, 0.28);
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.22);
  color: #ffffff;
  font-size: 0.95rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.12s ease, border-color 0.12s ease, opacity 0.12s ease;
}

.em-nav-card__icon-btn .em-icon {
  width: 1.05rem;
  height: 1.05rem;
  display: block;
}

.em-nav-card__icon-btn .em-icon--plus {
  width: 1.15rem;
  height: 1.15rem;
}

.em-nav-card__icon-btn:hover:not(:disabled):not(.is-disabled),
.em-nav-card__icon-btn:focus-visible:not(:disabled) {
  border-color: var(--gold);
  background: rgba(26, 122, 76, 0.25);
  outline: none;
}

.em-nav-card__icon-btn--delete:hover:not(:disabled) {
  border-color: rgba(206, 17, 38, 0.65);
  background: rgba(206, 17, 38, 0.18);
  color: #ffb4bc;
}

.em-nav-card__icon-btn--add {
  color: var(--gold-soft);
}

.em-nav-card__icon-btn:disabled,
.em-nav-card__icon-btn.is-disabled {
  opacity: 0.32;
  cursor: not-allowed;
}

/* Tooltip when +Add is locked (1 club max) */
.em-nav-card__icon-wrap.has-tooltip {
  cursor: not-allowed;
}

.em-nav-card__icon-wrap.has-tooltip::after {
  content: attr(data-tooltip);
  position: absolute;
  right: 0;
  bottom: calc(100% + 0.4rem);
  z-index: 30;
  min-width: 9rem;
  max-width: 12rem;
  padding: 0.4rem 0.5rem;
  border-radius: 6px;
  border: 1px solid rgba(232, 200, 114, 0.35);
  background: #0c100c;
  color: var(--gold-soft);
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  white-space: normal;
  opacity: 0;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity 0.12s ease, transform 0.12s ease;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.45);
}

.em-nav-card__icon-wrap.has-tooltip:hover::after,
.em-nav-card__icon-wrap.has-tooltip:focus-within::after {
  opacity: 1;
  transform: translateY(0);
}

/* CSE confirm modal */
body.cse-modal-open {
  overflow: hidden;
}

.cse-modal[hidden] {
  display: none !important;
}

.cse-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.cse-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.cse-modal__panel {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 22rem;
  padding: 1.35rem 1.15rem 1.15rem;
  border-radius: 14px;
  border: 1px solid #e8c872;
  background: #0a0e0a;
  box-shadow:
    0 16px 48px rgba(0, 0, 0, 0.65),
    0 0 0 1px rgba(26, 122, 76, 0.35);
  overflow: hidden;
}

.cse-modal__accent {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(
    90deg,
    var(--green) 0%,
    var(--green) 33.33%,
    var(--red) 33.33%,
    var(--red) 66.66%,
    var(--gold) 66.66%,
    var(--gold) 100%
  );
}

.cse-modal__title {
  margin: 0.45rem 0 0.55rem;
  font-size: 1.12rem;
  font-weight: 750;
  letter-spacing: 0.02em;
  color: #fff;
  text-align: center;
}

.cse-modal__body {
  margin: 0 0 1.15rem;
  font-size: 0.88rem;
  line-height: 1.45;
  color: rgba(240, 240, 240, 0.78);
  text-align: center;
}

.cse-modal__actions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.cse-modal__actions .btn {
  width: 100%;
}
body.cse-save-lock {
  pointer-events: none;
}
#fecabi-cse-dialog.is-saving {
  z-index: 4000;
  pointer-events: auto;
}
#fecabi-cse-dialog.is-saving .cse-modal__backdrop {
  cursor: default;
}
#fecabi-cse-dialog.is-saving .cse-modal__title {
  color: #e8c872;
  margin-bottom: 0;
}
#fecabi-cse-dialog.is-saving .cse-modal__body,
#fecabi-cse-dialog.is-saving .cse-modal__actions,
#fecabi-cse-dialog.is-saving .cse-modal__x {
  display: none !important;
}
#fecabi-cse-dialog.is-thin .cse-modal__panel {
  max-width: 16.5rem;
  padding: 0.7rem 0.85rem 0.8rem;
}
#fecabi-cse-dialog.is-thin .cse-modal__title {
  margin: 0.2rem 1.4rem 0.35rem;
  color: #e8c872;
  font-size: 1rem;
}
#fecabi-cse-dialog.is-thin .cse-modal__body {
  margin: 0 0 0.7rem;
}
#fecabi-cse-dialog.is-venue-listed .cse-modal__panel {
  background: #0a0e0a;
  border-color: #e8c872;
}
#fecabi-cse-dialog.is-venue-listed .cse-modal__title {
  color: #e8c872;
}
#fecabi-cse-dialog.is-venue-listed .cse-modal__body {
  color: #fff;
  font-weight: 700;
}
#fecabi-cse-dialog.is-venue-listed #fecabi-cse-dlg-ok {
  background: #1a7a4c;
  border-color: #1a7a4c;
  color: #fff;
}
#fecabi-cse-dialog.is-venue-listed .cse-modal__x,
#fecabi-cse-dialog.is-venue-listed #fecabi-cse-dlg-cancel {
  display: none !important;
}
#fecabi-cse-dialog.is-thin .cse-modal__x {
  position: absolute;
  top: 0.35rem;
  right: 0.3rem;
  z-index: 2;
  width: 1.7rem;
  height: 1.7rem;
  border: 0;
  background: transparent;
  color: #e8c872;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}

/* LOCKED — .cursor/rules/fecabi-admin-license-review.mdc
 * Admin license review. Must stay narrower than landing .page (480px).
 * Do not restyle width, stack, or CTAs. */
#license-review-modal.cse-modal {
  align-items: center;
  justify-content: center;
  overflow-y: auto;
  padding: 0.75rem 1.2rem;
  box-sizing: border-box;
}
#license-review-modal .cse-modal__panel {
  position: relative;
  width: min(20rem, calc(100vw - 3.2rem), calc(480px - 4rem));
  max-width: min(20rem, calc(100vw - 3.2rem), calc(480px - 4rem));
  margin: auto;
  padding: 0.75rem 0.6rem 0.7rem;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
  max-height: min(92dvh, 100%);
}
#license-review-modal .club-preview-modal__close {
  position: absolute;
  top: 0.4rem;
  right: 0.35rem;
  z-index: 2;
}
#license-review-modal .license-tpl-heading {
  margin-top: 0.15rem;
  padding: 0 2rem !important;
  font-size: clamp(0.92rem, 3.4vw, 1.12rem) !important;
  margin-bottom: 0.12rem !important;
}
#license-review-modal .license-id-status {
  margin-bottom: 0.28rem;
  font-size: 0.82rem;
}
#license-review-modal .qr-box--tpl {
  gap: 0.4rem;
}
#license-review-modal .license-meta {
  width: calc(168px + 1rem + 4px);
  max-width: calc(168px + 1rem + 4px);
  gap: 0.4rem;
  margin-bottom: 0.05rem;
}
#license-review-modal .license-meta__photo {
  flex-basis: 3.65rem;
  width: 3.65rem;
  height: 3.65rem;
  border-radius: 0.22rem;
  background: #122016 center 18% / cover no-repeat;
  overflow: hidden;
  font-size: 1.1rem;
}
#license-review-modal .qr-canvas-wrap {
  width: 168px;
  height: 168px;
  padding: 0.5rem;
}
#license-review-modal .qr-canvas {
  width: 168px;
  height: 168px;
}
#license-review-modal .license-name-line {
  font-size: calc(0.92rem + 2pt);
}
#license-review-modal .license-renew-actions,
#license-review-modal .license-role-actions {
  max-width: 100%;
  margin-top: 0.18rem;
}
#license-review-modal .license-renew-btn,
#license-review-modal .license-role-btn {
  height: 2.35rem;
  min-height: 2.35rem;
  max-height: 2.35rem;
  font-size: 0.72rem;
}
#license-review-modal.pf-license-unlicensed .license-meta__photo,
#license-review-modal.pf-unlicensed .license-meta__photo {
  border-color: #c0392b;
}
#license-review-modal.pf-license-expired .license-meta__photo {
  border-color: #e8c872;
}
#license-review-modal.pf-license-waived .license-meta__photo {
  border-color: #6dcf9a;
}
#license-review-modal.pf-license-paid .license-meta__photo {
  border-color: #1a7a4c;
}

.cse-modal__danger {
  background: #9e1b2e !important;
  border-color: #e8c872 !important;
  color: #fff !important;
}

.cse-modal__danger:hover {
  background: #ce1126 !important;
}

/* ── Club / team preview (CM read-only) — compact CSE ─── */
.club-preview-modal__panel {
  position: relative;
  max-width: 23.5rem;
  max-height: min(94vh, 40rem);
  overflow: visible;
  padding: 0.85rem 0.95rem 0.85rem;
  background:
    linear-gradient(180deg, rgba(26, 122, 76, 0.1) 0%, transparent 32%),
    var(--bg-card, #0f1a14);
}
.club-preview-head {
  display: grid;
  grid-template-columns: 2rem 1fr 2rem;
  align-items: center;
  gap: 0.15rem;
  min-height: 2.1rem;
  margin-bottom: 0.15rem;
}
.club-preview-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-width: 0;
}
.club-preview-modal__kicker {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-align: center;
  color: rgba(232, 200, 114, 0.88);
  white-space: nowrap;
}
.club-preview-modal__kicker #club-preview-kn,
.club-preview-modal__kicker #team-preview-kn {
  letter-spacing: 0.04em;
  color: #fff;
  font-weight: 800;
}
.club-preview-chev {
  flex-shrink: 0;
  width: 1.65rem;
  height: 1.65rem;
  padding: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: #fff;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.club-preview-chev:hover {
  background: rgba(255, 255, 255, 0.08);
}
.club-preview-chev[hidden] {
  display: none !important;
}
.club-preview-edit {
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 1px solid rgba(232, 200, 114, 0.4);
  border-radius: 8px;
  background: rgba(232, 200, 114, 0.08);
  color: var(--gold-soft, #e8c872);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  line-height: 1;
}
.club-preview-edit:hover:not(:disabled):not(.is-limit) {
  background: rgba(232, 200, 114, 0.18);
  color: #fff;
}
.club-preview-edit:disabled,
.club-preview-edit.is-limit {
  opacity: 0.35;
  cursor: not-allowed;
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.35);
  pointer-events: none;
}
.club-preview-edit--spacer {
  visibility: hidden;
  pointer-events: none;
  border: none;
  background: transparent;
}
.club-preview-edit__ico {
  line-height: 1;
}
.club-preview-modal__close {
  width: 2rem;
  height: 2rem;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--gold-soft, #e8c872);
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: end;
}
.club-preview-modal__close:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
}
.club-preview-modal__title {
  margin: 0.1rem 0 0.55rem !important;
  font-size: 1.18rem !important;
  letter-spacing: 0.02em;
  line-height: 1.2;
  padding: 0 0.25rem;
  text-align: center;
}

.club-preview-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  margin: 0 0 0.65rem;
}
.club-preview-logo__ring {
  width: 4.75rem;
  height: 4.75rem;
  border-radius: 0.28rem;
  border: 2px solid rgba(232, 200, 114, 0.5);
  background:
    radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.1), transparent 55%),
    radial-gradient(circle at 70% 80%, rgba(26, 122, 76, 0.25), transparent 50%),
    rgba(0, 0, 0, 0.4);
  box-shadow:
    0 0 0 3px rgba(26, 122, 76, 0.14),
    0 8px 20px rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
}
.club-preview-logo__ring.is-official {
  border-color: rgba(109, 207, 154, 0.65);
}
.club-preview-logo__ring.is-pending {
  border-color: rgba(255, 183, 77, 0.55);
}
.club-preview-logo__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.club-preview-logo__placeholder {
  font-size: 1.35rem;
  color: rgba(232, 200, 114, 0.5);
  line-height: 1;
  user-select: none;
}
.club-preview-logo__upload {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.28rem;
  max-width: 100%;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--gold-soft, #e8c872);
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(232, 200, 114, 0.38);
  background: rgba(232, 200, 114, 0.09);
  white-space: nowrap;
  overflow: visible;
  user-select: none;
}
.club-preview-logo__upload.is-processing {
  cursor: default;
  pointer-events: none;
  border-color: rgba(255, 183, 77, 0.45);
  background: rgba(255, 183, 77, 0.1);
  color: #ffb74d;
  font-size: 0.62rem;
  letter-spacing: 0.02em;
  font-weight: 650;
  padding: 0.26rem 0.55rem;
}
.club-preview-logo__upload:not(.is-processing):hover {
  background: rgba(232, 200, 114, 0.18);
  border-color: rgba(232, 200, 114, 0.6);
}
.club-preview-logo__upload-ico {
  font-size: 0.8rem;
  opacity: 0.85;
  line-height: 1;
  flex-shrink: 0;
}
.club-preview-logo__upload.is-processing .club-preview-logo__upload-ico {
  display: none;
}

/* Stacked panels: primary club data + secondary audit meta */
.club-preview-panels {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin: 0;
}

.club-preview-fields {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  background: rgba(0, 0, 0, 0.28);
  overflow: hidden;
}
.club-preview-fields[hidden] {
  display: none !important;
}

/* Meta panel: quieter, smaller — must not compete with club data */
.club-preview-fields--meta {
  border-color: rgba(255, 255, 255, 0.06);
  background: rgba(0, 0, 0, 0.16);
  opacity: 0.92;
}
.club-preview-fields--meta .club-preview-fields__row {
  padding: 0.28rem 0.55rem;
}
.club-preview-fields--meta .club-preview-fields__lbl {
  font-size: 0.58rem;
  font-weight: 450;
  color: rgba(255, 255, 255, 0.38);
}
.club-preview-fields--meta .club-preview-fields__val {
  font-size: 0.68rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.55);
}

.club-preview-fields__row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.38rem 0.65rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.055);
}
.club-preview-fields__row:nth-child(odd) {
  background: rgba(255, 255, 255, 0.015);
}
.club-preview-fields__row:last-child {
  border-bottom: none;
}
.club-preview-fields__lbl {
  margin: 0;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.005em;
  text-transform: none;
  color: rgba(255, 255, 255, 0.55);
  white-space: nowrap;
  line-height: 1.25;
  flex: 1 1 auto;
  min-width: 0;
}
.club-preview-fields__val {
  margin: 0;
  font-size: 0.84rem;
  font-weight: 600;
  color: #fff;
  text-align: right;
  white-space: nowrap;
  line-height: 1.3;
  flex: 0 0 auto;
}

/* Edit note popover under pencil icon */
.club-preview-compose {
  position: absolute;
  z-index: 5;
  top: 2.55rem;
  left: 0.55rem;
  right: auto;
  width: min(17.5rem, calc(100% - 1.1rem));
  margin: 0;
  padding: 0.7rem 0.7rem 0.65rem;
  border-radius: 12px;
  border: 1px solid rgba(232, 200, 114, 0.35);
  background: #121c16;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(0, 0, 0, 0.3);
}
.club-preview-compose__title {
  margin: 0 0 0.4rem;
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.3;
}
.club-preview-compose__ta {
  width: 100%;
  box-sizing: border-box;
  min-height: 4.25rem;
  resize: vertical;
  padding: 0.5rem 0.55rem;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  font: inherit;
  font-size: 0.84rem;
  line-height: 1.35;
}
.club-preview-compose__ta:focus {
  outline: none;
  border-color: rgba(232, 200, 114, 0.55);
  box-shadow: 0 0 0 2px rgba(232, 200, 114, 0.12);
}
.club-preview-compose__ta::placeholder {
  color: rgba(255, 255, 255, 0.35);
}
.club-preview-compose__actions {
  display: flex;
  gap: 0.4rem;
  margin-top: 0.45rem;
}
.club-preview-compose__actions .btn {
  flex: 1;
  min-height: 38px;
}
.club-preview-compose__actions .btn.is-limit,
.club-preview-compose__actions .btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.club-preview-modal__note-status {
  margin: 0.45rem 0 0;
  padding: 0.35rem 0.5rem;
  border-radius: 8px;
  font-size: 0.72rem;
  text-align: center;
  color: #6dcf9a;
  line-height: 1.35;
  background: rgba(26, 122, 76, 0.15);
  border: 1px solid rgba(26, 122, 76, 0.35);
}

/* Admin logo review */
.logo-review-modal__panel {
  max-width: 20rem;
  padding: 1.15rem 1rem 1rem;
}
.logo-review-modal__preview {
  display: block;
  margin: 0.5rem auto 1rem;
  width: 9rem;
  height: 9rem;
  padding: 0;
  border-radius: 0.28rem;
  border: 2px solid rgba(232, 200, 114, 0.45);
  overflow: hidden;
  background: rgba(0, 0, 0, 0.35);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
  cursor: zoom-in;
}
.logo-review-modal__preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}
.logo-review-modal__actions {
  display: flex;
  gap: 0.4rem;
  min-width: 0;
}
.logo-review-modal__actions .btn {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
  min-height: 42px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  box-sizing: border-box;
}
.avatar-review-modal.is-athlete-lane #avatar-review-members {
  display: none !important;
}
.avatar-review-modal {
  padding: 0.75rem 1rem;
}
.avatar-review-modal__panel {
  width: min(20rem, calc(100vw - 2.4rem), calc(480px - 3.2rem));
  max-width: min(20rem, calc(100vw - 2.4rem));
  padding: 1.1rem 0.85rem 0.85rem;
  box-sizing: border-box;
}
.avatar-review-modal__photo {
  margin: 0.45rem auto 0.85rem;
  width: 100%;
  max-width: 17.2rem;
  aspect-ratio: 1;
  border-radius: 0.28rem;
  border: 2px solid rgba(232, 200, 114, 0.45);
  overflow: hidden;
  background: #0a0e0a;
}
.avatar-review-modal__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
}
.avatar-review-modal__actions {
  display: flex;
  gap: 0.45rem;
  min-width: 0;
}
.avatar-review-modal__actions .btn {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
  min-height: 42px;
  padding: 0.45rem 0.4rem;
  box-sizing: border-box;
}
.kyc-update-modal__panel {
  position: relative;
  width: min(480px, calc(100vw - 1.2rem));
  max-height: min(92vh, 40rem);
  overflow-y: auto;
  padding: 0.65rem 0.85rem 0.85rem;
  box-sizing: border-box;
}
.kyc-update-modal__head {
  position: sticky;
  top: 0;
  z-index: 4;
  margin: 0 0 0.55rem;
  padding: 0.15rem 1.6rem 0.45rem 0;
  background: #0a0a0a;
}
.kyc-update-modal__head .cse-modal__title {
  margin: 0;
}
.kyc-update-modal__from {
  margin: 0.2rem 0 0;
  font-size: 0.88rem;
  font-weight: 650;
  color: #e8c872;
}
.kyc-update-modal__sec {
  margin: 0 0 0.75rem;
}
.kyc-update-modal__sec h3 {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #e8c872;
}
.kyc-update-modal__dl {
  display: grid;
  gap: 0.25rem;
  margin: 0;
}
.kyc-update-modal__dl div {
  display: grid;
  grid-template-columns: 4.5rem 1fr;
  gap: 0.35rem;
  font-size: 0.85rem;
}
.kyc-update-modal__dl dt {
  color: #9a9a9a;
  font-weight: 650;
}
.kyc-update-modal__dl dd {
  margin: 0;
  color: #f2f2f2;
}
.kyc-update-modal__dl dd.is-miss {
  color: var(--red, #ce1126);
  font-weight: 700;
}
.kyc-update-modal__fields,
.kyc-update-modal__time {
  margin: 0.15rem 0 0;
  font-size: 0.82rem;
  color: #cfcfcf;
}
.kyc-update-modal__imgs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.45rem;
  margin: 0;
}
.kyc-update-modal__tile {
  margin: 0;
  padding: 0;
  border: 1px dashed rgba(232, 200, 114, 0.45);
  border-radius: 10px;
  background: #0a0a0a;
  color: #e8c872;
  cursor: pointer;
  overflow: hidden;
}
.kyc-update-modal__tile[hidden] {
  display: none;
}
.kyc-update-modal__tile img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}
.kyc-update-modal__tile span {
  display: block;
  padding: 0.2rem;
  font-size: 0.68rem;
  font-weight: 750;
}
.kyc-update-modal__lab {
  display: block;
  margin: 0.35rem 0 0.15rem;
  font-size: 0.72rem;
  color: #9a9a9a;
}
.kyc-update-modal__inp {
  width: 100%;
  box-sizing: border-box;
  padding: 0.4rem 0.5rem;
  border: 1px solid rgba(232, 200, 114, 0.28);
  border-radius: 8px;
  background: #121212;
  color: #f2f2f2;
  font: inherit;
}
.kyc-update-modal__err {
  min-height: 1.1em;
  margin: 0.45rem 0 0;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--red, #ce1126);
}
.kyc-update-zoom {
  position: absolute;
  inset: 0;
  z-index: 6;
  display: flex;
  flex-direction: column;
  background: #000;
}
.kyc-update-zoom[hidden] {
  display: none !important;
}
.kyc-update-zoom__close {
  flex: 0 0 auto;
  margin: 0.45rem;
  min-height: 2.4rem;
  border: 0;
  border-radius: 8px;
  background: #1a7a4c;
  color: #e8c872;
  font-weight: 750;
  cursor: pointer;
}
.kyc-update-zoom img {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  object-fit: contain;
  overflow: auto;
  touch-action: pinch-zoom pan-y pan-x;
}

.em-greeting {
  text-align: center;
  margin-bottom: 1rem;
}

.em-greeting__hi {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

.em-greeting__role {
  font-size: 0.85rem;
  color: var(--gold-muted);
}

.em-muted {
  font-size: 0.82rem;
  color: var(--text-muted);
  text-align: center;
  line-height: 1.45;
}

.em-error {
  font-size: 0.78rem;
  color: var(--error);
  text-align: center;
  min-height: 1.1em;
}

.em-error:empty {
  display: none;
}

/* ── Team sheet (same chrome as club / LiteKYC) ───────── */
.page-team .em-card--team {
  position: relative;
}

/* Title row + gold next/prev chevrons (multi-team CDC) */
.team-header-with-nav {
  display: grid;
  grid-template-columns: 2.25rem 1fr 2.25rem;
  align-items: center;
  gap: 0.25rem;
}

.team-header-with-nav__text {
  min-width: 0;
  text-align: center;
}

.team-header-with-nav__text .em-card__title--kyc,
.team-header-with-nav__text .em-card__subtitle--kyc {
  text-align: center;
}

.team-nav-chevron {
  width: 2.25rem;
  height: 2.25rem;
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(232, 200, 114, 0.25);
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.2);
  color: rgba(232, 200, 114, 0.28);
  font-size: 1.65rem;
  font-weight: 400;
  line-height: 1;
  cursor: default;
  transition:
    color 0.15s ease,
    border-color 0.15s ease,
    background 0.15s ease,
    box-shadow 0.15s ease,
    opacity 0.15s ease;
}

.team-nav-chevron[hidden] {
  visibility: hidden;
  pointer-events: none;
}

/* Idle: visible but inactive until team status = green */
.team-nav-chevron.is-idle,
.team-nav-chevron:disabled {
  opacity: 0.45;
  color: rgba(232, 200, 114, 0.28);
  border-color: rgba(232, 200, 114, 0.18);
  box-shadow: none;
  cursor: not-allowed;
}

/* Active gold theme — current team principal all green & k < N */
.team-nav-chevron.is-active:not(:disabled) {
  opacity: 1;
  color: var(--gold-soft);
  border-color: var(--gold);
  background: rgba(232, 200, 114, 0.12);
  box-shadow: 0 0 12px rgba(232, 200, 114, 0.35);
  cursor: pointer;
}

.team-nav-chevron.is-active:not(:disabled):hover {
  color: #f5e0a0;
  background: rgba(232, 200, 114, 0.22);
  box-shadow: 0 0 16px rgba(232, 200, 114, 0.5);
}

/* Team name (flex grow) + status label/bulb — bulb on same vertical line as player bulbs */
.field--team-name-status {
  margin-bottom: 0.15rem;
}

.team-name-status-row {
  display: flex;
  align-items: flex-end;
  gap: 0.5rem;
  width: 100%;
  min-width: 0;
  /* Match roster-row horizontal inset so team bulb lines up with player bulbs */
  padding-right: 0; /* bulb col carries the alignment inset */
  box-sizing: border-box;
}

.team-name-status-row__name-col {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
}

/* Team name + Status labels — white */
.page-team .team-name-status-row__name-col .field__label--club,
.page-team .team-status-label {
  color: #ffffff;
}

/*
 * Status column: wide enough for "Status" / "Statut" (no truncate).
 * Team bulb RIGHT EDGE aligns with player-row bulb RIGHT EDGE:
 *   roster-row padding-right 0.15rem + invite padding-right 0.4rem = 0.55rem
 */
.team-name-status-row__status-col {
  flex: 0 0 auto;
  width: auto;
  min-width: 3.5rem; /* full Status / Statut label */
  max-width: none;
  display: flex;
  flex-direction: column;
  align-items: flex-end; /* right-align label + bulb stack */
  justify-content: flex-end;
  gap: 0.28rem;
  margin-right: 0;
  padding-right: 0.55rem; /* = player bulb right inset */
  box-sizing: border-box;
}

.team-status-label {
  display: block;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  text-align: right;
  line-height: 1.25em;
  height: auto;
  min-height: 1.25em;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
  color: #ffffff;
}

.team-name-status-row__name {
  width: 100%;
  height: 44px;
  box-sizing: border-box;
  min-width: 0;
}

.team-name-status-row__name .field__input {
  height: 100%;
  min-width: 0;
}

/* Team status bulb container — flush right; vertical center in 44px input row */
.team-status-single {
  width: auto;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: flex-end; /* right edge of bulb = right edge of player bulbs */
  box-sizing: border-box;
  padding: 0;
  border: none;
  background: transparent;
  overflow: visible;
}

/* 1.5× player bulb (0.72rem → 1.08rem) */
.team-status-bulb {
  width: 1.08rem;
  height: 1.08rem;
  border-radius: 50%;
  flex-shrink: 0;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: var(--green);
  box-shadow: 0 0 10px rgba(26, 122, 76, 0.55);
  box-sizing: border-box;
}

.team-status-bulb--red {
  background: #ce1126;
  box-shadow: 0 0 8px rgba(206, 17, 38, 0.45);
}

.team-status-bulb--yellow {
  background: #e8c872;
  box-shadow: 0 0 8px rgba(232, 200, 114, 0.45);
}

.team-status-bulb--green {
  background: var(--green);
  box-shadow: 0 0 8px rgba(26, 122, 76, 0.55);
}

/* Team card uses same close X as club */
.em-card--team {
  position: relative;
}

.page-team .kyc-sticky-footer,
.page-team .team-footer-actions {
  display: none !important;
}

/* Licence / invite cards — same shell densify as other kyc pages */
.page-licence .em-card--licence {
  max-height: calc(100dvh - 10.5rem);
  border-color: transparent;
}
.page-licence.is-dual-license .kyc-scroll,
.page-licence.is-dual-license .em-card--licence {
  overflow-y: auto;
}
.page-licence .license-head[data-license-kind="secondary"] {
  margin-top: 0.7rem;
}
.page-licence .license-head[data-license-kind="secondary"] .em-home-card-topbar {
  display: none !important;
}
.page-invite .em-card--invite {
  max-height: calc(100dvh - 10.5rem);
}
.page-licence .license-head {
  margin: 0.42rem 0.5rem 0;
  padding-bottom: 0.35rem;
  border: 1px solid var(--border-green, rgba(26, 122, 76, 0.45));
  border-radius: var(--radius, 12px);
  box-sizing: border-box;
}
.page-licence .kyc-scroll {
  padding: 0.4rem 0.5rem 0.7rem;
}

.page-licence .em-home-card-topbar .club-close {
  display: none !important;
}
.page-licence .em-home-card-topbar #btn-lic-profile {
  grid-column: 3;
  justify-self: end;
}

/*
 * Player License layout — 2026-08-14
 * Title: Player License: <Scope>
 * Status (green, not italic) → QR → name → age·psl·sex → team · club → Renew
 * Title + status always dead-center above QR; identity lines dead-center below.
 */
/* Kill legacy asymmetric sticky padding so title/status share QR’s true center */
.page-licence .kyc-sticky-header.license-tpl-header,
.page-licence.shell-locked .kyc-sticky-header.license-tpl-header,
.page-licence .license-tpl-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  /* Equal L/R — override page-licence sticky padding-right: 2.5rem */
  padding-left: 0.9rem !important;
  padding-right: 0.9rem !important;
  padding-bottom: 0.2rem;
}
.page-licence .license-tpl-heading {
  display: block;
  width: 100%;
  margin: 0 auto 0.22rem !important;
  padding: 0 !important;
  font-size: clamp(1.05rem, 3.8vw, 1.28rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.2;
  text-align: center !important;
  color: #fff !important;
  box-sizing: border-box;
}
.page-licence .license-id-status {
  display: block;
  width: 100%;
  margin: 0 auto 0.55rem;
  padding: 0;
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.3;
  text-align: center !important;
  color: #1a7a4c;
}
.page-licence .license-id-status.is-paid {
  color: #1a7a4c;
}
.page-licence .license-id-status.is-waived {
  color: #6dcf9a;
}
.page-licence .license-id-status.is-invalid,
.page-licence.pf-license-unlicensed .license-id-status.is-invalid {
  color: #c0392b;
}
.page-licence .license-id-status[hidden] {
  display: none !important;
}
/* Engine role_union chip — GET /me only. Not a switcher. Hidden if missing. */
.fecabi-role-union {
  display: block;
  width: max-content;
  max-width: calc(100% - 1rem);
  margin: 0.08rem auto 0.12rem;
  padding: 0.08rem 0.55rem;
  border: 1px solid rgba(232, 200, 114, 0.7);
  border-radius: 999px;
  color: #e8c872;
  background: transparent;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  line-height: 1.25;
  text-align: center;
  pointer-events: none;
}
.fecabi-role-union[hidden] {
  display: none !important;
}
.page-licence .fecabi-role-union {
  margin: 0 auto 0.28rem;
}
.page-licence .license-meta {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.55rem;
  /* Same outer width as .qr-canvas-wrap so values stop at the QR’s right edge */
  width: calc(220px + 1.5rem + 4px);
  max-width: calc(220px + 1.5rem + 4px);
  margin: 0 auto 0.15rem;
  padding: 0;
  box-sizing: border-box;
}
.page-licence .license-meta[hidden] {
  display: none !important;
}
.page-licence .license-meta__photo {
  flex: 0 0 5rem;
  width: 5rem;
  height: 5rem;
  border-radius: 0.28rem;
  border: 2px solid rgba(232, 200, 114, 0.85);
  background: #122016 center 18% / cover no-repeat;
  color: #e8c872;
  font-weight: 800;
  font-size: 1.35rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.page-licence.pf-license-unlicensed .license-meta__photo,
.page-licence.pf-unlicensed .license-meta__photo {
  border-color: #c0392b;
}
.page-licence.pf-license-expired .license-meta__photo {
  border-color: #e8c872;
}
.page-licence.pf-license-waived .license-meta__photo {
  border-color: #6dcf9a;
}
.page-licence.pf-license-paid .license-meta__photo {
  border-color: #1a7a4c;
}
.page-licence .license-meta__dl {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
}
.page-licence .license-meta__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 3.25rem;
  align-items: baseline;
  column-gap: 0.4rem;
  line-height: 1.35;
}
.page-licence .license-meta__row dt {
  margin: 0;
  text-align: right;
  font-size: 0.78rem;
  font-weight: 700;
  color: #e8c872;
}
.page-licence .license-meta__row dd {
  margin: 0;
  text-align: right;
  font-size: 0.82rem;
  font-weight: 700;
  color: #fff;
}
.page-licence .license-tpl-title {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 auto 0.3rem !important;
  padding: 0 !important;
  font-size: clamp(0.92rem, 3.3vw, 1.08rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em;
  line-height: 1.25;
  text-align: center !important;
  box-sizing: border-box;
  color: #fff;
}
.page-licence .license-tpl-title__label {
  color: #fff;
}
.page-licence .license-tpl-title__scope {
  color: #e8c872;
}
.page-licence.pf-license-unlicensed .license-tpl-title__scope,
.page-licence.pf-unlicensed .license-tpl-title__scope {
  color: #c0392b;
}
/* Status under title — themed; dead center above QR */
.page-licence .license-status {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 auto 0.45rem;
  padding: 0;
  font-size: 0.9rem;
  font-weight: 700;
  font-style: normal;
  color: #c0392b;
  letter-spacing: 0.02em;
  line-height: 1.3;
  text-align: center !important;
  box-sizing: border-box;
}
.page-licence .license-status[hidden],
.page-licence .license-type-label[hidden],
.page-licence .qr-meta--legacy-role[hidden],
.page-licence .license-renew-btn[hidden],
.page-licence .license-renew-actions[hidden] {
  display: none !important;
}
.page-licence .qr-box--tpl {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  box-sizing: border-box;
  gap: 0.65rem;
  text-align: center;
}
.page-licence .license-face,
#license-review-modal .license-face {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: stretch;
  gap: 0.65rem;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  margin: 0.2rem 0 0;
  padding: 0.7rem 0.55rem 0.8rem;
  border: 1px solid var(--border-green, rgba(26, 122, 76, 0.45));
  border-radius: var(--radius, 12px);
}
.page-licence .license-status.is-invalid,
.page-licence.pf-license-unlicensed .license-status,
.page-licence.pf-unlicensed .license-status {
  color: #c0392b;
}
.page-licence .license-status.is-expired,
.page-licence.pf-license-expired .license-status {
  color: #e8c872;
}
.page-licence .license-status.is-waived,
.page-licence .license-status.is-provisional,
.page-licence.pf-license-waived .license-status {
  color: #6dcf9a;
}
.page-licence .license-status.is-paid,
.page-licence.pf-license-paid .license-status {
  color: #1a7a4c;
}
.page-licence .license-validity {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0 0 0.08rem;
  font-size: 0.68rem;
  font-weight: 600;
  font-style: normal;
  color: #9ca3af;
  letter-spacing: 0.02em;
  line-height: 1.1;
  text-align: center;
}
.page-licence .license-validity[hidden] {
  display: none !important;
}
.page-licence .qr-box--tpl > .license-validity + .qr-canvas-wrap {
  margin-top: 0.04rem;
}
.page-licence .qr-box--tpl .qr-canvas-wrap {
  margin: 0 auto;
}
/* Dead-centered identity stack under QR (same outer width as QR box) */
.page-licence .license-id-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: calc(220px + 1.5rem + 4px);
  max-width: calc(220px + 1.5rem + 4px);
  margin: 0 auto;
  gap: 0.12rem;
  text-align: center;
}
.page-licence .license-name-line {
  margin: 0;
  width: 100%;
  text-align: center;
  font-size: calc(1rem + 2pt);
  font-weight: 800;
  line-height: 1.3;
  color: #fff;
  letter-spacing: 0.01em;
}
.page-licence .license-team-line {
  display: block;
  margin: 0;
  width: 100%;
  text-align: center;
  font-size: 0.9rem;
  line-height: 1.35;
  text-transform: uppercase;
}
.page-licence .license-team-name,
.page-licence .license-club-name {
  color: var(--gold, #e8c872);
  font-weight: 700;
  font-style: normal;
}
.page-licence .license-code-line {
  margin: 0.1rem 0 0;
  width: 100%;
  text-align: center;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.35;
  color: rgba(232, 200, 114, 0.9);
}
.page-licence .license-code-line[hidden] {
  display: none !important;
}
/* Renewal + Transfer — same row under affiliation */
.page-licence .license-renew-actions {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: center;
  gap: 0.65rem;
  width: 100%;
  max-width: 22rem;
  margin: 0.35rem auto 0;
}
.page-licence .license-role-actions {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: center;
  gap: 0.65rem;
  width: 100%;
  max-width: 22rem;
  margin: 0.15rem auto 0;
}
.page-licence .license-renew-btn,
.page-licence .license-role-btn {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 2.55rem;
  min-height: 2.55rem;
  max-height: 2.55rem;
  min-width: 0;
  margin: 0;
  padding: 0 0.55rem;
  border-radius: 10px;
  border: 1.5px solid rgba(232, 200, 114, 0.45);
  background: rgba(40, 40, 40, 0.9);
  color: rgba(255, 255, 255, 0.55);
  font: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.page-licence .license-renew-btn:disabled,
.page-licence .license-role-btn:disabled {
  cursor: not-allowed;
  opacity: 0.72;
  pointer-events: none;
}
.page-licence .license-renew-btn:not(:disabled) {
  cursor: pointer;
  opacity: 1;
  pointer-events: auto;
  color: #fff;
  border-color: #e8c872;
  background: rgba(232, 200, 114, 0.22);
}
.page-licence .license-role-picker {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  width: 100%;
  max-width: 22rem;
  margin: 0.15rem auto 0;
}
.page-licence .license-role-picker[hidden] {
  display: none !important;
}
.page-licence .license-role-picker__title {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #9ca3af;
  text-align: center;
}
.page-licence .license-role-picker__item {
  min-height: 2.35rem;
  border-radius: 10px;
  border: 1.5px solid rgba(232, 200, 114, 0.55);
  background: #1c1c1c;
  color: #fff;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 650;
  cursor: pointer;
}
.page-licence .license-role-picker__item:hover,
.page-licence .license-role-picker__item:focus-visible {
  border-color: var(--gold, #e8c872);
  background: #252525;
  outline: none;
}
.page-licence .license-role-picker__cancel {
  border-color: rgba(255, 255, 255, 0.18);
  color: #9ca3af;
}
.em-guest-lead {
  margin: 0.2rem 0.35rem 0.85rem;
  padding: 0;
  text-align: center;
  font-size: 0.88rem;
  font-weight: 450;
  line-height: 1.45;
  color: var(--text-muted, #9ca3af);
}
.em-guest-cta {
  width: 100%;
  margin: 0.85rem 0 0.35rem;
  min-height: 48px;
}

/* Guest preview: role word-tabs + dual-tile chips (CSE theme) */
.page-membres-home.is-guest-dash .em-card--home {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
.page-membres-home.is-guest-dash .em-card--home-chips-only .kyc-scroll--home-chips {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  padding: 0.15rem 0.85rem calc(4.35rem + env(safe-area-inset-bottom, 0px) + 1.35rem + 8px);
}
.page-membres-home.is-guest-dash .em-stack {
  flex: 0 0 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
}
.page-membres-home.is-guest-dash .em-stack > .em-guest-preview {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.page-membres-home.is-guest-dash .em-guest-preview > .ath-dash {
  flex: 1 1 auto;
  min-height: 0;
}
.page-membres-home.is-guest-dash .em-stack > .em-guest-foot {
  flex: 0 0 auto;
}
.page-membres-home.is-guest-dash #demo-hint {
  display: none !important;
  margin: 0 !important;
  height: 0 !important;
  overflow: hidden;
}
.em-guest-iam {
  margin: 0.05rem 0 0.2rem;
  padding: 0;
  text-align: center;
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  color: #e8c872;
  line-height: 1.2;
}
.em-guest-roles {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  gap: 0.08rem 0.12rem;
  margin: 0 0 1.12rem;
  padding: 0 0.1rem;
}
.em-guest-roles__sep {
  color: rgba(244, 241, 230, 0.38);
  font-size: 0.72rem;
  font-weight: 600;
  pointer-events: none;
  user-select: none;
}
.em-guest-roles__tab {
  margin: 0;
  padding: 0.12rem 0.18rem;
  border: 0;
  background: none;
  color: rgba(244, 241, 230, 0.72);
  font: inherit;
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.em-guest-roles__tab.is-active {
  color: #e8c872;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 0.22em;
}
.em-guest-roles__tab:focus-visible {
  outline: 1px solid #e8c872;
  outline-offset: 2px;
  border-radius: 4px;
}
.em-guest-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem;
  margin: 0.15rem 0 0.1rem;
}
.page-membres-home.is-guest-dash .em-guest-foot .em-guest-lead {
  margin: 0;
  text-align: left;
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.72rem;
  line-height: 1.3;
}
.page-membres-home.is-guest-dash .em-guest-foot .em-guest-lead.is-received {
  color: #e8c872;
  font-weight: 700;
}
.page-membres-home.is-guest-dash .em-guest-foot .em-guest-cta:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.page-membres-home.is-guest-dash .ath-dash {
  gap: clamp(0.28rem, 1.05vh, 0.55rem);
  padding: 0.08rem 0.1rem 0.1rem;
}
.page-membres-home.is-guest-dash .ath-tile {
  min-height: 2.45rem;
  max-height: 3.15rem;
}
.page-membres-home.is-guest-dash .ath-dash-group__title {
  margin-bottom: 0.28rem;
  font-size: clamp(0.74rem, 1.9vh, 0.88rem);
}
/* Influenceur / Sponsor: extra chip row — pack sections up, CTA stays put */
.page-membres-home.is-guest-dash .ath-dash--guest-pack {
  gap: clamp(0.08rem, 0.35vh, 0.16rem);
}
.page-membres-home.is-guest-dash .ath-dash--guest-pack .ath-dash-group__title {
  margin-bottom: 0.1rem;
}
.page-membres-home.is-guest-dash .ath-dash--guest-pack .ath-dash-group:last-child {
  flex: 1.65 1 0;
}
.page-membres-home.is-guest-dash .ath-dash--guest-pack .ath-dash-group:last-child .ath-dash-group__row {
  gap: 0.28rem;
}
.page-membres-home.is-guest-dash .ath-dash--guest-pack .ath-dash-group:last-child .ath-tile {
  min-height: 2.15rem;
  max-height: 2.7rem;
}

/* Footer: smaller; YeloBall CSE yellow */
.page-licence .qr-box--tpl .qr-note {
  margin-top: 0.85rem;
  width: 100%;
  text-align: center;
  font-size: 0.62rem;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.42);
}
.page-licence .qr-box--tpl .qr-note .license-note-brand {
  color: var(--gold, #e8c872);
  font-weight: 700;
}

/*
 * ============================================================================
 * ATHLETE DASHBOARD LAYOUT LOCKED — 12 Aug 2026
 * Reference: Screenshot 2026-08-12 194211 (mid-point gaps + chip size)
 * Mockup structure: 185843. NOT the fully-spacious 193737 spread.
 * Do not reflow densify, gaps, chip sizes, or panel structure without unlock + GO.
 * ============================================================================
 *
 * Spec (locked):
 * - 5 dual-tile groups, fieldset-legend titles on CSE gold border
 * - Card body full-height; mild group grow + moderate inter-panel gaps
 * - Groups flex: 1 1 0, max-height 5.6rem; chips ~3.05–3.7rem
 * - Ma Licence: View enabled (green) → /licence/; Transfer disabled (future)
 * - All other tiles disabled / visible / readable
 * - No demo-hint footer; no internal chip-area scroll
 * - Default athlete landing after invite onboarding
 */

/* Full-height flex chain: card → scroll → stack → dash */
.page-membres-home.is-athlete-dash .em-card--home,
.page-membres-home.is-cm-dash .em-card--home {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.page-membres-home.is-athlete-dash .em-card--home-chips-only .kyc-scroll--home-chips,
.page-membres-home.is-cm-dash .em-card--home-chips-only .kyc-scroll--home-chips {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  padding: 0.25rem 0.85rem calc(4.35rem + env(safe-area-inset-bottom, 0px) + 1.35rem + 8px);
}
.page-membres-home.is-athlete-dash .em-stack,
.page-membres-home.is-cm-dash .em-stack {
  flex: 0 0 auto;
  min-height: 0;
  height: auto;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
/* Pending invite (if any) stays natural height; dash eats the rest */
.page-membres-home.is-athlete-dash .em-stack > .em-nav-card,
.page-membres-home.is-cm-dash .em-stack > .em-nav-card {
  flex: 0 0 auto;
}
.page-membres-home.is-athlete-dash .em-stack > .ath-dash,
.page-membres-home.is-cm-dash .em-stack > .ath-dash {
  flex: 1 1 auto;
  min-height: 0;
}
/* Dual CM+athlete: both dashboards stack and scroll. No role switcher. */
.page-membres-home.is-cm-dash.is-athlete-dash .em-card--home-chips-only .kyc-scroll--home-chips {
  overflow-y: auto;
}
.page-membres-home.is-cm-dash.is-athlete-dash .em-stack > .ath-dash {
  flex: 0 0 auto;
  height: auto;
}
.page-membres-home.is-cm-dash.is-athlete-dash .ath-dash {
  height: auto;
  justify-content: flex-start;
  gap: 0.55rem;
}
.page-membres-home.is-cm-dash.is-athlete-dash .ath-dash-group {
  flex: 0 0 auto;
}
.page-membres-home.is-athlete-dash #demo-hint,
.page-membres-home.is-cm-dash #demo-hint {
  display: none !important;
  margin: 0 !important;
  height: 0 !important;
  overflow: hidden;
}

/* LOCKED mid-point (ref 194211): moderate gaps + slightly roomier chips */
.page-membres-home .ath-dash {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(0.5rem, 1.65vh, 0.78rem);
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: clamp(0.42rem, 1.2vh, 0.55rem) 0.1rem 0.28rem;
  box-sizing: border-box;
}

.page-membres-home .ath-dash-group {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  flex: 1 1 0;
  min-height: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  padding: 0;
  box-sizing: border-box;
}

/* Subject title flanked by rules — not a boxed legend */
.page-membres-home .ath-dash-group__title {
  position: static;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  margin: 0 0 0.38rem;
  padding: 0;
  max-width: none;
  overflow: visible;
  text-align: center;
  font-size: clamp(0.82rem, 2.15vh, 0.98rem);
  font-weight: 800;
  letter-spacing: 0.01em;
  color: #fff;
  line-height: 1.15;
  background: transparent;
  pointer-events: none;
}

.page-membres-home .ath-dash-group__rule {
  flex: 1 1 auto;
  height: 2px;
  min-width: 1.1rem;
  border-radius: 1px;
  background: #6b7280;
  box-shadow: none;
}

.page-membres-home .ath-dash-group__label {
  flex: 0 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.page-membres-home .ath-dash-group__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.45rem;
  flex: 1 1 auto;
  min-height: 0;
  align-items: stretch;
}

.page-membres-home .ath-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.12rem;
  min-height: 3.05rem;
  height: 100%;
  max-height: 3.7rem;
  padding: 0.4rem 0.4rem;
  border-radius: 16px;
  border: 1.5px solid var(--gold, #e8c872);
  background: #3a3a3a;
  color: #fff;
  text-align: center;
  font: inherit;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

.page-membres-home .ath-tile__label {
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.15;
  color: #fff;
}

.page-membres-home .ath-tile__sub {
  font-size: 0.64rem;
  font-weight: 500;
  line-height: 1.2;
  color: rgba(255, 255, 255, 0.62);
}

/* LOCKED: Ma Licence → View only — green + fine gold lining */
.page-membres-home .ath-tile--enabled {
  cursor: pointer;
  background: linear-gradient(
    165deg,
    rgba(34, 140, 88, 0.95) 0%,
    rgba(18, 92, 58, 0.98) 48%,
    rgba(12, 68, 42, 1) 100%
  );
  border: 1.5px solid var(--gold, #e8c872);
  box-shadow:
    0 0 0 1px rgba(232, 200, 114, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 2px 10px rgba(26, 122, 76, 0.35);
  transition: background 0.15s ease, border-color 0.15s ease,
    transform 0.12s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.page-membres-home .ath-tile--enabled .ath-tile__label {
  color: #fff;
  font-weight: 800;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.page-membres-home .ath-tile--enabled .ath-tile__sub {
  color: rgba(255, 236, 180, 0.88);
}

.page-membres-home .ath-tile--enabled:hover,
.page-membres-home .ath-tile--enabled:focus-visible {
  background: linear-gradient(
    165deg,
    rgba(42, 160, 100, 0.98) 0%,
    rgba(22, 110, 68, 1) 50%,
    rgba(14, 78, 48, 1) 100%
  );
  border-color: #f0d48a;
  box-shadow:
    0 0 0 1px rgba(240, 212, 138, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    0 3px 14px rgba(26, 122, 76, 0.45);
  outline: none;
}

.page-membres-home .ath-tile--enabled:active {
  transform: scale(0.98);
  filter: brightness(0.96);
}

/* Disabled: visible + readable, not interactive */
.page-membres-home .ath-tile--disabled {
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.82;
  background: #333;
  border-color: rgba(232, 200, 114, 0.5);
  filter: none;
}

.page-membres-home .ath-tile--disabled .ath-tile__label {
  color: rgba(255, 255, 255, 0.92);
}

.page-membres-home .ath-tile--disabled .ath-tile__sub {
  color: rgba(255, 255, 255, 0.52);
}

@media (max-width: 360px) {
  .page-membres-home .ath-dash-group__title {
    gap: 0.4rem;
  }
  .page-membres-home .ath-tile {
    border-radius: 14px;
  }
}

/*
 * Compact Build Team layout: all roster rows visible on entry.
 * Prefer scrolling only for site footer (FECABI), not within the card.
 * LAYOUT LOCKED 2 Aug 2026 — do not reflow densify without unlock + GO.
 */
.page-team .em-card--kyc {
  max-height: calc(100dvh - 8.75rem);
}

.page-team .kyc-sticky-header {
  padding: 0.45rem 0.75rem 0.3rem;
}

.page-team .em-card__title--kyc {
  font-size: clamp(1rem, 3.6vw, 1.2rem);
  margin: 0 0 0.1rem;
}

.page-team .em-card__subtitle--kyc {
  font-size: 0.7rem;
}

.page-team .kyc-scroll {
  padding: 0.35rem 0.75rem 0.4rem;
  gap: 0.35rem;
  overflow-y: auto; /* only if viewport is very short */
}

.page-team .field--team-name-status {
  margin-bottom: 0;
}

.page-team .team-name-status-row__name {
  height: 40px;
}

.page-team .team-status-single {
  height: 40px;
}

.page-team .team-name-status-row__name-col,
.page-team .team-name-status-row__status-col {
  gap: 0.15rem;
}

.page-team .team-name-status-row__name-col .field__label--club,
.page-team .team-status-label {
  font-size: 0.68rem;
  min-height: 1em;
  line-height: 1.1em;
}

/* Tighter rosters so principal 5 + replacements 2 fit without card scroll */
.page-team .roster-table {
  margin-top: 0.35rem;
}

.page-team .roster-table--replacements {
  margin-top: 0.4rem;
}

.page-team .roster-table__toolbar {
  gap: 0.2rem;
  margin-bottom: 0.12rem;
}

.page-team .roster-table__title {
  font-size: 0.7rem;
  letter-spacing: 0.06em;
}

.page-team .roster-table__action {
  font-size: 0.68rem;
  padding: 0.1rem 0.1rem;
}

.page-team .roster-table__rule {
  margin: 0.06rem 0 0.08rem;
}

.page-team .roster-table__body {
  gap: 0.08rem;
}

.page-team .roster-row {
  min-height: 1.85rem;
  padding: 0.06rem 0.1rem;
  gap: 0.15rem;
}

.page-team .roster-row__sec {
  padding: 0.2rem 0.3rem;
  gap: 0.3rem;
}

.page-team .roster-row__idx {
  font-size: 0.68rem;
  min-width: 1.65rem;
}

.page-team .roster-row__name {
  font-size: 0.78rem;
}

.page-team .roster-row__phone {
  font-size: 0.68rem;
}

.page-team .roster-row__bulb {
  width: 0.65rem;
  height: 0.65rem;
}

.page-team .team-status-bulb {
  /* keep 1.5× of compact player bulb ≈ 0.975rem; floor at ~1rem visual */
  width: 0.98rem;
  height: 0.98rem;
}

.page-team .roster-row__captain-plus {
  width: 0.85rem;
  height: 0.85rem;
  font-size: 0.65rem;
  top: -0.15rem;
}

.page-team .roster-row__captain-badge {
  min-width: 0.9rem;
  height: 0.9rem;
  font-size: 0.52rem;
}

.page-team .em-error {
  min-height: 0.9em;
  font-size: 0.72rem;
  margin: 0.15rem 0 0;
}

/* Slightly tighter brand/toolbar on team page to free vertical space */
.page-team .em-wrap--kyc {
  padding-top: 0.1rem;
  padding-bottom: 0.15rem;
}

.page-team .kyc-toolbar {
  margin: 0.05rem 0 0.25rem;
}

/* Compact player card: name + phone only */
.roster-slot--compact {
  gap: 0.2rem;
  padding: 0.65rem 0.75rem;
}

.roster-slot__name {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--text);
  text-align: left;
  line-height: 1.3;
}

.roster-slot__phone {
  margin: 0;
  font-size: 0.78rem;
  color: var(--text-dim);
  text-align: left;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
}

/* color swatches on status */
.team-colors-swatch {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0.35rem 0 0.75rem;
}

.team-colors-swatch__chip {
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  flex-shrink: 0;
}

.team-colors-swatch__meta {
  font-size: 0.75rem;
  color: var(--text-dim);
}

.team-section-label {
  margin: 0.55rem 0 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gold-muted);
  text-align: left;
}

.field-row--colors {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
  align-items: start;
}

.field__panel--color {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  height: 44px;
  padding: 0 0.45rem 0 0.35rem;
}

.field__color {
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 1px solid var(--border-neutral);
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
  flex-shrink: 0;
}

.field__color::-webkit-color-swatch-wrapper {
  padding: 2px;
}

.field__color::-webkit-color-swatch {
  border: none;
  border-radius: 5px;
}

.field__input--color-hex {
  flex: 1;
  min-width: 0;
  text-transform: uppercase;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
}

/* ── Roster tables (Principal / Replacements) ─────────── */
.roster-table {
  margin-top: 0.85rem;
  width: 100%;
  min-width: 0;
}

.roster-table--replacements {
  margin-top: 1rem;
}

.roster-table__toolbar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.35rem;
}

.roster-table__title {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gold-soft);
  text-align: center;
  white-space: nowrap;
}

.roster-table__action {
  margin: 0;
  padding: 0.2rem 0.15rem;
  border: none;
  background: transparent;
  color: #ffffff; /* + Add Me / + Add Player */
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  white-space: nowrap;
  line-height: 1.2;
}

.roster-table__action:first-child {
  text-align: left;
  justify-self: start;
}

.roster-table__action:last-child {
  text-align: right;
  justify-self: end;
}

.roster-table__action:hover:not(:disabled):not(.is-disabled) {
  color: #ffffff;
  opacity: 0.88;
}

.roster-table__action:disabled,
.roster-table__action.is-disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
}

.roster-row--selected {
  border-color: rgba(232, 200, 114, 0.45);
  box-shadow: 0 0 0 1px rgba(232, 200, 114, 0.2);
  background: rgba(26, 122, 76, 0.1);
}

.roster-table__rule {
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(232, 200, 114, 0.45) 12%,
    rgba(232, 200, 114, 0.45) 88%,
    transparent 100%
  );
  margin: 0.15rem 0 0.25rem;
}

.roster-table__body {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

/* Row: two tappable sections — [idx+name] | [phone+bulb] */
.roster-row {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr);
  align-items: stretch;
  gap: 0.25rem;
  width: 100%;
  min-height: 2.35rem;
  margin: 0;
  padding: 0.15rem;
  border: 1px solid transparent;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.16);
  box-sizing: border-box;
}

.roster-row__sec {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
  margin: 0;
  padding: 0.35rem 0.4rem;
  border: 1px solid transparent;
  border-radius: 5px;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-sizing: border-box;
  transition: background 0.12s ease, border-color 0.12s ease, opacity 0.12s ease;
}

.roster-row__sec--id {
  flex: 1;
  min-width: 0;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
}

/* Named players: double-tap still opens LiteKYC edit (incl. green / joined) */
.roster-row__sec--id-locked {
  cursor: pointer;
}

.roster-row__sec--invite {
  justify-content: flex-end;
  gap: 0.45rem;
  min-width: 0;
  padding-right: 0.4rem; /* stable right edge ↔ team status bulb */
}

/* Green status: phone white + left-aligned in section 2 (bulb stays right) */
.roster-row__sec--invite-green {
  justify-content: space-between;
}

.roster-row__sec--invite-green .roster-row__phone--joined {
  flex: 1;
  min-width: 0;
  text-align: left;
  color: #ffffff;
  opacity: 1;
  font-weight: 600;
}

.roster-row__sec:hover:not(.is-disabled):not(:disabled),
.roster-row__sec:focus-visible:not(.is-disabled):not(:disabled) {
  background: rgba(26, 122, 76, 0.16);
  border-color: rgba(232, 200, 114, 0.3);
  outline: none;
}

.roster-row__sec.is-disabled,
.roster-row__sec:disabled {
  cursor: not-allowed;
  opacity: 0.45;
  pointer-events: none;
}

/* KYC done / joined: no invite popup, keep full visual weight (no grey-out) */
.roster-row__sec--invite-locked,
.roster-row__sec--invite-locked:hover,
.roster-row__sec--invite-locked:focus-visible {
  cursor: default;
  opacity: 1;
  pointer-events: none;
  background: transparent;
  border-color: transparent;
}

.roster-row--empty .roster-row__name,
.roster-row--empty .roster-row__phone {
  color: var(--text-dim);
  opacity: 0.65;
}

.roster-row__idx {
  flex-shrink: 0;
  font-size: 0.72rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--gold-muted);
  letter-spacing: 0.02em;
  min-width: 1.85rem;
}

.roster-row__name-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  min-width: 0;
  flex: 1;
  max-width: 100%;
  padding-right: 0.95rem; /* room for tiny + */
}

.roster-row__name-hit {
  display: flex;
  align-items: center;
  gap: 0.28rem;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
}

.roster-row__name {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

/* Captain “C” badge next to name */
.roster-row__captain-badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1rem;
  height: 1rem;
  padding: 0 0.22rem;
  border-radius: 4px;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #0a0a0a;
  background: var(--gold-soft);
  border: 1px solid rgba(232, 200, 114, 0.85);
  line-height: 1;
}

/* 1.2: tiny + top-right of player name → captain prompt */
.roster-row__captain-plus {
  position: absolute;
  top: -0.2rem;
  right: -0.05rem;
  z-index: 2;
  width: 0.95rem;
  height: 0.95rem;
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(232, 200, 114, 0.45);
  border-radius: 999px;
  background: rgba(26, 122, 76, 0.35);
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  box-sizing: border-box;
}

.roster-row__captain-plus:hover,
.roster-row__captain-plus:focus-visible {
  background: rgba(26, 122, 76, 0.65);
  border-color: var(--gold);
  outline: none;
}

.roster-row__captain-plus.is-captain {
  font-size: 0.55rem;
  color: var(--gold-soft);
  background: rgba(232, 200, 114, 0.18);
  border-color: rgba(232, 200, 114, 0.65);
}

.em-modal__panel--sm {
  max-width: 19rem;
}

.em-modal__hint {
  margin: 0 0 0.85rem;
  font-size: 0.75rem;
  text-align: center;
  line-height: 1.4;
}

.em-modal__actions {
  display: flex;
  gap: 0.45rem;
  align-items: stretch;
}

.em-modal__actions .btn {
  flex: 1;
  margin: 0;
}

.roster-row__phone {
  font-size: 0.72rem;
  font-variant-numeric: tabular-nums;
  color: var(--text-dim);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  text-align: right;
}

/* Named player, no phone yet — prompt to open invite / enter number */
.roster-row__phone--hint {
  font-variant-numeric: normal;
  font-style: italic;
  font-weight: 600;
  font-size: 0.68rem;
  letter-spacing: 0.01em;
  color: var(--gold-soft);
  opacity: 0.92;
  text-align: right;
}

/*
 * Invite sent (yellow bulb): "Invited" centered in phone zone;
 * bulb stays right. Full number in title tooltip for CM reference.
 */
.roster-row__sec--invite-invited {
  justify-content: space-between;
}

.roster-row__sec--invite-invited .roster-row__phone--invited {
  flex: 1;
  min-width: 0;
  font-variant-numeric: normal;
  font-style: normal;
  font-weight: 600;
  font-size: 0.82rem;
  letter-spacing: 0.02em;
  color: var(--text);
  opacity: 1;
  text-align: center;
}

.roster-row--need-phone .roster-row__sec--invite:not(.is-disabled) {
  border-color: rgba(232, 200, 114, 0.28);
  background: rgba(232, 200, 114, 0.06);
}

/* Last principal empty slot must be female (4 males already) */
.roster-row__name--female-hint {
  font-style: italic;
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.01em;
  color: #ff8a96;
  opacity: 1;
}

.roster-row--need-female .roster-row__sec--id {
  border-color: rgba(206, 17, 38, 0.45);
  background: rgba(206, 17, 38, 0.1);
}

.roster-row--need-female .roster-row__sec--id:hover,
.roster-row--need-female .roster-row__sec--id:focus-within {
  border-color: rgba(232, 200, 114, 0.45);
  background: rgba(206, 17, 38, 0.14);
}

/* Joined (green bulb): phone emphasis — white, left of section 2 */
.roster-row__phone--joined {
  color: #ffffff;
  text-align: left;
}

/* Single status bulb — default RED (same size as team-status-bulb) */
.roster-row__bulb {
  width: 0.72rem;
  height: 0.72rem;
  border-radius: 50%;
  flex-shrink: 0;
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: none;
}

.roster-row__bulb--red {
  background: #ce1126;
  box-shadow: 0 0 8px rgba(206, 17, 38, 0.45);
}

.roster-row__bulb--yellow {
  background: #e8c872;
  box-shadow: 0 0 8px rgba(232, 200, 114, 0.45);
}

.roster-row__bulb--green {
  background: var(--green);
  box-shadow: 0 0 8px rgba(26, 122, 76, 0.55);
}

/*
 * CSE status bulbs (shared theme — Admin Clubs CM pipeline, team status, etc.)
 * grey  — not started / dead
 * red   — added, not invited
 * brown — invited
 * pink  — onboarded GUA_liteKYC
 * lime  — full_kyc (future)
 * green — wallet / confirmed (future or confirmed)
 * yellow — generic mid state
 */
.cse-bulb,
.admin-bulb {
  display: inline-block;
  width: 0.72rem;
  height: 0.72rem;
  border-radius: 50%;
  border: 1.5px solid rgba(0, 0, 0, 0.2);
  vertical-align: middle;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.35) inset;
}
.cse-bulb--grey,
.admin-bulb--grey,
.admin-bulb--dead {
  background: #9e9e9e;
  border-color: #616161;
  opacity: 0.85;
  box-shadow: none;
}
.cse-bulb--red,
.admin-bulb--red {
  background: #c62828;
  border-color: #8e0000;
  box-shadow: 0 0 6px rgba(198, 40, 40, 0.55);
}
.cse-bulb--brown,
.admin-bulb--brown {
  background: #8d6e63;
  border-color: #5d4037;
  box-shadow: 0 0 6px rgba(141, 110, 99, 0.55);
}
.cse-bulb--pink,
.admin-bulb--pink {
  background: #ec407a;
  border-color: #ad1457;
  box-shadow: 0 0 6px rgba(236, 64, 122, 0.5);
}
.cse-bulb--lime,
.admin-bulb--lime {
  background: #aed581;
  border-color: #7cb342;
  box-shadow: 0 0 6px rgba(174, 213, 129, 0.55);
}
.cse-bulb--green,
.admin-bulb--green {
  background: #1a7a4c;
  border-color: #0d5c36;
  box-shadow: 0 0 6px rgba(26, 122, 76, 0.55);
}
.cse-bulb--yellow,
.admin-bulb--yellow {
  background: #e8c872;
  border-color: #b8942e;
  box-shadow: 0 0 6px rgba(232, 200, 114, 0.55);
}

/* Admin LiteKYC: delete identity — clear red CSE danger CTA */
.page-kyc-admin-capture .btn--danger-admin-kyc,
#btn-delete-admin-kyc {
  display: block;
  width: 100%;
  margin-top: 0.5rem;
  min-height: 44px;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  border-radius: var(--radius-sm, 8px);
  border: 1px solid rgba(198, 40, 40, 0.75) !important;
  background: linear-gradient(180deg, #e53935 0%, #c62828 100%) !important;
  color: #fff !important;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(198, 40, 40, 0.35);
}
.page-kyc-admin-capture .btn--danger-admin-kyc:hover,
#btn-delete-admin-kyc:hover {
  background: linear-gradient(180deg, #ef5350 0%, #d32f2f 100%) !important;
  border-color: #ffcdd2 !important;
  color: #fff !important;
}
.page-kyc-admin-capture .btn--danger-admin-kyc:focus-visible,
#btn-delete-admin-kyc:focus-visible {
  outline: 2px solid #ffcdd2;
  outline-offset: 2px;
}

/* Associate CM + Athlete invite — shared channel UI (admin BE) */
.admin-cm-modal .admin-cm-modal__panel,
.athlete-invite-modal .admin-cm-modal__panel {
  max-width: 22.5rem;
  max-height: min(92vh, 36rem);
  overflow-y: auto;
  padding-top: 1.35rem;
}
.admin-cm-modal__sub {
  margin: 0 0 0.35rem !important;
  color: var(--gold-soft, #e8c872) !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  text-align: center;
}
.admin-cm-modal__hint {
  margin: 0 0 0.85rem;
  font-size: 0.75rem;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.55);
  text-align: center;
}
.admin-cm-channel {
  margin: 0 0 0.85rem;
  padding: 0.65rem 0.7rem;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.22);
}
.admin-cm-channel__label {
  display: block;
  margin: 0 0 0.4rem;
  font-size: 0.78rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.01em;
}
.admin-cm-channel__row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: stretch;
}
.admin-cm-channel__input-wrap {
  flex: 1 1 8rem;
  min-width: 0;
  display: flex;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 7px;
  background: rgba(0, 0, 0, 0.35);
  overflow: hidden;
}
.admin-cm-channel__input-wrap--full {
  flex: 1 1 10rem;
}
.admin-cm-channel__prefix {
  flex-shrink: 0;
  padding: 0 0.45rem 0 0.55rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.55);
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}
.admin-cm-channel__dial-wrap {
  position: relative;
  flex: 0 0 5.4rem;
  width: 5.4rem;
  min-width: 5.4rem;
  max-width: 5.4rem;
  align-self: stretch;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.22);
}
.admin-cm-channel__dial-face {
  position: absolute;
  left: 0.28rem;
  right: 0.92rem;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  pointer-events: none;
  overflow: hidden;
  white-space: nowrap;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #fff;
  background: rgba(10, 14, 10, 0.92);
}
.admin-cm-channel__dial {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  max-width: none;
  margin: 0;
  padding: 0.35rem 1.05rem 0.35rem 0.28rem;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6'%3E%3Cpath fill='%23e8c872' d='M0 0h8L4 6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.28rem center;
  background-size: 0.45rem 0.34rem;
  color: transparent;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.2;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}
.admin-cm-channel__dial:focus {
  outline: none;
}
.admin-cm-channel__dial option {
  color: #111;
  background: #fff;
}
.admin-cm-channel__input {
  flex: 1;
  min-width: 0;
  width: 100%;
  border: none;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: 0.85rem;
  padding: 0.5rem 0.55rem;
  outline: none;
}
.admin-cm-channel__input::placeholder {
  color: rgba(255, 255, 255, 0.35);
}
.admin-cm-channel__btn {
  flex: 0 0 auto;
  white-space: nowrap;
  min-height: 40px;
  font-size: 0.78rem !important;
  padding: 0.4rem 0.65rem !important;
}
.admin-cm-channel__btn:disabled,
.admin-cm-channel__btn.is-disabled {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
  filter: grayscale(0.55);
  pointer-events: none;
  box-shadow: none !important;
}
.admin-cm-channel__err {
  margin: 0.35rem 0 0;
  min-height: 1em;
  font-size: 0.72rem;
  color: #ff8a80;
}
.admin-cm-channel__result {
  margin-top: 0.45rem;
  padding-top: 0.45rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.admin-cm-channel__result[hidden] {
  display: none !important;
}
.admin-cm-channel__url {
  margin: 0 0 0.35rem;
  padding: 0.4rem 0.5rem;
  border-radius: 6px;
  background: rgba(26, 122, 76, 0.18);
  border: 1px solid rgba(26, 122, 76, 0.35);
  word-break: break-all;
  font-size: 0.68rem;
  color: var(--gold-soft, #e8c872);
  max-height: 3.5rem;
  overflow: auto;
}
.admin-cm-modal__footer {
  margin-top: 0.25rem;
}
.admin-cm-modal .em-modal__close,
.athlete-invite-modal .em-modal__close {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 2;
  width: 2rem;
  height: 2rem;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--gold-soft, #e8c872);
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
}

/* CSE-themed invite modal */
.em-modal-open {
  overflow: hidden;
}

.em-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  box-sizing: border-box;
}

.em-modal[hidden] {
  display: none !important;
}

.em-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
  backdrop-filter: blur(2px);
}

.em-modal__panel {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 22rem;
  padding: 1.25rem 1.15rem 1.15rem;
  background: var(--bg-card);
  border: 1px solid var(--border-green);
  border-radius: var(--radius);
  box-shadow:
    0 12px 40px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(232, 200, 114, 0.12);
}

.em-modal__panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  border-radius: var(--radius) var(--radius) 0 0;
  background: linear-gradient(
    90deg,
    var(--green) 0%,
    var(--green) 33.33%,
    var(--red) 33.33%,
    var(--red) 66.66%,
    var(--gold) 66.66%,
    var(--gold) 100%
  );
}

.em-modal__close {
  position: absolute;
  top: 0.45rem;
  right: 0.45rem;
  z-index: 2;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--gold-soft);
  font-size: 1.45rem;
  line-height: 1;
  cursor: pointer;
}

.em-modal__title {
  margin: 0.35rem 0 0.25rem;
  font-size: 1.1rem;
  font-weight: 700;
  text-align: center;
  color: var(--text);
}

.em-modal__sub {
  margin: 0 0 0.85rem;
  font-size: 0.85rem;
  text-align: center;
  color: var(--gold-muted);
  font-weight: 600;
}

.em-modal__panel .btn--primary {
  width: 100%;
  margin-top: 0.35rem;
}

.em-modal__panel .field__panel {
  display: flex;
  align-items: center;
}

/* Invite phone: ghost "Invite athlete" inside the box (not native placeholder) */
.field__panel--invite-phone {
  position: relative;
}

.field__panel--invite-phone .field__input {
  position: relative;
  z-index: 1;
  background: transparent;
}

.field__panel--invite-phone .field__ghost-hint {
  position: absolute;
  left: 3.35rem; /* after +237 prefix */
  right: 0.65rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 0;
  margin: 0;
  padding: 0;
  pointer-events: none;
  font-size: 0.82rem;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0.01em;
  color: rgba(232, 200, 114, 0.72);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.field__panel--invite-phone .field__ghost-hint.is-hidden,
.field__panel--invite-phone .field__ghost-hint[hidden] {
  display: none !important;
}

.roster-slot--captain {
  margin-top: 0.65rem;
  border-color: rgba(232, 200, 114, 0.35);
}

.roster-slot__meta {
  margin: 0;
  text-align: left !important;
  font-size: 0.8rem;
}

.team-footer-actions {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.team-footer-actions .btn--ghost {
  order: 3;
}

/* Team roster */
.roster-slot {
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 0.85rem;
  background: rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.roster-slot__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.roster-slot__title {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--gold-soft);
}

.roster-slot__tag {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-dim);
  border: 1px solid var(--border-subtle);
  border-radius: 999px;
  padding: 0.15rem 0.5rem;
}

.member-row {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--border-subtle);
}

.member-row:last-child {
  border-bottom: none;
}

.member-row__top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
}

.member-row__name {
  font-weight: 600;
  font-size: 0.9rem;
}

.member-row__status {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--gold-muted);
}

.member-row__status.is-joined {
  color: var(--green-hover);
}

.member-row__phone {
  font-size: 0.78rem;
  color: var(--text-muted);
}

.member-row__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.25rem;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.3rem 0.65rem;
  border-radius: 999px;
  border: 1px solid var(--border-green);
  color: var(--gold-soft);
  background: rgba(26, 122, 76, 0.15);
  margin: 0.25rem 0 0.75rem;
}
.status-pill--pre {
  border-color: rgba(232, 200, 114, 0.55);
  color: var(--gold, #e8c872);
  background: rgba(232, 200, 114, 0.12);
}
.status-pill--inscrit {
  border-color: rgba(26, 122, 76, 0.75);
  color: #b8f0d0;
  background: rgba(26, 122, 76, 0.28);
  box-shadow: 0 0 12px rgba(26, 122, 76, 0.25);
}

/* CDC 2026 payment panel (team status) */
.cdc-pay {
  margin: 0.85rem 0 1rem;
  padding: 0.85rem 0.9rem 1rem;
  border: 1px solid rgba(232, 200, 114, 0.35);
  border-radius: var(--radius-sm);
  background: rgba(8, 8, 8, 0.55);
}
.cdc-pay__title {
  margin: 0 0 0.35rem;
  font-size: 0.95rem;
  font-weight: 800;
  color: #f0f0f0;
}
.cdc-pay__note {
  margin: 0 0 0.65rem;
  font-size: 0.78rem;
  line-height: 1.4;
}
.cdc-pay__amount {
  margin: 0 0 0.65rem;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--gold, #e8c872);
}
.cdc-pay__service {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1rem;
  margin-bottom: 0.65rem;
}
.cdc-pay__radio {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.82rem;
  font-weight: 650;
  color: #e0e0e0;
  cursor: pointer;
}
.cdc-pay__btn {
  width: 100%;
  margin-top: 0.55rem;
}
.cdc-pay__status {
  margin: 0.55rem 0 0;
  font-size: 0.78rem;
  line-height: 1.35;
  color: #b0b0b0;
  min-height: 1.2em;
}
.cdc-pay__status--ok {
  color: #8fd9a8;
}
.cdc-pay__status--err {
  color: #f0a0a0;
}
.cdc-pay__status--info {
  color: var(--gold-soft, #e8c872);
}
.cdc-reg-qr {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  margin: 0.75rem 0 1rem;
  padding: 0.75rem;
  border: 1px solid rgba(26, 122, 76, 0.45);
  border-radius: var(--radius-sm);
  background: rgba(26, 122, 76, 0.08);
}
.cdc-reg-qr__title {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gold, #e8c872);
}
.cdc-reg-qr__hint {
  margin: 0;
  font-size: 0.75rem;
  text-align: center;
}
.cdc-reg-qr-lock {
  margin: 0.5rem 0 0.85rem;
  font-size: 0.8rem;
  text-align: center;
  color: #a8a8a8;
}
.cdc-pay-strip {
  margin-top: 0.85rem;
  padding: 0.65rem 0.7rem;
  border: 1px solid rgba(232, 200, 114, 0.3);
  border-radius: var(--radius-sm);
  background: rgba(8, 8, 8, 0.45);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.4rem;
}
.cdc-pay-strip .status-pill {
  margin: 0;
  align-self: flex-start;
}
.cdc-pay-strip__hint {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.35;
}

/* QR */
.qr-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0 0.25rem;
}

.qr-canvas-wrap {
  padding: 0.75rem;
  background: #fff;
  border-radius: var(--radius-sm);
  border: 2px solid var(--gold);
  box-shadow: 0 0 0 1px rgba(232, 200, 114, 0.3);
  width: 220px;
  height: 220px;
  box-sizing: content-box;
  flex-shrink: 0;
}

#qr-canvas,
.qr-canvas {
  display: block;
  width: 220px;
  height: 220px;
  flex-shrink: 0;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}

.qr-label {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--gold-soft);
  text-align: center;
  letter-spacing: 0.02em;
}

.qr-meta {
  text-align: center;
  font-size: 0.85rem;
  color: var(--text-muted);
  line-height: 1.45;
}

.qr-meta strong {
  color: var(--text);
  font-weight: 600;
}

.qr-note {
  font-size: 0.72rem;
  color: var(--text-dim);
  text-align: center;
  margin-top: 0.25rem;
}

/* ── Mon calendrier ───────────────────────────────── */
.page-calendar .cal-create {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin-bottom: 1rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.page-calendar .cal-create-hint {
  margin: 0.15rem 0 0;
  font-size: 0.72rem;
  text-align: center;
}

.page-calendar .cal-list {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.page-calendar .cal-event {
  padding: 0.7rem 0.75rem;
  border: 1px solid rgba(232, 200, 114, 0.28);
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.22);
}

.page-calendar .cal-event__badge {
  display: inline-flex;
  margin-bottom: 0.35rem;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
  background: var(--red);
}

.page-calendar .cal-event__title {
  margin: 0 0 0.25rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #fff;
}

.page-calendar .cal-event__meta {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.35;
  color: var(--text-muted, #9a9a9a);
}

.invite-sms-box {
  margin-top: 0.75rem;
  padding: 0.65rem 0.7rem;
  border: 1px solid rgba(232, 200, 114, 0.35);
  border-radius: 8px;
  background: rgba(26, 122, 76, 0.12);
}

.invite-sms-box__label {
  margin: 0 0 0.35rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--gold-soft);
}

.invite-sms-box__body {
  margin: 0 0 0.55rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #e8e8e8;
  word-break: break-word;
}

.invite-sms-box .btn {
  width: 100%;
}

.share-box {
  font-size: 0.75rem;
  word-break: break-all;
  padding: 0.65rem 0.75rem;
  border-radius: var(--radius-sm);
  background: var(--bg-elevated);
  border: 1px solid var(--border-neutral);
  color: var(--gold-muted);
}

@media (min-width: 480px) {
  .em-card {
    padding: 1.35rem 1.4rem 1.25rem;
  }

  .upload-zone {
    min-height: 130px;
  }

  .upload-zone--kyc {
    min-height: 100px;
  }
}

/* Role page: topbar + sticky title under locked shell header */
.page-role .em-role-card-topbar .em-role-card-topbar__mid {
  grid-column: 2;
  justify-self: center;
  min-width: 0;
}
.page-role .role-sticky-header {
  margin-top: 0;
  padding-top: 0.35rem;
}
.page-role .em-card--role {
  position: relative;
}

/* Club created success (CM path � no team builder) */
.club-created-success {
  text-align: center;
  padding: 1.5rem 1rem 2rem;
}
.club-created-success .auth-success__icon {
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  margin: 0 auto 0.75rem;
  border-radius: 50%;
  background: #1a7a4c;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.club-created-success__msg {
  margin: 0 0 1.25rem;
  color: #333;
  line-height: 1.45;
}
.page-team--readonly .roster-table__action {
  pointer-events: none;
  opacity: 0.45;
}

/* Club created � Processing locked; Members CTA active */
.club-created-success .club-created-processing,
.club-created-success .btn--soon {
  display: block;
  width: 100%;
  max-width: 20rem;
  margin: 0 auto 0.75rem;
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
  filter: grayscale(0.5);
  background: #6b7280 !important;
  border-color: #6b7280 !important;
  color: #e5e7eb !important;
}
.club-created-success .club-created-go-membres {
  display: inline-flex;
  margin-top: 0.25rem;
}

/* Blinking red PAY on CM team cards */
@keyframes team-pay-blink {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(192, 57, 43, 0.5); }
  50% { opacity: 0.72; box-shadow: 0 0 0 4px rgba(192, 57, 43, 0.15); }
}
.team-chip-pay {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.6rem;
  height: 1.75rem;
  padding: 0 0.45rem;
  margin: 0 0.25rem 0.2rem 0;
  border: none;
  border-radius: 6px;
  background: #c0392b;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  cursor: pointer;
  line-height: 1;
}
.team-chip-pay.is-blink {
  animation: team-pay-blink 1s ease-in-out infinite;
}
.status-pill--pending {
  background: #f5c542;
  color: #3d2e00;
}

/* Offline payment notice — single line under team name, clipped inside chip */
.team-chip-offline-pay {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  font-size: 0.58rem;
  font-weight: 600;
  line-height: 1.2;
  color: rgba(232, 200, 114, 0.55);
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
}
.cdc-pay--offline .cdc-pay__contact {
  margin: 0.5rem 0 0;
  font-weight: 650;
}
.cdc-pay--offline .cdc-pay__contact a {
  color: inherit;
}

/* Admin club-created success + owner map */
.club-created-success {
  padding: 0.75rem 0.5rem 1.25rem;
}
.club-owner-map {
  margin: 0.75rem auto 0;
  max-width: 22rem;
  text-align: left;
}
.club-owner-map__title {
  margin: 0 0 0.35rem;
  font-weight: 700;
  font-size: 0.9rem;
  text-align: center;
}
.club-owner-map label {
  display: block;
  font-size: 0.75rem;
  font-weight: 650;
  margin-bottom: 0.2rem;
  opacity: 0.9;
}

.club-owner-map input {
  width: 100%;
  box-sizing: border-box;
  padding: 0.5rem;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.15);
  background: rgba(0,0,0,0.25);
  color: inherit;
  font: inherit;
}
.owner-invite-result {
  margin-top: 0.75rem;
  padding: 0.65rem;
  border-radius: 10px;
  background: rgba(26,122,76,0.15);
  word-break: break-all;
  font-size: 0.82rem;
  text-align: left;
}
.owner-invite-result p { margin: 0.35rem 0; }
#club-created-go-admin { margin-top: 1rem; width: 100%; max-width: 22rem; }

/* Team form: club gate — hard lock until club selected */
.team-form-body.is-disabled,
.team-form-body[aria-disabled="true"],
.team-form-body[inert] {
  opacity: 0.45;
  pointer-events: none !important;
  filter: grayscale(0.2);
  user-select: none;
}
.team-form-body.is-disabled input,
.team-form-body.is-disabled button,
.team-form-body.is-disabled textarea,
.team-form-body[aria-disabled="true"] input,
.team-form-body[aria-disabled="true"] button,
.team-form-body[inert] input,
.team-form-body[inert] button {
  pointer-events: none !important;
  cursor: not-allowed !important;
}
.roster-table__hint {
  margin: 0.35rem 0 0;
  font-size: 0.75rem;
  text-align: center;
}

/* Club form: centered title block (see also edit overrides above) */
.page-club .kyc-sticky-header--centered,
.page-club .kyc-sticky-header {
  text-align: center;
  align-items: center;
}
.page-club .em-card__title--kyc {
  text-align: center;
  width: 100%;
}
.page-club .em-card__subtitle--kyc {
  text-align: center;
  width: 100%;
}

/* Club-created association step � always tappable CTAs */
.club-created-success--map {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.65rem;
  padding: 0.5rem 0.25rem 1.5rem;
  max-width: 24rem;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}
.club-created-success--map .club-created-success__msg {
  text-align: center;
  margin: 0;
  line-height: 1.4;
}
.club-owner-map {
  width: 100%;
  max-width: none;
  margin: 0;
}
.club-owner-field {
  text-align: left;
  margin: 0.45rem 0;
}
.club-owner-field label {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.8rem;
  font-weight: 650;
  color: rgba(255,255,255,0.9);
}
.club-owner-field input {
  width: 100%;
  box-sizing: border-box;
  min-height: 44px;
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.22);
  background: rgba(255,255,255,0.08);
  color: #fff;
  font: inherit;
}
.club-owner-field input::placeholder {
  color: rgba(255,255,255,0.4);
}
.club-owner-cta {
  width: 100% !important;
  max-width: none !important;
  min-height: 48px;
  margin-top: 0.5rem;
  position: relative;
  z-index: 5;
  pointer-events: auto !important;
  opacity: 1 !important;
}
.owner-invite-result {
  margin-top: 0.75rem;
  padding: 0.75rem;
  border-radius: 12px;
  background: rgba(26,122,76,0.2);
  border: 1px solid rgba(26,122,76,0.45);
  text-align: center;
}
.owner-invite-result .club-created-check {
  margin: 0 auto 0.5rem;
}
.owner-invite-result #owner-invite-url {
  word-break: break-all;
  font-size: 0.8rem;
  margin: 0.4rem 0;
  text-align: left;
}
.page-club.page-admin-flow .em-card--kyc {
  max-height: none !important;
  overflow: visible !important;
}
.page-club.page-admin-flow .kyc-scroll {
  overflow-y: auto;
  max-height: calc(100dvh - 10rem);
  padding-bottom: 2rem;
}

/* Athlete profile sections (live /athlete-profil/) */
.pf-section {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin: 0 0 0.85rem;
}
.pf-section__title {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0.15rem 0 0.1rem;
}
.pf-section__rule {
  flex: 1 1 auto;
  height: 1px;
  background: rgba(212, 175, 55, 0.35);
}
.pf-section__label {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gold-muted);
  white-space: nowrap;
}

/* /profil wizard: 1 section = 1 screen, no form scroll */
.page-profil .em-card--profil .kyc-sticky-header {
  padding: 0.45rem 0.8rem 0.3rem;
}
.page-profil .page.page-kyc__main {
  padding-left: 1.3rem;
  padding-right: 1.3rem;
  max-width: 26rem;
}
.page-profil .em-home-card-topbar .club-close {
  display: none !important;
}
.page-profil .em-home-card-topbar .pf-top-view {
  grid-column: 3;
  justify-self: end;
}
.page-profil .em-home-card-topbar .pf-top-view[hidden] {
  display: none !important;
}
.page-profil #pf-edit {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
.page-profil #pf-edit[hidden] {
  display: none !important;
}
.page-profil #pf-edit-footer[hidden] {
  display: none !important;
}
.page-profil .pf-view {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 0.45rem 0.75rem 0.7rem;
  gap: 0.35rem;
}
.page-profil .pf-view[hidden] {
  display: none !important;
}
.pf-view__hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.55rem;
}
.pf-view__photo {
  flex: 0 0 4.6rem;
  width: 4.6rem;
  height: 4.6rem;
  margin-left: 0.2rem;
  border-radius: 0.28rem;
  border: 2px solid #e8c872;
  background-color: #0a0e0a;
  background-position: center 18%;
  background-size: cover;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #e8c872;
  font-size: 1.45rem;
  font-weight: 800;
  overflow: hidden;
}
.pf-view__ctas {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.35rem;
}
.pf-view__update {
  flex: 0 0 auto;
  width: auto !important;
  min-height: 2.15rem !important;
  margin: 0;
  padding: 0.35rem 0.7rem;
  font-size: 0.72rem;
  letter-spacing: 0.02em;
}
.pf-view__print:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.pf-view__name {
  margin: 0.15rem 0 0;
  font-size: 0.98rem;
  font-weight: 800;
  color: #e8c872;
  line-height: 1.2;
}
.pf-view__alias {
  margin: 0 0 0.35rem;
  font-size: 0.78rem;
  color: #ffffff;
}
.pf-view-sec {
  margin: 0.15rem 0 0.55rem;
}
.pf-view-sec__title {
  margin: 0.15rem 0 0.35rem;
  padding: 0.28rem 0.2rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #ffffff;
  text-align: center;
  border-top: 1px solid rgba(160, 160, 160, 0.42);
  border-bottom: 1px solid rgba(160, 160, 160, 0.42);
}
.pf-view-dl {
  display: grid;
  grid-template-columns: 7.2rem 1fr;
  gap: 0.12rem 0.4rem;
  margin: 0;
}
.pf-view-dl dt {
  margin: 0;
  font-size: 0.64rem;
  color: var(--gold-muted);
}
.pf-view-dl dd {
  margin: 0;
  font-size: 0.78rem;
  color: #ffffff;
  min-width: 0;
  overflow-wrap: anywhere;
}
.pf-view-dl__clip {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.06rem;
  min-width: 0;
}
.pf-view-dl__line {
  display: block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pf-view-more {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: #e8c872;
  font: inherit;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.cp-long-modal .cse-modal__panel {
  max-width: 22rem;
  max-height: min(78dvh, 34rem);
  padding: 2.35rem 0.85rem 0.85rem;
  display: flex;
  flex-direction: column;
}
.cp-long-modal__body {
  overflow-y: auto;
  min-height: 0;
  text-align: left;
  padding: 0.1rem 0.05rem 0.25rem;
  -webkit-overflow-scrolling: touch;
}
.cp-long-modal__label {
  margin: 0.55rem 0 0.2rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #e8c872;
}
.cp-long-modal__label:first-child {
  margin-top: 0.1rem;
}
.cp-long-modal__text {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.45;
  color: #ffffff;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.pf-view-tours-wrap {
  margin: 0.35rem 0 0.1rem;
}
.pf-view-tours__head,
.pf-view-tours__row {
  display: grid;
  grid-template-columns: 1fr 3.2rem 4.8rem;
  gap: 0.25rem;
  align-items: end;
}
.pf-view-tours__head {
  padding: 0 0.05rem 0.2rem;
  font-size: 0.64rem;
  font-weight: 700;
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.pf-view-tours__head span:nth-child(2),
.pf-view-tours__row span:nth-child(2) {
  text-align: center;
}
.pf-view-tours__head span:nth-child(3),
.pf-view-tours__row span:nth-child(3) {
  text-align: right;
}
.pf-view-tours {
  list-style: none;
  margin: 0;
  padding: 0;
}
.pf-view-tours > li {
  margin: 0;
  padding: 0;
}
.pf-view-tours__row {
  width: 100%;
  padding: 0.22rem 0.05rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 0.74rem;
  color: #ffffff;
  line-height: 1.3;
}
.pf-view-tours__row span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pf-view-tours__empty {
  display: block;
  padding: 0.28rem 0.05rem;
  font-size: 0.74rem;
  color: var(--gold-muted);
  text-align: center;
  border-top: 0;
}
.page-profil .em-card--profil .em-card__title--kyc {
  margin-bottom: 0.15rem;
  text-align: center;
}
.page-profil .kyc-scroll.pf-wizard {
  overflow-x: hidden;
  overflow-y: auto;
  gap: 0.3rem;
  padding: 0.3rem 0.75rem 0.25rem;
  overscroll-behavior: contain;
}
.page-club-profil .kyc-scroll.pf-wizard {
  padding-left: 1.65rem;
  padding-right: 1.65rem;
}
body.em-keyboard-open.page-club-profil .pf-step-nav--overlay {
  display: none;
}
.page-profil .kyc-scroll.pf-wizard::after {
  display: none;
  height: 0;
}
body.em-keyboard-open.page-profil .kyc-scroll.pf-wizard::after {
  display: block;
  height: min(48dvh, 22rem);
}
/* Keep wizard stepper visible — chip taps / fields must not hide progress */
body.em-keyboard-open.page-profil .kyc-sticky-header {
  display: block;
}
body.em-keyboard-open.page-profil .kyc-sticky-header .em-card__title--kyc {
  display: none;
}
body.em-keyboard-open.page-profil .site-footer,
body.em-keyboard-open.page-profil .site-footer--compact,
body.em-keyboard-open.page-profil [data-site-footer] {
  display: none !important;
}
body.em-keyboard-open.page-profil .pf-step.is-on:not([hidden]) {
  justify-content: flex-start;
  gap: 0.32rem;
}
body.em-keyboard-open.page-profil .pf-psl-block,
body.em-keyboard-open.page-profil .pf-tour-table-wrap {
  flex: 0 1 auto;
}
.page-profil .pf-wizard #city-field {
  position: relative;
  z-index: 5;
}
.pf-progress {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  margin: 0;
  padding: 0.2rem 0.1rem 0.15rem;
}
.pf-progress__dot {
  width: 1.4rem;
  height: 1.4rem;
  flex: 0 0 auto;
  padding: 0;
  border-radius: 50%;
  border: 2.5px solid #1a7a4c;
  background: #e8c872;
  color: #0d3d24;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  box-shadow: none;
}
.pf-progress__dot.is-todo {
  opacity: 0.42;
}
.pf-progress__dot.is-on {
  opacity: 1;
  transform: scale(1.12);
  box-shadow: 0 0 0 3px rgba(26, 122, 76, 0.38);
}
.pf-progress__dot.is-done {
  opacity: 1;
}
.pf-progress__seg {
  flex: 1 1 0.45rem;
  max-width: 1.15rem;
  height: 3px;
  border-radius: 2px;
  background: rgba(26, 122, 76, 0.28);
}
.pf-progress__seg.is-done {
  background: #1a7a4c;
}
.pf-step {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.55rem;
  min-height: 0;
  flex: 1 1 auto;
  overflow: visible;
}
.pf-step.is-on:not([hidden]) {
  display: flex;
}
.page-club-profil #step-cert.is-on:not([hidden]),
.page-profil #step-eq.is-on:not([hidden]) {
  overflow: hidden;
}
.pf-step[hidden] {
  display: none !important;
}
.pf-step__title {
  margin: 0;
  flex: 0 0 auto;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gold-muted);
  text-align: center;
}
.pf-rule {
  display: block;
  width: 100%;
  height: 1px;
  margin: 0.15rem 0;
  border: 0;
  background: rgba(160, 160, 160, 0.32);
  flex: 0 0 auto;
}
.pf-psl-block {
  flex: 0 0 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.pf-class-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 7.4rem;
  grid-template-rows: auto auto;
  gap: 0.12rem 0.4rem;
  align-items: start;
  flex: 0 0 auto;
  min-height: 0;
}
.pf-psl-head-label {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  align-self: end;
  line-height: 1.15;
}
.pf-psl-assist__chevs {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  align-self: end;
  width: 7.4rem;
  justify-self: end;
  min-width: 0;
}
.pf-class-left {
  grid-column: 1;
  grid-row: 2;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  gap: 0.22rem;
}
.pf-class-grid > .pf-psl-assist__card {
  grid-column: 2;
  grid-row: 2;
  width: 7.4rem;
  min-width: 7.4rem;
  max-width: 7.4rem;
  height: 10.5rem;
  max-height: 10.5rem;
  align-self: start;
  justify-self: end;
}
.pf-rate-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.35rem;
  flex: 0 0 auto;
  margin-top: 0.15rem;
}
.pf-rate {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.06rem;
}
.pf-rate__lab {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #e8c872;
  text-decoration: underline;
  text-underline-offset: 0.16em;
  text-decoration-thickness: 1px;
}
.pf-rate__val {
  font-size: 1.05rem;
  font-weight: 800;
  color: #ffffff;
  line-height: 1.2;
}
.pf-psl-hint {
  margin: 0.2rem 0 0;
  font-size: 0.64rem;
  line-height: 1.35;
  color: rgba(232, 200, 114, 0.92);
  white-space: pre-line;
  flex: 0 0 auto;
  min-height: 2.55em;
  max-height: 3.9em;
  overflow: hidden;
}
.pf-psl-hint__name {
  color: #ffffff;
  font-size: inherit;
  font-weight: 700;
}
.pf-psl-hint__n {
  color: #ffffff;
  font-weight: 800;
}
.pf-psl-assist__chev {
  width: 1.45rem;
  height: 1.45rem;
  padding: 0;
  border-radius: 50%;
  border: 2px solid #1a7a4c;
  background: #e8c872;
  color: #0d3d24;
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  flex: 0 0 auto;
}
.pf-psl-assist__card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 7.4rem;
  height: 10.5rem;
  min-height: 10.5rem;
  max-height: 10.5rem;
  margin: 0;
  padding: 0;
  border: 1px solid var(--border-neutral, rgba(232, 200, 114, 0.35));
  border-radius: var(--radius-sm, 10px);
  overflow: hidden;
  background: var(--bg-elevated, #101410);
  cursor: pointer;
  touch-action: pan-y;
  box-sizing: border-box;
}
.pf-psl-assist__photo {
  width: 100%;
  height: 100%;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pf-psl-assist__photo img,
.pf-psl-assist__photo svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
  display: block;
  pointer-events: none;
}
.pf-psl-assist__psl {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.28rem;
  margin: 0;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #ffffff;
  text-align: center;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85);
  pointer-events: none;
}
.pf-psl-zoom {
  z-index: 260;
  padding: 1rem;
}
.pf-psl-zoom .cse-modal__backdrop {
  z-index: 1;
}
.pf-psl-zoom .cse-modal__panel {
  position: relative;
  z-index: 2;
  width: min(18.5rem, calc(100% - 0.5rem));
  max-width: 18.5rem;
  padding: 2.35rem 0.85rem 0.85rem;
  text-align: center;
  overflow: hidden;
}
.pf-psl-zoom__close {
  position: absolute;
  top: 0.42rem;
  right: 0.42rem;
  left: auto;
  bottom: auto;
  z-index: 5;
  width: 2.2rem;
  height: 2.2rem;
  padding: 0;
  border: 1.5px solid #1a7a4c;
  border-radius: 10px;
  background: #0a0e0a;
  color: #e8c872;
  font-size: 1.45rem;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.pf-psl-zoom__close:hover,
.pf-psl-zoom__close:active {
  color: #fff;
  border-color: #e8c872;
  background: rgba(26, 122, 76, 0.45);
}
.pf-psl-zoom__name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  color: #ffffff;
  text-align: center;
  line-height: 1.2;
}
.pf-psl-zoom__psl {
  margin: 0.15rem 0 0.7rem;
  font-size: 0.92rem;
  font-weight: 700;
  color: #e8c872;
  text-align: center;
}
.pf-psl-zoom__img {
  display: block;
  width: 100%;
  max-height: min(58dvh, 22rem);
  object-fit: contain;
  border-radius: 10px;
  background: #000;
}
.page-profil #step-class .pf-psl-block + .field-row {
  margin-top: 0.86rem;
}
.page-profil .pf-wizard .field {
  margin: 0;
  gap: 0.08rem;
  flex: 0 0 auto;
  justify-content: flex-start;
}
.page-profil .pf-wizard .field__label--nick {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.28rem;
  row-gap: 0.06rem;
}
.page-profil .pf-wizard .field__label--nick.is-taken .field__label-main {
  color: #e8c872;
}
.page-profil .pf-wizard .field__nick-err {
  color: #e53935;
  font-size: 0.62rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.01em;
}
.page-profil .pf-wizard .field__nick-err[hidden] {
  display: none;
}
.page-profil .pf-wizard .field__label {
  font-size: 0.72rem;
  font-weight: 600;
  margin: 0;
  line-height: 1.2;
  min-height: 0;
  color: rgba(232, 200, 114, 0.92);
}
.page-profil .pf-wizard .field__panel,
.page-profil .pf-wizard .field__input {
  height: 2.35rem;
  min-height: 2.35rem;
  max-height: 2.35rem;
  flex-shrink: 0;
}
.page-profil .pf-wizard .field__panel {
  border: 1px solid rgba(232, 200, 114, 0.34);
  background: rgba(8, 12, 8, 0.92);
}
.page-profil .pf-wizard .field__panel:hover {
  border-color: rgba(232, 200, 114, 0.52);
}
.page-profil .pf-wizard .field__panel:focus-within {
  border-color: #e8c872;
}
.page-profil .pf-wizard .field__panel--readonly {
  background: #4a4a4a;
  border-color: rgba(160, 160, 160, 0.55);
}
.page-profil .pf-wizard .field__panel--readonly:hover,
.page-profil .pf-wizard .field__panel--readonly:focus-within {
  border-color: rgba(160, 160, 160, 0.7);
}
.page-profil .pf-wizard .field:has(> .field__panel--readonly) > .field__label,
.page-profil .pf-wizard .field--idcard > .field__label,
.page-profil .pf-wizard .pf-psl-head-label {
  color: #9ca3af;
}
.page-profil .pf-wizard .field__panel.is-disabled {
  border-color: rgba(232, 200, 114, 0.2);
}
.page-profil .pf-wizard .field__input {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #ffffff;
  -webkit-text-fill-color: #ffffff;
}
.page-profil .pf-wizard .field__panel--readonly .field__input {
  color: #9ca3af;
  -webkit-text-fill-color: #9ca3af;
  cursor: default;
}
.page-profil .pf-wizard .cse-pick-face {
  color: #ffffff;
  -webkit-text-fill-color: #ffffff;
}
.page-profil .pf-wizard .cse-pick-face.is-placeholder {
  color: rgba(255, 255, 255, 0.42);
  -webkit-text-fill-color: rgba(255, 255, 255, 0.42);
}
.page-profil #pf-ref-name {
  color: #9ca3af;
  -webkit-text-fill-color: #9ca3af;
  font-weight: 700;
  overflow: hidden;
  text-overflow: clip;
  white-space: nowrap;
}
.page-profil .pf-wizard .field-row {
  gap: 0.4rem;
  flex: 0 0 auto;
  align-items: end;
}
.page-profil .pf-wizard .field-row > .field {
  min-width: 0;
}
.pf-pending {
  margin: 0.15rem 0 0;
  font-size: 0.7rem;
  color: var(--gold-muted);
}
.pf-photo-review {
  margin: 0.35rem 0 0.55rem;
  text-align: center;
}
.pf-photo-review__hint,
.license-face__hint {
  margin: 0 0 0.35rem;
  font-size: 0.68rem;
  color: rgba(244, 241, 230, 0.62);
}
.pf-photo-review__submit {
  min-height: 2.1rem;
  padding: 0.25rem 0.85rem;
  font-size: 0.78rem;
}
.pf-pending[data-photo-status="pending"],
.license-face__status[data-photo-status="pending"] {
  color: #e8c872;
}
.pf-pending[data-photo-status="rejected"],
.license-face__status[data-photo-status="rejected"] {
  color: #c0392b;
}
.pf-pending[data-photo-status="members"],
.pf-pending[data-photo-status="public"],
.license-face__status[data-photo-status="members"],
.license-face__status[data-photo-status="public"] {
  color: #6dcf9a;
}
.license-face {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  margin: 0.65rem auto 0.35rem;
  max-width: 18rem;
  text-align: left;
}
.license-face__preview {
  flex: 0 0 3.4rem;
  width: 3.4rem;
  height: 3.4rem;
  border-radius: 0.28rem;
  border: 2px solid rgba(232, 200, 114, 0.55);
  background: #122016 center / cover no-repeat;
  color: #e8c872;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.license-face__meta {
  min-width: 0;
  flex: 1 1 auto;
}
.license-face__status {
  margin: 0;
  font-size: 0.7rem;
  font-weight: 650;
  line-height: 1.3;
  color: #e8c872;
}
.license-face__status[hidden] {
  display: none !important;
}
.license-face__err {
  margin: 0.15rem 0 0;
  font-size: 0.68rem;
  font-weight: 650;
  line-height: 1.3;
  color: #c0392b;
}
.license-face__err[hidden] {
  display: none !important;
}
.admin-photo-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0.1rem 0 0.7rem;
  flex-shrink: 0;
}
.admin-photo-chip {
  margin: 0;
  padding: 0.36rem 0.85rem;
  border: 1.5px solid rgba(232, 200, 114, 0.35);
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.35);
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  cursor: pointer;
}
.admin-photo-chip:hover,
.admin-photo-chip:focus-visible {
  border-color: #e8c872;
  color: #fff;
  outline: none;
}
.admin-photo-chip.is-selected {
  background: #1a7a4c;
  border-color: #e8c872;
  color: #fff;
  box-shadow: 0 0 0 1px rgba(232, 200, 114, 0.28);
}
.admin-photo-pane[hidden] {
  display: none !important;
}
.admin-photo-queue__lead {
  margin: 0 0 0.55rem;
  color: rgba(244, 241, 230, 0.7);
  font-size: 0.8rem;
  line-height: 1.4;
}
.admin-photo-queue {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.2rem 0 0.8rem;
}
.admin-photo-queue__empty {
  margin: 0.4rem 0;
  color: rgba(244, 241, 230, 0.65);
  font-size: 0.88rem;
}
.admin-photo-queue .admin-photo-swipe {
  position: relative;
  overflow: hidden;
  touch-action: pan-y;
  border-radius: 10px;
}
.admin-photo-queue .swipe-reveal__del {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 5.5rem;
  z-index: 0;
  margin: 0;
  padding: 0 0.35rem;
  border: 0;
  background: #c0392b;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
}
.admin-photo-queue .swipe-reveal__panel {
  position: relative;
  z-index: 1;
  background: rgba(18, 32, 22, 0.65);
  transition: transform 0.18s ease;
  will-change: transform;
}
.admin-photo-queue .admin-photo-swipe.is-open .swipe-reveal__panel {
  transform: translateX(-5.5rem);
}
.admin-login-media {
  margin: 0 0 0.4rem;
  padding-top: 0;
}
.admin-login-media__title {
  margin: 0 0 0.25rem;
  color: #e8c872;
  font-size: 0.92rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.admin-login-media__lead {
  margin: 0 0 0.65rem;
  color: rgba(244, 241, 230, 0.7);
  font-size: 0.8rem;
  line-height: 1.4;
}
.admin-login-media__actions {
  margin: 0 0 0.55rem;
}
.admin-login-media__err {
  margin: 0 0 0.5rem;
  color: #c0392b;
  font-size: 0.78rem;
}
.admin-login-media__err.is-info {
  color: #e8c872;
}
.admin-login-media__empty {
  margin: 0.3rem 0;
  color: rgba(244, 241, 230, 0.65);
  font-size: 0.84rem;
}
.admin-login-media__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(5.6rem, 1fr));
  gap: 0.5rem;
}
.admin-login-media__item {
  position: relative;
  aspect-ratio: 1;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(232, 200, 114, 0.28);
  background: #0c1610;
}
.admin-login-media__item img,
.admin-login-media__item video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.admin-login-media__del {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  border: 0;
  padding: 0.22rem 0.2rem;
  background: rgba(192, 57, 43, 0.92);
  color: #fff;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  cursor: pointer;
}
.admin-photo-item {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid rgba(232, 200, 114, 0.28);
  border-radius: 10px;
  background: rgba(18, 32, 22, 0.65);
}
.admin-photo-item__thumb {
  width: 3.2rem;
  height: 3.2rem;
  padding: 0;
  border: 0;
  border-radius: 0.28rem;
  object-fit: cover;
  object-position: center 18%;
  background: #0a0e0a center 18% / cover no-repeat;
  flex: 0 0 3.2rem;
  overflow: hidden;
  cursor: zoom-in;
}
.admin-photo-item__meta {
  min-width: 0;
  flex: 1 1 auto;
}
.admin-photo-item__meta strong {
  display: block;
  font-size: 0.9rem;
}
.admin-photo-item__meta span {
  display: block;
  font-size: 0.72rem;
  color: rgba(244, 241, 230, 0.62);
}
.logo-review-modal__actions--3 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  justify-content: center;
}
.pf-skill-row {
  display: flex;
  align-items: stretch;
  gap: 0.55rem;
}
.pf-skill-row__field {
  flex: 1 1 auto;
  min-width: 0;
}
.pf-bench {
  flex: 0 0 4.6rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  padding: 0.25rem 0.2rem;
  border-radius: 10px;
  border: 1.5px solid #1a7a4c;
  background: rgba(232, 200, 114, 0.12);
}
.pf-bench__photo {
  width: 2.7rem;
  height: 2.7rem;
  border-radius: 0.28rem;
  overflow: hidden;
  background: rgba(26, 122, 76, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
}
.pf-bench__cap {
  margin: 0;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--gold-soft);
  text-align: center;
  line-height: 1.15;
}
.pf-geo-wrap {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.1rem;
  flex: 0 0 auto;
  width: 100%;
}
.pf-geo-btn,
.pf-add-btn {
  width: 100%;
  min-height: 2.35rem !important;
  margin: 0;
  font-size: 0.82rem;
  flex: 0 0 auto;
}
.page-profil .pf-geo-btn:disabled,
.page-profil .pf-geo-btn[aria-disabled="true"] {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
  filter: grayscale(0.3);
}
.page-profil .pf-geo-soon {
  margin: 0;
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: rgba(232, 200, 114, 0.75);
  text-align: center;
  line-height: 1.15;
}
.pf-add-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.35rem;
  flex: 0 0 auto;
}
.page-profil .pf-add-btn.is-on {
  border-color: #e8c872;
  color: #e8c872;
  background: rgba(26, 122, 76, 0.32);
}
.page-profil .pf-add-btn--stack {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.02rem;
  min-height: 2.85rem !important;
  padding: 0.22rem 0.35rem;
  font-size: 0.7rem;
  line-height: 1.15;
  white-space: normal;
  text-align: center;
}
.page-profil .pf-add-btn--stack span {
  display: block;
}
.pf-tour-form {
  display: flex;
  flex-direction: column;
  gap: 0.32rem;
  flex: 0 0 auto;
}
.page-profil .pf-tour-form .combo {
  position: relative;
  z-index: 8;
  width: 100%;
}
.page-profil .pf-tour-form .combo__list {
  z-index: 90;
}
.page-profil .pf-tour-form .combo__option {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.08rem;
  padding: 0.42rem 0.7rem;
}
.page-profil .pf-tour-form .combo__option-main {
  font-size: 0.84rem;
  font-weight: 600;
  color: #ffffff;
}
.page-profil .pf-tour-form .combo__option-meta {
  font-size: 0.66rem;
  font-weight: 600;
  color: rgba(232, 200, 114, 0.78);
  letter-spacing: 0.02em;
}
.pf-tour-submit-row {
  grid-template-columns: 1fr auto;
  align-items: end;
}
.pf-tour-ok-wrap {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.pf-tour-ok {
  width: auto;
  min-width: 6.4rem;
  min-height: 2.35rem !important;
  margin: 0;
  padding: 0 0.85rem;
  font-size: 0.82rem;
}
.pf-tour-table-wrap {
  flex: 1 1 auto;
  min-height: 4.5rem;
  display: flex;
  flex-direction: column;
  margin-top: 0.15rem;
  padding: 0.4rem 0.45rem 0.35rem;
  border-radius: 8px;
  background: #ffffff;
  color: #141414;
  overflow: hidden;
}
.pf-tour-table__head,
.pf-tour-table__row {
  display: grid;
  grid-template-columns: 1fr 3.15rem 3.05rem;
  gap: 0.25rem;
  align-items: end;
}
.pf-tour-table__head {
  flex: 0 0 auto;
  padding: 0 0.1rem 0.22rem;
  font-size: 0.68rem;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.pf-tour-table__head span:nth-child(2),
.pf-tour-table__row span:nth-child(2) {
  text-align: center;
}
.pf-tour-table__head span:nth-child(3),
.pf-tour-table__row span:nth-child(3) {
  text-align: right;
}
.pf-tour-table__row span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pf-tour-table {
  list-style: none;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  min-height: 2.4rem;
  flex: 1 1 auto;
}
.pf-tour-table > li {
  margin: 0;
  padding: 0;
}
.pf-tour-table__row {
  width: 100%;
  padding: 0.28rem 0.1rem;
  border: 0;
  border-top: 1px solid rgba(20, 20, 20, 0.12);
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 0.72rem;
  text-align: left;
  cursor: pointer;
}
.pf-tour-table__row.is-on {
  background: rgba(26, 122, 76, 0.22);
}
.pf-tour-table__row.is-empty {
  display: block;
  cursor: default;
  color: rgba(20, 20, 20, 0.45);
  border-top: 0;
  padding: 0.45rem 0.1rem;
  text-align: center;
}
.pf-tour-table .swipe-reveal {
  position: relative;
  overflow: hidden;
  touch-action: pan-y;
  border-top: 1px solid rgba(20, 20, 20, 0.12);
}
.pf-tour-table .swipe-reveal__del {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 5.5rem;
  z-index: 0;
  margin: 0;
  padding: 0 0.35rem;
  border: 0;
  background: #c0392b;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
}
.pf-tour-table .swipe-reveal__panel {
  position: relative;
  z-index: 1;
  background: #ffffff;
  transition: transform 0.18s ease;
  will-change: transform;
}
.pf-tour-table .swipe-reveal.is-open .swipe-reveal__panel {
  transform: translateX(-5.5rem);
}
.pf-tour-table .swipe-reveal .pf-tour-table__row {
  border-top: 0;
}
.pf-tour-ok.is-remove {
  background: #8a1e28;
  border-color: #e8c872;
}
.page-profil .em-error {
  margin: 0.15rem 0 0;
  min-height: 0;
  font-size: 0.75rem;
  flex: 0 0 auto;
}
.page-profil .em-error:empty {
  display: none;
}
body.em-keyboard-open.page-profil .combo__list {
  z-index: 80;
  max-height: min(34dvh, 12rem);
}

/* CSE pickers — never use Android/iOS native select chrome */
.page-profil .field__panel {
  position: relative;
}
.page-profil select.cse-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  left: 0;
  top: 0;
}
.page-profil .cse-pick-face {
  display: block;
  flex: 1;
  min-width: 0;
  width: 100%;
  height: 2.35rem;
  min-height: 2.35rem;
  max-height: 2.35rem;
  margin: 0;
  padding: 0 1.85rem 0 0.7rem;
  border: none;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23e8c872' d='M1.1 1.2 L6 6.1 L10.9 1.2' stroke='%23e8c872' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right 0.65rem center;
  background-size: 0.7rem 0.45rem;
  background-repeat: no-repeat;
  color: var(--text);
  font: inherit;
  font-size: 0.82rem;
  line-height: 2.35rem;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
}
.page-profil .cse-pick-face.is-placeholder {
  color: var(--text-dim);
}
.page-profil .cse-pick-face:disabled,
.page-profil .cse-pick-face.is-disabled,
.page-profil .field__panel.is-disabled .cse-pick-face {
  opacity: 0.42;
  cursor: not-allowed;
  color: var(--text-dim);
}
.cse-pick {
  align-items: center;
  justify-content: center;
  padding: 1.1rem 1.45rem;
}
.cse-pick .cse-modal__panel {
  width: min(17.5rem, calc(100% - 0.4rem));
  max-width: 17.5rem;
  max-height: min(58dvh, 24rem);
  margin: 0 auto;
  padding: 0.65rem 0 0.3rem;
  border-radius: 14px;
  display: flex;
  flex-direction: column;
}
.cse-pick__title {
  margin: 0.35rem 1rem 0.45rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gold-muted);
  text-align: center;
  cursor: pointer;
}
.cse-pick__search {
  margin: 0 0.85rem 0.45rem;
  min-height: 2.35rem;
  padding: 0.45rem 0.7rem;
  border-radius: 10px;
  border: 1px solid #1a7a4c;
  background: rgba(232, 200, 114, 0.08);
  color: #f2f2f2;
  font: inherit;
}
.cse-pick__search:focus {
  outline: none;
  border-color: #e8c872;
}
.cse-pick__list {
  list-style: none;
  margin: 0;
  padding: 0 0 0.4rem;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  flex: 1 1 auto;
  min-height: 0;
}
.cse-pick__opt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  margin: 0;
  padding: 0.52rem 0.9rem;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: transparent;
  color: #f2f2f2;
  font: inherit;
  font-size: 0.92rem;
  text-align: left;
  cursor: pointer;
}
.cse-pick__opt.is-on {
  background: rgba(26, 122, 76, 0.22);
  color: #e8c872;
}
.cse-pick__radio {
  flex: 0 0 auto;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  border: 2.5px solid #1a7a4c;
  background: transparent;
  box-shadow: inset 0 0 0 1.5px rgba(232, 200, 114, 0.35);
}
.cse-pick__opt.is-on .cse-pick__radio {
  background: #e8c872;
  box-shadow: none;
}
.page-profil .combo__list {
  background: #0a0e0a;
  border: 1px solid #e8c872;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(26, 122, 76, 0.35);
}
.page-profil .combo__option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.62rem 0.8rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: #f2f2f2;
}
.page-profil .combo__option::after {
  content: "";
  flex: 0 0 auto;
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 50%;
  border: 2.5px solid #1a7a4c;
  background: transparent;
  box-shadow: inset 0 0 0 1.5px rgba(232, 200, 114, 0.35);
}
.page-profil .combo__option.is-selected::after,
.page-profil .combo__option.is-active::after {
  background: #e8c872;
  box-shadow: none;
}

/* Club profile — same viewer/wizard chrome as athlete */
.page-club-profil #pf-edit {
  position: relative;
}
.page-club-profil .pf-step-nav--overlay {
  position: absolute;
  left: 0;
  right: 0;
  top: 3.55rem;
  bottom: 0;
  z-index: 6;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 0 0.08rem;
  pointer-events: none;
}
.page-club-profil .pf-step-chevron {
  pointer-events: auto;
  flex: 0 0 auto;
  width: 2.6rem;
  height: 3.2rem;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  color: #e8c872;
  font-size: 2.7rem;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.65);
}
.page-club-profil .pf-step-chevron:hover,
.page-club-profil .pf-step-chevron:focus-visible {
  color: #f5e0a0;
  outline: none;
}
.page-club-profil .field-row--mgr {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.45rem;
  align-items: end;
}
.page-club-profil .field--idcard {
  flex: 0 0 auto;
  width: 4.35rem;
}
.page-club-profil .cp-id-preview {
  display: block;
  width: 4.35rem;
  height: 2.35rem;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(232, 200, 114, 0.55);
  border-radius: 6px;
  background-color: #0a0e0a;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: rgba(232, 200, 114, 0.7);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  cursor: zoom-in;
}
.page-club-profil .cp-id-preview.is-empty,
.page-club-profil .cp-id-preview:disabled {
  cursor: default;
  opacity: 0.7;
}
.page-club-profil .cp-contact-rule--cert {
  margin: 0.9rem 0 0.35rem;
}
.page-club-profil #step-cert .cp-gallery {
  margin-top: 0;
}
.page-club-profil .cp-contact-rule {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  margin: 0.42rem 0 0.12rem;
  padding: 0;
  border: none;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9ca3af;
  text-align: center;
}
.page-club-profil .cp-contact-rule__line {
  flex: 1 1 auto;
  height: 2px;
  min-width: 1.1rem;
  border-radius: 1px;
  background: #6b7280;
}
.page-club-profil .cp-contact-rule__label {
  flex: 0 1 auto;
  white-space: nowrap;
  color: #9ca3af;
}
.page-profil.pf-unlicensed .em-home-card-topbar .em-home-screen-handle,
.page-profil.cp-unlicensed .em-home-card-topbar .em-home-screen-handle,
.page-profil.pf-license-unlicensed .em-home-card-topbar .em-home-screen-handle,
.page-profil .em-home-card-topbar .em-home-screen-handle.is-unlicensed {
  color: #c0392b;
}
.page-profil .pf-view__photo.is-unlicensed,
.page-profil.pf-unlicensed .pf-view__photo,
.page-profil.cp-unlicensed .pf-view__photo,
.page-profil.pf-license-unlicensed .pf-view__photo {
  border-color: #c0392b;
  color: #c0392b;
}
.page-profil .pf-view__photo.is-waived,
.page-profil.pf-license-waived .pf-view__photo {
  border-color: #6dcf9a;
}
.page-profil .pf-view__photo.is-paid,
.page-profil.pf-license-paid .pf-view__photo {
  border-color: #1a7a4c;
}
.page-profil .pf-view__photo.is-expired,
.page-profil.pf-license-expired .pf-view__photo {
  border-color: #e8c872;
}
.page-profil.pf-unlicensed .pf-view-dl__identity-name,
.page-profil.pf-unlicensed .pf-view-dl__club-name,
.page-profil.cp-unlicensed .pf-view-dl__identity-name,
.page-profil.cp-unlicensed .pf-view-dl__club-name,
.page-profil.pf-license-unlicensed .pf-view-dl__identity-name,
.page-profil.pf-license-unlicensed .pf-view-dl__club-name {
  color: #c0392b;
  font-weight: 700;
}
.page-profil.pf-license-unlicensed .pf-view-sec--license .pf-view-sec__title,
.page-profil.pf-unlicensed .pf-view-sec--license .pf-view-sec__title,
.page-profil.cp-unlicensed .pf-view-sec--license .pf-view-sec__title {
  color: #c0392b;
}
.page-profil.pf-license-waived .pf-view-sec--license .pf-view-sec__title {
  color: #6dcf9a;
}
.page-profil.pf-license-paid .pf-view-sec--license .pf-view-sec__title {
  color: #1a7a4c;
}
.page-profil.pf-license-expired .pf-view-sec--license .pf-view-sec__title {
  color: #e8c872;
}
.page-profil.pf-license-unlicensed .pf-view-dl__lic .pf-view-dl__lic-status,
.page-profil.pf-unlicensed .pf-view-dl__lic .pf-view-dl__lic-status,
.page-profil.cp-unlicensed .pf-view-dl__lic .pf-view-dl__lic-status,
.page-profil .pf-view-dl__lic-status--unlicensed {
  color: #c0392b;
  font-weight: 700;
}
.page-profil.pf-license-waived .pf-view-dl__lic .pf-view-dl__lic-status,
.page-profil .pf-view-dl__lic-status--waived {
  color: #6dcf9a;
  font-weight: 700;
}
.page-profil.pf-license-paid .pf-view-dl__lic .pf-view-dl__lic-status,
.page-profil .pf-view-dl__lic-status--paid {
  color: #1a7a4c;
  font-weight: 700;
}
.page-profil.pf-license-paid .pf-view-dl__lic .pf-view-dl__lic-word,
.page-profil .pf-view-dl__lic-word.pf-view-dl__lic-status--paid {
  color: #ffffff;
}
.page-profil.pf-license-expired .pf-view-dl__lic .pf-view-dl__lic-status,
.page-profil .pf-view-dl__lic-status--expired {
  color: #e8c872;
  font-weight: 700;
}
.page-club-profil .pf-view-dl__lic,
.page-profil .pf-view-dl__lic {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.2rem;
}
.page-club-profil .cp-lic-subscribe,
.page-profil .cp-lic-subscribe,
.page-profil .pf-lic-cta {
  color: #e8c872;
  font-weight: 700;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.page-club-profil .cp-lic-subscribe:disabled,
.page-profil .cp-lic-subscribe:disabled,
.page-profil .pf-lic-cta:disabled {
  cursor: not-allowed;
  opacity: 0.72;
  pointer-events: none;
}
.page-club-profil select#cp-games {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.page-club-profil .field__input--area {
  min-height: 4.2rem;
  resize: vertical;
  padding: 0.45rem 0.55rem;
  line-height: 1.35;
}
.page-club-profil .pf-wizard .field__panel--long {
  min-height: 4.4rem;
  align-items: stretch;
  border: 1px solid rgba(232, 200, 114, 0.34);
  background: rgba(8, 12, 8, 0.92);
}
.page-club-profil .pf-wizard .field__panel--long:hover {
  border-color: rgba(232, 200, 114, 0.52);
}
.page-club-profil .pf-wizard .field__panel--long:focus-within {
  border-color: #e8c872;
}
.page-club-profil .pf-wizard .field__input--long {
  height: auto !important;
  min-height: 4.2rem !important;
  max-height: none !important;
  white-space: pre-wrap !important;
  overflow-y: auto;
  overflow-x: hidden;
  text-overflow: clip;
  resize: vertical;
  padding: 0.5rem 0.6rem;
  line-height: 1.4;
  font-size: 0.82rem;
  border: 0;
  background: transparent;
  color: #ffffff;
  -webkit-text-fill-color: #ffffff;
}
.page-profil .cp-gallery {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 5.2rem;
  max-height: 100%;
  margin-top: 0.15rem;
  overflow: hidden;
}
.page-profil .cp-gallery__title {
  margin: 0 0 0.32rem;
  text-align: center;
  font-size: clamp(1.02rem, 3.4vw, 1.28rem);
  font-weight: 800;
  letter-spacing: 0.01em;
  color: #e8c872;
}
.page-profil .cp-gallery__box {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 0.35rem 0.5rem 0.3rem;
  border-radius: 8px;
  background: #ffffff;
  color: #141414;
  overflow: hidden;
}
.page-profil .cp-gallery__head,
.page-profil .cp-gallery__row {
  display: grid;
  grid-template-columns: 1.55rem minmax(0, 1fr) 5.5rem;
  align-items: center;
  gap: 0.28rem;
}
.page-profil .cp-gallery__head {
  position: relative;
  flex: 0 0 auto;
  min-height: 1.85rem;
  padding: 0.05rem 0.1rem 0.28rem;
  font-size: 0.72rem;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.page-profil .cp-gallery__head span:first-child,
.page-profil .cp-gallery__row span:first-child {
  text-align: center;
}
.page-profil .cp-gallery__head span:last-child,
.page-profil .cp-gallery__row span:last-child {
  text-align: right;
}
.page-profil .cp-gallery__add {
  position: absolute;
  left: 50%;
  top: 0.05rem;
  z-index: 1;
  width: 1.85rem;
  height: 1.85rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #1a7a4c;
  color: #fff;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transform: translateX(-50%);
}
.page-profil .cp-gallery__add:hover,
.page-profil .cp-gallery__add:focus-visible {
  background: #15633e;
  outline: none;
}
.page-profil .cp-gallery__list {
  list-style: none;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  min-height: 2.2rem;
  max-height: min(40vh, 15rem);
  flex: 1 1 auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.page-profil .cp-gallery__row {
  width: 100%;
  padding: 0.28rem 0.1rem;
  border: 0;
  border-top: 1px solid rgba(20, 20, 20, 0.12);
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 0.74rem;
  text-align: left;
  cursor: pointer;
}
.page-profil .cp-gallery__row span:nth-child(2) {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.page-profil .cp-gallery__row span:last-child {
  font-weight: 700;
  white-space: nowrap;
}
.page-profil .cp-gallery__item {
  position: relative;
  overflow: hidden;
  touch-action: pan-y;
}
.page-profil .cp-gallery__del {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 5.5rem;
  z-index: 0;
  margin: 0;
  padding: 0 0.35rem;
  border: 0;
  background: #c0392b;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
}
.page-profil .cp-gallery__swipe {
  position: relative;
  z-index: 1;
  background: #ffffff;
  transition: transform 0.18s ease;
  will-change: transform;
}
.page-profil .cp-gallery__item.is-open .cp-gallery__swipe {
  transform: translateX(-5.5rem);
}
.page-profil .cp-gallery__item .cp-gallery__row {
  border-top: 0;
}
.page-profil .cp-gallery__list > li + li .cp-gallery__row,
.page-profil .cp-gallery__list > li + li.cp-gallery__item {
  border-top: 1px solid rgba(20, 20, 20, 0.12);
}
.page-profil .cp-gallery__item + .cp-gallery__item {
  border-top: 1px solid rgba(20, 20, 20, 0.12);
}
.page-profil .cp-gallery__row.is-empty {
  display: block;
  cursor: default;
  color: rgba(20, 20, 20, 0.45);
  border-top: 0;
}
.page-profil .cp-gallery__err {
  min-height: 0;
  margin: 0.18rem 0 0;
  font-size: 0.68rem;
  font-weight: 700;
  color: #e8c872;
  text-align: center;
}
.page-profil .cp-gallery__err:empty {
  display: none;
}
.page-profil .cp-gallery__item.is-dup .cp-gallery__row {
  background: #fdecea;
  box-shadow: inset 0 0 0 1.5px #c0392b;
  color: #7a1f18;
}
.page-profil .cp-gallery__dup-err {
  list-style: none;
  margin: 0;
  padding: 0.18rem 0.45rem 0.28rem;
  font-size: 0.68rem;
  font-weight: 700;
  color: #c0392b;
  background: #fdecea;
  border-top: 1px solid #c0392b;
}
.page-profil .pf-view-docs__split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  column-gap: 0.42rem;
  align-items: stretch;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}
.page-profil .pf-view-docs__list {
  list-style: none;
  margin: 0.12rem 0 0;
  padding: 0;
  min-width: 0;
}
.page-profil .pf-view-docs__item {
  display: grid;
  grid-template-columns: 7.2rem minmax(0, 1fr);
  column-gap: 0.4rem;
  align-items: baseline;
  padding: 0.12rem 0;
}
.page-profil .pf-view-docs__item + .pf-view-docs__item {
  margin-top: 0;
  border-top: 1px solid rgba(160, 160, 160, 0.22);
}
.page-profil .pf-view-docs__item.is-dup {
  background: rgba(192, 57, 43, 0.16);
  box-shadow: inset 0 0 0 1.5px #c0392b;
  border-radius: 4px;
  padding-left: 0.12rem;
  padding-right: 0.12rem;
}
.page-profil .pf-view-docs__label {
  margin: 0;
  font-size: 0.64rem;
  color: var(--gold-muted);
}
.page-profil .pf-view-docs__status {
  margin: 0;
  font-size: 0.78rem;
  color: #e8c872;
  text-align: left;
  min-width: 0;
  white-space: nowrap;
}
.page-profil .pf-view-docs__status.is-pending,
.page-profil .pf-view-docs__status.cp-gallery__st--pending {
  color: #c0392b;
}
.page-profil .pf-view-docs__status.is-submitted {
  color: #6ee7a8;
}
.page-profil .pf-view-docs__status.is-in_review {
  color: #f0b429;
}
.page-profil .pf-view-docs__status.is-approved {
  color: #7eb6ff;
}
.page-profil .pf-view-docs__status.is-published {
  color: #6ee7a8;
}
.page-profil .pf-view-docs__status.is-rejected {
  color: #e74c3c;
}
.page-profil .pf-view-docs .cp-gallery__dup-err {
  background: transparent;
  border-top: 0;
  padding: 0.04rem 0.12rem 0.28rem;
}
.page-profil .pf-view-dl__roadmap-lab {
  grid-column: 1 / -1;
}
.page-profil .pf-view-dl__roadmap {
  grid-column: 1 / -1;
  min-width: 0;
  overflow: hidden;
}
.page-profil .cp-roadmap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: start;
  column-gap: 0.16rem;
  max-width: 100%;
}
.page-profil .cp-roadmap__stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  min-width: 0;
  text-align: center;
}
.page-profil .cp-roadmap__name {
  font-size: 0.58rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  white-space: nowrap;
}
.page-profil .cp-roadmap__arrow {
  padding-top: 0;
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1;
  color: var(--gold, #e8c872);
  text-shadow: 0 0 0.45rem rgba(232, 200, 114, 0.45);
}
.page-profil .cp-roadmap__bulb {
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  flex-shrink: 0;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35);
}
.page-profil .cp-roadmap__stage.is-pending .cp-roadmap__name {
  color: #c0392b;
}
.page-profil .cp-roadmap__stage.is-pending .cp-roadmap__bulb {
  background: #c0392b;
}
.page-profil .cp-roadmap__stage.is-progress .cp-roadmap__name {
  color: #e8c872;
}
.page-profil .cp-roadmap__stage.is-progress .cp-roadmap__bulb {
  background: #e8c872;
}
.page-profil .cp-roadmap__stage.is-done .cp-roadmap__name {
  color: #27ae60;
}
.page-profil .cp-roadmap__stage.is-done .cp-roadmap__bulb {
  background: #27ae60;
}
.page-club-profil .cp-cert__hint {
  margin: 0 0 0.45rem;
  font-size: 0.68rem;
  color: var(--gold-muted);
  line-height: 1.35;
}
.page-club-profil .cp-cert__chips {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.4rem;
}
.page-club-profil .cp-cert__chip {
  margin: 0;
  min-width: 0;
}
.page-club-profil .cp-cert__chip.is-dup .cp-cert__face {
  box-shadow: inset 0 0 0 1.5px #c0392b;
  background: rgba(192, 57, 43, 0.16);
}
.page-club-profil .cp-cert__chips > .cp-gallery__dup-err {
  grid-column: 1 / -1;
  background: transparent;
  border-top: 0;
  padding: 0.1rem 0.15rem 0.2rem;
}
.page-club-profil .cp-cert__face {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.18rem;
  width: 100%;
  min-height: 4.4rem;
  margin: 0;
  padding: 0.42rem 0.48rem 0.38rem;
  border: 1px solid rgba(232, 200, 114, 0.38);
  border-radius: 10px;
  background: rgba(8, 12, 8, 0.92);
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.page-club-profil .cp-cert__face:disabled {
  cursor: default;
  opacity: 0.72;
}
.page-club-profil .cp-cert__ico {
  display: flex;
  color: #e8c872;
}
.page-club-profil .cp-cert__ico svg {
  width: 1.15rem;
  height: 1.15rem;
}
.page-club-profil .cp-cert__name {
  font-size: 0.68rem;
  color: #fff;
  line-height: 1.2;
}
.page-club-profil .cp-cert__st {
  font-size: 0.64rem;
  font-weight: 700;
}
.page-club-profil .cp-cert__st.cp-gallery__st--pending {
  color: #c0392b;
}
.page-club-profil .cp-cert__st.cp-gallery__st--submitted,
.page-club-profil .cp-cert__st.cp-gallery__st--published {
  color: #6ee7a8;
}
.page-club-profil .cp-cert__st.cp-gallery__st--in_review {
  color: #f0b429;
}
.page-club-profil .cp-cert__st.cp-gallery__st--approved {
  color: #7eb6ff;
}
.page-club-profil .cp-cert__st.cp-gallery__st--rejected {
  color: #e74c3c;
}
.page-club-profil .cp-norm-svc {
  margin: 0.7rem 0 0.15rem;
}
.page-club-profil .pf-view-docs .cp-norm-svc--side {
  margin: 0.12rem 0 0;
  min-width: 0;
  width: max-content;
  max-width: 5.6rem;
  justify-self: end;
}
.page-club-profil .cp-norm-svc__title {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #e8c872;
}
.page-club-profil .cp-norm-svc__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
  padding: 0.75rem 0.7rem 0.8rem;
  border: 1.5px solid #e8c872;
  border-radius: 10px;
  background: rgba(8, 12, 8, 0.55);
}
.page-club-profil .cp-norm-svc__mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  border: 2px solid #1a7a4c;
  background: #e8c872;
  color: #111111;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}
.page-club-profil .cp-norm-svc__name {
  margin: 0;
  color: #ffffff;
  font-size: 0.62rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.page-club-profil .cp-norm-svc__cta {
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0.28rem 0.5rem;
  border: 0;
  border-radius: 6px;
  background: #1a7a4c;
  color: #ffffff;
  font: inherit;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
  opacity: 0.95;
}
.page-club-profil .cp-norm-svc.is-disabled {
  pointer-events: none;
}
.page-club-profil .pf-view-docs .cp-norm-svc--side .cp-norm-svc__card {
  position: relative;
  height: 100%;
  box-sizing: border-box;
  justify-content: flex-start;
  gap: 0.22rem;
  padding: 0.32rem 0.28rem 0.3rem;
}
.page-club-profil .pf-view-docs .cp-norm-svc--side .cp-norm-svc__mark {
  width: 2rem;
  height: 2rem;
  font-size: 0.55rem;
  border-width: 2px;
  background: #e8c872;
  color: #111111;
  border-color: #1a7a4c;
  flex-shrink: 0;
}
.page-club-profil .pf-view-docs .cp-norm-svc--side .cp-norm-svc__name {
  font-size: 0.56rem;
  color: #ffffff;
  line-height: 1.15;
}
.page-club-profil .pf-view-docs .cp-norm-svc--side .cp-norm-svc__cta {
  position: absolute;
  left: 50%;
  top: 58%;
  transform: translate(-50%, 50%);
  z-index: 2;
  width: auto;
  max-width: none;
  margin: 0;
  align-self: center;
  padding: 0.26rem 0.42rem;
  min-height: 1.45rem;
  font-size: 0.56rem;
  line-height: 1.15;
  white-space: nowrap;
  border: 0;
  background: #1a7a4c;
  color: #ffffff;
  cursor: pointer;
  pointer-events: auto;
  opacity: 0.95;
}
.page-club-profil .pf-wizard .field--games .field__panel {
  height: auto;
  max-height: 3.45rem;
  align-items: stretch;
}
.page-club-profil .pf-wizard .cse-pick-face--multi {
  height: auto !important;
  min-height: 2.35rem;
  max-height: 3.35rem;
  white-space: normal !important;
  overflow-x: hidden;
  overflow-y: auto;
  text-overflow: clip;
  line-height: 1.2;
  padding-top: 0.28rem;
  padding-bottom: 0.28rem;
  word-break: break-word;
}
.page-profil .cp-gallery__st--submitted {
  color: #1a7a4c;
}
.page-profil .cp-gallery__st--in_review {
  color: #b45309;
}
.page-profil .cp-gallery__st--approved {
  color: #1d4ed8;
}
.page-profil .cp-gallery__st--published {
  color: #15803d;
}
.page-profil .cp-gallery__st--rejected {
  color: #c0392b;
}
.page-profil .pf-view-gallery {
  margin: 0.35rem 0 0.15rem;
}
.page-profil .pf-view-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.35rem;
  margin-top: 0.35rem;
}
.page-profil .pf-view-gallery__item {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  padding: 0;
  border: 1px solid rgba(232, 200, 114, 0.35);
  border-radius: 8px;
  overflow: hidden;
  background: #111 center / cover no-repeat;
  cursor: zoom-in;
}
.page-profil #step-eq.is-on:not([hidden]) {
  justify-content: flex-start;
  gap: 0.22rem;
}
.page-profil #step-eq .pf-step__title {
  margin: 0 0 0.04rem;
  font-size: 0.78rem;
}
.page-profil #step-eq .field-row {
  gap: 0.22rem;
}
.page-profil #step-eq .field__label {
  font-size: 0.58rem;
  line-height: 1.1;
}
.page-profil #step-eq .field__panel,
.page-profil #step-eq .field__input {
  height: 1.72rem;
  min-height: 1.72rem;
  max-height: 1.72rem;
}
.page-profil #step-eq .cse-pick-face {
  height: 1.72rem !important;
  min-height: 1.72rem !important;
  max-height: 1.72rem !important;
  font-size: 0.72rem;
}
.page-profil #step-eq .cp-gallery {
  margin-top: 0.22rem;
  min-height: 7.2rem;
}
.page-club-profil .cp-games {
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem;
}
.page-club-profil .cp-games__chip {
  flex: 1 1 calc(50% - 0.2rem);
  min-height: 2.35rem;
  border-radius: 10px;
  border: 1.5px solid #e8c872;
  background: #1a1a1a;
  color: #f4f4f4;
  font-weight: 700;
  font-size: 0.82rem;
  cursor: pointer;
}
.page-club-profil .cp-games__chip.is-on {
  background: rgba(26, 122, 76, 0.42);
  color: #fff;
}
.page-club-profil .cp-qr {
  display: flex;
  justify-content: center;
  padding: 0.35rem 0 0.2rem;
}
.page-club-profil .cp-qr canvas {
  width: 7.6rem;
  height: 7.6rem;
  background: #fff;
  border-radius: 8px;
  padding: 0.3rem;
  box-sizing: border-box;
}
.page-club-profil .cp-photo-cta {
  margin-top: 0.35rem;
}
.page-club-profil .cp-empty {
  text-align: center;
  padding: 1.4rem 0.8rem;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.45;
}
.page-club-profil .pf-view__photo--logo {
  cursor: pointer;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.page-club-profil .pf-view__photo--logo:focus-visible {
  outline: 2px solid #e8c872;
  outline-offset: 2px;
}

/* LOCKED profile viewer chrome — athlete, club manager, future referee.
   title → compact CTAs → avatar left / QR right. Do not restyle. */
.page-profil .pf-view {
  gap: 0.22rem;
}
.page-profil .pf-view > .em-card__title {
  text-align: center;
  margin: 0.05rem 0 0.08rem;
}
.page-profil .pf-view__ctas {
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 0.35rem;
  margin: 0 auto 0.18rem;
  width: 100%;
}
.page-profil .pf-view__update {
  min-height: 1.55rem !important;
  padding: 0.12rem 0.62rem;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  min-width: 0;
  border-radius: 7px;
}
.page-profil .pf-view__print {
  background: transparent;
  border: 1px solid rgba(26, 122, 76, 0.85);
}
.page-profil .pf-view__hero {
  position: relative;
  align-items: center;
  padding: 0.12rem 0.1rem 0.05rem;
}
.page-profil .pf-view__file {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  opacity: 0;
}
.page-profil .pf-view__photo {
  flex: 0 0 4.4rem;
  width: 4.4rem;
  height: 4.4rem;
  font-size: 1.35rem;
  cursor: default;
  pointer-events: none;
}
.page-club-profil .pf-view__photo {
  cursor: pointer;
  pointer-events: auto;
}
.page-profil:not(.page-club-profil) .pf-view__photo-meta {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 0.35rem 0 0.1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.12rem;
}
.page-profil:not(.page-club-profil) .pf-view__photo-pending {
  flex: 0 1 auto;
  min-width: 0;
  margin: 0;
  font-size: 0.68rem;
  font-weight: 650;
  line-height: 1.3;
  color: #e8c872;
}
.page-profil:not(.page-club-profil) .pf-view__photo-pending[hidden] {
  display: none !important;
}
.page-profil:not(.page-club-profil) .pf-view__photo-err {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 650;
  line-height: 1.3;
  color: #c0392b;
}
.page-profil:not(.page-club-profil) .pf-view__photo-err[hidden] {
  display: none !important;
}
.page-profil .pf-view__qr {
  flex: 0 0 4.4rem;
  width: 4.4rem;
  height: 4.4rem;
  margin-right: 0.15rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.page-club-profil .pf-view__qr {
  cursor: zoom-in;
}
.page-profil .pf-view__qr[hidden] {
  display: none;
}
.page-profil .pf-view__qr canvas {
  display: block;
  width: 4.4rem;
  height: 4.4rem;
  background: #fff;
  border-radius: 8px;
  padding: 0.22rem;
  box-sizing: border-box;
  pointer-events: none;
}
.page-profil .pf-view__alias {
  display: none;
}
.page-club-profil .cp-qr {
  cursor: zoom-in;
}

.cp-media-zoom {
  z-index: 260;
  padding: 1rem;
}
.cp-media-zoom .cse-modal__backdrop {
  z-index: 1;
}
.cp-media-zoom .cse-modal__panel {
  position: relative;
  z-index: 2;
  width: auto;
  max-width: min(21rem, calc(100% - 0.7rem));
  padding: 2.35rem 0.75rem 0.75rem;
  text-align: center;
  overflow: visible;
}
.cp-media-zoom__stage {
  display: flex;
  align-items: center;
  justify-content: center;
}
.cp-media-zoom__stage.is-logo {
  width: 16.2rem;
  height: 16.2rem;
  margin: 0 auto;
  border-radius: 0.28rem;
  border: 2px solid #e8c872;
  overflow: hidden;
  background: #0a0e0a;
}
.cp-media-zoom__stage.is-id {
  width: min(20rem, calc(100vw - 2.4rem));
  height: auto;
  aspect-ratio: 1.586;
  margin: 0 auto;
  border-radius: 8px;
  border: 2px solid #e8c872;
  overflow: hidden;
  background: #0a0e0a;
}
.cp-media-zoom__logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #0a0e0a;
}
.cp-media-zoom__letter {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #e8c872;
  font-size: 6.4rem;
  font-weight: 800;
  line-height: 1;
}
.cp-media-zoom__stage.is-qr {
  width: 18.5rem;
  height: 18.5rem;
  margin: 0 auto;
  background: #fff;
  border-radius: 10px;
  padding: 0.75rem;
  box-sizing: border-box;
}
.cp-media-zoom__stage.is-qr canvas {
  display: block;
  width: 100%;
  height: 100%;
}

/* Referee wizard — name | org row, airy classification, full-height gallery */
.page-referee-profil .field-row--name-org {
  align-items: end;
}
.page-referee-profil .field-row--name-org .field:first-child .field__label,
.page-referee-profil .field-row--name-org .field:first-child .field__input {
  text-align: left;
}
.page-referee-profil .field--org-ro .field__label,
.page-referee-profil .field--org-ro .field__input {
  text-align: right;
}
.page-referee-profil #step-officiating.is-on:not([hidden]) {
  justify-content: flex-start;
  gap: 1.15rem;
  padding-bottom: 0.4rem;
}
.page-referee-profil #step-officiating .pf-ref-grade-block {
  margin: 0.25rem 0 0.15rem;
}
.page-referee-profil #step-eq.is-on:not([hidden]) {
  justify-content: flex-start;
  gap: 0.35rem;
}
.page-referee-profil #step-eq .cp-gallery {
  flex: 1 1 auto;
  min-height: 0;
  margin-top: 0;
}
.page-referee-profil #step-eq .cp-gallery__title {
  display: none;
}
.page-referee-profil #step-eq .cp-gallery__box {
  flex: 1 1 auto;
  min-height: 12rem;
}
.page-referee-profil #step-eq .cp-gallery__list {
  max-height: none;
  flex: 1 1 auto;
}

.pf-view-bio--clamp {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  cursor: pointer;
}
.pf-view-bio--clamp.is-open {
  -webkit-line-clamp: unset;
  overflow: visible;
}
.em-home-screen-handle .pf-captain-badge {
  display: inline-block;
  margin-left: 0.4rem;
  padding: 0.05rem 0.32rem;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #e8c872;
  border: 1px solid rgba(232, 200, 114, 0.55);
  border-radius: 4px;
  vertical-align: middle;
}
.admin-cap-line {
  margin-top: 0.15rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: #e8c872;
}
#pf-short-bio {
  min-height: 3.4rem;
  resize: none;
}
.em-light-settings__panel {
  max-width: 22rem;
  padding: 1.1rem 1.15rem 1.25rem;
}
.em-light-settings__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0.85rem 0 0;
  font-size: 0.92rem;
  font-weight: 650;
}
.em-light-settings__langs {
  display: flex;
  gap: 0.35rem;
}
.page-membres-home .em-ath-home {
  flex: 0 0 auto;
  padding: 0.15rem 0.15rem 0.35rem;
}
.em-ath-search {
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 0.75rem;
  padding: 0.65rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(232, 200, 114, 0.4);
  background: #0c0c0c;
  color: #f2f2f2;
  font-size: 0.92rem;
}
.em-ath-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 0.4rem;
  row-gap: 1.35rem;
}
.em-ath-grid--4x3,
.em-ath-grid--5x3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 0.4rem;
  row-gap: 1.35rem;
  align-items: start;
  flex-shrink: 0;
}
.em-ath-grid--5x3 .em-chip {
  width: 100%;
  height: 4.35rem;
  min-height: 4.35rem;
  max-height: 4.35rem;
  box-sizing: border-box;
  flex-shrink: 0;
}
.em-chip-empty {
  margin: 1.2rem 0 0;
  text-align: center;
  font-size: 0.92rem;
  color: #9a9a9a;
}
/* OKLM myEvents roster chrome — do not restyle home 5×3 */
.em-oklm-events__note {
  margin: 0.35rem 0 0.75rem;
  font-size: 0.84rem;
  color: #9a9a9a;
}
.em-oklm-events__head {
  margin: 0.15rem 0 0.55rem;
  font-size: 1.02rem;
  font-weight: 750;
  color: #e8c872;
  letter-spacing: 0.01em;
}
.em-oklm-events__hits {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.35rem;
  max-height: 12rem;
  overflow-y: auto;
}
.em-oklm-events__hit {
  padding: 0.55rem 0.65rem;
  border: 1px solid #2a2a2a;
  border-radius: 8px;
  background: #121212;
  color: #f4f4f4;
  font-size: 0.86rem;
  cursor: pointer;
}
.em-oklm-events__hit:hover {
  border-color: rgba(232, 200, 114, 0.45);
  color: #e8c872;
}
.em-oklm-events__wait {
  margin: 0 0 0.75rem;
  padding: 0.55rem 0.7rem;
  border-left: 3px solid #e8c872;
  background: rgba(232, 200, 114, 0.08);
  font-size: 0.82rem;
  color: #cfcfcf;
  line-height: 1.45;
}
.em-oklm-events__count {
  margin: 0 0 0.55rem;
  font-size: 0.8rem;
  font-weight: 750;
  color: #e8c872;
  letter-spacing: 0.04em;
}
.em-oklm-events__list {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
  display: grid;
  gap: 0.4rem;
}
.em-oklm-events__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.45rem 0.55rem;
  border: 1px solid #262626;
  border-radius: 8px;
  background: #0e0e0e;
  font-size: 0.82rem;
}
.em-oklm-events__empty {
  color: #7a7a7a;
  font-size: 0.84rem;
  font-style: italic;
  padding: 0.35rem 0;
}
.em-oklm-events__rm {
  flex-shrink: 0;
  border: 1px solid rgba(232, 200, 114, 0.35);
  background: transparent;
  color: #e8c872;
  border-radius: 6px;
  padding: 0.25rem 0.45rem;
  font-size: 0.72rem;
  font-weight: 650;
  cursor: pointer;
}
.em-oklm-events__rm:disabled {
  opacity: 0.4;
  cursor: default;
}
.em-oklm-events__add {
  display: grid;
  gap: 0.45rem;
  margin-top: 0.35rem;
}
.em-oklm-events__add label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #8a8a8a;
  font-weight: 700;
}
.em-oklm-events__input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #2a2a2a;
  border-radius: 8px;
  background: #0a0a0a;
  color: #f4f4f4;
  padding: 0.55rem 0.65rem;
  font-size: 0.88rem;
}
.em-oklm-events__hint {
  margin: 0.15rem 0 0;
  font-size: 0.8rem;
  color: #9fd4b8;
  min-height: 1.1em;
}
.em-oklm-events__hint.is-err {
  color: #e74c3c;
}
.em-oklm-events__mint {
  margin: 0.35rem 0 0;
  font-size: 0.78rem;
  color: #9a9a9a;
  line-height: 1.4;
}
.em-oklm-cal__link {
  display: block;
  margin: 0.75rem 0 0.5rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(232, 200, 114, 0.4);
  border-radius: 10px;
  background: linear-gradient(180deg, #141414 0%, #0a0a0a 100%);
  color: #e8c872;
  font-size: 0.9rem;
  font-weight: 650;
  text-decoration: none;
  line-height: 1.4;
}
.em-oklm-cal__link:hover {
  color: #f0d78a;
}
/*
 * VOID FIX: global .pf-step uses justify-content:space-between + flex:1.
 * That parks the OKLM card at the shell footer. Override for myEvents only.
 */
.em-pf-stage .pf-step.em-oklm-events.is-on:not([hidden]) {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  min-height: 0;
  height: auto;
  max-height: 100%;
  overflow: hidden;
  gap: 0;
}
.em-pf-stage .kyc-scroll.pf-wizard:has(.em-oklm-events) {
  justify-content: flex-start;
  align-content: flex-start;
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1 1 auto;
  overflow: hidden;
  gap: 0;
}
.em-pf-stage .kyc-scroll.pf-wizard:has(.em-oklm-events)::after {
  display: none;
}
.em-oklm-events__sticky {
  position: sticky;
  top: 0;
  z-index: 4;
  flex: 0 0 auto;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  padding: 0;
  background: #0a0a0a;
}
.em-oklm-events__sect {
  margin: 0 0 0.45rem;
  text-align: center;
  font-size: 0.95rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  color: #d4af37;
}
.em-oklm-events__filter {
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0.55rem 0.7rem;
  border: 1px solid #2a2a2a;
  border-radius: 8px;
  background: #0a0a0a;
  color: #f4f4f4;
  font-size: 0.88rem;
}
.em-oklm-events__chips {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.72rem;
  margin: 0.02rem 0 0;
  padding: 0 0.05rem 0.08rem;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  scrollbar-width: none;
}
.em-oklm-events__chips::-webkit-scrollbar {
  display: none;
}
.em-oklm-filt-sub {
  position: fixed;
  inset: 0;
  z-index: 74;
  background: transparent;
}
.em-oklm-filt-sub__panel {
  position: fixed;
  z-index: 1;
  width: max-content;
  max-width: min(16rem, calc(100vw - 1rem));
  box-sizing: border-box;
  padding: 0.32rem 0.55rem 0.4rem;
  border: 1px solid rgba(232, 200, 114, 0.55);
  border-radius: 10px;
  background: #121212;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.5);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.32rem;
}
.em-oklm-filt-sub__panel .em-oklm-events__chip {
  display: block;
  width: auto;
  text-align: left;
  line-height: 1.25;
}
.em-oklm-events__chip {
  flex: 0 0 auto;
  flex-shrink: 0;
  white-space: nowrap;
  border: 0;
  background: transparent;
  padding: 0.08rem 0 0.12rem;
  margin: 0;
  font-size: 0.78rem;
  font-weight: 650;
  color: #9a9a9a;
  text-decoration: underline;
  text-decoration-color: #6a6a6a;
  text-underline-offset: 0.18em;
  cursor: pointer;
}
.em-oklm-events__chip.is-on {
  color: #1a7a4c;
  text-decoration-color: #1a7a4c;
}
.em-oklm-events__managed {
  list-style: none;
  margin: 0.28rem 0 0;
  padding: 0 0 1.4rem;
  display: grid;
  gap: 0.65rem;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
}
.em-oklm-events__card-wrap {
  position: relative;
  min-width: 0;
  max-width: 100%;
}
.em-oklm-events__managed > li {
  min-width: 0;
  max-width: 100%;
}
.em-oklm-events__card {
  width: 100%;
  text-align: left;
  padding: 0.85rem 0.9rem;
  border: 1px solid rgba(232, 200, 114, 0.45);
  border-radius: 12px;
  background: linear-gradient(180deg, #141414 0%, #0a0a0a 100%);
  color: #f4f4f4;
  cursor: pointer;
}
.em-oklm-card-overlay {
  position: fixed;
  inset: 0;
  z-index: 70;
  background: transparent;
}
.em-oklm-card-overlay__panel {
  padding: 0.22rem;
  border: 1px solid rgba(232, 200, 114, 0.55);
  border-radius: 10px;
  background: #121212;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.5);
  display: grid;
  gap: 0.14rem;
  max-width: 210px;
  box-sizing: border-box;
}
.em-oklm-card-overlay__row {
  width: 100%;
  text-align: left;
  padding: 0.36rem 0.48rem;
  border: 1px solid rgba(232, 200, 114, 0.28);
  border-radius: 7px;
  background: #0a0a0a;
  color: #e8c872;
  font-size: 0.72rem;
  font-weight: 700;
  cursor: pointer;
}
.em-oklm-card-overlay__err {
  margin: 0.35rem 0 0;
  color: #c0392b;
  font-size: 0.72rem;
  line-height: 1.3;
}
.em-oklm-card-overlay__row.is-dim,
.em-oklm-card-overlay__row:disabled {
  opacity: 0.38;
  color: #888;
  border-color: #333;
  cursor: default;
}
/* STATUT menu: grey-white labels, anchored to Statut chip */
.em-oklm-card-overlay--statut .em-oklm-card-overlay__row--statut {
  color: #e8ece8;
  border-color: rgba(232, 236, 232, 0.28);
}
/* Trash submenu: same grey-white labels (not gold). Confirm dialog unchanged. */
.em-oklm-card-overlay--delete .em-oklm-card-overlay__row--delete {
  color: #e8ece8;
  border-color: rgba(232, 236, 232, 0.28);
}
.em-oklm-card-overlay--delete .em-oklm-card-overlay__row--delete.is-dim,
.em-oklm-card-overlay--delete .em-oklm-card-overlay__row--delete:disabled {
  color: #888;
}
.em-access-sheet {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: calc(5.4rem + env(safe-area-inset-bottom, 0px));
  width: min(320px, calc(100vw - 1rem));
  max-width: 320px;
  z-index: 76;
  box-sizing: border-box;
  padding: 0.7rem 0.75rem 0.75rem;
  border-radius: 14px;
  border: 1px solid rgba(232, 200, 114, 0.9);
  background: rgba(10, 10, 10, 0.92);
  color: #f4f4f4;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
}
.em-access-sheet__head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 1.35rem;
  margin: 0 0 0.15rem;
}
.em-access-sheet__kicker {
  margin: 0;
  text-align: center;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  font-weight: 750;
  color: #e8c872;
}
.em-access-sheet__close {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  margin: 0;
  padding: 0 0.15rem;
  border: 0;
  background: transparent;
  color: #e8c872;
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
}
.em-access-sheet__title {
  margin: 0.2rem 0 0.45rem;
  font-size: 0.92rem;
  font-weight: 750;
  line-height: 1.25;
  text-align: center;
}
.em-access-sheet__qr {
  display: block;
  width: min(220px, 100%);
  height: auto;
  margin: 0.2rem auto 0.4rem;
  background: #fff;
}
.em-access-sheet__url {
  margin: 0;
  text-align: center;
  font-size: 0.68rem;
  line-height: 1.35;
  word-break: break-all;
  overflow-wrap: anywhere;
  user-select: text;
  -webkit-user-select: text;
}
.em-access-sheet__actions {
  display: flex;
  gap: 0.4rem;
  margin-top: 0.45rem;
}
.em-access-sheet__btn {
  flex: 1;
  border: 1px solid rgba(232, 200, 114, 0.7);
  border-radius: 8px;
  background: transparent;
  color: #e8c872;
  font-weight: 700;
  padding: 0.4rem 0.3rem;
}
.em-oklm-events__slot--date {
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-color: rgba(232, 200, 114, 0.45);
  text-underline-offset: 0.15em;
}
.em-series-sheet__cadences {
  display: grid;
  gap: 0.28rem;
  margin-top: 0.35rem;
}
.em-series-sheet__cadence {
  width: 100%;
  text-align: left;
  padding: 0.42rem 0.5rem;
  border: 1px solid rgba(232, 200, 114, 0.28);
  border-radius: 8px;
  background: #0a0a0a;
  color: #e8e8e8;
  font-size: 0.78rem;
  font-weight: 650;
  cursor: pointer;
}
.em-series-sheet__cadence.is-on {
  border-color: rgba(232, 200, 114, 0.9);
  color: #e8c872;
}
.em-status-sheet-root,
.em-sitting-cal-root {
  position: fixed;
  inset: 0;
  z-index: 78;
}
.em-status-sheet-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}
.em-status-sheet-root .em-status-sheet {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: calc(5.4rem + env(safe-area-inset-bottom, 0px));
  z-index: 1;
  width: min(320px, calc(100vw - 1rem));
}
.em-status-sheet__actions,
.em-status-sheet__delete {
  display: grid;
  gap: 0.28rem;
  margin-top: 0.35rem;
}
.em-status-sheet__err {
  margin: 0.25rem 0 0;
  font-size: 0.72rem;
  font-weight: 650;
  color: #e07070;
  text-align: center;
}
.em-status-sheet__confirm {
  margin: 0.35rem 0 0;
  font-size: 0.72rem;
  font-weight: 650;
  color: #e8c872;
  text-align: center;
  line-height: 1.35;
}
.em-status-sheet__confirm-actions {
  display: grid;
  gap: 0.28rem;
  margin-top: 0.35rem;
}
.em-status-sheet__row {
  width: 100%;
  text-align: left;
  padding: 0.45rem 0.5rem;
  border: 1px solid rgba(232, 200, 114, 0.35);
  border-radius: 8px;
  background: #0a0a0a;
  color: #e8e8e8;
  font-size: 0.78rem;
  font-weight: 650;
  cursor: pointer;
}
.em-status-sheet__row.is-dim,
.em-status-sheet__row:disabled {
  opacity: 0.38;
  color: #888;
  cursor: default;
}
.em-sitting-cal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}
.em-sitting-cal-root .em-sitting-cal {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: calc(5.4rem + env(safe-area-inset-bottom, 0px));
  z-index: 1;
  /* DATE tool chrome — cool grey, not a second gold card */
  border-color: rgba(138, 147, 140, 0.35);
}
.em-sitting-cal .em-access-sheet__kicker {
  color: #e8c872; /* DATE title: only gold besides Confirmer */
}
.em-sitting-cal .em-access-sheet__close {
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 50%;
  border: 1px solid rgba(138, 147, 140, 0.55);
  background: rgba(138, 147, 140, 0.22);
  color: #ffffff;
  font-size: 0.95rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.em-sitting-cal__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  margin: 0.25rem 0 0.4rem;
}
.em-sitting-cal__nav-btn {
  border: 1px solid rgba(138, 147, 140, 0.55);
  border-radius: 50%;
  background: rgba(138, 147, 140, 0.22);
  color: #ffffff;
  width: 2rem;
  height: 2rem;
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
}
.em-sitting-cal__nav-lab {
  flex: 1;
  text-align: center;
  font-size: 0.82rem;
  font-weight: 750;
  color: #ffffff; /* month / year white */
}
.em-sitting-cal__grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.22rem;
  margin-bottom: 0.45rem;
}
.em-sitting-cal__dow {
  text-align: center;
  font-size: 0.62rem;
  color: #e8ece8;
  font-weight: 650;
}
.em-sitting-cal__day {
  border: 1px solid rgba(138, 147, 140, 0.55); /* grey ring for cadence-valid */
  border-radius: 7px;
  background: transparent;
  color: #e8ece8;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.35rem 0;
  cursor: pointer;
}
.em-sitting-cal__day.is-pad {
  border: 0;
  background: transparent;
  pointer-events: none;
}
.em-sitting-cal__day.is-off,
.em-sitting-cal__day:disabled {
  opacity: 0.28;
  cursor: default;
  color: #777;
  border-color: transparent; /* off-cadence: dim, no ring */
  background: transparent;
}
.em-sitting-cal__day.is-on {
  border-color: #1a7a4c;
  background: #1a7a4c; /* CSE green selected */
  color: #ffffff;
}
.em-dt-root {
  z-index: 84;
}
.em-dt-sheet .em-sitting-cal__day.is-on {
  border-color: #e8c872;
  background: #e8c872;
  color: #121212;
}
.em-dt-sheet .em-time-pick__cols {
  margin-top: 0.45rem;
}
.em-dt-field {
  cursor: pointer;
  font-size: 0.68rem;
  white-space: nowrap;
}
.em-dt-field::placeholder {
  color: #8a938c;
  opacity: 1;
}
.em-sitting-cal__confirm,
.em-sitting-cal .em-access-sheet__btn.em-sitting-cal__confirm {
  width: 100%;
  margin-top: 0.15rem;
  border: 1px solid #e8c872;
  background: #e8c872; /* gold fill */
  color: #121212; /* dark label */
}
.em-edit-event-root {
  position: fixed;
  inset: 0;
  z-index: 78;
}
.em-edit-event-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}
.em-edit-event-root .em-edit-event-sheet {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: calc(5.4rem + env(safe-area-inset-bottom, 0px));
  z-index: 1;
  max-height: min(72vh, 560px);
  display: flex;
  flex-direction: column;
}
/* Edit Event title only — white, not gold. Fields/Save/X untouched. */
.em-edit-event-sheet > .em-access-sheet__head .em-access-sheet__kicker {
  color: #ffffff;
  font-weight: 700;
}
.em-edit-event-scroll {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  flex: 1 1 auto;
  padding-right: 0.1rem;
  margin-bottom: 0.45rem;
}
.em-edit-event__lab {
  display: block;
  margin: 0.35rem 0 0.15rem;
  font-size: 0.68rem;
  font-weight: 700;
  color: #e8c872;
}
.em-edit-event__input,
.em-edit-event__ta {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(232, 200, 114, 0.4);
  border-radius: 8px;
  background: #0a0a0a;
  color: #f4f4f4;
  font-size: 0.78rem;
  padding: 0.4rem 0.45rem;
}
.em-edit-event__row {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 0.35rem;
  align-items: center;
}
.em-edit-event__pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 0.45rem;
  align-items: start;
}
.em-edit-event__cell {
  min-width: 0;
}
.em-edit-event__cell .em-edit-event__input,
.em-edit-event__cell .em-edit-event__time-wrap {
  width: 100%;
  max-width: 100%;
}
.em-edit-event__time-wrap {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.25rem;
  align-items: center;
  min-width: 0;
}
.em-edit-event__time {
  min-width: 0;
}
.em-edit-event__clock {
  width: 2rem;
  height: 2rem;
  border: 1px solid rgba(232, 200, 114, 0.45);
  border-radius: 8px;
  background: #0a0a0a;
  color: #e8c872;
  font-size: 0.85rem;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}
.em-time-pick-root {
  position: fixed;
  inset: 0;
  z-index: 82;
}
.em-time-pick-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}
.em-time-pick-root .em-time-pick-sheet {
  position: fixed;
  z-index: 1;
  width: min(280px, calc(100vw - 1.25rem));
  margin: 0;
  bottom: auto;
  transform: none;
}
.em-time-pick__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.45rem;
  margin: 0.35rem 0 0.55rem;
}
.em-edit-event__err {
  margin: 0.35rem 0 0.4rem;
  padding: 0.32rem 0.45rem;
  border-radius: 8px;
  border: 1px solid rgba(224, 112, 112, 0.45);
  background: rgba(40, 12, 12, 0.92);
  font-size: 0.72rem;
  font-weight: 650;
  color: #f0c0c0;
  text-align: center;
}
.em-edit-event__err[hidden] {
  display: none !important;
}
.em-edit-event__save {
  width: 100%;
  border: 1px solid #e8c872 !important;
  background: #e8c872 !important;
  color: #121212 !important;
}
.em-edit-event__save:disabled {
  opacity: 0.72;
}
/* Members chrome press — not public /p/ license card */
.page-membres-home button:active,
.page-membres-home .btn:active,
.page-membres-home .em-oklm-events__chip:active,
.page-membres-home .em-oklm-events__icon-btn:active,
.page-membres-home .em-oklm-card-overlay__row:active,
.page-membres-home .em-access-sheet__btn:active,
.page-membres-home .em-access-sheet__close:active,
.page-membres-home .em-home-card-retro:active,
.page-membres-home .em-nav-card:active,
.page-membres-home button.is-pressed,
.page-membres-home .btn.is-pressed,
.page-membres-home .em-oklm-events__chip.is-pressed,
.page-membres-home .em-oklm-card-overlay__row.is-pressed,
.page-membres-home .em-access-sheet__btn.is-pressed {
  opacity: 0.72;
  transform: scale(0.98);
  transition: opacity 80ms ease, transform 80ms ease;
}
.em-oklm-toast {
  position: fixed;
  left: 50%;
  bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
  transform: translateX(-50%);
  z-index: 80;
  margin: 0;
  padding: 0.55rem 0.85rem;
  border-radius: 8px;
  border: 1px solid rgba(232, 200, 114, 0.45);
  background: #141414;
  color: #e8c872;
  font-size: 0.8rem;
  font-weight: 650;
  max-width: min(92vw, 22rem);
  text-align: center;
}
.em-oklm-roster-setup {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  min-height: 0;
}
.em-oklm-roster-setup .em-oklm-desk__back {
  align-self: flex-start;
}
.em-oklm-roster-setup.em-oklm-desk {
  display: flex;
  flex-direction: column;
  gap: 0.22rem;
  min-height: 0;
  /* Fit title+tabs+8 rows+pager+CTAs above bottom nav — no desk scroll */
  overflow: hidden;
  padding-bottom: 0.15rem;
}
.em-oklm-rs__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.08rem;
  text-align: center;
  /* One small gap under @HANDLE — pull title up for short Android viewports */
  margin-top: 0.45rem;
  margin-bottom: 0.08rem;
  flex: 0 0 auto;
}
.em-oklm-rs__title {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 850;
  color: #f4f4f4;
  letter-spacing: 0.02em;
  text-align: center;
}
.em-oklm-rs__count {
  margin: 0 0 0.1rem;
  font-size: 0.74rem;
  font-weight: 750;
  color: #e8c872;
  letter-spacing: 0.04em;
  text-align: center;
}
.em-oklm-rs__nk {
  color: #c9a227;
  font-weight: 800;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.em-oklm-rs__tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin: 0;
  width: 100%;
  flex: 0 0 auto;
  border: 1px solid rgba(232, 200, 114, 0.55);
  border-radius: 999px;
  overflow: hidden;
  background: rgba(18, 18, 18, 0.92);
  box-sizing: border-box;
}
.em-oklm-rs__tab {
  padding: 0.28rem 0.4rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(232, 200, 114, 0.55);
  font-size: 0.7rem;
  font-weight: 750;
  cursor: pointer;
}
.em-oklm-rs__tab.is-on {
  background: #e8c872;
  color: #0a0a0a;
}
.em-oklm-rs__table-wrap {
  /* Full content width — same inset as tabs. Chevrons are NOT beside this. */
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  margin: 0;
  padding: 0.18rem 0.28rem 0.2rem;
  border-radius: 10px;
  background: #ffffff;
  border: 1px solid #e6e6e6;
  overflow: hidden;
  box-sizing: border-box;
}
/* Lock overlay — inset on white table only (not full shell / nav). */
.em-oklm-rs__lock-banner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.18rem;
  box-sizing: border-box;
  width: min(13.5rem, calc(100% - 2.4rem));
  max-width: 13.5rem;
  padding: 0.68rem 0.8rem;
  background: rgba(192, 57, 43, 0.72);
  color: #ffffff;
  border: 1px solid rgba(232, 200, 114, 0.55);
  border-radius: 10px;
  text-align: center;
  pointer-events: none;
}
.em-oklm-rs__lock-banner[hidden] {
  display: none !important;
}
.em-oklm-rs__lock-banner-l1,
.em-oklm-rs__lock-banner-l2 {
  display: block;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.25;
  color: #ffffff;
}
.em-oklm-rs__lock-banner-l1 {
  font-size: clamp(0.9rem, 3.4vw, 1.05rem);
}
.em-oklm-rs__lock-banner-l2 {
  font-size: clamp(0.78rem, 3vw, 0.92rem);
}
.em-oklm-rs__addnew:disabled,
.em-oklm-rs__publish:disabled {
  opacity: 0.45;
  cursor: default;
}
.em-oklm-rs__pager-row {
  display: grid;
  grid-template-columns: 2.4rem 1fr 2.4rem;
  gap: 0.3rem;
  align-items: center;
  margin: 0;
  flex: 0 0 auto;
}
.em-oklm-rs__chev {
  width: 2.4rem;
  height: 2.2rem;
  border: 1px solid rgba(232, 200, 114, 0.45);
  border-radius: 10px;
  background: rgba(18, 18, 18, 0.92);
  color: #e8c872;
  font-size: 1.55rem;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
}
.em-oklm-rs__chev:disabled {
  opacity: 0.28;
  cursor: default;
}
.em-oklm-rs__cta-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.4rem;
  align-items: center;
  margin: 0;
  flex: 0 0 auto;
}
.em-oklm-rs__dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  min-height: 0.55rem;
}
.em-oklm-rs__dot {
  width: 0.42rem;
  height: 0.42rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(232, 200, 114, 0.28);
  cursor: pointer;
}
.em-oklm-rs__dot.is-on {
  background: #e8c872;
}
.em-oklm-rs__grid {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
  color: #111;
  background: #ffffff;
}
.em-oklm-rs__grid thead {
  background: #0a0a0a;
}
.em-oklm-rs__grid th {
  text-align: left;
  padding: 0.22rem 0.22rem 0.26rem;
  color: #e8e8e8;
  font-weight: 700;
  font-size: 11px;
  text-decoration: underline;
  text-underline-offset: 2px;
  border-bottom: 0;
  background: #0a0a0a;
}
.em-oklm-rs__grid td {
  padding: 0 0.22rem;
  height: 30px;
  vertical-align: middle;
  border-bottom: 1px solid #eee;
  color: #111;
  font-size: 11px;
  background: #ffffff;
}
.em-oklm-rs__tr {
  touch-action: pan-y;
  background: #ffffff;
}
/* Active: iOS Mail in-row Delete (Admin swipe-reveal pattern) */
.em-oklm-rs__headrow {
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1.15fr) minmax(0, 1.15fr) minmax(0, 1.1fr) 2.2rem;
  gap: 0.2rem;
  padding: 0.22rem 0.2rem;
  font-size: 11px;
  font-weight: 700;
  color: #e8e8e8;
  text-decoration: underline;
  text-underline-offset: 2px;
  background: #0a0a0a;
  border-radius: 6px 6px 0 0;
}
.em-oklm-rs__headrow span {
  text-decoration: underline;
  color: #e8e8e8;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.em-oklm-rs__swipe-list {
  display: grid;
}
.em-oklm-rs__swipe.swipe-reveal,
.em-oklm-rs__swipe--blank {
  position: relative;
  overflow: hidden;
  touch-action: pan-y;
  border-top: 1px solid #eee;
  background: #ffffff;
  min-height: 30px;
  height: 30px;
}
.em-oklm-rs__swipe--blank {
  pointer-events: none;
}
.em-oklm-rs__swipe .swipe-reveal__del {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 5.5rem;
  z-index: 0;
  margin: 0;
  padding: 0 0.35rem;
  border: 0;
  border-radius: 0;
  background: #c0392b;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  opacity: 1; /* visible only in the revealed gap under the sliding panel */
}
.em-oklm-rs__swipe .swipe-reveal__panel {
  position: relative;
  z-index: 1;
  background: #ffffff;
  transition: transform 0.18s ease;
  will-change: transform;
}
.em-oklm-rs__swipe.swipe-reveal.is-open .swipe-reveal__panel {
  transform: translateX(-5.5rem);
}
.em-oklm-rs__rowline {
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1.15fr) minmax(0, 1.15fr) minmax(0, 1.1fr) 2.2rem;
  gap: 0.2rem;
  align-items: center;
  height: 30px;
  min-height: 30px;
  padding: 0 0.2rem;
  font-size: 11px;
  color: #111;
  background: #ffffff;
}
.em-oklm-rs__rowline > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.em-oklm-rs__rowline--blank > span {
  visibility: hidden;
}
/* Active list name paint: licensed green · prospect brown/grey. */
.em-oklm-rs__name--licensed {
  color: #1a7f37;
  font-weight: 650;
}
.em-oklm-rs__name--prospect {
  color: #8b6914;
  font-weight: 650;
}
.em-oklm-events__state-pip {
  display: inline-block;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  margin-right: 0.25rem;
  vertical-align: middle;
  background: #6a6a6a;
}
.em-oklm-events__state-pip.is-open {
  background: #2ecc71;
}
.em-oklm-events__state-pip.is-live {
  background: #f1c40f;
}
.em-oklm-events__state-pip.is-closed {
  background: #888;
}
.em-oklm-rs__close-week {
  display: block;
  width: 100%;
  margin: 0.35rem 0 0;
  padding: 0.35rem 0.5rem;
  border: 1px solid rgba(232, 232, 232, 0.35);
  border-radius: 8px;
  background: transparent;
  color: #e8e8e8;
  font-size: 0.78rem;
  font-weight: 650;
  cursor: pointer;
}
.em-oklm-rs__close-week:disabled,
.em-oklm-desk.is-readonly .em-oklm-rs__close-week {
  opacity: 0.45;
  cursor: default;
}
.em-oklm-rs__grid tr {
  height: 30px;
}
.em-oklm-rs__grid td {
  height: 30px;
}
.em-oklm-rs__tr--blank td {
  border-bottom: 1px solid #eee;
}
/* Hover may hint the gap — Delete still only after left slide (is-open). */
@media (hover: hover) {
  .em-oklm-rs__swipe:hover .swipe-reveal__panel {
    transform: translateX(-0.55rem);
  }
  .em-oklm-rs__swipe.is-open:hover .swipe-reveal__panel,
  .em-oklm-rs__swipe.swipe-reveal.is-open .swipe-reveal__panel {
    transform: translateX(-5.5rem);
  }
}
.em-oklm-rs__search {
  width: 100%;
  box-sizing: border-box;
  padding: 0.5rem 0.65rem;
  border: 1px solid rgba(232, 200, 114, 0.55);
  border-radius: 8px;
  background: #141414;
  color: #f4f4f4;
  font-size: 0.86rem;
}
.em-oklm-rs__search::placeholder {
  color: rgba(244, 244, 244, 0.55);
  opacity: 1;
}
.em-oklm-rs__pane {
  background: #ffffff;
  border-radius: 10px;
  border: 1px solid #d8d8d8;
  overflow: hidden;
  min-height: 16rem;
  max-height: 55vh;
  display: flex;
  flex-direction: column;
}
.em-oklm-rs__pane--full {
  width: 100%;
}
.em-oklm-rs__list {
  list-style: none;
  margin: 0;
  padding: 0.35rem;
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  display: grid;
  gap: 0.3rem;
  align-content: start;
}
.em-oklm-rs__addnew {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.42rem 0.55rem;
  border: 1px solid rgba(212, 175, 55, 0.55);
  border-radius: 999px;
  background: #d4af37;
  color: #0a0a0a;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.03em;
  cursor: pointer;
  text-align: center;
}
.em-oklm-rs__row {
  padding: 0.5rem 0.55rem;
  border: 1px solid transparent;
  border-radius: 8px;
  background: #f7f7f7;
  color: #111;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
}
.em-oklm-rs__row.is-sel {
  border-color: #d4af37;
  box-shadow: 0 0 0 1px rgba(212, 175, 55, 0.45);
  background: #fffdf4;
}
.em-oklm-rs__xfer {
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  border: 1px solid rgba(232, 200, 114, 0.5);
  background: #141414;
  color: #e8c872;
  font-size: 1.05rem;
  font-weight: 800;
  cursor: pointer;
}
.em-oklm-rs__xfer--rm {
  font-size: 0.95rem;
}
.em-oklm-rs__publish {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.42rem 0.55rem;
  border: 1px solid #1a7a4c;
  border-radius: 999px;
  background: #1a7a4c;
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  cursor: pointer;
  text-align: center;
}
/* Android short viewport: kill leftover stage padding that pushes CTAs below fold */
.page-membres-home .em-card.is-pf-stage .em-pf-stage:not([hidden]) .kyc-scroll.pf-wizard {
  padding-top: 0.15rem;
  padding-bottom: 0.2rem;
  overflow: hidden;
}
.page-membres-home .em-card.is-pf-stage .em-pf-stage:not([hidden]) .pf-step.em-oklm-roster-setup {
  margin-top: 0;
  padding-top: 0;
}

/*
 * Android short-viewport squeeze only — do not change iOS that already fits.
 * Touch + short height: pull title up, 26px rows, less tab/table/pager air.
 */
@media (max-height: 760px) and (hover: none) and (pointer: coarse) {
  .em-oklm-roster-setup.em-oklm-desk {
    gap: 0.12rem;
    padding-bottom: 0;
  }
  .em-oklm-rs__head {
    margin-top: 0.12rem;
    margin-bottom: 0.04rem;
    gap: 0.04rem;
  }
  .em-oklm-rs__count {
    margin-bottom: 0.04rem;
  }
  .em-oklm-rs__tab {
    padding: 0.2rem 0.35rem;
  }
  .em-oklm-rs__table-wrap {
    padding: 0.1rem 0.22rem 0.12rem;
  }
  .em-oklm-rs__headrow {
    padding: 0.16rem 0.16rem;
  }
  .em-oklm-rs__grid th {
    padding: 0.14rem 0.18rem 0.18rem;
  }
  .em-oklm-rs__grid td,
  .em-oklm-rs__grid tr {
    height: 26px;
  }
  .em-oklm-rs__swipe.swipe-reveal,
  .em-oklm-rs__swipe--blank {
    min-height: 26px;
    height: 26px;
  }
  .em-oklm-rs__rowline {
    height: 26px;
    min-height: 26px;
  }
  .em-oklm-rs__pager-row {
    gap: 0.22rem;
  }
  .em-oklm-rs__chev {
    height: 2rem;
  }
  .em-oklm-rs__cta-row {
    gap: 0.32rem;
  }
  .em-oklm-rs__addnew,
  .em-oklm-rs__publish {
    padding: 0.34rem 0.45rem;
  }
  .page-membres-home .em-card.is-pf-stage .em-pf-stage:not([hidden]) .kyc-scroll.pf-wizard {
    padding-top: 0.05rem;
    padding-bottom: 0.08rem;
  }
}
/* Kill leftover white stage / stray transfer chrome on this desk */
.em-oklm-roster-setup .em-oklm-rs__pane,
.em-oklm-roster-setup .em-oklm-rs__xfer,
.em-oklm-roster-setup .em-oklm-rs__empty-dark {
  display: none !important;
}
/* Add/New .cse-sheet — max 320px, docked 12px above bottom nav */
.em-oklm-sheet,
.em-oklm-confirm {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0 0 calc(12px + 4.35rem + env(safe-area-inset-bottom, 0px));
  box-sizing: border-box;
}
.em-oklm-sheet__panel,
.em-oklm-confirm__panel {
  position: relative;
  width: calc(100% - 40px);
  max-width: 320px;
  /* Grow UP from nav dock; never into nav / FECABI header */
  max-height: calc(
    100dvh - 3.2rem - 4.35rem - env(safe-area-inset-bottom, 0px) - 24px
  );
  overflow: hidden; /* no inner scrollbar — shrink fields if needed */
  margin: 0 auto;
  padding: 1rem 0.85rem 0.95rem;
  border: 1px solid rgba(232, 200, 114, 0.45);
  border-radius: 14px;
  background: rgba(18, 18, 18, 0.92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  display: grid;
  gap: 0.4rem;
  align-content: start;
  box-sizing: border-box;
}
.em-oklm-sheet__panel.is-resolved {
  gap: 0.28rem;
}
.em-oklm-confirm__panel {
  text-align: center;
  color: #f4f4f4;
  font-size: 0.9rem;
  white-space: pre-line;
}
.em-oklm-confirm__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.45rem;
}
.em-oklm-confirm__no,
.em-oklm-confirm__yes {
  padding: 0.5rem 0.55rem;
  border-radius: 8px;
  font-size: 0.78rem;
  font-weight: 800;
  cursor: pointer;
}
.em-oklm-confirm__no {
  border: 1px solid #444;
  background: #1a1a1a;
  color: #cfcfcf;
}
.em-oklm-confirm__yes {
  border: 1px solid #a33;
  background: #8b1e1e;
  color: #fff;
}
.em-oklm-sheet__title {
  margin: 0 1.5rem 0.2rem 0;
  text-align: center;
  font-size: 0.95rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  color: #e8c872;
}
.em-oklm-sheet__x {
  position: absolute;
  top: 0.45rem;
  right: 0.55rem;
  border: 0;
  background: transparent;
  color: #e8c872;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}
.em-oklm-sheet__fields {
  display: grid;
  gap: 0.28rem;
}
.em-oklm-sheet__lab {
  font-size: 0.72rem;
  color: #f0e6c8;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.em-oklm-sheet__input {
  width: 100%;
  box-sizing: border-box;
  height: 2.5rem;
  padding: 0.45rem 0.65rem;
  border: 1px solid rgba(232, 200, 114, 0.55);
  border-radius: 8px;
  background: rgba(42, 42, 42, 0.95);
  color: #f4f4f4;
  caret-color: #e8c872;
  font-size: 0.9rem;
}
/* After resolve: compact fields so the face card can own the stage */
.em-oklm-sheet__fields.is-compact {
  gap: 0.12rem;
}
.em-oklm-sheet__fields.is-compact .em-oklm-sheet__lab {
  font-size: 10px;
}
.em-oklm-sheet__fields.is-compact .em-oklm-sheet__input {
  height: 32px;
  padding: 0.2rem 0.5rem;
  font-size: 0.82rem;
}
.em-oklm-sheet__cta {
  margin-top: 0.25rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid rgba(212, 175, 55, 0.65);
  border-radius: 8px;
  background: #d4af37;
  color: #0a0a0a;
  font-size: 0.84rem;
  font-weight: 850;
  cursor: pointer;
}
.em-oklm-sheet__hint {
  margin: 0.1rem 0 0;
  min-height: 1em;
  font-size: 0.76rem;
  color: #9fd4b8;
}
.em-oklm-sheet__hint.is-err {
  color: #e74c3c;
}
.em-oklm-sheet__stage {
  margin-top: 0.35rem;
  min-height: 11rem;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.em-oklm-sheet__empty {
  margin: 0.35rem 0;
  font-size: 0.84rem;
  color: #cfcfcf;
  font-style: italic;
  text-align: center;
}
.em-oklm-sheet__lock {
  margin: 0.55rem 0.25rem;
  padding: 0.55rem 0.65rem;
  text-align: center;
  font-size: 0.82rem;
  font-weight: 750;
  line-height: 1.4;
  color: #e8c872;
  border-left: 3px solid #e8c872;
  background: rgba(232, 200, 114, 0.08);
}
.em-oklm-sheet__hero {
  width: 100%;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem;
  align-items: start;
  padding: 0.75rem 0.55rem 0.65rem;
  border: 1px solid rgba(232, 200, 114, 0.4);
  border-radius: 14px;
  background: rgba(10, 10, 10, 0.88);
  color: #f4f4f4;
  transform: translateX(0);
  opacity: 1;
  transition: transform 220ms ease, opacity 220ms ease;
  box-sizing: border-box;
}
.em-oklm-sheet__hero.is-enter {
  transform: translateX(28px);
  opacity: 0;
}
.em-oklm-sheet__hero.is-enter.is-in {
  transform: translateX(0);
  opacity: 1;
}
.em-oklm-sheet__hero.is-exit {
  transform: translateX(-36px);
  opacity: 0;
}
.em-oklm-sheet__hero-left {
  display: grid;
  justify-items: center;
  gap: 0.4rem;
  min-width: 0;
}
.em-oklm-sheet__hero-sq {
  width: 128px;
  height: 128px;
  border-radius: 8px;
  overflow: hidden;
  background: #1a1a1a;
  border: 1px solid rgba(232, 200, 114, 0.4);
  flex-shrink: 0;
}
.em-oklm-sheet__hero-img,
.em-oklm-sheet__hero-ini {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0; /* square face — not circle */
}
.em-oklm-sheet__hero-ini {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 850;
  color: #e8c872;
  font-size: 2rem;
  background: #1a1a1a;
}
.em-oklm-sheet__hero-name {
  margin: 0;
  max-width: 128px;
  font-size: 0.82rem;
  font-weight: 800;
  text-align: center;
  letter-spacing: 0.02em;
  line-height: 1.25;
  color: #f4f4f4;
}
.em-oklm-sheet__hero-actions {
  display: grid;
  gap: 0.55rem;
  justify-items: start;
  align-content: center;
  padding-top: 0.35rem;
  min-width: 0;
}
.em-oklm-sheet__text-cta {
  border: 0;
  background: transparent;
  color: #e8c872;
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  cursor: pointer;
  padding: 0.2rem 0;
  text-align: left;
}
.em-oklm-sheet__text-cta--muted {
  color: #b8b0a0;
  font-weight: 650;
}
@media (max-width: 360px) {
  .em-oklm-sheet__hero-sq {
    width: 112px;
    height: 112px;
  }
  .em-oklm-sheet__hero-name {
    max-width: 112px;
  }
}
.em-oklm-sheet__link {
  border: 0;
  background: transparent;
  color: #e8c872;
  font-size: 0.78rem;
  font-weight: 650;
  text-decoration: underline;
  cursor: pointer;
  padding: 0.35rem 0;
  justify-self: center;
}
.em-oklm-events__card-r1 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.55rem;
  margin-bottom: 0.4rem;
}
.em-oklm-events__card-tools {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  flex-shrink: 0;
  margin-top: 0.05rem;
}
.em-oklm-events__icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.55rem;
  height: 1.55rem;
  padding: 0;
  border: 1px solid rgba(232, 200, 114, 0.55);
  border-radius: 7px;
  background: transparent;
  color: #e8c872;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}
.em-oklm-card-overlay__msg {
  margin: 0.1rem 0.2rem 0.25rem;
  font-size: 0.68rem;
  font-weight: 650;
  color: #e8c872;
  line-height: 1.35;
  text-align: center;
}
.em-oklm-events__card-r2 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem;
  margin-bottom: 0.5rem;
  font-size: 0.72rem;
  color: #9a9a9a;
  line-height: 1.3;
}
.em-oklm-events__slot {
  flex: 1 1 0;
  min-width: 0;
  text-align: center;
}
.em-oklm-events__slot:first-child {
  text-align: left;
}
.em-oklm-events__slot:last-child {
  text-align: right;
}
.em-oklm-events__slot-dot {
  flex: 0 0 auto;
  color: #6a6a6a;
  padding: 0 0.1rem;
}
.em-oklm-events__card-r3 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem;
  width: 100%;
}
.em-oklm-events__meta {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: baseline;
  gap: 0;
  min-width: 0;
  flex: 1 1 0;
  white-space: nowrap;
}
.em-oklm-events__meta-val.is-life-draft {
  color: #8a8a8a;
}
.em-oklm-events__meta-val.is-life-open {
  color: #1a7a4c;
}
.em-oklm-events__meta-val.is-life-started {
  color: #e8c872;
}
.em-oklm-events__meta-val.is-life-ended {
  color: #6e6e6e;
}
.em-oklm-events__meta:nth-child(2) {
  justify-content: center;
  text-align: center;
}
.em-oklm-events__meta:last-child {
  justify-content: flex-end;
  text-align: right;
}
.em-oklm-events__meta-lab {
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.01em;
  color: #8a8a8a;
  text-transform: none;
}
.em-oklm-events__meta-val {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  color: #e8e8e8;
}
.em-oklm-events__meta-val.is-open {
  color: #2ecc71;
}
.em-oklm-events__meta-val.is-closed {
  color: #9a9a9a;
}
.em-oklm-events__meta-val.is-reg-zero {
  color: #b0b0b0;
}
.em-oklm-events__meta-val.is-reg-mid {
  color: #e8c872; /* CSE gold */
}
.em-oklm-events__meta-val.is-reg-full,
.em-oklm-events__meta-val.is-reg-open {
  color: #2ecc71;
}
.em-oklm-events__meta-val.is-target {
  color: #f1c40f; /* yellow */
}
.em-oklm-events__card-title {
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #e8c872;
  line-height: 1.25;
}

.em-oklm-events__card:not(.em-vn-card) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  column-gap: 0.35rem;
  row-gap: 0.45rem;
  align-items: center;
  min-width: 0;
  max-width: 100%;
}
.em-oklm-events__card:not(.em-vn-card) .em-oklm-events__card-r1 {
  grid-column: 1 / -1;
  display: block;
  min-width: 0;
  max-width: 100%;
  margin-bottom: 0;
}
.em-oklm-events__card:not(.em-vn-card) .em-oklm-events__card-r2,
.em-oklm-events__card:not(.em-vn-card) .em-oklm-events__card-r3 {
  display: contents;
}
.em-oklm-events__card:not(.em-vn-card) .em-oklm-events__slot--city,
.em-oklm-events__card:not(.em-vn-card) .em-oklm-events__meta--fee {
  justify-self: start;
  text-align: left;
}
.em-oklm-events__card:not(.em-vn-card) .em-oklm-events__meta--fee {
  justify-content: flex-start;
}
.em-oklm-events__card:not(.em-vn-card) .em-oklm-events__card-title {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
}
.em-oklm-events__card:not(.em-vn-card) .em-oklm-events__card-r2 .em-oklm-events__card-tools,
.em-oklm-events__card:not(.em-vn-card) .em-oklm-events__meta:last-child {
  justify-self: end;
  margin-left: 0;
  margin-top: 0;
}
.em-oklm-events__card.em-vn-card {
  min-height: 0;
  height: auto;
  padding: 0.28rem 0.65rem 0.32rem;
}
.em-vn-card .em-oklm-events__card-r1 {
  margin-bottom: 0;
  align-items: center;
}
.em-vn-card .em-oklm-events__card-r2,
.em-vn-card .em-oklm-events__card-r3 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: baseline;
  column-gap: 0.35rem;
  margin-bottom: 0;
}
.em-vn-card .em-oklm-events__card-r2 {
  margin-top: 0.04rem;
  margin-bottom: 0.06rem;
}
.em-vn-card__place {
  grid-column: 1;
  min-width: 0;
  text-align: left;
  color: #c8c8c8;
}
.em-vn-card__dot {
  color: #6a6a6a;
}
.em-vn-card__fees,
.em-vn-card__checks {
  grid-column: 2;
  margin-left: 0;
  justify-self: start;
  text-align: left;
  white-space: nowrap;
  color: #c8c8c8;
}
.em-vn-card .em-oklm-events__meta {
  grid-column: 1;
  flex: 0 1 auto;
  justify-content: flex-start;
}
.em-vn-card__status {
  appearance: none;
  border: 0;
  background: none;
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: inherit;
  cursor: pointer;
}
.em-vn-card__unsaved {
  grid-column: 1;
  margin: 0.12rem 0 0;
  font-size: 0.62rem;
  font-weight: 650;
  line-height: 1.2;
  color: #e8c872;
}
#em-vn-list.em-oklm-events__managed {
  gap: 8px;
  align-content: start;
}
.em-oklm-card-overlay--venue-status .em-oklm-card-overlay__row.is-on {
  border-color: #e8c872;
  color: #e8c872;
}
.em-oklm-events__card-type {
  flex-shrink: 0;
  font-size: 0.72rem;
  font-weight: 750;
  color: #e8c872;
}
.em-oklm-events__card-ttl {
  color: #e8c872;
  letter-spacing: 0.02em;
}
.em-oklm-events__card-count {
  color: #e8c872;
}

.em-oklm-desk__back {
  border: 0;
  background: transparent;
  color: #e8c872;
  font-size: 0.82rem;
  font-weight: 650;
  padding: 0;
  margin: 0 0 0.55rem;
  cursor: pointer;
}
.em-oklm-desk__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0 0 0.75rem;
}
.em-oklm-desk__tab {
  border: 1px solid rgba(232, 200, 114, 0.35);
  background: #121212;
  color: #e8c872;
  border-radius: 999px;
  padding: 0.28rem 0.55rem;
  font-size: 0.68rem;
  font-weight: 700;
}
.em-oklm-desk__tab.is-dim,
.em-oklm-desk__tab:disabled {
  opacity: 0.38;
  color: #999;
  border-color: #333;
  cursor: default;
}
.em-oklm-desk__note {
  margin: 0 0 0.55rem;
  padding: 0.5rem 0.65rem;
  border-left: 3px solid #e8c872;
  background: rgba(232, 200, 114, 0.08);
  font-size: 0.8rem;
  color: #cfcfcf;
  line-height: 1.4;
}
.em-oklm-desk__grid {
  display: grid;
  gap: 0.75rem;
}
.em-oklm-desk__mid {
  display: flex;
  justify-content: center;
  gap: 0.55rem;
}
.em-oklm-desk__xfer {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  border: 1px solid rgba(232, 200, 114, 0.45);
  background: #141414;
  color: #e8c872;
  font-size: 1.1rem;
  font-weight: 700;
  cursor: pointer;
}
.em-oklm-desk__h {
  margin: 0 0 0.45rem;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #e8c872;
}
.em-oklm-desk__empty {
  margin: 0.45rem 0 0;
  font-size: 0.82rem;
  color: #7a7a7a;
  font-style: italic;
}
.em-oklm-desk__filters {
  display: grid;
  gap: 0.35rem;
  margin: 0.4rem 0;
}
.em-oklm-desk__filter {
  font-size: 0.8rem;
  padding: 0.4rem 0.55rem;
}
.em-oklm-events__hit.is-sel,
.em-oklm-events__row.is-sel {
  border-color: rgba(232, 200, 114, 0.7);
  box-shadow: 0 0 0 1px rgba(232, 200, 114, 0.25);
}
@media (min-width: 900px) {
  .em-oklm-desk__grid {
    grid-template-columns: 1fr auto 1fr;
    align-items: start;
  }
  .em-oklm-desk__mid {
    flex-direction: column;
    padding-top: 2.2rem;
  }
}
.em-chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.22rem;
  min-height: 4.35rem;
  padding: 0.35rem 0.2rem;
  border-radius: 14px;
  border: 1px solid rgba(232, 200, 114, 0.45);
  background: linear-gradient(180deg, #141414 0%, #0a0a0a 100%);
  color: #e8c872;
  cursor: pointer;
}
.em-chip.is-off {
  opacity: 0.38;
  pointer-events: none;
  filter: grayscale(0.4);
}
.em-chip__ico {
  width: 2.35rem;
  height: 2.35rem;
}
.em-chip__lab {
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.02em;
  color: #f4f4f4;
}
.em-bottom-nav {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  width: min(480px, 100%);
  bottom: 0;
  z-index: 45;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: end;
  gap: 0.15rem;
  padding: 0.35rem 0.25rem 0.15rem;
  padding-bottom: calc(0.15rem + env(safe-area-inset-bottom, 0px));
  background: #070707;
  border-top: 0;
  box-sizing: border-box;
}
.em-bottom-nav__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.12rem;
  background: transparent;
  border: 0;
  color: #7a7a7a;
  font-size: 0.52rem;
  font-weight: 750;
  letter-spacing: 0.01em;
  padding: 0.2rem 0.05rem 0.28rem;
}
.em-bottom-nav__item.is-on {
  color: #e8c872;
}
.em-bottom-nav__item.is-off {
  opacity: 0.38;
  pointer-events: none;
  filter: grayscale(0.4);
}
.em-bottom-nav__ico {
  width: 1.25rem;
  height: 1.25rem;
}
.em-nav-news-ico-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.em-nav-live-badge {
  position: absolute;
  top: -0.42rem;
  left: 50%;
  transform: translateX(-50%);
  padding: 0.05rem 0.22rem;
  border-radius: 99px;
  background: var(--red, #ce1126);
  color: #fff;
  font-size: 0.38rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.15;
  white-space: nowrap;
  pointer-events: none;
}
.em-nav-live-badge[hidden] {
  display: none !important;
}
.em-bottom-nav__plus {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.65rem;
  height: 2.65rem;
  margin: -0.35rem auto 0.2rem;
  padding: 0;
  border: 2px solid #e8c872 !important;
  border-radius: 50%;
  color: #fff !important;
  background: #1a7a4c !important;
  justify-self: center;
  align-self: center;
  box-sizing: border-box;
}
.em-bottom-nav__plus-ico {
  width: 1.28rem;
  height: 1.28rem;
  display: block;
}
.em-nav-cmr-rule {
  display: flex;
  flex-direction: row;
  grid-column: 1 / -1;
  width: 100%;
  height: 4px;
  z-index: 46;
  flex-shrink: 0;
  overflow: hidden;
  margin: 0.15rem 0 0;
  position: static;
  transform: none;
  left: auto;
  bottom: auto;
}
.em-nav-cmr-rule span {
  flex: 1 1 0;
  display: block;
  height: 100%;
}
.em-nav-cmr-rule span:nth-child(1) {
  background: var(--green, #1a7a4c);
}
.em-nav-cmr-rule span:nth-child(2) {
  background: var(--red, #ce1126);
}
.em-nav-cmr-rule span:nth-child(3) {
  background: var(--gold, #e8c872);
}
.em-chip-overlay[hidden] {
  display: none;
}
.em-chip-overlay {
  position: fixed;
  inset: 0;
  z-index: 80;
}
body.em-overlay-open {
  overflow: hidden;
}
body.em-overlay-open #home-chips-scroll,
body.em-overlay-open .kyc-scroll--home-chips {
  display: none !important;
}
body.em-overlay-open .em-card--home {
  position: relative;
  overflow: hidden;
  min-height: 0;
}
.em-card.is-pf-stage {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.em-news-stage[hidden] {
  display: none !important;
}
.em-news-stage:not([hidden]) {
  display: flex;
  flex-direction: column;
  position: absolute;
  left: 0;
  right: 0;
  top: 2.7rem;
  bottom: 0;
  z-index: 6;
  background: #0a0a0a;
  min-height: 0;
  padding: 0.65rem 0.85rem 0.85rem;
  box-sizing: border-box;
}
.em-news-stage__title {
  margin: 0 0 0.65rem;
  font-size: 1.05rem;
  font-weight: 800;
  color: #e8c872;
}
.em-news-rails {
  display: flex;
  gap: 0.4rem;
  margin: 0 0 0.85rem;
}
.em-news-rail {
  flex: 1 1 0;
  min-height: 2.4rem;
  border: 1px solid rgba(232, 200, 114, 0.35);
  border-radius: 10px;
  background: transparent;
  color: #cfcfcf;
  font-size: 0.78rem;
  font-weight: 750;
  cursor: pointer;
}
.em-news-rail.is-on {
  background: #1a7a4c;
  border-color: #1a7a4c;
  color: #e8c872;
}
.em-news-empty {
  margin: 0.35rem 0 0;
  font-size: 0.88rem;
  color: #bdbdbd;
  line-height: 1.4;
}
.em-wallet-stage[hidden] {
  display: none !important;
}
.em-wallet-stage:not([hidden]) {
  display: flex;
  flex-direction: column;
  position: absolute;
  left: 0;
  right: 0;
  top: 2.7rem;
  bottom: 0;
  z-index: 6;
  background: #0a0a0a;
  min-height: 0;
  padding: 0.65rem 0.85rem 0.85rem;
  box-sizing: border-box;
}
.em-wallet-stage__title {
  margin: 0 0 0.65rem;
  font-size: 1.05rem;
  font-weight: 800;
  color: #e8c872;
}
.em-wallet-stage__body {
  margin: 0;
  font-size: 0.92rem;
  color: #cfcfcf;
  line-height: 1.4;
}
.em-pf-stage[hidden] {
  display: none !important;
}
.em-pf-stage:not([hidden]) {
  display: flex;
  flex-direction: column;
  position: absolute;
  left: 0;
  right: 0;
  top: 2.7rem;
  bottom: 0;
  z-index: 6;
  background: #0a0a0a;
  min-height: 0;
}
.em-pf-stage .kyc-scroll.pf-wizard {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 0.1rem 0.85rem 0.45rem;
  justify-content: flex-start;
}
.em-pf-stage .kyc-sticky-footer {
  flex-shrink: 0;
}
.em-pf-stage .pf-progress,
.em-pf-stage .kyc-sticky-header {
  display: none !important;
}
.em-brand-bio {
  min-height: 8rem;
  resize: vertical;
}
.em-brand-logo-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
  align-items: end;
  margin: 0.15rem 0 0.75rem;
}
.em-brand-logo {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5.4rem;
  margin: 0;
  padding: 0.45rem;
  border: 1px solid rgba(232, 200, 114, 0.45);
  border-radius: 12px;
  background: #000;
  color: #e8c872;
  font-size: 0.82rem;
  font-weight: 750;
  text-align: center;
  cursor: pointer;
  overflow: hidden;
}
.em-brand-logo__preview {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
}
.em-brand-logo.has-preview .em-brand-logo__lab {
  position: relative;
  z-index: 1;
  display: none;
}
.em-brand-screen #em-brand-save {
  width: 100%;
}
.em-id-title-stack {
  text-align: center;
  margin: 0 0 0.35rem;
}
.em-id-screen .em-id-title {
  margin: 0;
  text-align: center;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
}
.em-id-nat {
  margin: 0.12rem 0 0;
  min-height: 1.1em;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #9a9a9a;
}
.em-id-nat__lab {
  color: #9a9a9a;
  font-weight: 700;
}
.em-id-nat__val {
  color: #ffffff;
  font-weight: 700;
}
.em-id-cell--name .em-id-cell__val,
.em-id-cell__val--lg {
  color: #ffffff;
}
.em-id-nat__val.is-missing,
.em-id-nat__val.is-expired,
.em-id-cell__val.is-missing,
.em-id-cell__val.is-expired,
.em-id-screen.is-expired .em-id-nat__val,
.em-id-screen.is-expired .em-id-cell__val {
  color: var(--red, #ce1126);
}
.em-id-pending {
  margin: 0 0 0.65rem;
  text-align: center;
  font-size: 0.82rem;
  font-weight: 750;
  color: #e8c872;
}
.em-id-pending[hidden] {
  display: none !important;
}
.em-id-screen.is-frozen .em-id-req {
  display: none !important;
}
.em-id-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.35rem 0.75rem;
  margin: 0.1rem 0 0.55rem;
}
.em-id-cell {
  min-width: 0;
}
.em-id-cell--name {
  padding-bottom: 0.15rem;
}
.em-id-cell__lab {
  display: block;
  font-size: 0.72rem;
  font-weight: 650;
  color: #9a9a9a;
  margin: 0 0 0.2rem;
}
.em-id-cell__val {
  display: block;
  min-height: 1.15em;
  font-size: 0.95rem;
  font-weight: 700;
  color: #e8c872;
  word-break: break-word;
}
.em-id-cell__val--lg {
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1.15;
}
.em-id-req__label {
  margin: 0 0 0.55rem;
  text-align: center;
  font-size: 0.88rem;
  font-weight: 750;
  color: #e8c872;
}
@keyframes em-id-blink {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.22;
  }
}
.em-id-screen.is-expired .em-id-req__cta--wide:not(:disabled) {
  animation: em-id-blink 1.05s ease-in-out infinite;
}
.em-id-req__cta.em-id-req__cta--wide:disabled,
.em-id-req__cta.em-id-req__cta--wide[aria-disabled="true"] {
  opacity: 0.32;
  pointer-events: none;
  filter: grayscale(0.4);
}
.em-id-req__checks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.35rem 0.7rem;
  box-sizing: border-box;
  margin: 0.5rem 0 0;
  padding: 0.5rem 0.65rem;
  border: 1px solid rgba(232, 200, 114, 0.28);
  border-radius: 12px;
  background: #121212;
}
.em-id-req__cta-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.em-id-req__chk {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.35rem;
  font-size: clamp(0.72rem, 2.6vw, 0.8rem);
  font-weight: 650;
  color: #f2f2f2;
  cursor: pointer;
  white-space: nowrap;
  line-height: 1.2;
}
.em-id-req__chk input {
  flex: 0 0 auto;
  margin: 0;
}
.em-id-req__chk span {
  white-space: nowrap;
}
.em-id-req__note {
  width: 100%;
  margin-top: auto;
  box-sizing: border-box;
  padding: 0.28rem 0.35rem;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background: transparent;
  color: #f2f2f2;
  font: inherit;
  font-size: 0.78rem;
}
.em-id-req__file,
.em-id-req__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.28rem;
  min-height: 4.6rem;
  width: 100%;
  margin: 0;
  padding: 0.45rem 0.4rem;
  border: 0;
  border-radius: 12px;
  background: #1a7a4c;
  color: #e8c872;
  font-size: 0.78rem;
  font-weight: 750;
  text-align: center;
  line-height: 1.2;
  cursor: pointer;
  box-sizing: border-box;
}
.em-id-req__cta.em-id-req__cta--wide {
  flex-direction: row;
  height: 2.3rem;
  min-height: 2.3rem;
  max-height: 2.3rem;
  margin: 0;
  padding: 0;
  line-height: 2.3rem;
  font-size: 0.78rem;
}
.em-id-req__cta:disabled,
.em-id-req__cta[aria-disabled="true"] {
  opacity: 0.42;
  cursor: default;
}
.em-id-scan {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #e8c872;
  cursor: pointer;
  box-sizing: border-box;
}
.em-id-scan__frame {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.18rem;
  width: 100%;
  min-height: 3.05rem;
  padding: 0.2rem 0.25rem 0.22rem;
  border: 1px dashed var(--gold, #e8c872);
  border-radius: 10px;
  background: #0a0a0a;
  overflow: hidden;
  box-sizing: border-box;
}
.em-id-scan__icons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  position: relative;
  z-index: 1;
}
.em-id-scan__ico {
  width: 1.35rem;
  height: 1.35rem;
  color: var(--gold, #e8c872);
}
.em-id-scan__title {
  position: relative;
  z-index: 1;
  font-size: 0.68rem;
  font-weight: 750;
  line-height: 1.15;
  text-align: center;
  color: #e8c872;
}
.em-id-scan__preview {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.em-id-scan.has-preview .em-id-scan__icons {
  display: none;
}
.em-id-scan.has-preview .em-id-scan__title {
  margin-top: auto;
  width: 100%;
  padding: 0.1rem 0.2rem;
  background: rgba(0, 0, 0, 0.55);
}
.em-id-scan__cap {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  line-height: 1.2;
  font-size: 0.68rem;
  font-weight: 750;
  color: #e8c872;
}
.em-id-scan__cap span:last-child {
  font-weight: 550;
  color: #cfcfcf;
  font-size: 0.62rem;
}
.em-id-req__file-ico {
  width: 1.7rem;
  height: 1.7rem;
  display: block;
  flex-shrink: 0;
}
.em-id-req__file-lab {
  display: block;
  text-align: center;
}
.em-id-req__file-name {
  display: block;
  max-width: 100%;
  font-size: 0.62rem;
  font-weight: 650;
  color: #fff;
  word-break: break-all;
}
.em-id-req__file-name[hidden] {
  display: none !important;
}
.em-id-req__cta[hidden] {
  display: flex !important;
}
.em-id-toast {
  position: absolute;
  left: 50%;
  bottom: 0.85rem;
  transform: translateX(-50%);
  z-index: 8;
  margin: 0;
  padding: 0.4rem 0.75rem;
  border-radius: 999px;
  background: rgba(26, 122, 76, 0.92);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}
.em-req-upd {
  margin: 0.75rem 0 0.35rem;
}
.em-chip-check {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0.2rem 0;
  font-size: 0.88rem;
}
.em-chip-overlay__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.62);
}
.em-chip-overlay__panel {
  position: relative;
  z-index: 1;
  max-width: 480px;
  margin: 8vh auto 0;
  max-height: 84vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #0c0c0c;
  border: 1px solid rgba(232, 200, 114, 0.5);
  border-radius: 16px;
  box-shadow: 0 0 0 1px rgba(26, 122, 76, 0.35);
}
.em-chip-overlay__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.7rem 0.85rem;
  border-bottom: 1px solid rgba(232, 200, 114, 0.28);
}
.em-chip-overlay__head h2 {
  margin: 0;
  font-size: 1rem;
  color: #e8c872;
}
.em-chip-overlay__foot {
  padding: 0.65rem 0.85rem 0.85rem;
  border-top: 1px solid rgba(232, 200, 114, 0.28);
}
.em-chip-overlay__foot .btn {
  width: 100%;
}
.em-chip-check {
  display: block;
  margin: 0.25rem 0;
  font-size: 0.85rem;
}
.em-perf-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.72rem;
  margin: 0 0 0.85rem;
}
.em-perf-table th,
.em-perf-table td {
  border: 1px solid rgba(232, 200, 114, 0.25);
  padding: 0.28rem 0.35rem;
  text-align: center;
  color: #ccc;
}
.em-perf-table th {
  color: #e8c872;
}
.em-chip-overlay__x {
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
}
.em-chip-overlay__scroll,
.em-chip-overlay__body {
  padding: 0.85rem;
  overflow-y: auto;
}
.em-chip-lab,
.em-chip-in,
.em-chip-area {
  display: block;
  width: 100%;
  box-sizing: border-box;
}
.em-chip-lab {
  margin: 0 0 0.65rem;
  font-size: 0.78rem;
  font-weight: 650;
  color: #ddd;
}
.em-chip-in,
.em-chip-area {
  margin-top: 0.28rem;
  padding: 0.5rem 0.6rem;
  background: #111;
  border: 1px solid rgba(232, 200, 114, 0.3);
  color: #fff;
  border-radius: 8px;
}
.em-chip-cta {
  display: block;
  margin-top: 0.8rem;
  text-align: center;
  padding: 0.65rem;
  border-radius: 10px;
  background: #1a7a4c;
  color: #fff;
  font-weight: 750;
  cursor: pointer;
}
.em-chip-pending {
  color: #e8c872;
  font-size: 0.82rem;
}
.em-chip-note {
  font-size: 0.75rem;
  color: #aaa;
}
.em-chip-idthumb {
  width: 100%;
  max-height: 10rem;
  object-fit: contain;
  border-radius: 8px;
  margin: 0.5rem 0;
}
.em-chip-dl {
  display: grid;
  grid-template-columns: 7.5rem 1fr;
  gap: 0.25rem 0.5rem;
  font-size: 0.82rem;
}
.em-chip-dl dt {
  color: #9a9a9a;
}
.em-gph-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.4rem;
}
.em-gph {
  margin: 0;
}
.em-gph img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 8px;
}
.em-gph.is-pending {
  opacity: 0.7;
}
.em-gph figcaption {
  font-size: 0.58rem;
  color: #e8c872;
  text-align: center;
}
.em-gph--pick {
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
}
.em-plus-btn {
  width: 100%;
  margin: 0.35rem 0;
}
.em-add-menu {
  position: absolute;
  inset: 0;
  z-index: 12;
  pointer-events: none;
  box-sizing: border-box;
}
.em-add-menu[hidden] {
  display: none !important;
}
.em-add-menu.is-open {
  pointer-events: auto;
}
.em-add-menu__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.28s ease;
}
.em-add-menu.is-open .em-add-menu__backdrop {
  opacity: 1;
}
.em-add-menu__sheet {
  position: absolute;
  left: 50%;
  bottom: 0.35rem;
  width: min(20rem, calc(100% - 2.4rem));
  max-width: 20rem;
  z-index: 1;
  padding: 0.4rem 0.65rem 0.7rem;
  box-sizing: border-box;
  background: #0a0a0a;
  border: 1px solid rgba(232, 200, 114, 0.45);
  border-radius: 18px;
  box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.55);
  transform: translateX(-50%) translateY(110%);
  transition: transform 0.28s ease;
}
.em-add-menu.is-open .em-add-menu__sheet {
  transform: translateX(-50%) translateY(0);
}
.em-add-menu__handle {
  display: block;
  width: 2.4rem;
  height: 0.22rem;
  margin: 0.1rem auto 0.4rem;
  border-radius: 99px;
  background: rgba(232, 200, 114, 0.55);
}
.em-add-menu__head {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin: 0 0 0.55rem;
}
.em-add-menu__head h2 {
  margin: 0;
  width: 100%;
  text-align: center;
  font-size: 1.05rem;
  font-weight: 800;
  color: #e8c872;
}
.em-add-menu__x {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: 0;
  color: #e8c872;
  font-size: 1.45rem;
  line-height: 1;
  padding: 0 0.15rem;
  cursor: pointer;
}
.em-creer-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem 0.55rem;
}
.em-creer-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.12rem;
  width: 100%;
  min-height: 4.35rem;
  padding: 0.3rem 0.2rem;
  border: 1px solid rgba(232, 200, 114, 0.7);
  border-radius: 14px;
  background: #12261c;
  color: #e8c872;
  cursor: pointer;
}
.em-creer-tile.is-dim {
  background: #0a0a0a;
  border-color: rgba(232, 200, 114, 0.22);
  opacity: 1;
  filter: none;
}
.em-creer-tile.is-dim .em-creer-tile__ico svg,
.em-creer-tile.is-dim .em-creer-tile__lab {
  color: rgba(244, 244, 244, 0.38);
}
.em-creer-tile__ico .em-chip__ico,
.em-creer-tile__ico svg {
  width: 2.65rem;
  height: 2.65rem;
  color: #e8c872;
}
.em-creer-tile__lab {
  font-size: 0.68rem;
  font-weight: 750;
  color: #fff;
}
.em-create-stage[hidden] {
  display: none !important;
}
.em-create-stage:not([hidden]) {
  display: flex;
  flex-direction: column;
  position: absolute;
  left: 0;
  right: 0;
  top: 2.7rem;
  bottom: 0;
  z-index: 6;
  background: #0a0a0a;
  min-height: 0;
  box-sizing: border-box;
}
.em-create-stage__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 0.85rem 0.9rem 0.4rem;
}
.em-create-stage__scroll.is-tbl-fit {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.em-create-stage__scroll.is-tbl-fit #em-venue-step3:not([hidden]) {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.em-create-stage__head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 2.4rem;
  padding: 0.35rem 2rem 0;
}
.em-create-stage__x {
  position: absolute;
  right: 0.55rem;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
  padding: 0 0.15rem;
  border: 0;
  background: transparent;
  color: #e8c872;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}
.em-create-stage__title {
  margin: 0;
  text-align: center;
  color: #e8c872;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
}
.em-create-stage--venue .em-create-stage__head {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.32rem;
  padding: 0.4rem 0 0.15rem;
}
.em-create-stage--venue .em-create-stage__title {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 800;
  font-size: 0.82rem;
}
.em-create-stage--venue .em-create-stage__head::after,
.em-vn-stage .em-oklm-events__sect::after {
  content: "";
  display: block;
  height: 2px;
  flex: 0 0 2px;
  width: calc(100% - 2 * (1.15rem + 0.55rem));
  background: #8a938c;
}
.em-vn-stage .em-oklm-events__sect {
  margin-left: -0.85rem;
  margin-right: -0.85rem;
  width: calc(100% + 1.7rem);
}
.em-vn-stage .em-oklm-events__sect::after {
  margin-inline: auto;
}
@media (min-width: 480px) {
  .em-create-stage--venue .em-create-stage__head::after,
  .em-vn-stage .em-oklm-events__sect::after {
    width: calc(100% - 2 * (1.4rem + 0.55rem));
  }
}
.em-create-stage__flyer {
  display: block;
  width: 100%;
  max-height: 10rem;
  object-fit: contain;
  margin: 0.35rem 0 0.5rem;
  border-radius: 8px;
}
.em-create-stage__ok {
  margin: 0.35rem 0 0;
  color: #6dcf9a;
  font-size: 0.75rem;
}
.em-create-stage .em-edit-event__save,
.em-create-stage .em-venue-continue {
  margin: 0.45rem 0.9rem 0.7rem;
}
.em-create-stage .em-venue-continue,
.em-create-stage .em-venue-save,
.em-create-stage .em-venue-draft {
  display: block;
  flex: 0 0 auto;
  align-self: center;
  width: auto;
  height: auto;
  min-width: 8.5rem;
  margin: 0.35rem auto 0.55rem;
  padding: 0.42rem 1.35rem;
  border-radius: 999px;
  font-size: 0.8rem;
  line-height: 1.2;
  background: #1a7a4c !important;
  border: 1px solid #1a7a4c !important;
  color: #fff !important;
}
.em-create-stage .em-venue-draft {
  background: #e8c872 !important;
  border-color: #e8c872 !important;
  color: #1a1408 !important;
}
.em-create-stage .em-venue-continue[hidden],
.em-create-stage .em-venue-save[hidden],
.em-create-stage .em-venue-cta-row[hidden] {
  display: none !important;
}
.em-create-stage .em-venue-cta-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.45rem;
  margin: 0.2rem 0.7rem 0.55rem;
}
.em-create-stage .em-venue-cta-row .em-venue-save,
.em-create-stage .em-venue-cta-row .em-venue-draft {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  padding: 0.55rem 0.45rem;
}
.em-create-stage .em-venue-list-note {
  margin: 0.15rem 0.9rem 0.45rem;
  text-align: center;
  color: #8a938c;
  font-size: 0.75rem;
  line-height: 1.35;
}
.em-create-stage .em-venue-list-note[hidden] {
  display: none !important;
}
.em-venue-hits {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin: 0.25rem 0 0.35rem;
}
.em-venue-hits[hidden] {
  display: none !important;
}
.em-venue-hit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
  width: 100%;
  text-align: left;
  border: 1px solid rgba(232, 200, 114, 0.4);
  border-radius: 8px;
  background: #0a0a0a;
  color: #f4f4f4;
  font-size: 0.72rem;
  padding: 0.35rem 0.45rem;
  cursor: pointer;
  box-sizing: border-box;
}
.em-venue-hit__meta {
  min-width: 0;
}
.em-venue-hit__pick {
  flex: 0 0 auto;
  color: #e8c872;
  font-style: italic;
  white-space: nowrap;
}
.em-venue-hit__pick em {
  font-style: italic;
}
.em-venue-picked,
.em-venue-legacy {
  margin: 0.2rem 0 0.35rem;
  color: #e8c872;
  font-size: 0.72rem;
}
.em-venue-progress.pf-progress {
  align-items: flex-start;
  gap: 0.35rem;
  padding: 0.35rem 0.9rem 0.45rem;
}
.em-venue-progress__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.18rem;
  min-width: 0;
  flex: 1 1 0;
}
.em-venue-progress .pf-progress__dot,
.em-venue-progress .pf-progress__dot.is-on,
.em-venue-progress .pf-progress__dot.is-todo {
  border: 2px solid #1a7a4c;
  background: #e8c872;
  color: #121816;
  box-shadow: none;
  opacity: 1;
  transform: none;
}
.em-venue-progress .pf-progress__dot.is-done {
  border: 2px solid #1a7a4c;
  background: #1a7a4c;
  color: #fff;
  box-shadow: none;
  opacity: 1;
  transform: none;
}
.em-venue-progress .pf-progress__seg {
  margin-top: 0.62rem;
  flex: 1 1 1.4rem;
  max-width: 2.4rem;
  background: #e8c872;
}
.em-venue-progress .pf-progress__seg.is-done {
  background: #e8c872;
}
.em-venue-progress__lab {
  color: #f4f4f4;
  font-size: 0.58rem;
  line-height: 1.15;
  text-align: center;
  max-width: 4.5rem;
}
.em-venue-act-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 0.45rem;
  align-items: stretch;
}
.em-venue-acts-cell {
  grid-row: 1 / span 2;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
}
.em-venue-acts-cell > .em-edit-event__input {
  flex: 1 1 auto;
  height: 1px;
  min-height: 0;
  overflow: auto;
}
.em-venue-gps-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 0.5rem;
  align-items: end;
}
.em-venue-gps-side {
  width: max-content;
}
.em-venue-field {
  position: relative;
  min-width: 0;
}
.em-venue-field.is-open {
  z-index: 40;
}
.em-venue-field > .em-venue-hits {
  position: fixed;
  z-index: 80;
  margin: 0;
  max-height: 9rem;
  overflow: auto;
  background: #0a0a0a;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.55);
}
.em-venue-gps-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0.2rem 0 0.85rem;
}
.em-venue-gps-bar {
  flex: 0 0 auto;
  margin: 1.15rem 0 0.2rem;
  background: #0a0a0a;
}
.em-venue-gps-bar[hidden] {
  display: none !important;
}
.em-venue-gps-note {
  margin: 0.28rem 0 0;
  color: #f0c0c0;
  font-size: 0.72rem;
  line-height: 1.3;
  text-align: center;
}
.em-venue-gps-note[hidden] {
  display: none !important;
}
.em-venue-gps-lab {
  position: static;
  transform: none;
  margin: 0 0 0.4rem;
  padding: 0;
  background: transparent;
  color: #e8ece8;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1;
}
.em-venue-private-row {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.75rem;
  margin: 1.15rem 0 0.15rem;
}
.em-venue-private-lab {
  color: #e8ece8;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1;
}
.em-venue-intl {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-left: auto;
}
.em-venue-gps:disabled,
.em-venue-gps.is-disabled {
  opacity: 0.45;
  cursor: default;
}
#em-venue-city-text[hidden],
.em-venue-combo[hidden] {
  display: none !important;
}
#em-venue-name.is-brand-lock {
  color: #c8c8c8;
}
#em-venue-step1 #em-venue-name {
  padding-right: 2.85rem;
}
.em-venue-mark {
  position: absolute;
  right: 0.5rem;
  top: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 50%;
  transform: translateY(-50%);
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1;
  pointer-events: none;
  box-sizing: border-box;
}
.em-venue-mark.is-free {
  background: #1a7a4c;
  color: #fff;
}
.em-venue-mark.is-brand {
  background: #e8c872;
  color: #141a22;
  font-size: 1.25rem;
  padding-bottom: 0.06rem;
}
.em-venue-mark[hidden] {
  display: none !important;
}
#em-venue-exist[hidden],
.em-venue-exist[hidden],
.em-venue-exist__none[hidden] {
  display: none !important;
}
#em-venue-exist {
  margin-top: 0.35rem;
}
.em-venue-exist {
  width: 100%;
  border-collapse: collapse;
  background: transparent;
  table-layout: fixed;
}
.em-venue-exist th {
  color: #e8ece8;
  font-size: 0.68rem;
  font-weight: 700;
  text-align: left;
  padding: 0.4rem 0.25rem 0.35rem;
  border-bottom: 1px solid rgba(232, 200, 114, 0.7);
  background: transparent;
}
.em-venue-exist td {
  color: #f4f4f4;
  font-size: 0.78rem;
  height: 1.85rem;
  padding: 0.48rem 0.25rem;
  border-bottom: 1px solid rgba(232, 200, 114, 0.28);
  background: transparent;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.em-venue-exist tbody tr[data-venue-id] {
  cursor: pointer;
}
.em-venue-exist tbody tr.is-empty {
  cursor: default;
}
.em-venue-exist tbody tr.is-on td {
  color: #e8c872;
}
.em-venue-exist__none {
  margin: 0.45rem 0 0;
  color: #e8ece8;
  font-size: 0.85rem;
}
#em-venue-map-host {
  margin-top: 0.45rem;
}
#em-venue-map-host[hidden] {
  display: none !important;
}
#em-venue-step1 .em-venue-float,
#em-venue-step2 .em-venue-float {
  position: relative;
  margin: 1.05rem 0 0;
}
#em-venue-step1 > .em-venue-float:first-child {
  margin-top: 0.65rem;
}
#em-venue-step1 .em-venue-float__lab,
#em-venue-step2 .em-venue-float__lab,
#em-venue-step3 .em-edit-event__lab {
  position: static;
  transform: none;
  display: block;
  margin: 0 0 0.28rem;
  padding: 0;
  background: transparent;
  color: #e8c872;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
}
#em-venue-step1 .em-edit-event__input,
#em-venue-step2 .em-edit-event__input,
#em-venue-step1 .em-venue-combo__btn,
#em-venue-step2 .em-venue-combo__btn {
  min-height: 48px;
  font-size: 1.05rem;
  background-color: #141a22;
  border: 1px solid rgba(138, 147, 140, 0.35);
  color: #fff;
}
#em-venue-step1 .em-edit-event__input,
#em-venue-step2 .em-edit-event__input {
  border-radius: 12px;
  padding: 0.55rem 0.8rem;
}
#em-venue-step3 .em-edit-event__input {
  background-color: #141a22;
  border: 1px solid rgba(138, 147, 140, 0.35);
  color: #fff;
}
#em-venue-step1 .em-edit-event__input:focus,
#em-venue-step2 .em-edit-event__input:focus,
#em-venue-step3 .em-edit-event__input:focus,
#em-venue-step1 .em-venue-combo__btn:focus,
#em-venue-step2 .em-venue-combo__btn:focus,
#em-venue-step3 .em-venue-combo__btn:focus {
  outline: none;
  border-color: #e8c872;
}
#em-venue-step1 .em-edit-event__input::placeholder,
#em-venue-step2 .em-edit-event__input::placeholder,
#em-venue-step3 .em-edit-event__input::placeholder {
  color: #8a938c;
  opacity: 1;
}
#em-venue-step1 select.em-edit-event__input,
#em-venue-step2 select.em-edit-event__input {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 1.9rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.2 L6 6.2 L11 1.2' fill='none' stroke='%23e8c872' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.7rem center;
  background-size: 0.72rem;
}
.em-venue-address {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin: 1.15rem 0 0.1rem;
}
.em-venue-address__rule {
  flex: 1 1 auto;
  height: 1px;
  background: rgba(232, 200, 114, 0.4);
}
.em-venue-address__lab {
  flex: 0 0 auto;
  color: #8a938c;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}
#em-venue-step1 .em-venue-hits,
#em-venue-step2 .em-venue-hits {
  position: static;
  z-index: auto;
  width: 100%;
  max-height: none;
  margin: 0.55rem 0 0;
  overflow: visible;
  background: transparent;
  box-shadow: none;
}
#em-venue-step1 .em-venue-hit,
#em-venue-step2 .em-venue-hit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  min-height: 4.25rem;
  margin: 0 0 0.4rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid rgba(232, 200, 114, 0.55);
  border-radius: 12px;
  background: #141a22;
  color: #fff;
  text-align: left;
  cursor: pointer;
  box-sizing: border-box;
}
#em-venue-step1 .em-venue-hit__name,
#em-venue-step2 .em-venue-hit__name {
  display: block;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  font-style: normal;
}
#em-venue-step1 .em-venue-hit__place,
#em-venue-step2 .em-venue-hit__place {
  display: block;
  margin-top: 0.18rem;
  color: #e8ece8;
  font-size: 0.92rem;
  font-style: normal;
}
#em-venue-step1 .em-venue-hit__pick,
#em-venue-step2 .em-venue-hit__pick,
#em-venue-step1 .em-venue-hit__pick em,
#em-venue-step2 .em-venue-hit__pick em {
  color: #e8ece8;
  font-style: italic;
  font-size: 0.95rem;
}
.em-venue-tool-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 1.05rem;
  align-items: stretch;
  margin-top: 1.05rem;
}
#em-venue-step1 .em-venue-tool-row .em-venue-float,
#em-venue-step2 .em-venue-tool-row .em-venue-float {
  margin-top: 0;
}
#em-venue-step2 .em-venue-place-row {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 0.45rem;
}
.em-venue-gps-box {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 48px;
  box-sizing: border-box;
  padding: 0 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  background: #141a22;
}
#em-venue-step2.is-gps-lock #em-venue-hood {
  color: #c8c8c8;
}
.em-venue-side-stack {
  min-width: 0;
}
.em-venue-combo {
  position: relative;
  min-width: 0;
}
.em-venue-combo__native {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}
.em-venue-combo__btn {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  text-align: left;
  padding: 0.55rem 1.7rem 0.55rem 0.8rem;
  border-radius: 12px;
  background: #141a22;
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #f4f4f4;
  font-size: 1.05rem;
  cursor: pointer;
  position: relative;
}
.em-venue-combo__btn::after {
  content: "";
  position: absolute;
  right: 0.6rem;
  top: 50%;
  width: 0.38rem;
  height: 0.38rem;
  border-right: 1.5px solid #e8c872;
  border-bottom: 1.5px solid #e8c872;
  transform: translateY(-70%) rotate(45deg);
}
.em-venue-combo__val {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.em-venue-combo.is-ro .em-venue-combo__btn {
  pointer-events: none;
  color: #c8c8c8;
}
#em-venue-step2 .em-venue-combo.is-follow .em-venue-combo__btn {
  pointer-events: none;
  cursor: default;
}
#em-venue-step2 .em-venue-combo.is-follow .em-venue-combo__btn::after {
  content: none;
}
.em-venue-combo__panel {
  position: fixed;
  z-index: 1200;
  max-height: 11rem;
  overflow: auto;
  box-sizing: border-box;
  background: #10161d;
  border: 1px solid rgba(232, 200, 114, 0.45);
  border-radius: 12px;
  padding: 0.2rem;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.55);
}
#em-venue-step2 .em-venue-combo__panel {
  z-index: 1200;
  max-height: none;
}
.em-venue-combo__panel[hidden] {
  display: none !important;
}
.em-venue-combo__opt {
  display: block;
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  color: #f4f4f4;
  font-size: 0.95rem;
  padding: 0.45rem 0.55rem;
  border-radius: 8px;
  cursor: pointer;
}
.em-venue-combo__opt.is-on {
  background: #12261c;
  color: #e8c872;
}
.em-venue-gps {
  display: block;
  width: 2.6rem;
  height: 1.45rem;
  margin-top: 0;
  border-radius: 99px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: #141414;
  position: relative;
  padding: 0;
  cursor: pointer;
}
.em-venue-gps.is-on {
  background: #1a7a4c;
  border-color: #1a7a4c;
}
.em-venue-gps__knob {
  position: absolute;
  top: 0.12rem;
  left: 0.12rem;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background: #f4f4f4;
}
.em-venue-gps.is-on .em-venue-gps__knob {
  transform: translateX(1.12rem);
}
.em-venue-map {
  height: 16rem;
  border-radius: 10px;
  overflow: hidden;
  background: #0a0a0a;
  touch-action: none;
}
#em-venue-map-canvas.leaflet-container,
#em-venue-map-canvas.leaflet-container.leaflet-touch-drag {
  position: relative;
  z-index: 1;
  touch-action: none;
}
#em-venue-step2 .cse-locate__list {
  display: flex;
  flex-direction: column;
  margin: 0.35rem 0 0.15rem;
  border: 1px solid rgba(232, 200, 114, 0.35);
  border-radius: 8px;
  background: #141a22;
  overflow: hidden;
}
#em-venue-step2 .cse-locate__list[hidden] {
  display: none !important;
}
#em-venue-step2 .cse-locate__opt {
  display: block;
  width: 100%;
  height: 1.85rem;
  margin: 0;
  padding: 0 0.6rem;
  border: 0;
  border-bottom: 1px solid rgba(232, 200, 114, 0.18);
  background: transparent;
  color: #e8ece8;
  font-size: 0.78rem;
  line-height: 1.85rem;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  box-sizing: border-box;
}
#em-venue-step2 .cse-locate__opt:last-child {
  border-bottom: 0;
}
#em-venue-step2 .cse-locate__miss {
  margin: -0.15rem 0 0.45rem;
  color: #f0c0c0;
  font-size: 0.72rem;
  line-height: 1.3;
  text-align: center;
}
#em-venue-step2 .cse-locate__miss[hidden] {
  display: none !important;
}
.cse-locate__me {
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  font-size: 1.05rem;
  text-decoration: none;
  color: #141a22;
}
.em-venue-map__x {
  position: absolute;
  right: 0.45rem;
  top: 0.28rem;
  z-index: 2;
  margin: 0;
  padding: 0 0.15rem;
  border: 0;
  background: transparent;
  color: #e8c872;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}
.em-venue-pin-ico.leaflet-div-icon {
  border-radius: 50%;
  background: #e8c872;
  border: 2px solid #0d3d24;
  box-sizing: border-box;
}
.em-venue-map-note {
  margin: 0.35rem 0 0;
  color: #8a938c;
  font-size: 0.62rem;
}
.em-venue-pin,
.em-venue-lock,
.em-venue-table {
  margin: 0.2rem 0 0.45rem;
  color: #e8c872;
  font-size: 0.72rem;
}
#em-venue-step3[hidden],
#em-venue-step4[hidden] {
  display: none !important;
}
#em-venue-step3 .em-tbl-modes,
#em-venue-step4 .em-tbl-modes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.22rem;
  flex: 0 0 auto;
  margin: 0.05rem 0 0.5rem;
  padding: 0.2rem;
  border-radius: 999px;
  background: #12181f;
  border: 1px solid rgba(232, 200, 114, 0.4);
}
#em-venue-step3 .em-tbl-mode,
#em-venue-step4 .em-tbl-mode {
  border: 0;
  border-radius: 999px;
  background: transparent;
  padding: 0.4rem 0.35rem;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  white-space: nowrap;
  color: #c5ccc6;
  cursor: pointer;
}
#em-venue-step3 .em-tbl-mode.is-on,
#em-venue-step4 .em-tbl-mode.is-on {
  background: #e8c872;
  color: #1a1408;
}
#em-venue-step4 .em-tbl-mode {
  white-space: normal;
  font-size: 0.68rem;
  line-height: 1.15;
  min-height: 2.35rem;
}
#em-venue-step4 .em-price-field {
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  margin: 0 0 0.85rem;
}
#em-price-flat-pane .em-price-pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.45rem;
  width: 100%;
  margin: 0 0 0.85rem;
}
#em-price-flat-pane .em-price-pair .em-price-field {
  margin: 0;
  min-width: 0;
}
#em-venue-step4 .em-price-field span,
#em-venue-step4 .em-price-range__lab,
#em-venue-step4 .em-price-size-block__lab {
  color: #f4f4f4;
  font-weight: 700;
}
#em-venue-step4 .em-price-field span,
#em-venue-step4 .em-price-range__lab {
  font-size: 0.92rem;
}
#em-venue-step4 .em-price-field input,
#em-venue-step4 .em-price-range input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(232, 200, 114, 0.45);
  border-radius: 12px;
  background: #0a0a0a;
  color: #f4f4f4;
  padding: 0.75rem 0.85rem;
  font-size: 1.2rem;
  min-height: 3rem;
}
#em-venue-step4 .em-price-field--lg input {
  font-size: 1.4rem;
  min-height: 3.35rem;
}
#em-venue-step4 .em-price-field--xl input {
  font-size: 1.7rem;
  min-height: 3.7rem;
}
#em-venue-step4 .em-price-range {
  margin: 0 0 0.85rem;
}
#em-venue-step4 .em-price-range__lab {
  display: block;
  margin: 0 0 0.28rem;
}
#em-venue-step4 .em-price-range__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 0.4rem;
  align-items: center;
}
#em-venue-step4 .em-price-range__dash {
  color: #e8c872;
  font-size: 1.25rem;
  font-weight: 700;
}
#em-venue-step4 .em-price-sizes {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.32rem;
  margin: 0 0 0.75rem;
}
#em-venue-step4 .em-price-chip {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.4rem;
  box-sizing: border-box;
  padding: 0.4rem 0.15rem;
  border-radius: 14px;
  border: 1px solid rgba(138, 147, 140, 0.28);
  background: #161d27;
  color: #e8ece8;
  font-size: 1.05rem;
  font-weight: 700;
  cursor: pointer;
}
#em-venue-step4 .em-price-chip.is-on {
  border-color: #e8c872;
  box-shadow: inset 0 0 0 1px #e8c872;
  background: #10241a;
  color: #e8c872;
}
#em-venue-step4 .em-price-size-block {
  margin: 0 0 0.85rem;
  padding: 0.55rem 0.55rem 0.05rem;
  border: 1px solid rgba(232, 200, 114, 0.35);
  border-radius: 12px;
}
#em-venue-step4 .em-price-size-block__lab {
  margin: 0 0 0.4rem;
  font-size: 1rem;
  color: #e8c872;
}
#em-venue-step3 .em-tbl-slot {
  position: relative;
  flex: 0 0 auto;
  height: 6.1rem;
  margin: 0 0 0.15rem;
}
#em-venue-step3 .em-tbl-pane {
  position: absolute;
  inset: 0;
}
#em-tbl-quick-pane[hidden],
#em-tbl-one-pane[hidden] {
  display: none !important;
}
#em-tbl-one-pane:not([hidden]) {
  display: flex;
  flex-direction: column;
  gap: 0.32rem;
}
#em-venue-step3 .em-tbl-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.32rem;
  height: 100%;
}
#em-venue-step3 .em-tbl-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-self: start;
  gap: 0.32rem;
  height: 5.35rem;
  min-height: 0;
  box-sizing: border-box;
  padding: 0.32rem 0.12rem 0.28rem;
  border-radius: 14px;
  border: 1px solid rgba(138, 147, 140, 0.28);
  background: #161d27;
  cursor: pointer;
}
#em-venue-step3 .em-tbl-card.is-on {
  border-color: #e8c872;
  box-shadow: inset 0 0 0 1px #e8c872;
  background: #10241a;
}
#em-venue-step3 .em-tbl-card__size {
  color: #e8ece8;
  font-size: 1.18rem;
  font-weight: 700;
  line-height: 1;
}
#em-venue-step3 .em-tbl-card.is-on .em-tbl-card__size {
  color: #e8c872;
}
#em-venue-step3 .em-tbl-step {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 92%;
  min-height: 1.7rem;
  padding: 0.1rem 0.12rem;
  border-radius: 999px;
  background: #0c1218;
}
#em-venue-step3 .em-tbl-step__btn {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  border: 1px solid rgba(138, 147, 140, 0.45);
  background: #141a22;
  color: #f4f4f4;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
}
#em-venue-step3 .em-tbl-step__n {
  color: #e8c872;
  font-size: 0.95rem;
  font-weight: 650;
}
#em-venue-step3 .em-tbl-field {
  display: block;
  width: 100%;
  box-sizing: border-box;
  flex: 1 1 0;
  min-height: 0;
  height: auto;
  margin: 0;
  border-radius: 12px;
  padding: 0.3rem 0.7rem;
  font-size: 0.9rem;
  background-color: #141a22;
  border: 1px solid rgba(138, 147, 140, 0.35);
  color: #fff;
}
#em-venue-step3 .em-tbl-pair {
  flex: 1 1 0;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 0.45rem;
  align-items: stretch;
}
#em-venue-step3 .em-tbl-pair .em-venue-combo,
#em-venue-step3 .em-tbl-pair .em-venue-combo__btn {
  height: 100%;
  min-height: 0;
}
#em-venue-step3 .em-venue-combo__btn {
  padding: 0.3rem 1.45rem 0.3rem 0.65rem;
  font-size: 0.82rem;
  background: #141a22;
  border: 1px solid rgba(138, 147, 140, 0.35);
  color: #fff;
}
#em-venue-step3 .em-venue-combo__btn.is-empty {
  color: #8a938c;
}
#em-venue-step3 .em-venue-combo__panel {
  max-height: min(16rem, 46vh);
}
#em-venue-step3 .em-tbl-bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  justify-items: center;
  align-items: center;
  flex: 0 0 auto;
  column-gap: 0.65rem;
  row-gap: 0.4rem;
  margin: 0.45rem 0 0.4rem;
}
#em-venue-step3 .em-tbl-meter,
#em-venue-step3 .em-tbl-meters__lab {
  color: #fff;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1;
}
#em-venue-step3 .em-tbl-add {
  grid-column: 1;
  grid-row: 2;
}
#em-venue-step3 .em-tbl-remove {
  grid-column: 3;
  grid-row: 2;
}
#em-venue-step3 .em-tbl-count {
  flex: 0 0 auto;
  margin: 0.35rem 0 0;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  text-align: left;
}
#em-venue-step3 .em-tbl-add,
#em-venue-step3 .em-tbl-remove {
  min-width: 7.2rem;
  padding: 0.42rem 1.2rem;
  border-radius: 999px;
  font-size: 0.95rem;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
}
#em-venue-step3 .em-tbl-add {
  border: 1px solid #1a7a4c;
  background: #1a7a4c;
}
#em-venue-step3 .em-tbl-remove {
  border: 1px solid #c0392b;
  background: #c0392b;
}
#em-venue-step3 .em-tbl-add:disabled,
#em-venue-step3 .em-tbl-remove:disabled {
  opacity: 0.38;
  cursor: default;
}
#em-venue-step3 .em-tbl-selectbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 0 0 auto;
  margin: 0 0 0.1rem;
  color: #c8c8c8;
  font-size: 0.68rem;
}
#em-venue-step3 .em-tbl-sheet {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
#em-venue-step3 .em-tbl-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
#em-venue-step3 .em-tbl-all {
  border: 0;
  background: transparent;
  padding: 0;
  color: #e8ece8;
  font: inherit;
  font-size: 0.68rem;
  cursor: pointer;
}
#em-venue-step3 .em-tbl-list {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  background: transparent;
}
#em-venue-step3 .em-tbl-list th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #0a0a0a;
  color: #e8c872;
  font-size: 0.62rem;
  font-weight: 700;
  text-align: left;
  padding: 0.12rem 0.12rem 0.1rem;
  border-bottom: 1px solid rgba(232, 200, 114, 0.7);
  white-space: nowrap;
}
#em-venue-step3 .em-tbl-list td {
  color: #f4f4f4;
  font-size: 0.66rem;
  height: auto;
  padding: 0 0.12rem;
  border-bottom: 1px solid rgba(232, 200, 114, 0.28);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#em-venue-step3 .em-tbl-list td.em-tbl-id {
  overflow: visible;
  text-overflow: clip;
  letter-spacing: 0;
}
#em-venue-step3 .em-tbl-col-sel {
  width: 8%;
}
#em-venue-step3 .em-tbl-col-n {
  width: 8%;
}
#em-venue-step3 .em-tbl-col-id {
  width: 24%;
}
#em-venue-step3 .em-tbl-col-name {
  width: 24%;
}
#em-venue-step3 .em-tbl-col-size {
  width: 14%;
}
#em-venue-step3 .em-tbl-col-model {
  width: 22%;
}
#em-venue-step3 .em-tbl-check {
  accent-color: #e8c872;
  width: 0.85rem;
  height: 0.85rem;
}
.em-chip-tours {
  padding-left: 1.1rem;
}

/* myCalendar body — CSE layout, FECABI shell unchanged */
.em-cal-stage[hidden] {
  display: none !important;
}
.em-cal-stage:not([hidden]) {
  display: flex;
  flex-direction: column;
  position: absolute;
  left: 0;
  right: 0;
  top: 2.7rem;
  bottom: 0;
  z-index: 6;
  background: #0a0a0a;
  min-height: 0;
  box-sizing: border-box;
}
.mc-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0.35rem 0.7rem 0.85rem;
}
.mc-title {
  margin: 1.1em 0 0.5rem;
  text-align: center;
  color: #e6c200;
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.1;
}
.mc-cal {
  position: relative;
  border: 1px solid #e6c200;
  border-radius: 16px;
  padding: 0.35rem 0.28rem 0.5rem;
  background: #0a0a0a;
}
.mc-cal__nav {
  display: grid;
  grid-template-columns: 1.6rem 1fr 1.6rem;
  align-items: start;
  gap: 0.15rem;
}
.mc-cal__chev {
  border: 0;
  background: transparent;
  color: #d7d7d7;
  font-size: 1.35rem;
  line-height: 1;
  padding: 0.15rem 0 0;
  cursor: pointer;
}
.mc-cal__mid {
  text-align: center;
  min-width: 0;
}
.mc-calwrap {
  position: relative;
}
.mc-cal__month {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #e6c200;
  font-size: 1.02rem;
  font-weight: 750;
  letter-spacing: 0.01em;
  line-height: 1.15;
  cursor: pointer;
}
.mc-cal__hint {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  margin: 0.12rem 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #8d8d8d;
  font-size: 0.68rem;
  font-weight: 500;
  cursor: pointer;
}
.mc-cal__caret {
  font-size: 0.62rem;
  color: #8d8d8d;
}
.mc-sheet[hidden] {
  display: none !important;
}
.mc-sheet {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 8;
}
.mc-sheet__back {
  position: fixed;
  inset: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  z-index: 0;
  cursor: default;
}
.mc-sheet__panel {
  position: relative;
  z-index: 1;
  border: 1px solid #e6c200;
  border-radius: 16px;
  background: rgba(10, 10, 12, 0.78);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
  padding: 0.4rem 0.15rem 0.45rem;
  box-sizing: border-box;
}
.mc-sheet__year {
  display: grid;
  grid-template-columns: 1.6rem 1fr 1.6rem;
  align-items: center;
}
.mc-sheet__chev {
  border: 0;
  background: transparent;
  color: #d7d7d7;
  font-size: 1.35rem;
  line-height: 1;
  padding: 0.1rem 0 0;
  cursor: pointer;
}
.mc-sheet__yearlab {
  margin: 0;
  text-align: center;
  color: #e6c200;
  font-size: 1.05rem;
  font-weight: 750;
  line-height: 1.15;
}
.mc-sheet__list {
  max-height: 12.55rem;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  margin-top: 0.2rem;
  scrollbar-width: none;
}
.mc-sheet__list::-webkit-scrollbar {
  display: none;
}
.mc-sheet__mo {
  display: block;
  width: calc(100% - 0.7rem);
  margin: 0.06rem auto;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: #cfcfcf;
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1.2;
  padding: 0.36rem 0.4rem;
  text-align: center;
  cursor: pointer;
}
.mc-sheet__mo.is-open {
  color: #e6c200;
  font-size: 1.05rem;
  font-weight: 800;
  border-color: #e6c200;
  background: rgba(230, 194, 0, 0.1);
  padding: 0.58rem 0.4rem 0.72rem;
}
.mc-cal__dow,
.mc-cal__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  text-align: center;
}
.mc-cal__dow {
  margin-top: 0.45rem;
  color: #8a8a8a;
  font-size: 0.68rem;
  font-weight: 500;
}
.mc-cal__grid {
  margin-top: 0.28rem;
  row-gap: 0.18rem;
}
.mc-day {
  width: 1.72rem;
  height: 1.72rem;
  margin: 0 auto;
  border: 1.5px solid transparent;
  border-radius: 50%;
  background: transparent;
  color: #f2f2f2;
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1;
  padding: 0;
  cursor: pointer;
}
.mc-day--empty {
  visibility: hidden;
  pointer-events: none;
}
.mc-day.is-sel:not(.is-today):not(.is-busy) {
  background: #e6c200;
  border-color: #e6c200;
  color: #111;
  font-weight: 800;
}
.mc-day.is-today:not(.is-busy) {
  background: #8a938c;
  border-color: #8a938c;
  color: #e8ece8;
  font-weight: 800;
}
.mc-day.is-busy {
  background: #1a7a4c;
  border-color: #1a7a4c;
  color: #fff;
  font-weight: 800;
}
.mc-dayrow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.45rem;
  margin: 0.55rem 0 0.45rem;
}
.mc-dayrow__title {
  margin: 0;
  color: #e6c200;
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.15;
}
.mc-dayrow__count {
  margin: 0.08rem 0 0;
  color: #9a9a9a;
  font-size: 0.72rem;
  font-weight: 500;
}
.mc-preview {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}
.mc-preview__lab {
  color: #bdbdbd;
  font-size: 0.68rem;
  font-weight: 500;
  line-height: 1.15;
  max-width: 4.6rem;
  text-align: right;
}
.mc-switch {
  position: relative;
  width: 2.15rem;
  height: 1.18rem;
  border: 0;
  border-radius: 999px;
  background: #3a3a3a;
  padding: 0;
  cursor: pointer;
  flex: 0 0 auto;
}
.mc-switch.is-on {
  background: #3ddc84;
}
.mc-switch__knob {
  position: absolute;
  top: 0.12rem;
  left: 0.12rem;
  width: 0.94rem;
  height: 0.94rem;
  border-radius: 50%;
  background: #fff;
  transition: left 0.15s ease;
}
.mc-switch.is-on .mc-switch__knob {
  left: 1.08rem;
}
.mc-chips {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.4rem;
  overflow-x: auto;
  margin: 0 0 0.65rem;
  padding-bottom: 0.1rem;
  scrollbar-width: none;
}
.mc-chips::-webkit-scrollbar {
  display: none;
}
.mc-chip {
  flex: 0 0 auto;
  border: 1px solid #3a3a3a;
  border-radius: 999px;
  background: transparent;
  color: #9a9a9a;
  font-size: 0.74rem;
  font-weight: 650;
  padding: 0.28rem 0.72rem;
  cursor: pointer;
}
.mc-chip.is-on {
  border-color: #e6c200;
  color: #e6c200;
}
.mc-list {
  display: grid;
  gap: 0.55rem;
}
.mc-card {
  border: 1px solid rgba(230, 194, 0, 0.85);
  border-radius: 14px;
  background: #12161c;
  padding: 0.72rem 0.8rem 0.68rem;
}
.mc-card.is-open {
  border-color: #1a7a4c;
}
.mc-card.is-started {
  border-color: rgba(230, 194, 0, 0.85);
}
.mc-card.is-ended {
  border-color: #8a938c;
}
.mc-card__top {
  display: flex;
  align-items: flex-start;
  gap: 0.35rem;
}
.mc-card__title {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  color: #f4f4f4;
  font-size: 0.92rem;
  font-weight: 750;
  line-height: 1.25;
}
.mc-card__more {
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  color: #e6c200;
  font-size: 1.15rem;
  line-height: 1;
  padding: 0 0.1rem;
  cursor: pointer;
}
.mc-card__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  column-gap: 0.35rem;
  margin-top: 0.22rem;
}
.mc-card__meta {
  grid-column: 1;
  justify-self: start;
  min-width: 0;
  margin: 0;
  color: #c8c8c8;
  font-size: 0.76rem;
}
.mc-card__fee {
  grid-column: 2;
  justify-self: center;
  margin: 0;
  color: #ffffff;
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}
.mc-card__status {
  color: #2ecc71;
  font-weight: 750;
}
.mc-card__social {
  grid-column: 3;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 0.15rem;
  margin: 0;
}
.mc-card__like,
.mc-card__share {
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #e6c200;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.mc-card__like {
  opacity: 0.55;
}
.mc-card__share:disabled {
  color: #e6c200;
  opacity: 0.45;
  cursor: default;
}
.mc-card__like svg,
.mc-card__share svg {
  width: 0.95rem;
  height: 0.95rem;
  display: block;
}
.mc-card__like.is-on {
  opacity: 1;
}
.mc-menu[hidden] {
  display: none !important;
}
.mc-menu {
  position: fixed;
  inset: 0;
  z-index: 9;
}
.mc-menu__back {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.mc-menu__panel {
  position: fixed;
  z-index: 2;
  box-sizing: border-box;
}
.mc-menu .em-oklm-card-overlay__row.is-held:disabled {
  opacity: 0.55;
  color: #e8c872;
  border-color: rgba(232, 200, 114, 0.28);
  cursor: default;
}
.mc-menu__soon {
  float: right;
  margin-left: 0.35rem;
  font-size: 0.62rem;
  font-weight: 500;
}
