:root {
  color-scheme: light;
  --bg: #f4f7fb;
  --card: #ffffff;
  --text: #162034;
  --muted: #64748b;
  --primary: #2563eb;
  --border: #dbe2ea;
  --site-header-max-width: 1160px;
  --site-header-gutter: 2.4rem;
  --dashboard-tabs-gap: 0.35rem;
  --dashboard-tabs-top: calc(72px + var(--dashboard-tabs-gap));
}

* { box-sizing: border-box; }
html {
  /* Reserve scrollbar space to avoid horizontal header/page shift across routes. */
  scrollbar-gutter: stable;
}
body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  color: var(--text);
  background: linear-gradient(180deg, #f8fbff, var(--bg));
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  isolation: isolate;
  overflow-x: clip;
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(8px);
}

.site-header::after {
  content: "";
  position: absolute;
  top: -1px;
  right: calc(-1 * (100vw - 100%));
  bottom: -1px;
  width: calc(100vw - 100%);
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid var(--border);
  pointer-events: none;
}

.site-header__inner {
  width: min(var(--site-header-max-width), calc(100% - var(--site-header-gutter)));
  margin: 0 auto;
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.5rem 0;
}

.page-main {
  width: min(1160px, calc(100% - 2rem));
  margin: 0 auto;
}

.site-header__brand,
.brand {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  flex: 0 1 auto;
  min-width: 0;
  max-width: min(100%, 320px);
}

.site-header__logo {
  display: block;
  width: auto;
  height: auto;
  max-height: 56px;
  max-width: 100%;
  object-fit: contain;
}

.site-nav {
  margin-left: auto;
  display: flex;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.site-nav a { text-decoration: none; color: var(--text); font-weight: 500; }
.site-nav a.is-active {
  color: #1d4ed8;
}
.button-link,
.primary-btn {
  background: var(--primary);
  color: #fff !important;
  border-radius: 999px;
  padding: 0.55rem 1rem;
}

.page-main { padding: 2rem 0 3rem; }

.mobile-menu-toggle,
.mobile-menu {
  display: none;
}

body.mobile-menu-open {
  overflow: hidden;
}

.explore-main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.auth-wrap { display: flex; justify-content: center; }
.auth-card,
.tab-panel {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.05);
}

.auth-card {
  width: min(580px, 100%);
  padding: 2rem;
}

h1, h2 { margin-top: 0; }
.muted { color: var(--muted); }
.form-grid {
  display: grid;
  gap: 1rem;
}
.organizer-event-form {
  gap: 1.2rem;
}
.event-form-section {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 1rem;
  display: grid;
  gap: 0.85rem;
  background: #fff;
}
.event-form-section--nested {
  background: #f8fbff;
}
.event-form-section h2 {
  margin: 0;
  font-size: 1.05rem;
}

label { display: block; margin-bottom: 0.35rem; font-weight: 600; }
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
select,
textarea {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 0.7rem 0.8rem;
  font-size: 0.95rem;
}

.primary-btn {
  border: 0;
  cursor: pointer;
  width: fit-content;
}

.auth-footer { margin-top: 1.2rem; }
ul.errorlist { margin: 0.35rem 0 0; color: #be123c; padding-left: 1rem; }
.form-errors {
  color: #be123c;
  background: #fff1f2;
  border: 1px solid #fecdd3;
  border-radius: 10px;
  padding: 0.65rem 0.8rem;
}
.flash-list { list-style: none; margin: 0 0 1rem; padding: 0; }
.flash-message {
  background: #ecfeff;
  border: 1px solid #a5f3fc;
  color: #0f172a;
  border-radius: 10px;
  padding: 0.7rem 0.9rem;
  margin-bottom: 0.5rem;
}

.dashboard-header { margin-bottom: 1rem; }
.tabs {
  position: sticky;
  top: var(--dashboard-tabs-top);
  z-index: 9;
  display: flex;
  gap: 0.5rem;
  padding: 0.5rem;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 10px 24px rgb(15 23 42 / 8%);
  backdrop-filter: blur(6px);
  margin-bottom: 1rem;
}
.tab {
  text-decoration: none;
  color: #334155;
  padding: 0.6rem 1rem;
  border-radius: 10px;
  font-weight: 600;
}
.tab.active {
  color: #fff;
  background: linear-gradient(135deg, #2563eb, #1d4ed8);
}

.tab-panel { padding: 1.5rem; }

@media (max-width: 1024px) {
  :root {
    --dashboard-tabs-top: calc(64px + var(--dashboard-tabs-gap));
  }

  .tabs { top: var(--dashboard-tabs-top); overflow-x: auto; }
  .site-header__inner, .page-main { width: calc(100% - 1.2rem); }
  .site-header__inner {
    min-height: 64px;
    justify-content: space-between;
    gap: 0.65rem;
  }
  .auth-card, .tab-panel { padding: 1rem; }
  .site-header__brand {
    max-width: min(58vw, 230px);
  }
  .site-header__logo {
    max-height: 42px;
  }
  .site-nav {
    display: none;
  }
  .page-main {
    padding-bottom: 3rem;
  }
  .mobile-menu-toggle {
    display: inline-flex;
    width: 2.75rem;
    height: 2.75rem;
    border: 1px solid #c7d5eb;
    border-radius: 0.75rem;
    background: #fff;
    box-shadow: 0 8px 18px rgb(15 23 42 / 10%);
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.26rem;
    padding: 0;
    cursor: pointer;
  }
  .mobile-menu-toggle span {
    width: 1rem;
    height: 2px;
    border-radius: 999px;
    background: #334155;
  }
  .mobile-menu {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1200;
    pointer-events: none;
  }
  .mobile-menu.is-open {
    pointer-events: auto;
  }
  .mobile-menu__backdrop {
    position: absolute;
    inset: 0;
    margin: 0;
    border: 0;
    background: rgb(15 23 42 / 38%);
    opacity: 0;
    transition: opacity 0.2s ease;
  }
  .mobile-menu.is-open .mobile-menu__backdrop {
    opacity: 1;
  }
  .mobile-menu__panel {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(19rem, 84vw);
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    border: 1px solid #d4deec;
    border-radius: 0 16px 16px 0;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 16px 34px rgb(15 23 42 / 16%);
    backdrop-filter: blur(8px);
    padding: 0.6rem;
    transform: translateX(-100%);
    transition: transform 0.22s ease;
    overflow-y: auto;
  }
  .mobile-menu.is-open .mobile-menu__panel {
    transform: translateX(0);
  }
  .mobile-menu__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.25rem 0.25rem 0.55rem;
    border-bottom: 1px solid #e2e8f0;
    margin-bottom: 0.25rem;
  }
  .mobile-menu__title {
    font-weight: 700;
    color: #0f172a;
  }
  .mobile-menu__close {
    width: 2rem;
    height: 2rem;
    border: 1px solid #dbe2ea;
    border-radius: 999px;
    background: #fff;
    color: #334155;
    font-size: 1.4rem;
    line-height: 1;
  }
  .mobile-menu__panel a {
    border-radius: 10px;
    padding: 0.65rem 0.75rem;
    font-weight: 600;
    color: #334155;
    text-decoration: none;
  }
  .mobile-menu__panel a.is-active {
    color: #0f3b82;
    background: #eaf2ff;
  }
}


.saved-events-list {
  display: grid;
  gap: 0.9rem;
}

.saved-event-card {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 0.9rem 1rem;
  background: #f8fbff;
}

.saved-event-card h3 {
  margin: 0;
}

.saved-event-card p {
  margin: 0.35rem 0;
}

.saved-event-card a {
  font-weight: 600;
  color: var(--primary);
  text-decoration: none;
}


.events-section + .events-section {
  margin-top: 1.5rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--border);
}

.events-section h3 {
  margin: 0 0 0.8rem;
}

.saved-event-card h4,
.submitted-event-card h4 {
  margin: 0;
}

.submitted-events-list {
  display: grid;
  gap: 0.9rem;
}

.submitted-event-card {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 0.9rem 1rem;
  background: #f8fbff;
}

.submitted-event-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  margin-bottom: 0.35rem;
}

.status-badge {
  display: inline-block;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 0.2rem 0.6rem;
  text-transform: uppercase;
}

.status-pending {
  background: #fef3c7;
  color: #92400e;
}

.status-active {
  background: #dcfce7;
  color: #166534;
}

.status-cancelled {
  background: #fee2e2;
  color: #991b1b;
}

.status-archived {
  background: #e2e8f0;
  color: #334155;
}

.submitted-event-card__actions {
  display: flex;
  gap: 0.8rem;
  margin-top: 0.6rem;
}

.submitted-event-link {
  color: var(--primary);
  font-weight: 600;
  text-decoration: none;
}

.submitted-event-link--danger {
  color: #b91c1c;
}

.submitted-event-form-actions {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-top: 0.6rem;
}

.dashboard-main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: var(--dashboard-tabs-gap) 0 3rem;
}

.dashboard-main .flash-list {
  width: min(var(--site-header-max-width), calc(100% - var(--site-header-gutter)));
  margin: 0 auto 1rem;
}

