.rsvp-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#2a1f18b3;justify-content:center;align-items:center;padding:20px;animation:.3s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.rsvp-modal{background-color:#fdfbf7;border:1px solid #8c6e3c33;border-radius:12px;width:100%;max-width:500px;max-height:90vh;padding:40px;position:relative;overflow-y:auto;box-shadow:0 20px 40px #0003}.rsvp-close{cursor:pointer;color:#5a0f1b;background:0 0;border:none;font-size:28px;line-height:1;position:absolute;top:15px;right:20px}.rsvp-modal-title{color:#5a0f1b;text-align:center;letter-spacing:.1em;margin:0 0 5px;font-family:Playfair Display,Georgia,serif;font-size:28px}.rsvp-modal-subtitle{color:#6b5238;text-align:center;margin:0 0 25px;font-family:Playfair Display,Georgia,serif;font-size:14px;font-style:italic}.rsvp-error{color:#a82030;text-align:center;background-color:#fdeaea;border:1px solid #f5c6c6;border-radius:6px;margin-bottom:20px;padding:12px;font-size:14px}.rsvp-form{flex-direction:column;gap:18px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:#2a1f18;font-family:Playfair Display,Georgia,serif;font-size:14px;font-weight:600}.form-group input[type=text],.form-group input[type=tel],.form-group input[type=email],.form-group input[type=number],.form-group textarea{color:#2a1f18;background-color:#0000;border:none;border-bottom:1px solid #d4c8b8;border-radius:0;padding:10px 0;font-family:Playfair Display,Georgia,serif;font-size:15px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{border-color:#5a0f1b;outline:none;box-shadow:0 1px #5a0f1b}.radio-group{gap:20px;display:flex}.radio-label{color:#2a1f18;cursor:pointer;align-items:center;gap:8px;font-family:Playfair Display,Georgia,serif;font-size:15px;display:flex}.rsvp-button{color:#fdfbf7;letter-spacing:.05em;cursor:pointer;text-transform:uppercase;background-color:#5a0f1b;border:none;border-radius:4px;padding:14px;font-family:Playfair Display,Georgia,serif;font-size:16px;font-weight:700;transition:background-color .2s}.rsvp-button:hover:not(:disabled){background-color:#3d0a12}.rsvp-button:disabled{cursor:not-allowed;background-color:#9c6c74}.submit-btn{margin-top:10px}.fade-in{animation:.3s fadeIn}.rsvp-success{text-align:center;padding:20px 0;font-family:Playfair Display,Georgia,serif}.rsvp-success h2{color:#5a0f1b;margin-bottom:15px;font-size:32px}.rsvp-success p{color:#2a1f18;margin-bottom:10px;font-size:16px;line-height:1.5}.rsvp-success button{width:100%;margin-top:25px}.page-wrapper{z-index:1;background-image:url(/assets/wedding_bg-gNvn5H3a.png);background-position:50%;background-size:cover;background-attachment:fixed;justify-content:center;align-items:center;min-height:100svh;padding:24px 12px;display:flex;position:relative}.page-wrapper:before{content:"";-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:-1;background:#28190f73;position:absolute;inset:0}.envelope-wrapper{aspect-ratio:1.4;perspective:2000px;width:min(800px,96vw);position:relative}.invitation-card{aspect-ratio:620/775;transform-origin:50%;z-index:2;background-image:url(/assets/luxury_wedding_bg-iKRFJQXT.png);background-repeat:no-repeat;background-size:100% 100%;border-radius:4px;width:min(620px,92vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.55);box-shadow:0 4px 12px #0000001a}.envelope-back{z-index:1;background-color:#c9ba9c;border-radius:4px;position:absolute;inset:0;box-shadow:0 10px 30px #0000004d}.envelope-flaps{z-index:3;pointer-events:none;position:absolute;inset:0}.flap{position:absolute;inset:0}.left-flap{clip-path:polygon(0 0,50% 50%,0 100%);z-index:2;background-color:#e3d2ba}.right-flap{clip-path:polygon(100% 0,50% 50%,100% 100%);z-index:2;background-color:#e3d2ba}.bottom-flap{clip-path:polygon(0 100%,50% 50%,100% 100%);z-index:3;background-color:#dfcdb4}.top-flap{clip-path:polygon(0 0,100% 0,50% 50%);transform-origin:top;z-index:4;background-color:#e8d7be}.envelope-seal{z-index:10;cursor:pointer;pointer-events:auto;background:radial-gradient(circle at 38% 35%,#c0392b 0%,#922b21 45%,#7b241c 70%,#641e16 100%);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;animation:2.5s ease-in-out infinite pulseSeal;display:flex;position:absolute;top:55%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #7b241c,0 0 0 5px #b43c2866,0 8px 20px #0000008c,inset 3px 3px 8px #ffffff2e,inset -3px -3px 8px #0006}.envelope-seal:before{content:"";clip-path:polygon(50% 0%,61% 5%,75% 2%,83% 12%,95% 18%,100% 30%,97% 43%,100% 56%,93% 68%,85% 78%,75% 87%,62% 93%,50% 100%,38% 95%,25% 93%,14% 85%,5% 75%,0% 60%,3% 45%,0% 30%,8% 17%,18% 8%,30% 3%,40% 0%);z-index:-1;background:radial-gradient(circle at 38% 35%,#c0392b 0%,#922b21 50%,#7b241c 100%);border-radius:50%;position:absolute;inset:-6px;box-shadow:0 6px 18px #00000080}.envelope-seal:after{content:"";pointer-events:none;border:1.5px solid #ffffff26;border-radius:50%;position:absolute;inset:10px;box-shadow:inset 0 0 6px #00000080}.seal-text{z-index:2;color:#fff0ebeb;letter-spacing:.05em;text-align:center;text-shadow:0 1px 3px #0009;-webkit-user-select:none;user-select:none;font-family:Playfair Display,Georgia,serif;font-size:10px;font-style:italic;font-weight:700;line-height:1.2;position:relative}@keyframes pulseSeal{0%,to{box-shadow:0 0 0 3px #7b241c,0 0 0 5px #b43c2866,0 8px 20px #0000008c,inset 3px 3px 8px #ffffff2e,inset -3px -3px 8px #0006}50%{box-shadow:0 0 0 3px #7b241c,0 0 0 12px #b43c2833,0 10px 28px #0009,inset 3px 3px 8px #ffffff2e,inset -3px -3px 8px #0006}}.envelope-wrapper.open{cursor:default}.envelope-wrapper.open .top-flap{animation:.8s ease-in-out forwards flapOpen}@keyframes flapOpen{0%{z-index:4;transform:rotateX(0)}49%{z-index:4}50%{z-index:1;transform:rotateX(90deg)}to{z-index:1;transform:rotateX(180deg)}}.envelope-wrapper.open .invitation-card{animation:2s cubic-bezier(.4,0,.2,1) .5s forwards cardSlide}@keyframes cardSlide{0%{z-index:2;transform:translate(-50%,-50%)scale(.55)}40%{z-index:2;transform:translate(-50%,-120%)scale(.55)}45%{z-index:6;transform:translate(-50%,-120%)scale(.55)}to{z-index:6;transform:translate(-50%,-50%)scale(1)}}.envelope-wrapper.open .envelope-back,.envelope-wrapper.open .envelope-flaps{animation:.6s 2.4s forwards envelopeFadeOut}@keyframes envelopeFadeOut{to{opacity:0;visibility:hidden}}.invitation-card:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(#0000 60%,#8c6e3c1a 100%);position:absolute;inset:0}.invitation-content{text-align:center;z-index:5;flex-direction:column;justify-content:center;align-items:center;width:70%;height:58%;display:flex;position:absolute;top:24%;left:15%}.together-families{letter-spacing:.04em;color:#2a1f18;margin-bottom:clamp(4px,1vw,8px);font-family:Playfair Display,Georgia,serif;font-size:clamp(8px,1.8vw,11px);font-style:italic;font-weight:600;line-height:1.4}.name-script{-webkit-text-stroke:.5px currentColor;color:#160f0b;font-family:Allura,cursive;font-weight:700;line-height:1}.bride{white-space:nowrap;margin-bottom:0;font-size:clamp(20px,5.8vw,38px)}.groom{margin-bottom:clamp(4px,1.2vw,8px);font-size:clamp(22px,6.5vw,44px)}.ampersand{-webkit-text-stroke:.5px currentColor;color:#1a120e;margin:0;font-family:Allura,cursive;font-size:clamp(16px,3.6vw,24px);font-weight:700;line-height:1.1}.body-copy{color:#2a1f18;font-family:Playfair Display,Georgia,serif;font-style:italic;font-weight:700;line-height:1.65}.invite-line{margin-bottom:clamp(4px,1.2vw,9px);font-size:clamp(9px,1.85vw,12px)}.date-line{margin-bottom:clamp(3px,1vw,7px);font-size:clamp(10px,2.1vw,13.5px);font-style:normal;font-weight:800}.venue-line{margin-bottom:clamp(4px,1.2vw,9px);font-size:clamp(10px,2.1vw,13.5px);font-style:normal;font-weight:800}.quote-line{margin-top:clamp(3px,.9vw,7px);margin-bottom:clamp(3px,.9vw,7px);font-size:clamp(8px,1.75vw,11.5px);font-style:italic}.hashtag-line{letter-spacing:.04em;margin-bottom:clamp(3px,.8vw,6px);font-size:clamp(8px,1.8vw,12px);font-style:normal;font-weight:700}.rsvp-divider{background:linear-gradient(90deg,#0000,#5a0f1b73,#0000);width:55%;height:1px;margin:clamp(4px,1vw,8px) auto}.rsvp-block{flex-direction:column;align-items:center;gap:clamp(2px,.6vw,4px);display:flex}.rsvp-online-btn{letter-spacing:.1em;color:#5a0f1b;text-transform:uppercase;cursor:pointer;background-color:#0000;border:1px solid #5a0f1b;border-radius:4px;margin-bottom:clamp(4px,1vw,8px);padding:clamp(6px,1.5vw,10px) clamp(16px,3.5vw,24px);font-family:Playfair Display,Georgia,serif;font-size:clamp(9px,2vw,13px);font-weight:700;transition:all .2s}.rsvp-online-btn:hover{color:#fdfbf7;background-color:#5a0f1b}.rsvp-line{color:#2a1f18;align-items:center;gap:clamp(4px,1vw,8px);font-family:Playfair Display,Georgia,serif;font-size:clamp(8px,1.75vw,11.5px);display:flex}.rsvp-name{font-style:normal;font-weight:700}.rsvp-number{color:#5a0f1b;letter-spacing:.03em;font-style:italic;font-weight:600;text-decoration:none}.rsvp-number:hover{text-decoration:underline}.admin-login-wrapper{background-color:#fdfbf7;justify-content:center;align-items:center;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex}.admin-login-card{text-align:center;background:#fff;border-radius:8px;width:100%;max-width:400px;padding:40px;box-shadow:0 4px 12px #0000001a}.admin-login-card h2{color:#5a0f1b;margin-top:0;margin-bottom:24px}.admin-error{color:#a82030;background:#fdeaea;border-radius:4px;margin-bottom:20px;padding:10px;font-size:14px}.admin-login-card .password-input-wrapper{width:100%;margin-bottom:20px;position:relative}.admin-login-card .password-input-wrapper input{box-sizing:border-box;border:1px solid #d4c8b8;border-radius:4px;width:100%;margin-bottom:0;padding:12px 40px 12px 12px;font-size:16px}.admin-login-card button.toggle-password{color:#666;background:0 0;border:none;justify-content:center;align-items:center;width:auto;padding:0;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.admin-login-card button.toggle-password:hover{color:#333;background:0 0}.admin-login-card button{color:#fff;cursor:pointer;background-color:#5a0f1b;border:none;border-radius:4px;width:100%;padding:12px;font-size:16px;transition:background .2s}.admin-login-card button:hover{background-color:#3d0a12}.admin-dashboard-wrapper{color:#333;background-color:#f4f7f6;min-height:100vh;padding:40px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.admin-header{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.admin-header h1{color:#5a0f1b;margin:0}.admin-actions{gap:10px;display:flex}.btn-secondary{cursor:pointer;color:#2a1f18;background-color:#fff;border:1px solid #d4c8b8;border-radius:4px;padding:8px 16px;font-size:14px;transition:all .2s}.btn-secondary:hover{background-color:#f0f0f0}.admin-stats{gap:20px;margin-bottom:30px;display:flex}.stat-card{background:#fff;border-left:4px solid #5a0f1b;border-radius:8px;flex:1;padding:20px;box-shadow:0 2px 4px #0000000d}.stat-card.attending{border-left-color:#2e7d32}.stat-card.declined{border-left-color:#c62828}.stat-card h3{color:#666;text-transform:uppercase;margin:0 0 10px;font-size:14px}.stat-card p{color:#333;margin:0;font-size:32px;font-weight:700}.table-container{background:#fff;border:1px solid #e4e4e7;border-radius:8px;overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.admin-table thead tr{border-bottom:1px solid #e4e4e7}.admin-table th{color:#71717a;white-space:nowrap;background-color:#0000;height:48px;padding:12px 16px;font-weight:500}.admin-table td{vertical-align:middle;padding:16px}.admin-table tbody tr{border-bottom:1px solid #e4e4e7;transition:background-color .2s}.admin-table tbody tr:last-child{border-bottom:none}.admin-table tbody tr:hover{background-color:#f4f4f5}.status-badge{border:1px solid #0000;border-radius:9999px;align-items:center;padding:2px 10px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.status-badge.yes{color:#fafafa;background-color:#18181b}.status-badge.no{color:#fafafa;background-color:#ef4444}.message-cell{white-space:pre-wrap;color:#555;max-width:300px;font-size:13px}.empty-state{text-align:center;color:#71717a;font-size:14px;padding:48px!important}@media (width<=768px){.admin-dashboard-wrapper{padding:20px 15px}.admin-header{flex-direction:column;align-items:flex-start;gap:15px}.admin-actions{justify-content:space-between;width:100%}.admin-stats{flex-direction:column;gap:15px}.stat-card{padding:15px}.admin-login-card{margin:15px;padding:30px 20px}.admin-table th,.admin-table td{white-space:nowrap;padding:12px 10px;font-size:14px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}#root{width:100%;min-height:100svh}
