/* CR0173 Option A: Harbour Atlas visual system. */
@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..900&family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;600;700&display=swap");

:root {
  --ha-navy: #002b5c;
  --ha-ink: #0f172a;
  --ha-blue: #1a6fd1;
  --ha-blue-soft: #eff6ff;
  --ha-gold: #ffd700;
  --ha-gold-deep: #d69b00;
  --ha-shell: #f8fafc;
  --ha-white: #ffffff;
  --ha-line: #dbeafe;
  --ha-muted: #475569;
  --ha-green: #16a34a;
  --ha-red: #dc2626;
  --ha-shadow: 0 16px 38px rgba(15, 23, 42, 0.11);
  --ha-soft-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
  --ha-map: url("assets/brand/web/jersey-silhouette.svg");
  --je-night: #050d1a;
  --je-deep: #0a1628;
  --je-navy: #002b5c;
  --je-blue: #1f7ae0;
  --je-gold: #ffd700;
  --je-gold-soft: #fff2a6;
  --je-paper: #ffffff;
  --je-bg: #f5f7fb;
  --je-line: #e4e9f2;
  --je-muted: #64748b;
  --je-green: #16a34a;
  --je-red: #dc2626;
  --je-amber: #f59e0b;
  --je-cyan: #06b6d4;
  --je-radius: 14px;
  --je-radius-lg: 22px;
  --je-shadow-card: 0 18px 46px rgba(15, 23, 42, 0.14);
  --je-shadow-pop: 0 26px 70px rgba(0, 43, 92, 0.24);
}

* {
  letter-spacing: 0 !important;
}

html {
  background: var(--ha-shell);
}

body {
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
  color: var(--ha-ink) !important;
}

body:not(.public-page) {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 250, 252, 0.98) 48%, rgba(239, 246, 255, 0.96) 100%) !important;
}

body.public-page {
  background: var(--ha-white) !important;
  color: var(--ha-ink) !important;
  padding-top: 82px !important;
}

body.public-stage {
  padding-top: 112px !important;
}

#jersey-map-bg {
  opacity: 0.11 !important;
  filter: grayscale(0.05) saturate(1.05) contrast(1.04) !important;
  background-image: var(--ha-map) !important;
  background-size: min(92vw, 1160px) auto !important;
}

.public-shell-header {
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid rgba(0, 43, 92, 0.12) !important;
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.08) !important;
  backdrop-filter: blur(14px) !important;
}

.public-shell-header .inner {
  min-height: 68px;
}

.public-shell-menu-toggle,
.public-shell-nav a,
.public-shell-stage-banner {
  border-radius: 8px !important;
}

.public-shell-menu-toggle {
  background: var(--ha-gold) !important;
  color: var(--ha-navy) !important;
  box-shadow: var(--ha-soft-shadow);
}

.public-shell-nav a {
  background: var(--ha-gold) !important;
  color: var(--ha-navy) !important;
  border: 1px solid rgba(0, 43, 92, 0.1) !important;
}

.public-shell-nav a:hover,
.public-shell-nav a:focus-visible {
  background: var(--ha-navy) !important;
  color: var(--ha-gold) !important;
}

.public-shell-footer {
  background: var(--ha-navy) !important;
  border-top: 4px solid var(--ha-gold) !important;
}

body.public-page .hero {
  min-height: min(78vh, 760px) !important;
  align-items: flex-start !important;
  justify-content: center !important;
  text-align: left !important;
  color: var(--ha-navy) !important;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.94) 54%, rgba(239, 246, 255, 0.84) 100%),
    var(--ha-map) center right / min(94vw, 940px) auto no-repeat !important;
  padding: 96px clamp(22px, 6vw, 84px) 72px !important;
  border-bottom: 1px solid var(--ha-line);
}

body.public-page .hero::before {
  content: "" !important;
  position: absolute !important;
  inset: auto clamp(22px, 6vw, 84px) 34px clamp(22px, 6vw, 84px) !important;
  width: auto !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--ha-gold), rgba(255, 215, 0, 0)) !important;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  pointer-events: none !important;
}

body.public-page .hero > * {
  max-width: 720px;
}

body.public-page .hero h1 {
  color: var(--ha-navy) !important;
  text-shadow: none !important;
  line-height: 0.98 !important;
  letter-spacing: 0 !important;
  margin-bottom: 18px !important;
}

body.public-page .hero p {
  color: var(--ha-muted) !important;
  text-shadow: none !important;
  max-width: 620px !important;
}

body.public-page .hero .hero-strapline {
  color: var(--ha-blue) !important;
  font-style: normal !important;
}

.cta-group,
.cta-row,
.session-actions,
.actions,
.top-links,
.links {
  gap: 10px !important;
}

.btn-main,
.btn,
.btn-action,
.btn-manage,
.btn-submit,
button,
input,
select,
textarea,
.public-shell-nav a,
.mini-btn,
.cta-small {
  border-radius: 8px !important;
  font-family: inherit !important;
}

.btn-main,
.btn-submit,
.btn-gold,
.btn-manage,
.btn-action,
.cta-blue,
.btn.gold,
button[type="submit"] {
  box-shadow: none !important;
}

.btn-gold,
.btn-submit,
.btn-main.btn-gold,
.public-shell-menu-toggle,
.cta-small.cta-blue,
.cta-row .cta-blue {
  background: var(--ha-gold) !important;
  color: var(--ha-navy) !important;
  border: 1px solid rgba(0, 43, 92, 0.12) !important;
}

.btn-outline,
.btn-ghost,
.cta-slate,
.mini-btn {
  background: var(--ha-white) !important;
  color: var(--ha-navy) !important;
  border: 1px solid var(--ha-line) !important;
}

.btn-main:hover,
.btn-submit:hover,
.btn-gold:hover,
.btn-manage:hover,
.btn-action:hover,
.mini-btn:hover {
  transform: translateY(-1px);
  box-shadow: var(--ha-soft-shadow) !important;
}

.section {
  background: var(--ha-white) !important;
}

.container,
.contact-card,
.leaderboard,
.rule-card,
.bus-card,
.price-cta,
.card,
.mini-card,
.step,
.trust,
.team-list,
.team-card,
.stat-card,
.modal-content,
.modal-card,
.session-card,
.status-pill,
.metric,
.runtime-row,
.flow-row,
.flow-preview,
.write-banner,
#ops-log,
.notice,
.pill,
.team-metrics-card {
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid var(--ha-line) !important;
  border-radius: 8px !important;
  color: var(--ha-ink) !important;
  box-shadow: var(--ha-soft-shadow) !important;
}

