:root {
  color-scheme: light;
  --ink: #16151a;
  --muted: #6c6870;
  --ivory: #f5f0e8;
  --paper: rgba(255, 253, 249, 0.9);
  --gold: #c88a2a;
  --gold-deep: #a96712;
  --line: rgba(72, 50, 30, 0.14);
  --emerald: #17845d;
  --amber: #c28225;
  --coral: #be5d4f;
  --shadow: 0 10px 30px rgba(74, 43, 20, 0.1);
  --radius: 14px;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
}

/* Pixel-reference admin event dashboard (1024 × 682 master viewport) */
.admin-app { min-width:900px; min-height:100vh; background:#f3f6f9; color:#172235; font-family:Arial,Helvetica,sans-serif; }
.admin-app .admin-sidebar { width:137px; padding:0 0 18px; border:0; background:linear-gradient(180deg,#142131,#0f1b28); color:#dce5ed; }
.admin-app .admin-brand { height:35px; gap:8px; padding:0 13px; border-color:rgba(255,255,255,.12); }
.admin-app .admin-brand > span { width:auto; height:auto; color:#fff; background:none; font-size:22px; }
.admin-app .admin-brand b { color:#fff; font-size:9px; letter-spacing:1.4px; line-height:1.05; }
.admin-app .admin-brand small { margin-top:2px; color:#e2e8ef; font-size:6px; letter-spacing:1.2px; }
.admin-app .admin-sidebar nav { gap:0; margin:5px 0 0; }
.admin-app .admin-sidebar nav a { position:relative; display:flex; align-items:center; gap:10px; height:27px; padding:0 14px; border-radius:0; color:#d9e1e8; font-size:7px; }
.admin-app .admin-sidebar nav a i { width:12px; color:#d6e1eb; font-style:normal; font-size:12px; text-align:center; }
.admin-app .admin-sidebar nav a em { display:grid; place-items:center; width:15px; height:15px; margin-left:auto; border-radius:50%; color:#fff; background:#f04755; font-size:7px; font-style:normal; }
.admin-app .admin-sidebar nav a.active { border-left:3px solid #3288ef; padding-left:11px; background:#203a58; }
.admin-system { display:flex; align-items:center; gap:10px; margin-top:auto; padding:0 15px; }
.admin-system > span { width:8px; height:8px; border-radius:50%; background:#45d39a; }
.admin-system div { display:grid; gap:5px; }
.admin-system b { font-size:6px; }
.admin-system small { color:#aeb9c4; font-size:6px; }
.admin-app .admin-main { margin-left:137px; }
.admin-app .admin-top { height:35px; padding:0 15px; border-color:#dbe1e7; }
.admin-app .admin-top label { width:453px; height:24px; gap:7px; padding:0 8px; border:1px solid #e2e6eb; border-radius:3px; color:#657181; background:#f6f8fa; }
.admin-app .admin-top label svg { width:10px; }
.admin-app .admin-top input { height:22px; background:transparent; font-size:7px; }
.admin-app .admin-top > div { gap:7px; }
.admin-app .admin-top .admin-user { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; color:#fff; background:#1d2937; font-size:7px; }
.admin-app .admin-top p { display:grid; width:74px; margin:0; font-size:6px; line-height:1.35; }
.admin-app .admin-top p small { color:#657181; }
.admin-app .admin-top button { position:relative; width:20px; height:25px; padding:0; border:0; font-size:8px; }
.admin-app .admin-top button svg { width:13px; }
.admin-app .admin-top button i { position:absolute; top:4px; right:3px; width:5px; height:5px; border-radius:50%; background:#ef4052; }
.admin-app .admin-main main { max-width:none; margin:0; padding:7px 14px 10px; }
.admin-app .breadcrumbs { height:15px; align-items:center; gap:11px; font-size:7px; }
.admin-app .breadcrumbs b { font-size:7px; }
.admin-app .admin-event-head { height:53px; margin:0; padding-top:3px; align-items:flex-start; }
.admin-app .admin-event-head h1 { display:flex; align-items:center; gap:10px; margin:0 0 6px; font-size:22px; letter-spacing:-.5px; }
.admin-app .admin-event-head h1 span { padding:5px 10px; border-radius:12px; color:#fff; background:#2aa677; font-size:7px; font-weight:700; letter-spacing:0; }
.admin-app .admin-event-head p { font-size:7px; }
.admin-head-actions { display:flex; gap:8px; }
.admin-head-actions a,.admin-head-actions button { display:flex; align-items:center; justify-content:center; height:24px; padding:0 11px; border:1px solid #d8dfe6; border-radius:4px; color:#182338; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.03); font-size:7px; font-weight:700; }
.admin-head-actions button.quick { border-color:#3687e8; color:#fff; background:#3687e8; }
.admin-dashboard-top { display:grid; grid-template-columns:244px minmax(300px,340px) minmax(250px,1fr); gap:9px; height:188px; }
.admin-dashboard-top > section,.attendee-section,.vote-panel,.admin-quick { overflow:hidden; border:1px solid #e1e6eb; border-radius:5px; background:#fff; box-shadow:0 1px 3px rgba(29,44,58,.05); }
.admin-dashboard-top h2,.attendee-section h2,.vote-panel h2,.admin-quick h2 { margin:0; font-size:10px; }
.snapshot,.activation,.slot-summary { padding:10px; }
.snapshot dl { margin:7px 0 0; }
.snapshot dl > div { display:grid; grid-template-columns:81px auto 1fr; align-items:center; min-height:17px; font-size:7px; }
.snapshot dt { color:#526070; }
.snapshot dd { justify-self:start; margin:0; padding:3px 5px; border-radius:3px; font-weight:700; }
.snapshot dd.green { color:#13835c; background:#e2f8ed; }
.snapshot dd.blue { color:#1475c9; background:#e0f0ff; }
.snapshot dl span { margin-left:5px; color:#3f4b59; }
.activation { padding:9px !important; }
.activation > p { margin:6px 0 7px; color:#526070; font-size:7px; }
.activation-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.activation-cards article { display:grid; justify-items:center; gap:5px; height:69px; padding:6px 7px; border:1px solid #e7ebef; border-radius:4px; background:#fafbfc; font-size:7px; }
.activation-cards b { font-size:11px; }
.activation-cards b i { display:inline-grid; place-items:center; width:15px; height:15px; border-radius:50%; color:#0f9365; background:#d9f4e9; font-size:8px; font-style:normal; }
.activation-cards em,.total-progress { width:100%; height:6px; overflow:hidden; border-radius:8px; background:#e4e8ed; }
.activation-cards em i,.total-progress i { display:block; height:100%; border-radius:8px; background:#39b979; }
.activation-cards em.danger i { background:#f05b63; }
.activation-cards small { color:#098354; }
.activation-cards small.danger-text { color:#d8293c; }
.activation-alert { display:grid; justify-items:center; gap:3px; margin:7px 0 6px; padding:5px; color:#8f3940; background:#fff0f0; font-size:6px; }
.activation-alert b { color:#d33745; font-size:7px; }
.activation > strong { font-size:6px; }
.total-progress { margin-top:5px; height:6px; }
.total-progress i { width:95%; background:#398cec; }
.slot-summary { padding:9px !important; }
.slot-summary header,.attendee-section > header,.vote-panel > header { display:flex; align-items:center; justify-content:space-between; }
.slot-summary header button,.attendee-section header button,.vote-panel header button { height:20px; padding:0 8px; border:1px solid #dce2e7; border-radius:3px; background:#fff; font-size:6px; }
.slot-summary table { width:100%; margin-top:6px; border-collapse:collapse; font-size:6px; text-align:center; }
.slot-summary th,.slot-summary td { height:25px; padding:3px; border:1px solid #e7ebef; }
.slot-summary th:first-child,.slot-summary td:first-child { text-align:left; }
.slot-summary th { background:#f7f9fa; font-weight:600; }
.slot-summary td i { display:block; padding:4px 2px; border-radius:3px; font-style:normal; }
.slot-summary td i.ok { color:#24835b; background:#e9f8ef; }
.slot-summary td i.warn { color:#9b641c; background:#fff2e5; }
.slot-summary td i.bad { color:#b93d4b; background:#fde9ec; }
.slot-summary ul { display:grid; gap:4px; margin:7px 0 0; padding:0; list-style:none; font-size:6px; }
.slot-summary li::before { content:""; display:inline-block; width:8px; height:8px; margin-right:7px; border-radius:50%; vertical-align:middle; }
.slot-summary .green-dot::before { background:#2cb77d; }.slot-summary .amber-dot::before { background:#f4a332; }.slot-summary .red-dot::before { background:#ef5867; }
.admin-app .admin-tabs { height:22px; margin-top:9px; background:#fff; }
.admin-app .admin-tabs a { display:grid; place-items:center; padding:0 15px; border-width:0 0 2px; font-size:7px; }
.attendee-section { height:196px; margin-top:7px; padding:8px; }
.attendee-section > header { height:12px; }
.attendee-section > header > div { display:flex; gap:5px; }
.admin-app .admin-slot-grid { grid-template-columns:repeat(3,1fr); gap:9px; height:161px; margin-top:5px; }
.admin-app .admin-slot { overflow:hidden; border:1px solid #e2e6eb; border-radius:4px; }
.admin-app .admin-slot > header { display:block; height:35px; padding:6px 9px; border:0; background:#fff4fa; }
.admin-app .admin-slot.men > header { background:#f0f5ff; }.admin-app .admin-slot.couples > header { background:#f6efff; }
.admin-app .admin-slot h3 { display:flex; align-items:center; gap:8px; color:#d92675; font-size:11px; text-transform:none; }
.admin-app .admin-slot.men h3 { color:#164bd7; }.admin-app .admin-slot.couples h3 { color:#8c46d1; }
.admin-app .admin-slot h3 i { font-size:15px; font-style:normal; }
.admin-app .admin-slot header span { display:block; margin:1px 0 0 22px; color:#697585; font-size:6px; }
.admin-tier { height:42px; padding:4px 8px; border-top:1px solid #edf0f3; }
.admin-tier > div:first-child { display:grid; grid-template-columns:1fr 42px 68px; align-items:center; font-size:6px; }
.admin-tier strong { font-size:7px; }
.admin-tier em { justify-self:end; padding:4px 7px; border-radius:3px; color:#148059; background:#e4f8ec; font-size:6px; font-style:normal; }
.admin-tier em.additional { color:#a66413; background:#fff0df; }.admin-tier em.waiting { color:#b8293d; background:#fde7eb; }
.admin-faces { display:flex; align-items:center; gap:3px; height:21px; }
.admin-faces img,.admin-faces i { width:19px; height:19px; border-radius:50%; object-fit:cover; }
.admin-faces i { display:grid; place-items:center; color:#8792a1; background:#f0f3f6; font-size:9px; font-style:normal; }
.admin-bottom { display:grid; grid-template-columns:1.05fr 1.02fr 166px; gap:8px; height:132px; margin-top:8px; }
.vote-panel { padding:7px; }
.vote-panel header { height:18px; }
.vote-panel header h2 { display:flex; align-items:center; }
.vote-panel header h2 span { margin-left:8px; padding:3px 6px; color:#1477ca; background:#e4f2ff; font-size:6px; }
.vote-panel header h2 small { margin-left:8px; color:#647180; font-size:6px; font-weight:400; }
.vote-panel > div { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; height:96px; }
.vote-panel article { display:grid; justify-items:center; align-content:start; gap:2px; padding:5px 4px 4px; border:1px solid #e2e7ec; border-radius:4px; font-size:6px; }
.date-voting article > b { display:grid; justify-items:center; font-size:7px; }.date-voting article > b strong { font-size:9px; }
.vote-panel article > span,.vote-panel article > small { font-size:6px; }
.vote-panel article > em { width:100%; height:5px; overflow:hidden; border-radius:5px; background:#e5e9ed; }
.vote-panel article > em i { display:block; height:100%; background:#398eec; }
.vote-panel article button { width:100%; height:19px; margin-top:1px; border:1px solid #dce2e8; border-radius:3px; background:#fff; font-size:6px; }
.vote-panel article button.selected { border-color:#2caf79; color:#178054; background:#eaf8f1; }
.venue-voting > div { grid-template-columns:repeat(3,1fr); }
.venue-voting article { align-items:start; justify-items:start; padding:3px; }
.venue-voting article img { width:100%; height:42px; border-radius:2px; object-fit:cover; }
.venue-voting article > b { width:100%; overflow:hidden; font-size:7px; white-space:nowrap; text-overflow:ellipsis; }
.venue-voting article button { margin-top:0; }
.admin-quick { padding:7px; }
.admin-quick h2 { height:18px; }
.admin-quick a,.admin-quick button { display:flex; align-items:center; justify-content:center; width:100%; height:17px; margin-bottom:2px; padding:0; border:1px solid #cfd8e2; border-radius:3px; color:#16243a; background:#f5f8fb; font-size:6px; }
.admin-quick a:first-of-type { color:#fff; background:#347fe3; }
.admin-quick button.close { border-color:#ef6875; color:#bd283b; background:#fff1f2; }

@media (max-width: 900px) {
  .admin-app { overflow-x:auto; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--ivory); }
body:has(dialog[open]) { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
svg { width: 1.25em; height: 1.25em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
:focus-visible { outline: 3px solid #d79532; outline-offset: 3px; }
.skip-link { position: fixed; z-index: 1000; top: 8px; left: 8px; transform: translateY(-160%); padding: 10px 16px; border-radius: 8px; background: #fff; color: #111; }
.skip-link:focus { transform: none; }
.eyebrow { display: inline-block; font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }

/* Shared member navigation */
.member-nav {
  position: relative; z-index: 10; height: 65px; display: flex; align-items: center; gap: 42px;
  width: min(1180px, calc(100% - 48px)); margin: auto; border-bottom: 1px solid rgba(70, 50, 30, .12);
}
.member-nav.over-hero { width: 100%; padding: 0 max(32px, calc((100% - 1180px)/2)); color: #fff; border-color: rgba(255,255,255,.16); background: rgba(12,8,7,.42); backdrop-filter: blur(8px); }
.brand { display: flex; align-items: center; gap: 10px; white-space: nowrap; font-size: 15px; font-weight: 760; letter-spacing: .03em; }
.brand-mark { display: grid; place-items: center; width: 34px; height: 34px; color: #ddaa5c; font: 29px/1 Georgia, serif; transform: rotate(180deg); }
.member-nav nav { align-self: stretch; display: flex; align-items: center; gap: 30px; }
.member-nav nav a { position: relative; display: flex; align-items: center; height: 100%; font-size: 14px; }
.member-nav nav a[aria-current="page"]::after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: #dc9b3e; }
.nav-tools { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.icon-button { display: grid; place-items: center; width: 38px; height: 38px; border: 0; background: transparent; color: inherit; border-radius: 50%; }
.profile-link { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 650; white-space: nowrap; }
.profile-link img, .profile-link .profile-initials { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.profile-link .profile-initials { display: none; place-items: center; background: #38291f; color: #fff; font-size: 11px; }
.profile-link:not(:has(img)) .profile-initials { display: grid; }
.profile-link .profile-label { font-size: 14px; font-weight: 650; }
.nav-sign-in, .nav-admin-link { display: inline-flex; align-items: center; height: 38px; padding: 0 14px; border: 1px solid rgba(72, 50, 30, .18); border-radius: 999px; font-size: 14px; font-weight: 650; white-space: nowrap; }
.nav-sign-in:hover, .nav-admin-link:hover { border-color: rgba(72, 50, 30, .32); background: rgba(255, 255, 255, .45); }
.nav-admin-link { border-color: rgba(52, 127, 227, .28); color: #1769ad; background: rgba(237, 246, 255, .85); }
.nav-admin-link:hover { border-color: rgba(52, 127, 227, .45); background: #edf6ff; }
.member-nav.over-hero .nav-sign-in, .member-nav.over-hero .nav-admin-link { color: #fff; }
.member-nav.over-hero .nav-sign-in { border-color: rgba(255, 255, 255, .35); background: transparent; }
.member-nav.over-hero .nav-sign-in:hover { border-color: rgba(255, 255, 255, .55); background: rgba(255, 255, 255, .12); }
.member-nav.over-hero .nav-admin-link { border-color: rgba(255, 255, 255, .4); background: rgba(255, 255, 255, .1); }
.member-nav.over-hero .nav-admin-link:hover { border-color: rgba(255, 255, 255, .58); background: rgba(255, 255, 255, .18); }

/* Single event */
.member-page {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  background: transparent;
}
.member-page-backdrop {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  transform-origin: center center;
  will-change: transform;
}
.member-page-backdrop::before,
.member-page-backdrop::after {
  content: "";
  position: absolute;
  inset: -30%;
  pointer-events: none;
  opacity: 0;
  background-repeat: no-repeat;
  transition: opacity .35s ease;
}
.member-page > :not(.member-page-backdrop) { position: relative; z-index: 1; }
:is(.member-page,.discovery-page).bg-effect-ember .member-page-backdrop::before {
  opacity: 1;
  background: radial-gradient(circle, rgba(255, 132, 58, .42) 0%, rgba(255, 132, 58, 0) 58%);
  background-size: 52vmax 52vmax;
  animation: bgEmberOrbA 20s ease-in-out infinite;
}
:is(.member-page,.discovery-page).bg-effect-ember .member-page-backdrop::after {
  opacity: 1;
  background: radial-gradient(circle, rgba(255, 196, 110, .28) 0%, transparent 55%), radial-gradient(circle, rgba(255, 72, 42, .22) 0%, transparent 50%);
  background-size: 40vmax 40vmax, 34vmax 34vmax;
  animation: bgEmberOrbB 14s ease-in-out infinite;
}
:is(.member-page,.discovery-page).bg-effect-aurora .member-page-backdrop::before {
  opacity: 1;
  background: radial-gradient(ellipse, rgba(120, 92, 255, .38) 0%, transparent 62%), radial-gradient(ellipse, rgba(45, 212, 191, .26) 0%, transparent 58%);
  background-size: 90vmax 55vmax, 70vmax 45vmax;
  animation: bgAuroraRibbonA 26s linear infinite;
}
:is(.member-page,.discovery-page).bg-effect-aurora .member-page-backdrop::after {
  opacity: 1;
  background: radial-gradient(ellipse, rgba(59, 130, 246, .28) 0%, transparent 60%), linear-gradient(115deg, transparent 30%, rgba(167, 139, 250, .18) 48%, transparent 66%);
  background-size: 80vmax 50vmax, 220% 220%;
  animation: bgAuroraRibbonB 18s linear infinite;
}
:is(.member-page,.discovery-page).bg-effect-candlelight .member-page-backdrop::before {
  opacity: 1;
  background: radial-gradient(circle, rgba(255, 220, 150, .45) 0%, rgba(255, 180, 90, .12) 42%, transparent 68%);
  background-size: 65vmax 65vmax;
  animation: bgCandlePool 11s ease-in-out infinite;
}
:is(.member-page,.discovery-page).bg-effect-candlelight .member-page-backdrop::after {
  opacity: 1;
  background: radial-gradient(circle, rgba(255, 160, 70, .22) 0%, transparent 55%);
  background-size: 28vmax 28vmax;
  animation: bgCandleFlame 4.5s ease-in-out infinite;
}
:is(.member-page,.discovery-page).bg-effect-starlight .member-page-backdrop::before {
  opacity: 1;
  background:
    radial-gradient(circle, rgba(255, 255, 255, .85) 0 1.2px, transparent 1.6px),
    radial-gradient(circle, rgba(255, 255, 255, .65) 0 1px, transparent 1.4px),
    radial-gradient(circle, rgba(255, 248, 220, .55) 0 1px, transparent 1.4px),
    radial-gradient(circle, rgba(255, 255, 255, .75) 0 1.1px, transparent 1.5px),
    radial-gradient(circle, rgba(255, 255, 255, .5) 0 1px, transparent 1.4px);
  background-size: 240px 240px, 320px 320px, 280px 280px, 360px 360px, 300px 300px;
  animation: bgStarDrift 42s linear infinite;
}
:is(.member-page,.discovery-page).bg-effect-starlight .member-page-backdrop::after {
  opacity: 1;
  background: radial-gradient(circle, rgba(255, 230, 180, .18) 0%, transparent 55%), radial-gradient(circle, rgba(140, 170, 255, .12) 0%, transparent 50%);
  background-size: 55vmax 55vmax, 48vmax 48vmax;
  animation: bgStarGlow 24s ease-in-out infinite;
}
@keyframes bgEmberOrbA {
  0% { background-position: -5% 95%; transform: translate3d(0, 0, 0) scale(1); }
  33% { background-position: 62% 35%; transform: translate3d(3%, -2%, 0) scale(1.08); }
  66% { background-position: 95% 78%; transform: translate3d(-2%, 2%, 0) scale(.96); }
  100% { background-position: -5% 95%; transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes bgEmberOrbB {
  0% { background-position: 105% 15%, 80% 90%; }
  50% { background-position: 10% 82%, 25% 25%; }
  100% { background-position: 105% 15%, 80% 90%; }
}
@keyframes bgAuroraRibbonA {
  0% { background-position: -20% 10%, 120% 70%; transform: translateX(0); }
  50% { background-position: 55% 35%, 15% 55%; transform: translateX(4%); }
  100% { background-position: 110% 20%, -15% 40%; transform: translateX(0); }
}
@keyframes bgAuroraRibbonB {
  0% { background-position: 100% 60%, 0% 50%; }
  100% { background-position: -20% 30%, 100% 50%; }
}
@keyframes bgCandlePool {
  0%, 100% { background-position: 50% 105%; transform: scale(1); opacity: .82; }
  40% { background-position: 44% 98%; transform: scale(1.06); opacity: .95; }
  70% { background-position: 56% 102%; transform: scale(.98); opacity: .88; }
}
@keyframes bgCandleFlame {
  0%, 100% { background-position: 48% 88%; transform: translateY(0); }
  35% { background-position: 52% 84%; transform: translateY(-2%); }
  68% { background-position: 46% 86%; transform: translateY(1%); }
}
@keyframes bgStarDrift {
  0% { background-position: 0 0, 40px 60px, 80px 20px, 120px 100px, 200px 40px; opacity: .7; }
  50% { background-position: 120px 80px, 180px 140px, 220px 90px, 300px 180px, 360px 120px; opacity: 1; }
  100% { background-position: 240px 160px, 320px 220px, 360px 180px, 480px 260px, 520px 200px; opacity: .75; }
}
@keyframes bgStarGlow {
  0% { background-position: 20% 80%, 75% 30%; transform: scale(1); }
  50% { background-position: 65% 55%, 25% 70%; transform: scale(1.08); }
  100% { background-position: 20% 80%, 75% 30%; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .member-page-backdrop { transform: none !important; }
  .member-page-backdrop::before,
  .member-page-backdrop::after { animation: none !important; }
}
.event-hero { position: relative; min-height: 438px; color: #fff; background-image: linear-gradient(90deg, rgba(12,8,7,.87) 0%, rgba(17,9,5,.47) 48%, rgba(12,8,7,.17)), var(--hero); background-size: cover; background-position: center 45%; overflow: hidden; }
.event-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 90px; background: linear-gradient(transparent, rgba(10,6,5,.5)); pointer-events: none; }
.hero-content { position: relative; z-index: 2; width: min(1180px, calc(100% - 64px)); margin: 38px auto 0; display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 52px; align-items: end; }
.hero-main { max-width: 720px; }
.hero-main .eyebrow { padding: 6px 10px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: rgba(15,10,8,.25); font-size: 9px; }
.hero-main h1 { margin: 12px 0 13px; font: 64px/.92 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }
.event-meta { display: flex; align-items: center; gap: 34px; margin-bottom: 18px; }
.event-meta > span { display: flex; align-items: center; gap: 10px; min-width: 0; }
.event-meta svg { flex: 0 0 auto; width: 23px; height: 23px; }
.event-meta b { display: grid; font-size: 14px; font-weight: 650; white-space: nowrap; }
.event-meta small { margin-top: 2px; color: rgba(255,255,255,.72); font-size: 11px; font-weight: 400; }
.hero-main > p { max-width: 720px; margin: 0 0 17px; color: rgba(255,255,255,.87); font-size: 14px; line-height: 1.55; }
.hero-gallery { display: flex; gap: 7px; height: 78px; }
.hero-gallery > img, .hero-gallery > .gallery-thumbnail { width: 128px; border: 1px solid rgba(240,184,86,.72); border-radius: 8px; object-fit: cover; }
.hero-gallery > button:not(.gallery-thumbnail) { display: flex; align-items: center; gap: 10px; min-width: 158px; padding: 9px 12px; border: 0; color: #fff; background: rgba(14,10,9,.48); border-radius: 9px; text-align: left; }
.hero-gallery .play { display: grid; place-items: center; width: 36px; height: 36px; padding-left: 2px; border: 2px solid #fff; border-radius: 50%; font-size: 12px; }
.hero-gallery b { display: grid; font-size: 12px; }
.hero-gallery small { font-size: 10px; font-weight: 400; color: rgba(255,255,255,.7); }
.status-card { align-self: end; margin-bottom: 7px; padding: 21px 22px 17px; border: 1px solid rgba(255,255,255,.16); border-radius: 15px; background: linear-gradient(135deg, rgba(37,29,26,.86), rgba(34,29,29,.67)); box-shadow: 0 20px 40px rgba(0,0,0,.32); backdrop-filter: blur(14px); }
.status-kicker { font-size: 12px; color: rgba(255,255,255,.82); }
.status-body { display: grid; grid-template-columns: 1fr 118px; gap: 18px; margin: 6px 0 16px; }
.status-body strong { color: #f4c270; font: 700 18px/1.2 Georgia, serif; }
.status-body p { margin: 10px 0 0; font-size: 12px; line-height: 1.42; color: rgba(255,255,255,.75); }
.status-body ol { margin: 0; padding: 0; list-style: none; }
.status-body li { position: relative; display: flex; align-items: center; gap: 9px; min-height: 34px; font-size: 12px; color: rgba(255,255,255,.8); }
.status-body li:not(:last-child)::after { content: ""; position: absolute; top: 23px; left: 7px; width: 1px; height: 15px; background: rgba(255,255,255,.25); }
.status-body li > span { width: 15px; height: 15px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; }
.status-body li.active > span { border-color: #e2a548; background: #db9635; box-shadow: 0 0 0 4px rgba(222,157,55,.18); }
.status-body li.active { color: #fff; font-weight: 650; }
.status-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.status-actions button { display: flex; justify-content: center; align-items: center; gap: 8px; height: 40px; border: 1px solid rgba(255,255,255,.14); border-radius: 6px; color: #fff; background: rgba(255,255,255,.035); font-size: 12px; }
.status-actions button svg { color: #efb656; }

.member-content { position: relative; z-index: 4; width: min(1180px, calc(100% - 48px)); margin: -1px auto 0; padding: 20px 0 48px; }
.content-card { border: 1px solid rgba(76,48,23,.13); border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow); backdrop-filter: blur(12px); }
.member-page .content-card { background: rgba(255, 253, 249, var(--card-surface-alpha, 0.9)); backdrop-filter: blur(var(--card-surface-blur, 12px)); }
.member-page.member-page-invert-sections .member-content {
  --section-ink: #f4f0ea;
  --section-muted: rgba(244, 240, 234, 0.74);
  --section-line: rgba(255, 255, 255, 0.16);
  color: var(--section-ink);
}
.member-page.member-page-invert-sections .member-content .content-card { border-color: var(--section-line); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.22); }
.member-page.member-page-invert-sections .member-content .section-head h2,
.member-page.member-page-invert-sections .member-content .section-mini-head h2,
.member-page.member-page-invert-sections .member-content .details-content h2,
.member-page.member-page-invert-sections .member-content .slot-card > header > strong,
.member-page.member-page-invert-sections .member-content .tier-heading,
.member-page.member-page-invert-sections .member-content .date-option,
.member-page.member-page-invert-sections .member-content .venue-option h3,
.member-page.member-page-invert-sections .member-content .details-copy dt { color: var(--section-ink); }
.member-page.member-page-invert-sections .member-content .section-head > div,
.member-page.member-page-invert-sections .member-content .section-mini-head > span,
.member-page.member-page-invert-sections .member-content .date-option > span,
.member-page.member-page-invert-sections .member-content .venue-option p,
.member-page.member-page-invert-sections .member-content .details-copy > p,
.member-page.member-page-invert-sections .member-content .details-copy dd,
.member-page.member-page-invert-sections .member-content .detail-tabs button,
.member-page.member-page-invert-sections .member-content .timeline li,
.member-page.member-page-invert-sections .member-content .timeline li small { color: var(--section-muted); }
.member-page.member-page-invert-sections .member-content .empty-slot {
  border: 1px solid #eee4d9;
  color: #6c6870;
  background: #f2f0ed;
}
.member-page.member-page-invert-sections .member-content .detail-tabs button.active { color: #fff; }
.member-page.member-page-invert-sections .member-content .section-head i { background: rgba(255, 255, 255, 0.18); }
.member-page.member-page-invert-sections .member-content .slot-card { border-color: var(--section-line); background: rgba(255, 255, 255, 0.06); }
.member-page.member-page-invert-sections .member-content .slot-card > header { border-bottom-color: var(--section-line); background: rgba(255, 255, 255, 0.08); }
.member-page.member-page-invert-sections .member-content .slot-card.blue > header,
.member-page.member-page-invert-sections .member-content .slot-card.violet > header { background: rgba(255, 255, 255, 0.08); }
.member-page.member-page-invert-sections .member-content .slot-card h3 { color: #ffb4cc; }
.member-page.member-page-invert-sections .member-content .slot-card.blue h3 { color: #9ec5ff; }
.member-page.member-page-invert-sections .member-content .slot-card.violet h3 { color: #d4b5ff; }
.member-page.member-page-invert-sections .member-content .tier + .tier { border-top-color: var(--section-line); }
.member-page.member-page-invert-sections .member-content .tier-heading strong { color: #7ddeb0; }
.member-page.member-page-invert-sections .member-content .tier:nth-of-type(3) .tier-heading strong { color: #f0c878; }
.member-page.member-page-invert-sections .member-content .tier:nth-of-type(4) .tier-heading strong { color: #f0a099; }
.member-page.member-page-invert-sections .member-content .date-option,
.member-page.member-page-invert-sections .member-content .venue-option { border-color: var(--section-line); background: rgba(255, 255, 255, 0.06); }
.member-page.member-page-invert-sections .member-content .date-option.selected,
.member-page.member-page-invert-sections .member-content .venue-option.selected { background: rgba(255, 255, 255, 0.12); }
.member-page.member-page-invert-sections .member-content .date-option > i { background: rgba(255, 255, 255, 0.18); }
.member-page.member-page-invert-sections .member-content .date-option > u { border-color: rgba(255, 255, 255, 0.35); }
.member-page.member-page-invert-sections .member-content .venue-option button,
.member-page.member-page-invert-sections .member-content .detail-gallery button { border-color: var(--section-line); background: rgba(255, 255, 255, 0.08); color: var(--section-ink); }
.member-page.member-page-invert-sections .member-content .detail-tabs { border-bottom-color: var(--section-line); }
.member-page.member-page-invert-sections .member-content .timeline { border-left-color: var(--section-line); }
.member-page.member-page-invert-sections .member-content .timeline li:not(:last-child)::after { background: rgba(255, 255, 255, 0.22); }
.member-page.member-page-invert-sections .member-content .timeline li > span { background: rgba(255, 255, 255, 0.28); }
.slots-section { padding: 22px 22px 24px; }
.section-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 13px; }
.section-head h2 { margin: 0; font: 600 32px/1.1 Georgia, serif; }
.section-head > div { display: flex; align-items: center; gap: 10px; color: #77717a; font-size: 12px; }
.section-head i { display: block; width: 180px; height: 9px; border-radius: 999px; background: #dddcd9; overflow: hidden; }
.section-head i em { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #bb7620, #f0bf66); }
.slot-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }
.slot-card { min-width: 0; border: 1px solid rgba(67,50,41,.14); border-radius: 10px; background: rgba(255,255,255,.69); overflow: visible; box-shadow: 0 3px 12px rgba(39,25,16,.05); }
.slot-card > header { display: flex; align-items: center; justify-content: space-between; height: 48px; padding: 0 15px; border-bottom: 1px solid var(--line); background: linear-gradient(100deg, rgba(255,235,240,.85), rgba(255,255,255,.8)); border-radius: 10px 10px 0 0; }
.slot-card.blue > header { background: linear-gradient(100deg, rgba(229,241,255,.9), rgba(255,255,255,.8)); }
.slot-card.violet > header { background: linear-gradient(100deg, rgba(242,231,255,.9), rgba(255,255,255,.8)); }
.slot-card h3 { display: flex; align-items: center; gap: 8px; margin: 0; color: #cc2455; font-size: 19px; }
.slot-card.blue h3 { color: #2771cf; }
.slot-card.violet h3 { color: #7a35cb; }
.slot-card > header > strong { font-size: 17px; }
.category-icon { font-size: 26px; line-height: 1; }
.tier { padding: 12px 14px 13px; }
.tier + .tier { border-top: 1px solid rgba(67,50,41,.1); }
.tier-heading { display: flex; justify-content: space-between; margin-bottom: 9px; font-size: 13px; }
.tier-heading span { font-weight: 700; }
.tier-heading strong { color: var(--emerald); }
.tier:nth-of-type(3) .tier-heading strong { color: var(--amber); }
.tier:nth-of-type(4) .tier-heading strong { color: var(--coral); }
.tier-content { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
.avatar-row { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; width: 100%; min-height: 48px; }
.slot-avatar, .empty-slot { width: 48px; height: 48px; flex: 0 0 auto; border: 1px solid #eee4d9; border-radius: 50%; object-fit: cover; background: #f2f0ed; }
.empty-slot { display: grid; place-items: center; border: 0; color: #7b7880; font-size: 16px; }
.tier-state { display: inline-flex; align-items: center; gap: 4px; align-self: flex-end; padding: 5px 8px; border-radius: 6px; background: #fff4dd; color: #a46913; font-size: 11px; white-space: nowrap; }
.tier-state.complete { background: #e1f7ea; color: #16754e; }
.tier-state svg { width: 11px; height: 11px; stroke-width: 2.5; }

.voting-grid { display: grid; grid-template-columns: 1.03fr .97fr; gap: 15px; margin-top: 15px; }
.vote-panel { min-width: 0; padding: 17px 18px 16px; }
.section-mini-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.section-mini-head h2 { display: flex; align-items: center; gap: 9px; margin: 0; font-size: 18px; }
.section-mini-head h2 svg { width: 19px; height: 19px; }
.section-mini-head > span { color: #77717a; font-size: 10px; }
.date-options { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.date-option { min-width: 0; height: 155px; padding: 11px 7px 9px; border: 1px solid rgba(66,50,36,.12); border-radius: 8px; background: rgba(255,255,255,.6); color: var(--ink); }
.date-option.selected { border-color: #d39a43; background: #fff9ed; box-shadow: 0 3px 12px rgba(170,107,20,.11); }
.date-option > strong, .date-option > b, .date-option > span { display: block; }
.date-option > strong { font-size: 12px; }
.date-option > b { margin: 4px 0 14px; font-size: 15px; }
.date-option > span { color: #6b6870; font-size: 11px; line-height: 1.4; }
.date-option > i { display: block; height: 5px; margin: 9px 0 11px; border-radius: 10px; background: #dfdedb; overflow: hidden; }
.date-option > i em { display: block; height: 100%; background: #3485ed; border-radius: inherit; }
.date-option.selected > i em { background: #cf8c27; }
.date-option > u { display: grid; place-items: center; width: 22px; height: 22px; margin: auto; border: 1px solid #cac7c4; border-radius: 50%; text-decoration: none; color: #fff; }
.date-option.selected > u { border-color: #c98826; background: #c98826; }
.date-option > u svg { width: 12px; height: 12px; stroke-width: 3; }
.venue-options { display: flex; gap: 7px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; padding-bottom: 4px; }
.venue-option { flex: 0 0 31.7%; min-width: 132px; padding: 5px; border: 1px solid rgba(66,50,36,.12); border-radius: 8px; background: rgba(255,255,255,.65); scroll-snap-align: start; }
.venue-option.selected { border-color: #d39a43; background: #fff9ed; }
.venue-option img { width: 100%; height: 75px; border-radius: 6px; object-fit: cover; }
.venue-option h3 { margin: 7px 2px 2px; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.venue-option p { margin: 0 2px 7px; color: #6f6b72; font-size: 10px; }
.venue-option button { display: flex; justify-content: center; align-items: center; gap: 4px; width: 100%; height: 30px; border: 1px solid rgba(70,50,30,.11); border-radius: 5px; background: #fff; font-size: 11px; }
.venue-option.selected button { color: #8f5b15; background: #fff4db; }
.venue-option button svg { width: 11px; height: 11px; }

.details-card { margin-top: 15px; overflow: hidden; }
.detail-tabs { display: grid; grid-template-columns: repeat(6, 1fr); height: 46px; border-bottom: 1px solid var(--line); }
.detail-tabs button { position: relative; border: 0; background: transparent; color: #5d5962; font-size: 12px; }
.detail-tabs button.active { color: #17151a; font-weight: 700; }
.detail-tabs button.active::after { content: ""; position: absolute; left: 18px; right: 18px; bottom: 0; height: 2px; background: #cc8b2d; }
.details-content { display: grid; grid-template-columns: 1.3fr .92fr .78fr; gap: 28px; padding: 21px 24px 23px; }
.details-content h2 { margin: 0 0 12px; font-size: 18px; }
.details-copy > p { margin: 0 0 17px; color: #5f5b62; font-size: 13px; line-height: 1.52; }
.details-copy dl { margin: 0; }
.details-copy dl > div { display: grid; grid-template-columns: 125px 1fr; margin: 0 0 11px; font-size: 12px; }
.details-copy dt { display: flex; align-items: center; gap: 8px; font-weight: 700; }
.details-copy dt svg { width: 15px; height: 15px; }
.details-copy dd { margin: 0; color: #5f5b62; line-height: 1.35; }
.detail-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; align-content: start; }
.detail-gallery img { width: 100%; height: 99px; object-fit: cover; border-radius: 5px; }
.detail-gallery img.large { grid-column: 1 / -1; height: 135px; }
.detail-gallery button { grid-column: 1 / -1; display: flex; justify-content: center; align-items: center; gap: 7px; height: 34px; border: 1px solid var(--line); border-radius: 4px; background: #fff; font-size: 9px; }
.detail-gallery button span { margin-left: auto; margin-right: 9px; color: #77717a; }
.detail-gallery button svg { width: 14px; height: 14px; }
.timeline { padding-left: 5px; border-left: 1px solid var(--line); }
.timeline h2 { margin-left: 19px; }
.timeline ol { margin: 0 0 17px; padding: 0 0 0 18px; list-style: none; }
.timeline li { position: relative; display: flex; gap: 10px; min-height: 53px; font-size: 11px; }
.timeline li:not(:last-child)::after { content: ""; position: absolute; top: 19px; left: 8px; width: 1px; height: 35px; background: #d3d0cc; }
.timeline li > span { position: relative; z-index: 1; display: grid; place-items: center; width: 17px; height: 17px; flex: 0 0 auto; border-radius: 50%; background: #d5d2ce; }
.timeline li.done > span { color: #fff; background: #555c6d; }
.timeline li.active > span { background: #d58c28; box-shadow: 0 0 0 5px rgba(215,143,41,.12); }
.timeline li.active div { color: #a8650c; font-weight: 700; }
.timeline li svg { width: 10px; height: 10px; stroke-width: 3; }
.timeline li small { display: block; margin-top: 3px; color: #77717a; font-size: 10px; font-weight: 400; }
.primary-button { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; padding: 0 20px; border: 0; border-radius: 8px; background: linear-gradient(135deg, #dda447, #b97217); color: #fff; box-shadow: 0 8px 18px rgba(175,103,15,.22); text-transform: uppercase; font-size: 10px; font-weight: 750; letter-spacing: .02em; }
.timeline .primary-button { width: calc(100% - 14px); margin-left: 14px; text-transform: none; font-size: 12px; }

/* Dialog */
dialog { width: min(520px, calc(100% - 32px)); padding: 0; border: 1px solid rgba(118,81,35,.22); border-radius: 18px; color: var(--ink); background: #fffdf9; box-shadow: 0 30px 100px rgba(39,23,8,.3); }
dialog::backdrop { background: rgba(20,13,9,.62); backdrop-filter: blur(5px); }
.dialog-close { position: absolute; top: 12px; right: 12px; z-index: 2; display: grid; place-items: center; width: 35px; height: 35px; border: 0; border-radius: 50%; background: #f1ece5; font-size: 22px; }
#registration-form, .registration-result { padding: 38px; text-align: center; }
#registration-form h2, .registration-result h2 { margin: 8px 0 6px; font: 34px/1.1 Georgia, serif; }
#registration-form > p:not(.eyebrow) { color: var(--muted); font-size: 13px; }
#registration-form fieldset { display: grid; gap: 8px; margin: 24px 0; padding: 0; border: 0; text-align: left; }
#registration-form legend { margin-bottom: 8px; font-size: 12px; font-weight: 700; }
#registration-form label { display: flex; align-items: center; gap: 12px; padding: 13px; border: 1px solid var(--line); border-radius: 9px; cursor: pointer; }
#registration-form label:has(input:checked) { border-color: #c4862d; background: #fff8e9; }
#registration-form input { width: 18px; height: 18px; accent-color: #bc7920; }
#registration-form label span { display: grid; }
#registration-form label small { margin-top: 3px; color: var(--muted); }
#registration-form .primary-button, .registration-result .primary-button { width: 100%; }
.success-mark { display: grid; place-items: center; width: 62px; height: 62px; margin: 0 auto 18px; border-radius: 50%; color: #fff; background: var(--emerald); }
.success-mark svg { width: 29px; height: 29px; stroke-width: 2.5; }
.registration-result dl { margin: 24px 0; border-block: 1px solid var(--line); }
.registration-result dl div { display: flex; justify-content: space-between; padding: 12px; }
.registration-result dt { color: var(--muted); }
.registration-result dd { margin: 0; font-weight: 700; }

/* Discovery */
.discovery-page { display: flow-root; }
.discovery-page, .account-page { min-height: 100vh; background: linear-gradient(155deg,#faf7f1,#eee5d9); }
.discovery-hero { min-height: 460px; padding: 115px max(32px, calc((100% - 1180px)/2)); color: #fff; background: linear-gradient(90deg,rgba(14,9,7,.82),rgba(14,9,7,.2)), url("https://images.unsplash.com/photo-1492684223066-81342ee5ff30?auto=format&fit=crop&w=1800&q=88") center/cover; }
.discovery-hero h1 { max-width: 760px; margin: 14px 0; font: 68px/.98 Georgia,serif; letter-spacing: -.04em; }
.discovery-hero h1 em { color: #efc77d; font-weight: 400; }
.discovery-hero p { max-width: 590px; color: rgba(255,255,255,.82); font-size: 16px; line-height: 1.6; }
.discover-controls { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3,1fr) 180px; gap: 12px; width: min(1080px,calc(100% - 48px)); margin: -38px auto 0; padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,253,249,.95); box-shadow: var(--shadow); }
.discover-controls label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.discover-controls select { height: 40px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); font-weight: 600; }
.discover-controls > button { display: flex; justify-content: center; align-items: center; gap: 8px; border: 0; border-radius: 8px; color: #fff; background: #1c1714; }
.event-list { width: min(1180px,calc(100% - 48px)); margin: 70px auto; }
.event-list > header h2 { margin: 0; font: 42px Georgia,serif; }
.event-list > header p { color: var(--muted); }
.event-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 28px; }
.event-card { position: relative; overflow: hidden; min-height: 430px; border-radius: 16px; box-shadow: var(--shadow); background: #222; }
.event-card::after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(11,7,5,.9)); }
.event-card img { position:absolute; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.event-card:hover img { transform:scale(1.035); }
.event-state { display:inline-flex; width:max-content; padding:5px 9px; border-radius:999px; color:#f3bd62; background:rgba(18,13,11,.72); font-size:9px; font-weight:750; letter-spacing:.06em; }
.event-card > .event-state { position:absolute; z-index:2; top:17px; left:17px; }
.event-card > div { position:absolute; z-index:2; left:22px; right:22px; bottom:22px; color:#fff; }
.event-card > div p { color:#efc47b; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.event-card > div h3 { margin:7px 0; font:34px Georgia,serif; }
.event-card > div span { color:rgba(255,255,255,.7); font-size:12px; }

/* Account */
.account-shell { display:grid; grid-template-columns:280px 1fr; gap:50px; width:min(1100px,calc(100% - 48px)); margin:50px auto; }
.account-shell > aside { align-self:start; padding:30px; border:1px solid var(--line); border-radius:16px; background:var(--paper); text-align:center; box-shadow:var(--shadow); }
.account-shell > aside img { width:96px; height:96px; margin:auto; border-radius:50%; object-fit:cover; }
.account-shell > aside h1 { margin:15px 0 4px; font:26px Georgia,serif; }
.account-shell > aside p { color:var(--emerald); font-size:12px; }
.account-shell > aside nav { display:grid; margin-top:24px; text-align:left; }
.account-shell > aside nav a { padding:11px 13px; border-radius:7px; font-size:13px; }
.account-shell > aside nav a.active { background:#f1e8dc; font-weight:700; }
.account-welcome { padding:38px; border-radius:18px; color:#fff; background:linear-gradient(100deg,rgba(17,11,8,.92),rgba(17,11,8,.38)),url("https://images.unsplash.com/photo-1519167758481-83f550bb49b3?auto=format&fit=crop&w=1200&q=80") center/cover; }
.account-welcome h2 { margin:10px 0; font:43px Georgia,serif; }
.account-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:18px 0 35px; }
.account-stats article { display:grid; padding:22px; border:1px solid var(--line); border-radius:12px; background:var(--paper); }
.account-stats b { font:32px Georgia,serif; }
.account-stats span { color:var(--muted); font-size:11px; }
.account-event { display:flex; gap:20px; padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--paper); }
.account-event img { width:210px; border-radius:10px; object-fit:cover; }
.account-event h3 { margin:12px 0 5px; font:27px Georgia,serif; }
.account-event p { color:var(--muted); }
.account-event a { display:flex; align-items:center; gap:8px; font-weight:700; font-size:12px; }

/* Authentication */
.login-page { min-height:100vh; padding:28px; background:
  radial-gradient(circle at 80% 15%,rgba(210,166,94,.18),transparent 28%),
  linear-gradient(140deg,#eee4d5,#faf7f1); }
.login-shell { display:grid; grid-template-columns:1.05fr .95fr; min-height:calc(100vh - 56px); max-width:1180px; margin:auto; overflow:hidden; border:1px solid rgba(87,61,35,.15); border-radius:22px; background:#fffdf9; box-shadow:0 24px 80px rgba(59,37,17,.16); }
.login-art { display:flex; flex-direction:column; justify-content:space-between; padding:35px 45px 55px; color:#fff; background:linear-gradient(180deg,rgba(12,8,7,.2),rgba(12,8,7,.78)),url("https://images.unsplash.com/photo-1517457373958-b7bdd4587205?auto=format&fit=crop&w=1200&q=88") center/cover; }
.login-art h1 { margin:10px 0; font:58px/.95 Georgia,serif; letter-spacing:-.04em; }
.login-art p:last-child { color:rgba(255,255,255,.75); }
.login-form-wrap { display:grid; place-items:center; padding:50px; }
#login-form { display:grid; width:min(390px,100%); }
#login-form h2 { margin:10px 0 5px; font:36px Georgia,serif; }
#login-form > p:not(.eyebrow) { margin:0 0 25px; color:var(--muted); }
#login-form label { display:grid; gap:7px; margin:0 0 15px; font-size:11px; font-weight:700; }
#login-form input { height:46px; padding:0 13px; border:1px solid var(--line); border-radius:7px; background:#fff; }
#login-form .primary-button { height:48px; margin-top:8px; }
#login-form > a { margin:18px auto; color:#93611e; font-size:11px; font-weight:700; }
#login-form > small { color:#8a8480; text-align:center; line-height:1.5; }
.form-error { margin-bottom:16px; padding:11px; border:1px solid #dc9f96; border-radius:6px; color:#853a31; background:#fff2ef; font-size:11px; }

/* Admin */
.admin-app { min-height:100vh; color:#1d2733; background:#f4f6f8; font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.admin-sidebar { position:fixed; z-index:5; inset:0 auto 0 0; display:flex; flex-direction:column; width:232px; padding:0 14px 18px; border-right:1px solid #dce1e6; background:#18232f; color:#d9e0e7; }
.admin-brand { display:flex; align-items:center; gap:11px; height:70px; padding:0 9px; border-bottom:1px solid rgba(255,255,255,.1); }
.admin-brand > span { display:grid; place-items:center; width:35px; height:35px; border-radius:8px; color:#1a2530; background:#e9b85e; font-size:11px; font-weight:800; }
.admin-brand b { display:grid; font-size:14px; }
.admin-brand small { margin-top:2px; color:#8794a2; font-size:9px; font-weight:500; text-transform:uppercase; letter-spacing:.08em; }
.admin-sidebar nav { display:grid; gap:4px; margin-top:19px; }
.admin-sidebar nav a { padding:10px 12px; border-radius:6px; font-size:12px; }
.admin-sidebar nav a.active,.admin-sidebar nav a:hover { color:#fff; background:#263544; }
.operator { display:flex; align-items:center; gap:9px; margin-top:auto; padding:13px 8px 0; border-top:1px solid rgba(255,255,255,.1); }
.operator > span { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#a16d2d; color:#fff; font-size:10px; }
.operator div { display:grid; }
.operator b { font-size:10px; }
.operator small { margin-top:2px; color:#8f9aa5; font-size:8px; }
.admin-main { margin-left:232px; }
.admin-top { display:flex; justify-content:space-between; align-items:center; height:70px; padding:0 28px; border-bottom:1px solid #dce1e6; background:#fff; }
.admin-top label { display:flex; align-items:center; gap:8px; width:min(480px,50%); color:#687584; }
.admin-top label svg { width:17px; }
.admin-top input { width:100%; height:38px; border:0; outline:0; font-size:12px; }
.admin-top > div { display:flex; align-items:center; gap:9px; }
.admin-top button { height:33px; border:1px solid #d9dfe4; border-radius:5px; background:#fff; font-size:10px; }
.system-ok { color:#357d5e; font-size:9px; }
.admin-main main { max-width:1450px; margin:auto; padding:21px 28px 48px; }
.breadcrumbs { display:flex; gap:8px; color:#647180; font-size:10px; }
.breadcrumbs a { color:#276ca9; }
.admin-event-head { display:flex; justify-content:space-between; align-items:flex-end; margin:24px 0 20px; }
.admin-id { color:#78838e; font:700 9px/1 monospace; letter-spacing:.06em; }
.admin-event-head h1 { margin:7px 0 4px; font-size:30px; }
.admin-event-head p { margin:0; color:#647180; font-size:11px; }
.admin-head-state { display:grid; min-width:220px; padding:13px 15px; border:1px solid #ccd4db; border-left:4px solid #c8872c; border-radius:6px; background:#fff; }
.admin-head-state span { color:#74808b; font-size:8px; font-weight:700; letter-spacing:.07em; }
.admin-head-state b { margin:4px 0 2px; font-size:13px; }
.admin-head-state small { color:#647180; font-size:9px; }
.admin-tabs { display:flex; overflow-x:auto; border-bottom:1px solid #cfd6dc; }
.admin-tabs a { flex:0 0 auto; padding:12px 17px; border-bottom:3px solid transparent; color:#546170; font-size:11px; }
.admin-tabs a.active { border-color:#236ba6; color:#1d2733; font-weight:700; }
.admin-columns { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:18px; margin-top:18px; }
.admin-primary { display:grid; gap:16px; min-width:0; }
.admin-summary,.admin-section,.admin-rail section { border:1px solid #d6dde3; border-radius:7px; background:#fff; box-shadow:0 1px 2px rgba(28,42,55,.03); }
.admin-summary,.admin-section { padding:18px; }
.admin-summary h2,.admin-section h2,.admin-rail h2 { margin:0; font-size:13px; }
.summary-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:15px; }
.summary-grid dl { margin:0; }
.summary-grid dl > div { display:flex; justify-content:space-between; padding:7px 0; border-bottom:1px solid #edf0f2; font-size:10px; }
.summary-grid dt { color:#687584; }
.summary-grid dd { margin:0; font-weight:700; }
.summary-grid .positive { color:#287452; }
.admin-section > header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:15px; }
.admin-section > header p { margin:4px 0 0; color:#6b7682; font-size:9px; }
.admin-section > header a { color:#246a9f; font-size:9px; font-weight:650; }
.admin-slot-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.admin-slot { border:1px solid #dce2e7; border-radius:6px; overflow:hidden; }
.admin-slot > header { display:flex; justify-content:space-between; align-items:center; padding:10px 12px; background:#f7f8fa; }
.admin-slot h3 { margin:0; font-size:11px; text-transform:uppercase; }
.admin-slot header a { color:#256b9f; font-size:8px; }
.admin-slot dl { margin:0; }
.admin-slot dl > div { display:flex; justify-content:space-between; align-items:center; padding:10px 12px; border-top:1px solid #edf0f2; }
.admin-slot dt { color:#606d7a; font-size:9px; }
.admin-slot dd { display:grid; margin:0; text-align:right; }
.admin-slot dd b { font-size:11px; }
.admin-slot dd span { margin-top:2px; color:#39765e; font-size:7px; font-weight:700; }
.admin-section table { width:100%; border-collapse:collapse; font-size:9px; }
.admin-section th { padding:8px; border-block:1px solid #dfe4e8; color:#6b7682; background:#f8f9fa; text-align:left; }
.admin-section td { padding:10px 8px; border-bottom:1px solid #e8ecef; vertical-align:top; }
.admin-section td b,.admin-section td small { display:block; }
.admin-section td small { margin-top:3px; color:#737e89; }
.admin-rail { display:grid; gap:16px; align-content:start; }
.admin-rail section { display:grid; gap:8px; padding:15px; }
.admin-rail h2 { margin-bottom:4px; }
.admin-rail a,.admin-rail button { display:flex; align-items:center; min-height:34px; padding:0 10px; border:1px solid #d5dce2; border-radius:5px; color:#263746; background:#fff; font-size:9px; text-align:left; }
.admin-rail a:hover,.admin-rail button:hover:not(:disabled) { border-color:#7ca2c3; background:#f7fafc; }
.admin-rail button:disabled { color:#87919a; background:#f3f5f6; }
.admin-rail section > p { margin:0; color:#6e7983; font-size:8px; line-height:1.45; }
.activation-complete { display:flex; align-items:center; gap:6px; padding:8px; color:#276b50; background:#edf8f2; font-size:9px; }
.activation-complete svg { width:13px; height:13px; }
.activation-row { display:flex; justify-content:space-between; padding:7px 0; border-bottom:1px solid #edf0f2; font-size:8px; }
.activation-row b { color:#34755c; }
.admin-persistent { position:fixed; z-index:20; right:24px; bottom:24px; max-width:460px; padding:14px 18px; border:1px solid #6f879b; border-left:5px solid #2f6f9f; border-radius:5px; background:#fff; box-shadow:0 10px 30px rgba(26,42,56,.2); font-size:10px; font-weight:700; }
.not-found { display:grid; place-items:center; align-content:center; min-height:100vh; text-align:center; }
.empty-state { margin:1.5rem 0; color:#6f625c; }

@media (max-width: 1000px) {
  .hero-content { grid-template-columns:1fr 310px; gap:24px; }
  .hero-main h1 { font-size:54px; }
  .event-meta { gap:16px; }
  .slot-avatar,.empty-slot { width:32px; height:32px; }
  .details-content { gap:18px; }
  .admin-slot-grid { grid-template-columns:1fr; }
}

@media (max-width: 760px) {
  .member-nav { width:100%; height:58px; padding:0 16px; }
  .member-nav.over-hero { padding:0 16px; }
  .member-nav nav { display:none; }
  .brand { font-size:11px; }
  .nav-tools .icon-button:first-child { display:none; }
  .event-hero { min-height:720px; background-position:58% center; }
  .hero-content { width:calc(100% - 32px); margin-top:36px; grid-template-columns:1fr; align-items:start; }
  .hero-main h1 { font-size:51px; }
  .event-meta { align-items:flex-start; flex-wrap:wrap; }
  .hero-main > p { font-size:12px; }
  .hero-gallery { overflow-x:auto; }
  .hero-gallery > img, .hero-gallery > .gallery-thumbnail { flex:0 0 108px; }
  .status-card { margin-top:4px; }
  .member-content { width:calc(100% - 20px); padding-top:10px; }
  .slots-section { padding:16px 12px; }
  .section-head { align-items:flex-start; }
  .section-head h2 { font-size:24px; }
  .section-head > div { display:grid; justify-items:end; }
  .section-head i { width:120px; }
  .slot-grid { grid-template-columns:1fr; }
  .slot-avatar,.empty-slot { width:44px; height:44px; }
  .voting-grid { grid-template-columns:1fr; gap:10px; margin-top:10px; }
  .date-options { overflow-x:auto; display:flex; scroll-snap-type:x mandatory; }
  .date-option { flex:0 0 105px; scroll-snap-align:start; }
  .venue-option { flex-basis:180px; }
  .details-card { margin-top:10px; }
  .detail-tabs { display:flex; overflow-x:auto; }
  .detail-tabs button { flex:0 0 96px; }
  .details-content { grid-template-columns:1fr; padding:20px 16px; }
  .timeline { padding-top:18px; border-top:1px solid var(--line); border-left:0; }
  .timeline h2 { margin-left:0; }
  .timeline ol { padding-left:0; }
  .timeline .primary-button { position:sticky; bottom:12px; width:100%; margin:0; }
  .discover-controls { grid-template-columns:1fr 1fr; }
  .discover-controls > button { min-height:46px; }
  .discovery-hero h1 { font-size:49px; }
  .event-cards { grid-template-columns:1fr; }
  .event-card { min-height:380px; }
  .account-shell { grid-template-columns:1fr; }
  .account-shell > aside nav { grid-template-columns:1fr 1fr; }
  .admin-sidebar { position:relative; width:100%; height:auto; padding-bottom:10px; }
  .admin-sidebar nav { grid-template-columns:repeat(4,1fr); overflow-x:auto; }
  .operator { display:none; }
  .admin-main { margin-left:0; }
  .admin-top { padding:0 14px; }
  .system-ok { display:none; }
  .admin-main main { padding:18px 14px 40px; }
  .admin-event-head { align-items:flex-start; gap:14px; }
  .admin-head-state { min-width:170px; }
  .admin-columns { grid-template-columns:1fr; }
  .admin-rail { grid-template-columns:1fr 1fr; }
  .login-page { padding:0; }
  .login-shell { grid-template-columns:1fr; min-height:100vh; border:0; border-radius:0; }
  .login-art { min-height:260px; padding:25px; }
  .login-art h1 { font-size:43px; }
  .login-form-wrap { padding:40px 24px; }
}

@media (max-width: 500px) {
  .event-hero { min-height:750px; }
  .hero-main h1 { font-size:44px; }
  .event-meta { display:grid; grid-template-columns:1fr 1fr; }
  .event-meta > span:last-child { grid-column:1 / -1; }
  .hero-gallery > button:not(.gallery-thumbnail) { min-width:135px; }
  .status-body { grid-template-columns:1fr 110px; }
  .section-mini-head > span { display:none; }
  .detail-gallery img.large { height:190px; }
  .details-copy dl > div { grid-template-columns:110px 1fr; }
  .discover-controls { grid-template-columns:1fr; }
  .discovery-hero { min-height:510px; padding-top:110px; }
  .discovery-hero h1 { font-size:41px; }
  .account-stats { grid-template-columns:1fr; }
  .account-event { display:grid; }
  .account-event img { width:100%; height:170px; }
  .admin-sidebar nav { grid-template-columns:repeat(2,1fr); }
  .admin-top label { width:70%; }
  .admin-event-head { display:grid; }
  .admin-head-state { width:100%; }
  .summary-grid { grid-template-columns:1fr; gap:0; }
  .admin-rail { grid-template-columns:1fr; }
}

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

/* Canonical 682px reference viewport refinements */
@media (min-width: 620px) and (max-width: 720px) {
  :is(.member-page, .member-account-header, .home-banner) .member-nav { height:37px; padding:0 17px; }
  :is(.member-page, .member-account-header, .home-banner) .member-nav .brand { font-size:11px; }
  :is(.member-page, .member-account-header, .home-banner) .member-nav .brand-mark { width:25px; height:25px; font-size:22px; }
  :is(.member-page, .member-account-header, .home-banner) .member-nav nav { display:flex; gap:19px; }
  :is(.member-page, .member-account-header, .home-banner) .member-nav nav a { font-size:10px; }
  :is(.member-page, .member-account-header, .home-banner) .nav-tools { gap:0; }
  :is(.member-page, .member-account-header, .home-banner) .icon-button { width:29px; height:29px; }
  :is(.member-page, .member-account-header, .home-banner) .profile-link img, :is(.member-page, .member-account-header, .home-banner) .profile-link .profile-initials { width:25px; height:25px; }
  :is(.member-page, .member-account-header, .home-banner) .profile-link .profile-label { font-size:10px; }
  :is(.member-page, .member-account-header, .home-banner) .nav-sign-in, :is(.member-page, .member-account-header, .home-banner) .nav-admin-link { height:29px; padding:0 10px; font-size:10px; }
  .member-page .event-hero { min-height:276px; background-position:center 42%; }
  .member-page .hero-content { width:calc(100% - 62px); margin-top:28px; grid-template-columns:1fr 210px; gap:23px; }
  .member-page .hero-main h1 { margin:8px 0 9px; font-size:50px; }
  .member-page .hero-main .eyebrow { padding:4px 7px; font-size:8px; }
  .member-page .event-meta { flex-wrap:nowrap; gap:16px; margin-bottom:10px; }
  .member-page .event-meta svg { width:16px; height:16px; }
  .member-page .event-meta b { font-size:10px; }
  .member-page .event-meta small { font-size:8px; }
  .member-page .hero-main > p { margin-bottom:8px; font-size:10px; line-height:1.4; }
  .member-page .hero-gallery { height:49px; }
  .member-page .hero-gallery > img, .member-page .hero-gallery > .gallery-thumbnail { flex:0 0 85px; width:85px; border-radius:5px; }
  .member-page .hero-gallery > button:not(.gallery-thumbnail) { min-width:104px; padding:5px 7px; gap:7px; }
  .member-page .hero-gallery .play { width:26px; height:26px; font-size:8px; }
  .member-page .hero-gallery b { font-size:9px; }
  .member-page .hero-gallery small { font-size:7px; }
  .member-page .status-card { margin-bottom:2px; padding:12px 13px 10px; border-radius:10px; }
  .member-page .status-kicker { font-size:8px; }
  .member-page .status-body { grid-template-columns:1fr 75px; gap:9px; margin:3px 0 8px; }
  .member-page .status-body strong { font-size:14px; }
  .member-page .status-body p { margin-top:5px; font-size:8px; }
  .member-page .status-body li { min-height:22px; gap:5px; font-size:8px; }
  .member-page .status-body li > span { width:11px; height:11px; }
  .member-page .status-body li:not(:last-child)::after { top:16px; left:5px; height:10px; }
  .member-page .status-actions { gap:6px; }
  .member-page .status-actions button { height:26px; font-size:8px; border-radius:4px; }
  .member-page .member-content { width:calc(100% - 30px); padding-top:2px; }
  .member-page .slots-section { min-height:290px; height:auto; padding:11px 10px 12px; }
  .member-page .section-head { margin-bottom:7px; }
  .member-page .section-head h2 { font-size:24px; }
  .member-page .section-head > div { display:flex; font-size:8px; }
  .member-page .section-head i { width:109px; height:6px; }
  .member-page .slot-grid { grid-template-columns:repeat(3,1fr); gap:7px; height:auto; min-height:240px; }
  .member-page .slot-card > header { height:36px; padding:0 9px; }
  .member-page .slot-card h3 { gap:5px; font-size:15px; }
  .member-page .category-icon { font-size:19px; }
  .member-page .slot-card > header > strong { font-size:13px; }
  .member-page .tier { padding:7px 8px 8px; }
  .member-page .tier-heading { margin-bottom:5px; font-size:10px; }
  .member-page .tier-content { gap:4px; }
  .member-page .avatar-row { flex-wrap:wrap; gap:5px; min-height:36px; }
  .member-page .slot-avatar,.member-page .empty-slot { width:36px; height:36px; }
  .member-page .tier-state { padding:3px 4px; border-radius:4px; font-size:8px; }
  .member-page .tier-state svg { width:8px; height:8px; }
  .member-page .slot-card:not(:has(.tier + .tier + .tier)) .tier { min-height:81px; padding-top:10px; }
  .member-page .voting-grid { grid-template-columns:1.03fr .97fr; gap:8px; margin-top:10px; }
  .member-page .vote-panel { height:164px; padding:12px 10px; }
  .member-page .section-mini-head { margin-bottom:9px; }
  .member-page .section-mini-head h2 { gap:5px; font-size:12px; }
  .member-page .section-mini-head h2 svg { width:13px; height:13px; }
  .member-page .section-mini-head > span { display:block; font-size:6px; }
  .member-page .date-options { display:grid; overflow:visible; gap:3px; }
  .member-page .date-option { height:113px; padding:6px 4px 5px; border-radius:5px; }
  .member-page .date-option > strong { font-size:9px; }
  .member-page .date-option > b { margin:2px 0 7px; font-size:11px; }
  .member-page .date-option > span { font-size:8px; }
  .member-page .date-option > i { height:3px; margin:5px 0 6px; }
  .member-page .date-option > u { width:14px; height:14px; }
  .member-page .venue-options { gap:4px; }
  .member-page .venue-option { flex-basis:31.7%; min-width:84px; padding:3px; border-radius:5px; }
  .member-page .venue-option img { height:61px; border-radius:4px; }
  .member-page .venue-option h3 { margin:4px 1px 1px; font-size:9px; }
  .member-page .venue-option p { margin:0 1px 3px; font-size:7px; }
  .member-page .venue-option button { height:18px; font-size:8px; }
  .member-page .details-card { height:291px; margin-top:9px; }
  .member-page .detail-tabs { display:grid; height:30px; overflow:visible; }
  .member-page .detail-tabs button { font-size:9px; }
  .member-page .details-content { grid-template-columns:1.34fr .935fr .725fr; gap:15px; padding:11px 13px 13px; }
  .member-page .details-content h2 { margin-bottom:7px; font-size:13px; }
  .member-page .details-copy > p { margin-bottom:9px; font-size:9px; }
  .member-page .details-copy dl > div { grid-template-columns:82px 1fr; margin-bottom:7px; font-size:9px; }
  .member-page .details-copy dt { gap:5px; }
  .member-page .details-copy dt svg { width:10px; height:10px; }
  .member-page .detail-gallery { gap:2px; }
  .member-page .detail-gallery img { height:68px; border-radius:3px; }
  .member-page .detail-gallery img.large { height:92px; }
  .member-page .detail-gallery button { height:22px; gap:4px; font-size:7px; }
  .member-page .timeline { padding:0 0 0 3px; border-top:0; border-left:1px solid var(--line); }
  .member-page .timeline h2 { margin-left:11px; }
  .member-page .timeline ol { margin-bottom:9px; padding-left:10px; }
  .member-page .timeline li { gap:6px; min-height:33px; font-size:9px; }
  .member-page .timeline li > span { width:11px; height:11px; }
  .member-page .timeline li:not(:last-child)::after { top:12px; left:5px; height:22px; }
  .member-page .timeline li small { margin-top:2px; font-size:8px; }
  .member-page .timeline .primary-button { position:static; width:calc(100% - 8px); min-height:29px; margin-left:8px; padding:0 5px; font-size:8px; }
}

/* Scale the reference-sized admin canvas for large desktop displays. */
@media (min-width:1200px) and (max-width:1349px) {
  .admin-app { min-width:790px; zoom:1.5; min-height:66.6667vh; }
}
@media (min-width:1350px) and (max-width:1439px) {
  .admin-app { min-width:790px; zoom:1.6; min-height:62.5vh; }
}
@media (min-width:1440px) and (max-width:1679px) {
  .admin-app { zoom:1.7; min-height:58.8235vh; }
}
@media (min-width:1680px) and (max-width:1919px) {
  .admin-app { zoom:1.95; min-height:51.2821vh; }
}
@media (min-width:1920px) and (max-width:2399px) {
  .admin-app { zoom:2.15; min-height:46.5116vh; }
}
@media (min-width:2400px) {
  .admin-app { zoom:2.6; min-height:38.4615vh; }
}

@media (min-width:1200px) {
  .admin-app .admin-sidebar { width:125px; }
  .admin-app .admin-main { margin-left:125px; }
  .admin-app .admin-brand { padding-inline:12px; }
  .admin-app .admin-brand b { font-size:11px; line-height:1.1; }
  .admin-app .admin-brand small { font-size:7.5px; }
  .admin-app .admin-sidebar nav a { height:30px; gap:9px; padding-inline:12px; font-size:9.5px; }
  .admin-app .admin-sidebar nav a.active { padding-left:8px; }
  .admin-app .admin-sidebar nav a i { width:14px; font-size:15px; }
  .admin-system b { font-size:7.5px; }
  .admin-system small { font-size:7px; }
  .admin-dashboard-top { grid-template-columns:210px minmax(240px,1.3fr) minmax(210px,1fr); }
  .snapshot dl > div { grid-template-columns:76px auto 1fr; font-size:8px; }
  .snapshot dd { white-space:nowrap; }
  .activation > p,.activation-alert,.slot-summary table,.slot-summary ul { font-size:7px; }
  .activation-alert b,.activation > strong { font-size:7.5px; }
  .admin-app .admin-tabs a { font-size:8px; }
  .admin-app .admin-slot header span,.admin-tier > div:first-child,.admin-tier em { font-size:7px; }
  .admin-head-actions a,.admin-head-actions button,.slot-summary header button,.attendee-section header button,.vote-panel header button { font-size:7.5px; }
  .vote-panel header h2 small,.vote-panel article > span,.vote-panel article > small,.vote-panel article button,.admin-quick a,.admin-quick button { font-size:7px; }
}

@media (min-width:1200px) and (max-width:1349px) {
  .admin-app .admin-sidebar { width:120px; }
  .admin-app .admin-main { margin-left:120px; }
  .admin-dashboard-top { grid-template-columns:188px minmax(225px,1.3fr) minmax(200px,1fr); }
}

/* Member dashboard — 1024 × 682 reference composition */
.member-dashboard { min-height:100vh; overflow-x:hidden; color:#15191f; background:
  radial-gradient(circle at 4% 82%,rgba(200,150,85,.16),transparent 22%),
  radial-gradient(circle at 92% 70%,rgba(203,154,85,.14),transparent 25%),
  #f8f3ec; font-family:Arial,Helvetica,sans-serif; }
.member-profile-hero { height:196px; overflow:hidden; border-radius:0 0 10px 10px; color:#fff; background:
  linear-gradient(90deg,rgba(6,5,6,.86) 0%,rgba(9,6,5,.52) 46%,rgba(7,4,4,.55) 100%),
  url("https://images.unsplash.com/photo-1771154140881-78acf32cdafe?auto=format&fit=crop&w=1800&q=90") center 52%/cover; }
.member-profile-hero > header { display:flex; align-items:center; justify-content:space-between; height:42px; padding:0 20px; border-bottom:1px solid rgba(255,255,255,.18); }
.member-dash-brand { display:flex; align-items:center; gap:8px; color:#e5d4bd; font-size:12px; letter-spacing:1.6px; }
.member-dash-brand span { color:#d69a3d; font-size:21px; }
.member-profile-hero > header > div { display:flex; align-items:center; gap:9px; }
.member-profile-hero > header button { position:relative; border:0; color:#fff; background:transparent; font-size:18px; }
.member-profile-hero > header button i { position:absolute; top:-5px; right:-2px; display:grid; place-items:center; width:12px; height:12px; border-radius:50%; color:#fff; background:#ee1f3d; font-size:7px; font-style:normal; }
.member-profile-hero > header a img { width:31px; height:31px; border:1px solid #fff; border-radius:50%; object-fit:cover; }
.profile-overview { display:flex; align-items:center; height:154px; padding:18px 32px 12px 39px; }
.profile-main-photo { flex:0 0 auto; width:118px; height:118px; border-radius:50%; object-fit:cover; }
.profile-info { align-self:center; min-width:0; margin-left:25px; transform:translateY(7px); }
.profile-info h1 { display:flex; align-items:center; gap:10px; margin:0 0 8px; font:29px Georgia,serif; }
.profile-info h1 i { color:#efb85d; font:14px Arial,sans-serif; }
.profile-info > p { display:flex; gap:20px; margin:0 0 16px; font-size:8px; }
.profile-info > p span { white-space:nowrap; }
.profile-info > p .online { color:#e8f9ef; }.profile-info > p .online::first-letter { color:#22d167; }
.verification-row { display:flex; gap:10px; }
.verification-row > span { display:flex; align-items:center; gap:5px; height:27px; padding:0 8px; border-radius:6px; background:rgba(7,15,11,.62); box-shadow:0 2px 10px rgba(0,0,0,.25); font-size:7px; white-space:nowrap; }
.verification-row > span:first-letter { color:#68df91; font-size:16px; }
.verification-row span i { color:#60d982; font-style:normal; }
.my-profile-button { align-self:flex-end; display:flex; align-items:center; justify-content:center; width:158px; height:39px; margin-left:auto; border:1px solid #d59b3d; border-radius:8px; background:linear-gradient(#a87729,#865a19); font-size:10px; box-shadow:inset 0 1px rgba(255,255,255,.25); }
.member-dashboard-body,
.member-profile-body { width:min(900px,calc(100% - 112px)); margin-left:auto; margin-right:auto; }
.member-dashboard-body { margin-top:11px; margin-bottom:24px; }
.member-profile-body { margin-bottom:24px; }
.member-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; width:100%; height:53px; margin:0 0 10px; }
.member-stats article { display:flex; align-items:center; gap:13px; padding:7px 15px; border:1px solid rgba(106,82,56,.07); border-radius:7px; background:rgba(255,255,255,.8); box-shadow:0 2px 8px rgba(87,61,35,.05); }
.member-stats article > i { display:grid; place-items:center; width:39px; height:39px; border-radius:50%; color:#a86b17; background:#fff5e7; font-size:22px; font-style:normal; }
.member-stats article div { display:grid; gap:3px; }
.member-stats article b { font-size:14px; }.member-stats article span { color:#777985; font-size:8px; }
.member-dashboard-grid { display:grid; grid-template-columns:372px 270px minmax(290px,1fr); gap:11px; width:100%; height:379px; margin:0; }
.member-dashboard-grid > section { overflow:hidden; border:1px solid rgba(94,76,57,.09); border-radius:7px; background:rgba(255,255,255,.88); box-shadow:0 3px 10px rgba(77,53,29,.06); }
.member-dashboard-grid > section > header { display:flex; align-items:center; justify-content:space-between; height:39px; padding:0 14px; }
.member-dashboard-grid h2 { margin:0; font-size:13px; }.member-dashboard-grid header > a { color:#777b84; font-size:7px; }
.featured-member-event { margin:0 14px; }
.featured-event-image { position:relative; height:101px; overflow:hidden; border-radius:5px; }
.featured-event-image img { width:100%; height:100%; object-fit:cover; }
.featured-event-image > b { position:absolute; top:10px; left:10px; padding:6px 9px; border-radius:4px; color:#fff; background:#16853d; font-size:8px; }
.featured-event-image > span { position:absolute; bottom:5px; left:10px; display:grid; place-items:center; width:35px; height:38px; border-radius:5px; color:#151515; background:#fff; font-size:7px; font-weight:700; }
.featured-event-image > span strong { font-size:17px; line-height:15px; }
.featured-event-title { display:flex; align-items:center; height:43px; }
.featured-event-title h3 { margin:0 0 3px; font-size:13px; }.featured-event-title p { margin:0; color:#6f7480; font-size:7px; }
.member-face-stack { display:flex; margin-left:auto; }
.member-face-stack img { width:19px; height:19px; margin-left:-5px; border:1px solid #fff; border-radius:50%; object-fit:cover; }
.featured-event-title > em,.member-mini-event > em { margin-left:9px; color:#7b8089; font-size:7px; font-style:normal; white-space:nowrap; }
.featured-event-status { display:flex; align-items:center; justify-content:space-between; height:42px; }
.featured-event-status > div { display:flex; align-items:center; gap:8px; }
.featured-event-status > div > i { color:#a56d20; font-size:20px; font-style:normal; }.featured-event-status p { display:grid; gap:3px; margin:0; color:#707681; font-size:7px; }
.featured-event-status p b { color:#168d42; font-size:8px; }.featured-event-status > a { display:grid; place-items:center; width:119px; height:31px; border-radius:6px; color:#fff; background:linear-gradient(90deg,#9b6a21,#b17c2b); font-size:8px; }
.other-events-head { display:flex; align-items:center; justify-content:space-between; height:34px; padding:0 14px; border-top:1px solid #eee9e3; font-size:8px; }
.other-events-head a { color:#777b84; font-size:7px; }
.member-mini-event { display:grid; grid-template-columns:71px 1fr auto auto 24px; align-items:center; gap:8px; height:55px; padding:4px 14px; border-top:1px solid #eee9e3; }
.member-mini-event > img { width:71px; height:45px; border-radius:4px; object-fit:cover; }
.member-mini-event > div:not(.member-face-stack) { display:grid; gap:6px; }.member-mini-event > div b { font-size:9px; }.member-mini-event > div span { color:#777b84; font-size:6px; white-space:nowrap; }
.member-mini-event .member-face-stack img { width:16px; height:16px; }
.member-mini-event > a { display:grid; place-items:center; width:23px; height:29px; border-radius:6px; color:#a66b18; background:#fff3df; font-size:17px; }
.notifications-panel > header h2 i,.messages-panel > header h2 i { display:inline-grid; place-items:center; width:17px; height:17px; border-radius:50%; color:#fff; background:#f02643; font-size:8px; font-style:normal; }
.notifications-panel > div { padding:0 13px; }
.notifications-panel article { position:relative; display:grid; grid-template-columns:30px 1fr auto; align-items:center; min-height:41px; border-top:1px solid #eeeae4; }
.notifications-panel article:first-child { border-top:0; }
.notifications-panel article > i { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; color:#a56a15; background:#fff5e7; font-size:16px; font-style:normal; }
.notifications-panel article p { display:grid; gap:3px; margin:0; min-width:0; }.notifications-panel article p b { overflow:hidden; font-size:8px; white-space:nowrap; text-overflow:ellipsis; }.notifications-panel article p span { overflow:hidden; color:#7a7d86; font-size:7px; white-space:nowrap; text-overflow:ellipsis; }
.notifications-panel article time { color:#9a9ca3; font-size:6px; }.notifications-panel article > em { width:7px; height:7px; margin-left:3px; border-radius:50%; background:#ef1d39; }
.messages-panel { display:flex; flex-direction:column; }
.messages-panel > header { flex:0 0 39px; }
.message-contact { display:flex; align-items:center; height:50px; padding:0 12px; border-block:1px solid #eeeae4; }
.message-contact > img { width:38px; height:38px; border-radius:50%; object-fit:cover; }.message-contact > div { display:grid; gap:4px; margin-left:8px; }.message-contact > div b { font-size:11px; }.message-contact > div span { color:#18a950; font-size:7px; }
.message-contact button { display:grid; place-items:center; width:28px; height:28px; margin-left:5px; border:0; border-radius:50%; color:#263a57; background:#f7f8fa; font-size:15px; }.message-contact button:first-of-type { margin-left:auto; }
.member-chat { flex:1 1 auto; overflow:hidden; padding:1px 11px 3px; background:rgba(251,249,246,.55); }
.member-chat article { display:flex; align-items:flex-end; gap:6px; margin-bottom:6px; }.member-chat article.me { justify-content:flex-end; }
.member-chat article > img { width:28px; height:28px; border-radius:50%; object-fit:cover; }
.member-chat article p { position:relative; max-width:215px; margin:0; padding:8px 9px 14px; border-radius:7px; background:#f1f2f4; font-size:7px; line-height:1.35; }
.member-chat article.me p { background:#ffe1ae; }
.member-chat article time { position:absolute; right:6px; bottom:4px; color:#96999f; font-size:6px; }
.member-message-form { display:flex; align-items:center; flex:0 0 56px; gap:6px; padding:8px 12px; border-top:1px solid #eeeae4; }
.member-message-form input { min-width:0; flex:1; height:39px; padding:0 8px; border:0; outline:0; background:#f4f5f7; font-size:7px; }
.member-message-form button { width:28px; height:35px; border:0; color:#526171; background:#f4f5f7; font-size:17px; }.member-message-form button:last-child { width:40px; height:40px; border-radius:50%; color:#fff; background:#b77719; }

@media (max-width:900px) {
  .member-dashboard-grid { grid-template-columns:1fr; height:auto; }
  .member-dashboard-grid > section { min-height:379px; }
  .member-stats { grid-template-columns:1fr 1fr; height:auto; }
  .profile-overview { padding-left:20px; }
  .verification-row { flex-wrap:wrap; }
}

@media (min-width:1200px) and (max-width:1349px) {
  .member-dashboard { zoom:1.6; min-height:62.5vh; }
}
@media (min-width:1350px) and (max-width:1439px) {
  .member-dashboard { zoom:1.7; min-height:58.8235vh; }
}
@media (min-width:1440px) and (max-width:1679px) {
  .member-dashboard { zoom:1.8; min-height:55.5556vh; }
}
@media (min-width:1680px) and (max-width:1919px) {
  .member-dashboard { zoom:2; min-height:50vh; }
}
@media (min-width:1920px) and (max-width:2399px) {
  .member-dashboard { zoom:2.2; min-height:45.4545vh; }
}
@media (min-width:2400px) {
  .member-dashboard { zoom:2.6; min-height:38.4615vh; }
}
@media (min-width:1200px) {
  .member-dashboard-grid { grid-template-columns:1.15fr .85fr 1fr; }
  .member-mini-event > div:not(.member-face-stack) { min-width:0; }
  .member-mini-event > div span { overflow:hidden; text-overflow:ellipsis; }
}

/* Let event voting cards size to their content; never trap venue details in a vertical scroller. */
@media (min-width:620px) {
  .member-page .voting-grid { align-items:stretch; }
  .member-page .vote-panel { height:auto; min-height:0; overflow:visible; }
  .member-page .vote-panel > div { height:auto; min-height:0; }
  .member-page .venue-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; padding-bottom:0; }
  .member-page .venue-option { min-width:0; }
}

@media (min-width:620px) and (max-width:720px) {
  .member-page .vote-panel { min-height:178px; }
}

/* Member profile page, matched to the member dashboard without a sidebar. */
.member-profile-page { min-height:100vh; overflow-x:hidden; color:#20222a; background:
  radial-gradient(circle at 4% 84%,rgba(185,133,65,.17),transparent 25%),
  radial-gradient(circle at 90% 64%,rgba(188,139,77,.12),transparent 25%),#f6f0e8;
  font-family:Arial,Helvetica,sans-serif; }
.profile-page-hero { height:184px; overflow:hidden; color:#fff; background:
  linear-gradient(90deg,rgba(5,5,6,.82),rgba(8,5,5,.34) 52%,rgba(9,5,4,.58)),
  url("https://images.unsplash.com/photo-1771154140881-78acf32cdafe?auto=format&fit=crop&w=1800&q=90") center 48%/cover; }
.profile-page-hero > header { display:flex; align-items:center; height:39px; padding:0 16px; border-bottom:1px solid rgba(255,255,255,.18); }
.profile-page-hero > header nav { display:flex; align-self:stretch; gap:31px; margin-left:35px; }
.profile-page-hero > header nav a { display:flex; align-items:center; font-size:8px; }
.profile-page-hero > header > div { display:flex; align-items:center; gap:8px; margin-left:auto; }
.profile-page-hero > header button { position:relative; border:0; color:#fff; background:transparent; font-size:16px; }
.profile-page-hero > header button i { position:absolute; top:-4px; right:-3px; display:grid; place-items:center; width:12px; height:12px; border-radius:50%; color:#fff; background:#ef2241; font-size:7px; font-style:normal; }
.profile-page-hero > header img { width:30px; height:30px; border:1px solid #fff; border-radius:50%; object-fit:cover; }
.profile-page-summary { display:flex; align-items:center; height:145px; padding:18px 17px 10px 39px; }
.profile-page-summary > img { width:108px; height:108px; border-radius:50%; object-fit:cover; }
.profile-page-summary > div { margin-left:17px; transform:translateY(3px); }
.profile-page-summary h1 { display:flex; align-items:center; gap:9px; margin:0 0 6px; font:29px Georgia,serif; }
.profile-page-summary h1 i { color:#e9ae4d; font:13px Arial,sans-serif; }
.profile-page-summary p { margin:0 0 12px; font-size:8px; }.profile-page-summary p span { color:#c8f5d5; }
.profile-badges { display:flex; gap:7px; }.profile-badges b { padding:5px 8px; border-radius:6px; background:rgba(21,16,17,.66); font-size:7px; font-weight:500; }
.profile-badges b:first-child { color:#ffd572; }.profile-badges b:nth-child(2) { color:#d2a5ff; }
.profile-page-summary > button { align-self:center; width:97px; height:30px; margin-left:auto; border:1px solid rgba(255,255,255,.45); border-radius:5px; color:#fff; background:rgba(30,23,20,.62); font-size:7px; }
.profile-tabs { display:grid; grid-template-columns:repeat(9,1fr); height:33px; padding:0; border-bottom:1px solid #dfd7ce; background:rgba(255,255,255,.78); }
.profile-tabs a { display:grid; place-items:center; border-bottom:2px solid transparent; color:#39404a; font-size:7px; white-space:nowrap; }.profile-tabs a.active { border-color:#bb7c25; color:#7d5015; font-weight:700; }
.profile-content-grid { display:grid; grid-template-columns:1.16fr .98fr .82fr; grid-template-rows:202px 137px 94px; grid-template-areas:"gallery basic righttop" "interests lifestyle rightmid" "stats recent recent"; gap:8px; width:100%; margin:8px 0 10px; }
.profile-card { overflow:hidden; border:1px solid rgba(100,75,49,.1); border-radius:7px; background:rgba(255,255,255,.82); box-shadow:0 2px 8px rgba(75,48,22,.05); }
.profile-card > header { display:flex; align-items:center; justify-content:space-between; height:31px; padding:0 10px; }
.profile-card h2 { margin:0; font-size:10px; }.profile-card header button { height:19px; padding:0 7px; border:1px solid #e6dfd7; border-radius:3px; color:#62666d; background:#fff; font-size:6px; }
.profile-gallery-card { grid-area:gallery; }.profile-gallery-card > div { display:grid; grid-template-columns:1.6fr .72fr .72fr; grid-template-rows:72px 80px; gap:3px; padding:0 10px 10px; }
.profile-gallery-card img { width:100%; height:100%; border-radius:4px; object-fit:cover; }.profile-gallery-card img.main { grid-row:1/3; }
.profile-gallery-card span { display:grid; place-items:center; align-content:center; border-radius:4px; color:#fff; background:#292929; font-size:11px; }.profile-gallery-card span small { font-size:7px; }
.basic-info-card { grid-area:basic; }.basic-info-card dl,.lifestyle-card dl,.verification-card dl { margin:0; padding:0 10px 7px; }
.basic-info-card dl > div { display:grid; grid-template-columns:92px 1fr; min-height:13px; align-items:center; font-size:6.5px; }.basic-info-card dt,.lifestyle-card dt { color:#303641; }.basic-info-card dd,.lifestyle-card dd { margin:0; color:#555962; }.basic-info-card dd.active { color:#15934b; }
.profile-right-top { grid-area:righttop; display:grid; grid-template-rows:116px 78px; gap:8px; min-width:0; }
.verification-card dl > div { display:flex; justify-content:space-between; min-height:13px; font-size:6.5px; }.verification-card dt { color:#4c525b; }.verification-card dd { margin:0; color:#17934c; }.verification-card dd.premium { color:#7144cf; }
.profile-completion { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:7px; padding:0 10px; font-size:6px; }.profile-completion i { height:5px; overflow:hidden; border-radius:5px; background:#eeeae4; }.profile-completion i em { display:block; width:90%; height:100%; background:#dfa037; }
.about-card p { margin:0; padding:0 10px; color:#555963; font-size:6.5px; line-height:1.55; }
.interests-card { grid-area:interests; }.interests-card > div { display:flex; flex-wrap:wrap; gap:6px; padding:2px 10px 10px; }
.interests-card > div span,.looking-card > div span { padding:5px 8px; border-radius:11px; color:#8a5d20; background:#fff0d9; font-size:6.5px; white-space:nowrap; }
.interests-card .tone-0 { color:#2d7899; background:#e9f6fb; }.interests-card .tone-1 { color:#9c641c; background:#fff1dc; }.interests-card .tone-2 { color:#9b4a58; background:#fdecef; }.interests-card .tone-3 { color:#994943; background:#fde8e5; }.interests-card .tone-4 { color:#408453; background:#eaf7ed; }.interests-card .tone-5 { color:#875f18; background:#fff0ce; }
.lifestyle-card { grid-area:lifestyle; }.lifestyle-card dl > div { display:grid; grid-template-columns:105px 1fr; min-height:14px; align-items:center; border-bottom:1px solid #f0ece7; font-size:6.5px; }
.profile-right-middle { grid-area:rightmid; min-width:0; }.looking-card { height:100%; }.looking-card > div { display:flex; flex-wrap:wrap; gap:6px; padding:3px 9px; }.looking-card > div span { color:#9d5360; background:#fdebed; }
.profile-stats-card { grid-area:stats; }.profile-stats-card > header { height:28px; }.profile-stats-card > div { display:grid; grid-template-columns:repeat(4,1fr); padding:0 10px 7px; }
.profile-stats-card article { display:grid; place-items:center; align-content:center; border-right:1px solid #eee9e3; }.profile-stats-card article:last-child { border:0; }.profile-stats-card article i { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; color:#a66c1d; background:#fff3df; font-style:normal; }.profile-stats-card article b { font-size:8px; }.profile-stats-card article span { color:#777b83; font-size:5.5px; text-align:center; }
.recent-photos-card { grid-area:recent; }.recent-photos-card header { height:28px; }.recent-photos-card header a { color:#555a62; font-size:6px; }.recent-photos-card > div { display:grid; grid-template-columns:repeat(6,1fr); gap:3px; padding:0 8px 7px; }.recent-photos-card img { width:100%; height:58px; border-radius:4px; object-fit:cover; }

@media (min-width:1200px) and (max-width:1349px) { .member-profile-page { zoom:1.6; min-height:62.5vh; } }
@media (min-width:1350px) and (max-width:1439px) { .member-profile-page { zoom:1.7; min-height:58.8235vh; } }
@media (min-width:1440px) and (max-width:1679px) { .member-profile-page { zoom:1.8; min-height:55.5556vh; } }
@media (min-width:1680px) and (max-width:1919px) { .member-profile-page { zoom:2; min-height:50vh; } }
@media (min-width:1920px) and (max-width:2399px) { .member-profile-page { zoom:2.2; min-height:45.4545vh; } }
@media (min-width:2400px) { .member-profile-page { zoom:2.6; min-height:38.4615vh; } }

.profile-edit-button { color:#fff; }

@media (min-width:1200px) {
  .member-profile-page .profile-content-grid { grid-template-rows:250px 165px 110px; }
  .member-profile-page .profile-card > header { height:39px; }
  .member-profile-page .profile-card h2 { font-size:13px; }
  .member-profile-page .profile-card header button,
  .member-profile-page .profile-card header a { font-size:7px; }
  .member-profile-page .profile-gallery-card > div { grid-template-rows:99px 99px; }
  .member-profile-page .basic-info-card dl > div,
  .member-profile-page .lifestyle-card dl > div,
  .member-profile-page .verification-card dl > div { min-height:16px; font-size:8px; }
  .member-profile-page .profile-right-top { grid-template-rows:140px 102px; }
  .member-profile-page .about-card p { font-size:8px; line-height:1.5; }
  .member-profile-page .interests-card > div span,
  .member-profile-page .looking-card > div span { font-size:8px; }
  .member-profile-page .profile-completion { font-size:7px; }
  .member-profile-page .profile-stats-card > header,
  .member-profile-page .recent-photos-card > header { height:34px; }
  .member-profile-page .profile-stats-card article b { font-size:10px; }
  .member-profile-page .profile-stats-card article span { font-size:7px; }
  .member-profile-page .recent-photos-card img { height:68px; }
}

@media (max-width:600px) {
  .member-dashboard,.member-profile-page { width:100%; min-height:100vh; overflow-x:hidden; }
  .member-profile-hero { height:auto; min-height:386px; border-radius:0 0 14px 14px; }
  .member-profile-hero > header { height:56px; padding:0 16px; }
  .member-dash-brand { font-size:13px; letter-spacing:1.2px; }
  .member-dash-brand span { font-size:24px; }
  .member-profile-hero > header button { font-size:20px; }
  .member-profile-hero > header a img { width:38px; height:38px; }
  .profile-overview { display:grid; grid-template-columns:104px minmax(0,1fr); align-items:start; gap:16px; height:auto; min-height:330px; padding:22px 18px 18px; }
  .profile-main-photo { width:104px; height:104px; }
  .profile-info { align-self:start; margin:4px 0 0; transform:none; }
  .profile-info h1 { gap:7px; margin-bottom:10px; font-size:29px; }
  .profile-info > p { display:grid; gap:7px; margin-bottom:12px; font-size:13px; line-height:1.35; }
  .verification-row { display:grid; gap:7px; }
  .verification-row > span { justify-content:flex-start; height:34px; padding:0 10px; font-size:12px; }
  .my-profile-button { grid-column:1/-1; align-self:auto; width:100%; height:46px; margin:6px 0 0; font-size:14px; }

  .member-dashboard-body,
  .member-profile-body { width:calc(100% - 32px); margin-left:auto; margin-right:auto; }
  .member-dashboard-body { margin-top:12px; margin-bottom:20px; }
  .member-profile-body { margin-bottom:20px; }
  .member-stats { grid-template-columns:1fr 1fr; gap:10px; width:100%; height:auto; margin:0 0 12px; }
  .member-stats article { min-height:78px; gap:10px; padding:10px; }
  .member-stats article > i { width:46px; height:46px; font-size:25px; }
  .member-stats article b { font-size:20px; }
  .member-stats article span { font-size:12px; }

  .member-dashboard-grid { display:grid; grid-template-columns:1fr; gap:12px; width:100%; height:auto; margin:0; }
  .member-dashboard-grid > section { min-height:0; overflow:visible; }
  .member-dashboard-grid > section > header { height:54px; padding:0 14px; }
  .member-dashboard-grid h2 { font-size:18px; }
  .member-dashboard-grid header > a { font-size:12px; }
  .featured-member-event { margin:0 12px; }
  .featured-event-image { height:170px; }
  .featured-event-image > b { font-size:12px; }
  .featured-event-image > span { width:44px; height:48px; font-size:9px; }
  .featured-event-image > span strong { font-size:21px; line-height:19px; }
  .featured-event-title { height:62px; }
  .featured-event-title h3 { font-size:19px; }
  .featured-event-title p { font-size:12px; }
  .member-face-stack img { width:24px; height:24px; }
  .featured-event-title > em,.member-mini-event > em { font-size:11px; }
  .featured-event-status { height:58px; }
  .featured-event-status p { font-size:11px; }
  .featured-event-status p b { font-size:13px; }
  .featured-event-status > a { width:126px; height:40px; font-size:12px; }
  .other-events-head { height:48px; font-size:13px; }
  .other-events-head a { font-size:11px; }
  .member-mini-event { grid-template-columns:78px minmax(0,1fr) auto 30px; gap:8px; height:72px; padding:7px 12px; }
  .member-mini-event > img { width:78px; height:56px; }
  .member-mini-event > div b { font-size:14px; }
  .member-mini-event > div span { font-size:10px; }
  .member-mini-event .member-face-stack { display:none; }
  .member-mini-event > em { margin:0; }
  .member-mini-event > a { width:30px; height:38px; }

  .notifications-panel > div { padding:0 12px 10px; }
  .notifications-panel article { grid-template-columns:42px 1fr auto; min-height:62px; }
  .notifications-panel article > i { width:34px; height:34px; font-size:19px; }
  .notifications-panel article p { gap:5px; }
  .notifications-panel article p b { font-size:14px; }
  .notifications-panel article p span { font-size:12px; }
  .notifications-panel article time { font-size:10px; }
  .messages-panel > header { flex-basis:54px; }
  .message-contact { height:66px; padding:0 12px; }
  .message-contact > img { width:46px; height:46px; }
  .message-contact > div b { font-size:16px; }
  .message-contact > div span { font-size:12px; }
  .member-chat { min-height:390px; padding:10px 10px 4px; }
  .member-chat article { margin-bottom:10px; }
  .member-chat article > img { width:36px; height:36px; }
  .member-chat article p { max-width:270px; padding:10px 10px 18px; font-size:13px; }
  .member-chat article time { font-size:9px; }
  .member-message-form { flex-basis:66px; }
  .member-message-form input { height:46px; font-size:14px; }
  .member-message-form button:last-child { width:46px; height:46px; }

  .profile-tabs { display:flex; height:48px; overflow-x:auto; padding:0 8px; scrollbar-width:none; }
  .profile-tabs a { flex:0 0 auto; min-width:105px; padding:0 12px; font-size:13px; }
  .profile-content-grid { display:grid; grid-template-columns:1fr; grid-template-rows:auto; grid-template-areas:"gallery" "basic" "righttop" "interests" "lifestyle" "rightmid" "stats" "recent"; gap:12px; width:100%; margin:12px 0; }
  .profile-card { min-height:0; }
  .profile-card > header { height:52px; padding:0 14px; }
  .profile-card h2 { font-size:18px; }
  .profile-card header button,.profile-card header a { min-height:32px; padding:0 10px; font-size:12px; }
  .profile-gallery-card > div { grid-template-rows:150px 150px; gap:5px; padding:0 12px 12px; }
  .profile-gallery-card span { font-size:17px; }
  .profile-gallery-card span small { font-size:12px; }
  .basic-info-card dl,.lifestyle-card dl,.verification-card dl { padding:0 14px 14px; }
  .basic-info-card dl > div,.lifestyle-card dl > div,.verification-card dl > div { min-height:34px; font-size:14px; }
  .basic-info-card dl > div { grid-template-columns:145px 1fr; }
  .profile-right-top { display:grid; grid-template-rows:auto auto; gap:12px; }
  .verification-card dl > div { align-items:center; }
  .profile-completion { gap:10px; padding:0 14px 14px; font-size:12px; }
  .about-card p { padding:0 14px 16px; font-size:14px; line-height:1.55; }
  .interests-card > div,.looking-card > div { gap:8px; padding:2px 14px 16px; }
  .interests-card > div span,.looking-card > div span { padding:8px 11px; border-radius:16px; font-size:13px; }
  .lifestyle-card dl > div { grid-template-columns:145px 1fr; }
  .profile-stats-card > header,.recent-photos-card > header { height:48px; }
  .profile-stats-card > div { padding:0 8px 14px; }
  .profile-stats-card article { min-height:88px; }
  .profile-stats-card article i { width:34px; height:34px; font-size:18px; }
  .profile-stats-card article b { font-size:15px; }
  .profile-stats-card article span { font-size:10px; }
  .recent-photos-card > div { grid-template-columns:repeat(2,1fr); gap:6px; padding:0 10px 10px; }
  .recent-photos-card img { height:150px; }
}

@media (max-width:600px) {
  .admin-app { min-width:0; width:100%; overflow-x:hidden; font-size:14px; }
  .admin-app .admin-sidebar { position:relative; inset:auto; width:100%; height:auto; padding:0; }
  .admin-app .admin-brand { height:58px; padding:0 16px; }
  .admin-app .admin-brand > span { font-size:28px; }
  .admin-app .admin-brand b { font-size:13px; }
  .admin-app .admin-brand small { font-size:9px; }
  .admin-app .admin-sidebar nav { display:flex; gap:4px; margin:0; padding:7px 8px; overflow-x:auto; scrollbar-width:none; }
  .admin-app .admin-sidebar nav a { flex:0 0 auto; width:auto; height:42px; gap:7px; padding:0 12px; border-radius:6px; font-size:13px; }
  .admin-app .admin-sidebar nav a.active { border-left:0; padding-left:12px; background:#294563; }
  .admin-app .admin-sidebar nav a i { width:16px; font-size:17px; }
  .admin-app .admin-sidebar nav a em { width:19px; height:19px; font-size:10px; }
  .admin-app .admin-system { display:none; }
  .admin-app .admin-main { margin-left:0; }
  .admin-app .admin-top { height:58px; padding:0 12px; }
  .admin-app .admin-top label { width:calc(100% - 98px); height:40px; }
  .admin-app .admin-top label svg { width:16px; }
  .admin-app .admin-top input { height:38px; font-size:13px; }
  .admin-app .admin-top .admin-user,.admin-app .admin-top p,.admin-app .admin-top > div > button:first-of-type { display:none; }
  .admin-app .admin-top button { width:38px; height:40px; font-size:14px; }
  .admin-app .admin-main main { padding:12px; }
  .admin-app .breadcrumbs { height:25px; gap:8px; font-size:12px; }
  .admin-app .breadcrumbs b { font-size:12px; }
  .admin-app .admin-event-head { display:block; height:auto; padding:5px 0 12px; }
  .admin-app .admin-event-head h1 { gap:8px; margin-bottom:8px; font-size:27px; }
  .admin-app .admin-event-head h1 span { padding:5px 8px; font-size:10px; }
  .admin-app .admin-event-head p { font-size:11px; line-height:1.6; }
  .admin-head-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
  .admin-head-actions a,.admin-head-actions button { height:44px; padding:0 8px; font-size:12px; }
  .admin-head-actions .quick { grid-column:1/-1; }

  .admin-app .admin-dashboard-top { display:grid; grid-template-columns:1fr; gap:10px; height:auto; }
  .admin-app .admin-dashboard-top > section { overflow:visible; padding:15px !important; }
  .admin-app .admin-dashboard-top h2,.admin-app .attendee-section h2,.admin-app .vote-panel h2,.admin-app .admin-quick h2 { font-size:16px; }
  .admin-app .snapshot dl > div { grid-template-columns:125px auto 1fr; min-height:30px; font-size:13px; }
  .admin-app .snapshot dd { padding:5px 7px; white-space:nowrap; }
  .admin-app .activation > p { font-size:12px; }
  .admin-app .activation-cards { gap:8px; }
  .admin-app .activation-cards article { height:104px; gap:8px; padding:10px 7px; font-size:12px; }
  .admin-app .activation-cards b { font-size:17px; }
  .admin-app .activation-alert { gap:5px; padding:10px; font-size:11px; }
  .admin-app .activation-alert b,.admin-app .activation > strong { font-size:12px; }
  .admin-app .slot-summary header button { height:36px; font-size:11px; }
  .admin-app .slot-summary table { font-size:11px; }
  .admin-app .slot-summary th,.admin-app .slot-summary td { height:38px; padding:5px; }
  .admin-app .slot-summary ul { gap:7px; font-size:11px; }

  .admin-app .admin-tabs { height:48px; margin-top:10px; overflow-x:auto; }
  .admin-app .admin-tabs a { min-width:100px; padding:0 14px; font-size:13px; }
  .admin-app .attendee-section { height:auto; margin-top:10px; padding:12px; overflow:visible; }
  .admin-app .attendee-section > header { height:auto; min-height:42px; gap:8px; }
  .admin-app .attendee-section > header > div { flex-wrap:wrap; justify-content:flex-end; }
  .admin-app .attendee-section header button { height:36px; padding:0 10px; font-size:11px; }
  .admin-app .admin-slot-grid { grid-template-columns:1fr; gap:10px; height:auto; margin-top:8px; }
  .admin-app .admin-slot { overflow:visible; }
  .admin-app .admin-slot > header { height:55px; padding:9px 12px; }
  .admin-app .admin-slot h3 { font-size:17px; }
  .admin-app .admin-slot h3 i { font-size:21px; }
  .admin-app .admin-slot header span { margin-left:28px; font-size:11px; }
  .admin-app .admin-tier { height:auto; min-height:63px; padding:8px 12px; }
  .admin-app .admin-tier > div:first-child { grid-template-columns:1fr 55px 88px; font-size:12px; }
  .admin-app .admin-tier strong { font-size:13px; }
  .admin-app .admin-tier em { padding:5px 8px; font-size:11px; }
  .admin-app .admin-faces { gap:5px; height:28px; }
  .admin-app .admin-faces img,.admin-app .admin-faces i { width:26px; height:26px; }

  .admin-app .admin-bottom { grid-template-columns:1fr; gap:10px; height:auto; margin-top:10px; }
  .admin-app .vote-panel,.admin-app .admin-quick { height:auto; padding:13px; overflow:visible; }
  .admin-app .vote-panel > header { height:auto; min-height:42px; gap:8px; }
  .admin-app .vote-panel header h2 { flex-wrap:wrap; }
  .admin-app .vote-panel header h2 span { font-size:10px; }
  .admin-app .vote-panel header h2 small { font-size:11px; }
  .admin-app .vote-panel header button { height:36px; padding:0 9px; font-size:11px; white-space:nowrap; }
  .admin-app .vote-panel > div { height:auto; gap:8px; }
  .admin-app .date-voting > div { grid-template-columns:repeat(2,1fr); }
  .admin-app .date-voting article { min-height:138px; gap:5px; padding:10px 8px; font-size:12px; }
  .admin-app .date-voting article > b { font-size:12px; }
  .admin-app .date-voting article > b strong { font-size:16px; }
  .admin-app .vote-panel article > span,.admin-app .vote-panel article > small { font-size:11px; }
  .admin-app .vote-panel article button { height:38px; font-size:12px; }
  .admin-app .venue-voting > div { grid-template-columns:1fr; }
  .admin-app .venue-voting article { display:grid; grid-template-columns:120px minmax(0,1fr); grid-template-rows:auto auto auto auto; gap:5px 10px; min-height:126px; padding:8px; }
  .admin-app .venue-voting article img { grid-row:1/5; width:120px; height:110px; }
  .admin-app .venue-voting article > b { align-self:end; font-size:14px; }
  .admin-app .venue-voting article > em { align-self:center; }
  .admin-app .venue-voting article button { align-self:end; }
  .admin-app .admin-quick h2 { height:38px; }
  .admin-app .admin-quick a,.admin-app .admin-quick button { height:44px; margin-bottom:6px; font-size:13px; }
}

@media (min-width:1200px) {
  html:has(.admin-app),body:has(.admin-app) { overflow-x:hidden; }
  .admin-app .admin-bottom { grid-template-columns:1fr 1fr; height:auto; align-items:stretch; }
  .admin-app .vote-panel { min-height:190px; padding:10px; overflow:visible; }
  .admin-app .vote-panel > header { min-height:25px; }
  .admin-app .vote-panel > div { height:150px; }
  .admin-app .date-voting article { padding:8px 5px; }
  .admin-app .date-voting article > b { font-size:8px; }
  .admin-app .date-voting article > b strong { font-size:10px; }
  .admin-app .venue-voting article img { height:70px; }
  .admin-app .venue-voting article > b { font-size:8px; }
  .admin-app .admin-quick { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); gap:7px; padding:10px; }
  .admin-app .admin-quick h2 { grid-column:1/-1; height:22px; }
  .admin-app .admin-quick a,.admin-app .admin-quick button { height:34px; margin:0; font-size:8px; }
}

/* Registration operations workspace */
.registration-admin .admin-main main { padding-bottom:24px; }
.registrations-head { display:flex; align-items:flex-end; justify-content:space-between; padding:4px 0 10px; }
.registrations-head h1 { margin:0 0 3px; font-size:20px; }
.registrations-head p { margin:0; color:#687585; font-size:7px; }
.registrations-head > div:last-child { display:flex; gap:6px; }
.registrations-head button { height:25px; padding:0 10px; border:1px solid #d4dce4; border-radius:4px; color:#26354a; background:#fff; font-size:7px; font-weight:700; }
.registrations-head button:last-child { border-color:#2d7bd7; color:#fff; background:#347fe3; }
.registration-metrics { display:grid; grid-template-columns:repeat(5,1fr); gap:7px; }
.registration-metrics article { display:grid; grid-template-columns:1fr auto; align-items:end; min-height:53px; padding:8px 9px; border:1px solid #e0e5ea; border-radius:5px; background:#fff; box-shadow:0 1px 2px rgba(26,42,56,.04); }
.registration-metrics span { grid-column:1/-1; color:#657282; font-size:6px; font-weight:700; letter-spacing:.04em; }
.registration-metrics b { font-size:15px; line-height:1; }
.registration-metrics small { justify-self:end; color:#7c8793; font-size:6px; }
.registration-metrics small.good { color:#14815b; }
.registration-tabs { margin-top:8px !important; }
.registration-toolbar { display:flex; align-items:center; gap:8px; min-height:40px; padding:7px 8px; border:1px solid #e0e5ea; border-top:0; background:#fff; }
.registration-toolbar > div { display:flex; gap:3px; }
.registration-toolbar button { display:flex; align-items:center; gap:5px; height:24px; padding:0 8px; border:0; border-radius:4px; color:#566475; background:transparent; font-size:7px; }
.registration-toolbar button b { display:grid; place-items:center; min-width:14px; height:14px; padding:0 3px; border-radius:7px; background:#edf1f5; font-size:6px; }
.registration-toolbar button.active { color:#1767b2; background:#e9f3ff; font-weight:700; }
.registration-toolbar button.active b { color:#fff; background:#347fe3; }
.registration-toolbar label { display:flex; align-items:center; gap:5px; width:150px; height:24px; margin-left:auto; padding:0 7px; border:1px solid #dce2e8; border-radius:4px; color:#697687; }
.registration-toolbar label svg { width:10px; }
.registration-toolbar input { min-width:0; width:100%; height:21px; border:0; outline:0; font-size:7px; }
.registration-toolbar select { height:24px; padding:0 20px 0 7px; border:1px solid #dce2e8; border-radius:4px; color:#455365; background:#fff; font-size:7px; }
.registration-workspace { display:grid; grid-template-columns:252px minmax(0,1fr); gap:8px; margin-top:8px; align-items:start; }
.registration-queue,.registration-detail { border:1px solid #dce3e9; border-radius:5px; background:#fff; box-shadow:0 1px 3px rgba(26,42,56,.05); }
.registration-queue { overflow:hidden; }
.registration-queue > header { display:flex; align-items:center; justify-content:space-between; height:31px; padding:0 9px; border-bottom:1px solid #e6eaee; background:#f8fafb; }
.registration-queue > header div { display:flex; align-items:center; gap:7px; font-size:7px; }
.registration-queue input { width:11px; height:11px; margin:0; accent-color:#347fe3; }
.registration-queue > header button { border:0; background:transparent; font-size:9px; }
.registration-row { display:grid; grid-template-columns:12px 31px minmax(0,1fr) auto; align-items:center; gap:7px; width:100%; min-height:57px; padding:7px 8px; border:0; border-bottom:1px solid #edf0f3; color:#1c2a3d; background:#fff; text-align:left; }
.registration-row:hover { background:#f7faff; }
.registration-row.selected { box-shadow:inset 3px 0 #347fe3; background:#edf5ff; }
.registration-row > img { width:31px; height:31px; border-radius:50%; object-fit:cover; }
.registration-row > span { display:grid; min-width:0; gap:2px; }
.registration-row > span b { overflow:hidden; font-size:8px; white-space:nowrap; text-overflow:ellipsis; }
.registration-row > span small { overflow:hidden; color:#526173; font-size:6px; white-space:nowrap; text-overflow:ellipsis; }
.registration-row > span em { color:#8a949f; font-size:5.5px; font-style:normal; }
.registration-row > strong,.registration-status { padding:4px 5px; border-radius:3px; color:#166f51; background:#e5f7ee; font-size:5.5px; white-space:nowrap; }
.registration-row > strong.review,.registration-status.review { color:#9a6217; background:#fff2df; }
.registration-row > strong.reply,.registration-status.reply { color:#166bad; background:#e4f2ff; }
.registration-row > strong.issue,.registration-status.issue { color:#b03445; background:#fde9ec; }
.registration-row > strong.confirmed,.registration-status.confirmed { color:#566372; background:#edf0f3; }
.registration-queue > footer { display:flex; align-items:center; justify-content:flex-end; gap:5px; height:31px; padding:0 8px; color:#7a8692; font-size:6px; }
.registration-queue > footer span { margin-right:auto; }
.registration-queue > footer button,.registration-queue > footer b { display:grid; place-items:center; width:18px; height:18px; border:1px solid #dce2e8; border-radius:3px; background:#fff; font-size:7px; }
.registration-queue > footer b { color:#fff; background:#347fe3; }
.registration-detail { overflow:hidden; }
.registration-person { display:flex; align-items:center; min-height:65px; padding:9px 11px; border-bottom:1px solid #e6eaee; }
.registration-person > img { width:43px; height:43px; margin-right:9px; border-radius:50%; object-fit:cover; }
.registration-person > div { display:grid; gap:2px; }
.registration-person > div span { color:#788492; font-size:6px; }
.registration-person h2 { margin:0; font-size:14px; }
.registration-person p { margin:0; color:#5d6a7a; font-size:7px; }
.registration-person > em { margin-left:auto; font-style:normal; }
.registration-recommendation { display:grid; grid-template-columns:25px 1fr auto; align-items:center; gap:7px; min-height:57px; padding:8px 11px; border-bottom:1px solid #cfe2f7; background:#f0f7ff; }
.registration-recommendation > i { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; color:#fff; background:#347fe3; font-size:12px; font-style:normal; }
.registration-recommendation div { display:grid; gap:2px; }
.registration-recommendation span { color:#3372ae; font-size:5.5px; font-weight:700; letter-spacing:.05em; }
.registration-recommendation b { font-size:9px; }
.registration-recommendation p { margin:0; color:#526579; font-size:6px; line-height:1.35; }
.registration-recommendation > strong { display:grid; justify-items:center; color:#176ab8; font-size:15px; }
.registration-recommendation > strong small { font-size:5px; font-weight:500; text-transform:uppercase; }
.registration-actions { display:grid; grid-template-columns:1.25fr 1fr 1fr 27px; gap:6px; padding:8px 10px; border-bottom:1px solid #e6eaee; }
.registration-actions button { height:27px; padding:0 7px; border:1px solid #d3dbe3; border-radius:4px; color:#26364a; background:#fff; font-size:7px; font-weight:700; white-space:nowrap; }
.registration-actions button.confirm { border-color:#238c63; color:#fff; background:#24966b; }
.registration-actions button:disabled { border-color:#d5dce3; color:#647180; background:#edf1f4; }
.registration-actions button.more { padding:0; }
.registration-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:7px; padding:8px; background:#f6f8fa; }
.registration-card { overflow:hidden; border:1px solid #dfe5ea; border-radius:4px; background:#fff; }
.registration-card > header { display:flex; align-items:center; justify-content:space-between; height:28px; padding:0 9px; border-bottom:1px solid #e7ebef; background:#fafbfc; }
.registration-card h3 { margin:0; font-size:8px; }
.registration-card > header span { color:#788492; font-size:5.5px; font-weight:700; }
.registration-card dl { margin:0; }
.registration-card dl > div { display:grid; grid-template-columns:74px minmax(0,1fr); min-height:27px; padding:6px 9px; border-bottom:1px solid #edf0f2; font-size:6.5px; line-height:1.4; }
.registration-card dl > div:last-child { border-bottom:0; }
.registration-card dt { color:#6c7886; }
.registration-card dd { min-width:0; margin:0; overflow-wrap:anywhere; }
.registration-card dd small { display:block; margin-top:2px; color:#16805a; font-size:5.5px; }
.registration-card dd a { color:#1769ad; }
.registration-answers { grid-column:1/-1; }
.registration-answers dl { display:grid; grid-template-columns:1fr 1fr; }
.registration-answers dl > div:first-child { grid-column:1/-1; }
.registration-answers dl > div { grid-template-columns:95px 1fr; }
.registration-checks { grid-column:1/-1; }
.registration-checks ul { display:grid; grid-template-columns:repeat(5,1fr); margin:0; padding:7px; list-style:none; }
.registration-checks li { display:grid; gap:3px; padding:0 7px; border-right:1px solid #edf0f2; font-size:6px; }
.registration-checks li:last-child { border:0; }
.registration-checks li span { color:#6d7987; }
.registration-checks li b { font-size:6.5px; }
.registration-checks li b.ok { color:#15805a; }.registration-checks li b.warn { color:#b16d16; }.registration-checks li b.info { color:#1769ad; }
.registration-audit { display:flex; align-items:center; gap:12px; min-height:32px; padding:6px 10px; border-top:1px solid #e2e7eb; color:#74808d; background:#fff; font-size:5.5px; }
.registration-audit b { color:#354459; font-size:6px; }
.registration-audit span::before { content:"✓"; margin-right:4px; color:#27936a; }
.registration-message-dialog { width:340px; padding:0; border:0; border-radius:7px; box-shadow:0 20px 60px rgba(8,21,34,.3); }
.registration-message-dialog::backdrop { background:rgba(13,25,37,.55); }
.registration-message-dialog form { display:grid; gap:9px; padding:18px; }
.registration-message-dialog form > span { color:#3172ad; font-size:7px; font-weight:700; }
.registration-message-dialog h2 { margin:0 0 4px; font-size:17px; }
.registration-message-dialog label { display:grid; gap:4px; color:#526173; font-size:8px; font-weight:700; }
.registration-message-dialog select,.registration-message-dialog textarea { width:100%; padding:8px; border:1px solid #d5dce3; border-radius:4px; background:#fff; font-size:8px; resize:vertical; }
.registration-message-dialog form > div { display:flex; justify-content:flex-end; gap:6px; }
.registration-message-dialog form > div button { height:29px; padding:0 12px; border:1px solid #d3dbe3; border-radius:4px; background:#fff; font-size:8px; }
.registration-message-dialog form > div button.confirm { border-color:#2d7bd7; color:#fff; background:#347fe3; }

@media (max-width:600px) {
  .registration-admin .admin-main main { padding:12px; }
  .registrations-head { align-items:flex-start; gap:12px; padding:8px 0 14px; }
  .registrations-head h1 { font-size:27px; }
  .registrations-head p { max-width:230px; font-size:12px; line-height:1.4; }
  .registrations-head > div:last-child { display:grid; }
  .registrations-head button { height:40px; padding:0 10px; font-size:12px; }
  .registration-metrics { grid-template-columns:1fr 1fr; gap:8px; }
  .registration-metrics article { min-height:84px; padding:12px; }
  .registration-metrics article:last-child { grid-column:1/-1; }
  .registration-metrics span { font-size:10px; }
  .registration-metrics b { font-size:23px; }
  .registration-metrics small { font-size:10px; }
  .registration-tabs { margin-top:10px !important; }
  .registration-toolbar { flex-wrap:wrap; gap:8px; padding:10px; }
  .registration-toolbar > div { width:100%; overflow-x:auto; }
  .registration-toolbar button { flex:0 0 auto; height:38px; padding:0 11px; font-size:12px; }
  .registration-toolbar button b { min-width:20px; height:20px; font-size:10px; }
  .registration-toolbar label { order:2; width:calc(100% - 118px); height:40px; margin-left:0; }
  .registration-toolbar label svg { width:16px; }
  .registration-toolbar input,.registration-toolbar select { height:38px; font-size:12px; }
  .registration-toolbar select { order:3; width:110px; height:40px; }
  .registration-workspace { grid-template-columns:1fr; gap:10px; }
  .registration-queue > header { height:47px; padding:0 12px; }
  .registration-queue > header div { gap:9px; font-size:12px; }
  .registration-queue input { width:17px; height:17px; }
  .registration-row { grid-template-columns:18px 44px minmax(0,1fr); gap:9px; min-height:78px; padding:10px 12px; }
  .registration-row > img { width:44px; height:44px; }
  .registration-row > span b { font-size:14px; }
  .registration-row > span small { font-size:11px; }
  .registration-row > span em { font-size:10px; }
  .registration-row > strong { grid-column:3; justify-self:start; padding:5px 7px; font-size:9px; }
  .registration-queue > footer { height:46px; padding:0 12px; font-size:11px; }
  .registration-queue > footer button,.registration-queue > footer b { width:29px; height:29px; font-size:12px; }
  .registration-person { min-height:91px; padding:13px; }
  .registration-person > img { width:57px; height:57px; margin-right:11px; }
  .registration-person > div span { font-size:10px; }
  .registration-person h2 { font-size:20px; }
  .registration-person p { font-size:12px; }
  .registration-person > em { align-self:flex-start; padding:5px 7px; font-size:9px; }
  .registration-recommendation { grid-template-columns:36px 1fr; gap:9px; padding:13px; }
  .registration-recommendation > i { width:36px; height:36px; font-size:17px; }
  .registration-recommendation span { font-size:9px; }
  .registration-recommendation b { font-size:14px; }
  .registration-recommendation p { font-size:11px; }
  .registration-recommendation > strong { grid-column:2; justify-self:start; display:flex; align-items:center; gap:6px; font-size:20px; }
  .registration-recommendation > strong small { font-size:9px; }
  .registration-actions { grid-template-columns:1fr 1fr; gap:8px; padding:11px; }
  .registration-actions button { height:44px; font-size:12px; }
  .registration-actions button.more { display:none; }
  .registration-actions button:nth-child(3) { grid-column:1/-1; }
  .registration-detail-grid { grid-template-columns:1fr; gap:9px; padding:10px; }
  .registration-card,.registration-answers,.registration-checks { grid-column:auto; }
  .registration-card > header { height:44px; padding:0 12px; }
  .registration-card h3 { font-size:14px; }
  .registration-card > header span { font-size:9px; }
  .registration-card dl > div,.registration-answers dl > div { grid-template-columns:115px minmax(0,1fr); min-height:45px; padding:10px 12px; font-size:12px; }
  .registration-card dd small { font-size:10px; }
  .registration-answers dl { grid-template-columns:1fr; }
  .registration-answers dl > div:first-child { grid-column:auto; }
  .registration-checks ul { grid-template-columns:1fr; padding:5px 12px; }
  .registration-checks li { grid-template-columns:1fr auto; padding:10px 0; border-right:0; border-bottom:1px solid #edf0f2; font-size:12px; }
  .registration-checks li b { font-size:12px; }
  .registration-audit { display:grid; gap:7px; padding:12px; font-size:10px; }
  .registration-audit b { font-size:12px; }
  .registration-message-dialog { width:calc(100% - 24px); }
  .registration-message-dialog form { padding:18px; }
  .registration-message-dialog form > span { font-size:10px; }
  .registration-message-dialog h2 { font-size:22px; }
  .registration-message-dialog label,.registration-message-dialog select,.registration-message-dialog textarea { font-size:13px; }
  .registration-message-dialog form > div button { height:42px; font-size:13px; }
}

.registration-actions { grid-template-columns:1.12fr 1fr 1.12fr .85fr; }
.registration-actions button,.registration-actions a { display:flex; align-items:center; justify-content:center; height:27px; padding:0 7px; border:1px solid #d3dbe3; border-radius:4px; color:#26364a; background:#fff; font-size:7px; font-weight:700; white-space:nowrap; }
.registration-event-summary { display:grid; grid-template-columns:62px minmax(0,1fr) auto; align-items:center; gap:7px; padding:7px 8px; border-bottom:1px solid #edf0f2; background:#f8fafc; }
.registration-event-summary > img { width:62px; height:47px; border-radius:4px; object-fit:cover; }
.registration-event-summary > div { display:grid; gap:2px; min-width:0; }
.registration-event-summary > div b { font-size:9px; }
.registration-event-summary > div span { color:#5f6d7c; font-size:6px; }
.registration-event-summary > div em { justify-self:start; padding:3px 5px; border-radius:3px; color:#167350; background:#e4f6ed; font-size:5.5px; font-style:normal; font-weight:700; }
.registration-event-summary > a { align-self:end; color:#1769ad; font-size:6px; font-weight:700; white-space:nowrap; }
.registration-identity { grid-column:1/-1; }
.identity-preview { display:grid; grid-template-columns:225px 1fr; align-items:center; gap:10px; padding:9px; }
.identity-document { position:relative; display:grid; grid-template-columns:58px 1fr; grid-template-rows:18px 1fr; gap:5px 8px; width:100%; min-height:116px; overflow:hidden; padding:8px; border:1px solid #aebdca; border-radius:7px; color:#18354f; background:linear-gradient(135deg,#e7f1f3,#f9fbf8 45%,#dcebed); box-shadow:0 2px 8px rgba(31,60,79,.14); }
.identity-document::before,.identity-document::after { content:""; position:absolute; width:100px; height:100px; border:1px solid rgba(39,111,129,.13); border-radius:50%; }
.identity-document::before { right:-25px; top:-45px; }.identity-document::after { left:35px; bottom:-75px; }
.identity-document > span { grid-column:1/-1; z-index:1; font-size:6px; font-weight:800; letter-spacing:.08em; }
.identity-document > img { z-index:1; width:58px; height:68px; border:1px solid #fff; border-radius:3px; object-fit:cover; }
.identity-document dl { z-index:1; display:grid; align-content:start; gap:5px; margin:0; }
.identity-document dl > div { display:grid; grid-template-columns:1fr; padding:0; border:0; font-size:6px; }
.identity-document dt { color:#587083; font-size:4.5px; font-weight:700; }
.identity-document dd { margin:0; font-weight:700; }
.identity-document > i { position:absolute; right:7px; bottom:5px; color:rgba(31,84,106,.28); font-size:7px; font-style:normal; font-weight:800; letter-spacing:.12em; }
.identity-preview > div:last-child { display:grid; align-content:center; gap:6px; }
.identity-preview > div:last-child b { color:#16805a; font-size:8px; }
.identity-preview > div:last-child span { color:#697686; font-size:6px; }
.identity-preview > div:last-child button { height:24px; border:1px solid #d3dce4; border-radius:4px; color:#28506e; background:#fff; font-size:6.5px; font-weight:700; }
.identity-preview > div:last-child button.verify { border-color:#83c4aa; color:#147452; background:#edf9f3; }
.registration-inline-message { grid-column:1/-1; }
.message-smart-row { display:flex; align-items:center; gap:5px; padding:7px 9px 0; font-size:6px; }
.message-smart-row b { margin-right:3px; }
.message-smart-row button { height:21px; padding:0 7px; border:1px solid #d8e0e7; border-radius:10px; color:#31526c; background:#f6f9fb; font-size:6px; }
.inline-message-fields { display:grid; grid-template-columns:1fr 1fr; gap:7px; padding:8px 9px; }
.inline-message-fields label { display:grid; gap:4px; color:#657282; font-size:6px; font-weight:700; }
.inline-message-fields input,.inline-message-fields select,.inline-message-fields textarea { width:100%; padding:6px 7px; border:1px solid #d8e0e7; border-radius:4px; color:#26364a; background:#fff; font-size:7px; outline:0; }
.inline-message-fields input,.inline-message-fields select { height:27px; }
.inline-message-fields input[readonly] { background:#f6f8fa; }
.inline-message-fields .message-body { grid-column:1/-1; }
.inline-message-fields textarea { min-height:59px; resize:vertical; line-height:1.4; }
.registration-inline-message > footer { display:flex; align-items:center; justify-content:space-between; padding:0 9px 9px; color:#73808e; font-size:5.5px; }
.registration-inline-message > footer button { height:27px; padding:0 12px; border:0; border-radius:4px; color:#fff; background:#347fe3; font-size:7px; font-weight:700; }
.identity-dialog { width:410px; padding:0; border:0; border-radius:7px; box-shadow:0 20px 60px rgba(8,21,34,.34); }
.identity-dialog::backdrop { background:rgba(13,25,37,.6); }
.identity-dialog form { position:relative; display:grid; gap:11px; padding:18px; }
.identity-dialog form > span { color:#3172ad; font-size:7px; font-weight:800; letter-spacing:.06em; }
.identity-dialog .identity-document { min-height:220px; grid-template-columns:105px 1fr; grid-template-rows:28px 1fr; padding:15px; }
.identity-dialog .identity-document > span { font-size:10px; }
.identity-dialog .identity-document > img { width:105px; height:132px; }
.identity-dialog .identity-document dl { gap:10px; }
.identity-dialog .identity-document dl > div { font-size:11px; }
.identity-dialog .identity-document dt { font-size:7px; }
.identity-dialog .identity-document > i { font-size:12px; }
.identity-dialog footer { display:flex; align-items:center; gap:7px; }
.identity-dialog footer span { margin-right:auto; color:#6d7987; font-size:7px; }
.identity-dialog footer button { height:29px; padding:0 10px; border:1px solid #d2dae2; border-radius:4px; background:#fff; font-size:8px; }
.identity-dialog footer button:last-child { border-color:#238c63; color:#fff; background:#24966b; }

@media (max-width:600px) {
  .registration-actions { grid-template-columns:1fr 1fr; }
  .registration-actions button,.registration-actions a { height:44px; font-size:12px; }
  .registration-actions button:nth-child(3) { grid-column:auto; }
  .registration-event-summary { grid-template-columns:88px minmax(0,1fr); gap:10px; padding:10px; }
  .registration-event-summary > img { width:88px; height:76px; }
  .registration-event-summary > div b { font-size:15px; }
  .registration-event-summary > div span { font-size:11px; }
  .registration-event-summary > div em { padding:4px 6px; font-size:9px; }
  .registration-event-summary > a { grid-column:1/-1; display:grid; place-items:center; height:38px; border:1px solid #d8e0e7; border-radius:4px; font-size:12px; }
  .identity-preview { grid-template-columns:1fr; gap:10px; padding:11px; }
  .identity-document { grid-template-columns:82px 1fr; min-height:154px; padding:11px; }
  .identity-document > span { font-size:9px; }
  .identity-document > img { width:82px; height:102px; }
  .identity-document dl { gap:7px; }
  .identity-document dl > div { font-size:10px; }
  .identity-document dt { font-size:7px; }
  .identity-preview > div:last-child b { font-size:13px; }
  .identity-preview > div:last-child span { font-size:11px; }
  .identity-preview > div:last-child button { height:42px; font-size:12px; }
  .message-smart-row { flex-wrap:wrap; gap:7px; padding:11px 12px 0; font-size:12px; }
  .message-smart-row b { width:100%; }
  .message-smart-row button { height:34px; padding:0 10px; font-size:11px; }
  .inline-message-fields { grid-template-columns:1fr; gap:9px; padding:11px 12px; }
  .inline-message-fields .message-body { grid-column:auto; }
  .inline-message-fields label { font-size:12px; }
  .inline-message-fields input,.inline-message-fields select { height:43px; font-size:13px; }
  .inline-message-fields textarea { min-height:120px; font-size:13px; }
  .registration-inline-message > footer { display:grid; gap:9px; padding:0 12px 12px; font-size:10px; }
  .registration-inline-message > footer button { height:44px; font-size:13px; }
  .identity-dialog { width:calc(100% - 24px); }
  .identity-dialog form { padding:16px; }
  .identity-dialog form > span { font-size:10px; }
  .identity-dialog .identity-document { grid-template-columns:82px 1fr; min-height:165px; padding:11px; }
  .identity-dialog .identity-document > span { font-size:9px; }
  .identity-dialog .identity-document > img { width:82px; height:104px; }
  .identity-dialog .identity-document dl { gap:7px; }
  .identity-dialog .identity-document dl > div { font-size:10px; }
  .identity-dialog .identity-document dt { font-size:7px; }
  .identity-dialog footer { flex-wrap:wrap; }
  .identity-dialog footer span { width:100%; font-size:10px; }
  .identity-dialog footer button { flex:1; height:42px; font-size:12px; }
}

/* Fast, context-rich admin message inbox */
.messages-admin .admin-main main { padding-bottom:28px; }
.messages-head { display:flex; align-items:flex-end; justify-content:space-between; padding:4px 0 10px; }
.messages-head h1 { display:flex; align-items:center; gap:7px; margin:0 0 3px; font-size:20px; }
.messages-head h1 span { padding:4px 7px; border-radius:9px; color:#fff; background:#e94c5b; font-size:6px; }
.messages-head p { margin:0; color:#687585; font-size:7px; }
.messages-head > div:last-child { display:flex; gap:6px; }
.messages-head button { height:25px; padding:0 10px; border:1px solid #d4dce4; border-radius:4px; color:#26354a; background:#fff; font-size:7px; font-weight:700; }
.messages-head button:last-child { border-color:#2d7bd7; color:#fff; background:#347fe3; }
.message-metrics { display:grid; grid-template-columns:repeat(5,1fr); gap:7px; }
.message-metrics article { display:grid; grid-template-columns:1fr auto; align-items:end; min-height:53px; padding:8px 9px; border:1px solid #e0e5ea; border-radius:5px; background:#fff; box-shadow:0 1px 2px rgba(26,42,56,.04); }
.message-metrics span { grid-column:1/-1; color:#657282; font-size:6px; font-weight:700; letter-spacing:.04em; }
.message-metrics b { font-size:15px; line-height:1; }
.message-metrics small { justify-self:end; color:#74808d; font-size:6px; }
.messages-toolbar { display:flex; align-items:center; gap:8px; min-height:42px; margin-top:8px; padding:7px 8px; border:1px solid #e0e5ea; border-radius:5px; background:#fff; }
.messages-toolbar > div { display:flex; gap:3px; }
.messages-toolbar button { display:flex; align-items:center; gap:5px; height:25px; padding:0 8px; border:0; border-radius:4px; color:#566475; background:transparent; font-size:7px; }
.messages-toolbar button b { display:grid; place-items:center; min-width:14px; height:14px; padding:0 3px; border-radius:7px; background:#edf1f5; font-size:6px; }
.messages-toolbar button.active { color:#1767b2; background:#e9f3ff; font-weight:700; }
.messages-toolbar button.active b { color:#fff; background:#347fe3; }
.messages-toolbar label { display:flex; align-items:center; gap:5px; width:150px; height:25px; margin-left:auto; padding:0 7px; border:1px solid #dce2e8; border-radius:4px; color:#697687; }
.messages-toolbar label svg { width:10px; }
.messages-toolbar input { min-width:0; width:100%; height:22px; border:0; outline:0; font-size:7px; }
.messages-toolbar select { height:25px; padding:0 20px 0 7px; border:1px solid #dce2e8; border-radius:4px; color:#455365; background:#fff; font-size:7px; }
.messages-workspace { display:grid; grid-template-columns:minmax(0,1fr) 180px; gap:8px; margin-top:8px; align-items:start; }
.batch-inbox > header { display:flex; align-items:center; min-height:32px; padding:6px 9px; border:1px solid #dce3e9; border-radius:5px 5px 0 0; background:#fff; font-size:6.5px; }
.batch-inbox > header label { display:flex; align-items:center; gap:6px; font-weight:700; }
.batch-inbox > header input,.inbox-card > header input { width:11px; height:11px; margin:0; accent-color:#347fe3; }
.batch-inbox > header span { margin-left:auto; color:#697686; }
.batch-inbox > header span b { color:#27374a; }
.batch-inbox > header button { margin-left:9px; border:0; color:#1769ad; background:transparent; font-size:6.5px; }
.inbox-list { display:grid; gap:7px; padding-top:7px; }
.inbox-card { overflow:hidden; border:1px solid #dce3e9; border-radius:5px; background:#fff; box-shadow:0 1px 3px rgba(26,42,56,.05); }
.inbox-card > header { display:grid; grid-template-columns:12px 36px minmax(0,1fr) auto; align-items:center; gap:7px; min-height:58px; padding:8px 9px; border-bottom:1px solid #e7ebef; }
.inbox-card > header > img { width:36px; height:36px; border-radius:50%; object-fit:cover; }
.inbox-card > header > div { display:grid; gap:2px; min-width:0; }
.inbox-card h2 { display:flex; align-items:center; gap:6px; margin:0; font-size:9px; }
.inbox-card h2 span { padding:3px 5px; border-radius:3px; color:#166bad; background:#e5f2ff; font-size:5px; }
.inbox-card h2 span.urgent { color:#b02f43; background:#fde8eb; }.inbox-card h2 span.human { color:#9b6116; background:#fff1dc; }.inbox-card h2 span.replied { color:#16734f; background:#e5f6ed; }
.inbox-card > header p { overflow:hidden; margin:0; color:#3f4e60; font-size:7px; white-space:nowrap; text-overflow:ellipsis; }
.inbox-card > header small { color:#84909c; font-size:5.5px; }
.inbox-card > header > button { height:23px; padding:0 7px; border:1px solid #d8dfe6; border-radius:3px; color:#405267; background:#fff; font-size:6px; }
.inbox-context { display:grid; grid-template-columns:1fr 1.2fr 1fr; background:#f8fafc; border-bottom:1px solid #e8ecef; }
.inbox-context span { display:grid; gap:2px; min-height:34px; padding:6px 9px; border-right:1px solid #e8ecef; color:#3e4d5e; font-size:6px; }
.inbox-context span:last-child { border:0; }
.inbox-context b { color:#7d8995; font-size:5px; letter-spacing:.04em; }
.thread-history { margin:7px 10px 0 53px; padding:7px 9px; border-left:2px solid #cbd6e1; color:#627080; background:#f7f9fb; font-size:6px; }
.thread-history span { color:#7c8894; font-size:5.5px; }
.thread-history p { margin:3px 0 0; line-height:1.4; }
.latest-message { display:grid; grid-template-columns:30px 1fr; gap:8px; padding:9px 10px 5px; }
.latest-message > img { width:30px; height:30px; border-radius:50%; object-fit:cover; }
.latest-message > div { padding:7px 9px; border-radius:3px 9px 9px 9px; background:#f0f3f6; }
.latest-message span { color:#74818e; font-size:5.5px; font-weight:700; }
.latest-message p { margin:4px 0 0; font-size:7px; line-height:1.45; }
.inbox-tags { display:flex; gap:4px; padding:0 10px 7px 48px; }
.inbox-tags span { padding:3px 6px; border:1px solid #dce3e9; border-radius:8px; color:#566577; background:#fff; font-size:5.5px; }
.quick-reply { margin:0 9px 9px; overflow:hidden; border:1px solid #bed8f0; border-radius:4px; background:#fbfdff; }
.quick-reply > header { display:flex; align-items:center; justify-content:space-between; min-height:34px; padding:6px 8px; background:#edf6ff; }
.quick-reply > header > div { display:flex; align-items:center; gap:7px; }
.quick-reply > header i { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; color:#fff; background:#347fe3; font-size:10px; font-style:normal; }
.quick-reply > header span { display:grid; gap:2px; }
.quick-reply > header b { font-size:7px; }.quick-reply > header small { color:#587087; font-size:5.5px; }
.quick-reply > header button { border:0; color:#1769ad; background:transparent; font-size:6px; }
.quick-reply textarea { display:block; width:calc(100% - 16px); min-height:54px; margin:7px 8px; padding:7px; border:1px solid #d8e0e7; border-radius:4px; outline:0; color:#26364a; background:#fff; font-size:7px; line-height:1.45; resize:vertical; }
.quick-reply > footer { display:flex; align-items:center; gap:6px; padding:0 8px 7px; }
.quick-reply > footer span { margin-right:auto; color:#778390; font-size:5.5px; }
.quick-reply > footer button { height:24px; padding:0 8px; border:1px solid #d5dde4; border-radius:4px; color:#425267; background:#fff; font-size:6px; font-weight:700; }
.quick-reply > footer button.send { border-color:#2d7bd7; color:#fff; background:#347fe3; }
.inbox-card.sent { opacity:.76; }
.inbox-card.sent > :not(header) { display:none; }
.inbox-card.sent > header { border:0; background:#f2faf6; }
.message-ops { position:sticky; top:7px; display:grid; gap:7px; }
.message-ops section { padding:9px; border:1px solid #dce3e9; border-radius:5px; background:#fff; box-shadow:0 1px 3px rgba(26,42,56,.04); }
.message-ops h2 { margin:0 0 8px; font-size:8px; }
.queue-score { display:flex; align-items:end; gap:7px; padding:8px; border-radius:4px; color:#176a4b; background:#eaf8f1; }
.queue-score b { font-size:18px; line-height:1; }.queue-score span { font-size:6px; }
.message-ops dl { margin:7px 0; }
.message-ops dl div { display:flex; justify-content:space-between; padding:5px 1px; border-bottom:1px solid #edf0f2; font-size:6px; }
.message-ops dd { margin:0; font-weight:700; }
.message-ops p,.message-ops small { display:block; margin:7px 0 0; color:#697686; font-size:6px; line-height:1.45; }
.message-ops section > button { width:100%; height:25px; margin-top:4px; border:1px solid #d9e0e7; border-radius:4px; color:#35475b; background:#f8fafb; font-size:6px; text-align:left; }
.message-ops label { display:flex; align-items:center; gap:6px; min-height:24px; border-bottom:1px solid #edf0f2; font-size:6px; }
.message-ops input { width:11px; height:11px; accent-color:#347fe3; }

@media (min-width:1350px) {
  .inbox-list { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
}

@media (max-width:600px) {
  .messages-admin .admin-main main { padding:12px; }
  .messages-head { align-items:flex-start; gap:12px; padding:8px 0 14px; }
  .messages-head h1 { flex-wrap:wrap; font-size:27px; }
  .messages-head h1 span { padding:5px 8px; font-size:10px; }
  .messages-head p { max-width:225px; font-size:12px; line-height:1.4; }
  .messages-head > div:last-child { display:grid; }
  .messages-head button { height:40px; padding:0 9px; font-size:11px; }
  .message-metrics { grid-template-columns:1fr 1fr; gap:8px; }
  .message-metrics article { min-height:82px; padding:12px; }
  .message-metrics article:last-child { grid-column:1/-1; }
  .message-metrics span { font-size:10px; }.message-metrics b { font-size:23px; }.message-metrics small { font-size:10px; }
  .messages-toolbar { flex-wrap:wrap; padding:10px; }
  .messages-toolbar > div { width:100%; overflow-x:auto; }
  .messages-toolbar button { flex:0 0 auto; height:38px; padding:0 11px; font-size:12px; }
  .messages-toolbar button b { min-width:20px; height:20px; font-size:10px; }
  .messages-toolbar label { width:calc(100% - 118px); height:40px; margin-left:0; }
  .messages-toolbar label svg { width:16px; }
  .messages-toolbar input,.messages-toolbar select { height:38px; font-size:12px; }
  .messages-toolbar select { width:110px; height:40px; }
  .messages-workspace { grid-template-columns:1fr; gap:10px; }
  .batch-inbox > header { min-height:48px; padding:8px 11px; font-size:11px; }
  .batch-inbox > header input,.inbox-card > header input { width:17px; height:17px; }
  .batch-inbox > header span { display:none; }
  .batch-inbox > header button { margin-left:auto; font-size:11px; }
  .inbox-list { gap:10px; padding-top:10px; }
  .inbox-card > header { grid-template-columns:18px 48px minmax(0,1fr); gap:9px; min-height:82px; padding:11px; }
  .inbox-card > header > img { width:48px; height:48px; }
  .inbox-card h2 { flex-wrap:wrap; font-size:15px; }
  .inbox-card h2 span { padding:4px 6px; font-size:9px; }
  .inbox-card > header p { font-size:12px; }
  .inbox-card > header small { font-size:10px; }
  .inbox-card > header > button { grid-column:3; justify-self:start; height:34px; font-size:11px; }
  .inbox-context { grid-template-columns:1fr; }
  .inbox-context span { min-height:50px; padding:10px 13px; border-right:0; border-bottom:1px solid #e8ecef; font-size:12px; }
  .inbox-context b { font-size:9px; }
  .thread-history { margin:10px 12px 0 56px; padding:10px; font-size:12px; }
  .thread-history span { font-size:10px; }
  .latest-message { grid-template-columns:38px 1fr; gap:9px; padding:12px 12px 7px; }
  .latest-message > img { width:38px; height:38px; }
  .latest-message > div { padding:10px 12px; }
  .latest-message span { font-size:9px; }
  .latest-message p { font-size:13px; }
  .inbox-tags { flex-wrap:wrap; gap:6px; padding:0 12px 10px 59px; }
  .inbox-tags span { padding:5px 8px; font-size:10px; }
  .quick-reply { margin:0 11px 11px; }
  .quick-reply > header { min-height:57px; padding:9px 10px; }
  .quick-reply > header i { width:32px; height:32px; font-size:15px; }
  .quick-reply > header b { font-size:13px; }.quick-reply > header small { font-size:10px; }
  .quick-reply > header button { font-size:11px; }
  .quick-reply textarea { width:calc(100% - 20px); min-height:120px; margin:10px; padding:10px; font-size:13px; }
  .quick-reply > footer { flex-wrap:wrap; gap:8px; padding:0 10px 10px; }
  .quick-reply > footer span { width:100%; font-size:10px; }
  .quick-reply > footer button { flex:1; height:42px; font-size:12px; }
  .message-ops { position:static; }
  .message-ops section { padding:13px; }
  .message-ops h2 { font-size:15px; }
  .queue-score { padding:12px; }.queue-score b { font-size:26px; }.queue-score span { font-size:11px; }
  .message-ops dl div,.message-ops p,.message-ops small { font-size:12px; }
  .message-ops section > button { height:42px; font-size:12px; }
  .message-ops label { min-height:42px; font-size:12px; }
  .message-ops input { width:17px; height:17px; }
}

/* Master-detail message workspace */
.smart-messages-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:8px; margin-top:8px; align-items:start; }
.conversation-list,.conversation-panel { overflow:hidden; border:1px solid #dce3e9; border-radius:5px; background:#fff; box-shadow:0 1px 3px rgba(26,42,56,.05); }
.conversation-list > header { display:flex; align-items:center; justify-content:space-between; height:37px; padding:0 9px; border-bottom:1px solid #e5eaee; background:#f8fafb; }
.conversation-list > header div { display:grid; gap:2px; }
.conversation-list > header b { font-size:7px; }.conversation-list > header span { color:#75818d; font-size:5.5px; }
.conversation-list > header button { border:0; background:transparent; font-size:8px; }
.conversation-item { position:relative; display:grid; grid-template-columns:35px minmax(0,1fr) auto; align-items:start; gap:7px; width:100%; min-height:83px; padding:9px 8px; border:0; border-bottom:1px solid #e9edf0; color:#243448; background:#fff; text-align:left; }
.conversation-item:hover { background:#f8faff; }
.conversation-item.selected { box-shadow:inset 3px 0 #347fe3; background:#edf5ff; }
.conversation-item > img { width:35px; height:35px; border-radius:50%; object-fit:cover; }
.conversation-item > span { display:grid; gap:3px; min-width:0; }
.conversation-item > span > b { display:flex; align-items:center; gap:4px; overflow:hidden; font-size:8px; white-space:nowrap; text-overflow:ellipsis; }
.conversation-item em { padding:3px 4px; border-radius:3px; color:#176bad; background:#e2f1ff; font-size:4.5px; font-style:normal; }
.conversation-item em.urgent { color:#b02f43; background:#fde8eb; }.conversation-item em.human { color:#996015; background:#fff0dc; }.conversation-item em.replied { color:#16734f; background:#e5f6ed; }
.conversation-item strong { overflow:hidden; font-size:6.5px; white-space:nowrap; text-overflow:ellipsis; }
.conversation-item small { display:-webkit-box; overflow:hidden; color:#667383; font-size:5.5px; line-height:1.35; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.conversation-item i { color:#35709f; font-size:5px; font-style:normal; }
.conversation-item time { color:#89939d; font-size:5px; white-space:nowrap; }
.conversation-list > footer { display:flex; align-items:center; justify-content:space-between; height:32px; padding:0 9px; color:#73808c; font-size:5.5px; }
.conversation-list > footer div { display:flex; align-items:center; gap:3px; }
.conversation-list kbd { display:grid; place-items:center; width:15px; height:15px; border:1px solid #d7dfe6; border-radius:3px; color:#47586b; background:#f8fafb; font:6px Arial,sans-serif; }
.conversation-head { display:grid; grid-template-columns:42px minmax(0,1fr) auto auto 25px; align-items:center; gap:7px; min-height:62px; padding:9px 10px; border-bottom:1px solid #e2e7eb; }
.conversation-head > img { width:42px; height:42px; border-radius:50%; object-fit:cover; }
.conversation-head > div { display:grid; gap:3px; }
.conversation-head h2 { display:flex; align-items:center; gap:6px; margin:0; font-size:12px; }
.conversation-head h2 span { padding:3px 5px; border-radius:3px; color:#176bad; background:#e4f2ff; font-size:5px; }
.conversation-head h2 span.urgent { color:#b02f43; background:#fde8eb; }.conversation-head h2 span.human { color:#996015; background:#fff0dc; }
.conversation-head p { margin:0; color:#1b9a68; font-size:6px; }
.conversation-head > a,.conversation-head > button { display:grid; place-items:center; height:25px; padding:0 7px; border:1px solid #d4dde4; border-radius:4px; color:#35475b; background:#fff; font-size:6px; font-weight:700; }
.conversation-head > button:last-child { width:25px; padding:0; }
.conversation-content { display:grid; grid-template-columns:minmax(0,1fr) 155px; }
.thread-pane { min-width:0; padding:9px; border-right:1px solid #e2e7eb; }
.thread-heading { display:flex; align-items:center; justify-content:space-between; padding:1px 1px 8px; }
.thread-heading > div { display:grid; gap:2px; }
.thread-heading b { font-size:9px; }.thread-heading span { color:#788492; font-size:5.5px; }
.thread-heading button { border:0; color:#1769ad; background:transparent; font-size:6px; }
.smart-context-note { display:grid; grid-template-columns:23px 1fr auto; align-items:center; gap:7px; padding:7px 8px; border:1px solid #c8def3; border-radius:4px; background:#f0f7ff; }
.smart-context-note > i { display:grid; place-items:center; width:23px; height:23px; border-radius:50%; color:#fff; background:#347fe3; font-size:10px; font-style:normal; }
.smart-context-note p { display:grid; gap:2px; margin:0; }
.smart-context-note b { font-size:7px; }.smart-context-note p span { color:#5b6d80; font-size:5.5px; }
.smart-context-note > strong { color:#1769ad; font-size:5.5px; text-align:right; }
.full-thread { padding:8px 3px 4px; }
.thread-date { display:flex; align-items:center; gap:7px; margin-bottom:7px; color:#8a949e; font-size:5px; }
.thread-date::before,.thread-date::after { content:""; flex:1; height:1px; background:#e7ebef; }
.message-bubble { max-width:86%; margin-bottom:8px; }
.message-bubble > span,.message-bubble div > span { color:#75818e; font-size:5.5px; }
.message-bubble p { margin:3px 0; padding:7px 9px; border-radius:7px 7px 2px 7px; background:#dfedff; font-size:7px; line-height:1.45; }
.message-bubble time { display:block; color:#8a949e; font-size:5px; text-align:right; }
.message-bubble.member { display:grid; grid-template-columns:28px 1fr; gap:6px; margin-left:auto; }
.message-bubble.member > img { width:28px; height:28px; border-radius:50%; object-fit:cover; }
.message-bubble.member p { border-radius:2px 7px 7px 7px; background:#f0f2f4; }
.conversation-reply { overflow:hidden; border:1px solid #b9d4ed; border-radius:5px; background:#fbfdff; }
.conversation-reply > header { display:flex; align-items:center; justify-content:space-between; min-height:39px; padding:7px 8px; background:#edf6ff; }
.conversation-reply > header > div { display:flex; align-items:center; gap:7px; }
.conversation-reply > header i { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; color:#fff; background:#347fe3; font-size:11px; font-style:normal; }
.conversation-reply > header p { display:grid; gap:2px; margin:0; }
.conversation-reply > header b { font-size:7px; }.conversation-reply > header span { color:#587087; font-size:5.5px; }
.conversation-reply > header button { border:0; color:#1769ad; background:transparent; font-size:6px; }
.reply-templates { display:flex; gap:4px; padding:7px 8px 0; overflow-x:auto; }
.reply-templates button { flex:0 0 auto; height:20px; padding:0 6px; border:1px solid #d4dfe8; border-radius:9px; color:#3e566e; background:#f8fafc; font-size:5.5px; }
.conversation-reply textarea { display:block; width:calc(100% - 16px); min-height:74px; margin:7px 8px; padding:7px; border:1px solid #d5dfe7; border-radius:4px; outline:0; color:#26364a; background:#fff; font-size:7px; line-height:1.45; resize:vertical; }
.conversation-reply > footer { display:flex; align-items:center; justify-content:space-between; padding:0 8px 8px; }
.conversation-reply > footer > div { display:flex; align-items:center; gap:4px; }
.conversation-reply > footer > div button { width:23px; height:23px; border:1px solid #d7dfe6; border-radius:4px; background:#fff; font-size:8px; }
.conversation-reply > footer span { color:#788492; font-size:5.5px; }
.conversation-reply > footer > button { height:26px; padding:0 10px; border:0; border-radius:4px; color:#fff; background:#347fe3; font-size:6.5px; font-weight:700; }
.conversation-details { display:grid; align-content:start; }
.conversation-details > section { padding:9px; border-bottom:1px solid #e4e8ec; }
.conversation-details section > header { display:flex; align-items:center; justify-content:space-between; margin-bottom:7px; }
.conversation-details h3 { margin:0; font-size:7.5px; }
.conversation-details header a { color:#1769ad; font-size:5.5px; font-weight:700; }
.conversation-details dl { margin:0; }
.conversation-details dl div { display:grid; gap:2px; padding:5px 0; border-bottom:1px solid #edf0f2; }
.conversation-details dt { color:#7a8692; font-size:5px; }.conversation-details dd { margin:0; font-size:6px; font-weight:700; }
.conversation-details dd.attention { color:#a65f10; }
.conversation-event { display:grid; gap:4px; }
.conversation-event img { width:100%; height:62px; border-radius:3px; object-fit:cover; }
.conversation-event > b { font-size:8px; }.conversation-event > span { color:#657281; font-size:5.5px; }
.conversation-event > em { justify-self:start; padding:3px 5px; border-radius:3px; color:#177450; background:#e6f7ee; font-size:5px; font-style:normal; font-weight:700; }
.detail-tags { display:flex; flex-wrap:wrap; gap:4px; }
.detail-tags span { padding:4px 6px; border-radius:8px; color:#36516b; background:#edf3f8; font-size:5.5px; }
.add-label { width:100%; height:23px; margin-top:6px; border:1px dashed #cbd5de; border-radius:4px; color:#637181; background:#fff; font-size:6px; }
.conversation-details .safety-rule { background:#fff8ed; }
.safety-rule p { margin:5px 0 0; color:#705b3d; font-size:5.5px; line-height:1.45; }

@media (max-width:600px) {
  .smart-messages-layout { grid-template-columns:1fr; gap:10px; }
  .conversation-list > header { height:50px; padding:0 12px; }
  .conversation-list > header b { font-size:13px; }.conversation-list > header span { font-size:10px; }
  .conversation-item { grid-template-columns:48px minmax(0,1fr) auto; min-height:105px; gap:10px; padding:12px; }
  .conversation-item > img { width:48px; height:48px; }
  .conversation-item > span > b { font-size:14px; }
  .conversation-item em { padding:4px 6px; font-size:9px; }
  .conversation-item strong { font-size:12px; }
  .conversation-item small { font-size:11px; }
  .conversation-item i,.conversation-item time { font-size:10px; }
  .conversation-list > footer { height:46px; padding:0 12px; font-size:10px; }
  .conversation-list kbd { width:24px; height:24px; font-size:10px; }
  .conversation-head { grid-template-columns:56px minmax(0,1fr) auto; gap:10px; padding:12px; }
  .conversation-head > img { width:56px; height:56px; }
  .conversation-head h2 { flex-wrap:wrap; font-size:19px; }
  .conversation-head h2 span { padding:5px 7px; font-size:9px; }
  .conversation-head p { font-size:11px; }
  .conversation-head > a,.conversation-head > button { height:40px; padding:0 10px; font-size:11px; }
  .conversation-head > a { grid-column:2; }
  .conversation-head > button { grid-row:2; }
  .conversation-head > button:last-child { grid-column:3; width:40px; }
  .conversation-content { grid-template-columns:1fr; }
  .thread-pane { padding:12px; border-right:0; }
  .thread-heading { padding-bottom:11px; }
  .thread-heading b { font-size:15px; }.thread-heading span { font-size:10px; }.thread-heading button { font-size:11px; }
  .smart-context-note { grid-template-columns:34px 1fr; gap:9px; padding:11px; }
  .smart-context-note > i { width:34px; height:34px; font-size:16px; }
  .smart-context-note b { font-size:13px; }.smart-context-note p span { font-size:10px; }
  .smart-context-note > strong { grid-column:2; justify-self:start; font-size:10px; }
  .full-thread { padding:13px 3px 7px; }
  .thread-date { font-size:9px; }
  .message-bubble { max-width:92%; }
  .message-bubble > span,.message-bubble div > span { font-size:10px; }
  .message-bubble p { padding:11px 13px; font-size:13px; }
  .message-bubble time { font-size:9px; }
  .message-bubble.member { grid-template-columns:38px 1fr; gap:8px; }
  .message-bubble.member > img { width:38px; height:38px; }
  .conversation-reply > header { min-height:60px; padding:10px; }
  .conversation-reply > header i { width:34px; height:34px; font-size:16px; }
  .conversation-reply > header b { font-size:13px; }.conversation-reply > header span { font-size:10px; }
  .conversation-reply > header button { font-size:11px; }
  .reply-templates { gap:7px; padding:10px 10px 0; }
  .reply-templates button { height:34px; padding:0 10px; font-size:11px; }
  .conversation-reply textarea { width:calc(100% - 20px); min-height:135px; margin:10px; padding:11px; font-size:13px; }
  .conversation-reply > footer { padding:0 10px 10px; }
  .conversation-reply > footer > div button { width:39px; height:39px; font-size:15px; }
  .conversation-reply > footer span { display:none; }
  .conversation-reply > footer > button { height:44px; padding:0 14px; font-size:12px; }
  .conversation-details { grid-template-columns:1fr; }
  .conversation-details > section { padding:13px; }
  .conversation-details h3 { font-size:14px; }.conversation-details header a { font-size:11px; }
  .conversation-details dl div { min-height:47px; padding:9px 0; }
  .conversation-details dt { font-size:10px; }.conversation-details dd { font-size:12px; }
  .conversation-event img { height:160px; }
  .conversation-event > b { font-size:15px; }.conversation-event > span { font-size:11px; }.conversation-event > em { font-size:9px; }
  .detail-tags span { padding:7px 9px; font-size:11px; }
  .add-label { height:42px; font-size:12px; }
  .safety-rule p { font-size:11px; }
}

/* Smart member operations workspace */
.members-admin .admin-main main { padding-bottom:24px; }
.members-head { display:flex; align-items:flex-end; justify-content:space-between; padding:4px 0 10px; }
.members-head h1 { margin:0 0 3px; font-size:20px; }
.members-head p { margin:0; color:#687585; font-size:7px; }
.members-head > div:last-child { display:flex; gap:6px; }
.members-head button { height:25px; padding:0 10px; border:1px solid #d4dce4; border-radius:4px; color:#26354a; background:#fff; font-size:7px; font-weight:700; }
.members-head button:last-child { border-color:#2d7bd7; color:#fff; background:#347fe3; }
.member-metrics { display:grid; grid-template-columns:repeat(5,1fr); gap:7px; }
.member-metrics article { display:grid; grid-template-columns:1fr auto; align-items:end; min-height:53px; padding:8px 9px; border:1px solid #e0e5ea; border-radius:5px; background:#fff; box-shadow:0 1px 2px rgba(26,42,56,.04); }
.member-metrics span { grid-column:1/-1; color:#657282; font-size:6px; font-weight:700; letter-spacing:.04em; }
.member-metrics b { font-size:15px; line-height:1; }
.member-metrics small { justify-self:end; color:#74808d; font-size:6px; }
.member-metrics small.good { color:#16805a; }.member-metrics small.warn { color:#ac6714; }
.member-action-tabs { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-top:8px; }
.member-action-tabs > button { display:flex; align-items:center; gap:8px; min-height:43px; padding:7px 9px; border:1px solid #dce3e9; border-radius:5px; color:#314256; background:#fff; text-align:left; }
.member-action-tabs > button.active { border-color:#5d9dde; box-shadow:inset 0 -2px #347fe3; background:#edf6ff; }
.member-action-tabs i { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; color:#176bad; background:#e7f2ff; font-size:12px; font-style:normal; }
.member-action-tabs span { display:grid; gap:2px; }.member-action-tabs b { font-size:7.5px; }.member-action-tabs small { color:#73808d; font-size:5.5px; }
.members-workspace { display:grid; grid-template-columns:135px minmax(0,1fr) 215px; gap:8px; margin-top:8px; align-items:start; }
.member-segments,.member-directory,.member-operations > div,.member-inspector { border:1px solid #dce3e9; border-radius:5px; background:#fff; box-shadow:0 1px 3px rgba(26,42,56,.05); }
.member-segments { overflow:hidden; }
.member-segments > header { display:flex; align-items:center; justify-content:space-between; height:38px; padding:0 9px; border-bottom:1px solid #e5eaee; background:#f8fafb; }
.member-segments > header div { display:grid; gap:2px; }.member-segments > header b { font-size:7px; }.member-segments > header span { color:#75818d; font-size:5px; }
.member-segments > header button { width:23px; height:23px; border:1px solid #d6dee5; border-radius:4px; background:#fff; font-size:9px; }
.member-segments nav { display:grid; padding:5px; }
.member-segments nav button { display:grid; grid-template-columns:16px minmax(0,1fr) auto; align-items:center; gap:5px; min-height:38px; padding:5px 6px; border:0; border-radius:4px; color:#34465a; background:#fff; text-align:left; }
.member-segments nav button.active { color:#1769ad; background:#eaf4ff; }
.member-segments nav i { font-size:9px; font-style:normal; text-align:center; }.member-segments nav span { display:grid; gap:2px; }
.member-segments nav b { font-size:6.5px; }.member-segments nav small { overflow:hidden; color:#7a8692; font-size:4.8px; white-space:nowrap; text-overflow:ellipsis; }
.member-segments nav em { font-size:5.5px; font-style:normal; font-weight:700; }
.member-segments > section { padding:8px; border-top:1px solid #e6eaee; }
.member-segments h3 { margin:0 0 5px; color:#788492; font-size:5.5px; }
.member-segments > section button { display:flex; justify-content:space-between; width:100%; min-height:24px; padding:5px; border:0; color:#425267; background:#fff; font-size:5.8px; text-align:left; }
.member-segments > section button.active { color:#1769ad; background:#edf6ff; }
.member-segments > section button:last-child { justify-content:center; margin-top:5px; border:1px dashed #ccd6de; border-radius:4px; }
.member-filter-bar { display:grid; grid-template-columns:minmax(120px,1fr) 82px 90px auto; gap:5px; padding:7px; border-bottom:1px solid #e3e8ec; }
.member-filter-bar label { display:flex; align-items:center; gap:5px; height:25px; padding:0 7px; border:1px solid #d8e0e7; border-radius:4px; }
.member-filter-bar label svg { width:10px; color:#687686; }.member-filter-bar input { min-width:0; width:100%; border:0; outline:0; font-size:6px; }
.member-filter-bar select,.member-filter-bar > button { min-width:0; height:25px; padding:0 6px; border:1px solid #d8e0e7; border-radius:4px; color:#48596c; background:#fff; font-size:6px; }
.member-selection-bar { display:flex; align-items:center; min-height:33px; padding:5px 8px; border-bottom:1px solid #e5eaee; background:#f8fafc; font-size:6px; }
.member-selection-bar label { display:flex; align-items:center; gap:5px; }.member-selection-bar input,.member-record > input { width:11px; height:11px; margin:0; accent-color:#347fe3; }
.member-selection-bar > span { margin-left:8px; color:#617081; }.member-selection-bar > div { display:flex; gap:3px; margin-left:auto; }
.member-selection-bar button { height:22px; padding:0 6px; border:1px solid #d5dde4; border-radius:3px; color:#3c5065; background:#fff; font-size:5.5px; }
.member-table { overflow:hidden; }
.member-table-head,.member-record { display:grid; grid-template-columns:13px minmax(150px,1.8fr) 58px 60px 32px 53px 19px; align-items:center; gap:6px; }
.member-table-head { height:27px; padding:0 7px; border-bottom:1px solid #e2e7eb; color:#7b8793; background:#f7f9fa; font-size:5px; font-weight:700; }
.member-record { min-height:60px; padding:7px; border-bottom:1px solid #e9edf0; font-size:6px; }
.member-record.focused { background:#f3f8ff; box-shadow:inset 2px 0 #347fe3; }
.member-record:hover { background:#f8fbff; }
.member-identity { display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:7px; min-width:0; padding:0; border:0; color:#243448; background:transparent; text-align:left; }
.member-identity > img { width:34px; height:34px; border-radius:50%; object-fit:cover; }
.member-identity > span { display:grid; min-width:0; gap:2px; }.member-identity b { overflow:hidden; font-size:7.5px; white-space:nowrap; text-overflow:ellipsis; }
.member-identity small { overflow:hidden; color:#73808d; font-size:5px; white-space:nowrap; text-overflow:ellipsis; }
.member-identity em { display:flex; gap:3px; overflow:hidden; }
.member-identity em i { padding:2px 4px; border-radius:5px; color:#426079; background:#edf3f7; font-size:4.5px; font-style:normal; white-space:nowrap; }
.member-state { justify-self:start; padding:4px 5px; border-radius:3px; color:#167450; background:#e5f7ee; font-size:5px; white-space:nowrap; }
.member-state.needs-review { color:#a26012; background:#fff0dd; }.member-state.inactive { color:#6f7b87; background:#edf0f3; }
.engagement { display:grid; gap:4px; }.engagement b { font-size:5.5px; }.engagement > i { width:100%; height:4px; overflow:hidden; border-radius:3px; background:#e5e9ed; }
.engagement > i em { display:block; height:100%; background:#35ad79; }.engagement.medium > i em { background:#edaa3c; }.engagement.low > i em { background:#db6a74; }
.member-record > button:last-child { width:19px; height:22px; padding:0; border:0; background:transparent; font-size:7px; }
.member-directory-footer { display:flex; align-items:center; justify-content:space-between; height:32px; padding:0 8px; color:#74808c; font-size:5.5px; }
.member-directory-footer div { display:flex; gap:3px; }.member-directory-footer button,.member-directory-footer div b { display:grid; place-items:center; width:18px; height:18px; border:1px solid #d7dfe6; border-radius:3px; background:#fff; font-size:6px; }
.member-directory-footer div b { color:#fff; background:#347fe3; }
.member-operations { display:grid; gap:7px; }
.campaign-tabs { display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden; }
.campaign-tabs button { height:28px; border:0; border-right:1px solid #e1e6eb; color:#687686; background:#f8fafb; font-size:9px; }
.campaign-tabs button.active { color:#1769ad; background:#e9f4ff; box-shadow:inset 0 -2px #347fe3; }
.member-campaign-form { overflow:hidden; border:1px solid #dce3e9; border-radius:5px; background:#fff; }
.member-campaign-form > header { padding:9px; border-bottom:1px solid #e5eaee; }
.member-campaign-form > header span { color:#347bbd; font-size:5px; font-weight:800; letter-spacing:.06em; }
.member-campaign-form h2 { margin:3px 0; font-size:9px; }.member-campaign-form > header p { margin:0; color:#6c7987; font-size:5.5px; line-height:1.4; }
.campaign-audience { display:grid; grid-template-columns:23px 1fr auto; align-items:center; gap:6px; padding:7px 9px; color:#245780; background:#edf6ff; }
.campaign-audience > i { display:grid; place-items:center; width:23px; height:23px; border-radius:50%; color:#fff; background:#347fe3; font-style:normal; }
.campaign-audience > div { display:grid; gap:2px; }.campaign-audience b { font-size:6.5px; }.campaign-audience small { font-size:4.8px; }
.campaign-audience button { border:0; color:#1769ad; background:transparent; font-size:5.5px; }
.campaign-fields { display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:8px; }
.campaign-fields label,.member-inspector > label { display:grid; gap:3px; color:#617081; font-size:5.5px; font-weight:700; }
.campaign-fields label.wide { grid-column:1/-1; }
.campaign-fields input,.campaign-fields select,.campaign-fields textarea,.member-inspector select,.member-inspector textarea { width:100%; min-width:0; padding:6px; border:1px solid #d7dfe6; border-radius:4px; color:#26364a; background:#fff; font-size:6px; resize:vertical; }
.campaign-fields input,.campaign-fields select { height:25px; }
.campaign-safety { display:grid; gap:2px; margin:0 8px 8px; padding:7px; border-radius:4px; color:#25644e; background:#edf8f3; }
.campaign-safety b { font-size:6px; }.campaign-safety span { font-size:4.8px; }
.member-campaign-form > footer { display:flex; justify-content:flex-end; gap:5px; padding:0 8px 8px; }
.member-campaign-form > footer button { height:25px; padding:0 8px; border:1px solid #d4dde4; border-radius:4px; background:#fff; font-size:6px; font-weight:700; }
.member-campaign-form > footer button.primary { border-color:#2d7bd7; color:#fff; background:#347fe3; }
.member-inspector { padding:8px; }
.member-inspector > header { display:flex; align-items:center; justify-content:space-between; padding-bottom:7px; border-bottom:1px solid #e6eaee; }
.member-inspector > header > div { display:flex; align-items:center; gap:6px; }.member-inspector > header img { width:29px; height:29px; border-radius:50%; object-fit:cover; }
.member-inspector > header span { display:grid; gap:2px; }.member-inspector > header b { font-size:7px; }.member-inspector > header small { color:#778390; font-size:5px; }
.member-inspector > header a { color:#1769ad; font-size:5.5px; font-weight:700; }
.inspector-tags { padding:7px 0; }.inspector-tags > b { font-size:5.5px; }.inspector-tags > div { display:flex; flex-wrap:wrap; gap:3px; margin-top:4px; }
.inspector-tags span { padding:4px 5px; border-radius:7px; color:#36516b; background:#edf3f8; font-size:5px; }
.inspector-tags span button { padding:0; border:0; background:transparent; font-size:6px; }.inspector-tags > div > button { border:0; color:#1769ad; background:transparent; font-size:5.5px; }
.member-inspector > label { margin-bottom:7px; }
.member-inspector > footer { display:flex; align-items:center; justify-content:space-between; }
.member-inspector > footer span { color:#7a8692; font-size:4.8px; }.member-inspector > footer button { height:23px; padding:0 7px; border:0; border-radius:4px; color:#fff; background:#347fe3; font-size:5.5px; }

@media (max-width:600px) {
  .members-admin .admin-main main { padding:12px; }
  .members-head { align-items:flex-start; gap:12px; padding:8px 0 14px; }
  .members-head h1 { font-size:27px; }.members-head p { max-width:225px; font-size:12px; line-height:1.4; }
  .members-head > div:last-child { display:grid; }.members-head button { height:40px; font-size:12px; }
  .member-metrics { grid-template-columns:1fr 1fr; gap:8px; }
  .member-metrics article { min-height:82px; padding:12px; }.member-metrics article:last-child { grid-column:1/-1; }
  .member-metrics span { font-size:10px; }.member-metrics b { font-size:23px; }.member-metrics small { font-size:10px; }
  .member-action-tabs { grid-template-columns:1fr 1fr; gap:8px; }
  .member-action-tabs > button { min-height:66px; padding:10px; }.member-action-tabs i { width:38px; height:38px; font-size:17px; }
  .member-action-tabs b { font-size:13px; }.member-action-tabs small { font-size:10px; }
  .members-workspace { grid-template-columns:1fr; gap:10px; }
  .member-segments > header { height:50px; padding:0 12px; }.member-segments > header b { font-size:13px; }.member-segments > header span { font-size:10px; }
  .member-segments > header button { width:36px; height:36px; font-size:15px; }
  .member-segments nav { grid-template-columns:1fr 1fr; gap:4px; padding:8px; }
  .member-segments nav button { min-height:58px; padding:8px; }.member-segments nav i { font-size:15px; }
  .member-segments nav b { font-size:12px; }.member-segments nav small { font-size:9px; }.member-segments nav em { font-size:10px; }
  .member-segments > section { padding:12px; }.member-segments h3 { font-size:10px; }.member-segments > section button { min-height:38px; font-size:11px; }
  .member-filter-bar { grid-template-columns:1fr 1fr; gap:8px; padding:10px; }
  .member-filter-bar label { grid-column:1/-1; height:42px; }.member-filter-bar label svg { width:16px; }.member-filter-bar input { font-size:12px; }
  .member-filter-bar select,.member-filter-bar > button { height:42px; font-size:11px; }
  .member-selection-bar { flex-wrap:wrap; gap:9px; min-height:86px; padding:10px; font-size:12px; }
  .member-selection-bar input,.member-record > input { width:17px; height:17px; }
  .member-selection-bar > div { width:100%; margin:0; }.member-selection-bar button { flex:1; height:38px; font-size:11px; }
  .member-table-head { display:none; }
  .member-record { grid-template-columns:18px minmax(0,1fr) auto; gap:9px; min-height:115px; padding:11px; font-size:11px; }
  .member-identity { grid-template-columns:48px minmax(0,1fr); }.member-identity > img { width:48px; height:48px; }
  .member-identity b { font-size:14px; }.member-identity small { font-size:10px; }.member-identity em i { padding:4px 6px; font-size:9px; }
  .member-state { padding:5px 7px; font-size:9px; }
  .engagement { grid-column:2; width:100px; }.engagement b { font-size:10px; }
  .member-record > b { grid-column:2; }.member-record > span:not(.member-state):not(.engagement) { grid-column:2; }
  .member-record > button:last-child { grid-column:3; grid-row:2; width:34px; height:34px; font-size:12px; }
  .member-directory-footer { height:48px; padding:0 11px; font-size:10px; }.member-directory-footer button,.member-directory-footer div b { width:28px; height:28px; font-size:11px; }
  .member-operations { grid-row:auto; }
  .campaign-tabs button { height:43px; font-size:15px; }
  .member-campaign-form > header { padding:13px; }.member-campaign-form > header span { font-size:9px; }.member-campaign-form h2 { font-size:17px; }.member-campaign-form > header p { font-size:11px; }
  .campaign-audience { grid-template-columns:36px 1fr auto; gap:9px; padding:11px 13px; }.campaign-audience > i { width:36px; height:36px; }
  .campaign-audience b { font-size:12px; }.campaign-audience small { font-size:9px; }.campaign-audience button { font-size:11px; }
  .campaign-fields { grid-template-columns:1fr; gap:9px; padding:12px; }.campaign-fields label.wide { grid-column:auto; }
  .campaign-fields label,.member-inspector > label { font-size:11px; }.campaign-fields input,.campaign-fields select,.campaign-fields textarea,.member-inspector select,.member-inspector textarea { min-height:43px; padding:10px; font-size:12px; }
  .campaign-safety { margin:0 12px 12px; padding:11px; }.campaign-safety b { font-size:12px; }.campaign-safety span { font-size:10px; }
  .member-campaign-form > footer { padding:0 12px 12px; }.member-campaign-form > footer button { flex:1; height:43px; font-size:12px; }
  .member-inspector { padding:12px; }.member-inspector > header img { width:44px; height:44px; }.member-inspector > header b { font-size:13px; }.member-inspector > header small,.member-inspector > header a { font-size:10px; }
  .inspector-tags { padding:11px 0; }.inspector-tags > b { font-size:11px; }.inspector-tags span { padding:7px 9px; font-size:10px; }.inspector-tags > div > button { font-size:11px; }
  .member-inspector > footer span { font-size:9px; }.member-inspector > footer button { height:40px; font-size:11px; }
}

/* Match the apparent desktop scale of registrations on dense members/messages pages. */
@media (min-width:1200px) {
  .members-head p,.messages-head p { font-size:8px; }
  .member-metrics span,.message-metrics span { font-size:7px; }
  .member-metrics small,.message-metrics small { font-size:7px; }
  .member-action-tabs b { font-size:8.5px; }
  .member-action-tabs small { font-size:6.5px; }
  .member-segments > header b,.conversation-list > header b { font-size:8px; }
  .member-segments > header span,.conversation-list > header span { font-size:6.5px; }
  .member-segments nav button { min-height:42px; }
  .member-segments nav b { font-size:7.5px; }
  .member-segments nav small { font-size:6px; }
  .member-segments nav em,.member-segments > section button { font-size:6.5px; }
  .member-segments h3 { font-size:6.5px; }
  .member-filter-bar input,.member-filter-bar select,.member-filter-bar > button { font-size:7px; }
  .member-selection-bar { font-size:7px; }
  .member-selection-bar button { height:24px; font-size:6.5px; }
  .member-table-head { font-size:6px; }
  .member-record { min-height:65px; font-size:7px; }
  .member-identity b { font-size:8.5px; }
  .member-identity small { font-size:6px; }
  .member-identity em i,.member-state { font-size:5.5px; }
  .engagement b { font-size:6.5px; }
  .member-directory-footer { font-size:6.5px; }
  .member-campaign-form > header span { font-size:6px; }
  .member-campaign-form h2 { font-size:10px; }
  .member-campaign-form > header p { font-size:6.5px; }
  .campaign-audience b { font-size:7.5px; }
  .campaign-audience small { font-size:5.8px; }
  .campaign-audience button { font-size:6.5px; }
  .campaign-fields label,.member-inspector > label { font-size:6.5px; }
  .campaign-fields input,.campaign-fields select,.campaign-fields textarea,.member-inspector select,.member-inspector textarea { font-size:7px; }
  .campaign-safety b { font-size:7px; }
  .campaign-safety span { font-size:5.8px; }
  .member-campaign-form > footer button { height:27px; font-size:7px; }
  .member-inspector > header b { font-size:8px; }
  .member-inspector > header small,.member-inspector > header a { font-size:6px; }
  .inspector-tags > b,.inspector-tags > div > button,.member-inspector > footer button { font-size:6.5px; }
  .inspector-tags span { font-size:6px; }
  .member-inspector > footer span { font-size:5.8px; }

  .smart-messages-layout { grid-template-columns:230px minmax(0,1fr); }
  .conversation-item { min-height:90px; }
  .conversation-item > span > b { font-size:9px; }
  .conversation-item em { font-size:5.5px; }
  .conversation-item strong { font-size:7.5px; }
  .conversation-item small { font-size:6.5px; }
  .conversation-item i,.conversation-item time { font-size:6px; }
  .conversation-list > footer { font-size:6.5px; }
  .conversation-head h2 { font-size:13px; }
  .conversation-head h2 span { font-size:6px; }
  .conversation-head p,.conversation-head > a,.conversation-head > button { font-size:7px; }
  .conversation-content { grid-template-columns:minmax(0,1fr) 165px; }
  .thread-heading b { font-size:10px; }
  .thread-heading span,.thread-heading button { font-size:6.5px; }
  .smart-context-note b { font-size:8px; }
  .smart-context-note p span,.smart-context-note > strong { font-size:6.5px; }
  .thread-date { font-size:6px; }
  .message-bubble > span,.message-bubble div > span { font-size:6.5px; }
  .message-bubble p { font-size:8px; }
  .message-bubble time { font-size:6px; }
  .conversation-reply > header b { font-size:8px; }
  .conversation-reply > header span,.conversation-reply > header button { font-size:6.5px; }
  .reply-templates button { height:22px; font-size:6.5px; }
  .conversation-reply textarea { min-height:82px; font-size:8px; }
  .conversation-reply > footer span { font-size:6.5px; }
  .conversation-reply > footer > button { height:28px; font-size:7.5px; }
  .conversation-details h3 { font-size:8.5px; }
  .conversation-details header a { font-size:6.5px; }
  .conversation-details dt { font-size:6px; }
  .conversation-details dd { font-size:7px; }
  .conversation-event > b { font-size:9px; }
  .conversation-event > span { font-size:6.5px; }
  .conversation-event > em,.detail-tags span { font-size:6px; }
  .add-label { height:25px; font-size:7px; }
  .safety-rule p { font-size:6.5px; }
}

/* Admin event index */
.events-admin .admin-main main { padding-bottom:24px; }
.events-index-head { display:flex; align-items:flex-end; justify-content:space-between; padding:4px 0 10px; }
.events-index-head h1 { margin:0 0 3px; font-size:20px; }
.events-index-head p { margin:0; color:#687585; font-size:8px; }
.events-index-head > div:last-child { display:flex; gap:6px; }
.events-index-head button { height:27px; padding:0 10px; border:1px solid #d4dce4; border-radius:4px; color:#26354a; background:#fff; font-size:7px; font-weight:700; }
.events-index-head button:last-child { border-color:#2d7bd7; color:#fff; background:#347fe3; }
.events-index-metrics { display:grid; grid-template-columns:repeat(5,1fr); gap:7px; }
.events-index-metrics article { display:grid; grid-template-columns:1fr auto; align-items:end; min-height:56px; padding:9px; border:1px solid #e0e5ea; border-radius:5px; background:#fff; box-shadow:0 1px 2px rgba(26,42,56,.04); }
.events-index-metrics span { grid-column:1/-1; color:#657282; font-size:7px; font-weight:700; letter-spacing:.04em; }
.events-index-metrics b { font-size:16px; line-height:1; }
.events-index-metrics small { justify-self:end; color:#74808d; font-size:7px; }
.events-index-metrics small.good { color:#16805a; }.events-index-metrics small.warn { color:#ad6815; }
.event-index-toolbar { display:flex; align-items:center; gap:6px; min-height:43px; margin-top:8px; padding:7px 8px; border:1px solid #dce3e9; border-radius:5px; background:#fff; }
.event-status-filters { display:flex; gap:3px; }
.event-status-filters button { display:flex; align-items:center; gap:5px; height:27px; padding:0 8px; border:0; border-radius:4px; color:#566475; background:transparent; font-size:7px; }
.event-status-filters button b { display:grid; place-items:center; min-width:16px; height:16px; padding:0 3px; border-radius:8px; background:#edf1f5; font-size:6px; }
.event-status-filters button.active { color:#1767b2; background:#e9f3ff; font-weight:700; }
.event-status-filters button.active b { color:#fff; background:#347fe3; }
.event-index-toolbar > label { display:flex; align-items:center; gap:5px; width:125px; height:27px; margin-left:auto; padding:0 7px; border:1px solid #d9e1e7; border-radius:4px; }
.event-index-toolbar label svg { width:10px; color:#687686; }.event-index-toolbar input { min-width:0; width:100%; border:0; outline:0; font-size:7px; }
.event-index-toolbar select { height:27px; padding:0 18px 0 7px; border:1px solid #d9e1e7; border-radius:4px; color:#48596c; background:#fff; font-size:7px; }
.event-index-viewbar { display:flex; align-items:center; justify-content:space-between; min-height:31px; color:#6e7b88; font-size:7px; }
.event-index-viewbar div { display:flex; gap:3px; }
.event-index-viewbar button { width:25px; height:23px; border:1px solid #d7dfe6; border-radius:3px; color:#687686; background:#fff; }
.event-index-viewbar button.active { color:#1769ad; background:#e9f4ff; }
.admin-event-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.admin-event-card { position:relative; overflow:hidden; border:1px solid #dce3e9; border-radius:6px; background:#fff; box-shadow:0 2px 5px rgba(25,42,57,.06); transition:transform .15s ease,box-shadow .15s ease; }
.admin-event-card:hover { transform:translateY(-2px); box-shadow:0 6px 16px rgba(25,42,57,.12); }
.admin-event-card > a { display:block; }
.event-status-control { position:absolute; z-index:4; top:7px; left:7px; display:grid; gap:2px; padding:4px 5px; border-radius:4px; color:#fff; background:rgba(12,26,39,.72); backdrop-filter:blur(5px); }
.event-status-control > span { font-size:4.5px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.event-status-control select { height:18px; max-width:103px; padding:0 16px 0 5px; border:0; border-radius:3px; color:#fff; background:#2b9b70; font-size:5.5px; font-weight:800; outline:0; }
.event-status-control select.draft { background:#687584; }.event-status-control select.planning { background:#a36b1e; }.event-status-control select.published { background:#7256b5; }.event-status-control select.open { background:#277cb8; }.event-status-control select.forming { background:#3b7ec8; }.event-status-control select.organising { background:#2b9b70; }.event-status-control select.confirmed { background:#236b54; }.event-status-control select.completed { background:#465667; }
.admin-event-image { position:relative; height:102px; overflow:hidden; }
.admin-event-image > img { width:100%; height:100%; object-fit:cover; }
.admin-event-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,18,28,.05),rgba(8,18,28,.56)); }
.admin-event-image > span,.admin-event-image > em,.admin-event-image > i { position:absolute; z-index:1; top:8px; padding:4px 6px; border-radius:3px; color:#fff; font-size:6px; font-style:normal; font-weight:700; }
.admin-event-image > span { left:8px; background:#2b9b70; }.admin-event-image > span.forming { background:#3b7ec8; }.admin-event-image > span.confirmed { background:#236b54; }.admin-event-image > span.open { background:#277cb8; }.admin-event-image > span.draft { background:#687584; }.admin-event-image > span.planning { background:#a36b1e; }
.admin-event-image > em { right:8px; color:#e8eef3; background:rgba(13,27,40,.62); font-weight:500; }
.admin-event-image > i { top:auto; right:8px; bottom:8px; background:#e75260; }
.admin-event-card > a > header { display:flex; align-items:center; justify-content:space-between; padding:9px 10px 7px; }
.admin-event-card h2 { margin:0 0 3px; font-size:12px; }
.admin-event-card header p { margin:0; color:#667483; font-size:6.5px; }
.admin-event-card header > strong { color:#9aa3ad; font-size:18px; }
.event-card-readiness { padding:0 10px 8px; }
.event-card-readiness > div { display:flex; justify-content:space-between; margin-bottom:4px; font-size:6.5px; }
.event-card-readiness > i { display:block; height:5px; overflow:hidden; border-radius:4px; background:#e5e9ed; }
.event-card-readiness > i em { display:block; height:100%; border-radius:4px; background:linear-gradient(90deg,#398ce8,#35b581); }
.event-card-stats { display:grid; grid-template-columns:1fr 1fr .8fr; border-block:1px solid #e8ecef; background:#f9fafb; }
.event-card-stats > span { display:grid; gap:3px; min-height:55px; padding:8px; border-right:1px solid #e8ecef; }
.event-card-stats > span:last-child { border:0; }
.event-card-stats small { color:#7b8793; font-size:5.5px; font-weight:700; }
.event-card-stats b { font-size:9px; }.event-card-stats b.attention { color:#c33c4e; }
.event-card-stats em { color:#6e7b88; font-size:5.5px; font-style:normal; }
.event-participant-progress { padding:6px 10px 5px; border-bottom:1px solid #e8ecef; }
.event-participant-progress > header { display:flex; align-items:center; justify-content:space-between; margin-bottom:3px; }
.event-participant-progress > header b { font-size:7px; }.event-participant-progress > header span { color:#73808d; font-size:5.5px; }
.tier-legend { display:flex; align-items:center; gap:3px; }
.tier-legend i { width:6px; height:6px; border-radius:2px; }
.tier-legend i.minimum { background:#35ad79; }.tier-legend i.additional { background:#ef9f32; }.tier-legend i.waiting { background:#df5969; }
.event-participant-progress > div { display:grid; grid-template-columns:48px minmax(0,1fr) 20px 27px; align-items:center; gap:5px; min-height:15px; font-size:6px; }
.event-participant-progress > div > span { color:#435468; font-weight:650; }
.event-participant-progress > div > i { height:6px; overflow:hidden; border-radius:4px; background:#e6e9ed; }
.event-participant-progress > div > i em { display:block; float:left; height:100%; }
.event-participant-progress em.minimum { background:#35ad79; }.event-participant-progress em.additional { background:#ef9f32; }.event-participant-progress em.waiting { background:#df5969; }
.event-participant-progress > div > b { font-size:6.5px; text-align:right; }
.event-participant-progress > div > small { color:#7b8793; font-size:5px; text-align:right; }
.admin-event-card dl { margin:0; padding:6px 10px; }
.admin-event-card dl > div { display:grid; grid-template-columns:62px 1fr; min-height:22px; align-items:center; border-bottom:1px solid #edf0f2; font-size:6px; }
.admin-event-card dl > div:last-child { border:0; }
.admin-event-card dt { color:#7a8692; }.admin-event-card dd { margin:0; color:#35465a; font-weight:650; }
.admin-event-card footer { display:flex; align-items:center; justify-content:space-between; min-height:44px; padding:7px 10px; border-top:1px solid #e5eaee; background:#f6faff; }
.admin-event-card footer > div { display:grid; gap:2px; }
.admin-event-card footer span { color:#3474af; font-size:5px; font-weight:800; letter-spacing:.04em; }
.admin-event-card footer b { font-size:7px; }
.admin-event-card footer > strong { color:#1769ad; font-size:6px; }
.events-index-footer { display:flex; align-items:center; justify-content:space-between; min-height:38px; color:#74808c; font-size:6.5px; }
.events-index-footer div { display:flex; gap:3px; }.events-index-footer button,.events-index-footer div b { display:grid; place-items:center; width:21px; height:21px; border:1px solid #d7dfe6; border-radius:3px; background:#fff; font-size:7px; }
.events-index-footer div b { color:#fff; background:#347fe3; }

@media (max-width:600px) {
  .events-admin .admin-main main { padding:12px; }
  .events-index-head { align-items:flex-start; gap:12px; padding:8px 0 14px; }
  .events-index-head h1 { font-size:27px; }.events-index-head p { max-width:220px; font-size:12px; line-height:1.4; }
  .events-index-head > div:last-child { display:grid; }.events-index-head button { height:40px; padding:0 9px; font-size:11px; }
  .events-index-metrics { grid-template-columns:1fr 1fr; gap:8px; }
  .events-index-metrics article { min-height:82px; padding:12px; }.events-index-metrics article:last-child { grid-column:1/-1; }
  .events-index-metrics span { font-size:10px; }.events-index-metrics b { font-size:23px; }.events-index-metrics small { font-size:10px; }
  .event-index-toolbar { flex-wrap:wrap; gap:8px; padding:10px; }
  .event-status-filters { width:100%; overflow-x:auto; }
  .event-status-filters button { flex:0 0 auto; height:38px; padding:0 11px; font-size:12px; }
  .event-status-filters button b { min-width:20px; height:20px; font-size:10px; }
  .event-index-toolbar > label { width:100%; height:42px; margin:0; }.event-index-toolbar label svg { width:16px; }.event-index-toolbar input { font-size:12px; }
  .event-index-toolbar select { flex:1; height:42px; font-size:11px; }
  .event-index-viewbar { min-height:45px; font-size:11px; }.event-index-viewbar button { width:38px; height:35px; font-size:15px; }
  .admin-event-card-grid { grid-template-columns:1fr; gap:10px; }
  .admin-event-image { height:190px; }
  .event-status-control { top:11px; left:11px; gap:3px; padding:6px 7px; }
  .event-status-control > span { font-size:8px; }
  .event-status-control select { height:36px; max-width:165px; padding:0 28px 0 9px; font-size:11px; }
  .admin-event-image > span,.admin-event-image > em,.admin-event-image > i { top:12px; padding:6px 8px; font-size:10px; }
  .admin-event-image > span { left:12px; }.admin-event-image > em { right:12px; }.admin-event-image > i { top:auto; right:12px; bottom:12px; }
  .admin-event-card > a > header { padding:13px; }.admin-event-card h2 { font-size:20px; }.admin-event-card header p { font-size:11px; }
  .event-card-readiness { padding:0 13px 12px; }.event-card-readiness > div { font-size:12px; }.event-card-readiness > i { height:7px; }
  .event-card-stats > span { min-height:78px; padding:12px; }.event-card-stats small { font-size:9px; }.event-card-stats b { font-size:15px; }.event-card-stats em { font-size:9px; }
  .event-participant-progress { padding:10px 13px 8px; }
  .event-participant-progress > header { margin-bottom:5px; }.event-participant-progress > header b { font-size:13px; }.event-participant-progress > header span { font-size:10px; }
  .tier-legend i { width:10px; height:10px; }
  .event-participant-progress > div { grid-template-columns:82px minmax(0,1fr) 35px 42px; gap:8px; min-height:26px; font-size:12px; }
  .event-participant-progress > div > i { height:8px; }.event-participant-progress > div > b { font-size:12px; }.event-participant-progress > div > small { font-size:10px; }
  .admin-event-card dl { padding:8px 13px; }.admin-event-card dl > div { grid-template-columns:100px 1fr; min-height:39px; font-size:11px; }
  .admin-event-card footer { min-height:65px; padding:11px 13px; }.admin-event-card footer span { font-size:9px; }.admin-event-card footer b { font-size:13px; }.admin-event-card footer > strong { font-size:11px; }
  .events-index-footer { min-height:52px; font-size:10px; }.events-index-footer button,.events-index-footer div b { width:30px; height:30px; font-size:11px; }
}

/* Full public-page event editor. The normal member URL receives none of these controls. */
.event-editor-page { min-height:100vh; color:#1f2d3d; background:#dfe4e9; font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.event-editor-toolbar { position:fixed; z-index:200; top:0; left:0; right:0; display:flex; align-items:center; gap:10px; height:52px; padding:0 14px; color:#dce5ed; background:#142131; box-shadow:0 2px 12px rgba(9,20,31,.28); }
.event-editor-toolbar > a:first-child { padding-right:12px; border-right:1px solid rgba(255,255,255,.15); font-size:11px; font-weight:700; }
.event-editor-toolbar > div { display:grid; gap:2px; min-width:190px; }
.event-editor-toolbar > div b { color:#fff; font-size:11px; }.event-editor-toolbar > div span { color:#b8c5d1; font-size:8px; }
.event-editor-toolbar > div span i { display:inline-block; width:6px; height:6px; margin-right:4px; border-radius:50%; background:#efa43b; }
.event-editor-toolbar nav { display:flex; gap:3px; margin-left:auto; padding:3px; border-radius:5px; background:#0d1925; }
.event-editor-toolbar button,.event-editor-toolbar .view-member-site { height:32px; padding:0 11px; border:1px solid rgba(255,255,255,.17); border-radius:4px; color:#e8eef4; background:#203244; font-size:9px; font-weight:700; }
.event-editor-toolbar nav button { height:26px; padding:0 8px; border:0; background:transparent; }
.event-editor-toolbar nav button.active { color:#fff; background:#34516d; }
.event-editor-toolbar .view-member-site { display:flex; align-items:center; }
.event-editor-toolbar button.publish { border-color:#2e9b70; color:#fff; background:#258b64; }
.event-editor-panel { position:fixed; z-index:180; top:52px; right:0; bottom:0; display:flex; flex-direction:column; width:280px; border-left:1px solid #cbd4dc; background:#fff; box-shadow:-5px 0 18px rgba(20,37,52,.12); transition:transform .2s ease; }
.event-editor-panel > header { display:flex; align-items:center; justify-content:space-between; min-height:66px; padding:12px 14px; border-bottom:1px solid #e0e5ea; }
.event-editor-panel > header div { display:grid; gap:3px; }.event-editor-panel > header span { color:#3478b6; font-size:8px; font-weight:800; letter-spacing:.06em; }
.event-editor-panel > header h2 { margin:0; font-size:18px; }.event-editor-panel > header button { width:30px; height:30px; border:1px solid #d7dfe6; border-radius:4px; background:#fff; }
.event-editor-panel > nav { display:grid; grid-template-columns:repeat(3,1fr); height:40px; border-bottom:1px solid #e0e5ea; }
.event-editor-panel > nav button { border:0; border-bottom:2px solid transparent; color:#667483; background:#fafbfc; font-size:10px; }
.event-editor-panel > nav button.active { border-color:#347fe3; color:#1769ad; background:#fff; font-weight:700; }
.event-editor-panel > footer { flex-shrink:0; }
.editor-panel-panels { flex:1; min-height:0; display:flex; flex-direction:column; overflow:hidden; }
.editor-panel-content { flex:1; min-height:0; overflow-x:hidden; overflow-y:auto; padding:13px; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
.editor-panel-content[hidden] { display:none !important; }
.editor-panel-content > label,.editor-panel-content section > label { display:grid; gap:5px; margin-bottom:10px; color:#5d6c7b; font-size:9px; font-weight:700; }
.editor-panel-content input,.editor-panel-content select { width:100%; height:37px; padding:0 9px; border:1px solid #d5dde4; border-radius:5px; color:#26364a; background:#fff; font-size:10px; }
.editor-panel-content input[type="range"] { height:20px; padding:0; accent-color:#347fe3; }
.editor-panel-content > section { margin-top:14px; padding-top:13px; border-top:1px solid #e1e6ea; }
.editor-panel-content .editor-help { margin:0 0 10px; color:#7a8794; font-size:9px; line-height:1.45; font-weight:500; }
.editor-background-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:10px; }
.editor-background-option { display:grid; gap:5px; padding:6px; border:1px solid #d5dde4; border-radius:6px; background:#fff; text-align:left; }
.editor-background-option.active { border-color:#347fe3; box-shadow:0 0 0 1px #347fe3; }
.editor-background-option span { display:block; height:34px; border-radius:4px; border:1px solid rgba(20,37,52,.08); }
.editor-background-option small { color:#4b5c6d; font-size:8px; font-weight:700; }
.editor-background-upload { width:100%; height:32px; border:1px dashed #9eb6cc; border-radius:5px; color:#1769ad; background:#f4f9ff; font-size:9px; font-weight:700; }
.editor-background-motion { margin-top:14px; padding-top:13px; border-top:1px solid #e1e6ea; }
.editor-background-motion > header { margin-bottom:10px; font-size:10px; }
.editor-card-transparency { margin-top:14px; padding-top:13px; border-top:1px solid #e1e6ea; }
.editor-card-transparency > header { margin-bottom:10px; font-size:10px; }
.editor-card-transparency label { display:grid; gap:6px; margin-bottom:10px; font-size:9px; font-weight:700; color:#243447; }
.editor-card-transparency label small { font-weight:500; color:#5c6d7d; line-height:1.35; }
.editor-toggle-row { grid-template-columns:auto 1fr; align-items:start; column-gap:8px; }
.editor-toggle-row input { margin-top:2px; }
.editor-inline-action { height:28px; margin-right:8px; padding:0 10px; border:1px solid #bcd4e9; border-radius:4px; color:#1769ad; background:#edf6ff; font-size:9px; font-weight:700; }
.editor-config-dialog { width:min(560px,calc(100vw - 32px)); max-height:calc(100vh - 48px); padding:0; border:0; border-radius:10px; box-shadow:0 18px 60px rgba(12,24,38,.28); }
.editor-config-dialog::backdrop { background:rgba(8,14,22,.45); }
.editor-config-shell { display:grid; max-height:calc(100vh - 48px); }
.editor-config-shell > header { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid #dfe5ea; }
.editor-config-shell > header h2 { margin:0; font-size:16px; }
.editor-config-shell > header button { width:32px; height:32px; border:1px solid #d7dfe6; border-radius:4px; background:#fff; }
#editor-config-body { overflow:auto; padding:14px 16px 18px; }
.editor-config-form fieldset { margin:0 0 14px; padding:12px; border:1px solid #e1e6ea; border-radius:8px; }
.editor-config-form label { display:grid; gap:5px; margin:0 0 10px; font-size:9px; font-weight:700; color:#5d6c7b; }
.editor-config-form input,.editor-config-form select { height:36px; padding:0 9px; border:1px solid #d5dde4; border-radius:5px; font-size:10px; }
.editor-config-row { display:grid; gap:10px; margin:0 0 12px; padding:12px; border:1px solid #e1e6ea; border-radius:8px; background:#fafbfc; }
.editor-config-row b { font-size:12px; }
.editor-config-row span,.editor-config-row em { display:block; color:#667483; font-size:9px; font-style:normal; }
.editor-config-inline { display:grid; gap:8px; }
.editor-config-actions { display:flex; flex-wrap:wrap; gap:6px; }
.editor-config-chip { height:26px; padding:0 8px; border:1px solid #cfd8e0; border-radius:4px; background:#fff; font-size:8px; font-weight:700; }
.editor-config-chip.danger { color:#a33; border-color:#e6bcbc; }
.editor-panel-content section > header { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; font-size:10px; }
.editor-panel-content section > header button { height:27px; padding:0 8px; border:1px solid #bcd4e9; border-radius:4px; color:#1769ad; background:#edf6ff; font-size:8px; }
.editor-page-map { display:grid; gap:5px; }
.editor-page-map > b { margin-bottom:4px; font-size:10px; }
.editor-page-map a { display:flex; align-items:center; justify-content:space-between; min-height:34px; padding:0 8px; border:1px solid #e0e5e9; border-radius:4px; color:#405166; background:#fafbfc; font-size:9px; }
.editor-page-map a span { color:#23815d; font-size:8px; }
.editor-page-map > button { height:34px; border:1px dashed #b9c5cf; border-radius:4px; color:#1769ad; background:#fff; font-size:9px; }
.event-editor-panel > footer { display:grid; gap:2px; padding:10px 13px; border-top:1px solid #dfe5e9; color:#768390; background:#f8fafb; font-size:8px; }
.event-editor-panel > footer b { color:#3f5063; }
.event-editor-canvas { min-height:100vh; margin-right:280px; padding-top:52px; overflow-x:hidden; overflow-y:auto; transition:margin .2s ease; }
.event-editor-canvas > .member-page { transform-origin:top center; transition:width .2s ease,transform .2s ease; }
.event-editor-page.panel-collapsed .event-editor-panel { transform:translateX(100%); }
.event-editor-page.panel-collapsed .event-editor-canvas { margin-right:0; }
.event-editor-canvas.preview-tablet > .member-page { width:820px; margin:auto; box-shadow:0 0 0 1px #b8c2cb,0 10px 30px rgba(20,36,50,.18); }
.event-editor-canvas.preview-mobile > .member-page { width:390px; margin:auto; box-shadow:0 0 0 1px #b8c2cb,0 10px 30px rgba(20,36,50,.2); }
.member-page-editing [contenteditable="true"] { position:relative; border-radius:4px; outline:1px dashed rgba(72,158,234,.55); outline-offset:3px; cursor:text; transition:background .15s ease,outline .15s ease; }
.member-page-editing [contenteditable="true"]:hover,.member-page-editing [contenteditable="true"]:focus { outline:2px solid #489eea; background:rgba(49,126,194,.16); }
.member-page-editing .hero-overlay { position:absolute; z-index:1; inset:0; pointer-events:none; }
.editor-image-button { position:absolute; z-index:8; height:34px; padding:0 11px; border:1px solid rgba(255,255,255,.5); border-radius:5px; color:#fff; background:rgba(14,27,40,.72); backdrop-filter:blur(7px); font-size:10px; font-weight:700; }
.hero-image-edit { top:58px; right:18px; }
.member-page-editing .editable-gallery-image { position:relative; flex:0 0 128px; overflow:hidden; border:1px solid rgba(240,184,86,.72); border-radius:8px; }
.member-page-editing .editable-gallery-image img { width:100%; height:100%; object-fit:cover; }
.member-page-editing .editable-gallery-image button { position:absolute; top:4px; right:4px; display:grid; place-items:center; width:24px; height:24px; padding:0; border:1px solid rgba(255,255,255,.55); border-radius:50%; color:#fff; background:rgba(10,20,30,.7); }
.editor-section-target { position:relative; }
.editor-section-button { position:absolute; z-index:20; top:8px; right:8px; height:28px; padding:0 9px; border:1px solid #a9ccea; border-radius:4px; color:#1769ad; background:#edf6ff; box-shadow:0 2px 8px rgba(26,58,84,.12); font-size:8px; font-weight:700; }
.editor-toast { position:fixed; z-index:250; right:300px; bottom:18px; max-width:440px; padding:12px 16px; border-left:4px solid #347fe3; border-radius:5px; color:#26384b; background:#fff; box-shadow:0 12px 34px rgba(18,34,49,.24); font-size:10px; font-weight:700; }

@media (max-width:900px) {
  .event-editor-toolbar { position:relative; flex-wrap:wrap; height:auto; min-height:104px; padding:9px; }
  .event-editor-toolbar > div { min-width:140px; }.event-editor-toolbar nav { order:3; width:100%; margin:0; }
  .event-editor-toolbar nav button { flex:1; }
  .event-editor-panel { position:relative; top:auto; width:100%; max-height:none; border-left:0; }
  .event-editor-panel > header { min-height:58px; }
  .editor-panel-panels { overflow:visible; }
  .editor-panel-content { display:grid; grid-template-columns:1fr 1fr; gap:0 10px; overflow:visible; min-height:auto; }
  .editor-panel-content > section { grid-column:1/-1; }
  .event-editor-canvas,.event-editor-page.panel-collapsed .event-editor-canvas { margin-right:0; padding-top:0; }
  .event-editor-page.panel-collapsed .event-editor-panel { display:none; }
  .event-editor-canvas.preview-tablet > .member-page,.event-editor-canvas.preview-mobile > .member-page { width:100%; }
  .editor-toast { right:12px; bottom:12px; left:12px; }
}

/* Account pages reuse the public menu at the same unscaled size. */
.member-account-header {
  background: linear-gradient(rgba(8,5,4,.55), rgba(8,5,4,.55)), var(--hero) center 42% / cover;
}
.member-dashboard .member-profile-hero,
.member-profile-page .member-profile-hero { height:154px; }
@media (max-width: 619px) {
  .member-dashboard .member-profile-hero,
  .member-profile-page .member-profile-hero { height:auto; min-height:330px; }
}
/* Connected account content uses the existing member layout and menu. */
.connected-account-main { display:grid; gap:12px; margin-top:12px; font-size:11px; }
.connected-account-main .content-card { padding:18px; }
.connected-account-main h2 { font-size:17px; }
.connected-account-main h3 { margin:0 0 6px; }
.connected-account-main dl > div { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid var(--line); }
.connected-account-main form { display:grid; gap:10px; margin:12px 0; }
.connected-account-main input,.connected-account-main textarea { max-width:100%; }
.connected-account-main label { display:flex; gap:8px; align-items:center; }
.connected-account-main button { padding:8px 12px; border:1px solid var(--line); border-radius:6px; background:var(--ivory); }
.connected-account .member-stats { grid-template-columns:repeat(3,1fr); }
.account-initials { display:grid; place-items:center; color:#fff; background:#6e5032; font-size:36px; }
.account-live-event { display:flex; gap:15px; margin:12px 0; }
.account-live-event > img { width:110px; height:85px; border-radius:6px; object-fit:cover; }
.account-live-event p { margin:6px 0; }
.account-profile-fields { display:grid; gap:12px; grid-template-columns:1fr 1fr; }
.account-profile-fields label { display:grid; gap:5px; }
.account-profile-fields input,.account-profile-fields textarea { width:100%; padding:10px; border:1px solid var(--line); border-radius:6px; }
#profile-edit-dialog { width:min(600px,calc(100% - 32px)); padding:24px; border:0; border-radius:12px; }
@media(max-width:619px){.connected-account-main { font-size:14px; }.account-profile-fields{grid-template-columns:1fr;}.connected-account .member-stats article{padding:12px;}.connected-account .member-stats b{font-size:22px;}}
@media (max-width:619px) {
  .member-nav { height:auto; min-height:58px; flex-wrap:wrap; gap:8px; padding-top:8px; padding-bottom:8px; }
  .member-nav .nav-tools { flex-wrap:wrap; }
}
#event-gallery-dialog { width:min(1000px,calc(100% - 32px)); max-height:90vh; padding:24px; border:0; border-radius:12px; }
.event-gallery-images { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.event-gallery-images img { width:100%; border-radius:8px; }

/* Keep the single-event content inside the mobile viewport. */
@media(max-width:760px){
  .member-page .hero-content{grid-template-columns:minmax(0,1fr)}
  .member-page .hero-main,.member-page .status-card{min-width:0;width:100%;max-width:100%}
  .member-page .hero-main h1{overflow-wrap:anywhere}
  .member-page .hero-gallery{min-width:0;max-width:100%}
  .member-page .event-meta{min-width:0;gap:12px}
  .member-page .event-meta>span{min-width:0}
  .member-page .event-meta b{overflow-wrap:anywhere}
  .member-page .vote-panel{height:auto;min-height:0}
  .member-page .vote-panel>.venue-options{display:flex;height:auto;min-height:0;align-items:stretch}
  .member-page .venue-option{flex:0 0 180px;min-width:180px}
}
.member-page .hero-main,.member-page .status-card{min-width:0}
.restored-member-account .account-panel-empty{padding:12px;color:#746e67;font-size:8px}
.restored-member-account .account-photo-empty{grid-column:1/-1;grid-row:1/-1;background:#f0eae2;color:#736b62}
.restored-member-account .account-actions-button{margin-left:8px;padding:7px;border:1px solid #ffffff60;border-radius:5px;color:white;background:#20191580;font-size:8px}
.restored-member-account .messages-panel>header button{border:0;background:none;font:inherit;cursor:pointer}
#account-actions-dialog{width:min(760px,94vw);max-height:88vh;overflow:auto;padding:20px;border:1px solid #ded7cd;border-radius:8px;background:#faf7f2;font-size:14px}
#account-actions-dialog::backdrop{background:#0007}#account-actions-dialog .content-card{padding:15px}#account-actions-dialog button{padding:8px;border:1px solid #ded7cd;border-radius:4px;background:white}#account-actions-dialog textarea{width:100%;min-height:80px}
@media(max-width:600px){.restored-member-account .account-panel-empty{font-size:13px}.restored-member-account .account-actions-button{font-size:12px;margin:8px 0}.restored-member-account .profile-overview{flex-wrap:wrap}}
.restored-member-account .verification-row .account-actions-button{margin:0;font-size:7px}
.restored-member-account .messages-panel>header button{font-size:6px;color:#6a6e75}
.restored-member-account .recent-photos-card>div>p{grid-column:1/-1;margin:8px 0;color:#746e67;font-size:7px}
@media(max-width:600px){.restored-member-account .verification-row{flex-wrap:wrap}.restored-member-account .verification-row .account-actions-button,.restored-member-account .messages-panel>header button,.restored-member-account .recent-photos-card>div>p{font-size:12px}}
.restored-member-account .member-contact-initials{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border-radius:50%;color:white;background:#705233;font-size:13px}
@media(max-width:600px){.restored-member-account .member-contact-initials{width:48px;height:48px;font-size:16px}}
.restored-member-account .verification-card dd.unverified,.restored-member-account .verification-row i.unverified{color:#90918f}

.menu-activity-bell{position:relative}
.menu-activity-count{position:absolute;top:0;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:12px;background:#b53933;color:#fff;font-size:10px;font-weight:700;line-height:17px;text-align:center;white-space:nowrap}
.menu-activity-count[hidden]{display:none}

@media(max-width:600px){
 .primary-button.mobile-registration-fixed{position:fixed;bottom:calc(12px + env(safe-area-inset-bottom,0px));left:16px;right:16px;width:calc(100% - 32px);margin:0;z-index:40;box-shadow:0 4px 24px #0005;text-transform:none;font-size:12px}
}

.slot-card[role="button"]{cursor:pointer}
.slot-card[role="button"]:focus-visible{outline:2px solid #bc7e28;outline-offset:4px}
.slot-card[aria-busy="true"]{cursor:wait}

.restored-member-account .notifications-panel>header h2{display:flex;align-items:center;gap:8px;flex:1;min-width:0;white-space:nowrap}
.restored-member-account .announcement-icon{width:18px;height:18px;flex:none}
.restored-member-account .notifications-panel>header h2 i{flex:none;margin-left:auto;width:auto;min-width:17px;padding:0 4px}
@media(max-width:600px){.restored-member-account .announcement-icon{width:22px;height:22px}.restored-member-account .notifications-panel>header h2{gap:6px;font-size:clamp(15px,4.6vw,18px)}}

.restored-member-account .announcements-read{flex:none;border:0;background:none;color:#777b84;font-size:8px;padding:4px;margin-left:5px}
.managed-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.managed-photos img{width:100%;height:110px;object-fit:cover}.managed-photos article{display:grid;gap:6px}
#member-tools-dialog{padding:20px}#member-tools-dialog input{display:block;max-width:100%;margin:10px 0}
@media(max-width:600px){.restored-member-account .announcements-read{font-size:10px}.restored-member-account .notifications-panel>header h2{font-size:15px}}

.restored-member-account .member-chat{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.restored-member-account .message-contact,.restored-member-account .member-message-form{flex-shrink:0}
@media(max-width:600px){.restored-member-account .member-chat{flex:0 0 390px;height:390px;min-height:0}}

.profile-inline-toolbar[hidden],.profile-inline-photos[hidden]{display:none}
.profile-inline-toolbar{position:sticky;top:0;z-index:15;display:flex;align-items:center;gap:10px;padding:12px;background:#fffdf9;border-bottom:1px solid #e3d7c5}
.profile-inline-toolbar button,.profile-inline-photos button,.profile-inline-verification button{padding:8px 12px;border:1px solid #d9c5a5;border-radius:6px;background:#fffaf2;color:#6d4716}
.profile-inline-editing [data-profile-field]{outline:1px dashed #bd873f;outline-offset:3px;min-height:1.4em;white-space:pre-wrap;cursor:text}
.profile-inline-editing [data-profile-field]:empty:before{content:attr(data-placeholder);color:#999}
.profile-inline-editing [data-profile-field]:focus{outline:2px solid #bd873f}
.profile-inline-photos,.profile-inline-verification{padding:14px;border-top:1px solid #eee4d6;font-size:12px}
.profile-inline-photos input,.profile-inline-verification input{display:block;max-width:100%;margin:10px 0}
.restored-member-account .profile-gallery-card{height:auto;align-self:start}
.restored-member-account .profile-gallery-card>div>span[role=button]{cursor:pointer}
.profile-inline-photos .managed-photos{margin-top:12px}
@media(max-width:600px){.profile-inline-toolbar{flex-wrap:wrap}.profile-inline-photos .managed-photos{grid-template-columns:repeat(2,1fr)}}

.profile-edit-phone[hidden]{display:none}
.profile-inline-editing [data-profile-field]{overflow-wrap:anywhere}

.profile-inline-verification[hidden]{display:none}
.restored-member-account.member-profile-page:is(.profile-inline-editing,.profile-inline-expanded) .profile-content-grid{grid-template-rows:auto auto auto}
.restored-member-account.member-profile-page:is(.profile-inline-editing,.profile-inline-expanded) .profile-right-top{grid-template-rows:auto auto}
.profile-inline-photos .managed-photos img{height:110px}

.restored-member-account .profile-inline-photos{padding:18px;background:#fffdf9}
.photo-manager-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}
.photo-manager-heading h3{margin:0;font-size:17px;color:#22252d}.photo-manager-heading p{margin:6px 0 0;font-size:11px;line-height:1.5;color:#7b7771}
.restored-member-account .photo-manager-done{background:#78531f;color:#fff;border-color:#78531f;font-weight:600}
.photo-manager-upload{padding:12px;border:1px solid #eee4d6;border-radius:12px;background:#faf7f1}
.photo-upload-area{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:125px;padding:14px;border:1px dashed #c8b28e;border-radius:8px;background:#fffdf9;color:#805c28;cursor:pointer}
.photo-upload-area:hover,.photo-upload-area.dragging{border-color:#a67831;background:#fff5e5}.photo-upload-area:focus-within{outline:2px solid #a67831;outline-offset:2px}
.photo-upload-area svg{width:28px;height:28px}.photo-upload-area strong{font-size:13px}.photo-upload-area small{font-size:11px;color:#878078}
.restored-member-account .photo-upload-area input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.photo-upload-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px}.photo-upload-footer p{font-size:10px;color:#8a8176;margin:0}
.restored-member-account .photo-upload-footer button{background:#a47630;border-color:#a47630;color:#fff;font-weight:600;white-space:nowrap}.photo-upload-footer button:disabled{opacity:.45;cursor:default}
.photo-upload-selection[hidden]{display:none}.photo-upload-selection{display:flex;align-items:center;gap:10px;margin-top:12px;min-width:0}.restored-member-account .photo-upload-selection img{width:44px;height:44px;border-radius:6px;object-fit:cover}.photo-upload-selection>div{display:grid;gap:4px;min-width:0}.photo-upload-selection b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-upload-selection small{font-size:10px;color:#8a8176}
.photo-manager-status:empty{display:none}.photo-manager-status{margin:12px 0;font-size:11px;color:#8a5b21}.photo-manager-count{margin:18px 0 10px;font-size:11px;font-weight:600;color:#81766a}
.restored-member-account .profile-inline-photos .managed-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;max-height:420px;overflow-y:auto;overscroll-behavior:contain;padding:2px}
.managed-photos article{overflow:hidden;border:1px solid #e8dfd1;border-radius:10px;background:#fff;display:block;min-width:0}.managed-photo-image{position:relative}.restored-member-account .profile-inline-photos .managed-photo-image img{display:block;width:100%;height:145px;border-radius:0;object-fit:cover}
.restored-member-account .current-profile-photo{position:absolute;left:8px;bottom:8px;display:block;padding:4px 7px;border-radius:5px;background:#fffef4e8;color:#665025;font-size:9px;font-weight:600;box-shadow:0 1px 6px #0002}
.managed-photo-actions{display:grid;gap:6px;padding:9px}.restored-member-account .managed-photo-actions button{width:100%;padding:7px 5px;font-size:10px;line-height:1.3}.restored-member-account .managed-photo-actions .photo-remove{border:0;background:transparent;color:#a45f54}.restored-member-account .managed-photo-actions .photo-remove.confirming{background:#fff0ed;color:#a53b2b}.managed-photo-actions button:disabled{opacity:.55;cursor:default}
.photo-manager-empty{padding:22px 12px;margin:12px 0 0;text-align:center;color:#928779;font-size:12px;border:1px dashed #e0d5c5;border-radius:8px}
@media(max-width:600px){.restored-member-account .profile-inline-photos{padding:14px}.photo-upload-footer{align-items:flex-start;flex-direction:column}.photo-upload-footer button{width:100%}.photo-manager-heading p{font-size:12px}.restored-member-account .profile-inline-photos .managed-photo-image img{height:155px}.restored-member-account .managed-photo-actions button{font-size:11px}}

.restored-member-account .notifications-panel article[role=button]{cursor:pointer}
.restored-member-account .notifications-panel article[role=button]:hover{background:#fff8ee}
.restored-member-account .notifications-panel article[role=button]:focus-visible{outline:2px solid #b58437;outline-offset:2px;border-radius:5px}
#announcement-dialog{position:relative;padding:28px;width:min(520px,calc(100% - 32px));max-height:85dvh;overflow:auto}
.announcement-close{position:absolute;right:12px;top:10px;width:30px;height:30px;border:0;border-radius:50%;background:#f5eee3;color:#66543c;font-size:22px}
.announcement-eyebrow{margin:0 0 10px;color:#a17630;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}
#announcement-dialog h2{margin:0 24px 10px 0;font-size:23px;line-height:1.3;overflow-wrap:anywhere}
#announcement-dialog time{color:#93897b;font-size:12px}.announcement-body{margin:20px 0 24px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.6}
.announcement-done{padding:10px 20px;border:0;border-radius:7px;background:#a47630;color:#fff;font-weight:600}

.restored-member-account .message-contact[hidden],.restored-member-account .member-message-form button[hidden]{display:none}
.restored-member-account .member-message-form{gap:10px}
.restored-member-account .member-message-form input{flex:1;min-width:0}

.restored-member-account .notifications-panel{display:flex;flex-direction:column}
.restored-member-account .notifications-panel>header{flex-shrink:0}
.restored-member-account .notifications-panel>div{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.announcements-footer{display:flex;justify-content:flex-end;padding:10px 14px;border-top:1px solid #eeeae4;flex-shrink:0}
.restored-member-account .announcements-footer .announcements-read{font-size:11px;margin:0;padding:6px 10px;border:1px solid #e4d8c5;border-radius:6px;background:#fffaf2;color:#89632b}
.announcements-read:disabled{opacity:.45;cursor:default}.announcements-empty{padding:18px 0;color:#8a8278;font-size:12px;line-height:1.6}
@media(max-width:600px){.restored-member-account .notifications-panel>div{max-height:440px}.announcements-footer{padding:12px 14px}}
/* Let mobile dashboard content grow so swipes scroll the page. */
@media(max-width:600px){
  .restored-member-account .member-dashboard-grid .member-chat,
  .restored-member-account .member-dashboard-grid .notifications-panel>div{
    flex:0 0 auto;
    height:auto;
    max-height:none;
    overflow:visible;
    overscroll-behavior:auto;
  }
}

:is(.member-page,.discovery-page).bg-effect-ocean .member-page-backdrop::before{opacity:1;background:repeating-linear-gradient(168deg,transparent 0 60px,rgba(104,210,232,.14) 85px,rgba(162,192,255,.26) 105px,transparent 150px);background-size:180% 180%;animation:bgOceanFlow 26s ease-in-out infinite}
:is(.member-page,.discovery-page).bg-effect-ocean .member-page-backdrop::after{opacity:.8;background:radial-gradient(ellipse at 35% 65%,rgba(51,157,216,.3),transparent 55%),radial-gradient(ellipse at 75% 25%,rgba(182,194,255,.2),transparent 45%);animation:bgPrismFlow 30s ease-in-out infinite alternate}
:is(.member-page,.discovery-page).bg-effect-silk .member-page-backdrop::before{opacity:1;background:repeating-linear-gradient(115deg,transparent 0 110px,rgba(255,216,138,.2) 150px,rgba(192,129,58,.15) 190px,transparent 250px);background-size:200% 200%;animation:bgSilkFlow 24s ease-in-out infinite alternate}
:is(.member-page,.discovery-page).bg-effect-silk .member-page-backdrop::after{opacity:1;background:radial-gradient(ellipse at 45% 40%,rgba(255,232,180,.23),transparent 55%);animation:bgPrismFlow 18s ease-in-out infinite alternate}
:is(.member-page,.discovery-page).bg-effect-fireflies .member-page-backdrop::before{opacity:1;background:radial-gradient(circle,rgba(255,234,158,.95) 0 1.5px,transparent 3px),radial-gradient(circle,rgba(200,255,189,.75) 0 1px,transparent 3px),radial-gradient(circle,rgba(255,218,120,.4) 0 3px,transparent 8px);background-size:190px 230px,270px 310px,330px 390px;background-repeat:repeat;animation:bgFireflyDrift 32s linear infinite}
:is(.member-page,.discovery-page).bg-effect-fireflies .member-page-backdrop::after{opacity:.7;background:radial-gradient(ellipse at 60% 65%,rgba(131,207,124,.15),transparent 55%);animation:bgCandlePool 14s ease-in-out infinite}
:is(.member-page,.discovery-page).bg-effect-prism .member-page-backdrop::before{opacity:1;background:conic-gradient(from 45deg at 50% 50%,transparent,rgba(170,126,250,.22),transparent,rgba(83,214,228,.2),transparent,rgba(255,153,191,.22),transparent);filter:blur(35px);animation:bgPrismFlow 22s ease-in-out infinite alternate}
:is(.member-page,.discovery-page).bg-effect-prism .member-page-backdrop::after{opacity:1;background:linear-gradient(135deg,transparent 25%,rgba(249,206,255,.18) 45%,transparent 65%);background-size:220% 220%;animation:bgSilkFlow 28s ease-in-out infinite alternate}
@keyframes bgOceanFlow{0%,100%{background-position:0 0;transform:rotate(-3deg)}50%{background-position:100% 70%;transform:rotate(3deg)}}
@keyframes bgSilkFlow{from{background-position:0 0;transform:translate3d(-2%,1%,0)}to{background-position:90% 60%;transform:translate3d(2%,-1%,0)}}
@keyframes bgFireflyDrift{0%{background-position:0 0,70px 90px,100px 150px;opacity:.5}50%{opacity:1}100%{background-position:190px -230px,340px -220px,430px -240px;opacity:.5}}
@keyframes bgPrismFlow{from{transform:translate3d(-3%,2%,0) rotate(-8deg);opacity:.65}to{transform:translate3d(3%,-2%,0) rotate(8deg);opacity:1}}
@media(prefers-reduced-motion:reduce){.member-page-backdrop::before,.member-page-backdrop::after{animation:none!important}}

:is(.member-page,.discovery-page).bg-effect-rose .member-page-backdrop::before{opacity:1;background:radial-gradient(ellipse at 25% 65%,rgba(211,120,157,.25),transparent 52%),radial-gradient(ellipse at 80% 30%,rgba(237,179,169,.18),transparent 48%);filter:blur(28px);animation:bgIntimateHaze 10s ease-in-out infinite alternate}
:is(.member-page,.discovery-page).bg-effect-rose .member-page-backdrop::after{opacity:1;background:radial-gradient(ellipse at 55% 70%,rgba(151,75,120,.16),transparent 60%);animation:bgPrismFlow 14s ease-in-out infinite alternate}
:is(.member-page,.discovery-page).bg-effect-champagne .member-page-backdrop::before{opacity:1;background:radial-gradient(circle at 18% 65%,rgba(255,225,162,.28) 0 16px,transparent 36px),radial-gradient(circle at 72% 30%,rgba(255,239,193,.22) 0 26px,transparent 50px),radial-gradient(circle at 55% 80%,rgba(218,180,116,.22) 0 10px,transparent 24px);background-size:450px 530px,630px 710px,370px 460px;background-repeat:repeat;filter:blur(5px);animation:bgChampagneFloat 9s ease-in-out infinite alternate}
:is(.member-page,.discovery-page).bg-effect-champagne .member-page-backdrop::after{opacity:1;background:radial-gradient(ellipse at 60% 50%,rgba(255,224,162,.13),transparent 65%);animation:bgIntimateHaze 12s ease-in-out infinite alternate}
:is(.member-page,.discovery-page).bg-effect-velvet .member-page-backdrop::before{opacity:1;background:radial-gradient(ellipse at 15% 55%,rgba(150,64,117,.28),transparent 55%),radial-gradient(ellipse at 85% 40%,rgba(118,81,156,.22),transparent 50%);filter:blur(30px);animation:bgIntimateHaze 11s ease-in-out infinite alternate}
:is(.member-page,.discovery-page).bg-effect-velvet .member-page-backdrop::after{opacity:1;background:linear-gradient(120deg,transparent 25%,rgba(229,162,192,.09) 45%,transparent 62%);background-size:200% 200%;animation:bgSilkFlow 14s ease-in-out infinite alternate}
:is(.member-page,.discovery-page).bg-effect-sparks .member-page-backdrop::before{opacity:1;background:radial-gradient(ellipse,rgba(255,217,151,.6) 0 1px,transparent 3px),radial-gradient(circle,rgba(255,167,81,.35) 0 2px,transparent 5px);background-size:240px 320px,390px 450px;background-repeat:repeat;animation:bgCandleSparks 12s linear infinite}
:is(.member-page,.discovery-page).bg-effect-sparks .member-page-backdrop::after{opacity:1;background:radial-gradient(ellipse at 50% 90%,rgba(231,151,65,.18),transparent 58%);animation:bgCandlePool 8s ease-in-out infinite}
@keyframes bgIntimateHaze{from{transform:translate3d(-5%,3%,0) scale(1);opacity:.65}to{transform:translate3d(5%,-3%,0) scale(1.12);opacity:1}}
@keyframes bgChampagneFloat{from{background-position:0 0,60px 50px,100px 150px;transform:translateY(1%)}to{background-position:100px -160px,165px -150px,220px 0;transform:translateY(-3%)}}
@keyframes bgCandleSparks{0%{background-position:0 0,100px 140px;opacity:.4}50%{opacity:.85}100%{background-position:240px -320px,490px -310px;opacity:.4}}
@media(prefers-reduced-motion:reduce){.member-page-backdrop::before,.member-page-backdrop::after{animation:none!important}}

:is(.member-page,.discovery-page).bg-effect-flashlight .member-page-backdrop::before{opacity:1;background:radial-gradient(ellipse at center,rgba(255,250,224,.72) 0%,rgba(255,241,186,.3) 12%,rgba(255,248,222,.08) 25%,transparent 40%);background-size:65vmax 65vmax;filter:blur(3px);animation:bgFlashlightSweep 8s ease-in-out infinite}
:is(.member-page,.discovery-page).bg-effect-flashlight .member-page-backdrop::after{opacity:1;background:conic-gradient(from 55deg at 15% 90%,transparent 0deg,rgba(255,246,213,.18) 12deg,transparent 28deg);animation:bgFlashlightBeam 8s ease-in-out infinite}
:is(.member-page,.discovery-page).bg-effect-fire .member-page-backdrop::before{opacity:1;background:radial-gradient(ellipse at 20% 95%,rgba(255,183,37,.7),rgba(246,81,13,.3) 30%,transparent 60%),radial-gradient(ellipse at 75% 100%,rgba(255,106,23,.65),rgba(197,40,14,.25) 35%,transparent 65%),radial-gradient(ellipse at 50% 110%,rgba(255,219,100,.75),transparent 55%);background-size:80% 100%,90% 105%,100% 80%;filter:blur(14px);animation:bgFireRise 4s ease-in-out infinite alternate}
:is(.member-page,.discovery-page).bg-effect-fire .member-page-backdrop::after{opacity:1;background:radial-gradient(ellipse,rgba(255,210,87,.85) 0 1.5px,transparent 4px),radial-gradient(circle,rgba(255,115,36,.6) 0 2px,transparent 5px);background-size:190px 280px,290px 370px;background-repeat:repeat;animation:bgFireEmbers 8s linear infinite}
:is(.member-page,.discovery-page).bg-effect-stage .member-page-backdrop::before{opacity:1;background:conic-gradient(from 155deg at 20% 0%,transparent 0deg,rgba(138,215,255,.62) 12deg,rgba(100,155,255,.22) 25deg,transparent 35deg),conic-gradient(from 185deg at 85% 0%,transparent 0deg,rgba(236,113,210,.58) 13deg,rgba(174,108,255,.2) 26deg,transparent 36deg);filter:blur(5px);animation:bgStageSweep 2.5s ease-in-out infinite alternate}
:is(.member-page,.discovery-page).bg-effect-stage .member-page-backdrop::after{opacity:1;background:radial-gradient(ellipse at 30% 80%,rgba(119,202,255,.4),transparent 45%),radial-gradient(ellipse at 75% 60%,rgba(234,140,205,.38),transparent 45%);animation:bgStagePools 3.5s ease-in-out infinite alternate}
@keyframes bgFlashlightSweep{0%,100%{background-position:15% 80%;opacity:.5}25%{background-position:80% 25%;opacity:1}50%{background-position:60% 70%;opacity:.55}75%{background-position:25% 20%;opacity:.95}}
@keyframes bgFlashlightBeam{0%,100%{transform:rotate(-18deg);opacity:.3}30%{transform:rotate(16deg);opacity:.75}65%{transform:rotate(-4deg);opacity:.4}}
@keyframes bgFireRise{0%{background-position:15% 100%,85% 100%,50% 100%;transform:scaleY(.95);opacity:.8}50%{background-position:30% 88%,65% 94%,40% 85%;opacity:1}100%{background-position:5% 92%,95% 80%,60% 90%;transform:scaleY(1.1);opacity:.85}}
@keyframes bgFireEmbers{from{background-position:0 0,80px 100px;opacity:.55}to{background-position:190px -280px,370px -270px;opacity:.9}}
@keyframes bgStageSweep{from{transform:translateX(-6%) rotate(-24deg) scale(1.15);opacity:.8}to{transform:translateX(6%) rotate(24deg) scale(1.15);opacity:1}}
@keyframes bgStagePools{from{background-position:0 0;transform:translate(-10%,3%)}to{background-position:120px -60px;transform:translate(10%,-3%)}}
@media(prefers-reduced-motion:reduce){.member-page-backdrop::before,.member-page-backdrop::after{animation:none!important}}

:is(.member-page,.discovery-page).bg-effect-strobe .member-page-backdrop::before{opacity:0;background:radial-gradient(ellipse at 35% 35%,rgba(235,248,255,.65),rgba(188,220,255,.2) 45%,transparent 75%);animation:bgStrobeFlash 1.4s linear infinite}
:is(.member-page,.discovery-page).bg-effect-strobe .member-page-backdrop::after{opacity:.3;background:conic-gradient(from 165deg at 70% 0%,transparent 0deg,rgba(196,219,255,.4) 16deg,transparent 34deg);animation:bgStrobeSweep 4s ease-in-out infinite alternate}
@keyframes bgStrobeFlash{0%,10%,38%,48%,100%{opacity:0}3%,7%,41%,45%{opacity:1}}
@keyframes bgStrobeSweep{from{transform:translateX(-8%) rotate(-20deg)}to{transform:translateX(8%) rotate(20deg)}}
@media(prefers-reduced-motion:reduce){:is(.member-page,.discovery-page).bg-effect-strobe .member-page-backdrop::before{animation:none!important;opacity:.12}:is(.member-page,.discovery-page).bg-effect-strobe .member-page-backdrop::after{animation:none!important}}

:is(.member-page,.discovery-page).bg-effect-random-strobe .member-page-backdrop::before{opacity:0;background:radial-gradient(ellipse at 30% 25%,rgba(255,255,255,.9),rgba(207,226,255,.5) 40%,transparent 80%);animation:bgRandomStrobe 4s steps(1,end) infinite}
:is(.member-page,.discovery-page).bg-effect-random-strobe .member-page-backdrop::after{opacity:.45;background:conic-gradient(from 150deg at 75% 0%,transparent 0deg,rgba(186,207,255,.65) 18deg,transparent 40deg);animation:bgRandomStrobeBeam 1.8s ease-in-out infinite alternate}
@keyframes bgRandomStrobe{0%,3%,14%,32%,47%,63%,83%,100%{opacity:0}1%{opacity:1;background-position:-100px 40px}12%{opacity:.85;background-position:140px -80px}30%{opacity:1;background-position:-40px -120px}45%{opacity:.9;background-position:160px 60px}61%{opacity:1;background-position:-160px 100px}81%{opacity:.85;background-position:80px -40px}}
@keyframes bgRandomStrobeBeam{0%{transform:translateX(-12%) rotate(-32deg)}35%{transform:translateX(6%) rotate(8deg)}100%{transform:translateX(12%) rotate(32deg)}}
@media(prefers-reduced-motion:reduce){:is(.member-page,.discovery-page).bg-effect-random-strobe .member-page-backdrop::before{animation:none!important;opacity:.12}:is(.member-page,.discovery-page).bg-effect-random-strobe .member-page-backdrop::after{animation:none!important}}

.event-hero .hero-video {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity .3s;z-index:0;}
.event-hero .hero-video.is-playing {opacity:1;}
.event-hero .hero-overlay {position:absolute;inset:0;z-index:1;pointer-events:none;}
.event-hero .hero-content,.event-hero .member-nav {position:relative;z-index:2;}

/* New-member event registration steps */
#registration-form [hidden] { display: none !important; }
#registration-form .registration-details label { display: grid; gap: 7px; padding: 0; border: 0; cursor: default; font-size: 12px; font-weight: 700; }
#registration-form .registration-details { gap: 18px; }
#registration-form .registration-details input { box-sizing: border-box; width: 100%; height: auto; min-height: 44px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); font: inherit; font-size: 14px; }
#registration-form .registration-details input:focus-visible { outline: 2px solid #bc7920; outline-offset: 2px; }
#registration-form .registration-details small { font-weight: 400; line-height: 1.5; }
.registration-name-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.registration-back { margin: 0 0 16px; padding: 8px; border: 0; background: transparent; color: var(--muted); cursor: pointer; }
#registration-form .registration-sign-in { margin: 20px 0 0; }
.registration-sign-in a { color: #a8650c; font-weight: 700; text-underline-offset: 3px; }
#registration-dialog { max-height: calc(100dvh - 32px); overflow-y: auto; }
@media (max-width: 480px) {
  #registration-form { padding: 48px 22px 26px; }
  .registration-name-fields { grid-template-columns: 1fr; }
}

/* Home page appearance and editor */
.discovery-page [hidden] { display: none !important; }
.home-edit-link { position: absolute; right: 24px; margin-top: 16px; z-index: 1; padding: 10px 16px; border-radius: 8px; background: #fffdf9; color: #8f5714; font-weight: 700; }
.home-editor { display: grid; grid-template-columns: 310px minmax(0,1fr); min-height: 100vh; background: #e9e7e3; }
.home-editor-toolbar { grid-column: 1/-1; position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 16px; padding: 16px 24px; background: #fffdf9; border-bottom: 1px solid var(--line); }
.home-editor-toolbar span { margin-right: auto; color: var(--muted); font-size: 12px; }
.home-editor-toolbar a { font-size: 13px; }
.home-editor button:not(.primary-button) { padding: 9px 12px; border: 1px solid var(--line); border-radius: 6px; background: #fff; cursor: pointer; }
.home-editor button:disabled { opacity: .5; cursor: wait; }
.home-editor-panel { position: sticky; top: 77px; max-height: calc(100vh - 77px); overflow-y: auto; padding: 24px; background: #fffdf9; }
.home-editor-panel h2 { font-size: 19px; }
.home-editor-panel p, .home-editor-panel small { color: var(--muted); font-size: 12px; line-height: 1.5; }
.home-editor-panel form { display: grid; gap: 14px; }
.home-editor-panel label { display: grid; gap: 6px; font-size: 12px; font-weight: 700; }
.home-editor-panel input:not([type=checkbox]), .home-editor-panel textarea, .home-editor-panel select { width: 100%; min-height: 38px; box-sizing: border-box; border: 1px solid var(--line); border-radius: 6px; padding: 8px; font: inherit; }
.home-editor-panel textarea { min-height: 80px; resize: vertical; }
.home-editor-panel .home-check { display: flex; align-items: center; }
.home-editor-panel h3 { margin: 14px 0 0; font-size: 14px; }
.home-editor-preview { min-width: 0; padding: 18px; }
.home-editor-preview > nav { display: flex; justify-content: center; gap: 8px; margin-bottom: 16px; }
#home-preview { margin: auto; box-shadow: 0 8px 30px #0002; overflow: hidden; container-type: inline-size; }
#home-preview .home-edit-link { display: none; }
#home-preview [contenteditable] { outline: 1px dashed #efc77d77; cursor: text; }
#home-preview [contenteditable]:focus { outline: 2px solid #dda447; }
#home-preview .member-nav { padding-inline: 24px; }
@container (max-width: 600px) {
  #home-preview .discovery-hero { padding: 70px 24px; min-height: 380px; }
  #home-preview .discovery-hero h1 { font-size: 40px; }
  #home-preview .discover-controls { grid-template-columns: 1fr; margin-inline: 20px; }
  #home-preview .event-cards { grid-template-columns: 1fr; }
  #home-preview .event-list { padding-inline: 20px; }
}
@media (max-width: 900px) {
  .home-editor-toolbar { flex-wrap: wrap; gap: 10px; position: static; }
  .home-editor { grid-template-columns: 260px minmax(0,1fr); }
  .home-editor-panel { top: 0; max-height: 100vh; }
}
@media (max-width: 650px) {
  .home-editor { display: block; }
  .home-editor-panel { position: static; max-height: none; }
  .home-editor-preview { padding: 10px; }
}

.home-about { width: min(1180px,calc(100% - 48px)); margin: 80px auto 72px; }
.home-about-intro { max-width: 850px; margin-bottom: 42px; }
.home-about-intro .eyebrow { color: #9b682a; }
.home-about h2 { margin: 16px 0 22px; font: 48px/1.08 Georgia,serif; letter-spacing: -.025em; }
.home-about p { color: #625b54; font-size: 16px; line-height: 1.8; white-space: pre-line; }
.home-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.home-about-grid article { padding: 34px; border: 1px solid #d9cdbc; border-radius: 16px; background: #fffdf9e8; }
.home-about-number { color: #9b682a; font-size: 11px; letter-spacing: .12em; font-weight: 700; }
.home-about h3 { font: 29px/1.15 Georgia,serif; margin: 18px 0 14px; }
.home-about-grid a { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; color: #9b682a; font-size: 14px; font-weight: 700; }
.home-about-grid a svg { width: 16px; height: 16px; }
.home-about + .discover-controls { margin-top: 0; }
@media (max-width: 650px) {
  .home-about { margin: 48px auto; }
  .home-about h2 { font-size: 36px; }
  .home-about-grid { grid-template-columns: 1fr; }
  .home-about-grid article { padding: 24px; }
}
@container (max-width: 600px) {
  #home-preview .home-about-grid { grid-template-columns: 1fr; }
  #home-preview .home-about { margin-block: 48px; }
  #home-preview .home-about h2 { font-size: 36px; }
}
.home-hero-cta { margin-top: 18px; min-height: 48px; padding-inline: 24px; font-size: 12px; }

/* Sign in without leaving the public page. */
#login-popup { width: min(480px,calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; }
#login-popup #login-form { box-sizing: border-box; width: 100%; padding: 48px 38px 32px; }
#login-popup #login-form h2 { font-size: 32px; }
#login-popup #login-form input { box-sizing: border-box; width: 100%; color: var(--ink); }
#login-popup .form-error[hidden] { display: none; }
@media (max-width: 480px) { #login-popup #login-form { padding: 48px 24px 28px; } }

/* Home editor color inversion keeps event photos and banner colors intact. */
.discovery-page.home-inverted { --ink:#faf7f1; --muted:#c3bdb5; --line:rgba(255,255,255,.22); color:var(--ink); }

.home-inverted .nav-sign-in, .home-inverted .nav-admin-link { border-color:var(--line); }
.home-inverted .nav-sign-in:hover, .home-inverted .nav-admin-link:hover { background:rgba(255,255,255,.1); }
.home-inverted .discover-controls, .home-inverted .home-about-grid article { background:rgba(24,24,24,.95); border-color:var(--line); }
.home-inverted .discover-controls select option { background:#181818; color:var(--ink); }
.home-inverted .discover-controls > button { background:#faf7f1; color:#191919; }
.home-inverted .home-about p, .home-inverted .home-about-number { color:var(--muted); }
.home-inverted .home-about-grid a { color:#efc77d; }
.home-inverted .empty-state { color:var(--muted); }

.home-inverted .event-card { outline:1px solid rgba(255,255,255,.32); outline-offset:-1px; box-shadow:0 0 28px rgba(239,199,125,.23),0 0 56px rgba(239,199,125,.12),0 8px 28px rgba(0,0,0,.4); }
.home-inverted .event-card:hover, .home-inverted .event-card:focus-visible { outline:2px solid #efc77d; outline-offset:2px; }

.discovery-page .discovery-hero { min-height:var(--home-banner-height,530px); padding-block:clamp(24px,calc((var(--home-banner-height,530px) - 300px) / 2),300px); }
@container (max-width:600px) {
  #home-preview .discovery-hero { min-height:var(--home-banner-height,530px); padding-block:clamp(24px,calc((var(--home-banner-height,530px) - 300px) / 2),300px); }
}

.home-banner { background-size:cover; }
.home-banner .discovery-hero { background:none; }

.discovery-page { position:relative; isolation:isolate; }
.discovery-page > main { position:relative; z-index:1; }
#home-preview .home-animated-backdrop { position:absolute; }
.home-editor .editor-background-option.active { border-color:#c88a2a; box-shadow:0 0 0 1px #c88a2a; }
.home-editor .editor-background-option small { font-size:11px; }

.home-banner { position:relative; isolation:isolate; overflow:hidden; }
.home-banner .hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; pointer-events:none; transition:opacity .3s; z-index:-2; }
.home-banner .hero-video.is-playing { opacity:1; }
.home-video-overlay { position:absolute; inset:0; z-index:-1; pointer-events:none; }
/* Keep filtered and paginated member rows hidden despite their grid layout. */
.member-directory .member-record[hidden],.member-filter-bar [hidden]{display:none!important}
/* Bound admin chat history independently of the reply form and side panel. */
#conversation-content .full-thread.ops-thread{max-height:clamp(240px,45vh,520px);overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-gutter:stable;min-width:0}
#conversation-content .ops-thread .message-bubble[hidden]{display:none!important}
#conversation-content .message-bubble p{overflow-wrap:anywhere}
/* Keep every member column accessible when the three-panel workspace is narrow. */
.member-directory{min-width:0}
.member-directory .member-table{overflow-x:auto;overscroll-behavior-x:contain}
@media(min-width:601px){.member-directory .member-table-head,.member-directory .member-record{min-width:430px;grid-template-columns:13px minmax(140px,1fr) 58px 60px 32px 70px 24px}}
.registration-next-steps{margin:0 0 24px;text-align:left;color:var(--muted);line-height:1.6}
.registration-next-steps p{margin:0 0 12px}
.registration-next-steps a{color:var(--gold-dark,#986719);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.admin-top .admin-open-website,.venue-top .admin-open-website{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:7px 10px;border:1px solid #d4dde4;border-radius:5px;color:#2369ac;background:#fff;font-size:10px;font-weight:600;white-space:nowrap}
.venue-top-links{display:flex;align-items:center;gap:12px}
@media(max-width:600px){.admin-top .admin-open-website{padding:6px;font-size:10px}.venue-top-links{gap:8px}}
.identity-document.identity-with-preview{display:block;padding:0;min-height:150px;background:#f4f6f8}
.identity-with-preview::before,.identity-with-preview::after{display:none}
.identity-file-preview{display:flex;flex-direction:column;width:100%;color:#2369ac;text-align:center}
.identity-file-preview img,.identity-file-preview iframe{display:block;width:100%;height:190px;object-fit:contain;border:0;background:#fff}
.identity-file-preview iframe{pointer-events:none}
.identity-file-preview>span{padding:8px;font-size:inherit;font-weight:600;background:#f5f8fb}
@media(max-width:600px){.identity-file-preview img,.identity-file-preview iframe{height:240px}}
/* Filtered registration rows must not retain their grid display. */
.registration-queue .registration-row[hidden]{display:none!important}

.registration-withdraw { margin-top:20px; padding-top:16px; border-top:1px solid var(--line); }
.registration-withdraw p { margin:0 0 8px; color:var(--muted); font-size:14px; }
.registration-withdraw button { padding:8px 12px; border:0; background:transparent; color:#a52a2a; text-decoration:underline; cursor:pointer; }
.registration-withdraw button:disabled { opacity:.5; cursor:wait; }
.registration-withdraw [data-withdraw-error] { margin-top:8px; color:#a52a2a; }

.registration-result .registration-to { margin:4px 0 10px; font-size:16px; color:var(--muted); }
.registration-result .registration-event-name { margin-bottom:24px; }

.registration-approval-help { margin:0; padding:12px 20px; background:#fff7e9; color:#77501f; font-size:14px; line-height:1.5; }
/* Venue integration stays within the existing admin cards. */
.admin-entrance{font-size:16px;padding:18px 20px}.admin-entrance>p{font-size:16px;line-height:1.5;margin:12px 0}.admin-entrance h3{font-size:18px;margin:18px 0 10px}.admin-entrance table{width:100%;border-collapse:collapse;font-size:14px}.admin-entrance th,.admin-entrance td{font-size:14px;text-align:left;padding:10px 12px;border-bottom:1px solid #e1e7ef}.admin-entrance header{flex-wrap:wrap;gap:12px}.admin-entrance header>div{display:flex;flex-wrap:wrap;gap:8px}.admin-entrance button{font-size:14px}.admin-entrance .ops-table{overflow:auto}

#registration-form [data-registration-id-upload][hidden]{display:none!important}

.hero-gallery > .gallery-thumbnail { padding:0; background:transparent; overflow:hidden; cursor:pointer; flex-shrink:0; }
.hero-gallery > .gallery-thumbnail img { display:block; width:100%; height:100%; object-fit:cover; }
.hero-gallery > .gallery-thumbnail:focus-visible { outline:2px solid #fff; outline-offset:3px; }

/* Shared circular brand mark, with fixed dimensions to prevent layout shifts. */
img.platform-brand-logo { display:block; width:48px; height:48px; object-fit:contain; flex:0 0 auto; }
.admin-brand > img.platform-brand-logo { width:42px; height:42px; }
.ticket-brand > img.platform-brand-logo { width:72px; height:72px; }
.login-art .brand > img.platform-brand-logo { width:64px; height:64px; }
@media(max-width:600px){
  .member-nav .brand > img.platform-brand-logo { width:34px; height:34px; }
  .ticket-brand > img.platform-brand-logo { width:56px; height:56px; }
}