.dashboard-wrap {
  width: min(var(--site-header-max-width), calc(100% - var(--site-header-gutter)));
  margin: 0 auto;
  color: var(--home-text, #122b56);
}


.dashboard-wrap .tab-panel--overview {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.overview-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 1.2rem;
  align-items: start;
}

.overview-main,
.overview-sidebar {
  min-width: 0;
}

.overview-main {
  display: grid;
  gap: 1rem;
}

.overview-hero,
.overview-section,
.newsletter-card,
.overview-side-card,
.overview-stat-card {
  background: #fff;
  border: 1px solid var(--home-border, #d6e2f1);
  border-radius: 22px;
  box-shadow: var(--home-shadow, 0 14px 38px rgba(15, 47, 99, 0.12));
}

.overview-hero {
  position: relative;
  overflow: hidden;
  min-height: 320px;
  display: block;
  padding: 1.7rem 1.6rem 1.6rem;
  background:
    radial-gradient(circle at 82% 18%, rgba(63, 118, 219, 0.11), transparent 31%),
    linear-gradient(150deg, #ffffff 20%, #f3f7ff 100%);
}
.overview-hero__content {
  position: relative;
  z-index: 2;
  max-width: min(620px, 58%);
}

.overview-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 999px;
  background: #eaf2ff;
  color: var(--home-blue, #2367f2);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 0.34rem 0.7rem;
  text-transform: uppercase;
}

.overview-hero h2 {
  max-width: 560px;
  margin: 0.7rem 0 0.45rem;
  color: var(--home-navy, #0f2f63);
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.02;
}

.overview-hero p {
  max-width: 460px;
  margin: 0;
  color: var(--home-muted, #5c6f8d);
  font-size: 1.03rem;
}

.newsletter-card {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  flex-wrap: wrap;
}

.secondary-btn,
.overview-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--home-border, #d6e2f1);
  border-radius: 999px;
  background: #fff;
  color: var(--home-blue, #2367f2);
  font-weight: 800;
  text-decoration: none;
  padding: 0.52rem 0.95rem;
}

.overview-hero__art {
  position: absolute;
  z-index: 1;
  inset: 0 -2% -2% 34%;
  min-height: 100%;
  isolation: isolate;
  pointer-events: none;
}

.overview-hero-scene {
  width: 100%;
  height: 100%;
  display: block;
  margin-left: 0;
  filter: saturate(103%);
}

.overview-hero-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 180px));
  gap: 0.7rem;
  margin-top: 1rem;
}

.overview-stat-card {
  padding: 1rem;
}

.overview-stat-card--hero {
  border-radius: 16px;
  border: 1px solid #d6e2f1;
  background: var(--home-surface-soft, #f2f6fd);
  box-shadow: none;
}

.overview-stat-card__label {
  color: var(--home-muted, #5c6f8d);
  display: block;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  margin-bottom: 0.45rem;
  text-transform: uppercase;
}

.overview-stat-card strong {
  display: block;
  color: var(--home-navy, #0f2f63);
  font-size: 2rem;
  line-height: 1;
}

.overview-stat-card__text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1.2rem !important;
  line-height: 1.25 !important;
}

.overview-stat-card span:last-child {
  display: block;
  color: var(--home-muted, #5c6f8d);
  font-size: 0.86rem;
  margin-top: 0.45rem;
}

.overview-section {
  padding: 1.15rem;
  overflow: hidden;
}

.overview-section__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.9rem;
}

.overview-section h3 {
  margin: 0;
  color: var(--home-navy, #0f2f63);
  font-size: clamp(1.4rem, 2vw, 1.9rem);
  line-height: 1.15;
}

.newsletter-card h3,
.overview-side-card h3 {
  margin: 0;
  color: var(--home-navy, #0f2f63);
}

.overview-section__header p,
.newsletter-card p {
  margin: 0.25rem 0 0;
}

.overview-side-card h3 {
  font-size: 1.18rem;
  font-weight: 800;
  line-height: 1.25;
}

.overview-link {
  font-size: 0.88rem;
  letter-spacing: 0.01em;
}

.secondary-btn:hover,
.overview-link:hover {
  background: var(--home-surface-soft, #f2f6fd);
}


.overview-event-rail {
  --overview-rail-card-width: clamp(260px, 24vw, 276px);
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 1.2rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0.15rem 0.1rem 0.65rem;
  scroll-padding-inline: 0.1rem;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.overview-event-card {
  flex: 0 0 var(--overview-rail-card-width);
  width: var(--overview-rail-card-width);
  max-width: var(--overview-rail-card-width);
  min-width: var(--overview-rail-card-width);
  scroll-snap-align: start;
}

.overview-event-card__media {
  display: flex;
  flex: 0 0 auto;
  width: 100%;
  height: 142px;
  max-height: 142px;
  min-height: 142px;
  background: linear-gradient(135deg, #dbeafe, #f8fbff);
  color: var(--home-blue, #2367f2);
  text-decoration: none;
}

.overview-event-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}


.overview-event-card__placeholder {
  margin: auto;
  font-weight: 900;
}

.overview-event-card__body {
  display: grid;
  flex: 1 1 auto;
  gap: 0.38rem;
}

.overview-event-card .event-card__date-badge {
  left: 0.85rem;
  bottom: -0.8rem;
}

.overview-event-card .event-card__body {
  padding-top: 1.5rem;
}

.overview-event-card .event-card__body h3 {
  margin: 0;
  color: var(--home-text, #122b56);
  font-size: 1.12rem;
  font-weight: 700;
  line-height: 1.32;
}

.overview-event-card .event-card__meta,
.overview-event-card .event-card__location {
  margin: 0.45rem 0 0;
  color: var(--home-muted, #5c6f8d);
  font-size: 0.94rem;
  line-height: 1.35;
}

.overview-event-card .event-card__location {
  margin-top: 0.25rem;
}

.overview-event-card .event-card__category {
  margin-top: 0.8rem;
  padding: 0.28rem 0.62rem;
  border-radius: 999px;
  border-width: 1px;
  border-style: solid;
  font-size: 0.78rem;
  font-weight: 700;
}

.category-pill,
.saved-date-pill,
.overview-pill-list span {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  background: var(--home-surface-soft, #f2f6fd);
  color: var(--home-blue, #2367f2);
  font-size: 0.75rem;
  font-weight: 800;
  padding: 0.26rem 0.6rem;
}

.saved-date-pill {
  background: #e6fffb;
  color: var(--category-community-text, #0f766e);
}

.overview-event-card h4 {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--home-navy, #0f2f63);
  font-size: 0.98rem;
  line-height: 1.25;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.overview-event-card h4 a {
  color: var(--home-navy, #0f2f63);
  text-decoration: none;
}

.overview-event-card__date,
.overview-event-card__venue {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--home-muted, #5c6f8d);
  font-size: 0.94rem;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.overview-event-card__date {
  color: var(--home-muted, #5c6f8d);
  font-weight: 400;
}

.overview-empty-state {
  border: 1px dashed var(--home-border, #d6e2f1);
  border-radius: 18px;
  background: var(--home-surface-soft, #f2f6fd);
  padding: 1rem;
}

.overview-empty-state p {
  margin: 0.35rem 0 0.8rem;
}

.newsletter-card {
  justify-content: space-between;
  padding: 1.15rem;
}

.overview-sidebar {
  position: sticky;
  top: 140px;
  display: grid;
  gap: 1rem;
}

.overview-side-card {
  padding: 1rem;
}

.overview-profile-card {
  text-align: center;
}

.overview-avatar {
  display: inline-flex;
  width: 82px;
  height: 82px;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  border-radius: 28px;
  background: linear-gradient(135deg, var(--home-blue, #2367f2), #6fa2f7);
  color: #fff;
  font-size: 2rem;
  font-weight: 900;
  margin-bottom: 0.75rem;
}

.overview-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.overview-profile-card p {
  margin: 0.3rem 0 0.8rem;
}

.overview-details-list {
  display: grid;
  gap: 0.75rem;
  margin: 0.9rem 0;
}

.overview-details-list div {
  display: grid;
  gap: 0.2rem;
}

.overview-details-list dt,
.overview-status-list span {
  color: var(--home-muted, #5c6f8d);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.overview-details-list dd {
  margin: 0;
  color: var(--home-navy, #0f2f63);
  font-weight: 700;
}

.overview-preferences-label {
  margin: 0 0 0.45rem;
  color: var(--home-muted, #5c6f8d);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.overview-pill-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.overview-pill-list span[data-category-color] {
  border: 1px solid var(--category-color-border);
  background: var(--category-color-bg);
  color: var(--category-color-text);
}

.newsletter-status-card {
  display: grid;
  gap: 0.5rem;
  margin-top: 0.85rem;
}

.newsletter-status-card__icon {
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #eef4ff;
  font-size: 1rem;
}

.newsletter-status-card__state {
  margin: 0;
  color: var(--home-navy, #0f2f63);
  font-weight: 800;
}

.overview-status-list {
  display: grid;
  gap: 0.7rem;
  padding: 0;
  margin: 0.9rem 0 0;
  list-style: none;
}

.overview-status-list li {
  display: flex;
  justify-content: space-between;
  gap: 0.7rem;
  border-top: 1px solid #edf2f7;
  padding-top: 0.7rem;
}

.overview-status-list strong {
  color: var(--home-navy, #0f2f63);
  text-align: right;
}

@media (max-width: 1180px) {
  .overview-shell {
    grid-template-columns: 1fr;
  }

  .overview-sidebar {
    position: static;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .overview-hero {
    min-height: 300px;
    padding: 1rem;
  }

  .overview-hero__content {
    max-width: 100%;
  }

  .overview-hero__art {
    inset: 40% -16% -3% 8%;
    opacity: 0.82;
  }

  .overview-hero-stats,
  .overview-sidebar {
    grid-template-columns: 1fr;
  }

  .overview-stat-card--hero {
    width: 100%;
  }

  .overview-section__header,
  .newsletter-card {
    align-items: flex-start;
    flex-direction: column;
  }

  .dashboard-main {
    padding-top: var(--dashboard-tabs-gap);
    padding-bottom: 3rem;
  }

  .dashboard-main .flash-list,
  .dashboard-wrap {
    width: calc(100% - 1.2rem);
  }

  .overview-event-rail {
    --overview-rail-card-width: min(78vw, 250px);
    gap: 0.75rem;
    margin-inline: -0.15rem;
    padding-inline: 0.15rem;
    scroll-snap-type: x mandatory;
  }

  .overview-event-card__body {
    padding: 0.72rem;
  }

  .overview-event-card__media {
    height: 132px;
    max-height: 132px;
    min-height: 132px;
  }

  .overview-event-card .event-card__date-badge {
    left: 0.45rem;
    bottom: -0.5rem;
    border-radius: 9px;
    min-width: 42px;
    padding: 0.2rem 0.22rem;
  }

  .overview-event-card .event-card__body {
    padding-top: 0.8rem;
  }
}

@media (max-width: 560px) {
  .overview-hero {
    min-height: 0;
    padding: 1rem 0.9rem;
  }

  .overview-hero__art {
    inset: 52% -34% -5% -4%;
    opacity: 0.72;
  }
}

.account-settings {
  --account-card-shadow: 0 16px 34px -24px rgba(15, 47, 99, 0.34),
    0 5px 16px -12px rgba(15, 47, 99, 0.18);
  --account-card-shadow-hover: 0 18px 36px -24px rgba(15, 47, 99, 0.38),
    0 8px 20px -14px rgba(15, 47, 99, 0.2);
  --account-info-card-shadow: 0 12px 30px rgba(15, 47, 99, 0.09);
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.tab-panel--account {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  max-width: 100%;
  overflow-x: visible;
}

.tab-panel--account,
.tab-panel--account * {
  min-width: 0;
}

.tab-panel--account .account-settings,
.tab-panel--account .account-settings__form,
.tab-panel--account .account-settings__columns,
.tab-panel--account .account-settings__main-column,
.tab-panel--account .account-settings__sidebar-column,
.tab-panel--account .settings-card,
.tab-panel--account .settings-grid,
.tab-panel--account .settings-grid > *,
.tab-panel--account .city-preferences-card,
.tab-panel--account .selected-city-card,
.tab-panel--account .city-search-wrap,
.tab-panel--account .city-search-results,
.tab-panel--account #followed-cities-chips,
.tab-panel--account .favorite-categories-card,
.tab-panel--account .category-chip-group,
.tab-panel--account .category-pill-choices,
.tab-panel--account .category-choice-pill,
.tab-panel--account .category-choice-pill__content,
.tab-panel--account .newsletter-toggle-card,
.tab-panel--account .security-list,
.tab-panel--account .security-list div,
.tab-panel--account .profile-photo-upload__controls {
  max-width: 100%;
}

.tab-panel--account .city-chip,
.tab-panel--account .city-chip__content,
.tab-panel--account .category-choice-pill__content,
.tab-panel--account .security-list dd,
.tab-panel--account .profile-photo-upload__status {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.tab-panel--account .profile-photo-upload__controls,
.tab-panel--account #followed-cities-chips,
.tab-panel--account .category-pill-choices,
.tab-panel--account .security-list div {
  flex-wrap: wrap;
}

.account-settings__form {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.account-settings__columns {
  display: grid;
  grid-template-columns: minmax(0, 2.35fr) minmax(260px, 0.9fr);
  gap: 1.2rem;
  align-items: start;
  max-width: 100%;
  min-width: 0;
}

.account-settings__main-column,
.account-settings__sidebar-column {
  display: grid;
  align-content: start;
  min-width: 0;
  max-width: 100%;
}

.account-settings__main-column {
  gap: 1.2rem;
}

.account-settings__sidebar-column {
  gap: 1rem;
}

.account-settings-card--sidebar {
  padding: 1.05rem;
}

.account-settings-card--sidebar .settings-help {
  margin-bottom: 0.75rem;
}

.account-settings__actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  padding: 1rem 1.1rem;
  background: #fff;
  border: 1px solid var(--home-border, #d6e2f1);
  border-radius: 22px;
  box-shadow: var(--account-card-shadow, var(--home-shadow, 0 14px 38px rgba(15, 47, 99, 0.12)));
}


.account-settings__cancel {
  border: 1px solid var(--home-border, #d6e2f1);
  background: #fff;
  color: var(--home-navy, #0f2f63);
  border-radius: 999px;
  padding: 0.55rem 1rem;
  font-weight: 700;
  text-decoration: none;
}

.account-settings__cancel:hover,
.account-settings__cancel:focus-visible {
  border-color: #b8c9e1;
  background: #f8fbff;
}

.settings-card {
  background: #fff;
  border: 1px solid var(--home-border, #d6e2f1);
  border-radius: 22px;
  padding: 1.15rem;
  box-shadow: var(--account-card-shadow, var(--home-shadow, 0 14px 38px rgba(15, 47, 99, 0.12)));
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.tab-panel--account .account-settings-card--profile,
.tab-panel--account .account-settings-card--city,
.tab-panel--account .account-settings-card--delete,
.tab-panel--account .account-settings-card--security,
.tab-panel--account .account-settings-card--favorites,
.tab-panel--account .account-settings-card--newsletter {
  background: #fff;
  border: 1px solid var(--home-border, #d6e2f1);
  border-radius: 22px;
  box-shadow: var(--account-info-card-shadow, 0 12px 30px rgba(15, 47, 99, 0.09));
}

.settings-card h3 {
  margin: 0;
  color: var(--home-navy, #0f2f63);
  font-weight: 800;
}

.settings-help {
  color: var(--home-muted, #5c6f8d);
  margin: 0.4rem 0 0.9rem;
  font-size: 0.92rem;
}

.settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
}

.settings-grid__full { grid-column: 1 / -1; }
.settings-grid > * { min-width: 0; }

.profile-card__intro .settings-help {
  margin-bottom: 0;
}

.profile-card__photo-panel {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 1rem 0 1.05rem;
  padding: 1rem;
  border: 1px solid #d8e5f5;
  border-radius: 18px;
  background: linear-gradient(135deg, #f8fbff 0%, #edf4ff 100%);
  min-width: 0;
  max-width: 100%;
}

.profile-avatar {
  width: 92px;
  height: 92px;
  min-width: 92px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #1e3a8a;
  display: grid;
  place-items: center;
  font-size: 1.8rem;
  font-weight: 800;
  overflow: hidden;
  box-shadow: 0 10px 24px rgb(30 58 138 / 14%);
}

.profile-avatar img { width: 100%; height: 100%; object-fit: cover; }

.profile-photo-upload {
  display: grid;
  gap: 0.55rem;
  flex: 1 1 auto;
  min-width: 0;
}

.profile-card__fields {
  margin-top: 0.2rem;
}

.category-chip-group ul,
.settings-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.category-chip-group ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.category-chip-group li label,
.settings-card .newsletter-control label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
}

.category-chip-group li label {
  border: 1px solid #d3deec;
  background: #f8fbff;
  border-radius: 999px;
  padding: 0.45rem 0.7rem;
  font-weight: 500;
}

.newsletter-control {
  border: 1px solid #dbe3ef;
  border-radius: 12px;
  padding: 0.8rem;
  background: #f8fbff;
}

.security-list {
  margin: 0;
  display: grid;
  gap: 0.65rem;
}
.security-list div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid #e5ebf3;
  padding-bottom: 0.45rem;
}
.security-list div:last-child { border-bottom: 0; padding-bottom: 0; }
.security-list dt { font-weight: 600; color: #1e293b; }
.security-list dd { margin: 0; color: #334155; text-align: right; }

.settings-card--danger {
  border-color: var(--home-border, #d6e2f1);
  background:
    linear-gradient(180deg, rgba(255, 248, 248, 0.92), #ffffff 42%);
}

.danger-btn {
  border: 1px solid #dc2626;
  background: #fff;
  color: #b91c1c;
  border-radius: 999px;
  padding: 0.6rem 1rem;
  font-weight: 700;
  cursor: pointer;
}
.danger-btn[disabled],
.danger-btn[aria-disabled="true"] {
  opacity: 0.55;
  cursor: not-allowed;
}

.delete-account-inline-form {
  display: grid;
  gap: 0.7rem;
  margin-top: 0.7rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.delete-account-inline-form input[type="text"] {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.delete-account-inline-actions {
  margin-top: 0.95rem;
}

.delete-account-inline-form .danger-btn {
  width: fit-content;
  justify-self: start;
}

@media (max-width: 768px) {
  .delete-account-inline-actions .danger-btn {
    width: 100%;
    justify-self: stretch;
  }
}


@media (max-width: 980px) {
  .account-settings__columns {
    grid-template-columns: 1fr;
  }

  .account-settings__sidebar-column {
    gap: 1rem;
  }
}

@media (max-width: 768px) {
  .settings-grid { grid-template-columns: 1fr; }
  .security-list div { flex-direction: column; }
  .security-list dd { text-align: left; }
  .account-settings__actions { justify-content: stretch; }
  .account-settings__actions .primary-btn,
  .account-settings__actions .account-settings__cancel { width: 100%; text-align: center; }
  .profile-card__photo-panel { align-items: flex-start; }
}

@media (max-width: 560px) {
  .profile-card__photo-panel {
    flex-direction: column;
  }

  .profile-avatar {
    width: 84px;
    height: 84px;
    min-width: 84px;
  }

  .profile-photo-upload__button {
    width: 100%;
  }
}

.profile-photo-upload__label { display:block; margin-bottom:0; color:#0f2a57; font-weight:800; }
.profile-photo-upload input[type="file"],
#id_profile_photo {
  position: absolute;
  width: 1px;
  height: 1px;
  min-width: 0;
  max-width: 1px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.profile-photo-upload__controls { display:flex; flex-wrap:wrap; align-items:center; gap:0.7rem; max-width:100%; }
.profile-photo-upload__button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #2f6fe4;
  background:#2f6fe4;
  color:#fff;
  border-radius:999px;
  padding:0.5rem 0.95rem;
  font-weight:600;
  cursor:pointer;
}
.profile-photo-upload__button:hover { background:#2459b8; border-color:#2459b8; }
.profile-photo-upload__status { color:#475569; font-size:0.9rem; min-width:0; }
.profile-photo-upload__help { margin:0; }

.city-search-results { display:flex; flex-direction:column; gap:6px; margin-top:8px; max-height:220px; overflow:auto; }
.city-search-result { text-align:left; border:1px solid #d6e0ef; background:#fff; border-radius:10px; padding:8px 10px; cursor:pointer; }
.city-search-result:hover { background:#f3f8ff; }
#followed-cities-chips { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0; min-width:0; max-width:100%; }
.city-chip { display:inline-flex; align-items:center; gap:8px; background:#edf4ff; color:#1c2f57; border:1px solid #cbdcff; border-radius:999px; padding:6px 10px; max-width:100%; min-width:0; }
.city-chip__content { display:inline-flex; align-items:center; gap:8px; min-width:0; max-width:100%; }
.city-chip__content svg { width:16px; height:16px; color:#2757d4; }
.city-chip button { border:0; background:transparent; color:#1c2f57; font-weight:700; cursor:pointer; }
.newsletter-toggle-card { border:1px solid #d8e2f0; border-radius:14px; padding:14px; background:#f9fcff; }
.newsletter-toggle { display:flex; align-items:center; gap:10px; cursor:pointer; font-weight:600; color:#16305a; }
.newsletter-toggle input {
  position:absolute;
  width:1px;
  height:1px;
  min-width:0;
  max-width:1px;
  padding:0;
  margin:0;
  opacity:0;
  pointer-events:none;
}
.newsletter-toggle__slider { width:46px; height:26px; background:#c8d5eb; border-radius:999px; position:relative; transition:all .2s; }
.newsletter-toggle__slider::after { content:""; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:white; transition:all .2s; }
.newsletter-toggle input:checked + .newsletter-toggle__slider { background:#2f6fe4; }
.newsletter-toggle input:checked + .newsletter-toggle__slider::after { left:23px; }
@media (max-width: 640px) { .city-search-results { max-width:100%; } }

.category-pill-choices { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:10px; }
.category-pill-choices li { margin:0; }
.category-pill-choices label { display:inline-flex; align-items:center; gap:8px; border:1px solid #c7d8f1; border-radius:999px; padding:8px 12px; background:#fff; color:#173360; cursor:pointer; }
.category-pill-choices input:checked + * { font-weight:700; }
.category-pill-choices input { accent-color:#2f6fe4; }


.category-chip-group .category-pill-choices {
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:0.6rem;
}
.category-chip-group .category-pill-choices li { margin:0; }
.category-chip-group .category-pill-choices label {
  position:relative;
  margin:0;
  display:inline-flex;
  align-items:center;
}
.category-chip-group .category-pill-choices input {
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.category-chip-group .category-pill-choices label > span {
  display:inline-flex;
  align-items:center;
  border:1px solid #ccd9ec;
  background:#f8fbff;
  color:#1e3a5f;
  border-radius:999px;
  padding:0.46rem 0.82rem;
  font-weight:600;
  transition:all 0.18s ease;
}
.category-chip-group .category-pill-choices label input:checked + span {
  border-color:#2f6fe4;
  background:#2f6fe4;
  color:#fff;
  box-shadow:0 4px 14px rgb(47 111 228 / 25%);
}

.newsletter-toggle-row { display:flex; align-items:center; gap:0.8rem; margin-bottom:0.5rem; }
.newsletter-toggle__content { display:grid; gap:0.2rem; }
.newsletter-toggle__title { margin:0; color:#16305a; font-weight:700; }
.newsletter-toggle__state { margin:0; color:#334155; font-size:0.9rem; font-weight:600; }

.security-list div {
  align-items:center;
  border:1px solid #e6edf7;
  border-radius:12px;
  padding:0.7rem 0.8rem;
  background:#fbfdff;
}
.security-list div:last-child { border-bottom:1px solid #e6edf7; padding-bottom:0.7rem; }
.security-status-pill {
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:0.25rem 0.62rem;
  font-size:0.82rem;
  font-weight:700;
}
.security-status-pill--success { background:#e8f9ef; color:#166534; border:1px solid #b8e5c8; }
.security-status-pill--muted { background:#edf2fa; color:#334155; border:1px solid #d8e2ef; }

@media (max-width: 768px) {
  .newsletter-toggle-row { align-items:flex-start; }
}

.city-preferences-card { background:#fff; }
.city-preferences-card__header { display:flex; align-items:flex-start; gap:.9rem; margin-bottom:1rem; min-width:0; }
.city-preferences-card__icon { width:56px; height:56px; min-width:56px; border-radius:999px; border:1px solid #d8e6fb; background:#edf4ff; color:#2456d3; display:grid; place-items:center; }
.city-preferences-card__icon svg { width:26px; height:26px; }
.city-preferences-card__header .settings-help { margin-top:.15rem; max-width:680px; }
.selected-city-card { border:1px solid #cfe0f8; background:#f4f8ff; border-radius:16px; padding:1rem; display:flex; align-items:center; gap:1rem; min-width:0; max-width:100%; }
.selected-city-card__icon { width:68px; height:68px; min-width:68px; border-radius:999px; border:1px solid #bdd4fb; background:#e9f1ff; color:#2456d3; display:grid; place-items:center; }
.selected-city-card__icon svg { width:36px; height:36px; }
.selected-city-card__content { display:grid; gap:.2rem; min-width:0; }
.selected-city-card__label { color:#3f5f93; font-size:0.9rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.selected-city-card strong { color:#0f2a57; font-size:2rem; line-height:1.15; overflow-wrap:anywhere; word-break:break-word; }
.selected-city-card--empty { border-style:dashed; }
#home-city-search-wrap { margin-top:.85rem; }
.city-search-wrap { display:grid; gap:.45rem; }

.city-search-result[disabled] { opacity:0.6; cursor:not-allowed; }
.city-chip { max-width:100%; }
.city-chip span { white-space:normal; word-break:break-word; }

.favorite-categories-card__header { display:flex; align-items:flex-start; gap:.9rem; margin-bottom:1rem; min-width:0; }
.favorite-categories-card__icon { width:56px; height:56px; min-width:56px; border-radius:999px; border:1px solid #d8e6fb; background:#f4f8ff; color:#4044e0; display:grid; place-items:center; }
.favorite-categories-card__icon svg { width:27px; height:27px; }
.favorite-categories-card__header .settings-help { margin-top:.2rem; max-width:690px; }

.category-chip-group .category-pill-choices { display:flex; flex-wrap:wrap; gap:.5rem; }
.category-chip-group .category-pill-choices,
.category-chip-group .category-pill-choices > label.category-choice-pill {
  min-width: 0;
  max-width: 100%;
}
.category-choice-pill { margin:0; cursor:pointer; position:relative; display:inline-flex; }
.category-choice-pill input {
  position:absolute;
  width:1px;
  height:1px;
  min-width:0;
  max-width:1px;
  padding:0;
  margin:0;
  opacity:0;
  pointer-events:none;
}

.category-chip-group .category-pill-choices > label.category-choice-pill {
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  box-shadow: none;
}
.category-choice-pill__content {
  border: 1px solid color-mix(in srgb, var(--category-color-border, #d9e2f2) 45%, #e2e8f0);
  border-radius: 999px;
  padding: 0.42rem 0.78rem;
  font-size: 0.82rem;
  background: #ffffff;
  color: color-mix(in srgb, var(--category-color-text, #1e40af) 78%, #64748b);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  font-weight: 550;
  line-height: 1.05;
  min-height: 34px;
  white-space: normal;
  box-shadow: 0 1px 4px rgb(15 23 42 / 5%);
  transition: transform 0.18s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.category-choice-pill__meta { display:inline-flex; align-items:center; gap:.38rem; }
.category-choice-pill .chip-icon { width:20px; height:20px; min-width:20px; opacity:.84; filter:saturate(.9); transition:opacity .2s ease, filter .2s ease; }
.category-choice-pill__indicator { display:none; font-size:.84rem; font-weight:800; margin-left:.2rem; }
.category-choice-pill:hover .category-choice-pill__content {
  background: color-mix(in srgb, var(--category-color-bg, #dbeafe) 38%, #ffffff);
  transform: translateY(-1px);
  box-shadow: 0 8px 16px rgb(15 23 42 / 11%);
  border-color: color-mix(in srgb, var(--category-color-border, #bfdbfe) 62%, #cbd5e1);
}
.category-choice-pill:hover .chip-icon { opacity:.95; filter:saturate(1); }
.category-choice-pill.is-selected .category-choice-pill__content {
  background: color-mix(in srgb, var(--category-color-bg, #dbeafe) 82%, #ffffff);
  color: color-mix(in srgb, var(--category-color-text, #1e40af) 92%, #0f172a);
  border-color: color-mix(in srgb, var(--category-color-border, #1d4ed8) 82%, var(--category-color-text, #1e40af));
  box-shadow: 0 9px 20px rgb(15 23 42 / 14%), 0 2px 8px color-mix(in srgb, var(--category-color-text, #2563eb) 24%, transparent);
  font-weight:700;
  transform:translateY(-1px);
}
.category-choice-pill.is-selected .chip-icon { opacity:1; filter:saturate(1.16) contrast(1.04); }
.category-choice-pill.is-selected .category-choice-pill__indicator { display:inline-flex; color:currentColor; }
.category-choice-pill.is-selected .category-choice-pill__indicator::before { content:"✓"; }

@media (max-width: 640px) {
  .favorite-categories-card__header { align-items:center; }
  .favorite-categories-card__icon { width:48px; height:48px; min-width:48px; }
  .city-preferences-card__header { align-items:center; }
  .city-preferences-card__icon { width:48px; height:48px; min-width:48px; }
  .selected-city-card { padding:.9rem; gap:.75rem; }
  .selected-city-card__icon { width:56px; height:56px; min-width:56px; }
  .selected-city-card strong { font-size:1.5rem; }
  .category-chip-group .category-pill-choices { gap:.6rem; }
  .category-choice-pill { width:100%; }
  .category-choice-pill__content { width:100%; min-width:0; }
}



.organization-settings,
.organization-settings * {
  min-width: 0;
}

.organization-settings {
  max-width: 100%;
  overflow-x: visible;
}

.organization-settings__header {
  margin-bottom: 1rem;
}

.organization-settings__header h2 {
  margin: 0.65rem 0 0.35rem;
  color: var(--home-navy, #0f2f63);
  font-size: clamp(2rem, 4vw, 3.1rem);
  line-height: 1.04;
}

.organization-settings__header p {
  max-width: 720px;
  margin: 0;
}

.organization-settings__form {
  display: grid;
  gap: 1rem;
  max-width: 100%;
}

.organization-settings__columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 1rem;
  align-items: start;
  max-width: 100%;
}

.organization-settings__main-column,
.organization-settings__sidebar-column,
.organization-settings-stack {
  display: grid;
  gap: 1rem;
}

.organization-settings-card,
.organization-settings__actions {
  background: #fff;
  border: 1px solid var(--home-border, #d6e2f1);
  border-radius: 22px;
  box-shadow: var(--home-shadow, 0 14px 38px rgba(15, 47, 99, 0.12));
}

.organization-settings-card {
  padding: 1.15rem;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.organization-settings-card__header {
  margin-bottom: 0.95rem;
}

.organization-settings-card h3 {
  margin: 0;
  color: var(--home-navy, #0f2f63);
  font-weight: 800;
}

.organization-settings-card .settings-help {
  margin-bottom: 0;
}

.organization-settings-grid input,
.organization-settings-grid textarea,
.organization-settings-stack input {
  background: #fff;
  border-color: #d6e2f1;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85);
}

.organization-settings-grid textarea {
  min-height: 9.5rem;
  resize: none;
}

.organization-logo-upload {
  display: grid;
  gap: 0.75rem;
  justify-items: center;
  text-align: center;
  max-width: 100%;
}

.organization-logo-upload__preview {
  display: grid;
  place-items: center;
  width: min(100%, 11rem);
  height: auto;
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px dashed #b8c9e1;
  border-radius: 24px;
  background: linear-gradient(145deg, #f8fbff, #eef5ff);
  color: var(--home-navy, #0f2f63);
}

.organization-logo-upload__preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.organization-logo-upload__preview span {
  display: grid;
  place-items: center;
  width: 4rem;
  height: 4rem;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 47, 99, 0.12);
  font-size: 1.8rem;
  font-weight: 800;
}

.organization-logo-upload__preview p {
  margin: 0.35rem 0 0;
  color: #5f708a;
  font-weight: 700;
}

.organization-logo-upload__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.72rem 1rem;
  border: 1px solid var(--home-border, #d6e2f1);
  border-radius: 999px;
  background: #fff;
  color: var(--home-navy, #0f2f63);
  box-shadow: 0 8px 20px rgba(15, 47, 99, 0.08);
  cursor: pointer;
  font-weight: 800;
}

.organization-logo-upload__button:hover,
.organization-logo-upload__button:focus-visible {
  border-color: #b8c9e1;
  background: #f8fbff;
}

.organization-logo-upload__input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  min-width: 0;
  max-width: 1px;
  padding: 0;
  margin: 0;
  border: 0;
}

.organization-logo-upload--basic {
  display: flex;
  align-items: center;
  justify-items: stretch;
  text-align: left;
  gap: 1rem;
  margin: 1rem 0 1.05rem;
  padding: 1rem;
  border: 1px solid #d8e5f5;
  border-radius: 18px;
  background: linear-gradient(135deg, #f8fbff 0%, #edf4ff 100%);
  min-width: 0;
  max-width: 100%;
}

.organization-logo-upload--basic .organization-logo-upload__preview {
  width: 92px;
  height: 92px;
  min-width: 92px;
  border-style: solid;
  border-radius: 20px;
  box-shadow: 0 10px 24px rgba(30, 58, 138, 0.14);
}

.organization-logo-upload__details {
  display: grid;
  flex: 1 1 auto;
  gap: 0.45rem;
  min-width: 0;
}

.organization-logo-upload__label {
  display: block;
  margin-bottom: 0;
  color: #0f2a57;
  font-weight: 800;
}

.organization-logo-upload__controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.7rem;
  max-width: 100%;
}

.organization-logo-upload--basic .organization-logo-upload__button {
  border-color: #2f6fe4;
  background: #2f6fe4;
  color: #fff;
  box-shadow: none;
}

.organization-logo-upload--basic .organization-logo-upload__button:hover,
.organization-logo-upload--basic .organization-logo-upload__button:focus-visible {
  border-color: #2459b8;
  background: #2459b8;
}

.organization-completeness-logo {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  margin: 0 0 0.9rem;
  overflow: hidden;
  border: 1px solid #d8e5f5;
  border-radius: 18px;
  background: linear-gradient(145deg, #f8fbff, #eef5ff);
  color: var(--home-navy, #0f2f63);
  font-size: 1.35rem;
  font-weight: 800;
}

.organization-completeness-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.organization-completeness-list {
  display: grid;
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.organization-completeness-list li {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  color: #5f708a;
  font-weight: 700;
}

.organization-completeness-list span {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 1.05rem;
  height: 1.05rem;
  border: 2px solid #cbd8ea;
  border-radius: 999px;
  background: #fff;
}

.organization-completeness-list .is-complete {
  color: var(--home-navy, #0f2f63);
}

.organization-completeness-list .is-complete span {
  border-color: #2fb36d;
  background: #2fb36d;
}

.organization-completeness-list .is-complete span::after {
  content: "";
  width: 0.32rem;
  height: 0.55rem;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) translateY(-1px);
}

.organization-settings__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  padding: 1rem 1.1rem;
}

.organization-settings__cancel {
  border: 1px solid var(--home-border, #d6e2f1);
  background: #fff;
  color: var(--home-navy, #0f2f63);
}

.organization-settings__cancel:hover,
.organization-settings__cancel:focus-visible {
  border-color: #b8c9e1;
  background: #f8fbff;
}

@media (max-width: 980px) {
  .organization-settings__columns {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .organization-settings-card,
  .organization-settings__actions {
    border-radius: 18px;
    padding: 1rem;
  }

  .organization-settings-grid {
    grid-template-columns: 1fr;
  }

  .organization-logo-upload--basic {
    flex-direction: column;
    align-items: center;
    justify-items: center;
    text-align: center;
  }

  .organization-logo-upload--basic .organization-logo-upload__details {
    width: 100%;
  }

  .organization-logo-upload__controls {
    justify-content: center;
  }

  .organization-logo-upload--basic .organization-logo-upload__button {
    width: 100%;
  }

  .organization-settings__actions {
    justify-content: stretch;
  }

  .organization-settings__actions .primary-btn,
  .organization-settings__actions .organization-settings__cancel {
    width: 100%;
    text-align: center;
  }
}

.organizer-shell {
  --organizer-card-shadow: var(--home-shadow, 0 14px 38px rgba(15, 47, 99, 0.12));
  --organizer-card-shadow-hover: var(--home-shadow, 0 14px 38px rgba(15, 47, 99, 0.12));
  --organizer-rail-card-shadow: var(--home-shadow, 0 14px 38px rgba(15, 47, 99, 0.12));
  --organizer-rail-card-shadow-hover: var(--home-shadow, 0 14px 38px rgba(15, 47, 99, 0.12));
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 1rem;
  align-items: start;
  max-width: 100%;
  min-width: 0;
  overflow-x: visible;
}

.tab-panel--organizer {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  max-width: 100%;
  overflow-x: visible;
}

.tab-panel--organization,
.tab-panel--organization-settings {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  max-width: 100%;
  overflow-x: visible;
}

.tab-panel--organization,
.tab-panel--organization-settings,
.tab-panel--organization *,
.tab-panel--organization-settings * {
  min-width: 0;
}

.organizer-shell,
.organizer-shell * {
  min-width: 0;
}

.organizer-main,
.organizer-sidebar {
  min-width: 0;
}

.organizer-main,
.organizer-sidebar {
  display: grid;
  gap: 1rem;
}

.organizer-sidebar {
  position: static;
  top: auto;
}

.organizer-hero-card,
.organizer-card,
.organizer-stat-card,
.organizer-post-card {
  background: #fff;
  border: 1px solid var(--home-border, #d6e2f1);
  border-radius: 22px;
  box-shadow: var(--organizer-card-shadow, var(--home-shadow, 0 14px 38px rgba(15, 47, 99, 0.12)));
}

.organizer-hero-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(1.25rem, 4vw, 3rem);
  min-height: 210px;
  padding: 1.7rem 1.6rem;
  background:
    radial-gradient(circle at 84% 18%, rgba(37, 99, 235, 0.14), transparent 28%),
    radial-gradient(circle at 70% 86%, rgba(125, 211, 196, 0.22), transparent 32%),
    linear-gradient(150deg, #ffffff 16%, #f3f7ff 100%);
}

.organizer-hero-card__content {
  position: relative;
  z-index: 2;
  flex: 1 1 520px;
  max-width: 560px;
}

.organizer-hero-card h2 {
  margin: 0.7rem 0 0.45rem;
  color: var(--home-navy, #0f2f63);
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.02;
}

.organizer-hero-card p {
  max-width: 520px;
  margin: 0;
  color: var(--home-muted, #5c6f8d);
  font-size: 1.03rem;
  line-height: 1.5;
}

.organizer-hero-card__art {
  position: relative;
  z-index: 1;
  flex: 0 1 575px;
  align-self: center;
  display: flex;
  justify-content: flex-end;
  max-width: min(52%, 575px);
  pointer-events: none;
}

.organizer-hero-card__art img {
  display: block;
  width: min(575px, 100%);
  max-width: 100%;
  max-height: 225px;
  height: auto;
  object-fit: contain;
}

.organizer-card {
  padding: 1rem;
  overflow: hidden;
}

.organizer-card h3 {
  margin: 0;
  color: var(--home-navy, #0f2f63);
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  line-height: 1.15;
}

.organizer-section-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
  margin-bottom: 0.9rem;
}

.organizer-section-header p {
  margin: 0.25rem 0 0;
}

.organizer-summary-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.8rem;
  margin: 0;
}

.organizer-summary-item {
  border: 1px solid #e1e9f5;
  border-radius: 16px;
  background: var(--home-surface-soft, #f2f6fd);
  padding: 0.9rem;
}

.organizer-summary-item--wide {
  grid-column: auto;
}

.organizer-summary-list dt {
  color: var(--home-muted, #5c6f8d);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.organizer-summary-list dd {
  margin: 0.32rem 0 0;
  color: var(--home-navy, #0f2f63);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.organizer-summary-list dd p {
  margin: 0.35rem 0 0;
  font-weight: 500;
  line-height: 1.4;
}

.organizer-post-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  min-height: 118px;
  padding: 1.35rem;
  background: #fff;
  color: inherit;
  text-align: center;
  border-color: rgba(214, 226, 241, 0.92);
  box-shadow: var(--organizer-card-shadow, var(--home-shadow, 0 14px 38px rgba(15, 47, 99, 0.12)));
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.organizer-post-card:not(.organizer-post-card--disabled):hover {
  border-color: rgba(35, 103, 242, 0.22);
  box-shadow: var(--organizer-card-shadow-hover, var(--home-shadow, 0 14px 38px rgba(15, 47, 99, 0.12)));
  transform: translateY(-1px);
}

.organizer-post-card--disabled {
  opacity: 0.68;
}

.organizer-post-card__button {
  display: inline-flex;
  width: min(100%, 17rem);
  min-height: 3.45rem;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  border-radius: 999px;
  background:
    radial-gradient(circle at 84% 8%, rgba(255, 255, 255, 0.28), transparent 35%),
    linear-gradient(135deg, #0f63ff 0%, var(--home-blue, #2367f2) 48%, #3b8cff 100%);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.38);
  appearance: none;
  cursor: pointer;
  font: inherit;
  font-size: clamp(0.98rem, 1.8vw, 1.08rem);
  font-weight: 900;
  letter-spacing: -0.01em;
  text-decoration: none;
  line-height: 1;
  padding: 0.78rem 1.2rem;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    0 12px 24px rgba(35, 103, 242, 0.24);
  transition: filter 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.organizer-post-card__button-icon {
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #fff;
  color: var(--home-blue, #2367f2);
  font-size: 1.38rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 5px 12px rgba(15, 47, 99, 0.14);
}

.organizer-post-card__button:hover,
.organizer-post-card__button:focus-visible {
  filter: brightness(1.04);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.32),
    0 15px 28px rgba(35, 103, 242, 0.3);
  transform: translateY(-1px);
}

.organizer-post-card__button:focus-visible {
  outline: 3px solid rgba(35, 103, 242, 0.24);
  outline-offset: 3px;
}

.organizer-post-card--disabled .organizer-post-card__button {
  background: #94a3b8;
  box-shadow: none;
  cursor: not-allowed;
  filter: none;
  transform: none;
}

.organizer-post-card--disabled .organizer-post-card__button-icon {
  color: #64748b;
  box-shadow: none;
}

.organizer-stats-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.6rem;
}

.organizer-stat-card {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 0.62rem;
  align-items: center;
  min-height: 96px;
  padding: 0.72rem 0.78rem;
  color: inherit;
  text-align: left;
  text-decoration: none;
  box-shadow: var(--organizer-card-shadow, var(--home-shadow, 0 14px 38px rgba(15, 47, 99, 0.12)));
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

a.organizer-stat-card,
button.organizer-stat-card {
  cursor: pointer;
}

button.organizer-stat-card {
  width: 100%;
  appearance: none;
  font: inherit;
}

a.organizer-stat-card:hover,
a.organizer-stat-card:focus-visible {
  border-color: rgba(35, 103, 242, 0.42);
  box-shadow: var(--organizer-card-shadow-hover, var(--home-shadow, 0 14px 38px rgba(15, 47, 99, 0.12)));
  transform: translateY(-1px);
}

a.organizer-stat-card:focus-visible {
  outline: 3px solid rgba(35, 103, 242, 0.24);
  outline-offset: 3px;
}

button.organizer-stat-card:disabled {
  cursor: not-allowed;
  opacity: 0.68;
}

.organizer-stat-icon {
  grid-row: span 3;
  display: inline-flex;
  width: 2.12rem;
  height: 2.12rem;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: #eef4ff;
  color: var(--home-blue, #2367f2);
  font-size: 1rem;
  font-weight: 900;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.organizer-stat-icon svg {
  display: block;
  width: 1.02rem;
  height: 1.02rem;
}

.organizer-stat-card--live .organizer-stat-icon { background: #dcfce7; color: #16a34a; }
.organizer-stat-card--drafts .organizer-stat-icon { background: #fff7ed; color: #f59e0b; }
.organizer-stat-card--archived .organizer-stat-icon { background: #f1f5f9; color: #475569; }
.organizer-stat-card--post .organizer-stat-icon { background: #dbeafe; color: var(--home-blue, #2367f2); }

.organizer-stat-label {
  display: block;
  color: var(--home-navy, #0f2f63);
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1.18;
}

.organizer-stat-card strong {
  display: block;
  margin-top: 0.06rem;
  color: var(--home-navy, #0f2f63);
  font-size: 1.72rem;
  line-height: 1;
}

.organizer-stat-help {
  display: block;
  margin-top: 0.12rem;
  color: var(--home-muted, #5c6f8d);
  font-size: 0.8rem;
  line-height: 1.2;
}

.organizer-events-section--drafts {
  background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
}

.organizer-event-list {
  display: grid;
  gap: 0.75rem;
}

.organizer-event-row {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) auto auto;
  gap: 0.85rem;
  align-items: center;
  border: 1px solid #e1e9f5;
  border-radius: 18px;
  background: #fff;
  padding: 0.75rem;
  box-shadow: 0 5px 16px rgba(15, 47, 99, 0.04);
}

.organizer-event-row--compact {
  grid-template-columns: minmax(0, 1fr) auto auto;
  background: #fbfdff;
}

.organizer-event-list--drafts .organizer-event-row {
  border-color: #dbeafe;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.organizer-event-list--archived .organizer-event-row {
  background: #fbfcfe;
}

.organizer-event-row img {
  display: block;
  width: 76px;
  height: 76px;
  max-width: 100%;
  object-fit: cover;
  border: 1px solid #dbe3f0;
  border-radius: 14px;
  background: #f2f6fd;
}

.organizer-event-row__body {
  display: grid;
  gap: 0.22rem;
}

.organizer-event-row h4 {
  margin: 0;
  color: var(--home-navy, #0f2f63);
  font-size: 1rem;
  line-height: 1.28;
}

.organizer-event-meta,
.organizer-event-location {
  margin: 0;
  color: var(--home-muted, #5c6f8d);
  font-size: 0.88rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.organizer-event-location::before {
  content: "📍";
  margin-right: 0.18rem;
  font-size: 0.8rem;
}

.organizer-event-meta::before {
  content: "🗓";
  margin-right: 0.18rem;
  font-size: 0.8rem;
}

.organizer-event-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}

.organizer-event-actions .submitted-event-link {
  display: inline-flex;
  min-height: 2.08rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--home-border, #d6e2f1);
  border-radius: 10px;
  background: #fff;
  color: var(--home-blue, #2367f2);
  font-size: 0.86rem;
  font-weight: 800;
  padding: 0.48rem 0.78rem;
  text-decoration: none;
}

.organizer-event-actions .submitted-event-link:hover {
  background: var(--home-surface-soft, #f2f6fd);
}


.organizer-events-section {
  min-width: 0;
  max-width: 100%;
  overflow: visible;
}

.organizer-event-rail {
  --overview-rail-card-width: clamp(260px, 28vw, 292px);
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0.9rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0.1rem 0.1rem 0.6rem;
  scroll-padding-inline: 0.1rem;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.organizer-event-card {
  position: relative;
  flex: 0 0 var(--overview-rail-card-width);
  width: var(--overview-rail-card-width);
  max-width: var(--overview-rail-card-width);
  min-width: var(--overview-rail-card-width);
  border: 1px solid #dbe6f5;
  border-radius: 22px;
  box-shadow: var(--organizer-rail-card-shadow, var(--home-shadow, 0 14px 38px rgba(15, 47, 99, 0.12)));
  transition: transform 0.18s ease, box-shadow 0.18s ease;
  scroll-snap-align: start;
}


.organizer-event-card:hover {
  box-shadow: var(--organizer-rail-card-shadow-hover, var(--home-shadow, 0 14px 38px rgba(15, 47, 99, 0.12)));
}

.organizer-event-card__click-target {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
}

.organizer-event-card__click-target:focus-visible {
  outline: 3px solid rgba(35, 103, 242, 0.24);
  outline-offset: 3px;
}

.organizer-event-card__media {
  height: 132px;
  max-height: 132px;
  min-height: 132px;
}

.organizer-event-card__body {
  position: relative;
  z-index: 2;
  gap: 0.26rem;
  padding: 1.2rem 0.86rem 0.9rem;
  pointer-events: none;
}


.organizer-event-card .event-card__body h3 {
  font-size: 1rem;
  line-height: 1.24;
}

.organizer-event-card .event-card__meta,
.organizer-event-card .event-card__location {
  font-size: 0.86rem;
  line-height: 1.28;
}

.organizer-event-card__category {
  display: inline-flex;
  justify-self: start;
  align-self: start;
  width: auto;
  inline-size: auto;
  max-width: 100%;
  margin-top: 0.16rem;
  padding: 0.2rem 0.5rem;
  font-size: 0.72rem;
  line-height: 1.12;
  white-space: normal;
  overflow-wrap: anywhere;
}

.organizer-event-card__category + .event-card__meta {
  margin-top: 0.26rem;
}

.organizer-event-card__body .status-badge {
  width: fit-content;
  margin-top: 0.24rem;
}

.organizer-event-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.48rem;
  pointer-events: auto;
}

.organizer-event-card__actions form {
  display: inline-flex;
  margin: 0;
}

.organizer-event-action,
.organizer-event-card__actions .submitted-event-link {
  display: inline-flex;
  min-height: 2.12rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--home-border, #d6e2f1);
  border-radius: 999px;
  background: #fff;
  color: var(--home-blue, #2367f2);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 850;
  line-height: 1;
  padding: 0.48rem 0.76rem;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(15, 47, 99, 0.06);
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.organizer-event-action:hover,
.organizer-event-action:focus-visible,
.organizer-event-card__actions .submitted-event-link:hover,
.organizer-event-card__actions .submitted-event-link:focus-visible {
  background: var(--home-surface-soft, #f2f6fd);
  border-color: rgba(35, 103, 242, 0.28);
  box-shadow: 0 7px 16px rgba(15, 47, 99, 0.09);
  transform: translateY(-1px);
}

.organizer-event-action:focus-visible,
.organizer-event-card__actions .submitted-event-link:focus-visible {
  outline: 3px solid rgba(35, 103, 242, 0.22);
  outline-offset: 2px;
}

.organizer-event-action--secondary {
  background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
}

.organizer-event-action--danger,
.organizer-event-card__actions .submitted-event-link--danger {
  border-color: #fecaca;
  background: #fff;
  color: #b42318;
  box-shadow: 0 4px 12px rgba(185, 28, 28, 0.05);
}

.organizer-event-action--danger:hover,
.organizer-event-action--danger:focus-visible,
.organizer-event-card__actions .submitted-event-link--danger:hover,
.organizer-event-card__actions .submitted-event-link--danger:focus-visible {
  border-color: #fca5a5;
  background: #fff7f7;
  color: #991b1b;
  box-shadow: 0 7px 16px rgba(185, 28, 28, 0.08);
}

.organizer-cancel-modal[hidden] {
  display: none;
}

.organizer-cancel-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 1rem;
  overflow-y: auto;
}

.organizer-cancel-modal__overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.48);
}

.organizer-cancel-modal__dialog {
  position: relative;
  z-index: 1;
  width: calc(100% - 2rem);
  max-width: 440px;
  border: 1px solid rgba(214, 226, 241, 0.9);
  border-radius: 24px;
  background: #fff;
  padding: clamp(1.1rem, 4vw, 1.5rem);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.22);
}

.organizer-cancel-modal__dialog:focus {
  outline: none;
}

.organizer-cancel-modal__dialog h3 {
  margin: 0;
  color: var(--home-navy, #0f2f63);
  font-size: clamp(1.25rem, 5vw, 1.55rem);
  line-height: 1.2;
}

.organizer-cancel-modal__dialog p {
  margin: 0.7rem 0 0;
  color: var(--home-muted, #5c6f8d);
  font-size: 0.98rem;
  line-height: 1.55;
}

.organizer-cancel-modal__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.7rem;
  margin-top: 1.25rem;
}

.organizer-cancel-modal__button {
  display: inline-flex;
  min-height: 2.65rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--home-border, #d6e2f1);
  border-radius: 999px;
  background: #fff;
  color: var(--home-navy, #0f2f63);
  cursor: pointer;
  font: inherit;
  font-size: 0.92rem;
  font-weight: 850;
  line-height: 1;
  padding: 0.75rem 1rem;
}

.organizer-cancel-modal__button:focus-visible {
  outline: 3px solid rgba(35, 103, 242, 0.24);
  outline-offset: 2px;
}

.organizer-cancel-modal__button--keep:hover,
.organizer-cancel-modal__button--keep:focus-visible {
  background: var(--home-surface-soft, #f2f6fd);
}

.organizer-cancel-modal__button--confirm {
  border-color: #fca5a5;
  background: #b91c1c;
  color: #fff;
}

.organizer-cancel-modal__button--confirm:hover,
.organizer-cancel-modal__button--confirm:focus-visible {
  background: #991b1b;
}

.organizer-cancel-modal__button--confirm:disabled {
  cursor: wait;
  opacity: 0.72;
}

.organizer-cancel-modal-open {
  overflow: hidden;
}

.organizer-event-card--drafts {
  border-color: #dbeafe;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.organizer-event-card--archived {
  background: #fbfcfe;
}

.organizer-empty-state {
  border: 1px dashed var(--home-border, #d6e2f1);
  border-radius: 18px;
  background: var(--home-surface-soft, #f2f6fd);
  padding: 1rem;
}

.organizer-empty-state strong {
  display: block;
  color: var(--home-navy, #0f2f63);
}

.organizer-empty-state p {
  margin: 0.35rem 0 0;
}

@media (max-width: 1180px) {
  .organizer-shell {
    grid-template-columns: 1fr;
  }

  .organizer-main {
    display: contents;
  }

  .organizer-sidebar {
    position: static;
    order: 2;
  }

  .organizer-hero-card {
    order: 1;
  }

  .organizer-events-section {
    order: 3;
  }
}

@media (max-width: 980px) {
  .organizer-hero-card {
    min-height: 0;
    flex-direction: row;
    align-items: center;
  }

  .organizer-hero-card__art {
    position: absolute;
    right: clamp(0.5rem, 4vw, 1.25rem);
    bottom: 0.25rem;
    width: clamp(240px, 42vw, 340px);
    max-width: 70%;
    opacity: 0.26;
  }

  .organizer-hero-card__art img {
    width: 100%;
    max-height: none;
  }

  .organizer-event-row {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .organizer-event-row .status-badge,
  .organizer-event-actions {
    grid-column: 2;
    justify-self: start;
  }

  .organizer-event-row img {
    width: 64px;
    height: 64px;
  }

  .organizer-event-row--compact {
    grid-template-columns: minmax(0, 1fr);
  }

  .organizer-event-row--compact .status-badge,
  .organizer-event-row--compact .organizer-event-actions {
    grid-column: 1;
  }
}

@media (max-width: 640px) {
  .organizer-hero-card,
  .organizer-card,
  .organizer-post-card {
    border-radius: 18px;
    padding: 1rem;
  }

  .organizer-hero-card h2 {
    font-size: clamp(2rem, 12vw, 2.6rem);
  }

  .organizer-hero-card__art {
    right: 0.25rem;
    bottom: 0.2rem;
    width: clamp(240px, 72vw, 320px);
    max-width: 82%;
    opacity: 0.22;
  }

  .organizer-stats-grid {
    grid-template-columns: 1fr;
  }
  .organizer-post-card {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .organizer-post-card__button {
    grid-column: 1 / -1;
    justify-self: start;
  }


  .organizer-section-header {
    flex-direction: column;
  }

  .organizer-event-row,
  .organizer-event-row--compact {
    grid-template-columns: 1fr;
  }

  .organizer-event-row img {
    width: 100%;
    height: 148px;
  }

  .organizer-event-row .status-badge,
  .organizer-event-actions {
    grid-column: 1;
  }

  .organizer-event-actions,
  .organizer-event-actions .submitted-event-link {
    width: 100%;
  }

  .organizer-event-rail {
    --overview-rail-card-width: min(78vw, 250px);
    gap: 0.75rem;
    padding-inline: 0.15rem;
    scroll-snap-type: x mandatory;
  }

  .organizer-event-card__media {
    height: 120px;
    max-height: 120px;
    min-height: 120px;
  }

  .organizer-event-card__actions,
  .organizer-event-card__actions .submitted-event-link,
  .organizer-event-action,
  .organizer-event-card__actions form {
    width: 100%;
  }

  .organizer-cancel-modal {
    padding: 0.75rem;
  }

  .organizer-cancel-modal__dialog {
    width: calc(100% - 1rem);
    border-radius: 20px;
  }

  .organizer-cancel-modal__actions,
  .organizer-cancel-modal__button {
    width: 100%;
  }
}



.event-description-textarea {
  resize: none;
  min-height: 10rem;
}
.occurrence-row__head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: center;
  flex-wrap: wrap;
}
.occurrence-rows {
  gap: 0.75rem;
}
.remove-occurrence-row {
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 0.35rem 0.8rem;
  background: #fff;
  cursor: pointer;
}


@media (max-width: 420px) {
  .organizer-post-card {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .organizer-post-card__button {
    grid-column: 1 / -1;
    justify-self: stretch;
    width: 100%;
  }
}

.event-form-section--details {
  gap: 1rem;
}

.event-details-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.42fr);
  gap: 1.1rem;
  align-items: start;
  min-width: 0;
  max-width: 100%;
}

.event-details-layout__main,
.event-details-layout__category {
  min-width: 0;
  max-width: 100%;
}

.event-details-layout__main {
  display: grid;
  gap: 0.85rem;
}

.event-details-layout__category {
  border: 1px solid #e0e9f7;
  border-radius: 14px;
  padding: 0.9rem;
  background: linear-gradient(145deg, #fbfdff 0%, #f5f8ff 100%);
}

.event-category-picker__header {
  display: grid;
  gap: 0.18rem;
  margin-bottom: 0.75rem;
}

.event-category-picker__header label {
  margin-bottom: 0;
}

.event-category-picker__header p {
  margin: 0;
  font-size: 0.88rem;
}

.event-category-picker__choices {
  gap: 0.55rem;
}

.event-category-picker__choices .category-choice-pill input:focus-visible + .category-choice-pill__content {
  outline: 2px solid #1d4ed8;
  outline-offset: 2px;
}

.event-category-picker__choices .category-choice-pill input:checked + .category-choice-pill__content {
  background: color-mix(in srgb, var(--category-color-bg, #dbeafe) 82%, #ffffff);
  color: color-mix(in srgb, var(--category-color-text, #1e40af) 92%, #0f172a);
  border-color: color-mix(in srgb, var(--category-color-border, #1d4ed8) 82%, var(--category-color-text, #1e40af));
  box-shadow: 0 9px 20px rgb(15 23 42 / 14%), 0 2px 8px color-mix(in srgb, var(--category-color-text, #2563eb) 24%, transparent);
  font-weight: 700;
  transform: translateY(-1px);
}

.event-category-picker__choices .category-choice-pill input:checked + .category-choice-pill__content .chip-icon {
  opacity: 1;
  filter: saturate(1.16) contrast(1.04);
}

.event-category-picker__choices .category-choice-pill input:checked + .category-choice-pill__content .category-choice-pill__indicator {
  display: inline-flex;
  color: currentColor;
}

.event-description-textarea {
  min-height: 12rem;
  resize: vertical;
}

@media (max-width: 820px) {
  .event-details-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .event-details-layout {
    gap: 0.9rem;
  }

  .event-details-layout__category {
    padding: 0.85rem;
  }

  .event-category-picker__choices .category-choice-pill {
    width: auto;
  }

  .event-category-picker__choices .category-choice-pill__content {
    width: auto;
    min-width: 0;
    min-height: 42px;
  }
}

.event-description-field {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
  max-width: 100%;
}

.event-description-editor-shell {
  border: 1px solid #d7e2f0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 28px rgb(15 23 42 / 7%);
  overflow: hidden;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
  min-width: 0;
  max-width: 100%;
}

.event-description-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  padding: 0.55rem;
  border-bottom: 1px solid #e6edf7;
  background: linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
  min-width: 0;
  max-width: 100%;
}

.event-description-toolbar__button {
  appearance: none;
  border: 1px solid #cbd8ea;
  border-radius: 999px;
  background: #fff;
  color: #1f3f77;
  cursor: pointer;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.15;
  min-height: 2rem;
  padding: 0.4rem 0.72rem;
  transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease;
  white-space: nowrap;
}

.event-description-toolbar__button:hover,
.event-description-toolbar__button:focus-visible,
.event-description-toolbar__button.is-active {
  background: #1e3a8a;
  border-color: #1e3a8a;
  color: #fff;
  box-shadow: 0 8px 18px rgb(30 58 138 / 20%);
  outline: none;
}

.event-description-editor {
  color: #0f172a;
  line-height: 1.65;
  min-height: 12rem;
  max-width: 100%;
  overflow-wrap: anywhere;
  padding: 0.85rem 0.95rem;
  white-space: pre-wrap;
  word-break: break-word;
}

.event-description-editor-shell:focus-within {
  border-color: #8fb4ff;
  box-shadow: 0 12px 28px rgb(15 23 42 / 7%), 0 0 0 3px rgb(59 130 246 / 14%);
}

.event-description-editor:focus {
  outline: none;
}

.event-description-editor:empty::before {
  color: #94a3b8;
  content: 'Describe what attendees can expect…';
}

.event-description-editor p,
.event-description-editor h3,
.event-description-editor h4,
.event-description-editor ul,
.event-description-editor ol,
.event-description--formatted p,
.event-description--formatted h3,
.event-description--formatted h4,
.event-description--formatted ul,
.event-description--formatted ol,
.organizer-event-description p,
.organizer-event-description h3,
.organizer-event-description h4,
.organizer-event-description ul,
.organizer-event-description ol {
  margin: 0.55rem 0;
}

.event-description-editor ul,
.event-description-editor ol,
.event-description--formatted ul,
.event-description--formatted ol,
.organizer-event-description ul,
.organizer-event-description ol {
  padding-left: 1.4rem;
}

.event-description-help {
  margin: 0;
}

@media (max-width: 520px) {
  .event-description-toolbar {
    gap: 0.35rem;
    padding: 0.48rem;
  }

  .event-description-toolbar__button {
    flex: 1 1 auto;
    padding-inline: 0.55rem;
  }
}

.organizer-event-description,
.event-description--formatted {
  white-space: pre-line;
  overflow-wrap: anywhere;
}

/* Draft event Links & Media upload polish */
.event-form-section--links-media {
  overflow: hidden;
}

.links-media-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(260px, 1fr);
  gap: clamp(1rem, 2vw, 1.4rem);
  align-items: start;
  min-width: 0;
  max-width: 100%;
}

.event-media-upload,
.links-media-fields,
.links-media-field {
  min-width: 0;
  max-width: 100%;
}

.event-media-upload__label {
  display: block;
  margin-bottom: 0.45rem;
  font-weight: 700;
}

.event-media-upload__dropzone {
  position: relative;
  display: grid;
  place-items: center;
  gap: 0.7rem;
  min-height: clamp(230px, 24vw, 310px);
  width: 100%;
  max-width: 100%;
  padding: clamp(1rem, 2.5vw, 1.35rem);
  border: 2px dashed #b9c9dd;
  border-radius: 18px;
  background: linear-gradient(180deg, #fbfdff 0%, #f5f9ff 100%);
  color: #31506f;
  text-align: center;
  box-sizing: border-box;
  overflow: hidden;
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.event-media-upload__dropzone.is-dragging {
  border-color: #2563eb;
  background: #eff6ff;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.event-media-upload__dropzone.has-preview {
  padding: 0.7rem;
}

.event-media-upload__dropzone input[type="file"] {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
}

.event-media-upload__placeholder {
  display: grid;
  justify-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.event-media-upload__icon {
  display: grid;
  place-items: center;
  width: 4.25rem;
  height: 4.25rem;
  border-radius: 999px;
  background: #eaf2ff;
  color: #2f67c7;
}

.event-media-upload__icon svg {
  width: 2.45rem;
  height: 2.45rem;
}

.event-media-upload__title {
  margin: 0.15rem 0 0;
  color: #17385c;
  font-weight: 800;
}

.event-media-upload__help {
  margin: 0;
  font-size: 0.88rem;
}

.event-media-upload__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin: 0;
  padding: 0.62rem 1rem;
  border: 1px solid #c9d8ec;
  border-radius: 999px;
  background: #fff;
  color: #183b62;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(15, 47, 99, 0.08);
}

.event-media-upload__button:hover,
.event-media-upload__button:focus-visible {
  border-color: #2563eb;
  color: #1d4ed8;
  outline: none;
}

.event-media-upload__preview-wrap {
  width: 100%;
  min-width: 0;
  aspect-ratio: 1200 / 630;
  border-radius: 13px;
  overflow: hidden;
  background: #e5eaf1;
}

.event-media-upload__preview {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
}

.event-media-upload__dropzone.has-preview .event-media-upload__button {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
}

.event-media-upload__feedback,
.event-media-upload__current {
  margin: 0.45rem 0 0;
  color: var(--muted);
  font-size: 0.88rem;
}

.event-media-upload__feedback.is-error {
  color: #be123c;
  font-weight: 700;
}

.links-media-fields {
  display: grid;
  gap: 1rem;
}

.links-media-field small {
  display: block;
  margin-top: 0.35rem;
}

@media (max-width: 780px) {
  .links-media-layout {
    grid-template-columns: 1fr;
  }

  .event-media-upload__dropzone {
    min-height: 240px;
  }
}

@media (max-width: 520px) {
  .event-media-upload__dropzone {
    padding: 0.9rem;
  }

  .event-media-upload__dropzone.has-preview {
    padding: 0.55rem;
  }

  .event-media-upload__dropzone.has-preview .event-media-upload__button {
    position: static;
    width: 100%;
    margin-top: 0.65rem;
  }
}

/* Draft event top progress tracker */
.draft-event-heading {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: clamp(1rem, 2.6vw, 1.5rem);
  max-width: 100%;
  min-width: 0;
}

.draft-event-heading__copy {
  display: grid;
  align-content: start;
  gap: 0.35rem;
  min-width: 0;
}

.draft-event-heading__copy h1,
.draft-event-heading__copy p {
  margin: 0;
}

.draft-event-heading__copy p {
  max-width: 42rem;
  color: var(--muted);
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.draft-progress-tracker {
  display: flex;
  align-items: flex-start;
  flex: 0 1 41rem;
  gap: 0;
  width: min(100%, 41rem);
  max-width: 100%;
  margin: 0;
  padding: 0.85rem 1rem;
  list-style: none;
  border: 1px solid var(--home-border, #d6e2f1);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 16px 34px -24px rgba(15, 47, 99, 0.34),
    0 5px 16px -12px rgba(15, 47, 99, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
  box-sizing: border-box;
  isolation: isolate;
  overflow: clip;
}

.draft-progress-tracker__step {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.65rem;
  flex: 1 1 0;
  min-width: 0;
  color: #53627a;
}

.draft-progress-tracker__step:not(:last-child) {
  padding-right: clamp(0.75rem, 2vw, 1.5rem);
}

.draft-progress-tracker__step:not(:last-child)::after {
  position: absolute;
  top: 0.85rem;
  right: clamp(0.35rem, 1.1vw, 0.7rem);
  width: clamp(1rem, 3.2vw, 3.2rem);
  height: 1px;
  background: linear-gradient(90deg, rgba(214, 226, 241, 0), #dce5f2 22%, #dce5f2 78%, rgba(214, 226, 241, 0));
  content: '';
  pointer-events: none;
  z-index: 0;
}

.draft-progress-tracker__number {
  display: inline-grid;
  place-items: center;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 999px;
  background: #eef2f8;
  color: #34435c;
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.18);
  position: relative;
  z-index: 1;
}

.draft-progress-tracker__content {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.draft-progress-tracker__label,
.draft-progress-tracker__description {
  overflow-wrap: anywhere;
}

.draft-progress-tracker__label {
  color: #243451;
  font-weight: 800;
  font-size: 0.92rem;
}

.draft-progress-tracker__description {
  color: #64748b;
  font-size: 0.85rem;
  line-height: 1.35;
}

.draft-progress-tracker__step.is-active .draft-progress-tracker__number {
  background: linear-gradient(135deg, #2f6df6, #1d4ed8);
  color: #fff;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.25);
}

.draft-progress-tracker__step.is-active .draft-progress-tracker__label {
  color: #2563eb;
}

.draft-progress-tracker__step.is-active .draft-progress-tracker__description {
  color: #38537c;
}

@media (max-width: 900px) {
  .draft-event-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .draft-progress-tracker {
    flex: none;
    width: 100%;
  }
}

@media (max-width: 640px) {
  .draft-progress-tracker {
    padding: 0.75rem;
  }

  .draft-progress-tracker__step {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 0.45rem;
    text-align: center;
  }

  .draft-progress-tracker__step:not(:last-child) {
    padding-right: 0.45rem;
  }

  .draft-progress-tracker__step:not(:last-child)::after {
    top: 0.9rem;
    right: -0.25rem;
    width: 0.7rem;
  }

  .draft-progress-tracker__number {
    width: 1.75rem;
    height: 1.75rem;
  }

  .draft-progress-tracker__label {
    font-size: 0.84rem;
  }

  .draft-progress-tracker__description {
    font-size: 0.76rem;
  }
}

@media (max-width: 430px) {
  .draft-progress-tracker {
    display: grid;
    gap: 0.55rem;
  }

  .draft-progress-tracker__step {
    grid-template-columns: auto minmax(0, 1fr);
    justify-items: stretch;
    text-align: left;
  }

  .draft-progress-tracker__step:not(:last-child) {
    padding-right: 0;
    padding-bottom: 0.55rem;
    border-bottom: 1px solid #edf2f7;
  }

  .draft-progress-tracker__step:not(:last-child)::after {
    display: none;
  }
}

/* Draft event helper sidebar */
.draft-event-layout {
  display: grid;
  gap: clamp(1rem, 2.3vw, 1.4rem);
  min-width: 0;
  max-width: 100%;
}

.draft-event-layout--with-sidebar {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.34fr);
  align-items: start;
}

.draft-event-main,
.draft-helper-sidebar,
.draft-helper-card {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.draft-event-main,
.draft-helper-sidebar {
  display: grid;
  gap: 1.2rem;
}

.draft-helper-sidebar {
  align-content: start;
}

.draft-helper-card {
  display: grid;
  gap: 0.85rem;
  padding: clamp(0.95rem, 1.7vw, 1.15rem);
  border: 1px solid var(--home-border, #d6e2f1);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--draft-event-card-shadow, var(--home-shadow, 0 14px 38px rgba(15, 47, 99, 0.12)));
}

.draft-helper-card h2,
.draft-snapshot__content h3,
.draft-helper-card p,
.draft-snapshot__facts,
.draft-snapshot__facts dd {
  margin: 0;
}

.draft-helper-card h2 {
  color: var(--home-navy, #12355f);
  font-size: 1rem;
  line-height: 1.25;
}

.draft-snapshot__facts {
  color: var(--muted, #64748b);
  font-size: 0.9rem;
  line-height: 1.45;
}

.draft-checklist {
  display: grid;
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.draft-checklist__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.55rem;
  color: #475569;
  font-size: 0.9rem;
  line-height: 1.35;
}

.draft-checklist__marker {
  display: inline-grid;
  place-items: center;
  width: 1.05rem;
  height: 1.05rem;
  border: 1.5px solid #b7c6da;
  border-radius: 999px;
  color: transparent;
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.draft-checklist__item.is-complete {
  color: #1f3d2d;
}

.draft-checklist__item.is-complete .draft-checklist__marker {
  border-color: #48c784;
  background: #eafaf2;
  color: #14945a;
}

.draft-checklist__item.is-complete .draft-checklist__marker::before {
  content: '✓';
}

.draft-checklist__optional {
  display: inline-flex;
  margin-left: 0.25rem;
  color: #7b8ca8;
  font-size: 0.76rem;
  font-weight: 700;
}

.draft-snapshot {
  display: grid;
  gap: 0.8rem;
}

.draft-snapshot__thumbnail {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid #dbe6f4;
  border-radius: 14px;
  background: #edf4fb;
}

.draft-snapshot__thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.draft-snapshot__content {
  display: grid;
  gap: 0.55rem;
  min-width: 0;
}

.draft-snapshot__content h3 {
  color: #12243f;
  font-size: 1rem;
  line-height: 1.28;
  overflow-wrap: anywhere;
}

.draft-snapshot__facts {
  display: grid;
  gap: 0.5rem;
}

.draft-snapshot__facts div {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.draft-snapshot__facts dt {
  color: #1f3f77;
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.draft-snapshot__facts dd {
  color: #475569;
  overflow-wrap: anywhere;
}

@media (max-width: 1040px) {
  .draft-event-layout--with-sidebar {
    grid-template-columns: minmax(0, 1fr);
  }

  .draft-helper-sidebar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .draft-helper-sidebar {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 520px) {
  .draft-event-layout,
  .draft-event-main,
  .draft-helper-sidebar {
    gap: 0.9rem;
  }

  .draft-helper-card {
    border-radius: 15px;
    padding: 0.9rem;
  }
}

/* Draft event final visual polish */
.organizer-event-form {
  --draft-event-card-shadow: 0 16px 34px -24px rgba(15, 47, 99, 0.34),
    0 5px 16px -12px rgba(15, 47, 99, 0.18);
}

.organizer-event-form .event-form-section {
  background: #fff;
  border: 1px solid var(--home-border, #d6e2f1);
  border-radius: 22px;
  box-shadow: var(--draft-event-card-shadow, var(--home-shadow, 0 14px 38px rgba(15, 47, 99, 0.12)));
  overflow-wrap: anywhere;
}

.organizer-event-form .event-form-section--schedule {
  overflow: visible;
}

.event-form-section__header {
  display: flex;
  align-items: flex-start;
  gap: 0.78rem;
  min-width: 0;
  max-width: 100%;
}

.event-form-section__icon {
  display: inline-grid;
  flex: 0 0 auto;
  width: 2.45rem;
  height: 2.45rem;
  place-items: center;
  border: 1px solid rgba(124, 93, 246, 0.34);
  border-radius: 14px;
  background:
    radial-gradient(circle at 30% 22%, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0) 36%),
    linear-gradient(135deg, #8b5cf6 0%, #625ff4 48%, #2563eb 100%);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.26), 0 10px 20px rgba(91, 95, 244, 0.18);
}

.event-form-section__icon svg {
  width: 1.28rem;
  height: 1.28rem;
  filter: drop-shadow(0 1px 1px rgba(15, 23, 42, 0.12));
}

.event-form-section__icon svg * {
  vector-effect: non-scaling-stroke;
}

.event-form-section__heading-copy {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
}

.organizer-event-form .event-form-section__heading-copy h2,
.organizer-event-form .schedule-card__header h2 {
  color: var(--home-navy, #0f2f63);
  font-weight: 850;
  line-height: 1.18;
}

.organizer-event-form .event-form-section__heading-copy p {
  margin-top: 0;
  line-height: 1.45;
}

.draft-helper-card {
  background: #fff;
  border: 1px solid var(--home-border, #d6e2f1);
  border-radius: 22px;
  box-shadow: var(--draft-event-card-shadow, var(--home-shadow, 0 14px 38px rgba(15, 47, 99, 0.12)));
}

.draft-event-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  background: #fff;
  border: 1px solid var(--home-border, #d6e2f1);
  border-radius: 22px;
  box-shadow: var(--draft-event-card-shadow, var(--home-shadow, 0 14px 38px rgba(15, 47, 99, 0.12)));
}

.draft-event-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 2.85rem;
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  font-weight: 850;
  line-height: 1.1;
  padding: 0.76rem 1.18rem;
  text-align: center;
  text-decoration: none;
  transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease, transform 0.18s ease;
  white-space: normal;
}

.draft-event-action:hover,
.draft-event-action:focus-visible {
  outline: none;
  transform: translateY(-1px);
}

.draft-event-action--cancel {
  margin-right: auto;
  border: 1px solid #f0c9cd;
  background: #fff;
  color: #a33b43;
}

.draft-event-action--cancel:hover,
.draft-event-action--cancel:focus-visible {
  border-color: #e18a94;
  background: #fff7f8;
  box-shadow: 0 10px 22px rgba(190, 24, 93, 0.08);
}

.draft-event-action--save {
  border: 1px solid #cbdcf4;
  background: #fff;
  color: #1f4d8f;
  box-shadow: 0 8px 18px rgba(15, 47, 99, 0.06);
}

.draft-event-action--save:hover,
.draft-event-action--save:focus-visible {
  border-color: #9fbdf0;
  background: #f2f7ff;
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.12);
}

.draft-event-action--preview {
  border: 0;
  background: linear-gradient(135deg, #2f74ff 0%, #0759ff 52%, #1d4ed8 100%);
  color: #fff;
  box-shadow: 0 14px 28px rgba(37, 99, 235, 0.24);
}

.draft-event-action--preview:hover,
.draft-event-action--preview:focus-visible {
  box-shadow: 0 16px 32px rgba(37, 99, 235, 0.3);
}

@media (max-width: 768px) {
  .draft-event-actions {
    align-items: stretch;
  }

  .draft-event-action {
    flex: 1 1 12rem;
  }

  .draft-event-action--cancel {
    margin-right: 0;
  }
}

@media (max-width: 520px) {
  .organizer-event-form .event-form-section,
  .draft-helper-card,
  .draft-event-actions {
    border-radius: 22px;
  }

  .event-form-section__header {
    gap: 0.65rem;
  }

  .event-form-section__icon {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 12px;
  }

  .draft-event-action {
    flex-basis: 100%;
    width: 100%;
    min-height: 2.8rem;
  }
}

/* Organizer draft preview matched to Explore event detail modal */
.organizer-preview-section {
  display: grid;
  gap: clamp(1rem, 2.4vw, 1.4rem);
  min-width: 0;
  max-width: 100%;
}

.organizer-preview-heading {
  margin-bottom: 0;
}

.draft-progress-tracker__step.is-complete .draft-progress-tracker__number {
  background: linear-gradient(135deg, #dcfce7, #bbf7d0);
  color: #15803d;
  font-size: 0;
  box-shadow: inset 0 0 0 1px rgba(34, 197, 94, 0.24), 0 8px 18px rgba(22, 163, 74, 0.14);
}

.draft-progress-tracker__check {
  width: 0.95rem;
  height: 0.95rem;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.15;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.organizer-preview-notice,
.organizer-preview-review-note {
  width: fit-content;
  max-width: 100%;
  margin: 0;
  border-radius: 999px;
  padding: 0.42rem 0.78rem;
  font-size: 0.9rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.organizer-preview-notice {
  border: 1px solid #dbeafe;
  background: #f8fbff;
  color: #38537c;
}

.organizer-preview-review-note {
  border: 1px solid #fde68a;
  background: #fffbeb;
  color: #92400e;
}

.organizer-preview-card {
  width: min(100%, 980px);
  justify-self: center;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--home-shadow, 0 14px 38px rgba(15, 47, 99, 0.12));
}

.organizer-preview-card__body {
  min-width: 0;
  padding: clamp(1rem, 2.4vw, 1.5rem);
}

.organizer-preview-card__image {
  width: 100%;
  max-height: 420px;
  margin-bottom: 1.1rem;
}

.organizer-preview-card__image--placeholder {
  display: grid;
  place-items: center;
  min-height: clamp(220px, 36vw, 360px);
  border-radius: 18px;
  background:
    radial-gradient(circle at 18% 20%, rgba(59, 130, 246, 0.18), transparent 30%),
    linear-gradient(135deg, #f2f8ff 0%, #eaf4ff 100%);
  color: #38537c;
  font-weight: 800;
  box-shadow: 0 14px 36px rgb(15 23 42 / 10%);
}

.organizer-preview-card__content {
  min-width: 0;
}

.organizer-preview-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
  min-width: 0;
}

.organizer-preview-title-row h2 {
  min-width: 0;
  overflow-wrap: anywhere;
}

.organizer-preview-title-row .status-badge {
  flex: 0 0 auto;
  margin-top: 0.16rem;
}

.organizer-preview-info-card {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

.organizer-preview-dates {
  margin-top: 0;
}

.organizer-preview-description .organizer-event-description {
  color: #475569;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.organizer-preview-description .organizer-event-description p:first-child,
.organizer-preview-description .organizer-event-description ul:first-child,
.organizer-preview-description .organizer-event-description ol:first-child,
.organizer-preview-description .organizer-event-description h3:first-child,
.organizer-preview-description .organizer-event-description h4:first-child {
  margin-top: 0;
}

.organizer-preview-description .organizer-event-description p:last-child,
.organizer-preview-description .organizer-event-description ul:last-child,
.organizer-preview-description .organizer-event-description ol:last-child {
  margin-bottom: 0;
}

.organizer-preview-actions {
  align-items: stretch;
}

.organizer-preview-action:disabled,
.organizer-preview-action[aria-disabled='true'] {
  cursor: not-allowed;
  opacity: 0.72;
  transform: none;
  box-shadow: none;
}

.organizer-preview-action:disabled:hover,
.organizer-preview-action:disabled:focus-visible {
  transform: none;
  box-shadow: none;
}

.organizer-preview-actions__hint {
  grid-column: 1 / -1;
  margin: -0.1rem 0 0;
  color: #64748b;
  font-size: 0.86rem;
  line-height: 1.45;
  text-align: center;
}

.organizer-preview-workflow-actions {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.72rem;
  max-width: 980px;
  width: min(100%, 980px);
  justify-self: center;
}

.organizer-preview-workflow-actions form {
  margin: 0;
  min-width: 0;
}

.organizer-preview-workflow-actions button {
  cursor: pointer;
  font: inherit;
}

.organizer-preview-workflow-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.85rem;
  padding: 0.72rem 1.1rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.organizer-preview-workflow-btn:hover,
.organizer-preview-workflow-btn:focus-visible {
  transform: translateY(-1px);
  text-decoration: none;
}

.organizer-preview-workflow-btn:focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.22);
  outline-offset: 2px;
}

.organizer-preview-workflow-btn--ghost,
.organizer-preview-workflow-btn--outline {
  background: #fff;
  color: #1f3b63;
  border-color: #d6e2f1;
  box-shadow: 0 8px 18px rgba(15, 47, 99, 0.08);
}

.organizer-preview-workflow-btn--ghost {
  background: #f8fbff;
  color: #475569;
}

.organizer-preview-workflow-btn--outline:hover,
.organizer-preview-workflow-btn--outline:focus-visible,
.organizer-preview-workflow-btn--ghost:hover,
.organizer-preview-workflow-btn--ghost:focus-visible {
  color: #1d4ed8;
  border-color: rgba(59, 130, 246, 0.36);
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.12);
}

.organizer-preview-workflow-btn--secondary {
  background: linear-gradient(135deg, #eef6ff, #e0f0ff);
  color: #1d4ed8;
  border-color: #bfdbfe;
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.organizer-preview-workflow-btn--secondary:hover,
.organizer-preview-workflow-btn--secondary:focus-visible {
  border-color: rgba(37, 99, 235, 0.42);
  box-shadow: 0 14px 26px rgba(37, 99, 235, 0.16);
}

.organizer-preview-workflow-btn--primary {
  background: linear-gradient(135deg, #2f6df6, #1d4ed8);
  color: #fff;
  border-color: rgba(29, 78, 216, 0.28);
  box-shadow: 0 16px 30px rgba(37, 99, 235, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.organizer-preview-workflow-btn--primary:hover,
.organizer-preview-workflow-btn--primary:focus-visible {
  color: #fff;
  box-shadow: 0 18px 34px rgba(37, 99, 235, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.organizer-preview-workflow-btn--danger {
  background: #fff;
  color: #b42318;
  border-color: #fecaca;
  box-shadow: 0 8px 18px rgba(180, 35, 24, 0.08);
}

.organizer-preview-workflow-btn--danger:hover,
.organizer-preview-workflow-btn--danger:focus-visible {
  color: #991b1b;
  border-color: #fca5a5;
  background: #fff7f7;
  box-shadow: 0 12px 24px rgba(180, 35, 24, 0.12);
}

@media (max-width: 640px) {
  .organizer-preview-card {
    border-radius: 18px;
  }

  .organizer-preview-card__body {
    padding: 1rem;
  }

  .organizer-preview-title-row {
    flex-direction: column;
    gap: 0.55rem;
  }

  .organizer-preview-title-row .status-badge {
    margin-top: 0;
  }

  .organizer-preview-workflow-actions,
  .organizer-preview-workflow-actions form,
  .organizer-preview-workflow-actions .organizer-preview-workflow-btn {
    width: 100%;
  }

  .organizer-preview-workflow-actions {
    align-items: stretch;
    justify-content: stretch;
  }

  .organizer-preview-workflow-actions .organizer-preview-workflow-btn {
    min-height: 46px;
  }
}

/* Shared Explore detail visual language used by organizer preview */
.organizer-preview-card .event-overlay-image {
  display: block;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 14px 36px rgb(15 23 42 / 10%);
}

.organizer-preview-card .event-overlay-content {
  display: grid;
  gap: 1.05rem;
}

.organizer-preview-card .event-overlay-header-block {
  display: grid;
  gap: 0.62rem;
}

.organizer-preview-card .event-overlay-content h2 {
  margin: 0;
  font-size: clamp(1.6rem, 2.4vw, 2.15rem);
  line-height: 1.2;
  color: #0f172a;
}

.organizer-preview-card .event-overlay-category {
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-self: start;
  width: fit-content;
  max-width: 100%;
  border-radius: 999px;
  border: 1px solid var(--category-color-border, #dbeafe);
  background: var(--category-color-bg, #eff6ff);
  color: var(--category-color-text, #1d4ed8);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.25;
  overflow-wrap: anywhere;
  padding: 0.22rem 0.65rem;
}

.organizer-preview-card .event-overlay-info-card {
  display: grid;
  gap: 0.8rem;
  padding: 0.95rem;
  border: 1px solid #cfe3ff;
  border-radius: 18px;
  background: linear-gradient(135deg, #f2f8ff 0%, #eaf4ff 100%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 72%), 0 10px 26px rgb(37 99 235 / 7%);
}

.organizer-preview-card .event-overlay-info-item {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.58rem;
  align-items: flex-start;
  padding: 0.1rem;
}

.organizer-preview-card .event-overlay-info-icon {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: #fff;
  color: #1d4ed8;
  box-shadow: 0 4px 12px rgb(37 99 235 / 10%);
  font-size: 1rem;
}

.organizer-preview-card .event-overlay-info-copy {
  min-width: 0;
  display: grid;
  gap: 0.16rem;
}

.organizer-preview-card .event-overlay-info-label {
  margin: 0;
  font-size: 0.72rem;
  line-height: 1.25;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 800;
  color: #64748b;
}

.organizer-preview-card .event-overlay-info-value {
  margin: 0;
  color: #0f172a;
  font-weight: 750;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.organizer-preview-card .event-overlay-info-detail {
  margin: 0;
  font-size: 0.86rem;
  color: #475569;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.organizer-preview-card .event-overlay-dates h3,
.organizer-preview-card .event-overlay-description h3 {
  margin: 0 0 0.65rem;
  font-size: 1.08rem;
  color: #0f172a;
}

.organizer-preview-card .event-overlay-date-cards {
  display: grid;
  gap: 0.72rem;
}

.organizer-preview-card .event-overlay-date-card {
  border: 1px solid #d7e5fb;
  background: linear-gradient(180deg, #fbfdff 0%, #f5f9ff 100%);
  border-radius: 16px;
  padding: 0.8rem 0.9rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  box-shadow: 0 4px 14px rgb(15 23 42 / 5%);
}

.organizer-preview-card .event-overlay-date-card-content {
  min-width: 0;
  display: grid;
  gap: 0.32rem;
}

.organizer-preview-card .event-overlay-date-card-date {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
}

.organizer-preview-card .event-overlay-date-card-time {
  margin: 0;
  font-size: 0.9rem;
  color: #334155;
  line-height: 1.35;
}

.organizer-preview-card .event-description--formatted {
  white-space: pre-line;
  overflow-wrap: anywhere;
}

.organizer-preview-card .event-overlay-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.72rem;
  align-items: stretch;
}

.organizer-preview-card .event-overlay-btn,
.organizer-preview-card .event-overlay-save-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  min-height: 46px;
  border-radius: 14px;
  padding: 0.72rem 1rem;
  text-align: center;
  font-weight: 800;
  font-size: 0.94rem;
  line-height: 1.2;
  text-decoration: none;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.organizer-preview-card .event-overlay-btn {
  border: 1px solid #1e3a8a;
  background: #1e3a8a;
  color: #fff;
  cursor: pointer;
}

.organizer-preview-card .event-overlay-save-btn {
  border: 1px solid #bfdbfe;
  background: #eff6ff;
  color: #1d4ed8;
}

.organizer-preview-card .event-overlay-btn:hover,
.organizer-preview-card .event-overlay-btn:focus-visible,
.organizer-preview-card .event-overlay-save-btn:hover,
.organizer-preview-card .event-overlay-save-btn:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgb(30 58 138 / 14%);
}

.organizer-preview-card .event-overlay-btn:focus-visible,
.organizer-preview-card .event-overlay-save-btn:focus-visible {
  outline: 3px solid rgb(59 130 246 / 28%);
  outline-offset: 2px;
}

.organizer-preview-card .event-overlay-btn-secondary {
  background: #0f5f9f;
  border-color: #0f5f9f;
}

.organizer-preview-card .event-overlay-btn-outline,
.organizer-preview-card .event-overlay-btn-share {
  background: #fff;
  border-color: #cbd5e1;
  color: #1e293b;
}

.organizer-preview-card .event-overlay-btn-outline:hover,
.organizer-preview-card .event-overlay-btn-outline:focus-visible,
.organizer-preview-card .event-overlay-btn-share:hover,
.organizer-preview-card .event-overlay-btn-share:focus-visible {
  background: #f8fbff;
  border-color: #bfdbfe;
  color: #1e3a8a;
}

@media (max-width: 640px) {
  .organizer-preview-card .event-overlay-actions {
    grid-template-columns: 1fr;
  }
}

/* Organizer publish / submit confirmation */
.organizer-confirmation-section {
  gap: clamp(1rem, 2vw, 1.35rem);
  min-width: 0;
  overflow: hidden;
}

.organizer-confirmation-heading {
  margin-bottom: 0;
}

.organizer-confirmation-card {
  display: grid;
  gap: clamp(1rem, 2vw, 1.25rem);
  width: min(100%, 980px);
  justify-self: center;
  min-width: 0;
  padding: clamp(1rem, 2.4vw, 1.5rem);
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--home-shadow, 0 14px 38px rgba(15, 47, 99, 0.12));
  box-sizing: border-box;
  overflow: hidden;
}

.organizer-confirmation-hero {
  display: grid;
  grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(1rem, 3vw, 2rem);
  min-width: 0;
  padding: clamp(1rem, 2.6vw, 1.65rem);
  border: 1px solid #dbeafe;
  border-radius: 20px;
  background:
    radial-gradient(circle at 13% 18%, rgba(59, 130, 246, 0.16), transparent 28%),
    linear-gradient(135deg, #f8fbff 0%, #eef6ff 100%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 76%);
  overflow: hidden;
}

.organizer-confirmation-hero--review {
  border-color: #fde68a;
  background:
    radial-gradient(circle at 13% 18%, rgba(245, 158, 11, 0.18), transparent 28%),
    linear-gradient(135deg, #fffbeb 0%, #fff7ed 100%);
}

.organizer-confirmation-illustration {
  display: grid;
  place-items: center;
  min-width: 0;
}

.organizer-confirmation-illustration img {
  display: block;
  width: min(100%, 360px);
  max-width: 100%;
  height: auto;
  max-height: 260px;
  object-fit: contain;
  filter: drop-shadow(0 18px 28px rgb(15 47 99 / 12%));
}

.organizer-confirmation-content {
  display: grid;
  gap: 0.85rem;
  justify-items: start;
  min-width: 0;
}

.organizer-confirmation-copy {
  min-width: 0;
}

.organizer-confirmation-eyebrow {
  margin: 0 0 0.25rem;
  color: #2563eb;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.organizer-confirmation-hero--review .organizer-confirmation-eyebrow {
  color: #92400e;
}

.organizer-confirmation-copy h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  line-height: 1.08;
  overflow-wrap: anywhere;
}

.organizer-confirmation-copy p:last-child {
  max-width: 45rem;
  margin: 0.55rem 0 0;
  color: #475569;
  font-size: clamp(1rem, 2vw, 1.08rem);
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.organizer-confirmation-status {
  justify-self: start;
  white-space: nowrap;
}

.organizer-confirmation-summary {
  min-width: 0;
  padding: clamp(0.9rem, 2vw, 1.1rem);
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  background: #fff;
}

.organizer-confirmation-summary h3 {
  margin: 0 0 0.85rem;
  color: #0f172a;
  font-size: 1.08rem;
}

.organizer-confirmation-summary__body {
  display: grid;
  grid-template-columns: minmax(92px, 132px) minmax(0, 1fr);
  gap: clamp(0.85rem, 2vw, 1rem);
  min-width: 0;
  align-items: start;
}

.organizer-confirmation-summary__image {
  width: 100%;
  aspect-ratio: 1.15;
  object-fit: cover;
  border-radius: 16px;
  background: #eff6ff;
  box-shadow: 0 10px 24px rgb(15 23 42 / 8%);
}

.organizer-confirmation-summary__image--placeholder {
  display: grid;
  place-items: center;
  padding: 0.6rem;
  color: #38537c;
  font-size: 0.82rem;
  font-weight: 800;
  text-align: center;
  overflow-wrap: anywhere;
}

.organizer-confirmation-summary__details {
  display: grid;
  gap: 0.6rem;
  min-width: 0;
}

.organizer-confirmation-category {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  width: fit-content;
  max-width: 100%;
  margin: 0;
  border-radius: 999px;
  border: 1px solid var(--category-color-border, #dbeafe);
  background: var(--category-color-bg, #eff6ff);
  color: var(--category-color-text, #1d4ed8);
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1.25;
  overflow-wrap: anywhere;
  padding: 0.22rem 0.65rem;
}

.organizer-confirmation-summary__details h4 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(1.25rem, 2.6vw, 1.55rem);
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.organizer-confirmation-facts {
  display: grid;
  gap: 0.55rem;
  min-width: 0;
  margin: 0;
}

.organizer-confirmation-facts div {
  min-width: 0;
}

.organizer-confirmation-facts dt {
  margin: 0 0 0.12rem;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.organizer-confirmation-facts dd {
  margin: 0;
  color: #1e293b;
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.organizer-confirmation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.72rem;
  min-width: 0;
  align-items: center;
}

.organizer-confirmation-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  max-width: 100%;
  border-radius: 14px;
  padding: 0.72rem 1rem;
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #1e293b;
  font-weight: 850;
  font-size: 0.94rem;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  box-sizing: border-box;
  overflow-wrap: anywhere;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.organizer-confirmation-btn:hover,
.organizer-confirmation-btn:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgb(30 58 138 / 12%);
}

.organizer-confirmation-btn:focus-visible {
  outline: 3px solid rgb(59 130 246 / 28%);
  outline-offset: 2px;
}

.organizer-confirmation-btn--primary {
  border-color: #1e3a8a;
  background: #1e3a8a;
  color: #fff;
}

.organizer-confirmation-btn--secondary {
  border-color: #0f5f9f;
  background: #0f5f9f;
  color: #fff;
}

.organizer-confirmation-btn--outline,
.organizer-confirmation-btn--ghost {
  background: #fff;
  color: #1e293b;
}

.organizer-confirmation-btn--outline:hover,
.organizer-confirmation-btn--outline:focus-visible,
.organizer-confirmation-btn--ghost:hover,
.organizer-confirmation-btn--ghost:focus-visible {
  border-color: #bfdbfe;
  background: #f8fbff;
  color: #1e3a8a;
}

.organizer-confirmation-share-status {
  flex-basis: 100%;
  min-height: 1.25rem;
  margin: 0;
  color: #15803d;
  font-size: 0.9rem;
  font-weight: 800;
}

@media (max-width: 720px) {
  .organizer-confirmation-hero {
    grid-template-columns: minmax(0, 1fr);
    justify-items: start;
  }

  .organizer-confirmation-illustration {
    justify-self: center;
    width: min(100%, 300px);
  }

  .organizer-confirmation-illustration img {
    width: min(100%, 260px);
    max-height: 180px;
  }

  .organizer-confirmation-status {
    justify-self: start;
  }
}

@media (max-width: 560px) {
  .organizer-confirmation-card {
    border-radius: 20px;
  }

  .organizer-confirmation-summary__body {
    grid-template-columns: 1fr;
  }

  .organizer-confirmation-summary__image {
    max-height: 180px;
    aspect-ratio: 16 / 9;
  }

  .organizer-confirmation-actions {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .organizer-confirmation-btn {
    width: 100%;
  }
}

/* Draft event city/venue autocomplete */
.event-location-autocomplete {
  position: relative;
  min-width: 0;
  max-width: 100%;
  overflow: visible;
}

.event-form-section--venue-location {
  overflow: visible;
}

.event-location-autocomplete__menu {
  position: absolute;
  inset-inline: 0;
  top: calc(100% + 0.35rem);
  z-index: 30;
  display: grid;
  gap: 0.25rem;
  width: 100%;
  max-width: 100%;
  max-height: min(18rem, 52vh);
  padding: 0.35rem;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid #cfdaea;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 38px -24px rgba(15, 47, 99, 0.45), 0 10px 24px -20px rgba(15, 47, 99, 0.28);
  box-sizing: border-box;
}

.event-location-autocomplete__menu[hidden] {
  display: none;
}

.event-location-autocomplete__option {
  display: grid;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  gap: 0.12rem;
  padding: 0.62rem 0.72rem;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #16375d;
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-sizing: border-box;
}

.event-location-autocomplete__option:hover,
.event-location-autocomplete__option:focus-visible,
.event-location-autocomplete__option.is-active {
  outline: none;
  background: #eef5ff;
  color: #174ea6;
}

.event-location-autocomplete__option-title,
.event-location-autocomplete__option-meta,
.event-location-autocomplete__message {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.event-location-autocomplete__option-title {
  font-weight: 800;
}

.event-location-autocomplete__option-meta,
.event-location-autocomplete__message {
  color: #526987;
  font-size: 0.88rem;
  line-height: 1.35;
}

.event-location-autocomplete__message {
  padding: 0.7rem 0.75rem;
}

@media (max-width: 640px) {
  .event-location-autocomplete__menu {
    max-height: min(16rem, 48vh);
    border-radius: 12px;
  }

  .event-location-autocomplete__option {
    min-height: 48px;
    padding: 0.72rem 0.78rem;
  }
}