.card,
.team-card,
.stat-card,
.metric,
.mini-card {
  border-top: 4px solid var(--ha-gold) !important;
}

.price-cta {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(239, 246, 255, 0.94)) !important;
  border: 1px solid var(--ha-line) !important;
  border-top: 5px solid var(--ha-gold) !important;
}

.price-val,
.logo,
.public-shell-logo,
.card h2,
.card h3,
.metric .value,
.metric .v,
.stat-card .value,
.team-info h3,
.team-card h3,
h1,
h2,
h3 {
  color: var(--ha-navy) !important;
}

.public-shell-logo img {
  content: url("assets/brand/cardoso-events/jersey-empire-logo-horizontal-dark.png");
  width: 230px !important;
  max-width: 62vw !important;
}

.price-cta p,
.card p,
.mini-card,
.step,
.trust,
.status-pill,
.session-line,
.metric .meta,
.metric .label,
.metric .k,
.flow-meta,
.flow-hints,
.muted,
p,
li {
  color: var(--ha-muted) !important;
}

.card i,
.nav-item i,
.bnav-item i,
.bi,
.team-stats .stat-value {
  color: var(--ha-blue);
}

.topbar,
.mobile-header,
.mobile-nav,
.header {
  background: rgba(255, 255, 255, 0.96) !important;
  color: var(--ha-navy) !important;
  border-bottom: 1px solid var(--ha-line) !important;
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.08) !important;
  backdrop-filter: blur(14px);
}

.topbar .btn,
.top-links .btn {
  color: var(--ha-navy) !important;
  border-color: var(--ha-line) !important;
}

.topbar .links .btn:not(.gold) {
  background: var(--ha-white) !important;
  color: var(--ha-navy) !important;
  border: 1px solid var(--ha-line) !important;
}

.topbar .btn-gold,
.topbar .btn.gold,
.top-links .btn-gold,
.top-links .btn.gold {
  background: var(--ha-gold) !important;
  color: var(--ha-navy) !important;
}

.hero:not(body.public-page .hero) {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(239, 246, 255, 0.94)) !important;
  border: 1px solid var(--ha-line) !important;
  border-top: 5px solid var(--ha-gold) !important;
  border-radius: 8px !important;
  color: var(--ha-ink) !important;
  box-shadow: var(--ha-soft-shadow) !important;
}

.hero h1,
.hero h2,
.hero p {
  text-shadow: none !important;
}

.badge,
.status-chip,
.status-badge,
.pill {
  border-radius: 999px !important;
  background: var(--ha-blue-soft) !important;
  border: 1px solid var(--ha-line) !important;
  color: var(--ha-navy) !important;
}

.sidebar {
  background: rgba(255, 255, 255, 0.97) !important;
  color: var(--ha-ink) !important;
  border-right: 1px solid var(--ha-line) !important;
  box-shadow: var(--ha-shadow) !important;
}

.sidebar .logo,
.mobile-nav .logo,
.mobile-header .logo {
  color: var(--ha-navy) !important;
}

.mobile-header i {
  color: var(--ha-navy) !important;
}

.nav-item,
.bnav-item {
  border-radius: 8px !important;
  color: var(--ha-muted) !important;
}

.nav-item.active,
.nav-item:hover,
.bnav-item.active,
.bnav-item:hover {
  background: var(--ha-gold) !important;
  color: var(--ha-navy) !important;
}

.bottom-nav {
  background: rgba(255, 255, 255, 0.97) !important;
  border-top: 1px solid var(--ha-line) !important;
  box-shadow: 0 -8px 28px rgba(15, 23, 42, 0.08) !important;
}

input,
select,
textarea {
  background: var(--ha-white) !important;
  color: var(--ha-ink) !important;
  border: 1px solid #cbd5e1 !important;
}

input:focus,
select:focus,
textarea:focus {
  outline: 3px solid rgba(26, 111, 209, 0.18) !important;
  border-color: var(--ha-blue) !important;
}

input::placeholder,
textarea::placeholder {
  color: #64748b !important;
}

table,
th,
td {
  color: var(--ha-ink) !important;
  border-color: #e2e8f0 !important;
}

th {
  background: var(--ha-blue-soft) !important;
  color: var(--ha-navy) !important;
}

.registry-table th {
  background: var(--ha-navy) !important;
  color: var(--ha-white) !important;
}

.success,
.status-ok,
.status-chip.published {
  color: var(--ha-green) !important;
}

.error,
.status-bad,
.status-chip.draft {
  color: var(--ha-red) !important;
}

.write-banner.open {
  background: #ecfdf5 !important;
  border-color: #bbf7d0 !important;
  color: #166534 !important;
}

.write-banner.closed,
.notice.bad,
.pill.bad {
  background: #fef2f2 !important;
  border-color: #fecaca !important;
  color: #991b1b !important;
}

#ops-log {
  background: #0f172a !important;
  color: #dbeafe !important;
  border-color: rgba(0, 43, 92, 0.24) !important;
}

.auth-card {
  background: rgba(255, 255, 255, 0.98) !important;
  color: var(--ha-ink) !important;
  border: 1px solid var(--ha-line) !important;
  border-radius: 8px !important;
  box-shadow: var(--ha-shadow) !important;
}

body:has(.auth-card):not(.public-page) {
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.96), rgba(239, 246, 255, 0.94)),
    var(--ha-map) center / cover no-repeat !important;
}

.auth-card .logo {
  color: var(--ha-navy) !important;
}

.tab,
.tabs .tab {
  color: var(--ha-muted) !important;
}

.tab.active,
.tabs .tab.active {
  color: var(--ha-navy) !important;
  border-bottom-color: var(--ha-gold) !important;
}

label {
  color: var(--ha-navy) !important;
}

#forgot-password-btn,
#resend-verification-btn {
  background: var(--ha-blue-soft) !important;
  color: var(--ha-navy) !important;
  border: 1px solid var(--ha-line) !important;
}

