.gpgl-wrap {
  --gpgl-accent: #f2c523;
  --gpgl-ink: #151515;
  --gpgl-panel: var(--global-palette9, #fff);
  --gpgl-panel-alt: color-mix(in srgb, var(--gpgl-panel) 94%, #808080 6%);
  --gpgl-text: var(--global-palette3, #252525);
  --gpgl-muted: var(--global-palette5, #68707a);
  --gpgl-border: color-mix(in srgb, currentColor 20%, transparent);
  --gpgl-live: #c62828;
  --gpgl-radius: 14px;
  color: var(--gpgl-text);
  width: 100%;
}

.gpgl-wrap *,
.gpgl-wrap *::before,
.gpgl-wrap *::after { box-sizing: border-box; }

.gpgl-kicker {
  display: inline-block;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  background: var(--gpgl-accent);
  color: var(--gpgl-ink);
  padding: .28rem .55rem;
  border-radius: 999px;
}

.gpgl-board__intro,
.gpgl-manager__intro {
  margin-bottom: 1.25rem;
}

.gpgl-board__intro h2,
.gpgl-manager__intro h2,
.gpgl-profile-live > h2 {
  margin: .55rem 0 .3rem;
}

.gpgl-board__intro p,
.gpgl-manager__intro p,
.gpgl-section-heading p { margin: 0; color: var(--gpgl-muted); }

.gpgl-filters,
.gpgl-support-form,
.gpgl-slot,
.gpgl-card,
.gpgl-empty {
  border: 1px solid var(--gpgl-border);
  border-radius: var(--gpgl-radius);
  background: var(--gpgl-panel);
  box-shadow: 0 6px 24px rgba(0, 0, 0, .045);
}

.gpgl-filters {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: .75rem;
  padding: 1rem;
  margin-bottom: 1rem;
}

.gpgl-filters label { min-width: 160px; flex: 1 1 170px; }
.gpgl-filters label > span,
.gpgl-field > span {
  display: block;
  margin-bottom: .32rem;
  font-size: .82rem;
  font-weight: 700;
}

.gpgl-wrap input[type="text"],
.gpgl-wrap input[type="url"],
.gpgl-wrap input[type="number"],
.gpgl-wrap input[type="date"],
.gpgl-wrap input[type="datetime-local"],
.gpgl-wrap select,
.gpgl-wrap textarea {
  width: 100%;
  min-height: 42px;
  padding: .65rem .72rem;
  border: 1px solid var(--gpgl-border);
  border-radius: 9px;
  background: var(--gpgl-panel);
  color: inherit;
  font: inherit;
}

.gpgl-wrap textarea { resize: vertical; }

.gpgl-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: .58rem .85rem;
  border: 1px solid var(--gpgl-border);
  border-radius: 9px;
  background: var(--gpgl-panel);
  color: inherit;
  font: inherit;
  font-size: .88rem;
  font-weight: 750;
  line-height: 1.1;
  text-decoration: none !important;
  cursor: pointer;
}

.gpgl-button:hover { transform: translateY(-1px); }
.gpgl-button--primary { background: var(--gpgl-accent); color: var(--gpgl-ink); border-color: transparent; }
.gpgl-button--live { background: var(--gpgl-live); color: #fff; border-color: transparent; }
.gpgl-button--support { background: var(--gpgl-ink); color: #fff; border-color: var(--gpgl-ink); }
.gpgl-button--danger { color: #b3261e; }

.gpgl-results-summary { margin: .5rem 0 1rem; color: var(--gpgl-muted); }
.gpgl-results-summary strong { color: var(--gpgl-text); }

.gpgl-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 310px), 1fr));
  gap: 1rem;
}

.gpgl-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.gpgl-card--live { border-color: color-mix(in srgb, var(--gpgl-live) 70%, transparent); }
.gpgl-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem;
  padding: 1rem 1rem .65rem;
}

.gpgl-card__member {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: .65rem;
  color: inherit;
  text-decoration: none !important;
}
.gpgl-card__avatar { border-radius: 999px; flex: 0 0 auto; }
.gpgl-card__member span { min-width: 0; }
.gpgl-card__member strong,
.gpgl-card__member small { display: block; }
.gpgl-card__member strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gpgl-card__member small { color: var(--gpgl-muted); }

.gpgl-status {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  padding: .24rem .48rem;
  border-radius: 999px;
  background: var(--gpgl-panel-alt);
  color: var(--gpgl-muted);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.gpgl-status--live { background: var(--gpgl-live); color: #fff; }
.gpgl-status--soon { background: var(--gpgl-accent); color: var(--gpgl-ink); }
.gpgl-status--upcoming { background: color-mix(in srgb, var(--gpgl-accent) 28%, var(--gpgl-panel)); color: inherit; }

.gpgl-card__body { padding: 0 1rem 1rem; flex: 1; }
.gpgl-card__body h3 { margin: .2rem 0 .45rem; font-size: 1.1rem; }
.gpgl-card__body p { margin: 0 0 .7rem; color: var(--gpgl-muted); }
.gpgl-card__meta { display: flex; flex-direction: column; gap: .15rem; color: var(--gpgl-muted); font-size: .82rem; }
.gpgl-card__actions { display: flex; flex-wrap: wrap; gap: .45rem; padding: .8rem 1rem 1rem; border-top: 1px solid var(--gpgl-border); }

.gpgl-card--compact { box-shadow: none; }
.gpgl-card--compact .gpgl-card__top { padding-bottom: .35rem; }
.gpgl-card--compact .gpgl-card__body { padding-bottom: .65rem; }

.gpgl-empty { display: flex; flex-direction: column; align-items: flex-start; gap: .4rem; padding: 1.25rem; }
.gpgl-empty span { color: var(--gpgl-muted); }

.gpgl-notice { padding: .8rem 1rem; border-radius: 10px; margin-bottom: 1rem; font-weight: 700; }
.gpgl-notice--success { background: #e5f5e8; color: #155d24; }
.gpgl-notice--error { background: #fde8e7; color: #8d1d18; }

.gpgl-support-form { padding: 1rem; margin: 1rem 0; }
.gpgl-section-heading { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .9rem; }
.gpgl-section-heading h3 { margin: 0 0 .2rem; }
.gpgl-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.gpgl-form-grid--support { grid-template-columns: 2fr 1fr; margin-bottom: .85rem; }
.gpgl-field--wide { grid-column: span 1; }
.gpgl-field--full { grid-column: 1 / -1; }
.gpgl-field small { display: block; margin-top: .3rem; color: var(--gpgl-muted); }
.gpgl-check { display: flex; align-items: center; gap: .5rem; padding-top: 1.6rem; }
.gpgl-check input { width: 18px; height: 18px; margin: 0; }

.gpgl-slots { display: grid; gap: .8rem; }
.gpgl-slot { overflow: clip; }
.gpgl-slot > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: 1rem;
  cursor: pointer;
  list-style: none;
}
.gpgl-slot > summary::-webkit-details-marker { display: none; }
.gpgl-slot > summary::after { content: '+'; font-size: 1.4rem; font-weight: 400; margin-left: auto; }
.gpgl-slot[open] > summary::after { content: '–'; }
.gpgl-slot__form { border-top: 1px solid var(--gpgl-border); padding: 1rem; }
.gpgl-slot__actions { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1rem; }

.gpgl-profile-live { margin-top: 1rem; }
.gpgl-profile-support { display: flex; align-items: center; flex-wrap: wrap; gap: .65rem; margin-top: .75rem; }
.gpgl-profile-support span { color: var(--gpgl-muted); }

@media (max-width: 720px) {
  .gpgl-form-grid,
  .gpgl-form-grid--support { grid-template-columns: 1fr; }
  .gpgl-field--full,
  .gpgl-field--wide { grid-column: auto; }
  .gpgl-filters { align-items: stretch; }
  .gpgl-filters .gpgl-button { flex: 1 1 auto; }
  .gpgl-card__top { flex-direction: column; }
  .gpgl-slot > summary { align-items: flex-start; }
  .gpgl-slot > summary::after { order: 3; }
  .gpgl-check { padding-top: .2rem; }
}

.gpgl-inline-status {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .55rem;
  padding: .65rem 0;
}
.gpgl-inline-status strong { flex: 1 1 180px; }
.gpgl-inline-status time { color: var(--gpgl-muted); font-size: .82rem; }


.gpgl-category {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 .6rem;
  padding: .22rem .48rem;
  border-radius: 999px;
  background: var(--gpgl-panel-alt);
  color: var(--gpgl-muted);
  font-size: .74rem;
  font-weight: 750;
}
.gpgl-premium-note { color: inherit; font-weight: 700; }
.gpgl-status--past { background: var(--gpgl-panel-alt); color: var(--gpgl-muted); }
.gpgl-card--past { opacity: .92; }
.gpgl-manager__intro .gpgl-button { margin-top: .75rem; }

.gpgl-report {
  flex: 1 1 100%;
  margin-top: .25rem;
  padding-top: .5rem;
  border-top: 1px solid var(--gpgl-border);
}
.gpgl-report > summary {
  width: fit-content;
  cursor: pointer;
  color: var(--gpgl-muted);
  font-size: .82rem;
}
.gpgl-report form {
  display: grid;
  gap: .6rem;
  margin-top: .65rem;
  padding: .75rem;
  border-radius: 10px;
  background: var(--gpgl-panel-alt);
}
.gpgl-report label span {
  display: block;
  margin-bottom: .25rem;
  font-size: .82rem;
  font-weight: 700;
}
.gpgl-report select,
.gpgl-report textarea {
  width: 100%;
}


.gpgl-profile-manager-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .85rem 1rem;
  margin: 0 0 1.25rem;
  padding: .9rem 1rem;
  border: 1px solid var(--gpgl-border);
  border-radius: 12px;
  background: var(--gpgl-panel-alt);
}

.gpgl-profile-manager-cta__copy {
  flex: 1 1 240px;
}

.gpgl-profile-manager-cta__copy > strong {
  display: block;
  margin: 0 0 .2rem;
  color: var(--gpgl-text);
}

.gpgl-profile-manager-cta p {
  margin: 0;
  color: var(--gpgl-muted);
}

.gpgl-profile-manager-cta .gpgl-button--primary {
  flex: 0 0 auto;
  background: var(--gpgl-accent, #f2c523) !important;
  color: var(--gpgl-ink, #151515) !important;
  border-color: transparent !important;
}

@media (max-width: 520px) {
  .gpgl-profile-manager-cta .gpgl-button--primary {
    width: 100%;
  }
}


.gpgl-counts { margin: 0 0 1.25rem; }
.gpgl-counts__heading { margin: 0 0 .65rem; font-size: 1.1rem; }
.gpgl-counts__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .65rem;
}
.gpgl-counts__item {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: .12rem;
  padding: .8rem .9rem;
  border: 1px solid var(--gpgl-border);
  border-radius: 12px;
  background: var(--gpgl-panel);
  color: var(--gpgl-text);
  text-decoration: none;
  box-shadow: 0 4px 18px rgba(0, 0, 0, .035);
  transition: transform .15s ease, border-color .15s ease;
}
.gpgl-counts__item:hover { transform: translateY(-1px); border-color: var(--gpgl-accent); }
.gpgl-counts__item strong { font-size: 1.55rem; line-height: 1; }
.gpgl-counts__item span { color: var(--gpgl-muted); font-size: .78rem; font-weight: 700; }
.gpgl-counts__item--live strong { color: var(--gpgl-live); }

@media (max-width: 820px) {
  .gpgl-counts__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .gpgl-counts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* R314: placeholder text is guidance, never a saved selection. */
.gpgl-manager input::placeholder,
.gpgl-manager textarea::placeholder { color: #8b96a7; opacity: .78; font-style: italic; }
.gpgl-manager select { color: inherit; }

/* 0.3.15: app identification and preview navigation */
.gpgl-gforce-brand { display:inline-flex;align-items:center;gap:.45rem;margin:0 0 .65rem;padding:.28rem .65rem;border:1px solid #e5bd24;border-radius:999px;background:#fff8d7;color:#352c00;font-size:.79rem;font-weight:600;line-height:1.3; }
.gpgl-gforce-brand img {width:30px;height:30px;object-fit:contain;flex:none}
.gpgl-gforce-brand strong {font-weight:800}
.gpgl-listing-preview {font-size:.8rem;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.gpgl-card[id] {scroll-margin-top:90px}
.gpgl-card:target {outline:3px solid #e4b900;outline-offset:3px}

/* 0.3.16: Support note and slot-action clarity */
.gpgl-card__support-note { flex-basis:100%;width:100%;margin:.3rem 0 .15rem;font-size:.9rem;line-height:1.45;overflow-wrap:anywhere; }
.gpgl-slot-help {display:block;margin:10px 0;color:#64748b;font-size:.85rem;line-height:1.5}

/* v0.3.18: Preserve badge geometry while improving mark contrast. */
.gpgl-gforce-brand img {background:#000;border-radius:6px;padding:3px;box-sizing:border-box}

/* 0.3.19 event share popout */
.gpgl-share{position:relative;flex-basis:100%;margin-top:.2rem}
.gpgl-share>summary{display:inline-flex;cursor:pointer;list-style:none}
.gpgl-share>summary::-webkit-details-marker{display:none}
.gpgl-share__panel{max-width:340px;background:#111827;color:#fff;border:1px solid #475569;border-radius:10px;padding:12px;display:grid;gap:10px}
.gpgl-share__panel label{display:grid;gap:5px;font-size:.85rem}
.gpgl-share__panel input{width:100%;min-width:0;box-sizing:border-box}
.gpgl-share__buttons{display:flex;gap:8px;flex-wrap:wrap}
.gpgl-share__qr{max-width:100%;height:auto;image-rendering:pixelated;background:white}
.gpgl-share__message{min-height:1.2em}

.gpgl-share__panel .gpgl-button{color:#fff!important;background:#334155!important;border:1px solid #94a3b8!important;padding:.5rem .75rem!important;font-size:.88rem!important;line-height:1.3!important;opacity:1!important}
.gpgl-share__panel .gpgl-button:hover{background:#475569!important}
.gpgl-share__panel input{background:#fff!important;color:#111827!important;font-size:.82rem!important}
.gpgl-gforce-brand{gap:0}

/* v0.3.20: explicit button foreground, resistant to theme-wide button styling */
.gpgl-share__panel .gpgl-share-action,
.gpgl-share__panel .gpgl-share-action:hover,
.gpgl-share__panel .gpgl-share-action:focus {
  appearance:none!important;-webkit-appearance:none!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  background:#e9f2ff!important;background-image:none!important;
  border:1px solid #93b4e6!important;border-radius:6px!important;
  color:#10233f!important;-webkit-text-fill-color:#10233f!important;
  font:700 14px/1.35 system-ui,sans-serif!important;
  text-shadow:none!important;opacity:1!important;visibility:visible!important;
  padding:9px 12px!important;min-height:38px!important;cursor:pointer!important;
}
.gpgl-share__panel .gpgl-share-action span {
  color:#10233f!important;-webkit-text-fill-color:#10233f!important;
  opacity:1!important;visibility:visible!important;font:inherit!important;
}
.gpgl-share__qr{display:flex;align-items:center;justify-content:center;min-height:240px;background:#fff;padding:8px;box-sizing:border-box}
.gpgl-share__qr svg{display:block;max-width:100%;height:auto}

/* G-Force Recon member report and admin brand */
.gpgl-recon-confirm{display:flex!important;align-items:center;gap:8px;line-height:1.4}
.gpgl-recon-confirm input{width:auto!important;min-width:16px;accent-color:#d4af00}
.gpgl-recon-header{display:flex;align-items:center;gap:14px;margin:12px 0 20px}
.gpgl-recon-header img{object-fit:contain;background:#000;border-radius:8px}
.gpgl-recon-header h1{margin:0!important}
.gpgl-recon-header p{margin:6px 0 0}

/* v0.3.27: G-Force Recon public member report box branding only. */
.gpgl-report[open] > summary {
  color: #a67c00;
  font-weight: 700;
}
.gpgl-report form {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #171a20 !important;
  border: 1px solid #9b7d19;
  color: #fff !important;
  padding: 1rem;
}
.gpgl-report form::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url("gforce-recon.png") center center / 90% auto no-repeat;
  opacity: .48;
  pointer-events: none;
}
.gpgl-report form label,
.gpgl-report form label span,
.gpgl-report form .gpgl-recon-confirm {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
}
.gpgl-report form select,
.gpgl-report form textarea {
  color: #171a20 !important;
  -webkit-text-fill-color: #171a20 !important;
  background: #fff !important;
  border: 1px solid #b8b8b8;
  border-radius: 5px;
  box-sizing: border-box;
}
.gpgl-report form button[type="submit"] {
  background: #ffd600 !important;
  color: #101010 !important;
  -webkit-text-fill-color: #101010 !important;
  border: 1px solid #ffd600 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

/* v0.3.28: readable inputs above the brighter Recon watermark. */
.gpgl-report form label, .gpgl-report form select, .gpgl-report form textarea,
.gpgl-report form button, .gpgl-report form .gpgl-recon-confirm { position: relative; z-index: 1; }
.gpgl-report form select, .gpgl-report form textarea { background: #fff !important; }

/* v0.3.29: calendar-level Recon guidance, reusing the existing branded artwork. */
.gpgl-board .gpgl-recon-calendar-info {
  display:flex; align-items:center; gap:16px; margin:16px 0 20px;
  padding:14px 18px; background:#000 !important; border:1px solid #927516;
  border-radius:10px; color:#fff !important; box-sizing:border-box;
}
.gpgl-board .gpgl-recon-calendar-info__logo {
  width:142px; max-width:32%; height:auto; flex:none; object-fit:contain;
  background:#000; border-radius:4px;
}
.gpgl-board .gpgl-recon-calendar-info__copy {min-width:0; flex:1; color:#fff !important;}
.gpgl-board .gpgl-recon-calendar-info__copy strong {display:block; color:#ffdb32 !important; font-size:1.02rem;}
.gpgl-board .gpgl-recon-calendar-info__copy p {color:#fff !important; margin:6px 0; line-height:1.5;}
.gpgl-board .gpgl-recon-calendar-info__copy b {color:#ffdb32 !important;}
.gpgl-board .gpgl-recon-calendar-info__copy small {display:block; color:#d5d5d5 !important; line-height:1.4;}
@media(max-width:540px){
  .gpgl-board .gpgl-recon-calendar-info {gap:10px; padding:12px; align-items:flex-start;}
  .gpgl-board .gpgl-recon-calendar-info__logo {width:100px; max-width:34%;}
  .gpgl-board .gpgl-recon-calendar-info__copy strong {font-size:.94rem;}
  .gpgl-board .gpgl-recon-calendar-info__copy p {font-size:.87rem;}
}
