:root{--bg:#fcfbf8;--bg-strong:#f8f5ef;--paper:#fffdf9b8;--paper-strong:#fffdfadb;--line:#755c3d13;--line-strong:#5b3e1f38;--text:#3d3226;--muted:#786959;--accent:#cbb69b;--accent-strong:#a88f73;--danger:#b86d65;--success:#6e8760;--shadow:0 30px 80px #604c2e29;--radius-lg:32px;--radius-md:22px;--font-site:"Avenir Next", "Segoe UI", sans-serif;--font-heading:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", serif;--font-paragraph:var(--font-site);--font-landing-couple:var(--font-heading);--font-couple:var(--font-heading);--font-hero-title:var(--font-heading);--font-scale-site:1;--font-scale-heading:1;--font-scale-paragraph:1;--font-scale-landing-couple:1;--font-scale-couple:1;--font-scale-hero-title:1;--paragraph-size-xs:calc(.82rem * var(--font-scale-paragraph));--paragraph-size-sm:calc(.88rem * var(--font-scale-paragraph));--paragraph-size-md:calc(1rem * var(--font-scale-paragraph));--paragraph-size-body:calc(1.02rem * var(--font-scale-paragraph));--paragraph-size-lg:calc(1.2rem * var(--font-scale-paragraph))}@font-face{font-family:Holligate Signature;src:url(/fonts/holligate-signature.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Black Mango;src:url("/fonts/Black Mango Regular.ttf")format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Goldenbook;src:url("/fonts/Goldenbook Regular.otf")format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Goldenbook;src:url("/fonts/Goldenbook Bold.otf")format("opentype");font-weight:700;font-style:normal;font-display:swap}*{box-sizing:border-box}html{min-height:100%}body{min-height:100vh;color:var(--text);font-family:var(--font-site);font-size:calc(1rem * var(--font-scale-site));background:radial-gradient(circle at 18% 14%,#fffffff5,#0000 30%),radial-gradient(circle at 82% 78%,#f1eadf14,#0000 24%),linear-gradient(135deg,#fefdfa 0%,#fcfbf8 34%,#f8f5ef 68%,#fdfcf9 100%);margin:0}body.intro-lock{overflow:hidden}body:before{content:"";opacity:.72;pointer-events:none;background:repeating-linear-gradient(135deg,#92806903 0 1px,#0000 1px 14px),repeating-linear-gradient(115deg,#ffffff52 0 2px,#0000 2px 22px),linear-gradient(#fff3,#f8f3ec14);position:fixed;inset:0}body:after{content:"";opacity:.32;pointer-events:none;background:radial-gradient(circle at 20% 22%,#ffffff57,#0000 18%),radial-gradient(circle at 73% 30%,#f7f1e714,#0000 18%),radial-gradient(circle at 58% 72%,#efe7da0f,#0000 20%);position:fixed;inset:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}input,textarea,select{border:1px solid var(--line);width:100%;color:var(--text);background:#fffcf8e0;border-radius:16px;padding:.9rem 1rem}textarea{resize:vertical}button{cursor:pointer;border:0}.landing-shell,.auth-shell{place-items:center;min-height:100vh;padding:2rem;display:grid}.landing-card,.auth-card{background:var(--paper-strong);border:1px solid var(--line);width:min(720px,100%);box-shadow:var(--shadow);border-radius:36px;padding:3rem;position:relative;overflow:hidden}.landing-hero{grid-template-columns:minmax(280px,430px) minmax(0,1fr);grid-template-areas:"visual heading""visual content";align-items:stretch;gap:1.5rem;width:min(1200px,100%);display:grid}.invitation-entry-flow{min-height:100vh}.invitation-entry-screen,.envelope-transition{z-index:60;position:fixed;inset:0}.invitation-entry-screen{background:radial-gradient(circle at 50% 32%,#ffffffd1,#0000 28%),#fcf9f4f0;place-items:center;padding:clamp(1rem,3vw,2rem);display:grid;overflow:hidden}.invitation-entry-screen.is-opening{animation:1.55s forwards intro-fade-out}.invitation-entry-hero{align-items:stretch;gap:1.5rem;width:min(1200px,100%)}.invitation-entry-heading{align-self:end}.invitation-entry-visual{grid-area:visual;min-height:680px;position:relative;overflow:hidden}.invitation-entry-card{grid-area:content;align-content:center;align-self:end;gap:1.1rem;width:100%;min-height:0;display:grid}.invitation-entry-copy,.invitation-entry-date{font-family:var(--font-paragraph)}.invitation-entry-meta{gap:1rem}.invitation-entry-countdown .countdown-grid{gap:.7rem}.invitation-entry-countdown .countdown-card{border-radius:18px}.invitation-entry-card.has-side-cta{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:1rem}.invitation-entry-card.has-side-cta .invitation-entry-meta{min-width:0}.invitation-entry-card.has-bottom-cta{justify-items:center}.invitation-entry-cta{color:#fffdf8;background:linear-gradient(#cdb295c2,#aa8c70cc);border:1px solid #fffbf49e;border-radius:999px;place-items:center;width:86px;height:86px;transition:transform .16s,box-shadow .16s,filter .16s;display:inline-grid;box-shadow:0 22px 42px #6f594347}.invitation-entry-cta-overlay{z-index:2;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);position:absolute}.invitation-entry-cta.is-image-center{top:52%;left:50%;transform:translate(-50%,-50%)}.invitation-entry-cta.is-image-bottom-right{bottom:1rem;right:1rem;transform:none}.invitation-entry-cta-slot{display:grid}.invitation-entry-cta-slot.side{align-self:center}.invitation-entry-cta-slot.bottom{justify-self:center}.invitation-entry-image{object-fit:contain;object-position:center bottom;z-index:2;width:100%;max-width:100%;height:100%;max-height:100%;display:block}.invitation-entry-cta:hover.is-image-center{filter:saturate(1.04);transform:translate(-50%,-50%)scale(1.02);box-shadow:0 26px 44px #6f59434d}.invitation-entry-cta:hover.is-image-bottom-right,.invitation-entry-cta:hover.is-counter-below,.invitation-entry-cta:hover.is-counter-right{filter:saturate(1.04);transform:scale(1.02);box-shadow:0 26px 44px #6f59434d}.invitation-entry-cta:disabled{cursor:default}.invitation-details.is-hidden{display:none}.envelope-transition{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:radial-gradient(circle at 50% 32%,#ffffffd1,#0000 28%),#fcf9f4e6;place-items:center;padding:1.5rem;animation:.22s intro-fade-in;display:grid}.envelope-scene{aspect-ratio:1.12;place-items:center;width:min(280px,72vw);display:grid;position:relative}.envelope-scene-transition{animation:1.2s forwards envelope-scene-out}.envelope-letter{height:50%;color:var(--accent-strong);font-family:var(--font-heading);transform-origin:bottom;background:linear-gradient(#fffffffa,#f6f0e9f5);border:1px solid #755c3d14;border-radius:18px 18px 10px 10px;place-items:center;padding:1rem 1.1rem 1.3rem;font-size:clamp(1rem,2.4vw,1.3rem);transition:transform .76s;display:grid;position:absolute;bottom:24%;left:12%;right:12%;transform:translateY(22%)scale(.96);box-shadow:0 16px 30px #604c2e1f}.envelope-body{background:linear-gradient(#f4e8d9f5,#e4d3bef5);border:1px solid #755c3d14;border-radius:0 0 28px 28px;position:absolute;inset:28% 0 0;box-shadow:inset 0 1px #ffffff80}.envelope-body:before,.envelope-body:after{content:"";background:#f1e4d4f5;border-top:1px solid #755c3d14;width:52%;height:68%;position:absolute;bottom:0}.envelope-body:before{clip-path:polygon(0 100%,100% 100%,100% 0);left:0}.envelope-body:after{clip-path:polygon(0 0,0 100%,100% 100%);right:0}.envelope-flap{clip-path:polygon(0 0,50% 84%,100% 0);transform-origin:top;z-index:2;background:linear-gradient(#e9dcccfa,#decdb8f5);width:100%;height:42%;margin:0 auto;transition:transform .76s;position:absolute;top:28%;left:0;right:0}.envelope-seal{z-index:3;background:radial-gradient(circle at 34% 30%,#f7eee3 0,#d0b89f 52%,#aa8c70 100%);border-radius:999px;width:54px;height:54px;transition:opacity .28s,transform .42s;position:absolute;top:48%;box-shadow:0 10px 20px #604c2e29}.envelope-transition .envelope-flap{transform:rotateX(180deg)}.envelope-transition .envelope-letter{transform:translateY(-30%)scale(1)}.envelope-transition .envelope-seal{opacity:0;transform:scale(.86)}@keyframes intro-fade-in{0%{opacity:0}to{opacity:1}}@keyframes intro-fade-out{0%,72%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes envelope-scene-out{0%{opacity:1;transform:translateY(0)scale(1)}65%{opacity:1;transform:translateY(-8px)scale(1.02)}to{opacity:0;transform:translateY(-28px)scale(1.05)}}.landing-heading{grid-area:heading;align-self:end;padding-right:1rem}.landing-visual{box-shadow:none;background:0 0;border:0;border-radius:0;grid-area:visual;min-height:680px;position:relative;overflow:hidden}.landing-image{object-fit:contain;filter:brightness(1.02)saturate(.95);width:100%;height:100%}.landing-content{grid-area:content;align-content:center;gap:1.1rem;width:100%;display:grid}.landing-meta{gap:.9rem;display:grid}.landing-countdown{display:grid}.landing-card:after,.auth-card:after,.hero-card:after,.panel-soft:after{content:"";pointer-events:none;background:radial-gradient(circle at 20% 25%,#d6c3a924,#0000 14%),radial-gradient(circle at 76% 18%,#bcaa931f,#0000 12%),radial-gradient(circle at 84% 82%,#cebba529,#0000 13%);position:absolute;inset:0}.landing-visual:after{content:"";pointer-events:none;background:linear-gradient(90deg,#fdfcf9d9 0%,#fdfcf924 14%,#fdfcf900 28%),linear-gradient(270deg,#fdfcf96b 0%,#fdfcf900 14%);position:absolute;inset:0}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--muted);margin:0 0 .65rem;font-size:.72rem}h1,h2,h3{font-family:var(--font-heading);margin:0;font-weight:600;line-height:1.05}.landing-couple-names{font-family:var(--font-landing-couple);font-size:clamp(calc(2.6rem * var(--font-scale-landing-couple)), calc(6vw * var(--font-scale-landing-couple)), calc(4.8rem * var(--font-scale-landing-couple)))}.couple-names{font-family:var(--font-couple);font-size:clamp(calc(1.7rem * var(--font-scale-couple)), calc(4vw * var(--font-scale-couple)), calc(2.8rem * var(--font-scale-couple)))}.invitation-hero-title{font-family:var(--font-hero-title);font-size:clamp(calc(1.25rem * var(--font-scale-hero-title)), calc(2vw * var(--font-scale-hero-title)), calc(1.65rem * var(--font-scale-hero-title)))}h1{font-size:clamp(calc(2.6rem * var(--font-scale-heading)), calc(6vw * var(--font-scale-heading)), calc(4.8rem * var(--font-scale-heading)))}h2{font-size:clamp(calc(1.7rem * var(--font-scale-heading)), calc(4vw * var(--font-scale-heading)), calc(2.8rem * var(--font-scale-heading)))}h3{font-size:clamp(calc(1.25rem * var(--font-scale-heading)), calc(2vw * var(--font-scale-heading)), calc(1.65rem * var(--font-scale-heading)))}.hero-copy,.welcome-copy,.section-copy,.event-chip,.form-message,.list-item span,.metric-list span,.guest-list strong,.guest-list span,.gallery-card span,.list-meta,.invitation-footer{color:var(--muted);font-family:var(--font-paragraph)}.welcome-copy,.hero-copy,.section-copy,.form-message,.list-item span,.guest-list span,.gallery-card span,.list-meta,.invitation-footer,.message-card p,.message-card-header span,.detail-card p,.bank-transfer-heading p,.gift-stack p,.audit-log-details,.capacity-warning-list p{font-size:var(--paragraph-size-body)}.landing-content .hero-copy{font-size:clamp(var(--paragraph-size-md), calc(2vw * var(--font-scale-paragraph)), var(--paragraph-size-lg));max-width:32rem;margin:0}.landing-content .event-chip{font-size:calc(.96rem * var(--font-scale-paragraph));color:var(--text);margin:0}.landing-actions,.header-actions,.scanner-actions,.card-actions,.location-actions{flex-wrap:wrap;gap:.75rem;display:flex}.primary-button,.secondary-button,.danger-button{border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-height:48px;padding:.75rem 1.15rem;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(135deg,#b9a187,#8f785d);box-shadow:0 16px 34px #7a624540}.secondary-button{color:var(--text);border:1px solid var(--line);background:#fffcf7e6}.danger-button{color:var(--danger);background:#b86d6524}.primary-button:hover,.secondary-button:hover,.danger-button:hover,.text-link:hover,.link-button:hover{transform:translateY(-1px)}.wide-button{width:100%}.invitation-shell{max-width:1320px;margin:0 auto;padding:1.5rem}.invitation-replay-bar{justify-content:center;padding:1rem 1rem 0;display:flex}.invitation-replay-button{color:var(--text);font-size:var(--paragraph-size-sm);background:#c4b19a42;border:1px solid #6f563838;border-radius:999px;align-items:center;gap:.4rem;padding:.55rem 1.2rem;transition:background .16s,box-shadow .16s;display:inline-flex;box-shadow:0 2px 8px #6f563814}.invitation-replay-button:hover{background:#c4b19a6b;box-shadow:0 4px 12px #6f563824}.hero-card,.panel-soft{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius-lg);position:relative;overflow:hidden}.hero-card{grid-template-columns:1.2fr .8fr;gap:2rem;margin-bottom:1.5rem;padding:clamp(1.6rem,4vw,3rem);display:grid}.hero-card-simple{grid-template-columns:1fr;gap:0}.hero-text{z-index:1;gap:1rem;display:grid;position:relative}.hero-text>*{margin:0}.info-grid,.content-grid,.admin-grid,.stat-grid,.form-grid,.countdown-grid,.gallery-grid,.admin-photo-grid{gap:1rem;display:grid}.info-grid,.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid{align-items:start}.info-grid-single{grid-template-columns:minmax(0,1fr);margin-bottom:1.6rem}.content-grid{grid-template-columns:1.05fr .95fr;gap:1.6rem}.content-grid-single{grid-template-columns:minmax(0,1fr)}.content-stack,.list-stack{gap:1.35rem;display:grid}.panel-soft{padding:1.35rem}.panel-highlight{background:linear-gradient(#fff9f1eb,#f3eadfeb)}.invitation-summary{gap:1.15rem;padding:clamp(1.35rem,3vw,2.5rem);display:grid}.invitation-note{background:#fffcf8b8;border:1px solid #6f563814;border-radius:18px;margin:0;padding:.95rem 1rem}.detail-cards{gap:1rem;display:grid}.detail-card{background:#fffcf8b8;border:1px solid #6f563814;border-radius:22px;padding:1rem 1.1rem}.detail-card-flat{background:0 0;border:0;border-radius:0;padding:0}.dress-code-block{gap:1rem;display:grid}.dress-code-emphasis{color:var(--text);font-weight:700}.gift-section-block{gap:.95rem;display:grid}.gift-cta-button{color:#fff;z-index:1;background:linear-gradient(135deg,#8f785d,#6f5943);border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-height:50px;padding:.85rem 1.25rem;transition:box-shadow .16s,filter .16s;display:inline-flex;position:relative;box-shadow:0 16px 30px #6f59433d}.gift-cta-button:hover{filter:saturate(1.03);box-shadow:0 18px 34px #6f594347}.detail-card span{font-size:var(--paragraph-size-xs);color:var(--muted);margin-bottom:.45rem;display:block}.detail-card h3,.detail-card p{margin:0}.gift-stack,.bank-details{gap:.8rem;display:grid}.gift-stack{gap:1.15rem}.bank-transfer-card{background:#fffcf8bd;border:1px solid #6f563814;border-radius:20px;gap:.9rem;padding:1rem 1rem 1.05rem;display:grid}.bank-transfer-heading{gap:.25rem;display:grid}.bank-transfer-heading h4,.bank-transfer-heading p{margin:0}.bank-transfer-heading h4{font-size:1rem;font-family:var(--font-heading);color:var(--text)}.bank-transfer-heading p,.gift-stack p{color:var(--muted);font-family:var(--font-paragraph);font-size:var(--paragraph-size-body);margin:0}.bank-detail-row{border-top:1px solid #6f563814;gap:.2rem;padding-top:.7rem;display:grid}.bank-detail-row:first-child{border-top:0;padding-top:0}.bank-detail-row span{color:var(--muted);font-size:var(--paragraph-size-xs);margin:0}.bank-detail-row strong{color:var(--text);line-height:1.35}.bank-detail-code{font-family:SF Mono,Menlo,Consolas,monospace;font-size:calc(.98rem * var(--font-scale-paragraph));letter-spacing:.02em}.panel-heading,.detail-list,.form-footer,.message-list,.metric-list,.guest-list,.list-item,.gallery-card figcaption,.auth-form,.admin-form,.admin-page,.admin-content,.admin-nav,.admin-sidebar{gap:1rem;display:grid}.countdown-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.countdown-card,.stat-card{text-align:center;background:#fffbf6bd;border:1px solid #8167451f;border-radius:22px;padding:1rem}.countdown-card span,.stat-card strong{color:var(--text);font-family:Iowan Old Style,Palatino Linotype,serif;font-size:clamp(1.6rem,4vw,2.5rem);display:block}.countdown-grid-compact{gap:.7rem}.countdown-card-compact{border-radius:18px;padding:.75rem .55rem}.countdown-card-compact span{font-size:clamp(1.15rem,2.4vw,1.7rem)}.countdown-card-compact small{font-size:.74rem}.detail-list{grid-template-columns:repeat(2,minmax(0,1fr))}.invitation-summary .detail-list{margin-top:.2rem}.detail-list div,.metric-list div{border-top:1px solid var(--line);padding-top:.75rem}.detail-list span,.metric-list span{font-size:var(--paragraph-size-xs);margin-bottom:.35rem;display:block}.invitation-summary .location-actions{margin-top:.35rem}.rsvp-grid{gap:1rem}.rsvp-grid+.form-footer{margin-top:1rem}.pill{width:fit-content;min-height:32px;color:var(--text);font-size:var(--paragraph-size-sm);background:#c4b19a2e;border-radius:999px;align-items:center;padding:.2rem .8rem;display:inline-flex}.pill.muted{color:var(--muted)}.pill.success{color:var(--success);background:#6e87602e}.guest-list,.rsvp-grid{margin:0;padding:0;list-style:none}.guest-list li,.rsvp-row,.list-item{background:#fffcf8b8;border:1px solid #6f563814;border-radius:18px;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex}.rsvp-row{flex-wrap:wrap}.rsvp-row-compact{align-items:center}.rsvp-person{gap:.2rem;display:grid}.rsvp-person strong,.rsvp-status{margin:0}.rsvp-status{font-size:var(--paragraph-size-sm);color:var(--muted)}.status-confirmed{color:var(--success)}.status-declined{color:var(--danger)}.status-pending{color:var(--muted)}.qr-image{background:#ffffffdb;border-radius:28px;width:min(280px,100%);margin:0 auto;padding:.9rem}.invitation-qr-top{background:#fffcf8b8;border:1px solid #6f563814;border-radius:24px;gap:.9rem;padding:1rem 1.1rem;display:grid}.invitation-qr-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.invitation-qr-top .section-copy{margin:0}.qr-image-top{width:min(220px,100%)}.invitation-access-code,.guest-list-panel{background:#fffcf8c2;border:1px solid #6f56381a;border-radius:20px;gap:.4rem;padding:.95rem 1rem;display:grid}.invitation-access-code span,.guest-list-panel span{color:var(--muted);font-size:var(--paragraph-size-xs);margin:0}.invitation-access-code strong{letter-spacing:.18em;color:var(--text);font-family:SF Mono,Menlo,Consolas,monospace;font-size:1.5rem}.invitation-access-code small{color:var(--muted);line-height:1.45;font-family:var(--font-paragraph);font-size:var(--paragraph-size-sm)}.map-frame-wrap{background:#fffcf8c7;border:1px solid #6f56381f;border-radius:26px;margin-top:1rem;overflow:hidden}.map-frame{border:0;width:100%;height:320px;display:block}.dress-code-image{object-fit:cover;border:1px solid #6f563814;border-radius:22px;width:100%}.invitation-hero-title{margin-top:.2rem}.admin-rsvp-editor,.admin-rsvp-grid{gap:.85rem;display:grid}.checkin-success-card{gap:1rem}.checkin-success-modal{z-index:140;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1c16107a;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.checkin-success-dialog{background:#fffcf8fa;gap:1rem;width:min(640px,100%);display:grid;box-shadow:0 28px 60px #36291b3d}.checkin-summary-line{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.checkin-summary-line div{background:#fffcf7b8;border:1px solid #6f563814;border-radius:18px;padding:.9rem .95rem}.checkin-summary-line span{color:var(--muted);margin-bottom:.25rem;font-size:.82rem;display:block}.checkin-summary-line strong{color:var(--text);font-size:1rem;display:block}.guest-list-plain{gap:.6rem;display:grid}.guest-list-plain-item{background:#fffcf7b8;border:1px solid #6f563814;border-radius:16px;padding:.7rem .85rem}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.gallery-display{gap:1rem;display:grid}.gallery-display-private{gap:.85rem;padding-inline:.25rem;position:relative}.gallery-grid-private{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:.85rem;padding:.35rem 0 .9rem;display:grid}.gallery-grid-shared{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.gallery-private-controls{display:none}.gallery-scroll-button{width:44px;min-height:44px;color:var(--text);pointer-events:auto;background:#fffcf7f0;border:1px solid #6f56381f;border-radius:999px;padding:0;font-size:1.5rem;line-height:1;box-shadow:0 12px 24px #32261a1f}.gallery-upload-bar{grid-template-columns:minmax(0,1.3fr) minmax(220px,1fr) auto;align-items:center;gap:.85rem;display:grid}.gallery-upload-input{display:none}.gallery-upload-trigger{min-height:78px;color:var(--text);text-align:left;background:linear-gradient(#fffcf7f0,#f8f1e7e0);border:1px dashed #6f56383d;border-radius:22px;gap:.2rem;padding:1rem 1.05rem;display:grid;box-shadow:inset 0 1px #ffffff8c}.gallery-upload-trigger-title{font-size:var(--paragraph-size-md);font-weight:600}.gallery-upload-trigger-copy{font-family:var(--font-paragraph);font-size:var(--paragraph-size-sm);color:var(--muted)}.gallery-upload-panel{background:linear-gradient(#fffaf4eb,#f7efe5cc);border:1px solid #8167451f;border-radius:24px;gap:1rem;padding:1rem 1.05rem 1.1rem;display:grid}.gallery-upload-header,.gallery-upload-selection,.gallery-upload-progress,.capacity-warning-metrics{gap:.85rem;display:grid}.gallery-upload-header{grid-template-columns:minmax(0,1fr) auto;align-items:start}.gallery-upload-header strong{font-size:var(--paragraph-size-md);margin-bottom:.3rem;display:block}.gallery-upload-header .section-copy,.gallery-upload-note,.capacity-warning-list p,.audit-log-details{margin:0}.capacity-warning-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.gallery-upload-progress,.capacity-warning-metrics div{background:#fffcf7b8;border:1px solid #6f563814;border-radius:18px;padding:.9rem .95rem}.gallery-upload-selection span,.capacity-warning-metrics span{color:var(--muted);font-size:var(--paragraph-size-xs);margin-bottom:.25rem;display:block}.gallery-upload-selection strong,.capacity-warning-metrics strong{color:var(--text);font-size:1rem;display:block}.gallery-upload-progress-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.gallery-upload-progress-head span{color:var(--muted);font-size:var(--paragraph-size-sm)}.gallery-upload-progress-head strong{color:var(--text);font-size:var(--paragraph-size-md)}.gallery-upload-progress-track{background:#c9b7a047;border-radius:999px;width:100%;height:12px;overflow:hidden}.gallery-upload-progress-bar{border-radius:inherit;background:linear-gradient(90deg,#b89a72 0%,#8f7454 100%);height:100%;transition:width .18s}.gallery-upload-progress p{color:var(--muted);font-family:var(--font-paragraph);font-size:var(--paragraph-size-sm);margin:0}.gallery-upload-selection{background:#fffcf7b8;border:1px dashed #6f56382e;border-radius:18px;padding:.9rem .95rem}.gallery-upload-selection p,.capacity-warning-metrics small{color:var(--muted);font-family:var(--font-paragraph);font-size:var(--paragraph-size-sm);margin:0}.gallery-upload-note{color:var(--muted);font-family:var(--font-paragraph);font-size:var(--paragraph-size-sm)}.gallery-upload-bar input[type=file]{flex:320px}.gallery-upload-bar input[disabled][readonly]{color:var(--muted)}.gallery-actions{justify-content:center;display:flex}.gallery-view-all-button{min-width:min(100%,320px);box-shadow:0 18px 34px #6f594338}.gallery-image-button{background:0 0;width:100%;padding:0;display:block;position:relative}.gallery-card-footer{justify-content:space-between;align-items:flex-start;gap:.9rem;display:flex}.gallery-card-footer-private{justify-content:center;padding:.55rem .4rem .1rem}.gallery-card-footer-shared{display:none}.gallery-card-meta{gap:.15rem;display:grid}.gallery-delete-button{white-space:nowrap;border-radius:999px;justify-self:center;min-width:148px;min-height:40px;padding:.65rem .9rem;font-size:.88rem}.gallery-delete-button:disabled{opacity:.65}.gallery-card{background:#fffbf6c7;border:1px solid #8167451f;border-radius:18px;overflow:hidden}.gallery-card-private{background:linear-gradient(#fffffefc,#f8f3ebf5);border-radius:12px;grid-template-rows:auto auto;padding:.75rem .75rem .6rem;display:grid;overflow:visible;box-shadow:0 20px 38px #5e4a3124,inset 0 3px #ffffffb3}.gallery-card-shared{background:0 0;border:0;border-radius:0}.gallery-media-frame{position:relative}.gallery-media-frame-stack{height:auto;padding:.2rem .1rem 0;display:block}.gallery-media,.admin-photo-media{aspect-ratio:1;object-fit:cover;width:100%;display:block}.gallery-card-private .gallery-media{aspect-ratio:auto;object-fit:contain;object-position:center center;background:#f7f1e8bf;border-radius:3px;width:100%;height:auto;max-height:none}.gallery-card-private .gallery-image-button{border-radius:3px;width:100%;height:auto;display:block;overflow:hidden}.gallery-image-button .gallery-media{z-index:3;border-radius:3px;transition:transform .18s;position:relative;box-shadow:0 14px 30px #2d23191f}.gallery-image-button:hover .gallery-media{transform:scale(1.02)}.gallery-card-shared .gallery-image-button .gallery-media{box-shadow:none;border-radius:0}.gallery-card-private:after{content:"";height:.2rem;display:block}.gallery-card figcaption{padding:.7rem .75rem}.gallery-lightbox{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1c1610c2;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.gallery-lightbox-dialog{justify-items:center;gap:.85rem;width:min(980px,100%);display:grid;position:relative}.gallery-lightbox-image{object-fit:contain;background:#fffcf8eb;border-radius:24px;width:100%;max-height:78vh}.gallery-lightbox-close,.gallery-lightbox-nav{min-height:44px;color:var(--text);background:#fffcf7eb;border:1px solid #6f56381f;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;box-shadow:0 14px 30px #241c1429}.gallery-lightbox-close{padding:.7rem 1rem;top:.85rem;right:.85rem}.gallery-lightbox-nav{width:48px;padding:0;font-size:1.8rem;line-height:1;top:50%;transform:translateY(-50%)}.gallery-lightbox-prev{left:.85rem}.gallery-lightbox-next{right:.85rem}.gallery-lightbox-caption{text-align:center;color:#f5efe8;justify-items:center;gap:.2rem;display:grid}.gallery-lightbox-caption strong{color:#fff}.gallery-lightbox-actions{justify-content:center;width:100%;display:flex}.gallery-lightbox-delete{min-height:44px}.invitation-footer{text-align:center;padding:2rem 0 4rem}.admin-shell{isolation:isolate;grid-template-columns:minmax(300px,340px) minmax(0,1fr);min-height:100vh;display:grid;position:relative}.admin-shell:before{content:"";z-index:-1;background:radial-gradient(circle at 16% 12%,#fffffff0,#0000 28%),radial-gradient(circle at 82% 76%,#f1eadf14,#0000 24%),linear-gradient(135deg,#fefdfa 0%,#fcfbf8 38%,#f8f5ef 72%,#fdfcf9 100%);position:fixed;inset:0}.admin-sidebar{border-right:1px solid var(--line);background:#f9f4ece6;align-content:start;gap:1.1rem;min-width:0;padding:2rem 1.25rem;display:grid;overflow:hidden}.admin-sidebar-title{overflow-wrap:anywhere;margin:0;font-size:clamp(2rem,3vw,3.3rem);line-height:.94}.admin-sidebar-subtitle{overflow-wrap:anywhere;margin-top:.85rem;font-size:clamp(1rem,1.5vw,1.15rem)}.admin-nav{gap:.7rem}.admin-nav a,.text-link,.link-button{color:var(--accent-strong)}.admin-nav a{background:#fffcf79e;border:1px solid #0000;border-radius:16px;padding:.85rem 1rem}.admin-nav a:hover{border-color:var(--line)}.admin-content{min-width:0;padding:2rem;overflow-x:hidden}.admin-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-page{gap:1.25rem}.admin-toast-stack{right:max(1rem, env(safe-area-inset-right,0px) + .75rem);bottom:max(1rem, env(safe-area-inset-bottom,0px) + .75rem);z-index:120;pointer-events:none;gap:.75rem;width:min(360px,100vw - 2rem);display:grid;position:fixed}.admin-toast{pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffcf8f5;border:1px solid #6f563824;border-radius:20px;gap:.75rem;padding:.95rem 1rem;display:grid;box-shadow:0 20px 48px #503e282e}.admin-toast-success{border-color:#6e876038}.admin-toast-error{border-color:#b86d6547}.admin-toast-body{gap:.25rem;display:grid}.admin-toast-body strong{font-size:.94rem}.admin-toast-body p{color:var(--muted);white-space:pre-wrap;word-break:break-word;margin:0;font-size:.92rem;line-height:1.45}.admin-toast-actions{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}.admin-toast-button{color:var(--text);background:#fffbf5e6;border:1px solid #6f56381f;border-radius:999px;padding:.46rem .85rem;font-size:.82rem;line-height:1}.admin-toast-close{background:#f7f2eaf0}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.admin-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grouped-form{align-content:start;align-items:start;gap:1.25rem}.event-tabs{scrollbar-width:thin;align-items:center;gap:.65rem;padding:.1rem 0 .2rem;display:flex;overflow-x:auto}.event-tab-button{min-height:42px;color:var(--muted);background:#fffbf5b8;border:1px solid #6f56381a;border-radius:999px;flex:none;padding:.7rem 1rem;font-size:.92rem;line-height:1;transition:background .16s,border-color .16s,color .16s,transform .16s}.event-tab-button.is-active{color:var(--text);background:linear-gradient(#cdb29538,#aa8c702e);border-color:#8f785d42}.event-tab-panels{align-content:start;align-items:start;display:grid}.event-tab-panel{align-content:start;align-items:start;gap:1rem;display:grid}.event-tab-panel[hidden]{display:none}.form-section{background:#fffcf8b8;border:1px solid #6f563814;border-radius:24px;gap:1rem;padding:1.2rem;display:grid}.form-section-heading{gap:.35rem;display:grid}.form-section-heading .section-copy{margin:0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.image-upload-field{gap:.9rem;display:grid}.image-upload-layout{grid-template-columns:minmax(0,1fr) 220px;align-items:stretch;gap:1rem;display:grid}.image-dropzone{text-align:center;width:100%;min-height:180px;color:var(--muted);background:#fffbf5b8;border:1px dashed #6f56383d;border-radius:22px;place-items:center;gap:.35rem;padding:1.1rem;transition:border-color .16s,background .16s,transform .16s;display:grid}.image-dropzone strong{color:var(--text);font-size:.95rem}.image-dropzone small{font-size:.78rem}.image-dropzone.is-dragging{background:#f8f2e9e6;border-color:#8f785d8c;transform:translateY(-1px)}.image-preview-card{align-content:start;gap:.55rem;display:grid}.image-preview-card>span{color:var(--muted);font-size:.84rem}.image-preview,.image-preview-empty{aspect-ratio:4/5;background:#fffbf5cc;border:1px solid #6f56381f;border-radius:20px;width:100%}.image-preview{object-fit:contain;background:#fffbf5eb}.image-preview-empty{color:var(--muted);place-items:center;font-size:.9rem;display:grid}.map-preview-card{background:#fffbf5b8;border:1px solid #6f563814;border-radius:22px;gap:.7rem;padding:1rem;display:grid}.map-preview-header{gap:.2rem;display:grid}.map-preview-header span{color:var(--text);font-weight:600}.map-preview-header small{color:var(--muted);font-size:.82rem;line-height:1.4}.map-preview-frame-wrap,.map-preview-empty{background:#fffbf5e6;border:1px solid #6f56381f;border-radius:20px;overflow:hidden}.map-preview-frame{border:0;width:100%;min-height:320px;display:block}.map-preview-empty{text-align:center;min-height:220px;padding:1rem}.font-scale-stepper{align-items:center;gap:.5rem;display:flex}.font-scale-stepper-button{border:1px solid var(--line-strong);width:36px;height:36px;color:var(--text);background:#fffcf8e6;border-radius:999px;flex:none;place-items:center;font-size:1.15rem;line-height:1;transition:background .14s,border-color .14s,transform .12s;display:grid}.font-scale-stepper-button:hover:not(:disabled){border-color:var(--accent-strong);background:#cdb69b38;transform:scale(1.06)}.font-scale-stepper-button:disabled{opacity:.35;cursor:default}.font-scale-stepper-value{text-align:center;min-width:52px;color:var(--text);font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:600}.field-note{color:var(--muted);font-size:.88rem;line-height:1.4}.font-preview-label{color:var(--muted);font-size:.8rem}.font-preview-text{color:var(--text);margin:0;line-height:1.25}.font-card{background:#fffcf8b8;border:1px solid #6f563814;border-radius:18px;gap:.9rem;padding:1rem 1.1rem;display:grid}.font-card-controls{grid-template-columns:minmax(0,1fr) 260px;align-items:end;gap:1.1rem;display:grid}.font-card-select{align-content:start;gap:.35rem;display:grid}.font-card-label{color:var(--text);font-size:.9rem;font-weight:600}.font-card-desc{margin:0}.font-card-scale{align-content:end;gap:.5rem;display:grid}.font-card-preview{border-top:1px solid #6f563812;gap:.3rem;padding-top:.75rem;display:grid}@media (max-width:720px){.font-card-controls{grid-template-columns:1fr}}.full-span{grid-column:1/-1}.checkbox-row{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fffcf8b8;border:1px solid #6f563814;border-radius:16px;align-items:center;gap:.85rem;padding:.8rem 1rem;transition:background .14s,border-color .14s;display:flex}.checkbox-row:hover{background:#fcf8f2e6;border-color:#6f563826}.checkbox-row input[type=checkbox]{appearance:none;cursor:pointer;background:#82664826;border:1px solid #6f563833;border-radius:999px;flex:none;width:46px;height:28px;transition:background .2s,border-color .2s;position:relative}.checkbox-row input[type=checkbox]:after{content:"";background:#fff;border-radius:999px;width:20px;height:20px;transition:transform .2s;position:absolute;top:50%;left:3px;transform:translateY(-50%);box-shadow:0 1px 5px #32261a40}.checkbox-row input[type=checkbox]:checked{background:linear-gradient(135deg,#b9a187,#8f785d);border-color:#0000}.checkbox-row input[type=checkbox]:checked:after{transform:translateY(-50%)translate(18px)}.list-item.static{cursor:default}.invitation-list-item{justify-content:space-between;align-items:stretch}.invitation-list-link{flex:1;justify-content:space-between;align-items:center;gap:1rem;display:flex}.list-item strong,.gallery-card strong{display:block}.list-meta{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.admin-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.confirmed-panel{gap:.75rem;display:grid}.confirmed-list{gap:.6rem}.confirmed-item-info{flex:1;gap:.15rem;min-width:0;display:grid}.confirmed-item-names,.rsvp-count-tag{font-size:var(--paragraph-size-sm);color:var(--muted)}.rsvp-count-tag.is-partial{color:var(--text)}.rsvp-count-tag.is-all{color:var(--success);font-weight:600}.sending-panel{gap:1.5rem;display:grid}.sending-panel .panel-heading{grid-template-columns:1fr auto;align-items:start}.sending-template{gap:.85rem;display:grid}.sending-template-bar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.sending-item-info{flex:1;gap:.2rem;min-width:0;display:grid}.sending-item-link{font-size:var(--paragraph-size-sm);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sending-item-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.sending-item-sent{background:#6e876014;border-color:#6e876033}.sending-button-copied{background:linear-gradient(135deg,#6e8760,#4f6644)}.admin-photo-card{background:#fffbf6c7;border-radius:22px;overflow:hidden}.admin-photo-card figcaption{padding:.75rem}.message-card{background:#fffcf8b8;border:1px solid #6f563814;border-radius:22px;gap:.7rem;padding:1rem 1.1rem;display:grid}.message-card p,.message-card-header span{color:var(--muted);margin:0}.audit-log-card{gap:.8rem}.audit-log-details{white-space:pre-wrap;color:var(--muted);line-height:1.5}.capacity-warning-card{gap:1rem;display:grid}.capacity-warning-card.is-warning{background:linear-gradient(#fff9eeeb,#f5ead6eb)}.capacity-warning-card.is-critical{background:linear-gradient(#fff5f2f0,#f7dfdbeb)}.capacity-warning-card.is-critical .capacity-warning-list p{color:#8b4d43}.capacity-warning-card.is-warning .capacity-warning-list p{color:#7a5b35}.capacity-warning-list{gap:.55rem;display:grid}.message-card-header,.message-card-header div{gap:.25rem;display:grid}.scanner-video{background:#3c31242e;border-radius:24px;width:100%;min-height:280px}.card-actions{padding:0 .85rem .85rem}.form-message.success{color:var(--success)}.form-message.error{color:var(--danger)}.link-button{background:0 0;padding:0}@media (max-width:1040px){.landing-hero,.hero-card,.content-grid,.info-grid,.admin-grid,.stat-grid,.admin-shell{grid-template-columns:1fr}.admin-sidebar{border-right:0;border-bottom:1px solid var(--line);gap:.9rem;padding:1.25rem 1rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-upload-header{grid-template-columns:1fr}}@media (max-width:900px){.invitation-entry-screen{place-items:stretch stretch;padding:.75rem}.invitation-entry-hero{grid-template:"heading""visual"minmax(0,1fr)"content"/1fr;gap:.35rem;width:100%;height:calc(100dvh - 1.5rem);min-height:calc(100dvh - 1.5rem);max-height:calc(100dvh - 1.5rem)}.invitation-entry-heading{text-align:center;padding-right:0;padding-top:calc(env(safe-area-inset-top,0px) + .5rem);align-self:start}.invitation-entry-heading h1{font-size:clamp(calc(2.35rem * var(--font-scale-landing-couple)), calc(6.4vw * var(--font-scale-landing-couple)), calc(4rem * var(--font-scale-landing-couple)))}.invitation-entry-visual{justify-content:center;align-items:flex-end;height:100%;min-height:0;max-height:none;display:flex;overflow:hidden}.invitation-entry-image{width:100%;max-width:100%;height:100%;max-height:100%}.invitation-entry-card{align-content:end;align-self:end;gap:.45rem;margin-bottom:.12rem;padding-top:.55rem;padding-bottom:.55rem}.invitation-entry-meta{gap:.28rem}.invitation-entry-date{font-size:calc(.92rem * var(--font-scale-paragraph))}.invitation-entry-countdown .countdown-grid{gap:.24rem}.invitation-entry-countdown .countdown-card{border-radius:12px;padding:.42rem .16rem}.invitation-entry-countdown .countdown-card span{font-size:clamp(.92rem,2.8vw,1.12rem)}.invitation-entry-countdown .countdown-card small{font-size:.56rem}.invitation-entry-cta{width:76px;height:76px}.invitation-entry-cta.is-image-center{top:54%}.invitation-entry-cta.is-image-bottom-right{bottom:.7rem;right:.7rem}}@media (max-width:900px) and (max-height:760px){.invitation-entry-hero{gap:.22rem}.invitation-entry-heading h1{font-size:clamp(calc(2rem * var(--font-scale-landing-couple)), calc(5.8vw * var(--font-scale-landing-couple)), calc(3.2rem * var(--font-scale-landing-couple)))}.invitation-entry-card{gap:.28rem;margin-bottom:.06rem;padding-top:.44rem;padding-bottom:.44rem}.invitation-entry-date{font-size:calc(.84rem * var(--font-scale-paragraph))}.invitation-entry-countdown .countdown-grid{gap:.18rem}.invitation-entry-countdown .countdown-card{border-radius:11px;padding:.32rem .12rem}.invitation-entry-countdown .countdown-card span{font-size:clamp(.8rem,2.4vw,.98rem)}.invitation-entry-countdown .countdown-card small{font-size:.48rem}}@media (max-width:720px){.landing-card,.auth-card,.panel-soft,.hero-card{border-radius:24px;padding:1.2rem}.detail-list,.gallery-grid,.admin-photo-grid,.admin-form .form-grid,.image-upload-layout{grid-template-columns:1fr}.landing-hero{grid-template-columns:1fr;grid-template-areas:"heading""visual""content";gap:.9rem}.landing-heading{text-align:center;padding-right:0}.landing-heading h1{font-size:clamp(calc(2.5rem * var(--font-scale-landing-couple)), calc(11vw * var(--font-scale-landing-couple)), calc(4rem * var(--font-scale-landing-couple)))}.landing-visual{min-height:380px}.invitation-entry-screen{place-items:stretch stretch;padding:.75rem}.invitation-entry-hero{grid-template:"heading""visual"minmax(0,1fr)"content"/1fr;align-items:stretch;gap:.22rem;width:100%;height:calc(100dvh - 1.5rem);min-height:calc(100dvh - 1.5rem)}.invitation-entry-heading{text-align:center;padding-right:0;padding-top:calc(env(safe-area-inset-top,0px) + .55rem);align-self:start}.invitation-entry-heading h1{font-size:clamp(calc(2.35rem * var(--font-scale-landing-couple)), calc(8.5vw * var(--font-scale-landing-couple)), calc(3.2rem * var(--font-scale-landing-couple)))}.invitation-entry-visual{justify-content:center;align-items:flex-end;height:100%;min-height:0;max-height:none;display:flex;overflow:hidden}.invitation-entry-image{width:100%;max-width:100%;height:100%;max-height:100%}.invitation-entry-card{align-self:end;gap:.32rem;margin-bottom:.08rem;padding-top:.48rem;padding-bottom:.48rem}.invitation-entry-meta{gap:.2rem}.invitation-entry-date{font-size:.84rem}.invitation-entry-countdown .countdown-grid{gap:.18rem}.invitation-entry-countdown .countdown-card{border-radius:11px;padding:.32rem .12rem}.invitation-entry-countdown .countdown-card span{font-size:clamp(.78rem,3.75vw,.94rem)}.invitation-entry-countdown .countdown-card small{font-size:.5rem}.invitation-entry-cta{width:74px;height:74px}.invitation-entry-cta.is-image-center{top:53%}.invitation-entry-cta.is-image-bottom-right{bottom:.5rem;right:.5rem}.invitation-entry-card.has-side-cta{grid-template-columns:1fr;row-gap:.4rem}.invitation-entry-cta-slot.side{justify-self:end}.landing-content{gap:1rem}.landing-content .hero-copy{text-align:center;font-size:var(--paragraph-size-body)}.landing-meta{gap:.8rem}.landing-content .event-chip{text-align:center}.landing-countdown .countdown-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.landing-countdown .countdown-card{border-radius:18px;padding:.75rem .35rem}.landing-countdown .countdown-card span{font-size:clamp(1.2rem,6vw,1.5rem)}.landing-countdown .countdown-card small{font-size:.72rem}.info-grid-single{margin-bottom:1.9rem}.content-grid,.content-stack{gap:1.8rem}.gallery-upload-bar,.gallery-grid-private{grid-template-columns:1fr}.gallery-card-private{padding:.68rem .68rem .5rem}.invitation-shell,.admin-content,.landing-shell,.auth-shell{padding:1rem}.sending-panel .panel-heading{grid-template-columns:1fr}.sending-item{flex-wrap:wrap;gap:.75rem}.sending-item-actions{justify-content:flex-start;width:100%}}.seating-shell{grid-template-columns:320px 1fr;align-items:start;gap:20px;display:grid}.seating-sidebar{flex-direction:column;gap:16px;display:flex}.seating-controls{flex-direction:column;gap:8px;margin-top:10px;display:flex}.seating-auto{border-top:1px solid #00000014;flex-direction:column;gap:8px;margin-top:14px;padding-top:14px;display:flex}.seating-auto label{align-items:center;gap:8px;font-size:14px;display:flex}.seating-auto input[type=number]{border:1px solid #00000026;border-radius:6px;width:64px;padding:4px 6px}.seating-unassigned.is-over{outline-offset:-6px;outline:2px dashed #b89456}.seating-guest-list{flex-wrap:wrap;gap:6px;max-height:320px;display:flex;overflow-y:auto}.seating-guest-pill{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:#f5efe4;border:1px solid #00000014;border-radius:10px;flex-direction:column;padding:6px 10px;font-size:13px;line-height:1.2;display:flex}.seating-guest-pill:active{cursor:grabbing}.seating-guest-pill strong{font-weight:600}.seating-guest-pill span{opacity:.65;font-size:11px}.seating-guest-pill.rsvp-confirmed{background:#e3f1e1;border-color:#8db98a}.seating-guest-pill.rsvp-declined{opacity:.7;background:#f6dede;border-color:#c9a1a1}.seating-canvas{background:radial-gradient(circle,#0000000d 1px,#0000 1px) 0 0/24px 24px,#faf6ef;border:1px dashed #0000002e;border-radius:16px;min-height:720px;position:relative;overflow:auto}.seating-empty{color:#00000073;place-items:center;font-size:14px;display:grid;position:absolute;inset:0}.seating-table{position:absolute}.seating-table-body{color:#fff;text-align:center;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:#b89456;place-items:center;padding:6px;display:grid;box-shadow:0 6px 16px #0000001f}.seating-table-body:active{cursor:grabbing}.seating-table.is-selected .seating-table-body{outline-offset:4px;outline:3px solid #4b6b8a}.seating-table-label{font-size:14px;font-weight:700}.seating-table-meta{opacity:.85;font-size:11px}.seating-seat{background:#fff;border:2px solid #b89456;border-radius:50%;place-items:center;width:36px;height:36px;font-size:11px;transition:transform .1s,background .1s;display:grid;position:absolute;transform:translate(-50%,-50%)}.seating-seat.is-over{background:#ffe9b8;transform:translate(-50%,-50%)scale(1.15)}.seating-seat.is-occupied{background:#e3f1e1;border-color:#5b8758;border-radius:10px;width:56px;height:36px}.seating-seat-index{color:#888}.seating-seat-chip{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;white-space:nowrap;text-overflow:ellipsis;max-width:52px;padding:2px 4px;font-size:11px;font-weight:600;overflow:hidden}.seating-seat-chip:active{cursor:grabbing}.seating-inspector{flex-direction:column;gap:10px;margin-top:8px;display:flex}.seating-inspector label{flex-direction:column;gap:4px;font-size:13px;display:flex}.seating-inspector input,.seating-inspector select{border:1px solid #00000026;border-radius:6px;padding:6px 8px}@media (max-width:900px){.seating-shell{grid-template-columns:1fr}}.seating-rotate-handle{color:#fff;cursor:grab;z-index:20;-webkit-user-select:none;user-select:none;touch-action:none;background:#4b6b8a;border-radius:50%;place-items:center;width:28px;height:28px;font-size:16px;line-height:1;display:grid;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0003}.seating-rotate-handle:active{cursor:grabbing;background:#2e4f6e}.seating-group-stack{flex-direction:column;gap:12px;max-height:360px;display:flex;overflow-y:auto}.seating-group{flex-direction:column;gap:6px;display:flex}.seating-group-label{text-transform:uppercase;letter-spacing:.05em;color:#8a7454;background:#b894561f;border-left:3px solid #b89456;border-radius:6px;padding:2px 6px;font-size:11px;font-weight:700}.seating-drag-card{cursor:grabbing;background:#fff;border:2px solid #b89456;border-radius:12px;flex-direction:column;gap:2px;min-width:140px;padding:10px 14px;display:flex;transform:rotate(2deg)scale(1.04);box-shadow:0 8px 24px #0000002e,0 2px 6px #0000001a}.seating-drag-card strong{color:#2c2c2c;font-size:14px;font-weight:700}.seating-drag-card span{color:#7a6a50;font-size:12px}.seating-drag-card.rsvp-confirmed{background:#f0faf0;border-color:#5b8758}.seating-drag-card.rsvp-declined{background:#fff5f5;border-color:#b05555}