@media (min-width: 1000px) {
  .public-shell-nav a {
    background: transparent !important;
    color: var(--ha-navy) !important;
    border: 0 !important;
  }

  .public-shell-nav a:hover,
  .public-shell-nav a:focus-visible {
    color: var(--ha-blue) !important;
    background: transparent !important;
  }

  .public-shell-spacer::before {
    color: var(--ha-navy) !important;
  }
}

@media (max-width: 760px) {
  body.public-page {
    padding-top: 76px !important;
  }

  body.public-stage {
    padding-top: 106px !important;
  }

  body.public-page .hero {
    min-height: 72vh !important;
    text-align: left !important;
    padding: 72px 22px 58px !important;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(239, 246, 255, 0.92) 100%),
      var(--ha-map) center bottom / 840px auto no-repeat !important;
  }

  .public-shell-header .inner {
    min-height: 58px;
  }

  .public-shell-logo img {
    width: 190px !important;
    max-width: 54vw !important;
  }
}

/* CR0173 polish iteration: richer presentation from the operator handoff, CSS-only. */
body {
  font-family: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
  background: var(--je-bg) !important;
}

h1,
h2,
.logo,
.public-shell-logo,
.hero h1,
.price-val,
.stat-card .value,
.metric .v {
  font-family: "Fraunces", Georgia, serif !important;
}

button,
input,
select,
textarea,
.btn,
.btn-submit,
.btn-action,
.nav-item,
.bnav-item {
  font-family: "Inter", "Segoe UI", system-ui, sans-serif !important;
}

body.public-page {
  background:
    linear-gradient(180deg, rgba(245, 247, 251, 0.96), rgba(238, 242, 248, 0.98)),
    var(--ha-map) center 180px / min(1100px, 96vw) auto no-repeat !important;
}

body.public-page .hero {
  min-height: 78vh !important;
  background:
    radial-gradient(circle at 18% 20%, rgba(255, 215, 0, 0.2), rgba(255, 215, 0, 0) 28%),
    radial-gradient(circle at 78% 28%, rgba(6, 182, 212, 0.18), rgba(6, 182, 212, 0) 30%),
    linear-gradient(135deg, rgba(5, 13, 26, 0.96) 0%, rgba(0, 43, 92, 0.96) 54%, rgba(10, 22, 40, 0.98) 100%),
    var(--ha-map) center bottom / min(1180px, 150vw) auto no-repeat !important;
  color: #ffffff !important;
  border: 0 !important;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.1) !important;
}

body.public-page .hero::before {
  opacity: 0.16 !important;
  filter: saturate(1.15) contrast(1.08) !important;
}

body.public-page .hero h1 {
  color: #ffffff !important;
  font-size: clamp(3rem, 9vw, 6.4rem) !important;
  line-height: 0.9 !important;
  text-shadow: 0 18px 48px rgba(0, 0, 0, 0.32) !important;
}

body.public-page .hero p {
  color: rgba(255, 255, 255, 0.84) !important;
  text-shadow: 0 8px 26px rgba(0, 0, 0, 0.32) !important;
}

body.public-page .hero .hero-strapline {
  color: var(--je-gold) !important;
}

.public-shell-header,
body.public-page > header {
  background: rgba(5, 13, 26, 0.94) !important;
  border-bottom: 1px solid rgba(255, 215, 0, 0.18) !important;
  box-shadow: 0 12px 34px rgba(5, 13, 26, 0.24) !important;
}

.public-shell-logo img {
  content: url("assets/brand/cardoso-events/jersey-empire-logo-horizontal-light.png") !important;
}

.public-shell-nav a,
body.public-page > header .nav-links a {
  color: rgba(255, 255, 255, 0.82) !important;
}

.public-shell-nav a:hover,
.public-shell-nav a:focus-visible,
body.public-page > header .nav-links a:hover,
body.public-page > header .nav-links a:focus-visible {
  color: var(--je-gold) !important;
}

.btn,
.btn-main,
.btn-action,
.btn-submit,
.cta-small,
button[type="button"],
button[type="submit"] {
  border-radius: 10px !important;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease !important;
}

.btn:hover,
.btn-main:hover,
.btn-action:hover,
.btn-submit:hover,
.cta-small:hover,
button[type="button"]:hover,
button[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(0, 43, 92, 0.18) !important;
}

.btn-gold,
.btn.gold,
.btn-submit,
.btn-action,
.cta-blue,
.public-shell-menu-toggle {
  background: linear-gradient(180deg, var(--je-gold) 0%, #efbf2e 100%) !important;
  color: var(--je-night) !important;
  border: 1px solid rgba(5, 13, 26, 0.12) !important;
}

.btn-outline,
.btn-ghost,
.cta-slate,
#forgot-password-btn,
#resend-verification-btn {
  background: rgba(255, 255, 255, 0.92) !important;
  color: var(--je-navy) !important;
  border: 1px solid rgba(0, 43, 92, 0.16) !important;
}

.section-white,
.container,
.team-list,
.card,
.stat-card,
.mini-card,
.trust,
.price-cta,
.workspace-card,
.workspace-list-card,
.workspace-detail-card {
  border-radius: var(--je-radius) !important;
}

.card,
.stat-card,
.team-list,
.mini-card,
.trust,
.workspace-card,
.workspace-list-card,
.workspace-detail-card,
.modal-card {
  background: rgba(255, 255, 255, 0.98) !important;
  border: 1px solid var(--je-line) !important;
  box-shadow: var(--je-shadow-card) !important;
}

.card,
.stat-card,
.team-card,
.metric,
.workspace-card,
.workspace-list-card,
.workspace-detail-card,
.modal-card {
  position: relative;
  overflow: hidden;
}

.card::before,
.stat-card::before,
.team-card::before,
.workspace-card::before,
.modal-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--je-gold), var(--je-cyan), var(--je-blue));
}

.section-white h2,
.card h3,
.team-info h3,
.workspace-page-head h1,
.workspace-list-title {
  color: var(--je-navy) !important;
}

.card p,
.mini-card,
.trust p,
.team-info p,
.workspace-subtitle,
.workspace-detail-copy,
.muted {
  color: var(--je-muted) !important;
}

.price-cta {
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 215, 0, 0.26), transparent 34%),
    linear-gradient(135deg, var(--je-night), var(--je-navy)) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 215, 0, 0.22) !important;
  box-shadow: var(--je-shadow-pop) !important;
}

