.content-card:has(.meeting-hall) h1,
.content-card:has(.meeting-hall) h2{font-size:inherit;font-weight:inherit;line-height:inherit}
.content-card:has(.meeting-hall) p{color:inherit;font-weight:inherit}

body:has(.meeting-hall){height:100svh;overflow:hidden;background:#000;overscroll-behavior:none}
body:has(.meeting-hall) .mobile-site,
body:has(.meeting-hall) .page-shell,
body:has(.meeting-hall) .content-card{height:100%;min-height:0;overflow:hidden;background:#000}
body:has(.meeting-hall) .page-shell{display:flex;flex-direction:column;padding:calc(64px + env(safe-area-inset-top,0px)) 10px 0}
body:has(.meeting-hall) .content-card{flex:1;display:flex;flex-direction:column}
body:has(.meeting-hall) .content-card img{margin:0;height:auto}
body:has(.meeting-hall) .content-card .meeting-hall__sbp{flex:none;width:28px;height:22px;min-width:0;min-height:0;max-width:28px;max-height:22px;margin:0;object-fit:cover;object-position:center}
.meeting-hall{position:relative;display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;gap:8px;text-align:left;color:#f5f5f1}
.meeting-hall:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 18%,rgba(94,85,255,.12),transparent 42%),radial-gradient(circle at 88% 0,rgba(245,255,98,.08),transparent 28%)}
.meeting-hall>*{position:relative;z-index:1}
.meeting-hall__app{display:flex;flex:1;flex-direction:column;gap:8px;min-height:0;overflow:hidden}
.meeting-hall h2{margin:0;color:#f5ff62;text-transform:uppercase;font:800 15px/1 Gilroy,Arial,sans-serif;letter-spacing:.04em}
.meeting-hall p{margin:0}
.meeting-hall__hero{
  flex:none;padding:10px 14px 12px;border:1px solid rgba(255,255,255,.16);border-radius:18px;
  background:radial-gradient(circle at 18% 0,rgba(245,255,98,.14),transparent 55%),rgba(255,255,255,.04);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16)
}
.meeting-hall__phase{display:flex;flex-direction:column;gap:6px;margin:0}
.meeting-hall__phase [data-hall-phase-label]{color:#9b9e97;font:700 11px/1 Gilroy,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.meeting-hall__phase strong{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;
  color:#f5ff62;font:900 22px/1 Gilroy,Arial,sans-serif;text-shadow:0 0 18px rgba(245,255,98,.35)
}
.meeting-hall__phase strong span{display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap}
.meeting-hall__phase strong b{font:900 32px/.9 Gilroy,Arial,sans-serif;letter-spacing:-.04em}
.meeting-hall__phase strong small{font-size:.62em;font-weight:600;color:#c9cdd6;text-transform:lowercase}

.meeting-hall__drawer{position:fixed;z-index:70;left:16px;bottom:0;display:flex;flex-direction:column;align-items:flex-start}
.meeting-hall__tab{
  flex:0 0 auto;width:auto;margin:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));
  border:1px solid rgba(245,255,98,.5);border-bottom:0;border-radius:16px 16px 0 0;
  background:#0b0b0b;color:#f5ff62;cursor:pointer
}
.meeting-hall__tab span{display:block;font:700 14px/1.15 Gilroy,Arial,sans-serif;letter-spacing:.02em}
.meeting-hall__panel{
  display:flex;flex-direction:column;gap:8px;width:min(260px,calc(100vw - 32px));margin:0 0 8px;padding:12px;
  border:1px solid rgba(245,255,98,.28);border-radius:16px;background:rgba(8,8,9,.96)
}
.meeting-hall__panel button{
  width:100%;padding:14px 12px;border:1px solid rgba(255,255,255,.16);border-radius:14px;
  background:rgba(255,255,255,.05);color:#fff;font:700 16px/1.25 Gilroy,Arial,sans-serif;text-align:left;cursor:pointer
}
.meeting-hall__panel button:active{border-color:rgba(245,255,98,.55);color:#fbffbd}
.meeting-hall__panel button:disabled{opacity:.4;cursor:default}

.meeting-hall__row,.meeting-hall__card{
  display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px;
  padding:11px 12px;border:1px solid rgba(255,255,255,.18);border-radius:18px;
  background:radial-gradient(circle at 16% 0,rgba(245,255,98,.12),transparent 48%),linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18)
}
.meeting-hall__card{flex-direction:column;align-items:stretch}
.meeting-hall__row button{
  flex:none;height:34px;padding:0 14px;border:1px solid rgba(245,255,98,.45);border-radius:12px;
  background:rgba(245,255,98,.12);color:#f5ff62;font:800 14px/1 Gilroy,Arial,sans-serif;cursor:pointer
}
.meeting-hall__row button:active{transform:scale(.98)}
.meeting-hall__people{flex:0 1 auto;margin-top:0;min-height:0;overflow:hidden;border-radius:18px}
.meeting-hall__people h2{margin-bottom:6px;font-size:17px}
.meeting-hall ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.meeting-hall__topics{counter-reset:hall-topic;gap:8px}
.meeting-hall__topics li{
  position:relative;padding:10px 12px 10px 2em;border:1px solid rgba(255,255,255,.12);border-radius:12px;
  background:rgba(255,255,255,.04);font:700 16px/1.25 Gilroy,Arial,sans-serif;overflow:hidden
}
.meeting-hall__topics li::before{
  content:counter(hall-topic);counter-increment:hall-topic;position:absolute;left:.7em;top:50%;
  color:#f5ff62;font-weight:900;transform:translateY(-50%);text-shadow:0 0 12px rgba(245,255,98,.4)
}
.meeting-hall__topics li.is-empty::before{content:none}
.meeting-hall__notes li{
  padding:11px 0;border-bottom:1px solid rgba(255,255,255,.1);font:600 16px/1.3 Gilroy,Arial,sans-serif
}
.meeting-hall__notes li:last-child{border-bottom:0;padding-bottom:0}
.meeting-hall li.is-empty{border:0;background:none;padding:0;color:#9b9e97;font-weight:500;white-space:normal}
.meeting-hall__servants{flex:0 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}
.meeting-hall__servants li{
  display:block;min-height:0;padding:8px 0;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.1);
  font:600 18px/1.15 Gilroy,Arial,sans-serif;white-space:nowrap;text-overflow:ellipsis
}
.meeting-hall__servants li:last-child{border-bottom:0;padding-bottom:0}
.meeting-hall__servants b{color:#f5ff62;font-weight:900}
.meeting-hall__servants li.is-empty{min-height:0;border:0}

.meeting-hall__lock{display:flex;flex-direction:column;gap:12px}
.meeting-hall__lock h1{margin:0;font:900 34px/1 Gilroy,Arial,sans-serif}
.meeting-hall__lock label,.meeting-hall__dialog label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#c8c8c8}
.meeting-hall input,.meeting-hall textarea{
  width:100%;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:#0c0c0c;color:#fff;
  padding:12px 14px;font:inherit;font-weight:500;-webkit-user-select:text;user-select:text
}
.meeting-hall__lock button,.meeting-hall__dialog button[type="submit"]{
  border:0;border-radius:14px;background:#f5ff62;color:#111;padding:14px 16px;font:700 16px Gilroy,Arial,sans-serif;cursor:pointer
}
.meeting-hall__lock small,.meeting-hall__dialog small{color:#ff6b6b}
.meeting-hall__tradition{
  position:fixed;inset:0;z-index:120;display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;
  padding:calc(18px + env(safe-area-inset-top,0px)) 16px calc(22px + env(safe-area-inset-bottom,0px));
  overflow:hidden;background:#000;color:#fff
}
.meeting-hall__tradition[hidden]{display:none}
body:has(.meeting-hall__tradition:not([hidden])) .page-shell{position:relative;z-index:130}
.meeting-hall__tradition-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding-right:42px}
.meeting-hall__tradition-logo{display:block;width:64px;height:auto;filter:drop-shadow(0 0 12px rgba(135,126,255,.45)) drop-shadow(0 0 6px rgba(245,255,98,.28))}
.meeting-hall__tradition-head p{
  position:relative;overflow:hidden;margin:0;padding:12px 14px;border:1px solid rgba(255,255,255,.22);border-radius:16px;
  background:radial-gradient(circle at 16% 0,rgba(255,255,255,.18),transparent 48%),linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.04));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26);color:#fff;font:600 16px/1 Gilroy,Arial,sans-serif;letter-spacing:.06em;white-space:nowrap
}
.meeting-hall__tradition-body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:0;text-align:center}
.meeting-hall__tradition-phone{
  margin:0;padding:0;border:0;background:transparent;color:#fff;font:900 34px/1 Gilroy,Arial,sans-serif;
  letter-spacing:.02em;white-space:nowrap;text-shadow:0 0 22px rgba(245,255,98,.45);cursor:pointer
}
.meeting-hall__tradition-pay{display:flex;align-items:center;justify-content:center;gap:10px}
.meeting-hall__sbp-plate{display:flex;flex:none;align-items:center;justify-content:center;width:36px;height:30px;overflow:hidden;padding:3px;border-radius:7px;background:#fff}
.meeting-hall__sbp{display:block;width:28px;height:22px;object-fit:cover;object-position:center}
.meeting-hall__bank{color:#fff;font:800 28px/1 Gilroy,Arial,sans-serif}
.meeting-hall__tradition-name{color:#fff;font:800 22px/1 Gilroy,Arial,sans-serif}
body:has(.meeting-hall) .content-card .meeting-hall__tradition-quote{margin:0;padding:0;border:0;color:#bdbdbd;font:300 italic 16px/1.35 Gilroy,Arial,sans-serif;letter-spacing:.02em;text-align:center}
.meeting-hall__tradition .meeting-hall__x{top:calc(10px + env(safe-area-inset-top,0px));color:#ddd}
.meeting-hall__sheet{position:fixed;inset:0;z-index:85;display:grid;place-items:center;padding:18px 12px}
.meeting-hall__sheet[hidden]{display:none}
.meeting-hall__sheet-card{
  position:relative;z-index:1;display:flex;flex-direction:column;width:min(420px,100%);max-height:min(78svh,640px);
  padding:22px 16px 16px;border:1px solid rgba(245,255,98,.28);border-radius:22px;
  background:radial-gradient(circle at 16% 0,rgba(245,255,98,.16),transparent 42%),#0b0b0c;
  box-shadow:0 24px 60px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.16)
}
.meeting-hall__sheet-card h2{margin:0 36px 14px 0;font-size:18px}
.meeting-hall__sheet-card ul{gap:8px;min-height:0;overflow:auto;overscroll-behavior:contain}
.meeting-hall__modal{position:fixed;inset:0;z-index:80;display:grid;place-items:end center}
.meeting-hall__modal[hidden]{display:none}
.meeting-hall__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72)}
.meeting-hall__dialog{
  position:relative;z-index:1;width:min(560px,100%);margin:0;padding:22px 18px 28px;display:flex;flex-direction:column;gap:12px;
  border-radius:22px 22px 0 0;background:#0a0a0a;border:1px solid rgba(245,255,98,.28)
}
.meeting-hall__x{
  position:absolute;top:10px;right:10px;width:36px;height:36px;padding:0;border:0;border-radius:50%;
  background:transparent;color:#aaa;font:700 22px/1 Gilroy,Arial,sans-serif;cursor:pointer
}
.meeting-hall label[hidden],.meeting-hall [hidden]{display:none}
