:root {
  --bg: #090b0f;
  --panel: #12161d;
  --panel-2: #1b2029;
  --text: #f8f7f4;
  --muted: #b7bfcc;
  --line: #303744;
  --accent: #b51f29;
  --accent-2: #f04b28;
  --danger: #ff4d4d;
  --success: #39d98a;
  --shadow: 0 18px 50px rgba(0,0,0,.35);
  --radius: 18px;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--bg); }
body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: radial-gradient(circle at top left, rgba(181,31,41,.16), transparent 30rem), var(--bg);
  color: var(--text);
  line-height: 1.5;
}

a { color: inherit; text-decoration: none; }
a:hover { color: var(--accent-2); }
img { max-width: 100%; display: block; }
button, input, textarea, select { font: inherit; }
main { width: min(1180px, calc(100% - 28px)); margin: 0 auto; padding: 24px 0 46px; }

.site-header {
  width: min(1180px, calc(100% - 28px));
  margin: 0 auto;
  padding: 16px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(14,15,18,.88);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.brand { display: flex; align-items: center; gap: 10px; font-weight: 800; letter-spacing: -.03em; }
.brand-mark { width: 36px; height: 36px; border-radius: 12px; background: var(--accent); color: #fff7f2; display: inline-grid; place-items: center; font-size: 22px; }
.top-nav { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.top-nav a, .link-button { color: var(--muted); font-weight: 700; font-size: 14px; }
.nav-pill { background: var(--panel-2); color: var(--text) !important; padding: 10px 12px; border-radius: 999px; }
.inline-form { display: inline; margin: 0; }
.link-button { background: transparent; border: 0; padding: 0; cursor: pointer; }

.hero { display: grid; gap: 20px; padding: 34px 0 24px; }
.hero-copy h1, .page-title h1, .detail-hero h1, .auth-card h1 { font-size: clamp(34px, 8vw, 68px); line-height: .95; margin: 6px 0 16px; letter-spacing: -.06em; }
.hero-copy p, .page-title p { color: var(--muted); font-size: 17px; }
.eyebrow { color: var(--accent-2) !important; text-transform: uppercase; letter-spacing: .12em; font-weight: 800; font-size: 12px !important; margin: 0; }
.hero-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 24px; }
.hero-card { background: linear-gradient(160deg, var(--panel), #211318); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow); }
.big-symbol { font-size: 64px; color: var(--accent); }

.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 12px 16px; border-radius: 14px; border: 1px solid transparent; font-weight: 800; cursor: pointer; text-align: center; gap: 8px; }
.btn-primary { background: var(--accent); color: #fff7f2; }
.btn-secondary { background: var(--panel-2); color: var(--text); border-color: var(--line); }
.btn-danger { background: var(--danger); color: #fff; }
.btn.full { width: 100%; }
.small-btn { min-height: 38px; padding: 8px 10px; border-radius: 10px; font-size: 13px; }
.tiny-btn { background: #2a303a; color: var(--text); border: 1px solid var(--line); border-radius: 9px; padding: 6px 9px; font-weight: 700; }

.section-head { display: flex; justify-content: space-between; align-items: end; gap: 14px; margin: 28px 0 14px; }
.section-head h2, .content-card h2, .form-card h2 { margin: 0 0 8px; letter-spacing: -.03em; }
.section-head.compact { align-items: center; margin-top: 0; }

.run-grid { display: grid; gap: 14px; }
.run-card { background: rgba(23,26,32,.9); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,.22); }
.run-card.is-canceled { opacity: .78; }
.run-card-image { background: #0a0b0d; aspect-ratio: 16 / 10; overflow: hidden; display: block; }
.run-card-image img { width: 100%; height: 100%; object-fit: cover; }
.run-card-body { padding: 16px; }
.run-card h3 { margin: 10px 0 6px; font-size: 21px; line-height: 1.15; }
.status-line { display: flex; align-items: center; gap: 10px; color: var(--muted); flex-wrap: wrap; font-weight: 700; }
.status-line.big { font-size: 17px; margin-top: 12px; }
.badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 9px; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; color: #111; background: var(--accent-2); }
.badge-draft { background: #aeb6c2; }
.badge-published { background: var(--success); }
.badge-canceled, .badge-hidden_by_admin { background: var(--danger); color: #fff; }
.badge-archived { background: #8b93a1; }
.muted { color: var(--muted); }
.small { font-size: 13px; }
.center { text-align: center; }
.mini-stats { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.mini-stats span { background: #11151b; border: 1px solid var(--line); color: var(--muted); padding: 6px 8px; border-radius: 10px; font-size: 13px; font-weight: 700; }

.page-title { margin: 22px 0; }
.split-title { display: grid; gap: 12px; align-items: center; }
.filter-card, .form-card, .content-card, .auth-card, .table-card, .info-card { background: rgba(23,26,32,.92); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 10px 28px rgba(0,0,0,.2); }
.filter-card { padding: 14px; display: grid; gap: 12px; }
label { display: grid; gap: 7px; color: var(--muted); font-weight: 800; font-size: 14px; }
input, textarea, select { width: 100%; background: #0d1015; color: var(--text); border: 1px solid var(--line); border-radius: 12px; min-height: 46px; padding: 12px; outline: none; }
textarea { resize: vertical; }
input:focus, textarea:focus, select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(181,31,41,.18); }
.checkbox-row { display: flex; align-items: center; gap: 8px; }
.checkbox-row input { width: auto; min-height: auto; }
.result-count { color: var(--muted); margin: 18px 0 10px; }

.detail-hero { display: grid; gap: 18px; background: linear-gradient(160deg, rgba(32,36,44,.95), rgba(40,25,15,.92)); border: 1px solid var(--line); border-radius: 24px; padding: 18px; box-shadow: var(--shadow); }
.flyer-frame { border-radius: 18px; overflow: hidden; border: 1px solid var(--line); background: #07080a; }
.flyer-frame img { width: 100%; max-height: 680px; object-fit: contain; }
.info-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 18px 0; }
.info-card { padding: 14px; }
.info-card span { display: block; color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.info-card strong { display: block; margin-top: 4px; font-size: 18px; }
.content-card { padding: 16px; margin: 16px 0; }
.preline { white-space: pre-line; }
.map-panel { min-height: 320px; height: 48vh; max-height: 560px; border-radius: 16px; border: 1px solid var(--line); overflow: hidden; background: #111; }
.map-placeholder { min-height: 180px; display: grid; place-items: center; text-align: center; padding: 20px; background: #101319; border: 1px dashed var(--line); border-radius: 16px; color: var(--muted); }
.stop-list { padding-left: 24px; }
.stop-list li { margin: 12px 0; padding-left: 4px; }
.stop-list span, .stop-list em { display: block; color: var(--muted); }
.contact-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }

.auth-shell { min-height: 60vh; display: grid; place-items: center; }
.auth-card { width: min(500px, 100%); padding: 22px; display: grid; gap: 14px; }
.optional { font-weight: 500; color: var(--muted); }
.alert { border-radius: 14px; padding: 12px 14px; margin: 12px 0; border: 1px solid var(--line); }
.alert-error { background: rgba(255,77,77,.12); border-color: rgba(255,77,77,.38); }
.alert-success { background: rgba(57,217,138,.12); border-color: rgba(57,217,138,.38); }
.alert ul { margin: 8px 0 0; padding-left: 20px; }

.editor-grid, .management-grid { display: grid; gap: 14px; }
.form-card { padding: 16px; display: grid; gap: 13px; }
.two-col { display: grid; gap: 12px; }
.wide { grid-column: 1 / -1; }
.save-card { align-self: start; }
.route-summary { color: var(--muted); margin: 10px 0 0; font-weight: 800; }
.stops-editor { display: grid; gap: 12px; margin-top: 12px; }
.stop-editor-row { background: #11151b; border: 1px solid var(--line); border-radius: 16px; padding: 13px; display: grid; gap: 11px; }
.stop-row-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.row-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.flyer-preview { border-radius: 14px; max-height: 340px; object-fit: contain; background: #0b0d10; border: 1px solid var(--line); }
.stacked-form { display: grid; gap: 12px; }

.table-card { padding: 0; overflow: hidden; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
th { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.actions, .inline-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.admin-link { color: var(--text); }
.empty-state { background: rgba(23,26,32,.92); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; text-align: center; }
.error-page { min-height: 54vh; display: grid; align-content: center; }
.site-footer { width: min(1180px, calc(100% - 28px)); margin: 0 auto; border-top: 1px solid var(--line); padding: 20px 0 40px; color: var(--muted); font-size: 13px; }

@media (max-width: 720px) {
  .site-header { align-items: flex-start; }
  .top-nav { gap: 8px; }
  .brand span:last-child { display: none; }
  .mobile-cards table, .mobile-cards thead, .mobile-cards tbody, .mobile-cards th, .mobile-cards td, .mobile-cards tr { display: block; }
  .mobile-cards thead { display: none; }
  .mobile-cards tr { padding: 14px; border-bottom: 1px solid var(--line); }
  .mobile-cards td { border: 0; padding: 6px 0; }
  .mobile-cards td::before { content: attr(data-label); display: block; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; margin-bottom: 2px; }
}

@media (min-width: 720px) {
  .hero { grid-template-columns: minmax(0, 1.5fr) minmax(280px, .8fr); align-items: center; padding-top: 70px; }
  .run-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filter-card { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; }
  .split-title { grid-template-columns: 1fr auto; }
  .two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-hero { grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); align-items: start; padding: 24px; }
  .info-grid { grid-template-columns: repeat(3, 1fr); }
  .editor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .management-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
}

@media (min-width: 1024px) {
  .run-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .map-panel { min-height: 440px; }
}

.choice-card { border: 1px solid var(--line); border-radius: 14px; padding: 12px; display: grid; gap: 10px; background: rgba(255,255,255,.025); }
.choice-card legend { padding: 0 6px; color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; }
.large-check { align-items: flex-start; font-weight: 800; padding: 10px; border-radius: 12px; background: rgba(255,255,255,.035); }
.large-check input { margin-top: 3px; transform: scale(1.15); }
.interest-card { border-color: rgba(181,31,41,.35); }
.nested-table { margin-top: 10px; background: rgba(0,0,0,.12); }
code { background: rgba(0,0,0,.28); border: 1px solid var(--line); padding: 2px 5px; border-radius: 6px; }
fieldset { min-width: 0; }

.badge-weather { background: #7dd3fc; color: #0b1220; }
.weather-card { border-color: rgba(125,211,252,.35); }
.hourly-weather-list { display: grid; gap: 8px; margin-top: 12px; }
.hourly-weather-row { display: grid; grid-template-columns: 68px 62px minmax(110px, 1fr); gap: 8px; align-items: center; background: #11151b; border: 1px solid var(--line); border-radius: 14px; padding: 10px; }
.hourly-weather-row strong { font-size: 15px; }
.hourly-weather-row span { color: var(--muted); font-weight: 800; font-size: 13px; }
.hourly-weather-row span:nth-child(2) { color: var(--text); font-size: 18px; }
.hourly-weather-row span:nth-child(4), .hourly-weather-row span:nth-child(5) { grid-column: span 1; }

@media (max-width: 520px) {
  .hourly-weather-row { grid-template-columns: 64px 58px 1fr; }
  .hourly-weather-row span:nth-child(4), .hourly-weather-row span:nth-child(5) { grid-column: 1 / -1; }
}

@media (min-width: 860px) {
  .hourly-weather-row { grid-template-columns: 74px 70px minmax(140px, 1fr) 110px 120px; }
}

/* V1.4 additions */
.badge-pending_review { background: #fbbf24; color: #111827; }
.badge-response { background: #c084fc; color: #111827; }
.flyer-qr-stack { display: grid; gap: 12px; }
.qr-card { display: grid; grid-template-columns: 112px 1fr; gap: 12px; align-items: center; background: #101319; border: 1px solid var(--line); border-radius: 18px; padding: 12px; }
.qr-card img { width: 112px; height: 112px; border-radius: 12px; background: #fff; padding: 6px; }
.qr-card strong, .qr-card span { display: block; }
.compact-actions { margin-top: 16px; }
.button-row { display: flex; gap: 10px; flex-wrap: wrap; }
.compact-grid { margin-top: 8px; }
.route-actions { margin-bottom: 12px; }
.sponsor-grid { display: grid; gap: 10px; }
.sponsor-card { background: #11151b; border: 1px solid var(--line); border-radius: 14px; padding: 12px; display: grid; gap: 5px; }
.sponsor-card span { color: var(--muted); }
.sponsor-card a { color: var(--accent-2); font-weight: 800; }
.announcement-item { background: #11151b; border: 1px solid var(--line); border-radius: 14px; padding: 12px; margin: 10px 0; }
.announcement-item strong, .announcement-item span { display: block; }
.disclaimer-card { border-color: rgba(251,191,36,.35); }
.legal-copy h2 { margin-top: 24px; }
.soft-line { width: 100%; border: 0; border-top: 1px solid var(--line); margin: 12px 0; }
.route-limit-note { margin-top: 0; }

@media (min-width: 720px) {
  .sponsor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  .sponsor-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .qr-card { grid-template-columns: 86px 1fr; }
  .qr-card img { width: 86px; height: 86px; }
  .button-row .btn { flex: 1 1 100%; }
}

/* V1.4 confirmation-preview additions */
.preview-hero { border: 2px solid rgba(181, 31, 41, 0.28); }
.strong-disclaimer { border-color: rgba(251, 191, 36, 0.45); }
.confirm-submit-card { border: 2px solid rgba(34, 197, 94, 0.35); }
.disabled-btn { opacity: 0.65; pointer-events: none; cursor: not-allowed; }
.checkbox-label { display: flex; align-items: flex-start; gap: 0.75rem; line-height: 1.45; }
.checkbox-label input { margin-top: 0.2rem; min-width: 20px; min-height: 20px; }
@media (max-width: 720px) {
  .checkbox-label { font-size: 0.98rem; }
}

/* V1.6 sponsor logos + public poster layout */
.poster-page { margin: 22px 0 34px; }
.event-poster-shell {
  background:
    radial-gradient(circle at 12% 0%, rgba(181,31,41,.22), transparent 30%),
    linear-gradient(145deg, rgba(24,27,34,.98), rgba(12,14,18,.98));
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 30px;
  box-shadow: 0 28px 80px rgba(0,0,0,.45);
  overflow: hidden;
}
.poster-banner {
  display: grid;
  gap: 18px;
  padding: 24px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(100deg, rgba(181,31,41,.16), rgba(255,255,255,.02));
}
.poster-banner h1 { margin: 2px 0 8px; font-size: clamp(38px, 9vw, 86px); line-height: .9; letter-spacing: -0.06em; }
.poster-subtitle { margin: 0; color: var(--muted); font-size: clamp(17px, 4vw, 24px); font-weight: 800; }
.poster-status-stack { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.poster-status-stack strong { color: var(--accent-2); font-size: 22px; }
.poster-alert { margin: 16px 24px 0; }
.poster-layout { display: grid; gap: 18px; padding: 18px; }
.poster-media-panel, .poster-content-panel { display: grid; gap: 16px; align-content: start; }
.poster-flyer-frame, .poster-flyer-placeholder {
  display: grid;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.14);
  background: #07080b;
  box-shadow: 0 20px 42px rgba(0,0,0,.35);
}
.poster-flyer-frame img { width: 100%; max-height: 860px; object-fit: contain; }
.poster-flyer-placeholder { min-height: 480px; place-items: center; text-align: center; padding: 28px; }
.poster-flyer-placeholder span { color: var(--accent-2); text-transform: uppercase; letter-spacing: .2em; font-weight: 900; }
.poster-flyer-placeholder strong { display: block; font-size: clamp(36px, 10vw, 64px); line-height: .9; margin: 22px 0; }
.poster-flyer-placeholder em { color: var(--muted); font-style: normal; font-weight: 800; }
.poster-qr-card { background: rgba(255,255,255,.045); }
.poster-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.poster-actions .btn { flex: 1 1 auto; justify-content: center; }
.poster-section {
  background: rgba(17,21,27,.88);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 16px;
  box-shadow: 0 10px 26px rgba(0,0,0,.16);
}
.poster-section h2 { margin-top: 0; }
.poster-section-highlight { border-color: rgba(181,31,41,.42); background: linear-gradient(135deg, rgba(181,31,41,.16), rgba(17,21,27,.95)); }
.poster-facts-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.poster-fact { background: rgba(0,0,0,.22); border: 1px solid var(--line); border-radius: 16px; padding: 12px; min-width: 0; }
.poster-fact span { display: block; color: var(--muted); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.poster-fact strong { display: block; margin-top: 5px; font-size: 17px; word-break: break-word; }
.poster-copy { font-size: 16px; line-height: 1.6; }
.inline-poster-actions { margin-top: 12px; }
.poster-sponsor-grid { display: grid; gap: 12px; }
.poster-sponsor-card {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 12px;
  align-items: center;
  background: rgba(0,0,0,.24);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 12px;
}
.poster-sponsor-card strong, .poster-sponsor-card span, .poster-sponsor-card a { display: block; }
.poster-sponsor-card span { color: var(--muted); font-size: 13px; margin-top: 3px; }
.poster-sponsor-card a { color: var(--accent-2); font-weight: 900; margin-top: 6px; }
.poster-sponsor-logo {
  width: 88px;
  height: 62px;
  background: #fff;
  border-radius: 14px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
}
.poster-sponsor-logo img { width: 100%; height: 100%; object-fit: contain; padding: 6px; }
.poster-sponsor-logo-empty { background: rgba(181,31,41,.16); color: var(--accent-2); font-size: 28px; font-weight: 900; }
.poster-contact-section .poster-facts-grid { margin-bottom: 10px; }
.report-details { margin-top: 12px; }
.report-details summary { cursor: pointer; color: var(--accent-2); font-weight: 900; }
.poster-route-bottom {
  margin-top: 18px;
  padding: 18px;
  background: #0b0d11;
  border-top: 1px solid rgba(255,255,255,.1);
}
.poster-route-head { display: grid; gap: 12px; align-items: end; margin-bottom: 14px; }
.poster-route-map { min-height: 340px; height: 46vh; max-height: 620px; border-radius: 22px; border: 1px solid var(--line); overflow: hidden; background: #111; }
.poster-stop-list { list-style: none; padding: 0; margin: 16px 0 0; display: grid; gap: 12px; }
.poster-stop-list li { display: grid; grid-template-columns: 42px 1fr; gap: 12px; background: rgba(255,255,255,.04); border: 1px solid var(--line); border-radius: 18px; padding: 12px; }
.stop-badge { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--accent); color: #111; font-weight: 1000; }
.poster-stop-list strong { display: block; font-size: 18px; }
.poster-stop-list span, .poster-stop-list em, .poster-stop-list p { display: block; color: var(--muted); margin: 3px 0 0; }
.poster-stop-list em { font-style: normal; }
.sponsor-logo-mini { width: 100%; max-width: 220px; background: #fff; border-radius: 14px; overflow: hidden; border: 1px solid var(--line); }
.sponsor-logo-mini img { width: 100%; height: 86px; object-fit: contain; padding: 8px; }
.sponsor-upload-list { display: grid; gap: 12px; }
.sponsor-upload-row { display: grid; grid-template-columns: 90px 1fr; gap: 12px; background: #11151b; border: 1px solid var(--line); border-radius: 16px; padding: 12px; align-items: center; }
.sponsor-upload-preview { width: 90px; height: 64px; border-radius: 14px; background: rgba(255,255,255,.08); display: grid; place-items: center; overflow: hidden; color: var(--muted); font-size: 12px; font-weight: 900; }
.sponsor-upload-preview img { width: 100%; height: 100%; object-fit: contain; background: #fff; padding: 6px; }
.strong-disclaimer { border-color: rgba(251,191,36,.55); }
.disabled-btn { opacity: .7; pointer-events: none; }

@media (min-width: 760px) {
  .poster-banner { grid-template-columns: 1fr auto; align-items: end; padding: 34px; }
  .poster-layout { grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr); padding: 24px; }
  .poster-facts-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .poster-route-head { grid-template-columns: 1fr auto; }
  .poster-actions .btn { flex: 0 0 auto; }
}

@media (min-width: 1080px) {
  .poster-layout { grid-template-columns: minmax(320px, 440px) minmax(0, 1fr); padding: 30px; gap: 24px; }
  .poster-sponsor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .poster-section { padding: 20px; }
  .poster-route-bottom { padding: 26px 30px 30px; }
}

@media (max-width: 520px) {
  .event-poster-shell { border-radius: 22px; }
  .poster-banner { padding: 18px; }
  .poster-layout { padding: 12px; }
  .poster-section { padding: 14px; border-radius: 18px; }
  .poster-facts-grid { grid-template-columns: 1fr; }
  .poster-sponsor-card { grid-template-columns: 72px 1fr; }
  .poster-sponsor-logo { width: 72px; height: 56px; }
  .sponsor-upload-row { grid-template-columns: 1fr; }
  .sponsor-upload-preview { width: 100%; height: 86px; }
}

/* V1.6 enhancements */
.confirmed-strip {
  margin-top: 14px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  background: rgba(34,197,94,.10);
  border: 1px solid rgba(34,197,94,.34);
  border-radius: 16px;
  padding: 12px;
}
.confirmed-strip span { color: var(--muted); font-size: 13px; font-weight: 800; }
.badge-upcoming, .badge-today, .badge-tomorrow, .badge-published { background: rgba(34,197,94,.15); color: #86efac; border-color: rgba(34,197,94,.35); }
.badge-canceled { background: rgba(239,68,68,.16); color: #fca5a5; border-color: rgba(239,68,68,.35); }
.badge-past-run, .badge-archived { background: rgba(148,163,184,.14); color: #cbd5e1; border-color: rgba(148,163,184,.34); }
.badge-draft { background: rgba(251,191,36,.16); color: #fde68a; border-color: rgba(251,191,36,.35); }
.map-cache-note {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  background: rgba(0,0,0,.72);
  color: #fff;
  border-radius: 12px;
  padding: 10px;
  font-size: 12px;
  font-weight: 800;
  z-index: 2;
}
.compact-filters { align-items: end; }
.run-card .muted a { color: var(--muted); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
@media (max-width: 520px) {
  .confirmed-strip { align-items: flex-start; flex-direction: column; }
}

/* V1.7 ride categories, regions, onboarding, safety, metrics */
.onboarding-card { margin: 18px 0; }
.checklist-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.checklist-item { display: flex; gap: 10px; align-items: center; padding: 12px 14px; border: 1px solid var(--border, #2c323c); border-radius: 14px; background: rgba(255,255,255,0.035); color: var(--muted, #aeb6c2); font-weight: 700; }
.checklist-item span { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 999px; background: rgba(181,31,41,0.16); color: #f04b28; flex: 0 0 auto; }
.checklist-item.is-done { color: var(--text, #f6f7f9); border-color: rgba(78, 209, 122, 0.45); background: rgba(78, 209, 122, 0.08); }
.checklist-item.is-done span { background: rgba(78, 209, 122, 0.18); color: #7ee69c; }
.region-card h2 { margin-top: 0; }
.safety-card { border-color: rgba(255, 194, 102, 0.35); background: linear-gradient(135deg, rgba(255,194,102,0.09), rgba(255,255,255,0.025)); }
.plain-list { padding-left: 18px; line-height: 1.7; }
.faq-card h2 { margin-top: 24px; }
.faq-card h2:first-child { margin-top: 0; }
@media (max-width: 700px) { .checklist-grid { grid-template-columns: 1fr; } }

/* V1.8 site-wide sponsorship / ad system */
.site-sponsor-slot {
  width: min(1180px, calc(100% - 28px));
  margin: 18px auto;
  background: linear-gradient(135deg, rgba(181,31,41,.09), rgba(23,26,32,.94));
  border: 1px solid rgba(255,194,102,.28);
  border-radius: 22px;
  padding: 16px;
  box-shadow: 0 14px 34px rgba(0,0,0,.22);
}
.site-sponsor-slot.poster-section { width: auto; margin: 16px 0; }
.footer-sponsor-slot { margin-top: 6px; margin-bottom: 18px; }
.sponsor-slot-head { display: flex; justify-content: space-between; gap: 12px; align-items: end; margin-bottom: 12px; }
.sponsor-slot-head h2 { margin: 2px 0 0; }
.site-sponsor-grid { display: grid; gap: 12px; }
.site-sponsor-card {
  position: relative;
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  background: rgba(0,0,0,.22);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 12px;
  color: var(--text);
  min-height: 112px;
}
.site-sponsor-card:hover { border-color: rgba(255,194,102,.55); color: var(--text); }
.site-sponsor-card strong, .site-sponsor-card span { display: block; }
.site-sponsor-card > div:last-child > span { color: var(--muted); margin-top: 4px; font-size: 13px; }
.sponsored-label {
  position: absolute;
  top: 8px;
  right: 10px;
  color: var(--accent-2);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.site-sponsor-logo-wrap {
  width: 96px;
  height: 72px;
  display: grid;
  place-items: center;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
}
.site-sponsor-logo-wrap img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.site-sponsor-logo-wrap strong { color: #111; font-size: 34px; }
.site-sponsor-placeholder {
  display: grid;
  gap: 12px;
  align-items: center;
  background: rgba(0,0,0,.18);
  border: 1px dashed rgba(255,194,102,.42);
  border-radius: 18px;
  padding: 14px;
}
.site-sponsor-placeholder strong, .site-sponsor-placeholder span { display: block; }
.site-sponsor-placeholder span { color: var(--muted); margin-top: 2px; }
.compact-upload { margin-top: 10px; }
.compact-upload input[type="file"] { min-height: auto; padding: 9px; }
.sponsor-logo-large { background: #fff; border-radius: 18px; border: 1px solid var(--line); overflow: hidden; display: grid; place-items: center; min-height: 180px; }
.sponsor-logo-large img { max-height: 220px; width: 100%; object-fit: contain; padding: 16px; }
@media (min-width: 720px) {
  .site-sponsor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-sponsor-placeholder { grid-template-columns: 1fr auto; }
}
@media (max-width: 520px) {
  .site-sponsor-slot { padding: 14px; border-radius: 18px; }
  .sponsor-slot-head { align-items: flex-start; flex-direction: column; }
  .site-sponsor-card { grid-template-columns: 78px minmax(0,1fr); min-height: 100px; }
  .site-sponsor-logo-wrap { width: 78px; height: 62px; }
  .sponsored-label { position: static; margin-bottom: 4px; }
}

/* V1.8.7 one-location event controls */
.location-mode-card { margin: 14px 0; }
#other-location-mode-card[hidden],
.single-location-summary[hidden],
.route-only-controls[hidden],
.route-only-field[hidden],
[data-route-only-option][hidden],
#stops-help-route[hidden],
#stops-help-single[hidden] { display: none !important; }
.single-mode-hidden-row { display: none !important; }
.single-location-event .stop-editor-row:first-child .row-actions { display: none; }
.single-location-event .stop-number:empty { display: none; }
.single-location-list .stop-badge { font-size: 1.15rem; }

/* V1.9.2 organizer contact visibility controls */
.privacy-check {
  margin-top: -6px;
  margin-bottom: 12px;
  color: var(--muted);
  font-size: .95rem;
}
.privacy-check input { margin-right: 8px; }

/* V1.10 polish */
.day-of-card {
  border-color: rgba(181, 31, 41, 0.65);
  background: linear-gradient(135deg, rgba(181, 31, 41, 0.16), rgba(18, 18, 18, 0.92));
}
.organizer-updates-card {
  border-color: rgba(255, 194, 102, 0.55);
}
.notify-check {
  flex-basis: 100%;
  margin-top: 0.75rem;
}
.event-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 0.75rem;
}
.event-gallery-image,
.mini-gallery img {
  display: block;
  border: 1px solid var(--border);
  border-radius: 1rem;
  overflow: hidden;
  background: var(--surface-2);
}
.event-gallery-image img,
.mini-gallery img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.compact-contact-form {
  margin-top: 1rem;
}
.tiny-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.45rem;
}
.tiny-action-row a,
.tiny-action-row button {
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 0.45rem 0.7rem;
  color: var(--text);
  background: rgba(255,255,255,0.04);
  font-weight: 700;
  font-size: 0.85rem;
  text-decoration: none;
  cursor: pointer;
}
.admin-link:focus-visible,
.tiny-action-row a:focus-visible,
.tiny-action-row button:focus-visible {
  outline: 3px solid rgba(181,31,41,0.55);
  outline-offset: 2px;
}

/* V1.10.1 organizer cleanup and draft completeness meter */
.editor-command-center { margin: 18px 0; display: grid; gap: 16px; }
.editor-command-center .button-row { justify-content: flex-end; }
.readiness-meter { display: grid; gap: 8px; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.035); }
.readiness-meter-top { display: flex; justify-content: space-between; gap: 12px; align-items: center; color: var(--text); }
.readiness-meter-top span { color: var(--muted); font-weight: 800; }
.readiness-bar { height: 13px; border-radius: 999px; overflow: hidden; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.08); }
.readiness-bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #b51f29, #ffcf6a); min-width: 4px; }
.readiness-details { border: 1px solid var(--line); border-radius: 16px; padding: 12px 14px; background: rgba(255,255,255,.025); }
.readiness-details summary { cursor: pointer; font-weight: 900; color: var(--text); }
.compact-checklist { margin-top: 12px; }
.editor-section-nav { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 2px; }
.editor-section-nav a { text-decoration: none; color: var(--text); border: 1px solid var(--line); background: rgba(255,255,255,.04); border-radius: 999px; padding: 10px 13px; font-weight: 900; font-size: .92rem; }
.editor-section-nav a:hover, .editor-section-nav a:focus { border-color: rgba(181,31,41,.8); color: #fff; background: rgba(181,31,41,.12); }
.editor-panel { scroll-margin-top: 18px; }
.dashboard-command-center { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin: 16px 0; }
.metric-card { background: rgba(23,26,32,.92); border: 1px solid var(--line); border-radius: 18px; padding: 16px; box-shadow: 0 10px 28px rgba(0,0,0,.2); }
.metric-card span { display: block; color: var(--muted); font-weight: 900; text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; }
.metric-card strong { display: block; font-size: 2rem; margin-top: 5px; color: var(--text); }
.dashboard-help-card { margin: 16px 0; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.dashboard-help-card h2 { margin: 0 0 6px; }
@media (max-width: 800px) {
  .dashboard-command-center { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .dashboard-help-card { align-items: stretch; flex-direction: column; }
  .editor-command-center .section-head { display: grid; }
  .editor-command-center .button-row { justify-content: stretch; }
  .editor-command-center .button-row .btn { flex: 1 1 auto; }
  .readiness-meter-top { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 520px) { .dashboard-command-center { grid-template-columns: 1fr; } }


/* V1.10.2 Moto Event Hub branding + universal hamburger menu */
:root {
  --brand-red: #b51f29;
  --brand-red-bright: #f04b28;
  --brand-ink: #151b23;
  --brand-soft: #fff7f2;
}

body {
  background:
    radial-gradient(circle at top left, rgba(181,31,41,.22), transparent 32rem),
    radial-gradient(circle at 88% 8%, rgba(240,75,40,.10), transparent 26rem),
    linear-gradient(180deg, #090b0f 0%, #0c1016 48%, #090b0f 100%);
}

.site-header {
  min-height: 72px;
  padding: 12px 0;
  background: rgba(9, 11, 15, .92);
  border-bottom: 1px solid rgba(181, 31, 41, .24);
  box-shadow: 0 12px 36px rgba(0,0,0,.25);
  backdrop-filter: blur(16px);
}

.brand {
  min-width: 0;
  gap: 12px;
}

.brand-logo {
  width: 46px;
  height: 46px;
  object-fit: contain;
  border-radius: 14px;
  background: #fff;
  padding: 3px;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 8px 22px rgba(181,31,41,.24);
  flex: 0 0 auto;
}

.brand-text {
  display: inline !important;
  color: var(--text);
  font-size: clamp(17px, 2.4vw, 22px);
  font-weight: 900;
  letter-spacing: -.045em;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.menu-toggle {
  display: inline-flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(181,31,41,.92), rgba(240,75,40,.86));
  color: #fff;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(181,31,41,.25);
}

.menu-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 999px;
  background: #fff;
  transition: transform .18s ease, opacity .18s ease;
}

.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

.top-nav {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(360px, calc(100vw - 28px));
  display: grid;
  gap: 8px;
  padding: 12px;
  background: rgba(18,22,29,.98);
  border: 1px solid rgba(181,31,41,.34);
  border-radius: 20px;
  box-shadow: 0 22px 60px rgba(0,0,0,.55);
  transform: translateY(-8px) scale(.98);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index: 80;
}

.top-nav.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.top-nav a,
.top-nav .link-button {
  width: 100%;
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 11px 13px;
  border-radius: 14px;
  color: var(--text);
  background: #0d1117;
  border: 1px solid rgba(255,255,255,.08);
  font-weight: 850;
  font-size: 15px;
  text-align: left;
}

.top-nav a:hover,
.top-nav a:focus,
.top-nav .link-button:hover,
.top-nav .link-button:focus {
  color: #fff;
  border-color: rgba(240,75,40,.72);
  background: linear-gradient(135deg, rgba(181,31,41,.20), rgba(240,75,40,.10));
}

.top-nav .nav-pill {
  background: linear-gradient(135deg, var(--brand-red), var(--brand-red-bright));
  color: #fff !important;
  justify-content: center;
}

.nav-form { width: 100%; }
.nav-form .link-button { cursor: pointer; }
.inline-form.nav-form { display: block; }

.btn-primary {
  background: linear-gradient(135deg, var(--brand-red), var(--brand-red-bright));
  color: #fff;
  box-shadow: 0 10px 28px rgba(181,31,41,.25);
}

.btn-primary:hover { color: #fff; filter: brightness(1.08); }
.brand-panel,
.hero-card,
.detail-hero,
.event-poster-shell {
  border-color: rgba(181,31,41,.28);
}

.readiness-bar span {
  background: linear-gradient(90deg, var(--brand-red), var(--brand-red-bright), #ffcf6a);
}

@media (max-width: 720px) {
  .site-header { align-items: center; }
  .brand span:last-child { display: inline !important; }
}

@media (max-width: 420px) {
  .brand-text { max-width: 210px; }
  .brand-logo { width: 42px; height: 42px; }
  .menu-toggle { width: 44px; height: 44px; }
}


/* V1.10.3 adaptive desktop/tablet/mobile layout system */
:root {
  --page-max-adaptive: 1180px;
  --page-gutter-adaptive: 14px;
  --panel-padding-adaptive: 16px;
  --grid-gap-adaptive: 14px;
  --map-height-adaptive: 48vh;
  --tap-size-adaptive: 46px;
}

html.is-desktop {
  --page-max-adaptive: 1320px;
  --page-gutter-adaptive: 42px;
  --panel-padding-adaptive: 22px;
  --grid-gap-adaptive: 18px;
  --map-height-adaptive: min(62vh, 680px);
  --tap-size-adaptive: 44px;
}

html.is-tablet {
  --page-max-adaptive: 980px;
  --page-gutter-adaptive: 24px;
  --panel-padding-adaptive: 18px;
  --grid-gap-adaptive: 16px;
  --map-height-adaptive: min(54vh, 520px);
  --tap-size-adaptive: 48px;
}

html.is-mobile {
  --page-max-adaptive: 100%;
  --page-gutter-adaptive: 14px;
  --panel-padding-adaptive: 14px;
  --grid-gap-adaptive: 12px;
  --map-height-adaptive: 360px;
  --tap-size-adaptive: 50px;
}

main,
.site-header,
.site-footer,
.site-sponsor-slot {
  width: min(var(--page-max-adaptive), calc(100% - (var(--page-gutter-adaptive) * 2)));
}

.site-sponsor-slot.poster-section { width: auto; }

.btn,
input,
select,
textarea,
.top-nav a,
.top-nav .link-button,
.menu-toggle {
  min-height: var(--tap-size-adaptive);
}

.form-card,
.content-card,
.info-card,
.filter-card,
.auth-card,
.table-card,
.poster-section,
.metric-card {
  padding: var(--panel-padding-adaptive);
}

.run-grid,
.editor-grid,
.management-grid,
.poster-layout,
.site-sponsor-grid,
.event-gallery-grid,
.poster-sponsor-grid,
.checklist-grid {
  gap: var(--grid-gap-adaptive);
}

.map-panel,
.poster-route-map {
  height: var(--map-height-adaptive);
}

html.is-desktop main { padding-top: 34px; }
html.is-desktop .hero { grid-template-columns: minmax(0, 1.55fr) minmax(340px, .85fr); }
html.is-desktop .run-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
html.is-desktop .filter-card { grid-template-columns: repeat(4, minmax(0, 1fr)); }
html.is-desktop .poster-layout { grid-template-columns: minmax(340px, 470px) minmax(0, 1fr); }
html.is-desktop .poster-facts-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
html.is-desktop .poster-route-head { grid-template-columns: 1fr auto; }
html.is-desktop .editor-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
html.is-desktop .management-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
html.is-desktop .dashboard-command-center { grid-template-columns: repeat(4, minmax(0, 1fr)); }
html.is-desktop .site-sponsor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

html.is-tablet .hero { grid-template-columns: 1fr; padding-top: 34px; }
html.is-tablet .run-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
html.is-tablet .filter-card { grid-template-columns: repeat(2, minmax(0, 1fr)); }
html.is-tablet .poster-layout { grid-template-columns: 1fr; }
html.is-tablet .poster-facts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
html.is-tablet .editor-grid,
html.is-tablet .management-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
html.is-tablet .dashboard-command-center { grid-template-columns: repeat(2, minmax(0,1fr)); }
html.is-tablet .site-sponsor-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
html.is-tablet .top-nav { width: min(420px, calc(100vw - 32px)); }

html.is-mobile body { font-size: 16px; }
html.is-mobile main { padding-top: 16px; padding-bottom: 34px; }
html.is-mobile .site-header { min-height: 64px; padding: 10px 0; }
html.is-mobile .hero { grid-template-columns: 1fr; padding: 22px 0 16px; }
html.is-mobile .hero-card { display: none; }
html.is-mobile .hero-actions,
html.is-mobile .button-row,
html.is-mobile .poster-actions,
html.is-mobile .contact-actions,
html.is-mobile .actions,
html.is-mobile .inline-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
html.is-mobile .hero-actions .btn,
html.is-mobile .button-row .btn,
html.is-mobile .poster-actions .btn,
html.is-mobile .contact-actions .btn,
html.is-mobile .actions .btn,
html.is-mobile .inline-actions .btn { width: 100%; }
html.is-mobile .run-grid,
html.is-mobile .filter-card,
html.is-mobile .two-col,
html.is-mobile .detail-hero,
html.is-mobile .info-grid,
html.is-mobile .editor-grid,
html.is-mobile .management-grid,
html.is-mobile .poster-layout,
html.is-mobile .poster-facts-grid,
html.is-mobile .dashboard-command-center,
html.is-mobile .site-sponsor-grid { grid-template-columns: 1fr; }
html.is-mobile .poster-banner { padding: 18px; }
html.is-mobile .event-poster-shell { border-radius: 20px; }
html.is-mobile .poster-layout { padding: 12px; }
html.is-mobile .poster-route-bottom { padding: 12px; }
html.is-mobile .poster-stop-list li { grid-template-columns: 36px 1fr; padding: 10px; }
html.is-mobile .stop-badge { width: 36px; height: 36px; }
html.is-mobile .top-nav {
  position: fixed;
  top: max(76px, env(safe-area-inset-top));
  left: 14px;
  right: 14px;
  width: auto;
  max-height: calc((var(--vh, 1vh) * 100) - 96px);
  overflow-y: auto;
}
html.is-mobile .brand-text { max-width: min(58vw, 260px); }
html.is-mobile .section-head,
html.is-mobile .split-title,
html.is-mobile .poster-route-head,
html.is-mobile .sponsor-slot-head,
html.is-mobile .dashboard-help-card {
  display: grid;
  align-items: stretch;
}
html.is-mobile .run-card h3 { font-size: 20px; }
html.is-mobile .poster-banner h1,
html.is-mobile .hero-copy h1,
html.is-mobile .page-title h1,
html.is-mobile .detail-hero h1,
html.is-mobile .auth-card h1 { letter-spacing: -.045em; }

html.viewport-xs .brand-text { max-width: 180px; font-size: 16px; }
html.viewport-xs .poster-sponsor-card,
html.viewport-xs .site-sponsor-card,
html.viewport-xs .qr-card { grid-template-columns: 1fr; }
html.viewport-xs .poster-sponsor-logo,
html.viewport-xs .site-sponsor-logo-wrap,
html.viewport-xs .qr-card img { width: 100%; height: 86px; }
html.viewport-xs .poster-flyer-placeholder { min-height: 320px; }
html.viewport-xs .hourly-weather-row { grid-template-columns: 1fr; }

html.is-mobile.is-landscape .poster-route-map,
html.is-mobile.is-landscape .map-panel { height: min(calc(var(--vh, 1vh) * 70), 380px); }
html.is-tablet.is-landscape .poster-layout { grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); }
html.is-tablet.is-landscape .filter-card { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* V1.10.4 usability polish: event wizard, cleaner nav, collapsed filters, public layout cleanup */
body { font-size: 16px; }
main { line-height: 1.55; }
.hero-copy p, .page-title p, .poster-copy { font-size: 1rem; }
.hero-copy h1, .page-title h1, .detail-hero h1, .auth-card h1 { font-size: clamp(2.1rem, 5.4vw, 4.6rem); }
.poster-banner h1 { font-size: clamp(2.2rem, 6.6vw, 5rem); }

.site-header {
  min-height: 78px;
  border-radius: 0 0 22px 22px;
  padding: 14px 18px;
  margin-top: 0;
}
.brand-logo { width: 52px; height: 52px; border-radius: 16px; }
.brand-text { font-size: clamp(1.05rem, 2vw, 1.35rem); letter-spacing: -.035em; }
.menu-toggle {
  width: 52px;
  height: 52px;
  border-radius: 18px;
  gap: 6px;
}
.top-nav {
  width: min(410px, calc(100vw - 28px));
  padding: 14px;
  gap: 10px;
}
.top-nav a,
.top-nav .link-button {
  min-height: 50px;
  padding: 13px 15px;
  font-size: 1rem;
  border-radius: 16px;
}
@media (max-width: 520px) {
  .site-header { width: calc(100% - 18px); padding: 10px 12px; border-radius: 0 0 18px 18px; }
  .brand-logo { width: 44px; height: 44px; }
  .brand-text { max-width: 56vw; }
  .menu-toggle { width: 46px; height: 46px; }
  html.is-mobile .top-nav { top: max(68px, env(safe-area-inset-top)); left: 9px; right: 9px; }
}

.filter-drawer {
  background: rgba(23,26,32,.92);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 10px 28px rgba(0,0,0,.2);
  margin: 16px 0 20px;
  overflow: hidden;
}
.filter-drawer summary {
  list-style: none;
  cursor: pointer;
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  font-weight: 900;
}
.filter-drawer summary::-webkit-details-marker { display: none; }
.filter-drawer summary::after {
  content: '+';
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: rgba(181,31,41,.18);
  color: var(--accent-2);
  font-size: 1.3rem;
}
.filter-drawer[open] summary::after { content: '–'; }
.filter-drawer .filter-card {
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
  background: rgba(0,0,0,.12);
}

.event-wizard-shell { position: sticky; top: 82px; z-index: 9; backdrop-filter: blur(12px); }
.wizard-helper-card {
  border: 1px solid rgba(240,75,40,.28);
  background: rgba(181,31,41,.08);
  border-radius: 16px;
  padding: 12px 14px;
  color: var(--muted);
}
.wizard-helper-card strong { color: var(--text); }
.wizard-step-nav {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 8px;
}
.wizard-step-nav button {
  appearance: none;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.04);
  color: var(--text);
  border-radius: 999px;
  min-height: 44px;
  padding: 10px 12px;
  cursor: pointer;
  font-weight: 900;
  text-align: center;
}
.wizard-step-nav button.is-active {
  background: linear-gradient(135deg, var(--brand-red), var(--brand-red-bright));
  border-color: rgba(255,255,255,.18);
  color: #fff;
  box-shadow: 0 10px 24px rgba(181,31,41,.22);
}
.wizard-progress-line {
  height: 10px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.09);
}
.wizard-progress-line span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--brand-red), var(--brand-red-bright), #ffcf6a);
  transition: width .18s ease;
}
.wizard-step-counter { margin: 0; font-weight: 900; }
.wizard-form { display: block; }
.wizard-panel,
.wizard-extra-panel {
  max-width: 960px;
  margin: 18px auto;
}
.wizard-panel[hidden],
.wizard-extra-panel[hidden] { display: none !important; }
.wizard-panel-active { animation: wizardFade .16s ease-out; }
@keyframes wizardFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.wizard-save-panel {
  max-width: 960px;
  margin: 12px auto;
  background: rgba(181,31,41,.08);
  border-color: rgba(181,31,41,.28);
}
.wizard-bottom-controls {
  position: sticky;
  bottom: 12px;
  z-index: 15;
  max-width: 960px;
  margin: 22px auto 10px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(181,31,41,.28);
  border-radius: 20px;
  background: rgba(12,14,18,.94);
  box-shadow: 0 20px 60px rgba(0,0,0,.48);
  backdrop-filter: blur(14px);
}
.wizard-bottom-controls button:disabled { opacity: .45; cursor: not-allowed; }
@media (max-width: 760px) {
  .event-wizard-shell { position: static; }
  .wizard-step-nav { grid-template-columns: 1fr 1fr; }
  .wizard-head { display: grid; }
  .wizard-head-actions { display: grid; grid-template-columns: 1fr; }
  .wizard-bottom-controls { grid-template-columns: 1fr; bottom: 8px; }
}
@media (max-width: 430px) { .wizard-step-nav { grid-template-columns: 1fr; } }

.poster-page { margin-top: 14px; }
.event-poster-shell { border-radius: 24px; }
.poster-banner { padding: clamp(18px, 4vw, 28px); }
.poster-layout { align-items: start; }
.poster-section { padding: clamp(14px, 2.2vw, 18px); border-radius: 18px; }
.poster-section h2 { font-size: clamp(1.2rem, 2.2vw, 1.55rem); }
.poster-facts-grid { gap: 9px; }
.poster-fact { padding: 11px; border-radius: 14px; }
.poster-fact strong { font-size: 1rem; }
.poster-actions { gap: 8px; }
.poster-media-panel { gap: 12px; }
.poster-flyer-frame img { max-height: 620px; }
.poster-flyer-placeholder { min-height: 300px; }
.poster-copy { line-height: 1.62; }
.poster-route-bottom { margin-top: 12px; }
.poster-route-head .muted { max-width: 760px; }
.poster-stop-list { gap: 10px; }
.poster-stop-list li { padding: 10px; border-radius: 16px; }
@media (min-width: 1080px) {
  .poster-layout { grid-template-columns: minmax(300px, 400px) minmax(0, 1fr); gap: 18px; }
}
@media (max-width: 760px) {
  .poster-layout { padding: 10px; }
  .poster-route-bottom { padding: 12px; }
}

/* V1.10.5 compact event editor fix */
.compact-event-wizard {
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  padding: 14px 16px !important;
  margin: 12px 0 14px !important;
  backdrop-filter: none !important;
}
.compact-wizard-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
}
.compact-wizard-title h2 {
  margin: 2px 0 3px !important;
  font-size: clamp(1.2rem, 2.2vw, 1.55rem);
  line-height: 1.15;
}
.compact-wizard-title p:last-child { margin: 0; }
.compact-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.compact-readiness {
  margin: 10px 0 8px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
}
.compact-readiness .readiness-meter-top {
  font-size: .92rem;
  margin-bottom: 7px;
}
.compact-readiness .readiness-bar { height: 8px; }
.compact-readiness-details {
  margin: 8px 0 !important;
  border-radius: 14px !important;
}
.compact-readiness-details summary {
  min-height: 38px !important;
  padding: 9px 11px !important;
  font-size: .94rem;
}
.compact-helper {
  margin: 8px 10px 10px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  font-size: .92rem;
}
.compact-step-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
}
.compact-step-nav {
  display: flex !important;
  gap: 8px !important;
  overflow-x: auto;
  padding: 2px 2px 8px;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}
.compact-step-nav button {
  flex: 0 0 auto;
  min-height: 38px !important;
  padding: 8px 13px !important;
  font-size: .9rem;
  border-radius: 999px;
  white-space: nowrap;
}
.compact-progress {
  height: 7px !important;
  margin-top: 2px;
}
.wizard-step-counter {
  white-space: nowrap;
  text-align: right;
}
.wizard-panel,
.wizard-extra-panel,
.wizard-save-panel {
  margin: 14px auto !important;
  scroll-margin-top: 96px;
}
.wizard-bottom-controls {
  position: static !important;
  bottom: auto !important;
  z-index: auto !important;
  margin: 18px auto 22px !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.24) !important;
  backdrop-filter: none !important;
}
.form-card.editor-panel h2 {
  font-size: clamp(1.25rem, 2.2vw, 1.7rem);
}
.form-card.editor-panel {
  gap: 12px;
}
@media (max-width: 860px) {
  .compact-wizard-top,
  .compact-step-row {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .compact-actions {
    justify-content: stretch;
    display: grid;
    grid-template-columns: 1fr;
  }
  .wizard-step-counter {
    text-align: left;
  }
  .compact-event-wizard {
    padding: 12px !important;
  }
  .wizard-panel,
  .wizard-extra-panel,
  .wizard-save-panel {
    max-width: 100%;
  }
}

/* V1.10.7 compact public event page polish */
.event-detail-page.compact-event-page { margin: 16px 0 28px; }
.event-compact-shell {
  border: 1px solid rgba(181,31,41,.22);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(18,22,29,.94), rgba(10,12,17,.98));
  box-shadow: 0 26px 80px rgba(0,0,0,.28);
  overflow: hidden;
}
.event-compact-hero {
  display: grid;
  gap: 16px;
  align-items: end;
  padding: clamp(18px, 3vw, 28px);
  background:
    radial-gradient(circle at top left, rgba(240,75,40,.16), transparent 36%),
    linear-gradient(135deg, rgba(181,31,41,.13), rgba(255,255,255,.015));
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.event-hero-copy h1 {
  margin: 8px 0 8px;
  font-size: clamp(2rem, 5.5vw, 4.35rem);
  line-height: .96;
  letter-spacing: -.06em;
}
.event-hero-copy p { max-width: 760px; margin: 0; color: var(--muted); font-weight: 750; font-size: clamp(1rem, 2vw, 1.15rem); }
.event-hero-meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.event-hero-meta span:not(.badge) {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  color: var(--muted);
  font-weight: 850;
  font-size: 13px;
}
.event-hero-actions { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; }
.event-hero-actions .btn { flex: 1 1 auto; justify-content: center; }
.compact-alert { margin: 14px clamp(14px, 2vw, 22px) 0; }
.compact-update-strip,
.compact-today-card {
  margin: 14px clamp(14px, 2vw, 22px) 0;
  padding: 14px;
  border: 1px solid rgba(240,75,40,.28);
  border-radius: 18px;
  background: rgba(240,75,40,.08);
}
.compact-update-strip { display: grid; gap: 4px; }
.compact-update-strip span { color: var(--accent-2); text-transform: uppercase; letter-spacing: .12em; font-size: 11px; font-weight: 900; }
.compact-update-strip strong { font-size: 1.05rem; }
.compact-update-strip p { margin: 0; color: var(--muted); }
.compact-today-card { display: grid; gap: 10px; }
.compact-today-card h2 { margin: 0; }
.compact-chip-row { display: flex; flex-wrap: wrap; gap: 8px; }
.compact-chip-row span {
  display: inline-flex;
  gap: 4px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(0,0,0,.18);
  color: var(--muted);
  font-weight: 750;
}
.event-detail-grid { display: grid; gap: 16px; padding: clamp(14px, 2vw, 22px); }
.event-side-rail { display: grid; gap: 12px; align-content: start; }
.compact-flyer,
.compact-flyer-placeholder {
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: #080a0f;
  min-height: 220px;
}
.compact-flyer img { width: 100%; max-height: min(58vh, 520px); object-fit: contain; display: block; }
.compact-flyer-placeholder { padding: 22px; text-align: center; min-height: 260px; }
.compact-flyer-placeholder span { color: var(--accent-2); text-transform: uppercase; letter-spacing: .16em; font-size: 11px; font-weight: 900; }
.compact-flyer-placeholder strong { display: block; margin: 14px 0; font-size: clamp(1.8rem, 7vw, 3rem); line-height: .95; }
.compact-flyer-placeholder em { color: var(--muted); font-style: normal; font-weight: 800; }
.compact-response-card,
.compact-share-card,
.event-card {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: rgba(255,255,255,.045);
  padding: 14px;
}
.compact-response-card { display: grid; gap: 10px; }
.compact-response-card > strong { font-size: 1.15rem; }
.compact-interest-form { display: grid; gap: 8px; }
.compact-buttons { gap: 8px; }
.compact-buttons .btn { min-height: 40px; padding: 8px 10px; }
.compact-response-card .btn-secondary,
.event-hero-actions .btn-secondary,
.route-actions .btn-secondary,
.inline-poster-actions .btn-secondary,
.compact-overview-card .btn-secondary {
  background: rgba(18,22,29,.94);
  border-color: rgba(255,255,255,.14);
  color: var(--text);
}
.compact-response-card .btn-secondary:hover,
.event-hero-actions .btn-secondary:hover,
.route-actions .btn-secondary:hover,
.inline-poster-actions .btn-secondary:hover,
.compact-overview-card .btn-secondary:hover {
  background: rgba(181,31,41,.22);
  border-color: rgba(240,75,40,.6);
  color: #fff;
}
.compact-share-card { display: grid; grid-template-columns: 82px 1fr; gap: 12px; align-items: center; }
.compact-share-card img { width: 82px; height: 82px; border-radius: 12px; background: #fff; padding: 5px; }
.compact-share-card strong,
.compact-share-card a { display: block; }
.compact-share-card .share-link-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.compact-share-card .share-link-stack a,
.compact-share-card .share-link-stack button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: rgba(18,22,29,.94);
  color: var(--text);
  padding: 7px 10px;
  font-size: .78rem;
  font-weight: 850;
  line-height: 1;
  text-decoration: none;
  box-shadow: none;
  cursor: pointer;
}
.compact-share-card .share-link-stack a:hover,
.compact-share-card .share-link-stack button:hover,
.compact-share-card .share-link-stack a:focus-visible,
.compact-share-card .share-link-stack button:focus-visible {
  background: rgba(181,31,41,.22);
  border-color: rgba(240,75,40,.6);
  color: #fff;
  outline: none;
}
.compact-share-card .share-link-stack a:last-child {
  flex-basis: 100%;
  max-width: fit-content;
}
.event-main-flow { display: grid; gap: 14px; min-width: 0; }
.event-summary-strip {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.event-summary-strip div,
.compact-fact-list div {
  min-width: 0;
  padding: 10px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(0,0,0,.18);
}
.event-summary-strip span,
.compact-fact-list span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.event-summary-strip strong,
.compact-fact-list strong {
  display: block;
  margin-top: 4px;
  font-size: .98rem;
  line-height: 1.25;
  word-break: break-word;
}
.event-card h2 { margin-top: 0; font-size: clamp(1.15rem, 2vw, 1.45rem); }
.event-description { margin: 0; line-height: 1.62; color: var(--text); }
.compact-note-list { display: grid; gap: 7px; margin-top: 12px; }
.compact-note-list span { display: block; padding: 9px 10px; border-radius: 12px; background: rgba(46,204,113,.08); border: 1px solid rgba(46,204,113,.2); color: var(--muted); }
.event-update-log {
  display: grid;
  gap: 8px;
  margin: 0 clamp(14px, 2vw, 22px) clamp(14px, 2vw, 22px);
  padding: 11px 12px;
  border-color: rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}
.event-update-log .eyebrow {
  margin: 0;
  font-size: 10px !important;
}
.event-update-list {
  display: grid;
  gap: 6px;
}
.event-update-list span {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 9px;
  border: 1px solid rgba(46,204,113,.16);
  border-radius: 9px;
  background: rgba(46,204,113,.055);
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.25;
}
.event-update-list strong {
  color: var(--text);
  font-size: .82rem;
  text-align: right;
}
.route-card { display: grid; gap: 12px; }
.compact-route-map {
  height: clamp(260px, 42vh, 430px);
  min-height: 260px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.11);
  overflow: hidden;
  background: #111;
}
.compact-stop-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}
.compact-stop-list li {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background: rgba(0,0,0,.16);
}
.compact-stop-list strong { display: block; font-size: 1rem; }
.compact-stop-list span,
.compact-stop-list em,
.compact-stop-list p { display: block; margin: 3px 0 0; color: var(--muted); font-style: normal; }
.event-detail-sections { display: grid; gap: 14px; }
.event-detail-sections > .event-card:only-child {
  grid-column: 1 / -1;
}
.compact-fact-list { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.compact-card-block p { margin-bottom: 0; }
.compact-weather-grid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.compact-weather-grid div {
  display: grid;
  gap: 2px;
  padding: 10px;
  border-radius: 13px;
  background: rgba(0,0,0,.17);
  border: 1px solid rgba(255,255,255,.08);
}
.compact-weather-grid span { font-weight: 900; color: var(--accent-2); }
.compact-weather-grid em,
.compact-weather-grid small { color: var(--muted); font-style: normal; }
.compact-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.compact-gallery-grid .event-gallery-image img { max-height: 180px; object-fit: cover; }
.compact-sponsor-grid { gap: 10px; }
.compact-sponsor-card { padding: 10px; grid-template-columns: 76px 1fr; }
.compact-sponsor-card .poster-sponsor-logo { width: 76px; height: 58px; }
.compact-details { padding: 0; overflow: hidden; }
.compact-details > summary {
  cursor: pointer;
  padding: 14px;
  font-weight: 900;
  list-style: none;
}
.compact-details > summary::-webkit-details-marker { display: none; }
.compact-details > summary::before { content: '▸'; margin-right: 8px; color: var(--accent-2); }
.compact-details[open] > summary::before { content: '▾'; }
.compact-details > :not(summary) { margin: 0 14px 14px; }
.compact-legal-grid { display: grid; gap: 12px; }
.compact-legal-grid h3 { margin: 0 0 6px; }
.compact-legal-grid p { margin: 0; color: var(--muted); }
.nested-details { margin-top: 10px; }
.compact-site-sponsor { width: auto; margin: 0 clamp(14px, 2vw, 22px) clamp(14px, 2vw, 22px); }

@media (min-width: 900px) {
  .event-compact-hero { grid-template-columns: 1fr auto; }
  .event-hero-actions .btn { flex: 0 0 auto; }
  .event-detail-grid { grid-template-columns: minmax(280px, 360px) minmax(0, 1fr); }
  .event-side-rail { position: sticky; top: 94px; }
  .event-summary-strip { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .event-detail-sections { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .compact-fact-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .compact-weather-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .compact-gallery-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .compact-sponsor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .compact-legal-grid { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 1180px) {
  .event-detail-grid { grid-template-columns: minmax(300px, 400px) minmax(0, 1fr); }
  .compact-route-map { height: 390px; }
}

@media (max-width: 640px) {
  .event-compact-shell { border-radius: 18px; }
  .event-compact-hero { padding: 16px; }
  .event-hero-actions,
  .route-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .event-detail-grid { padding: 10px; }
  .event-summary-strip,
  .compact-fact-list,
  .compact-weather-grid,
  .compact-gallery-grid { grid-template-columns: 1fr; }
  .compact-share-card { grid-template-columns: 70px 1fr; }
  .compact-share-card img { width: 70px; height: 70px; }
  .compact-route-map { height: 300px; }
  .compact-stop-list li { grid-template-columns: 34px 1fr; padding: 9px; }
}


/* V1.10.10 environment, beta, and CMS admin polish */
.environment-banner {
  position: relative;
  z-index: 50;
  display: flex;
  justify-content: center;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  padding: 9px 16px;
  font-size: .92rem;
  font-weight: 800;
  text-align: center;
  border-bottom: 1px solid rgba(255,255,255,.14);
}
.environment-banner strong { letter-spacing: .12em; text-transform: uppercase; }
.environment-banner a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.environment-banner-beta { background: linear-gradient(90deg, #8a3d00, #d97706); color: #fff; }
.environment-banner-test { background: linear-gradient(90deg, #7f1d1d, #b91c1c); color: #fff; }

.admin-cms-toolbar {
  margin: clamp(14px, 2vw, 24px) auto 0;
  width: min(1180px, calc(100% - 28px));
  border: 1px solid rgba(255,255,255,.11);
  background: rgba(10,12,18,.82);
  box-shadow: 0 18px 42px rgba(0,0,0,.28);
  border-radius: 22px;
  padding: 16px;
}
.admin-cms-title {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.admin-cms-title strong { font-size: 1.1rem; }
.admin-cms-title span:last-child { color: var(--muted); font-size: .92rem; }
.admin-env-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
  border: 1px solid rgba(255,255,255,.17);
  background: rgba(255,255,255,.08);
  color: #fff;
}
.env-production { background: rgba(22, 163, 74, .28); border-color: rgba(74, 222, 128, .4); }
.env-beta { background: rgba(217, 119, 6, .3); border-color: rgba(251, 191, 36, .45); }
.env-test { background: rgba(220, 38, 38, .3); border-color: rgba(248, 113, 113, .45); }
.env-development { background: rgba(37, 99, 235, .28); border-color: rgba(96, 165, 250, .4); }
.admin-cms-nav {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
}
.admin-cms-nav a {
  flex: 0 0 auto;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 999px;
  color: var(--text);
  text-decoration: none;
  padding: 8px 12px;
  font-weight: 900;
  background: rgba(255,255,255,.045);
}
.admin-cms-nav a.active,
.admin-cms-nav a:hover {
  border-color: rgba(240,75,40,.55);
  background: rgba(240,75,40,.16);
  color: #fff;
}
.admin-page-title { align-items: end; }
.cms-stat-grid {
  width: min(1180px, calc(100% - 28px));
  margin: 0 auto clamp(14px, 2vw, 22px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
}
.cms-stat-card {
  display: grid;
  gap: 6px;
  padding: 16px;
  border-radius: 20px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.10);
  text-decoration: none;
  color: var(--text);
}
.cms-stat-card span { color: var(--muted); text-transform: uppercase; letter-spacing: .09em; font-size: .78rem; font-weight: 950; }
.cms-stat-card strong { font-size: clamp(2rem, 5vw, 3rem); line-height: 1; }
.cms-stat-card em { color: var(--muted); font-style: normal; }
.cms-stat-card.urgent { border-color: rgba(240,75,40,.38); background: rgba(240,75,40,.09); }
.cms-panel-grid {
  width: min(1180px, calc(100% - 28px));
  margin: 0 auto clamp(14px, 2vw, 22px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
}
.cms-panel { margin: 0; }
.cms-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
}
.cms-env-list {
  display: grid;
  gap: 8px;
  margin: 16px 0;
}
.cms-env-list div {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.cms-env-list dt { color: var(--muted); font-weight: 900; }
.cms-env-list dd { margin: 0; font-weight: 800; word-break: break-word; }
.cms-attention-list a { color: var(--text); text-decoration: none; }
.cms-attention-list a:hover { color: var(--accent-2); }
.beta-code-flash { width: min(1180px, calc(100% - 28px)); margin-left: auto; margin-right: auto; }
.copy-code-input {
  width: min(420px, 100%);
  margin: 8px 0;
  font-size: 1.2rem;
  font-weight: 950;
  letter-spacing: .12em;
  text-align: center;
}
.beta-admin-grid { align-items: start; }
.stacked-actions { display: grid; gap: 8px; align-items: start; }
.inline-status-form { display: grid; gap: 7px; }
.beta-access-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 28px 14px;
  background:
    radial-gradient(circle at 30% 0%, rgba(240,75,40,.25), transparent 40%),
    radial-gradient(circle at 80% 10%, rgba(217,119,6,.18), transparent 36%),
    var(--bg);
}
.beta-access-card {
  width: min(520px, 100%);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 28px;
  background: rgba(10,12,18,.9);
  box-shadow: 0 24px 70px rgba(0,0,0,.42);
  padding: clamp(22px, 5vw, 38px);
}
.beta-access-card h1 { margin-top: 8px; }
.beta-access-card .brand-logo { margin-bottom: 8px; }
.beta-feedback-card { width: min(840px, calc(100% - 28px)); margin-left: auto; margin-right: auto; }

@media (max-width: 720px) {
  .admin-cms-toolbar { border-radius: 18px; padding: 12px; }
  .admin-page-title { align-items: stretch; }
  .cms-env-list div { grid-template-columns: 1fr; }
  .environment-banner { font-size: .82rem; }
}

.media-thumb { width: 84px; height: 64px; object-fit: cover; border-radius: 12px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); }

/* V1.10.11 WordPress-style Admin CMS shell */
body.admin-route {
  --wp-admin-bg: #f0f0f1;
  --wp-admin-surface: #ffffff;
  --wp-admin-surface-2: #f6f7f7;
  --wp-admin-line: #dcdcde;
  --wp-admin-text: #1d2327;
  --wp-admin-muted: #646970;
  --wp-admin-blue: #2271b1;
  --wp-admin-blue-dark: #135e96;
  --wp-admin-red: #b32d2e;
  --wp-admin-orange: #d97706;
  --wp-admin-green: #008a20;
  background: var(--wp-admin-bg);
  color: var(--wp-admin-text);
}
body.admin-route .site-header {
  display: none;
}
body.admin-route > main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
body.admin-route a { color: inherit; }
body.admin-route a:hover { color: var(--wp-admin-blue); }
body.admin-route .environment-banner {
  z-index: 120;
}
.wp-admin-shell {
  min-height: calc(100vh - 0px);
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  background: var(--wp-admin-bg);
  color: var(--wp-admin-text);
}
.wp-admin-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  background: #1d2327;
  color: #c3c4c7;
  border-right: 1px solid rgba(0,0,0,.35);
  box-shadow: 10px 0 25px rgba(0,0,0,.10);
  z-index: 60;
}
.wp-admin-brand {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 10px;
  align-items: center;
  min-height: 76px;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  color: #fff;
}
.wp-admin-brand img {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: #fff;
  padding: 3px;
}
.wp-admin-brand strong {
  display: block;
  font-size: 15px;
  line-height: 1.15;
  letter-spacing: -.02em;
}
.wp-admin-brand span {
  display: block;
  margin-top: 2px;
  color: #a7aaad;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.wp-admin-env-card {
  margin: 14px;
  padding: 12px;
  border-radius: 3px;
  border-left: 4px solid #72aee6;
  background: rgba(255,255,255,.08);
  display: grid;
  gap: 3px;
}
.wp-admin-env-card span {
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.wp-admin-env-card strong {
  color: #c3c4c7;
  font-size: 12px;
}
.wp-admin-env-card.env-production { border-left-color: #00a32a; }
.wp-admin-env-card.env-beta { border-left-color: #dba617; }
.wp-admin-env-card.env-test { border-left-color: #d63638; }
.wp-admin-menu {
  display: grid;
  padding: 0 0 24px;
}
.wp-admin-menu-group {
  padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.wp-admin-menu-group h2 {
  margin: 10px 16px 7px;
  color: #8c8f94;
  font-size: 11px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.wp-admin-menu-item {
  position: relative;
  display: grid;
  grid-template-columns: 34px 1fr auto;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 9px 14px 9px 12px;
  color: #c3c4c7;
  text-decoration: none;
  border-left: 4px solid transparent;
  font-size: 14px;
  font-weight: 600;
}
.wp-admin-menu-item:hover,
.wp-admin-menu-item.is-active {
  color: #fff;
  background: #2c3338;
  border-left-color: #72aee6;
}
.wp-admin-menu-item.is-active::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-right: 8px solid var(--wp-admin-bg);
}
.wp-admin-menu-icon {
  width: 28px;
  min-height: 28px;
  display: inline-grid;
  place-items: center;
  border-radius: 6px;
  color: #a7aaad;
  background: rgba(255,255,255,.05);
  font-size: 14px;
  font-weight: 900;
}
.wp-admin-menu-item.is-active .wp-admin-menu-icon,
.wp-admin-menu-item:hover .wp-admin-menu-icon {
  color: #fff;
  background: rgba(114,174,230,.18);
}
.wp-admin-menu-count {
  min-width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  padding: 0 6px;
  border-radius: 999px;
  color: #fff;
  background: #d63638;
  font-size: 11px;
  font-weight: 900;
}
.wp-admin-workspace {
  min-width: 0;
  display: grid;
  grid-template-rows: auto 1fr;
}
.wp-admin-topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 24px;
  background: #fff;
  border-bottom: 1px solid var(--wp-admin-line);
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.wp-admin-topbar-left {
  display: flex;
  gap: 14px;
  align-items: center;
  min-width: 0;
}
.wp-admin-sidebar-toggle {
  display: none;
  width: 38px;
  height: 38px;
  border: 1px solid var(--wp-admin-line);
  border-radius: 3px;
  background: #fff;
  color: var(--wp-admin-text);
  cursor: pointer;
  font-size: 20px;
}
.wp-admin-breadcrumb {
  margin: 0 0 2px;
  color: var(--wp-admin-muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.wp-admin-topbar h1 {
  margin: 0;
  color: var(--wp-admin-text);
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: -.03em;
}
.wp-admin-topbar-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.wp-admin-toplink,
.wp-admin-user {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--wp-admin-line);
  border-radius: 3px;
  padding: 6px 10px;
  background: #fff;
  color: var(--wp-admin-blue);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.wp-admin-toplink.primary {
  background: var(--wp-admin-blue);
  border-color: var(--wp-admin-blue);
  color: #fff;
}
.wp-admin-toplink.primary:hover {
  background: var(--wp-admin-blue-dark);
  color: #fff;
}
.wp-admin-user {
  color: var(--wp-admin-muted);
  background: var(--wp-admin-surface-2);
}
.wp-admin-stage {
  display: block;
  padding: 24px;
  min-width: 0;
}
.admin-route .page-title {
  margin: 0 0 18px;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--wp-admin-line);
}
.admin-route .page-title h1 {
  margin: 4px 0 6px;
  color: var(--wp-admin-text);
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.05;
  letter-spacing: -.04em;
}
.admin-route .page-title p:not(.eyebrow) {
  color: var(--wp-admin-muted);
  font-size: 15px;
  margin: 0;
}
.admin-route .eyebrow {
  color: var(--wp-admin-blue) !important;
}
.wp-welcome-panel,
.wp-dashboard-widget,
.admin-route .form-card,
.admin-route .content-card,
.admin-route .table-card,
.admin-route .info-card,
.admin-route .filter-card,
.admin-route .auth-card,
.beta-code-flash {
  background: var(--wp-admin-surface);
  color: var(--wp-admin-text);
  border: 1px solid var(--wp-admin-line);
  border-radius: 4px;
  box-shadow: 0 1px 1px rgba(0,0,0,.04);
}
.wp-welcome-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  margin-bottom: 18px;
  padding: 24px;
  background:
    linear-gradient(135deg, rgba(34,113,177,.10), transparent 45%),
    var(--wp-admin-surface);
  border-left: 4px solid var(--wp-admin-blue);
}
.wp-welcome-panel h2 {
  margin: 5px 0 8px;
  font-size: clamp(26px, 4vw, 44px);
  line-height: 1;
  letter-spacing: -.05em;
}
.wp-welcome-panel p:not(.eyebrow) {
  max-width: 860px;
  margin: 0;
  color: var(--wp-admin-muted);
  font-size: 15px;
}
.wp-welcome-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.wp-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 18px;
}
.wp-dashboard-grid-wide {
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .8fr);
}
.wp-dashboard-widget {
  min-width: 0;
  padding: 0;
  overflow: hidden;
}
.wp-dashboard-widget > header {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--wp-admin-line);
  background: var(--wp-admin-surface-2);
}
.wp-dashboard-widget > header h2,
.admin-route .form-card h2,
.admin-route .content-card h2 {
  margin: 0;
  color: var(--wp-admin-text);
  font-size: 15px;
  line-height: 1.25;
  letter-spacing: -.01em;
}
.wp-dashboard-widget > header a {
  color: var(--wp-admin-blue);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.wp-metric-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.wp-metric {
  display: grid;
  gap: 2px;
  padding: 18px 16px;
  border-right: 1px solid var(--wp-admin-line);
  border-bottom: 1px solid var(--wp-admin-line);
  color: var(--wp-admin-text);
  text-decoration: none;
}
.wp-metric:nth-child(3n) { border-right: 0; }
.wp-metric strong {
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1;
  letter-spacing: -.05em;
}
.wp-metric span {
  color: var(--wp-admin-muted);
  font-size: 13px;
  font-weight: 700;
}
.wp-attention-list,
.wp-admin-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.wp-attention-list li,
.wp-admin-list li {
  border-bottom: 1px solid var(--wp-admin-line);
}
.wp-attention-list li:last-child,
.wp-admin-list li:last-child {
  border-bottom: 0;
}
.wp-attention-list a,
.wp-admin-list a,
.wp-admin-list span {
  display: grid;
  gap: 4px;
  padding: 14px;
  color: var(--wp-admin-text);
  text-decoration: none;
}
.wp-attention-list a {
  grid-template-columns: 54px 1fr;
  align-items: center;
}
.wp-attention-list strong {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: var(--wp-admin-surface-2);
  color: var(--wp-admin-muted);
  font-size: 18px;
}
.wp-attention-list .is-hot strong { background: #fcf0f1; color: var(--wp-admin-red); }
.wp-attention-list .is-warning strong { background: #fcf9e8; color: #996800; }
.wp-attention-list span,
.wp-admin-list span {
  color: var(--wp-admin-muted);
  font-size: 13px;
}
.wp-admin-list strong { color: var(--wp-admin-text); }
.wp-admin-list.compact span {
  grid-template-columns: 1fr auto;
  align-items: center;
}
.wp-admin-list.compact em {
  font-style: normal;
  font-weight: 900;
  color: var(--wp-admin-blue);
}
.wp-definition-list {
  margin: 0;
  padding: 14px;
  display: grid;
  gap: 0;
}
.wp-definition-list div {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid var(--wp-admin-line);
}
.wp-definition-list div:last-child { border-bottom: 0; }
.wp-definition-list dt {
  color: var(--wp-admin-muted);
  font-weight: 800;
}
.wp-definition-list dd {
  margin: 0;
  font-weight: 700;
  word-break: break-word;
}
.wp-inline-form {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 14px;
  border-top: 1px solid var(--wp-admin-line);
  background: var(--wp-admin-surface-2);
}
.wp-quick-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
}
.wp-quick-action-grid a {
  display: grid;
  gap: 4px;
  min-height: 88px;
  align-content: center;
  padding: 16px;
  color: var(--wp-admin-text);
  text-decoration: none;
  border-right: 1px solid var(--wp-admin-line);
  border-bottom: 1px solid var(--wp-admin-line);
}
.wp-quick-action-grid a:nth-child(2n) { border-right: 0; }
.wp-quick-action-grid strong { color: var(--wp-admin-blue); }
.wp-quick-action-grid span { color: var(--wp-admin-muted); font-size: 13px; }
.admin-route .form-card,
.admin-route .content-card {
  padding: 18px;
  margin: 0 0 18px;
}
.admin-route .management-grid,
.admin-route .editor-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .7fr);
  gap: 18px;
  align-items: start;
}
.admin-route .table-card {
  margin: 0 0 18px;
  overflow: auto;
}
.admin-route table {
  color: var(--wp-admin-text);
  background: var(--wp-admin-surface);
}
.admin-route th {
  color: #2c3338;
  background: var(--wp-admin-surface-2);
  border-bottom: 1px solid #c3c4c7;
  font-size: 12px;
  font-weight: 800;
  text-transform: none;
  letter-spacing: 0;
}
.admin-route td {
  border-bottom: 1px solid var(--wp-admin-line);
}
.admin-route tr:hover td {
  background: #f6f7f7;
}
.admin-route .muted,
.admin-route .optional,
.admin-route label {
  color: var(--wp-admin-muted);
}
.admin-route input,
.admin-route textarea,
.admin-route select {
  min-height: 40px;
  border-radius: 4px;
  border: 1px solid #8c8f94;
  background: #fff;
  color: var(--wp-admin-text);
  padding: 8px 10px;
}
.admin-route input:focus,
.admin-route textarea:focus,
.admin-route select:focus {
  border-color: var(--wp-admin-blue);
  box-shadow: 0 0 0 1px var(--wp-admin-blue);
}
.admin-route .btn,
.admin-route .tiny-btn,
.admin-route .small-btn {
  border-radius: 3px;
  min-height: 36px;
  padding: 7px 12px;
  font-size: 13px;
  font-weight: 700;
  box-shadow: none;
}
.admin-route .btn-primary {
  background: var(--wp-admin-blue);
  color: #fff;
  border-color: var(--wp-admin-blue);
}
.admin-route .btn-primary:hover {
  background: var(--wp-admin-blue-dark);
  color: #fff;
}
.admin-route .btn-secondary,
.admin-route .tiny-btn {
  background: #fff;
  color: var(--wp-admin-blue);
  border-color: var(--wp-admin-line);
}
.admin-route .btn-secondary:hover,
.admin-route .tiny-btn:hover {
  border-color: var(--wp-admin-blue);
  color: var(--wp-admin-blue-dark);
}
.admin-route .btn-danger { background: var(--wp-admin-red); }
.admin-route .badge {
  border-radius: 3px;
  padding: 4px 7px;
  color: #1d2327;
  background: #dcdcde;
  font-size: 11px;
}
.admin-route .badge-published { background: #d1e7dd; color: #0a3622; }
.admin-route .badge-draft { background: #f0f0f1; color: #50575e; }
.admin-route .badge-canceled,
.admin-route .badge-hidden_by_admin { background: #fcf0f1; color: var(--wp-admin-red); }
.admin-route .badge-archived { background: #e8e8ea; color: #50575e; }
.admin-route .alert {
  border-radius: 4px;
  background: #fff;
  color: var(--wp-admin-text);
  border-left: 4px solid var(--wp-admin-blue);
}
.admin-route .alert-error { border-left-color: var(--wp-admin-red); }
.admin-route .alert-success { border-left-color: var(--wp-admin-green); }
.admin-route .plain-list li {
  padding: 8px 0;
  border-bottom: 1px solid var(--wp-admin-line);
}
.admin-route .plain-list li:last-child { border-bottom: 0; }
.admin-route .cms-stat-grid,
.admin-route .cms-panel-grid,
.admin-route .admin-cms-toolbar {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}
.admin-env-pill {
  border-radius: 3px;
  color: #fff;
}
.admin-route .env-production { background: var(--wp-admin-green); border-color: var(--wp-admin-green); }
.admin-route .env-beta { background: var(--wp-admin-orange); border-color: var(--wp-admin-orange); }
.admin-route .env-test { background: var(--wp-admin-red); border-color: var(--wp-admin-red); }
.admin-route .env-development { background: var(--wp-admin-blue); border-color: var(--wp-admin-blue); }
.admin-route .beta-code-flash {
  padding: 18px;
  width: 100%;
  margin: 0 0 18px;
  border-left: 4px solid var(--wp-admin-green);
}
.admin-route .copy-code-input {
  background: #f6f7f7;
  color: #1d2327;
  border-style: dashed;
  letter-spacing: .14em;
}
.admin-route .site-footer {
  display: none;
}
body.admin-route.admin-sidebar-closed .wp-admin-shell {
  grid-template-columns: 76px minmax(0, 1fr);
}
body.admin-route.admin-sidebar-closed .wp-admin-brand,
body.admin-route.admin-sidebar-closed .wp-admin-env-card,
body.admin-route.admin-sidebar-closed .wp-admin-menu-group h2,
body.admin-route.admin-sidebar-closed .wp-admin-menu-label,
body.admin-route.admin-sidebar-closed .wp-admin-menu-count {
  display: none;
}
body.admin-route.admin-sidebar-closed .wp-admin-menu-item {
  grid-template-columns: 1fr;
  justify-items: center;
  padding-left: 12px;
  padding-right: 12px;
}
body.admin-route.admin-sidebar-closed .wp-admin-menu-icon {
  width: 34px;
  height: 34px;
}
@media (max-width: 1100px) {
  .wp-admin-shell { grid-template-columns: 240px minmax(0, 1fr); }
  .wp-dashboard-grid,
  .wp-dashboard-grid-wide { grid-template-columns: 1fr; }
  .admin-route .management-grid,
  .admin-route .editor-grid { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .wp-admin-shell { grid-template-columns: 1fr; }
  .wp-admin-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(300px, 86vw);
    transform: translateX(-102%);
    transition: transform .18s ease;
  }
  body.admin-route.admin-sidebar-open .wp-admin-sidebar { transform: translateX(0); }
  .wp-admin-sidebar-toggle { display: inline-grid; place-items: center; }
  .wp-admin-topbar {
    align-items: flex-start;
    padding: 10px 14px;
  }
  .wp-admin-topbar-actions { display: none; }
  .wp-admin-stage { padding: 14px; }
  .wp-welcome-panel { grid-template-columns: 1fr; padding: 18px; }
  .wp-welcome-actions { justify-content: flex-start; }
  .wp-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wp-metric:nth-child(3n) { border-right: 1px solid var(--wp-admin-line); }
  .wp-metric:nth-child(2n) { border-right: 0; }
  .wp-quick-action-grid { grid-template-columns: 1fr; }
  .wp-quick-action-grid a { border-right: 0; }
  .wp-definition-list div { grid-template-columns: 1fr; gap: 3px; }
  .admin-route .page-title { display: block; }
}
@media (max-width: 560px) {
  .wp-metric-grid { grid-template-columns: 1fr; }
  .wp-metric { border-right: 0 !important; }
  .wp-attention-list a { grid-template-columns: 44px 1fr; }
  .wp-attention-list strong { width: 34px; height: 34px; font-size: 15px; }
}

/* V1.10.12 CMS page editor, FAQ CMS, and sponsor-box controls */
.content-cms-layout {
  grid-template-columns: minmax(280px, .8fr) minmax(320px, 1.2fr);
  margin-bottom: 18px;
}
.content-index-list {
  display: grid;
  gap: 8px;
}
.content-index-list a {
  display: block;
  padding: 12px 14px;
  border: 1px solid var(--wp-admin-line, #dcdcde);
  border-radius: 10px;
  background: var(--wp-admin-surface-2, #f6f7f7);
  text-decoration: none;
}
.content-index-list a strong { display: block; font-size: .98rem; }
.content-index-list a span { display: block; color: var(--wp-admin-muted, #646970); font-size: .86rem; margin-top: 2px; }
.content-index-list a:hover {
  border-color: var(--wp-admin-blue, #2271b1);
  background: #fff;
}
.cms-edit-card {
  margin: 18px 0;
}
.cms-edit-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--wp-admin-line, #dcdcde);
}
.cms-edit-head h2 { margin: 0 0 4px; }
.cms-edit-head p { margin: 0; color: var(--wp-admin-muted, #646970); }
.cms-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 14px;
}
.cms-field.wide { grid-column: 1 / -1; }
.cms-field span {
  display: block;
  font-weight: 700;
  margin-bottom: 5px;
}
.cms-field small {
  display: block;
  color: var(--wp-admin-muted, #646970);
  font-weight: 400;
  margin-bottom: 5px;
}
.compact-admin-form { align-self: start; }
.faq-list-card { overflow-x: auto; }
.status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 800;
  background: #f6f7f7;
  border: 1px solid var(--wp-admin-line, #dcdcde);
}
.status-pill.success { color: #006b1b; background: #edfaef; border-color: #b9e6c1; }
.status-pill.warning { color: #8a4b00; background: #fff8e5; border-color: #f0cf80; }
.table-actions {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}
.small-btn.danger,
button.small-btn.danger {
  border-color: #f1b6b6;
  color: #b32d2e;
  background: #fff6f6;
}
.sponsor-placement-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  gap: 14px;
}
.sponsor-placement-card {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid var(--wp-admin-line, #dcdcde);
  border-radius: 12px;
  background: var(--wp-admin-surface-2, #f6f7f7);
}
.sponsor-placement-card h3 { margin: 0 0 4px; }
.sponsor-placement-card p { margin: 0; color: var(--wp-admin-muted, #646970); }
.compact-list { margin-bottom: 0; }
.faq-public-item + .faq-public-item {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.09);
}
body.admin-route .faq-public-item + .faq-public-item {
  border-top-color: var(--wp-admin-line, #dcdcde);
}

@media (max-width: 860px) {
  .content-cms-layout,
  .cms-field-grid,
  .sponsor-placement-grid {
    grid-template-columns: 1fr;
  }
  .cms-edit-head {
    flex-direction: column;
  }
}

/* V1.10.13 public polish: premium homepage hero, professional filters, compact event cards, top event schedule */
.hero.hero-premium {
  position: relative;
  overflow: hidden;
  padding: clamp(28px, 5vw, 58px);
  margin: 18px 0 26px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 30px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.065), rgba(255,255,255,.018) 42%, rgba(181,31,41,.13)),
    radial-gradient(circle at 88% 12%, rgba(240,75,40,.22), transparent 30rem),
    radial-gradient(circle at 4% 12%, rgba(255,255,255,.08), transparent 24rem),
    rgba(13,16,21,.94);
  box-shadow: 0 32px 90px rgba(0,0,0,.36);
}
.hero.hero-premium::before {
  content: '';
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 24px;
  pointer-events: none;
}
.hero-premium-copy { position: relative; z-index: 1; }
.hero-kicker-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
}
.hero-kicker-row > span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.10);
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}
.hero.hero-premium .hero-copy h1 {
  max-width: 850px;
  margin: 0 0 16px;
  font-size: clamp(2.55rem, 6.4vw, 5.65rem);
  line-height: .93;
  letter-spacing: -.075em;
}
.hero-lede {
  max-width: 780px;
  color: #d8dde7 !important;
  font-size: clamp(1rem, 1.8vw, 1.18rem) !important;
  line-height: 1.68;
}
.hero-trust-note {
  margin: 14px 0 0;
  color: var(--muted) !important;
  font-size: .94rem !important;
  font-weight: 750;
}
.hero-stat-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 24px;
  max-width: 840px;
}
.hero-stat-strip > div {
  min-width: 0;
  padding: 13px 14px;
  border-radius: 17px;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.09);
}
.hero-stat-strip strong,
.hero-stat-strip span { display: block; }
.hero-stat-strip strong {
  font-size: 1.05rem;
  line-height: 1.15;
  letter-spacing: -.02em;
}
.hero-stat-strip span {
  margin-top: 4px;
  color: var(--muted);
  font-size: .82rem;
  font-weight: 800;
  line-height: 1.3;
}
.hero-showcase {
  position: relative;
  z-index: 1;
  align-self: stretch;
  display: grid;
  align-content: center;
  gap: 12px;
  padding: clamp(22px, 3vw, 32px);
  border-radius: 24px;
  background:
    linear-gradient(160deg, rgba(255,255,255,.09), rgba(255,255,255,.025)),
    radial-gradient(circle at top right, rgba(240,75,40,.20), transparent 16rem),
    rgba(13,16,21,.72);
  border-color: rgba(255,255,255,.11);
  box-shadow: 0 18px 60px rgba(0,0,0,.28);
}
.showcase-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 20px;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  color: #fff;
  font-size: 1.9rem;
  font-weight: 900;
  box-shadow: 0 15px 40px rgba(181,31,41,.32);
}
.hero-showcase h2 {
  margin: 0;
  font-size: clamp(1.5rem, 2.8vw, 2.25rem);
  letter-spacing: -.05em;
  line-height: 1;
}
.hero-showcase p:not(.eyebrow) {
  margin: 0;
  color: #d8dde7;
  font-weight: 700;
}
.hero-feature-list {
  display: grid;
  gap: 9px;
  padding: 0;
  margin: 6px 0 0;
  list-style: none;
}
.hero-feature-list li {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  color: var(--muted);
  font-weight: 800;
}
.hero-feature-list span {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(57,217,138,.14);
  color: var(--success);
  font-size: 12px;
}
html.is-desktop .hero.hero-premium { grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); align-items: stretch; }

.events-list-title {
  display: grid;
  gap: 6px;
  width: 100%;
  max-width: none;
  margin-top: 28px;
}
.events-list-title h1 {
  font-size: clamp(2.2rem, 5.2vw, 4.7rem);
  max-width: 1120px;
}
.pro-filter-drawer {
  border-color: rgba(255,255,255,.10);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(20,24,31,.96), rgba(13,16,21,.96));
  box-shadow: 0 22px 70px rgba(0,0,0,.28);
}
.pro-filter-drawer summary {
  min-height: 72px;
  padding: 18px 20px;
}
.pro-filter-drawer summary > span:first-child {
  display: grid;
  gap: 4px;
}
.pro-filter-drawer summary strong {
  font-size: 1.04rem;
  letter-spacing: -.02em;
}
.pro-filter-drawer summary em {
  max-width: 780px;
  color: var(--muted);
  font-size: .9rem;
  font-style: normal;
  font-weight: 650;
}
.pro-filter-card {
  padding: 18px !important;
  gap: 14px !important;
  background: rgba(5,7,11,.30) !important;
}
.pro-filter-card label { font-size: .82rem; }
.pro-filter-card input,
.pro-filter-card select {
  min-height: 42px;
  border-radius: 13px;
  background: rgba(8,11,16,.96);
}
.filter-wide { grid-column: span 2; }
.filter-check-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
  gap: 9px 12px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 15px;
  background: rgba(255,255,255,.035);
}
.filter-check-grid .checkbox-row {
  color: #d7ddea;
  font-size: .84rem;
}
.filter-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  align-items: center;
}
.filter-actions .btn { min-height: 42px; }
.events-result-bar {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 6px 0 14px;
  padding: 8px 11px;
  border-radius: 999px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.08);
  color: var(--muted);
  font-size: .9rem;
  font-weight: 850;
}
.events-result-bar span {
  display: inline-grid;
  place-items: center;
  min-width: 30px;
  height: 30px;
  padding: 0 9px;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
}
.events-result-bar strong { color: var(--text); }
.compact-run-grid { gap: 12px; }
.compact-run-card { border-radius: 15px; box-shadow: 0 8px 24px rgba(0,0,0,.20); }
.compact-run-card .run-card-image { aspect-ratio: 16 / 7.5; }
.compact-run-card .run-card-body { padding: 12px; }
.compact-run-card .status-line { gap: 7px; font-size: .78rem; }
.compact-run-card .badge { padding: 4px 7px; font-size: .68rem; }
.compact-run-card h3 {
  margin: 8px 0 4px;
  font-size: 1.02rem;
  line-height: 1.16;
  letter-spacing: -.025em;
}
.compact-run-card .run-location-line { margin: 0; font-size: .86rem; }
.compact-run-card .mini-stats { gap: 5px; margin-top: 10px; }
.compact-run-card .mini-stats span {
  padding: 4px 6px;
  border-radius: 8px;
  font-size: .74rem;
}
html.is-desktop .events-run-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.event-top-schedule {
  display: grid;
  gap: 14px;
  margin: 14px clamp(14px, 2vw, 22px) 0;
  padding: clamp(14px, 2.2vw, 20px);
  background:
    linear-gradient(135deg, rgba(240,75,40,.11), rgba(255,255,255,.045)),
    rgba(255,255,255,.04);
  border-color: rgba(240,75,40,.26);
}
.event-top-schedule h2 { margin: 3px 0 0; }
.event-top-schedule > div:first-child p:last-child { margin: 4px 0 0; }
.schedule-fact-list { grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); }
.schedule-fact-list div {
  background: rgba(0,0,0,.24);
  border-color: rgba(255,255,255,.10);
}
.top-weather-note { margin: 0; }

@media (max-width: 860px) {
  .hero.hero-premium { padding: 22px; border-radius: 24px; }
  .hero.hero-premium::before { display: none; }
  .hero-stat-strip { grid-template-columns: 1fr; }
  .filter-wide { grid-column: 1 / -1; }
  .filter-actions { justify-content: stretch; }
  .filter-actions .btn { flex: 1 1 auto; }
  .events-run-grid { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .hero.hero-premium .hero-copy h1 { font-size: clamp(2.2rem, 13vw, 3.6rem); }
  .hero-showcase { display: grid !important; }
  .hero-actions .btn { width: 100%; }
  .pro-filter-drawer summary { align-items: flex-start; }
  .filter-check-grid { grid-template-columns: 1fr; }
  .compact-run-card .run-card-image { aspect-ratio: 16 / 9; }
}
html.is-mobile .hero.hero-premium .hero-card.hero-showcase { display: grid; }

/* V1.10.15 compact responsive homepage hero */
.hero.hero-premium {
  gap: clamp(16px, 2.2vw, 26px);
  padding: clamp(20px, 3.2vw, 38px);
  margin: 12px 0 22px;
  border-radius: 26px;
  box-shadow: 0 22px 70px rgba(0,0,0,.32);
}
.hero.hero-premium::before {
  inset: 14px;
  border-radius: 20px;
}
.hero-kicker-row {
  gap: 8px;
  margin-bottom: 8px;
}
.hero-kicker-row > span {
  min-height: 24px;
  padding: 4px 9px;
  font-size: 11px;
}
.hero.hero-premium .hero-copy h1 {
  max-width: 710px;
  margin-bottom: 12px;
  font-size: clamp(2.45rem, 5vw, 4.25rem);
  line-height: .98;
  letter-spacing: -.065em;
}
.hero-lede {
  max-width: 700px;
  font-size: clamp(.98rem, 1.45vw, 1.06rem) !important;
  line-height: 1.55;
}
.hero.hero-premium .hero-actions {
  margin-top: 18px;
  gap: 9px;
}
.hero.hero-premium .btn {
  min-height: 42px;
  padding: 10px 15px;
  border-radius: 13px;
}
.hero-trust-note {
  margin-top: 10px;
  font-size: .88rem !important;
  line-height: 1.35;
}
.hero-stat-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 18px;
  max-width: 720px;
}
.hero-stat-strip > div {
  padding: 10px 12px;
  border-radius: 14px;
}
.hero-stat-strip strong {
  font-size: .98rem;
}
.hero-stat-strip span {
  font-size: .76rem;
}
.hero-showcase {
  align-self: center;
  justify-self: end;
  width: min(100%, 350px);
  min-height: auto;
  padding: clamp(18px, 2.3vw, 26px);
  gap: 9px;
  border-radius: 22px;
}
.showcase-icon {
  width: 48px;
  height: 48px;
  border-radius: 17px;
  font-size: 1.55rem;
}
.hero-showcase h2 {
  font-size: clamp(1.35rem, 2.1vw, 1.85rem);
  line-height: 1.03;
}
.hero-showcase p:not(.eyebrow) {
  font-size: .92rem;
  line-height: 1.45;
}
.hero-feature-list {
  gap: 7px;
  margin-top: 3px;
}
.hero-feature-list li {
  gap: 8px;
  font-size: .86rem;
  line-height: 1.35;
}
.hero-feature-list span {
  width: 20px;
  height: 20px;
  font-size: 11px;
}
html.is-desktop .hero.hero-premium {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 350px);
  align-items: center;
}

@media (max-width: 1040px) {
  .hero.hero-premium {
    grid-template-columns: 1fr;
  }
  .hero-showcase {
    justify-self: stretch;
    width: 100%;
  }
}

@media (max-width: 860px) {
  .hero.hero-premium {
    padding: 18px;
    margin-top: 8px;
    border-radius: 22px;
  }
  .hero.hero-premium .hero-copy h1 {
    max-width: 100%;
    font-size: clamp(2.25rem, 9.2vw, 3.45rem);
    line-height: 1;
  }
  .hero-lede {
    font-size: .98rem !important;
    line-height: 1.5;
  }
  .hero-stat-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow-x: auto;
    padding-bottom: 2px;
  }
  .hero-stat-strip > div {
    min-width: 132px;
  }
  .hero-showcase {
    padding: 16px;
    grid-template-columns: auto 1fr;
    align-items: center;
  }
  .hero-showcase .eyebrow,
  .hero-showcase p:not(.eyebrow),
  .hero-feature-list {
    grid-column: 1 / -1;
  }
}

@media (max-width: 520px) {
  .hero.hero-premium {
    padding: 16px;
    border-radius: 20px;
  }
  .hero-kicker-row > span {
    display: none;
  }
  .hero.hero-premium .hero-copy h1 {
    font-size: clamp(2rem, 10.8vw, 3rem);
    letter-spacing: -.055em;
  }
  .hero.hero-premium .hero-actions {
    margin-top: 16px;
  }
  .hero-trust-note {
    font-size: .82rem !important;
  }
  .hero-stat-strip {
    display: flex;
    gap: 8px;
    margin-top: 14px;
  }
  .hero-stat-strip > div {
    flex: 0 0 128px;
  }
  html.is-mobile .hero.hero-premium .hero-card.hero-showcase,
  .hero.hero-premium .hero-card.hero-showcase {
    display: none !important;
  }
}

/* V1.10.16 mobile density polish: public pages */
html, body { overflow-x: hidden; }
.btn { max-width: 100%; white-space: normal; line-height: 1.15; }
.run-card h3 a,
.page-title h1,
.hero-copy h1,
.event-hero-copy h1 { overflow-wrap: anywhere; }

@media (max-width: 860px) {
  main,
  .site-header,
  .site-footer,
  .site-sponsor-slot {
    width: min(100% - 20px, var(--page-max-adaptive, 100%));
  }

  main { padding-top: 12px; padding-bottom: 28px; }
  body { font-size: 15px; line-height: 1.48; }
  .small { font-size: 12px; }
  .eyebrow { font-size: 10px !important; letter-spacing: .105em; }

  .site-header { min-height: 58px; padding: 8px 0; border-radius: 0 0 16px 16px; }
  .brand { gap: 8px; }
  .brand-logo { width: 36px; height: 36px; border-radius: 11px; }
  .brand-text { font-size: 16px; max-width: min(52vw, 220px); }
  .menu-toggle { width: 38px; height: 38px; min-height: 38px; border-radius: 12px; gap: 5px; }
  .menu-toggle span { width: 18px; }
  .top-nav { top: max(62px, env(safe-area-inset-top)); left: 10px; right: 10px; width: auto; padding: 9px; border-radius: 16px; }
  .top-nav a,
  .top-nav .link-button { min-height: 38px; padding: 9px 11px; border-radius: 11px; font-size: 13px; }

  .btn,
  input,
  select,
  textarea,
  .top-nav a,
  .top-nav .link-button {
    min-height: 38px;
  }
  .btn { padding: 8px 11px; border-radius: 11px; font-size: .88rem; font-weight: 800; }
  .small-btn { min-height: 34px; padding: 7px 9px; border-radius: 9px; font-size: .78rem; }
  .tiny-btn { padding: 5px 8px; border-radius: 8px; font-size: .76rem; }
  input,
  select,
  textarea { padding: 9px 10px; border-radius: 10px; font-size: .9rem; }
  label { gap: 5px; font-size: .78rem; }

  .hero.hero-premium {
    margin: 6px 0 14px;
    padding: 12px;
    gap: 10px;
    border-radius: 18px;
    box-shadow: 0 12px 34px rgba(0,0,0,.24);
  }
  .hero.hero-premium::before { display: none; }
  .hero-kicker-row { margin-bottom: 4px; }
  .hero-kicker-row > span { display: none; }
  .hero.hero-premium .hero-copy h1 {
    max-width: 100%;
    margin: 4px 0 8px;
    font-size: clamp(1.72rem, 8.7vw, 2.55rem);
    line-height: 1.04;
    letter-spacing: -.048em;
  }
  .hero-lede {
    max-width: 100%;
    font-size: .9rem !important;
    line-height: 1.42;
  }
  .hero.hero-premium .hero-actions,
  html.is-mobile .hero-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 12px;
  }
  .hero.hero-premium .hero-actions .btn,
  html.is-mobile .hero-actions .btn {
    width: auto !important;
    min-height: 38px;
    padding: 8px 10px;
    font-size: .84rem;
  }
  .hero.hero-premium .hero-actions .btn:first-child { grid-column: 1 / -1; }
  .hero-trust-note { margin-top: 8px; font-size: .78rem !important; line-height: 1.3; }
  .hero-stat-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-top: 10px;
    overflow: visible;
    padding-bottom: 0;
  }
  .hero-stat-strip > div { min-width: 0; padding: 8px 7px; border-radius: 11px; }
  .hero-stat-strip strong { font-size: .8rem; line-height: 1.05; }
  .hero-stat-strip span { font-size: .64rem; line-height: 1.2; margin-top: 3px; }
  html.is-mobile .hero.hero-premium .hero-card.hero-showcase,
  .hero.hero-premium .hero-card.hero-showcase { display: none !important; }

  .section-head { margin: 18px 0 9px; gap: 8px; }
  .section-head h2,
  .content-card h2,
  .form-card h2 { font-size: 1.15rem; margin-bottom: 4px; }
  .section-head a { font-size: .85rem; }

  .page-title,
  .events-list-title { margin: 12px 0; gap: 4px; }
  .page-title h1,
  .events-list-title h1,
  html.is-mobile .page-title h1 {
    font-size: clamp(1.55rem, 7.4vw, 2.25rem);
    line-height: 1.06;
    margin: 4px 0 6px;
    letter-spacing: -.045em;
  }
  .page-title p,
  .events-list-title p { font-size: .9rem; line-height: 1.42; margin: 0; }

  .pro-filter-drawer,
  .filter-drawer {
    margin: 8px 0 12px;
    border-radius: 15px;
    box-shadow: 0 10px 28px rgba(0,0,0,.20);
  }
  .pro-filter-drawer summary,
  .filter-drawer summary {
    min-height: 46px;
    padding: 10px 12px;
    gap: 8px;
  }
  .pro-filter-drawer summary strong { font-size: .88rem; }
  .pro-filter-drawer summary em { display: none; }
  .pro-filter-drawer summary .muted.small { font-size: .72rem; }
  .pro-filter-card,
  .filter-card {
    padding: 10px !important;
    gap: 8px !important;
    border-radius: 14px;
  }
  .pro-filter-card label { font-size: .76rem; }
  .pro-filter-card input,
  .pro-filter-card select { min-height: 36px; border-radius: 10px; font-size: .86rem; }
  .filter-wide { grid-column: 1 / -1; }
  .filter-check-grid { grid-template-columns: 1fr; gap: 6px; padding: 8px; border-radius: 12px; }
  .filter-check-grid .checkbox-row { font-size: .78rem; line-height: 1.25; }
  .checkbox-row { gap: 7px; }
  .checkbox-row input { transform: scale(.92); }
  .filter-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; justify-content: stretch; }
  .filter-actions .btn { min-height: 36px; width: auto !important; font-size: .84rem; }

  .events-result-bar {
    margin: 2px 0 10px;
    padding: 6px 9px;
    gap: 7px;
    font-size: .78rem;
  }
  .events-result-bar span { min-width: 24px; height: 24px; padding: 0 7px; }

  .run-grid,
  .compact-run-grid,
  .home-run-grid { gap: 9px; }
  .run-card,
  .compact-run-card { border-radius: 12px; box-shadow: 0 6px 18px rgba(0,0,0,.18); }
  .run-card-body,
  .compact-run-card .run-card-body { padding: 10px; }
  .run-card h3,
  html.is-mobile .run-card h3,
  .compact-run-card h3 {
    margin: 6px 0 4px;
    font-size: .96rem;
    line-height: 1.16;
    letter-spacing: -.02em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .status-line,
  .compact-run-card .status-line { gap: 5px; font-size: .7rem; line-height: 1.2; }
  .badge,
  .compact-run-card .badge { padding: 3px 6px; font-size: .58rem; letter-spacing: .035em; }
  .run-location-line,
  .compact-run-card .run-location-line { font-size: .76rem; line-height: 1.25; margin: 0; }
  .mini-stats,
  .compact-run-card .mini-stats { gap: 4px; margin-top: 8px; }
  .mini-stats span,
  .compact-run-card .mini-stats span { padding: 3px 5px; border-radius: 7px; font-size: .66rem; line-height: 1.15; }
  .run-card-image,
  .compact-run-card .run-card-image { aspect-ratio: 16 / 8; }
  .empty-state { padding: 18px 14px; border-radius: 14px; }

  .site-sponsor-slot { margin: 10px auto 14px; }
  .site-sponsor-card { padding: 10px; border-radius: 13px; }
  .site-footer { padding: 14px 0 28px; font-size: 12px; }
}

@media (max-width: 760px) and (supports(selector(:has(*)))) {
  .run-grid .run-card:has(.run-card-image) {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    min-height: 96px;
  }
  .run-grid .run-card:has(.run-card-image) .run-card-image {
    height: 100%;
    aspect-ratio: auto;
  }
  .run-grid .run-card:has(.run-card-image) .run-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

@media (max-width: 420px) {
  main,
  .site-header,
  .site-footer,
  .site-sponsor-slot { width: calc(100% - 16px); }
  html.is-mobile body { font-size: 14.5px; }
  .brand-text { max-width: 170px; font-size: 15px; }
  .brand-logo { width: 34px; height: 34px; }
  .menu-toggle { width: 36px; height: 36px; min-height: 36px; }

  .hero.hero-premium { padding: 10px; border-radius: 16px; }
  .hero.hero-premium .hero-copy h1 { font-size: clamp(1.55rem, 8.6vw, 2.05rem); line-height: 1.08; }
  .hero-lede { font-size: .84rem !important; }
  .hero.hero-premium .hero-actions .btn { font-size: .8rem; padding-left: 8px; padding-right: 8px; }
  .hero-stat-strip { gap: 5px; }
  .hero-stat-strip > div { padding: 7px 5px; }
  .hero-stat-strip strong { font-size: .74rem; }
  .hero-stat-strip span { font-size: .59rem; }

  .page-title h1,
  .events-list-title h1,
  html.is-mobile .page-title h1 { font-size: clamp(1.42rem, 7.2vw, 1.9rem); }
  .page-title p,
  .events-list-title p { font-size: .84rem; }
  .filter-actions { grid-template-columns: 1fr 1fr; }
  .run-grid .run-card:has(.run-card-image) { grid-template-columns: 78px minmax(0, 1fr); min-height: 88px; }
  .run-card-body,
  .compact-run-card .run-card-body { padding: 8px; }
  .run-card h3,
  html.is-mobile .run-card h3,
  .compact-run-card h3 { font-size: .88rem; }
  .status-line,
  .compact-run-card .status-line { font-size: .64rem; }
  .mini-stats span,
  .compact-run-card .mini-stats span { font-size: .6rem; }
}

/* V1.10.16 mobile density polish: public event detail */
@media (max-width: 860px) {
  .event-detail-page.compact-event-page { margin: 8px 0 22px; }
  .event-compact-shell { border-radius: 15px; }
  .event-compact-hero { padding: 12px; gap: 10px; border-radius: 14px; }
  .event-hero-copy h1 { font-size: clamp(1.48rem, 7.2vw, 2.1rem); line-height: 1.06; margin: 6px 0; }
  .event-hero-copy p { font-size: .86rem; line-height: 1.35; }
  .event-hero-meta { gap: 5px; }
  .event-hero-meta span:not(.badge) { padding: 3px 6px; font-size: .64rem; }
  .event-hero-actions,
  html.is-mobile .event-hero-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
  }
  .event-hero-actions .btn,
  html.is-mobile .event-hero-actions .btn { width: auto !important; min-height: 36px; padding: 7px 8px; font-size: .78rem; }
  .event-hero-actions .btn:first-child { grid-column: 1 / -1; }

  .compact-update-strip,
  .compact-today-card,
  .event-top-schedule,
  .event-card,
  .compact-response-card,
  .compact-share-card { border-radius: 13px; }
  .compact-update-strip,
  .compact-today-card { padding: 10px; margin: 8px 10px 0; }
  .event-top-schedule { margin: 8px 10px 0; padding: 10px; gap: 9px; }
  .event-top-schedule h2,
  .event-card h2 { font-size: 1.05rem; }
  .event-top-schedule > div:first-child p:last-child { display: none; }
  .schedule-fact-list,
  .compact-fact-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .compact-fact-list div { padding: 8px; border-radius: 10px; }
  .compact-fact-list span { font-size: .62rem; }
  .compact-fact-list strong { font-size: .82rem; }
  .top-weather-note { font-size: .78rem; }

  .event-detail-grid { padding: 8px; gap: 9px; }
  .event-side-rail { gap: 9px; }
  .compact-flyer,
  .compact-flyer-placeholder { border-radius: 12px; }
  .compact-flyer img { max-height: 260px; object-fit: contain; }
  .compact-response-card,
  .compact-share-card,
  .event-card { padding: 10px; }
  .compact-response-card strong { font-size: .9rem; }
  .compact-buttons,
  html.is-mobile .compact-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
  .compact-buttons .btn,
  html.is-mobile .compact-buttons .btn { width: auto !important; min-height: 34px; padding: 7px 8px; font-size: .76rem; }
  .notify-check { font-size: .72rem; }
  .compact-share-card { grid-template-columns: 58px 1fr; gap: 9px; }
  .compact-share-card img { width: 58px; height: 58px; }
  .compact-share-card .share-link-stack { gap: 5px; }
  .compact-share-card .share-link-stack a,
  .compact-share-card .share-link-stack button {
    min-height: 32px;
    padding: 6px 9px;
    font-size: .72rem;
  }
  .event-update-log {
    margin: 0 8px 10px;
    padding: 9px;
  }
  .event-update-list span {
    display: grid;
    gap: 2px;
    padding: 6px 8px;
    font-size: .74rem;
  }
  .event-update-list strong {
    text-align: left;
    font-size: .74rem;
  }

  .event-summary-strip { gap: 6px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-summary-strip div { padding: 8px; border-radius: 10px; }
  .event-summary-strip span { font-size: .6rem; }
  .event-summary-strip strong { font-size: .84rem; }
  .event-description { font-size: .9rem; line-height: 1.48; }
  .route-actions,
  html.is-mobile .route-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
  .route-actions .btn,
  html.is-mobile .route-actions .btn { width: auto !important; min-height: 34px; padding: 7px 8px; font-size: .76rem; }
  .compact-route-map { min-height: 210px; height: 260px; border-radius: 12px; }
  .compact-stop-list { gap: 7px; }
  .compact-stop-list li { grid-template-columns: 30px 1fr; gap: 8px; padding: 8px; border-radius: 10px; }
  .compact-stop-list strong { font-size: .86rem; }
  .compact-stop-list span,
  .compact-stop-list em { font-size: .74rem; }
  .stop-badge { width: 30px; height: 30px; font-size: .75rem; }
}

/* V1.10.17 multi-site Admin CMS controls */
.site-control-overview.wp-dashboard-grid-wide {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.site-control-card {
  border-left: 4px solid var(--wp-admin-blue, #2271b1);
}
.site-control-card.site-status-online { border-left-color: var(--wp-admin-green, #008a20); }
.site-control-card.site-status-admin_only { border-left-color: var(--wp-admin-orange, #d97706); }
.site-control-card.site-status-offline { border-left-color: var(--wp-admin-red, #b32d2e); }
.site-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
  border: 1px solid var(--wp-admin-line, #dcdcde);
}
.site-status-pill.status-online {
  color: #006b1b;
  background: #edfaef;
  border-color: #b9e6c1;
}
.site-status-pill.status-admin_only {
  color: #8a4b00;
  background: #fff8e5;
  border-color: #f0cf80;
}
.site-status-pill.status-offline {
  color: #b32d2e;
  background: #fff1f1;
  border-color: #f0b9b9;
}
.site-environment-editor-stack {
  display: grid;
  gap: 18px;
  margin-bottom: 18px;
}
.site-environment-editor > header {
  align-items: flex-start;
}
.site-environment-editor .eyebrow {
  margin: 0 0 4px;
}
.cms-form-grid.site-env-form,
.site-env-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  gap: 14px;
  padding: 16px;
}
.site-env-form label,
.cms-checkbox-panel {
  display: grid;
  gap: 5px;
  margin: 0;
}
.site-env-form label > span,
.cms-checkbox-panel legend {
  color: var(--wp-admin-text, #1d2327);
  font-weight: 800;
  font-size: 13px;
}
.site-env-form small {
  color: var(--wp-admin-muted, #646970);
  font-size: 12px;
  line-height: 1.35;
}
.site-env-form .span-2,
.cms-checkbox-panel.span-2,
.form-actions.span-2 {
  grid-column: 1 / -1;
}
.cms-checkbox-panel {
  border: 1px solid var(--wp-admin-line, #dcdcde);
  border-radius: 4px;
  padding: 12px;
  background: var(--wp-admin-surface-2, #f6f7f7);
}
.cms-checkbox-panel legend {
  padding: 0 5px;
}
.cms-checkbox-panel .checkbox-row {
  color: var(--wp-admin-text, #1d2327);
  font-weight: 700;
}
.site-env-form .form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 4px;
}
.admin-code-block {
  display: block;
  margin: 0;
  padding: 14px;
  overflow: auto;
  color: #d6e7ff;
  background: #111827;
  border-radius: 0 0 4px 4px;
  font-size: 13px;
  line-height: 1.45;
  white-space: pre-wrap;
}
.notice {
  margin: 0 0 18px;
  padding: 12px 14px;
  border-left: 4px solid var(--wp-admin-blue, #2271b1);
  background: #fff;
  border-top: 1px solid var(--wp-admin-line, #dcdcde);
  border-right: 1px solid var(--wp-admin-line, #dcdcde);
  border-bottom: 1px solid var(--wp-admin-line, #dcdcde);
  color: var(--wp-admin-text, #1d2327);
}
.notice-success { border-left-color: var(--wp-admin-green, #008a20); }
.notice-error { border-left-color: var(--wp-admin-red, #b32d2e); }
.notice ul { margin: 8px 0 0 18px; }
.wp-definition-list.compact div {
  grid-template-columns: 118px 1fr;
  padding: 8px 0;
}
@media (max-width: 1180px) {
  .site-control-overview.wp-dashboard-grid-wide { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .cms-form-grid.site-env-form,
  .site-env-form { grid-template-columns: 1fr; padding: 14px; }
  .site-environment-editor > header { align-items: start; }
  .site-status-pill { font-size: 11px; }
}

/* V1.10.18 Domain/Site Controller + page-builder CMS editor */
.domain-controller-hero .compact-actions {
  align-items: center;
  justify-content: flex-end;
}
.site-controller-tabs,
.content-picker-list {
  display: grid;
  gap: 10px;
}
.site-controller-tabs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 18px;
}
.site-controller-tab,
.content-picker-item {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 14px;
  color: var(--wp-admin-text, #1d2327);
  text-decoration: none;
  background: #fff;
  border: 1px solid var(--wp-admin-line, #dcdcde);
  border-left: 4px solid var(--wp-admin-line, #dcdcde);
  border-radius: 6px;
  box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
}
.site-controller-tab:hover,
.content-picker-item:hover,
.site-controller-tab.active,
.content-picker-item.active {
  border-color: var(--wp-admin-blue, #2271b1);
  border-left-color: var(--wp-admin-blue, #2271b1);
  box-shadow: 0 0 0 1px rgba(34, 113, 177, .12), 0 6px 18px rgba(0, 0, 0, .06);
}
.site-controller-tab.site-status-online { border-left-color: var(--wp-admin-green, #008a20); }
.site-controller-tab.site-status-admin_only { border-left-color: var(--wp-admin-orange, #d97706); }
.site-controller-tab.site-status-offline { border-left-color: var(--wp-admin-red, #b32d2e); }
.site-controller-tab-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.site-controller-host {
  min-width: 0;
  overflow-wrap: anywhere;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  color: var(--wp-admin-blue, #2271b1);
  font-size: 13px;
  font-weight: 800;
}
.site-controller-meta,
.content-picker-item span {
  color: var(--wp-admin-muted, #646970);
  font-size: 12px;
  line-height: 1.35;
}
.site-controller-shell,
.cms-controller-shell {
  display: grid;
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin-bottom: 18px;
}
.site-controller-summary,
.cms-page-picker {
  position: sticky;
  top: 68px;
  display: grid;
  gap: 14px;
}
.selected-site-card,
.controller-help-card,
.selected-site-editor,
.selected-content-card {
  overflow: hidden;
}
.stacked-actions {
  display: grid;
  gap: 8px;
}
.admin-code-block.compact {
  border-radius: 4px;
  font-size: 12px;
  max-height: 220px;
}
.domain-controller-form {
  padding-top: 10px;
}
.domain-toggle-panel {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.domain-toggle-panel legend {
  grid-column: 1 / -1;
}

.cms-page-picker {
  padding: 0;
  overflow: hidden;
}
.cms-page-picker-head {
  padding: 16px 16px 12px;
  border-bottom: 1px solid var(--wp-admin-line, #dcdcde);
  background: var(--wp-admin-surface-2, #f6f7f7);
}
.cms-page-picker-head h2,
.cms-page-picker-head p {
  margin: 0;
}
.cms-page-picker-head .eyebrow {
  margin-bottom: 5px;
}
.content-picker-list {
  padding: 12px;
  max-height: calc(100vh - 220px);
  overflow: auto;
}
.content-picker-item {
  padding: 11px 12px;
  border-left-width: 3px;
  box-shadow: none;
}
.content-picker-item strong {
  font-size: 13px;
}
.cms-selected-workspace {
  min-width: 0;
}
.cms-builder-toolbar-note {
  margin: 0 16px 14px;
  padding: 11px 12px;
  border: 1px solid #c3d4e9;
  background: #f0f6fc;
  color: #1d3d5e;
  border-radius: 4px;
  font-size: 13px;
  line-height: 1.45;
}
.single-page-editor-grid {
  grid-template-columns: repeat(2, minmax(220px, 1fr));
}
.cms-field.has-rich-editor {
  gap: 8px;
}
.cms-mini-editor {
  display: grid;
  gap: 8px;
}
.cms-editor-toolbar,
.cms-editor-quicklinks {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  padding: 8px;
  border: 1px solid var(--wp-admin-line, #dcdcde);
  background: var(--wp-admin-surface-2, #f6f7f7);
  border-radius: 4px;
}
.cms-editor-toolbar .small-btn,
.cms-quick-add {
  min-height: 28px;
  padding: 4px 8px;
  border: 1px solid var(--wp-admin-line, #c3c4c7);
  border-radius: 4px;
  background: #fff;
  color: var(--wp-admin-text, #1d2327);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.cms-editor-toolbar .small-btn:hover,
.cms-quick-add:hover {
  border-color: var(--wp-admin-blue, #2271b1);
  color: var(--wp-admin-blue, #2271b1);
}
.cms-editor-quicklinks span {
  color: var(--wp-admin-muted, #646970);
  font-size: 12px;
  font-weight: 800;
}
.cms-rich-textarea {
  min-height: 180px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  line-height: 1.5;
}
.cms-live-preview-wrap {
  border: 1px solid var(--wp-admin-line, #dcdcde);
  border-radius: 4px;
  overflow: hidden;
  background: #fff;
}
.cms-live-preview-wrap summary {
  padding: 9px 12px;
  cursor: pointer;
  background: var(--wp-admin-surface-2, #f6f7f7);
  color: var(--wp-admin-text, #1d2327);
  font-size: 13px;
  font-weight: 800;
}
.cms-live-preview {
  padding: 14px;
  color: var(--wp-admin-text, #1d2327);
  background: #fff;
}
.cms-live-preview h2,
.cms-live-preview h3 {
  margin: 0 0 8px;
  line-height: 1.2;
}
.cms-live-preview p,
.cms-live-preview ul {
  margin: 0 0 12px;
  color: var(--wp-admin-text, #1d2327);
}
.cms-live-preview a:not(.btn) {
  color: var(--wp-admin-blue, #2271b1);
  font-weight: 700;
}
.cms-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cms-content-note {
  margin: 12px 0;
  padding: 12px 14px;
  border-left: 4px solid var(--wp-admin-blue, #2271b1);
  background: rgba(34, 113, 177, .08);
  border-radius: 4px;
}
.sticky-form-actions {
  position: sticky;
  bottom: 0;
  z-index: 5;
  margin: 18px -16px -16px;
  padding: 12px 16px;
  background: rgba(255, 255, 255, .96);
  border-top: 1px solid var(--wp-admin-line, #dcdcde);
  backdrop-filter: blur(8px);
}
.faq-cms-controller-grid {
  padding: 0 16px 16px;
}

@media (max-width: 1180px) {
  .site-controller-tabs { grid-template-columns: 1fr; }
  .site-controller-shell,
  .cms-controller-shell { grid-template-columns: 1fr; }
  .site-controller-summary,
  .cms-page-picker { position: static; }
  .content-picker-list { max-height: none; }
}
@media (max-width: 820px) {
  .domain-controller-hero .compact-actions,
  .site-controller-tab-top { align-items: flex-start; }
  .site-controller-tab-top { flex-direction: column; }
  .domain-toggle-panel { grid-template-columns: 1fr; }
  .single-page-editor-grid { grid-template-columns: 1fr; }
  .cms-editor-toolbar,
  .cms-editor-quicklinks { gap: 5px; padding: 7px; }
  .cms-editor-toolbar .small-btn,
  .cms-quick-add { font-size: 11px; padding: 4px 7px; }
  .cms-rich-textarea { min-height: 150px; }
  .sticky-form-actions { position: static; margin: 14px 0 0; padding: 0; border: 0; background: transparent; }
}

/* V1.10.19 Admin controller cleanup + WordPress-like page editing */
@media (min-width: 821px) {
  .wp-admin-shell {
    --wp-admin-sidebar-width: 280px;
    grid-template-columns: var(--wp-admin-sidebar-width) minmax(0, 1fr);
  }
  .wp-admin-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: var(--wp-admin-sidebar-width);
    height: 100vh;
    max-height: 100vh;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  body.admin-route.admin-sidebar-closed .wp-admin-shell {
    --wp-admin-sidebar-width: 76px;
    grid-template-columns: var(--wp-admin-sidebar-width) minmax(0, 1fr);
  }
}
@media (min-width: 821px) and (max-width: 1100px) {
  .wp-admin-shell { --wp-admin-sidebar-width: 240px; }
  body.admin-route.admin-sidebar-closed .wp-admin-shell { --wp-admin-sidebar-width: 76px; }
}

.full-width { width: 100%; justify-content: center; }

.domain-switcher,
.wp-page-library {
  margin: 0 0 18px;
  overflow: hidden;
  border: 1px solid var(--wp-admin-line, #dcdcde);
  background: #fff;
}
.domain-switcher-head,
.wp-page-library-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--wp-admin-line, #dcdcde);
  background: var(--wp-admin-surface-2, #f6f7f7);
}
.domain-switcher-head h2,
.wp-page-library-head h2 {
  margin: 2px 0 0;
  color: var(--wp-admin-text, #1d2327);
  font-size: 18px;
  line-height: 1.2;
}
.domain-selector-tabs,
.wp-page-tabs {
  display: flex;
  gap: 0;
  overflow-x: auto;
  padding: 0;
  scrollbar-width: thin;
}
.domain-selector-tab,
.wp-page-tab {
  min-width: 178px;
  display: grid;
  gap: 3px;
  padding: 13px 15px;
  color: var(--wp-admin-text, #1d2327);
  text-decoration: none;
  border-right: 1px solid var(--wp-admin-line, #dcdcde);
  border-bottom: 3px solid transparent;
  background: #fff;
}
.wp-page-tab { min-width: 156px; }
.domain-selector-tab:hover,
.wp-page-tab:hover,
.domain-selector-tab.active,
.wp-page-tab.active {
  color: var(--wp-admin-blue, #2271b1);
  background: #f6f7f7;
  border-bottom-color: var(--wp-admin-blue, #2271b1);
}
.domain-selector-tab.site-status-online.active { border-bottom-color: var(--wp-admin-green, #008a20); }
.domain-selector-tab.site-status-admin_only.active { border-bottom-color: var(--wp-admin-orange, #d97706); }
.domain-selector-tab.site-status-offline.active { border-bottom-color: var(--wp-admin-red, #b32d2e); }
.domain-selector-tab span,
.wp-page-tab span {
  color: var(--wp-admin-muted, #646970);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.domain-selector-tab strong,
.wp-page-tab strong {
  font-size: 14px;
  line-height: 1.2;
}
.domain-selector-tab em {
  color: var(--wp-admin-muted, #646970);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
}

.domain-controller-layout,
.wp-page-editor-layout {
  display: grid;
  grid-template-columns: minmax(230px, 300px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}
.wp-page-editor-layout {
  grid-template-columns: minmax(0, 1fr) minmax(250px, 320px);
}
.domain-selected-summary,
.wp-editor-sidebar-panel {
  position: sticky;
  top: 82px;
  display: grid;
  gap: 14px;
}
.domain-selected-summary {
  padding: 16px;
}
.domain-selected-summary h2 {
  margin: 2px 0 10px;
  font-size: 22px;
  line-height: 1.15;
}
.domain-big-status {
  display: grid;
  place-items: center;
  min-height: 82px;
  margin: 0 0 12px;
  border: 1px solid var(--wp-admin-line, #dcdcde);
  border-left: 5px solid var(--wp-admin-blue, #2271b1);
  background: var(--wp-admin-surface-2, #f6f7f7);
}
.domain-big-status.status-online { border-left-color: var(--wp-admin-green, #008a20); }
.domain-big-status.status-admin_only { border-left-color: var(--wp-admin-orange, #d97706); }
.domain-big-status.status-offline { border-left-color: var(--wp-admin-red, #b32d2e); }
.domain-big-status span {
  font-size: 22px;
  font-weight: 900;
  letter-spacing: -.02em;
}
.domain-summary-list dd { overflow-wrap: anywhere; }
.domain-summary-actions { display: grid; gap: 8px; }
.domain-editor-card,
.wp-editor-main,
.wp-editor-sidebox {
  overflow: hidden;
}
.wp-edit-screen-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 16px;
  border-bottom: 1px solid var(--wp-admin-line, #dcdcde);
  background: #fff;
}
.wp-edit-screen-head h2 {
  margin: 2px 0 5px;
  color: var(--wp-admin-text, #1d2327);
  font-size: 24px;
  line-height: 1.15;
  letter-spacing: -.03em;
}
.wp-edit-screen-head p:not(.eyebrow) {
  margin: 0;
  color: var(--wp-admin-muted, #646970);
  font-size: 13px;
  line-height: 1.45;
}
.wp-editor-section {
  border-bottom: 1px solid var(--wp-admin-line, #dcdcde);
}
.wp-editor-section h3 {
  margin: 0;
  padding: 14px 16px 0;
  color: var(--wp-admin-text, #1d2327);
  font-size: 16px;
}
.wp-editor-section .cms-form-grid { padding: 14px 16px 16px; }
.domain-toggle-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 14px 16px 16px;
}
.domain-toggle-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
  margin: 0;
  padding: 13px;
  border: 1px solid var(--wp-admin-line, #dcdcde);
  background: #fff;
  border-radius: 4px;
}
.domain-toggle-card input { margin-top: 3px; }
.domain-toggle-card strong {
  display: block;
  font-size: 13px;
  color: var(--wp-admin-text, #1d2327);
}
.domain-toggle-card small {
  display: block;
  margin-top: 2px;
  color: var(--wp-admin-muted, #646970);
  font-size: 12px;
  line-height: 1.35;
}
.wp-publish-bar { justify-content: flex-start; }

.wp-selected-editor { min-width: 0; }
.wp-page-editor-form { margin: 0; }
.wp-title-editor {
  padding: 16px;
  border-bottom: 1px solid var(--wp-admin-line, #dcdcde);
  background: var(--wp-admin-surface-2, #f6f7f7);
}
.wp-title-editor label { margin: 0; }
.wp-title-editor input {
  min-height: 48px;
  border: 1px solid var(--wp-admin-line, #dcdcde);
  border-radius: 2px;
  background: #fff;
  color: var(--wp-admin-text, #1d2327);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -.03em;
}
.wp-content-fields {
  display: grid;
  gap: 0;
}
.wp-edit-field {
  border-bottom: 1px solid var(--wp-admin-line, #dcdcde);
  background: #fff;
}
.wp-edit-field > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px 8px;
}
.wp-edit-field h3 {
  margin: 0 0 3px;
  font-size: 15px;
  color: var(--wp-admin-text, #1d2327);
}
.wp-edit-field header p {
  margin: 0;
  color: var(--wp-admin-muted, #646970);
  font-size: 12px;
}
.wp-field-type {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--wp-admin-surface-2, #f6f7f7);
  color: var(--wp-admin-muted, #646970);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.wp-edit-field > input,
.wp-edit-field > .wp-editor-box {
  margin: 0 16px 16px;
}
.wp-edit-field > input {
  width: calc(100% - 32px);
}
.wp-editor-box {
  display: grid;
  gap: 0;
  border: 1px solid var(--wp-admin-line, #dcdcde);
  background: #fff;
}
.wp-editor-tabs {
  display: flex;
  justify-content: flex-end;
  gap: 0;
  border-bottom: 1px solid var(--wp-admin-line, #dcdcde);
  background: var(--wp-admin-surface-2, #f6f7f7);
}
.wp-editor-tab {
  min-height: 34px;
  padding: 6px 12px;
  border: 0;
  border-left: 1px solid var(--wp-admin-line, #dcdcde);
  background: transparent;
  color: var(--wp-admin-blue, #2271b1);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}
.wp-editor-tab.active {
  background: #fff;
  color: var(--wp-admin-text, #1d2327);
}
.wp-editor-box .cms-editor-toolbar {
  border: 0;
  border-bottom: 1px solid var(--wp-admin-line, #dcdcde);
  border-radius: 0;
}
.wp-editor-box .cms-rich-textarea {
  min-height: 180px;
  border: 0;
  border-radius: 0;
  resize: vertical;
}
.wp-editor-box.is-previewing .cms-rich-textarea,
.wp-editor-box:not(.is-previewing) .wp-visual-preview {
  display: none;
}
.wp-visual-preview {
  min-height: 180px;
  padding: 16px;
  border: 0;
  background: #fff;
}
.wp-editor-sidebar-panel {
  align-self: start;
}
.wp-editor-sidebox {
  padding: 14px;
}
.wp-editor-sidebox h3 {
  margin: 0 0 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--wp-admin-line, #dcdcde);
  color: var(--wp-admin-text, #1d2327);
  font-size: 15px;
}
.wp-editor-sidebox .btn + .btn { margin-top: 8px; }
.wp-quickinsert-list {
  display: grid;
  gap: 8px;
  max-height: 420px;
  overflow: auto;
  padding-right: 3px;
}
.wp-quickinsert-row {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  gap: 5px;
  align-items: center;
  padding: 8px;
  border: 1px solid var(--wp-admin-line, #dcdcde);
  background: var(--wp-admin-surface-2, #f6f7f7);
  border-radius: 3px;
}
.wp-quickinsert-row strong {
  min-width: 0;
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wp-quickinsert-row .small-btn {
  min-height: 26px;
  padding: 3px 6px;
  font-size: 11px;
}
.faq-editor-layout .wp-editor-sidebar-panel { top: 82px; }
.faq-wp-table { margin: 0; }
.sponsor-visibility-form { padding: 16px; }

@media (max-width: 1180px) {
  .domain-controller-layout,
  .wp-page-editor-layout {
    grid-template-columns: 1fr;
  }
  .domain-selected-summary,
  .wp-editor-sidebar-panel {
    position: static;
  }
}
@media (max-width: 820px) {
  .domain-switcher-head,
  .wp-page-library-head,
  .wp-edit-screen-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .domain-selector-tab,
  .wp-page-tab {
    min-width: 145px;
    padding: 11px 12px;
  }
  .domain-toggle-grid {
    grid-template-columns: 1fr;
  }
  .wp-title-editor input {
    min-height: 42px;
    font-size: 19px;
  }
  .wp-edit-field > header {
    align-items: flex-start;
    flex-direction: column;
  }
  .wp-edit-field > input,
  .wp-edit-field > .wp-editor-box {
    margin-left: 12px;
    margin-right: 12px;
  }
  .wp-edit-field > input {
    width: calc(100% - 24px);
  }
  .wp-editor-box .cms-rich-textarea,
  .wp-visual-preview {
    min-height: 150px;
  }
  .wp-quickinsert-row {
    grid-template-columns: 1fr;
  }
}

/* V1.10.20 Admin shell repair: stable sidebar, safe offsets, no invisible overlay */
body.admin-route {
  min-height: 100vh;
  overflow-x: hidden;
}
body.admin-route .site-header,
body.admin-route .site-footer,
body.admin-route .footer-sponsor-slot {
  display: none !important;
}
body.admin-route > main.admin-main {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 100vh;
  background: var(--wp-admin-bg);
}
.wp-admin-shell {
  position: relative;
  display: block !important;
  min-height: 100vh;
  width: 100%;
  background: var(--wp-admin-bg);
}
.wp-admin-sidebar {
  position: fixed !important;
  inset: 0 auto 0 0;
  width: 260px;
  height: 100vh;
  min-height: 100vh;
  max-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  z-index: 1000;
  transform: none;
  scrollbar-width: thin;
}
.wp-admin-workspace {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  min-height: 100vh;
  margin-left: 260px;
  width: calc(100% - 260px);
}
.wp-admin-topbar {
  position: sticky;
  top: 0;
  z-index: 900;
  width: 100%;
}
.wp-admin-sidebar-toggle {
  display: inline-grid !important;
  place-items: center;
  flex: 0 0 auto;
}
.wp-admin-stage {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1480px;
  margin: 0 auto;
  padding: 22px clamp(16px, 2vw, 28px);
}
.wp-admin-sidebar-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 990;
}
body.admin-route.admin-sidebar-closed .wp-admin-sidebar {
  width: 74px;
}
body.admin-route.admin-sidebar-closed .wp-admin-workspace {
  margin-left: 74px;
  width: calc(100% - 74px);
}
body.admin-route.admin-sidebar-closed .wp-admin-brand,
body.admin-route.admin-sidebar-closed .wp-admin-env-card,
body.admin-route.admin-sidebar-closed .wp-admin-menu-group h2,
body.admin-route.admin-sidebar-closed .wp-admin-menu-label,
body.admin-route.admin-sidebar-closed .wp-admin-menu-count {
  display: none !important;
}
body.admin-route.admin-sidebar-closed .wp-admin-menu-item {
  grid-template-columns: 1fr;
  justify-items: center;
  min-height: 46px;
  padding-left: 10px;
  padding-right: 10px;
}
body.admin-route.admin-sidebar-closed .wp-admin-menu-item.is-active::after {
  display: none;
}
body.admin-route.admin-sidebar-closed .wp-admin-menu-icon {
  width: 34px;
  height: 34px;
}
.admin-route .table-card,
.admin-route .wp-dashboard-widget,
.admin-route .form-card,
.admin-route .content-card,
.admin-route .wp-card {
  max-width: 100%;
}
.admin-route .table-card {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.admin-route a,
.admin-route button,
.admin-route input,
.admin-route select,
.admin-route textarea,
.admin-route label {
  pointer-events: auto;
}
.wp-selected-editor {
  display: block;
}
.domain-controller-layout {
  align-items: start;
}
.domain-selected-summary {
  max-height: calc(100vh - 104px);
  overflow-y: auto;
}
.wp-page-library,
.domain-switcher {
  position: relative;
  z-index: 2;
}
.wp-page-tabs,
.domain-selector-tabs {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

@media (max-width: 1100px) {
  .wp-admin-sidebar {
    width: 236px;
  }
  .wp-admin-workspace {
    margin-left: 236px;
    width: calc(100% - 236px);
  }
}
@media (max-width: 820px) {
  body.admin-route.admin-sidebar-closed .wp-admin-sidebar,
  .wp-admin-sidebar {
    width: min(300px, 86vw);
    transform: translateX(-105%);
    transition: transform .18s ease;
  }
  .wp-admin-workspace,
  body.admin-route.admin-sidebar-closed .wp-admin-workspace {
    margin-left: 0;
    width: 100%;
  }
  body.admin-route.admin-sidebar-open .wp-admin-sidebar {
    transform: translateX(0);
  }
  body.admin-route.admin-sidebar-open .wp-admin-sidebar-backdrop {
    display: block;
  }
  .wp-admin-topbar {
    position: sticky;
    align-items: center;
    padding: 9px 12px;
  }
  .wp-admin-topbar-left {
    gap: 9px;
  }
  .wp-admin-topbar h1 {
    font-size: 16px;
  }
  .wp-admin-breadcrumb {
    font-size: 10px;
  }
  .wp-admin-stage {
    padding: 12px;
  }
  .wp-admin-shell {
    overflow: visible;
  }
  .admin-route .page-title h1 {
    font-size: 24px;
  }
  .wp-page-tabs,
  .domain-selector-tabs {
    display: flex;
    gap: 8px;
    padding-bottom: 4px;
  }
  .wp-page-tab,
  .domain-selector-tab {
    flex: 0 0 min(220px, 78vw);
  }
}

/* V1.10.22 Sponsor placement control density */
.sponsor-control-panel-compact .wp-edit-screen-head {
  align-items: center;
  gap: 14px;
  padding-bottom: 12px;
}
.sponsor-control-panel-compact .wp-edit-screen-head h2 {
  margin-bottom: 4px;
}
.sponsor-control-panel-compact .wp-edit-screen-head p:not(.eyebrow) {
  max-width: 760px;
  font-size: 13px;
  line-height: 1.45;
}
.sponsor-control-panel-compact .sponsor-placement-grid {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 10px;
}
.sponsor-control-panel-compact .sponsor-placement-card {
  gap: 8px;
  padding: 11px 12px;
  border-radius: 8px;
  background: #fff;
}
.sponsor-control-panel-compact .sponsor-placement-card h3 {
  margin: 0 0 2px;
  font-size: 14px;
  line-height: 1.25;
}
.sponsor-control-panel-compact .sponsor-placement-card p {
  font-size: 12px;
  line-height: 1.35;
}
.sponsor-control-panel-compact .sponsor-placement-card .small {
  font-size: 11px;
}
.sponsor-placement-toggles {
  display: grid;
  gap: 5px;
  margin-top: 2px;
}
.compact-switch-row {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 8px;
  align-items: center;
  min-height: 30px;
  margin: 0;
  padding: 6px 7px;
  border: 1px solid var(--wp-admin-line, #dcdcde);
  border-radius: 7px;
  background: var(--wp-admin-surface-2, #f6f7f7);
  cursor: pointer;
}
.compact-switch-row input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  pointer-events: none;
}
.compact-switch {
  position: relative;
  width: 30px;
  height: 16px;
  border-radius: 999px;
  border: 1px solid #b8c0ca;
  background: #dcdcde;
  transition: background .15s ease, border-color .15s ease;
}
.compact-switch::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.28);
  transition: transform .15s ease;
}
.compact-switch-row input:checked + .compact-switch {
  border-color: #2271b1;
  background: #2271b1;
}
.compact-switch-row input:checked + .compact-switch::after {
  transform: translateX(14px);
}
.compact-switch-row input:focus-visible + .compact-switch {
  outline: 2px solid #72aee6;
  outline-offset: 2px;
}
.compact-switch-copy {
  min-width: 0;
}
.compact-switch-copy strong {
  display: block;
  color: var(--wp-admin-text, #1d2327);
  font-size: 12px;
  line-height: 1.15;
}
.compact-switch-copy small {
  display: block;
  margin-top: 1px;
  color: var(--wp-admin-muted, #646970);
  font-size: 11px;
  line-height: 1.2;
}
.sponsor-control-panel-compact .wp-publish-bar {
  padding-top: 10px;
}
.sponsor-control-panel-compact .wp-publish-bar .btn {
  min-height: 34px;
  padding: 8px 12px;
  font-size: 13px;
}
@media (max-width: 700px) {
  .sponsor-control-panel-compact .sponsor-placement-grid {
    grid-template-columns: 1fr;
  }
  .compact-switch-copy small {
    display: none;
  }
  .compact-switch-row {
    min-height: 28px;
    padding: 5px 7px;
  }
}

/* V1.10.23 location-aware browsing and account controls */
.compact-actions {
  gap: 0.5rem;
  flex-wrap: wrap;
}

.compact-actions .btn,
.compact-btn {
  min-height: auto;
  padding: 0.55rem 0.8rem;
  font-size: 0.86rem;
  line-height: 1.1;
}

.nearby-search-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, auto);
  align-items: center;
  gap: 0.7rem;
  padding: 0.68rem 0.72rem;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.12));
  border-radius: 10px;
  background: rgba(18, 22, 29, 0.72);
}

.nearby-search-panel strong {
  display: block;
  font-size: 0.92rem;
  color: var(--text, #f8f7f4);
}

.nearby-search-panel p {
  margin: 0.18rem 0 0;
}

.nearby-search-actions {
  display: flex;
  align-items: end;
  justify-content: flex-end;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.nearby-search-actions label {
  min-width: 132px;
  margin: 0;
}

.events-result-bar em {
  display: inline-flex;
  margin-left: auto;
  color: var(--muted, #64748b);
  font-style: normal;
  font-size: 0.86rem;
}

.account-management-grid {
  align-items: start;
}

.account-profile-card h2 {
  margin-top: 1rem;
}

.account-profile-card h2:first-of-type {
  margin-top: 0;
}

.compact-choice-card {
  padding: 0.85rem;
}

.location-save-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  margin: 0.75rem 0 1rem;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 16px;
  background: rgba(248, 250, 252, 0.86);
}

.location-save-panel p {
  margin: 0.2rem 0 0;
}

.account-side-panel {
  position: sticky;
  top: 1rem;
}

.account-tool-list {
  display: grid;
  gap: 0.55rem;
}

.account-tool-list a {
  display: block;
  padding: 0.75rem;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 14px;
  text-decoration: none;
  color: inherit;
  background: rgba(255, 255, 255, 0.74);
}

.account-tool-list a:hover {
  border-color: rgba(204, 32, 45, 0.28);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

.account-tool-list strong,
.account-tool-list span {
  display: block;
}

.account-tool-list span {
  margin-top: 0.15rem;
  color: var(--muted, #64748b);
  font-size: 0.84rem;
  line-height: 1.35;
}

.status-line span:last-child:not(.badge) {
  white-space: nowrap;
}

@media (max-width: 760px) {
  .nearby-search-panel,
  .location-save-panel {
    grid-template-columns: 1fr;
    gap: 0.65rem;
    padding: 0.7rem;
    border-radius: 14px;
  }

  .nearby-search-actions {
    justify-content: stretch;
  }

  .nearby-search-actions label,
  .nearby-search-actions .btn,
  .location-save-panel .btn {
    width: 100%;
  }

  .events-result-bar {
    gap: 0.25rem;
  }

  .events-result-bar em {
    width: 100%;
    margin-left: 0;
    font-size: 0.78rem;
  }

  .account-side-panel {
    position: static;
  }

  .account-tool-list a {
    padding: 0.65rem;
  }
}

@media (max-width: 520px) {
  .hero-actions [data-home-near-me] {
    width: 100%;
  }

  .compact-actions .btn,
  .compact-btn {
    padding: 0.48rem 0.68rem;
    font-size: 0.8rem;
  }

  .nearby-search-panel strong {
    font-size: 0.86rem;
  }
}

/* V1.10.23 organizer/local discovery polish */
.run-organizer-line {
  margin: .15rem 0 .35rem;
  font-size: .86rem;
}
.organizer-name-guidance,
.route-return-card {
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 14px;
  padding: .85rem;
  background: rgba(15,23,42,.035);
  margin: .75rem 0;
}
.route-return-card .route-return-note {
  margin-top: .6rem;
}
.location-region-note {
  margin-top: .75rem;
}
.modal-backdrop.organizer-name-modal {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, .58);
  z-index: 2000;
  backdrop-filter: blur(3px);
}
.modal-card.organizer-name-modal-card {
  position: fixed;
  z-index: 2001;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(92vw, 520px);
  background: var(--surface, #fff);
  color: var(--text, #0f172a);
  border-radius: 18px;
  border: 1px solid rgba(148,163,184,.28);
  box-shadow: 0 24px 80px rgba(15,23,42,.32);
  padding: 1.25rem;
}
.modal-card.organizer-name-modal-card h2 {
  margin-top: .15rem;
  margin-bottom: .5rem;
  font-size: clamp(1.25rem, 4vw, 1.75rem);
}
.modal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: .85rem 0;
}
.organizer-display-reminder a {
  font-weight: 800;
  margin-left: .35rem;
}
@media (max-width: 640px) {
  .modal-card.organizer-name-modal-card {
    width: calc(100vw - 1.5rem);
    padding: 1rem;
  }
  .modal-actions .btn {
    width: 100%;
    justify-content: center;
  }
  .run-organizer-line { font-size: .8rem; }
}

/* V1.10.24 user management and site email controls */
.admin-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 18px;
}
.admin-tabs a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border: 1px solid var(--wp-admin-line, #dcdcde);
  border-radius: 999px;
  background: #fff;
  color: var(--wp-admin-text, #1d2327);
  text-decoration: none;
  font-weight: 800;
  font-size: 13px;
}
.admin-tabs a span {
  min-width: 22px;
  padding: 2px 6px;
  border-radius: 999px;
  background: var(--wp-admin-surface-2, #f6f7f7);
  color: var(--wp-admin-muted, #646970);
  text-align: center;
  font-size: 11px;
}
.admin-tabs a.is-active,
.admin-tabs a:hover {
  color: #fff;
  border-color: var(--wp-admin-blue, #2271b1);
  background: var(--wp-admin-blue, #2271b1);
}
.admin-tabs a.is-active span,
.admin-tabs a:hover span {
  background: rgba(255,255,255,.18);
  color: #fff;
}
.badge-warning {
  background: #fff7ed;
  color: #9a3412;
  border-color: #fed7aa;
}
.check-list.small-list {
  margin: 10px 0 0;
  padding-left: 18px;
  font-size: 13px;
  line-height: 1.5;
}
.table-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--wp-admin-line, #dcdcde);
  background: var(--wp-admin-surface-2, #f6f7f7);
}
.table-card-header h2,
.table-card-header p {
  margin: 0;
}
@media (max-width: 720px) {
  .admin-tabs a { flex: 1 1 calc(50% - 8px); justify-content: center; }
  .table-card-header { align-items: start; flex-direction: column; }
}

/* V1.10.24 Pages/Content section editor refinement */
.wp-section-editor-intro {
  padding: 14px 16px;
  border-bottom: 1px solid var(--wp-admin-line, #dcdcde);
  background: #fff;
}
.wp-section-editor-intro strong {
  display: block;
  margin-bottom: 4px;
  color: var(--wp-admin-text, #1d2327);
  font-size: 14px;
}
.wp-section-editor-intro p {
  margin: 0;
  color: var(--wp-admin-muted, #646970);
  font-size: 12px;
  line-height: 1.45;
}
.wp-page-section-stack {
  display: grid;
  gap: 14px;
  padding: 14px;
  background: var(--wp-admin-surface-2, #f6f7f7);
}
.wp-page-section-card {
  overflow: hidden;
  border: 1px solid var(--wp-admin-line, #dcdcde);
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 1px 1px rgba(0,0,0,.04);
  scroll-margin-top: 82px;
}
.wp-page-section-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--wp-admin-line, #dcdcde);
  background: linear-gradient(180deg, #fff, #f8f9fa);
}
.wp-page-section-head h3 {
  margin: 0 0 4px;
  color: var(--wp-admin-text, #1d2327);
  font-size: 17px;
  letter-spacing: -.015em;
}
.wp-page-section-head p:not(.eyebrow) {
  margin: 0;
  color: var(--wp-admin-muted, #646970);
  font-size: 12px;
  line-height: 1.45;
}
.wp-page-section-card .wp-edit-field:last-child { border-bottom: 0; }
.wp-section-jump-list {
  display: grid;
  gap: 6px;
}
.wp-section-jump-list a {
  display: block;
  padding: 8px 9px;
  border: 1px solid var(--wp-admin-line, #dcdcde);
  background: #fff;
  border-radius: 3px;
  color: var(--wp-admin-blue, #2271b1);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}
.wp-section-jump-list a:hover {
  border-color: var(--wp-admin-blue, #2271b1);
  background: #f0f6fc;
}
@media (max-width: 820px) {
  .wp-page-section-stack { padding: 10px; gap: 10px; }
  .wp-page-section-head { flex-direction: column; padding: 12px; }
  .wp-page-section-head h3 { font-size: 15px; }
}

/* v1.10.25 selected UX improvements */
.events-quick-tools {
  max-width: 1180px;
  margin: 0 auto 0.85rem;
  padding: 0 1rem;
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: center;
  flex-wrap: wrap;
}
.quick-filter-row,
.event-view-toggle,
.email-action-row {
  display: flex;
  gap: 0.45rem;
  align-items: center;
  flex-wrap: wrap;
}
.quick-filter-row a,
.quick-filter-row button,
.event-view-toggle a {
  border: 1px solid var(--border, #d7dde7);
  background: #fff;
  color: var(--text, #111827);
  text-decoration: none;
  border-radius: 999px;
  padding: 0.42rem 0.68rem;
  font-size: 0.82rem;
  line-height: 1;
  font-weight: 700;
  cursor: pointer;
}
.event-view-toggle span {
  color: var(--muted, #64748b);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.event-view-toggle a.is-active {
  background: var(--accent, #cf202d);
  border-color: var(--accent, #cf202d);
  color: #fff;
}
.sticky-mobile-filter-button {
  display: none;
  border: 0;
  cursor: pointer;
}
.event-card-list-comfortable .run-card {
  min-height: 100%;
}
.event-card-list-comfortable .run-card-image img {
  max-height: 220px;
  object-fit: cover;
}
.my-events-summary-grid,
.sponsor-preview-grid {
  max-width: 1180px;
  margin: 0 auto 1rem;
  padding: 0 1rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 0.75rem;
}
.my-events-summary-grid article,
.sponsor-preview-card,
.account-section-card,
.event-edit-history-card {
  background: #fff;
  border: 1px solid var(--border, #d7dde7);
  border-radius: 18px;
  padding: 1rem;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}
.my-events-summary-grid span {
  display: block;
  font-size: 1.55rem;
  font-weight: 900;
}
.my-events-summary-grid strong,
.my-events-summary-grid em {
  display: block;
}
.my-events-summary-grid em {
  color: var(--muted, #64748b);
  font-size: 0.84rem;
  font-style: normal;
}
.account-section-card {
  max-width: 1180px;
  margin: 0 auto 1rem;
}
.my-event-item {
  position: relative;
}
.my-event-item > .badge {
  position: absolute;
  z-index: 2;
  top: 0.65rem;
  right: 0.65rem;
}
.history-list {
  display: grid;
  gap: 0.45rem;
}
.history-row {
  display: grid;
  grid-template-columns: 150px 1fr auto;
  gap: 0.65rem;
  align-items: center;
  border-top: 1px solid var(--border, #d7dde7);
  padding-top: 0.5rem;
  font-size: 0.88rem;
}
.history-row span,
.history-row em {
  color: var(--muted, #64748b);
  font-style: normal;
}
.sponsor-preview-card {
  display: grid;
  gap: 0.65rem;
}
.sponsor-preview-slot-label,
.sponsor-preview-stats {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.sponsor-preview-slot-label span {
  color: var(--muted, #64748b);
  font-size: 0.82rem;
}
.sponsor-preview-creative {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  border: 1px dashed var(--border, #d7dde7);
  border-radius: 14px;
  padding: 0.75rem;
}
.sponsor-preview-creative img {
  width: 64px;
  height: 64px;
  object-fit: contain;
  border-radius: 12px;
  background: #f8fafc;
}
.sponsor-preview-creative span,
.sponsor-preview-creative p,
.sponsor-preview-empty {
  color: var(--muted, #64748b);
  font-size: 0.84rem;
  margin: 0.15rem 0 0;
}
.sponsor-preview-stats span {
  background: #f8fafc;
  border-radius: 12px;
  padding: 0.45rem 0.55rem;
  font-size: 0.78rem;
}
.email-action-row .btn {
  flex: 1 1 140px;
}
@media (max-width: 760px) {
  .events-quick-tools {
    padding: 0 0.7rem;
    gap: 0.5rem;
  }
  .quick-filter-row {
    flex-wrap: nowrap;
    overflow-x: auto;
    width: 100%;
    padding-bottom: 0.25rem;
    -webkit-overflow-scrolling: touch;
  }
  .quick-filter-row a,
  .quick-filter-row button {
    flex: 0 0 auto;
    font-size: 0.76rem;
    padding: 0.36rem 0.58rem;
  }
  .event-view-toggle {
    width: 100%;
    justify-content: flex-start;
  }
  .sticky-mobile-filter-button {
    display: flex;
    position: sticky;
    top: calc(72px + env(safe-area-inset-top));
    z-index: 18;
    width: calc(100% - 1.4rem);
    justify-content: center;
    margin: 0 0.7rem 0.65rem;
    background: #111827;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    padding: 0.42rem 0.68rem;
    font-size: 0.78rem;
    font-weight: 800;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.22);
  }
  .my-events-summary-grid,
  .sponsor-preview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    padding: 0 0.7rem;
  }
  .my-events-summary-grid article,
  .sponsor-preview-card,
  .account-section-card {
    border-radius: 14px;
    padding: 0.75rem;
  }
  .history-row {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }
}


/* v1.10.26 management/ad/page editor polish */
.ad-manager-title .admin-actions-row,
.compact-toolbar { gap: .45rem; flex-wrap: wrap; }
.ad-manager-stats.dashboard-command-center { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.ad-manager-panel,
.ad-placement-panel,
.ad-campaign-editor { margin-top: 1rem; }
.embedded-table-card { box-shadow: none; border: 1px solid var(--border-soft); margin: .75rem 0 0; }
.ad-placement-list { display: grid; gap: .55rem; }
.ad-placement-row { display: grid; grid-template-columns: minmax(220px, 1fr) auto auto; align-items: center; gap: .6rem; border: 1px solid var(--border-soft); border-radius: 12px; padding: .6rem .75rem; background: #fff; }
.ad-placement-row p { margin: .14rem 0 0; }
.compact-admin-form .three-col { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.form-section-block { border: 1px solid var(--border-soft); border-radius: 14px; padding: .85rem; background: #fff; }
.form-section-block h2 { font-size: 1rem; margin: 0 0 .65rem; }
.sponsor-portal-card { display: grid; gap: .8rem; }
.sponsor-portal-logo { width: 76px; height: 76px; object-fit: contain; border-radius: 14px; border: 1px solid var(--border-soft); background: #fff; }
.admin-user-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 1rem; align-items: start; }
.preference-box { border: 1px solid var(--border-soft); border-radius: 14px; padding: .8rem; background: #fff; }
.preference-box legend { font-weight: 800; padding: 0 .35rem; }
.beta-request-table { margin-bottom: 1rem; }
.wp-visual-preview table,
.cms-section-html table,
.legal-copy table { width: 100%; border-collapse: collapse; margin: .8rem 0; font-size: .92rem; }
.wp-visual-preview th,
.wp-visual-preview td,
.cms-section-html th,
.cms-section-html td,
.legal-copy th,
.legal-copy td { border: 1px solid var(--border-soft); padding: .55rem; text-align: left; vertical-align: top; }
.wp-visual-preview th,
.cms-section-html th,
.legal-copy th { background: #f8fafc; font-weight: 800; }
.cms-editor-toolbar { gap: .32rem; }
.cms-editor-toolbar .small-btn { padding: .32rem .5rem; font-size: .74rem; }
.pro-filter-drawer { margin-top: .65rem; }
.pro-filter-drawer > summary { padding: .58rem .75rem; border-radius: 14px; }
.pro-filter-drawer > summary strong { font-size: .92rem; }
.pro-filter-card { padding: .75rem; gap: .55rem; }
.pro-filter-card input,
.pro-filter-card select { min-height: 36px; font-size: .86rem; }
.filter-actions .btn,
.nearby-search-actions .btn,
.events-quick-tools a,
.events-quick-tools button { white-space: nowrap; }
.event-view-toggle a,
.event-view-toggle span { font-size: .78rem; }

@media (max-width: 1100px) {
  .ad-manager-stats.dashboard-command-center { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .compact-admin-form .three-col,
  .ad-placement-row,
  .admin-user-detail-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .ad-manager-title .admin-actions-row .btn { padding: .4rem .56rem; font-size: .76rem; }
  .ad-manager-stats.dashboard-command-center { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
  .ad-placement-row { padding: .55rem; gap: .45rem; }
  .compact-switch-row { min-height: 28px; }
  .compact-admin-form .two-col,
  .compact-admin-form .three-col { grid-template-columns: 1fr; gap: .5rem; }
  .events-list-title h1 { font-size: clamp(1.35rem, 6vw, 1.75rem); }
  .events-list-title p { font-size: .88rem; }
  .filter-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; }
  .filter-actions .btn { justify-content: center; width: 100%; padding: .45rem .55rem; font-size: .78rem; }
  .nearby-search-actions { gap: .4rem; }
  .nearby-search-actions .compact-btn { padding: .4rem .52rem; font-size: .76rem; }
  .run-grid .run-card,
  .compact-run-grid .run-card { padding: .65rem; }
  .run-card .btn,
  .run-card .small-btn { padding: .36rem .5rem; font-size: .75rem; }
  .wp-editor-sidebar-panel { position: static; }
}

/* v1.10.28 mobile-first event controls and view modes */
.events-quick-tools {
  width: 100%;
  max-width: none;
  margin: 0 0 .8rem;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: .55rem;
  align-items: stretch;
}

.quick-filter-row {
  display: flex;
  flex-wrap: nowrap;
  gap: .45rem;
  overflow-x: auto;
  padding: .05rem .05rem .35rem;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.quick-filter-row a,
.quick-filter-row button,
.event-view-toggle a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(18,22,29,.94);
  color: var(--text, #f8f7f4);
  text-decoration: none;
  border-radius: 999px;
  padding: .48rem .72rem;
  font-size: .82rem;
  line-height: 1;
  font-weight: 850;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
  cursor: pointer;
  appearance: none;
}

.quick-filter-row a:hover,
.quick-filter-row button:hover,
.quick-filter-row a:focus-visible,
.quick-filter-row button:focus-visible {
  color: #fff;
  border-color: rgba(240,75,40,.62);
  background: rgba(181,31,41,.22);
  outline: none;
}

.event-view-toggle {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: .35rem;
  padding: .28rem;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 999px;
  background: rgba(9,11,15,.78);
}

.event-view-toggle span {
  flex: 0 0 auto;
  padding: 0 .36rem;
  color: var(--muted, #b7bfcc);
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.event-view-toggle a {
  flex: 1 1 0;
  min-width: 0;
  border-color: transparent;
  background: transparent;
  color: var(--muted, #b7bfcc);
  box-shadow: none;
}

.event-view-toggle a:hover,
.event-view-toggle a:focus-visible {
  color: #fff;
  background: rgba(255,255,255,.07);
  outline: none;
}

.event-view-toggle a.is-active {
  background: linear-gradient(135deg, var(--brand-red, #b51f29), var(--brand-red-bright, #f04b28));
  border-color: rgba(255,255,255,.14);
  color: #fff;
  box-shadow: 0 8px 20px rgba(181,31,41,.26);
}

.events-run-grid.event-card-list-compact,
html.is-desktop .events-run-grid.event-card-list-compact {
  grid-template-columns: 1fr;
}

.events-run-grid.event-card-list-comfortable,
html.is-desktop .events-run-grid.event-card-list-comfortable {
  grid-template-columns: 1fr;
}

.events-run-grid.event-card-list-compact .compact-run-card {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  min-height: 96px;
  padding: 0;
  overflow: hidden;
  border-radius: 12px;
}

.events-run-grid.event-card-list-compact .compact-run-card .run-card-image {
  width: 100%;
  height: 100%;
  min-height: 96px;
  aspect-ratio: auto;
}

.events-run-grid.event-card-list-compact .compact-run-card .run-card-image img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
}

.events-run-grid.event-card-list-compact .compact-run-card .run-card-body {
  min-width: 0;
  padding: .55rem .62rem;
}

.events-run-grid.event-card-list-compact .compact-run-card h3 {
  margin: .28rem 0 .18rem;
  font-size: .9rem;
  line-height: 1.16;
  letter-spacing: 0;
}

.events-run-grid.event-card-list-compact .compact-run-card .run-organizer-line {
  display: none;
}

.events-run-grid.event-card-list-compact .compact-run-card .status-line,
.events-run-grid.event-card-list-compact .compact-run-card .mini-stats {
  gap: .25rem;
}

.events-run-grid.event-card-list-compact .compact-run-card .status-line {
  font-size: .64rem;
}

.events-run-grid.event-card-list-compact .compact-run-card .badge {
  padding: .18rem .34rem;
  font-size: .58rem;
}

.events-run-grid.event-card-list-compact .compact-run-card .run-location-line {
  margin: 0;
  font-size: .72rem;
}

.events-run-grid.event-card-list-compact .compact-run-card .mini-stats {
  margin-top: .38rem;
}

.events-run-grid.event-card-list-compact .compact-run-card .mini-stats span {
  padding: .18rem .32rem;
  border-radius: 7px;
  font-size: .6rem;
}

.events-run-grid.event-card-list-comfortable .run-card {
  display: block;
  padding: 0;
  border-radius: 16px;
}

.events-run-grid.event-card-list-comfortable .run-card-image {
  aspect-ratio: 16 / 10;
}

.events-run-grid.event-card-list-comfortable .run-card-image img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
}

.events-run-grid.event-card-list-comfortable .run-card-body {
  padding: .9rem;
}

@media (min-width: 761px) {
  .events-quick-tools {
    max-width: 1180px;
    margin: 0 auto .85rem;
    padding: 0 1rem;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .quick-filter-row {
    flex-wrap: wrap;
    overflow: visible;
    padding: 0;
  }

  .event-view-toggle {
    width: auto;
    min-width: 300px;
  }

  .events-run-grid.event-card-list-comfortable,
  html.is-desktop .events-run-grid.event-card-list-comfortable {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .events-run-grid.event-card-list-compact .compact-run-card {
    grid-template-columns: 150px minmax(0, 1fr);
    min-height: 126px;
  }

  .events-run-grid.event-card-list-compact .compact-run-card .run-card-image {
    min-height: 126px;
  }

  .events-run-grid.event-card-list-compact .compact-run-card h3 {
    font-size: 1.05rem;
  }
}

@media (max-width: 420px) {
  .events-run-grid.event-card-list-compact .compact-run-card {
    grid-template-columns: 82px minmax(0, 1fr);
    min-height: 88px;
  }

  .events-run-grid.event-card-list-compact .compact-run-card .run-card-image {
    min-height: 88px;
  }
}

/* v1.10.28 shared mobile-first layout guardrails */
@media (max-width: 760px) {
  .section-head,
  .split-title,
  .table-card-header,
  .wp-edit-screen-head,
  .ad-manager-title,
  .domain-summary-actions,
  .wp-page-section-head {
    align-items: stretch;
    flex-direction: column;
  }

  body:not(.admin-route) .section-head > a:not(.btn) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    width: 100%;
    padding: .48rem .7rem;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    background: rgba(18,22,29,.92);
    color: var(--text, #f8f7f4);
    font-weight: 850;
  }

  .admin-actions-row,
  .wp-welcome-actions,
  .form-actions,
  .domain-summary-actions,
  .modal-actions,
  .row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
  }

  .admin-actions-row .btn,
  .wp-welcome-actions .btn,
  .form-actions .btn,
  .domain-summary-actions .btn,
  .modal-actions .btn {
    flex: 1 1 150px;
    justify-content: center;
  }

  .table-card,
  .admin-route .table-card {
    max-width: 100%;
  }

  .mobile-cards,
  .admin-route .mobile-cards {
    overflow: visible;
  }

  .site-footer p,
  .run-card,
  .event-card,
  .form-card,
  .auth-card {
    overflow-wrap: anywhere;
  }
}

/* v1.10.31 responsive primary navigation */
.site-header {
  align-items: center;
  gap: 12px;
}

.menu-toggle {
  position: relative;
  flex: 0 0 auto;
}

.top-nav a,
.top-nav .link-button {
  text-decoration: none;
  line-height: 1.1;
}

@media (min-width: 980px) {
  .site-header {
    min-height: 66px;
    padding: 10px 14px;
    border-radius: 0 0 18px 18px;
  }

  .brand-logo {
    width: 42px;
    height: 42px;
    border-radius: 13px;
  }

  .brand-text {
    max-width: 260px;
    font-size: 1.05rem;
  }

  .menu-toggle {
    display: none !important;
  }

  .top-nav {
    position: static;
    width: auto;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    grid-template-columns: none;
    gap: 4px;
    padding: 4px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 999px;
    background: rgba(18,22,29,.76);
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }

  .top-nav a,
  .top-nav .link-button {
    width: auto;
    min-height: 38px;
    justify-content: center;
    padding: 9px 12px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    color: var(--muted);
    font-size: .86rem;
    font-weight: 850;
    white-space: nowrap;
  }

  .top-nav a:hover,
  .top-nav a:focus-visible,
  .top-nav .link-button:hover,
  .top-nav .link-button:focus-visible {
    color: #fff;
    border-color: rgba(240,75,40,.46);
    background: rgba(181,31,41,.18);
    outline: none;
  }

  .top-nav .nav-pill {
    padding-inline: 14px;
    background: linear-gradient(135deg, var(--brand-red, #b51f29), var(--brand-red-bright, #f04b28));
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(181,31,41,.22);
  }

  .nav-form,
  .inline-form.nav-form {
    width: auto;
    display: inline-flex;
  }
}

@media (max-width: 979px) {
  .site-header {
    width: min(100% - 16px, var(--page-max-adaptive, 100%));
    min-height: 58px;
    padding: 8px 10px;
    border-radius: 0 0 16px 16px;
  }

  .brand {
    min-width: 0;
    gap: 8px;
  }

  .brand-logo {
    width: 38px;
    height: 38px;
    border-radius: 12px;
  }

  .brand-text {
    max-width: min(58vw, 260px);
    font-size: .98rem;
    letter-spacing: -.02em;
  }

  .menu-toggle {
    width: 42px;
    height: 42px;
    min-height: 42px;
    border-radius: 13px;
    gap: 5px;
    border-color: rgba(255,255,255,.14);
    background: rgba(18,22,29,.96);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 10px 24px rgba(0,0,0,.28);
  }

  .menu-toggle span {
    width: 18px;
    height: 2px;
  }

  .menu-toggle[aria-expanded="true"] {
    background: linear-gradient(135deg, var(--brand-red, #b51f29), var(--brand-red-bright, #f04b28));
    border-color: rgba(255,255,255,.18);
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .top-nav {
    position: fixed;
    top: calc(66px + env(safe-area-inset-top));
    left: 8px;
    right: 8px;
    width: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    padding: 8px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 16px;
    background: rgba(12,15,21,.97);
    box-shadow: 0 18px 48px rgba(0,0,0,.52);
    backdrop-filter: blur(16px);
    transform: translateY(-6px) scale(.99);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 80;
  }

  .top-nav.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
  }

  .top-nav a,
  .top-nav .link-button {
    width: 100%;
    min-height: 42px;
    justify-content: center;
    padding: 9px 10px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.09);
    background: rgba(18,22,29,.92);
    color: var(--text);
    font-size: .88rem;
    font-weight: 850;
    text-align: center;
  }

  .top-nav a:hover,
  .top-nav a:focus-visible,
  .top-nav .link-button:hover,
  .top-nav .link-button:focus-visible {
    color: #fff;
    border-color: rgba(240,75,40,.58);
    background: rgba(181,31,41,.22);
    outline: none;
  }

  .top-nav .nav-pill {
    background: linear-gradient(135deg, var(--brand-red, #b51f29), var(--brand-red-bright, #f04b28));
    color: #fff !important;
  }

  .nav-form,
  .inline-form.nav-form {
    width: 100%;
    display: contents;
  }
}

@media (max-width: 430px) {
  .brand-logo {
    width: 36px;
    height: 36px;
  }

  .brand-text {
    max-width: calc(100vw - 128px);
    font-size: .94rem;
  }

  .menu-toggle {
    width: 40px;
    height: 40px;
    min-height: 40px;
  }

  .top-nav {
    top: calc(62px + env(safe-area-inset-top));
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    padding: 7px;
  }

  .top-nav a,
  .top-nav .link-button {
    min-height: 40px;
    padding: 8px;
    font-size: .84rem;
  }
}

/* v1.10.32 compact account page */
.account-page-title {
  margin-bottom: 14px;
}

.account-page-title h1 {
  font-size: clamp(2rem, 5vw, 3.2rem);
}

.account-compact-layout {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
  gap: 1rem;
}

.account-compact-form,
.account-compact-side {
  gap: .75rem;
}

.account-form-section,
.account-details-panel,
.account-side-card {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background: rgba(255,255,255,.035);
  padding: .85rem;
}

.account-section-head {
  margin: 0 0 .65rem;
}

.account-section-head h2 {
  font-size: 1.08rem;
  margin: 0;
}

.account-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .58rem .65rem;
}

.account-field-grid label,
.account-details-panel label {
  gap: .35rem;
  font-size: .78rem;
}

.account-field-grid input,
.account-field-grid select {
  min-height: 38px;
  padding: .55rem .65rem;
  border-radius: 10px;
  font-size: .9rem;
}

.account-inline-note {
  margin-top: .65rem;
  padding: .65rem;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 12px;
  background: rgba(0,0,0,.16);
  line-height: 1.3;
}

.account-location-panel {
  margin: .65rem 0 0;
  border-color: rgba(255,255,255,.10);
  background: rgba(0,0,0,.14);
  border-radius: 12px;
}

.account-details-panel {
  padding: 0;
  overflow: hidden;
}

.account-details-panel summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  min-height: 46px;
  padding: .72rem .85rem;
  cursor: pointer;
  list-style: none;
  font-weight: 900;
}

.account-details-panel summary::-webkit-details-marker {
  display: none;
}

.account-details-panel summary::after {
  content: '+';
  color: var(--accent-2);
  font-size: 1.1rem;
  line-height: 1;
}

.account-details-panel[open] summary::after {
  content: '-';
}

.account-details-panel summary span,
.account-side-card span {
  color: var(--accent-2);
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: .68rem;
}

.account-details-panel summary em {
  color: var(--muted);
  font-style: normal;
  font-size: .78rem;
  font-weight: 750;
}

.account-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
  padding: 0 .85rem .85rem;
}

.account-checkbox-grid .large-check {
  min-height: 42px;
  padding: .58rem .65rem;
  border-radius: 10px;
  font-size: .78rem;
  line-height: 1.25;
}

.account-compact-side {
  position: sticky;
  top: 84px;
  align-self: start;
  padding: .85rem;
}

.account-side-card {
  display: grid;
  gap: .25rem;
  padding: .75rem;
}

.account-side-card strong {
  display: block;
  font-size: 1rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.account-side-card p,
.account-side-card small {
  margin: 0;
}

.account-side-card small {
  color: var(--muted);
  font-size: .78rem;
  overflow-wrap: anywhere;
}

.account-side-actions {
  display: grid;
  gap: .5rem;
}

.account-side-actions .btn,
.account-compact-side .btn {
  min-height: 40px;
  padding: .6rem .75rem;
  font-size: .86rem;
}

@media (max-width: 860px) {
  .account-compact-layout {
    grid-template-columns: 1fr;
  }

  .account-compact-side {
    position: static;
  }
}

@media (max-width: 560px) {
  .account-field-grid,
  .account-checkbox-grid {
    grid-template-columns: 1fr;
  }

  .account-details-panel summary {
    align-items: flex-start;
    flex-direction: column;
    gap: .12rem;
  }

  .account-details-panel summary::after {
    position: absolute;
    right: .85rem;
  }
}

/* v1.10.33 site-wide control normalization */
body:not(.admin-route) .btn,
body:not(.admin-route) .small-btn,
body:not(.admin-route) .tiny-btn,
body:not(.admin-route) .share-action-btn,
body:not(.admin-route) .quick-filter-row a,
body:not(.admin-route) .quick-filter-row button,
body:not(.admin-route) .event-view-toggle a,
body:not(.admin-route) .link-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: rgba(18,22,29,.94);
  color: var(--text);
  text-align: center;
  text-decoration: none;
  font-weight: 850;
  line-height: 1.1;
  box-shadow: none;
  cursor: pointer;
  appearance: none;
}

body:not(.admin-route) .btn {
  min-height: 44px;
  padding: .7rem 1rem;
  font-size: .92rem;
}

body:not(.admin-route) .small-btn,
body:not(.admin-route) .share-action-btn,
body:not(.admin-route) .quick-filter-row a,
body:not(.admin-route) .quick-filter-row button,
body:not(.admin-route) .event-view-toggle a {
  min-height: 38px;
  padding: .52rem .72rem;
  font-size: .82rem;
}

body:not(.admin-route) .tiny-btn {
  min-height: 32px;
  padding: .4rem .58rem;
  font-size: .76rem;
}

body:not(.admin-route) .btn-primary {
  border-color: rgba(255,255,255,.16);
  background: linear-gradient(135deg, var(--brand-red, #b51f29), var(--brand-red-bright, #f04b28));
  color: #fff;
  box-shadow: 0 10px 26px rgba(181,31,41,.24);
}

body:not(.admin-route) .btn-secondary,
body:not(.admin-route) .small-btn,
body:not(.admin-route) .tiny-btn,
body:not(.admin-route) .share-action-btn {
  background: rgba(18,22,29,.94);
  color: var(--text);
}

body:not(.admin-route) .btn-danger {
  background: var(--danger);
  border-color: rgba(255,255,255,.18);
  color: #fff;
}

body:not(.admin-route) .btn:hover,
body:not(.admin-route) .small-btn:hover,
body:not(.admin-route) .tiny-btn:hover,
body:not(.admin-route) .share-action-btn:hover,
body:not(.admin-route) .quick-filter-row a:hover,
body:not(.admin-route) .quick-filter-row button:hover,
body:not(.admin-route) .event-view-toggle a:hover,
body:not(.admin-route) .link-button:hover {
  color: #fff;
  border-color: rgba(240,75,40,.62);
  background: rgba(181,31,41,.22);
}

body:not(.admin-route) .btn-primary:hover {
  background: linear-gradient(135deg, #c72a34, #ff5b31);
}

body:not(.admin-route) .btn:focus-visible,
body:not(.admin-route) .small-btn:focus-visible,
body:not(.admin-route) .tiny-btn:focus-visible,
body:not(.admin-route) .share-action-btn:focus-visible,
body:not(.admin-route) .quick-filter-row a:focus-visible,
body:not(.admin-route) .quick-filter-row button:focus-visible,
body:not(.admin-route) .event-view-toggle a:focus-visible,
body:not(.admin-route) .link-button:focus-visible,
body:not(.admin-route) a:not(.btn):focus-visible {
  outline: 3px solid rgba(240,75,40,.42);
  outline-offset: 2px;
}

body:not(.admin-route) .btn:disabled,
body:not(.admin-route) button:disabled,
body:not(.admin-route) .disabled-btn {
  opacity: .5;
  cursor: not-allowed;
  filter: grayscale(.2);
}

body:not(.admin-route) label {
  gap: .4rem;
  color: var(--muted);
  font-weight: 850;
  font-size: .86rem;
  line-height: 1.25;
}

body:not(.admin-route) input,
body:not(.admin-route) select,
body:not(.admin-route) textarea {
  width: 100%;
  min-height: 42px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 11px;
  background: rgba(13,16,21,.96);
  color: var(--text);
  padding: .65rem .75rem;
  font: inherit;
  font-size: .92rem;
  line-height: 1.25;
  outline: none;
  box-shadow: none;
}

body:not(.admin-route) textarea {
  min-height: 112px;
  resize: vertical;
}

body:not(.admin-route) input::placeholder,
body:not(.admin-route) textarea::placeholder {
  color: rgba(183,191,204,.66);
}

body:not(.admin-route) input:focus,
body:not(.admin-route) select:focus,
body:not(.admin-route) textarea:focus {
  border-color: rgba(240,75,40,.78);
  box-shadow: 0 0 0 3px rgba(181,31,41,.22);
}

body:not(.admin-route) input[type="checkbox"],
body:not(.admin-route) input[type="radio"] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;
  padding: 0;
  accent-color: var(--accent-2);
}

body:not(.admin-route) input[type="file"] {
  min-height: 42px;
  padding: .55rem;
}

body:not(.admin-route) .checkbox-row {
  display: flex;
  align-items: center;
  gap: .55rem;
}

.admin-route .btn,
.admin-route .small-btn,
.admin-route .tiny-btn,
.admin-route .link-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  border: 1px solid var(--wp-admin-line);
  border-radius: 3px;
  background: #fff;
  color: var(--wp-admin-blue);
  padding: 7px 12px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
  box-shadow: none;
  cursor: pointer;
  appearance: none;
}

.admin-route .small-btn,
.admin-route .tiny-btn {
  min-height: 32px;
  padding: 5px 9px;
  font-size: 12px;
}

.admin-route .btn-primary {
  background: var(--wp-admin-blue);
  border-color: var(--wp-admin-blue);
  color: #fff;
}

.admin-route .btn-secondary,
.admin-route .tiny-btn,
.admin-route .small-btn {
  background: #fff;
  color: var(--wp-admin-blue);
}

.admin-route .btn-danger,
.admin-route .tiny-btn.danger,
.admin-route .small-btn.danger {
  background: var(--wp-admin-red);
  border-color: var(--wp-admin-red);
  color: #fff;
}

.admin-route .btn:hover,
.admin-route .small-btn:hover,
.admin-route .tiny-btn:hover,
.admin-route .link-button:hover {
  border-color: var(--wp-admin-blue);
  color: var(--wp-admin-blue-dark);
}

.admin-route .btn-primary:hover {
  background: var(--wp-admin-blue-dark);
  color: #fff;
}

.admin-route .btn-danger:hover,
.admin-route .tiny-btn.danger:hover,
.admin-route .small-btn.danger:hover {
  background: #8a2424;
  color: #fff;
}

.admin-route label {
  gap: 5px;
  color: var(--wp-admin-muted);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
}

.admin-route input,
.admin-route textarea,
.admin-route select {
  width: 100%;
  min-height: 38px;
  border: 1px solid #8c8f94;
  border-radius: 4px;
  background: #fff;
  color: var(--wp-admin-text);
  padding: 7px 9px;
  font: inherit;
  font-size: 13px;
  line-height: 1.3;
  outline: none;
  box-shadow: none;
}

.admin-route textarea {
  min-height: 110px;
  resize: vertical;
}

.admin-route input:focus,
.admin-route textarea:focus,
.admin-route select:focus {
  border-color: var(--wp-admin-blue);
  box-shadow: 0 0 0 1px var(--wp-admin-blue);
}

.admin-route input[type="checkbox"],
.admin-route input[type="radio"] {
  width: 16px;
  height: 16px;
  min-width: 16px;
  min-height: 16px;
  padding: 0;
  accent-color: var(--wp-admin-blue);
}

.admin-route .checkbox-row {
  display: flex;
  align-items: center;
  gap: 7px;
}

/* v1.10.34 My Events dark-theme repair */
.my-events-page {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 1rem;
}
.my-events-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: end;
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid rgba(255,255,255,.095);
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(240,75,40,.14), transparent 24rem),
    linear-gradient(135deg, rgba(23,26,32,.94), rgba(13,16,21,.96));
  box-shadow: 0 16px 44px rgba(0,0,0,.24);
}
.my-events-hero h1 {
  margin: .12rem 0 .55rem;
  font-size: clamp(2.15rem, 5.2vw, 4rem);
  line-height: .92;
  letter-spacing: -.06em;
}
.my-events-hero p:not(.eyebrow) {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: clamp(.92rem, 1.5vw, 1.04rem);
}
.my-events-hero-actions {
  display: flex;
  gap: .55rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.my-events-hero-actions .btn {
  min-height: 40px;
  padding: .58rem .82rem;
  border-radius: 999px;
  font-size: .88rem;
}
.my-events-page .my-events-summary-grid {
  max-width: none;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .7rem;
}
.my-events-page .my-events-summary-grid article {
  min-width: 0;
  padding: .78rem .88rem;
  border-radius: 16px;
  background: rgba(18,22,29,.92) !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.18) !important;
  color: var(--text) !important;
}
.my-events-page .my-events-summary-grid span {
  display: block;
  color: var(--text) !important;
  font-size: 1.28rem;
  font-weight: 900;
  line-height: 1;
}
.my-events-page .my-events-summary-grid strong {
  display: block;
  margin-top: .2rem;
  color: var(--text) !important;
  font-size: .9rem;
}
.my-events-page .my-events-summary-grid em {
  display: block;
  margin-top: .08rem;
  color: var(--muted) !important;
  font-size: .78rem;
  font-style: normal;
}
.my-events-panel {
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.095);
  background: rgba(18,22,29,.94);
  box-shadow: 0 14px 36px rgba(0,0,0,.2);
}
.my-events-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .86rem .95rem;
  border-bottom: 1px solid rgba(255,255,255,.075);
  background: linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.015));
}
.my-events-panel-head h2 {
  margin: .12rem 0 0;
  color: var(--text) !important;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  line-height: 1.1;
  letter-spacing: -.035em;
}
.my-events-panel-head .tiny-btn,
.my-events-panel-head .small-btn {
  flex: 0 0 auto;
  white-space: nowrap;
}
.my-event-list {
  display: grid;
  gap: .55rem;
  padding: .75rem;
}
.my-event-row {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) auto;
  gap: .72rem;
  align-items: center;
  padding: .62rem;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 14px;
  background: rgba(9,11,15,.58);
  color: var(--text);
}
.my-event-row:hover {
  border-color: rgba(240,75,40,.28);
  background: rgba(13,16,21,.78);
}
.my-event-thumb {
  display: grid;
  place-items: center;
  width: 88px;
  height: 66px;
  overflow: hidden;
  border-radius: 11px;
  border: 1px solid rgba(255,255,255,.1);
  background: #07080a;
  color: var(--accent-2);
  font-size: 1.35rem;
  font-weight: 900;
}
.my-event-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.my-event-row-main {
  min-width: 0;
}
.my-event-row-main h3 {
  margin: .18rem 0 .1rem;
  color: var(--text);
  font-size: clamp(.98rem, 1.6vw, 1.12rem);
  line-height: 1.18;
  letter-spacing: -.025em;
}
.my-event-row-main h3 a:hover {
  color: var(--accent-2);
}
.my-event-row-main p {
  margin: 0;
  color: var(--muted);
  font-size: .84rem;
}
.my-event-meta-line,
.my-event-mini-stats {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .35rem;
  min-width: 0;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
}
.my-event-mini-stats {
  margin-top: .32rem;
  gap: .3rem;
}
.my-event-mini-stats span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: .2rem .42rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  color: var(--muted);
  font-size: .72rem;
  line-height: 1;
}
.my-events-page .badge-response {
  background: linear-gradient(135deg, #c084fc, #a855f7);
  color: #14091f;
}
.my-event-row-actions {
  display: flex;
  justify-content: flex-end;
  gap: .38rem;
  flex-wrap: wrap;
}
.my-event-row-actions .tiny-btn,
.my-events-panel .tiny-btn {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .42rem .65rem;
  border-radius: 999px;
  background: #1d232d;
  border: 1px solid rgba(255,255,255,.11);
  color: var(--text);
  font-size: .78rem;
  font-weight: 850;
}
.my-event-row-actions .tiny-btn:hover,
.my-events-panel .tiny-btn:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}
.organizer-event-row {
  grid-template-columns: minmax(0, 1fr) auto;
}
.my-events-empty-state {
  margin: .75rem;
  padding: 1.05rem;
  border-radius: 14px;
  border: 1px dashed rgba(255,255,255,.14);
  background: rgba(9,11,15,.48);
  color: var(--text);
  text-align: center;
}
.my-events-empty-state h3 {
  margin: 0 0 .3rem;
}
.my-events-empty-state p {
  margin: 0 0 .8rem;
  color: var(--muted);
}
.my-events-page .account-section-card,
.my-events-page .table-card,
.my-events-page .clean-table-card {
  background: rgba(18,22,29,.94) !important;
  color: var(--text) !important;
  border-color: rgba(255,255,255,.095) !important;
}
.history-row span,
.history-row em {
  color: var(--muted, #64748b);
  font-style: normal;
}
@media (max-width: 780px) {
  .my-events-page {
    gap: .75rem;
  }
  .my-events-hero {
    grid-template-columns: 1fr;
    padding: .95rem;
    border-radius: 18px;
  }
  .my-events-hero-actions {
    justify-content: stretch;
  }
  .my-events-hero-actions .btn {
    flex: 1 1 130px;
    min-height: 38px;
    font-size: .82rem;
    padding: .5rem .66rem;
  }
  .my-events-page .my-events-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
  }
  .my-events-panel-head {
    align-items: flex-start;
    padding: .72rem;
  }
  .my-event-list {
    padding: .6rem;
    gap: .5rem;
  }
  .my-event-row {
    grid-template-columns: 68px minmax(0, 1fr);
    align-items: start;
    gap: .58rem;
    padding: .55rem;
  }
  .my-event-thumb {
    width: 68px;
    height: 58px;
    border-radius: 10px;
  }
  .my-event-row-actions {
    grid-column: 1 / -1;
    justify-content: stretch;
  }
  .my-event-row-actions .tiny-btn {
    flex: 1 1 90px;
    min-height: 32px;
  }
  .organizer-event-row {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 420px) {
  .my-events-hero h1 {
    font-size: clamp(1.9rem, 12vw, 2.65rem);
  }
  .my-events-page .my-events-summary-grid article {
    padding: .66rem .7rem;
  }
  .my-event-meta-line,
  .my-event-mini-stats {
    font-size: .7rem;
  }
}

/* v1.10.35: Event editor step cleanup */
[data-event-wizard] ~ [data-wizard-panel][hidden],
.wizard-panel[hidden],
.event-edit-history-card[hidden],
.publish-action-step[hidden] {
  display: none !important;
}
.event-edit-history-card,
.event-edit-history-card.form-card {
  max-width: 960px;
  margin: 14px auto !important;
  background: linear-gradient(180deg, rgba(18,22,29,.96), rgba(13,16,22,.96)) !important;
  color: var(--text) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.30) !important;
}
.event-edit-history-card h2,
.event-edit-history-card strong {
  color: var(--text) !important;
}
.event-edit-history-card .muted,
.event-edit-history-card .small {
  color: var(--muted) !important;
}
.event-edit-history-card .history-list {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  background: rgba(7,9,13,.42);
}
.event-edit-history-card .history-row {
  display: grid;
  grid-template-columns: minmax(130px, 170px) minmax(0, 1fr) minmax(90px, auto);
  gap: .85rem;
  align-items: center;
  padding: .7rem .85rem;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  color: var(--text) !important;
}
.event-edit-history-card .history-row:first-child {
  border-top: 0 !important;
}
.event-edit-history-card .history-row span,
.event-edit-history-card .history-row em {
  color: var(--muted) !important;
  font-style: normal;
}
.event-edit-history-card .history-row strong {
  color: #f7f8fb !important;
  overflow-wrap: anywhere;
}
.publish-action-step,
.publish-action-step .publish-action-card {
  max-width: 760px;
}
.publish-action-step .stacked-form,
.publish-action-step form {
  display: grid;
  gap: .75rem;
}
@media (max-width: 720px) {
  .event-edit-history-card .history-row {
    grid-template-columns: 1fr;
    gap: .25rem;
    padding: .75rem;
  }
}

/* v1.10.36 beta/email polish */
.beta-request-action { margin-top: 16px; }
.beta-request-action .btn { width: 100%; justify-content: center; }
.notice-info { border: 1px solid rgba(59,130,246,.35); background: rgba(59,130,246,.10); color: #dbeafe; }
.user-beta-tag { display: inline-flex; align-items: center; gap: 4px; margin-top: 4px; }

/* v1.10.39-v1.10.42 generated flyer + beta changelog additions */
.changelog-list { display: grid; gap: 18px; margin-bottom: 36px; }
.changelog-entry h2 { margin-top: 0; }
.changelog-items { margin-bottom: 0; }
.tag-row { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.generated-flyer-card { border-color: rgba(249, 115, 22, .45); }
.generated-flyer-preview-grid { align-items: start; }
.generated-flyer-preview-card { max-width: 680px; }
.generated-flyer-frame img { width: 100%; max-height: 820px; object-fit: contain; }

.generated-flyer-removal-notice {
  margin: 0 0 16px;
  padding: 14px 16px;
  border: 1px solid rgba(249, 115, 22, .45);
  border-left: 5px solid rgba(249, 115, 22, .95);
  border-radius: 14px;
  background: rgba(249, 115, 22, .10);
  color: var(--text);
  line-height: 1.5;
}
.generated-flyer-confirm {
  margin: 0 0 14px;
  align-items: flex-start;
}
@media (max-width: 760px) {
  .tag-row { justify-content: flex-start; }
  .generated-flyer-preview-card { max-width: 100%; }
}

/* v1.10.44 beta access + analytics polish */
.beta-request-link,
.beta-request-nav {
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.environment-banner .beta-request-link {
  background: #fff;
  color: #b42318;
  border-radius: 999px;
  padding: 0.35rem 0.7rem;
  margin-left: 0.5rem;
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
}
.beta-request-action.prominent-request {
  border: 2px solid rgba(240, 75, 40, .45);
  border-radius: 18px;
  padding: 1rem;
  background: rgba(240, 75, 40, .08);
}
.beta-request-action.prominent-request .btn {
  font-size: 1.05rem;
  font-weight: 900;
}
.site-version {
  font-size: .82rem;
  opacity: .72;
}
.warning-card {
  border-color: rgba(245, 158, 11, .55) !important;
  background: rgba(245, 158, 11, .08) !important;
}
.filter-chip.active {
  font-weight: 900;
  border-color: rgba(240,75,40,.65);
}
.compact-table th,
.compact-table td {
  padding: .55rem .65rem;
}


/* v1.10.45 event quality, templates, organizer profiles, route exports, weather alerts */
.event-build-health-grid { display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap:1rem; margin:1rem 0; }
.quality-score-card .readiness-bar span { display:block; height:100%; }
.compact-list-text { margin: .65rem 0 0 1.1rem; padding:0; }
.compact-list-text li { margin:.35rem 0; }
.template-row { grid-template-columns: 9rem minmax(0,1fr) auto auto; }
.organizer-profile-hero { align-items:center; }
.organizer-profile-logo { max-width:160px; border-radius:24px; box-shadow: var(--shadow-card); background:#fff; padding:.5rem; }
.weather-alert-card { border-left: 6px solid currentColor; }
.weather-alert-severe { color:#dc2626; }
.weather-alert-watch { color:#d97706; }
.weather-alert-advisory { color:#2563eb; }
.beta-request-nav { box-shadow: 0 0 0 3px rgba(239, 59, 45, .18); font-weight: 900; }
@media (max-width: 800px) { .event-build-health-grid { grid-template-columns:1fr; } .template-row { grid-template-columns:1fr; } }

/* v1.10.48 Rider management */
.rider-account-qr { width: 100%; max-width: 220px; display: block; margin: .75rem auto 0; border-radius: 16px; border: 1px solid var(--border, #e5e7eb); background: #fff; padding: .5rem; }
.rider-management-card .compact-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .8rem; align-items: end; }
.rider-management-card .span-2 { grid-column: 1 / -1; }
.compact-inline-form { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.compact-inline-form select, .compact-inline-form input { min-width: 90px; }
.tiny-input { max-width: 100px; }
.compact-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: .65rem; margin: 1rem 0; }
.compact-stats span { border: 1px solid var(--border, #e5e7eb); border-radius: 14px; padding: .7rem; background: var(--surface-subtle, #f8fafc); }
.compact-stats strong { display: block; font-size: 1.35rem; }
.compact-stats small { color: var(--muted, #64748b); }


/* v1.10.50 command center, offline mode, and poker hand evaluation */
.command-center-title .button-stack { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.command-center-stats { margin: 16px 0 22px; }
.command-center-grid { align-items: start; }
.command-center-list .badge-soft { background: rgba(245, 158, 11, .12); color: #92400e; border-color: rgba(245, 158, 11, .35); }
.privacy-command-notice { border-left: 4px solid currentColor; }
.compact-card { padding: 18px; }
@media (max-width: 760px) {
  .command-center-title { gap: 14px; }
  .command-center-title .button-stack { justify-content: stretch; }
  .command-center-title .button-stack .btn { width: 100%; }
  .command-center-list .table-scroll { font-size: .88rem; }
}

/* v1.10.51 detailed beta changelog */
.changelog-maintenance-note {
  border-left: 5px solid var(--accent, #f97316);
}
.detailed-changelog-list {
  display: grid;
  gap: 1.25rem;
}
.detailed-changelog-entry {
  display: grid;
  gap: 1rem;
}
.changelog-entry-head {
  align-items: flex-start;
}
.changelog-explainer {
  border-top: 1px solid rgba(148, 163, 184, 0.22);
  padding-top: 0.9rem;
}
.changelog-explainer:first-of-type {
  border-top: 0;
  padding-top: 0;
}
.changelog-explainer h3 {
  margin: 0 0 0.35rem;
  font-size: 1rem;
}
.changelog-explainer p {
  margin: 0;
  color: var(--muted, #64748b);
  line-height: 1.55;
}
.affected-area-row {
  margin-top: 0.35rem;
}
.badge-muted {
  background: rgba(148, 163, 184, 0.16);
  color: inherit;
}

/* v1.10.52 organizer setup polish */
.setup-section-map {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 0.75rem;
  margin: 1rem 0;
}
.setup-section-card {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem;
  border: 1px solid var(--border-color, rgba(148, 163, 184, 0.35));
  border-radius: 14px;
  background: rgba(255,255,255,0.72);
  text-decoration: none;
  color: inherit;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}
.setup-section-card:hover { transform: translateY(-1px); box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08); }
.setup-section-card strong { display: block; margin-bottom: 0.25rem; }
.setup-section-card small { display: block; color: var(--muted-color, #64748b); line-height: 1.35; }
.setup-section-card em {
  flex: 0 0 auto;
  font-style: normal;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding: 0.25rem 0.45rem;
  border-radius: 999px;
  background: rgba(100,116,139,0.12);
  color: #475569;
}
.setup-section-card.state-complete em,
.setup-section-card.state-enabled em,
.setup-section-card.state-published em { background: rgba(22, 163, 74, 0.14); color: #166534; }
.setup-section-card.state-needs-attention em,
.setup-section-card.state-needs-review em { background: rgba(245, 158, 11, 0.16); color: #92400e; }
.setup-section-card.state-optional em { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.preview-toolbar { margin-bottom: 1rem; display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.event-preview-page .preview-rider-shell { border: 2px dashed rgba(37, 99, 235, 0.28); }
.event-flyer-preview { display: flex; justify-content: center; margin: 1rem 0; }
.event-flyer-preview img { max-width: min(100%, 560px); border-radius: 18px; box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16); }
.route-stop-list { padding-left: 1.25rem; }
.route-stop-list li { margin: 0.5rem 0; }
@media (max-width: 720px) { .preview-toolbar { display: block; } .preview-toolbar .button-row { margin-top: 1rem; } }


/* v1.10.53 public map, weekend discovery, and privacy center */
.events-map-canvas { min-height: 520px; width: 100%; border-radius: 22px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); background: #111722; }
.public-map-page-card { padding: 12px; }
.map-filter-panel, .compact-filter-panel { margin-bottom: 1.25rem; }
.privacy-center-grid { align-items: stretch; }
.privacy-hero-card .notice { margin-top: .75rem; }
.management-privacy-notice { margin: .75rem 0; }
.map-info-window { color: #101318; line-height: 1.35; min-width: 180px; }
.map-info-window a { color: #cf202d; font-weight: 800; }
.button-stack { display:flex; gap:.6rem; flex-wrap:wrap; justify-content:flex-end; }
@media (max-width: 720px) {
  .events-map-canvas { min-height: 420px; }
  .button-stack { justify-content:flex-start; }
}

/* v1.10.55 — sitewide homepage-style visual polish and Admin CMS organization pass */
:root {
  --mehub-bg: #090b0f;
  --mehub-bg-2: #0d1219;
  --mehub-panel: rgba(18, 22, 29, .94);
  --mehub-panel-strong: rgba(23, 28, 37, .98);
  --mehub-panel-soft: rgba(255,255,255,.045);
  --mehub-text: #f8f7f4;
  --mehub-muted: #b7bfcc;
  --mehub-line: rgba(255,255,255,.105);
  --mehub-line-strong: rgba(240,75,40,.25);
  --mehub-accent: #b51f29;
  --mehub-accent-2: #f04b28;
  --mehub-radius: 20px;
  --mehub-radius-sm: 14px;
  --mehub-shadow: 0 22px 60px rgba(0,0,0,.34);
}

html { background: var(--mehub-bg); }
body:not(.admin-route),
body.admin-route {
  background:
    radial-gradient(circle at 8% -8%, rgba(181,31,41,.24), transparent 32rem),
    radial-gradient(circle at 92% 4%, rgba(240,75,40,.12), transparent 28rem),
    linear-gradient(180deg, #090b0f 0%, #0d1219 48%, #090b0f 100%);
  color: var(--mehub-text);
}

body:not(.admin-route) main,
body:not(.admin-route) .site-header,
body:not(.admin-route) .site-footer {
  width: min(1180px, calc(100% - 28px));
}

.site-header {
  border-bottom-color: rgba(240,75,40,.22);
  border-left: 1px solid rgba(255,255,255,.06);
  border-right: 1px solid rgba(255,255,255,.06);
  border-radius: 0 0 22px 22px;
  padding-left: 14px;
  padding-right: 14px;
}

.top-nav a,
.link-button {
  border-radius: 999px;
  padding: 8px 10px;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.top-nav a:hover,
.link-button:hover {
  background: rgba(240,75,40,.10);
  color: #fff;
}
.nav-pill,
.beta-request-nav {
  background: linear-gradient(135deg, var(--mehub-accent), var(--mehub-accent-2));
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 10px 26px rgba(181,31,41,.24);
}

.hero.hero-premium,
.detail-hero,
.page-title.polished-hero,
.map-hero,
.weekend-hero,
.privacy-hero {
  background:
    linear-gradient(135deg, rgba(181,31,41,.15), transparent 46%),
    linear-gradient(160deg, rgba(24,29,38,.96), rgba(13,17,23,.96));
  border: 1px solid var(--mehub-line-strong);
  border-radius: 28px;
  box-shadow: var(--mehub-shadow);
  padding: clamp(20px, 4vw, 38px);
}

.hero-card,
.showcase-card,
.run-card,
.filter-card,
.form-card,
.content-card,
.auth-card,
.table-card,
.info-card,
.empty-state,
.sponsor-slot,
.choice-card,
.compact-overview-card,
.command-card,
.poker-card-panel,
.flyer-frame,
.map-shell,
.privacy-card,
.changelog-entry {
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
    var(--mehub-panel);
  border: 1px solid var(--mehub-line);
  border-radius: var(--mehub-radius);
  box-shadow: 0 14px 42px rgba(0,0,0,.24);
}

.run-card,
.content-card,
.form-card,
.table-card,
.info-card,
.auth-card,
.filter-card {
  overflow: hidden;
}
.run-card:hover,
.content-card:hover,
.info-card:hover {
  border-color: rgba(240,75,40,.24);
}

.btn,
button.btn,
a.btn,
.tiny-btn,
.small-btn,
.wp-admin-toplink {
  border-radius: 999px;
  font-weight: 900;
  letter-spacing: -.01em;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease, color .16s ease;
}
.btn:hover,
.tiny-btn:hover,
.small-btn:hover,
.wp-admin-toplink:hover {
  transform: translateY(-1px);
}
.btn-primary,
.admin-route .btn-primary,
.wp-admin-toplink.primary {
  background: linear-gradient(135deg, var(--mehub-accent), var(--mehub-accent-2));
  border-color: rgba(255,255,255,.12);
  color: #fff;
  box-shadow: 0 12px 28px rgba(181,31,41,.24);
}
.btn-secondary,
.admin-route .btn-secondary,
.admin-route .tiny-btn,
.tiny-btn {
  background: rgba(255,255,255,.055);
  color: var(--mehub-text);
  border-color: var(--mehub-line);
}
.btn-secondary:hover,
.admin-route .btn-secondary:hover,
.admin-route .tiny-btn:hover,
.tiny-btn:hover {
  border-color: rgba(240,75,40,.38);
  color: #fff;
  background: rgba(240,75,40,.10);
}

input,
textarea,
select,
.admin-route input,
.admin-route textarea,
.admin-route select {
  border-radius: 14px;
  border-color: rgba(255,255,255,.12);
  background: rgba(4,7,12,.72);
  color: var(--mehub-text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
input:focus,
textarea:focus,
select:focus,
.admin-route input:focus,
.admin-route textarea:focus,
.admin-route select:focus {
  border-color: var(--mehub-accent-2);
  box-shadow: 0 0 0 3px rgba(240,75,40,.16);
}
label,
.admin-route label,
.muted,
.optional,
.admin-route .muted,
.admin-route .optional {
  color: var(--mehub-muted);
}

.badge,
.admin-route .badge {
  border-radius: 999px;
  padding: 5px 9px;
  font-weight: 900;
  letter-spacing: .04em;
}

.site-footer {
  margin-top: 34px;
  padding: 24px 0 34px;
  color: var(--mehub-muted);
  border-top: 1px solid rgba(240,75,40,.18);
}
.site-footer a { color: var(--mehub-text); font-weight: 800; }
.site-footer a:hover { color: var(--mehub-accent-2); }
.site-version { opacity: .78; font-size: 12px; }

/* Admin CMS now follows the same elegant Moto Event Hub design language while keeping CMS navigation clear. */
body.admin-route {
  --wp-admin-bg: #090b0f;
  --wp-admin-sidebar: rgba(10,13,18,.96);
  --wp-admin-surface: rgba(18,22,29,.95);
  --wp-admin-surface-2: rgba(255,255,255,.045);
  --wp-admin-line: rgba(255,255,255,.105);
  --wp-admin-text: #f8f7f4;
  --wp-admin-muted: #b7bfcc;
  --wp-admin-blue: #f04b28;
  --wp-admin-blue-dark: #ff6948;
  --wp-admin-red: #ff4d4d;
}
body.admin-route > main { background: transparent; }
.wp-admin-shell { background: transparent; }
.wp-admin-sidebar {
  background:
    radial-gradient(circle at top left, rgba(181,31,41,.30), transparent 20rem),
    linear-gradient(180deg, rgba(12,15,21,.98), rgba(8,10,14,.98));
  border-right: 1px solid rgba(240,75,40,.20);
  box-shadow: 18px 0 48px rgba(0,0,0,.22);
}
.wp-admin-brand {
  border-bottom-color: rgba(255,255,255,.08);
}
.wp-admin-brand img {
  background: #fff;
  border-radius: 14px;
  padding: 3px;
  box-shadow: 0 10px 24px rgba(181,31,41,.24);
}
.wp-admin-env-card {
  background: rgba(255,255,255,.055);
  border-color: rgba(255,255,255,.10);
  border-left-color: var(--mehub-accent-2);
  border-radius: 16px;
}
.wp-admin-menu { gap: 18px; }
.wp-admin-menu-group h2 {
  color: rgba(248,247,244,.58);
  letter-spacing: .12em;
}
.wp-admin-menu-item {
  border-radius: 14px;
  color: rgba(248,247,244,.78);
  border: 1px solid transparent;
}
.wp-admin-menu-item:hover,
.wp-admin-menu-item.is-active {
  background: rgba(240,75,40,.12);
  border-color: rgba(240,75,40,.22);
  color: #fff;
}
.wp-admin-menu-item.is-active::after { background: var(--mehub-accent-2); }
.wp-admin-menu-icon {
  background: rgba(255,255,255,.065);
  border-radius: 12px;
}
.wp-admin-topbar {
  background: rgba(9,11,15,.90);
  color: var(--mehub-text);
  border-bottom: 1px solid rgba(240,75,40,.18);
  backdrop-filter: blur(16px);
}
.wp-admin-topbar h1,
.admin-route .page-title h1,
.admin-route .form-card h2,
.admin-route .content-card h2,
.wp-dashboard-widget > header h2 {
  color: var(--mehub-text);
}
.wp-admin-breadcrumb { color: var(--mehub-muted); }
.wp-admin-toplink,
.wp-admin-user {
  background: rgba(255,255,255,.055);
  border-color: rgba(255,255,255,.12);
  color: var(--mehub-text);
  border-radius: 999px;
}
.wp-admin-stage { padding: clamp(16px, 3vw, 28px); }
.wp-welcome-panel,
.wp-dashboard-widget,
.admin-route .form-card,
.admin-route .content-card,
.admin-route .table-card,
.admin-route .info-card,
.admin-route .filter-card,
.admin-route .auth-card,
.beta-code-flash,
.wp-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.020)),
    rgba(18,22,29,.95);
  color: var(--mehub-text);
  border: 1px solid rgba(255,255,255,.105);
  border-radius: 20px;
  box-shadow: 0 14px 42px rgba(0,0,0,.24);
}
.wp-welcome-panel {
  border-left: 4px solid var(--mehub-accent-2);
  background:
    linear-gradient(135deg, rgba(181,31,41,.18), transparent 48%),
    rgba(18,22,29,.96);
}
.wp-welcome-panel p:not(.eyebrow),
.wp-dashboard-widget > header a,
.wp-admin-list span,
.wp-attention-list span,
.wp-definition-list dt,
.admin-route .page-title p:not(.eyebrow) {
  color: var(--mehub-muted);
}
.wp-dashboard-widget > header,
.wp-inline-form {
  background: rgba(255,255,255,.035);
  border-color: rgba(255,255,255,.08);
}
.wp-metric,
.wp-quick-action-grid a,
.wp-attention-list li,
.wp-admin-list li,
.wp-definition-list div {
  border-color: rgba(255,255,255,.08);
}
.wp-metric strong,
.wp-quick-action-grid strong,
.wp-admin-list strong,
.wp-definition-list dd {
  color: var(--mehub-text);
}
.wp-metric:hover,
.wp-quick-action-grid a:hover,
.wp-attention-list a:hover {
  background: rgba(240,75,40,.08);
}
.admin-route table,
.admin-route th,
.admin-route td {
  background: transparent;
  color: var(--mehub-text);
  border-color: rgba(255,255,255,.08);
}
.admin-route th {
  background: rgba(255,255,255,.045);
  color: rgba(248,247,244,.78);
}
.admin-route tr:hover td { background: rgba(240,75,40,.06); }
.admin-route .badge-published { background: rgba(57,217,138,.18); color: #7cf5b4; }
.admin-route .badge-draft { background: rgba(255,255,255,.08); color: var(--mehub-muted); }
.admin-route .badge-canceled,
.admin-route .badge-hidden_by_admin { background: rgba(255,77,77,.16); color: #ff9b9b; }
.admin-route .badge-archived { background: rgba(255,255,255,.07); color: #d7dce5; }

@media (max-width: 760px) {
  .hero.hero-premium,
  .detail-hero,
  .map-hero,
  .weekend-hero,
  .privacy-hero { border-radius: 22px; }
  .site-header { width: calc(100% - 16px); }
  .wp-admin-topbar-actions { display: none; }
}

/* v1.10.56 — Admin CMS dark-surface consistency patch */
body.admin-route {
  --wp-admin-bg: #080b10;
  --wp-admin-surface: rgba(18,22,29,.96);
  --wp-admin-surface-2: rgba(255,255,255,.045);
  --wp-admin-line: rgba(255,255,255,.105);
  --wp-admin-text: #f8f7f4;
  --wp-admin-muted: #aeb7c7;
  --wp-admin-blue: #f04b28;
  --wp-admin-blue-dark: #c93219;
  --wp-admin-red: #ff5b5b;
  --wp-admin-orange: #f7b955;
  --wp-admin-green: #39d98a;
  background:
    radial-gradient(circle at top left, rgba(181,31,41,.16), transparent 30rem),
    linear-gradient(180deg, #090b0f, #0d1015 45%, #080b10);
  color: var(--wp-admin-text);
}

body.admin-route .wp-admin-shell,
body.admin-route .wp-admin-workspace,
body.admin-route .wp-admin-stage {
  background: transparent;
  color: var(--wp-admin-text);
}

body.admin-route .wp-admin-topbar,
body.admin-route .wp-admin-sidebar,
body.admin-route .domain-switcher,
body.admin-route .wp-page-library,
body.admin-route .domain-selected-summary,
body.admin-route .wp-editor-sidebar-panel,
body.admin-route .wp-editor-main,
body.admin-route .wp-editor-sidebox,
body.admin-route .selected-site-card,
body.admin-route .controller-help-card,
body.admin-route .selected-site-editor,
body.admin-route .selected-content-card,
body.admin-route .cms-page-picker,
body.admin-route .wp-admin-card,
body.admin-route .wp-dashboard-widget,
body.admin-route .form-card,
body.admin-route .content-card,
body.admin-route .table-card,
body.admin-route .info-card,
body.admin-route .filter-card,
body.admin-route .auth-card,
body.admin-route .beta-code-flash,
body.admin-route .notice,
body.admin-route .alert,
body.admin-route .cms-live-preview-wrap,
body.admin-route .sponsor-placement-card,
body.admin-route .content-index-list a,
body.admin-route .site-controller-tab,
body.admin-route .content-picker-item,
body.admin-route .domain-selector-tab,
body.admin-route .wp-page-tab,
body.admin-route .domain-toggle-card,
body.admin-route .domain-big-status,
body.admin-route .wp-edit-field,
body.admin-route .wp-title-editor,
body.admin-route .wp-edit-screen-head,
body.admin-route .cms-page-picker-head,
body.admin-route .domain-switcher-head,
body.admin-route .wp-page-library-head,
body.admin-route .cms-editor-toolbar,
body.admin-route .cms-editor-quicklinks,
body.admin-route .cms-live-preview,
body.admin-route .sticky-form-actions,
body.admin-route fieldset,
body.admin-route .feature-toggle-card,
body.admin-route .feature-card,
body.admin-route .toggle-card,
body.admin-route .settings-card,
body.admin-route .panel,
body.admin-route .card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.020)),
    rgba(18,22,29,.96) !important;
  color: var(--wp-admin-text) !important;
  border-color: var(--wp-admin-line) !important;
}

body.admin-route .wp-admin-topbar {
  background: rgba(8,11,16,.92) !important;
  border-bottom-color: rgba(240,75,40,.20) !important;
}

body.admin-route .wp-admin-sidebar {
  background:
    radial-gradient(circle at top left, rgba(181,31,41,.17), transparent 20rem),
    #0a0d12 !important;
  border-right-color: rgba(255,255,255,.10) !important;
}

body.admin-route .wp-welcome-panel,
body.admin-route .domain-controller-hero,
body.admin-route .page-title {
  background: transparent !important;
  color: var(--wp-admin-text) !important;
}

body.admin-route .wp-dashboard-widget > header,
body.admin-route .wp-inline-form,
body.admin-route .wp-publish-bar,
body.admin-route .cms-content-note,
body.admin-route .cms-builder-toolbar-note {
  background: rgba(255,255,255,.045) !important;
  color: var(--wp-admin-text) !important;
  border-color: var(--wp-admin-line) !important;
}

body.admin-route h1,
body.admin-route h2,
body.admin-route h3,
body.admin-route h4,
body.admin-route strong,
body.admin-route legend,
body.admin-route .domain-selector-tab strong,
body.admin-route .wp-page-tab strong,
body.admin-route .domain-toggle-card strong,
body.admin-route .site-controller-tab strong,
body.admin-route .content-picker-item strong,
body.admin-route .wp-edit-screen-head h2,
body.admin-route .cms-page-picker-head h2,
body.admin-route .domain-switcher-head h2,
body.admin-route .wp-page-library-head h2 {
  color: var(--wp-admin-text) !important;
}

body.admin-route p,
body.admin-route small,
body.admin-route span,
body.admin-route label,
body.admin-route .muted,
body.admin-route .optional,
body.admin-route .site-controller-meta,
body.admin-route .content-picker-item span,
body.admin-route .domain-selector-tab span,
body.admin-route .domain-selector-tab em,
body.admin-route .wp-page-tab span,
body.admin-route .domain-toggle-card small,
body.admin-route .wp-edit-screen-head p:not(.eyebrow),
body.admin-route .cms-page-picker-head p,
body.admin-route .cms-edit-head p,
body.admin-route .cms-field small,
body.admin-route .sponsor-placement-card p,
body.admin-route .content-index-list a span,
body.admin-route .cms-editor-quicklinks span {
  color: var(--wp-admin-muted) !important;
}

body.admin-route .eyebrow,
body.admin-route .site-controller-host,
body.admin-route .wp-dashboard-widget > header a,
body.admin-route .wp-quick-action-grid strong,
body.admin-route .wp-admin-list.compact em,
body.admin-route a:not(.btn):not(.small-btn):not(.tiny-btn):not(.wp-admin-menu-item):not(.wp-admin-toplink) {
  color: var(--wp-admin-blue) !important;
}

body.admin-route input,
body.admin-route textarea,
body.admin-route select,
body.admin-route .copy-code-input,
body.admin-route .wp-title-editor input {
  background: rgba(6,8,12,.78) !important;
  color: var(--wp-admin-text) !important;
  border-color: rgba(255,255,255,.16) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

body.admin-route input::placeholder,
body.admin-route textarea::placeholder {
  color: rgba(174,183,199,.66) !important;
}

body.admin-route input[type='checkbox'],
body.admin-route input[type='radio'] {
  accent-color: var(--wp-admin-blue);
  background: rgba(6,8,12,.78) !important;
  border-color: rgba(255,255,255,.32) !important;
}

body.admin-route input:focus,
body.admin-route textarea:focus,
body.admin-route select:focus {
  border-color: var(--wp-admin-blue) !important;
  box-shadow: 0 0 0 3px rgba(240,75,40,.18) !important;
}

body.admin-route .btn-primary,
body.admin-route .wp-admin-toplink.primary,
body.admin-route button[type='submit'].btn,
body.admin-route button[type='submit'].small-btn {
  background: linear-gradient(135deg, var(--mehub-accent, #b51f29), var(--mehub-accent-2, #f04b28)) !important;
  border-color: rgba(240,75,40,.76) !important;
  color: #fff !important;
}

body.admin-route .btn-secondary,
body.admin-route .tiny-btn,
body.admin-route .small-btn,
body.admin-route .cms-editor-toolbar .small-btn,
body.admin-route .cms-quick-add,
body.admin-route .wp-admin-toplink,
body.admin-route .wp-admin-user {
  background: rgba(255,255,255,.060) !important;
  border-color: rgba(255,255,255,.14) !important;
  color: var(--wp-admin-text) !important;
}

body.admin-route .btn-secondary:hover,
body.admin-route .tiny-btn:hover,
body.admin-route .small-btn:hover,
body.admin-route .cms-editor-toolbar .small-btn:hover,
body.admin-route .cms-quick-add:hover,
body.admin-route .wp-admin-toplink:hover,
body.admin-route .site-controller-tab:hover,
body.admin-route .content-picker-item:hover,
body.admin-route .domain-selector-tab:hover,
body.admin-route .wp-page-tab:hover,
body.admin-route .domain-selector-tab.active,
body.admin-route .wp-page-tab.active,
body.admin-route .site-controller-tab.active,
body.admin-route .content-picker-item.active {
  background: rgba(240,75,40,.105) !important;
  border-color: rgba(240,75,40,.30) !important;
  color: #fff !important;
}

body.admin-route table,
body.admin-route thead,
body.admin-route tbody,
body.admin-route tr,
body.admin-route th,
body.admin-route td {
  background: transparent !important;
  color: var(--wp-admin-text) !important;
  border-color: rgba(255,255,255,.09) !important;
}

body.admin-route th {
  background: rgba(255,255,255,.055) !important;
  color: rgba(248,247,244,.82) !important;
}

body.admin-route tr:hover td {
  background: rgba(240,75,40,.07) !important;
}

body.admin-route .status-pill,
body.admin-route .badge {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.12) !important;
  color: var(--wp-admin-text) !important;
}

body.admin-route .status-pill.success,
body.admin-route .badge-published {
  background: rgba(57,217,138,.18) !important;
  border-color: rgba(57,217,138,.28) !important;
  color: #7cf5b4 !important;
}

body.admin-route .status-pill.warning {
  background: rgba(247,185,85,.18) !important;
  border-color: rgba(247,185,85,.30) !important;
  color: #ffd68b !important;
}

body.admin-route .notice,
body.admin-route .alert {
  border-left-color: var(--wp-admin-blue) !important;
}

body.admin-route .notice-success,
body.admin-route .alert-success {
  border-left-color: var(--wp-admin-green) !important;
}

body.admin-route .notice-error,
body.admin-route .alert-error {
  border-left-color: var(--wp-admin-red) !important;
}

/* v1.10.57 — Admin dark polish completion + smaller guided event setup */
body.admin-route .wp-card,
body.admin-route .wp-page-section-stack,
body.admin-route .wp-page-section-card,
body.admin-route .wp-page-section-head,
body.admin-route .wp-section-editor-intro,
body.admin-route .wp-section-jump-list a,
body.admin-route .wp-editor-box,
body.admin-route .wp-editor-tabs,
body.admin-route .wp-editor-tab,
body.admin-route .wp-visual-preview,
body.admin-route .cms-editor-toolbar,
body.admin-route .cms-editor-quicklinks,
body.admin-route .sponsor-control-panel-compact .sponsor-placement-card,
body.admin-route .compact-switch-row,
body.admin-route .sponsor-preview-card,
body.admin-route .sponsor-preview-creative,
body.admin-route .sponsor-preview-empty,
body.admin-route .form-section-block,
body.admin-route .preference-box,
body.admin-route .detail-list,
body.admin-route .compact-detail-list,
body.admin-route .mobile-cards,
body.admin-route .stacked-form,
body.admin-route .section-head,
body.admin-route .admin-actions-row,
body.admin-route .footer-sponsor-slot,
body.admin-route .footer-sponsor-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    rgba(18,22,29,.96) !important;
  border-color: rgba(255,255,255,.105) !important;
  color: var(--wp-admin-text, #f8f7f4) !important;
  box-shadow: none !important;
}

body.admin-route .wp-page-section-head,
body.admin-route .wp-editor-tabs,
body.admin-route .cms-editor-toolbar,
body.admin-route .cms-editor-quicklinks,
body.admin-route .section-head,
body.admin-route .sponsor-preview-slot-label,
body.admin-route .sponsor-preview-stats,
body.admin-route .wp-section-editor-intro {
  background: rgba(255,255,255,.040) !important;
}

body.admin-route .wp-editor-tab.active,
body.admin-route .wp-editor-tab:hover,
body.admin-route .wp-section-jump-list a:hover,
body.admin-route .compact-switch-row:hover,
body.admin-route .sponsor-preview-card:hover {
  background: rgba(240,75,40,.105) !important;
  border-color: rgba(240,75,40,.30) !important;
  color: #fff !important;
}

body.admin-route .compact-switch,
body.admin-route .sponsor-preview-creative img,
body.admin-route .sponsor-logo-large,
body.admin-route .sponsor-logo-large img,
body.admin-route .sponsor-portal-logo,
body.admin-route .qr-card img {
  background: rgba(6,8,12,.82) !important;
  border-color: rgba(255,255,255,.14) !important;
}

body.admin-route .compact-switch::after {
  background: #f8f7f4 !important;
}

body.admin-route .compact-switch-row input:checked + .compact-switch {
  background: linear-gradient(135deg, var(--mehub-accent, #b51f29), var(--mehub-accent-2, #f04b28)) !important;
  border-color: rgba(240,75,40,.82) !important;
}

body.admin-route .wp-page-section-head h3,
body.admin-route .wp-section-editor-intro strong,
body.admin-route .wp-edit-field header h3,
body.admin-route .compact-switch-copy strong,
body.admin-route .sponsor-preview-card strong,
body.admin-route .form-section-block h2,
body.admin-route .section-head h2 {
  color: var(--wp-admin-text, #f8f7f4) !important;
}

body.admin-route .wp-page-section-head p,
body.admin-route .wp-section-editor-intro p,
body.admin-route .wp-edit-field header p,
body.admin-route .compact-switch-copy small,
body.admin-route .sponsor-preview-card p,
body.admin-route .sponsor-preview-card span,
body.admin-route .sponsor-preview-stats,
body.admin-route .sponsor-preview-empty {
  color: var(--wp-admin-muted, #aeb7c7) !important;
}

body.admin-route .wp-field-type,
body.admin-route .sponsor-preview-slot-label span {
  background: rgba(240,75,40,.12) !important;
  border: 1px solid rgba(240,75,40,.24) !important;
  color: #ffb199 !important;
}

/* Smaller, more elegant guided event setup */
.event-wizard-shell.compact-event-wizard {
  padding: 12px 14px !important;
  margin: 10px 0 12px !important;
  border-radius: 18px !important;
}

.compact-wizard-top {
  gap: 10px !important;
  align-items: start !important;
}

.compact-wizard-title .eyebrow {
  margin-bottom: 2px !important;
  font-size: .68rem !important;
  letter-spacing: .12em !important;
}

.compact-wizard-title h2 {
  font-size: clamp(1.05rem, 1.8vw, 1.28rem) !important;
  margin: 0 0 2px !important;
}

.compact-wizard-title p:last-child {
  font-size: .82rem !important;
  line-height: 1.35 !important;
}

.compact-actions .btn,
.compact-actions .small-btn {
  min-height: 32px !important;
  padding: 7px 10px !important;
  font-size: .78rem !important;
  border-radius: 999px !important;
}

.compact-readiness {
  padding: 8px 10px !important;
  margin: 8px 0 7px !important;
  border-radius: 13px !important;
}

.compact-readiness .readiness-meter-top {
  font-size: .82rem !important;
  margin-bottom: 5px !important;
}

.compact-readiness .readiness-bar,
.compact-progress {
  height: 6px !important;
  border-radius: 999px !important;
}

.compact-readiness-details {
  margin: 7px 0 !important;
  border-radius: 13px !important;
}

.compact-readiness-details summary {
  min-height: 34px !important;
  padding: 7px 10px !important;
  font-size: .84rem !important;
}

.compact-helper {
  margin: 7px 9px 8px !important;
  padding: 8px 10px !important;
  font-size: .82rem !important;
  line-height: 1.35 !important;
}

.setup-section-map {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 8px !important;
  margin: 9px 0 12px !important;
}

.setup-section-card {
  min-height: auto !important;
  gap: 8px !important;
  padding: 10px 11px !important;
  border-radius: 14px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.020)),
    rgba(18,22,29,.90) !important;
  border-color: rgba(255,255,255,.105) !important;
  color: var(--text, #f8f7f4) !important;
  box-shadow: 0 8px 26px rgba(0,0,0,.18) !important;
}

.setup-section-card:hover {
  transform: translateY(-1px) !important;
  background: rgba(240,75,40,.10) !important;
  border-color: rgba(240,75,40,.32) !important;
}

.setup-section-card span {
  min-width: 0 !important;
}

.setup-section-card strong {
  margin-bottom: 2px !important;
  font-size: .88rem !important;
  line-height: 1.15 !important;
  color: var(--text, #f8f7f4) !important;
}

.setup-section-card small {
  font-size: .73rem !important;
  line-height: 1.25 !important;
  color: var(--muted, #aeb7c7) !important;
}

.setup-section-card em {
  padding: 3px 7px !important;
  font-size: .62rem !important;
  letter-spacing: .05em !important;
  background: rgba(255,255,255,.075) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: var(--muted, #aeb7c7) !important;
}

.setup-section-card.state-complete em,
.setup-section-card.state-enabled em,
.setup-section-card.state-published em {
  background: rgba(57,217,138,.16) !important;
  border-color: rgba(57,217,138,.25) !important;
  color: #7cf5b4 !important;
}

.setup-section-card.state-needs-attention em,
.setup-section-card.state-needs-review em {
  background: rgba(247,185,85,.16) !important;
  border-color: rgba(247,185,85,.28) !important;
  color: #ffd68b !important;
}

.setup-section-card.state-optional em {
  background: rgba(120,150,255,.15) !important;
  border-color: rgba(120,150,255,.25) !important;
  color: #b9c7ff !important;
}

.compact-step-row {
  margin-top: 4px !important;
  gap: 8px !important;
}

.compact-step-nav {
  gap: 6px !important;
}

.compact-step-nav .wizard-step-button,
.editor-section-nav.compact-step-nav a {
  min-height: 32px !important;
  padding: 6px 10px !important;
  font-size: .78rem !important;
  border-radius: 999px !important;
}

.wizard-step-counter {
  font-size: .76rem !important;
}

@media (max-width: 760px) {
  .compact-wizard-top,
  .compact-step-row {
    grid-template-columns: 1fr !important;
  }
  .compact-actions {
    justify-content: flex-start !important;
  }
  .setup-section-map {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .setup-section-card {
    display: grid !important;
  }
}

@media (max-width: 430px) {
  .setup-section-map {
    grid-template-columns: 1fr !important;
  }
}

/* v1.10.58 guided setup option B: compact left rail + workspace */
.guided-setup-layout {
  display: grid !important;
  grid-template-columns: minmax(230px, 280px) minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
  margin-top: 10px !important;
}

.setup-section-map.setup-rail {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 10px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at top left, rgba(240,75,40,.12), transparent 48%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.020)),
    rgba(15,19,26,.94) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 18px 45px rgba(0,0,0,.20) !important;
}

.setup-rail-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 2px 4px 8px !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  margin-bottom: 2px !important;
  color: var(--muted, #aeb7c7) !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}

.setup-rail-head strong {
  color: var(--text, #f8f7f4) !important;
  letter-spacing: .02em !important;
}

.setup-section-card.setup-rail-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  min-height: 0 !important;
  padding: 9px 10px !important;
  gap: 9px !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,.035) !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  color: var(--text, #f8f7f4) !important;
  box-shadow: none !important;
}

.setup-section-card.setup-rail-item:hover {
  transform: translateX(2px) !important;
  background: rgba(240,75,40,.12) !important;
  border-color: rgba(240,75,40,.30) !important;
}

.setup-section-card.setup-rail-item strong {
  display: block !important;
  margin: 0 !important;
  color: var(--text, #f8f7f4) !important;
  font-size: .86rem !important;
  line-height: 1.12 !important;
}

.setup-section-card.setup-rail-item small {
  display: block !important;
  margin-top: 2px !important;
  color: var(--muted, #aeb7c7) !important;
  font-size: .68rem !important;
  line-height: 1.2 !important;
  max-width: 100% !important;
}

.setup-section-card.setup-rail-item em {
  justify-self: end !important;
  white-space: nowrap !important;
  padding: 3px 7px !important;
  border-radius: 999px !important;
  font-size: .58rem !important;
  line-height: 1 !important;
}

.guided-setup-main {
  min-width: 0 !important;
  display: grid !important;
  gap: 8px !important;
}

.guided-setup-main .compact-step-row {
  margin-top: 0 !important;
  padding: 10px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.03) !important;
}

.guided-setup-main .compact-progress {
  margin-top: 0 !important;
}

.event-wizard-shell.compact-event-wizard {
  padding-bottom: 12px !important;
}

@media (max-width: 900px) {
  .guided-setup-layout {
    grid-template-columns: 1fr !important;
  }
  .setup-section-map.setup-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .setup-rail-head {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 560px) {
  .setup-section-map.setup-rail {
    grid-template-columns: 1fr !important;
  }
  .setup-section-card.setup-rail-item small {
    display: none !important;
  }
}

/* v1.10.59 guided setup two-pane fix: left checklist controls the right workspace */
.full-height-event-wizard {
  position: relative !important;
  top: auto !important;
  z-index: 5 !important;
  margin: 10px 0 18px !important;
  padding: 14px !important;
  overflow: visible !important;
}

.guided-setup-two-pane {
  display: grid !important;
  grid-template-columns: minmax(220px, 292px) minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
}

.guided-setup-two-pane .setup-rail {
  position: sticky !important;
  top: 84px !important;
  align-self: start !important;
  max-height: calc(100vh - 112px) !important;
  overflow: auto !important;
  scrollbar-width: thin !important;
}

.guided-setup-two-pane .setup-section-card.setup-rail-item {
  appearance: none !important;
  width: 100% !important;
  text-align: left !important;
  cursor: pointer !important;
}

.guided-setup-two-pane .setup-section-card.setup-rail-item.is-active {
  background:
    linear-gradient(135deg, rgba(181,31,41,.32), rgba(240,75,40,.18)),
    rgba(255,255,255,.045) !important;
  border-color: rgba(240,75,40,.55) !important;
  box-shadow: inset 3px 0 0 var(--brand-red-bright), 0 14px 30px rgba(0,0,0,.20) !important;
}

.guided-setup-workspace {
  min-width: 0 !important;
  display: grid !important;
  gap: 12px !important;
}

.guided-setup-workspace .guided-setup-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .45fr) !important;
  gap: 10px !important;
  align-items: stretch !important;
}

.guided-setup-workspace .readiness-details,
.guided-setup-workspace .readiness-meter,
.guided-setup-workspace .wizard-workspace-status {
  margin: 0 !important;
}

.wizard-workspace-status {
  display: grid !important;
  gap: 8px !important;
  align-content: center !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.03) !important;
}

.guided-setup-workspace .wizard-form,
.guided-setup-workspace > .wizard-panel,
.guided-setup-workspace > .management-grid,
.guided-setup-workspace > .form-card {
  min-width: 0 !important;
}

.guided-setup-workspace .wizard-panel,
.guided-setup-workspace .wizard-extra-panel {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
}

.guided-setup-workspace .editor-grid {
  display: block !important;
}

.guided-setup-workspace .management-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 12px !important;
}

.guided-setup-workspace .form-card,
.guided-setup-workspace .editor-panel {
  box-shadow: 0 18px 48px rgba(0,0,0,.22) !important;
}

@media (max-width: 1020px) {
  .guided-setup-two-pane {
    grid-template-columns: 1fr !important;
  }
  .guided-setup-two-pane .setup-rail {
    position: relative !important;
    top: auto !important;
    max-height: none !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .guided-setup-two-pane .setup-rail-head {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 680px) {
  .guided-setup-workspace .guided-setup-main {
    grid-template-columns: 1fr !important;
  }
  .guided-setup-two-pane .setup-rail {
    grid-template-columns: 1fr !important;
  }
}

/* v1.10.59 organizer event buckets */
.organizer-event-buckets {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
}
.organizer-event-buckets a,
.organizer-event-buckets span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  color: var(--muted);
  font-size: .82rem;
  font-weight: 800;
  text-decoration: none;
}
.organizer-event-buckets a:hover,
.organizer-event-buckets a.is-active {
  color: #fff;
  border-color: rgba(240,75,40,.42);
  background: rgba(240,75,40,.16);
}
.organizer-event-buckets strong { color: var(--text); }

/* v1.10.60 organizer setup refinements */
.privacy-microcopy {
  margin: .65rem 0 .75rem;
  padding: .55rem .75rem;
  border: 1px solid rgba(96, 165, 250, .35);
  border-radius: 12px;
  background: rgba(30, 64, 175, .16);
  color: var(--text-muted, #c9d7f3);
  font-size: .86rem;
  line-height: 1.35;
}
.privacy-microcopy strong { color: #f7fbff; }
.choice-card .privacy-microcopy { max-width: 760px; }
#section-basic .choice-card.rider-management-option-card,
#section-basic .choice-card.checkin-option-card {
  padding: .95rem 1rem;
  margin: .85rem 0;
}
#section-basic .choice-card.rider-management-option-card > p.muted,
#section-basic .choice-card.checkin-option-card > p.muted {
  margin: .4rem 0 .25rem;
}
#section-sponsors .sponsor-editor-row label input[type="file"] {
  padding: .75rem;
  background: rgba(5, 10, 18, .72);
  border: 1px dashed rgba(148, 163, 184, .45);
}
#section-sponsors .sponsor-logo-mini {
  margin-top: .75rem;
  max-width: 220px;
  padding: .65rem;
  border: 1px solid rgba(148, 163, 184, .20);
  border-radius: 14px;
  background: rgba(5, 10, 18, .38);
}
#section-sponsors .sponsor-logo-mini img {
  display: block;
  max-width: 100%;
  max-height: 92px;
  object-fit: contain;
}

/* v1.10.62 events page discovery links */
.events-discovery-panel {
  width: 100%;
  margin: 0 0 0.85rem;
  padding: 0.9rem 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.92), rgba(17, 24, 39, 0.86));
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.18);
}
.events-discovery-panel h2 {
  margin: 0.08rem 0 0.15rem;
  font-size: clamp(1.1rem, 2vw, 1.55rem);
}
.events-discovery-panel p { margin: 0; }
.events-discovery-links {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.55rem;
}
.events-discovery-links .btn {
  white-space: nowrap;
}
@media (max-width: 760px) {
  .events-discovery-panel {
    flex-direction: column;
    align-items: stretch;
  }
  .events-discovery-links {
    justify-content: flex-start;
  }
}

/* v1.10.95: left-rail public event cards */
.side-rail-sponsor-section,
.side-rail-contact-card {
  margin-top: 14px;
}
.side-rail-sponsor-grid {
  display: grid;
  grid-template-columns: 1fr;
}
.side-rail-sponsor-section .compact-sponsor-card {
  grid-template-columns: 64px 1fr;
}
.side-rail-sponsor-section .poster-sponsor-logo {
  width: 64px;
  height: 52px;
}
.full-width-legal-card {
  margin-top: 18px;
}

/* v1.10.96: make full-width safety/disclaimer/reporting match Event Updates card sizing */
.full-width-legal-card {
  width: auto;
  margin: 18px clamp(14px, 2vw, 22px) clamp(14px, 2vw, 22px);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 24px;
  background: rgba(17,24,39,.72);
  box-shadow: none;
}
.full-width-legal-card > summary {
  padding: 18px 22px;
}
.full-width-legal-card[open] {
  padding-bottom: 0;
}
.full-width-legal-card .compact-legal-grid,
.full-width-legal-card .report-details,
.full-width-legal-card > .btn {
  margin-left: 22px;
  margin-right: 22px;
}
.full-width-legal-card .compact-legal-grid {
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.14);
}
.full-width-legal-card .nested-details {
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.14);
  padding: 10px 12px;
}

/* v1.10.98: public side-rail event-hour weather */
.side-rail-weather-card {
  margin-top: 14px;
}
.side-rail-weather-card .section-head.compact {
  display: block;
}
.side-rail-weather-card .badge-weather {
  display: inline-flex;
  margin-top: 8px;
}
.side-rail-weather-grid {
  grid-template-columns: 1fr;
}
.side-rail-weather-grid div {
  grid-template-columns: 64px 1fr;
  align-items: center;
}
.side-rail-weather-grid div strong,
.side-rail-weather-grid div span,
.side-rail-weather-grid div em,
.side-rail-weather-grid div small {
  display: block;
}

/* v1.10.99: clean side-rail weather layout */
.side-rail-weather-card .eyebrow,
.side-rail-weather-card .badge-weather {
  display: none !important;
}
.side-rail-weather-card .section-head.compact {
  display: block;
  margin-bottom: 12px;
}
.side-rail-weather-card h2 {
  margin-bottom: 8px;
}
.side-rail-weather-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.side-rail-weather-grid .weather-hour-row {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 14px 12px;
}
.weather-hour-main {
  display: grid;
  gap: 4px;
}
.weather-hour-main strong,
.weather-hour-main span {
  display: block;
  line-height: 1.15;
}
.weather-hour-detail {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.weather-hour-detail em,
.weather-hour-detail small {
  display: block;
  line-height: 1.28;
  white-space: normal;
  word-break: normal;
}

/* v1.10.100: final side-rail weather row layout override */
.side-rail-weather-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

.side-rail-weather-grid .weather-hour-row {
  display: grid !important;
  grid-template-columns: 72px 64px minmax(0, 1fr) 66px !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 14px !important;
  border-radius: 16px !important;
  background: rgba(0,0,0,.18) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}

.side-rail-weather-grid .weather-hour-row > * {
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
}

.side-rail-weather-grid .weather-hour-main,
.side-rail-weather-grid .weather-hour-detail {
  display: contents !important;
}

.side-rail-weather-grid .weather-hour-main strong,
.side-rail-weather-grid .weather-hour-main span,
.side-rail-weather-grid .weather-hour-detail em,
.side-rail-weather-grid .weather-hour-detail small {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

.side-rail-weather-grid .weather-hour-main strong {
  grid-column: 1 !important;
  font-weight: 900 !important;
}

.side-rail-weather-grid .weather-hour-main span {
  grid-column: 2 !important;
  color: var(--accent) !important;
  font-weight: 900 !important;
}

.side-rail-weather-grid .weather-hour-detail em {
  grid-column: 3 !important;
  font-style: normal !important;
  color: var(--text) !important;
}

.side-rail-weather-grid .weather-hour-detail small {
  grid-column: 4 !important;
  color: var(--muted) !important;
  text-align: right !important;
}

@media (max-width: 460px) {
  .side-rail-weather-grid .weather-hour-row {
    grid-template-columns: 64px 58px minmax(0, 1fr) !important;
  }
  .side-rail-weather-grid .weather-hour-detail small {
    grid-column: 3 !important;
    text-align: left !important;
  }
}

/* v1.10.101: mobile-only public event page order */
.mobile-flyer-link-text {
  display: none;
}

@media (max-width: 899px) {
  .event-detail-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  .event-side-rail,
  .event-main-flow {
    display: contents !important;
  }

  .event-summary-strip {
    display: none !important;
  }

  .compact-flyer {
    order: 1 !important;
    display: block !important;
    padding: 0 !important;
    text-decoration: none !important;
  }

  .compact-flyer img {
    display: none !important;
  }

  .compact-flyer .mobile-flyer-link-text {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 54px !important;
    padding: 14px 16px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    background: rgba(17,24,39,.78) !important;
    color: var(--text) !important;
    font-weight: 900 !important;
  }

  .compact-flyer-placeholder {
    order: 1 !important;
  }

  .compact-overview-card {
    order: 2 !important;
  }

  .mobile-registration-card {
    order: 3 !important;
  }

  #route {
    order: 4 !important;
  }

  .side-rail-sponsor-section {
    order: 5 !important;
  }

  #interest {
    order: 6 !important;
  }

  .compact-share-card {
    order: 7 !important;
  }

  .side-rail-weather-card {
    order: 8 !important;
  }

  #route-export {
    order: 9 !important;
  }

  .compact-checkin-card {
    order: 10 !important;
  }

  .weather-alert-card {
    order: 11 !important;
  }

  .compact-gallery-card {
    order: 12 !important;
  }

  .side-rail-contact-card,
  .event-main-flow > .compact-card-block:not(.mobile-registration-card):not(#route-export) {
    order: 13 !important;
  }

  .compact-overview-card .section-head.compact {
    gap: 10px !important;
  }

  .compact-overview-card .section-head.compact .small-btn {
    width: 100% !important;
  }
}

/* v1.10.102: stronger mobile public event layout + responsive sponsor logos */
@media (max-width: 1100px) {
  .event-compact-shell .event-detail-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  .event-compact-shell .event-side-rail,
  .event-compact-shell .event-main-flow,
  .event-compact-shell .event-detail-sections {
    display: contents !important;
  }

  .event-compact-shell .event-summary-strip {
    display: none !important;
  }

  .event-compact-shell .compact-flyer {
    order: 1 !important;
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-decoration: none !important;
  }

  .event-compact-shell .compact-flyer img {
    display: none !important;
  }

  .event-compact-shell .compact-flyer .mobile-flyer-link-text {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 56px !important;
    padding: 14px 16px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    background: rgba(17,24,39,.78) !important;
    color: var(--text) !important;
    font-weight: 900 !important;
  }

  .event-compact-shell .compact-flyer-placeholder {
    order: 1 !important;
  }

  .event-compact-shell .compact-overview-card {
    order: 2 !important;
  }

  .event-compact-shell .mobile-registration-card {
    order: 3 !important;
  }

  .event-compact-shell #route {
    order: 4 !important;
  }

  .event-compact-shell .side-rail-sponsor-section {
    order: 5 !important;
  }

  .event-compact-shell #interest {
    order: 6 !important;
  }

  .event-compact-shell .compact-share-card {
    order: 7 !important;
  }

  .event-compact-shell .side-rail-weather-card {
    order: 8 !important;
  }

  .event-compact-shell #route-export {
    order: 9 !important;
  }

  .event-compact-shell .compact-checkin-card {
    order: 10 !important;
  }

  .event-compact-shell .weather-alert-card {
    order: 11 !important;
  }

  .event-compact-shell .compact-gallery-card {
    order: 12 !important;
  }

  .event-compact-shell .side-rail-contact-card,
  .event-compact-shell .event-main-flow > .compact-card-block:not(.mobile-registration-card):not(#route-export) {
    order: 90 !important;
  }

  .event-compact-shell .compact-overview-card .section-head.compact {
    gap: 10px !important;
  }

  .event-compact-shell .compact-overview-card .section-head.compact .small-btn {
    width: 100% !important;
  }
}

/* Responsive sponsor logo sizing across devices */
.poster-sponsor-logo,
.compact-sponsor-card .poster-sponsor-logo,
.side-rail-sponsor-section .poster-sponsor-logo {
  width: clamp(58px, 12vw, 92px) !important;
  height: clamp(48px, 9vw, 72px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.poster-sponsor-logo img,
.compact-sponsor-card .poster-sponsor-logo img,
.side-rail-sponsor-section .poster-sponsor-logo img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

.poster-sponsor-card,
.compact-sponsor-card {
  grid-template-columns: clamp(58px, 12vw, 92px) minmax(0, 1fr) !important;
  align-items: center !important;
}

@media (max-width: 520px) {
  .poster-sponsor-card,
  .compact-sponsor-card {
    grid-template-columns: 54px minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  .poster-sponsor-logo,
  .compact-sponsor-card .poster-sponsor-logo,
  .side-rail-sponsor-section .poster-sponsor-logo {
    width: 54px !important;
    height: 46px !important;
  }

  .compact-sponsor-grid,
  .side-rail-sponsor-grid {
    grid-template-columns: 1fr !important;
  }
}

/* v1.10.103: mobile rider floating QR and stop check-in */
.mobile-rider-floating-actions,
.mobile-rider-overlay {
  display: none;
}

@media (max-width: 899px) {
  .mobile-rider-floating-actions {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    z-index: 950;
    display: flex;
    justify-content: center;
    gap: 10px;
    pointer-events: none;
  }

  .mobile-float-btn {
    pointer-events: auto;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    padding: 13px 16px;
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
    color: #fff;
    font-weight: 900;
    box-shadow: 0 14px 38px rgba(0,0,0,.38);
  }

  .mobile-stop-checkin-btn {
    background: linear-gradient(135deg, #059669, #22c55e);
  }

  .mobile-rider-overlay {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: 18px;
    background: rgba(0,0,0,.72);
    backdrop-filter: blur(8px);
  }

  .mobile-rider-overlay[hidden] {
    display: none !important;
  }

  .mobile-rider-modal {
    position: relative;
    width: min(100%, 380px);
    max-height: calc(100vh - 40px);
    overflow: auto;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 24px;
    background: rgba(17,24,39,.98);
    box-shadow: 0 24px 70px rgba(0,0,0,.58);
    padding: 24px 18px 18px;
    text-align: center;
  }

  .mobile-rider-modal h2 {
    margin: 0 34px 8px;
  }

  .mobile-rider-modal img {
    display: block;
    width: min(100%, 300px);
    height: auto;
    margin: 16px auto 0;
    border-radius: 18px;
    background: #fff;
    padding: 12px;
  }

  .mobile-modal-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(0,0,0,.35);
    color: #fff;
    font-size: 24px;
    line-height: 1;
    font-weight: 900;
  }

  body:has(.mobile-rider-floating-actions) {
    padding-bottom: 78px;
  }
}

/* v1.10.103: command center check-in privacy status */
.command-stop-checkins {
  margin-top: 16px;
}
.command-stop-checkin-list div strong {
  color: #bbf7d0;
}
.command-stop-checkin-list div small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}

/* v1.10.104: My Events manage button + Event Manager naming */
.tiny-btn-primary {
  background: linear-gradient(135deg, var(--accent), var(--accent-2)) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.18) !important;
}

/* v1.10.105: login assistant card + responsive Event Manager */
.auth-split-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: clamp(18px, 3vw, 34px);
  width: min(980px, 100%);
  margin: 0 auto;
  align-items: start;
}

.assistant-login-card {
  border-color: rgba(96,165,250,.28);
}

.assistant-login-card h2 {
  margin: 0 0 10px;
}

.command-center-grid {
  align-items: start;
}

.command-center-list .admin-table compact-table,
.command-center-list table {
  min-width: 860px;
}

@media (max-width: 900px) {
  .auth-split-grid {
    grid-template-columns: 1fr;
  }

  .command-center-title {
    display: grid !important;
    gap: 14px !important;
  }

  .command-center-title .button-stack {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .command-center-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .command-center-grid,
  .management-grid.command-center-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .command-center-list .table-scroll,
  .form-card .table-scroll {
    overflow-x: visible !important;
  }

  .command-center-list table,
  .command-center-list thead,
  .command-center-list tbody,
  .command-center-list tr,
  .command-center-list th,
  .command-center-list td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .command-center-list thead {
    display: none !important;
  }

  .command-center-list tr {
    margin-bottom: 12px !important;
    padding: 12px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 18px !important;
    background: rgba(0,0,0,.16) !important;
  }

  .command-center-list td {
    border: 0 !important;
    padding: 8px 0 !important;
  }

  .command-center-list td form.inline-form,
  .command-center-list .compact-inline-form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .command-center-list select,
  .command-center-list input,
  .command-center-list .tiny-input,
  .command-center-list .small-btn {
    width: 100% !important;
  }

  .command-stop-checkin-list {
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 901px) {
  .command-center-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* v1.10.106: QR rider/passenger check-in confirmation */
.qr-checkin-card {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

.qr-checkin-person {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.qr-checkin-person div,
.qr-checkin-box {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: rgba(0,0,0,.14);
  padding: 14px;
}

.qr-checkin-person span {
  display: block;
  color: var(--muted);
  font-size: .85rem;
  margin-bottom: 4px;
}

.qr-checkin-person strong {
  font-size: 1.15rem;
}

.qr-checkin-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.qr-checkin-box {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 900;
  cursor: pointer;
}

.qr-checkin-box input {
  width: 22px;
  height: 22px;
  accent-color: var(--accent);
}

.qr-checkin-form [data-qr-finalize]:disabled {
  opacity: .48;
  cursor: not-allowed;
}

@media (max-width: 720px) {
  .qr-checkin-person,
  .qr-checkin-grid {
    grid-template-columns: 1fr;
  }

  .qr-checkin-box {
    min-height: 58px;
  }
}

/* v1.10.107: account claim flow */
.claim-event-list {
  display: grid;
  gap: 10px;
  margin: 14px 0 18px;
}

.claim-event-list article {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background: rgba(0,0,0,.14);
  padding: 12px;
}

.claim-event-list strong,
.claim-event-list span,
.claim-event-list small {
  display: block;
}

.claim-event-list span,
.claim-event-list small {
  color: var(--muted);
  margin-top: 4px;
}

.claim-confirm-card {
  max-width: 620px;
}

/* v1.10.108: poker scorecard overlay */
.poker-overlay {
  position: fixed;
  inset: 0;
  z-index: 1250;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(0,0,0,.76);
  backdrop-filter: blur(8px);
}
.poker-overlay[hidden] {
  display: none !important;
}
.poker-modal {
  position: relative;
  width: min(96vw, 1120px);
  max-height: 92vh;
  overflow: auto;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 24px;
  background: rgba(17,24,39,.98);
  padding: 22px;
  box-shadow: 0 28px 80px rgba(0,0,0,.6);
}
.poker-scorecard-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
  margin-right: 46px;
}
.poker-card-switcher {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.poker-switch-btn.is-active {
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  color: #fff;
}
.poker-scorecard-name-row {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  margin: 14px 0;
  font-size: 1.05rem;
}
.poker-scorecard-grid {
  display: grid;
  grid-template-columns: 74px repeat(13, minmax(48px, 1fr));
  border: 2px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.06);
  min-width: 820px;
}
.poker-grid-corner,
.poker-rank-head,
.poker-suit-head,
.poker-card-cell {
  min-height: 56px;
  border: 1px solid rgba(255,255,255,.42);
  display: grid;
  place-items: center;
  background: rgba(0,0,0,.16);
}
.poker-rank-head {
  font-size: 1.55rem;
  font-weight: 950;
}
.poker-suit-head {
  font-size: 2rem;
  font-weight: 950;
}
.poker-suit-head.suit-hearts,
.poker-suit-head.suit-diamonds {
  color: #ef4444;
}
.poker-card-cell input {
  width: 32px;
  height: 32px;
  accent-color: var(--accent);
}
.poker-card-cell:has(input:checked) {
  background: rgba(34,197,94,.23);
  box-shadow: inset 0 0 0 2px rgba(34,197,94,.5);
}
.poker-card-cell:has(input:disabled) {
  opacity: .74;
}
.poker-modal-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
}
@media (max-width: 900px) {
  .poker-modal {
    padding: 18px 12px;
  }
  .poker-scorecard-head,
  .poker-modal-actions {
    display: grid;
  }
  .poker-scorecard-grid {
    min-width: 720px;
    grid-template-columns: 58px repeat(13, 48px);
  }
  .poker-grid-corner,
  .poker-rank-head,
  .poker-suit-head,
  .poker-card-cell {
    min-height: 48px;
  }
  .poker-rank-head {
    font-size: 1.2rem;
  }
}

/* v1.10.109: mobile-first manual rider/passenger check-in overlay */
.manual-checkin-overlay {
  position: fixed;
  inset: 0;
  z-index: 1240;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(0,0,0,.74);
  backdrop-filter: blur(8px);
}
.manual-checkin-overlay[hidden] {
  display: none !important;
}
.manual-checkin-modal {
  position: relative;
  width: min(96vw, 620px);
  max-height: 92vh;
  overflow: auto;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 24px;
  background: rgba(17,24,39,.98);
  padding: 24px 18px 18px;
  box-shadow: 0 28px 80px rgba(0,0,0,.6);
}
.manual-checkin-start {
  align-items: end;
}
.qr-card-count-box input[type="number"] {
  width: 84px;
  margin-left: auto;
}
@media (max-width: 720px) {
  .manual-checkin-modal {
    width: min(100%, 430px);
    padding: 22px 14px 16px;
  }
  .manual-checkin-start {
    grid-template-columns: 1fr !important;
  }
  .manual-checkin-start .span-2,
  .manual-checkin-start label {
    grid-column: auto !important;
  }
}

/* v1.10.110: Event Manager participant/card summary table */
.event-manager-summary-card {
  margin-top: 16px;
}

.event-manager-summary-table td strong {
  font-size: clamp(1.45rem, 4vw, 2.2rem);
  line-height: 1;
}

@media (max-width: 720px) {
  .event-manager-summary-card .table-scroll {
    overflow-x: visible !important;
  }

  .event-manager-summary-table,
  .event-manager-summary-table thead,
  .event-manager-summary-table tbody,
  .event-manager-summary-table tr,
  .event-manager-summary-table th,
  .event-manager-summary-table td {
    display: block !important;
    width: 100% !important;
  }

  .event-manager-summary-table thead {
    display: none !important;
  }

  .event-manager-summary-table tr {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    border: 0 !important;
    background: transparent !important;
  }

  .event-manager-summary-table td {
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 18px;
    background: rgba(0,0,0,.16);
    padding: 14px !important;
  }

  .event-manager-summary-table td::before {
    display: block;
    color: var(--muted);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 6px;
  }

  .event-manager-summary-table td:nth-child(1)::before { content: '# of riders'; }
  .event-manager-summary-table td:nth-child(2)::before { content: '# of passengers'; }
  .event-manager-summary-table td:nth-child(3)::before { content: 'Total participants'; }
  .event-manager-summary-table td:nth-child(4)::before { content: 'Total # of cards'; }
}


/* v1.10.111 poker-card image display and account links */
.account-link-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.poker-card-image-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}

.poker-card-image-panel {
  padding: 18px;
}

.poker-card-image-wrap {
  display: block;
  width: 100%;
}

.poker-card-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
  background: #f4f4f4;
  border: 1px solid rgba(255,255,255,.08);
}

[data-poker-grid] .poker-card-image {
  max-width: 100%;
  margin: 0 auto;
}

@media (max-width: 720px) {
  .poker-card-image-list {
    grid-template-columns: 1fr;
  }
}


/* v1.10.112: mobile-first Event Manager home */
.event-manager-home {
  margin-top: 16px;
}

.event-manager-action-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
}

.event-manager-action-card {
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 20px;
  background: rgba(0,0,0,.18);
  padding: 16px;
  color: var(--text);
  text-align: left;
  text-decoration: none;
  display: grid;
  gap: 6px;
  min-height: 104px;
  cursor: pointer;
}

.event-manager-action-card strong {
  font-size: 1.08rem;
}

.event-manager-action-card span {
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.25;
}

.event-manager-action-card:hover,
.event-manager-action-card:focus-visible {
  border-color: rgba(255,255,255,.24);
  transform: translateY(-1px);
}

.organizer-only-action {
  border-color: rgba(96,165,250,.28);
}

@media (max-width: 720px) {
  .event-manager-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .event-manager-action-card {
    min-height: 116px;
    padding: 14px;
  }
}


/* v1.10.115: Event Manager QR scanner overlay */
.qr-scanner-overlay {
  position: fixed;
  inset: 0;
  z-index: 1260;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(0,0,0,.78);
  backdrop-filter: blur(8px);
}

.qr-scanner-overlay[hidden] {
  display: none !important;
}

.qr-scanner-modal {
  position: relative;
  width: min(96vw, 560px);
  max-height: 92vh;
  overflow: auto;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 24px;
  background: rgba(17,24,39,.98);
  padding: 24px 18px 18px;
  box-shadow: 0 28px 80px rgba(0,0,0,.6);
}

.qr-scanner-video-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.14);
  background: #020617;
  aspect-ratio: 1 / 1;
  margin: 14px 0;
}

.qr-scanner-video-wrap video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.qr-scanner-frame {
  position: absolute;
  inset: 18%;
  border: 3px solid rgba(248,250,252,.82);
  border-radius: 18px;
  box-shadow: 0 0 0 999px rgba(0,0,0,.18);
  pointer-events: none;
}

.qr-scanner-fallback {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

@media (max-width: 720px) {
  .qr-scanner-modal {
    width: min(100%, 430px);
    padding: 22px 14px 16px;
  }
}


/* v1.10.116: Event Manager QR Check-in and assistant-code overlays */
.event-manager-home {
  margin-top: 16px;
}

.event-manager-action-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
}

.event-manager-action-card {
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 20px;
  background: rgba(0,0,0,.18);
  padding: 16px;
  color: var(--text);
  text-align: left;
  text-decoration: none;
  display: grid;
  gap: 6px;
  min-height: 104px;
  cursor: pointer;
}

.event-manager-action-card strong {
  font-size: 1.08rem;
}

.event-manager-action-card span {
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.25;
}

.primary-action-card {
  background: linear-gradient(135deg, rgba(220,38,38,.30), rgba(249,115,22,.20));
  border-color: rgba(248,113,113,.42);
}

.organizer-only-action {
  border-color: rgba(96,165,250,.28);
}

.qr-scanner-overlay,
.assistant-codes-overlay {
  position: fixed;
  inset: 0;
  z-index: 1260;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(0,0,0,.78);
  backdrop-filter: blur(8px);
}

.qr-scanner-overlay[hidden],
.assistant-codes-overlay[hidden] {
  display: none !important;
}

.qr-scanner-modal,
.assistant-codes-modal {
  position: relative;
  width: min(96vw, 620px);
  max-height: 92vh;
  overflow: auto;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 24px;
  background: rgba(17,24,39,.98);
  padding: 24px 18px 18px;
  box-shadow: 0 28px 80px rgba(0,0,0,.6);
}

.qr-scanner-video-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.14);
  background: #020617;
  aspect-ratio: 1 / 1;
  margin: 14px 0;
}

.qr-scanner-video-wrap video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.qr-scanner-frame {
  position: absolute;
  inset: 18%;
  border: 3px solid rgba(248,250,252,.82);
  border-radius: 18px;
  box-shadow: 0 0 0 999px rgba(0,0,0,.18);
  pointer-events: none;
}

.qr-scanner-fallback {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.assistant-code-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.assistant-code-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background: rgba(0,0,0,.16);
  padding: 12px;
}

.assistant-code-row span {
  display: block;
  margin-top: 3px;
}

@media (max-width: 720px) {
  .event-manager-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .event-manager-action-card {
    min-height: 116px;
    padding: 14px;
  }

  .qr-scanner-modal,
  .assistant-codes-modal {
    width: min(100%, 430px);
    padding: 22px 14px 16px;
  }

  .assistant-code-row {
    display: grid;
  }
}


/* v1.10.120: QR stop verification flow */
.qr-stop-verify-panel {
  display: grid;
  gap: 14px;
}

.qr-stop-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

.qr-stop-card {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background: rgba(0,0,0,.14);
  padding: 12px;
  display: grid;
  gap: 3px;
}

.qr-stop-card strong {
  color: var(--muted);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.qr-stop-card span {
  font-weight: 900;
  font-size: 1.05rem;
}

.qr-stop-card small {
  color: var(--muted);
}

.qr-stop-card.is-checked {
  border-color: rgba(34,197,94,.42);
  background: rgba(34,197,94,.12);
}

.qr-stop-card.is-checked span {
  color: #86efac;
}


/* v1.10.121: mobile vertical poker scorecard */
@media (max-width: 720px) {
  .poker-scorecard-grid.poker-scorecard-grid-mobile {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
    border: 0 !important;
    gap: 12px !important;
    background: transparent !important;
  }

  .poker-mobile-suit-group {
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    overflow: hidden;
    background: rgba(0,0,0,.16);
  }

  .poker-mobile-suit-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.06);
  }

  .poker-mobile-suit-heading span {
    font-size: 1.7rem;
    line-height: 1;
  }

  .poker-mobile-suit-heading strong {
    font-size: 1rem;
  }

  .poker-mobile-suit-group.suit-hearts .poker-mobile-suit-heading span,
  .poker-mobile-suit-group.suit-diamonds .poker-mobile-suit-heading span {
    color: #f87171;
  }

  .poker-mobile-card-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    padding: 12px;
  }

  .poker-mobile-card-cell {
    min-height: 52px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    background: rgba(255,255,255,.05);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 950;
    font-size: 1.08rem;
  }

  .poker-mobile-card-cell input {
    width: 24px;
    height: 24px;
    accent-color: var(--accent);
  }

  .poker-mobile-card-cell:has(input:checked) {
    background: rgba(34,197,94,.23);
    box-shadow: inset 0 0 0 2px rgba(34,197,94,.46);
  }

  .poker-modal {
    width: min(96vw, 520px) !important;
  }

  .poker-scorecard-head {
    margin-right: 38px;
  }
}

@media (max-width: 420px) {
  .poker-mobile-card-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}


/* v1.10.124: sitewide mobile rider floating actions */
.mobile-rider-floating-actions {
  display: none;
}

@media (max-width: 760px) {
  .mobile-rider-floating-actions {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom));
    z-index: 1200;
    display: flex;
    justify-content: center;
    gap: 10px;
    pointer-events: none;
  }

  .mobile-rider-floating-actions .mobile-float-btn {
    pointer-events: auto;
    box-shadow: 0 14px 34px rgba(0,0,0,.38);
    min-height: 46px;
    border-radius: 999px;
    padding: 0.8rem 1rem;
    font-weight: 900;
    text-decoration: none;
  }

  .mobile-rider-floating-actions .mobile-stop-checkin-btn {
    flex: 1 1 auto;
    max-width: 190px;
  }

  .mobile-rider-floating-actions [data-rider-qr-open] {
    flex: 0 0 auto;
  }

  body {
    padding-bottom: 76px;
  }
}

@media (min-width: 761px) {
  .mobile-rider-floating-actions,
  .mobile-rider-overlay {
    display: none !important;
  }
}


/* v1.10.124: mobile Event Manager participant list cleanup */
@media (max-width: 760px) {
  .command-center-list {
    display: none !important;
  }
}


/* v1.10.128: desktop poker scorecard fit and live count polish */
@media (min-width: 901px) {
  .poker-modal {
    width: min(98vw, 1250px) !important;
  }

  .poker-scorecard-grid:not(.poker-scorecard-grid-mobile) {
    grid-template-columns: 74px repeat(13, 74px) !important;
    width: max-content;
    min-width: 1036px;
  }

  .poker-modal form {
    overflow-x: auto;
  }
}

.poker-modal-actions [data-poker-hand] {
  font-weight: 800;
}


/* v1.10.130: full desktop poker card fit */
@media (min-width: 901px) {
  .poker-overlay {
    padding: 12px !important;
  }

  .poker-modal {
    width: min(99vw, 1360px) !important;
    max-width: 1360px !important;
    overflow-x: visible !important;
  }

  .poker-modal form {
    overflow-x: visible !important;
  }

  .poker-scorecard-grid:not(.poker-scorecard-grid-mobile) {
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: 64px repeat(13, minmax(58px, 1fr)) !important;
  }

  .poker-grid-corner,
  .poker-rank-head,
  .poker-suit-head,
  .poker-card-cell {
    min-height: 52px !important;
  }

  .poker-rank-head {
    font-size: clamp(1.05rem, 1.65vw, 1.55rem) !important;
  }

  .poker-suit-head {
    font-size: clamp(1.35rem, 2vw, 2rem) !important;
  }
}

@media (min-width: 901px) and (max-width: 1120px) {
  .poker-modal {
    padding: 16px !important;
  }

  .poker-scorecard-grid:not(.poker-scorecard-grid-mobile) {
    grid-template-columns: 52px repeat(13, minmax(44px, 1fr)) !important;
  }

  .poker-card-cell input {
    width: 24px !important;
    height: 24px !important;
  }
}


/* v1.10.132: poker verification overlay and full-width desktop scorecard */
.poker-stop-confirm-overlay {
  position: fixed;
  inset: 0;
  z-index: 1248;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(0,0,0,.76);
  backdrop-filter: blur(8px);
}
.poker-stop-confirm-overlay[hidden] {
  display: none !important;
}
.poker-stop-confirm-modal {
  position: relative;
  width: min(96vw, 560px);
  max-height: 92vh;
  overflow: auto;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 24px;
  background: rgba(17,24,39,.98);
  padding: 24px 18px 18px;
  box-shadow: 0 28px 80px rgba(0,0,0,.6);
}

@media (min-width: 901px) {
  .poker-overlay {
    padding: 8px !important;
  }

  .poker-modal {
    width: calc(100vw - 24px) !important;
    max-width: none !important;
    max-height: calc(100vh - 24px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 18px !important;
  }

  .poker-modal form {
    overflow-x: hidden !important;
  }

  .poker-scorecard-grid:not(.poker-scorecard-grid-mobile) {
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: 56px repeat(13, minmax(48px, 1fr)) !important;
  }

  .poker-grid-corner,
  .poker-rank-head,
  .poker-suit-head,
  .poker-card-cell {
    min-height: clamp(42px, 5.4vh, 58px) !important;
  }

  .poker-card-cell input {
    width: clamp(20px, 2.4vw, 30px) !important;
    height: clamp(20px, 2.4vw, 30px) !important;
  }
}


/* v1.10.151: poker scorecard full-width responsive fit */
.poker-modal {
  box-sizing: border-box !important;
}

.poker-modal form[data-poker-form],
.poker-modal form {
  max-width: 100% !important;
}

.poker-scorecard-grid:not(.poker-scorecard-grid-mobile) {
  box-sizing: border-box !important;
  max-width: 100% !important;
}

@media (min-width: 901px) {
  .poker-overlay {
    padding: 6px !important;
  }

  .poker-modal {
    width: calc(100vw - 12px) !important;
    max-width: none !important;
    overflow-x: hidden !important;
  }

  .poker-modal form[data-poker-form] {
    overflow-x: hidden !important;
  }

  .poker-scorecard-grid:not(.poker-scorecard-grid-mobile) {
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: minmax(42px, 56px) repeat(13, minmax(38px, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .poker-overlay {
    padding: 4px !important;
    place-items: center !important;
  }

  .poker-modal {
    width: calc(100vw - 8px) !important;
    max-width: none !important;
    padding: 14px !important;
    overflow-x: hidden !important;
  }

  .poker-scorecard-head {
    margin-right: 28px !important;
  }

  .poker-modal form[data-poker-form] {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }

  .poker-scorecard-grid:not(.poker-scorecard-grid-mobile) {
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: 42px repeat(13, minmax(34px, 1fr)) !important;
  }

  .poker-grid-corner,
  .poker-rank-head,
  .poker-suit-head,
  .poker-card-cell {
    min-height: 44px !important;
  }

  .poker-rank-head {
    font-size: clamp(.86rem, 3.4vw, 1.2rem) !important;
  }

  .poker-suit-head {
    font-size: clamp(1.05rem, 4vw, 1.45rem) !important;
  }

  .poker-card-cell input {
    width: 25px !important;
    height: 25px !important;
  }
}

@media (max-width: 640px) {
  .poker-modal {
    padding: 12px 8px !important;
  }

  .poker-scorecard-name-row {
    gap: 14px !important;
    font-size: .94rem !important;
  }

  .poker-scorecard-grid:not(.poker-scorecard-grid-mobile) {
    grid-template-columns: 34px repeat(13, minmax(30px, 1fr)) !important;
  }

  .poker-grid-corner,
  .poker-rank-head,
  .poker-suit-head,
  .poker-card-cell {
    min-height: 38px !important;
  }

  .poker-card-cell input {
    width: 22px !important;
    height: 22px !important;
  }

  .poker-modal-actions {
    align-items: stretch !important;
  }
}

@media (max-width: 430px) {
  .poker-scorecard-grid:not(.poker-scorecard-grid-mobile) {
    min-width: 520px !important;
  }

  .poker-modal form[data-poker-form] {
    overflow-x: auto !important;
  }
}

/* v1.10.153: manual ride end state */
.ride-ended-row {
  opacity: .78;
}
.ride-ended-row td {
  background: rgba(34,197,94,.06);
}

/* v1.10.155: poker stop verification route stop list */
.poker-stop-list {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.05);
  padding: 12px;
  margin: 12px 0;
}
.poker-stop-list > strong {
  display: block;
  margin-bottom: 8px;
}
.poker-stop-list ol {
  margin: 0;
  padding-left: 22px;
  display: grid;
  gap: 8px;
}
.poker-stop-list li span,
.poker-stop-list li small {
  display: block;
}

/* v1.10.156: participant search and simplified participant table */
.participant-search-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 12px;
}
.participant-search-wrap input[type="search"] {
  max-width: 420px;
  min-width: min(100%, 260px);
}

/* v1.10.166 concluded event and stop check-in CMS setting */
.domain-toggle-section {
  margin: 18px 0;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: rgba(255,255,255,.04);
}
.domain-toggle-section h3 { margin: 0 0 6px; }
.past-poker-modal { width: min(96vw, 920px) !important; }

.attended-count-public { display: block; margin-top: 8px; }

/* v1.10.167: Admin Users pill filter cleanup */
.admin-route .admin-tabs.content-picker-tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
}

.admin-route .admin-tabs.content-picker-tabs a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  gap: 10px;
  min-width: 84px;
  min-height: 42px;
  padding: 9px 14px;
  white-space: nowrap;
  line-height: 1;
  border-radius: 999px;
}

.admin-route .admin-tabs.content-picker-tabs a span {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  min-width: 22px;
  height: 22px;
  padding: 0 7px;
  line-height: 1;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}

@media (max-width: 720px) {
  .admin-route .admin-tabs.content-picker-tabs a {
    flex: 1 1 calc(50% - 10px);
    min-width: 0;
  }
}

@media (max-width: 420px) {
  .admin-route .admin-tabs.content-picker-tabs a {
    flex-basis: 100%;
  }
}

/* v1.10.168: My Events Past Events single panel + poker overlay */
.past-participated-panel {
  margin-top: 16px;
}
.past-participated-panel .my-event-list {
  display: grid;
  gap: 10px;
}
.past-participated-panel .my-event-row {
  align-items: center;
}
.past-poker-overlay[hidden] {
  display: none !important;
}
.past-poker-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999 !important;
  display: grid !important;
  place-items: center !important;
  padding: 18px !important;
  background: rgba(0,0,0,.78) !important;
  backdrop-filter: blur(8px);
}
.past-poker-modal {
  width: min(96vw, 960px) !important;
  max-height: 92vh !important;
  overflow: auto !important;
}

/* v1.10.169: My Events Past Events placement + poker popup site styling */
.past-participated-panel {
  margin-top: 16px;
}

.past-participated-panel .my-event-list {
  display: grid;
  gap: 10px;
}

.past-poker-overlay[hidden] {
  display: none !important;
}

.past-poker-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999 !important;
  display: grid !important;
  place-items: center !important;
  padding: 18px !important;
  background: rgba(0,0,0,.78) !important;
  backdrop-filter: blur(8px);
}

.past-poker-modal {
  width: min(96vw, 1040px) !important;
  max-height: 92vh !important;
  overflow: auto !important;
  border-radius: 22px !important;
  background: linear-gradient(145deg, rgba(23,26,32,.98), rgba(11,13,18,.98)) !important;
  border: 1px solid var(--line) !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.55) !important;
  padding: 22px !important;
}

.past-poker-popup-head {
  padding: 6px 48px 16px 0;
  border-bottom: 1px solid var(--line);
  margin-bottom: 16px;
}

.past-poker-popup-head h2 {
  margin: 2px 0 4px;
  font-size: clamp(26px, 5vw, 42px);
  line-height: 1;
  letter-spacing: -.05em;
}

.past-poker-card-shell {
  background: transparent;
  border: 0;
  padding: 0;
}

.past-poker-card-shell .poker-card-image-panel {
  background: rgba(255,255,255,.04);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px;
}

.past-poker-card-shell .poker-card-image {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  border-radius: 12px;
}

/* v1.10.170: Past Events rows match Organizer Tools rows */
.past-participated-list {
  display: grid;
  gap: 10px;
}

.past-participated-row {
  min-height: 0;
}

.past-participated-row .my-event-row-main,
.past-participated-row .my-event-row-actions {
  align-self: center;
}

.past-participated-row .my-event-mini-stats {
  margin-top: 8px;
}

/* v1.10.171: Past Events and poker popup cleanup */
.past-poker-modal {
  width: min(92vw, 860px) !important;
  max-height: 88vh !important;
  padding: 18px !important;
}

.past-poker-popup-head {
  padding-bottom: 12px !important;
  margin-bottom: 12px !important;
}

.past-poker-popup-head h2 {
  font-size: clamp(24px, 4vw, 34px) !important;
}

.past-poker-card-shell .poker-card-image-panel {
  padding: 14px !important;
}

.past-poker-card-head {
  margin-bottom: 10px !important;
}

/* v1.10.173: Account cleanup and inline optional labels */
.account-field-grid label {
  display: block;
}

.account-field-grid label .optional {
  display: inline-block;
  margin-left: 6px;
  vertical-align: baseline;
  font-size: .86em;
  font-weight: 700;
  opacity: .72;
}

/* v1.10.174: Events Search/Sort mobile cleanup */
.pro-filter-card {
  align-items: end;
}

@media (max-width: 760px) {
  .sticky-mobile-filter-button {
    display: block;
    width: calc(100% - 24px);
    margin: 12px auto;
    position: sticky;
    bottom: 12px;
    z-index: 20;
  }

  .filter-drawer.pro-filter-drawer {
    margin-inline: 0;
  }

  .filter-drawer.pro-filter-drawer summary {
    align-items: flex-start;
    gap: 10px;
  }

  .filter-card.pro-filter-card {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 14px;
  }

  .filter-card.pro-filter-card label,
  .filter-card.pro-filter-card .filter-wide {
    grid-column: 1 / -1;
    width: 100%;
  }

  .filter-card.pro-filter-card input,
  .filter-card.pro-filter-card select,
  .filter-card.pro-filter-card button,
  .filter-card.pro-filter-card .btn {
    width: 100%;
    min-height: 46px;
  }

  .filter-check-grid {
    grid-template-columns: 1fr;
  }

  .filter-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

/* v1.10.175: Event Map date-only filters */
.map-date-filter-panel {
  grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
  align-items: end;
}

@media (max-width: 760px) {
  .map-date-filter-panel {
    grid-template-columns: 1fr;
  }

  .map-date-filter-panel .filter-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }
}


/* v1.10.177: detailed event history timeline */
.detailed-history-card {
  max-width: 1080px !important;
}
.detailed-history-list {
  display: grid;
  gap: .85rem;
  margin-top: 1rem;
}
.history-detail-row {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: rgba(7,9,13,.48);
  padding: .95rem;
  display: grid;
  gap: .72rem;
}
.history-detail-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .85rem;
  align-items: start;
}
.history-detail-head strong,
.history-detail-time,
.history-detail-meta span,
.history-detail-meta em {
  display: block;
}
.history-detail-time,
.history-detail-meta span,
.history-detail-meta em,
.history-detail-lines,
.history-change-row span,
.history-extra-note {
  color: var(--muted) !important;
}
.history-detail-meta {
  text-align: right;
  font-size: .78rem;
}
.history-detail-lines {
  margin: 0;
  padding-left: 1.1rem;
  display: grid;
  gap: .25rem;
  font-size: .9rem;
}
.history-change-table {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255,255,255,.025);
}
.history-change-heading,
.history-change-row {
  display: grid;
  grid-template-columns: minmax(120px, .55fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: .55rem;
  padding: .55rem .65rem;
  border-top: 1px solid rgba(255,255,255,.075);
  font-size: .82rem;
}
.history-change-heading {
  border-top: 0;
  background: rgba(255,255,255,.055);
  color: #f7f8fb;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: .68rem;
}
.history-change-row strong,
.history-change-row span {
  overflow-wrap: anywhere;
}
.history-change-row strong {
  color: #f7f8fb !important;
}
.history-extra-note {
  margin: 0;
  padding: .55rem .65rem .7rem;
}
@media (max-width: 760px) {
  .history-detail-head,
  .history-change-heading,
  .history-change-row {
    grid-template-columns: 1fr;
  }
  .history-detail-meta {
    text-align: left;
  }
  .history-change-heading span:nth-child(2),
  .history-change-heading span:nth-child(3) {
    display: none;
  }
  .history-change-row span:nth-child(2)::before {
    content: 'Before: ';
    color: #f7f8fb;
    font-weight: 800;
  }
  .history-change-row span:nth-child(3)::before {
    content: 'After: ';
    color: #f7f8fb;
    font-weight: 800;
  }
}

/* v1.10.178 compact event list no-flyer layout fix */
.events-run-grid.event-card-list-compact .compact-run-card.has-no-run-card-image {
  grid-template-columns: 1fr;
  min-height: auto;
}

.events-run-grid.event-card-list-compact .compact-run-card.has-no-run-card-image .run-card-body {
  grid-column: 1 / -1;
  width: 100%;
}

@media (min-width: 761px) {
  .events-run-grid.event-card-list-compact .compact-run-card.has-no-run-card-image .run-card-body {
    display: grid;
    grid-template-columns: minmax(155px, 0.7fr) minmax(240px, 1.3fr) minmax(260px, auto);
    grid-template-areas:
      "meta title stats"
      "meta location stats";
    align-items: center;
    column-gap: 1rem;
    row-gap: 0.15rem;
    padding: 0.72rem 0.82rem;
  }

  .events-run-grid.event-card-list-compact .compact-run-card.has-no-run-card-image .status-line {
    grid-area: meta;
    align-self: center;
  }

  .events-run-grid.event-card-list-compact .compact-run-card.has-no-run-card-image h3 {
    grid-area: title;
    margin: 0;
  }

  .events-run-grid.event-card-list-compact .compact-run-card.has-no-run-card-image .run-location-line {
    grid-area: location;
  }

  .events-run-grid.event-card-list-compact .compact-run-card.has-no-run-card-image .run-organizer-line {
    display: none;
  }

  .events-run-grid.event-card-list-compact .compact-run-card.has-no-run-card-image .mini-stats {
    grid-area: stats;
    justify-content: flex-end;
    margin-top: 0;
  }
}

@media (max-width: 760px) {
  .events-run-grid.event-card-list-compact .compact-run-card.has-no-run-card-image {
    display: block;
  }
}

/* v1.10.179 compact event list hides all flyer thumbnails */
.events-run-grid.event-card-list-compact .compact-run-card {
  grid-template-columns: 1fr;
  min-height: auto;
}

.events-run-grid.event-card-list-compact .compact-run-card .run-card-image {
  display: none;
}

.events-run-grid.event-card-list-compact .compact-run-card .run-card-body {
  grid-column: 1 / -1;
  width: 100%;
}


/* v1.10.184 Support Inbox */
.support-thread {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}
.support-message {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 18px;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}
.support-message-outgoing {
  border-color: rgba(37, 99, 235, 0.22);
  background: rgba(239, 246, 255, 0.95);
}
.support-message > header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 0.5rem;
}
.support-message h3 {
  margin: 0.5rem 0;
  font-size: 1rem;
}
.support-message-body {
  white-space: pre-wrap;
  word-break: break-word;
  font: inherit;
  margin: 0;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 12px;
  padding: 0.85rem;
  color: inherit;
}
.align-end {
  align-self: end;
}
@media (max-width: 720px) {
  .support-message > header {
    display: grid;
  }
}

/* v1.10.187 admin monitoring, email logs, support inbox, and contact form polish */
.system-health-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 18px;
}
.health-card {
  position: relative;
  padding: 18px;
  border: 1px solid var(--wp-admin-line, #dcdcde);
  border-left: 4px solid var(--wp-admin-blue, #2271b1);
  background: var(--wp-admin-surface, #fff);
  box-shadow: 0 1px 1px rgba(0,0,0,.04);
}
.health-card h2 { margin: 4px 0 8px; font-size: 1.15rem; color: var(--wp-admin-text, #1d2327); }
.health-card p { margin: 0; color: var(--wp-admin-muted, #646970); }
.health-dot {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: var(--wp-admin-orange, #d97706);
}
.health-ok { border-left-color: var(--wp-admin-green, #008a20); }
.health-ok .health-dot { background: var(--wp-admin-green, #008a20); }
.health-warning { border-left-color: var(--wp-admin-red, #b32d2e); }
.health-warning .health-dot { background: var(--wp-admin-red, #b32d2e); }
.flush-table { margin: 0; box-shadow: none; border: 0; }
.email-log-filter,
.audit-filter-form,
.support-filter-form { align-items: center; flex-wrap: wrap; }
.email-status-failed,
.support-priority-urgent { background: #fcf0f1; color: var(--wp-admin-red, #b32d2e); }
.email-status-sent,
.support-status-closed { background: #edfaef; color: var(--wp-admin-green, #008a20); }
.email-status-logged,
.support-status-pending { background: #fff8e5; color: #996800; }
.danger-text,
.danger-link { color: var(--wp-admin-red, #b32d2e) !important; }
.audit-metadata {
  max-width: 520px;
  max-height: 190px;
  overflow: auto;
  margin: 0;
  padding: 8px;
  border: 1px solid var(--wp-admin-line, #dcdcde);
  background: var(--wp-admin-surface-2, #f6f7f7);
  color: var(--wp-admin-text, #1d2327);
  white-space: pre-wrap;
  font-size: 12px;
}
.support-dashboard-grid .wp-dashboard-widget,
.support-saved-replies-grid .wp-dashboard-widget { min-width: 0; }
.support-metric-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.support-tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.support-tag {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--wp-admin-surface-2, #f6f7f7);
  border: 1px solid var(--wp-admin-line, #dcdcde);
  color: var(--wp-admin-muted, #646970);
  font-size: 12px;
  font-weight: 700;
}
.support-ticket-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 18px;
  align-items: start;
}
.support-conversation-card,
.support-ticket-side-panel,
.support-contact-form-card,
.support-contact-side-card { min-width: 0; }
.support-thread {
  display: grid;
  gap: 12px;
}
.support-message {
  border: 1px solid var(--wp-admin-line, #dcdcde);
  border-left: 4px solid var(--wp-admin-blue, #2271b1);
  background: var(--wp-admin-surface, #fff);
  padding: 14px;
}
.support-message-incoming { border-left-color: var(--wp-admin-blue, #2271b1); }
.support-message-outgoing { border-left-color: var(--wp-admin-green, #008a20); }
.support-message-internal { border-left-color: var(--wp-admin-orange, #d97706); background: #fff8e5; }
.support-message header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.support-message h3 { margin: 8px 0; font-size: 1rem; }
.support-message-body {
  margin: 0;
  white-space: pre-wrap;
  font-family: inherit;
  background: transparent;
  border: 0;
  color: var(--wp-admin-text, #1d2327);
  line-height: 1.5;
}
.support-attachment-list {
  display: grid;
  gap: 8px;
}
.support-attachment {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--wp-admin-line, #dcdcde);
  background: var(--wp-admin-surface-2, #f6f7f7);
  text-decoration: none;
}
.support-attachment span { color: var(--wp-admin-muted, #646970); }
.saved-reply-picker {
  display: block;
  margin: 0 0 12px;
}
.compact-form label { margin-bottom: 10px; }
.support-contact-hero { margin-bottom: 20px; }
.support-contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 20px;
  align-items: start;
}
.support-contact-side-card .check-list li { align-items: flex-start; }
@media (max-width: 1100px) {
  .system-health-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .support-ticket-layout,
  .support-contact-layout { grid-template-columns: 1fr; }
  .support-metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .system-health-grid { grid-template-columns: 1fr; }
  .support-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .support-message header,
  .support-attachment { flex-direction: column; }
  .email-log-filter select,
  .email-log-filter input,
  .audit-filter-form select,
  .audit-filter-form input,
  .support-filter-form select,
  .support-filter-form input { width: 100%; }
}

/* v1.10.188 Event Day toolkit */
.event-day-title .compact-actions { justify-content: flex-end; }
.event-day-hero { display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; }
.event-day-primary-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.event-day-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 16px 0; }
.event-day-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: 16px; align-items: start; }
.event-day-tool-card { min-width: 0; }
.primary-tool-card { grid-row: span 2; }
.printable-link-grid { display: grid; gap: 10px; margin-top: 12px; }
.printable-link { display: grid; gap: 3px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.035); }
.printable-link:hover { border-color: rgba(240,75,40,.75); background: rgba(240,75,40,.08); color: var(--text); }
.printable-link span { color: var(--muted); font-size: 13px; line-height: 1.35; }
.event-day-qr { width: min(220px, 100%); margin: 10px auto; border-radius: 16px; background: #fff; padding: 10px; }
.qr-tool-card { text-align: center; }
.event-day-notes-card { margin-top: 16px; }
.event-day-note-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.stacked-mobile { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 860px) {
  .event-day-hero, .event-day-grid, .event-day-note-grid { grid-template-columns: 1fr; }
  .event-day-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-day-primary-actions, .event-day-title .compact-actions { justify-content: flex-start; }
  .primary-tool-card { grid-row: auto; }
}
@media (max-width: 560px) {
  .event-day-summary-grid { grid-template-columns: 1fr; }
  .stacked-mobile { display: grid; }
}
.disabled-pill { opacity: .65; cursor: not-allowed; }

/* v1.10.189 Event Day professional polish */
.event-day-hero,
.event-day-tool-card,
.event-day-notes-card,
.event-day-preview-panel {
  border-radius: 24px;
}
.event-day-hero {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at top right, rgba(240,75,40,.16), transparent 34%),
    linear-gradient(145deg, rgba(31,34,42,.98), rgba(16,18,23,.96));
}
.event-day-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, var(--accent), var(--accent-2));
}
.event-day-hero h2,
.event-day-tool-card h2,
.event-day-notes-card h2 {
  letter-spacing: -.045em;
}
.printable-link {
  position: relative;
  overflow: hidden;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.printable-link::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, var(--accent), transparent);
  opacity: .75;
}
.printable-link:hover { transform: translateY(-1px); }
/* v1.10.191: Event Day Toolkit owner-only pill in Event Manager */
.event-day-toolkit-pill {
  border-radius: 999px !important;
  padding: 10px 18px !important;
  font-weight: 900 !important;
  letter-spacing: .01em;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  background: linear-gradient(135deg, var(--accent), var(--accent-2)) !important;
  box-shadow: 0 14px 34px rgba(240, 75, 40, .22);
  white-space: nowrap;
}
.event-day-toolkit-pill:hover,
.event-day-toolkit-pill:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 18px 42px rgba(240, 75, 40, .30);
}
@media (max-width: 760px) {
  .command-center-title .button-stack .event-day-toolkit-pill {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

/* v1.10.192: mobile-first UI polish, print preview/PDF actions, confirmation overlays, CMS consistency */
.mobile-first-title,
.mobile-action-row,
.event-day-primary-actions,
.preview-card-actions,
.inline-poster-actions,
.contact-actions,
.header-actions,
.email-action-row {
  gap: 10px;
}
.mobile-action-row .btn,
.event-day-primary-actions .btn,
.preview-card-actions .btn,
.inline-poster-actions .btn,
.contact-actions .btn,
.email-action-row .btn {
  min-height: 44px;
  border-radius: 999px;
}
.polished-mobile-card {
  border: 1px solid rgba(255,255,255,.11);
  box-shadow: 0 18px 44px rgba(0,0,0,.16);
}
.event-day-preview-panel { margin-top: 16px; }
.printable-preview-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 16px;
}
.printable-preview-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.04);
}
.printable-preview-card strong {
  display: block;
  margin-bottom: 4px;
  font-size: 1.02rem;
}
.printable-preview-card span {
  display: block;
  color: var(--muted);
  font-size: .93rem;
  line-height: 1.4;
}
.preview-card-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.preview-card-actions .btn { width: 100%; }
.confirm-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: end center;
  padding: 16px;
  background: rgba(0,0,0,.62);
  backdrop-filter: blur(8px);
}
.confirm-overlay[hidden] { display: none !important; }
.confirm-dialog {
  width: min(100%, 520px);
  max-height: calc(100vh - 32px);
  overflow: auto;
  position: relative;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 26px 26px 20px 20px;
  background: linear-gradient(180deg, rgba(27,30,38,.98), rgba(16,18,23,.98));
  box-shadow: 0 26px 90px rgba(0,0,0,.42);
  color: var(--text);
}
.confirm-dialog h2 {
  margin: 0 34px 8px 0;
  font-size: clamp(1.35rem, 6vw, 2rem);
  letter-spacing: -.045em;
}
.confirm-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: var(--text);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.confirm-dialog-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 18px;
}
.confirm-dialog-actions .btn { width: 100%; }
html.modal-open,
html.modal-open body { overflow: hidden; }

/* Admin CMS consistency pass */
.admin-route .cms-page-grid,
.admin-route .management-grid,
.admin-route .editor-grid,
.admin-route .account-management-grid {
  gap: 16px;
}
.admin-route .page-title,
.admin-route .admin-page-heading {
  align-items: stretch;
  gap: 14px;
}
.admin-route .form-card,
.admin-route .content-card,
.admin-route .table-card,
.admin-route .filter-card {
  border-radius: 14px;
}
.admin-route .section-head.compact,
.admin-route .table-card-header,
.admin-route .cms-panel-head {
  gap: 12px;
  align-items: start;
}
.admin-route .btn,
.admin-route .tiny-btn,
.admin-route .small-btn {
  border-radius: 999px;
  min-height: 38px;
}
.admin-route .small-btn,
.admin-route .tiny-btn { min-height: 34px; }
.admin-route .form-row.two-col,
.admin-route .two-col,
.admin-route .cms-form-grid {
  gap: 14px;
}
.admin-route input,
.admin-route textarea,
.admin-route select {
  min-height: 42px;
  border-radius: 8px;
}
.admin-route textarea { min-height: 112px; }
.email-status-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin: 16px 0;
}
.email-status-card {
  position: relative;
  overflow: hidden;
  padding: 15px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.04);
}
.admin-route .email-status-card { background: var(--wp-admin-surface); border-color: var(--wp-admin-line); }
.email-status-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--muted);
}
.email-status-card.is-good::before { background: #22c55e; }
.email-status-card.is-warning::before { background: #f59e0b; }
.email-status-card.is-muted::before { background: #64748b; }
.email-status-card span {
  display: block;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.email-status-card strong {
  display: block;
  margin: 4px 0;
  word-break: break-word;
}
.email-status-card p {
  margin: 0;
  color: var(--muted);
  font-size: .88rem;
  line-height: 1.35;
}

/* Public event page polish */
.compact-event-page .event-compact-shell {
  width: min(100%, 1180px);
  margin: 0 auto;
}
.compact-event-page .event-compact-hero {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  padding: clamp(20px, 5vw, 42px);
  border: 1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at right top, rgba(240,75,40,.20), transparent 34%),
    linear-gradient(145deg, rgba(32,35,44,.98), rgba(14,16,21,.98));
  box-shadow: 0 22px 60px rgba(0,0,0,.22);
}
.compact-event-page .event-hero-copy h1 {
  font-size: clamp(2rem, 11vw, 4.9rem);
  line-height: .94;
  letter-spacing: -.075em;
  margin-bottom: 10px;
}
.compact-event-page .event-hero-copy p {
  font-size: clamp(1rem, 3.5vw, 1.28rem);
  line-height: 1.35;
}
.compact-event-page .event-hero-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  width: 100%;
}
.compact-event-page .event-hero-actions .btn { width: 100%; min-height: 46px; }
.compact-event-page .event-card,
.compact-event-page .event-top-schedule,
.compact-event-page .event-summary-strip,
.compact-event-page .compact-update-strip {
  border-radius: 22px;
  border-color: rgba(255,255,255,.11);
}
.compact-event-page .event-detail-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.compact-event-page .event-side-rail { order: -1; }
.compact-event-page .event-main-flow { min-width: 0; }
.compact-event-page .compact-fact-list,
.compact-event-page .event-summary-strip {
  grid-template-columns: 1fr;
}
.compact-event-page .compact-stop-list li {
  border-radius: 16px;
  padding: 14px;
}
.compact-event-page .side-rail-weather-grid,
.compact-event-page .compact-weather-grid {
  grid-template-columns: 1fr;
}

/* Organizer/public mobile-first tap targets */
.dashboard-route .btn,
.dashboard-route .tiny-btn,
.dashboard-route .small-btn,
.event-detail-page .btn,
.event-detail-page .tiny-btn,
.event-detail-page .share-action-btn,
.event-day-title .btn,
.event-day-preview-panel .btn {
  min-height: 44px;
}
.dashboard-route .button-row,
.dashboard-route .compact-actions,
.event-detail-page .poster-actions,
.event-detail-page .tiny-action-row {
  gap: 10px;
}
.dashboard-route .management-grid,
.dashboard-route .event-day-grid,
.event-detail-page .event-detail-grid {
  gap: 16px;
}
@media (min-width: 640px) {
  .confirm-overlay { place-items: center; }
  .confirm-dialog { border-radius: 24px; }
  .confirm-dialog-actions { grid-template-columns: 1fr 1fr; }
  .printable-preview-card { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .preview-card-actions { min-width: 240px; }
  .email-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .compact-event-page .event-hero-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .compact-event-page .compact-fact-list,
  .compact-event-page .event-summary-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
  .email-status-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .compact-event-page .event-detail-grid { grid-template-columns: minmax(250px, 320px) minmax(0, 1fr); }
  .compact-event-page .event-side-rail { order: 0; }
  .compact-event-page .compact-fact-list,
  .compact-event-page .event-summary-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .compact-event-page .event-hero-actions { width: auto; min-width: 460px; }
  .printable-preview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1180px) {
  .printable-preview-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .page-title.split-title,
  .mobile-first-title,
  .admin-route .admin-page-heading {
    display: grid;
    grid-template-columns: 1fr;
  }
  .page-title .button-row,
  .mobile-action-row,
  .header-actions,
  .event-day-primary-actions,
  .email-action-row,
  .inline-poster-actions,
  .contact-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
  .page-title .button-row .btn,
  .mobile-action-row .btn,
  .event-day-primary-actions .btn,
  .header-actions .btn,
  .email-action-row .btn,
  .inline-poster-actions .btn,
  .contact-actions .btn {
    width: 100%;
  }
  .preview-card-actions { grid-template-columns: 1fr; }
  .admin-route .table-card.mobile-cards table,
  .admin-route .table-card.mobile-cards thead,
  .admin-route .table-card.mobile-cards tbody,
  .admin-route .table-card.mobile-cards tr,
  .admin-route .table-card.mobile-cards td {
    display: block;
  }
  .admin-route .table-card.mobile-cards thead { display: none; }
  .admin-route .table-card.mobile-cards tr {
    padding: 12px;
    border-bottom: 1px solid var(--wp-admin-line);
  }
  .admin-route .table-card.mobile-cards td {
    border: 0;
    padding: 7px 0;
  }
  .admin-route .table-card.mobile-cards td::before {
    content: attr(data-label);
    display: block;
    color: var(--wp-admin-muted);
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
  }
}

/* v1.10.193: beta release-readiness and final QA stabilization polish */
.release-readiness-panel {
  margin: 18px 0;
  border: 1px solid rgba(15, 23, 42, .08);
}
.release-readiness-panel .split-title.compact {
  display: flex;
  gap: 14px;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 14px;
}
.readiness-score {
  min-width: 118px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .12);
  padding: 10px 14px;
  text-align: center;
  background: rgba(255, 255, 255, .82);
}
.readiness-score strong {
  display: block;
  line-height: 1;
  font-size: 1.15rem;
}
.readiness-score span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.readiness-score.is-good {
  border-color: rgba(22, 163, 74, .28);
  background: rgba(22, 163, 74, .08);
}
.readiness-score.is-warning {
  border-color: rgba(245, 158, 11, .35);
  background: rgba(245, 158, 11, .10);
}
.readiness-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.readiness-card {
  position: relative;
  display: block;
  min-height: 116px;
  padding: 16px 16px 16px 42px;
  border-radius: 18px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: rgba(255,255,255,.9);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
}
.readiness-card .health-dot {
  position: absolute;
  top: 20px;
  left: 16px;
}
.readiness-card strong {
  display: block;
  margin-bottom: 6px;
  font-size: .98rem;
}
.readiness-card p {
  margin: 0;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.4;
}
.readiness-card.is-good {
  border-color: rgba(22, 163, 74, .22);
}
.readiness-card.is-warning {
  border-color: rgba(245, 158, 11, .32);
  background: rgba(255, 251, 235, .88);
}
a.readiness-card:hover {
  transform: translateY(-1px);
  border-color: rgba(240, 75, 40, .35);
}
@media (max-width: 720px) {
  .release-readiness-panel .split-title.compact {
    flex-direction: column;
  }
  .readiness-score {
    width: 100%;
  }
  .readiness-grid {
    grid-template-columns: 1fr;
  }
  .readiness-card {
    min-height: auto;
  }
}

/* v1.10.194: full mobile-first audit and desktop-secondary polish */
html {
  max-width: 100%;
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: 84px;
}
body {
  overflow-x: hidden;
  max-width: 100%;
}
main,
.site-header,
.site-footer {
  width: min(1180px, calc(100% - 24px));
}
.table-scroll,
.table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
  border-radius: 16px;
}
.table-scroll table,
.table-wrap table {
  min-width: 680px;
}
.mobile-table-audit-wrap {
  margin-top: 10px;
}
.mobile-overflow-safe,
.form-card,
.content-card,
.table-card,
.info-card,
.event-card,
.wp-card,
.wp-dashboard-widget,
.admin-route .form-card,
.admin-route .content-card,
.admin-route .table-card,
.dashboard-route .form-card,
.dashboard-route .content-card,
.compact-event-page .event-card {
  min-width: 0;
}
.btn,
.small-btn,
.tiny-btn,
.share-action-btn,
.filter-chip,
.nav-pill {
  touch-action: manipulation;
}
input,
textarea,
select,
button {
  max-width: 100%;
}
pre,
code {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.audit-metadata,
.email-status-card strong,
.support-message,
.compact-update-strip,
.event-description,
.preline {
  overflow-wrap: anywhere;
}
.actions,
.inline-actions,
.button-row,
.button-stack,
.header-actions,
.wp-welcome-actions,
.admin-actions-row,
.form-actions,
.table-actions,
.poster-actions,
.compact-actions,
.event-hero-actions {
  min-width: 0;
}
.table-card.mobile-cards td,
.admin-route .table-card.mobile-cards td,
.mobile-cards td {
  overflow-wrap: anywhere;
}
.mobile-cards .actions,
.mobile-cards .table-actions,
.mobile-cards .stacked-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  width: 100%;
}
.mobile-cards .actions .btn,
.mobile-cards .actions .small-btn,
.mobile-cards .actions .tiny-btn,
.mobile-cards .table-actions .small-btn,
.mobile-cards .table-actions .tiny-btn,
.mobile-cards .stacked-actions .btn,
.mobile-cards .stacked-actions .small-btn,
.mobile-cards .stacked-actions .tiny-btn {
  width: 100%;
  justify-content: center;
}
.compact-form-grid,
.cms-form-grid,
.account-management-grid,
.support-dashboard-grid,
.wp-dashboard-grid,
.management-grid,
.editor-grid,
.event-detail-grid,
.event-day-grid,
.dashboard-command-center {
  min-width: 0;
}

@media (max-width: 720px) {
  main { padding-top: 18px; }
  .site-header {
    width: calc(100% - 20px);
    margin: 0 10px;
    padding: 12px 0;
    gap: 10px;
  }
  .top-nav {
    width: 100%;
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
  }
  .top-nav a,
  .top-nav .link-button,
  .nav-pill {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .hero-copy h1,
  .page-title h1,
  .detail-hero h1,
  .auth-card h1 {
    font-size: clamp(2rem, 11.5vw, 3.3rem);
    line-height: .98;
  }
  .page-title,
  .section-head,
  .wp-welcome-panel,
  .admin-cms-toolbar,
  .admin-page-heading,
  .content-editor-title {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .section-head .btn,
  .page-title > .btn,
  .page-title .button-stack,
  .wp-welcome-actions,
  .admin-actions-row,
  .header-actions {
    width: 100%;
  }
  .page-title .button-stack,
  .wp-welcome-actions,
  .admin-actions-row,
  .header-actions,
  .button-row,
  .form-actions,
  .poster-actions,
  .contact-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .page-title .button-stack .btn,
  .wp-welcome-actions .btn,
  .admin-actions-row .btn,
  .header-actions .btn,
  .button-row .btn,
  .form-actions .btn,
  .poster-actions .btn,
  .contact-actions .btn {
    width: 100%;
  }
  .filter-card,
  .form-card,
  .content-card,
  .auth-card,
  .table-card,
  .info-card,
  .event-card,
  .wp-card,
  .wp-dashboard-widget {
    border-radius: 16px;
  }
  .table-scroll::after,
  .table-wrap::after {
    content: "";
    display: block;
    padding: 8px 10px 10px;
    color: var(--muted);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .02em;
  }
  .mobile-cards table,
  .mobile-cards thead,
  .mobile-cards tbody,
  .mobile-cards th,
  .mobile-cards td,
  .mobile-cards tr {
    display: block;
    width: 100%;
  }
  .mobile-cards thead { display: none; }
  .mobile-cards tr {
    padding: 14px;
    border-bottom: 1px solid var(--line);
  }
  .mobile-cards tr:last-child { border-bottom: 0; }
  .mobile-cards td {
    border: 0;
    padding: 7px 0;
  }
  .mobile-cards td::before {
    content: attr(data-label);
    display: block;
    color: var(--muted);
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 900;
    margin-bottom: 2px;
  }
  .table-card.mobile-cards,
  .admin-route .table-card.mobile-cards {
    overflow: visible;
  }
  .compact-inline-form,
  .manual-checkin-start,
  .support-filter-form,
  .audit-filter-form,
  .email-log-filter,
  .admin-filter-bar {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .compact-inline-form select,
  .compact-inline-form .btn,
  .manual-checkin-start .btn,
  .admin-filter-bar .filter-chip {
    width: 100%;
  }
  .event-card .section-head.compact,
  .form-card .section-head.compact,
  .table-card-header,
  .cms-panel-head {
    display: grid;
    grid-template-columns: 1fr;
  }
  .compact-event-page .event-side-rail,
  .compact-event-page .event-main-flow {
    width: 100%;
  }
  .compact-event-page .compact-share-card,
  .qr-card {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .compact-event-page .compact-share-card img,
  .qr-card img {
    margin-inline: auto;
  }
  .event-day-summary-grid,
  .dashboard-command-center,
  .wp-metric-grid,
  .cms-stat-grid,
  .support-metric-grid,
  .system-health-grid,
  .info-grid {
    grid-template-columns: 1fr !important;
  }
  .confirm-dialog {
    width: min(100%, 560px);
    padding-bottom: max(22px, env(safe-area-inset-bottom));
  }
}

@media (min-width: 721px) and (max-width: 1040px) {
  main,
  .site-header,
  .site-footer {
    width: min(100% - 32px, 1180px);
  }
  .run-grid,
  .wp-dashboard-grid,
  .cms-stat-grid,
  .dashboard-command-center {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .compact-event-page .event-detail-grid,
  .event-day-grid,
  .support-ticket-layout,
  .support-contact-layout {
    grid-template-columns: 1fr;
  }
  .compact-event-page .event-side-rail { order: -1; }
}

/* v1.10.195 support inbox sync polish */
.support-sync-actions {
  align-items: stretch;
  gap: 0.65rem;
}
.support-sync-form {
  align-items: end;
  flex-wrap: wrap;
  gap: 0.55rem;
}
.compact-control {
  display: grid;
  gap: 0.25rem;
  margin: 0;
  min-width: min(100%, 160px);
}
.compact-control span {
  color: var(--muted, #94a3b8);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.compact-control select {
  min-height: 40px;
}
.support-sync-summary {
  display: grid;
  gap: 0.25rem;
}
@media (max-width: 720px) {
  .support-sync-actions,
  .support-sync-form {
    width: 100%;
  }
  .support-sync-actions .btn,
  .support-sync-form .btn,
  .compact-control {
    width: 100%;
  }
}

/* v1.10.198 environment reset controls and confirmation phrase polish */
.danger-zone-card {
  border-color: rgba(239, 68, 68, .38) !important;
  background: linear-gradient(180deg, rgba(127, 29, 29, .16), rgba(15, 23, 42, .88));
}
.danger-zone-card.locked {
  border-color: rgba(148, 163, 184, .22) !important;
  background: rgba(15, 23, 42, .72);
}
.danger-action-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}
.danger-action-panel {
  border: 1px solid rgba(239, 68, 68, .3);
  border-radius: 18px;
  padding: 1rem;
  background: rgba(2, 6, 23, .35);
}
.danger-action-panel h4 { margin: 0 0 .45rem; }
.danger-action-panel p { margin-top: 0; color: var(--muted); }
.confirm-phrase-wrap {
  margin: 1rem 0 0;
  border: 1px solid rgba(251, 146, 60, .32);
  border-radius: 16px;
  padding: .9rem;
  background: rgba(251, 146, 60, .08);
}
.confirm-phrase-wrap label { display: grid; gap: .5rem; }
.confirm-phrase-wrap strong {
  display: inline-flex;
  width: fit-content;
  padding: .25rem .55rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, .9);
  border: 1px solid rgba(255,255,255,.12);
  color: #fff7ed;
  letter-spacing: .04em;
}
.confirm-phrase-wrap input {
  width: 100%;
  min-height: 44px;
}
@media (min-width: 760px) {
  .danger-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* v1.10.199 Admin CMS cleanup: safer CMS controls and dark-theme consistency */
.admin-route .admin-tabs.content-picker-tabs,
.admin-route .admin-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.admin-route .admin-tabs.content-picker-tabs a,
.admin-route .admin-tabs a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  min-width: 0;
  width: auto;
  flex: 0 1 auto;
  white-space: nowrap;
  overflow: visible;
  padding: 10px 16px;
}
.admin-route .admin-tabs.content-picker-tabs a span,
.admin-route .admin-tabs a span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  line-height: 1;
}

.admin-route .wp-attention-list li a {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 56px;
  padding: 10px 14px;
}
.admin-route .wp-attention-list li strong {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: rgba(255,255,255,.055) !important;
  color: var(--text) !important;
  font-size: 16px;
}
.admin-route .wp-attention-list li.is-hot strong {
  background: rgba(240,75,40,.22) !important;
  border: 1px solid rgba(240,75,40,.45);
  color: #fff !important;
}
.admin-route .wp-attention-list li.is-warning strong {
  background: rgba(245,158,11,.18) !important;
  border: 1px solid rgba(245,158,11,.42);
  color: #fff4cf !important;
}
.admin-route .wp-attention-list span { color: var(--text); }

.admin-route .wp-admin-list.support-saved-replies-list,
.admin-route .support-saved-replies-grid .wp-admin-list { display: grid; gap: 0; }
.admin-route .support-saved-replies-grid .wp-admin-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid var(--wp-admin-line, var(--line));
}
.admin-route .support-saved-replies-grid .wp-admin-list li strong,
.admin-route .support-saved-replies-grid .wp-admin-list li span { display: block; min-width: 0; }
.admin-route .support-saved-replies-grid .wp-admin-list li strong { color: var(--text); margin-bottom: 4px; }
.admin-route .support-saved-replies-grid .wp-admin-list li span { color: var(--muted); overflow-wrap: anywhere; }
.admin-route .support-saved-replies-grid .danger-link {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid rgba(255,77,77,.4);
  border-radius: 10px;
  color: #ffb4b4;
  background: rgba(255,77,77,.08);
  font-weight: 800;
}

.admin-route .ad-placement-row {
  grid-template-columns: minmax(220px, 1fr) auto;
  background: rgba(255,255,255,.035) !important;
  border-color: rgba(255,255,255,.10) !important;
  color: var(--text);
}
.admin-route .ad-placement-row strong,
.admin-route .ad-placement-row h3 { color: var(--text) !important; }
.admin-route .ad-placement-row p { color: var(--muted) !important; }
.admin-route .ad-placement-row .sponsor-placement-toggles,
.admin-route .ad-placement-row .ad-placement-actions { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }

.admin-route .sponsor-placement-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.admin-route .sponsor-placement-card {
  background: rgba(255,255,255,.035) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 18px;
  padding: 16px;
  min-width: 0;
  box-shadow: none;
}
.admin-route .sponsor-placement-card h3,
.admin-route .sponsor-placement-card strong { color: var(--text) !important; }
.admin-route .sponsor-placement-card p,
.admin-route .sponsor-placement-card span { color: var(--muted) !important; overflow-wrap: anywhere; }
.admin-route .sponsor-placement-card .badge,
.admin-route .sponsor-placement-card .status-pill { background: rgba(240,75,40,.14); color: #ffc6ba; border: 1px solid rgba(240,75,40,.35); }
.admin-route .sponsor-placement-card .mini-stats span,
.admin-route .sponsor-placement-card .metric-pill,
.admin-route .sponsor-placement-card em {
  display: inline-flex;
  background: rgba(255,255,255,.06) !important;
  color: var(--text) !important;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 12px;
  padding: 8px 10px;
  margin: 4px 6px 0 0;
}

.admin-route .release-readiness-panel { background: rgba(255,255,255,.03); border-color: rgba(255,255,255,.10); }
.admin-route .readiness-score {
  background: rgba(255,255,255,.045);
  border-color: rgba(255,255,255,.12);
  color: var(--text);
}
.admin-route .readiness-score.is-good { border-color: rgba(57,217,138,.35); background: rgba(57,217,138,.10); }
.admin-route .readiness-score.is-warning { border-color: rgba(245,158,11,.45); background: rgba(245,158,11,.12); }
.admin-route .readiness-grid { grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)); }
.admin-route .readiness-card {
  background: rgba(255,255,255,.045) !important;
  border-color: rgba(255,255,255,.10) !important;
  color: var(--text);
  box-shadow: none;
  min-height: 130px;
  overflow-wrap: anywhere;
}
.admin-route .readiness-card.is-good { border-left: 4px solid rgba(57,217,138,.9) !important; }
.admin-route .readiness-card.is-warning { border-left: 4px solid rgba(245,158,11,.95) !important; }
.admin-route .readiness-card strong { color: var(--text); }
.admin-route .readiness-card p { color: var(--muted); overflow-wrap: anywhere; }
.admin-route .readiness-status-label {
  display: inline-flex;
  width: max-content;
  margin-bottom: 8px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.admin-route .readiness-card.is-good .readiness-status-label { color: #9ff0c7; background: rgba(57,217,138,.12); }
.admin-route .readiness-card.is-warning .readiness-status-label { color: #ffd28a; background: rgba(245,158,11,.14); }

.admin-route .domain-big-status { color: #fff; border-left-width: 5px; }
.admin-route .domain-big-status.status-online { background: rgba(57,217,138,.14) !important; border-left-color: #39d98a; }
.admin-route .domain-big-status.status-admin_only { background: rgba(245,158,11,.14) !important; border-left-color: #f59e0b; }
.admin-route .domain-big-status.status-offline { background: rgba(255,77,77,.14) !important; border-left-color: #ff4d4d; }
.admin-route .admin-env-pill.env-production,
.admin-route .admin-env-pill.env-beta,
.admin-route .admin-env-pill.env-test { color: #fff; }

.admin-route .email-status-card,
.admin-route .health-card {
  background: rgba(255,255,255,.045) !important;
  border-color: rgba(255,255,255,.10) !important;
  color: var(--text);
}
.admin-route .email-status-card p,
.admin-route .health-card p { color: var(--muted); overflow-wrap: anywhere; }
.admin-route .cms-operational-settings {
  padding: 16px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background: rgba(255,255,255,.025);
  margin-bottom: 18px;
}

@media (max-width: 760px) {
  .admin-route .support-saved-replies-grid .wp-admin-list li,
  .admin-route .ad-placement-row { grid-template-columns: 1fr; }
  .admin-route .sponsor-placement-toggles,
  .admin-route .ad-placement-row .ad-placement-actions { justify-content: flex-start; }
  .admin-route .admin-tabs.content-picker-tabs a,
  .admin-route .admin-tabs a { flex: 1 1 calc(50% - 8px); }
}

/* v1.10.200: Admin CMS/event list cleanup and dark-theme fixes */
[data-event-card-link] { cursor: pointer; }
[data-event-card-link]:focus-visible { outline: 3px solid rgba(96,165,250,.85); outline-offset: 3px; }
.map-instruction-card {
  margin: 16px 0 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
  color: var(--text);
}
.map-instruction-card p { margin: 0; color: var(--muted); }
.map-instruction-card strong { color: var(--text); }

/* Admin Users filter pills: active state must not collapse to count only. */
.admin-route .admin-tabs.content-picker-tabs,
.admin-route .admin-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
}
.admin-route .admin-tabs.content-picker-tabs a,
.admin-route .admin-tabs a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: auto !important;
  min-width: 108px !important;
  max-width: none !important;
  min-height: 44px !important;
  padding: 10px 18px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-indent: 0 !important;
  line-height: 1 !important;
}
.admin-route .admin-tabs.content-picker-tabs a::before,
.admin-route .admin-tabs.content-picker-tabs a::after,
.admin-route .admin-tabs a::before,
.admin-route .admin-tabs a::after { display: none !important; }
.admin-route .admin-tabs.content-picker-tabs a span,
.admin-route .admin-tabs a span {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 22px !important;
  height: 22px !important;
  padding: 0 7px !important;
  border-radius: 999px !important;
  margin: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-indent: 0 !important;
  overflow: visible !important;
}
.admin-route .admin-tabs.content-picker-tabs a.is-active,
.admin-route .admin-tabs a.is-active {
  color: #fff !important;
  background: linear-gradient(135deg, #ef3b2d, #f04b28) !important;
  border-color: rgba(255,255,255,.12) !important;
}
.admin-route .admin-tabs.content-picker-tabs a.is-active span,
.admin-route .admin-tabs a.is-active span { background: rgba(255,255,255,.18) !important; color: #fff !important; }

/* Sponsor display controls: compact, scannable placement table/cards. */
.admin-route .sponsor-visibility-form .ad-placement-list {
  display: grid;
  gap: 10px;
}
.admin-route .sponsor-visibility-form .ad-placement-row {
  display: grid !important;
  grid-template-columns: minmax(180px, .9fr) minmax(220px, 1.4fr) auto auto !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px 16px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.035) !important;
  box-shadow: none !important;
}
.admin-route .sponsor-visibility-form .ad-placement-row > div {
  display: contents;
}
.admin-route .sponsor-visibility-form .ad-placement-row strong {
  color: var(--text) !important;
  font-size: 1rem;
}
.admin-route .sponsor-visibility-form .ad-placement-row p {
  margin: 0 !important;
  color: var(--muted) !important;
  overflow-wrap: anywhere;
}
.admin-route .sponsor-visibility-form .compact-switch-row {
  justify-self: end;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 132px;
  padding: 8px 10px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(0,0,0,.22) !important;
  color: var(--text) !important;
}
.admin-route .sponsor-visibility-form .compact-switch-copy strong { font-size: .85rem !important; }

/* Sponsor placement preview cards: dark, readable, and wider. */
.admin-route .sponsor-preview-grid,
.admin-route .sponsor-placement-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 14px !important;
}
.admin-route .sponsor-preview-card,
.admin-route .sponsor-placement-card {
  min-width: 0 !important;
  padding: 16px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.035) !important;
  box-shadow: none !important;
}
.admin-route .sponsor-preview-slot-label {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
}
.admin-route .sponsor-preview-slot-label strong {
  color: var(--text) !important;
  font-size: 1rem !important;
  line-height: 1.25 !important;
}
.admin-route .sponsor-preview-slot-label span {
  flex-shrink: 0 !important;
  padding: 4px 8px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(240,75,40,.35) !important;
  background: rgba(240,75,40,.13) !important;
  color: #ffc6ba !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
}
.admin-route .sponsor-preview-empty,
.admin-route .sponsor-preview-creative,
.admin-route .sponsor-preview-card p { color: var(--muted) !important; overflow-wrap: anywhere; }
.admin-route .sponsor-preview-stats {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 14px !important;
}
.admin-route .sponsor-preview-stats span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.055) !important;
  color: rgba(240,245,255,.92) !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
}
.admin-route .sponsor-preview-stats strong { color: #fff !important; }

/* Sponsorship header buttons */
.admin-route .ad-manager-title { align-items: flex-start !important; gap: 18px !important; }
.admin-route .ad-manager-title .admin-actions-row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  padding-top: 4px !important;
}
.admin-route .ad-manager-title .admin-actions-row .btn { min-height: 42px; white-space: nowrap; }

/* Concluded event manager view-only details */
.command-center-list input:disabled,
.command-center-list select:disabled,
.command-center-list textarea:disabled { opacity: .72; cursor: not-allowed; }
.command-center-list button:disabled { opacity: .55; cursor: not-allowed; }

@media (max-width: 760px) {
  .admin-route .sponsor-visibility-form .ad-placement-row {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .admin-route .sponsor-visibility-form .ad-placement-row > div { display: block; }
  .admin-route .sponsor-visibility-form .compact-switch-row { justify-self: stretch; width: 100%; }
  .admin-route .ad-manager-title .admin-actions-row { justify-content: flex-start !important; width: 100%; }
  .admin-route .ad-manager-title .admin-actions-row .btn { width: auto; }
  .admin-route .admin-tabs.content-picker-tabs a,
  .admin-route .admin-tabs a { flex: 1 1 calc(50% - 8px) !important; }
}

/* v1.10.201: post-v1.10.200 admin cleanup and event-manager fixes */
.admin-route .wp-admin-env-card {
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: #fff !important;
}
.admin-route .wp-admin-env-card.status-online,
.admin-route .wp-admin-env-card.status-live,
.admin-route .wp-admin-env-card.status-public,
.admin-route .wp-admin-env-card.status-public_indexing_allowed {
  background: linear-gradient(135deg, rgba(38,166,91,.95), rgba(57,217,138,.86)) !important;
  border-color: rgba(57,217,138,.38) !important;
}
.admin-route .wp-admin-env-card.status-offline,
.admin-route .wp-admin-env-card.status-disabled {
  background: linear-gradient(135deg, rgba(127,29,29,.95), rgba(239,68,68,.78)) !important;
  border-color: rgba(248,113,113,.48) !important;
}
.admin-route .wp-admin-env-card.status-maintenance,
.admin-route .wp-admin-env-card.status-admin_only,
.admin-route .wp-admin-env-card.status-noindex,
.admin-route .wp-admin-env-card.status-private_test_site {
  background: linear-gradient(135deg, rgba(120,53,15,.95), rgba(245,158,11,.70)) !important;
  border-color: rgba(245,158,11,.52) !important;
}
.admin-route .wp-admin-env-card span,
.admin-route .wp-admin-env-card strong { color: #fff !important; text-shadow: 0 1px 2px rgba(0,0,0,.25); }

.admin-route .page-title.split-title > .admin-actions-row,
.admin-route .page-title.split-title > .header-actions,
.admin-route .page-title.split-title > .button-stack {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-height: 0 !important;
  align-self: start !important;
}
.admin-route .page-title.split-title > .admin-actions-row:empty,
.admin-route .page-title.split-title > .header-actions:empty,
.admin-route .page-title.split-title > .button-stack:empty { display: none !important; }

.admin-route .admin-tabs.content-picker-tabs a,
.admin-route .admin-tabs a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  padding: 11px 18px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-indent: 0 !important;
}
.admin-route .admin-tabs a .filter-label,
.admin-route .admin-tabs a .filter-count,
.admin-route .admin-tabs.content-picker-tabs a .filter-label,
.admin-route .admin-tabs.content-picker-tabs a .filter-count {
  position: static !important;
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  text-indent: 0 !important;
  transform: none !important;
  overflow: visible !important;
  max-width: none !important;
}
.admin-route .admin-tabs a .filter-label,
.admin-route .admin-tabs.content-picker-tabs a .filter-label { color: inherit !important; font-weight: 900 !important; }
.admin-route .admin-tabs a .filter-count,
.admin-route .admin-tabs.content-picker-tabs a .filter-count {
  align-items: center !important;
  justify-content: center !important;
  min-width: 22px !important;
  height: 22px !important;
  padding: 0 7px !important;
  border-radius: 999px !important;
  background: rgba(15,23,42,.08) !important;
  color: rgba(15,23,42,.55) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}
.admin-route .admin-tabs a.is-active,
.admin-route .admin-tabs.content-picker-tabs a.is-active { color: #fff !important; }
.admin-route .admin-tabs a.is-active .filter-count,
.admin-route .admin-tabs.content-picker-tabs a.is-active .filter-count { background: rgba(255,255,255,.18) !important; color: #fff !important; }

.admin-route .support-saved-replies-grid .wp-admin-list li.saved-reply-row {
  display: grid !important;
  grid-template-columns: minmax(220px, .9fr) minmax(320px, 2fr) auto !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 18px 20px !important;
}
.admin-route .saved-reply-title strong {
  display: block !important;
  color: var(--text) !important;
  font-size: 1rem !important;
  line-height: 1.28 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.admin-route .saved-reply-preview span {
  color: rgba(220,230,255,.84) !important;
  font-size: .95rem !important;
  line-height: 1.45 !important;
}
.admin-route .saved-reply-actions { justify-self: end !important; }
.admin-route .saved-reply-actions .danger-link { white-space: nowrap !important; }

.admin-route .sponsor-visibility-form .ad-placement-row {
  grid-template-columns: minmax(190px, .8fr) minmax(260px, 1.4fr) minmax(150px, auto) minmax(150px, auto) !important;
}
.admin-route .sponsor-visibility-form .ad-placement-row input:focus,
.admin-route .sponsor-visibility-form .ad-placement-row .compact-switch-row:focus-within {
  outline: 2px solid rgba(96,165,250,.55) !important;
  outline-offset: 2px !important;
  border-color: rgba(96,165,250,.4) !important;
}
.admin-route .sponsor-preview-grid,
.admin-route .sponsor-placement-grid { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important; }
.admin-route .sponsor-preview-card:first-child,
.admin-route .sponsor-placement-card:first-child { background: rgba(255,255,255,.035) !important; }

@media (max-width: 820px) {
  .admin-route .support-saved-replies-grid .wp-admin-list li.saved-reply-row { grid-template-columns: 1fr !important; gap: 8px !important; }
  .admin-route .saved-reply-actions { justify-self: start !important; }
  .admin-route .page-title.split-title { grid-template-columns: 1fr !important; }
  .admin-route .page-title.split-title > .admin-actions-row,
  .admin-route .page-title.split-title > .header-actions,
  .admin-route .page-title.split-title > .button-stack { justify-content: flex-start !important; }
  .admin-route .sponsor-visibility-form .ad-placement-row { grid-template-columns: 1fr !important; }
}
.admin-route .page-title.split-title > .btn {
  border-radius: 999px !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  aspect-ratio: auto !important;
  padding: 10px 16px !important;
  align-self: start !important;
  justify-self: end !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: none !important;
}
@media (max-width: 820px) { .admin-route .page-title.split-title > .btn { justify-self: start !important; } }

/* v1.10.203 Event Manager operational dashboard spacing */
.command-center-title {
  align-items: start !important;
  gap: clamp(16px, 3vw, 32px) !important;
  padding-bottom: 1rem !important;
}
.command-center-title > div:first-child {
  min-width: 0 !important;
  max-width: 840px !important;
}
.command-center-title h1 {
  font-size: clamp(2.1rem, 5.4vw, 4.8rem) !important;
  line-height: .96 !important;
  letter-spacing: -.06em !important;
  max-width: 16ch !important;
  overflow-wrap: anywhere !important;
  margin-bottom: .9rem !important;
}
.command-center-title p:not(.eyebrow) {
  max-width: 720px !important;
  line-height: 1.55 !important;
}
.command-center-title .button-stack {
  align-self: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: .7rem !important;
  max-width: 760px !important;
}
.command-center-title .button-stack .btn {
  min-height: 44px !important;
  padding: .78rem 1rem !important;
  white-space: nowrap !important;
}
.command-center-title .button-stack .btn:disabled {
  opacity: .62 !important;
  cursor: not-allowed !important;
  color: rgba(240,245,255,.72) !important;
}
.event-manager-summary-card,
.command-center-grid > .form-card,
#rider-management.form-card,
.command-center-title + .notice {
  margin-top: 1rem !important;
}
.command-center-grid,
.management-grid.command-center-grid {
  gap: clamp(14px, 2vw, 22px) !important;
}
#rider-management .section-head,
.event-manager-summary-card .section-head {
  gap: 1rem !important;
}
@media (max-width: 900px) {
  .command-center-title {
    grid-template-columns: 1fr !important;
  }
  .command-center-title h1 {
    max-width: 100% !important;
    font-size: clamp(2rem, 12vw, 3.3rem) !important;
  }
  .command-center-title .button-stack {
    justify-content: flex-start !important;
    width: 100% !important;
  }
  .command-center-title .button-stack .btn {
    flex: 1 1 180px !important;
  }
}
@media (max-width: 560px) {
  .command-center-title .button-stack {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .command-center-title .button-stack .btn {
    width: 100% !important;
  }
}


/* v1.10.204 Event Manager participant/status layout cleanup */
.command-center-list .section-head.event-manager-participants-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: .9rem !important;
}
.command-center-list .section-head.event-manager-participants-head h2 {
  max-width: 780px !important;
}
.participant-search-wrap {
  margin-top: .35rem !important;
  margin-bottom: .65rem !important;
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  flex-wrap: wrap !important;
}
.participant-search-wrap input[type="search"] {
  width: min(420px, 100%) !important;
  min-height: 42px !important;
}
.command-center-list .table-scroll {
  margin-top: .25rem !important;
}
.command-center-list .admin-table th,
.command-center-list .admin-table td {
  vertical-align: top !important;
}
.command-center-list .admin-table th:nth-child(1),
.command-center-list .admin-table td:nth-child(1) { width: 22% !important; min-width: 190px !important; }
.command-center-list .admin-table th:nth-child(2),
.command-center-list .admin-table td:nth-child(2) { width: 9% !important; min-width: 88px !important; }
.command-center-list .admin-table th:nth-child(3),
.command-center-list .admin-table td:nth-child(3) { width: 15% !important; min-width: 140px !important; }
.command-center-list .admin-table th:nth-child(4),
.command-center-list .admin-table td:nth-child(4) { width: 22% !important; min-width: 210px !important; }
.command-center-list .admin-table th:nth-child(5),
.command-center-list .admin-table td:nth-child(5) { width: 32% !important; min-width: 280px !important; }
.command-center-list td input[name="notes"] {
  width: min(100%, 460px) !important;
  min-height: 42px !important;
  margin-bottom: .45rem !important;
}
.command-center-list td .small-btn {
  margin-right: .35rem !important;
  margin-top: .15rem !important;
}
.command-center-list .badge,
.command-center-list .badge-soft {
  white-space: nowrap !important;
}
.event-manager-poker-results-card {
  padding-block: 1.1rem !important;
  gap: .7rem !important;
}
.event-manager-poker-results-card .section-head {
  margin-bottom: .25rem !important;
}
.event-manager-poker-results-card > p.muted.small {
  margin-top: .2rem !important;
}
@media (max-width: 900px) {
  .participant-search-wrap { align-items: stretch !important; }
  .participant-search-wrap input[type="search"] { width: 100% !important; }
}
@media (max-width: 760px) {
  .command-center-list .admin-table th:nth-child(n),
  .command-center-list .admin-table td:nth-child(n) {
    width: auto !important;
    min-width: 0 !important;
  }
  .command-center-list td input[name="notes"] {
    width: 100% !important;
  }
  .command-center-list td .small-btn {
    width: auto !important;
  }
}

/* v1.10.205 global button cleanup: normal actions use dark styling site-wide. */
:root {
  --button-dark-bg: #141922;
  --button-dark-bg-strong: #1b2230;
  --button-dark-border: rgba(255,255,255,.16);
  --button-dark-border-strong: rgba(255,255,255,.24);
  --button-dark-text: #f8f7f4;
  --button-dark-muted: #c8d2e3;
}

/* Public/organizer normal action buttons */
body:not(.admin-route) .btn,
body:not(.admin-route) .small-btn,
body:not(.admin-route) .tiny-btn,
body:not(.admin-route) .compact-btn,
body:not(.admin-route) .link-button.nav-pill,
body:not(.admin-route) .hero-actions .btn,
body:not(.admin-route) .event-hero-actions .btn,
body:not(.admin-route) .compact-buttons .btn,
body:not(.admin-route) .route-actions .btn,
body:not(.admin-route) .inline-poster-actions .btn,
body:not(.admin-route) .poster-actions .btn,
body:not(.admin-route) .contact-actions .btn,
body:not(.admin-route) .modal-actions .btn,
body:not(.admin-route) .location-save-panel .btn,
body:not(.admin-route) .nearby-search-actions .btn,
body:not(.admin-route) .share-link-stack button,
body:not(.admin-route) .filter-actions .btn,
body:not(.admin-route) .quick-filter-row a,
body:not(.admin-route) .quick-filter-row button,
body:not(.admin-route) .event-view-toggle a,
body:not(.admin-route) .sticky-mobile-filter-button,
body:not(.admin-route) .tiny-btn-primary {
  background: linear-gradient(180deg, var(--button-dark-bg-strong), var(--button-dark-bg)) !important;
  border-color: var(--button-dark-border) !important;
  color: var(--button-dark-text) !important;
  box-shadow: none !important;
}

body:not(.admin-route) .btn-primary,
body:not(.admin-route) .event-view-toggle a.is-active,
body:not(.admin-route) .quick-filter-row a.is-active,
body:not(.admin-route) .quick-filter-row button.is-active,
body:not(.admin-route) .sticky-mobile-filter-button.is-active,
body:not(.admin-route) .tiny-btn-primary {
  background: linear-gradient(180deg, #222b3a, #151b25) !important;
  border-color: var(--button-dark-border-strong) !important;
  color: #fff !important;
}

body:not(.admin-route) .btn-secondary,
body:not(.admin-route) .btn-muted,
body:not(.admin-route) .btn-ghost {
  background: rgba(15,19,27,.86) !important;
  border-color: var(--button-dark-border) !important;
  color: var(--button-dark-text) !important;
}

body:not(.admin-route) .btn:hover,
body:not(.admin-route) .small-btn:hover,
body:not(.admin-route) .tiny-btn:hover,
body:not(.admin-route) .compact-btn:hover,
body:not(.admin-route) .quick-filter-row a:hover,
body:not(.admin-route) .quick-filter-row button:hover,
body:not(.admin-route) .event-view-toggle a:hover,
body:not(.admin-route) .share-link-stack button:hover {
  background: linear-gradient(180deg, #293244, #1b2230) !important;
  border-color: rgba(255,255,255,.28) !important;
  color: #fff !important;
  filter: none !important;
}

/* Keep destructive actions visually dangerous. */
body:not(.admin-route) .btn-danger,
body:not(.admin-route) .danger,
body:not(.admin-route) .small-btn.danger,
body:not(.admin-route) button.small-btn.danger,
body:not(.admin-route) .modal-actions .btn-danger {
  background: linear-gradient(180deg, #dc2626, #991b1b) !important;
  border-color: rgba(248,113,113,.45) !important;
  color: #fff !important;
}

/* Admin CMS normal action buttons use the same dark system. */
body.admin-route .btn,
body.admin-route .btn-primary,
body.admin-route .btn-secondary,
body.admin-route .tiny-btn,
body.admin-route .small-btn,
body.admin-route .compact-btn,
body.admin-route .email-action-row .btn,
body.admin-route .admin-actions-row .btn,
body.admin-route .page-title.split-title > .btn,
body.admin-route .cms-editor-toolbar .small-btn,
body.admin-route .wp-quickinsert-row .small-btn,
body.admin-route .quick-filter-row a,
body.admin-route .quick-filter-row button,
body.admin-route .event-view-toggle a,
body.admin-route .sticky-mobile-filter-button {
  background: linear-gradient(180deg, var(--button-dark-bg-strong), var(--button-dark-bg)) !important;
  border: 1px solid var(--button-dark-border) !important;
  color: var(--button-dark-text) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.admin-route .btn:hover,
body.admin-route .btn-primary:hover,
body.admin-route .btn-secondary:hover,
body.admin-route .tiny-btn:hover,
body.admin-route .small-btn:hover,
body.admin-route .compact-btn:hover,
body.admin-route .cms-editor-toolbar .small-btn:hover,
body.admin-route .wp-quickinsert-row .small-btn:hover,
body.admin-route .quick-filter-row a:hover,
body.admin-route .quick-filter-row button:hover,
body.admin-route .event-view-toggle a:hover {
  background: linear-gradient(180deg, #293244, #1b2230) !important;
  border-color: rgba(255,255,255,.28) !important;
  color: #fff !important;
  filter: none !important;
}

body.admin-route .btn-danger,
body.admin-route .danger-link,
body.admin-route .small-btn.danger,
body.admin-route button.small-btn.danger,
body.admin-route .btn[data-danger="true"] {
  background: rgba(127,29,29,.36) !important;
  border-color: rgba(248,113,113,.45) !important;
  color: #fecaca !important;
}
body.admin-route .btn-danger:hover,
body.admin-route .small-btn.danger:hover,
body.admin-route button.small-btn.danger:hover {
  background: rgba(153,27,27,.58) !important;
  color: #fff !important;
}

/* Admin filter tabs/pills: dark active and dark outlined inactive; no orange or white normal filters. */
body.admin-route .admin-tabs,
body.admin-route .admin-tabs.content-picker-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
}
body.admin-route .admin-tabs a,
body.admin-route .admin-tabs.content-picker-tabs a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 44px !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  border: 1px solid var(--button-dark-border) !important;
  background: rgba(15,19,27,.88) !important;
  color: var(--button-dark-text) !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-indent: 0 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}
body.admin-route .admin-tabs a.is-active,
body.admin-route .admin-tabs.content-picker-tabs a.is-active {
  background: linear-gradient(180deg, #222b3a, #151b25) !important;
  border-color: var(--button-dark-border-strong) !important;
  color: #fff !important;
}
body.admin-route .admin-tabs a .filter-label,
body.admin-route .admin-tabs.content-picker-tabs a .filter-label,
body.admin-route .admin-tabs a .filter-count,
body.admin-route .admin-tabs.content-picker-tabs a .filter-count,
body.admin-route .admin-tabs a > span,
body.admin-route .admin-tabs.content-picker-tabs a > span {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  text-indent: 0 !important;
  transform: none !important;
  overflow: visible !important;
  max-width: none !important;
  margin: 0 !important;
}
body.admin-route .admin-tabs a .filter-label,
body.admin-route .admin-tabs.content-picker-tabs a .filter-label {
  color: inherit !important;
  font-weight: 900 !important;
}
body.admin-route .admin-tabs a .filter-count,
body.admin-route .admin-tabs.content-picker-tabs a .filter-count,
body.admin-route .admin-tabs a > span:not(.filter-label),
body.admin-route .admin-tabs.content-picker-tabs a > span:not(.filter-label) {
  min-width: 22px !important;
  height: 22px !important;
  padding: 0 7px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.10) !important;
  color: rgba(240,245,255,.88) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}
body.admin-route .admin-tabs a.is-active .filter-count,
body.admin-route .admin-tabs.content-picker-tabs a.is-active .filter-count,
body.admin-route .admin-tabs a.is-active > span:not(.filter-label),
body.admin-route .admin-tabs.content-picker-tabs a.is-active > span:not(.filter-label) {
  background: rgba(255,255,255,.16) !important;
  color: #fff !important;
}

/* Header action containers should not create visible boxes behind buttons. */
body.admin-route .page-title.split-title > .admin-actions-row,
body.admin-route .page-title.split-title > .header-actions,
body.admin-route .page-title.split-title > .button-stack,
body.admin-route .ad-manager-title .admin-actions-row {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

@media (max-width: 760px) {
  body.admin-route .admin-tabs a,
  body.admin-route .admin-tabs.content-picker-tabs a {
    flex: 1 1 calc(50% - 8px) !important;
    padding-inline: 14px !important;
  }
}

/* v1.10.208: Event Manager QR fallback and section spacing polish */
.event-manager-summary-card,
.management-grid.command-center-grid,
.command-center-list,
.event-manager-poker-results-card {
  margin-top: 0 !important;
  margin-bottom: 1.25rem !important;
}

.event-manager-poker-results-card {
  margin-top: 1.25rem !important;
  padding-block: 1.35rem !important;
}

.event-manager-poker-results-card .section-head {
  margin-bottom: .8rem !important;
}

.event-manager-poker-results-card > p.muted.small {
  margin: .65rem 0 0 !important;
}

.management-grid.command-center-grid + .command-center-list,
.command-center-list + .event-manager-poker-results-card,
.form-card + .event-manager-poker-results-card {
  margin-top: 1.25rem !important;
}

@media (max-width: 760px) {
  .event-manager-summary-card,
  .management-grid.command-center-grid,
  .command-center-list,
  .event-manager-poker-results-card {
    margin-bottom: 1rem !important;
  }

  .event-manager-poker-results-card {
    margin-top: 1rem !important;
    padding-block: 1.1rem !important;
  }
}

/* v1.10.215: Mobile QR checked-in verify action visibility */
.qr-checkin-result-overlay {
  position: fixed;
  inset: 0;
  z-index: 1265;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(0,0,0,.78);
  backdrop-filter: blur(8px);
}
.qr-checkin-result-overlay[hidden] {
  display: none !important;
}
.qr-checkin-result-modal {
  position: relative;
  width: min(96vw, 680px);
  max-height: 92vh;
  overflow: auto;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 24px;
  background: rgba(17,24,39,.98);
  padding: 24px 18px 18px;
  box-shadow: 0 28px 80px rgba(0,0,0,.6);
}
.qr-stop-verify-form {
  display: grid;
  gap: 8px;
}
.qr-stop-verify-bottom-form {
  margin-top: 12px;
}
.qr-stop-verify-primary {
  margin-top: 0;
}
@media (max-width: 720px) {
  .qr-checkin-result-overlay {
    align-items: end;
    padding: 10px;
  }
  .qr-checkin-result-modal {
    width: min(100%, 460px);
    max-height: calc(100dvh - 20px);
    padding: 22px 14px 16px;
    border-radius: 22px 22px 18px 18px;
  }
  .qr-stop-verify-panel {
    gap: 12px;
  }
  .qr-stop-verify-form {
    margin-top: 4px;
  }
  .qr-stop-verify-primary {
    min-height: 52px;
  }
}

/* v1.10.216: force mobile QR stop verification action visible */
.qr-force-visible-verify {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}
@media (max-width: 720px), (pointer: coarse) {
  .qr-checkin-result-modal .qr-stop-verify-form {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .qr-checkin-result-modal .qr-stop-verify-primary,
  .qr-checkin-result-modal [data-qr-overlay-verify-submit] {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 52px;
  }
}

/* v1.10.220: one-tap poker score card grids */
.poker-selected-summary {
  display: grid;
  gap: 8px;
  margin: 8px 0 12px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 16px;
  background: rgba(255,255,255,.055);
}
.poker-selected-summary-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #f8fafc;
  font-size: .9rem;
}
.poker-selected-summary-head span {
  color: var(--muted);
  font-weight: 800;
}
.poker-selected-card-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.poker-selected-card-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 5px 9px;
  border: 1px solid rgba(34,197,94,.5);
  border-radius: 999px;
  background: rgba(34,197,94,.16);
  color: #ecfdf5;
  font-weight: 950;
  cursor: pointer;
}
.poker-selected-card-pill small {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(0,0,0,.24);
  color: #bbf7d0;
  font-size: 12px;
  line-height: 1;
}
.poker-selected-empty {
  color: var(--muted);
  font-size: .86rem;
}
.poker-one-tap-card {
  cursor: pointer;
  user-select: none;
  transition: transform .08s ease, background .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.poker-one-tap-card:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,.095);
}
.poker-one-tap-card input {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
}
.poker-card-choice-text {
  font-weight: 950;
  line-height: 1;
}
.poker-card-cell .poker-card-choice-text {
  font-size: clamp(.82rem, 1.25vw, 1.05rem);
}
.poker-card-cell:has(input:checked),
.poker-mobile-card-cell:has(input:checked) {
  border-color: rgba(34,197,94,.74) !important;
  background: rgba(34,197,94,.24) !important;
  box-shadow: inset 0 0 0 2px rgba(34,197,94,.55) !important;
  color: #ecfdf5 !important;
}
.poker-card-cell:has(input:disabled),
.poker-mobile-card-cell:has(input:disabled) {
  cursor: not-allowed;
  opacity: .62;
}
.poker-suit-head.suit-hearts,
.poker-suit-head.suit-diamonds,
.poker-mobile-suit-row.suit-hearts .poker-mobile-suit-label span,
.poker-mobile-suit-row.suit-diamonds .poker-mobile-suit-label span {
  color: #f87171;
}

@media (max-width: 720px) {
  .poker-modal {
    width: calc(100vw - 6px) !important;
    max-height: calc(100dvh - 8px) !important;
    padding: 10px 6px 8px !important;
  }
  .poker-scorecard-head {
    margin-right: 34px !important;
    gap: 8px !important;
  }
  .poker-scorecard-head h2 {
    font-size: 1.08rem !important;
    margin-bottom: 2px !important;
  }
  .poker-scorecard-head .muted.small {
    font-size: .76rem !important;
    line-height: 1.24 !important;
  }
  .poker-card-switcher {
    gap: 5px !important;
  }
  .poker-switch-btn {
    min-height: 31px !important;
    padding: 5px 8px !important;
    font-size: .74rem !important;
  }
  .poker-scorecard-name-row {
    margin: 7px 0 !important;
    gap: 10px !important;
    font-size: .82rem !important;
  }
  .poker-selected-summary {
    margin: 6px 0 8px !important;
    padding: 7px 8px !important;
    border-radius: 12px !important;
    gap: 5px !important;
  }
  .poker-selected-summary-head {
    font-size: .78rem !important;
  }
  .poker-selected-card-pills {
    gap: 4px !important;
  }
  .poker-selected-card-pill {
    min-height: 28px !important;
    padding: 4px 7px !important;
    font-size: .78rem !important;
  }
  .poker-selected-card-pill small {
    width: 15px !important;
    height: 15px !important;
    font-size: 10px !important;
  }
  .poker-scorecard-grid.poker-scorecard-grid-mobile.poker-scorecard-grid-compact-mobile {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    min-width: 0 !important;
    width: 100% !important;
    border: 0 !important;
    background: transparent !important;
  }
  .poker-mobile-suit-row {
    display: grid !important;
    grid-template-columns: 24px repeat(13, minmax(0, 1fr)) !important;
    gap: 2px !important;
    align-items: stretch !important;
    padding: 3px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 12px !important;
    background: rgba(0,0,0,.16) !important;
  }
  .poker-mobile-suit-label {
    display: grid !important;
    place-items: center !important;
    min-height: 31px !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.06) !important;
    font-weight: 950 !important;
  }
  .poker-mobile-suit-label span {
    font-size: 1.05rem !important;
    line-height: 1 !important;
  }
  .poker-mobile-suit-label small {
    display: none !important;
  }
  .poker-mobile-card-cell {
    display: grid !important;
    place-items: center !important;
    min-height: 31px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.055) !important;
    font-size: clamp(.58rem, 2.55vw, .74rem) !important;
    padding: 0 !important;
    gap: 0 !important;
  }
  .poker-mobile-card-cell .poker-card-choice-text {
    font-size: inherit !important;
  }
  .poker-modal form[data-poker-form] {
    overflow-x: hidden !important;
    padding-bottom: 2px !important;
  }
  .poker-modal-actions {
    margin-top: 8px !important;
    gap: 8px !important;
  }
  .poker-modal-actions [data-poker-hand] {
    min-height: 0 !important;
    font-size: .78rem !important;
  }
  .poker-modal-actions .btn {
    min-height: 42px !important;
    padding: 9px 10px !important;
  }
}

@media (max-width: 380px) {
  .poker-mobile-suit-row {
    grid-template-columns: 22px repeat(13, minmax(0, 1fr)) !important;
    gap: 1px !important;
    padding: 2px !important;
  }
  .poker-mobile-card-cell {
    min-height: 28px !important;
    border-radius: 6px !important;
    font-size: clamp(.52rem, 2.45vw, .68rem) !important;
  }
  .poker-mobile-suit-label {
    min-height: 28px !important;
    border-radius: 6px !important;
  }
}


/* v1.10.221: one-tap poker grid header cleanup */
.poker-scorecard-grid:not(.poker-scorecard-grid-mobile) .poker-rank-head,
.poker-scorecard-grid:not(.poker-scorecard-grid-mobile) .poker-grid-corner {
  display: none !important;
}

/* v1.10.222: submitted Poker Score Card proportional image view */
.poker-selected-summary[hidden],
.poker-selected-summary.is-hidden {
  display: none !important;
}

.poker-scorecard-grid.poker-scorecard-grid-submitted {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  overflow: visible !important;
}

.poker-scorecard-grid-submitted .submitted-scorecard-image-wrap {
  display: block !important;
  width: 100% !important;
  max-width: min(100%, 840px) !important;
  margin: 14px auto 8px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.poker-scorecard-grid-submitted .submitted-scorecard-image {
  display: block !important;
  width: 100% !important;
  max-width: 840px !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 auto !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 14px 36px rgba(0,0,0,.28) !important;
}

@media (max-width: 720px) {
  .poker-scorecard-grid-submitted .submitted-scorecard-image-wrap {
    margin: 10px auto 6px !important;
  }
  .poker-scorecard-grid-submitted .submitted-scorecard-image {
    max-width: 100% !important;
    border-radius: 10px !important;
  }
}

/* v1.10.224 My Events organizer filter spacing */
.my-events-panel > .organizer-event-buckets {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem .6rem;
  margin: .82rem .95rem .28rem;
  padding: 0;
}
.my-events-panel > .organizer-event-buckets a,
.my-events-panel > .organizer-event-buckets span {
  min-height: 36px;
  padding: .48rem .78rem;
  line-height: 1.05;
  align-items: center;
  justify-content: center;
}
.my-events-panel > .organizer-event-buckets + .my-event-list,
.my-events-panel > .organizer-event-buckets + .my-events-empty-state {
  margin-top: .35rem;
}
.my-events-panel-head + .organizer-event-buckets {
  border-top: 0;
}
@media (max-width: 680px) {
  .my-events-panel > .organizer-event-buckets {
    margin: .72rem .72rem .24rem;
    gap: .45rem;
  }
  .my-events-panel > .organizer-event-buckets a,
  .my-events-panel > .organizer-event-buckets span {
    flex: 1 1 calc(50% - .45rem);
    min-width: 0;
    min-height: 38px;
    padding: .5rem .58rem;
    font-size: .78rem;
  }
}

/* v1.10.227 site-wide consistency / mobile event-day cleanup */
.qr-scanner-overlay,
.assistant-codes-overlay,
.manual-checkin-overlay,
.qr-checkin-result-overlay,
.poker-overlay {
  --modal-bg: rgba(17,24,39,.98);
}
.qr-scanner-modal,
.assistant-codes-modal,
.manual-checkin-modal,
.qr-checkin-result-modal,
.poker-modal {
  max-width: min(96vw, 760px);
}
.route-preview-required-message {
  margin-top: 12px;
}
.event-duration-card {
  margin: 14px 0;
}
.event-manager-poker-results-card {
  margin-top: 1.25rem;
}
.event-manager-summary-card,
.command-center-list,
.event-manager-poker-results-card {
  overflow: hidden;
}
@media (max-width: 720px) {
  .command-center-title .button-stack {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .event-manager-summary-card .table-scroll,
  .command-center-list .table-scroll,
  .event-manager-poker-results-card .table-scroll {
    overflow: visible;
  }
  .event-manager-summary-table,
  .command-center-list table,
  .event-manager-poker-results-card table,
  .event-manager-summary-table thead,
  .command-center-list table thead,
  .event-manager-poker-results-card table thead,
  .event-manager-summary-table tbody,
  .command-center-list table tbody,
  .event-manager-poker-results-card table tbody,
  .event-manager-summary-table tr,
  .command-center-list table tr,
  .event-manager-poker-results-card table tr,
  .event-manager-summary-table td,
  .command-center-list table td,
  .event-manager-poker-results-card table td {
    display: block;
    width: 100%;
  }
  .event-manager-summary-table thead,
  .command-center-list table thead,
  .event-manager-poker-results-card table thead {
    display: none;
  }
  .event-manager-summary-table tr,
  .command-center-list table tr,
  .event-manager-poker-results-card table tr {
    border: 1px solid rgba(148,163,184,.24);
    border-radius: 18px;
    background: rgba(15,23,42,.82);
    padding: 12px;
    margin: 0 0 12px;
  }
  .event-manager-summary-table td,
  .command-center-list table td,
  .event-manager-poker-results-card table td {
    border: 0 !important;
    padding: 7px 0 !important;
  }
  .command-center-list table td:nth-child(1)::before { content: 'Participant'; }
  .command-center-list table td:nth-child(2)::before { content: 'Type'; }
  .command-center-list table td:nth-child(3)::before { content: 'Status'; }
  .command-center-list table td:nth-child(4)::before { content: 'Poker'; }
  .command-center-list table td:nth-child(5)::before { content: 'Actions'; }
  .event-manager-poker-results-card table td:nth-child(1)::before { content: 'Rank'; }
  .event-manager-poker-results-card table td:nth-child(2)::before { content: 'Participant'; }
  .event-manager-poker-results-card table td:nth-child(3)::before { content: 'Hand'; }
  .event-manager-poker-results-card table td:nth-child(4)::before { content: 'Evaluated cards'; }
  .event-manager-summary-table td::before,
  .command-center-list table td::before,
  .event-manager-poker-results-card table td::before {
    display: block;
    margin-bottom: 3px;
    color: #9ca3af;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
  }
  .command-center-list .inline-form,
  .command-center-list .compact-inline-form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .command-center-list input,
  .command-center-list select,
  .command-center-list .btn,
  .event-manager-poker-results-card .btn {
    width: 100%;
  }
  .participant-search-wrap {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: stretch;
  }
  .manual-checkin-start {
    gap: 12px;
  }
  .qr-scanner-modal,
  .assistant-codes-modal,
  .manual-checkin-modal,
  .qr-checkin-result-modal,
  .poker-modal {
    width: min(96vw, 640px) !important;
    max-height: 92vh !important;
    padding: 22px 14px 16px !important;
    border-radius: 22px !important;
  }
}

/* v1.10.228 create/edit event flow fixes */
.notice-danger,
.route-preview-required-message.notice-danger {
  border: 1px solid rgba(248, 113, 113, .45);
  border-left: 4px solid #ef4444;
  background: rgba(127, 29, 29, .32);
  color: #fee2e2;
  box-shadow: 0 0 0 1px rgba(248, 113, 113, .12) inset;
}
.route-preview-required-message.notice-danger::before {
  content: 'Required: ';
  font-weight: 800;
  color: #fecaca;
}
.field-hint {
  display: block;
  margin-top: .35rem;
  color: var(--muted, #b8c2d2);
  font-size: .86rem;
  line-height: 1.35;
}
.event-date-grid label[hidden],
[data-event-end-date-field][hidden],
[data-multiday-time-hint][hidden] {
  display: none !important;
}
.location-mode-card .poker-location-lock-note:not([hidden]) {
  color: #ffd7ba;
  background: rgba(251, 146, 60, .12);
  border: 1px solid rgba(251, 146, 60, .22);
  border-radius: 12px;
  padding: .65rem .8rem;
}


/* v1.10.230 mobile-first launch cleanup */
.support-contact-layout-single { grid-template-columns: minmax(0, 1fr); max-width: 860px; margin-inline: auto; }
.account-save-under-preferences { margin-top: 1rem; }
.organizer-upgrade-callout, .one-location-qr-card, .event-packet-card, .draft-delete-card, .attendance-count-card { border: 1px solid rgba(15,23,42,.12); border-radius: 18px; padding: 1rem; background: #fff; }
.organizer-upgrade-callout { background: linear-gradient(180deg,#fff7ed,#ffffff); }
.print-qr-overlay-card, .event-packet-print-card { max-width: 820px; margin: 0 auto; }
.print-qr-code { width: min(78vw, 360px); height: auto; display: block; margin: 1rem auto; }
.packet-page { background: #f8fafc; padding: 1rem; }
.packet-sheet { background: #fff; color: #111827; padding: .75in; margin: 0 auto 1rem; max-width: 8.5in; min-height: 10in; box-shadow: 0 8px 30px rgba(15,23,42,.08); }
.packet-sheet-header { text-align: center; border-bottom: 2px solid #111827; padding-bottom: .25in; margin-bottom: .25in; }
.packet-sheet-header h1 { font-family: Georgia, 'Times New Roman', serif; font-size: 30px; letter-spacing: .02em; margin: 0; }
.packet-sheet-header p { margin: .35rem 0 0; font-size: 14px; color: #374151; }
.packet-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.packet-table th, .packet-table td { border: 1px solid #9ca3af; padding: 8px; height: 28px; vertical-align: top; }
.packet-table th { background: #f3f4f6; text-align: left; }
.packet-actions { max-width: 8.5in; margin: 0 auto 1rem; display: flex; gap: .75rem; flex-wrap: wrap; }
.poker-cheat-sheet { columns: 2; column-gap: 1.5rem; font-size: 12px; margin-top: .35rem; }
.poker-cheat-sheet li { break-inside: avoid; margin-bottom: .25rem; }
.mobile-stack-table table { width: 100%; }
@media (max-width: 720px) {
  .packet-page { padding: .5rem; }
  .packet-sheet { padding: .35in .22in; min-height: auto; box-shadow: none; }
  .packet-sheet-header h1 { font-size: 22px; }
  .poker-cheat-sheet { columns: 1; }
  .packet-table { font-size: 11px; }
  .packet-actions { position: sticky; top: 0; background: #f8fafc; padding: .5rem; z-index: 5; }
}
@media print {
  body { background: #fff !important; }
  .site-header, .site-footer, .packet-actions, .mobile-rider-actions, .no-print { display: none !important; }
  .packet-page { padding: 0; background: #fff; }
  .packet-sheet { page-break-after: always; box-shadow: none; margin: 0; width: 100%; max-width: none; min-height: auto; }
}


/* v1.10.234 mobile-first premium flow helpers */
.event-flow-helper-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1rem 0;}
.event-flow-helper-card h2{margin:.25rem 0 .35rem;}
.my-event-row-actions form.inline-form{display:inline-flex;margin:0;}
@media (max-width: 720px){
  .event-flow-helper-grid{grid-template-columns:1fr;}
  .my-event-row-actions{display:flex;flex-wrap:wrap;gap:.55rem;}
  .my-event-row-actions .tiny-btn,.my-event-row-actions form.inline-form,.my-event-row-actions form.inline-form button{width:100%;justify-content:center;}
}
.admin-category-note{font-size:.86rem;color:var(--muted);}

/* v1.10.237 organizer guidance, admin organization, and privacy/security hardening */
.guided-event-type-wizard { margin: .75rem 0 1rem; display: grid; gap: .75rem; }
.guided-event-type-wizard > p { margin: 0; }
.event-type-choice-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .75rem; }
.event-type-choice-card { text-align: left; background: rgba(255,255,255,.045); border: 1px solid var(--line); border-radius: 16px; padding: .9rem; color: var(--text); cursor: pointer; display: grid; gap: .35rem; min-height: 112px; transition: border-color .15s ease, transform .15s ease, background .15s ease; }
.event-type-choice-card strong { font-size: 1rem; }
.event-type-choice-card span { color: var(--muted); font-size: .9rem; line-height: 1.35; }
.event-type-choice-card:hover,
.event-type-choice-card:focus-visible,
.event-type-choice-card.is-selected { border-color: rgba(181,31,41,.85); background: rgba(181,31,41,.12); transform: translateY(-1px); outline: none; }
.advanced-options-card { border: 1px solid rgba(255,255,255,.12); border-radius: 16px; padding: .85rem; background: rgba(255,255,255,.035); }
.advanced-options-card summary { cursor: pointer; font-weight: 800; }
.advanced-options-card summary + * { margin-top: .85rem; }
.simple-advanced-card { margin-top: .5rem; }
.published-impact-summary,
.change-impact-card { border-left: 4px solid #f59e0b; }
.change-impact-card p { margin: .25rem 0 .55rem; }
.impact-tag-row { display: flex; flex-wrap: wrap; gap: .4rem; }
.impact-tag-row span { display: inline-flex; align-items: center; border: 1px solid rgba(245,158,11,.34); background: rgba(245,158,11,.12); color: #fde68a; border-radius: 999px; padding: .24rem .55rem; font-size: .78rem; font-weight: 800; }
.security-checklist-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1rem; }
.security-checklist-card h2 { margin-bottom: .65rem; }
.security-checklist-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .65rem; }
.security-checklist-list li { border: 1px solid rgba(255,255,255,.1); border-radius: 14px; padding: .75rem; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; align-items: start; background: rgba(255,255,255,.035); }
.security-checklist-list strong { display: block; }
.security-checklist-list span { display: block; color: var(--muted); font-size: .86rem; line-height: 1.35; margin-top: .2rem; }
.security-checklist-list em { font-style: normal; border-radius: 999px; padding: .25rem .5rem; font-size: .72rem; font-weight: 900; white-space: nowrap; }
.security-checklist-list .status-configured em { background: rgba(34,197,94,.14); color: #bbf7d0; border: 1px solid rgba(34,197,94,.35); }
.security-checklist-list .status-planned em { background: rgba(59,130,246,.14); color: #bfdbfe; border: 1px solid rgba(59,130,246,.35); }
.security-checklist-list .status-needs-review em { background: rgba(245,158,11,.14); color: #fde68a; border: 1px solid rgba(245,158,11,.35); }
.empty-table-cell { padding: 1.25rem !important; }
.empty-state.compact-empty-state { padding: 1rem; text-align: left; }
.empty-state.compact-empty-state h3 { margin: 0 0 .35rem; }
.empty-state.compact-empty-state p { margin: 0 0 .75rem; }
.admin-route .admin-nav-section details[open] > summary { color: #fff; }
.admin-route .admin-category-note { display: block; margin: .2rem 0 .35rem; line-height: 1.25; }
@media (max-width: 720px) {
  .event-type-choice-grid,
  .security-checklist-grid { grid-template-columns: 1fr; }
  .event-type-choice-card { min-height: auto; }
  .security-checklist-list li { grid-template-columns: 1fr; }
  .security-checklist-list em { justify-self: start; }
  .impact-tag-row span { width: 100%; justify-content: center; }
}

/* v1.10.238 readiness, share kit, rider dashboard, and accessibility polish */
.event-readiness-card {
  border-color: rgba(255, 207, 106, .32);
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
}
.event-readiness-card.readiness-tone-good { border-color: rgba(56, 189, 148, .42); }
.event-readiness-card.readiness-tone-warning { border-color: rgba(255, 207, 106, .45); }
.event-readiness-card.readiness-tone-danger { border-color: rgba(255, 99, 99, .42); }
.readiness-status-pill,
.last-updated-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: .84rem;
  font-weight: 900;
  background: rgba(255,255,255,.06);
  color: var(--text);
}
.readiness-attention-list li { margin-bottom: 6px; }
.confirm-readiness-card,
.preview-before-publish-card {
  display: grid;
  gap: 16px;
}
.preview-before-publish-card {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}
.post-publish-share-kit {
  border-color: rgba(255, 207, 106, .42);
}
.post-publish-share-kit.is-newly-published {
  box-shadow: 0 0 0 1px rgba(255, 207, 106, .28), 0 22px 70px rgba(255, 207, 106, .08);
}
.share-kit-primary,
.share-kit-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}
.share-kit-primary { margin: 12px 0; }
.event-hero-meta .last-updated-pill { margin-left: 0; }

/* Accessibility pass: larger tap targets, clearer focus, clearer mobile spacing and field affordance. */
button,
.btn,
.tiny-btn,
.small-btn,
.share-action-btn,
.top-nav a,
.my-events-panel .tiny-btn,
.setup-section-card {
  min-height: 44px;
}
input,
select,
textarea {
  min-height: 44px;
}
textarea { padding-top: 12px; }
label,
.checkbox-row,
.checkbox-label { line-height: 1.45; }
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
button:focus-visible,
a:focus-visible,
summary:focus-visible {
  outline: 3px solid rgba(255, 207, 106, .86);
  outline-offset: 3px;
}
.errors,
.alert-error,
.notice-warning {
  border-width: 2px;
}
@media (max-width: 720px) {
  .preview-before-publish-card { grid-template-columns: 1fr; }
  .share-kit-primary,
  .share-kit-actions { grid-template-columns: 1fr; }
  .event-build-health-grid { gap: 12px; }
  .button-row,
  .compact-actions,
  .my-event-row-actions { gap: 10px; }
  .my-event-row-actions .tiny-btn,
  .my-event-row-actions .inline-form,
  .my-event-row-actions .inline-form button { width: 100%; }
}

/* v1.10.241 organizer editor cleanup: reduce dashboard clutter and make the editor feel like one guided flow */
.save-status-inline {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin: .45rem 0 0;
  padding: .35rem .65rem;
  border: 1px solid rgba(52, 211, 153, .38);
  border-radius: 999px;
  background: rgba(16, 185, 129, .10);
  color: #d1fae5;
  font-size: .82rem;
  font-weight: 800;
}
.single-readiness-summary.event-build-health-grid {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  margin: 12px 0 !important;
}
.single-readiness-summary .simplified-readiness-card {
  padding: 14px !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 36px rgba(0,0,0,.20) !important;
}
.single-readiness-summary .readiness-meter-top {
  gap: 10px !important;
}
.single-readiness-summary .readiness-bar {
  margin: 8px 0 0 !important;
}
.single-readiness-summary .readiness-attention-details {
  margin-top: 8px !important;
}
.quality-score-card,
.compact-readiness-details,
.compact-readiness {
  display: none !important;
}
.simplified-editor-top.compact-wizard-top {
  display: block !important;
  padding: 10px 12px !important;
  margin-bottom: 10px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.025) !important;
}
.simplified-editor-top .compact-wizard-title h2 {
  margin-bottom: 3px !important;
}
.guided-setup-workspace .guided-setup-main.simplified-wizard-status {
  display: block !important;
  grid-template-columns: 1fr !important;
}
.guided-setup-workspace .simplified-wizard-status .wizard-workspace-status {
  min-height: 0 !important;
  padding: 9px 11px !important;
}
.guided-setup-two-pane {
  grid-template-columns: minmax(180px, 230px) minmax(0, 1fr) !important;
  gap: 14px !important;
}
.setup-section-map.setup-rail {
  padding: 8px !important;
  gap: 5px !important;
}
.setup-section-card.setup-rail-item {
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  padding: 7px 8px !important;
  gap: 7px !important;
  border-radius: 11px !important;
}
.setup-section-card.setup-rail-item .setup-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: var(--muted, #aeb7c7);
  font-size: .72rem;
  font-weight: 950;
}
.setup-section-card.setup-rail-item.is-active .setup-step-number {
  background: rgba(240,75,40,.26);
  color: #fff;
}
.setup-section-card.setup-rail-item strong {
  font-size: .82rem !important;
}
.setup-section-card.setup-rail-item small {
  display: none !important;
}
.setup-section-card.setup-rail-item em {
  padding: 3px 6px !important;
  font-size: .55rem !important;
  max-width: 6.5rem;
  overflow: hidden;
  text-overflow: ellipsis;
}
.form-card.editor-panel,
.guided-setup-workspace .form-card,
.guided-setup-workspace .editor-panel {
  box-shadow: 0 14px 38px rgba(0,0,0,.18) !important;
}
.form-card.editor-panel > .eyebrow + h2,
.form-card.editor-panel .section-head h2 {
  margin-top: 0 !important;
}
.stop-editor-row {
  padding: 11px !important;
  gap: 8px !important;
}
.stop-row-head {
  gap: 8px !important;
}
.stop-row-head .row-actions {
  gap: 6px !important;
}
.stop-advanced-details,
.compact-route-return {
  margin-top: 2px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 13px;
  background: rgba(255,255,255,.025);
  padding: 0;
}
.stop-advanced-details > summary,
.compact-route-return > summary {
  cursor: pointer;
  padding: 9px 10px;
  font-weight: 900;
  color: var(--text, #f8f7f4);
  list-style-position: inside;
}
.stop-advanced-details[open],
.compact-route-return[open] {
  padding: 0 10px 10px;
}
.stop-advanced-details[open] > summary,
.compact-route-return[open] > summary {
  margin: 0 -10px 10px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.route-location-bottom-actions {
  justify-content: flex-end !important;
}
.publish-preview-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.wizard-bottom-controls {
  position: sticky !important;
  bottom: 12px !important;
  z-index: 30 !important;
  max-width: 960px !important;
  margin: 18px auto 22px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 10px !important;
  padding: 10px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 18px !important;
  background: rgba(12,14,18,.94) !important;
  box-shadow: 0 18px 52px rgba(0,0,0,.42) !important;
  backdrop-filter: blur(14px) !important;
}
.wizard-bottom-controls .btn {
  min-height: 42px !important;
}
@media (max-width: 1020px) {
  .guided-setup-two-pane {
    grid-template-columns: 1fr !important;
  }
  .guided-setup-two-pane .setup-rail {
    display: flex !important;
    overflow-x: auto !important;
    max-height: none !important;
    position: relative !important;
    top: auto !important;
  }
  .guided-setup-two-pane .setup-rail-head {
    flex: 0 0 100% !important;
  }
  .guided-setup-two-pane .setup-section-card.setup-rail-item {
    min-width: 180px !important;
  }
}
@media (max-width: 720px) {
  .publish-preview-actions,
  .wizard-bottom-controls {
    grid-template-columns: 1fr !important;
  }
  .single-readiness-summary .readiness-meter-top {
    display: grid !important;
  }
  .setup-section-card.setup-rail-item em {
    max-width: none;
  }
}

/* v1.10.242: mobile event QR scanner floating action */
@media (max-width: 760px) {
  .mobile-rider-floating-actions .mobile-event-action-btn {
    flex: 1 1 auto;
    max-width: 210px;
  }

  .mobile-rider-floating-actions .mobile-event-action-btn.is-disabled,
  .mobile-rider-floating-actions .mobile-event-action-btn:disabled {
    opacity: .72;
    cursor: not-allowed;
    filter: grayscale(.25);
  }

  .mobile-scanner-modal {
    width: min(100%, 430px);
  }

  .mobile-scanner-frame {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 1 / 1;
    margin: 14px auto;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 22px;
    background: rgba(0,0,0,.38);
  }

  .mobile-scanner-frame video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .mobile-scanner-frame::after {
    content: '';
    position: absolute;
    inset: 12%;
    border: 3px solid rgba(240,75,40,.9);
    border-radius: 18px;
    box-shadow: 0 0 0 999px rgba(0,0,0,.16);
    pointer-events: none;
  }
}

/* v1.10.243: event-day command, waivers, rider questions, notifications, and signage */
.event-day-command-shell,
.checked-in-waiver-list,
.rider-question-summary-card,
.waiver-public-card,
.waiver-sign-card,
.waiver-public-summary {
  border-color: rgba(240,75,40,.16) !important;
}
.event-day-command-shell .compact-fact-list,
.checked-in-waiver-list .compact-table,
.rider-question-summary-card .compact-fact-list {
  margin-top: 10px;
}
.event-day-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0;
}
.waiver-text-box {
  white-space: pre-wrap;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  background: rgba(255,255,255,.035);
  max-height: 70vh;
  overflow: auto;
}
.notification-row {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  background: rgba(255,255,255,.035);
  margin-bottom: 10px;
}
.notification-row.is-unread {
  border-color: rgba(240,75,40,.35);
  background: rgba(240,75,40,.08);
}
.print-signage-sheet {
  display: grid;
  gap: 16px;
  max-width: 900px;
  margin: 0 auto 40px;
}
.signage-card {
  break-inside: avoid;
  page-break-inside: avoid;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  background: rgba(255,255,255,.04);
}
.signage-card h2 {
  margin-top: 0;
}
.print-qr-code {
  width: min(280px, 70vw);
  height: auto;
  display: block;
  margin: 10px 0;
  background: #fff;
  padding: 8px;
  border-radius: 12px;
}
@media (max-width: 760px) {
  .desktop-print-action,
  .signage-no-print {
    display: none !important;
  }
  .event-day-command-shell .event-day-quick-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
}
@media print {
  .site-header,
  .site-footer,
  .mobile-rider-floating-actions,
  .signage-no-print,
  .environment-banner {
    display: none !important;
  }
  body {
    background: #fff !important;
    color: #111 !important;
  }
  main {
    padding: 0 !important;
  }
  .print-signage-sheet {
    max-width: none;
    color: #111;
  }
  .signage-card {
    border: 2px solid #111;
    background: #fff;
    color: #111;
    page-break-inside: avoid;
  }
  .print-qr-code {
    width: 260px;
    border: 1px solid #111;
  }
}

/* v1.10.245 notification bell and desktop-only QR print overlay */
.header-controls {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-left: auto;
}
.nav-bell-link {
  width: 48px;
  height: 48px;
  min-width: 48px;
  display: inline-grid;
  place-items: center;
  border-radius: 16px;
  color: #fff;
  background: #0d1117;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 10px 28px rgba(0,0,0,.22);
}
.nav-bell-link:hover,
.nav-bell-link:focus {
  color: #fff;
  border-color: rgba(240,75,40,.72);
  background: linear-gradient(135deg, rgba(181,31,41,.32), rgba(240,75,40,.16));
  outline: none;
}
.nav-bell-icon {
  width: 23px;
  height: 23px;
  display: block;
  fill: currentColor;
}
/* v1.10.250: compact desktop-only My Events attendance QR overlay and event-name print sheet. */
.qr-print-overlay[hidden] {
  display: none !important;
}
.qr-print-overlay {
  position: fixed;
  inset: 0;
  z-index: 220;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(0, 0, 0, .72);
  backdrop-filter: blur(8px);
}
body.qr-print-overlay-open {
  overflow: hidden;
}
.qr-print-dialog {
  width: min(420px, calc(100vw - 48px));
  max-height: calc(100vh - 48px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  position: relative;
  padding: 48px 28px 30px;
  background: #fff;
  color: #0b0f14;
  border-radius: 22px;
  box-shadow: 0 26px 82px rgba(0, 0, 0, .48);
  overflow: visible;
}
.qr-print-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .22);
}
.qr-print-close:hover,
.qr-print-close:focus {
  background: #0b0f14;
  outline: 2px solid rgba(240, 75, 40, .45);
  outline-offset: 2px;
}
.qr-print-only-code {
  display: block;
  width: min(320px, calc(100vw - 112px));
  max-width: 100%;
  height: auto;
  image-rendering: crisp-edges;
}
.qr-print-dialog .btn {
  margin-top: 2px;
  min-width: 92px;
}
@media (max-height: 620px) {
  .qr-print-dialog {
    padding: 42px 22px 22px;
    gap: 12px;
  }
  .qr-print-only-code {
    width: min(280px, calc(100vw - 112px));
    max-height: calc(100vh - 170px);
    object-fit: contain;
  }
}
@media (max-width: 899px) {
  .desktop-only-action,
  .qr-print-overlay[hidden] {
    display: none !important;
  }
  .qr-print-overlay {
    display: none !important;
  }
  .nav-bell-link {
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 12px;
  }
  .nav-bell-icon { width: 20px; height: 20px; }
  .header-controls { gap: 8px; }
}
@media print {
  @page {
    size: Letter portrait;
    margin: 0;
  }
  html,
  body,
  body.qr-print-sheet-open {
    width: 8.5in !important;
    height: 11in !important;
    min-width: 8.5in !important;
    min-height: 11in !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    color: #000 !important;
  }
  body.qr-print-sheet-open > *:not(.attendance-qr-print-sheet) {
    display: none !important;
  }
  body.qr-print-sheet-open .attendance-qr-print-sheet {
    display: flex !important;
    visibility: visible !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 8.5in !important;
    height: 11in !important;
    min-height: 11in !important;
    margin: 0 !important;
    padding: 0.55in !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    background: #fff !important;
    color: #000 !important;
    box-shadow: none !important;
    border: 0 !important;
    break-before: avoid !important;
    break-after: avoid !important;
    break-inside: avoid !important;
    page-break-before: avoid !important;
    page-break-after: avoid !important;
    page-break-inside: avoid !important;
  }

  body.qr-print-sheet-open .attendance-qr-print-title {
    display: block !important;
    max-width: 7.2in !important;
    margin: 0 0 0.14in !important;
    padding: 0 !important;
    color: #000 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 28pt !important;
    line-height: 1.08 !important;
    font-weight: 800 !important;
    text-align: center !important;
    overflow-wrap: anywhere !important;
  }
  body.qr-print-sheet-open .attendance-qr-print-instruction {
    display: block !important;
    margin: 0 0 0.32in !important;
    padding: 0 !important;
    color: #000 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 24pt !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
  }
  body.qr-print-sheet-open .attendance-qr-print-sheet *,
  body.qr-print-sheet-open .attendance-qr-print-image {
    background: transparent !important;
    box-shadow: none !important;
  }
  body.qr-print-sheet-open .attendance-qr-print-image {
    display: block !important;
    width: 5.35in !important;
    height: 5.35in !important;
    max-width: 5.35in !important;
    max-height: 5.35in !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    image-rendering: crisp-edges;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
}
.attendance-qr-print-sheet[hidden],
.attendance-qr-print-sheet {
  display: none;
}
.attendance-qr-print-title,
.attendance-qr-print-instruction {
  display: none;
}




/* v1.10.245: Professional Admin CMS log/detail polish */
.admin-log-details {
  display: grid;
  gap: 8px;
  margin: 0;
}
.admin-log-details div {
  display: grid;
  grid-template-columns: minmax(110px, 0.42fr) 1fr;
  gap: 10px;
  align-items: start;
  padding: 7px 0;
  border-bottom: 1px solid rgba(148, 163, 184, .18);
}
.admin-log-details div:last-child { border-bottom: 0; }
.admin-log-details dt {
  margin: 0;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.admin-log-details dd {
  margin: 0;
  overflow-wrap: anywhere;
}
.admin-log-details.compact-details { gap: 4px; }
.admin-detail-list {
  display: grid;
  gap: 10px;
  margin: 0;
}
.admin-detail-list div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(148, 163, 184, .16);
}
.admin-detail-list div:last-child { border-bottom: 0; padding-bottom: 0; }
.admin-detail-list dt { margin: 0; color: var(--muted); font-weight: 800; }
.admin-detail-list dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
.admin-clean-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.admin-clean-list li { padding: 12px; border: 1px solid rgba(148, 163, 184, .18); border-radius: 14px; background: rgba(255,255,255,.03); }
.admin-clean-list span { display: block; color: var(--muted); font-size: .86rem; margin-top: 3px; }
.admin-clean-list p { margin: 8px 0 0; }
.admin-event-summary-grid .wp-dashboard-widget { min-height: 100%; }
@media (max-width: 899px) {
  .admin-log-details div, .admin-detail-list div { grid-template-columns: 1fr; display: grid; gap: 3px; }
  .admin-detail-list dd { text-align: left; }
}

/* v1.10.252: WordPress-inspired Admin CMS block editor */
body.admin-route .cms-block-editor-shell {
  border-bottom: 1px solid var(--wp-admin-line, #dcdcde);
  background: #fff;
}
body.admin-route .cms-block-topbar {
  position: sticky;
  top: 0;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 6px 8px;
  border-bottom: 1px solid var(--wp-admin-line, #dcdcde);
  background: #fff;
}
body.admin-route .cms-block-icon,
body.admin-route .cms-block-toolbar-btn,
body.admin-route .cms-block-inserter button,
body.admin-route .cms-block-actions button {
  min-height: 32px;
  border: 1px solid var(--wp-admin-line, #c3c4c7);
  border-radius: 4px;
  background: #fff;
  color: var(--wp-admin-text, #1d2327);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
body.admin-route .cms-block-icon {
  width: 34px;
  padding: 0;
  font-size: 18px;
  line-height: 1;
}
body.admin-route .cms-block-toolbar-btn { padding: 5px 10px; }
body.admin-route .cms-block-toolbar-btn.active,
body.admin-route .cms-block-icon:hover,
body.admin-route .cms-block-toolbar-btn:hover,
body.admin-route .cms-block-inserter button:hover,
body.admin-route .cms-block-actions button:hover {
  border-color: var(--wp-admin-blue, #2271b1);
  color: var(--wp-admin-blue, #2271b1);
  background: #f6f7f7;
}
body.admin-route .cms-block-workspace {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr) 260px;
  min-height: 330px;
}
body.admin-route .cms-block-inserter,
body.admin-route .cms-block-inspector {
  padding: 12px;
  background: var(--wp-admin-surface-2, #f6f7f7);
}
body.admin-route .cms-block-inserter {
  border-right: 1px solid var(--wp-admin-line, #dcdcde);
}
body.admin-route .cms-block-inspector {
  border-left: 1px solid var(--wp-admin-line, #dcdcde);
}
body.admin-route .cms-block-inserter strong,
body.admin-route .cms-document-overview h4,
body.admin-route .cms-selected-settings h4 {
  display: block;
  margin: 0 0 8px;
  color: var(--wp-admin-text, #1d2327);
  font-size: 13px;
  font-weight: 900;
}
body.admin-route .cms-block-inserter button {
  width: 100%;
  justify-content: flex-start;
  margin: 0 0 6px;
  padding: 6px 8px;
  text-align: left;
}
body.admin-route .cms-block-canvas {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 16px;
  background: #fff;
}
body.admin-route .cms-content-block {
  border: 1px solid var(--wp-admin-line, #dcdcde);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 1px 1px rgba(0,0,0,.03);
}
body.admin-route .cms-content-block.active {
  border-color: var(--wp-admin-blue, #2271b1);
  box-shadow: 0 0 0 1px var(--wp-admin-blue, #2271b1);
}
body.admin-route .cms-content-block.dragging { opacity: .55; }
body.admin-route .cms-content-block header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--wp-admin-line, #dcdcde);
  background: var(--wp-admin-surface-2, #f6f7f7);
}
body.admin-route .cms-content-block header strong {
  flex: 1 1 auto;
  color: var(--wp-admin-text, #1d2327);
  font-size: 13px;
}
body.admin-route .cms-block-drag {
  border: 0;
  background: transparent;
  color: var(--wp-admin-muted, #646970);
  cursor: grab;
  font-weight: 900;
}
body.admin-route .cms-block-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
body.admin-route .cms-block-actions button {
  min-height: 26px;
  padding: 3px 7px;
  font-size: 11px;
}
body.admin-route .cms-block-body {
  display: grid;
  gap: 8px;
  padding: 10px;
}
body.admin-route .cms-block-body input,
body.admin-route .cms-block-body textarea,
body.admin-route .cms-selected-settings input,
body.admin-route .cms-selected-settings textarea,
body.admin-route .cms-selected-settings select {
  width: 100%;
  border: 1px solid var(--wp-admin-line, #c3c4c7);
  border-radius: 4px;
  background: #fff;
  color: var(--wp-admin-text, #1d2327);
}
body.admin-route .cms-block-body textarea,
body.admin-route .cms-selected-settings textarea {
  min-height: 84px;
  resize: vertical;
}
body.admin-route .cms-block-inline-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
body.admin-route .cms-document-overview,
body.admin-route .cms-selected-settings {
  margin: 0 0 14px;
  padding: 0 0 14px;
  border-bottom: 1px solid var(--wp-admin-line, #dcdcde);
}
body.admin-route .cms-document-overview p,
body.admin-route .cms-selected-settings p,
body.admin-route .cms-selected-settings small {
  color: var(--wp-admin-muted, #646970);
  font-size: 12px;
  line-height: 1.4;
}
body.admin-route .cms-block-list-view {
  display: grid;
  gap: 5px;
  margin: 8px 0 0;
}
body.admin-route .cms-block-list-view button {
  min-height: 30px;
  border: 1px solid transparent;
  border-radius: 3px;
  background: transparent;
  color: var(--wp-admin-text, #1d2327);
  font-size: 12px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}
body.admin-route .cms-block-list-view button.active,
body.admin-route .cms-block-list-view button:hover {
  border-color: var(--wp-admin-blue, #2271b1);
  background: #fff;
  color: var(--wp-admin-blue, #2271b1);
}
body.admin-route .cms-block-inspector label {
  display: grid;
  gap: 5px;
  margin: 0 0 10px;
  color: var(--wp-admin-text, #1d2327);
  font-size: 12px;
  font-weight: 800;
}
body.admin-route .has-block-editor > .cms-classic-toolbar,
body.admin-route .has-block-editor > .cms-rich-textarea,
body.admin-route .has-block-editor > .wp-visual-preview,
body.admin-route .has-block-editor > .cms-live-preview {
  display: none;
}
body.admin-route .has-block-editor.is-block-code-mode > .cms-rich-textarea {
  display: block;
  min-height: 260px;
  border-top: 1px solid var(--wp-admin-line, #dcdcde);
}
body.admin-route .has-block-editor.is-block-code-mode .cms-block-workspace,
body.admin-route .has-block-editor.is-block-preview-mode .cms-block-workspace {
  display: none;
}
body.admin-route .cms-block-preview {
  display: none;
  min-height: 260px;
  padding: 20px;
  background: #fff;
}
body.admin-route .has-block-editor.is-block-preview-mode .cms-block-preview { display: block; }
body.admin-route .has-block-editor .wp-editor-tabs { display: none; }
body.admin-route .wp-section-editor-intro strong::after {
  content: ' · Block Editor enabled';
  color: var(--wp-admin-blue, #2271b1);
}
@media (max-width: 1180px) {
  body.admin-route .cms-block-workspace { grid-template-columns: 1fr; }
  body.admin-route .cms-block-inserter,
  body.admin-route .cms-block-inspector {
    display: none;
    border: 0;
    border-bottom: 1px solid var(--wp-admin-line, #dcdcde);
  }
  body.admin-route .cms-block-inserter.open,
  body.admin-route .cms-block-inspector.open { display: block; }
}
@media (max-width: 700px) {
  body.admin-route .cms-block-topbar { overflow-x: auto; }
  body.admin-route .cms-block-inline-grid { grid-template-columns: 1fr; }
  body.admin-route .cms-content-block header { align-items: flex-start; flex-direction: column; }
  body.admin-route .cms-block-actions { width: 100%; }
}

/* v1.10.252 Admin CMS dashboard navigation polish */
.wp-admin-sidebar {
  background: #1d2327;
}
.wp-admin-menu {
  display: block;
  padding: 6px 0 24px;
}
.wp-admin-menu-group {
  padding: 0;
  border-bottom: 1px solid rgba(255,255,255,.055);
}
.wp-admin-menu-group h2 { display: none; }
.wp-admin-menu-group-toggle {
  width: 100%;
  min-height: 48px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: center;
  padding: 10px 12px;
  border: 0;
  border-left: 4px solid transparent;
  background: transparent;
  color: #c3c4c7;
  text-align: left;
  cursor: pointer;
}
.wp-admin-menu-group-toggle:hover,
.wp-admin-menu-group.is-current-section > .wp-admin-menu-group-toggle {
  background: #2c3338;
  color: #fff;
  border-left-color: #72aee6;
}
.wp-admin-group-icon {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border-radius: 4px;
  background: rgba(255,255,255,.06);
  color: #a7aaad;
  font-size: 13px;
  font-weight: 900;
}
.wp-admin-menu-group.is-current-section .wp-admin-group-icon,
.wp-admin-menu-group-toggle:hover .wp-admin-group-icon {
  background: rgba(114,174,230,.20);
  color: #fff;
}
.wp-admin-group-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.wp-admin-group-copy strong {
  display: block;
  color: inherit;
  font-size: 14px;
  line-height: 1.1;
  font-weight: 800;
}
.wp-admin-group-copy small {
  display: block;
  color: #8c8f94;
  font-size: 11px;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wp-admin-menu-group.is-current-section .wp-admin-group-copy small,
.wp-admin-menu-group-toggle:hover .wp-admin-group-copy small {
  color: #c3c4c7;
}
.wp-admin-group-caret {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  color: #a7aaad;
  transition: transform .16s ease;
}
.wp-admin-menu-group:not(.is-open) .wp-admin-group-caret {
  transform: rotate(-90deg);
}
.wp-admin-submenu {
  display: none;
  padding: 2px 0 8px;
  background: rgba(0,0,0,.12);
}
.wp-admin-menu-group.is-open .wp-admin-submenu {
  display: block;
}
.wp-admin-submenu .wp-admin-menu-item {
  min-height: 36px;
  grid-template-columns: 28px 1fr auto;
  padding: 7px 12px 7px 24px;
  border-left-width: 4px;
  font-size: 13px;
  font-weight: 650;
}
.wp-admin-submenu .wp-admin-menu-icon {
  width: 22px;
  min-height: 22px;
  border-radius: 4px;
  font-size: 11px;
}
body.admin-route.admin-compact-menu .wp-admin-group-copy small {
  display: none;
}
body.admin-route.admin-compact-menu .wp-admin-menu-group-toggle {
  min-height: 40px;
  padding-top: 7px;
  padding-bottom: 7px;
}
body.admin-route.admin-compact-menu .wp-admin-submenu .wp-admin-menu-item {
  min-height: 32px;
  padding-top: 5px;
  padding-bottom: 5px;
}
body.admin-route.admin-collapse-inactive .wp-admin-menu-group:not(.is-current-section):not(.is-forced-open) .wp-admin-submenu {
  display: none;
}
body.admin-route.admin-sidebar-closed .wp-admin-shell {
  grid-template-columns: 76px minmax(0, 1fr);
}
body.admin-route.admin-sidebar-closed .wp-admin-menu-group-toggle {
  grid-template-columns: 1fr;
  justify-items: center;
  padding: 10px 8px;
}
body.admin-route.admin-sidebar-closed .wp-admin-group-copy,
body.admin-route.admin-sidebar-closed .wp-admin-group-caret,
body.admin-route.admin-sidebar-closed .wp-admin-submenu,
body.admin-route.admin-sidebar-closed .wp-admin-menu-group .wp-admin-menu-count {
  display: none;
}
body.admin-route.admin-sidebar-closed .wp-admin-group-icon {
  width: 34px;
  height: 34px;
}
.wp-admin-dropdown {
  position: relative;
}
.wp-admin-dropdown-panel {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 80;
  width: min(300px, 86vw);
  display: none;
  padding: 14px;
  border: 1px solid var(--wp-admin-line);
  border-radius: 3px;
  background: #fff;
  color: var(--wp-admin-text);
  box-shadow: 0 14px 34px rgba(0,0,0,.16);
}
.wp-admin-dropdown.is-open .wp-admin-dropdown-panel { display: grid; gap: 10px; }
.wp-admin-dropdown-panel strong {
  font-size: 13px;
  color: var(--wp-admin-text);
}
.wp-admin-dropdown-panel label {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  color: var(--wp-admin-text);
  font-size: 13px;
  font-weight: 700;
}
.wp-admin-dropdown-panel p {
  margin: 0;
  color: var(--wp-admin-muted);
  font-size: 12px;
  line-height: 1.45;
}
.wp-dashboard-widget header {
  gap: 10px;
}
.wp-dashboard-widget-toggle {
  margin-left: auto;
  width: 28px;
  height: 28px;
  border: 1px solid var(--wp-admin-line);
  border-radius: 3px;
  background: #fff;
  color: var(--wp-admin-muted);
  cursor: pointer;
  font-weight: 900;
}
.wp-dashboard-widget.is-collapsed > :not(header) {
  display: none !important;
}
.wp-dashboard-widget.is-collapsed .wp-dashboard-widget-toggle {
  transform: rotate(-90deg);
}
.wp-dashboard-widget.is-dragging {
  opacity: .65;
  outline: 2px dashed #72aee6;
}
@media (max-width: 820px) {
  .wp-admin-menu-group-toggle { min-height: 50px; }
  .wp-admin-group-copy small { white-space: normal; }
  .wp-admin-topbar-actions { display: none; }
}
@media (min-width: 821px) {
  .wp-admin-topbar-actions { display: flex; align-items: center; gap: 8px; }
}

/* v1.10.253: Public-page CMS block rendering alignment */
.cms-public-content {
  display: block;
}
.cms-public-content > :first-child { margin-top: 0; }
.cms-public-content > :last-child { margin-bottom: 0; }
.cms-public-content p,
.cms-public-content ul,
.cms-public-content ol,
.cms-public-content blockquote,
.cms-public-content table,
.cms-public-content figure {
  margin: 0 0 .9rem;
}
.cms-public-content h2,
.cms-public-content h3,
.cms-public-content h4 {
  margin: 1rem 0 .45rem;
  line-height: 1.18;
}
.cms-public-content ul,
.cms-public-content ol {
  padding-left: 1.25rem;
}
.cms-public-content blockquote {
  padding: .75rem 1rem;
  border-left: 4px solid var(--accent, #ea580c);
  background: rgba(234, 88, 12, .08);
  border-radius: 10px;
}
.cms-public-content .cms-media-block {
  display: grid;
  gap: .45rem;
}
.cms-public-content .cms-media-block img,
.cms-public-content img {
  max-width: 100%;
  height: auto;
  border-radius: 14px;
}
.cms-public-content figcaption {
  color: var(--text-muted, #64748b);
  font-size: .9rem;
}
.cms-public-content table {
  width: 100%;
  border-collapse: collapse;
}
.cms-public-content th,
.cms-public-content td {
  border: 1px solid var(--border-soft, #e2e8f0);
  padding: .55rem;
  text-align: left;
  vertical-align: top;
}
.cms-public-content th {
  background: rgba(15, 23, 42, .04);
  font-weight: 800;
}
.page-intro-copy {
  color: var(--muted, #64748b);
}
.page-intro-copy p {
  font-size: inherit;
  color: inherit;
}
.footer-disclaimer.cms-public-content {
  margin: 0 auto .55rem;
  max-width: 980px;
}
.footer-disclaimer.cms-public-content p { margin-bottom: 0; }
.filter-helper-copy.cms-public-content p {
  margin: .15rem 0 0;
}

/* v1.10.254: Full WYSIWYG block editing polish */
body.admin-route .cms-wysiwyg-editor,
body.admin-route .cms-image-block-editor,
body.admin-route .cms-button-block-editor,
body.admin-route .cms-table-block-editor,
body.admin-route .cms-html-block-editor,
body.admin-route .cms-list-block-editor {
  display: grid;
  gap: 8px;
}
body.admin-route .cms-wysiwyg-toolbar,
body.admin-route .cms-table-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
  padding: 6px;
  border: 1px solid var(--wp-admin-line, #dcdcde);
  border-radius: 4px;
  background: #f6f7f7;
}
body.admin-route .cms-wysiwyg-toolbar button,
body.admin-route .cms-table-toolbar button {
  min-height: 30px;
  border: 1px solid #c3c4c7;
  border-radius: 3px;
  background: #fff;
  color: #1d2327;
  font-size: 12px;
  font-weight: 800;
  padding: 4px 8px;
  cursor: pointer;
}
body.admin-route .cms-wysiwyg-toolbar button:hover,
body.admin-route .cms-table-toolbar button:hover,
body.admin-route .cms-wysiwyg-toolbar button:focus-visible,
body.admin-route .cms-table-toolbar button:focus-visible {
  border-color: var(--wp-admin-blue, #2271b1);
  color: var(--wp-admin-blue, #2271b1);
  box-shadow: 0 0 0 1px var(--wp-admin-blue, #2271b1);
  outline: 0;
}
body.admin-route .cms-wysiwyg-surface,
body.admin-route .cms-list-block-editor ul,
body.admin-route .cms-list-block-editor ol {
  min-height: 94px;
  padding: 12px;
  border: 1px solid #c3c4c7;
  border-radius: 4px;
  background: #fff;
  color: #1d2327;
  line-height: 1.55;
}
body.admin-route .cms-list-block-editor ul,
body.admin-route .cms-list-block-editor ol {
  margin: 0;
  padding-left: 32px;
}
body.admin-route .cms-wysiwyg-surface:focus,
body.admin-route .cms-list-block-editor ul:focus,
body.admin-route .cms-list-block-editor ol:focus,
body.admin-route .cms-editable-table td:focus {
  border-color: var(--wp-admin-blue, #2271b1);
  box-shadow: 0 0 0 1px var(--wp-admin-blue, #2271b1);
  outline: 0;
}
body.admin-route .cms-wysiwyg-surface:empty::before,
body.admin-route [contenteditable][data-placeholder]:empty::before {
  content: attr(data-placeholder);
  color: #8c8f94;
  pointer-events: none;
}
body.admin-route .cms-inline-setting {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  max-width: max-content;
  color: #1d2327;
  font-size: 12px;
  font-weight: 800;
}
body.admin-route .cms-inline-setting select,
body.admin-route .cms-inline-setting input {
  width: auto;
  min-width: 92px;
}
body.admin-route .cms-image-preview {
  min-height: 160px;
  display: grid;
  place-items: center;
  border: 1px dashed #c3c4c7;
  border-radius: 4px;
  background: #f6f7f7;
  overflow: hidden;
}
body.admin-route .cms-image-preview img {
  display: block;
  max-width: 100%;
  max-height: 260px;
  object-fit: contain;
}
body.admin-route .cms-image-preview span {
  color: #646970;
  font-size: 13px;
  font-weight: 800;
}
body.admin-route .cms-button-block-editor .btn {
  width: fit-content;
  min-width: 120px;
  text-align: center;
}
body.admin-route .cms-editable-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}
body.admin-route .cms-editable-table td {
  min-width: 120px;
  min-height: 36px;
  padding: 10px;
  border: 1px solid #c3c4c7;
  vertical-align: top;
  color: #1d2327;
}
body.admin-route .cms-html-live-preview {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid #dcdcde;
  border-radius: 4px;
  background: #f6f7f7;
  color: #1d2327;
}
body.admin-route .cms-html-live-preview > div {
  padding: 10px;
  border: 1px solid #dcdcde;
  border-radius: 4px;
  background: #fff;
}
body.admin-route .cms-spacer-preview {
  border: 1px dashed #c3c4c7;
  border-radius: 4px;
  background: repeating-linear-gradient(45deg, #f6f7f7, #f6f7f7 8px, #fff 8px, #fff 16px);
}
body.admin-route .cms-block-body .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
body.admin-route .cms-content-block.active .cms-wysiwyg-surface,
body.admin-route .cms-content-block.active .cms-editable-table td,
body.admin-route .cms-content-block.active .cms-list-block-editor ul,
body.admin-route .cms-content-block.active .cms-list-block-editor ol {
  background: #fff;
}
body.admin-route .cms-block-preview .cms-content-note,
.cms-block-content .cms-content-note,
.cms-rendered-content .cms-content-note,
.public-cms-content .cms-content-note {
  border-left: 4px solid var(--accent, #f97316);
  border-radius: 10px;
  padding: 12px 14px;
  background: rgba(249, 115, 22, .10);
}
@media (max-width: 700px) {
  body.admin-route .cms-wysiwyg-toolbar,
  body.admin-route .cms-table-toolbar { overflow-x: auto; flex-wrap: nowrap; }
  body.admin-route .cms-wysiwyg-surface { min-height: 120px; }
}

/* v1.10.255: Mobile-first CMS Block Editor and public block rendering polish */
body.admin-route .cms-block-editor-shell,
body.admin-route .cms-block-editor-shell * {
  box-sizing: border-box;
}
body.admin-route .cms-block-topbar {
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
body.admin-route .cms-block-icon,
body.admin-route .cms-block-toolbar-btn,
body.admin-route .cms-block-inserter button,
body.admin-route .cms-block-actions button,
body.admin-route .cms-wysiwyg-toolbar button,
body.admin-route .cms-table-toolbar button {
  touch-action: manipulation;
}
body.admin-route .cms-wysiwyg-surface,
body.admin-route .cms-list-block-editor ul,
body.admin-route .cms-list-block-editor ol,
body.admin-route .cms-editable-table td {
  overflow-wrap: anywhere;
  word-break: break-word;
}
body.admin-route .cms-table-block-editor {
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
body.admin-route .cms-image-preview img,
body.admin-route .cms-block-preview img,
.cms-public-content img,
.cms-public-content .cms-media-block img {
  display: block;
  max-width: 100%;
  height: auto;
}
.cms-public-content,
.cms-public-content * {
  max-width: 100%;
  box-sizing: border-box;
}
.cms-public-content table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  white-space: normal;
}
.cms-public-content tbody,
.cms-public-content thead,
.cms-public-content tr {
  width: 100%;
}
.cms-public-content .btn,
.cms-public-content a.btn,
.cms-public-content .button,
.cms-public-content a.button {
  max-width: 100%;
  white-space: normal;
  text-align: center;
}
@media (max-width: 760px) {
  body.admin-route .cms-block-editor-shell {
    margin-inline: -10px;
    border-top: 1px solid var(--wp-admin-line, #dcdcde);
  }
  body.admin-route .cms-block-topbar {
    gap: 5px;
    padding: 8px;
    overflow-x: auto;
    flex-wrap: nowrap;
  }
  body.admin-route .cms-block-icon,
  body.admin-route .cms-block-toolbar-btn {
    min-width: 44px;
    min-height: 44px;
    flex: 0 0 auto;
    padding: 8px 11px;
    font-size: 13px;
  }
  body.admin-route .cms-block-workspace {
    grid-template-columns: 1fr !important;
    min-height: 0;
  }
  body.admin-route .cms-block-canvas {
    gap: 12px;
    padding: 12px;
  }
  body.admin-route .cms-content-block {
    border-radius: 10px;
  }
  body.admin-route .cms-content-block header {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: start;
    gap: 8px;
    padding: 10px;
  }
  body.admin-route .cms-content-block header strong {
    min-height: 34px;
    display: flex;
    align-items: center;
  }
  body.admin-route .cms-block-actions {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    width: 100%;
  }
  body.admin-route .cms-block-actions button,
  body.admin-route .cms-block-inserter button,
  body.admin-route .cms-wysiwyg-toolbar button,
  body.admin-route .cms-table-toolbar button {
    min-height: 44px;
    padding: 8px 10px;
    font-size: 13px;
  }
  body.admin-route .cms-block-drag {
    width: 34px;
    min-height: 34px;
  }
  body.admin-route .cms-block-body {
    gap: 10px;
    padding: 12px;
  }
  body.admin-route .cms-wysiwyg-toolbar,
  body.admin-route .cms-table-toolbar {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    overflow: visible;
  }
  body.admin-route .cms-wysiwyg-toolbar button,
  body.admin-route .cms-table-toolbar button {
    width: 100%;
    white-space: normal;
  }
  body.admin-route .cms-wysiwyg-surface,
  body.admin-route .cms-list-block-editor ul,
  body.admin-route .cms-list-block-editor ol {
    min-height: 148px;
    padding: 14px;
    font-size: 16px;
    line-height: 1.6;
  }
  body.admin-route .cms-list-block-editor ul,
  body.admin-route .cms-list-block-editor ol {
    padding-left: 30px;
  }
  body.admin-route .cms-inline-setting {
    display: grid;
    max-width: none;
    width: 100%;
    gap: 6px;
  }
  body.admin-route .cms-inline-setting select,
  body.admin-route .cms-inline-setting input,
  body.admin-route .cms-button-block-editor .btn {
    width: 100%;
    min-width: 0;
  }
  body.admin-route .cms-image-preview {
    min-height: 128px;
  }
  body.admin-route .cms-image-preview img {
    max-height: 220px;
  }
  body.admin-route .cms-editable-table {
    min-width: 560px;
  }
  body.admin-route .cms-editable-table td {
    min-width: 150px;
    padding: 12px;
    font-size: 15px;
  }
  body.admin-route .cms-block-inserter.open,
  body.admin-route .cms-block-inspector.open {
    display: block;
    padding: 14px;
    background: #f6f7f7;
  }
  body.admin-route .cms-document-overview,
  body.admin-route .cms-selected-settings {
    padding-bottom: 12px;
    margin-bottom: 12px;
  }
  body.admin-route .cms-block-list-view button {
    min-height: 44px;
    padding: 8px 10px;
  }
  body.admin-route .cms-block-preview {
    padding: 14px;
  }
  .cms-public-content h2 { font-size: clamp(1.35rem, 6vw, 1.85rem); }
  .cms-public-content h3 { font-size: clamp(1.18rem, 5vw, 1.45rem); }
  .cms-public-content p,
  .cms-public-content li,
  .cms-public-content td,
  .cms-public-content th {
    line-height: 1.62;
  }
  .cms-public-content .cms-media-block {
    gap: .55rem;
  }
  .cms-public-content blockquote,
  .cms-public-content .cms-content-note {
    padding: 12px;
    border-radius: 12px;
  }
  .cms-public-content .btn,
  .cms-public-content a.btn,
  .cms-public-content .button,
  .cms-public-content a.button {
    display: block;
    width: 100%;
  }
}
@media (min-width: 761px) {
  body.admin-route .cms-block-editor-shell {
    border-radius: 6px;
    overflow: hidden;
  }
  body.admin-route .cms-wysiwyg-toolbar button,
  body.admin-route .cms-table-toolbar button {
    min-width: 34px;
  }
  .cms-public-content table {
    display: table;
    overflow: visible;
  }
}

/* v1.10.256 professional admin/public polish */
.admin-operator-grid,
.public-next-step-grid,
.event-day-flow-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
}
.admin-operator-card,
.public-next-step-grid a,
.flow-step-card {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 14px 35px rgba(15, 23, 42, .06);
}
.admin-operator-card strong,
.public-next-step-grid a strong,
.flow-step-card strong {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: rgba(15, 23, 42, .92);
  color: #fff;
  font-size: .9rem;
}
.admin-operator-card span,
.public-next-step-grid a span,
.flow-step-card span { font-weight: 800; }
.admin-operator-card em,
.public-next-step-grid a em,
.flow-step-card em { color: #64748b; font-style: normal; font-size: .88rem; line-height: 1.35; }
.admin-operator-card.tone-danger { border-color: rgba(220, 38, 38, .35); background: #fff5f5; }
.admin-operator-card.tone-warning { border-color: rgba(217, 119, 6, .35); background: #fffbeb; }
.admin-operator-card.tone-info { border-color: rgba(37, 99, 235, .25); background: #eff6ff; }
.admin-operator-card.tone-ok { border-color: rgba(22, 163, 74, .25); background: #f0fdf4; }
.action-audit-summary .wp-dashboard-widget,
.organizer-report-heading,
.public-rider-next-steps,
.event-day-flow-strip {
  margin-bottom: 18px;
}
.admin-action-audit-card .status-ok { background: #dcfce7; color: #166534; }
.admin-action-audit-card .status-warning { background: #fef3c7; color: #92400e; }
.public-rider-next-steps {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.6fr);
  gap: 18px;
  align-items: start;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(241,245,249,.92));
}
.public-next-step-grid a:hover,
.admin-operator-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 42px rgba(15, 23, 42, .10);
}
.post-publish-next-steps {
  display: grid;
  gap: 6px;
  margin: 0 0 14px;
  padding-left: 20px;
  color: #475569;
  font-size: .92rem;
}
.waiver-version-warning { border-left: 4px solid #d97706; }
.event-day-flow-strip {
  margin-top: 14px;
}
.flow-step-card.is-primary { border-color: rgba(37, 99, 235, .35); background: #eff6ff; }
.organizer-report-grid .wp-metric strong { font-size: clamp(1.6rem, 5vw, 2.25rem); }
.organizer-report-participants { margin-top: 18px; }
body.admin-route .admin-clean-log-card td,
body.admin-route .admin-action-audit-card td { vertical-align: top; }
.empty-state.compact-empty-state h3 { margin-bottom: 4px; }
.empty-state.compact-empty-state .btn { margin-top: 8px; }
@media (max-width: 760px) {
  .public-rider-next-steps { grid-template-columns: 1fr; }
  .admin-operator-grid,
  .public-next-step-grid,
  .event-day-flow-strip { grid-template-columns: 1fr; }
  .admin-operator-card,
  .public-next-step-grid a,
  .flow-step-card { min-height: 96px; }
  .organizer-report-heading .button-stack { width: 100%; }
  .organizer-report-heading .button-stack .btn { width: 100%; }
}

/* v1.10.257 public route, reports, notifications, CMS, media, and trust polish */
.public-event-essentials,
.public-trust-card,
.report-export-choice-card,
.notification-summary-grid,
.media-library-grid {
  margin-bottom: 18px;
}
.public-event-essentials {
  display: grid;
  gap: 14px;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,250,252,.95));
  border: 1px solid rgba(148, 163, 184, .26);
}
.essentials-grid,
.trust-grid,
.notification-summary-grid {
  display: grid;
  gap: 10px;
}
.essentials-grid div,
.trust-grid div,
.notification-summary-card {
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 14px;
  background: #fff;
  padding: 12px;
}
.essentials-grid span,
.trust-grid span,
.notification-summary-card span {
  display: block;
  color: #64748b;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.essentials-grid strong,
.notification-summary-card strong {
  display: block;
  margin-top: 3px;
  color: #0f172a;
  font-size: 1rem;
}
.trust-grid strong {
  display: block;
  margin-bottom: 4px;
  color: #0f172a;
}
.stop-role-label,
.stop-role-hint {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 4px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eef2ff;
  color: #3730a3;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.stop-role-hint {
  margin-left: 8px;
  margin-bottom: 0;
  background: #f1f5f9;
  color: #334155;
}
.compact-stop-list li.is-start-stop,
.compact-stop-list li.is-final-stop {
  border-color: rgba(37, 99, 235, .24);
  background: linear-gradient(135deg, #fff, #eff6ff);
}
.route-builder-guidance {
  margin: 10px 0 14px;
}
.report-export-choice-card {
  display: grid;
  gap: 12px;
  align-items: center;
  background: linear-gradient(135deg, #ffffff, #f8fafc);
}
.notification-summary-grid {
  grid-template-columns: 1fr;
}
.notification-summary-card {
  display: grid;
  gap: 6px;
}
.notification-summary-card strong {
  font-size: clamp(1.45rem, 8vw, 2.1rem);
}
.notification-row-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
}
.nav-bell-link {
  position: relative;
}
.nav-bell-badge {
  position: absolute;
  top: -6px;
  right: -7px;
  min-width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
  padding: 0 4px;
  border-radius: 999px;
  background: #dc2626;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 0 0 2px #fff;
}
.media-library-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.media-library-card {
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .26);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(15, 23, 42, .07);
}
.media-preview-frame {
  display: grid;
  place-items: center;
  min-height: 180px;
  background: linear-gradient(135deg, #f8fafc, #e2e8f0);
  border-bottom: 1px solid rgba(148, 163, 184, .24);
}
.media-preview-frame img {
  display: block;
  width: 100%;
  max-height: 240px;
  object-fit: contain;
}
.media-card-body {
  display: grid;
  gap: 10px;
  padding: 14px;
}
.media-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.media-card-heading strong {
  min-width: 0;
  overflow-wrap: anywhere;
}
.media-facts {
  margin-top: 2px;
}
.media-actions .btn {
  flex: 1 1 120px;
}
.media-empty-state {
  grid-column: 1 / -1;
}
.public-trust-card {
  display: grid;
  gap: 14px;
}
.public-trust-card .btn {
  width: fit-content;
}
@media (min-width: 761px) {
  .public-event-essentials,
  .public-trust-card,
  .report-export-choice-card {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.5fr);
  }
  .essentials-grid,
  .trust-grid,
  .notification-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .public-trust-card .btn,
  .report-export-choice-card .btn {
    justify-self: end;
    align-self: center;
  }
  .media-library-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1120px) {
  .media-library-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .public-event-essentials,
  .public-trust-card,
  .report-export-choice-card,
  .notification-summary-grid,
  .media-library-grid {
    gap: 12px;
  }
  .essentials-grid,
  .trust-grid {
    grid-template-columns: 1fr;
  }
  .public-trust-card .btn,
  .report-export-choice-card .btn,
  .notification-preference-card .btn {
    width: 100%;
  }
  .media-preview-frame {
    min-height: 150px;
  }
  .media-card-heading {
    display: grid;
  }
  .stop-role-hint {
    display: flex;
    margin: 6px 0 0;
  }
}

/* v1.10.259 Site QA, media cleanup, and privacy/trust polish */
.qa-status-hero {
  display: grid;
  gap: 14px;
  align-items: center;
  margin-bottom: 16px;
}
.qa-status-score {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px;
  background: rgba(17,21,27,.86);
  min-width: 180px;
}
.qa-status-score strong { display: block; font-size: 32px; line-height: 1; }
.qa-status-score span { color: var(--muted); font-weight: 800; font-size: 13px; }
.qa-status-score.is-good { border-color: rgba(57,217,138,.38); }
.qa-status-score.is-warning { border-color: rgba(255,196,87,.42); }
.qa-card-grid { display: grid; gap: 12px; margin: 16px 0; }
.qa-card {
  position: relative;
  display: grid;
  gap: 8px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(23,26,32,.92);
  color: var(--text);
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}
.qa-card h2 { margin: 0; font-size: 18px; }
.qa-card p { margin: 0; color: var(--muted); }
.qa-card.is-good { border-color: rgba(57,217,138,.28); }
.qa-card.is-warning { border-color: rgba(255,196,87,.42); }
.qa-readiness-list { max-height: 420px; overflow: auto; padding-right: 4px; }
.media-health-grid { display: grid; gap: 10px; margin: 14px 0; }
.media-health-card {
  display: grid;
  gap: 2px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: rgba(23,26,32,.92);
  color: var(--text);
}
.media-health-card strong { font-size: 28px; line-height: 1; }
.media-health-card span { color: var(--muted); font-weight: 800; font-size: 13px; }
.media-health-card.is-warning { border-color: rgba(255,196,87,.42); }
.admin-media-filter-card { margin: 14px 0; }
.media-filter-form { display: grid; gap: 12px; }
.filter-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: end; }
.media-library-card.needs-review { border-color: rgba(255,196,87,.34); }
.media-review-note { margin-top: 10px; }
.public-trust-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.privacy-quick-summary { margin-bottom: 16px; }
.public-trust-grid-expanded div {
  min-height: 100%;
}
@media (min-width: 720px) {
  .qa-status-hero { grid-template-columns: minmax(0, 1fr) auto; }
  .qa-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .media-health-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .media-filter-form { grid-template-columns: minmax(180px, 1.2fr) minmax(160px, .8fr) minmax(160px, .8fr) auto; align-items: end; }
}
@media (min-width: 1060px) {
  .qa-card-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* v1.10.261 Beta feedback, workflow QA, backup confidence, branded errors, and mobile polish */
.beta-floating-feedback {
  position: fixed;
  right: max(14px, env(safe-area-inset-right));
  bottom: calc(18px + env(safe-area-inset-bottom));
  z-index: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: linear-gradient(135deg, rgba(250, 204, 21, .98), rgba(249, 115, 22, .96));
  color: #111827;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 18px 36px rgba(0,0,0,.32);
}
.beta-floating-feedback:focus-visible,
.beta-floating-feedback:hover {
  transform: translateY(-1px);
  outline: 3px solid rgba(250, 204, 21, .32);
  outline-offset: 3px;
}
.workflow-qa-hero,
.what-changed-current {
  display: grid;
  gap: 14px;
  align-items: center;
}
.workflow-qa-score {
  border: 1px solid rgba(57,217,138,.32);
  border-radius: 18px;
  padding: 14px;
  background: rgba(17,21,27,.86);
  min-width: 150px;
}
.workflow-qa-score strong { display: block; font-size: 34px; line-height: 1; }
.workflow-qa-score span { color: var(--muted); font-size: 13px; font-weight: 800; }
.qa-checklist-layout { display: grid; gap: 16px; }
.qa-checklist-panel { min-width: 0; }
.qa-checklist-group {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(17,21,27,.72);
  margin: 10px 0;
  overflow: hidden;
}
.qa-checklist-group summary {
  cursor: pointer;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 14px;
  font-weight: 900;
}
.qa-checklist-group summary small { color: var(--muted); font-weight: 800; }
.qa-checklist-group > p { margin: 0; padding: 0 14px 12px; color: var(--muted); }
.qa-checklist-items { list-style: none; padding: 0 14px 14px; margin: 0; display: grid; gap: 8px; }
.qa-checklist-items label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 10px;
  border-radius: 12px;
  background: rgba(255,255,255,.035);
}
.qa-checklist-items input { width: 18px; height: 18px; margin-top: 2px; }
.change-log-admin-list { display: grid; gap: 14px; }
.change-log-admin-card {
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 16px;
  background: rgba(23,26,32,.92);
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
}
.change-log-admin-card.is-current { border-color: rgba(57,217,138,.34); }
.change-log-admin-heading { display: flex; justify-content: space-between; gap: 12px; align-items: start; }
.change-log-admin-heading h2 { margin-top: 0; }
.admin-details {
  margin-top: 12px;
  border-top: 1px solid var(--line);
  padding-top: 12px;
}
.admin-details summary { cursor: pointer; font-weight: 900; min-height: 40px; }
.pill-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.pill {
  border: 1px solid rgba(148,163,184,.25);
  border-radius: 999px;
  padding: 5px 9px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  background: rgba(255,255,255,.035);
}
.branded-error-page {
  width: min(760px, calc(100% - 24px));
  margin: 34px auto;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 26px;
  background: radial-gradient(circle at top left, rgba(250,204,21,.10), transparent 34%), rgba(23,26,32,.94);
  text-align: center;
  box-shadow: 0 24px 54px rgba(0,0,0,.28);
}
.branded-error-mark {
  width: 58px;
  height: 58px;
  margin: 0 auto 12px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: rgba(250,204,21,.12);
  border: 1px solid rgba(250,204,21,.32);
  color: #facc15;
  font-weight: 900;
  font-size: 28px;
}
.branded-error-actions { text-align: left; }
.centered-actions { justify-content: center; }
.beta-feedback-device-note {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,.04);
}
.beta-feedback-device-note p { margin: 4px 0 0; }
@media (min-width: 860px) {
  .workflow-qa-hero,
  .what-changed-current { grid-template-columns: minmax(0, 1fr) auto; }
  .qa-checklist-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .beta-floating-feedback {
    right: 12px;
    bottom: calc(86px + env(safe-area-inset-bottom));
    min-height: 42px;
    padding: 0 13px;
    font-size: 13px;
  }
  .branded-error-page { padding: 22px 16px; border-radius: 22px; margin: 22px auto; }
  .change-log-admin-heading { display: grid; }
  .qa-checklist-group summary { align-items: start; }
  .wp-admin-topbar-actions,
  .header-actions,
  .wrap-actions { gap: 8px; }
  .btn,
  button,
  input,
  select,
  textarea { scroll-margin-bottom: 96px; }
  .form-card,
  .wp-dashboard-widget,
  .table-card { border-radius: 18px; }
}

/* v1.10.261 Admin CMS design consistency pass */
body.admin-route {
  --admin-radius: 6px;
  --admin-card-pad: 16px;
  --admin-page-gap: 18px;
  --admin-shadow: 0 1px 1px rgba(0,0,0,.04);
}

.admin-route .wp-admin-stage > *:first-child {
  margin-top: 0;
}

.admin-route .admin-page-heading,
.admin-route .admin-page-title,
.admin-route .page-title.split-title,
.admin-route .page-title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 var(--admin-page-gap);
  padding: 0 0 16px;
  border-bottom: 1px solid var(--wp-admin-line);
}

.admin-route .admin-page-heading > div:first-child,
.admin-route .admin-page-title > div:first-child,
.admin-route .page-title > div:first-child {
  min-width: 0;
}

.admin-route .admin-page-heading h1,
.admin-route .admin-page-title h1,
.admin-route .page-title h1 {
  margin: 4px 0 6px;
  color: var(--wp-admin-text);
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1.05;
  letter-spacing: -.04em;
}

.admin-route .admin-page-heading p:not(.eyebrow),
.admin-route .admin-page-title p:not(.eyebrow),
.admin-route .page-title p:not(.eyebrow) {
  max-width: 980px;
  color: var(--wp-admin-muted);
  font-size: 15px;
  line-height: 1.5;
}

.admin-route .header-actions,
.admin-route .admin-actions-row,
.admin-route .button-row,
.admin-route .form-actions,
.admin-route .filter-actions,
.admin-route .support-sync-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.admin-route .wp-card,
.admin-route .wp-page-library,
.admin-route .wp-editor-main,
.admin-route .wp-editor-sidebar,
.admin-route .wp-page-section-card,
.admin-route .form-section-block,
.admin-route .domain-switcher,
.admin-route .domain-detail-card,
.admin-route .health-card,
.admin-route .qa-card,
.admin-route .media-library-card,
.admin-route .media-health-card,
.admin-route .metric-card,
.admin-route .support-message,
.admin-route .admin-user-detail-grid > *,
.admin-route .release-readiness-panel,
.admin-route .what-changed-current,
.admin-route .workflow-qa-hero,
.admin-route .qa-status-hero,
.admin-route .backup-confidence-card,
.admin-route .privacy-security-card,
.admin-route .selected-content-card,
.admin-route .ad-manager-panel,
.admin-route .admin-clean-panel {
  background: var(--wp-admin-surface);
  color: var(--wp-admin-text);
  border: 1px solid var(--wp-admin-line);
  border-radius: var(--admin-radius);
  box-shadow: var(--admin-shadow);
}

.admin-route .wp-card,
.admin-route .form-section-block,
.admin-route .domain-detail-card,
.admin-route .selected-content-card,
.admin-route .backup-confidence-card,
.admin-route .privacy-security-card,
.admin-route .admin-clean-panel {
  padding: var(--admin-card-pad);
  margin-bottom: var(--admin-page-gap);
}

.admin-route .wp-dashboard-widget,
.admin-route .form-card,
.admin-route .content-card,
.admin-route .table-card,
.admin-route .filter-card,
.admin-route .info-card,
.admin-route .auth-card {
  border-radius: var(--admin-radius);
  box-shadow: var(--admin-shadow);
}

.admin-route .section-head,
.admin-route .table-card-header,
.admin-route .wp-edit-screen-head,
.admin-route .wp-page-library-head,
.admin-route .domain-switcher-head,
.admin-route .domain-detail-head,
.admin-route .ad-manager-panel > .section-head,
.admin-route .support-ticket-layout h2:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--wp-admin-line);
  background: var(--wp-admin-surface-2);
}

.admin-route .section-head.compact,
.admin-route .table-card-header,
.admin-route .wp-page-section-head {
  min-height: 48px;
}

.admin-route .section-head h2,
.admin-route .table-card-header h2,
.admin-route .wp-edit-screen-head h2,
.admin-route .wp-page-library-head h2,
.admin-route .domain-switcher-head h2,
.admin-route .form-section-block h2,
.admin-route .wp-card h2,
.admin-route .health-card h2,
.admin-route .qa-card h2,
.admin-route .support-ticket-layout h2,
.admin-route .media-card-heading strong {
  margin: 0;
  color: var(--wp-admin-text);
  font-size: 15px;
  line-height: 1.25;
  letter-spacing: -.01em;
}

.admin-route .section-head p,
.admin-route .table-card-header p,
.admin-route .wp-edit-screen-head p,
.admin-route .wp-page-library-head p,
.admin-route .form-section-block p,
.admin-route .wp-card p,
.admin-route .health-card p,
.admin-route .qa-card p {
  margin-top: 4px;
}

.admin-route .notice,
.admin-route .alert {
  margin: 0 0 var(--admin-page-gap);
  padding: 12px 14px;
  border: 1px solid var(--wp-admin-line);
  border-left: 4px solid var(--wp-admin-blue);
  border-radius: var(--admin-radius);
  background: #fff;
  color: var(--wp-admin-text);
  box-shadow: var(--admin-shadow);
}

.admin-route .notice-success,
.admin-route .alert-success { border-left-color: var(--wp-admin-green); }
.admin-route .notice-error,
.admin-route .alert-error { border-left-color: var(--wp-admin-red); }
.admin-route .notice-warning,
.admin-route .alert-warning { border-left-color: var(--wp-admin-orange); }
.admin-route .notice-info,
.admin-route .alert-info { border-left-color: var(--wp-admin-blue); }
.admin-route .compact-notice { padding: 10px 12px; }

.admin-route .filter-card,
.admin-route .admin-list-toolbar,
.admin-route .compact-toolbar,
.admin-route .media-filter-form,
.admin-route .filters-row,
.admin-route .table-filters {
  padding: 14px;
  background: var(--wp-admin-surface);
  border: 1px solid var(--wp-admin-line);
  border-radius: var(--admin-radius);
  box-shadow: var(--admin-shadow);
}

.admin-route .filter-card form,
.admin-route .media-filter-form,
.admin-route .table-filters,
.admin-route .admin-list-toolbar {
  display: flex;
  align-items: end;
  gap: 12px;
  flex-wrap: wrap;
}

.admin-route .filter-card label,
.admin-route .media-filter-form label,
.admin-route .table-filters label,
.admin-route .admin-list-toolbar label {
  display: grid;
  gap: 6px;
  min-width: min(240px, 100%);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.admin-route table {
  width: 100%;
  border-collapse: collapse;
}

.admin-route .table-card table {
  min-width: 720px;
}

.admin-route th,
.admin-route td {
  padding: 12px;
  vertical-align: top;
}

.admin-route th:first-child,
.admin-route td:first-child { padding-left: 14px; }
.admin-route th:last-child,
.admin-route td:last-child { padding-right: 14px; }

.admin-route .empty-state,
.admin-route .compact-empty-state,
.admin-route .media-empty-state {
  margin: 0;
  padding: 18px;
  border-radius: var(--admin-radius);
  background: #fff;
  border: 1px dashed var(--wp-admin-line);
  text-align: left;
}

.admin-route .empty-state h2,
.admin-route .empty-state h3,
.admin-route .compact-empty-state h3,
.admin-route .media-empty-state h2 {
  margin: 0 0 6px;
  color: var(--wp-admin-text);
  font-size: 18px;
  line-height: 1.2;
}

.admin-route .status-pill,
.admin-route .badge,
.admin-route .support-tag,
.admin-route .admin-env-pill,
.admin-route .pill-list span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 24px;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.admin-route .two-col,
.admin-route .three-col,
.admin-route .four-col,
.admin-route .cms-consistency-grid,
.admin-route .admin-user-detail-grid,
.admin-route .system-health-grid,
.admin-route .media-health-grid,
.admin-route .qa-card-grid,
.admin-route .support-dashboard-grid,
.admin-route .admin-event-summary-grid {
  gap: var(--admin-page-gap);
}

.admin-route .cms-mini-editor,
.admin-route .cms-block-editor,
.admin-route .wp-selected-editor,
.admin-route .cms-live-preview,
.admin-route .block-editor-surface {
  border-color: var(--wp-admin-line);
  border-radius: var(--admin-radius);
}

.admin-route .cms-editor-toolbar,
.admin-route .block-toolbar,
.admin-route .wp-page-tabs,
.admin-route .domain-selector-tabs {
  border-color: var(--wp-admin-line);
  background: var(--wp-admin-surface-2);
}

.admin-route .wp-dashboard-widget > header,
.admin-route .table-card-header,
.admin-route .section-head,
.admin-route .wp-page-section-head,
.admin-route .domain-detail-head,
.admin-route .wp-edit-screen-head {
  color: var(--wp-admin-text);
}

.admin-route .danger-zone,
.admin-route .danger-card {
  border-left: 4px solid var(--wp-admin-red);
}

@media (max-width: 899px) {
  .admin-route .wp-admin-stage {
    padding: 14px;
  }
  .admin-route .admin-page-heading,
  .admin-route .admin-page-title,
  .admin-route .page-title.split-title,
  .admin-route .page-title {
    display: grid;
    align-items: start;
    gap: 12px;
    margin-bottom: 14px;
    padding-bottom: 14px;
  }
  .admin-route .admin-page-heading h1,
  .admin-route .admin-page-title h1,
  .admin-route .page-title h1 {
    font-size: clamp(26px, 10vw, 34px);
  }
  .admin-route .header-actions,
  .admin-route .admin-actions-row,
  .admin-route .button-row,
  .admin-route .form-actions,
  .admin-route .filter-actions,
  .admin-route .support-sync-actions {
    justify-content: stretch;
    width: 100%;
  }
  .admin-route .header-actions > *,
  .admin-route .admin-actions-row > *,
  .admin-route .button-row > *,
  .admin-route .form-actions > *,
  .admin-route .filter-actions > *,
  .admin-route .support-sync-actions > * {
    flex: 1 1 100%;
    justify-content: center;
  }
  .admin-route .filter-card form,
  .admin-route .media-filter-form,
  .admin-route .table-filters,
  .admin-route .admin-list-toolbar {
    display: grid;
    align-items: stretch;
  }
  .admin-route .filter-card label,
  .admin-route .media-filter-form label,
  .admin-route .table-filters label,
  .admin-route .admin-list-toolbar label {
    min-width: 0;
  }
  .admin-route .wp-dashboard-grid,
  .admin-route .wp-dashboard-grid-wide,
  .admin-route .management-grid,
  .admin-route .editor-grid,
  .admin-route .two-col,
  .admin-route .three-col,
  .admin-route .four-col,
  .admin-route .admin-user-detail-grid,
  .admin-route .system-health-grid,
  .admin-route .media-health-grid,
  .admin-route .qa-card-grid,
  .admin-route .support-dashboard-grid,
  .admin-route .admin-event-summary-grid {
    grid-template-columns: 1fr !important;
  }
  .admin-route .wp-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .admin-route .wp-metric:nth-child(3n) { border-right: 1px solid var(--wp-admin-line); }
  .admin-route .wp-metric:nth-child(2n) { border-right: 0; }
  .admin-route .section-head,
  .admin-route .table-card-header,
  .admin-route .wp-edit-screen-head,
  .admin-route .wp-page-library-head,
  .admin-route .domain-switcher-head,
  .admin-route .domain-detail-head {
    display: grid;
    align-items: start;
  }
  .admin-route .wp-definition-list div,
  .admin-route .compact-fact-list div {
    grid-template-columns: 1fr;
    gap: 3px;
  }
}

/* v1.10.263 Admin CMS navigation rebuild and professional tool-map polish */
body.admin-route .wp-admin-menu-group-toggle {
  align-items: flex-start;
  gap: 0.75rem;
}
body.admin-route .wp-admin-group-copy strong {
  letter-spacing: -0.01em;
}
body.admin-route .wp-admin-group-copy small {
  line-height: 1.35;
  max-width: 16rem;
}
body.admin-route .wp-admin-menu-item {
  min-height: 42px;
}
body.admin-route .wp-admin-menu-label {
  line-height: 1.25;
}
body.admin-route .wp-admin-sidebar {
  box-shadow: 16px 0 45px rgba(15, 23, 42, 0.08);
}
body.admin-route .wp-admin-topbar {
  backdrop-filter: blur(14px);
}
.admin-professional-hero {
  border: 1px solid rgba(148, 163, 184, 0.26);
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}
.admin-cms-map-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  margin-top: 1rem;
}
.admin-cms-map-card {
  background: var(--wp-admin-surface, #fff);
  border: 1px solid var(--wp-admin-line, #dcdcde);
  border-radius: 18px;
  padding: clamp(1rem, 2vw, 1.35rem);
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.07);
}
.admin-cms-map-card header h2 {
  margin: 0.2rem 0 0.35rem;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
}
.admin-cms-map-card header p:last-child {
  color: var(--wp-admin-muted, #646970);
  margin-bottom: 1rem;
}
.admin-cms-map-tools {
  display: grid;
  gap: 0.65rem;
}
.admin-cms-map-tool {
  display: block;
  border: 1px solid rgba(148, 163, 184, 0.32);
  border-radius: 14px;
  padding: 0.85rem;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.95), rgba(241, 245, 249, 0.78));
  color: inherit;
  text-decoration: none;
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}
.admin-cms-map-tool:hover,
.admin-cms-map-tool:focus-visible {
  color: inherit;
  border-color: var(--wp-admin-blue, #2271b1);
  box-shadow: 0 10px 28px rgba(34, 113, 177, 0.16);
  transform: translateY(-1px);
  outline: none;
}
.admin-cms-map-tool strong {
  display: block;
  margin-bottom: 0.25rem;
  color: var(--wp-admin-text, #1d2327);
}
.admin-cms-map-tool span {
  display: block;
  color: var(--wp-admin-muted, #646970);
  line-height: 1.4;
  font-size: 0.92rem;
}
.admin-cms-guidance-panel {
  margin-top: 1rem;
}
.admin-guidance-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.85rem;
}
.admin-guidance-grid > div {
  border: 1px solid rgba(148, 163, 184, 0.32);
  border-radius: 14px;
  padding: 0.9rem;
  background: rgba(248, 250, 252, 0.8);
}
.admin-guidance-grid strong {
  display: block;
  margin-bottom: 0.25rem;
}
.admin-guidance-grid p {
  margin: 0;
  color: var(--wp-admin-muted, #646970);
  line-height: 1.45;
}
@media (max-width: 860px) {
  body.admin-route .wp-admin-menu-group-toggle {
    min-height: 52px;
  }
  .admin-cms-map-grid {
    grid-template-columns: 1fr;
  }
  .admin-cms-map-card,
  .admin-cms-guidance-panel {
    border-radius: 16px;
  }
  .admin-cms-map-tool {
    min-height: 48px;
  }
}

/* v1.10.263: public event page cleanup and resilient event cards */
.compact-event-page .compact-share-card-noqr {
  grid-template-columns: 1fr !important;
  gap: 10px;
}
.compact-event-page .compact-share-card-noqr img { display: none !important; }
.compact-event-page .compact-share-card-noqr p { margin: 5px 0 0; }
.compact-event-page .compact-share-card-noqr .share-link-stack a:last-child { flex-basis: auto; max-width: none; }

.compact-event-page .route-card {
  overflow: hidden;
}
.compact-event-page .public-stop-list {
  gap: 10px;
}
.compact-event-page .public-stop-list li {
  align-items: start;
  border-color: rgba(255,255,255,.12);
  background:
    linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.028));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
.compact-event-page .public-stop-list .stop-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: rgba(240,75,40,.16);
  border: 1px solid rgba(240,75,40,.32);
  color: #fff;
  font-weight: 950;
  line-height: 1;
}
.compact-event-page .public-stop-list .stop-role-label {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 4px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(240,75,40,.11);
  border: 1px solid rgba(240,75,40,.24);
  color: var(--accent-2);
  font-size: .68rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.compact-event-page .public-stop-list strong {
  font-size: clamp(.98rem, 2.5vw, 1.08rem);
  color: var(--text);
  line-height: 1.2;
}
.compact-event-page .public-stop-list em,
.compact-event-page .public-stop-list span:not(.stop-role-label),
.compact-event-page .public-stop-list p {
  overflow-wrap: anywhere;
  line-height: 1.35;
}
.compact-event-page .single-location-list li {
  grid-template-columns: 38px minmax(0, 1fr);
}

.compact-event-page .side-rail-weather-card {
  overflow: hidden;
}
.compact-event-page .side-rail-weather-card .section-head.compact p {
  overflow-wrap: anywhere;
}
.compact-event-page .side-rail-weather-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 9px !important;
}
.compact-event-page .side-rail-weather-grid .weather-hour-row {
  display: grid !important;
  grid-template-columns: minmax(76px, .75fr) minmax(0, 1.25fr) !important;
  gap: 8px 12px !important;
  align-items: start !important;
  padding: 12px !important;
  border-radius: 15px !important;
  background: rgba(0,0,0,.18) !important;
  border: 1px solid rgba(255,255,255,.09) !important;
}
.compact-event-page .side-rail-weather-grid .weather-hour-main,
.compact-event-page .side-rail-weather-grid .weather-hour-detail {
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
}
.compact-event-page .side-rail-weather-grid .weather-hour-main strong,
.compact-event-page .side-rail-weather-grid .weather-hour-main span,
.compact-event-page .side-rail-weather-grid .weather-hour-detail em,
.compact-event-page .side-rail-weather-grid .weather-hour-detail small {
  display: block !important;
  grid-column: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-align: left !important;
}
.compact-event-page .side-rail-weather-grid .weather-hour-main strong {
  color: var(--text) !important;
  font-size: .86rem !important;
}
.compact-event-page .side-rail-weather-grid .weather-hour-main span {
  color: var(--accent-2) !important;
  font-size: 1rem !important;
  font-weight: 950 !important;
}
.compact-event-page .side-rail-weather-grid .weather-hour-detail em {
  color: var(--text) !important;
  font-style: normal !important;
  font-weight: 800 !important;
}
.compact-event-page .side-rail-weather-grid .weather-hour-detail small {
  color: var(--muted) !important;
}
@media (max-width: 420px) {
  .compact-event-page .side-rail-weather-grid .weather-hour-row {
    grid-template-columns: 1fr !important;
  }
}

/* v1.10.263: cleaner Admin CMS navigation with fewer top-level choices */
.wp-admin-menu-group-toggle {
  min-height: 56px;
}
.wp-admin-menu-item {
  min-height: 38px;
}
.wp-admin-group-copy small {
  line-height: 1.25;
}
.wp-admin-topbar h1 {
  line-height: 1.05;
}

/* v1.10.264: public event page spacing, location, and weather cleanup */
.compact-event-page .event-detail-grid {
  align-items: start;
  gap: clamp(12px, 2vw, 18px) !important;
}
.compact-event-page .event-side-rail,
.compact-event-page .event-main-flow {
  gap: 12px !important;
  align-content: start;
}
.compact-event-page .event-main-flow > .event-card:first-child,
.compact-event-page .event-side-rail > .event-card:first-child,
.compact-event-page .event-side-rail > .compact-flyer:first-child,
.compact-event-page .event-side-rail > .compact-flyer-placeholder:first-child {
  margin-top: 0 !important;
}
.compact-event-page #route-export,
.compact-event-page .compact-overview-card,
.compact-event-page .route-card {
  margin-top: 0 !important;
}
.compact-event-page .event-detail-sections:empty {
  display: none !important;
}
.compact-event-page .side-rail-weather-card {
  margin-top: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.compact-event-page .side-rail-weather-card .section-head.compact {
  margin-bottom: 10px !important;
}
.compact-event-page .side-rail-weather-card .section-head.compact p {
  line-height: 1.45 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.compact-event-page .side-rail-weather-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  border-top: 1px solid rgba(255,255,255,.07) !important;
}
.compact-event-page .side-rail-weather-grid .weather-hour-row {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  align-items: stretch !important;
  padding: 12px 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  min-width: 0 !important;
  box-shadow: none !important;
}
.compact-event-page .side-rail-weather-grid .weather-hour-main,
.compact-event-page .side-rail-weather-grid .weather-hour-detail {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  min-width: 0 !important;
}
.compact-event-page .side-rail-weather-grid .weather-hour-main strong,
.compact-event-page .side-rail-weather-grid .weather-hour-main span,
.compact-event-page .side-rail-weather-grid .weather-hour-detail em,
.compact-event-page .side-rail-weather-grid .weather-hour-detail small {
  display: block !important;
  grid-column: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
  line-height: 1.22 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  text-align: left !important;
}
.compact-event-page .side-rail-weather-grid .weather-hour-main strong {
  color: var(--text) !important;
  font-size: .92rem !important;
  font-weight: 950 !important;
}
.compact-event-page .side-rail-weather-grid .weather-hour-main span {
  flex: 0 0 auto !important;
  color: var(--accent-2) !important;
  font-size: 1.05rem !important;
  font-weight: 950 !important;
}
.compact-event-page .side-rail-weather-grid .weather-hour-detail {
  align-items: flex-start !important;
}
.compact-event-page .side-rail-weather-grid .weather-hour-detail em {
  flex: 1 1 auto !important;
  color: var(--text) !important;
  font-style: normal !important;
  font-weight: 850 !important;
  overflow-wrap: anywhere !important;
}
.compact-event-page .side-rail-weather-grid .weather-hour-detail small {
  flex: 0 0 auto !important;
  color: var(--muted) !important;
  text-align: right !important;
}
.compact-event-page .public-stop-list em {
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}
.compact-event-page .compact-share-card.compact-share-card-noqr {
  display: block !important;
  margin-bottom: 0 !important;
}
.compact-event-page .compact-share-card.compact-share-card-noqr .share-link-stack {
  gap: 8px !important;
}
@media (max-width: 560px) {
  .compact-event-page .side-rail-weather-grid .weather-hour-main,
  .compact-event-page .side-rail-weather-grid .weather-hour-detail {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
  }
  .compact-event-page .side-rail-weather-grid .weather-hour-detail em {
    overflow-wrap: anywhere !important;
  }
}

/* v1.10.265: public event hero Add to calendar alignment */
.compact-event-page .event-compact-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: clamp(14px, 2.4vw, 24px) !important;
}

.compact-event-page .event-hero-copy {
  min-width: 0 !important;
}

.compact-event-page .event-hero-actions {
  width: auto !important;
  min-width: 0 !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  justify-self: end !important;
  align-self: center !important;
  gap: 10px !important;
}

.compact-event-page .event-hero-actions .btn,
.compact-event-page .event-hero-actions .event-calendar-btn {
  width: auto !important;
  min-width: 170px !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

@media (max-width: 720px) {
  .compact-event-page .event-compact-hero {
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
  }

  .compact-event-page .event-hero-actions {
    width: 100% !important;
    justify-self: stretch !important;
    justify-content: stretch !important;
  }

  .compact-event-page .event-hero-actions .btn,
  .compact-event-page .event-hero-actions .event-calendar-btn {
    width: 100% !important;
    min-width: 0 !important;
  }
}


/* v1.10.270: fully remove nested hourly weather boxes */
.compact-event-page .side-rail-weather-grid,
.compact-event-page .compact-weather-grid.side-rail-weather-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
}

.compact-event-page .side-rail-weather-grid .weather-hour-row,
.compact-event-page .compact-weather-grid.side-rail-weather-grid .weather-hour-row {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
  padding: 11px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.compact-event-page .side-rail-weather-grid .weather-hour-row > div,
.compact-event-page .compact-weather-grid.side-rail-weather-grid .weather-hour-row > div,
.compact-event-page .side-rail-weather-grid .weather-hour-main,
.compact-event-page .side-rail-weather-grid .weather-hour-detail,
.compact-event-page .compact-weather-grid.side-rail-weather-grid .weather-hour-main,
.compact-event-page .compact-weather-grid.side-rail-weather-grid .weather-hour-detail {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.compact-event-page .side-rail-weather-grid .weather-hour-main,
.compact-event-page .side-rail-weather-grid .weather-hour-detail,
.compact-event-page .compact-weather-grid.side-rail-weather-grid .weather-hour-main,
.compact-event-page .compact-weather-grid.side-rail-weather-grid .weather-hour-detail {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

.compact-event-page .side-rail-weather-grid .weather-hour-main strong,
.compact-event-page .side-rail-weather-grid .weather-hour-main span,
.compact-event-page .side-rail-weather-grid .weather-hour-detail em,
.compact-event-page .side-rail-weather-grid .weather-hour-detail small,
.compact-event-page .compact-weather-grid.side-rail-weather-grid .weather-hour-main strong,
.compact-event-page .compact-weather-grid.side-rail-weather-grid .weather-hour-main span,
.compact-event-page .compact-weather-grid.side-rail-weather-grid .weather-hour-detail em,
.compact-event-page .compact-weather-grid.side-rail-weather-grid .weather-hour-detail small {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}


/* v1.10.272: dark dashboard published-event impact card styling */
.published-impact-summary,
.change-impact-card {
  background:
    linear-gradient(180deg, rgba(245,158,11,.12), rgba(245,158,11,.045)),
    rgba(15,18,24,.96) !important;
  border: 1px solid rgba(245,158,11,.34) !important;
  border-left: 4px solid #f59e0b !important;
  color: var(--text, #f8fafc) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.24) !important;
}
.published-impact-summary strong,
.change-impact-card strong {
  color: var(--text, #f8fafc) !important;
}
.change-impact-card p,
.change-impact-card .muted,
.published-impact-summary {
  color: var(--muted, #c9d1df) !important;
}
.change-impact-card .impact-tag-row span {
  background: rgba(245,158,11,.13) !important;
  border-color: rgba(245,158,11,.42) !important;
  color: #fcd978 !important;
}


/* v1.10.273: Event Packet overlay + stronger QR overlay loading state */
.qr-print-status {
  margin: 0;
  min-height: 1.3em;
  color: #111827;
  font-size: .95rem;
  font-weight: 800;
  text-align: center;
}
.qr-print-only-code[hidden] {
  display: none !important;
}
.event-packet-overlay[hidden] {
  display: none !important;
}
.event-packet-overlay {
  position: fixed;
  inset: 0;
  z-index: 215;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(10px, 2vw, 24px);
  background: rgba(0, 0, 0, .76);
  backdrop-filter: blur(8px);
}
body.event-packet-overlay-open {
  overflow: hidden;
}
.event-packet-dialog {
  width: min(1180px, calc(100vw - 24px));
  height: min(900px, calc(100vh - 24px));
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 24px;
  background: var(--panel, #111827);
  box-shadow: 0 28px 90px rgba(0,0,0,.55);
}
.event-packet-dialog-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(255,255,255,.1);
  background: rgba(9,11,15,.96);
  color: var(--text, #fff);
}
.event-packet-dialog-head strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1rem;
  font-weight: 950;
}
.event-packet-dialog-head > div {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}
.event-packet-frame {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #fff;
}
@media (max-width: 720px) {
  .event-packet-overlay { padding: 0; }
  .event-packet-dialog {
    width: 100vw;
    height: 100vh;
    border-radius: 0;
  }
}


/* v1.10.275: Admin CMS WYSIWYG block editor dark-theme contrast fix */
body.admin-route .wp-edit-field.is-rich-field,
body.admin-route .wp-editor-box,
body.admin-route .cms-block-editor-shell {
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015)),
    rgba(12,16,22,.98) !important;
  color: var(--wp-admin-text, #f8f7f4) !important;
  border-color: rgba(255,255,255,.12) !important;
}

body.admin-route .cms-block-topbar,
body.admin-route .cms-block-workspace,
body.admin-route .cms-block-canvas,
body.admin-route .cms-block-preview,
body.admin-route .wp-visual-preview,
body.admin-route .cms-live-preview,
body.admin-route .cms-live-preview-wrap,
body.admin-route .cms-live-preview-wrap summary {
  background: rgba(8,11,16,.96) !important;
  color: var(--wp-admin-text, #f8f7f4) !important;
  border-color: rgba(255,255,255,.12) !important;
}

body.admin-route .cms-block-inserter,
body.admin-route .cms-block-inspector,
body.admin-route .cms-document-overview,
body.admin-route .cms-selected-settings,
body.admin-route .cms-content-block,
body.admin-route .cms-content-block header,
body.admin-route .cms-block-body,
body.admin-route .cms-wysiwyg-editor,
body.admin-route .cms-wysiwyg-toolbar,
body.admin-route .cms-table-toolbar,
body.admin-route .cms-image-preview,
body.admin-route .cms-html-live-preview,
body.admin-route .cms-html-live-preview > div,
body.admin-route .cms-table-block-editor {
  background: rgba(14,18,25,.98) !important;
  color: var(--wp-admin-text, #f8f7f4) !important;
  border-color: rgba(255,255,255,.13) !important;
  box-shadow: none !important;
}

body.admin-route .cms-block-canvas {
  gap: 12px !important;
}

body.admin-route .cms-content-block {
  border-radius: 12px !important;
  overflow: hidden !important;
}

body.admin-route .cms-content-block.active {
  border-color: rgba(240,75,40,.72) !important;
  box-shadow: 0 0 0 1px rgba(240,75,40,.60), 0 14px 28px rgba(0,0,0,.20) !important;
}

body.admin-route .cms-content-block header {
  border-bottom-color: rgba(255,255,255,.10) !important;
}

body.admin-route .cms-block-inserter strong,
body.admin-route .cms-document-overview h4,
body.admin-route .cms-selected-settings h4,
body.admin-route .cms-content-block header strong,
body.admin-route .cms-block-inspector label,
body.admin-route .cms-html-live-preview strong,
body.admin-route .cms-inline-setting,
body.admin-route .cms-rich-textarea,
body.admin-route .cms-block-body label {
  color: var(--wp-admin-text, #f8f7f4) !important;
}

body.admin-route .cms-document-overview p,
body.admin-route .cms-selected-settings p,
body.admin-route .cms-selected-settings small,
body.admin-route .cms-image-preview span {
  color: var(--wp-admin-muted, #aeb7c7) !important;
}

body.admin-route .cms-block-icon,
body.admin-route .cms-block-toolbar-btn,
body.admin-route .cms-block-inserter button,
body.admin-route .cms-block-actions button,
body.admin-route .cms-block-list-view button,
body.admin-route .cms-wysiwyg-toolbar button,
body.admin-route .cms-table-toolbar button,
body.admin-route .cms-editor-toolbar .small-btn,
body.admin-route .cms-quick-add {
  background: rgba(255,255,255,.065) !important;
  border-color: rgba(255,255,255,.16) !important;
  color: var(--wp-admin-text, #f8f7f4) !important;
  box-shadow: none !important;
}

body.admin-route .cms-block-toolbar-btn.active,
body.admin-route .cms-block-icon:hover,
body.admin-route .cms-block-toolbar-btn:hover,
body.admin-route .cms-block-inserter button:hover,
body.admin-route .cms-block-actions button:hover,
body.admin-route .cms-block-list-view button.active,
body.admin-route .cms-block-list-view button:hover,
body.admin-route .cms-wysiwyg-toolbar button:hover,
body.admin-route .cms-wysiwyg-toolbar button:focus-visible,
body.admin-route .cms-table-toolbar button:hover,
body.admin-route .cms-table-toolbar button:focus-visible,
body.admin-route .cms-editor-toolbar .small-btn:hover,
body.admin-route .cms-quick-add:hover {
  background: rgba(240,75,40,.16) !important;
  border-color: rgba(240,75,40,.52) !important;
  color: #fff !important;
}

body.admin-route .cms-wysiwyg-surface,
body.admin-route .cms-list-block-editor ul,
body.admin-route .cms-list-block-editor ol,
body.admin-route .cms-editable-table,
body.admin-route .cms-editable-table td,
body.admin-route .cms-block-body input,
body.admin-route .cms-block-body textarea,
body.admin-route .cms-block-body select,
body.admin-route .cms-selected-settings input,
body.admin-route .cms-selected-settings textarea,
body.admin-route .cms-selected-settings select,
body.admin-route .has-block-editor.is-block-code-mode > .cms-rich-textarea {
  background: rgba(5,8,13,.88) !important;
  color: var(--wp-admin-text, #f8f7f4) !important;
  border-color: rgba(255,255,255,.16) !important;
  caret-color: #fff !important;
}

body.admin-route .cms-wysiwyg-surface,
body.admin-route .cms-list-block-editor ul,
body.admin-route .cms-list-block-editor ol {
  border-radius: 10px !important;
}

body.admin-route .cms-wysiwyg-surface a,
body.admin-route .cms-list-block-editor a,
body.admin-route .cms-html-live-preview a,
body.admin-route .wp-visual-preview a,
body.admin-route .cms-block-preview a {
  color: #ff9b7a !important;
}

body.admin-route .cms-wysiwyg-surface:focus,
body.admin-route .cms-list-block-editor ul:focus,
body.admin-route .cms-list-block-editor ol:focus,
body.admin-route .cms-editable-table td:focus,
body.admin-route .cms-block-body input:focus,
body.admin-route .cms-block-body textarea:focus,
body.admin-route .cms-block-body select:focus,
body.admin-route .cms-selected-settings input:focus,
body.admin-route .cms-selected-settings textarea:focus,
body.admin-route .cms-selected-settings select:focus {
  border-color: rgba(240,75,40,.72) !important;
  box-shadow: 0 0 0 3px rgba(240,75,40,.18) !important;
  outline: 0 !important;
}

body.admin-route .cms-wysiwyg-surface:empty::before,
body.admin-route [contenteditable][data-placeholder]:empty::before {
  color: rgba(174,183,199,.70) !important;
}

body.admin-route .cms-editable-table td,
body.admin-route .wp-visual-preview th,
body.admin-route .wp-visual-preview td,
body.admin-route .cms-section-html th,
body.admin-route .cms-section-html td {
  border-color: rgba(255,255,255,.16) !important;
}

body.admin-route .wp-visual-preview th,
body.admin-route .cms-section-html th {
  background: rgba(255,255,255,.07) !important;
  color: var(--wp-admin-text, #f8f7f4) !important;
}

body.admin-route .cms-spacer-preview {
  border-color: rgba(255,255,255,.18) !important;
  background: repeating-linear-gradient(45deg, rgba(255,255,255,.035), rgba(255,255,255,.035) 8px, rgba(240,75,40,.065) 8px, rgba(240,75,40,.065) 16px) !important;
}

body.admin-route .cms-image-preview {
  border-style: dashed !important;
}

body.admin-route .cms-block-inspector label select,
body.admin-route .cms-block-inspector label input,
body.admin-route .cms-block-inspector label textarea {
  margin-top: 4px !important;
}

@media (max-width: 760px) {
  body.admin-route .cms-block-inserter.open,
  body.admin-route .cms-block-inspector.open {
    background: rgba(14,18,25,.98) !important;
  }
}

/* v1.10.278: Admin CMS Tool Map dark-theme contrast repair */
body.admin-route .admin-cms-map-grid {
  align-items: stretch !important;
}

body.admin-route .admin-cms-map-card {
  background:
    linear-gradient(145deg, rgba(19, 25, 34, 0.98), rgba(11, 15, 22, 0.98)) !important;
  border: 1px solid rgba(148, 163, 184, 0.18) !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28) !important;
  color: var(--text, #f8fafc) !important;
}

body.admin-route .admin-cms-map-card header h2,
body.admin-route .admin-cms-map-card header p,
body.admin-route .admin-cms-map-card .eyebrow {
  color: inherit !important;
}

body.admin-route .admin-cms-map-card header p:last-child {
  color: var(--muted, #cbd5e1) !important;
}

body.admin-route .admin-cms-map-tools {
  gap: 0.75rem !important;
}

body.admin-route .admin-cms-map-tool {
  display: block !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.025)) !important;
  border: 1px solid rgba(148, 163, 184, 0.18) !important;
  border-radius: 15px !important;
  color: var(--text, #f8fafc) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
}

body.admin-route .admin-cms-map-tool strong {
  color: var(--text, #f8fafc) !important;
}

body.admin-route .admin-cms-map-tool span {
  color: var(--muted, #cbd5e1) !important;
}

body.admin-route .admin-cms-map-tool:hover,
body.admin-route .admin-cms-map-tool:focus-visible {
  background:
    linear-gradient(145deg, rgba(240, 75, 40, 0.16), rgba(255, 255, 255, 0.04)) !important;
  border-color: rgba(240, 75, 40, 0.46) !important;
  color: #ffffff !important;
  box-shadow:
    0 14px 32px rgba(0, 0, 0, 0.28),
    0 0 0 3px rgba(240, 75, 40, 0.12) !important;
  outline: none !important;
}

body.admin-route .admin-cms-guidance-panel,
body.admin-route .admin-guidance-grid > div {
  background:
    linear-gradient(145deg, rgba(19, 25, 34, 0.98), rgba(11, 15, 22, 0.98)) !important;
  border: 1px solid rgba(148, 163, 184, 0.18) !important;
  color: var(--text, #f8fafc) !important;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.22) !important;
}

body.admin-route .admin-guidance-grid p {
  color: var(--muted, #cbd5e1) !important;
}


/* v1.10.279: Admin readability, dashboard panel spacing, and reporting table polish */
body.admin-route .admin-operator-card,
body.admin-route .public-next-step-grid a,
body.admin-route .flow-step-card {
  background: linear-gradient(145deg, rgba(23, 29, 39, 0.98), rgba(13, 18, 27, 0.98)) !important;
  border: 1px solid rgba(148, 163, 184, 0.20) !important;
  color: var(--text, #f8fafc) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.24) !important;
}
body.admin-route .admin-operator-card span,
body.admin-route .public-next-step-grid a span,
body.admin-route .flow-step-card span,
body.admin-route .admin-operator-card strong + span {
  color: #f8fafc !important;
}
body.admin-route .admin-operator-card em,
body.admin-route .public-next-step-grid a em,
body.admin-route .flow-step-card em {
  color: #cbd5e1 !important;
}
body.admin-route .admin-operator-card strong,
body.admin-route .public-next-step-grid a strong,
body.admin-route .flow-step-card strong {
  background: #0f172a !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, .08) !important;
}
body.admin-route .admin-operator-card.tone-danger { border-color: rgba(248, 113, 113, .38) !important; background: linear-gradient(145deg, rgba(69, 10, 10, .34), rgba(18, 24, 34, .96)) !important; }
body.admin-route .admin-operator-card.tone-warning { border-color: rgba(245, 158, 11, .38) !important; background: linear-gradient(145deg, rgba(69, 44, 8, .32), rgba(18, 24, 34, .96)) !important; }
body.admin-route .admin-operator-card.tone-info { border-color: rgba(96, 165, 250, .34) !important; background: linear-gradient(145deg, rgba(30, 64, 175, .22), rgba(18, 24, 34, .96)) !important; }
body.admin-route .admin-operator-card.tone-ok { border-color: rgba(34, 197, 94, .32) !important; background: linear-gradient(145deg, rgba(20, 83, 45, .24), rgba(18, 24, 34, .96)) !important; }
body.admin-route .cms-operator-widget .admin-operator-grid { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important; gap: 12px !important; }
body.admin-route .cms-operator-widget .admin-operator-card { min-height: 132px !important; padding: 14px !important; align-content: start !important; }

body.admin-route .compact-empty-state,
body.admin-route .empty-state.compact-empty-state {
  background: linear-gradient(145deg, rgba(20, 26, 36, 0.96), rgba(12, 17, 25, 0.96)) !important;
  border: 1px dashed rgba(148, 163, 184, 0.24) !important;
  color: var(--text, #f8fafc) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
}
body.admin-route .compact-empty-state h3,
body.admin-route .empty-state.compact-empty-state h3 { color: #f8fafc !important; }
body.admin-route .compact-empty-state p,
body.admin-route .empty-state.compact-empty-state p { color: #cbd5e1 !important; }
body.admin-route .wp-dashboard-widget:has(.compact-empty-state) { min-height: auto !important; }
body.admin-route .wp-dashboard-widget:has(.compact-empty-state) .compact-empty-state { margin-top: 8px !important; }

body.admin-route .security-checklist-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
  gap: 16px !important;
  align-items: start !important;
}
body.admin-route .security-checklist-card {
  padding: 18px !important;
  min-height: auto !important;
  display: grid !important;
  gap: 12px !important;
}
body.admin-route .security-checklist-card h2 { margin: 0 !important; }
body.admin-route .security-checklist-list { gap: 12px !important; }
body.admin-route .security-checklist-list li {
  padding: 14px !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  background: rgba(255,255,255,.045) !important;
  border-color: rgba(148,163,184,.18) !important;
  min-height: 104px !important;
}
body.admin-route .security-checklist-list strong { color: #f8fafc !important; overflow-wrap: anywhere; }
body.admin-route .security-checklist-list span { color: #cbd5e1 !important; }
@media (max-width: 740px) {
  body.admin-route .security-checklist-grid { grid-template-columns: 1fr !important; }
  body.admin-route .security-checklist-list li { grid-template-columns: 1fr !important; min-height: auto !important; }
  body.admin-route .security-checklist-list em { justify-self: start !important; }
}

body.admin-route .admin-action-audit-card,
body.admin-route .audit-log-card,
body.admin-route .email-log-card {
  overflow: hidden !important;
}
body.admin-route .admin-action-audit-card table,
body.admin-route .audit-log-card table,
body.admin-route .email-log-card table {
  table-layout: fixed !important;
  min-width: 1080px !important;
}
body.admin-route .admin-action-audit-card th,
body.admin-route .admin-action-audit-card td,
body.admin-route .audit-log-card th,
body.admin-route .audit-log-card td,
body.admin-route .email-log-card th,
body.admin-route .email-log-card td {
  padding: 14px 16px !important;
  line-height: 1.45 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}
body.admin-route .admin-action-audit-card th:nth-child(1),
body.admin-route .admin-action-audit-card td:nth-child(1) { width: 140px !important; }
body.admin-route .admin-action-audit-card th:nth-child(2),
body.admin-route .admin-action-audit-card td:nth-child(2) { width: 210px !important; }
body.admin-route .admin-action-audit-card th:nth-child(3),
body.admin-route .admin-action-audit-card td:nth-child(3) { width: 110px !important; }
body.admin-route .admin-action-audit-card th:nth-child(4),
body.admin-route .admin-action-audit-card td:nth-child(4) { width: 105px !important; }
body.admin-route .admin-action-audit-card th:nth-child(5),
body.admin-route .admin-action-audit-card td:nth-child(5) { width: 250px !important; }
body.admin-route .admin-action-audit-card th:nth-child(6),
body.admin-route .admin-action-audit-card td:nth-child(6) { width: auto !important; }
body.admin-route .admin-action-audit-card td:first-child { white-space: normal !important; overflow-wrap: normal !important; word-break: keep-all !important; }
body.admin-route .admin-action-audit-card td a,
body.admin-route .audit-log-card td a,
body.admin-route .email-log-card td a { overflow-wrap: anywhere !important; }
body.admin-route .admin-action-audit-card .badge,
body.admin-route .audit-log-card .badge,
body.admin-route .email-log-card .badge { white-space: normal !important; text-align: center !important; line-height: 1.15 !important; }

body.admin-route .audit-log-card table { min-width: 1060px !important; }
body.admin-route .audit-log-card th:nth-child(1),
body.admin-route .audit-log-card td:nth-child(1) { width: 170px !important; }
body.admin-route .audit-log-card th:nth-child(2),
body.admin-route .audit-log-card td:nth-child(2) { width: 230px !important; }
body.admin-route .audit-log-card th:nth-child(3),
body.admin-route .audit-log-card td:nth-child(3) { width: 240px !important; }
body.admin-route .audit-log-card th:nth-child(4),
body.admin-route .audit-log-card td:nth-child(4) { width: 240px !important; }
body.admin-route .audit-log-card th:nth-child(5),
body.admin-route .audit-log-card td:nth-child(5) { width: auto !important; }
body.admin-route .admin-log-details { display: grid !important; gap: 8px !important; margin: 0 !important; }
body.admin-route .admin-log-details div { display: grid !important; grid-template-columns: minmax(120px, .35fr) minmax(0, 1fr) !important; gap: 10px !important; }
body.admin-route .admin-log-details dt { color: #cbd5e1 !important; font-weight: 800 !important; }
body.admin-route .admin-log-details dd { margin: 0 !important; overflow-wrap: anywhere !important; }

body.admin-route .email-log-card table { min-width: 1180px !important; }
body.admin-route .email-log-card th:nth-child(1),
body.admin-route .email-log-card td:nth-child(1) { width: 135px !important; }
body.admin-route .email-log-card th:nth-child(2),
body.admin-route .email-log-card td:nth-child(2) { width: 95px !important; }
body.admin-route .email-log-card th:nth-child(3),
body.admin-route .email-log-card td:nth-child(3) { width: 145px !important; }
body.admin-route .email-log-card th:nth-child(4),
body.admin-route .email-log-card td:nth-child(4) { width: 250px !important; overflow-wrap: anywhere !important; }
body.admin-route .email-log-card th:nth-child(5),
body.admin-route .email-log-card td:nth-child(5) { width: 275px !important; }
body.admin-route .email-log-card th:nth-child(6),
body.admin-route .email-log-card td:nth-child(6) { width: auto !important; overflow-wrap: anywhere !important; }
body.admin-route .email-log-filter,
body.admin-route .audit-filter-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(180px, 1fr)) minmax(240px, 2fr) auto !important;
  gap: 10px !important;
  width: min(100%, 720px) !important;
  align-items: end !important;
  margin-left: auto !important;
}
body.admin-route .audit-filter-form { grid-template-columns: minmax(220px, 1fr) minmax(260px, 2fr) auto !important; }
body.admin-route .email-log-filter input,
body.admin-route .email-log-filter select,
body.admin-route .audit-filter-form input,
body.admin-route .audit-filter-form select {
  width: 100% !important;
  min-height: 42px !important;
}
@media (max-width: 900px) {
  body.admin-route .email-log-filter,
  body.admin-route .audit-filter-form { width: 100% !important; grid-template-columns: 1fr !important; margin-left: 0 !important; }
}

body.admin-route .admin-raw-code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
  font-size: 11px !important;
  opacity: .72 !important;
}
body.admin-route .plain-list li strong + .admin-raw-code {
  margin-left: 8px !important;
}
body.admin-route .content-card .table-wrap,
body.admin-route .table-card {
  overflow-x: auto !important;
}

/* v1.10.280: /checklist is Workflow QA only; retained report PDF/print export. */

/* v1.10.282: Admin CMS professional cleanup, navigation restructure, and list-management polish */
body.admin-route {
  --cms-card-radius: 18px;
  --cms-row-gap: 14px;
}
body.admin-route .wp-admin-env-card small {
  color: var(--wp-admin-muted, #aeb7c7);
  font-size: 12px;
  line-height: 1.35;
}
body.admin-route .wp-admin-menu {
  gap: 8px !important;
  padding: 10px 10px 24px !important;
}
body.admin-route .wp-admin-menu-group {
  padding: 0 !important;
  border-bottom: 0 !important;
}
body.admin-route .wp-admin-menu-group-toggle {
  width: 100%;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 9px;
  min-height: 48px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 14px;
  background: transparent;
  color: rgba(248,247,244,.84);
  text-align: left;
  cursor: pointer;
}
body.admin-route .wp-admin-menu-group-toggle:hover,
body.admin-route .wp-admin-menu-group.is-current-section > .wp-admin-menu-group-toggle {
  background: rgba(240,75,40,.10);
  border-color: rgba(240,75,40,.22);
  color: #fff;
}
body.admin-route .wp-admin-group-icon,
body.admin-route .wp-admin-menu-icon {
  width: 30px;
  height: 30px;
  display: inline-grid;
  place-items: center;
}
body.admin-route .wp-admin-group-copy strong {
  display: block;
  font-size: 13px;
  line-height: 1.2;
  color: inherit;
}
body.admin-route .wp-admin-group-copy small {
  display: block;
  margin-top: 2px;
  color: rgba(203,213,225,.78);
  font-size: 11px;
  line-height: 1.25;
}
body.admin-route .wp-admin-group-caret {
  color: rgba(203,213,225,.75);
  transition: transform .15s ease;
}
body.admin-route .wp-admin-menu-group.is-open .wp-admin-group-caret { transform: rotate(180deg); }
body.admin-route .wp-admin-submenu {
  display: none;
  padding: 4px 0 8px 42px;
}
body.admin-route .wp-admin-menu-group.is-open .wp-admin-submenu { display: grid; gap: 4px; }
body.admin-route .wp-admin-menu-item {
  min-height: 38px !important;
  grid-template-columns: 26px minmax(0, 1fr) auto !important;
  padding: 7px 9px !important;
  border-radius: 12px !important;
  font-size: 13px !important;
}
body.admin-route .wp-admin-menu-item::after { display: none !important; }
body.admin-route.admin-collapse-inactive .wp-admin-menu-group:not(.is-current-section):not(.is-forced-open) .wp-admin-submenu {
  display: none !important;
}
body.admin-route.admin-compact-menu .wp-admin-group-copy small { display: none; }
body.admin-route.admin-compact-menu .wp-admin-menu-group-toggle { min-height: 40px; }
body.admin-route.admin-compact-menu .wp-admin-submenu { padding-left: 36px; }

body.admin-route .wp-welcome-panel,
body.admin-route .wp-dashboard-widget,
body.admin-route .form-card,
body.admin-route .content-card,
body.admin-route .table-card,
body.admin-route .info-card,
body.admin-route .filter-card,
body.admin-route .auth-card {
  border-radius: var(--cms-card-radius) !important;
}
body.admin-route .wp-dashboard-widget > header,
body.admin-route .table-card-header,
body.admin-route .section-head {
  align-items: start !important;
  gap: 12px !important;
}
body.admin-route .wp-dashboard-widget > header h2,
body.admin-route .table-card-header h2,
body.admin-route .section-head h2 {
  letter-spacing: -.015em;
}
body.admin-route .admin-primary-work-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
}
body.admin-route .admin-primary-work-grid a {
  min-height: 116px !important;
  align-content: start !important;
}
body.admin-route .admin-primary-work-grid a strong {
  color: #fff !important;
  background: transparent !important;
  border: 0 !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
  padding: 0 !important;
}

body.admin-route .cms-attention-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.15;
  white-space: nowrap;
}
body.admin-route .cms-attention-pill.is-clear {
  color: #cbd5e1;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.09);
}
body.admin-route .cms-attention-pill.is-needed {
  color: #ffd38a;
  background: rgba(245,158,11,.16);
  border: 1px solid rgba(245,158,11,.32);
}
body.admin-route tr.needs-attention-row td {
  background: rgba(245,158,11,.045) !important;
}
body.admin-route .admin-cms-list-card table {
  min-width: 1080px;
  table-layout: fixed;
}
body.admin-route .admin-cms-list-card th,
body.admin-route .admin-cms-list-card td {
  padding: 14px 16px !important;
  vertical-align: top !important;
  line-height: 1.45 !important;
}
body.admin-route .admin-cms-list-card th:nth-child(1),
body.admin-route .admin-cms-list-card td:nth-child(1) { width: 150px; }
body.admin-route .admin-cms-list-card th:nth-child(2),
body.admin-route .admin-cms-list-card td:nth-child(2) { width: 220px; }
body.admin-route .admin-cms-list-card th:nth-child(3),
body.admin-route .admin-cms-list-card td:nth-child(3) { width: 260px; overflow-wrap: anywhere; }
body.admin-route .admin-cms-list-card th:nth-child(4),
body.admin-route .admin-cms-list-card td:nth-child(4) { width: auto; }
body.admin-route .admin-cms-list-card th:nth-child(5),
body.admin-route .admin-cms-list-card td:nth-child(5) { width: 145px; }

body.admin-route .wp-admin-dropdown-panel {
  width: min(360px, 92vw) !important;
  padding: 14px !important;
  border-radius: 16px !important;
  background: rgba(13,18,27,.98) !important;
  border: 1px solid rgba(148,163,184,.24) !important;
  box-shadow: 0 22px 56px rgba(0,0,0,.42) !important;
}
body.admin-route .wp-admin-dropdown-panel p,
body.admin-route .wp-admin-dropdown-panel small {
  color: #cbd5e1 !important;
}
body.admin-route .admin-column-options {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.09);
}
body.admin-route .admin-column-options [data-admin-columns-list] {
  display: grid;
  gap: 6px;
  margin-top: 8px;
}
body.admin-route .admin-column-option {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #f8fafc !important;
  font-weight: 700;
}
body.admin-route .admin-column-reset {
  justify-self: start;
  margin-top: 4px;
}
body.admin-route .admin-column-hidden { display: none !important; }

body.admin-route .security-checklist-list li {
  align-items: start !important;
}
body.admin-route .security-checklist-list li.status-configured {
  grid-template-columns: 1fr !important;
}
body.admin-route .security-checklist-list li.status-configured em {
  display: none !important;
}
body.admin-route .security-checklist-list li em {
  align-self: start !important;
  white-space: nowrap !important;
}
body.admin-route .readiness-status-label,
body.admin-route .badge.status-ok,
body.admin-route .badge.status-warning {
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body.admin-route .badge.status-ok {
  color: #cbd5e1 !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
body.admin-route .badge.status-warning {
  color: #ffd38a !important;
  background: rgba(245,158,11,.16) !important;
  border: 1px solid rgba(245,158,11,.34) !important;
}

@media (max-width: 920px) {
  body.admin-route .admin-cms-list-card table,
  body.admin-route .admin-action-audit-card table,
  body.admin-route .audit-log-card table,
  body.admin-route .email-log-card table {
    min-width: 0 !important;
  }
  body.admin-route .admin-cms-list-card thead,
  body.admin-route .admin-action-audit-card thead,
  body.admin-route .audit-log-card thead,
  body.admin-route .email-log-card thead {
    display: none !important;
  }
  body.admin-route .admin-cms-list-card tr,
  body.admin-route .admin-action-audit-card tr,
  body.admin-route .audit-log-card tr,
  body.admin-route .email-log-card tr {
    display: grid !important;
    gap: 9px !important;
    margin: 0 0 12px !important;
    padding: 14px !important;
    border: 1px solid rgba(148,163,184,.18) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.035) !important;
  }
  body.admin-route .admin-cms-list-card td,
  body.admin-route .admin-action-audit-card td,
  body.admin-route .audit-log-card td,
  body.admin-route .email-log-card td {
    display: grid !important;
    grid-template-columns: minmax(105px, .36fr) minmax(0, 1fr) !important;
    gap: 8px !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
  }
  body.admin-route .admin-cms-list-card td::before,
  body.admin-route .admin-action-audit-card td::before,
  body.admin-route .audit-log-card td::before,
  body.admin-route .email-log-card td::before {
    content: attr(data-label);
    color: #cbd5e1;
    font-size: 12px;
    font-weight: 850;
  }
}

@media (max-width: 700px) {
  body.admin-route .wp-admin-menu-group-toggle { grid-template-columns: 30px minmax(0, 1fr) auto; }
  body.admin-route .wp-admin-menu-group-toggle .wp-admin-menu-count { grid-column: 2; justify-self: start; }
  body.admin-route .wp-admin-submenu { padding-left: 10px; }
}

/* v1.10.284 — Seamless Page Editor / WYSIWYG CMS integration */
body.admin-route .page-editor-hero {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-end;
  padding: 26px 22px 22px;
  border: 1px solid rgba(148, 163, 184, .20);
  border-radius: 24px;
  background:
    radial-gradient(circle at top left, rgba(228, 45, 36, .18), transparent 36%),
    linear-gradient(135deg, rgba(17, 24, 39, .96), rgba(7, 10, 16, .98));
  box-shadow: 0 22px 70px rgba(0, 0, 0, .34);
  margin: 18px 0 20px;
}
body.admin-route .page-editor-hero h1 {
  margin: 0 0 8px;
  font-size: clamp(2.35rem, 4vw, 4.2rem);
  letter-spacing: -.055em;
  line-height: .94;
}
body.admin-route .page-editor-hero p {
  max-width: 880px;
  color: #cbd5e1;
  font-size: 1.02rem;
  line-height: 1.55;
  margin: 0;
}
body.admin-route .page-editor-hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  min-width: 290px;
}
body.admin-route .cms-editor-library {
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 22px;
  background: rgba(17, 24, 39, .92);
  box-shadow: 0 16px 48px rgba(0, 0, 0, .22);
  padding: 18px;
  margin-bottom: 20px;
}
body.admin-route .cms-library-heading {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  padding: 4px 4px 16px;
  border-bottom: 1px solid rgba(148, 163, 184, .14);
}
body.admin-route .cms-library-heading h2 {
  margin: 0 0 6px;
  letter-spacing: -.025em;
}
body.admin-route .cms-library-heading p {
  max-width: 830px;
  color: #aebbd0;
  margin: 0;
  line-height: 1.5;
}
body.admin-route .cms-library-heading > strong {
  white-space: nowrap;
  border: 1px solid rgba(228, 45, 36, .32);
  color: #fecaca;
  background: rgba(228, 45, 36, .12);
  padding: 8px 12px;
  border-radius: 999px;
}
body.admin-route .cms-page-picker {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(215px, 1fr));
  gap: 12px;
  padding-top: 16px;
}
body.admin-route .cms-page-card {
  display: grid;
  gap: 8px;
  min-height: 114px;
  align-content: start;
  text-decoration: none;
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, .16);
  background: linear-gradient(180deg, rgba(31, 41, 55, .84), rgba(17, 24, 39, .92));
  color: #f8fafc;
  padding: 15px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
body.admin-route .cms-page-card:hover,
body.admin-route .cms-page-card:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(248, 113, 113, .52);
  background: linear-gradient(180deg, rgba(47, 57, 74, .95), rgba(20, 28, 42, .98));
}
body.admin-route .cms-page-card.active {
  border-color: rgba(248, 113, 113, .72);
  box-shadow: 0 0 0 1px rgba(248, 113, 113, .18), inset 0 1px 0 rgba(255, 255, 255, .06);
}
body.admin-route .cms-page-card span {
  color: #f87171;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .7rem;
  font-weight: 900;
}
body.admin-route .cms-page-card strong {
  font-size: 1.05rem;
  line-height: 1.2;
}
body.admin-route .cms-page-card small {
  color: #aebbd0;
  line-height: 1.35;
}
body.admin-route .cms-page-editor-root { margin-bottom: 32px; }
body.admin-route .cms-page-workbench {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
  align-items: start;
  gap: 18px;
}
body.admin-route .cms-page-canvas,
body.admin-route .cms-page-sidebar > section,
body.admin-route .cms-publish-panel,
body.admin-route .cms-help-panel {
  border: 1px solid rgba(148, 163, 184, .18);
  background: rgba(17, 24, 39, .94);
  border-radius: 22px;
  box-shadow: 0 14px 42px rgba(0, 0, 0, .20);
}
body.admin-route .cms-page-canvas { overflow: hidden; }
body.admin-route .cms-editing-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  background: linear-gradient(180deg, rgba(31, 41, 55, .72), rgba(17, 24, 39, .20));
  border-bottom: 1px solid rgba(148, 163, 184, .14);
}
body.admin-route .cms-editing-toolbar h2 {
  margin: 0 0 5px;
  letter-spacing: -.025em;
  font-size: clamp(1.55rem, 3vw, 2.45rem);
}
body.admin-route .cms-editing-toolbar p {
  margin: 0;
  color: #aebbd0;
  max-width: 760px;
  line-height: 1.5;
}
body.admin-route .cms-editing-toolbar-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
  min-width: 230px;
}
body.admin-route .cms-editor-overview-panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: rgba(148, 163, 184, .12);
  border-bottom: 1px solid rgba(148, 163, 184, .14);
}
body.admin-route .cms-editor-overview-panel > div {
  background: rgba(15, 23, 42, .92);
  padding: 18px 20px;
}
body.admin-route .cms-editor-overview-panel span {
  display: block;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: .09em;
  font-size: .72rem;
  font-weight: 900;
  margin-bottom: 5px;
}
body.admin-route .cms-editor-overview-panel strong {
  display: block;
  font-size: clamp(1.35rem, 2.7vw, 2rem);
  line-height: 1.1;
  color: #f8fafc;
  word-break: break-word;
}
body.admin-route .cms-editor-overview-panel small {
  display: block;
  margin-top: 6px;
  color: #aebbd0;
}
body.admin-route .cms-page-title-card {
  margin: 20px 22px;
  border: 1px solid rgba(148, 163, 184, .16);
  background: rgba(2, 6, 23, .32);
  border-radius: 18px;
  padding: 16px;
}
body.admin-route .cms-page-title-card label span {
  display: block;
  color: #f87171;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .72rem;
  font-weight: 900;
  margin-bottom: 6px;
}
body.admin-route .cms-page-title-card input[readonly] {
  border-color: rgba(148, 163, 184, .18);
  background: rgba(15, 23, 42, .84);
  color: #f8fafc;
  font-size: 1.12rem;
  font-weight: 850;
}
body.admin-route .cms-page-title-card p {
  color: #94a3b8;
  margin: 10px 0 0;
}
body.admin-route .cms-section-stack { padding: 0 22px 22px; display: grid; gap: 18px; }
body.admin-route .cms-edit-section {
  border: 1px solid rgba(148, 163, 184, .16);
  background: rgba(2, 6, 23, .28);
  border-radius: 20px;
  overflow: hidden;
}
body.admin-route .cms-edit-section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 17px 18px;
  border-bottom: 1px solid rgba(148, 163, 184, .12);
  background: rgba(31, 41, 55, .46);
}
body.admin-route .cms-edit-section-head h3 {
  margin: 0 0 5px;
  letter-spacing: -.015em;
}
body.admin-route .cms-edit-section-head p {
  color: #aebbd0;
  margin: 0;
  line-height: 1.45;
}
body.admin-route .cms-edit-section-head > span,
body.admin-route .cms-field-card > header > span {
  border: 1px solid rgba(148, 163, 184, .18);
  background: rgba(15, 23, 42, .72);
  color: #cbd5e1;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: .74rem;
  font-weight: 850;
  white-space: nowrap;
}
body.admin-route .cms-edit-fields { display: grid; gap: 14px; padding: 16px; }
body.admin-route .cms-field-card {
  border: 1px solid rgba(148, 163, 184, .16);
  background: linear-gradient(180deg, rgba(17, 24, 39, .92), rgba(15, 23, 42, .96));
  border-radius: 18px;
  padding: 0;
  overflow: hidden;
}
body.admin-route .cms-field-card > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(148, 163, 184, .10);
}
body.admin-route .cms-field-card > header h4 {
  margin: 0 0 4px;
  color: #f8fafc;
  letter-spacing: -.01em;
}
body.admin-route .cms-field-card > header p {
  margin: 0;
  color: #aebbd0;
  line-height: 1.45;
}
body.admin-route .cms-field-card > input,
body.admin-route .cms-field-card > select,
body.admin-route .cms-field-card > textarea {
  width: calc(100% - 32px);
  margin: 16px;
}
body.admin-route .cms-field-card.is-structured-field { background: rgba(15, 23, 42, .78); }
body.admin-route .cms-field-card.is-visual-field { box-shadow: inset 3px 0 0 rgba(228, 45, 36, .68); }
body.admin-route .cms-wysiwyg-slot { margin: 0; border: 0; border-radius: 0; background: transparent; }
body.admin-route .cms-editor-prompt {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 12px 16px;
  background: rgba(15, 23, 42, .60);
  border-bottom: 1px solid rgba(148, 163, 184, .10);
}
body.admin-route .cms-editor-prompt strong { color: #f8fafc; }
body.admin-route .cms-editor-prompt span { color: #94a3b8; font-size: .9rem; text-align: right; }
body.admin-route .cms-page-sidebar {
  display: grid;
  gap: 14px;
  position: sticky;
  top: 84px;
}
body.admin-route .cms-publish-panel,
body.admin-route .cms-help-panel { padding: 16px; }
body.admin-route .cms-publish-panel h3,
body.admin-route .cms-help-panel h3 {
  margin: 0 0 8px;
  letter-spacing: -.01em;
}
body.admin-route .cms-publish-panel p,
body.admin-route .cms-help-panel p,
body.admin-route .cms-help-panel li {
  color: #aebbd0;
  line-height: 1.45;
}
body.admin-route .cms-publish-panel .btn + .btn { margin-top: 8px; }
body.admin-route .cms-section-jump-list,
body.admin-route .cms-quickinsert-list { display: grid; gap: 8px; }
body.admin-route .cms-section-jump-list a {
  display: block;
  color: #f8fafc;
  text-decoration: none;
  border: 1px solid rgba(148, 163, 184, .14);
  background: rgba(15, 23, 42, .65);
  border-radius: 12px;
  padding: 9px 10px;
}
body.admin-route .cms-section-jump-list a:hover { border-color: rgba(248, 113, 113, .48); }
body.admin-route .cms-quickinsert-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 6px;
  align-items: center;
  border: 1px solid rgba(148, 163, 184, .12);
  background: rgba(15, 23, 42, .60);
  border-radius: 12px;
  padding: 8px;
}
body.admin-route .cms-quickinsert-row strong { color: #f8fafc; font-size: .88rem; }
body.admin-route .cms-faq-table-wrap { margin: 20px 22px 22px; }
body.admin-route .faq-editor-layout .cms-page-sidebar { top: 84px; }
body.admin-route .has-block-editor .cms-classic-toolbar,
body.admin-route .has-block-editor .wp-editor-tabs { display: none !important; }
body.admin-route .cms-block-editor-shell {
  border: 0;
  border-radius: 0;
  background: transparent;
}
body.admin-route .cms-block-topbar {
  background: rgba(2, 6, 23, .82);
  border-bottom: 1px solid rgba(148, 163, 184, .12);
  padding: 12px;
  gap: 8px;
  flex-wrap: wrap;
}
body.admin-route .cms-block-toolbar-btn,
body.admin-route .cms-block-icon {
  border-radius: 999px;
}
body.admin-route .cms-block-toolbar-btn.active {
  background: rgba(228, 45, 36, .92);
  color: #fff;
  border-color: rgba(248, 113, 113, .55);
}
body.admin-route .cms-block-workspace {
  grid-template-columns: minmax(0, 190px) minmax(0, 1fr) minmax(0, 250px);
  min-height: 340px;
}
body.admin-route .cms-block-canvas {
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    rgba(8, 13, 24, .66);
  background-size: 100% 42px;
  padding: 14px;
}
body.admin-route .cms-content-block {
  border-radius: 16px;
  background: rgba(17, 24, 39, .96);
}
body.admin-route .cms-content-block.active {
  border-color: rgba(248, 113, 113, .75);
  box-shadow: 0 0 0 2px rgba(248, 113, 113, .14);
}
body.admin-route .cms-block-inspector,
body.admin-route .cms-block-inserter {
  background: rgba(2, 6, 23, .68);
  border-color: rgba(148, 163, 184, .12);
}
body.admin-route .cms-block-inserter button,
body.admin-route .cms-block-list-view button {
  border-radius: 10px;
}
body.admin-route .cms-block-preview {
  border-top: 1px solid rgba(148, 163, 184, .12);
  background: rgba(15, 23, 42, .80);
}
body.admin-route .cms-rich-textarea {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.cms-public-content {
  line-height: 1.68;
  color: inherit;
}
.cms-public-content > *:first-child { margin-top: 0; }
.cms-public-content > *:last-child { margin-bottom: 0; }
.cms-public-content h2,
.cms-public-content h3,
.cms-public-content h4 {
  margin: 1.15em 0 .45em;
  letter-spacing: -.025em;
  line-height: 1.14;
}
.cms-public-content p { margin: .75em 0; }
.cms-public-content ul,
.cms-public-content ol {
  padding-left: 1.25rem;
  margin: .8em 0;
}
.cms-public-content li { margin: .35em 0; }
.cms-public-content table {
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
  border-radius: 14px;
  margin: 1rem 0;
  background: rgba(15, 23, 42, .56);
}
.cms-public-content th,
.cms-public-content td {
  border: 1px solid rgba(148, 163, 184, .20);
  padding: .75rem .85rem;
  text-align: left;
  vertical-align: top;
}
.cms-public-content blockquote {
  margin: 1rem 0;
  padding: .85rem 1rem;
  border-left: 4px solid var(--accent, #e42d24);
  background: rgba(148, 163, 184, .09);
  border-radius: 12px;
}
.cms-public-content .cms-media-block,
.cms-media-block {
  margin: 1rem 0;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .18);
  background: rgba(15, 23, 42, .35);
}
.cms-public-content .cms-media-block img,
.cms-media-block img {
  display: block;
  width: 100%;
  max-height: 520px;
  object-fit: cover;
}
.cms-public-content figcaption,
.cms-media-block figcaption {
  padding: .75rem .9rem;
  color: #94a3b8;
  font-size: .92rem;
}
.cms-content-note {
  border: 1px solid rgba(248, 113, 113, .24);
  background: rgba(228, 45, 36, .09);
  border-radius: 14px;
  padding: .9rem 1rem;
  margin: 1rem 0;
}
.cms-button-row {
  display: flex;
  gap: .7rem;
  flex-wrap: wrap;
  margin: 1rem 0;
}
.cms-spacer { display: block; }

@media (max-width: 1120px) {
  body.admin-route .cms-page-workbench { grid-template-columns: 1fr; }
  body.admin-route .cms-page-sidebar { position: static; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
  body.admin-route .cms-block-workspace { grid-template-columns: 1fr; }
  body.admin-route .cms-block-inserter,
  body.admin-route .cms-block-inspector { display: none; }
  body.admin-route .cms-block-inserter.open,
  body.admin-route .cms-block-inspector.open { display: block; }
}
@media (max-width: 760px) {
  body.admin-route .page-editor-hero,
  body.admin-route .cms-library-heading,
  body.admin-route .cms-editing-toolbar,
  body.admin-route .cms-edit-section-head,
  body.admin-route .cms-field-card > header,
  body.admin-route .cms-editor-prompt {
    flex-direction: column;
    align-items: stretch;
  }
  body.admin-route .page-editor-hero-actions,
  body.admin-route .cms-editing-toolbar-actions { justify-content: flex-start; min-width: 0; }
  body.admin-route .cms-editor-overview-panel { grid-template-columns: 1fr; }
  body.admin-route .cms-section-stack,
  body.admin-route .cms-page-title-card,
  body.admin-route .cms-faq-table-wrap { margin-left: 12px; margin-right: 12px; padding-left: 0; padding-right: 0; }
  body.admin-route .cms-edit-fields { padding: 12px; }
  body.admin-route .cms-quickinsert-row { grid-template-columns: 1fr; }
  body.admin-route .cms-editor-prompt span { text-align: left; }
}

/* V1.10.285 public site CMS integration redesign
   Public/live/beta/test surfaces now share a CMS-aware, professional shell that
   makes Page Editor content feel native without changing existing site behavior. */
body.public-route {
  --public-shell: min(1220px, calc(100% - 30px));
  --public-card: rgba(18, 22, 29, .92);
  --public-card-strong: rgba(27, 32, 41, .96);
  --public-line: rgba(255,255,255,.105);
  --public-soft: rgba(255,255,255,.045);
  --public-red-soft: rgba(181,31,41,.14);
  background:
    radial-gradient(circle at top left, rgba(240, 75, 40, .12), transparent 26rem),
    radial-gradient(circle at 78% 0, rgba(181,31,41,.11), transparent 30rem),
    linear-gradient(180deg, #080a0f 0%, #0a0d13 42%, #080a0f 100%);
}

.skip-link {
  position: absolute;
  left: 12px;
  top: -80px;
  z-index: 9999;
  background: #fff;
  color: #090b0f;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 900;
  box-shadow: 0 12px 34px rgba(0,0,0,.28);
}
.skip-link:focus { top: 12px; }

.public-main,
body.public-route .site-header,
body.public-route .site-footer {
  width: var(--public-shell);
}
.public-main {
  padding-top: clamp(18px, 3vw, 34px);
  padding-bottom: 64px;
}

.public-site-header {
  top: 0;
  z-index: 120;
  min-height: 72px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.08);
  border-top: 0;
  border-radius: 0 0 22px 22px;
  background: linear-gradient(180deg, rgba(10,12,17,.96), rgba(13,16,22,.88));
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
}
.public-brand { min-width: max-content; }
.public-brand .brand-logo {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(181,31,41,.24);
}
.brand-copy { display: grid; gap: 1px; line-height: 1.08; }
.brand-tagline {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .01em;
  max-width: 280px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.public-top-nav {
  gap: 8px;
  align-items: center;
}
.nav-group {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid rgba(255,255,255,.07);
  background: rgba(255,255,255,.028);
  border-radius: 999px;
}
.nav-group a,
.nav-group .link-button {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: 8px 10px;
  border-radius: 999px;
  color: #dfe6f2;
  line-height: 1;
}
.nav-group a:hover,
.nav-group .link-button:hover {
  background: rgba(255,255,255,.075);
  color: #fff;
}
.nav-group-account { background: rgba(181,31,41,.08); border-color: rgba(240,75,40,.16); }
.nav-group-beta { background: rgba(255,193,7,.055); border-color: rgba(255,193,7,.18); }
.nav-pill,
.nav-admin-link {
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  color: #fff !important;
  box-shadow: 0 8px 24px rgba(181,31,41,.22);
}
.public-header-controls { margin-left: auto; }
body.public-route .nav-bell-link {
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.055);
}

body.public-route .environment-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  min-height: 44px;
  padding: 10px 16px;
  font-size: 13px;
  line-height: 1.3;
}
body.public-route .environment-banner a {
  border: 1px solid currentColor;
  border-radius: 999px;
  padding: 5px 9px;
  font-weight: 900;
}

/* Public CMS page shell */
body.public-route .page-title {
  position: relative;
  margin: 10px 0 18px;
  padding: clamp(18px, 4vw, 34px);
  border: 1px solid var(--public-line);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.025)),
    radial-gradient(circle at top right, rgba(240,75,40,.14), transparent 24rem),
    var(--public-card);
  box-shadow: 0 20px 60px rgba(0,0,0,.24);
  overflow: hidden;
}
body.public-route .page-title::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, var(--accent-2), var(--accent));
}
body.public-route .page-title h1 {
  max-width: 960px;
  margin-bottom: 10px;
  font-size: clamp(2.2rem, 6.2vw, 4.9rem);
  line-height: .98;
  letter-spacing: -.07em;
}
body.public-route .page-title .page-intro-copy,
body.public-route .page-title > p:not(.eyebrow),
body.public-route .hero-lede {
  max-width: 780px;
  color: #cad3e1;
  font-size: clamp(1rem, 1.6vw, 1.15rem);
}
body.public-route .split-title {
  grid-template-columns: minmax(0, 1fr) auto;
}

body.public-route .content-card,
body.public-route .form-card,
body.public-route .filter-card,
body.public-route .empty-state,
body.public-route .info-card,
body.public-route .event-card,
body.public-route .table-card {
  border-color: var(--public-line);
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
    var(--public-card);
  box-shadow: 0 16px 42px rgba(0,0,0,.20);
}
body.public-route .content-card,
body.public-route .form-card,
body.public-route .empty-state {
  padding: clamp(18px, 3vw, 30px);
  border-radius: 24px;
}
body.public-route .management-grid,
body.public-route .run-grid,
body.public-route .compact-run-grid {
  gap: 18px;
}

.cms-public-content,
.cms-section-html,
.legal-copy {
  color: #d7dfed;
  line-height: 1.68;
}
.cms-public-content h2,
.cms-section-html h2,
.legal-copy h2 {
  margin: 1.35em 0 .45em;
  color: #fff;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  letter-spacing: -.035em;
}
.cms-public-content h3,
.cms-section-html h3,
.legal-copy h3 {
  margin: 1.15em 0 .4em;
  color: #fff;
  letter-spacing: -.02em;
}
.cms-public-content p,
.cms-section-html p,
.legal-copy p { margin: .75em 0; }
.cms-public-content a,
.cms-section-html a,
.legal-copy a {
  color: #ff9279;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
.cms-public-content ul,
.cms-public-content ol,
.cms-section-html ul,
.cms-section-html ol,
.legal-copy ul,
.legal-copy ol { padding-left: 1.3rem; }
.cms-public-content li,
.cms-section-html li,
.legal-copy li { margin: .42em 0; }
.cms-public-content table,
.cms-section-html table,
.legal-copy table {
  display: block;
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--public-line);
  border-radius: 16px;
  background: rgba(7,9,13,.45);
}
.cms-public-content blockquote,
.cms-section-html blockquote,
.legal-copy blockquote {
  margin: 1rem 0;
  padding: 14px 16px;
  border-left: 4px solid var(--accent-2);
  border-radius: 16px;
  background: rgba(240,75,40,.08);
  color: #eef3fb;
}
.cms-content-note,
.notice,
.compact-notice {
  border-color: rgba(240,75,40,.22) !important;
  background: rgba(240,75,40,.08) !important;
  color: #f4f7fb;
}

/* Home */
.hero.hero-premium {
  border: 1px solid var(--public-line);
  border-radius: 32px;
  padding: clamp(18px, 4vw, 44px);
  background:
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.02)),
    radial-gradient(circle at 74% 22%, rgba(240,75,40,.18), transparent 22rem),
    radial-gradient(circle at 10% 0, rgba(181,31,41,.18), transparent 28rem),
    rgba(15,18,25,.92);
  box-shadow: 0 28px 80px rgba(0,0,0,.28);
}
.hero.hero-premium .hero-copy h1 {
  max-width: 800px;
  font-size: clamp(2.6rem, 7vw, 5.9rem);
  line-height: .9;
}
.hero.hero-premium .hero-actions { gap: 12px; }
.hero.hero-premium .btn {
  min-height: 50px;
  border-radius: 16px;
}
.hero-stat-strip {
  border: 1px solid var(--public-line);
  background: rgba(255,255,255,.05);
  border-radius: 20px;
  padding: 8px;
}
.hero-stat-strip > div {
  border-color: rgba(255,255,255,.08);
  background: rgba(8,10,14,.5);
}
.hero-showcase {
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.025)),
    rgba(13,16,22,.9) !important;
  border-color: rgba(255,255,255,.12) !important;
}
.public-command-panel {
  margin: 20px 0;
  display: grid;
  grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
  gap: 16px;
  padding: clamp(16px, 3vw, 24px);
  border: 1px solid var(--public-line);
  border-radius: 26px;
  background: rgba(255,255,255,.045);
  box-shadow: 0 18px 45px rgba(0,0,0,.18);
}
.public-command-copy h2 {
  margin: 4px 0 8px;
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  letter-spacing: -.045em;
}
.public-command-copy p { margin: 0; color: var(--muted); }
.public-command-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.public-command-actions a,
.public-feature-card {
  display: grid;
  gap: 6px;
  padding: 15px;
  border: 1px solid var(--public-line);
  border-radius: 18px;
  background: rgba(7,9,13,.44);
}
.public-command-actions a:hover,
.public-feature-card:hover {
  border-color: rgba(240,75,40,.45);
  background: rgba(181,31,41,.12);
  color: #fff;
}
.public-command-actions strong { font-size: 1rem; }
.public-command-actions span,
.public-feature-card p { color: var(--muted); font-size: .9rem; line-height: 1.4; }
.public-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 24px;
}
.public-feature-card span {
  color: var(--accent-2);
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.public-feature-card h3 { margin: 0; font-size: 1.25rem; letter-spacing: -.03em; }
.public-feature-card p { margin: 0; }

/* Event browsing */
.public-list-dashboard {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 14px;
}
.public-list-dashboard article {
  padding: 14px 16px;
  border: 1px solid var(--public-line);
  border-radius: 18px;
  background: rgba(255,255,255,.04);
}
.public-list-dashboard span {
  display: block;
  color: var(--accent-2);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.public-list-dashboard strong { display: block; line-height: 1.35; }
.public-quick-tools,
.events-quick-tools {
  border: 1px solid var(--public-line);
  border-radius: 22px;
  padding: 12px;
  background: rgba(255,255,255,.04);
  box-shadow: 0 14px 34px rgba(0,0,0,.16);
}
.quick-filter-row a,
.quick-filter-button,
.event-view-toggle a {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(8,10,14,.58);
  color: #edf2fb;
}
.quick-filter-row a:hover,
.quick-filter-button:hover,
.event-view-toggle a:hover,
.event-view-toggle a.is-active {
  border-color: rgba(240,75,40,.45);
  background: rgba(181,31,41,.18);
  color: #fff;
}
.pro-filter-drawer > summary {
  border: 1px solid var(--public-line);
  background: rgba(255,255,255,.05);
  border-radius: 20px;
}
.pro-filter-card {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 18px !important;
  border-radius: 22px !important;
}
.pro-filter-card .filter-wide { grid-column: span 2; }
.filter-actions { align-self: end; }
.events-result-bar {
  border-color: var(--public-line);
  background: rgba(255,255,255,.045);
}

.run-card,
.compact-run-card {
  border-color: var(--public-line);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015)), rgba(15,18,24,.94);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.run-card:hover,
.compact-run-card:hover {
  transform: translateY(-2px);
  border-color: rgba(240,75,40,.36);
  box-shadow: 0 20px 48px rgba(0,0,0,.24);
}
.run-card h3 a { color: #fff; }
.run-card .status-line { color: #c5cedd; }
.run-card .mini-stats span {
  background: rgba(255,255,255,.045);
  border-color: rgba(255,255,255,.08);
}

/* Event detail */
.event-detail-page.compact-event-page { margin-top: 10px; }
.event-compact-shell {
  display: grid;
  gap: 16px;
}
.event-compact-hero {
  border-color: var(--public-line);
  background:
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.022)),
    radial-gradient(circle at top right, rgba(240,75,40,.18), transparent 24rem),
    rgba(17,20,28,.94);
  box-shadow: 0 24px 70px rgba(0,0,0,.26);
}
.event-page-jump-nav {
  position: sticky;
  top: 82px;
  z-index: 80;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 10px;
  border: 1px solid var(--public-line);
  border-radius: 20px;
  background: rgba(10,12,17,.86);
  backdrop-filter: blur(14px);
  box-shadow: 0 12px 34px rgba(0,0,0,.20);
}
.event-page-jump-nav a,
.event-page-jump-nav button {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  color: #e8eef7;
  font-weight: 900;
  font-size: .82rem;
}
.event-page-jump-nav a:hover,
.event-page-jump-nav button:hover {
  border-color: rgba(240,75,40,.42);
  background: rgba(181,31,41,.18);
  color: #fff;
}
.event-side-rail { gap: 14px; }
.event-detail-grid { gap: 18px; }
.event-card h2 { letter-spacing: -.035em; }
.compact-fact-list > div,
.schedule-fact-list > div {
  border-color: rgba(255,255,255,.08);
  background: rgba(255,255,255,.035);
}
.compact-flyer,
.compact-flyer-placeholder {
  border-color: var(--public-line);
  box-shadow: 0 16px 40px rgba(0,0,0,.22);
}
.compact-update-strip {
  border-color: rgba(240,75,40,.28);
  background: rgba(181,31,41,.12);
}

/* Sponsors, maps, FAQ, support */
.sponsor-slot,
.footer-sponsor-slot {
  border-color: var(--public-line) !important;
  background: rgba(255,255,255,.04) !important;
}
.faq-public-item {
  padding: 18px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.faq-public-item h2 { margin-bottom: 8px; }
.region-card,
.poster-sponsor-card,
.compact-sponsor-card {
  border-color: var(--public-line) !important;
  background: rgba(255,255,255,.035) !important;
}
.support-contact-layout-single .support-contact-form-card {
  max-width: 880px;
  margin: 0 auto;
}
.map-filter-panel,
.compact-filter-panel,
.filter-panel {
  border: 1px solid var(--public-line);
  border-radius: 22px;
  background: rgba(255,255,255,.04);
  padding: 14px;
}
.public-map-page-card,
.events-map-canvas {
  border-radius: 24px;
}
.map-instruction-card {
  border: 1px solid var(--public-line);
  border-radius: 20px;
  background: rgba(255,255,255,.04);
  padding: 16px 18px;
  margin-top: 14px;
}

/* Footer */
.site-footer {
  margin-top: 18px;
  border: 1px solid var(--public-line);
  border-radius: 24px 24px 0 0;
  background: rgba(255,255,255,.035);
  padding: 22px 22px max(40px, env(safe-area-inset-bottom));
}
.site-footer a { color: #e8eef7; font-weight: 850; }
.site-footer a:hover { color: var(--accent-2); }
.footer-disclaimer { max-width: 900px; }

@media (min-width: 980px) {
  html.is-desktop .events-run-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.public-route .management-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.public-route .run-grid:not(.home-run-grid):not(.compact-run-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1100px) {
  .public-site-header { align-items: center; }
  .brand-tagline { display: none; }
  .public-top-nav {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    display: none;
    padding: 12px;
    border: 1px solid var(--public-line);
    border-radius: 22px;
    background: rgba(10,12,17,.97);
    box-shadow: 0 18px 52px rgba(0,0,0,.35);
  }
  .public-top-nav.is-open { display: grid; }
  .nav-group {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-radius: 18px;
  }
  .nav-group a,
  .nav-group .link-button { justify-content: center; }
}

@media (max-width: 820px) {
  body.public-route { --public-shell: min(100% - 18px, 720px); }
  .public-main { padding-top: 14px; }
  .public-site-header { min-height: 62px; border-radius: 0 0 18px 18px; }
  .brand-copy .brand-text { font-size: .95rem; }
  body.public-route .page-title { padding: 18px; border-radius: 22px; }
  body.public-route .page-title h1 { font-size: clamp(2rem, 11vw, 3.2rem); letter-spacing: -.055em; }
  body.public-route .split-title,
  .public-command-panel,
  .public-feature-grid,
  .public-list-dashboard,
  .pro-filter-card { grid-template-columns: 1fr; }
  .public-command-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-page-jump-nav { top: 68px; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
  .event-page-jump-nav::-webkit-scrollbar { display: none; }
  .event-page-jump-nav a,
  .event-page-jump-nav button { flex: 0 0 auto; }
}

@media (max-width: 520px) {
  body.public-route { --public-shell: calc(100% - 14px); }
  .public-brand .brand-logo { width: 38px; height: 38px; }
  .public-command-actions,
  .nav-group { grid-template-columns: 1fr; }
  .public-command-actions a,
  .public-feature-card,
  .public-list-dashboard article { padding: 13px; }
  .hero.hero-premium { border-radius: 24px; }
  .hero.hero-premium .hero-actions { grid-template-columns: 1fr; display: grid; }
  .site-footer { border-radius: 20px 20px 0 0; padding-inline: 16px; }
}

/* V1.10.286 public navigation and event directory polish
   Replaces the oversized grouped public header with a cleaner CMS-style top bar
   and tightens the Events page so browsing controls are easier to scan. */
body.public-route .public-site-header {
  width: min(1240px, calc(100% - 28px));
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  padding: 10px 14px;
  border: 1px solid rgba(148, 163, 184, .16);
  border-top: 0;
  border-radius: 0 0 18px 18px;
  background:
    linear-gradient(180deg, rgba(13, 17, 23, .98), rgba(10, 13, 19, .94));
  box-shadow: 0 18px 42px rgba(0,0,0,.24);
}
body.public-route .public-brand {
  order: 1;
  flex: 0 0 auto;
  min-width: 230px;
  padding: 4px 8px 4px 2px;
}
body.public-route .public-brand .brand-logo {
  width: 40px;
  height: 40px;
  border-radius: 13px;
}
body.public-route .brand-copy { min-width: 0; }
body.public-route .brand-text {
  font-size: 1rem;
  letter-spacing: -.035em;
  white-space: nowrap;
}
body.public-route .brand-tagline {
  max-width: 240px;
  color: #9aa6ba;
  font-size: 10.5px;
  line-height: 1.15;
}
body.public-route .public-header-controls {
  order: 3;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: 0;
}
body.public-route .public-cms-nav {
  order: 2;
  flex: 1 1 auto;
  min-width: 0;
  margin-left: auto;
}

@media (min-width: 1101px) {
  body.public-route .public-cms-nav,
  body.public-route .public-top-nav {
    position: static !important;
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    width: auto;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }
  body.public-route .menu-toggle { display: none !important; }
  body.public-route .public-cms-nav .nav-section {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    min-width: 0;
    padding: 3px;
    border: 1px solid rgba(148, 163, 184, .14);
    border-radius: 14px;
    background: rgba(15, 23, 42, .56);
  }
  body.public-route .public-cms-nav .nav-section + .nav-section { margin-left: 4px; }
  body.public-route .public-cms-nav .nav-section-main {
    background: rgba(15, 23, 42, .66);
  }
  body.public-route .public-cms-nav .nav-section-help {
    background: rgba(15, 23, 42, .42);
  }
  body.public-route .public-cms-nav .nav-section-account {
    border-color: rgba(240,75,40,.22);
    background: rgba(181,31,41,.09);
  }
  body.public-route .public-cms-nav .nav-section-beta {
    border-color: rgba(250,204,21,.22);
    background: rgba(250,204,21,.055);
  }
  body.public-route .public-cms-nav a,
  body.public-route .public-cms-nav .link-button {
    min-height: 34px;
    width: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    border: 1px solid transparent;
    border-radius: 11px;
    background: transparent;
    color: #dce5f3;
    font-size: .84rem;
    font-weight: 850;
    letter-spacing: -.01em;
    line-height: 1;
    white-space: nowrap;
  }
  body.public-route .public-cms-nav a:hover,
  body.public-route .public-cms-nav a:focus-visible,
  body.public-route .public-cms-nav .link-button:hover,
  body.public-route .public-cms-nav .link-button:focus-visible {
    color: #fff;
    border-color: rgba(240,75,40,.34);
    background: rgba(240,75,40,.12);
    outline: none;
  }
  body.public-route .public-cms-nav .nav-pill,
  body.public-route .public-cms-nav .nav-admin-link {
    color: #fff !important;
    border-color: rgba(255,255,255,.12);
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
    box-shadow: 0 8px 20px rgba(181,31,41,.20);
  }
  body.public-route .nav-form,
  body.public-route .inline-form.nav-form { display: inline-flex; width: auto; }
}

/* Events page: compact, professional directory layout instead of oversized hero blocks. */
body.public-route .events-list-title {
  margin: 10px 0 14px;
  padding: clamp(18px, 3vw, 28px);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    radial-gradient(circle at 100% 0, rgba(240,75,40,.13), transparent 24rem),
    rgba(17, 22, 31, .94);
}
body.public-route .events-list-title::before { width: 4px; }
body.public-route .events-list-title h1 {
  max-width: 760px;
  margin: 8px 0 10px;
  font-size: clamp(2.05rem, 4.8vw, 3.65rem);
  line-height: 1.02;
  letter-spacing: -.055em;
}
body.public-route .events-list-title .page-intro-copy {
  max-width: 860px;
  font-size: clamp(.98rem, 1.45vw, 1.08rem);
  line-height: 1.58;
}
body.public-route .public-list-dashboard {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 14px;
}
body.public-route .public-list-dashboard article {
  min-height: 0;
  padding: 13px 15px;
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015)),
    rgba(13, 18, 26, .92);
}
body.public-route .public-list-dashboard strong {
  font-size: .98rem;
  letter-spacing: -.015em;
}
body.public-route .public-quick-tools,
body.public-route .events-quick-tools {
  margin-bottom: 14px;
  border-radius: 18px;
  background: rgba(13, 18, 26, .90);
}
body.public-route .quick-filter-row {
  gap: 8px;
}
body.public-route .quick-filter-row a,
body.public-route .quick-filter-button,
body.public-route .event-view-toggle a {
  min-height: 38px;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: .86rem;
}
body.public-route .pro-filter-drawer {
  margin: 0 0 14px;
}
body.public-route .pro-filter-drawer > summary {
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(13, 18, 26, .92);
}
body.public-route .pro-filter-card {
  margin-top: 10px;
  align-items: end;
  background: rgba(15, 20, 29, .96) !important;
}
body.public-route .events-result-bar {
  margin: 14px 0;
  border-radius: 16px;
  padding: 12px 14px;
}
body.public-route .events-run-grid {
  align-items: stretch;
}
body.public-route .event-card-list-compact .run-card,
body.public-route .event-card-list-comfortable .run-card {
  border-radius: 20px;
}

@media (max-width: 1100px) {
  body.public-route .public-site-header {
    min-height: 64px;
    gap: 8px;
  }
  body.public-route .public-brand {
    min-width: 0;
    flex: 1 1 auto;
  }
  body.public-route .public-header-controls {
    flex: 0 0 auto;
  }
  body.public-route .public-cms-nav,
  body.public-route .public-top-nav {
    order: 4;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    display: none;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 20px;
    background: rgba(10, 13, 19, .98);
    box-shadow: 0 20px 56px rgba(0,0,0,.38);
  }
  body.public-route .public-cms-nav.is-open,
  body.public-route .public-top-nav.is-open { display: grid; }
  body.public-route .public-cms-nav .nav-section {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 8px;
    border: 1px solid rgba(148, 163, 184, .14);
    border-radius: 16px;
    background: rgba(15, 23, 42, .68);
  }
  body.public-route .public-cms-nav a,
  body.public-route .public-cms-nav .link-button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 12px;
    border: 1px solid rgba(148, 163, 184, .14);
    border-radius: 12px;
    background: rgba(255,255,255,.035);
    color: #edf2fb;
    font-weight: 850;
  }
  body.public-route .public-cms-nav .nav-pill,
  body.public-route .public-cms-nav .nav-admin-link {
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
    color: #fff !important;
  }
}

@media (max-width: 820px) {
  body.public-route .events-list-title h1 {
    font-size: clamp(1.9rem, 9vw, 3rem);
  }
  body.public-route .public-list-dashboard {
    grid-template-columns: 1fr;
  }
  body.public-route .public-list-dashboard article {
    padding: 12px 14px;
  }
  body.public-route .pro-filter-card .filter-wide { grid-column: auto; }
}

@media (max-width: 520px) {
  body.public-route .public-cms-nav .nav-section { grid-template-columns: 1fr; }
  body.public-route .brand-tagline { display: none; }
  body.public-route .events-list-title { padding: 16px; border-radius: 20px; }
  body.public-route .quick-filter-row a,
  body.public-route .quick-filter-button { flex: 1 1 calc(50% - 8px); }
}


/* V1.10.287 event directory hero cleanup
   Makes the Events directory header use the full public content width and removes
   the old helper-card strip from the template. */
body.public-route .events-list-title {
  width: 100%;
  max-width: none;
  margin: 10px 0 18px;
  padding: clamp(20px, 3.25vw, 34px);
}
body.public-route .events-list-title h1 {
  max-width: 1120px;
  font-size: clamp(2.15rem, 5.1vw, 4.45rem);
}
body.public-route .events-list-title .page-intro-copy {
  max-width: 980px;
}
body.public-route .events-list-title + .events-quick-tools,
body.public-route .events-list-title + .public-quick-tools {
  margin-top: 0;
}
@media (max-width: 820px) {
  body.public-route .events-list-title {
    padding: 18px;
    border-radius: 22px;
  }
}

/* V1.10.289 public navigation simplification
   Keeps desktop navigation as one clean CMS-style bar and uses a true hamburger
   dropdown on mobile/tablet. Removes visual segmentation between menu groups. */
body.public-route .public-cms-nav .nav-section,
body.public-route .public-cms-nav .nav-section-main,
body.public-route .public-cms-nav .nav-section-help,
body.public-route .public-cms-nav .nav-section-account,
body.public-route .public-cms-nav .nav-section-beta {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (min-width: 1101px) {
  body.public-route .public-cms-nav,
  body.public-route .public-top-nav {
    gap: 4px;
  }
  body.public-route .public-cms-nav .nav-section {
    padding: 0 !important;
    gap: 4px;
  }
  body.public-route .public-cms-nav .nav-section + .nav-section {
    margin-left: 0 !important;
  }
  body.public-route .public-cms-nav a,
  body.public-route .public-cms-nav .link-button {
    min-height: 36px;
    padding: 8px 12px;
    border-radius: 10px;
  }
  body.public-route .public-cms-nav .nav-section-account {
    margin-left: 6px;
  }
}

@media (max-width: 1100px) {
  body.public-route .public-site-header {
    position: sticky;
  }
  body.public-route .menu-toggle {
    display: inline-flex !important;
  }
  body.public-route .public-cms-nav,
  body.public-route .public-top-nav {
    width: min(360px, calc(100vw - 24px));
    left: auto;
    right: 0;
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 10px;
  }
  body.public-route .public-cms-nav.is-open,
  body.public-route .public-top-nav.is-open {
    display: grid;
  }
  body.public-route .public-cms-nav .nav-section {
    display: contents !important;
    padding: 0 !important;
  }
  body.public-route .public-cms-nav a,
  body.public-route .public-cms-nav .link-button {
    width: 100%;
    min-height: 44px;
    justify-content: flex-start;
    padding: 11px 13px;
    border-radius: 12px;
    text-align: left;
  }
  body.public-route .public-cms-nav .nav-pill,
  body.public-route .public-cms-nav .nav-admin-link {
    justify-content: center;
  }
  body.public-route .public-cms-nav .nav-form,
  body.public-route .public-cms-nav .inline-form.nav-form {
    width: 100%;
  }
  body.public-route .public-cms-nav .nav-form .link-button,
  body.public-route .public-cms-nav .inline-form.nav-form .link-button {
    justify-content: flex-start;
  }
}

/* V1.11.0 production public redesign — Premium App direction
   Mobile-first, production-ready public shell for live/beta/test while preserving existing routes and tools. */
:root {
  --public-bg: #07090d;
  --public-ink: #f6f4ee;
  --public-muted: #aeb8c6;
  --public-soft: #d8e1ed;
  --public-card: #11161f;
  --public-card-2: #171d27;
  --public-card-3: #202631;
  --public-line: rgba(154, 166, 186, .22);
  --public-line-strong: rgba(225, 232, 242, .34);
  --public-red: #ee432f;
  --public-red-dark: #8e1b25;
  --public-red-soft: rgba(238, 67, 47, .14);
  --public-blue: #6dc5ff;
  --public-cream: #f7f1e6;
  --public-radius-sm: 14px;
  --public-radius: 22px;
  --public-radius-lg: 30px;
  --public-shadow: 0 28px 70px rgba(0,0,0,.38);
  --public-shadow-soft: 0 14px 34px rgba(0,0,0,.24);
}

body.public-route {
  background:
    radial-gradient(circle at 14% -12%, rgba(238,67,47,.18), transparent 32rem),
    radial-gradient(circle at 88% 8%, rgba(109,197,255,.08), transparent 28rem),
    linear-gradient(180deg, #080a0f 0%, #0b0d12 42%, #07090d 100%);
  color: var(--public-ink);
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.public-route::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.48), transparent 72%);
}
body.public-route a { transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease; }
body.public-route a:hover { color: #fff; }
body.public-route .public-main,
body.public-route main.public-main,
body.public-route main:not(.admin-main) {
  width: min(1240px, calc(100% - 28px));
  padding: 22px 0 58px;
}

/* Header / navigation */
body.public-route .public-site-header {
  width: min(1240px, calc(100% - 24px));
  min-height: 76px;
  margin: 8px auto 0;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: minmax(0, auto) auto auto;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(225,232,242,.13);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(15,18,26,.92), rgba(9,12,18,.86)),
    rgba(8,10,15,.88);
  backdrop-filter: blur(18px);
  box-shadow: 0 20px 55px rgba(0,0,0,.30);
}
body.public-route .public-brand {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 5px 8px 5px 4px;
}
body.public-route .public-brand .brand-logo {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: #fff;
  padding: 3px;
  box-shadow: 0 8px 24px rgba(0,0,0,.32);
}
body.public-route .brand-text {
  color: var(--public-ink);
  font-size: 1.04rem;
  font-weight: 900;
  letter-spacing: -.04em;
  line-height: 1;
}
body.public-route .header-controls.public-header-controls {
  justify-self: end;
  order: initial;
  margin-left: 0;
  gap: 8px;
}
body.public-route .nav-bell-link {
  width: 43px;
  height: 43px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(225,232,242,.14);
  border-radius: 14px;
  background: rgba(255,255,255,.045);
  color: #fff;
}
body.public-route .nav-bell-link:hover,
body.public-route .menu-toggle:hover {
  border-color: rgba(238,67,47,.42);
  background: rgba(238,67,47,.12);
  transform: translateY(-1px);
}
body.public-route .menu-toggle {
  width: 46px;
  height: 43px;
  display: inline-grid;
  gap: 5px;
  place-content: center;
  border: 1px solid rgba(225,232,242,.14);
  border-radius: 14px;
  background: rgba(255,255,255,.045);
  color: #fff;
  cursor: pointer;
}
body.public-route .menu-toggle span {
  width: 20px;
  height: 2px;
  border-radius: 99px;
  background: currentColor;
  display: block;
}
body.public-route .public-cms-nav,
body.public-route .public-top-nav {
  justify-self: end;
  min-width: 0;
}

@media (min-width: 981px) {
  body.public-route .public-site-header {
    grid-template-columns: auto 1fr auto;
    position: sticky;
    top: 10px;
  }
  body.public-route .public-cms-nav,
  body.public-route .public-top-nav {
    position: static !important;
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    width: auto;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body.public-route .public-cms-nav .nav-section { display: contents !important; }
  body.public-route .public-cms-nav a,
  body.public-route .public-cms-nav .link-button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 13px;
    border: 1px solid transparent;
    border-radius: 13px;
    background: transparent;
    color: #dbe4f1;
    font-size: .9rem;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
  }
  body.public-route .public-cms-nav a:hover,
  body.public-route .public-cms-nav a:focus-visible,
  body.public-route .public-cms-nav .link-button:hover,
  body.public-route .public-cms-nav .link-button:focus-visible {
    color: #fff;
    border-color: rgba(225,232,242,.16);
    background: rgba(255,255,255,.06);
    outline: none;
  }
  body.public-route .public-cms-nav .nav-admin-link,
  body.public-route .public-cms-nav .nav-pill {
    color: #fff !important;
    border-color: rgba(238,67,47,.62);
    background: linear-gradient(135deg, var(--public-red-dark), var(--public-red));
    box-shadow: 0 12px 26px rgba(238,67,47,.20);
  }
  body.public-route .menu-toggle { display: none !important; }
}
@media (max-width: 980px) {
  body.public-route .public-site-header {
    position: sticky;
    top: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    width: 100%;
    margin-top: 0;
    border-left: 0;
    border-right: 0;
    border-top: 0;
    border-radius: 0 0 20px 20px;
  }
  body.public-route .public-brand .brand-logo { width: 42px; height: 42px; }
  body.public-route .brand-text { font-size: 1rem; }
  body.public-route .public-cms-nav,
  body.public-route .public-top-nav {
    position: absolute;
    top: calc(100% + 8px);
    right: 10px;
    left: auto;
    width: min(380px, calc(100vw - 20px));
    max-height: calc(100vh - 92px);
    overflow: auto;
    display: none;
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 10px;
    border: 1px solid rgba(225,232,242,.16);
    border-radius: 20px;
    background: rgba(9,12,18,.98);
    box-shadow: 0 24px 74px rgba(0,0,0,.48);
  }
  body.public-route .public-cms-nav.is-open,
  body.public-route .public-top-nav.is-open { display: grid; }
  body.public-route .public-cms-nav .nav-section { display: contents !important; }
  body.public-route .public-cms-nav a,
  body.public-route .public-cms-nav .link-button {
    width: 100%;
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 12px 14px;
    border: 1px solid rgba(225,232,242,.12);
    border-radius: 14px;
    background: rgba(255,255,255,.045);
    color: #edf3fb;
    font-weight: 875;
  }
  body.public-route .public-cms-nav .nav-admin-link,
  body.public-route .public-cms-nav .nav-pill {
    justify-content: center;
    color: #fff !important;
    background: linear-gradient(135deg, var(--public-red-dark), var(--public-red));
    border-color: rgba(238,67,47,.62);
  }
  body.public-route .public-cms-nav .nav-form { width: 100%; }
}

/* Typography and shared content */
body.public-route .eyebrow {
  color: #ff634f !important;
  font-size: .76rem !important;
  font-weight: 950;
  letter-spacing: .16em;
}
body.public-route h1,
body.public-route h2,
body.public-route h3 {
  color: var(--public-ink);
  letter-spacing: -.045em;
}
body.public-route p,
body.public-route .cms-public-content,
body.public-route .muted { color: var(--public-muted); }
body.public-route .cms-public-content a,
body.public-route .page-intro-copy a { color: #fff; border-bottom: 1px solid rgba(238,67,47,.46); }
body.public-route .cms-public-content h2,
body.public-route .cms-public-content h3 { color: var(--public-cream); }
body.public-route .cms-public-content ul,
body.public-route .cms-public-content ol { padding-left: 1.25rem; }
body.public-route .cms-public-content li { margin: .36rem 0; }
body.public-route .cms-public-content table {
  overflow: hidden;
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius-sm);
  background: rgba(255,255,255,.035);
}
body.public-route .cms-public-content th { background: rgba(255,255,255,.06); }

/* Buttons/forms */
body.public-route .btn,
body.public-route button.btn,
body.public-route .share-action-btn,
body.public-route .quick-filter-row a,
body.public-route .quick-filter-button,
body.public-route .event-view-toggle a,
body.public-route .small-btn,
body.public-route .tiny-btn {
  border-radius: 14px;
  font-weight: 900;
  letter-spacing: -.015em;
}
body.public-route .btn-primary,
body.public-route .btn.red,
body.public-route button.btn-primary {
  color: #fff;
  background: linear-gradient(135deg, var(--public-red-dark), var(--public-red));
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 14px 28px rgba(238,67,47,.22);
}
body.public-route .btn-primary:hover { transform: translateY(-1px); box-shadow: 0 18px 34px rgba(238,67,47,.28); }
body.public-route .btn-secondary,
body.public-route .small-btn,
body.public-route .tiny-btn,
body.public-route .share-action-btn {
  color: var(--public-ink);
  background: rgba(255,255,255,.055);
  border-color: rgba(225,232,242,.14);
}
body.public-route .btn-secondary:hover,
body.public-route .share-action-btn:hover,
body.public-route .quick-filter-row a:hover,
body.public-route .quick-filter-button:hover {
  color: #fff;
  border-color: rgba(238,67,47,.42);
  background: rgba(238,67,47,.12);
  transform: translateY(-1px);
}
body.public-route input,
body.public-route textarea,
body.public-route select {
  border-radius: 14px;
  border-color: rgba(225,232,242,.14);
  background: rgba(5,7,11,.74);
  color: var(--public-ink);
}
body.public-route input:focus,
body.public-route textarea:focus,
body.public-route select:focus {
  border-color: rgba(238,67,47,.70);
  box-shadow: 0 0 0 4px rgba(238,67,47,.15);
}

/* Home page / premium app hero */
body.public-route .hero.hero-premium {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, .72fr);
  gap: 24px;
  margin: 22px 0 28px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
body.public-route .hero-premium-copy,
body.public-route .hero-showcase,
body.public-route .hero-card {
  border: 1px solid rgba(225,232,242,.15);
  border-radius: var(--public-radius-lg);
  background:
    radial-gradient(circle at 86% 10%, rgba(238,67,47,.17), transparent 23rem),
    linear-gradient(135deg, rgba(24,29,39,.96), rgba(11,15,22,.96));
  box-shadow: var(--public-shadow);
}
body.public-route .hero-premium-copy {
  min-height: 460px;
  padding: clamp(28px, 5vw, 54px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
body.public-route .hero-premium-copy h1 {
  max-width: 900px;
  margin: 14px 0 18px;
  color: var(--public-cream);
  font-size: clamp(3rem, 7vw, 6.2rem);
  line-height: .91;
  letter-spacing: -.075em;
}
body.public-route .hero-lede,
body.public-route .hero-premium-copy .hero-lede {
  max-width: 820px;
  font-size: clamp(1.02rem, 1.65vw, 1.22rem);
  line-height: 1.65;
}
body.public-route .hero-kicker-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
body.public-route .hero-kicker-row span,
body.public-route .hero-trust-note {
  color: #d8e1ed;
  border: 1px solid rgba(225,232,242,.14);
  background: rgba(255,255,255,.045);
  border-radius: 999px;
  padding: 7px 10px;
  font-size: .82rem;
  font-weight: 850;
}
body.public-route .hero-actions { gap: 12px; margin-top: 26px; }
body.public-route .hero-actions .btn { min-height: 52px; padding: 14px 18px; }
body.public-route .hero-stat-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 26px;
}
body.public-route .hero-stat-strip > div {
  border: 1px solid rgba(225,232,242,.12);
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  padding: 14px;
}
body.public-route .hero-stat-strip strong { display: block; font-size: 1.45rem; color: #fff; }
body.public-route .hero-stat-strip span { color: var(--public-muted); font-size: .88rem; font-weight: 750; }
body.public-route .hero-showcase {
  padding: clamp(22px, 3vw, 30px);
  align-self: stretch;
}
body.public-route .showcase-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  margin-bottom: 12px;
  border-radius: 17px;
  background: rgba(238,67,47,.14);
  border: 1px solid rgba(238,67,47,.30);
  font-size: 1.6rem;
}
body.public-route .hero-feature-list { display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
body.public-route .hero-feature-list li {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 10px;
  padding: 11px 0;
  border-top: 1px solid rgba(225,232,242,.10);
  color: #dce6f4;
  font-weight: 800;
}
body.public-route .hero-feature-list span { color: var(--public-red); font-weight: 950; }
body.public-route .public-feature-grid,
body.public-route .home-run-grid,
body.public-route .run-grid {
  gap: 16px;
}
body.public-route .public-feature-card {
  border: 1px solid rgba(225,232,242,.13);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    rgba(14,18,26,.92);
  box-shadow: var(--public-shadow-soft);
}
body.public-route .public-feature-card span { color: #ff6a58; letter-spacing: .13em; }

/* Page titles and content shells */
body.public-route .page-title,
body.public-route .events-list-title {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(225,232,242,.15);
  border-radius: var(--public-radius-lg);
  background:
    radial-gradient(circle at 100% 0, rgba(238,67,47,.18), transparent 24rem),
    linear-gradient(135deg, rgba(25,30,40,.97), rgba(12,16,23,.97));
  box-shadow: var(--public-shadow-soft);
}
body.public-route .page-title::before,
body.public-route .events-list-title::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, var(--public-red), #ff7d6f);
}
body.public-route .page-title h1,
body.public-route .events-list-title h1 {
  color: var(--public-cream);
  letter-spacing: -.07em;
}
body.public-route .events-list-title {
  padding: clamp(24px, 4vw, 44px);
  margin-top: 18px;
}
body.public-route .events-list-title h1 {
  max-width: 1120px;
  font-size: clamp(2.65rem, 6vw, 5.15rem);
  line-height: .95;
}
body.public-route .events-list-title .page-intro-copy { max-width: 920px; font-size: 1.08rem; }

/* Cards, tables, lists */
body.public-route .content-card,
body.public-route .form-card,
body.public-route .auth-card,
body.public-route .table-card,
body.public-route .info-card,
body.public-route .empty-state,
body.public-route .filter-card,
body.public-route .run-card,
body.public-route .event-card,
body.public-route .sponsor-slot,
body.public-route .public-quick-tools,
body.public-route .pro-filter-drawer,
body.public-route .events-result-bar,
body.public-route .compact-response-card,
body.public-route .compact-share-card {
  border-color: rgba(225,232,242,.13);
  border-radius: var(--public-radius);
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015)),
    rgba(13,17,25,.94);
  box-shadow: 0 12px 34px rgba(0,0,0,.22);
}
body.public-route .content-card:hover,
body.public-route .run-card:hover,
body.public-route .public-feature-card:hover {
  border-color: rgba(238,67,47,.28);
}
body.public-route .table-card th,
body.public-route th {
  color: #dbe4f0;
  background: rgba(255,255,255,.055);
}
body.public-route .table-card td,
body.public-route td { border-color: rgba(225,232,242,.10); }

/* Event cards */
body.public-route .run-card {
  overflow: hidden;
  position: relative;
}
body.public-route .run-card-image {
  background: linear-gradient(135deg, #121722, #090b10);
}
body.public-route .run-card-body { padding: 18px; }
body.public-route .run-card h3 {
  color: #fff;
  font-size: clamp(1.12rem, 2vw, 1.35rem);
  line-height: 1.16;
}
body.public-route .status-line { color: #c1cad8; }
body.public-route .mini-stats span {
  background: rgba(255,255,255,.045);
  border-color: rgba(225,232,242,.11);
  color: #cbd6e5;
}
body.public-route .badge {
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: none;
}
body.public-route .badge-published { background: #31d98b; color: #07120d; }

/* Events directory */
body.public-route .events-quick-tools.public-quick-tools {
  display: grid;
  gap: 12px;
  padding: 14px;
  margin: 0 0 14px;
}
body.public-route .quick-filter-row { gap: 9px; }
body.public-route .quick-filter-row a,
body.public-route .quick-filter-button,
body.public-route .event-view-toggle a {
  min-height: 42px;
  padding: 10px 13px;
  border: 1px solid rgba(225,232,242,.12);
  background: rgba(255,255,255,.045);
  color: #edf3fb;
}
body.public-route .event-view-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  color: var(--public-muted);
}
body.public-route .event-view-toggle a.is-active,
body.public-route .quick-filter-row a.is-active {
  background: rgba(238,67,47,.18);
  border-color: rgba(238,67,47,.42);
  color: #fff;
}
body.public-route .pro-filter-drawer > summary {
  border-radius: var(--public-radius);
  border: 1px solid rgba(225,232,242,.13);
  background: rgba(13,17,25,.95);
}
body.public-route .events-result-bar {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 13px 16px;
}
body.public-route .events-result-bar span {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 12px;
  background: var(--public-red-soft);
  color: #ff806f;
  font-weight: 950;
}

/* Public event detail */
body.public-route .event-compact-hero,
body.public-route .detail-hero {
  border-color: rgba(225,232,242,.15);
  border-radius: var(--public-radius-lg);
  background:
    radial-gradient(circle at 100% 0, rgba(238,67,47,.18), transparent 24rem),
    linear-gradient(135deg, rgba(27,33,44,.97), rgba(12,16,23,.97));
  box-shadow: var(--public-shadow-soft);
}
body.public-route .event-compact-hero h1,
body.public-route .detail-hero h1 {
  color: var(--public-cream);
  font-size: clamp(2.4rem, 6vw, 5rem);
  letter-spacing: -.07em;
}
body.public-route .event-page-jump-nav {
  border: 1px solid rgba(225,232,242,.13);
  border-radius: 18px;
  background: rgba(9,12,18,.86);
  backdrop-filter: blur(14px);
}
body.public-route .event-page-jump-nav a,
body.public-route .event-page-jump-nav button {
  border-radius: 12px;
  border: 1px solid transparent;
}
body.public-route .event-page-jump-nav a:hover,
body.public-route .event-page-jump-nav button:hover {
  border-color: rgba(238,67,47,.40);
  background: rgba(238,67,47,.12);
}
body.public-route .compact-flyer,
body.public-route .compact-flyer-placeholder {
  border-radius: 22px;
  border-color: rgba(225,232,242,.15);
  background: linear-gradient(135deg, #151b25, #0b0f16);
}
body.public-route .event-detail-grid { gap: 18px; }
body.public-route .event-side-rail { gap: 16px; }

/* Auth, account, organizer/dashboard screens */
body.public-route .auth-shell { padding: 24px 0; }
body.public-route .auth-card {
  width: min(560px, 100%);
  padding: clamp(22px, 4vw, 34px);
}
body.public-route .auth-card h1 {
  color: var(--public-cream);
  font-size: clamp(2.1rem, 6vw, 3.4rem);
}
body.public-route .management-grid,
body.public-route .editor-grid,
body.public-route .dashboard-grid,
body.public-route .two-col { gap: 16px; }
body.public-route .form-card h2,
body.public-route .content-card h2 { color: var(--public-cream); }

/* Sponsor slot / public support pages */
body.public-route .site-sponsor-slot,
body.public-route .sponsor-slot {
  overflow: hidden;
}
body.public-route .site-sponsor-slot img,
body.public-route .sponsor-slot img { border-radius: 14px; }
body.public-route .alert {
  border-color: rgba(225,232,242,.14);
  background: rgba(255,255,255,.045);
}
body.public-route .alert-success { border-color: rgba(49,217,139,.35); background: rgba(49,217,139,.10); }
body.public-route .alert-error { border-color: rgba(255,77,77,.35); background: rgba(255,77,77,.10); }

/* Environment banners */
.environment-banner {
  border-bottom: 1px solid rgba(225,232,242,.14);
  background: rgba(10,13,19,.96);
  color: #dbe4f1;
}
.environment-banner a { color: #fff; font-weight: 900; }
.environment-banner-beta { box-shadow: inset 0 -1px rgba(250,204,21,.25); }
.environment-banner-test { box-shadow: inset 0 -1px rgba(109,197,255,.25); }

/* Footer */
body.public-route .site-footer {
  width: min(1240px, calc(100% - 28px));
  margin-top: 24px;
  border: 1px solid rgba(225,232,242,.12);
  border-bottom: 0;
  border-radius: 26px 26px 0 0;
  background: rgba(13,17,25,.88);
  color: var(--public-muted);
}

/* Mobile refinements */
@media (max-width: 900px) {
  body.public-route .hero.hero-premium {
    grid-template-columns: 1fr;
    margin-top: 14px;
  }
  body.public-route .hero-premium-copy { min-height: auto; }
  body.public-route .hero-premium-copy h1 { font-size: clamp(2.55rem, 12vw, 4.3rem); }
  body.public-route .hero-stat-strip { grid-template-columns: 1fr; }
  body.public-route .public-feature-grid,
  body.public-route .events-run-grid,
  body.public-route .run-grid:not(.home-run-grid) { grid-template-columns: 1fr !important; }
  body.public-route .events-list-title h1 { font-size: clamp(2.25rem, 11vw, 3.8rem); }
  body.public-route .event-page-jump-nav { top: 70px; }
}
@media (max-width: 560px) {
  body.public-route main.public-main,
  body.public-route main:not(.admin-main) { width: calc(100% - 16px); padding-top: 14px; }
  body.public-route .public-brand { gap: 9px; }
  body.public-route .public-brand .brand-logo { width: 38px; height: 38px; border-radius: 13px; }
  body.public-route .header-controls.public-header-controls { gap: 6px; }
  body.public-route .nav-bell-link,
  body.public-route .menu-toggle { width: 40px; height: 40px; border-radius: 13px; }
  body.public-route .hero-premium-copy,
  body.public-route .hero-showcase,
  body.public-route .events-list-title,
  body.public-route .page-title,
  body.public-route .content-card,
  body.public-route .form-card,
  body.public-route .auth-card,
  body.public-route .run-card,
  body.public-route .event-card,
  body.public-route .empty-state { border-radius: 20px; }
  body.public-route .hero-premium-copy,
  body.public-route .events-list-title { padding: 20px; }
  body.public-route .hero-actions { display: grid; grid-template-columns: 1fr; }
  body.public-route .quick-filter-row a,
  body.public-route .quick-filter-button { flex: 1 1 100%; }
  body.public-route .events-result-bar { align-items: flex-start; flex-direction: column; }
  body.public-route .site-footer { width: calc(100% - 16px); border-radius: 22px 22px 0 0; }
}

/* v1.11.2 public label cleanup: user-facing pages should use one clear primary label per card/header. */
body.public-route .eyebrow,
body.public-route .hero-kicker-row,
body.public-route .public-feature-card > span {
  display: none !important;
}
body.public-route .page-title h1,
body.public-route .section-head h2,
body.public-route .hero h1,
body.public-route .form-card h2,
body.public-route .card h2,
body.public-route .compact-card h2 {
  margin-top: 0;
}

/* v1.11.3 logo row layout */
body.public-route .public-site-header {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "brand brand"
    "nav controls";
  row-gap: 10px;
}
body.public-route .public-brand {
  grid-area: brand;
  justify-self: center;
}
body.public-route .public-cms-nav,
body.public-route .public-top-nav {
  grid-area: nav;
  justify-self: start;
}
body.public-route .header-controls.public-header-controls {
  grid-area: controls;
  justify-self: end;
}
@media (max-width: 980px) {
  body.public-route .public-site-header {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "brand brand"
      "nav controls";
  }
  body.public-route .public-brand {
    justify-self: center;
    padding-top: 4px;
  }
}


/* v1.11.4 public header alignment and admin-root polish
   Places the Moto Event Hub brand back on the left side of the desktop menu,
   keeps mobile hamburger behavior intact, and slightly tightens desktop nav
   typography/buttons for a more production-ready header. */
body.public-route .public-site-header {
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  grid-template-areas: "brand nav controls" !important;
  align-items: center !important;
  column-gap: clamp(10px, 1.7vw, 18px) !important;
  row-gap: 0 !important;
  min-height: 66px !important;
  padding: 10px 14px !important;
}
body.public-route .public-brand {
  grid-area: brand !important;
  justify-self: start !important;
  padding: 4px 8px 4px 2px !important;
}
body.public-route .public-cms-nav,
body.public-route .public-top-nav {
  grid-area: nav !important;
  justify-self: end !important;
}
body.public-route .header-controls.public-header-controls {
  grid-area: controls !important;
  justify-self: end !important;
}

@media (min-width: 981px) {
  body.public-route .public-brand .brand-logo {
    width: 44px !important;
    height: 44px !important;
    border-radius: 14px !important;
  }
  body.public-route .brand-text {
    font-size: 1.06rem !important;
    letter-spacing: -.035em !important;
  }
  body.public-route .public-cms-nav,
  body.public-route .public-top-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 4px !important;
  }
  body.public-route .public-cms-nav .nav-section {
    display: contents !important;
  }
  body.public-route .public-cms-nav a,
  body.public-route .public-cms-nav .link-button {
    min-height: 36px !important;
    padding: 8px 10px !important;
    border-radius: 11px !important;
    font-size: .84rem !important;
    font-weight: 850 !important;
    letter-spacing: -.012em !important;
  }
  body.public-route .public-cms-nav .nav-admin-link,
  body.public-route .public-cms-nav .nav-pill {
    padding-inline: 13px !important;
  }
  body.public-route .nav-bell-link,
  body.public-route .menu-toggle {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-radius: 13px !important;
  }
  body.public-route .btn,
  body.public-route .small-btn,
  body.public-route button.btn,
  body.public-route a.btn {
    font-size: .92rem;
  }
}

@media (max-width: 980px) {
  body.public-route .public-site-header {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas: "brand controls" !important;
    min-height: 62px !important;
    row-gap: 0 !important;
  }
  body.public-route .public-brand {
    justify-self: start !important;
  }
  body.public-route .public-cms-nav,
  body.public-route .public-top-nav {
    grid-area: unset !important;
  }
}

/* v1.11.5 Events directory and footer cleanup */
body.public-route .events-list-title,
body.public-route .events-quick-tools.public-quick-tools {
  width: 100%;
  max-width: 100%;
}

body.public-route .events-quick-tools.public-quick-tools {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
}

body.public-route .events-quick-tools.public-quick-tools .quick-filter-row {
  min-width: 0;
  flex-wrap: wrap;
  overflow-x: visible;
  padding: 0;
}

body.public-route .events-quick-tools.public-quick-tools .event-view-toggle {
  width: auto;
  justify-self: end;
  flex-wrap: nowrap;
}

body.public-route .events-result-bar {
  display: none !important;
}

body.public-route .site-footer {
  text-align: center;
  display: grid;
  justify-items: center;
  gap: 10px;
}

body.public-route .site-footer p,
body.public-route .site-footer .footer-disclaimer {
  margin: 0;
  text-align: center;
}

body.public-route .site-footer .footer-disclaimer {
  max-width: 960px;
}

@media (max-width: 760px) {
  body.public-route .events-quick-tools.public-quick-tools {
    grid-template-columns: 1fr;
  }

  body.public-route .events-quick-tools.public-quick-tools .event-view-toggle {
    width: 100%;
    justify-self: stretch;
  }

  body.public-route .quick-filter-row a,
  body.public-route .quick-filter-button {
    flex: 1 1 calc(50% - 8px);
  }
}

@media (max-width: 480px) {
  body.public-route .quick-filter-row a,
  body.public-route .quick-filter-button {
    flex: 1 1 100%;
  }
}

/* v1.11.6: past Event Manager archive cleanup and spacing */
body.public-route .command-center-title {
  align-items: start !important;
  gap: clamp(18px, 3vw, 34px) !important;
}
body.public-route .command-center-title h1 {
  margin-bottom: clamp(14px, 2vw, 20px) !important;
}
body.public-route .event-manager-hero-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
  max-width: 760px;
}
body.public-route .event-manager-hero-fact {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid rgba(148, 163, 184, .20);
  border-radius: 16px;
  background: rgba(8, 12, 20, .46);
}
body.public-route .event-manager-hero-fact span {
  color: #9ba7ba;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.public-route .event-manager-hero-fact strong {
  color: #f8fafc;
  font-size: .98rem;
  line-height: 1.3;
}
body.public-route .event-day-command-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr) !important;
  gap: clamp(16px, 2.2vw, 28px) !important;
  align-items: stretch !important;
  margin: clamp(18px, 3vw, 28px) 0 !important;
}
body.public-route .event-day-command-shell > .form-card,
body.public-route .event-manager-summary-card,
body.public-route #event-day-waivers > .form-card,
body.public-route #event-day-questions,
body.public-route #event-day-recent,
body.public-route #rider-management.form-card {
  border-color: rgba(148, 163, 184, .20) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
    rgba(13, 18, 27, .94) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.22) !important;
}
body.public-route .event-day-command-shell > .form-card {
  min-height: 100% !important;
}
body.public-route .event-day-action-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 14px 0 10px;
}
body.public-route .event-day-action-grid .btn {
  flex: 1 1 170px;
  justify-content: center;
}
body.public-route #event-day-waivers.management-grid {
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
  gap: clamp(16px, 2.2vw, 28px) !important;
  align-items: stretch !important;
  margin: clamp(18px, 3vw, 28px) 0 !important;
}
body.public-route #event-day-waivers > .form-card {
  min-height: 100% !important;
  padding: clamp(20px, 3vw, 32px) !important;
}
body.public-route #event-day-waivers .empty-state.compact-empty-state {
  margin-top: 18px !important;
  padding: clamp(18px, 3vw, 30px) !important;
  border-color: rgba(148, 163, 184, .20) !important;
  background: rgba(6, 10, 17, .45) !important;
}
body.public-route #event-day-questions,
body.public-route #event-day-recent,
body.public-route #rider-management.form-card,
body.public-route .event-manager-summary-card {
  margin: clamp(18px, 3vw, 28px) 0 !important;
  padding: clamp(20px, 3vw, 32px) !important;
}
body.public-route #event-day-questions h2,
body.public-route #event-day-recent h2,
body.public-route #rider-management h2,
body.public-route #event-day-waivers h2,
body.public-route .event-manager-summary-card h2,
body.public-route .event-day-status-card h2,
body.public-route .event-day-quick-actions h2 {
  margin-bottom: 14px !important;
}
body.public-route .event-day-flow-strip {
  display: none !important;
}
body.public-route .event-day-status-card .compact-fact-list,
body.public-route #event-day-waivers .compact-fact-list,
body.public-route #event-day-questions .compact-fact-list {
  gap: 10px !important;
  margin-top: 12px !important;
}
body.public-route .event-day-status-card .compact-fact-list > div,
body.public-route #event-day-waivers .compact-fact-list > div,
body.public-route #event-day-questions .compact-fact-list > div {
  border-color: rgba(148, 163, 184, .18) !important;
  background: rgba(7, 11, 18, .42) !important;
  border-radius: 16px !important;
}
@media (max-width: 900px) {
  body.public-route .event-day-command-shell,
  body.public-route #event-day-waivers.management-grid {
    grid-template-columns: 1fr !important;
  }
  body.public-route .event-manager-hero-facts {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 560px) {
  body.public-route .event-day-action-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  body.public-route .event-day-action-grid .btn {
    width: 100% !important;
  }
}

/* v1.11.7: Event Manager conditional review cleanup and support form width */
body.public-route .event-day-command-shell {
  grid-template-columns: 1fr !important;
  gap: clamp(14px, 2vw, 22px) !important;
}
body.public-route .event-day-command-shell > .form-card {
  width: 100% !important;
  min-height: auto !important;
}
body.public-route .event-day-quick-actions {
  order: 1;
}
body.public-route .event-day-status-card {
  order: 2;
}
body.public-route .event-day-action-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 10px !important;
}
body.public-route .event-day-action-grid .btn {
  width: 100% !important;
  min-width: 0 !important;
}
body.public-route .event-day-status-card .compact-fact-list {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
}
body.public-route #event-day-waivers.management-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)) !important;
  align-items: start !important;
}
body.public-route #event-day-waivers > .form-card,
body.public-route #event-day-questions,
body.public-route #event-day-recent,
body.public-route #rider-management.form-card,
body.public-route .event-manager-summary-card {
  min-height: auto !important;
}
body.public-route #event-day-waivers > .form-card > p.muted.small,
body.public-route #event-day-recent > p.muted.small,
body.public-route #rider-management.form-card > p.muted.small {
  margin-top: 6px !important;
}
body.public-route .support-contact-layout-single {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}
body.public-route .support-contact-layout-single .support-contact-form-card {
  width: 100% !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding: clamp(22px, 3vw, 38px) !important;
}
body.public-route .support-contact-form-card h2,
body.public-route .support-contact-form-card form {
  width: min(100%, 980px) !important;
  margin-inline: auto !important;
}
body.public-route .support-contact-form-card h2 {
  margin-bottom: 18px !important;
}
@media (max-width: 640px) {
  body.public-route .support-contact-form-card h2,
  body.public-route .support-contact-form-card form {
    width: 100% !important;
  }
}

/* v1.11.8: Events empty-state consistency and Event Manager card sizing
   Keeps no-result pages identical in Compact and Comfortable view, tightens the
   space to the footer, and makes review-only Event Manager cards less bulky. */
body.public-route .events-run-grid.event-card-list-empty,
html.is-desktop body.public-route .events-run-grid.event-card-list-empty,
body.public-route .events-run-grid.event-card-list-empty.event-card-list-compact,
body.public-route .events-run-grid.event-card-list-empty.event-card-list-comfortable {
  display: block !important;
  grid-template-columns: 1fr !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 12px 0 22px !important;
}

body.public-route .events-empty-state,
body.public-route .event-card-list-empty .empty-state {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: clamp(22px, 3vw, 34px) !important;
  border-radius: 22px !important;
  text-align: center !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
    rgba(13, 18, 27, .94) !important;
}

body.public-route .events-empty-state h3,
body.public-route .event-card-list-empty .empty-state h3 {
  margin: 0 0 10px !important;
  font-size: clamp(1.05rem, 1.5vw, 1.25rem) !important;
}

body.public-route .events-empty-state .cms-public-content,
body.public-route .event-card-list-empty .empty-state .cms-public-content {
  max-width: 720px !important;
  margin: 0 auto !important;
}

body.public-route .event-card-list-empty + .site-footer,
body.public-route .event-card-list-empty ~ .site-footer {
  margin-top: 18px !important;
}

body.public-route .event-day-command-shell {
  gap: 12px !important;
  margin: 14px 0 16px !important;
}

body.public-route .event-day-command-shell > .form-card,
body.public-route .event-day-quick-actions,
body.public-route .event-day-status-card {
  padding: clamp(16px, 2vw, 22px) !important;
  border-radius: 20px !important;
}

body.public-route .event-day-quick-actions {
  display: grid !important;
  grid-template-columns: minmax(150px, auto) minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 18px !important;
  row-gap: 8px !important;
}

body.public-route .event-day-quick-actions .eyebrow,
body.public-route .event-day-status-card .eyebrow {
  display: none !important;
}

body.public-route .event-day-quick-actions h2,
body.public-route .event-day-status-card h2 {
  margin: 0 !important;
  font-size: clamp(1.25rem, 2vw, 1.75rem) !important;
  line-height: 1.1 !important;
}

body.public-route .event-day-quick-actions .event-day-action-grid {
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  justify-content: flex-start !important;
}

body.public-route .event-day-quick-actions .event-day-action-grid .btn {
  flex: 0 1 auto !important;
  width: auto !important;
  min-width: 150px !important;
  min-height: 40px !important;
  padding: 9px 14px !important;
  border-radius: 14px !important;
  font-size: .92rem !important;
}

body.public-route .event-day-quick-actions > p.muted.small {
  grid-column: 1 / -1 !important;
  margin: 2px 0 0 !important;
  max-width: 860px !important;
}

body.public-route .event-day-status-card {
  display: grid !important;
  grid-template-columns: minmax(160px, auto) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 16px !important;
}

body.public-route .event-day-status-card .compact-fact-list {
  margin: 0 !important;
  gap: 8px !important;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
}

body.public-route .event-day-status-card .compact-fact-list > div {
  padding: 10px 12px !important;
  min-height: 58px !important;
  border-radius: 14px !important;
}

body.public-route .event-day-status-card .compact-fact-list span {
  font-size: .66rem !important;
  letter-spacing: .08em !important;
}

body.public-route .event-day-status-card .compact-fact-list strong {
  font-size: 1.1rem !important;
  line-height: 1.1 !important;
}

@media (max-width: 760px) {
  body.public-route .event-day-quick-actions,
  body.public-route .event-day-status-card {
    grid-template-columns: 1fr !important;
  }
  body.public-route .event-day-quick-actions .event-day-action-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  body.public-route .event-day-quick-actions .event-day-action-grid .btn {
    width: 100% !important;
    min-width: 0 !important;
  }
  body.public-route .event-day-status-card .compact-fact-list {
    grid-template-columns: 1fr !important;
  }
}
body.public-route main:has(.event-card-list-empty),
body.public-route .public-main:has(.event-card-list-empty) {
  padding-bottom: 22px !important;
}

/* v1.11.9 — Event Calendar, signup security, and sponsor placement polish */
.public-events-menu {
  position: relative;
}
.public-events-menu .nav-parent::after {
  content: "▾";
  display: inline-block;
  margin-left: .45rem;
  font-size: .72em;
  opacity: .7;
}
.nav-submenu {
  position: absolute;
  top: calc(100% + .5rem);
  left: 0;
  min-width: 220px;
  padding: .5rem;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 18px;
  background: rgba(10, 15, 24, .98);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .38);
  display: none;
  z-index: 50;
}
.public-events-menu:hover .nav-submenu,
.public-events-menu:focus-within .nav-submenu {
  display: grid;
  gap: .25rem;
}
.nav-submenu a {
  display: block;
  padding: .7rem .85rem;
  border-radius: 12px;
  color: var(--text, #f8fafc);
  white-space: nowrap;
}
.nav-submenu a:hover,
.nav-submenu a:focus-visible {
  background: rgba(239, 68, 68, .13);
  color: #fff;
}
.sitewide-top-sponsor-slot {
  width: min(1180px, calc(100% - 2rem));
  margin: .85rem auto 0;
  padding: .75rem .9rem;
}
.sitewide-top-sponsor-slot .sponsor-slot-head {
  display: none;
}
.sitewide-top-sponsor-slot .site-sponsor-grid {
  grid-template-columns: 1fr;
}
.sitewide-top-sponsor-slot .site-sponsor-card {
  min-height: auto;
  padding: .75rem .9rem;
  flex-direction: row;
  align-items: center;
}
.sitewide-top-sponsor-slot .site-sponsor-logo-wrap {
  width: 54px;
  height: 42px;
  flex: 0 0 auto;
}
.sitewide-top-sponsor-slot .site-sponsor-placeholder {
  padding: .75rem .9rem;
  min-height: auto;
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: center;
}
.event-calendar-hero {
  width: min(1180px, calc(100% - 2rem));
}
.event-calendar-toolbar {
  width: min(1180px, calc(100% - 2rem));
  margin: 1rem auto 1rem;
  padding: 1rem;
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(17, 24, 39, .96), rgba(10, 15, 24, .94));
  box-shadow: 0 18px 44px rgba(0, 0, 0, .24);
}
.event-calendar-search {
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) minmax(96px, .42fr) minmax(160px, .72fr) minmax(132px, .55fr) minmax(132px, .55fr) minmax(150px, .65fr) auto;
  gap: .75rem;
  align-items: end;
}
.event-calendar-search label {
  margin: 0;
  display: grid;
  gap: .35rem;
  color: rgba(226, 232, 240, .85);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .02em;
}
.event-calendar-search input,
.event-calendar-search select,
.event-calendar-search button {
  min-height: 46px;
}
.event-calendar-tabs,
.event-calendar-state-strip > div {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}
.event-calendar-tabs {
  margin-top: .9rem;
  align-items: center;
}
.event-calendar-tabs a,
.event-calendar-tabs button,
.event-calendar-state-strip a {
  border: 1px solid rgba(148, 163, 184, .24);
  background: rgba(15, 23, 42, .78);
  color: #f8fafc;
  text-decoration: none;
  font-weight: 800;
  border-radius: 999px;
  padding: .62rem .84rem;
  line-height: 1;
}
.event-calendar-tabs a:hover,
.event-calendar-tabs button:hover,
.event-calendar-state-strip a:hover {
  border-color: rgba(248, 113, 113, .55);
  background: rgba(127, 29, 29, .3);
}
.event-calendar-toolbar .event-view-toggle {
  margin-top: .9rem;
  justify-content: flex-end;
}
.event-calendar-state-strip {
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto 1rem;
  padding: .85rem 1rem;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 22px;
  background: rgba(15, 23, 42, .52);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.event-calendar-state-strip strong {
  color: #f8fafc;
  white-space: nowrap;
}
.event-calendar-state-strip span {
  color: rgba(191, 219, 254, .78);
  margin-left: .25rem;
}
.password-strength {
  margin: -.25rem 0 .75rem;
  padding: .8rem;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 16px;
  background: rgba(2, 6, 23, .28);
}
.password-strength-track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(148, 163, 184, .18);
  margin-bottom: .55rem;
}
.password-strength-track span {
  display: block;
  height: 100%;
  width: 8%;
  border-radius: inherit;
  background: #64748b;
  transition: width .18s ease, background .18s ease;
}
.password-strength[data-strength="weak"] .password-strength-track span { background: #ef4444; }
.password-strength[data-strength="fair"] .password-strength-track span { background: #f97316; }
.password-strength[data-strength="good"] .password-strength-track span { background: #eab308; }
.password-strength[data-strength="strong"] .password-strength-track span { background: #22c55e; }
.recaptcha-wrap {
  margin: .5rem 0 1rem;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  min-height: 78px;
  overflow: visible;
}
.recaptcha-wrap .g-recaptcha {
  max-width: 304px;
  width: 100%;
  transform-origin: top center;
}
@media (max-width: 380px) {
  .recaptcha-wrap {
    min-height: 72px;
  }
  .recaptcha-wrap .g-recaptcha {
    transform: scale(.9);
  }
}
@media (max-width: 340px) {
  .recaptcha-wrap {
    min-height: 66px;
  }
  .recaptcha-wrap .g-recaptcha {
    transform: scale(.82);
  }
}

@media (max-width: 860px) {
  .public-events-menu .nav-parent::after { content: none; }
  .nav-submenu {
    position: static;
    display: grid;
    min-width: 0;
    margin: .35rem 0 0;
    padding: .35rem;
    background: rgba(15, 23, 42, .7);
    box-shadow: none;
  }
  .nav-submenu a { white-space: normal; }
  .event-calendar-search {
    grid-template-columns: 1fr;
  }
  .event-calendar-toolbar .event-view-toggle {
    justify-content: stretch;
  }
  .event-calendar-state-strip {
    align-items: flex-start;
    flex-direction: column;
  }
  .sitewide-top-sponsor-slot .site-sponsor-placeholder,
  .sitewide-top-sponsor-slot .site-sponsor-card {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* v1.11.12 register page full-width organization */
.register-shell {
  width: 100%;
  min-height: 0;
  display: block;
}
.register-card {
  width: 100%;
  max-width: none;
  padding: clamp(1.25rem, 2vw, 2rem);
  gap: clamp(1rem, 2vw, 1.45rem);
  overflow: visible;
}
.register-hero-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: stretch;
  padding: clamp(1rem, 2.2vw, 1.65rem);
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(15,23,42,.86), rgba(127,29,29,.18));
}
.register-hero-copy {
  display: grid;
  align-content: center;
  gap: .75rem;
}
.register-hero-copy h1 {
  margin: 0;
  font-size: clamp(2.5rem, 6vw, 5.6rem);
  letter-spacing: -.07em;
  line-height: .88;
}
.register-hero-copy p {
  max-width: 56rem;
  margin: 0;
  font-size: clamp(1rem, 1.5vw, 1.2rem);
}
.register-beta-notice {
  margin: 0;
  align-self: center;
  display: grid;
  gap: .35rem;
  min-height: 100%;
  align-content: center;
}
.register-beta-notice span {
  color: rgba(219, 234, 254, .9);
}
.register-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(.9rem, 1.6vw, 1.25rem);
  align-items: stretch;
}
.register-form-section {
  display: grid;
  gap: .9rem;
  padding: clamp(1rem, 1.8vw, 1.25rem);
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 22px;
  background: rgba(2, 6, 23, .18);
  align-content: start;
}
.register-section-head {
  display: grid;
  gap: .25rem;
  padding-bottom: .25rem;
}
.register-section-head h2 {
  margin: 0;
  color: var(--text);
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  letter-spacing: -.04em;
}
.register-section-head p {
  margin: 0;
}
.register-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.register-choice-card {
  min-height: 104px;
  align-items: flex-start;
  background: rgba(15, 23, 42, .48);
  border: 1px solid rgba(148, 163, 184, .2);
}
.register-choice-card span {
  display: grid;
  gap: .25rem;
}
.register-choice-card small {
  color: var(--muted);
  font-weight: 650;
  line-height: 1.35;
}
.register-submit-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .8rem;
  padding: 1rem;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 22px;
  background: rgba(15, 23, 42, .48);
}
.register-submit-bar .btn {
  min-width: min(100%, 260px);
}
.register-submit-bar p {
  margin: 0;
}
.register-recaptcha-wrap {
  justify-content: flex-start;
  margin: 0;
}
.register-card .password-strength {
  margin: -.1rem 0 0;
}
@media (max-width: 900px) {
  .register-hero-panel,
  .register-form-grid,
  .register-choice-grid {
    grid-template-columns: 1fr;
  }
  .register-choice-card {
    min-height: 0;
  }
}
@media (max-width: 640px) {
  .register-card {
    padding: 1rem;
    border-radius: 22px;
  }
  .register-hero-panel,
  .register-form-section,
  .register-submit-bar {
    border-radius: 18px;
  }
  .register-submit-bar {
    display: grid;
    text-align: center;
  }
  .register-submit-bar .btn {
    width: 100%;
  }
  .register-recaptcha-wrap {
    justify-content: center;
  }
}

/* v1.11.13 Register page width/overlap fix
   The public auth-card rules had stronger specificity than the v1.11.12 register-card
   rules, keeping Create Account stuck in a narrow centered card. These scoped rules
   make the register experience use the full public content width and keep the beta
   notice from overlapping the hero copy. */
body.public-route .register-shell.auth-shell {
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  display: block !important;
  place-items: unset !important;
  padding: clamp(18px, 2.4vw, 34px) 0 !important;
}

body.public-route .register-card.auth-card {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: clamp(18px, 2.4vw, 34px) !important;
  gap: clamp(16px, 2vw, 24px) !important;
  overflow: visible !important;
}

body.public-route .register-hero-panel {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr) !important;
  gap: clamp(18px, 2.6vw, 34px) !important;
  align-items: stretch !important;
  overflow: hidden !important;
}

body.public-route .register-hero-copy,
body.public-route .register-beta-notice {
  min-width: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

body.public-route .register-hero-copy h1 {
  max-width: 620px !important;
  font-size: clamp(3.25rem, 6.1vw, 5.65rem) !important;
  line-height: .9 !important;
  letter-spacing: -.075em !important;
  overflow-wrap: normal !important;
}

body.public-route .register-hero-copy p {
  max-width: 640px !important;
  font-size: clamp(1.04rem, 1.35vw, 1.22rem) !important;
  line-height: 1.55 !important;
}

body.public-route .register-beta-notice.notice {
  align-self: stretch !important;
  min-height: 0 !important;
  padding: clamp(18px, 2vw, 28px) !important;
  border-radius: 20px !important;
  align-content: center !important;
  line-height: 1.45 !important;
  z-index: 2 !important;
}

body.public-route .register-form-grid {
  width: 100% !important;
  grid-template-columns: repeat(2, minmax(320px, 1fr)) !important;
  gap: clamp(16px, 2vw, 24px) !important;
}

body.public-route .register-form-section {
  min-width: 0 !important;
}

body.public-route .register-card .two-col {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (max-width: 1020px) {
  body.public-route .register-hero-panel,
  body.public-route .register-form-grid,
  body.public-route .register-choice-grid,
  body.public-route .register-card .two-col {
    grid-template-columns: 1fr !important;
  }

  body.public-route .register-hero-copy h1,
  body.public-route .register-hero-copy p {
    max-width: none !important;
  }
}

@media (max-width: 640px) {
  body.public-route .register-shell.auth-shell {
    padding: 12px 0 !important;
  }

  body.public-route .register-card.auth-card {
    padding: 14px !important;
  }

  body.public-route .register-hero-panel,
  body.public-route .register-form-section,
  body.public-route .register-submit-bar {
    border-radius: 18px !important;
  }

  body.public-route .register-hero-copy h1 {
    font-size: clamp(2.85rem, 15vw, 4.25rem) !important;
  }
}


/* v1.11.14 — Register hero title size polish
   Keeps the full-width Register layout but reduces the oversized Create Account
   heading for better desktop readability and less vertical crowding. */
body.public-route .register-hero-copy h1 {
  font-size: clamp(2.35rem, 4.25vw, 4.15rem) !important;
  line-height: .96 !important;
  letter-spacing: -.055em !important;
  max-width: 700px !important;
}

@media (max-width: 640px) {
  body.public-route .register-hero-copy h1 {
    font-size: clamp(2.25rem, 11vw, 3.2rem) !important;
    line-height: 1 !important;
  }
}

/* v1.11.15: in-page beta feedback overlay */
.beta-feedback-overlay[hidden] {
  display: none !important;
}

.beta-feedback-overlay {
  position: fixed;
  inset: 0;
  z-index: 20000;
  display: grid;
  place-items: center;
  padding: clamp(16px, 3vw, 36px);
  background: rgba(3, 6, 12, 0.78);
  backdrop-filter: blur(14px);
}

.beta-feedback-dialog {
  width: min(820px, 100%);
  max-height: min(90vh, 860px);
  overflow: auto;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(19, 25, 35, 0.98), rgba(10, 14, 22, 0.98));
  box-shadow: 0 32px 90px rgba(0, 0, 0, 0.58);
  padding: clamp(22px, 3vw, 34px);
}

.beta-feedback-dialog-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}

.beta-feedback-dialog-head h2 {
  margin: 0 0 8px;
  font-size: clamp(1.45rem, 2.4vw, 2.2rem);
  line-height: 1.05;
}

.beta-feedback-dialog-head p {
  margin: 0;
  max-width: 60ch;
  color: var(--text-muted);
}

.beta-feedback-close {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 16px;
  font-size: 1.6rem;
  line-height: 1;
}

.beta-feedback-overlay-form {
  display: grid;
  gap: 16px;
}

.beta-feedback-overlay-form textarea {
  min-height: 150px;
  resize: vertical;
}

.beta-feedback-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

.beta-feedback-actions .btn {
  min-width: 160px;
}

.beta-feedback-toast {
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(92px, calc(18px + env(safe-area-inset-bottom)));
  z-index: 20010;
  max-width: min(420px, calc(100vw - 36px));
  border: 1px solid rgba(34, 197, 94, 0.38);
  border-radius: 18px;
  background: rgba(9, 38, 26, 0.96);
  color: #dcfce7;
  font-weight: 800;
  padding: 14px 18px;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.35);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.beta-feedback-toast.is-fading {
  opacity: 0;
  transform: translateY(8px);
}

@media (max-width: 640px) {
  .beta-feedback-overlay {
    align-items: end;
    padding: 10px;
  }
  .beta-feedback-dialog {
    max-height: calc(100vh - 20px);
    border-radius: 24px;
    padding: 20px;
  }
  .beta-feedback-dialog-head {
    gap: 12px;
  }
  .beta-feedback-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .beta-feedback-actions .btn {
    width: 100%;
  }
}

/* v1.11.16 — homepage spacing and hero action cleanup
   Tightens the public top spacing, reduces oversized homepage typography, and
   relies on the navigation for account creation while keeping discovery actions in the hero. */
body.public-route .public-main,
body.public-route main.public-main,
body.public-route main:not(.admin-main) {
  padding-top: clamp(10px, 1.45vw, 22px) !important;
}

body.public-route .hero.hero-premium {
  margin-top: 0 !important;
}

body.public-route .hero.hero-premium .hero-copy h1 {
  max-width: 760px !important;
  font-size: clamp(2.45rem, 5.7vw, 4.75rem) !important;
  line-height: .94 !important;
  letter-spacing: -.058em !important;
}

body.public-route .hero.hero-premium .hero-lede,
body.public-route .hero.hero-premium .hero-lede p {
  font-size: clamp(1rem, 1.32vw, 1.15rem) !important;
  line-height: 1.55 !important;
}

body.public-route .hero.hero-premium .hero-actions {
  margin-top: 20px !important;
  gap: 10px !important;
}

body.public-route .hero.hero-premium .hero-actions .btn {
  min-height: 44px !important;
  padding: 10px 16px !important;
  font-size: .92rem !important;
  border-radius: 14px !important;
}

body.public-route .hero-showcase h2 {
  font-size: clamp(1.65rem, 2.5vw, 2.35rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.05em !important;
}

body.public-route .hero-showcase .cms-public-content,
body.public-route .hero-showcase .cms-public-content p {
  font-size: clamp(.96rem, 1.15vw, 1.06rem) !important;
  line-height: 1.48 !important;
}

@media (max-width: 820px) {
  body.public-route .public-main,
  body.public-route main.public-main,
  body.public-route main:not(.admin-main) {
    padding-top: 10px !important;
  }

  body.public-route .hero.hero-premium .hero-copy h1 {
    font-size: clamp(2rem, 10vw, 3.2rem) !important;
    line-height: 1 !important;
  }

  body.public-route .hero.hero-premium .hero-actions .btn {
    width: 100% !important;
    min-height: 42px !important;
    font-size: .9rem !important;
  }
}

/* v1.11.17 — Resources: Motorcycle Laws by State */
.resource-hero {
  margin-top: clamp(0.6rem, 1.4vw, 1.2rem);
}
.resource-hero h1 {
  font-size: clamp(2rem, 4.5vw, 4.25rem);
  line-height: 0.98;
  max-width: 980px;
}
.resource-disclaimer,
.resource-note-card,
.motorcycle-law-table-card,
.motorcycle-law-tools,
.law-detail-summary-grid article,
.road-law-item,
.resource-detail-actions {
  width: min(1180px, calc(100% - 2rem));
  margin-left: auto;
  margin-right: auto;
}
.resource-disclaimer,
.resource-note-card {
  border: 1px solid rgba(255,255,255,0.10);
  background: linear-gradient(135deg, rgba(255,255,255,0.070), rgba(255,255,255,0.025));
  border-radius: 24px;
  padding: clamp(1rem, 2vw, 1.5rem);
  box-shadow: 0 22px 48px rgba(0,0,0,0.22);
  margin-top: 1rem;
}
.resource-disclaimer strong,
.resource-note-card h2 {
  color: #fff;
  display: block;
  margin-bottom: 0.35rem;
}
.resource-disclaimer p,
.resource-note-card p {
  color: rgba(245,247,250,0.78);
  margin: 0;
}
.motorcycle-law-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
  gap: 1rem;
  align-items: end;
  margin-top: 1rem;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 24px;
  padding: 1rem;
  background: rgba(8,12,20,0.74);
}
.motorcycle-law-tools label {
  display: grid;
  gap: 0.35rem;
  color: rgba(245,247,250,0.78);
  font-weight: 700;
  font-size: 0.86rem;
}
.motorcycle-law-tools input,
.motorcycle-law-tools select {
  width: 100%;
  min-height: 44px;
}
.motorcycle-law-table-card {
  margin-top: 1rem;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 26px;
  background: rgba(8,12,20,0.76);
  overflow: hidden;
  box-shadow: 0 22px 48px rgba(0,0,0,0.22);
}
.motorcycle-laws-table {
  width: 100%;
  border-collapse: collapse;
}
.motorcycle-laws-table th,
.motorcycle-laws-table td {
  padding: 0.92rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  color: rgba(245,247,250,0.82);
  vertical-align: top;
}
.motorcycle-laws-table th {
  color: rgba(255,255,255,0.92);
  text-align: left;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: rgba(255,255,255,0.045);
}
.motorcycle-laws-table tbody tr:hover {
  background: rgba(255,255,255,0.045);
}
.state-law-link {
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}
.state-law-link:hover,
.state-law-link:focus {
  color: #ff9d4d;
  text-decoration: underline;
}
.law-filter-empty {
  margin: 1rem;
}
.law-detail-summary-grid {
  width: min(1180px, calc(100% - 2rem));
  margin: 1rem auto 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.9rem;
}
.law-detail-summary-grid article {
  width: auto;
  margin: 0;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.055);
  border-radius: 22px;
  padding: 1rem;
}
.law-detail-summary-grid span {
  display: block;
  color: rgba(245,247,250,0.60);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 0.35rem;
}
.law-detail-summary-grid strong {
  color: #fff;
  line-height: 1.25;
}
.road-law-list {
  width: min(1180px, calc(100% - 2rem));
  margin: 1rem auto 0;
  display: grid;
  gap: 0.85rem;
}
.road-law-item {
  width: auto;
  margin: 0;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(8,12,20,0.74);
  border-radius: 22px;
  padding: 1rem;
}
.road-law-item-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.35rem;
}
.road-law-item h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.02rem, 1.6vw, 1.28rem);
}
.road-law-item p {
  margin: 0;
  color: rgba(245,247,250,0.78);
  line-height: 1.55;
}
.road-law-sources {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  justify-content: flex-end;
}
.road-law-sources a {
  color: #ffd2a6;
  border: 1px solid rgba(255,157,77,0.35);
  background: rgba(255,157,77,0.08);
  border-radius: 999px;
  padding: 0.26rem 0.55rem;
  text-decoration: none;
  font-size: 0.76rem;
  font-weight: 800;
  white-space: nowrap;
}
.road-law-sources a:hover,
.road-law-sources a:focus {
  border-color: rgba(255,157,77,0.72);
  background: rgba(255,157,77,0.16);
}
.resource-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
@media (max-width: 900px) {
  .motorcycle-law-tools,
  .law-detail-summary-grid {
    grid-template-columns: 1fr;
  }
  .motorcycle-laws-table thead {
    display: none;
  }
  .motorcycle-laws-table,
  .motorcycle-laws-table tbody,
  .motorcycle-laws-table tr,
  .motorcycle-laws-table td {
    display: block;
    width: 100%;
  }
  .motorcycle-laws-table tr {
    padding: 0.85rem;
    border-bottom: 1px solid rgba(255,255,255,0.10);
  }
  .motorcycle-laws-table td {
    border-bottom: 0;
    padding: 0.35rem 0;
  }
  .motorcycle-laws-table td::before {
    content: attr(data-label);
    display: block;
    color: rgba(245,247,250,0.52);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 0.08rem;
  }
  .road-law-item-header {
    display: grid;
  }
  .road-law-sources {
    justify-content: flex-start;
  }
}


/* =========================================================
   v1.11.19 - Motorcycle Laws verification + header dropdown fix
   ========================================================= */

body.public-route .public-site-header,
body.public-route .public-top-nav,
body.public-route .public-cms-nav {
  overflow: visible !important;
}

body.public-route .public-site-header {
  position: relative;
  z-index: 3000;
}

@media (min-width: 861px) {
  body.public-route .public-cms-nav .nav-section.public-events-menu {
    display: inline-flex !important;
    position: relative !important;
    align-items: center;
  }

  body.public-route .public-cms-nav .public-events-menu .nav-submenu {
    top: calc(100% + 0.5rem);
    left: 0;
    right: auto;
    z-index: 6000;
  }

  body.public-route .public-cms-nav .nav-section-resources .nav-submenu {
    left: auto;
    right: 0;
  }
}

.law-muted {
  color: rgba(235, 241, 255, 0.58);
  font-weight: 800;
}

.law-cell-reviewed,
.law-review-status {
  display: block;
  margin-top: 0.35rem;
  color: rgba(226, 232, 240, 0.58);
  font-size: 0.78rem;
  font-weight: 800;
}

.law-status-pill {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  padding: 0.25rem 0.55rem;
  font-size: 0.74rem;
  font-weight: 900;
  white-space: nowrap;
  color: rgba(248, 250, 252, 0.88);
  background: rgba(255, 255, 255, 0.055);
}

.law-status-pill--verified {
  color: #bbf7d0;
  border-color: rgba(34, 197, 94, 0.30);
  background: rgba(34, 197, 94, 0.12);
}

.law-status-pill--partial {
  color: #fde68a;
  border-color: rgba(245, 158, 11, 0.32);
  background: rgba(245, 158, 11, 0.13);
}

.law-status-pill--needs_review {
  color: rgba(226, 232, 240, 0.72);
  border-color: rgba(148, 163, 184, 0.24);
  background: rgba(148, 163, 184, 0.11);
}

.law-admin-warning {
  border-color: rgba(245, 158, 11, 0.32);
  background: rgba(245, 158, 11, 0.10);
}

.law-source-list {
  margin-top: 0.75rem;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 0.85rem;
  background: rgba(255, 255, 255, 0.035);
  font-size: 0.92rem;
}

.law-source-list ul {
  margin: 0.55rem 0 0;
  padding-left: 1.1rem;
}

.law-source-list li + li {
  margin-top: 0.35rem;
}

.law-source-list a {
  color: #dbeafe;
  font-weight: 800;
  text-decoration: none;
}

.law-source-list a:hover,
.law-source-list a:focus {
  text-decoration: underline;
}

.law-source-list span {
  display: block;
  margin-top: 0.12rem;
  color: rgba(226, 232, 240, 0.58);
  font-size: 0.8rem;
  font-weight: 700;
}

/* =========================================================
   v1.11.21 - App-ready PWA shell foundation
   ========================================================= */

.app-shell-hero {
  width: min(1120px, calc(100% - 32px));
  margin: 1.6rem auto 1rem;
  padding: clamp(1.4rem, 5vw, 3.2rem);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: clamp(1.25rem, 4vw, 2rem);
  background:
    radial-gradient(circle at 15% 15%, rgba(59, 130, 246, 0.25), transparent 34rem),
    linear-gradient(135deg, rgba(15, 23, 42, 0.96), rgba(8, 13, 24, 0.94));
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
}

.app-shell-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 1rem;
  padding: 0.38rem 0.72rem;
  border-radius: 999px;
  background: rgba(125, 211, 252, 0.12);
  color: #dbeafe;
  border: 1px solid rgba(191, 219, 254, 0.22);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.app-shell-hero h1 {
  margin: 0;
  max-width: 820px;
  font-size: clamp(2.5rem, 9vw, 6.5rem);
  line-height: 0.92;
  letter-spacing: -0.075em;
}

.app-shell-hero p {
  max-width: 720px;
  margin: 1rem 0 0;
  color: rgba(235, 241, 255, 0.74);
  font-size: clamp(1rem, 2.5vw, 1.2rem);
  line-height: 1.58;
}

.app-shell-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.4rem;
}

.app-shell-grid {
  width: min(1120px, calc(100% - 32px));
  margin: 1rem auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.app-shell-card {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  min-height: 190px;
  padding: 1.15rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(15, 23, 42, 0.78);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.18);
}

.app-shell-card:hover,
.app-shell-card:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(191, 219, 254, 0.28);
  background: rgba(21, 31, 52, 0.88);
}

.app-shell-card strong {
  font-size: 1.05rem;
}

.app-shell-card span:last-child {
  color: rgba(235, 241, 255, 0.67);
  line-height: 1.45;
}

.app-shell-icon {
  width: 2.45rem;
  height: 2.45rem;
  display: grid;
  place-items: center;
  border-radius: 0.9rem;
  background: rgba(255, 255, 255, 0.075);
  font-size: 1.2rem;
}

.app-platform-status {
  width: min(1120px, calc(100% - 32px));
  margin: 1rem auto 2.5rem;
  padding: 1.2rem;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  align-items: center;
  border-radius: 1.25rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
}

.app-platform-status h2 {
  margin: 0.25rem 0 0.35rem;
  font-size: clamp(1.35rem, 4vw, 2.1rem);
}

.app-platform-status p:not(.eyebrow) {
  max-width: 720px;
  margin: 0;
  color: rgba(235, 241, 255, 0.7);
  line-height: 1.52;
}

.app-platform-links {
  display: grid;
  gap: 0.55rem;
  min-width: 190px;
}

.app-platform-links a {
  display: block;
  padding: 0.68rem 0.8rem;
  border-radius: 0.85rem;
  text-align: center;
  color: #e0f2fe;
  text-decoration: none;
  font-weight: 800;
  background: rgba(14, 165, 233, 0.12);
  border: 1px solid rgba(125, 211, 252, 0.16);
}

@media (max-width: 920px) {
  .app-shell-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .app-platform-status {
    grid-template-columns: 1fr;
  }

  .app-platform-links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .app-shell-hero,
  .app-shell-grid,
  .app-platform-status {
    width: min(100% - 20px, 1120px);
  }

  .app-shell-grid,
  .app-platform-links {
    grid-template-columns: 1fr;
  }

  .app-shell-card {
    min-height: 0;
  }
}

/* =========================================================
   v1.11.21 - Trust-first app-ready public experience polish
   ========================================================= */
.public-environment-trust-strip,
.trust-notice {
  width: min(1120px, calc(100% - 32px));
  margin: 0.75rem auto;
  padding: 0.85rem 1rem;
  border-radius: 1rem;
  border: 1px solid rgba(251, 191, 36, 0.26);
  background: rgba(251, 191, 36, 0.10);
  color: rgba(255,255,255,.92);
  display: flex;
  gap: 0.6rem;
  align-items: center;
  flex-wrap: wrap;
}
.public-environment-trust-strip strong,
.trust-notice strong { letter-spacing: .05em; text-transform: uppercase; font-size: .78rem; }
.public-environment-trust-strip.env-production { border-color: rgba(34,197,94,.24); background: rgba(34,197,94,.08); }
.trust-notice-test { border-color: rgba(96,165,250,.30); background: rgba(37,99,235,.12); }
.home-rider-path,
.events-rider-promise,
.organizer-cta-strip,
.regions-alive-panel,
.organizer-readiness-explainer,
.sponsor-metrics-explainer {
  width: min(1120px, calc(100% - 32px));
  margin: 1rem auto;
}
.home-rider-path {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
  gap: 1rem;
  align-items: stretch;
}
.home-path-copy,
.home-path-steps,
.events-rider-promise,
.organizer-cta-strip,
.regions-alive-panel,
.sponsor-product-grid article,
.organizer-readiness-explainer article {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 1.25rem;
  background: rgba(255,255,255,.045);
  box-shadow: 0 18px 46px rgba(0,0,0,.16);
}
.home-path-copy { padding: 1.25rem; }
.home-path-copy h2 { margin: .2rem 0 .5rem; font-size: clamp(1.45rem, 4vw, 2.15rem); }
.home-path-copy p:not(.eyebrow) { color: var(--muted); line-height: 1.55; }
.home-path-steps { padding: .85rem; display: grid; gap: .6rem; }
.home-path-steps span {
  padding: .75rem .85rem;
  border-radius: .9rem;
  background: rgba(255,255,255,.055);
  font-weight: 800;
}
.event-quick-browse {
  width: min(1120px, calc(100% - 32px));
  margin: 1rem auto;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .75rem;
}
.event-quick-browse a,
.region-count-grid a {
  display: grid;
  gap: .25rem;
  min-height: 84px;
  padding: .9rem;
  border-radius: 1rem;
  color: inherit;
  text-decoration: none;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.09);
}
.event-quick-browse strong,
.region-count-grid strong { font-size: .98rem; }
.event-quick-browse span,
.region-count-grid span { color: var(--muted); font-size: .86rem; line-height: 1.35; }
.events-rider-promise {
  padding: .9rem 1rem;
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: center;
  flex-wrap: wrap;
}
.events-rider-promise strong { font-size: 1.05rem; }
.events-rider-promise span { color: var(--muted); }
.events-rider-promise a { color: #e0f2fe; font-weight: 900; text-decoration: none; }
.sample-event-chip {
  display: inline-flex;
  align-items: center;
  padding: .15rem .45rem;
  border-radius: 999px;
  background: rgba(96,165,250,.14);
  border: 1px solid rgba(147,197,253,.20);
  color: #dbeafe;
  font-size: .72rem;
  font-weight: 900;
}
.run-card-rider-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: .55rem 0 .35rem;
}
.run-card-rider-meta span {
  padding: .32rem .5rem;
  border-radius: 999px;
  background: rgba(255,255,255,.055);
  color: rgba(235,241,255,.78);
  font-size: .82rem;
}
.run-card-actions { margin-top: .7rem; }
.run-card-primary-action { width: 100%; justify-content: center; }
.region-count-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
}
.organizer-cta-strip {
  padding: 1.1rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  border: 1px solid rgba(240,75,40,.18);
  background: linear-gradient(135deg, rgba(240,75,40,.12), rgba(255,255,255,.04));
  border-radius: 1.25rem;
}
.organizer-cta-strip h2 { margin: .15rem 0 .35rem; }
.organizer-cta-strip p:not(.eyebrow) { margin: 0; color: var(--muted); }
.empty-state-actions { display: flex; gap: .65rem; flex-wrap: wrap; justify-content: center; margin-top: .9rem; }
.event-trust-signal-strip {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: .8rem 0 1rem;
}
.event-trust-signal-strip span {
  padding: .48rem .65rem;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  color: rgba(235,241,255,.78);
  font-size: .82rem;
}
.event-detail-trust-notice { width: 100%; margin: .75rem 0; }
.map-runtime-fallback[hidden] { display: none !important; }
.map-results-head { margin-top: 1.5rem; }
.map-run-results { margin-bottom: 2rem; }
.organizer-template-actions { min-width: 230px; }
.organizer-readiness-explainer {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}
.organizer-readiness-explainer article { padding: .9rem; display: grid; gap: .3rem; }
.organizer-readiness-explainer span { color: var(--muted); font-size: .9rem; line-height: 1.42; }
.sponsor-product-grid {
  width: min(1120px, calc(100% - 32px));
  margin: 1rem auto;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .75rem;
}
.sponsor-product-grid article { padding: .95rem; display: grid; gap: .35rem; }
.sponsor-product-grid span { color: var(--muted); font-size: .88rem; line-height: 1.4; }
.sponsor-metrics-explainer { padding: 1.1rem; }
.sponsor-metrics-explainer h2 { margin: .1rem 0 .45rem; }
@media (max-width: 899px) {
  html.is-mobile main,
  body:has(.mobile-rider-floating-actions) main,
  body:has(.mobile-rider-floating-actions) .public-main {
    padding-bottom: calc(130px + env(safe-area-inset-bottom, 0px)) !important;
  }
  body:has(.mobile-rider-floating-actions) form,
  body:has(.mobile-rider-floating-actions) .form-card,
  body:has(.mobile-rider-floating-actions) .filter-card,
  body:has(.mobile-rider-floating-actions) .content-card {
    scroll-margin-bottom: calc(140px + env(safe-area-inset-bottom, 0px));
  }
  .mobile-rider-floating-actions {
    bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important;
    padding: 0 6px;
  }
  .mobile-float-btn { min-height: 48px; }
}
@media (max-width: 760px) {
  .home-rider-path,
  .organizer-cta-strip,
  .organizer-readiness-explainer { grid-template-columns: 1fr; }
  .event-quick-browse,
  .region-count-grid,
  .sponsor-product-grid { grid-template-columns: 1fr 1fr; }
  .organizer-cta-strip .btn { width: 100%; }
}
@media (max-width: 520px) {
  .event-quick-browse,
  .region-count-grid,
  .sponsor-product-grid { grid-template-columns: 1fr; }
  .events-rider-promise { display: grid; }
  .run-card-actions .btn { width: 100%; }
}


/* =========================================================
   v1.11.24 - Correctness, trust, and elegant app-ready polish
   ========================================================= */
:root {
  --radius: 14px;
  --surface-elevated: rgba(18, 22, 30, 0.94);
  --surface-soft: rgba(255, 255, 255, 0.045);
  --line-soft: rgba(255, 255, 255, 0.10);
}

.public-main,
.admin-main { letter-spacing: -0.006em; }

.page-title h1,
.hero-copy h1,
.detail-hero h1 {
  letter-spacing: -0.065em;
  text-wrap: balance;
}

.form-card,
.content-card,
.table-card,
.filter-card,
.auth-card,
.info-card,
.run-card,
.wp-admin-card,
.cms-page-card {
  border-color: var(--line-soft) !important;
  background: linear-gradient(180deg, rgba(23,26,34,.94), rgba(13,16,22,.94));
  box-shadow: 0 16px 42px rgba(0,0,0,.22);
}

.event-wizard-shell {
  border-radius: 18px;
  overflow: clip;
}

.setup-rail-intro {
  margin: .25rem .2rem .8rem;
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.35;
}

.setup-rail-item {
  align-items: start;
  text-align: left;
}

.setup-rail-copy {
  display: grid;
  gap: .18rem;
}

.setup-rail-copy small {
  display: block;
  color: rgba(215, 224, 239, .66);
  font-size: .78rem;
  line-height: 1.28;
  font-weight: 600;
}

.setup-rail-item.is-active {
  border-color: rgba(240,75,40,.44) !important;
  background: linear-gradient(135deg, rgba(181,31,41,.23), rgba(255,255,255,.055));
}

.wizard-panel-active + .wizard-panel-active,
.guided-setup-workspace .wizard-panel-active:not(:first-child) {
  margin-top: 1rem;
}

.guided-setup-workspace .wizard-panel-active h2 {
  font-size: clamp(1.35rem, 2.2vw, 1.8rem);
}

.admin-context-strip {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin: 0 0 1rem;
  padding: .95rem 1rem;
  border: 1px solid rgba(96,165,250,.22);
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(37,99,235,.12), rgba(255,255,255,.035));
}
.admin-context-strip strong { display: block; margin: .12rem 0; }
.admin-context-strip span { color: var(--muted); font-size: .92rem; }

.admin-view-public-link {
  border: 1px solid rgba(96,165,250,.28);
  border-radius: .75rem;
  padding: .55rem .75rem;
  background: rgba(96,165,250,.10);
}

.map-degraded-card {
  display: grid;
  gap: .35rem;
  justify-items: center;
  min-height: 150px;
}
.map-degraded-card strong { color: var(--text); font-size: 1.05rem; }
.map-degraded-card span { color: var(--muted); max-width: 58ch; }
.map-instruction-fallback { border-color: rgba(96,165,250,.18); }

.event-type-choice-grid[role="radiogroup"] .event-type-choice-card[aria-checked="true"] {
  outline: 3px solid rgba(240,75,40,.2);
  border-color: rgba(240,75,40,.55);
}

.public-environment-trust-strip,
.environment-banner {
  backdrop-filter: blur(12px);
}

@media (max-width: 760px) {
  .admin-context-strip { display: grid; }
  .setup-rail-copy small { display: none; }
  .guided-setup-workspace .wizard-panel-active:not(:first-child) { margin-top: .85rem; }
}

/* =========================================================
   v1.11.25 - Complete redesign and CMS review implementation
   ========================================================= */
:root {
  --meh-bg: #080b10;
  --meh-panel: rgba(17, 22, 31, .96);
  --meh-panel-soft: rgba(255,255,255,.045);
  --meh-border: rgba(255,255,255,.105);
  --meh-text: #f6f1e8;
  --meh-muted: rgba(222,232,245,.72);
  --meh-red: #e23c35;
  --meh-red-dark: #a91f2b;
  --meh-gold: #f5d79a;
}
.complete-public-header {
  width: min(1220px, calc(100% - 24px));
  margin: .55rem auto .3rem;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(9,12,18,.92);
  box-shadow: 0 18px 55px rgba(0,0,0,.35);
  backdrop-filter: blur(16px);
}
.complete-public-header .brand-logo { border-radius: 14px; }
.complete-public-header .nav-add-event,
.complete-public-header .nav-admin-link { box-shadow: 0 10px 24px rgba(226,60,53,.18); }
.home-discovery-hero {
  width: min(1220px, calc(100% - 24px));
  margin: 1rem auto 1.15rem;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .65fr);
  gap: 1rem;
  align-items: stretch;
}
.home-discovery-copy,
.home-rider-promise-card,
.home-action-card,
.app-install-steps,
.complete-site-footer,
.notification-filter-tabs,
.account-section-tabs,
.register-progress-card {
  border: 1px solid var(--meh-border);
  background: linear-gradient(180deg, rgba(18,23,32,.96), rgba(10,13,19,.96));
  border-radius: 18px;
  box-shadow: 0 18px 48px rgba(0,0,0,.28);
}
.home-discovery-copy {
  padding: clamp(1.4rem, 4vw, 3rem);
  position: relative;
  overflow: hidden;
}
.home-discovery-copy:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 92% 12%, rgba(226,60,53,.22), transparent 38%), linear-gradient(90deg, rgba(226,60,53,.12), transparent 28%);
  pointer-events: none;
}
.home-discovery-copy > * { position: relative; z-index: 1; }
.home-discovery-copy h1 {
  max-width: 11ch;
  margin: .2rem 0 .6rem;
  font-size: clamp(3rem, 8vw, 6.3rem);
  line-height: .86;
  letter-spacing: -.08em;
  color: var(--meh-text);
  text-wrap: balance;
}
.home-discovery-copy .hero-lede { max-width: 68ch; color: var(--meh-muted); font-size: clamp(1rem, 1.4vw, 1.16rem); }
.home-primary-search {
  margin-top: 1.2rem;
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(170px, .36fr) auto;
  gap: .65rem;
  align-items: end;
  padding: .75rem;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
}
.home-primary-search label { display: grid; gap: .35rem; margin: 0; color: var(--meh-muted); font-size: .82rem; font-weight: 800; }
.home-primary-search input { min-height: 48px; border-radius: 12px; }
.home-primary-search .btn { min-height: 48px; white-space: nowrap; }
.home-quick-links,
.event-calendar-tabs,
.notification-filter-tabs,
.account-section-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  align-items: center;
}
.home-quick-links { margin-top: .9rem; }
.home-quick-links a,
.event-calendar-tabs a,
.event-calendar-tabs button,
.notification-filter-tabs a,
.account-section-tabs a {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  padding: .62rem .8rem;
  background: rgba(255,255,255,.055);
  color: var(--meh-text);
  text-decoration: none;
  min-height: 44px;
}
.home-quick-links a { display: grid; gap: .08rem; min-width: 130px; border-radius: 14px; }
.home-quick-links span { color: var(--meh-muted); font-size: .78rem; }
.home-rider-promise-card { padding: 1.1rem; }
.home-rider-promise-card h2 { margin: .2rem 0 .8rem; font-size: clamp(1.45rem, 2.3vw, 2.1rem); }
.home-rider-promise-card ol { list-style: none; margin: 0; padding: 0; display: grid; gap: .7rem; }
.home-rider-promise-card li { display: grid; gap: .2rem; padding: .85rem; border-radius: 14px; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.08); }
.home-rider-promise-card span { color: var(--meh-muted); font-size: .88rem; }
.complete-section-head,
.complete-regions-panel,
.complete-organizer-cta,
.home-action-grid {
  width: min(1220px, calc(100% - 24px));
  margin-left: auto;
  margin-right: auto;
}
.complete-home-events { width: min(1220px, calc(100% - 24px)); margin: 0 auto 1.1rem; }
.home-action-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; margin-top: 1rem; margin-bottom: 1rem; }
.home-action-card { padding: 1rem; display: grid; gap: .45rem; }
.home-action-card span { color: var(--meh-gold); font-weight: 900; text-transform: uppercase; letter-spacing: .08em; font-size: .74rem; }
.home-action-card h3 { margin: 0; font-size: 1.25rem; }
.home-action-card p { margin: 0; color: var(--meh-muted); line-height: 1.45; }
.home-action-card a { margin-top: .35rem; font-weight: 900; color: var(--meh-text); }
.complete-site-footer { width: min(1220px, calc(100% - 24px)); margin: 1.5rem auto; padding: 1.25rem; }
.footer-brand-line { display: grid; gap: .35rem; margin-bottom: 1rem; }
.footer-brand-line strong { font-size: 1.15rem; color: var(--meh-text); }
.footer-link-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.footer-link-grid section { display: grid; gap: .38rem; align-content: start; }
.footer-link-grid h2 { margin: 0 0 .25rem; font-size: .82rem; color: var(--meh-gold); text-transform: uppercase; letter-spacing: .08em; }
.footer-link-grid a { color: var(--meh-muted); text-decoration: none; }
.footer-link-grid a:hover { color: var(--meh-text); text-decoration: underline; }
.event-card-list .run-card,
.complete-home-events .run-card,
.recent-run-grid .run-card { border-radius: 16px; }
.run-card.compact-run-card .run-card-body { display: grid; gap: .48rem; }
.run-card-rider-meta { display: flex; flex-wrap: wrap; gap: .45rem; }
.run-card-rider-meta span { border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.045); border-radius: 999px; padding: .35rem .5rem; color: var(--meh-muted); font-size: .8rem; }
.event-calendar-hero { min-height: 0 !important; padding-top: 1rem !important; padding-bottom: 1rem !important; }
.event-calendar-toolbar { position: sticky; top: .5rem; z-index: 60; backdrop-filter: blur(12px); }
.filter-drawer[open] { scroll-margin-top: 1rem; }
.map-degraded-card strong:before { content: "Map fallback active · "; color: var(--meh-gold); }
.admin-shell,
.wp-admin-wrap,
.admin-main { --admin-accent: var(--meh-red); }
.wp-welcome-panel { border-radius: 18px !important; background: linear-gradient(135deg, rgba(226,60,53,.12), rgba(20,24,34,.96)) !important; }
.wp-dashboard-widget,
.wp-card,
.cms-edit-section,
.cms-page-workbench { border-radius: 16px !important; }
.cms-editor-library { position: sticky; top: .5rem; z-index: 40; backdrop-filter: blur(12px); }
.cms-page-picker { max-height: 38vh; overflow: auto; }
.cms-page-card { min-height: 92px; }
.account-section-tabs,
.notification-filter-tabs,
.register-progress-card { width: min(1120px, calc(100% - 24px)); margin: 0 auto 1rem; padding: .75rem; }
.register-progress-card { color: var(--meh-muted); line-height: 1.45; }
.app-install-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin-top: .8rem; }
.app-install-grid article { display: grid; gap: .3rem; padding: .9rem; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; background: rgba(255,255,255,.04); }
.app-install-grid span { color: var(--meh-muted); }
.assistant-code-details summary { cursor: pointer; display: flex; justify-content: space-between; gap: 1rem; }
.assistant-code-details summary span { font-weight: 900; }
.assistant-code-details summary em { color: var(--meh-muted); font-style: normal; }
.complete-app-page .app-shell-icon { font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.sponsor-product-grid article,
.sponsor-preview-card,
.ad-placement-row { border-radius: 14px !important; }
.legal-copy { max-width: 920px; margin-left: auto; margin-right: auto; }
@media (max-width: 900px) {
  .home-discovery-hero { grid-template-columns: 1fr; }
  .home-primary-search { grid-template-columns: 1fr; }
  .home-action-grid,
  .app-install-grid,
  .footer-link-grid { grid-template-columns: 1fr 1fr; }
  .event-calendar-toolbar { position: relative; top: auto; }
}
@media (max-width: 560px) {
  .complete-public-header { width: calc(100% - 14px); border-radius: 18px; }
  .home-discovery-hero,
  .complete-section-head,
  .complete-regions-panel,
  .complete-organizer-cta,
  .home-action-grid,
  .complete-home-events,
  .complete-site-footer { width: calc(100% - 16px); }
  .home-discovery-copy { padding: 1.1rem; }
  .home-discovery-copy h1 { font-size: clamp(2.65rem, 15vw, 4.6rem); }
  .home-action-grid,
  .app-install-grid,
  .footer-link-grid { grid-template-columns: 1fr; }
  .home-quick-links a { width: 100%; }
  .event-calendar-tabs a,
  .event-calendar-tabs button { flex: 1 1 auto; text-align: center; }
  .account-section-tabs,
  .notification-filter-tabs { width: calc(100% - 16px); overflow-x: auto; flex-wrap: nowrap; }
}
.event-results-command-bar,
.applied-filter-chips {
  width: min(1220px, calc(100% - 24px));
  margin: .8rem auto;
}
.event-results-command-bar {
  display: flex;
  justify-content: space-between;
  gap: .8rem;
  align-items: center;
  padding: .75rem .9rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  background: rgba(255,255,255,.045);
}
.event-results-command-bar span { color: var(--meh-muted); font-size: .86rem; }
.event-results-command-bar nav,
.applied-filter-chips { display: flex; gap: .45rem; flex-wrap: wrap; }
.event-results-command-bar a,
.applied-filter-chips a { text-decoration: none; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; padding: .42rem .62rem; color: var(--meh-text); background: rgba(255,255,255,.04); }
.event-results-command-bar a.is-active { background: rgba(226,60,53,.16); border-color: rgba(226,60,53,.35); }
.applied-filter-chips a { display: flex; gap: .35rem; align-items: center; }
.applied-filter-chips span { color: var(--meh-muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .07em; }
.applied-filter-chips em { font-style: normal; color: var(--meh-gold); }
@media (max-width: 560px) { .event-results-command-bar { display: grid; } }
.faq-category-tabs,
.faq-group-stack { width: min(980px, calc(100% - 24px)); margin-left: auto; margin-right: auto; }
.faq-category-tabs { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.faq-category-tabs a { min-height: 44px; padding: .62rem .85rem; border-radius: 999px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.05); text-decoration: none; color: var(--meh-text); font-weight: 800; }
.faq-group-stack { display: grid; gap: 1rem; }
.faq-group-card header { margin-bottom: .7rem; }
.faq-detail-item { padding: .65rem 0; border-top: 1px solid rgba(255,255,255,.08); }
.faq-detail-item summary { cursor: pointer; font-weight: 900; color: var(--meh-text); }
.faq-detail-item div { color: var(--meh-muted); margin-top: .55rem; }
.admin-work-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1rem; padding: .65rem; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(255,255,255,.045); }
.admin-work-tabs a { text-decoration: none; color: var(--meh-text); padding: .55rem .75rem; border-radius: 999px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.04); font-weight: 800; }