.price-cta h3,
.price-cta p {
  color: rgba(255, 255, 255, 0.86) !important;
}

.price-val {
  color: var(--je-gold) !important;
  font-variant-numeric: tabular-nums;
}

.sidebar {
  background:
    radial-gradient(circle at 0% 0%, rgba(255, 215, 0, 0.18), transparent 30%),
    linear-gradient(180deg, var(--je-night), var(--je-deep)) !important;
  color: #ffffff !important;
  border-right: 1px solid rgba(255, 215, 0, 0.16) !important;
  box-shadow: 16px 0 46px rgba(5, 13, 26, 0.28) !important;
}

.mobile-header,
.bottom-nav {
  background: rgba(5, 13, 26, 0.96) !important;
  color: #ffffff !important;
  border-color: rgba(255, 215, 0, 0.16) !important;
}

.sidebar .logo,
.mobile-header .logo,
.mobile-nav .logo {
  color: #ffffff !important;
}

.mobile-header i {
  color: var(--je-gold) !important;
}

.nav-item,
.bnav-item {
  color: rgba(255, 255, 255, 0.72) !important;
}

.nav-item.active,
.nav-item:hover,
.bnav-item.active,
.bnav-item:hover {
  background: rgba(255, 215, 0, 0.14) !important;
  color: var(--je-gold) !important;
  border: 1px solid rgba(255, 215, 0, 0.18) !important;
}

