:root {
  --scarlet: #8b1e24;
  --scarlet-dark: #5e1116;
  --gold: #c8a24a;
  --navy: #111827;
  --cream: #f7f3e8;
  --paper: #ffffff;
  --text: #1f2937;
  --muted: #6b7280;
  --line: #d1d5db;
  --success: #2f855a;
  --pending: #d69e2e;
  --reserved: #6b7280;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: #f3f4f6;
  line-height: 1.5;
}
button, input, select { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .55; }
.container { width: min(1160px, calc(100% - 32px)); margin-inline: auto; }

.hero {
  position: relative;
  min-height: 480px;
  display: grid;
  align-items: center;
  color: white;
  background:
    radial-gradient(circle at 80% 20%, rgba(200,162,74,.2), transparent 30%),
    linear-gradient(135deg, #111827 0%, #5e1116 52%, #8b1e24 100%);
  overflow: hidden;
}
.hero::after {
  content: "";
  position: absolute;
  inset: auto -5% -140px auto;
  width: 460px;
  height: 460px;
  border: 2px solid rgba(255,255,255,.11);
  border-radius: 50%;
}
.hero-content { position: relative; z-index: 1; padding-block: 54px 72px; }
.event-emblem { position:absolute; right:0; bottom:0; width:clamp(125px, 18vw, 220px); height:auto; margin:0; mix-blend-mode:multiply; filter:drop-shadow(0 8px 14px rgba(0,0,0,.18)); opacity:.92; }
.eyebrow { margin: 0 0 10px; text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; font-weight: 800; color: #f5ddb1; }
.eyebrow.dark { color: var(--scarlet); }
h1 { margin: 0; max-width: 820px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.7rem, 7vw, 5.8rem); line-height: .98; }
.tagline { margin: 24px 0 16px; font-family: Georgia, serif; font-size: clamp(1.2rem, 2.5vw, 1.8rem); color: #f5ddb1; }
.event-meta { display: flex; gap: 24px; flex-wrap: wrap; margin-bottom: 20px; font-weight: 700; }
.capacity-strip { display: inline-grid; gap: 2px; margin: 0 0 22px; padding: 11px 15px; border-left: 4px solid var(--gold); background: rgba(17,24,39,.5); }
.capacity-strip strong { color: #fff; }
.capacity-strip span { color: #f5ddb1; font-size: .9rem; }

.btn { border: 0; border-radius: 10px; padding: 13px 20px; font-weight: 800; transition: transform .15s ease, background .15s ease; }
.btn:hover:not(:disabled) { transform: translateY(-1px); }
.btn-primary { color: white; background: var(--scarlet); }
.hero .btn-primary { color: #1b1b1b; background: var(--gold); }
.btn-secondary { color: var(--text); background: #e5e7eb; }

.main-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; margin-block: 40px; }
.card { background: var(--paper); border: 1px solid #e5e7eb; border-radius: 18px; padding: 28px; box-shadow: 0 18px 40px rgba(17,24,39,.07); }
.order-card { position: sticky; top: 20px; }
.section-heading { display: grid; grid-template-columns: 1fr 220px; gap: 24px; align-items: end; padding-bottom: 20px; border-bottom: 1px solid #e5e7eb; }
.section-heading h2, .order-card h2 { margin: 0; font-family: Georgia, serif; }
.step-label { margin: 0 0 4px; color: var(--scarlet); font-weight: 800; }
.progress { height: 8px; background: #e5e7eb; border-radius: 999px; overflow: hidden; }
.progress span { display: block; height: 100%; width: 20%; background: var(--scarlet); transition: width .25s ease; }
.step { display: none; padding-block: 26px; }
.step.active { display: block; }
label { display: grid; gap: 7px; margin-bottom: 18px; font-weight: 750; }
input, select { width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: 12px 13px; color: var(--text); background: white; }
input:focus, select:focus, button:focus-visible { outline: 3px solid rgba(139,30,36,.2); outline-offset: 2px; }
.form-actions { display: flex; justify-content: space-between; gap: 12px; padding-top: 20px; border-top: 1px solid #e5e7eb; }
.attendee-group { border: 1px solid #e5e7eb; border-radius: 14px; margin: 0 0 18px; padding: 20px; }
.attendee-group legend { padding: 0 8px; font-family: Georgia, serif; font-size: 1.15rem; font-weight: 800; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }

.seat-key { display: flex; gap: 18px; flex-wrap: wrap; margin-bottom: 12px; font-size: .92rem; font-weight: 700; }
.seat-key span { display: inline-flex; gap: 7px; align-items: center; }
.seat-dot { width: 13px; height: 13px; border-radius: 50%; display: inline-block; border: 1px solid rgba(0,0,0,.2); }
.seat-dot.available { background: white; }
.seat-dot.selected { background: var(--scarlet); }
.seat-dot.pending { background: var(--pending); }
.seat-dot.reserved { background: var(--reserved); }
.stage { margin: 24px auto 30px; width: min(420px, 90%); padding: 12px; border-radius: 100px 100px 16px 16px; text-align: center; background: var(--navy); color: white; font-weight: 900; letter-spacing: .08em; }
.seat-map { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.table-block { border: 1px solid #e5e7eb; border-radius: 16px; padding: 14px; text-align: center; }
.table-label { margin: 0 auto 12px; width: 86px; height: 86px; border-radius: 50%; display: grid; place-items: center; background: var(--cream); border: 2px solid var(--gold); font-family: Georgia, serif; font-weight: 800; }
.table-seats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; }
.seat { width: 100%; aspect-ratio: 1; border-radius: 50%; border: 1px solid #9ca3af; background: white; font-size: .78rem; font-weight: 800; }
.seat.selected { color: white; border-color: var(--scarlet); background: var(--scarlet); }
.seat.pending { color: #1f2937; border-color: #b7791f; background: #f6d365; }
.seat.reserved { color: white; border-color: var(--reserved); background: var(--reserved); }
.status-message { min-height: 24px; color: var(--scarlet); font-weight: 800; }
.helper, .muted { color: var(--muted); }

.summary-line, .total-row { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid #e5e7eb; }
.summary-line strong { text-align: right; }
.summary-list { display: grid; gap: 5px; padding: 12px 0; border-bottom: 1px solid #e5e7eb; }
.summary-list span { color: var(--muted); }
.total-row { margin-top: 10px; font-size: 1.25rem; border-bottom: 0; }
.security-note { display: grid; gap: 5px; margin-top: 20px; padding: 14px; border-left: 4px solid var(--gold); background: var(--cream); font-size: .9rem; }
.review-section { padding: 14px 0; border-bottom: 1px solid #e5e7eb; }
.review-section h4 { margin: 0 0 8px; }
.review-person { display: grid; margin: 10px 0; }
.review-person span, .review-person small { color: var(--muted); }
.total-review { display: flex; justify-content: space-between; font-size: 1.2rem; }
.checkbox-row { grid-template-columns: auto 1fr; align-items: start; margin-top: 18px; font-weight: 650; }
.checkbox-row input { width: auto; margin-top: 4px; }
.payment-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 30px; align-items: center; }
.payment-details { margin: 24px 0; }
.payment-details div { display: flex; justify-content: space-between; gap: 20px; padding: 11px 0; border-bottom: 1px solid #e5e7eb; }
.payment-details dt { color: var(--muted); }
.payment-details dd { margin: 0; font-weight: 900; text-align: right; }
.qr-card { display: grid; place-items: center; }
.qr-placeholder { width: min(260px, 100%); aspect-ratio: 1; display: grid; place-items: center; align-content: center; gap: 8px; border: 12px solid white; outline: 1px solid #d1d5db; background: repeating-linear-gradient(45deg, #111 0 8px, #fff 8px 16px); text-align: center; }
.qr-placeholder span, .qr-placeholder small { padding: 6px 10px; background: white; font-weight: 900; }
.qr-placeholder small { font-size: .72rem; }
.qr-placeholder img { width: 100%; height: 100%; object-fit: contain; }
footer { padding: 30px 0; text-align: center; color: #d1d5db; background: var(--navy); }

@media (max-width: 900px) {
  .main-layout { grid-template-columns: 1fr; }
  .order-card { position: static; }
  .seat-map { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .hero { min-height: 420px; }
  .hero-content { padding-block: 54px; }
  .card { padding: 20px; border-radius: 14px; }
  .section-heading { grid-template-columns: 1fr; }
  .form-grid, .payment-grid, .seat-map { grid-template-columns: 1fr; }
  .form-actions { flex-direction: column-reverse; }
  .form-actions .btn { width: 100%; }
  .event-meta { display: grid; gap: 7px; }
}
.connection-status { display:block; font-size:.78rem; opacity:.9; margin-bottom:.2rem; }
.connection-status[data-mode="firebase"] { font-weight:700; }
.seat.sold, .seat-dot.sold { background:#181818; color:#fff; }


.payment-steps { margin: 20px 0; padding-left: 1.35rem; }
.payment-steps li { margin: 8px 0; }
.payment-status { display: grid; gap: 10px; margin-top: 24px; padding-top: 20px; border-top: 1px solid #e5e7eb; }
.status-step { display: grid; grid-template-columns: 32px 1fr; gap: 10px; align-items: center; color: var(--muted); }
.status-step span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--line); background: white; font-size: .82rem; font-weight: 900; }
.status-step.complete { color: var(--success); }
.status-step.complete span { color: white; border-color: var(--success); background: var(--success); }
.status-step.current { color: var(--scarlet); }
.status-step.current span { color: white; border-color: var(--scarlet); background: var(--scarlet); }
.qr-caption { margin: 14px 0 0; color: var(--muted); text-align: center; font-size: .86rem; font-weight: 700; }
.qr-placeholder { aspect-ratio: auto; background: white; }
.qr-placeholder img { display: block; width: 100%; height: auto; }

.attendee-checkbox { align-self: end; margin-top: 1.55rem; }
.review-person .viz-badge { display:inline-block; margin-left:.4rem; padding:.15rem .45rem; border-radius:999px; font-size:.72rem; background:#f3e7bf; color:#5a4310; vertical-align:middle; }

/* RC1 ballroom layout */
.ballroom-front{display:grid;gap:12px;margin:18px 0 14px}.dance-floor{min-height:82px;border:2px dashed #b8995a;border-radius:16px;display:grid;place-items:center;font-weight:800;letter-spacing:.12em;background:linear-gradient(135deg,#fffaf0,#f3ead4)}
.ballroom-shell{display:grid;grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr);gap:16px;align-items:start;padding:18px;border:1px solid #d8d8d8;border-radius:18px;background:#faf9f6}
.ballroom-side{display:grid;grid-template-columns:repeat(2,minmax(125px,1fr));gap:20px 14px;align-items:start}.center-walkway{align-self:stretch;min-height:780px;border-left:2px dashed #9b8760;border-right:2px dashed #9b8760;background:#f1eadc;display:flex;justify-content:center;align-items:center;border-radius:12px}.center-walkway span{writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.16em;font-size:.72rem;font-weight:800;color:#6d5b37}
.legacy-seat-map{display:none}.round-table{position:relative;min-height:205px;padding:4px 2px 28px;border-radius:16px}.round-table .table-label{text-align:center;display:grid;gap:2px;margin-bottom:5px}.round-table .table-label small{font-size:.68rem;color:#676767;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.circular-seats{position:relative;width:166px;height:166px;margin:0 auto}.circular-seats .seat{position:absolute;left:50%;top:50%;width:32px;height:32px;margin:-16px;transform:rotate(calc(var(--seat-index) * var(--seat-angle,36deg))) translateY(-70px) rotate(calc(var(--seat-index) * var(--seat-angle,36deg) * -1));border-radius:50%;font-size:.72rem;padding:0}.table-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:#f4efe5;border:2px solid #9f8650;font-weight:900;color:#7b1e25;font-size:1.35rem}.table-closed{opacity:.46}.table-closed .table-center{background:#e7e7e7;border-color:#aaa;color:#777}.seat.locked{background:#d7d7d7!important;color:#777!important;border-color:#aaa!important;cursor:not-allowed}.hidden-field{display:none!important}
@media (max-width:900px){.ballroom-shell{grid-template-columns:1fr 42px 1fr;gap:8px;padding:10px}.ballroom-side{grid-template-columns:1fr;gap:14px}.center-walkway{min-height:1450px}.circular-seats{width:145px;height:145px}.circular-seats .seat{transform:rotate(calc(var(--seat-index) * var(--seat-angle,36deg))) translateY(-60px) rotate(calc(var(--seat-index) * var(--seat-angle,36deg) * -1))}}
@media (max-width:620px){.ballroom-shell{grid-template-columns:1fr}.center-walkway{min-height:50px;order:2;border:2px dashed #9b8760}.center-walkway span{writing-mode:horizontal-tb;transform:none}.ballroom-side{grid-template-columns:1fr 1fr}.ballroom-side#rightTables{order:3}.circular-seats{width:138px;height:138px}.circular-seats .seat{width:29px;height:29px;margin:-14.5px;transform:rotate(calc(var(--seat-index) * var(--seat-angle,36deg))) translateY(-56px) rotate(calc(var(--seat-index) * var(--seat-angle,36deg) * -1))}.round-table{min-height:180px}}

.table-info-trigger{border:0;background:transparent;color:inherit;padding:2px 8px;cursor:pointer;display:grid;gap:1px;width:100%}.table-info-trigger:hover strong,.table-info-trigger:focus-visible strong{text-decoration:underline}.table-info-dialog{width:min(92vw,560px);border:0;border-radius:18px;padding:0;box-shadow:0 24px 70px rgba(0,0,0,.32);color:#1f2933}.table-info-dialog::backdrop{background:rgba(5,18,31,.72)}.table-info-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 15px;border-bottom:1px solid #e5e7eb}.table-info-header h3{margin:2px 0 0}.dialog-close{border:0;background:#f1f1f1;border-radius:50%;width:38px;height:38px;font-size:1.55rem;line-height:1;cursor:pointer}.table-info-dialog>.helper,.table-occupants,.table-available-seats,.privacy-note{margin-left:24px;margin-right:24px}.table-occupants,.table-available-seats{padding:14px 0}.table-occupants h4,.table-available-seats h4{margin:0 0 10px}.occupant-row{display:grid;grid-template-columns:78px 1fr;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #ececec}.occupant-seat{font-size:.85rem;color:#666}.empty-table-note{padding:14px;border-radius:10px;background:#f6f7f8;color:#555}.available-seat-list{display:flex;flex-wrap:wrap;gap:8px}.available-seat-list button{border:1px solid #9f8650;background:#fff;color:#26384b;border-radius:999px;padding:8px 12px;cursor:pointer}.available-seat-list button:hover{background:#f7edcf}.privacy-note{padding:14px 0 22px;border-top:1px solid #e5e7eb;font-size:.82rem;color:#626b73}.seat.has-occupant-info{outline:2px solid rgba(159,134,80,.45)}

.capacity-meter{width:min(320px,72vw);height:8px;border-radius:999px;background:rgba(255,255,255,.22);overflow:hidden;margin-top:6px}
.capacity-meter span{display:block;height:100%;width:0;background:var(--gold);transition:width .25s ease}
.capacity-strip small{color:#f5ddb1;font-size:.78rem}
.draft-status{margin:8px 0 0;color:var(--muted);font-size:.82rem;text-align:right}
@media (max-width:720px){.hero-content{padding-right:0;padding-bottom:145px}.event-emblem{right:12px;bottom:8px;width:132px;opacity:.86}.capacity-meter{width:100%}.draft-status{text-align:left}}

/* Operation Dress Blues visual system */
:root{
  --navy:#071b2f;
  --navy-2:#0d2b46;
  --gold:#c8a24a;
  --gold-soft:#e5cf91;
  --paper:#ffffff;
  --canvas:#f4f1eb;
  --text:#16202a;
  --muted:#68727e;
  --line:#e2ddd3;
}
body{background:var(--canvas);color:var(--text)}
.container{width:min(1180px,calc(100% - 36px));margin-inline:auto}
.hero-dress-blues{position:relative;min-height:660px;overflow:hidden;background:var(--navy);color:#fff;border-bottom:1px solid rgba(200,162,74,.55)}
.hero-dress-blues::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 18%,rgba(255,255,255,.05),transparent 28%),linear-gradient(135deg,rgba(255,255,255,.025),transparent 45%);pointer-events:none}
.public-nav{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:center;padding-top:24px}
.brand-mark{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(229,207,145,.55);border-radius:50%;color:#fff;text-decoration:none;font-weight:900;letter-spacing:.08em}
.public-nav-links{display:flex;gap:26px;align-items:center}.public-nav-links a{color:rgba(255,255,255,.78);text-decoration:none;font-size:.92rem;font-weight:700}.public-nav-links a:hover{color:#fff}
.hero-dress-blues .hero-content{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.55fr);gap:60px;align-items:center;min-height:560px;padding:76px 0 100px}
.hero-copy{max-width:760px}.hero-copy .eyebrow{margin:0 0 18px;color:var(--gold-soft);font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;font-weight:800}
.hero-copy h1{margin:0;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,6.2vw,6.2rem);line-height:.92;letter-spacing:-.045em;font-weight:700}
.hero-copy .tagline{margin:28px 0 0;color:#fff;font-size:1.08rem;font-weight:700}
.hero-hosts{max-width:760px;margin:18px 0 0;color:rgba(255,255,255,.66);font-size:.9rem;line-height:1.7}.hero-hosts span{color:var(--gold-soft);font-weight:800}
.hero-actions{display:flex;align-items:center;gap:22px;margin-top:34px;flex-wrap:wrap}.hero-primary{min-width:210px;box-shadow:0 10px 30px rgba(0,0,0,.18)}.hero-secondary{color:#fff;text-decoration:none;font-weight:800;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:3px}
.hero-capacity{align-self:end;justify-self:end;width:min(320px,100%);padding:22px 24px;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:rgba(255,255,255,.07);backdrop-filter:blur(8px);display:grid;gap:5px}.hero-capacity strong{font-size:1.35rem}.hero-capacity>span:not(.connection-status){color:rgba(255,255,255,.72)}
.hero-dress-blues .event-emblem{position:absolute;right:-26px;bottom:-48px;width:min(380px,32vw);max-width:none;opacity:.24;filter:saturate(.82) contrast(1.04);pointer-events:none}
.landing-overview{position:relative;z-index:4;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:-58px;margin-bottom:46px}
.event-detail-card{min-height:152px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 16px 40px rgba(23,31,38,.08);display:flex;flex-direction:column;justify-content:flex-end}.event-detail-card span{text-transform:uppercase;letter-spacing:.14em;color:#866e37;font-size:.7rem;font-weight:900}.event-detail-card strong{margin-top:10px;font-size:1.05rem;line-height:1.3}.event-detail-card small{margin-top:5px;color:var(--muted)}
.main-layout{align-items:start}.card{border:1px solid var(--line);box-shadow:0 14px 38px rgba(24,31,38,.07);border-radius:22px}.registration-card{overflow:hidden}.section-heading{margin:-4px -4px 26px;padding-bottom:22px;border-bottom:1px solid #ece7dd}.section-heading h2,.order-card h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.02em}.step-label{color:#8b6d2a;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900}
.btn{border-radius:12px;padding:.85rem 1.15rem;font-weight:850}.btn-primary{background:var(--gold);border-color:var(--gold);color:#152130}.btn-primary:hover{background:#d5b35f;border-color:#d5b35f}.btn-secondary{background:#fff;border-color:#cfc7b7;color:#263544}
.order-card{border-top:4px solid var(--gold)}
.public-footer{margin-top:54px;padding:38px 0;background:var(--navy);color:rgba(255,255,255,.72)}.footer-grid{display:flex;justify-content:space-between;gap:32px;align-items:center}.footer-grid strong{color:#fff}.footer-grid p{margin:.5rem 0 0;max-width:700px}.footer-grid a{color:var(--gold-soft);font-weight:800;text-decoration:none;white-space:nowrap}
@media(max-width:900px){.hero-dress-blues .hero-content{grid-template-columns:1fr;gap:28px;padding-top:56px}.hero-capacity{justify-self:start;align-self:auto}.hero-dress-blues .event-emblem{width:320px;right:-80px;bottom:-20px}.landing-overview{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.public-nav-links a:not(:last-child){display:none}.hero-dress-blues{min-height:700px}.hero-dress-blues .hero-content{padding:50px 0 140px}.hero-copy h1{font-size:3.35rem}.hero-dress-blues .event-emblem{width:260px;right:-70px;bottom:-18px;opacity:.2}.landing-overview{grid-template-columns:1fr;margin-top:-42px}.event-detail-card{min-height:120px}.footer-grid{align-items:flex-start;flex-direction:column}.hero-actions{align-items:flex-start;flex-direction:column}.hero-primary{width:100%}}

/* Committee visual polish */
.admin-body{background:#f2f0eb;color:#16202a}.admin-topbar{background:var(--navy);border-bottom:1px solid rgba(200,162,74,.6);padding-top:2.3rem;padding-bottom:2.3rem}.admin-topbar h1{font-family:Georgia,"Times New Roman",serif;font-size:2.4rem}.admin-topbar .eyebrow{color:var(--gold-soft)}.metric-card,.admin-panel{border-color:var(--line);box-shadow:0 10px 28px rgba(22,32,42,.055)}.metric-card{border-radius:16px;padding:1.25rem}.metric-card strong{font-family:Georgia,"Times New Roman",serif;color:#10253a}.admin-panel{border-radius:20px}.panel-heading h2{font-family:Georgia,"Times New Roman",serif}.report-button{border-radius:14px;transition:.15s ease}.report-button:hover{transform:translateY(-1px);border-color:#c7b57e;background:#fbf7eb}

.registration-utility-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.4rem}
.registration-utility-row .draft-status{margin:0}
.reset-registration-button{border:0;background:transparent;color:#6b7280;font:inherit;font-size:.9rem;font-weight:750;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:.25rem 0}
.reset-registration-button:hover{color:var(--navy)}
.reset-registration-button:disabled{opacity:.5;cursor:wait}
@media(max-width:640px){.registration-utility-row{align-items:flex-start;flex-direction:column;gap:.35rem}}


/* Meal-based pricing and final confirmation */
.plate-pricing-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0 1.25rem}.plate-pricing-summary>div{display:flex;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--border,#d8dde7);border-radius:14px;background:#f8fafc}.plate-pricing-summary span{color:#596273}.plate-pricing-summary strong{color:#10233f}.meal-price-note{display:block;margin-top:.35rem;color:#8a6914;font-weight:700}.final-confirmation{text-align:center;max-width:720px;margin:0 auto;padding:1rem}.confirmation-mark{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:0 auto 1rem;background:#e8f5ed;color:#1d6f42;font-size:2.25rem;font-weight:800}.confirmation-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1.5rem 0;text-align:left}.confirmation-details>div{padding:1rem;border:1px solid var(--border,#d8dde7);border-radius:14px;background:#f8fafc}.confirmation-details dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#6a7280}.confirmation-details dd{margin:.3rem 0 0;font-weight:800;color:#10233f}.confirmation-seats{margin:1rem 0 1.5rem;color:#465064}.confirmation-seats strong{display:block;color:#10233f}@media(max-width:640px){.plate-pricing-summary,.confirmation-details{grid-template-columns:1fr}}

.unit-subsidy-notice{margin:1rem 0;padding:1rem 1.1rem;border:1px solid rgba(198,155,55,.42);border-radius:14px;background:rgba(198,155,55,.09);display:none}.unit-subsidy-notice.visible{display:block}.unit-subsidy-notice strong{display:block;margin-bottom:.3rem}.unit-subsidy-notice .subsidy-positive{color:#116530}.unit-subsidy-notice .subsidy-neutral{color:#53606d}.plate-pricing-summary div{gap:.35rem}.plate-pricing-summary small{display:block;font-weight:500;color:#59636f}.plate-pricing-summary .original-price{text-decoration:line-through;opacity:.65;margin-right:.35rem}.plate-pricing-summary .subsidized-price{color:#116530}.payment-draft-warning{padding:.8rem 1rem;border-radius:12px;background:#fff6d9;border:1px solid #e0bc58}

.seat.reserved-occupied{background:#6f42a5!important;color:#fff!important;border-color:#4c2b75!important}


/* v0.5.2a public hero layout polish */
.hero-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;min-width:0}
.hero-visual .hero-capacity{position:relative;z-index:2;align-self:stretch;justify-self:auto;width:100%;max-width:430px;margin-inline:auto}
.hero-dress-blues .hero-visual .event-emblem{position:relative;right:auto;bottom:auto;width:min(430px,100%);max-width:100%;opacity:.58;filter:saturate(.9) contrast(1.05) drop-shadow(0 14px 26px rgba(0,0,0,.22));mix-blend-mode:normal}
@media(max-width:900px){.hero-visual{align-items:flex-start}.hero-visual .hero-capacity{margin-inline:0}.hero-dress-blues .hero-visual .event-emblem{width:min(390px,92vw);align-self:center}}
@media(max-width:640px){.hero-dress-blues .hero-content{padding-bottom:70px}.hero-visual{gap:18px}.hero-dress-blues .hero-visual .event-emblem{width:min(320px,90vw);opacity:.52}}

/* MCCOC payment integrity states */
.qr-security-check,.qr-security-warning{display:grid;place-items:center;gap:.45rem;text-align:center;min-height:180px;padding:1rem}.qr-security-warning{border:2px solid #9b1c2c;background:#fff5f5;color:#7f1d1d;border-radius:12px}.qr-account-label{display:block;margin-top:.55rem;font-weight:700;text-align:center;color:#1f2937}
.venmo-direct-link{display:inline-flex;align-items:center;justify-content:center;margin-top:1rem;text-decoration:none;text-align:center;min-height:48px;max-width:280px;width:100%;box-sizing:border-box}
.venmo-mobile-helper{margin:.55rem 0 0;max-width:280px;text-align:center;color:var(--muted);font-size:.84rem;line-height:1.45}
/* MCCOC v0.7.0 public guest experience */
.public-suite-brand{display:flex;align-items:center;gap:.65rem;color:#fff;text-decoration:none}.public-suite-brand img{width:48px;height:48px;object-fit:contain}.public-suite-brand span{display:grid;line-height:1.05}.public-suite-brand strong{letter-spacing:.12em}.public-suite-brand small{color:#d8c38d;margin-top:.2rem}.refined-public-links{align-items:center}.refined-public-links a{padding:.45rem .7rem;border-radius:999px;text-decoration:none}.refined-public-links a:hover{background:rgba(255,255,255,.1)}.public-register-link{border:1px solid #c8a75d!important;color:#f5e4b5!important}.public-countdown{display:inline-flex;margin:.8rem 0 0;padding:.5rem .8rem;border:1px solid rgba(201,163,76,.55);border-radius:999px;color:#f7e8bd;background:rgba(7,26,51,.45);font-weight:700}.public-experience-section{padding:4rem 0;border-top:1px solid #e4e7eb;background:#f7f8fa}.public-experience-section:nth-of-type(even){background:#fff}.public-section-heading{max-width:720px;margin-bottom:1.5rem}.public-section-heading h2{margin:.2rem 0 .45rem;font-size:clamp(2rem,4vw,3rem);color:#071a33}.public-section-heading>p:last-child{color:#5d6875}.venue-parking-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(320px,1.2fr);gap:1.2rem}.public-info-card,.public-map-card{background:#fff;border:1px solid #d9dee5;border-radius:18px;padding:1.25rem}.public-info-card h3{margin-top:0;color:#071a33}.public-map-card{padding:.4rem;overflow:hidden;min-height:390px}.public-map-card iframe{border:0;width:100%;height:380px;border-radius:14px}.map-action-row{display:flex;gap:.65rem;flex-wrap:wrap;margin:1rem 0}.preferred-parking-list{display:grid;gap:.65rem;margin-top:1rem}.parking-option{border-top:1px solid #e5e7eb;padding-top:.7rem}.parking-option strong{display:block;color:#071a33}.parking-option a{display:inline-block;margin-top:.3rem;color:#735b22;font-weight:800}.public-event-timeline{display:grid;gap:.55rem;max-width:920px;margin:0 auto}.public-timeline-item{display:grid;grid-template-columns:110px 1fr;gap:1rem;align-items:center;padding:.85rem 1rem;border:1px solid #d9dee5;border-left:4px solid #c9a34c;border-radius:14px;background:#fff}.public-timeline-item time{font-weight:900;color:#071a33}.public-timeline-item strong{display:block}.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.faq-grid details{background:#fff;border:1px solid #d9dee5;border-radius:14px;padding:1rem}.faq-grid summary{cursor:pointer;font-weight:800;color:#071a33}.faq-grid p{color:#5d6875;margin-bottom:0}@media(max-width:900px){.venue-parking-grid,.faq-grid{grid-template-columns:1fr}.refined-public-links{gap:.2rem;flex-wrap:wrap}.public-map-card{min-height:300px}.public-map-card iframe{height:290px}}@media(max-width:620px){.public-suite-brand span{display:none}.refined-public-links a:not(.public-register-link):not([href="guest-portal.html"]){display:none}.public-event-timeline{gap:.4rem}.public-timeline-item{grid-template-columns:1fr;gap:.2rem}.public-experience-section{padding:2.75rem 0}}
/* MCCOC-aligned registration surface */
.registration-card,.order-card{border-color:#d6c49a;box-shadow:0 12px 32px rgba(7,26,51,.07)}.registration-card .section-heading{border-bottom:2px solid #c9a34c;padding-bottom:1rem;margin-bottom:1.25rem}.registration-card h2,.registration-card h3,.order-card h2{color:#071a33}.registration-card .step-label{color:#80651f;font-weight:900;letter-spacing:.08em}.registration-card input,.registration-card select,.registration-card textarea{border-color:#cfd5dc;background:#fff}.registration-card input:focus,.registration-card select:focus,.registration-card textarea:focus{outline:2px solid rgba(201,163,76,.35);border-color:#a58438}.order-card{border-top:4px solid #c9a34c}.security-note{border-left:4px solid #c9a34c;background:#f9f6ed}.payment-grid{border-top:1px solid #eadfbf;padding-top:1rem}.final-confirmation{border:1px solid #d6c49a;background:#fffdf8}.confirmation-mark{background:#071a33;color:#e6cb84}

/* v0.7.2 Engine Room Alpha: event-owned registration identity */
.registration-hero-copy{max-width:900px}
.event-host-logo-row{display:flex;align-items:end;gap:clamp(18px,3vw,40px);margin:0 0 20px;min-height:116px;flex-wrap:wrap}
.event-host-mark{margin:0;display:grid;grid-template-rows:88px auto;justify-items:center;gap:7px;min-width:110px}
.event-host-mark img{height:88px;width:112px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.22))}
.event-host-mark figcaption{font-size:.62rem;letter-spacing:.11em;text-transform:uppercase;color:var(--gold-soft);font-weight:900;max-width:135px;text-align:center;line-height:1.25}
.event-host-label{margin-top:0!important;margin-bottom:12px!important;color:rgba(255,255,255,.66)!important;letter-spacing:.13em!important}
.registration-hero-copy h1{max-width:850px;font-size:clamp(3rem,5.4vw,5.7rem)!important;line-height:.96!important}
.hero-gold-divider{width:min(430px,75%);display:flex;align-items:center;gap:14px;color:var(--gold);margin:24px 0 4px}.hero-gold-divider span{height:1px;background:var(--gold);flex:1}.hero-gold-divider b{font-size:.9rem}
.hero-watermark-emblem{opacity:.09!important;position:absolute!important;right:-90px!important;bottom:-110px!important;width:520px!important;filter:grayscale(.25) saturate(.7)!important;pointer-events:none}
.hero-visual{position:relative;min-height:320px;justify-content:flex-end}.hero-visual .hero-capacity{margin-top:auto;margin-bottom:34px;background:rgba(7,26,51,.55);border-color:rgba(201,163,76,.42)}
@media(max-width:900px){.event-host-logo-row{min-height:auto}.hero-visual{min-height:180px}.hero-watermark-emblem{width:360px!important;right:-110px!important;bottom:-70px!important}.hero-visual .hero-capacity{margin-bottom:0}}
@media(max-width:640px){.event-host-mark{grid-template-rows:62px auto;min-width:82px}.event-host-mark img{height:62px;width:82px}.event-host-mark figcaption{font-size:.5rem}.event-host-logo-row{gap:12px}.registration-hero-copy h1{font-size:3.05rem!important}.hero-gold-divider{width:85%}}


/* v0.7.3 Registration Identity: ceremony-first public experience */
.registration-public-hero{min-height:0;background:#071a33;border-bottom:0;overflow:hidden;position:relative;padding-bottom:0}
.registration-public-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 26%,rgba(255,255,255,.045),transparent 30%),linear-gradient(180deg,rgba(255,255,255,.018),transparent 60%);pointer-events:none}
.registration-public-hero .public-nav{padding-top:18px;padding-bottom:10px}
.public-suite-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;min-width:0}
.public-suite-brand img{width:52px;height:52px;object-fit:contain;flex:0 0 auto}
.public-suite-brand span{display:grid;line-height:1.08}.public-suite-brand strong{font-size:.88rem;letter-spacing:.14em}.public-suite-brand small{font-size:.62rem;color:#d8c38d;letter-spacing:.04em;max-width:220px}
.registration-hero-inner{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;text-align:center;padding:34px 0 128px;max-width:1080px}
.combined-host-emblem{width:clamp(150px,15vw,215px);height:auto;max-height:215px;object-fit:contain;background:transparent;border:0;border-radius:0;box-shadow:none;margin:0 0 20px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.22))}
.event-host-name-stack{display:grid;gap:4px;margin:0 0 22px;color:#e6cb84;text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:clamp(.68rem,1.1vw,.86rem);line-height:1.35}
.event-host-name-stack span{display:block}
.registration-hero-inner h1{margin:0;max-width:980px;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.4rem,6.4vw,6.4rem);line-height:.92;letter-spacing:-.045em;font-weight:700;text-wrap:balance}
.hero-gold-divider.centered{margin:27px auto 16px;width:min(430px,72%)}
.hero-event-meta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:0;color:#f0e4c2;font-weight:700;font-size:1rem}
.registration-public-hero .public-countdown{margin-top:16px}
.centered-actions{justify-content:center;margin-top:25px}
.registration-public-hero .hero-secondary{color:#fff}

.public-event-status{background:#fff;border-bottom:1px solid #eee7d8}.public-event-status-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:7px;padding-bottom:7px}.countdown-status{display:flex;align-items:center;gap:11px;color:#071a33}.countdown-status strong{font-size:.9rem;letter-spacing:.035em;text-transform:uppercase}.status-clock{display:grid;place-items:center;width:34px;height:34px;border:2px solid #071a33;border-radius:50%;font-size:1rem}.low-inventory-notice{padding:9px 13px;border:1px solid #d4a53b;border-radius:999px;background:#fff8e7;color:#715510;font-size:.82rem;font-weight:900;letter-spacing:.035em;text-transform:uppercase}.low-inventory-notice::before{content:"◈";margin-right:7px;color:#c9a34c}.low-inventory-notice.sold-out{border-color:#b42318;background:#fff1f0;color:#912018}.low-inventory-notice.sold-out::before{content:"●";color:#b42318}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.registration-intro{background:#fff;padding:48px 0 26px}
.registration-intro-inner{max-width:1120px;text-align:center}
.registration-intro-heading{max-width:760px;margin:0 auto 30px}.registration-intro-heading h2{margin:.15rem 0 .45rem;color:#071a33;font-size:clamp(2rem,3.4vw,3rem);letter-spacing:.08em;text-transform:uppercase}.registration-intro-heading p:last-child{color:#5f6670;font-size:1.05rem}
.registration-confidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 auto 28px;max-width:1040px}
.registration-confidence-grid article{display:grid;grid-template-columns:58px 1fr;gap:14px;align-items:center;text-align:left;padding:14px 28px;border-right:1px solid #e3e5e8}.registration-confidence-grid article:last-child{border-right:0}
.confidence-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#071a33;color:#c9a34c;border:1px solid #c9a34c;font-size:1.3rem;font-weight:900}
.registration-confidence-grid strong{display:block;color:#071a33;text-transform:uppercase;letter-spacing:.08em;font-size:.9rem}.registration-confidence-grid p{margin:.25rem 0 0;color:#626a74;font-size:.9rem;line-height:1.45}
.registration-capacity-strip{max-width:900px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;gap:9px 18px;align-items:center;padding:14px 18px;border-top:1px solid #e5d8b8;border-bottom:1px solid #e5d8b8;text-align:left;color:#071a33}
.registration-capacity-strip .connection-status{grid-column:1/-1;font-size:.68rem;text-transform:uppercase;letter-spacing:.11em;color:#6d7480;font-weight:800}.registration-capacity-strip strong{font-size:1rem}.registration-capacity-strip>span:not(.connection-status){color:#626a74;font-size:.9rem}.registration-capacity-strip .capacity-meter{width:100%;min-width:150px}.registration-capacity-strip small{text-align:right;color:#6d7480;font-weight:800}
.registration-intro + .landing-overview{margin-top:22px;margin-bottom:46px}

@media(max-width:900px){
  .registration-public-hero .public-nav{align-items:flex-start}.public-suite-brand small{display:none}.registration-hero-inner{padding-top:24px;padding-bottom:100px}.registration-hero-inner h1{font-size:clamp(3.05rem,9vw,5.2rem)}
  .registration-confidence-grid{grid-template-columns:1fr;max-width:640px}.registration-confidence-grid article{border-right:0;border-bottom:1px solid #e3e5e8}.registration-confidence-grid article:last-child{border-bottom:0}
}
@media(max-width:640px){
  .registration-public-hero .public-nav-links a:not(.public-register-link):not([href="guest-portal.html"]){display:none}.public-suite-brand img{width:46px;height:46px}.public-suite-brand strong{font-size:.78rem}
  .registration-hero-inner{padding:22px 0 86px}.combined-host-emblem{width:112px;height:112px;margin-bottom:14px}.event-host-name-stack{font-size:.6rem;letter-spacing:.1em;margin-bottom:18px}.registration-hero-inner h1{font-size:3.25rem}.hero-event-meta{font-size:.88rem}.centered-actions{width:100%;align-items:stretch}.centered-actions .btn{width:100%}
  .registration-intro{padding-top:52px}.registration-confidence-grid article{padding:14px 4px}.registration-capacity-strip{grid-template-columns:1fr;gap:7px;text-align:center}.registration-capacity-strip small{text-align:center}.registration-capacity-strip .capacity-meter{min-width:0}
}

/* v0.7.4 public status refinement */
@media(max-width:640px){.public-event-status-inner{align-items:flex-start;flex-direction:column;justify-content:center;padding-top:14px;padding-bottom:14px}.countdown-status strong{font-size:.78rem}.low-inventory-notice{margin-left:45px}}


/* v0.7.6 Refinement */
.envelope-v-transition{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:96px;z-index:4;display:block;pointer-events:none}
.envelope-v-transition .envelope-fill{fill:#fff}
.envelope-v-transition .envelope-gold{fill:none;stroke:#c9a34c;stroke-width:3;vector-effect:non-scaling-stroke}
.registration-public-hero .registration-hero-inner{padding-bottom:138px}
.landing-overview{margin-top:26px;margin-bottom:42px}
.registration-intro{padding-top:30px}
.registration-intro-heading h2{text-transform:none;letter-spacing:.015em;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.3rem,4vw,3.4rem)}
.contact-section{text-align:center}
.contact-section .public-section-heading{margin-left:auto;margin-right:auto}
.faq-section{background:#fff!important}
@media(max-width:640px){.envelope-v-transition{height:64px}.registration-public-hero .registration-hero-inner{padding-bottom:102px}.combined-host-emblem{width:148px;max-height:148px}.landing-overview{margin-top:18px}.registration-intro{padding-top:24px}}


/* v0.7.7 Registration composition correction */
.registration-public-hero{
  min-height:620px;
  background:#071a33;
  position:relative;
  overflow:hidden;
  border:0;
  isolation:isolate;
}
.registration-public-hero::before{
  background:radial-gradient(circle at 52% 30%,rgba(255,255,255,.025),transparent 38%);
}
.registration-public-hero .public-nav{position:relative;z-index:8;padding-top:18px;padding-bottom:6px}
.registration-hero-inner{
  position:relative;z-index:5;max-width:1320px;
  padding:8px 210px 128px;
  min-height:540px;
  justify-content:center;
}
.combined-host-emblem{width:122px;height:122px;object-fit:contain;margin:0 auto 7px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.22))}
.event-host-name-stack{max-width:900px;margin:0 auto 18px;color:#e4c46f;font-size:.72rem;line-height:1.48;letter-spacing:.16em;font-weight:900;text-transform:uppercase;text-align:center}
.registration-hero-inner h1{
  width:max-content;max-width:none;margin:0 auto;
  font-size:clamp(3.35rem,4.35vw,5.2rem)!important;
  line-height:1!important;letter-spacing:-.035em!important;white-space:nowrap;text-wrap:nowrap;
}
.hero-gold-divider.centered{width:min(610px,62vw);margin:25px auto 20px;gap:20px}
.hero-gold-divider.centered span{height:1px;background:#d4ac45}
.hero-gold-divider.centered b{font-size:1rem;color:#d4ac45}
.hero-event-meta{font-size:1.04rem;color:#f4e4b7;font-weight:800;gap:16px}
.centered-actions{justify-content:center;margin-top:28px;gap:18px}
.centered-actions .btn{min-width:245px;justify-content:center;text-align:center}
.hero-detail-button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;color:#141922!important;background:#d3aa49!important;border-color:#d3aa49!important;box-shadow:0 9px 20px rgba(0,0,0,.20)}
.hero-detail-button:hover{filter:brightness(1.04)}
.hero-countdown{
  position:absolute;z-index:6;left:max(30px,calc((100vw - 1500px)/2 + 20px));top:50%;transform:translateY(-40%);
  width:190px;text-align:center;color:#fff;display:flex;flex-direction:column;align-items:center;
}
.hero-countdown-icon{display:grid;place-items:center;width:45px;height:45px;border:3px solid #d3aa49;border-radius:50%;color:#d3aa49;font-size:1.25rem;margin-bottom:8px}
.hero-countdown-label{color:#d8b456;text-transform:uppercase;letter-spacing:.1em;font-weight:900;font-size:.78rem;padding-bottom:8px;border-bottom:1px solid rgba(211,170,73,.85)}
.hero-countdown strong{font-family:Georgia,"Times New Roman",serif;font-size:4.5rem;line-height:1;color:#fff;margin:10px 0 8px;font-weight:700}
.hero-mini-divider{width:135px;display:flex;align-items:center;gap:11px;color:#d3aa49}.hero-mini-divider span{height:1px;background:#d3aa49;flex:1}.hero-mini-divider b{font-size:.82rem}
.hero-outline-ega{
  position:absolute;z-index:2;right:-42px;top:115px;width:390px;height:auto;object-fit:contain;
  filter:invert(1);opacity:.075;pointer-events:none;
}
.hero-low-inventory{
  position:absolute;z-index:7;right:55px;top:57%;transform:translateY(-50%);
  max-width:250px;padding:11px 16px;border:1px solid rgba(216,55,45,.78);border-radius:10px;
  background:rgba(125,20,20,.92);color:#fff;font-size:.86rem;font-weight:900;letter-spacing:.035em;text-transform:uppercase;
  box-shadow:0 8px 24px rgba(0,0,0,.24);
}
.hero-low-inventory::before{content:"!";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:8px;border-radius:50%;background:#fff;color:#a52020;font-weight:900}
.hero-low-inventory.sold-out{background:#8d1818;border-color:#ffb0aa}
.hero-curve-transition{position:absolute;z-index:7;left:0;right:0;bottom:-1px;width:100%;height:90px;display:block;pointer-events:none;filter:drop-shadow(0 7px 7px rgba(5,19,36,.14))}
.hero-curve-fill{fill:#f8f6f1}.hero-curve-shadow{fill:none;stroke:rgba(5,19,36,.18);stroke-width:10;vector-effect:non-scaling-stroke}.hero-curve-gold{fill:none;stroke:#d0a842;stroke-width:3;vector-effect:non-scaling-stroke}

.landing-overview{
  max-width:1760px;margin:0 auto;padding:34px 54px 54px;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;
  background:#f8f6f1;
}
.event-detail-card{
  min-height:280px;padding:28px 24px 26px;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;
  border:1px solid rgba(197,158,67,.58);border-radius:18px;background:#fff;
  box-shadow:0 12px 24px rgba(25,36,48,.10),0 2px 4px rgba(25,36,48,.06);
}
.event-detail-card>span:not(.event-detail-icon){font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;font-weight:900;color:#8e7335}
.event-detail-card strong{margin:8px auto 0;max-width:100%;color:#0b1d34;font-family:Georgia,"Times New Roman",serif;font-size:1.15rem;line-height:1.22;text-align:center}
.event-detail-card small{display:block;margin-top:13px;color:#253449;font-size:.94rem;line-height:1.35;text-align:center}
.event-detail-icon{width:46px;height:46px;display:grid;place-items:center;margin:0 auto 12px;color:#b79338}
.event-detail-icon svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.event-detail-icon.attire-icon{font-size:2.25rem;transform:rotate(45deg)}
.detail-star-divider{display:flex;align-items:center;gap:8px;width:112px;margin:10px auto 2px;color:#bd9638}.detail-star-divider i{height:1px;background:#d4b25e;flex:1}.detail-star-divider b{font-size:.65rem}
#publicAttire{font-size:1.01rem;line-height:1.28}

.public-experience-section{padding:54px 0}
.centered-public-heading{max-width:780px!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.centered-public-heading h2{text-align:center}.centered-public-heading p{text-align:center}
.centered-public-action{text-align:center}
.guest-timeline-section{background:#fff!important}.venue-parking-section{background:#f7f5ef!important}.registration-intro{background:#fff;padding:48px 0 30px}.main-layout{margin-top:0;padding-top:22px}
.faq-section{background:#fff!important;text-align:center}.faq-grid{max-width:1080px;margin:0 auto;text-align:left}

@media(max-width:1280px){
  .registration-hero-inner{padding-left:170px;padding-right:170px}.hero-countdown{left:24px}.hero-outline-ega{right:-100px;width:330px}.hero-low-inventory{right:30px}.registration-hero-inner h1{font-size:clamp(3rem,4.25vw,4.4rem)!important}
}
@media(max-width:980px){
  .registration-public-hero{min-height:680px}.registration-hero-inner{padding:25px 28px 135px;min-height:600px}.registration-hero-inner h1{white-space:normal;text-wrap:balance;width:auto;font-size:clamp(3rem,8vw,4.6rem)!important}.hero-countdown{position:relative;left:auto;top:auto;transform:none;width:auto;flex-direction:row;gap:10px;margin:6px auto 6px;justify-content:center}.hero-countdown strong{font-size:2rem;margin:0}.hero-countdown-label{border:0;padding:0}.hero-countdown-icon{width:34px;height:34px;margin:0}.hero-mini-divider{display:none}.hero-outline-ega{right:-115px;top:170px;width:300px}.hero-low-inventory{right:20px;top:auto;bottom:102px;transform:none}.landing-overview{grid-template-columns:repeat(2,1fr);padding:28px 24px 44px}.event-detail-card{min-height:240px}
}
@media(max-width:640px){
  .registration-public-hero{min-height:720px}.registration-hero-inner{padding:18px 14px 118px}.combined-host-emblem{width:104px;height:104px}.event-host-name-stack{font-size:.58rem}.registration-hero-inner h1{font-size:3rem!important}.hero-event-meta{font-size:.86rem}.hero-outline-ega{width:230px;right:-90px;top:250px}.hero-low-inventory{right:14px;left:14px;bottom:88px;text-align:center;max-width:none}.hero-curve-transition{height:62px}.landing-overview{grid-template-columns:1fr;padding:24px 16px 38px}.event-detail-card{min-height:210px}.centered-actions{width:100%;flex-direction:column}.centered-actions .btn{width:100%;min-width:0}.faq-grid{grid-template-columns:1fr}
}
/* Full-width event-details band while retaining the four-card composition. */
.landing-overview{
  width:100%;max-width:none;
  padding-left:max(54px,calc((100vw - 1760px)/2 + 54px));
  padding-right:max(54px,calc((100vw - 1760px)/2 + 54px));
}
@media(max-width:980px){.landing-overview{padding-left:24px;padding-right:24px}}
@media(max-width:640px){.landing-overview{padding-left:16px;padding-right:16px}}


/* v0.7.8 registration polish */
.registration-hero-inner{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
  padding-left:205px;
  padding-right:205px;
}
.registration-hero-inner h1{
  display:block;
  width:100%;
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  font-size:clamp(3rem,3.9vw,4.65rem)!important;
  letter-spacing:-.032em!important;
  white-space:nowrap;
}
.hero-outline-ega{
  right:26px;
  top:130px;
  width:300px;
  max-height:390px;
  object-fit:contain;
  object-position:center;
  opacity:.07;
}
.event-detail-icon.attire-icon{transform:none;font-size:inherit}
.event-detail-icon.attire-icon svg{width:48px;height:36px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.public-section-heading.centered-public-heading{padding-top:4px}
@media(max-width:1280px){
  .registration-hero-inner{max-width:1080px;padding-left:165px;padding-right:165px}
  .registration-hero-inner h1{font-size:clamp(2.75rem,3.75vw,4.1rem)!important}
  .hero-outline-ega{right:-18px;width:270px}
}
@media(max-width:980px){
  .registration-hero-inner{max-width:none;padding-left:28px;padding-right:28px}
  .registration-hero-inner h1{white-space:normal;width:auto;font-size:clamp(3rem,8vw,4.6rem)!important}
  .hero-outline-ega{right:-95px;width:270px}
}

/* v0.7.9 Hero alignment and icon correction */
/* The generic .hero::after decoration created the unwanted semicircle in the public hero. */
.registration-public-hero::after{
  content:none!important;
  display:none!important;
}

/* Keep the hero's center column mathematically centered in the viewport.
   box-sizing prevents equal side padding from increasing the container's rendered width. */
.registration-hero-inner{
  box-sizing:border-box;
  width:min(1500px,calc(100% - 48px));
  max-width:1500px;
  margin-inline:auto;
  padding-left:230px;
  padding-right:230px;
}
.registration-hero-inner h1{
  width:100%;
  max-width:100%;
  margin-inline:auto;
  text-align:center;
  white-space:nowrap;
  font-size:clamp(3rem,4.15vw,4.75rem)!important;
  letter-spacing:-.034em!important;
}

/* Match the attire icon's visual weight to the calendar, pin, and clock icons. */
.event-detail-icon.attire-icon svg{
  width:48px;
  height:38px;
  fill:currentColor!important;
  stroke:none!important;
}
.event-detail-icon.attire-icon svg rect{
  fill:#fff;
  stroke:currentColor;
  stroke-width:3;
}

@media(max-width:1280px){
  .registration-hero-inner{
    width:min(1180px,calc(100% - 36px));
    max-width:1180px;
    padding-left:175px;
    padding-right:175px;
  }
  .registration-hero-inner h1{font-size:clamp(2.7rem,3.75vw,4.05rem)!important}
}
@media(max-width:980px){
  .registration-hero-inner{
    width:min(100% - 32px,900px);
    max-width:none;
    padding-left:28px;
    padding-right:28px;
  }
  .registration-hero-inner h1{
    white-space:normal;
    text-wrap:balance;
    font-size:clamp(3rem,8vw,4.6rem)!important;
  }
}
@media(max-width:640px){
  .registration-hero-inner{width:calc(100% - 20px);padding-left:14px;padding-right:14px}
  .registration-hero-inner h1{font-size:3rem!important}
}

/* v0.8.3 Sea Trials refinements */
.subsidy-code-entry{margin-top:1.25rem;padding:1rem;border:1px solid #d6c49a;border-radius:14px;background:#fffdf8}.subsidy-code-controls{display:grid;grid-template-columns:1fr auto;gap:.65rem;align-items:end}.subsidy-summary strong{color:#17643c}.financial-breakdown>div{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0}.payment-safety-dialog{max-width:560px}.dialog-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1rem}.confirmation-seats span{display:block;margin:.25rem 0}.receipt-print{display:none}.receipt-brand{text-align:center;border-bottom:2px solid #c9a34c;padding-bottom:12px;margin-bottom:18px}.receipt-brand p{font-size:10px;letter-spacing:.12em;margin:0}.receipt-brand h1{font-size:24px;margin:6px 0}.receipt-line{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #ddd;padding:8px 0}.receipt-attendee{display:grid;gap:3px;padding:9px 0;border-bottom:1px solid #eee}.receipt-attendee span{font-size:12px;color:#444}.receipt-total{font-size:18px;border-top:2px solid #071a33}.receipt-note{margin-top:18px;font-size:12px;color:#555}.table-hover-card{position:fixed;z-index:9999;width:min(420px,calc(100vw - 24px));max-height:70vh;overflow:auto;background:#fff;border:1px solid #c9a34c;border-radius:14px;box-shadow:0 18px 50px rgba(7,26,51,.22);padding:14px;display:grid;gap:8px}.table-hover-card[hidden]{display:none}.table-hover-card>strong{font-family:Georgia,serif;font-size:1.15rem;color:#071a33}.hover-guest-list{display:grid;gap:5px;border-top:1px solid #eee;border-bottom:1px solid #eee;padding:8px 0}.hover-guest-list div{display:grid;grid-template-columns:58px 1fr;gap:8px}.hover-guest-list span,.table-hover-card small{font-size:.8rem;color:#526074}
@media print{body.receipt-print-mode *{visibility:hidden!important}body.receipt-print-mode #printReceiptSheet,body.receipt-print-mode #printReceiptSheet *{visibility:visible!important}body.receipt-print-mode #printReceiptSheet{display:block!important;position:absolute;left:0;top:0;width:100%;padding:.35in;color:#111;background:#fff}body.receipt-print-mode #printReceiptSheet h2{font-size:20px;text-transform:uppercase;letter-spacing:.08em}body.receipt-print-mode #printReceiptSheet h3{font-size:14px;margin:16px 0 6px}}

/* v0.8.3.2 engineering patch */
.expected-recipient{display:grid;gap:.25rem;padding:1rem 1.1rem;margin:1rem 0;border:1px solid #d6c49a;border-radius:12px;background:#fffaf0}.expected-recipient span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#667085}.expected-recipient strong{font-size:1.2rem;color:#071a33}.payment-safety-dialog{max-width:620px}.payment-safety-dialog p{line-height:1.5}.sort-header{appearance:none;border:0;background:transparent;padding:0;font:inherit;font-weight:700;color:inherit;cursor:pointer}.sort-header.active-sort::after{content:" ↕";font-size:.78em}.sort-header.active-sort[data-direction="asc"]::after{content:" ↑"}.sort-header.active-sort[data-direction="desc"]::after{content:" ↓"}
.base-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.base-price-grid label{font-weight:700}.finance-pricing-columns{align-items:start}.finance-pricing-panel,.finance-subsidy-panel{align-self:start;height:auto}.subsidy-posture-panel{margin-top:1rem}.code-usage-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.8rem 0;padding:.7rem;border-radius:10px;background:#f7f8fa;font-size:.85rem}.draft-code{border-style:dashed}.subsidy-status-panel{margin-top:1rem}.subsidy-status-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.subsidy-status-card{border:1px solid #e3ded3;border-radius:14px;padding:1rem;background:#fff}.subsidy-status-card header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.subsidy-status-card header div{display:grid;gap:.15rem}.subsidy-status-card header strong{font-size:1.1rem}.subsidy-status-card header span{font-size:.82rem;color:#667085}.subsidy-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem;margin-top:.9rem}.subsidy-stat-grid div{display:grid;gap:.15rem}.subsidy-stat-grid span{font-size:.75rem;color:#667085}.subsidy-progress{height:7px;background:#e7e9ed;border-radius:999px;overflow:hidden;margin-top:.9rem}.subsidy-progress span{display:block;height:100%;background:#c9a34c;border-radius:inherit}
@media(max-width:700px){.base-price-grid,.code-usage-strip{grid-template-columns:1fr}.subsidy-stat-grid{grid-template-columns:1fr 1fr}}

/* v0.8.4 ballroom and financial-integrity UI */
.round-table.table-block{border:0;background:transparent;padding:8px;box-shadow:none;min-height:220px}
.round-table .table-label{display:none}
.table-center{grid-template-rows:auto auto auto;line-height:1.05}
.table-center span,.table-center small{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:#5f6772}
.table-center strong{font-size:1.35rem;color:#7b1e25}
.ballroom-shell{border-color:#ece9e2;background:#fcfbf8}
.center-walkway{background:transparent;border-left:1px dashed #c5b38a;border-right:1px dashed #c5b38a;color:#85734f;border-radius:0}
.dance-floor{background:transparent;border:1px dashed #c5b38a;border-radius:10px;min-height:70px}
.confirmation-seat-table{display:grid;width:100%;margin-top:.8rem;border:1px solid #d9dee5;border-radius:.8rem;overflow:hidden;text-align:left}
.confirmation-seat-head,.confirmation-seat-row{display:grid;grid-template-columns:1.4fr .8fr .7fr .8fr 1.4fr;gap:.5rem;padding:.65rem .8rem;align-items:center}
.confirmation-seat-head{background:#f6f8fa;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#66707c;font-weight:700}
.confirmation-seat-row{border-top:1px solid #e4e8ed}
.confirmation-seat-note{display:block;margin-top:.65rem;color:#66707c}
.financial-alert{margin:1rem 0;padding:.9rem 1rem;border-radius:.75rem;border-left:4px solid #b11f2a;background:#fff2f2;color:#68151b}
.financial-alert.amber{border-left-color:#c59d38;background:#fff8df;color:#5e4b12}
@media(max-width:760px){.confirmation-seat-head{display:none}.confirmation-seat-row{grid-template-columns:1fr 1fr}.confirmation-seat-row span:first-child,.confirmation-seat-row span:last-child{grid-column:1/-1}}

.table-info-dialog.hover-preview{max-width:440px;padding:0}.table-info-dialog.hover-preview::backdrop{display:none}.table-info-dialog.hover-preview .table-available-seats{display:none}.table-info-dialog.hover-preview .privacy-note{padding-bottom:14px}

/* GUIDON RC.3.1 polish: public identity and ceremony hierarchy */
.registration-public-hero .public-suite-brand img{width:72px;height:52px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.22))}
.registration-public-hero .combined-host-emblem{width:clamp(150px,13vw,210px)!important;height:auto!important;max-height:210px!important;margin-bottom:14px!important}
.registration-public-hero .event-host-name-stack{margin-bottom:30px!important}
.registration-public-hero .event-host-name-stack + #publicHeroTitle{margin-top:4px!important}
@media(max-width:640px){.registration-public-hero .public-suite-brand img{width:58px;height:44px}.registration-public-hero .combined-host-emblem{width:140px!important;max-height:140px!important}}

/* GUIDON brand refresh: wide white lockup on dark public navigation. */
.public-suite-brand img[src*="guidon-logo.png"]{width:176px;height:64px;object-fit:contain;object-position:left center}
@media(max-width:640px){.public-suite-brand img[src*="guidon-logo.png"]{width:142px;height:54px}}

/* GUIDON Polish Pass 2 */
.registration-public-hero .public-suite-brand{min-width:180px}
.registration-public-hero .registration-hero-inner h1{max-width:1000px;margin-left:auto;margin-right:auto;overflow-wrap:anywhere;text-wrap:balance;font-size:clamp(2.8rem,6.2vw,5.8rem)}
.registration-confidence-after{padding:26px 0 46px}
.registration-confidence-after .registration-confidence-grid{margin-bottom:0}
.table-info-dialog.anchored-table-info{position:fixed;max-width:440px;max-height:min(72vh,620px);overflow:auto;z-index:1000}
.table-info-dialog.anchored-table-info::backdrop{display:none}
@media(max-width:760px){.table-info-dialog{margin:auto 12px 12px;width:calc(100% - 24px);max-width:none;align-self:end}.table-info-dialog.anchored-table-info{position:fixed;left:12px!important;right:12px!important;top:auto!important;bottom:12px;width:auto!important;max-height:70vh}}


/* GUIDON FIX18 public layout and seating popover corrections */
.registration-intro{padding-top:54px}
.registration-confidence-after{padding-top:22px;padding-bottom:46px}
.guest-timeline-section{margin-top:0}
.table-info-dialog.anchored-table-info{position:fixed!important;inset:auto!important;right:auto!important;bottom:auto!important;margin:0!important;transform:none!important;width:min(440px,calc(100vw - 32px))!important;max-width:440px;max-height:min(72vh,620px);overflow:auto;z-index:1000}
.table-info-dialog.anchored-table-info::backdrop{display:none}
@media(max-width:760px){.table-info-dialog.anchored-table-info{left:12px!important;right:12px!important;top:auto!important;bottom:12px!important;width:auto!important;max-width:none!important;max-height:70vh;margin:0!important}}

/* FIX18 safety: suppress obsolete development banners on every surface. */
.development-banner{display:none!important}

/* GUIDON FIX25 · Hotel information */
.hotel-info-card{max-width:760px;margin:0 auto}.hotel-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.hotel-facts p{display:flex;flex-direction:column;gap:4px}.hotel-reminder{margin:18px 0;padding:16px 18px;border:1px solid #d8dee7;border-radius:12px;background:#f7f8fa}.hotel-reminder p{margin:6px 0 12px}@media(max-width:700px){.hotel-facts{grid-template-columns:1fr}}

/* GUIDON FIX27 · Hotel / lodging polish */
.hotel-heading{display:grid;justify-items:center;gap:6px;margin-bottom:26px}.hotel-heading .eyebrow{margin:0;color:#9d1f24;font-weight:800;letter-spacing:.14em;font-size:.78rem}.hotel-heading h2{margin:0}.hotel-intro{margin:0;color:#64748b}.hotel-info-card{max-width:880px!important;padding:28px 30px!important}.hotel-card-heading{display:flex;align-items:center;gap:14px;margin-bottom:8px}.hotel-card-heading small{display:block;color:#7b8798;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:3px}.hotel-card-heading h3{margin:0}.hotel-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#071a33;color:#f0ca66;font-size:1.25rem;font-weight:800}.hotel-address{font-size:1.02rem;color:#475569;margin:10px 0 18px}.hotel-facts{background:#f7f9fb;border:1px solid #e1e7ee;border-radius:12px;padding:14px 16px}.hotel-facts strong{color:#071a33}.hotel-info-card .btn{margin-top:4px;text-decoration:none}.hotel-info-card .btn.disabled{background:#e5e7eb!important;color:#667085!important;cursor:not-allowed;pointer-events:none}.hotel-reminder{border-left:4px solid #c8a951!important;background:#fffaf0!important}.hotel-reminder-eyebrow{display:block;color:#9d1f24;font-size:.72rem;letter-spacing:.13em;font-weight:800;margin-bottom:5px}.hotel-reminder .hotel-cta{text-decoration:none!important;background:#cda544!important;color:#071a33!important;border-color:#cda544!important;font-weight:800}

/* GUIDON FIX28D · lodging component refinement */
.hotel-info-card{box-shadow:0 12px 30px rgba(7,26,51,.07);border-color:#e2d3ad!important}
.hotel-card-heading{padding-bottom:12px;border-bottom:1px solid #eee4cf}
.hotel-facts{grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px!important}
.hotel-facts p{margin:0;padding:10px 12px;border-radius:9px;background:#fff}
.hotel-info-card .btn,.hotel-reminder .hotel-cta{display:flex!important;align-items:center;justify-content:center;min-height:44px;border-radius:10px;padding:0 20px;text-decoration:none!important}.hotel-info-card .btn{width:max-content!important;margin:12px auto 0!important}
.hotel-reminder{box-shadow:0 8px 20px rgba(7,26,51,.05)}



/* FIX28Y: final public FAQ alignment and active-registration hierarchy */
.faq-section .public-section-heading{margin-left:auto;margin-right:auto;text-align:center}
.faq-section .public-section-heading>p:last-child{margin-left:auto;margin-right:auto}
.active-registration-report .report-guest-row td:nth-child(2){padding-left:1.5rem;position:relative}
.active-registration-report .report-guest-row td:nth-child(2)::before{content:"↳";position:absolute;left:.55rem;color:#8a6b25;font-weight:700}

/* FIX28Z: final reporting + public polish */
.active-registration-report .report-guest-row td:nth-child(2){padding-left:1.75rem!important;position:relative}
.active-registration-report .report-guest-row td:nth-child(2)::before{content:"↳";position:absolute;left:.65rem;color:#8a6b25;font-weight:700}
.faq-section .public-section-heading{text-align:center!important;margin-left:auto!important;margin-right:auto!important}
.faq-section .public-section-heading>p:last-child{text-align:center!important;margin-left:auto!important;margin-right:auto!important;max-width:720px}

/* GUIDON FIX9F: unified schematic seating board
   Shared by public seat selection and S-1 Seating. This is intentionally
   not a venue floor-plan representation. */
.guidon-seating-board{margin:18px 0 22px;padding:18px;border:1px solid #d7dde5;border-radius:14px;background:#f8fafc}
.guidon-seating-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;padding:0 2px 14px;margin-bottom:16px;border-bottom:1px solid #dce2e9}
.guidon-seating-heading>div{display:grid;gap:3px}.guidon-seating-heading strong{color:#071a33;font-size:1rem;font-weight:900}.guidon-seating-heading span{color:#8a6b25;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.guidon-seating-heading small{max-width:520px;color:#64748b;font-size:.8rem;text-align:right}
.guidon-seating-board .guidon-table-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(205px,1fr))!important;gap:12px!important;align-items:start!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;max-width:none!important;margin:0!important}
.guidon-seating-board .ballroom-side{display:contents!important}
.guidon-seating-board .round-table.table-block{position:relative!important;display:block!important;width:100%!important;max-width:none!important;min-width:0!important;min-height:0!important;margin:0!important;padding:12px!important;box-sizing:border-box!important;border:1px solid #d8dee7!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important;opacity:1!important}
.guidon-seating-board .circular-seats{position:relative!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:7px!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important}
.guidon-seating-board .circular-seats .seat{position:static!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;min-height:34px!important;margin:0!important;padding:0!important;aspect-ratio:1.18/1!important;transform:none!important;border-radius:8px!important;border:1px solid #b9c1cc!important;background:#fff!important;color:#071a33!important;font-size:.75rem!important;font-weight:800!important;display:grid!important;place-items:center!important;box-sizing:border-box!important}
.guidon-seating-board .circular-seats .seat.pending{background:#f4cf65!important;color:#071a33!important;border-color:#d7ad35!important;opacity:1!important}.guidon-seating-board .circular-seats .seat.sold{background:#a7d7b2!important;color:#123d21!important;border-color:#78b68a!important;opacity:1!important}.guidon-seating-board .circular-seats .seat.reserved{background:#bbb!important;color:#333!important;border-color:#999!important;opacity:1!important}.guidon-seating-board .circular-seats .seat.reserved-occupied{background:#6f42a5!important;color:#fff!important;border-color:#4c2b75!important;opacity:1!important}.guidon-seating-board .circular-seats .seat.held{background:#c8b7e6!important;color:#24163a!important;border-color:#9c84c5!important;opacity:1!important}.guidon-seating-board .circular-seats .seat.selected{background:#8b1e2d!important;color:#fff!important;border-color:#68151f!important;outline:2px solid rgba(139,30,45,.2)!important;outline-offset:1px!important}.guidon-seating-board .circular-seats .seat.locked{background:#e5e7eb!important;color:#6b7280!important;border-color:#cbd0d7!important;opacity:1!important}
.public-seating-board .round-table .table-label{display:block!important;margin:0 0 9px!important;text-align:left!important}.public-seating-board .table-info-trigger{width:100%!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:8px!important;color:#071a33!important;text-align:left!important;transform:none!important}.public-seating-board .table-info-trigger strong{font-size:.84rem!important}.public-seating-board .table-info-trigger small{font-size:.65rem!important;color:#64748b!important;font-weight:600!important}.public-seating-board .table-center{display:none!important}
.admin-seating-board .table-center{position:static!important;grid-column:1/-1!important;grid-row:1!important;order:-1!important;transform:none!important;width:auto!important;height:auto!important;min-height:24px!important;margin:0 0 2px!important;padding:0 1px 7px!important;border:0!important;border-bottom:1px solid #edf0f4!important;border-radius:0!important;background:transparent!important;display:flex!important;align-items:baseline!important;justify-content:flex-start!important;gap:4px!important;color:#071a33!important}.admin-seating-board .table-center span,.admin-seating-board .table-center small{font-size:.62rem!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:#64748b!important}.admin-seating-board .table-center strong{font-size:.86rem!important;color:#071a33!important}.admin-seating-board .table-center small{margin-left:auto!important}
.guidon-seating-board .seat:disabled{opacity:1!important}.guidon-seating-board .seat[title]{cursor:default}.public-seating-board .seat:not(:disabled){cursor:pointer!important}
@media(max-width:720px){.guidon-seating-board{padding:12px}.guidon-seating-heading{display:grid;gap:6px}.guidon-seating-heading small{text-align:left}.guidon-seating-board .guidon-table-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:480px){.guidon-seating-board .guidon-table-grid{grid-template-columns:1fr!important}}



/* GUIDON FIX9H: public schematic header cleanup.
   Removes the legacy circular table/detail control from public seat selection. */
.public-seating-board .round-table .table-label.schematic-table-label{
  display:flex!important;
  height:auto!important;
  aspect-ratio:auto!important;
  border-radius:0!important;
  box-shadow:none!important;
  align-items:baseline!important;
  justify-content:space-between!important;
  gap:8px!important;
  width:100%!important;
  min-height:24px!important;
  margin:0 0 9px!important;
  padding:0 1px 7px!important;
  border:0!important;
  border-bottom:1px solid #edf0f4!important;
  background:transparent!important;
  text-align:left!important;
}
.public-seating-board .round-table .table-label.schematic-table-label strong{font-size:.84rem!important;color:#071a33!important;font-weight:900!important}
.public-seating-board .round-table .table-label.schematic-table-label small{font-size:.65rem!important;color:#64748b!important;font-weight:700!important;white-space:nowrap!important}
.public-seating-board .table-center,.public-seating-board .table-info-trigger{display:none!important}


/* GUIDON FIX9Y: mobile-first public registration ergonomics.
   Presentation/navigation only; no pricing, payment, or seat-state logic changes. */
@media (max-width: 720px) {
  #registrationSection.registration-card {
    padding-bottom: 0;
    overflow: visible;
  }
  #registrationSection .section-heading {
    margin-bottom: 18px;
  }
  #registrationSection .step-label {
    font-size: .78rem;
    line-height: 1.25;
  }
  #registrationSection input,
  #registrationSection select,
  #registrationSection textarea {
    min-height: 48px;
    font-size: 16px !important;
  }
  #registrationSection .btn,
  #registrationSection button:not(.seat):not(.dialog-close) {
    min-height: 48px;
    font-size: 1rem;
  }
  #registrationSection .checkbox-row {
    gap: 12px;
    align-items: flex-start;
  }
  #registrationSection .checkbox-row input[type="checkbox"] {
    width: 22px;
    height: 22px;
    min-height: 22px;
    flex: 0 0 22px;
  }
  #registrationSection .form-actions {
    position: sticky;
    z-index: 30;
    bottom: 0;
    margin: 24px -20px 0;
    padding: 12px 20px calc(12px + env(safe-area-inset-bottom));
    border-top: 1px solid #ded7c8;
    background: rgba(255,255,255,.97);
    box-shadow: 0 -10px 28px rgba(7,26,51,.12);
    backdrop-filter: blur(10px);
  }
  #registrationSection .form-actions .btn {
    margin: 0;
  }
  #registrationSection .guidon-seating-board .circular-seats .seat {
    min-height: 44px !important;
    font-size: .82rem !important;
    touch-action: manipulation;
  }
  #registrationSection .available-seat-list button {
    min-height: 44px;
    padding: 10px 14px;
  }
  .table-info-dialog {
    width: calc(100vw - 24px);
    max-height: calc(100dvh - 24px);
  }
  .table-info-dialog .dialog-close {
    width: 44px;
    height: 44px;
  }
}
@media (max-width: 480px) {
  #registrationSection .form-actions {
    margin-left: -16px;
    margin-right: -16px;
    padding-left: 16px;
    padding-right: 16px;
  }
  #registrationSection .guidon-seating-board {
    margin-left: -6px;
    margin-right: -6px;
  }
}

/* FIX9Z: strengthen Venmo destination verification with phone suffix. */
.payment-destination-check{grid-template-columns:minmax(0,1fr) minmax(180px,.65fr);gap:1rem;align-items:center}
.payment-destination-check>div{display:grid;gap:.25rem}
.payment-phone-check{border-left:1px solid #d6c49a;padding-left:1rem}
.payment-phone-check strong{font-size:1.55rem;letter-spacing:.04em}
.qr-caption strong,.qr-account-label strong{color:#8f1d24}
@media(max-width:640px){.payment-destination-check{grid-template-columns:1fr}.payment-phone-check{border-left:0;border-top:1px solid #d6c49a;padding-left:0;padding-top:.75rem}}


/* GUIDON public header polish: left brand, viewport-centered links, admin entry */
.registration-public-hero .public-nav{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  width:100%;
  max-width:none;
  padding-left:clamp(20px,3vw,52px);
  padding-right:clamp(20px,3vw,52px);
}
.registration-public-hero .public-suite-brand{
  justify-self:start;
}
.registration-public-hero .public-nav-links{
  justify-self:center;
  flex-wrap:nowrap;
  white-space:nowrap;
}
.public-admin-login{
  justify-self:end;
  color:#fff;
  text-decoration:none;
  font-size:.92rem;
  font-weight:800;
  padding:.55rem .85rem;
  border:1px solid rgba(255,255,255,.36);
  border-radius:999px;
  white-space:nowrap;
}
.public-admin-login:hover{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.6);
}
@media(max-width:980px){
  .registration-public-hero .public-nav{
    grid-template-columns:auto 1fr auto;
    gap:12px;
  }
  .registration-public-hero .public-nav-links{
    justify-self:center;
    gap:.1rem;
  }
  .registration-public-hero .public-nav-links a{
    padding:.4rem .45rem;
    font-size:.82rem;
  }
  .public-admin-login{font-size:.82rem;padding:.45rem .65rem}
}
@media(max-width:760px){
  .registration-public-hero .public-nav{
    grid-template-columns:1fr auto;
  }
  .registration-public-hero .public-nav-links{display:none}
  .public-admin-login{display:inline-flex}
}


/* FIX11K: explicit public table occupant disclosure, replacing hover-only UI */
.public-seating-board .schematic-table-label{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
.public-seating-board .table-label-main{
  min-width:0;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
  flex:1;
}
.public-seating-board .table-live-toggle{
  flex:0 0 auto;
  width:30px;
  height:30px;
  padding:0;
  border:1px solid #d8dee7;
  border-radius:8px;
  background:#fff;
  color:#071a33;
  display:grid;
  place-items:center;
  cursor:pointer;
  font-size:1.15rem;
  line-height:1;
}
.public-seating-board .table-live-toggle:hover,
.public-seating-board .table-live-toggle:focus-visible{
  background:#f6f7f9;
  border-color:#9f8650;
  outline:none;
}
.public-seating-board .table-live-toggle span{
  display:block;
  transform:translateY(-2px);
  transition:transform .15s ease;
}
.public-seating-board .table-live-toggle.is-open span{
  transform:rotate(180deg) translateY(1px);
}
.public-seating-board .table-live-toggle.is-loading{
  opacity:.65;
}
.public-seating-board .table-live-list{
  margin-top:10px;
  padding:10px 12px;
  border-top:1px solid #e5e7eb;
  text-align:left;
}
.public-seating-board .table-live-heading{
  margin-bottom:6px;
  font-size:.68rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#64748b;
}
.public-seating-board .table-live-row{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:8px;
  align-items:center;
  padding:6px 0;
  border-bottom:1px solid #eef1f4;
  font-size:.74rem;
}
.public-seating-board .table-live-row:last-child{
  border-bottom:0;
}
.public-seating-board .table-live-row span{
  color:#64748b;
}
.public-seating-board .table-live-row strong{
  color:#071a33;
  font-weight:800;
}
.public-seating-board .table-live-empty{
  font-size:.74rem;
  color:#64748b;
  padding:2px 0;
}


/* FIX11L: optimistic seat feedback while authoritative request is in flight */
.public-seating-board .seat.selected.seat-operation-pending{
  cursor:progress;
  position:relative;
}
.public-seating-board .seat.selected.seat-operation-pending::after{
  content:"";
  position:absolute;
  inset:3px;
  border:1px solid currentColor;
  border-radius:inherit;
  opacity:.35;
  pointer-events:none;
}


/* FIX11M · S-4 configured public dinner menu */
.registration-menu-disclosure{margin-top:.55rem;border:1px solid rgba(20,35,55,.16);border-radius:8px;background:#fff;overflow:hidden}
.registration-menu-disclosure summary{cursor:pointer;list-style:none;padding:.65rem .75rem;font-weight:700;color:#17324d;background:#f7f8fa;display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.registration-menu-disclosure summary::-webkit-details-marker{display:none}
.registration-menu-disclosure summary::after{content:"⌄";font-size:1rem;transition:transform .18s ease}
.registration-menu-disclosure[open] summary::after{transform:rotate(180deg)}
.registration-menu-panel{padding:.75rem}
.registration-menu-panel>p{margin:0 0 .65rem;color:#56616d;font-size:.9rem;line-height:1.45}
.registration-menu-items{display:grid;gap:.65rem}
.registration-menu-item{display:grid;gap:.15rem;padding-bottom:.6rem;border-bottom:1px solid rgba(20,35,55,.1)}
.registration-menu-item:last-child{border-bottom:0;padding-bottom:0}
.registration-menu-item strong{color:#172b3f}
.registration-menu-item span{color:#56616d;font-size:.9rem;line-height:1.4}
