
.weekly-drop-root {
  width: min(100%, 820px);
  margin: 18px auto 32px;
}
/* Weekly has a heading followed by a form/result, unlike the legacy composer. */
.event-hub-root .event-primary-workspace .weekly-drop-section {
  display: block;
  min-width: 0;
}
.event-hub-root .weekly-drop-section .event-composer-heading-main {
  min-width: 0;
  flex: 1;
}
.event-hub-root[data-surface="desktop"] .event-primary-workspace > .event-hub-progress-card {
  align-self: start;
}
.weekly-drop-card {
  box-sizing: border-box;
  padding: clamp(18px, 3vw, 30px);
  border: 1px solid rgba(52, 126, 121, .14);
  border-radius: 24px;
  color: #2a3a36;
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(239,248,245,.94));
  box-shadow: 0 14px 36px rgba(31, 78, 71, .09);
}
.weekly-drop-heading { text-align: center; margin: 28px auto 6px; }
.weekly-drop-card h3 { margin: 4px 0 8px; color: #244d49; font-size: clamp(22px, 4vw, 30px); line-height: 1.25; }
.weekly-drop-eyebrow { color: #588a80; font-size: 11px; font-weight: 850; letter-spacing: .14em; }
.weekly-drop-card-head, .weekly-drop-status-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.weekly-drop-timing, .weekly-drop-cutoff, .weekly-drop-footnote { margin: 10px 0; color: #64756f; font-size: 13px; line-height: 1.55; }
.weekly-drop-cutoff { padding: 10px 12px; border-radius: 12px; background: rgba(86, 151, 140, .09); }
.weekly-drop-current-status { display: flex; justify-content: space-between; gap: 12px; margin: 14px 0; padding: 12px 14px; border-radius: 14px; background: #fff; }
.weekly-drop-current-status span { color: #718079; }
.weekly-drop-current-status strong { color: #357d71; }
.weekly-drop-commitment-notice { margin: 14px 0; padding: 12px 14px; border: 1px solid rgba(166, 119, 55, .18); border-radius: 14px; background: #fbf5e9; color: #6f5e3d; }
.weekly-drop-commitment-notice strong { display: block; color: #755e35; font-size: 13px; }
.weekly-drop-commitment-notice p { margin: 6px 0 0; font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }
.weekly-drop-pill { display: inline-flex; align-items: center; min-height: 27px; padding: 0 11px; border-radius: 999px; background: var(--hz-accent-soft,#e6f3f1); color: var(--hz-accent-ink,#173c3c); font-size: 12px; font-weight: 800; }
.weekly-drop-pill.is-ready { color: #fff; background: #398875; }
.weekly-drop-pill.is-warm { color: #885d2b; background: #fbefd9; }
.weekly-drop-pill.is-muted { color: #68746f; background: #edf0ef; }
.weekly-drop-pill.is-error { color: #9d473d; background: #fbe8e5; }
.weekly-drop-refresh { flex: 0 0 auto; min-height: 36px; }
.weekly-drop-form, .weekly-drop-proposal, .weekly-drop-result { margin-top: 18px; padding: 16px; border: 1px solid rgba(52,126,121,.12); border-radius: 18px; background: rgba(255,255,255,.78); }
.weekly-drop-form fieldset { min-width: 0; margin: 0 0 16px; padding: 0; border: 0; }
.weekly-drop-form legend { margin-bottom: 8px; color: #34534c; font-weight: 800; }
.weekly-drop-form legend span { margin-left: 5px; color: #83918c; font-size: 12px; font-weight: 500; }
.weekly-drop-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.weekly-drop-choice { position: relative; display: flex; align-items: center; min-height: 44px; padding: 0 11px; gap: 9px; border: 1px solid #dce8e3; border-radius: 12px; color: #405d54; background: #fff; cursor: pointer; }
.weekly-drop-choice:has(input:checked) { border-color: var(--hz-accent,#57b7b7); background: var(--hz-accent-soft,#e6f3f1); }
.weekly-drop-choice input, .weekly-drop-backup input { width: 18px; height: 18px; margin: 0; accent-color: var(--hz-accent,#57b7b7); flex: 0 0 auto; }
.weekly-drop-introduction { display: grid; gap: 7px; color: #34534c; font-weight: 800; }
.weekly-drop-introduction textarea { box-sizing: border-box; width: 100%; min-height: 76px; resize: vertical; padding: 11px 12px; border: 1px solid #dce8e3; border-radius: 12px; color: #2e4941; background: #fff; font: inherit; font-size: 14px; line-height: 1.5; }
.weekly-drop-backup { display: flex; align-items: flex-start; gap: 9px; margin: 14px 0 0; color: #62736c; font-size: 13px; line-height: 1.5; cursor: pointer; }
.weekly-drop-backup input { margin-top: 1px; }
.weekly-drop-form-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 15px; }
.weekly-drop-action { min-height: 42px; }
.weekly-drop-form-actions .weekly-drop-action { flex: 1 1 180px; }
.weekly-drop-feedback-done { align-self: center; padding: 10px 12px; color: #426d5c; font-size: 13px; font-weight: 700; }
.weekly-drop-form-error { margin: 10px 0 0; color: #a5473d; font-size: 13px; }
.weekly-drop-draft-note { margin: 0 0 14px; color: #6e7865; font-size: 12px; }
.weekly-drop-proposal h4, .weekly-drop-result h4 { margin: 13px 0 8px; color: #294f48; font-size: 18px; }
.weekly-drop-deadline { color: #718079; font-size: 12px; text-align: right; }
.weekly-drop-event-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin: 14px 0; }
.weekly-drop-event-meta div { min-width: 0; padding: 10px; border-radius: 12px; background: #f4f8f6; }
.weekly-drop-event-meta dt { margin-bottom: 5px; color: #82918a; font-size: 11px; }
.weekly-drop-event-meta dd { margin: 0; color: #39574d; font-size: 13px; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
.weekly-drop-proposal-copy, .weekly-drop-result p { margin: 10px 0; color: #5d7068; font-size: 13px; line-height: 1.55; }
.weekly-drop-venue-note, .weekly-drop-chat-locked { padding: 10px 12px; border-radius: 12px; color: #6f5e3d; background: #fbf5e9; font-size: 12px; line-height: 1.5; }
.weekly-drop-chat-locked { color: #587067; background: #eff6f3; }
.weekly-drop-footnote { margin-top: 18px; padding-top: 12px; border-top: 1px solid rgba(52,126,121,.1); }
.weekly-drop-form button:focus-visible, .weekly-drop-card button:focus-visible, .weekly-drop-choice:focus-within, .weekly-drop-introduction textarea:focus-visible { outline: 3px solid var(--hz-teal-700,var(--brand-deep,#2f7777)); outline-offset: 2px; }
#weeklyDropAnchor, #mobileWeeklyDropSection { scroll-margin-bottom: calc(120px + env(safe-area-inset-bottom)); padding-bottom: calc(110px + env(safe-area-inset-bottom)); }
@media (min-width: 900px) {
  #weeklyDropAnchor { padding-bottom: 54px; }
}
@media (max-width: 380px) {
  .weekly-drop-root { margin: 12px 12px 20px; width: auto; }
  .weekly-drop-card { padding: 16px 14px; border-radius: 19px; }
  .weekly-drop-form, .weekly-drop-proposal, .weekly-drop-result { padding: 13px; }
  .weekly-drop-event-meta { grid-template-columns: 1fr; }
  .weekly-drop-form-actions { display: grid; grid-template-columns: 1fr; }
  .weekly-drop-form-actions .weekly-drop-action { width: 100%; }
}

/* Optional preference entry and restrained feedback for the Weekly flow. */
.weekly-drop-card-head { align-items: flex-start; }
.weekly-drop-title-wrap { display: flex; align-items: center; justify-content: space-between; gap: clamp(12px, 3vw, 24px); min-width: 0; flex: 1 1 auto; }
.weekly-drop-preference-area { display: grid; justify-items: center; gap: 3px; flex: 0 0 auto; }
.weekly-drop-preference {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  min-height: 40px; padding: 0 13px; border: 1px solid var(--hz-line-strong,rgba(80,130,130,.24));
  border-radius: 13px; color: var(--hz-accent-ink,#173c3c); background: var(--hz-accent-soft,#e6f3f1); font: inherit;
  font-size: 13px; font-weight: 750; cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.weekly-drop-preference svg, .weekly-drop-preference-used svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.weekly-drop-preference-area small { color: #71847c; font-size: 11px; line-height: 1.25; }
.weekly-drop-preference-saved { color: #32776c; font-size: 11px; font-weight: 700; line-height: 1.35; text-align: center; }
.weekly-drop-profile-update { min-height: 34px; padding: 5px 9px; font-size: 12px; }
.weekly-drop-preference-used { display: inline-flex; align-items: center; gap: 6px; margin: 10px 0 0; color: #32776c; font-size: 12px; font-weight: 700; }
.weekly-drop-preference-used svg { width: 15px; height: 15px; }

/* Optional, user-controlled helpers for the one-cycle introduction. */
.weekly-drop-intro-consent { color: #7a8881; font-size: 11px; font-weight: 500; line-height: 1.45; }
.weekly-drop-profile-summary { display: grid; gap: 8px; margin: 18px 0 15px; padding: 14px 0; border-top: 1px solid var(--weekly-rule, rgba(52, 92, 80, .14)); border-bottom: 1px solid var(--weekly-rule, rgba(52, 92, 80, .14)); }
.weekly-drop-profile-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 12px; color: #34534c; }
.weekly-drop-profile-heading strong { font-size: 14px; }
.weekly-drop-profile-heading small { color: #7b8983; font-size: 11px; }
.weekly-drop-profile-state { margin: 0; color: #718079; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.weekly-drop-profile-state.is-error { color: #9d584b; }

/* Passive Weekly invitations reuse the Event Hub consent and proposal cards. */
.weekly-drop-card .weekly-drop-passive-option { min-width: 0; margin-top: 16px; border-top: 1px solid rgba(52, 92, 80, .14); padding-top: 10px; color: #718278; font-size: 12px; }
.weekly-drop-card .weekly-drop-passive-option > summary { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 10px; cursor: pointer; }
.weekly-drop-card .weekly-drop-passive-option > summary small { color: #588a80; font-size: 11px; font-weight: 750; }
.weekly-drop-card .weekly-drop-passive { box-sizing: border-box; min-width: 0; margin-top: 8px; padding: 14px; border: 1px solid rgba(52, 126, 121, .14); border-radius: 16px; color: #53685f; background: rgba(255,255,255,.78); }
.weekly-drop-card .weekly-drop-passive > p { margin: 0 0 12px; line-height: 1.55; overflow-wrap: anywhere; }
.weekly-drop-card .weekly-drop-passive fieldset { min-width: 0; margin: 12px 0; padding: 0; border: 0; }
.weekly-drop-card .weekly-drop-passive legend { margin-bottom: 7px; color: #34534c; font-size: 13px; font-weight: 800; }
.weekly-drop-card .weekly-drop-passive label { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; margin: 0 12px 4px 0; color: #4e665d; }
.weekly-drop-card .weekly-drop-passive input { width: 17px; height: 17px; accent-color: var(--hz-accent,#57b7b7); }
.weekly-drop-card .weekly-drop-passive .event-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.weekly-drop-card .weekly-drop-passive-note { color: #7c6947; font-size: 12px; line-height: 1.5; }
.weekly-drop-card .weekly-drop-passive-invite { min-width: 0; margin-top: 16px; }
.weekly-drop-card .weekly-drop-passive-invite > .event-section-kicker { margin: 0 0 8px; color: #588a80; font-size: 12px; font-weight: 800; }
.weekly-drop-card .weekly-drop-passive-history { min-width: 0; margin: 14px 0; padding: 13px 14px; border: 1px solid rgba(52, 126, 121, .14); border-radius: 14px; color: #586c63; background: #f4f8f6; }
.weekly-drop-card .weekly-drop-passive-history strong { display: block; color: #34534c; font-size: 13px; }
.weekly-drop-card .weekly-drop-passive-history p { margin: 5px 0 0; line-height: 1.5; overflow-wrap: anywhere; }
.weekly-drop-card .weekly-drop-passive-note { margin: 0; }
.weekly-drop-card .weekly-drop-passive-invite .event-v23-card { min-width: 0; }
.weekly-drop-card .weekly-drop-passive-invite .event-v23-actions { flex-wrap: wrap; }
.weekly-drop-card .weekly-drop-passive-invite .event-v23-actions button { min-width: 0; max-width: 100%; white-space: normal; }
.weekly-drop-profile-details { min-width: 0; color: #60756d; font-size: 12px; line-height: 1.55; }
.weekly-drop-profile-details > summary { width: fit-content; min-height: 36px; display: flex; align-items: center; cursor: pointer; color: #347c72; font-weight: 700; }
.weekly-drop-profile-details > summary:focus-visible { outline: 2px solid rgba(51,145,129,.34); outline-offset: 3px; border-radius: 4px; }
.weekly-drop-profile-topics { display: grid; gap: 6px; padding-top: 7px; }
.weekly-drop-profile-topics p { display: grid; grid-template-columns: minmax(92px, auto) minmax(0, 1fr); gap: 8px; margin: 0; padding-top: 6px; border-top: 1px solid rgba(52,126,121,.09); overflow-wrap: anywhere; }
.weekly-drop-profile-topics strong { color: #49655d; font-size: 11px; }
.weekly-drop-profile-topics span { min-width: 0; }
.weekly-drop-profile-actions { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 8px; }
.weekly-drop-profile-actions .weekly-drop-intro-tool { min-height: 38px; text-align: center; }
.weekly-drop-profile-actions button:disabled { opacity: .55; cursor: not-allowed; }
.weekly-drop-intro-tools { display: grid; gap: 8px; margin-top: 10px; padding: 10px; border: 1px solid rgba(52,126,121,.11); border-radius: 14px; background: #f8fbf9; }
.weekly-drop-intro-tool-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; }
.weekly-drop-intro-tool-copy { display: flex; align-items: center; gap: 9px; min-width: 0; }
.weekly-drop-intro-tool-copy > svg { width: 17px; height: 17px; flex: 0 0 auto; fill: none; stroke: #438d7c; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.weekly-drop-intro-tool-copy > div { display: grid; gap: 2px; min-width: 0; }
.weekly-drop-intro-tool-copy strong { color: #46645a; font-size: 12px; line-height: 1.35; }
.weekly-drop-intro-tool-copy small { color: #7b8983; font-size: 11px; line-height: 1.4; }
.weekly-drop-intro-tool { flex: 0 0 auto; min-height: 34px; padding: 7px 10px; color: #397a6c; font-size: 12px; }
.weekly-drop-intro-status { margin: 0; color: #58766b; font-size: 12px; line-height: 1.45; }
.weekly-drop-intro-status.is-error { color: #a5473d; }
.weekly-drop-organized { display: grid; gap: 8px; min-width: 0; padding-top: 8px; border-top: 1px solid rgba(52,126,121,.1); }
.weekly-drop-organized[hidden] { display: none !important; }
.weekly-drop-organized-note, .weekly-drop-organized-empty { margin: 0; color: #718079; font-size: 11px; line-height: 1.45; }
.weekly-drop-organized-list { display: grid; gap: 6px; min-width: 0; }
.weekly-drop-organized-item { display: grid; grid-template-columns: 18px minmax(74px, auto) minmax(0, 1fr); align-items: center; gap: 7px; min-width: 0; }
.weekly-drop-organized-item > input[type="checkbox"] { width: 16px; height: 16px; margin: 0; accent-color: var(--hz-accent,#57b7b7); }
.weekly-drop-organized-item > span { color: #708078; font-size: 11px; line-height: 1.3; }
.weekly-drop-organized-item > input[type="text"] { box-sizing: border-box; width: 100%; min-width: 0; min-height: 36px; padding: 7px 9px; border: 1px solid #dce8e3; border-radius: 9px; color: #39574d; background: #fff; font: inherit; font-size: 12px; }
.weekly-drop-organized-apply { min-height: 36px; justify-self: start; padding: 7px 10px; color: #397a6c; font-size: 12px; }
.weekly-drop-intro-tools button, .weekly-drop-organized-item input { transition: border-color .2s ease, background-color .2s ease, transform .2s ease; }
.weekly-drop-intro-tools button:active { transform: scale(.985); }
@media (max-width: 380px) {
  .weekly-drop-profile-topics p { grid-template-columns: 1fr; gap: 2px; }
  .weekly-drop-profile-actions { display: grid; grid-template-columns: 1fr; }
  .weekly-drop-profile-actions .weekly-drop-intro-tool { width: 100%; max-width: none; }
  .weekly-drop-intro-tool-row { align-items: flex-start; }
  .weekly-drop-intro-tool-copy { align-items: flex-start; }
  .weekly-drop-intro-tool-copy > svg { margin-top: 1px; }
  .weekly-drop-intro-tool-copy small { overflow-wrap: anywhere; }
  .weekly-drop-intro-tool { max-width: 132px; white-space: normal; line-height: 1.3; }
  .weekly-drop-organized-item { grid-template-columns: 17px minmax(58px, auto) minmax(0, 1fr); gap: 5px; }
}
@media (prefers-reduced-motion: reduce) {
  .weekly-drop-intro-tools button, .weekly-drop-organized-item input { transition: none; }
  .weekly-drop-intro-tools button:active { transform: none; }
}
.weekly-drop-choice { transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.weekly-drop-choice:has(input:checked) { box-shadow: 0 3px 12px rgba(53, 126, 112, .09); transform: translateY(-1px); }
.weekly-drop-action, .weekly-drop-refresh { transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
.weekly-drop-card[data-stage="READY"] .weekly-drop-current-status strong { color: #287a66; }
.weekly-drop-card[data-stage="WAITLISTED"] .weekly-drop-current-status strong { color: #8a6a3b; }
.weekly-drop-card[data-stage="UNMATCHED"] .weekly-drop-current-status strong { color: #69756f; }
@media (hover: hover) {
  .weekly-drop-preference:hover { background: var(--hz-accent-soft,#e6f3f1); border-color: var(--hz-accent,#57b7b7); box-shadow: 0 4px 12px rgba(36, 108, 96, .09); }
  .weekly-drop-action:hover, .weekly-drop-refresh:hover { transform: translateY(-1px); }
}
.weekly-drop-preference:active, .weekly-drop-action:active, .weekly-drop-refresh:active { transform: scale(.98); }
@media (max-width: 520px) {
  .weekly-drop-card-head { gap: 8px; }
  .weekly-drop-title-wrap { gap: 8px; }
  .weekly-drop-title-wrap h3 { font-size: clamp(20px, 5vw, 25px); }
  .weekly-drop-preference { min-height: 38px; padding-inline: 9px; font-size: 12px; }
}
@media (max-width: 380px) {
  .weekly-drop-card-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .weekly-drop-title-wrap { gap: 7px; }
  .weekly-drop-preference { gap: 5px; padding-inline: 7px; font-size: 11px; }
  .weekly-drop-preference svg { width: 14px; height: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .weekly-drop-preference, .weekly-drop-choice, .weekly-drop-action, .weekly-drop-refresh { transition: none; }
}

/* One surface per Weekly Drop section; inner content uses spacing and rules. */
.weekly-drop-root,
.weekly-drop-section,
.weekly-drop-result {
  --weekly-rule: rgba(52, 92, 80, .14);
}
.weekly-drop-form,
.weekly-drop-proposal,
.weekly-drop-result {
  padding: 22px 0 0;
  border: 0;
  border-top: 1px solid var(--weekly-rule, rgba(52, 92, 80, .14));
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
:is(.event-hub-root, .event-my-events-root) .weekly-drop-result > .event-v23-card {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
:is(.event-hub-root, .event-my-events-root) .weekly-drop-result .event-v23-card-head > div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
:is(.event-hub-root, .event-my-events-root) .weekly-drop-result .event-section-kicker {
  margin: 0;
}
:is(.event-hub-root, .event-my-events-root) .weekly-drop-result .event-v23-card h3 {
  margin-top: 18px;
  font-size: clamp(22px, 2.1vw, 28px);
  line-height: 1.3;
}
:is(.event-hub-root, .event-my-events-root) .weekly-drop-result .event-fact-strip.event-v23-facts {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin: 20px 0 0;
}
:is(.event-hub-root, .event-my-events-root) .weekly-drop-result .event-fact-strip.event-v23-facts > div {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  align-items: baseline;
  gap: 12px;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid var(--weekly-rule);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
:is(.event-hub-root, .event-my-events-root) .weekly-drop-result .event-fact-strip.event-v23-facts dt,
:is(.event-hub-root, .event-my-events-root) .weekly-drop-result .event-fact-strip.event-v23-facts dd {
  margin: 0;
  min-width: 0;
  font-size: 13px;
  line-height: 1.65;
}
:is(.event-hub-root, .event-my-events-root) .weekly-drop-result .event-fact-strip.event-v23-facts dd {
  overflow-wrap: anywhere;
}
:is(.event-hub-root, .event-my-events-root) .weekly-drop-result .event-v23-reasons {
  margin-top: 18px;
  font-size: 12px;
}
:is(.event-hub-root, .event-my-events-root) .weekly-drop-result .event-v23-actions {
  margin-top: 24px;
}
.event-hub-root .weekly-drop-section .event-composer-heading {
  margin-bottom: 0;
}
.weekly-drop-section .weekly-drop-joined,
.weekly-drop-current-status,
.weekly-drop-cutoff {
  padding: 12px 0;
  border-radius: 0;
  border-bottom: 1px solid var(--weekly-rule);
  background: transparent;
}
.weekly-drop-section .weekly-drop-commitment-notice,
.weekly-drop-root .weekly-drop-commitment-notice {
  padding: 4px 0 4px 14px;
  border: 0;
  border-left: 2px solid #b99965;
  border-radius: 0;
  background: transparent;
}
.weekly-drop-event-meta div {
  padding: 10px 0;
  border-radius: 0;
  border-bottom: 1px solid var(--weekly-rule);
  background: transparent;
}
.weekly-drop-venue-note,
.weekly-drop-chat-locked {
  padding: 8px 0;
  border-radius: 0;
  background: transparent;
}
.event-hub-root .weekly-drop-section .weekly-drop-form > label:has(input[name="willing_to_be_backup"]) {
  padding: 6px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  align-items: flex-start;
  line-height: 1.6;
}
.event-hub-root .weekly-drop-section .weekly-drop-form input[name="willing_to_be_backup"] {
  flex-shrink: 0;
  margin-top: 3px;
}
@media (max-width: 520px) {
  .weekly-drop-form, .weekly-drop-proposal, .weekly-drop-result {
    padding: 18px 0 0;
  }
  :is(.event-hub-root, .event-my-events-root) .weekly-drop-result .event-fact-strip.event-v23-facts > div {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 8px;
  }
  :is(.event-hub-root, .event-my-events-root) .weekly-drop-result .event-v23-actions .event-btn {
    min-height: 44px;
  }
}

:is(.event-hub-root, .event-my-events-root) .weekly-drop-result .event-fact-strip.event-v23-facts dt {
  white-space: nowrap;
}

/* Center the action group while keeping reading content left aligned. */
:is(.event-hub-root, .event-my-events-root) :is(.weekly-drop-section, .weekly-drop-result) .event-actions,
.weekly-drop-root .weekly-drop-form-actions,
:is(.event-hub-root, .event-my-events-root) :is(.weekly-drop-section, .weekly-drop-result) .event-v23-actions,
:is(.weekly-drop-root) .weekly-drop-result :is(.event-actions, .event-v23-actions),
:is(.event-hub-root, .event-my-events-root) .weekly-drop-record-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  width: 100%;
}
:is(.event-hub-root, .event-my-events-root) :is(.weekly-drop-section, .weekly-drop-result) .event-actions .event-btn,
.weekly-drop-root .weekly-drop-form-actions .weekly-drop-action,
:is(.event-hub-root, .event-my-events-root) :is(.weekly-drop-section, .weekly-drop-result) .event-v23-actions .event-btn,
:is(.weekly-drop-root) .weekly-drop-result :is(.event-actions, .event-v23-actions) .event-btn,
:is(.event-hub-root, .event-my-events-root) .weekly-drop-record-actions .event-btn {
  flex: 0 1 160px;
  width: auto;
  min-width: 100px;
  min-height: 44px;
  text-align: center;
  justify-content: center;
}
:is(.event-hub-root, .event-my-events-root) :is(.weekly-drop-section, .weekly-drop-result) .event-v23-actions:has(> .event-btn:only-child) .event-btn,
:is(.weekly-drop-root) .weekly-drop-result :is(.event-actions, .event-v23-actions):has(> .event-btn:only-child) .event-btn,
:is(.event-hub-root, .event-my-events-root) .weekly-drop-record-actions:has(> .event-btn:only-child) .event-btn {
  flex-basis: min(100%, 260px);
}
.weekly-drop-section .weekly-drop-empty > .event-btn {
  display: flex;
  margin: 18px auto 0;
  justify-content: center;
}
.weekly-drop-more {
  margin-top: 16px;
  color: var(--event-muted, #64756f);
  font-size: 13px;
  line-height: 1.65;
}
.weekly-drop-more summary {
  width: fit-content;
  margin-inline: auto;
  padding: 10px 8px;
  min-height: 44px;
  box-sizing: border-box;
  cursor: pointer;
  color: var(--event-accent, #347c78);
  font-weight: 600;
}
.weekly-drop-more .weekly-drop-more-close,
.weekly-drop-more[open] .weekly-drop-more-open { display: none; }
.weekly-drop-more[open] .weekly-drop-more-close { display: inline; }
.weekly-drop-more summary:focus-visible {
  outline: 2px solid var(--event-accent, #347c78);
  outline-offset: 3px;
  border-radius: 4px;
}
.weekly-drop-more-content { padding: 4px 0 8px; }
.weekly-drop-more-content > p { margin: 0; }
.weekly-drop-route-details { margin-top: 8px; overflow-wrap: anywhere; }
.weekly-drop-route-details > p { margin: 0 0 4px; }
.weekly-drop-route-details > p:last-child { margin-bottom: 0; }
.weekly-drop-support-link { margin: 10px 0 0; }
.weekly-drop-support-link a { color: var(--event-accent, #347c78); text-underline-offset: 3px; }
@media (max-width: 520px) {
  :is(.event-hub-root, .event-my-events-root) :is(.weekly-drop-section, .weekly-drop-result) .event-actions .event-btn,
  :is(.event-hub-root, .event-my-events-root) :is(.weekly-drop-section, .weekly-drop-result) .event-v23-actions .event-btn,
  :is(.weekly-drop-root) .weekly-drop-result :is(.event-actions, .event-v23-actions) .event-btn,
  :is(.event-hub-root, .event-my-events-root) .weekly-drop-record-actions .event-btn {
    flex-basis: calc(50% - 6px);
    padding-inline: 8px;
    white-space: normal;
    line-height: 1.3;
  }
  :is(.event-hub-root, .event-my-events-root) :is(.weekly-drop-section, .weekly-drop-result) .event-v23-actions:has(> .event-btn:only-child) .event-btn,
  :is(.weekly-drop-root) .weekly-drop-result :is(.event-actions, .event-v23-actions):has(> .event-btn:only-child) .event-btn,
  :is(.event-hub-root, .event-my-events-root) .weekly-drop-record-actions:has(> .event-btn:only-child) .event-btn {
    flex-basis: min(100%, 260px);
  }
}
/* Shared Weekly card: natural height, scoped styles, no site-wide reset. */
.hz-weekly-screen-reader { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.hz-weekly-card { --wc-ink:#244941; --wc-muted:#657b73; --wc-teal:var(--hz-accent-ink,#173c3c); box-sizing:border-box; width:100%; max-width:760px; margin:0 auto; padding:clamp(20px,3vw,32px); color:var(--wc-ink); background:linear-gradient(150deg,#fffefa 0%,var(--hz-accent-soft,#e6f3f1) 100%); border:1px solid var(--hz-line-strong,rgba(80,130,130,.24)); border-radius:28px; box-shadow:0 12px 32px rgba(29,75,62,.06); text-align:left; overflow-wrap:anywhere; font-family:inherit; }
.hz-weekly-card *, .hz-weekly-card *::before, .hz-weekly-card *::after { box-sizing:border-box; }
.hz-weekly-card p,.hz-weekly-card h3,.hz-weekly-card ol { margin:0; }
.hz-weekly-header { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }
.hz-weekly-brand { display:block; color:var(--wc-teal); font-size:13px; letter-spacing:.05em; font-weight:800; }
.hz-weekly-brand b { margin-left:5px; font-weight:650; }
.hz-weekly-header p { margin-top:6px; color:var(--wc-muted); font-size:13px; line-height:1.5; }
.hz-weekly-badge { flex-shrink:0; padding:6px 11px; border-radius:10px; font-size:12px; line-height:1.5; font-weight:650; color:var(--hz-accent-ink,#173c3c); background:var(--hz-accent-soft,#e6f3f1); }
.hz-weekly-badge.is-action { color:#a65016; background:#ffecdc; }
.hz-weekly-badge.is-branch { color:#63736b; background:#edf0e9; }
.hz-weekly-heading { margin-top:24px; }
.hz-weekly-card .hz-weekly-heading h3 { font-size:clamp(24px,2.4vw,30px); line-height:1.35; font-weight:750; letter-spacing:-.025em; color:var(--wc-ink); }
.hz-weekly-heading p { margin-top:10px; font-size:15px; line-height:1.7; color:var(--wc-muted); }
.hz-weekly-card .hz-weekly-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:0; margin:22px 0; gap:6px; }
.hz-weekly-steps li { display:flex; align-items:center; flex-wrap:wrap; gap:6px; color:#788c83; font-size:12px; line-height:1.5; }
.hz-weekly-steps li>span { display:grid; place-items:center; width:23px; height:23px; border:1px solid #d7e3dc; border-radius:50%; font-size:11px; }
.hz-weekly-steps .is-current { color:var(--wc-teal); font-weight:700; }
.hz-weekly-steps .is-current>span { background:var(--hz-accent,#57b7b7); border-color:var(--hz-accent,#57b7b7); color:var(--hz-accent-ink,#173c3c); }
.hz-weekly-steps .is-done>span { background:#287d70; border-color:#287d70; color:#fff; }
.hz-weekly-steps .is-done { color:#4d7465; }
.hz-weekly-steps .is-skipped>span { background:transparent; border-style:dashed; }
.hz-weekly-steps small { font-size:10px; }
.hz-weekly-core { padding:20px 0; border-top:1px solid #deebe4; border-bottom:1px solid #deebe4; }
.hz-weekly-person { display:flex; gap:14px; align-items:center; }
.hz-weekly-person>div { min-width:0; flex:1; }
.hz-weekly-label { color:var(--wc-muted); font-size:12px; font-weight:600; line-height:1.6; }
.hz-weekly-person strong { display:block; margin:2px 0 4px; color:var(--wc-ink); font-size:21px; line-height:1.4; }
.hz-weekly-person p,.hz-weekly-core-empty p { color:var(--wc-muted); font-size:14px; line-height:1.7; }
.hz-weekly-avatar { position:relative; display:grid; place-items:center; flex-shrink:0; width:60px; height:60px; border-radius:50%; background:var(--hz-accent-soft,#e6f3f1); color:var(--wc-teal); font-size:25px; border:1px solid var(--hz-line-strong,rgba(80,130,130,.24)); overflow:hidden; }
.hz-weekly-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:var(--hz-accent-soft,#e6f3f1); }
.hz-weekly-avatar img[hidden] { display:none; }
.hz-weekly-introduction { margin-top:14px !important; font-size:15px; line-height:1.8; }
/* One continuous reading module between person and arrangement. */
.hz-weekly-story { margin-top:22px; }
.hz-weekly-story-heading { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 10px; margin-bottom:10px; }
.hz-weekly-story h4 { margin:0; color:var(--hz-accent-ink,#173c3c); font-size:16px; line-height:1.6; font-weight:650; }
.hz-weekly-story-heading span { color:var(--hz-teal-700,#2f7777); font-size:11px; line-height:1.6; white-space:nowrap; }
.hz-weekly-story p { color:var(--hz-accent-ink,#173c3c); font-size:16px; line-height:1.9; text-wrap:pretty; }
.hz-weekly-story small { display:block; margin-top:9px; font-size:12px; line-height:1.6; color:var(--wc-muted); }
.hz-weekly-story [hidden] { display:none; }
.hz-weekly-core-empty strong { display:block; font-size:19px; line-height:1.6; margin:5px 0; }
.hz-weekly-choices { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.hz-weekly-choices span { border-radius:6px; background:#e7f3ec; color:#367363; padding:4px 9px; font-size:13px; }
.hz-weekly-facts { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:20px; }
.hz-weekly-facts section { display:flex; gap:10px; align-items:flex-start; padding:14px; background:rgba(255,255,255,.8); border-radius:14px; min-width:0; }
.hz-weekly-facts section>div { min-width:0; }
.hz-weekly-facts svg { width:19px; height:19px; color:var(--wc-teal); fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; margin-top:2px; }
.hz-weekly-facts .hz-weekly-fact-icon { display:inline-block; width:19px; height:19px; flex-shrink:0; margin-top:2px; background:var(--wc-teal); mask:var(--wc-icon) center / contain no-repeat; -webkit-mask:var(--wc-icon) center / contain no-repeat; }
/* Reuse the bundled Lucide files and their my-activities/icons/LICENSE. */
.hz-weekly-fact-icon[data-icon="clock"] { --wc-icon:url('./my-activities/icons/clock.svg'); }
.hz-weekly-fact-icon[data-icon="map-pin"] { --wc-icon:url('./my-activities/icons/map-pin.svg'); }
.hz-weekly-facts span { font-size:12px; color:var(--wc-muted); }
.hz-weekly-facts strong { display:block; margin-top:5px; font-size:14px; line-height:1.65; }
.hz-weekly-notice { margin-top:16px; color:var(--wc-muted); font-size:13px; line-height:1.7; }
.hz-weekly-notice ul { padding-left:17px; margin:7px 0 0; }
.hz-weekly-deadline { display:flex; flex-wrap:wrap; gap:4px 10px; }
.hz-weekly-deadline strong { color:var(--wc-ink); font-weight:650; }
.hz-weekly-footer { margin-top:20px; }
.hz-weekly-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.hz-weekly-card .hz-weekly-button { border:0; border-radius:12px; padding:13px 17px; min-height:46px; font-weight:600; font-size:15px; line-height:1.5; font-family:inherit; cursor:pointer; transition:background-color .2s ease; }
.hz-weekly-card .hz-weekly-button.is-primary { background:var(--hz-accent,#57b7b7); color:var(--hz-accent-ink,#173c3c); flex:1; }
.hz-weekly-card .hz-weekly-button.is-secondary { background:transparent; color:var(--hz-accent-ink,#173c3c); }
.hz-weekly-card .hz-weekly-button:hover { background:var(--hz-accent-soft,#e6f3f1); color:var(--hz-accent-ink,#173c3c); }
.hz-weekly-card .hz-weekly-button.is-primary:hover { background:var(--hz-accent-soft,#e6f3f1); color:var(--hz-accent-ink,#173c3c); }
.hz-weekly-card button:disabled { opacity:.6; cursor:wait; }
.hz-weekly-card :is(button,input,textarea,summary):focus-visible { outline:3px solid var(--hz-teal-700,var(--brand-deep,#2f7777)); outline-offset:3px; }
.hz-weekly-tools { display:flex; gap:18px; margin-top:14px; }
.hz-weekly-tools button { border:0; padding:0; color:var(--hz-accent-ink,#173c3c); background:transparent; font-family:inherit; font-size:12px; cursor:pointer; }
.hz-weekly-editor { margin-top:22px; border-top:1px solid var(--hz-line-strong,rgba(80,130,130,.24)); padding-top:16px; }
.hz-weekly-editor:not([open]) { display:none; }
.hz-weekly-card:has(.hz-weekly-editor[open]) .hz-weekly-actions :is([data-weekly-action="edit-signup"],[data-weekly-edit-signup]) { display:none; }
.hz-weekly-editor>summary { cursor:pointer; color:var(--wc-teal); font-size:14px; font-weight:600; }
.hz-weekly-editor[open] .weekly-drop-form { margin-top:18px; }
.hz-weekly-preferences { margin-top:18px; }
.hz-weekly-preferences .weekly-drop-passive-option { margin-top:0; }
.hz-weekly-refresh-error { margin-top:14px !important; color:#a34e27; font-size:13px; line-height:1.6; }
.event-weekly-detail-modal .weekly-drop-arrangement-detail { background:transparent; border:0; padding:0; box-shadow:none; }
.event-weekly-detail-modal .weekly-drop-result { margin:0; padding:0; }
.event-weekly-detail-modal .event-modal-close { z-index:2; }
.event-weekly-detail-modal .hz-weekly-header { padding-right:38px; }
@media (max-width:480px) { .hz-weekly-card { padding:20px; border-radius:22px; } .hz-weekly-facts { grid-template-columns:1fr; gap:8px; } .hz-weekly-header { gap:8px; } .hz-weekly-brand { font-size:12px; } .hz-weekly-badge { font-size:11px; padding:5px 8px; } .hz-weekly-card .hz-weekly-actions .hz-weekly-button.is-primary { flex:1 0 100%; } .hz-weekly-actions .is-secondary { padding-left:8px; padding-right:8px; } .hz-weekly-steps li { gap:4px; font-size:11px; } }
@media (prefers-reduced-motion:reduce) { .hz-weekly-card * { animation:none !important; transition:none !important; } }

/* Exclusive Weekly surfaces; no shared dialog resets. */
dialog.hz-weekly-detail-dialog { border:0;padding:0;background:transparent;box-shadow:none;width:min(720px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));margin:auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border-radius:26px; }
dialog.hz-weekly-detail-dialog::backdrop { background:rgba(26,53,53,.48); }
.hz-weekly-detail-dialog [data-weekly-drop-slot] { margin:0;padding:0;border:0;overflow:visible; }
.hz-weekly-detail-dialog .hz-weekly-card { position:relative;margin:0;min-height:0;border:1px solid rgba(73,139,139,.25);background:linear-gradient(145deg,#edf8f6,#e4f2ef);box-shadow:none; }
.hz-weekly-detail-dialog .hz-weekly-header { padding-right:48px; }
.hz-weekly-detail-close { position:absolute;top:16px;right:16px;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:#fff9;color:#275c5a;font:24px/1 system-ui;cursor:pointer;z-index:1; }
.hz-weekly-card.is-compact .hz-weekly-heading { margin-bottom:0; }
.hz-weekly-summary { color:#284e4a;min-width:0; }
.hz-weekly-summary-top { display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;align-items:center; }
.hz-weekly-summary-cover { position:relative;height:96px;overflow:hidden;border-radius:14px;background:#e3f1ec;display:grid;place-items:center;color:#438781; }
.hz-weekly-summary-cover>span { font-size:28px; }
.hz-weekly-summary-cover img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover; }
.hz-weekly-summary img[hidden] { display:none; }
.hz-weekly-summary h3 { margin:7px 0 4px;font-size:22px;line-height:1.35; }
.hz-weekly-summary p { margin:4px 0;line-height:1.7;font-size:14px;overflow-wrap:anywhere; }
.hz-weekly-summary .hz-weekly-summary-period { font-size:12px;color:#66837d; }
.hz-weekly-summary-facts { display:grid;gap:7px;margin:18px 0 0;padding:0; }
.hz-weekly-summary-facts>div { display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;font-size:13px;line-height:1.65; }
.hz-weekly-summary-facts dt { color:#66837d; }
.hz-weekly-summary-facts dd { margin:0;overflow-wrap:anywhere; }
.hz-weekly-summary .hz-weekly-summary-next { margin:16px 0;color:#52726b;font-size:13px; }
.hz-weekly-summary-entry { display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:44px;padding:11px 15px;border:0;border-radius:10px;background:var(--hz-accent,#57b7b7);color:var(--hz-accent-ink,#173c3c);font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer; }
.hz-weekly-summary-entry:focus-visible,.hz-weekly-detail-close:focus-visible { outline:3px solid #2f7777;outline-offset:3px; }
#eventMyEventsRoot .ma-item.ma-weekly .ma-card-body { padding:0; }
@media(max-width:480px) { dialog.hz-weekly-detail-dialog { width:calc(100vw - 20px);max-height:calc(100dvh - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:22px; }.hz-weekly-detail-dialog .hz-weekly-header { display:block;padding-right:44px; }.hz-weekly-detail-dialog .hz-weekly-badge { margin-top:12px; }.hz-weekly-summary-top { grid-template-columns:72px minmax(0,1fr);gap:12px; }.hz-weekly-summary-cover { height:90px; }.hz-weekly-summary h3 { font-size:20px; }.hz-weekly-card .hz-weekly-actions .hz-weekly-button.is-primary { flex:1 0 100%; } }
.hz-weekly-time-proposal{padding:16px 18px;border-radius:20px;background:#fff3e6;display:grid;gap:8px;color:#705133;overflow-wrap:anywhere}
.hz-weekly-time-proposal>span{font-size:.86rem;font-weight:600}.hz-weekly-time-proposal p{margin:0;font-size:.9rem}
.hz-weekly-time-dialog{box-sizing:border-box;width:min(580px,calc(100vw - 24px));max-height:calc(100dvh - 40px);padding:24px;border:1px solid #cce1db;border-radius:26px;background:#fbfcf7;color:#254c44;overflow:auto;box-shadow:0 20px 60px #183c4433}
.hz-weekly-time-dialog::backdrop{background:#173d4355}.hz-weekly-time-dialog header{display:flex;gap:12px;justify-content:space-between;align-items:start}.hz-weekly-time-dialog header button{border:0;background:#e6f2ed;border-radius:50%;width:44px;height:44px;font-size:26px;color:inherit;flex-shrink:0}
.hz-weekly-time-dialog h3{font-size:1.4rem;margin:8px 0}.hz-weekly-time-dialog p{line-height:1.65}.hz-weekly-time-dialog fieldset{border:0;padding:0;margin:20px 0}.hz-weekly-time-dialog legend{font-weight:700;margin-bottom:10px}.hz-weekly-time-dialog label{display:flex;align-items:start;gap:10px;padding:12px 8px;line-height:1.5;overflow-wrap:anywhere}.hz-weekly-time-dialog input{margin-top:5px;accent-color:#297c6e;flex-shrink:0}.hz-weekly-time-dialog details{padding:12px;border-radius:16px;background:#edf6f1}.hz-weekly-time-dialog summary{cursor:pointer}.hz-weekly-time-dialog footer{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.hz-weekly-time-dialog footer button{flex:1 1 160px}.hz-weekly-time-dialog [role=alert]{color:#973b1c}.hz-weekly-time-dialog :focus-visible{outline:3px solid #258c7d;outline-offset:3px}
@media(max-width:390px){.hz-weekly-time-dialog{padding:16px}.hz-weekly-time-dialog h3{font-size:1.2rem}.hz-weekly-time-dialog label{padding:10px 0}}

/* Time instructions occupy their own row; choices form one aligned group. */
.hz-weekly-card #weeklyDropForm fieldset:has(input[name="slot"]),
.hz-weekly-card .weekly-drop-passive fieldset:has(input[name="weekly_passive_slot"]) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
  width: 100%;
}
.hz-weekly-card #weeklyDropForm fieldset:has(input[name="slot"]) > :is(legend, p, .weekly-drop-choice-grid),
.hz-weekly-card .weekly-drop-passive fieldset:has(input[name="weekly_passive_slot"]) > :is(legend, p) {
  grid-column: 1 / -1;
  width: 100%;
}
.hz-weekly-card #weeklyDropForm fieldset:has(input[name="slot"]) > p,
.hz-weekly-card .weekly-drop-passive fieldset:has(input[name="weekly_passive_slot"]) > p {
  margin: 0 0 4px;
}
.hz-weekly-card #weeklyDropForm fieldset:has(input[name="slot"]) > label,
.hz-weekly-card .weekly-drop-passive fieldset:has(input[name="weekly_passive_slot"]) > label {
  box-sizing: border-box;
  min-width: 0;
  min-height: 44px;
  width: 100%;
  margin: 0;
}
.hz-weekly-card #weeklyDropForm fieldset:has(input[name="slot"]) > .weekly-drop-choice-grid {
  grid-template-columns: inherit;
}
@media (max-width: 520px) {
  .hz-weekly-card #weeklyDropForm fieldset:has(input[name="slot"]),
  .hz-weekly-card .weekly-drop-passive fieldset:has(input[name="weekly_passive_slot"]) {
    grid-template-columns: minmax(0, 1fr);
  }
}