.content {
  background:
    radial-gradient(circle at 8% 0%, rgba(255, 215, 0, 0.16), transparent 26%),
    linear-gradient(180deg, #f7f9fc, #edf3fb) !important;
}

.content > .header {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.content > .header h1 {
  color: var(--je-navy) !important;
}

.stat-card .value,
.metric .v,
.worth,
.price-val {
  font-variant-numeric: tabular-nums;
}

.stat-card .value {
  color: var(--je-navy) !important;
}

.stat-card:nth-child(1)::before {
  background: linear-gradient(90deg, var(--je-green), var(--je-cyan));
}

.stat-card:nth-child(2)::before {
  background: linear-gradient(90deg, var(--je-gold), var(--je-amber));
}

.stat-card:nth-child(3)::before {
  background: linear-gradient(90deg, var(--je-blue), #8b5cf6);
}

.team-item {
  border-bottom-color: rgba(0, 43, 92, 0.09) !important;
}

.team-status,
.badge,
.status-chip,
.status-badge,
.pill,
.workspace-status-chip,
.workspace-meta-chip {
  border-radius: 999px !important;
  background: rgba(31, 122, 224, 0.1) !important;
  border: 1px solid rgba(31, 122, 224, 0.18) !important;
  color: var(--je-navy) !important;
  font-weight: 800 !important;
}

.pill.ok,
.status-ok,
.status-chip.published,
.workspace-status-chip.status-implemented {
  background: rgba(22, 163, 74, 0.12) !important;
  color: #166534 !important;
  border-color: rgba(22, 163, 74, 0.28) !important;
}

.pill.bad,
.notice.bad,
.status-bad,
.status-chip.draft {
  background: rgba(220, 38, 38, 0.1) !important;
  color: #991b1b !important;
  border-color: rgba(220, 38, 38, 0.22) !important;
}

body:has(.auth-card):not(.public-page),
body.public-login {
  min-height: 100vh !important;
  background:
    radial-gradient(circle at 20% 14%, rgba(255, 215, 0, 0.22), transparent 26%),
    radial-gradient(circle at 76% 30%, rgba(6, 182, 212, 0.18), transparent 24%),
    linear-gradient(135deg, var(--je-night), var(--je-navy) 58%, var(--je-deep)),
    var(--ha-map) center / cover no-repeat !important;
  color: #ffffff !important;
}

body.public-login {
  padding-top: 128px !important;
}

.auth-card {
  max-width: 440px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: var(--je-radius-lg) !important;
  box-shadow: 0 28px 76px rgba(0, 0, 0, 0.34) !important;
  backdrop-filter: blur(18px) !important;
}

.auth-card .logo,
.auth-card h1,
.auth-card h2 {
  color: #ffffff !important;
}

.auth-card .tabs {
  border-bottom-color: rgba(255, 255, 255, 0.16) !important;
}

.auth-card .tab {
  color: rgba(255, 255, 255, 0.72) !important;
  opacity: 1 !important;
}

.auth-card .tab.active {
  color: var(--je-gold) !important;
  border-bottom-color: var(--je-gold) !important;
}

.auth-card label,
body.public-login label {
  color: var(--je-gold) !important;
}

.auth-card input,
.auth-card select,
.auth-card textarea {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
}

.auth-card input::placeholder,
.auth-card textarea::placeholder {
  color: rgba(255, 255, 255, 0.55) !important;
}

.auth-card a,
body.public-login a {
  color: var(--je-gold) !important;
}

body:has(#leader-container),
body:has(#hof-container) {
  background:
    radial-gradient(circle at 20% 0%, rgba(255, 215, 0, 0.2), transparent 28%),
    linear-gradient(135deg, var(--je-night), var(--je-navy) 56%, var(--je-deep)) !important;
  color: #ffffff !important;
}

body:has(#leader-container) header,
body:has(#hof-container) header {
  background: rgba(5, 13, 26, 0.9) !important;
  border-bottom: 1px solid rgba(255, 215, 0, 0.18) !important;
}

body:has(#leader-container) .container,
body:has(#hof-container) .container {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

#leader-container,
#hof-container,
.leaderboard {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: var(--je-radius-lg) !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.32) !important;
  backdrop-filter: blur(14px) !important;
}

.rank,
.rank-badge {
  color: var(--je-gold) !important;
  font-family: "Fraunces", Georgia, serif !important;
}

.token,
.tx-token {
  background: rgba(255, 215, 0, 0.14) !important;
  border: 1px solid rgba(255, 215, 0, 0.24) !important;
}

.team-info h3,
.team-name {
  color: inherit;
}

.worth,
.tx-amount {
  font-family: "JetBrains Mono", Consolas, monospace !important;
}

body:has(#leader-container) .worth,
body:has(#hof-container) .worth {
  color: var(--je-gold) !important;
}

.topbar {
  background: rgba(5, 13, 26, 0.96) !important;
  border-bottom: 1px solid rgba(255, 215, 0, 0.18) !important;
  box-shadow: 0 16px 42px rgba(5, 13, 26, 0.28) !important;
}

.topbar .logo {
  color: var(--je-gold) !important;
}

.topbar .btn,
.links .btn {
  background: rgba(255, 255, 255, 0.08) !important;
  color: rgba(255, 255, 255, 0.82) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.topbar .btn.gold,
.links .btn.gold {
  background: linear-gradient(180deg, var(--je-gold), #efbf2e) !important;
  color: var(--je-night) !important;
}

main > .hero,
.hero:not(body.public-page .hero) {
  background:
    radial-gradient(circle at 0% 0%, rgba(255, 215, 0, 0.18), transparent 30%),
    linear-gradient(135deg, rgba(5, 13, 26, 0.98), rgba(0, 43, 92, 0.94)) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 215, 0, 0.18) !important;
  border-radius: var(--je-radius-lg) !important;
  box-shadow: var(--je-shadow-pop) !important;
}

main > .hero h1,
main > .hero .muted,
main > .hero p,
.hero:not(body.public-page .hero) h1,
.hero:not(body.public-page .hero) p {
  color: #ffffff !important;
}

.metric,
.row,
#ops-log {
  border-radius: var(--je-radius) !important;
}

.metric {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

.metric .k {
  color: rgba(255, 255, 255, 0.68) !important;
}

.metric .v {
  color: var(--je-gold) !important;
}

.grid .card .metric {
  background: rgba(5, 13, 26, 0.78) !important;
}

.row,
.feed-item,
.ops-feed-item,
.workspace-list-item {
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid var(--je-line) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.07) !important;
}

#ops-log,
.workspace-pre {
  background: #07111f !important;
  color: #dbeafe !important;
  border: 1px solid rgba(255, 215, 0, 0.14) !important;
}

input,
select,
textarea {
  border-radius: 10px !important;
  background: #ffffff !important;
  border-color: #d7e0ec !important;
}

input:focus,
select:focus,
textarea:focus {
  outline: 3px solid rgba(255, 215, 0, 0.22) !important;
  border-color: var(--je-blue) !important;
}

body.public-login .auth-card input,
body.public-login .auth-card select,
body.public-login .auth-card textarea,
.auth-card input,
.auth-card select,
.auth-card textarea {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

body.public-login .auth-card input::placeholder,
body.public-login .auth-card textarea::placeholder,
.auth-card input::placeholder,
.auth-card textarea::placeholder {
  color: rgba(255, 255, 255, 0.58) !important;
}

@media (min-width: 1000px) {
  body.public-login .auth-card {
    margin: 40px clamp(62px, 12vw, 190px) 54px auto !important;
  }

  body.public-login::before {
    align-items: center;
    color: var(--je-navy);
    content: "Jersey\A Empire\A Est. 2026" !important;
    display: flex;
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.55rem;
    font-weight: 800;
    justify-content: center;
    line-height: 1.28;
    text-align: center;
    white-space: pre-line;
    position: fixed;
    left: clamp(70px, 11vw, 180px);
    top: 28%;
    width: 230px;
    height: 300px;
    border: 8px solid rgba(255, 255, 255, 0.94);
    border-radius: 10px;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 245, 238, 0.94)) !important;
    box-shadow: 22px 22px 0 rgba(31, 122, 224, 0.12), 0 26px 70px rgba(0, 0, 0, 0.28);
    transform: rotate(-3.5deg);
    pointer-events: none;
  }

  body.public-login::after {
    content: "Sign in, captain.";
    position: fixed;
    left: clamp(72px, 11vw, 182px);
    top: calc(28% + 342px);
    max-width: 330px;
    color: #ffffff;
    font-family: "Fraunces", Georgia, serif;
    font-size: clamp(2.4rem, 4vw, 4.5rem);
    font-weight: 800;
    line-height: 0.95;
    text-shadow: 0 18px 42px rgba(0, 0, 0, 0.26);
    pointer-events: none;
  }

  .public-shell-nav a {
    color: rgba(255, 255, 255, 0.82) !important;
  }

  .public-shell-spacer::before {
    color: rgba(255, 255, 255, 0.55) !important;
  }
}

@media (max-width: 760px) {
  body.public-page .hero {
    min-height: 74vh !important;
    padding: 76px 22px 54px !important;
    background:
      radial-gradient(circle at 18% 12%, rgba(255, 215, 0, 0.24), transparent 34%),
      linear-gradient(145deg, rgba(5, 13, 26, 0.98), rgba(0, 43, 92, 0.96)),
      var(--ha-map) center bottom / 900px auto no-repeat !important;
  }

  body.public-page .hero h1 {
    font-size: clamp(2.65rem, 16vw, 4.6rem) !important;
  }

  .public-shell-logo img {
    width: 188px !important;
    max-width: 58vw !important;
  }

  .card,
  .stat-card,
  .team-list,
  .price-cta,
  .auth-card {
    border-radius: 16px !important;
  }

  .content {
    padding: 18px 16px 96px !important;
  }

  .team-actions .btn-action,
  .btn-submit {
    min-height: 46px !important;
  }
}

/* CR0173 staging polish: make the true Jersey map read as an integrated hero asset. */
body.public-page .hero {
  overflow: hidden !important;
  position: relative !important;
  background:
    radial-gradient(circle at 18% 20%, rgba(255, 215, 0, 0.2), rgba(255, 215, 0, 0) 28%),
    radial-gradient(circle at 78% 28%, rgba(6, 182, 212, 0.14), rgba(6, 182, 212, 0) 30%),
    linear-gradient(135deg, rgba(5, 13, 26, 0.94) 0%, rgba(0, 43, 92, 0.9) 54%, rgba(10, 22, 40, 0.96) 100%) !important;
}

body.public-page .hero::after {
  content: "";
  position: absolute;
  inset: 0 -150px 0 0;
  z-index: 0;
  pointer-events: none;
  background: var(--ha-map) 72% 50% / min(55vw, 940px) auto no-repeat;
  opacity: 0.72;
  filter:
    drop-shadow(0 0 42px rgba(26, 111, 209, 0.36))
    drop-shadow(0 14px 38px rgba(5, 13, 26, 0.34))
    saturate(1.14)
    contrast(1.08);
  mix-blend-mode: screen;
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.14) 22%, rgba(0, 0, 0, 0.84) 36%, #000 52%, rgba(0, 0, 0, 0.9) 80%, transparent 100%),
    radial-gradient(ellipse 56% 76% at 72% 51%, #000 0%, rgba(0, 0, 0, 0.98) 48%, rgba(0, 0, 0, 0.5) 70%, transparent 88%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.14) 22%, rgba(0, 0, 0, 0.84) 36%, #000 52%, rgba(0, 0, 0, 0.9) 80%, transparent 100%),
    radial-gradient(ellipse 56% 76% at 72% 51%, #000 0%, rgba(0, 0, 0, 0.98) 48%, rgba(0, 0, 0, 0.5) 70%, transparent 88%);
  mask-composite: intersect;
}

body.public-page .hero::before {
  z-index: 2 !important;
}

body.public-page .hero > * {
  position: relative;
  z-index: 3;
}

@media (max-width: 760px) {
  body.public-page .hero {
    background:
      radial-gradient(circle at 18% 12%, rgba(255, 215, 0, 0.24), transparent 34%),
      linear-gradient(145deg, rgba(5, 13, 26, 0.96), rgba(0, 43, 92, 0.92)) !important;
  }

  body.public-page .hero::after {
    inset: 78px -84px 18px -84px;
    background: var(--ha-map) 50% 66% / 500px auto no-repeat;
    opacity: 0.2;
    -webkit-mask-image: radial-gradient(ellipse at 50% 62%, #000 0%, rgba(0, 0, 0, 0.64) 48%, transparent 78%);
    mask-image: radial-gradient(ellipse at 50% 62%, #000 0%, rgba(0, 0, 0, 0.64) 48%, transparent 78%);
  }
}

/* CR0173 consistency pass: keep every website surface on one polished blue/gold system. */
html,
body.public-page,
body:not(.public-page):not(:has(#map)) {
  background-color: var(--je-night) !important;
}

body.public-page {
  background:
    radial-gradient(circle at 8% 4%, rgba(255, 215, 0, 0.16), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(6, 182, 212, 0.12), transparent 30%),
    linear-gradient(180deg, #071326 0%, #0e2847 44%, #071326 100%) !important;
  color: #eaf3ff !important;
}

html body.public-page,
html body.public-page.public-login {
  background:
    radial-gradient(circle at 8% 4%, rgba(255, 215, 0, 0.16), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(6, 182, 212, 0.12), transparent 30%),
    linear-gradient(180deg, #071326 0%, #0e2847 44%, #071326 100%) !important;
  color: #eaf3ff !important;
}

body:not(.public-page):not(:has(#map)):not(.public-login) {
  background:
    radial-gradient(circle at 8% 0%, rgba(255, 215, 0, 0.13), transparent 26%),
    radial-gradient(circle at 92% 8%, rgba(6, 182, 212, 0.12), transparent 28%),
    linear-gradient(135deg, #071326 0%, #0e2847 48%, #071326 100%) !important;
  color: #eaf3ff !important;
}

body.public-page .section,
body.public-page .section-white {
  background: transparent !important;
  color: #eaf3ff !important;
  padding-block: clamp(48px, 7vw, 88px) !important;
}

body.public-page .section + .section {
  border-top: 1px solid rgba(255, 255, 255, 0.09) !important;
}

body.public-page > header {
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 215, 0, 0.16), transparent 34%),
    linear-gradient(135deg, rgba(5, 13, 26, 0.98), rgba(0, 43, 92, 0.96)) !important;
  color: #ffffff !important;
  border-bottom: 4px solid var(--je-gold) !important;
  box-shadow: 0 22px 56px rgba(5, 13, 26, 0.28) !important;
}

body.public-page > header h1,
body.public-page > header p {
  color: #ffffff !important;
}

body.public-page > .container,
body.public-page main > .container,
body.public-page .content > .container,
body.public-page .section > .container {
  box-sizing: border-box !important;
  width: min(1120px, calc(100% - 32px)) !important;
  margin-inline: auto !important;
  background: rgba(255, 255, 255, 0.96) !important;
  color: var(--je-night) !important;
  border: 1px solid rgba(255, 255, 255, 0.32) !important;
  border-top: 5px solid var(--je-gold) !important;
  border-radius: var(--je-radius) !important;
  box-shadow: 0 28px 78px rgba(0, 0, 0, 0.3) !important;
  padding: clamp(24px, 4vw, 42px) !important;
}

body.public-page > .container h1,
body.public-page > .container h2,
body.public-page > .container h3,
body.public-page main > .container h1,
body.public-page main > .container h2,
body.public-page main > .container h3,
body.public-page .content > .container h1,
body.public-page .content > .container h2,
body.public-page .content > .container h3,
body.public-page .section > .container h1,
body.public-page .section > .container h2,
body.public-page .section > .container h3 {
  color: var(--je-navy) !important;
}

body.public-page > .container p,
body.public-page > .container li,
body.public-page main > .container p,
body.public-page main > .container li,
body.public-page .content > .container p,
body.public-page .content > .container li,
body.public-page .section > .container p,
body.public-page .section > .container li {
  color: var(--je-muted) !important;
}

body.public-page .mini-card,
body.public-page .card,
body.public-page .step,
body.public-page .trust,
body.public-page .bus-card,
body.public-page .contact-card,
body.public-page .rule-card,
body.public-page .faq-section,
body.public-page .team-card,
body.public-page .stat-card,
body.public-page .settings-card,
body.public-page .memory-card,
body.public-page .booking-card,
body.public-page .confirm-card {
  background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
  color: var(--je-night) !important;
  border: 1px solid var(--je-line) !important;
  border-radius: var(--je-radius) !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08) !important;
}

body.public-page .price-cta {
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 215, 0, 0.22), transparent 34%),
    linear-gradient(135deg, rgba(5, 13, 26, 0.98), rgba(0, 43, 92, 0.96)) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 215, 0, 0.22) !important;
  border-radius: var(--je-radius) !important;
  box-shadow: 0 26px 70px rgba(0, 43, 92, 0.26) !important;
}

body.public-page .price-cta h3,
body.public-page .price-cta p,
body.public-page .price-cta .price-val {
  color: #ffffff !important;
}

body.public-page .price-cta .price-val {
  color: var(--je-gold) !important;
}

body.public-page .cta-row,
body.public-page .cta-group {
  flex-wrap: wrap !important;
}

body.public-page .cta-small,
body.public-page .btn-main,
body.public-page .btn-live,
body.public-page .btn-submit {
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.public-page .btn-live {
  background: linear-gradient(180deg, var(--je-gold), #efbf2e) !important;
  color: var(--je-night) !important;
  border: 1px solid rgba(5, 13, 26, 0.14) !important;
  border-radius: 8px !important;
}

body.public-login .reset-card,
body.public-login .auth-card,
body:has(.auth-card):not(:has(#map)) .auth-card {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-top: 5px solid var(--je-gold) !important;
  border-radius: var(--je-radius) !important;
  box-shadow: 0 28px 78px rgba(0, 0, 0, 0.3) !important;
  backdrop-filter: blur(18px) !important;
}

body.public-login .reset-card .logo,
body.public-login .reset-card .lede,
body.public-login .reset-card label,
body.public-login .reset-card a,
body.public-login .auth-card .logo,
body.public-login .auth-card label,
body.public-login .auth-card a {
  color: var(--je-gold) !important;
}

body.public-login .reset-card input,
body.public-login .auth-card input {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

body.public-login .reset-card input::placeholder,
body.public-login .auth-card input::placeholder {
  color: rgba(255, 255, 255, 0.58) !important;
}

body:not(.public-page):not(:has(#map)) .content,
body:not(.public-page):not(:has(#map)) main,
body:not(.public-page):not(:has(#map)) .main {
  background: transparent !important;
}

body:not(.public-page):not(:has(#map)) .mobile-nav,
body:not(.public-page):not(:has(#map)) .sidebar,
body:not(.public-page):not(:has(#map)) .bottom-nav,
body:not(.public-page):not(:has(#map)) .topbar,
body:not(.public-page):not(:has(#map)) .header {
  background:
    radial-gradient(circle at 0% 0%, rgba(255, 215, 0, 0.14), transparent 34%),
    linear-gradient(135deg, rgba(5, 13, 26, 0.98), rgba(0, 43, 92, 0.96)) !important;
  color: #ffffff !important;
  border-color: rgba(255, 215, 0, 0.18) !important;
}

body:not(.public-page):not(:has(#map)) .logo {
  color: var(--je-gold) !important;
}

body:not(.public-page):not(:has(#map)) .card,
body:not(.public-page):not(:has(#map)) .stat-card,
body:not(.public-page):not(:has(#map)) .team-list,
body:not(.public-page):not(:has(#map)) .team-card,
body:not(.public-page):not(:has(#map)) .booking-card,
body:not(.public-page):not(:has(#map)) .confirm-card,
body:not(.public-page):not(:has(#map)) .settings-card,
body:not(.public-page):not(:has(#map)) .reward-ledger,
body:not(.public-page):not(:has(#map)) .modal-content,
body:not(.public-page):not(:has(#map)) .modal-card,
body:not(.public-page):not(:has(#map)) .metric,
body:not(.public-page):not(:has(#map)) .workspace-card,
body:not(.public-page):not(:has(#map)) .workspace-list-card,
body:not(.public-page):not(:has(#map)) .workspace-detail-card,
body:not(.public-page):not(:has(#map)) .ticket-card {
  background: rgba(255, 255, 255, 0.96) !important;
  color: var(--je-night) !important;
  border: 1px solid var(--je-line) !important;
  border-top: 4px solid var(--je-gold) !important;
  border-radius: var(--je-radius) !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.18) !important;
}

body:not(.public-page):not(:has(#map)) .card h1,
body:not(.public-page):not(:has(#map)) .card h2,
body:not(.public-page):not(:has(#map)) .card h3,
body:not(.public-page):not(:has(#map)) .stat-card h1,
body:not(.public-page):not(:has(#map)) .stat-card h2,
body:not(.public-page):not(:has(#map)) .stat-card h3,
body:not(.public-page):not(:has(#map)) .team-card h1,
body:not(.public-page):not(:has(#map)) .team-card h2,
body:not(.public-page):not(:has(#map)) .team-card h3,
body:not(.public-page):not(:has(#map)) .booking-card h1,
body:not(.public-page):not(:has(#map)) .booking-card h2,
body:not(.public-page):not(:has(#map)) .booking-card h3 {
  color: var(--je-navy) !important;
}

@media (max-width: 760px) {
  body.public-page > .container,
  body.public-page main > .container,
  body.public-page .content > .container,
  body.public-page .section > .container {
    width: min(100% - 24px, 1120px) !important;
    padding: 22px 16px !important;
  }

  body.public-page .section,
  body.public-page .section-white {
    padding-block: 36px !important;
  }

  body.public-login {
    padding-top: 98px !important;
  }

  body.public-login .reset-card,
  body.public-login .auth-card {
    width: min(100% - 28px, 420px) !important;
    margin-inline: auto !important;
  }
}

/* CR0173 staging polish: prevent narrow public pages from clipping content. */
html,
body {
  min-width: 0 !important;
  overflow-x: hidden !important;
}

body.public-page *,
body.public-login * {
  box-sizing: border-box;
  min-width: 0;
}

body.public-page img,
body.public-page svg,
body.public-page video,
body.public-page canvas {
  max-width: 100%;
  height: auto;
}

body.public-page h1,
body.public-page h2,
body.public-page h3,
body.public-page p,
body.public-page a,
body.public-page button {
  overflow-wrap: break-word;
  word-break: normal;
}

@media (max-width: 760px) {
  body.public-page {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.public-page > .container,
  body.public-page main > .container,
  body.public-page .content > .container,
  body.public-page .section > .container {
    width: auto !important;
    max-width: none !important;
    margin: 24px 16px 40px !important;
    padding: 22px 14px !important;
    overflow: visible !important;
  }

  body.public-page > .container h1,
  body.public-page > .container h2,
  body.public-page main > .container h1,
  body.public-page main > .container h2,
  body.public-page .section > .container h1,
  body.public-page .section > .container h2 {
    font-size: clamp(1.55rem, 8vw, 2.15rem) !important;
    line-height: 1.08 !important;
    text-wrap: balance;
  }

  body.public-page .grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  body.public-page .bus-card,
  body.public-page .card,
  body.public-page .mini-card,
  body.public-page .trust,
  body.public-page .rule-card {
    max-width: 100% !important;
    padding-inline: 16px !important;
  }

  body.public-page > .container p,
  body.public-page main > .container p,
  body.public-page .section > .container p,
  body.public-page .bus-card p {
    width: 100% !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  body.public-page .btn-live,
  body.public-page .btn-main,
  body.public-page .cta-small,
  body.public-page .btn-submit {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.15 !important;
    padding-inline: 14px !important;
    overflow-wrap: anywhere !important;
  }

  body.public-page .btn-live {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    font-size: clamp(0.82rem, 3.8vw, 0.96rem) !important;
  }

  body.public-page .btn-live i {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    font-size: 1rem !important;
  }

  body.public-page .container {
    box-sizing: border-box !important;
    inline-size: calc(100vw - 32px) !important;
    width: calc(100vw - 32px) !important;
    max-inline-size: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    margin-inline: 16px !important;
    padding-inline: 14px !important;
    transform: none !important;
  }

  @supports (width: 100dvw) {
    body.public-page .container {
      inline-size: calc(100dvw - 32px) !important;
      width: calc(100dvw - 32px) !important;
      max-inline-size: calc(100dvw - 32px) !important;
      max-width: calc(100dvw - 32px) !important;
    }
  }

  body.public-page .container *,
  body.public-page .grid,
  body.public-page .bus-card {
    max-inline-size: 100% !important;
    max-width: 100% !important;
  }

  body.public-page .container p,
  body.public-page .container a,
  body.public-page .container button {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}

/* CR0173 theme pass: keep dark-shell page titles gold and readable. */
body:not(.public-page):not(:has(#map)) .content > .header h1,
body:not(.public-page):not(:has(#map)) .content > h1,
body:not(.public-page):not(:has(#map)) .content > h2,
body:not(.public-page):not(:has(#map)) .content > section > h1,
body:not(.public-page):not(:has(#map)) .content > section > h2,
body:not(.public-page):not(:has(#map)) .content > div:not(.card):not(.stat-card):not(.team-card):not(.team-list):not(.booking-card):not(.settings-card):not(.modal-content):not(.modal-card) > h1,
body:not(.public-page):not(:has(#map)) .content > div:not(.card):not(.stat-card):not(.team-card):not(.team-list):not(.booking-card):not(.settings-card):not(.modal-content):not(.modal-card) > h2,
body:not(.public-page):not(:has(#map)) main > h1,
body:not(.public-page):not(:has(#map)) main > h2 {
  color: var(--je-gold) !important;
  opacity: 1 !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.38) !important;
}

body:not(.public-page):not(:has(#map)) .content > p,
body:not(.public-page):not(:has(#map)) main > p,
body:not(.public-page):not(:has(#map)) .team-grid > p,
body:not(.public-page):not(:has(#map)) #teams-container > p,
body:not(.public-page):not(:has(#map)) #team-list > p {
  color: rgba(255, 255, 255, 0.82) !important;
  opacity: 1 !important;
}

body:has(#leader-container) #page-title,
body:has(#hof-container) #page-title,
body:has(#leader-container) .container > h1,
body:has(#hof-container) .container > h1 {
  color: var(--je-gold) !important;
  opacity: 1 !important;
  text-shadow: 0 2px 22px rgba(0, 0, 0, 0.4) !important;
}

body:has(#leader-container) #leader-container,
body:has(#leader-container) .leaderboard,
body:has(#hof-container) #hof-container {
  color: #ffffff !important;
}

body:has(#leader-container) .team-name,
body:has(#hof-container) .team-name,
body:has(#leader-container) .team-info h3,
body:has(#hof-container) .team-info h3 {
  color: #ffffff !important;
  opacity: 1 !important;
}

body:has(#leader-container) .stats-row,
body:has(#hof-container) .stats-row,
body:has(#leader-container) #leader-container > p,
body:has(#hof-container) #hof-container > p {
  color: rgba(255, 255, 255, 0.78) !important;
  opacity: 1 !important;
}

body:has(#leader-container) .token,
body:has(#hof-container) .token {
  color: var(--je-gold) !important;
}

.price-cta h3,
body.public-page .price-cta h3 {
  color: var(--je-gold-soft) !important;
  opacity: 1 !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.35) !important;
}

.price-cta p,
body.public-page .price-cta p {
  color: rgba(255, 255, 255, 0.88) !important;
  opacity: 1 !important;
}

.price-cta .price-val,
body.public-page .price-cta .price-val {
  color: var(--je-gold) !important;
  opacity: 1 !important;
  text-shadow: 0 4px 26px rgba(0, 0, 0, 0.28) !important;
}

/* CR0173 price closeout: override legacy inline landing styles. */
body.public-page .price-cta h3[style],
body.public-page .price-cta h3 {
  color: #fff6c7 !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  opacity: 1 !important;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.42) !important;
}

body.public-page .price-cta p[style],
body.public-page .price-cta p {
  color: rgba(255, 255, 255, 0.92) !important;
  font-weight: 600 !important;
  opacity: 1 !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.22) !important;
}

/* CR0173 theme closeout: standalone pages and light cards. */
body.public-page .faq-title,
body.public-page .content-section > h1,
body.public-page .content-section > h2,
body:not(.public-page):not(:has(#map)) .content-section > h1,
body:not(.public-page):not(:has(#map)) .content-section > h2 {
  color: var(--je-gold) !important;
  opacity: 1 !important;
  text-shadow: 0 4px 28px rgba(0, 0, 0, 0.48) !important;
}

body:not(.public-page):not(:has(#map)) .header-card h1,
body:not(.public-page):not(:has(#map)) .header-card h2,
body:not(.public-page):not(:has(#map)) .header-card h3 {
  color: var(--je-gold) !important;
  opacity: 1 !important;
  text-shadow: 0 3px 22px rgba(0, 0, 0, 0.4) !important;
}

body:not(.public-page):not(:has(#map)) .header-card p,
body:not(.public-page):not(:has(#map)) .header-card li {
  color: rgba(255, 255, 255, 0.84) !important;
  opacity: 1 !important;
}

body:not(.public-page):not(:has(#map)) .settings-card h1,
body:not(.public-page):not(:has(#map)) .settings-card h2,
body:not(.public-page):not(:has(#map)) .settings-card h3 {
  color: var(--je-navy) !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

body:not(.public-page):not(:has(#map)) .settings-card label {
  color: #43678f !important;
  opacity: 1 !important;
}
