

.registration-merge-shell > .notice { margin: 0; }
.registration-merge-shell .admin-section > h2 { margin: 0 0 16px; }
.registration-merge-shell .admin-section > form { margin-top: 18px; }
.registration-merge-field { padding-top: 14px; border-top: 1px solid var(--zh-line); overflow-wrap: anywhere; }
.registration-merge-field h3 { margin: 0; font-size: 13px; }
.registration-merge-field p { margin: 0; }
.registration-merge-field .dashboard-data-note { font-size: 12px; white-space: pre-wrap; }
.registration-merge-field .event-editor-help { font-size: 14px; }
.registration-merge-shell .event-editor-check { margin-top: 20px; }


.event-editor-form [hidden] { display: none; }
#registration-settings { scroll-margin-top: 24px; }
.external-mode-panel { display: grid; gap: 16px; margin-top: 20px; padding: 20px; border: 1px solid var(--zh-line); border-radius: var(--zh-radius-panel); background: #faf9fb; }
.external-mode-panel.is-external { border-color: #b793ac; background: #fbf6fa; }
.external-mode-label { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; }
.external-mode-copy { display: grid; gap: 5px; min-width: 0; }
.external-mode-copy strong { font-size: 15px; line-height: 1.5; }
.external-mode-copy small { font-size: 12px; line-height: 1.7; color: var(--zh-muted); }
.external-mode-control { display: flex; align-items: center; gap: 9px; flex: none; }
.external-mode-state { min-width: 22px; font-size: 11px; font-weight: 800; color: var(--zh-muted); }
.external-mode-panel.is-external .external-mode-state { color: var(--zh-brand-dark); }
input.external-mode-switch { appearance: none; -webkit-appearance: none; position: relative; width: 48px; height: 28px; min-height: 28px; margin: 0; padding: 0; border: 1px solid #aaa2ae; border-radius: 20px; background: #bab3bf; cursor: pointer; transition: background .15s ease; }
input.external-mode-switch::before { content: ''; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: white; box-shadow: 0 1px 3px #0002; transition: transform .15s ease; }
input.external-mode-switch:checked { background: var(--zh-brand); border-color: var(--zh-brand); }
input.external-mode-switch:checked::before { transform: translateX(20px); }
input.external-mode-switch:disabled { cursor: not-allowed; opacity: .55; }
.external-mode-switch:focus-visible { outline: 3px solid #bd93b5; outline-offset: 3px; }
.external-form-fields { display: grid; gap: 9px; padding-top: 16px; border-top: 1px solid #e7dbe4; }
.external-form-fields label { display: grid; gap: 7px; font-size: 13px; font-weight: 700; }
.external-form-fields label > span { display: flex; align-items: center; gap: 8px; }
.external-required { color: #85516f; font-size: 10px; font-weight: 700; }
.external-form-fields input { width: 100%; min-width: 0; font-size: 14px; background: white; }
.external-form-fields p, .external-lock-note { margin: 0; font-size: 12px; line-height: 1.8; color: var(--zh-muted); }
.external-lock-note { padding: 11px 13px; border-radius: var(--zh-radius-control); background: #f0edf2; }
.external-zoom-note { padding: 15px 17px; margin-top: 18px; border-radius: var(--zh-radius-panel); background: #f7f4f8; }
.external-zoom-note strong { font-size: 14px; }
.external-zoom-note p { margin: 5px 0 0; color: var(--zh-muted); font-size: 12px; line-height: 1.8; }
@media (max-width: 600px) {
  .external-mode-panel { padding: 15px; }
  .external-mode-label { gap: 10px; }
  .external-mode-copy strong { font-size: 14px; }
  .external-mode-control { gap: 6px; }
  .external-form-fields input { font-size: 16px; }
}

:root {
  color-scheme: light;
  --zh-ink: #241d2b;
  --zh-muted: #665d70;
  --zh-line: #ded6e4;
  --zh-paper: #ffffff;
  --zh-wash: #f7f3f8;
  --zh-brand: #7b2f69;
  --zh-brand-dark: #552047;
  --zh-header: #35223c;
  --zh-brand-soft: #f4e8f1;
  --zh-danger: #a52a45;
  --zh-warning: #8a5a00;
  --zh-radius-panel: 8px;
  --zh-radius-control: 5px;
  font-family: Inter,"Noto Sans JP",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic",Meiryo,sans-serif;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
body { margin: 0; background: var(--zh-wash); color: var(--zh-ink); line-height: 1.65; }
a { color: var(--zh-brand); }
.title-segment { display: inline-block; }
.environment-banner {
  min-height: 38px;
  padding: 8px max(20px, calc((100% - 1400px) / 2));
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: #fff4d8;
  border-bottom: 1px solid #e4c369;
  color: #654300;
  font-size: 13px;
  text-align: center;
}
.environment-banner strong { letter-spacing: .08em; }
.site-header {
  min-height: 64px;
  padding: 0 max(20px, calc((100% - 1400px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: var(--zh-header);
  color: #fff;
}
.brand { display: inline-flex; align-items: center; color: inherit; text-decoration: none; font-weight: 800; line-height: 1.2; letter-spacing: .03em; }
.header-nav { display: inline-flex; align-items: center; min-height: 24px; color: inherit; font-size: 14px; font-weight: 700; text-decoration: none; }
.header-nav:hover { text-decoration: underline; text-underline-offset: 4px; }
.public-primary-nav { display: flex; align-items: stretch; align-self: stretch; gap: 4px; min-width: 0; }
.public-primary-nav .header-nav { border-bottom: 3px solid transparent; padding: 0 10px; white-space: nowrap; }
.public-primary-nav .header-nav:hover,
.public-primary-nav .header-nav[aria-current="page"] { border-bottom-color: #d9a6cc; text-decoration: none; }
.container { width: min(100%, 1400px); margin: 0 auto; padding: 36px 20px 80px; }
.card {
  background: var(--zh-paper);
  border: 1px solid var(--zh-line);
  border-radius: var(--zh-radius-panel);
  padding: clamp(22px, 4vw, 40px);
  box-shadow: 0 16px 40px rgba(53, 34, 60, .07);
}
.eyebrow {
  margin: 0 0 8px;
  color: var(--zh-brand);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.field-grid .wide { grid-column: 1 / -1; }
label { display: grid; gap: 6px; color: var(--zh-muted); font-size: 13px; font-weight: 700; }
input, textarea, select {
  width: 100%;
  border: 1px solid #bcaec2;
  border-radius: var(--zh-radius-control);
  background: #fff;
  color: var(--zh-ink);
  padding: 10px 12px;
  font: inherit;
}
input:focus-visible, textarea:focus-visible, select:focus-visible, .button:focus-visible {
  outline: 3px solid rgba(123, 47, 105, .28);
  outline-offset: 2px;
  border-color: var(--zh-brand);
}
.brand:focus-visible,
.header-nav:focus-visible,
.back-link:focus-visible,
.event-card h2 a:focus-visible,
.event-card__link:focus-visible,
.dashboard-registration-count-link:focus-visible {
  border-radius: var(--zh-radius-control);
  outline: 3px solid rgba(123, 47, 105, .32);
  outline-offset: 3px;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: var(--zh-radius-control);
  background: var(--zh-brand);
  color: #fff;
  padding: 11px 17px;
  font: inherit;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}
.button:hover { background: var(--zh-brand-dark); }
.button:disabled { opacity: .55; cursor: not-allowed; }
.button.secondary { border: 1px solid var(--zh-brand); background: #fff; color: var(--zh-brand-dark); }
.button.refresh { background: #4d6878; color: #fff; }
.button.refresh:hover { background: #3b5361; }
.button.refresh.is-loading { pointer-events: none; }
.button.refresh.is-loading::before {
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255, 255, 255, .42);
  border-top-color: #fff;
  border-radius: 50%;
  content: "";
  animation: admin-refresh-spin .7s linear infinite;
}
@keyframes admin-refresh-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .button.refresh.is-loading::before { animation-duration: 1.5s; }
}
.button.danger { background: var(--zh-danger); }
.button.danger:hover { background: #7f1f35; }
.button.danger-secondary { border: 1px solid #c4687d; background: #fff; color: var(--zh-danger); }
.button.danger-secondary:hover { background: #fae8ec; }
.notice { padding: 14px 16px; border-left: 4px solid var(--zh-brand); background: var(--zh-brand-soft); }
.status-attention { margin: 20px 0; border-left-color: var(--zh-warning); }
.event-time { margin-top: -4px; color: var(--zh-muted); }
.status-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 26px; }
.status-panel { min-width: 0; padding: 18px; border: 1px solid var(--zh-line); border-radius: var(--zh-radius-panel); background: #fff; }
.status-panel h2 { margin: 10px 0 8px; font-size: 1.15rem; }
.status-panel p:last-child { margin-bottom: 0; }
.status-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 0;
  border: 0;
  border-radius: 99px;
  background: var(--zh-brand-soft);
  color: var(--zh-brand-dark);
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .04em;
}
.privacy-note { margin: 24px 0 0; padding-top: 18px; border-top: 1px solid var(--zh-line); color: var(--zh-muted); font-size: 13px; }
.registration-status-card > h1 { margin-bottom: 12px; }
.registration-status-lead { margin: 0; color: var(--zh-muted); line-height: 1.8; }
.registration-summary-list { margin: 26px 0 0; }
.registration-summary-list > div {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 18px;
  padding: 13px 10px;
  border-bottom: 1px solid var(--zh-line);
}
.registration-summary-list dt { color: var(--zh-ink); font-size: 14px; font-weight: 800; }
.registration-summary-list dd { min-width: 0; margin: 0; overflow-wrap: anywhere; font-weight: 700; }
.registration-summary-list > div:last-child { border-bottom: 0; }
.registration-status-section { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--zh-line); }
.registration-status-section > h2 { margin: 0 0 14px; font-size: 1.1rem; }
.registration-payment-box,
.registration-zoom-box { padding: 20px; border: 1px solid var(--zh-line); border-radius: var(--zh-radius-panel); background: #fff; }
.registration-payment-box > p { margin: 12px 0 0; }
.registration-state-tag {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 99px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.5;
}
.registration-state-tag--warning { background: #fff0d7; color: #795000; }
.registration-state-tag--success { background: #e3f2ec; color: #17664e; }
.registration-processing-note { color: var(--zh-muted); }
.registration-zoom-access { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 20px; }
.registration-zoom-access > .button { white-space: nowrap; }
.registration-zoom-box dl { margin: 0; }
.registration-zoom-box dl > div { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; }
.registration-zoom-box dt { color: var(--zh-muted); font-size: 12px; font-weight: 700; }
.registration-zoom-box dd { min-width: 0; margin: 0; overflow-wrap: anywhere; word-break: break-all; }
.registration-zoom-box dd a { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--zh-brand); font-size: 14px; font-weight: 500; }
.registration-supporting-note { margin: 14px 0 0; color: var(--zh-muted); font-size: 12px; line-height: 1.7; }
.registration-supporting-note + .registration-supporting-note { margin-top: 0; }
.registration-zoom-pending { line-height: 1.8; }
.registration-zoom-pending-heading { display: flex; align-items: center; gap: 10px; }
.registration-zoom-pending p { margin: 8px 0 0; }
.registration-loading-spinner {
  width: 18px;
  height: 18px;
  flex: none;
  border: 2px solid rgba(123, 47, 105, .22);
  border-top-color: var(--zh-brand);
  border-radius: 50%;
  animation: registration-loading-spin .75s linear infinite;
}
@keyframes registration-loading-spin { to { transform: rotate(360deg); } }
.registration-cancellation { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--zh-line); }
.registration-cancellation h2 { margin: 0 0 6px; font-size: 1.1rem; }
.registration-cancellation > p { margin: 0 0 14px; color: var(--zh-muted); }
.cancellation-confirmation { margin-top: 16px; padding: 18px; border: 1px solid #e5bcc6; border-radius: var(--zh-radius-panel); background: #fff8fa; }
.cancellation-confirmation p { margin: 0 0 8px; }
.cancellation-confirmation [data-cancel-status] { margin: 14px 0 0; color: var(--zh-muted); }
.status-error { padding: 13px 16px; border: 2px solid var(--zh-danger); color: var(--zh-danger); font-weight: 800; }
.form-error { margin: 0; padding: 13px 16px; border-left: 4px solid var(--zh-danger); border-radius: var(--zh-radius-panel); background: #fff3f5; color: var(--zh-danger); font-weight: 750; }
.actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.listing-page { max-width: 1050px; display: grid; gap: 24px; }
.listing-hero { padding: 2px 0 0; }
.listing-hero h1 {
  margin: 0;
  font-size: clamp(1.55rem, 2.6vw, 1.9rem);
  line-height: 1.3;
  letter-spacing: -.025em;
}
.listing-shell {
  --listing-columns: minmax(160px, .9fr) minmax(260px, 2fr) minmax(84px, .55fr) minmax(116px, .72fr) 118px;
  padding: 0 clamp(22px, 3.2vw, 36px) clamp(8px, 1.4vw, 16px);
  border: 1px solid var(--zh-line);
  border-radius: var(--zh-radius-panel);
  background: var(--zh-paper);
  box-shadow: 0 12px 32px rgba(53, 34, 60, .045);
}
.listing-column-headings {
  display: grid;
  grid-template-columns: var(--listing-columns);
  gap: clamp(14px, 2vw, 24px);
  padding: 17px 0 11px;
  color: var(--zh-ink);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
}
.listing-grid { display: grid; border-top: 1px solid var(--zh-line); }
.event-card {
  min-width: 0;
  display: grid;
  grid-template-columns: var(--listing-columns);
  align-items: center;
  gap: clamp(14px, 2vw, 24px);
  padding: 18px 0;
  border-bottom: 1px solid var(--zh-line);
}
.event-card:last-child { border-bottom: 0; }
.event-card h2 { min-width: 0; margin: 0; font-size: 1.025rem; line-height: 1.5; overflow-wrap: anywhere; }
.event-card h2 a { color: var(--zh-ink); text-decoration: none; }
.event-card h2 a:hover { color: var(--zh-brand); text-decoration: underline; }
.event-card__time { margin: 0; color: var(--zh-muted); font-size: 13px; font-weight: 650; font-variant-numeric: tabular-nums; }
.event-card__date, .event-card__clock { display: block; }
.event-card__clock { margin-top: 2px; }
.event-card__badges { display: contents; }
.event-card__price {
  margin: 0;
  color: var(--zh-ink);
  font-size: 14px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.event-card__status,
.event-card__status-placeholder {
  justify-self: start;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 800;
}
.event-card__status-placeholder { color: var(--zh-muted); }
.status-tag {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border: 0;
  border-radius: 99px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.5;
}
.status-tag.status-open { background: #e5f2ec; color: #175f49; }
.status-tag.status-wait { background: #fff1d5; color: #795200; }
.status-tag.status-closed { background: #eeecef; color: #625d66; }
.status-tag.status-cancelled { background: #fae8ec; color: #922e48; }
.event-card__link { min-width: 0; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: var(--zh-radius-control); padding: 7px 10px; white-space: nowrap; background: var(--zh-brand-soft); color: var(--zh-brand-dark); font-size: 13px; font-weight: 800; line-height: 1.45; text-decoration: none; }
.event-card__link:hover { background: var(--zh-brand); color: #fff; text-decoration: none; }
.event-card__link-label--mobile { display: none; }
.admin-table-actions, .listing-public-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.admin-table-actions .event-card__link { font-family: inherit; cursor: pointer; }
.listing-public-actions { justify-content: flex-end; }
.listing-admin-table th:last-child { text-align: right; }
.listing-admin-table td:last-child .admin-table-actions { justify-content: flex-end; flex-wrap: nowrap; }
.listing-empty { grid-column: 1 / -1; padding: 36px; text-align: center; color: var(--zh-muted); }
.admin-shell { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
.admin-shell > *, .admin-heading > *, .section-heading > *, .publish-panel > * { min-width: 0; }
.admin-site-header { position: relative; }
.admin-primary-nav { display: flex; align-items: stretch; align-self: stretch; gap: 2px; }
.admin-primary-nav a { display: inline-flex; align-items: center; border-bottom: 3px solid transparent; padding: 0 14px; color: rgba(255,255,255,.78); font-size: 13px; font-weight: 750; text-decoration: none; }
.admin-primary-nav a:hover, .admin-primary-nav a.active { border-bottom-color: #d9a6cc; color: #fff; }
.admin-role-badge { border: 1px solid rgba(255,255,255,.38); border-radius: 99px; padding: 3px 10px; font-size: 11px; font-weight: 800; letter-spacing: .05em; }
.admin-logout-form { flex: none; margin: 0; }
.admin-logout-form button { border: 1px solid rgba(255,255,255,.38); border-radius: var(--zh-radius-control); padding: 7px 11px; background: transparent; color: #fff; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.admin-logout-form button:hover { background: rgba(255,255,255,.1); }
.admin-login-shell { display: grid; place-items: center; min-height: calc(100vh - 170px); }
.admin-login-card { width: min(100%, 500px); padding: clamp(30px, 6vw, 48px); }
.admin-login-card h1 { margin: 5px 0 0; font-size: clamp(1.75rem, 4vw, 2.15rem); }
.admin-login-lead { margin: 12px 0 28px; color: var(--zh-muted); line-height: 1.7; }
.admin-login-button { width: 100%; min-height: 48px; }
.admin-login-status { min-height: 1.7em; margin: 14px 0 0; color: var(--zh-muted); font-size: 12px; line-height: 1.6; }
.admin-login-security { display: grid; gap: 4px; margin-top: 26px; padding: 14px 16px; border-radius: var(--zh-radius-panel); background: var(--zh-wash); }
.admin-login-security strong { font-size: 12px; }
.admin-login-security span { color: var(--zh-muted); font-size: 11px; line-height: 1.6; }
.admin-dashboard-shell { display: grid; gap: 22px; }
.dashboard-heading h1 { margin: 0; font-size: clamp(1.75rem, 3vw, 2.1rem); letter-spacing: -.025em; }
.dashboard-heading-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.dashboard-disabled-action { background: #dad5dc; color: #716b74; cursor: not-allowed; }
.dashboard-disabled-action:hover { background: #dad5dc; }
.dashboard-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.dashboard-stat-card { min-width: 0; padding: 19px 20px; border: 1px solid var(--zh-line); border-radius: var(--zh-radius-panel); background: #fff; box-shadow: 0 9px 24px rgba(53,34,60,.04); }
.dashboard-stat-card span, .dashboard-stat-card small { display: block; color: var(--zh-muted); font-size: 12px; font-weight: 700; }
.dashboard-stat-card strong { display: block; margin: 3px 0 1px; font-size: 1.85rem; line-height: 1.2; font-variant-numeric: tabular-nums; }
.dashboard-main-grid { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(280px, .75fr); align-items: start; gap: 18px; }
.dashboard-events-section { min-width: 0; }
.dashboard-side-stack { display: grid; gap: 18px; }
.dashboard-event-table { font-size: 14px; line-height: 1.5; }
.admin-table.dashboard-event-table th, .admin-table.dashboard-event-table td { padding-inline: 8px; }
.admin-table.dashboard-event-table th { white-space: nowrap; font-size: 11px; }
.dashboard-event-table td { min-width: 90px; }
.dashboard-event-table td:nth-child(2) { min-width: 220px; }
.dashboard-event-table td:last-child { min-width: 160px; }
.dashboard-event-table th:last-child { text-align: right; }
.dashboard-event-table td:last-child .admin-table-actions { justify-content: flex-end; flex-wrap: nowrap; }
.dashboard-event-time { white-space: nowrap; font-size: 12px; }
.dashboard-event-table td:nth-child(3) { white-space: nowrap; font-size: 12px; line-height: 1.5; }
.dashboard-event-table .status-tag { white-space: nowrap; padding-inline: 8px; font-size: 11px; }
.dashboard-event-table .event-card__link { min-height: 32px; font-size: 12px; }
.dashboard-registration-count-link { color: var(--zh-brand-dark); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.dashboard-registration-count-link:hover { color: var(--zh-brand); }
.dashboard-table-note { display: block; margin-top: 2px; color: var(--zh-muted); font-size: 11px; font-weight: 650; }
.dashboard-data-note, .dashboard-updated-at { margin: 14px 0 0; color: var(--zh-muted); font-size: 11px; }
.dashboard-alert-list, .dashboard-operation-list { display: grid; gap: 10px; margin-top: 17px; }
.dashboard-alert { display: grid; grid-template-columns: 8px 1fr; gap: 12px; padding: 13px 14px; border-radius: var(--zh-radius-panel); background: #fff8ed; }
.dashboard-alert > span { width: 8px; height: 8px; margin-top: 7px; border-radius: 50%; background: #d18a00; }
.dashboard-alert--danger { background: #fff3f5; }
.dashboard-alert--danger > span { background: var(--zh-danger); }
.dashboard-alert strong { font-size: 13px; }
.dashboard-alert p { margin: 3px 0 0; color: var(--zh-muted); font-size: 12px; line-height: 1.55; }
.dashboard-empty-state { display: grid; gap: 3px; padding: 16px; border-radius: var(--zh-radius-panel); background: #eef7f2; color: #174b3b; }
.dashboard-empty-state span { color: var(--zh-muted); font-size: 12px; }
.dashboard-operation { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--zh-line); }
.dashboard-operation:last-child { border-bottom: 0; }
.dashboard-operation > div { min-width: 0; }
.dashboard-operation strong, .dashboard-operation span { display: block; }
.dashboard-operation > div > span { margin-top: 2px; color: var(--zh-muted); font-size: 11px; }
.dashboard-operation-status { flex: none; border-radius: 99px; padding: 4px 8px; font-size: 10px; font-weight: 800; }
.dashboard-operation-status--healthy { background: #e5f2ec; color: #175f49; }
.dashboard-operation-status--waiting { background: #fff1d5; color: #795200; }
.dashboard-operation-status--attention { background: #fae8ec; color: #922e48; }
.dashboard-shortcut-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.dashboard-shortcut { display: grid; align-content: start; min-height: 126px; padding: 16px; border: 1px solid var(--zh-line); border-radius: var(--zh-radius-panel); background: #fff; color: var(--zh-ink); text-decoration: none; }
.dashboard-shortcut:hover { border-color: #b899b2; box-shadow: 0 8px 20px rgba(53,34,60,.06); }
.dashboard-shortcut strong { font-size: 14px; }
.dashboard-shortcut span { margin-top: 5px; color: var(--zh-muted); font-size: 12px; }
.dashboard-shortcut small { align-self: end; margin-top: 18px; color: var(--zh-brand); font-weight: 800; }
.dashboard-shortcut--disabled { background: #f5f2f6; color: #777078; cursor: not-allowed; }
.dashboard-shortcut--disabled small { color: var(--zh-muted); }
.dashboard-action-disabled { color: var(--zh-muted); font-size: 12px; }
.admin-event-list td:nth-child(2) { min-width: 240px; }
.admin-event-list th:nth-child(6), .admin-event-list td:nth-child(6) { font-size: 13px; line-height: 1.5; }
.event-editor-shell { max-width: 1050px; }
.listing-editor-shell { max-width: 1050px; }
.listing-index-shell { max-width: 1400px; }
.admin-heading.event-editor-heading { display: grid; justify-content: stretch; gap: 16px; }
.event-editor-heading-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.event-editor-heading-meta .eyebrow { margin: 0; }
.event-editor-heading-actions { display: grid; justify-items: start; gap: 8px; }
.event-editor-public-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 8px; }
.event-editor-public-actions .button { white-space: nowrap; }
.new-window-icon { flex: none; margin-inline-start: 6px; vertical-align: middle; }
.event-editor-copy-status { min-height: 1.4em; color: var(--zh-muted); font-size: 11px; line-height: 1.4; }
.event-editor-copy-status:empty { display: none; }
.roster-action-form { margin-top: 16px; }
.event-editor-form { display: grid; gap: 18px; }
.event-editor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px 20px; margin-top: 22px; }
.section-heading.event-editor-section-heading { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.event-editor-section-heading > .event-editor-check { align-self: center; }
.event-editor-section-controls { display: grid; gap: 17px; min-width: 0; }
.event-editor-form .event-editor-section-note { margin-top: 16px; }
.event-editor-calendar-fields { margin-top: 22px; min-width: 0; }
.calendar-destination-details { display: grid; gap: 4px; margin: 10px 0 0; color: var(--zh-muted); font-size: 11px; line-height: 1.65; }
.calendar-destination-details > div { display: grid; grid-template-columns: 6em minmax(0, 1fr); gap: 8px; }
.calendar-destination-details dt { font-weight: 600; }
.calendar-destination-details dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.event-editor-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.event-editor-form select[name="pricingKind"]:disabled { background: #eee; border-color: #d1d5db; color: #6b7280; cursor: not-allowed; opacity: 1; }
.event-editor-zoom-copy { margin-top: 22px; }
.event-editor-field--wide { grid-column: 1 / -1; }
.event-editor-field > span, .event-field-grid label, .admin-filter-row label { color: var(--zh-ink); font-size: 13px; font-weight: 750; }
.event-editor-field small { min-height: 1.35em; color: var(--zh-muted); font-size: 11px; font-weight: 500; line-height: 1.65; }
.event-editor-shell .admin-section .admin-subtitle, .event-editor-shell .external-mode-copy small, .event-editor-shell .external-lock-note, .event-editor-shell .external-form-fields p { font-size: 11px; font-weight: 500; line-height: 1.65; }
.event-editor-check { display: flex; align-items: center; gap: 9px; min-height: 44px; align-self: end; padding: 0 4px; font-size: 13px; font-weight: 700; }
.event-editor-check input { width: 18px; height: 18px; accent-color: var(--zh-brand); }
.event-editor-subsection { margin-top: 26px; padding-top: 23px; border-top: 1px solid var(--zh-line); }
.event-editor-subsection h3 { margin: 0 0 14px; font-size: 1rem; }
.event-field-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.event-field-grid label { display: grid; gap: 6px; }
.datetime-local-with-weekday { display: grid; grid-template-columns: minmax(150px, 1fr) auto minmax(100px, .62fr); align-items: center; gap: 8px; }
.datetime-local-with-weekday > input { min-width: 0; }
.datetime-weekday { min-width: 2.4em; color: var(--zh-brand); font-size: 14px; font-weight: 800; text-align: center; }
.event-editor-actions { display: flex; align-items: center; justify-content: flex-end; gap: 24px; padding: 4px 2px 12px; }
.event-editor-actions p { max-width: 640px; margin: 0 auto 0 0; color: var(--zh-muted); font-size: 11px; line-height: 1.65; }
.event-editor-actions .publication-block-message, .event-publish-panel .publication-block-message { color: #a72846; font-weight: 700; }
.event-editor-actions .button { flex: none; min-width: 220px; }
.event-listing-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.event-listing-selection > .dashboard-empty-state { margin-top: 18px; }
.event-listing-option { display: flex; align-items: flex-start; gap: 10px; min-width: 0; padding: 14px 15px; border-radius: var(--zh-radius-panel); background: var(--zh-wash); cursor: pointer; }
.event-listing-option > input[type="checkbox"] { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--zh-brand); }
.event-listing-option > span { display: grid; min-width: 0; gap: 3px; }
.event-listing-option strong { font-size: 13px; overflow-wrap: anywhere; }
.event-listing-option small { overflow-wrap: anywhere; color: var(--zh-muted); font-size: 11px; }
.zoom-participation-notice { margin-top: 22px; }
.zoom-settings-shell { max-width: 1050px; }
.settings-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: -2px 0 20px; padding-bottom: 10px; border-bottom: 1px solid var(--zh-line); }
.settings-tabs a { padding: 8px 14px; border-radius: var(--zh-radius-control); color: var(--zh-muted); font-size: 13px; font-weight: 750; text-decoration: none; }
.settings-tabs a:hover { color: var(--zh-brand); background: var(--zh-brand-soft); }
.settings-tabs a.active { color: var(--zh-brand); background: var(--zh-brand-soft); }
.zoom-settings-lead { max-width: 760px; line-height: 1.7; }
.zoom-host-settings-list { display: grid; gap: 12px; margin-top: 22px; }
.zoom-host-setting { display: grid; grid-template-columns: minmax(280px, 1fr) minmax(180px, auto) auto; align-items: center; gap: 18px; padding: 18px; border: 1px solid var(--zh-line); border-radius: var(--zh-radius-panel); background: var(--zh-paper); }
.zoom-host-setting__identity { display: grid; gap: 8px; }
.zoom-host-setting__identity label { display: grid; gap: 6px; font-size: 13px; font-weight: 750; }
.zoom-host-setting__identity small { color: var(--zh-muted); font-size: 11px; }
.zoom-host-capabilities { display: flex; flex-wrap: wrap; gap: 7px; }
.zoom-host-setting > .event-editor-check { align-self: center; }
.zoom-host-setting > .button { white-space: nowrap; }
.calendar-destination-setting-actions { display: grid; gap: 10px; align-self: center; }
.calendar-destination-buttons { display: flex; justify-content: flex-end; gap: 8px; }
.calendar-destination-buttons .button { white-space: nowrap; }
.calendar-destination-choices { margin-top: 22px; border-top: 1px solid var(--zh-line); padding-top: 16px; }
.calendar-destination-choices summary { color: var(--zh-brand); cursor: pointer; font-size: 14px; font-weight: 750; }
.calendar-destination-choices[open] summary { margin-bottom: 8px; }
.payment-receipt-setting { grid-template-columns: 1fr; align-items: stretch; }
.payment-connection-create { display: grid; gap: 20px; margin-top: 22px; padding: 22px; border: 1px solid var(--zh-line); border-radius: var(--zh-radius-panel); background: var(--zh-wash); }
.payment-connection-create h3 { margin: 0; }
.receipt-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; padding-top: 4px; }
.receipt-profile-grid label { display: grid; gap: 6px; color: var(--zh-ink); font-size: 13px; font-weight: 750; }
.receipt-profile-grid label.wide { grid-column: 1 / -1; }
.email-settings-form { grid-template-columns: minmax(0, 1fr); max-width: 660px; }
.email-settings-form p { margin: 0; }
.integration-setting-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 4px; }
.event-publish-panel { display: flex; align-items: center; justify-content: space-between; gap: 28px; border-color: #d8c29b; background: #fffaf0; }
.event-publish-panel h2 { margin: 0; }
.event-publish-panel p:not(.eyebrow) { max-width: 700px; margin: 8px 0 0; color: var(--zh-muted); font-size: 13px; line-height: 1.7; }
.event-publish-panel form, .event-publish-panel .button { flex: none; }
.admin-event-filter { margin: 0 0 18px; }
.event-lifecycle-panel { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.event-lifecycle-panel--danger { border-color: #e4bdc6; background: #fffafb; }
.event-lifecycle-panel h2 { margin: 0; }
.event-lifecycle-panel p:not(.eyebrow):not(.form-error) { max-width: 720px; margin: 8px 0 0; color: var(--zh-muted); font-size: 13px; line-height: 1.7; }
.event-lifecycle-actions { display: flex; align-items: flex-start; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.event-lifecycle-panel form, .event-lifecycle-panel .button { flex: none; }
.notice-success { border: 1px solid #cfe6da; background: #edf7f2; color: #174b3b; }
.admin-filter-row { display: grid; grid-template-columns: minmax(240px, 1fr) auto; align-items: end; gap: 12px; max-width: 660px; margin-top: 18px; }
.admin-registration-filter { grid-template-columns: minmax(280px, 1fr) minmax(100px, 160px) auto; max-width: 820px; }
.admin-filter-row label { display: grid; gap: 6px; }
.admin-filter-row input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.admin-filter-row select,
.admin-filter-row > .button { height: 48px; padding-top: 0; padding-bottom: 0; }
.member-list-tools { display: flex; align-items: end; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 6px; }
.member-list-tools .admin-filter-row { flex: 1 1 420px; margin-top: 18px; }
.member-list-reset { margin-top: 18px; }
.member-bulk { max-width: 660px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--zh-line); }
.member-bulk summary { color: var(--zh-brand-dark); cursor: pointer; font-size: 14px; }
.member-bulk[open] summary { margin-bottom: 10px; }
.member-bulk p { margin: 0 0 14px; color: var(--zh-muted); font-size: 12px; line-height: 1.7; }
.member-bulk form { display: grid; gap: 12px; }
.member-bulk textarea { min-height: 132px; resize: vertical; }
.member-pagination { display: flex; justify-content: center; gap: 10px; margin-top: 20px; }
.member-pagination .button { min-width: 132px; }
.pii-boundary-note { display: grid; gap: 4px; margin-top: 18px; padding: 14px 16px; border-left: 4px solid #7a5c75; border-radius: 0 var(--zh-radius-panel) var(--zh-radius-panel) 0; background: #f7f3f7; }
.pii-boundary-note strong { font-size: 13px; }
.pii-boundary-note span { color: var(--zh-muted); font-size: 12px; line-height: 1.6; }
.registration-admin-table { font-size: 14px; line-height: 1.5; }
.registration-admin-table th { font-size: 11px; }
.registration-admin-table td:first-child { min-width: 140px; }
.registration-admin-table td:nth-child(2) { min-width: 120px; }
.registration-admin-table td:nth-child(3) { min-width: 220px; }
.registration-admin-table .status-tag { white-space: nowrap; padding-inline: 8px; font-size: 10px; }
.registration-admin-table .button { white-space: nowrap; }
.registration-admin-table .button.compact { padding: 6px 8px; font-size: 11px; }
.registration-admin-table .admin-table-actions { flex-wrap: nowrap; gap: 6px; }
.registration-admin-table .admin-table-actions > * { flex-shrink: 0; }
.registration-date-cell { display: flex; align-items: center; gap: 8px; flex-wrap: nowrap; }
.registration-date-time { flex: none; white-space: nowrap; line-height: 1.45; font-variant-numeric: tabular-nums; }
.registration-summary-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.registration-summary-strip > span { display: grid; align-content: start; justify-items: start; gap: 7px; min-height: 74px; padding: 13px 14px; border: 1px solid var(--zh-line); border-radius: var(--zh-radius-panel); background: var(--zh-paper); }
.registration-summary-strip small { color: var(--zh-muted); font-size: 11px; font-weight: 750; }
.registration-contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; margin: 20px 0 0; }
.registration-contact-grid > div { min-width: 0; padding: 14px 0; border-bottom: 1px solid var(--zh-line); }
.registration-contact-grid .registration-contact-field--wide { grid-column: 1 / -1; }
.registration-contact-grid dt { color: var(--zh-muted); font-size: 11px; font-weight: 750; }
.registration-contact-grid dd { margin: 5px 0 0; overflow-wrap: anywhere; color: var(--zh-ink); font-size: 14px; font-weight: 650; line-height: 1.65; white-space: pre-wrap; }
.registration-resubmission { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--zh-line); }
.registration-resubmission h3 { margin: 0; font-size: 16px; line-height: 1.65; }
.admin-heading, .section-heading, .publish-panel { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.section-heading-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }
.admin-refresh-error { color: var(--zh-danger); font-size: 12px; font-weight: 700; }
.admin-heading h1, .section-heading h2, .publish-panel h2 { margin: 0; }
.admin-subtitle { margin: 5px 0 0; color: var(--zh-muted); }
.admin-section { min-width: 0; padding: clamp(20px, 3vw, 30px); }
.admin-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.admin-summary > div { min-width: 0; padding: 16px 18px; border: 1px solid var(--zh-line); border-radius: var(--zh-radius-panel); background: var(--zh-paper); }
.admin-summary span { display: block; color: var(--zh-muted); font-size: 12px; font-weight: 700; }
.admin-summary strong { display: block; margin-top: 4px; overflow-wrap: anywhere; }
.listing-status-summary { grid-template-columns: minmax(320px, 1.35fr) repeat(2, minmax(0, 1fr)); }
.admin-summary > .listing-availability-card { padding: 14px 16px; }
.listing-availability-card--enabled { border-color: #b8d9cf !important; background: #f3faf7 !important; }
.listing-availability-card--disabled { border-color: #d7d1d9 !important; background: #f7f5f7 !important; }
.listing-availability-card__heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.listing-availability-card__heading form { flex: none; margin: 0; }
.listing-availability-state { display: inline-flex !important; align-items: center; gap: 8px; margin-top: 5px !important; font-size: 17px; }
.listing-availability-state::before { width: 9px; height: 9px; border-radius: 50%; background: #1f7258; content: ""; }
.listing-availability-card--disabled .listing-availability-state::before { background: #777079; }
.listing-availability-card > small { display: block; margin-top: 9px; color: var(--zh-muted); font-size: 10px; line-height: 1.5; }
.save-publish-note { align-self: center; color: var(--zh-muted); font-size: 11px; }
.version-badge { border-radius: 99px; padding: 5px 10px; background: var(--zh-brand-soft); color: var(--zh-brand-dark); font-size: 12px; font-weight: 800; }
.check-field { display: flex; grid-template-columns: auto 1fr; align-items: center; align-self: end; min-height: 44px; }
.check-field input, .compact-check input { width: auto; }
.table-scroll { width: 100%; max-width: 100%; margin-top: 18px; overflow-x: auto; }
.field-error { display: block; margin-top: 6px; color: var(--zh-danger); font-size: 13px; font-weight: 700; }
[aria-invalid="true"] { border-color: var(--zh-danger); }
.participant-help { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--zh-line); }
.participant-help p { line-height: 1.8; }
.participant-help-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.participant-help--compact { margin-top: 16px; padding-top: 8px; font-size: 12px; }
.participant-help--compact summary { width: fit-content; margin-inline-start: auto; min-height: 32px; padding-block: 6px; line-height: 20px; cursor: pointer; }
.participant-help--compact p { margin: 8px 0; }
.participant-help--compact .participant-help-actions { gap: 8px 14px; margin-top: 8px; }
.public-guidance { max-width: 800px; line-height: 1.9; }
.public-guidance h2 { margin-top: 28px; font-size: 1.15rem; }
.public-guidance a, .participant-help a { overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .table-scroll:has(.registration-admin-table) { overflow: visible; }
  .registration-admin-table, .registration-admin-table tbody { display: block; width: 100%; }
  .registration-admin-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .registration-admin-table tbody tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 18px; padding: 12px; border: 1px solid var(--zh-line); border-radius: var(--zh-radius-panel); gap: 12px; }
  .registration-admin-table tbody td { display: block; min-width: 0; padding: 0; border: 0; overflow-wrap: anywhere; }
  .registration-admin-table tbody td:nth-child(n) { min-width: 0; }
  .registration-admin-table td:nth-child(3), .registration-admin-table td:last-child { grid-column: 1 / -1; }
  .registration-admin-table td::before { content: attr(data-label); display: block; margin-bottom: 5px; color: var(--zh-muted); font-size: 11px; font-weight: 700; }
  .registration-admin-table .admin-table-actions { align-items: center; overflow-x: auto; padding-block: 2px; }
  .registration-admin-table .button { min-height: 40px; }
}
.admin-table { width: 100%; border-collapse: collapse; }
.admin-table th, .admin-table td { padding: 12px 10px; border-bottom: 1px solid var(--zh-line); text-align: left; vertical-align: middle; }
.admin-table th { color: var(--zh-muted); font-size: 12px; }
.registration-field-settings td:first-child { width: 70%; }
.registration-field-settings td span { color: var(--zh-muted); font-size: 12px; }
.registration-field-settings select { min-width: 150px; }
.table-empty { color: var(--zh-muted); text-align: center !important; }
.placement-add { display: grid; grid-template-columns: minmax(180px, 2fr) minmax(100px, 1fr) auto auto; align-items: end; gap: 12px; margin-top: 24px; }
.inline-form { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.inline-form input[type="number"] { width: 90px; }
.compact-check { display: flex; grid-template-columns: auto 1fr; align-items: center; min-height: 24px; gap: 5px; }
.button.compact { padding: 7px 11px; font-size: 13px; }
.conflict-panel { padding: clamp(20px, 3vw, 30px); border: 2px solid var(--zh-warning); border-radius: var(--zh-radius-panel); background: #fffaf0; }
.conflict-panel h2 { margin: 0; }
.conflict-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.conflict-grid div { min-width: 0; }
.conflict-grid dt { color: var(--zh-muted); font-size: 12px; font-weight: 700; }
.conflict-grid dd { margin: 2px 0 0; overflow-wrap: anywhere; font-weight: 700; }
.event-detail-shell { max-width: 1050px; display: grid; gap: 24px; }
.back-link { display: inline-flex; align-items: center; gap: 7px; width: fit-content; color: var(--zh-brand-dark); font-size: 13px; font-weight: 800; text-decoration: none; }
.back-link:hover { color: var(--zh-brand); text-decoration: underline; text-underline-offset: 4px; }
.event-detail-copy {
  padding: clamp(30px, 5vw, 52px);
  border: 1px solid var(--zh-line);
  border-radius: var(--zh-radius-panel);
  background: linear-gradient(135deg, var(--zh-paper), var(--zh-brand-soft));
}
.event-detail-copy h1 { max-width: 820px; margin: 0; font-size: clamp(2rem, 4vw, 2.5rem); line-height: 1.25; letter-spacing: -.025em; overflow-wrap: anywhere; text-wrap: balance; }
.event-detail-time { margin: 18px 0 0; color: var(--zh-muted); font-size: 14px; font-weight: 700; }
.event-detail-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.event-meta-tag { border: 0; border-radius: 99px; padding: 4px 10px; background: #f0edf2; color: #554d59; font-size: 12px; font-weight: 800; line-height: 1.5; }
.event-info-panel h2 { margin: 0; }
.event-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 38px; margin: 22px 0 0; }
.event-facts div { display: grid; grid-template-columns: minmax(90px, .35fr) 1fr; gap: 12px; padding: 12px 0; border-top: 1px solid var(--zh-line); }
.event-facts dt { color: var(--zh-muted); font-size: 13px; font-weight: 700; }
.event-facts dd { margin: 0; font-weight: 700; }
.event-venue { display: grid; gap: 12px; margin: 22px 0 0; padding-top: 18px; border-top: 1px solid var(--zh-line); }
.event-venue div { display: grid; grid-template-columns: minmax(90px, .2fr) 1fr; gap: 12px; }
.event-venue dt { color: var(--zh-muted); font-size: 13px; font-weight: 700; }
.event-venue dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.event-registration-action { display: flex; justify-content: center; padding-top: 4px; }
.event-registration-cta { min-width: min(100%, 300px); }
.event-registration-cta:disabled { background: #d8d5da; color: #645f67; opacity: .62; cursor: not-allowed; }
.application-shell { display: grid; gap: 18px; }
.application-shell > .back-link, .application-card { width: min(100%, 720px); margin-inline: auto; }
.container.payment-status-shell { max-width: 640px; padding-top: 48px; }
.payment-status-shell .card { padding: 28px; }
.payment-status-shell h1 { margin: 0 0 20px; font-size: 24px; line-height: 1.4; overflow-wrap: anywhere; }
.payment-status-shell p:not(.eyebrow) { font-size: 14px; line-height: 1.7; }
.payment-status-shell .button { max-width: 100%; padding: 10px 16px; font-size: 14px; font-weight: 800; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .container.payment-status-shell { padding-top: 24px; }
  .payment-status-shell .card { padding: 20px; }
}
.registration-status-shell { max-width: 1050px; }
.registration-access-shell { max-width: 1050px; }
.receipt-page-shell { max-width: 1050px; }
.receipt-toolbar { width: min(100%, 820px); margin: 0 auto 16px; display: flex; justify-content: space-between; gap: 10px; }
.receipt-toolbar-common { width: min(100%, 210mm); }
.receipt-sheet { position: relative; width: min(100%, 820px); margin: 0 auto; border: 1px solid var(--zh-line); background: #fff; padding: 48px; box-shadow: 0 16px 40px rgba(53, 34, 60, .07); overflow: hidden; }
.receipt-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; border-bottom: 2px solid var(--zh-brand-dark); padding-bottom: 18px; }
.receipt-heading h1 { margin: 4px 0 0; font-size: clamp(2rem, 5vw, 2.75rem); line-height: 1.2; }
.receipt-heading dl { min-width: 320px; margin: 0; display: grid; gap: 5px; font-size: 13px; }
.receipt-heading dl div { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; }
.receipt-heading dt { color: var(--zh-muted); }
.receipt-heading dd { margin: 0; font-weight: 700; text-align: right; overflow-wrap: anywhere; }
.receipt-heading-issuer { margin-top: 6px; border-top: 1px solid var(--zh-line); padding-top: 8px; }
.receipt-heading-issuer dd strong, .receipt-heading-issuer dd span { display: block; }
.receipt-heading-issuer dd span { margin-top: 4px; font-size: 11px; font-weight: 500; line-height: 1.6; }
.receipt-addressee { width: min(100%, 440px); margin: 36px 0 24px; border-bottom: 1px solid var(--zh-ink); padding-bottom: 6px; font-size: 20px; font-weight: 800; }
.receipt-amount { display: flex; align-items: baseline; gap: 14px; margin: 20px 0; padding: 18px 20px; background: var(--zh-brand-soft); }
.receipt-amount strong { margin-left: auto; color: var(--zh-brand-dark); font-size: 30px; line-height: 1.25; }
.receipt-amount small { color: var(--zh-muted); }
.receipt-description { margin: 28px 0 6px; }
.receipt-details { width: 100%; margin-top: 28px; border-collapse: collapse; font-size: 14px; }
.receipt-details th, .receipt-details td { border: 1px solid var(--zh-line); padding: 11px 13px; text-align: left; vertical-align: top; }
.receipt-details th { width: 150px; background: var(--zh-wash); color: var(--zh-muted); font-size: 12px; white-space: nowrap; }
.receipt-breakable { overflow-wrap: anywhere; }
.receipt-tax { width: min(100%, 420px); margin: 24px 0 0 auto; }
.receipt-tax > div { display: flex; justify-content: space-between; gap: 24px; padding: 8px 0; }
.receipt-tax span, .receipt-tax strong { display: grid; gap: 2px; }
.receipt-tax strong { text-align: right; }
.receipt-tax small { color: var(--zh-muted); font-size: 11px; font-weight: 500; }
.receipt-tax-total { border-top: 2px solid var(--zh-ink); font-size: 18px; }
.receipt-footer { margin-top: 52px; border-top: 1px solid var(--zh-line); padding-top: 18px; }
.receipt-origin-note { margin: 0; color: var(--zh-muted); font-size: 10px; text-align: center; }
.receipt-cancelled { position: relative; z-index: 2; margin-bottom: 20px; border: 2px solid var(--zh-danger); padding: 12px 16px; color: var(--zh-danger); font-weight: 800; }
.receipt-cancelled-stamp { position: absolute; top: 46%; left: 50%; z-index: 1; transform: translate(-50%, -50%) rotate(-24deg); color: rgba(165, 42, 69, .16); font-size: 64px; font-weight: 900; white-space: nowrap; pointer-events: none; }
.application-card h1 { margin: 0; font-size: clamp(1.8rem, 4vw, 2.35rem); line-height: 1.3; }
.registration-submitted-status { display: grid; gap: 12px; margin-top: 24px; padding: 20px; border-radius: var(--zh-radius-panel); background: #edf7f2; }
.registration-submitted-status.is-paid { background: #fff8e8; }
.registration-submitted-status .status-tag.status-open { background: #1f7258; color: #fff; }
.registration-submitted-status .status-tag.status-wait { background: #8a5300; color: #fff; }
.registration-submitted-status p { margin: 0; line-height: 1.8; }
.application-event-summary { margin-top: 24px; padding: 20px; border-radius: var(--zh-radius-panel); background: var(--zh-wash); }
.application-event-summary h2 { margin: 0; font-size: 1.1rem; }
.application-event-summary p { margin: 8px 0 0; color: var(--zh-muted); font-size: 13px; font-weight: 700; }
.application-event-summary .application-note { margin-top: 14px; color: var(--zh-ink); font-weight: 400; white-space: pre-wrap; overflow-wrap: anywhere; }
.application-event-summary .event-venue { margin-top: 16px; padding-top: 14px; gap: 10px; font-size: 13px; }
.event-editor-field--application-note { margin-top: 18px; }
.application-required { margin-inline-start: 7px; color: #dc2626; font-size: 11px; font-weight: 600; white-space: nowrap; }
.application-summary-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.application-summary-tags span { border: 0; border-radius: 99px; padding: 4px 9px; background: #ebe7ed; color: #554d59; font-size: 12px; font-weight: 800; }
.application-form { display: grid; gap: 10px; margin-top: 28px; }
.application-name-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.application-postal-fields { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px 12px; }
.application-postal-fields label { min-width: 0; }
.application-postal-fields .application-postal-lookup-button {
  min-width: 130px;
  height: calc(1.65em + 22px);
  border: 0;
  background: #eef0f2;
  color: var(--zh-ink);
  padding: 10px 16px;
  font-size: 13px;
  line-height: 1.65;
}
.application-postal-fields .application-postal-lookup-button:hover { background: #e2e5e8; }
.application-postal-fields .application-postal-lookup-status { grid-column: 1 / -1; margin: 0 0 6px; }
.application-address-fields { display: grid; gap: 10px; min-width: 0; margin: 2px 0 8px; padding: 4px 20px 20px; border: 1px solid var(--zh-line); border-radius: var(--zh-radius-control); }
.application-address-fields legend { margin-bottom: 0; padding: 0 4px; color: var(--zh-ink); font-size: 13px; font-weight: 750; }
.application-address-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; }
.application-address-grid .wide { grid-column: 1 / -1; }
.application-legacy-address { margin: 0 !important; padding: 10px 12px; border-radius: var(--zh-radius-panel); background: var(--zh-wash); }
.application-form .application-help { margin: -2px 0 6px; color: var(--zh-muted); font-size: 12px; }
.application-choice { min-width: 0; margin: 0 0 8px; padding: 4px 20px 20px; border: 1px solid var(--zh-line); border-radius: var(--zh-radius-control); }
.application-choice legend { padding: 0 4px; margin-bottom: 0; font-size: 13px; font-weight: 750; }
.application-choice .application-choice-option { display: flex; flex-direction: row; align-items: flex-start; gap: 9px; margin: 0; padding: 2px 0; font-size: 14px; font-weight: 500; cursor: pointer; }
.application-choice-option input[type="radio"] { flex: 0 0 17px; width: 17px; min-width: 17px; height: 17px; margin: 3px 0 0; padding: 0; accent-color: var(--zh-brand); }
.application-form .application-choice-note { margin: 6px 0 0; white-space: pre-line; }
.application-consent { display: flex !important; flex-direction: row !important; align-items: flex-start; min-height: 24px; gap: 10px; }
.application-consent input { width: 18px; min-width: 18px; height: 18px; margin-top: 2px; accent-color: var(--zh-brand); }
.application-profile-save { margin: 6px 0 8px; padding: 14px 16px; border-radius: var(--zh-radius-panel); background: var(--zh-wash); }
.application-profile-save p { margin: 6px 0 0 28px; color: var(--zh-muted); font-size: 12px; line-height: 1.65; }
.application-profile-restored { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 16px; border-radius: var(--zh-radius-panel); background: #edf6f1; color: #173f32; }
.application-profile-restored strong { display: block; font-size: 14px; }
.application-profile-restored p { margin: 3px 0 0; color: var(--zh-muted); font-size: 12px; }
.application-profile-restored a { flex: none; color: var(--zh-brand); font-size: 12px; font-weight: 700; }
.application-profile-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 16px; }
.application-google-sign-in { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px 22px; margin-bottom: 12px; padding: 16px 18px; border-radius: var(--zh-radius-panel); background: #f7f2f7; }
.application-google-sign-in strong { display: block; color: var(--zh-ink); font-size: 14px; }
.application-google-sign-in p { margin: 4px 0 0; color: var(--zh-muted); font-size: 12px; line-height: 1.65; }
.application-google-sign-in .button { min-width: 210px; }
.application-google-sign-in .application-google-sign-in-status { grid-column: 1 / -1; margin: 0; padding-top: 8px; border-top: 1px solid var(--zh-line); }
.application-form input[readonly] { background: #f4f5f4; color: var(--zh-muted); cursor: default; }
.application-form .button { justify-self: start; min-width: 220px; }
.application-form > .button[type="submit"] { justify-self: center; width: min(100%, 220px); min-width: 0; margin-block: 16px; }
.application-bot-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.application-readiness { margin: 24px 0 0; padding: 13px 15px; border-radius: var(--zh-radius-panel); background: #f3f1f4; color: var(--zh-muted); font-size: 13px; }
.application-reload { margin-top: 14px; }
.application-reload[hidden] { display: none; }
.profile-management-shell { display: grid; gap: 18px; }
.profile-management-shell > .back-link, .profile-management-card, .profile-deleted-card { width: min(100%, 720px); margin-inline: auto; }
.profile-management-card h1, .profile-deleted-card h1 { margin: 0; font-size: clamp(1.7rem, 4vw, 2.2rem); }
.profile-management-lead { margin: 10px 0 24px; color: var(--zh-muted); }
.profile-management-list { margin: 0; }
.profile-management-list div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 18px; padding: 13px 0; border-top: 1px solid var(--zh-line); }
.profile-management-list dt { color: var(--zh-muted); font-size: 13px; font-weight: 700; }
.profile-management-list dd { margin: 0; overflow-wrap: anywhere; font-weight: 700; white-space: pre-wrap; }
.profile-retention { margin: 18px 0 0; color: var(--zh-muted); font-size: 12px; }
.profile-delete-panel { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--zh-line); }
.profile-delete-panel h2 { margin: 0; font-size: 1.15rem; }
.profile-delete-panel > p { margin: 8px 0 16px; color: var(--zh-muted); line-height: 1.7; }
.profile-delete-form { display: grid; gap: 16px; padding: 16px; border-radius: var(--zh-radius-panel); background: #fbf3f5; }
.profile-delete-form .button { justify-self: start; }
.profile-deleted-card { text-align: center; }
.profile-deleted-card p { margin: 12px 0 24px; color: var(--zh-muted); }
@media (max-width: 700px) {
  .environment-banner { align-items: flex-start; flex-direction: column; gap: 0; }
  .container { padding: 24px 12px 60px; }
  .field-grid { grid-template-columns: 1fr; }
  .status-grid { grid-template-columns: 1fr; }
  .registration-summary-list > div { grid-template-columns: 1fr; gap: 4px; padding-inline: 0; }
  .registration-payment-box, .registration-zoom-box { padding: 16px; }
  .registration-zoom-access { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .listing-page { gap: 20px; }
  .public-site-header { min-height: 54px; align-items: center; flex-direction: row; justify-content: flex-start; padding-block: 0; }
  .public-primary-nav { width: 100%; align-self: auto; overflow-x: auto; }
  .public-primary-nav .header-nav { min-height: 38px; padding-inline: 8px; }
  .listing-shell { padding: 0 16px 4px; }
  .listing-column-headings { display: none; }
  .listing-grid { border-top: 0; }
  .listing-hero h1 { font-size: 1.35rem; }
  .event-card { grid-template-columns: minmax(0, 1fr) auto auto; gap: 9px 7px; padding: 17px 0; }
  .event-card__time { grid-column: 1; grid-row: 1; align-self: center; white-space: nowrap; font-size: 12px; }
  .event-card__date, .event-card__clock { display: inline; }
  .event-card__clock { margin-top: 0; }
  .event-card__badges { display: flex; grid-column: 2 / 4; grid-row: 1; align-items: center; justify-self: end; gap: 4px; }
  .event-card__price { align-self: center; font-size: 11px; }
  .event-card__price--free { display: inline-flex; align-items: center; width: fit-content; min-height: 24px; border-radius: 99px; padding: 0 8px; background: #eeecef; color: #554d59; font-weight: 800; line-height: 1; }
  .event-card__status, .event-card__status-placeholder { align-self: center; min-height: 24px; padding: 0 8px; font-size: 11px; line-height: 1; }
  .event-card h2 { grid-column: 1 / 3; grid-row: 2; align-self: center; font-size: .96rem; }
  .event-card__link { grid-column: 3; grid-row: 2; align-self: center; justify-self: end; min-height: 30px; padding: 0 8px; font-size: 12px; line-height: 1; }
  .event-card__link--apply { background: var(--zh-brand); color: #fff; }
  .event-card__link--apply:hover { background: var(--zh-brand-dark); color: #fff; }
  .event-card__link-label--desktop { display: none; }
  .event-card__link-label--mobile { display: inline; }
  .admin-heading, .section-heading, .publish-panel { align-items: flex-start; flex-direction: column; }
  .section-heading-actions { width: 100%; justify-content: space-between; }
  .admin-site-header { align-items: flex-start; flex-direction: column; padding-block: 14px; }
  .admin-primary-nav { width: 100%; align-self: auto; overflow-x: auto; }
  .admin-primary-nav a { min-height: 40px; padding: 0 10px; white-space: nowrap; }
  .event-listing-options { grid-template-columns: 1fr; }
  .event-editor-heading-actions { width: 100%; justify-items: start; }
  .event-editor-public-actions { width: 100%; justify-content: flex-start; }
  .listing-public-actions { width: 100%; justify-content: flex-start; }
  .dashboard-heading-actions { width: 100%; justify-content: flex-start; }
  .dashboard-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-main-grid { grid-template-columns: 1fr; }
  .dashboard-shortcut-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-editor-grid, .event-field-grid { grid-template-columns: 1fr; }
  .section-heading.event-editor-section-heading { grid-template-columns: 1fr; gap: 16px; }
  .event-editor-field--wide { grid-column: auto; }
  .event-editor-actions { align-items: stretch; flex-direction: column; }
  .event-editor-actions .button { width: 100%; }
  .zoom-host-setting { grid-template-columns: 1fr; align-items: stretch; }
  .zoom-host-setting > .button { width: 100%; }
  .receipt-profile-grid { grid-template-columns: 1fr; }
  .receipt-profile-grid label.wide { grid-column: auto; }
  .integration-setting-actions { align-items: stretch; flex-direction: column; }
  .integration-setting-actions .button { width: 100%; }
  .calendar-destination-buttons { align-items: stretch; flex-direction: column; }
  .calendar-destination-buttons .button { width: 100%; }
  .event-publish-panel { align-items: stretch; flex-direction: column; }
  .event-publish-panel .button { width: 100%; }
  .event-lifecycle-panel { align-items: stretch; flex-direction: column; }
  .event-lifecycle-actions { display: grid; }
  .event-lifecycle-panel .button { width: 100%; }
  .admin-filter-row { grid-template-columns: 1fr; }
  .member-list-tools { align-items: stretch; flex-direction: column; gap: 0; }
  .member-list-tools .admin-filter-row { flex-basis: auto; width: 100%; }
  .member-list-reset { width: 100%; }
  .member-pagination { align-items: stretch; flex-direction: column; }
  .member-pagination .button { width: 100%; }
  .admin-summary, .conflict-grid, .registration-summary-strip, .registration-contact-grid { grid-template-columns: 1fr; }
  .registration-contact-grid .registration-contact-field--wide { grid-column: auto; }
  .placement-add { grid-template-columns: 1fr; }
  .event-detail-copy { padding: 26px 22px; }
  .event-detail-copy h1 { font-size: 1.75rem; }
  .event-facts { grid-template-columns: 1fr; }
  .event-facts div { grid-template-columns: 1fr; gap: 2px; }
  .event-venue div { grid-template-columns: 1fr; gap: 2px; }
  .event-registration-cta { width: 100%; }
  .application-card { padding: 26px 22px; }
  .receipt-toolbar { align-items: stretch; flex-direction: column-reverse; }
  .receipt-toolbar .button { width: 100%; }
  .receipt-sheet { padding: 28px 20px; }
  .receipt-heading { display: block; }
  .receipt-heading dl { min-width: 0; margin-top: 16px; }
  .receipt-addressee { margin-top: 28px; }
  .receipt-amount { align-items: flex-start; flex-wrap: wrap; gap: 6px 12px; }
  .receipt-amount strong { width: 100%; margin: 0; }
  .receipt-details { font-size: 12px; }
  .receipt-details th { width: 104px; }
  .application-event-summary { padding: 17px; }
  .application-name-fields { grid-template-columns: 1fr; }
  .application-profile-restored { align-items: flex-start; flex-direction: column; }
  .application-profile-actions { justify-content: flex-start; }
  .application-postal-fields { column-gap: 8px; }
  .application-postal-fields .application-postal-lookup-button { min-width: 0; padding-inline: 12px; white-space: nowrap; }
  .application-address-grid { grid-template-columns: 1fr; }
  .application-address-grid .wide { grid-column: auto; }
  .application-google-sign-in { grid-template-columns: 1fr; }
  .application-google-sign-in .button { width: 100%; min-width: 0; }
  .application-google-sign-in .application-google-sign-in-status { grid-column: auto; }
  .application-form .button { width: 100%; }
  .application-form > .button[type="submit"] { width: 100%; }
  .profile-management-list div { grid-template-columns: 1fr; gap: 3px; }
  .profile-delete-form .button { width: 100%; }
}
@media (max-width: 440px) {
  .dashboard-stat-grid, .dashboard-shortcut-grid { grid-template-columns: 1fr; }
  .dashboard-heading-actions .button { width: 100%; }
}
@media (max-width: 359px) {
  .datetime-local-with-weekday { grid-template-columns: minmax(0, 1fr) auto; }
  .datetime-local-with-weekday > [data-starts-at-time] { grid-column: 1 / -1; width: 100%; }
}
@media print {
  @page { size: A4; margin: 14mm; }
  .receipt-page { background: #fff; }
  .receipt-page .site-header, .receipt-page .receipt-toolbar { display: none !important; }
  .receipt-page .container { width: auto; max-width: none; margin: 0; padding: 0; }
  .receipt-page .receipt-sheet { width: auto; max-width: none; margin: 0; border: 0; padding: 0; box-shadow: none; overflow: visible; }
  .receipt-page .receipt-details, .receipt-page .receipt-tax, .receipt-page .receipt-footer { break-inside: avoid; }
  .receipt-page .receipt-cancelled { background: #fff; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .registration-loading-spinner { animation: none; }
}
