:root{color-scheme:only light;--color-brown-primary: #58442e;--color-brown-dark: #3f2f1f;--color-cream-bg: #faf9f6;--color-beige-card: #f5f0eb;--color-sage-green: #96a58d;--color-white: #ffffff;--color-gold: #d4af37;--color-text-dark: #2c251e;--color-text-muted: #72675c;--font-sans-ui: "Montserrat", sans-serif;--transition-smooth: all .5s cubic-bezier(.25, 1, .5, 1);--shadow-premium: 0 10px 40px rgba(88, 68, 46, .06);--border-gold: 1px solid rgba(88, 68, 46, .12)}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;background-color:var(--color-cream-bg);color:var(--color-text-dark);font-family:var(--font-sans-ui);overflow-x:hidden}.hidden{display:none!important}.global-navbar{position:fixed;top:0;left:0;width:100%;height:60px;background-color:var(--color-white);border-bottom:1px solid rgba(88,68,46,.08);z-index:1000;display:flex;align-items:center;justify-content:flex-end;padding:0 3rem}.navbar-container{display:flex;align-items:center}.navbar-links{display:flex;gap:2.2rem}.nav-link{font-family:var(--font-sans-ui);font-size:.75rem;font-weight:500;color:var(--color-text-muted);text-decoration:none;letter-spacing:.08em;transition:var(--transition-smooth)}.nav-link:hover{color:var(--color-brown-primary)}.nav-link.active{font-weight:600;color:var(--color-brown-primary)}.landing-countdown-text{font-family:var(--font-sans-ui);font-size:.7rem;font-weight:500;line-height:1.7;letter-spacing:.18em;color:var(--color-text-muted);text-align:center;text-transform:uppercase;margin-bottom:3.5rem}.landing-mail-text{font-family:var(--font-sans-ui);font-size:.72rem;font-weight:500;line-height:1.7;letter-spacing:.18em;color:var(--color-text-muted);text-align:center;text-transform:uppercase;margin-bottom:1.8rem}#app-container{width:100%}.view{display:none;width:100%;min-height:100vh;background-color:var(--color-cream-bg);justify-content:center;align-items:flex-start;padding-top:60px}.view.active{display:flex;animation:view-fade-in .6s cubic-bezier(.25,1,.5,1) forwards}@keyframes view-fade-in{0%{opacity:0;transform:scale(.99) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}#envelope-landing.view{align-items:center}#invitation-flatlay.view{height:100vh;min-height:unset;overflow:hidden;align-items:stretch;padding-top:0}#envelope-landing{background-image:url(/assets/Landingpagebackground-D2nBUPBz.png);background-size:cover;background-position:center;background-repeat:no-repeat}.envelope-landing-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:600px;padding:2rem;text-align:center}.landing-click-instruction{font-family:var(--font-sans-ui);font-size:.75rem;font-weight:500;letter-spacing:.22em;color:var(--color-text-muted);text-transform:uppercase;text-align:center;margin-top:.5rem;-webkit-user-select:none;user-select:none;pointer-events:none}#envelope-landing .landing-countdown-text,#envelope-landing .landing-mail-text,#envelope-landing .landing-header-img,#envelope-landing .closed-envelope-container,#envelope-landing .landing-click-instruction{opacity:0;transform:translateY(40px)}#envelope-landing.active .landing-countdown-text{animation:slide-up-fade-entry 1.2s cubic-bezier(.16,1,.3,1) .1s forwards}#envelope-landing.active .landing-mail-text{animation:slide-up-fade-entry 1.2s cubic-bezier(.16,1,.3,1) .25s forwards}#envelope-landing.active .landing-header-img{animation:slide-up-fade-entry 1.2s cubic-bezier(.16,1,.3,1) .4s forwards}#envelope-landing.active .closed-envelope-container{animation:slide-up-fade-entry 1.2s cubic-bezier(.16,1,.3,1) .55s forwards,gentle-float 4s ease-in-out infinite alternate 1.75s}#envelope-landing.active .landing-click-instruction{animation:slide-up-fade-entry 1.2s cubic-bezier(.16,1,.3,1) .7s forwards}@keyframes slide-up-fade-entry{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.landing-header-img{position:relative;width:100%;max-width:480px;height:auto;z-index:10;margin-bottom:1.2rem;-webkit-user-select:none;user-select:none;pointer-events:none}.closed-envelope-container{position:relative;width:100%;max-width:420px;z-index:5;aspect-ratio:1.404;cursor:pointer;border-radius:8px;box-shadow:0 15px 35px #58442e1a;transition:transform .6s cubic-bezier(.25,1,.5,1),box-shadow .6s ease;overflow:visible}.closed-envelope-container:hover{transform:scale(1.05) translateY(-5px);box-shadow:0 25px 45px #58442e2e}.closed-envelope-img{width:100%;height:100%;object-fit:contain;border-radius:8px;display:block}.hotspot-pulse-ring{position:absolute;top:56.2%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;border:2px solid rgba(88,68,46,.3);animation:pulse-effect 2.5s infinite ease-out;pointer-events:none}.hotspot-pulse-ring-gold{position:absolute;top:56.2%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;border-radius:50%;border:2px solid var(--color-gold);animation:pulse-effect 2.5s infinite ease-out;pointer-events:none}@keyframes pulse-effect{0%{transform:translate(-50%,-50%) scale(.8);opacity:.8}to{transform:translate(-50%,-50%) scale(1.5);opacity:0}}@keyframes gentle-float{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.flatlay-scroll-container{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;padding:2rem 1rem 4rem;padding-top:calc(60px + 2rem);overflow-y:auto;background-color:#fff}.flatlay-composition{position:relative;width:100%;max-width:900px;aspect-ratio:900 / 2700;margin:0 auto}.flatlay-item{position:absolute;transition:transform .5s cubic-bezier(.25,1,.5,1),box-shadow .5s ease}.flatlay-img{width:100%;height:auto;display:block}.opened-envelope{top:0%;left:3%;width:54%;z-index:1}.join-us-card{top:4%;left:37%;width:60%;z-index:2;transform:rotate(2deg)}.polaroid-1{top:23%;left:1%;width:40%;z-index:1;transform:rotate(-1deg)}.details-card{top:34%;left:10%;width:50%;z-index:1;transform:rotate(-4deg)}.stand-tie-card{top:37%;left:52%;width:50%;z-index:0;transform:rotate(2deg)}.rsvp-letter-card{top:51%;left:6%;width:62%;z-index:4;transform:rotate(0)}.polaroid-2{top:58%;left:58%;width:42%;z-index:2;transform:rotate(-3deg)}.polaroid-3{top:66%;left:6%;width:40%;z-index:9;transform:rotate(2deg)}.flowers-hugging-card{position:absolute;top:58%;left:0%;width:60%;z-index:2;transform:rotate(0);pointer-events:none}.our-story-card{top:66.5%;left:32%;width:67%;z-index:10;transform:rotate(1deg)}.polaroid-4{top:78%;left:12%;width:38%;z-index:2;transform:rotate(-4deg)}.polaroid{background-color:var(--color-white);padding:4% 4% 14%;box-shadow:0 8px 24px #58442e14;border:1px solid rgba(88,68,46,.05);border-radius:2px;display:block;box-sizing:border-box}.polaroid-content-img{width:100%;height:auto;display:block}.interactive-item{display:block;text-decoration:none;box-sizing:border-box}.interactive-item:hover{z-index:20}.flatlay-footer-section{position:absolute;top:96.5%;left:0;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 0;z-index:10}.flatlay-footer-cupid{width:80px;height:auto;display:block;margin-bottom:1.25rem}.flatlay-footer-text-with-love{font-family:var(--font-sans-ui);font-size:.75rem;font-weight:500;letter-spacing:.25em;color:var(--color-text-muted);margin-bottom:.75rem}.flatlay-footer-names{font-family:Playfair Display,serif;font-style:italic;font-weight:400;font-size:2.2rem;color:var(--color-brown-primary);margin-bottom:1.5rem}.flatlay-footer-contact{font-family:var(--font-sans-ui);font-size:.75rem;font-weight:400;line-height:1.6;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:2.5rem}.flatlay-footer-back-link{font-family:var(--font-sans-ui);font-size:.75rem;font-weight:600;letter-spacing:.15em;color:var(--color-text-muted);text-decoration:none;text-transform:uppercase;border-bottom:1px solid transparent;transition:var(--transition-smooth)}.flatlay-footer-back-link:hover{color:var(--color-brown-primary);border-bottom-color:var(--color-brown-primary)}.details-page-scroller{width:100%;display:flex;flex-direction:column;align-items:center;padding:0 1rem 6rem;overflow-y:visible;background-color:#fff}.rsvp-page-scroller{width:100%;display:flex;flex-direction:column;align-items:center;padding:3rem 1.5rem 6rem;overflow-y:visible;background-color:var(--color-cream-bg)}.our-story-page-scroller{width:100%;display:flex;flex-direction:column;align-items:center;padding:1.25rem 1.5rem 4rem;overflow-y:visible;background-color:var(--color-cream-bg)}.page-nav-header{width:100%;max-width:900px;display:flex;justify-content:flex-start;margin-bottom:2rem}.btn-back-nav{font-family:var(--font-sans-ui);font-size:.75rem;font-weight:600;letter-spacing:.12em;color:var(--color-brown-primary);text-decoration:none;padding:.65rem 1.3rem;border:var(--border-gold);border-radius:40px;background-color:var(--color-white);transition:var(--transition-smooth);box-shadow:0 4px 12px #58442e08}.btn-back-nav:hover{color:var(--color-white);background-color:var(--color-brown-primary);transform:translate(-4px);box-shadow:0 4px 15px #58442e1f}#details-page{background-color:#fff}.details-layout-container{width:100%;display:flex;flex-direction:column;align-items:center;gap:4.5rem}.details-banner-wrapper{position:relative;width:100%;margin:0}.details-header-banner{width:100%;height:auto;display:block}.details-banner-back{position:absolute;top:7%;left:50%;transform:translate(-50%);font-family:var(--font-sans-ui);font-size:.8rem;font-weight:500;letter-spacing:.25em;color:#fff;text-decoration:none;z-index:15;transition:opacity .3s ease,letter-spacing .3s ease;text-shadow:0 1px 4px rgba(0,0,0,.25)}.details-banner-back:hover{opacity:.8;letter-spacing:.28em}.details-banner-title-img{position:absolute;top:73%;left:50%;transform:translate(-50%,-50%);width:58%;height:auto;pointer-events:none;z-index:12;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2))}@media (max-width: 900px){.details-banner-title-img{width:65%;top:72%}.details-banner-back{font-size:.72rem;top:6.5%}}@media (max-width: 600px){.details-banner-title-img{width:72%;top:72%}.details-banner-back{font-size:.6rem;top:6%}}.details-card-centered{width:100%;max-width:600px;margin:0 auto;display:flex;justify-content:center}.details-card-img{width:100%;height:auto;display:block}.date-location-wrapper,.details-timeline-section,.details-other-section,.details-gifts-section,.details-kiss-hug-section,.details-bottom-nav{width:100%;max-width:600px;padding:0 1.5rem;box-sizing:border-box}.details-with-love-section{width:100%;max-width:720px;padding:0 1.5rem;box-sizing:border-box}.details-with-love-section .details-card-centered{max-width:720px}.details-accommodation-section{display:flex;flex-direction:column;align-items:center;text-align:center}.details-timeline-section{display:flex;flex-direction:column;align-items:center;gap:2rem;margin-top:-2rem}.details-script-title{font-family:Playfair Display,serif;font-style:italic;font-weight:400;font-size:3.2rem;color:var(--color-text-dark);text-align:center;margin:0}.timeline-stack{width:100%;display:flex;flex-direction:column;gap:2rem;align-items:center}.details-accommodation-section{display:flex;flex-direction:column;align-items:center}.accommodation-stack{width:100%;display:flex;flex-direction:column;gap:2.5rem;align-items:center}.accommodation-card-large{width:100%!important;max-width:760px!important;min-width:300px;flex-shrink:0!important;display:flex;justify-content:center;margin:0 auto}.accommodation-card-large img,.accommodation-card-large .details-card-img{width:100%;height:auto;display:block}.luggage-cart-wrapper{display:flex;justify-content:center;margin:.5rem 0 1.5rem;padding:0}.luggage-cart-img{width:120px;height:auto;display:block}.hotel-link-card{display:block;width:100%;max-width:420px;text-decoration:none;cursor:pointer;transition:transform .3s cubic-bezier(.25,1,.5,1);padding:0}.hotel-link-card:hover{transform:scale(1.02)}@media (max-width: 768px){.accommodation-card-large{width:100%!important;max-width:100%!important}.hotel-link-card{max-width:280px}}.details-other-section{display:flex;justify-content:center}.details-bottom-nav,.rsvp-bottom-nav,.story-bottom-nav{width:100%;display:flex;justify-content:center;margin-top:2.5rem}.btn-back-nav-bottom{font-family:var(--font-sans-ui);font-size:.7rem;font-weight:600;letter-spacing:.18em;color:var(--color-text-muted);text-decoration:none;text-transform:uppercase;padding:.5rem 1.2rem;border-bottom:1px solid transparent;transition:var(--transition-smooth)}.btn-back-nav-bottom:hover{color:var(--color-brown-primary);border-bottom-color:var(--color-brown-primary)}.rsvp-top-nav{width:100%;display:flex;justify-content:center;margin-bottom:2.5rem}.rsvp-layout-container{width:100%;max-width:650px;display:flex;flex-direction:column;align-items:center;gap:3rem}.rsvp-letter-wrapper{width:100%;background-color:var(--color-white);border:var(--border-gold);border-radius:12px;padding:.8rem;box-shadow:var(--shadow-premium)}.rsvp-trigger-card-wrapper{position:relative;width:100%;max-width:480px;aspect-ratio:1.06;cursor:pointer;transition:transform .4s cubic-bezier(.25,1,.5,1);overflow:visible}.rsvp-trigger-card-wrapper:hover{transform:scale(1.03) translateY(-3px)}.rsvp-trigger-card-image{width:100%;height:100%;object-fit:contain}.rsvp-form-wrapper{width:100%;max-width:650px;margin-top:1rem;display:none;animation:slideDown .6s cubic-bezier(.25,1,.5,1) forwards}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.rsvp-form-card{background-color:var(--color-beige-card);border:1px solid rgba(88,68,46,.15);border-radius:8px;padding:4.5rem 3.5rem;box-shadow:0 15px 45px #58442e0d;text-align:center;width:100%;position:relative}.rsvp-form-card:before{content:"";position:absolute;top:12px;left:12px;right:12px;bottom:12px;border:1px solid rgba(150,165,141,.35);pointer-events:none;border-radius:6px}.form-title{font-family:Playfair Display,serif;font-style:italic;font-weight:400;font-size:2.2rem;color:var(--color-brown-primary);margin-bottom:.5rem}.gold-line{width:45px;height:1px;background-color:var(--color-brown-primary);margin:.5rem auto 2.5rem}.form-group{margin-bottom:2.2rem;text-align:left}.form-group label{display:block;font-family:var(--font-sans-ui);font-size:.65rem;font-weight:600;letter-spacing:.15em;color:var(--color-brown-primary);margin-bottom:.5rem}.form-group input[type=text]{width:100%;background-color:transparent;border:none;border-bottom:1.5px solid rgba(88,68,46,.2);border-radius:0;padding:.8rem .5rem;font-family:var(--font-sans-ui);font-size:.95rem;color:var(--color-text-dark);outline:none;transition:border-color .3s ease,background-color .3s ease}.form-group input[type=text]:focus{border-bottom-color:var(--color-gold);background-color:#ffffff40}.form-group input[type=text]::placeholder{color:#72675c66;font-style:italic;font-size:.85rem}.radio-group{display:flex;gap:2rem;margin-top:.75rem}.radio-label{display:flex;align-items:center;font-size:.9rem;color:var(--color-text-dark);cursor:pointer;position:relative;padding-left:28px;-webkit-user-select:none;user-select:none;font-family:var(--font-sans-ui);font-weight:500;letter-spacing:.02em}.radio-label input{position:absolute;opacity:0;cursor:pointer}.custom-radio{position:absolute;top:50%;left:0;transform:translateY(-50%);height:18px;width:18px;background-color:transparent;border:1px solid rgba(88,68,46,.25);border-radius:50%;transition:var(--transition-smooth)}.radio-label:hover input~.custom-radio{border-color:var(--color-gold)}.radio-label input:checked~.custom-radio{background-color:transparent;border-color:var(--color-gold)}.radio-label input:checked~.custom-radio:after{content:"";position:absolute;top:4px;left:4px;width:8px;height:8px;border-radius:50%;background-color:var(--color-sage-green)}.btn-submit-rsvp{width:100%;background-color:var(--color-brown-primary);color:var(--color-white);border:1.5px solid var(--color-brown-primary);font-family:var(--font-sans-ui);font-size:.72rem;font-weight:600;letter-spacing:.25em;padding:1.15rem;border-radius:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-smooth);box-shadow:0 4px 12px #58442e1a;margin-top:1rem}.btn-submit-rsvp:hover{background-color:transparent;color:var(--color-brown-primary);border-color:var(--color-brown-primary);transform:translateY(-2px);box-shadow:0 6px 16px #58442e26}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--color-white);border-radius:50%;animation:spin .8s infinite linear;margin-left:10px}@keyframes spin{to{transform:rotate(360deg)}}.rsvp-success-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#2c251e66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.success-card{background-color:var(--color-white);max-width:420px;width:100%;padding:3.5rem 2.5rem;border-radius:8px;text-align:center;box-shadow:0 20px 50px #00000026;border:var(--border-gold);animation:scaleUp .5s cubic-bezier(.25,1,.5,1) forwards}@keyframes scaleUp{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.success-icon-check{width:52px;height:52px;margin:0 auto 1.5rem}.checkmark-svg{width:100%;height:100%}.success-msg-text{font-size:1.05rem;font-weight:600;color:var(--color-text-dark);margin:.5rem 0}.success-subtext{font-size:.9rem;color:var(--color-text-muted)}.btn-close-modal{display:inline-block;background-color:var(--color-brown-primary);color:var(--color-white);border:none;font-family:var(--font-sans-ui);font-size:.7rem;font-weight:600;letter-spacing:.2em;padding:.9rem 2.2rem;border-radius:4px;cursor:pointer;margin-top:1.5rem;transition:var(--transition-smooth)}.btn-close-modal:hover{background-color:var(--color-brown-dark);transform:translateY(-2px)}.our-story-layout-container{width:100%;max-width:600px;display:flex;flex-direction:column;align-items:center;gap:2.5rem}.story-card-wrapper{width:100%;background-color:transparent;border:none;border-radius:0;padding:0;box-shadow:none;display:flex;flex-direction:column;align-items:center;gap:1rem}.story-card-image{width:100%;height:auto;display:block;border-radius:8px}.story-signature-bottom{width:60%;max-width:400px;height:auto;display:block;margin:0 auto}@media (max-width: 900px){.details-main-split{grid-template-columns:1fr;gap:2.5rem}.main-date-card{position:static}.two-column-grid{grid-template-columns:1fr;gap:2.5rem}.accommodation-grid{grid-template-columns:1fr;gap:1.5rem;max-width:380px;margin:0 auto}.accommodation-card-item .hotel-overlay-btn{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.btn-back-nav{padding:.55rem 1.1rem;font-size:.7rem}}@media (max-width: 600px){.envelope-landing-wrapper{gap:1.5rem}.landing-countdown-text{margin-bottom:2.2rem}.landing-mail-text{margin-bottom:1rem}.landing-header-img{max-width:360px;margin-bottom:.8rem}.festivities-grid{grid-template-columns:1fr}.details-section{padding:1.75rem}.rsvp-form-card{padding:2.5rem 1.5rem}.radio-group{flex-direction:column;gap:1rem}}@media (max-width: 768px){.global-navbar{padding:0 1rem;justify-content:center;height:50px}.navbar-links{gap:1.2rem;justify-content:center;width:100%}.nav-link{font-size:.68rem;letter-spacing:.04em}.view{padding-top:50px}}@media (max-width: 480px){.global-navbar{height:46px}.navbar-links{gap:.8rem}.nav-link{font-size:.58rem;letter-spacing:.02em}.view{padding-top:46px}.success-card{padding:2.5rem 1.5rem}.admin-heart-btn{bottom:15px;right:15px;width:38px;height:38px}.admin-heart-btn .heart-icon{width:15px;height:15px}.admin-modal-card{padding:2rem 1.25rem}.admin-table th,.admin-table td{padding:.75rem .5rem;font-size:.75rem}}@keyframes flatlay-fly-in{0%{opacity:0;translate:0 55px}to{opacity:1;translate:0 0}}#invitation-flatlay .flatlay-item,#invitation-flatlay .flatlay-footer-section{opacity:0;translate:0 55px}#invitation-flatlay .flatlay-item.is-visible,#invitation-flatlay .flatlay-footer-section.is-visible{animation:flatlay-fly-in 2.2s cubic-bezier(.16,1,.3,1) forwards}#details-page .details-header-banner,#details-page .details-banner-back,#details-page .details-banner-title-img,#details-page .date-location-wrapper,#details-page .details-timeline-section .details-script-title,#details-page .timeline-stack>.details-card-centered,#details-page .accommodation-stack>.details-card-centered,#details-page .accommodation-stack>.hotel-link-card,#details-page .details-other-section .details-card-centered,#details-page .details-gifts-section .details-card-centered,#details-page .details-kiss-hug-section .details-card-centered,#details-page .details-with-love-section .details-card-centered,#details-page .details-bottom-nav,#rsvp-page .rsvp-top-nav,#rsvp-page .rsvp-trigger-card-wrapper,#rsvp-page .rsvp-bottom-nav,#our-story-page .rsvp-top-nav,#our-story-page .story-image-top,#our-story-page .story-text-middle,#our-story-page .story-bottom-nav{opacity:0;translate:0 40px}#details-page .details-header-banner.is-visible,#details-page .details-banner-back.is-visible,#details-page .details-banner-title-img.is-visible,#details-page .date-location-wrapper.is-visible,#details-page .details-timeline-section .details-script-title.is-visible,#details-page .timeline-stack>.details-card-centered.is-visible,#details-page .accommodation-stack>.details-card-centered.is-visible,#details-page .accommodation-stack>.hotel-link-card.is-visible,#details-page .details-other-section .details-card-centered.is-visible,#details-page .details-gifts-section .details-card-centered.is-visible,#details-page .details-kiss-hug-section .details-card-centered.is-visible,#details-page .details-with-love-section .details-card-centered.is-visible,#details-page .details-bottom-nav.is-visible,#rsvp-page .rsvp-top-nav.is-visible,#rsvp-page .rsvp-trigger-card-wrapper.is-visible,#rsvp-page .rsvp-bottom-nav.is-visible,#our-story-page .rsvp-top-nav.is-visible,#our-story-page .story-image-top.is-visible,#our-story-page .story-text-middle.is-visible,#our-story-page .story-bottom-nav.is-visible{animation:flatlay-fly-in 1.8s cubic-bezier(.16,1,.3,1) forwards}.admin-heart-btn{position:fixed;bottom:25px;right:25px;width:44px;height:44px;border-radius:50%;background-color:var(--color-white);border:1px solid rgba(88,68,46,.15);color:var(--color-brown-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:999;outline:none;box-shadow:0 4px 15px #58442e14;transition:transform .3s cubic-bezier(.25,1,.5,1),border-color .3s ease,color .3s ease,background-color .3s ease;animation:breathe 3s infinite ease-in-out}.admin-heart-btn:hover{transform:scale(1.12);background-color:var(--color-beige-card);border-color:var(--color-brown-primary);color:var(--color-gold);animation-play-state:paused}.admin-heart-btn .heart-icon{width:18px;height:18px;transition:transform .3s ease}.admin-heart-btn:active .heart-icon{transform:scale(.85)}@keyframes breathe{0%{transform:scale(1);box-shadow:0 4px 15px #58442e14}50%{transform:scale(1.08);box-shadow:0 8px 25px #58442e26}to{transform:scale(1);box-shadow:0 4px 15px #58442e14}}.admin-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#2c251e66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:1.5rem;transition:opacity .4s ease}.admin-modal-card{background-color:var(--color-beige-card);border:var(--border-gold);border-radius:12px;padding:3rem 2rem;box-shadow:0 20px 50px #58442e26;width:100%;max-width:1050px;max-height:90vh;overflow-y:auto;position:relative;animation:scaleUp .5s cubic-bezier(.25,1,.5,1) forwards;display:flex;flex-direction:column}.admin-modal-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;font-size:2rem;color:var(--color-text-muted);cursor:pointer;line-height:1;transition:color .3s ease}.admin-modal-close:hover{color:var(--color-brown-primary)}.admin-screen{width:100%;animation:fadeIn .4s ease forwards}#admin-gate-screen{max-width:400px;margin:0 auto}.admin-title{font-family:Playfair Display,serif;font-style:italic;font-weight:400;font-size:2.2rem;color:var(--color-brown-primary);text-align:center;margin-bottom:.5rem}.admin-error-text{color:#a94442;font-size:.8rem;margin-top:1rem;text-align:center}.admin-dashboard-header{display:flex;justify-content:space-between;align-items:center;width:100%}.admin-dashboard-header .admin-title{text-align:left;margin-bottom:0}.btn-lock{background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.btn-lock:hover{color:var(--color-brown-primary)}.lock-icon{width:20px;height:20px}.admin-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}.btn-download-csv{background-color:var(--color-sage-green);color:var(--color-white);border:none;font-family:var(--font-sans-ui);font-size:.75rem;font-weight:600;letter-spacing:.15em;padding:.75rem 1.5rem;border-radius:40px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:var(--transition-smooth);box-shadow:0 4px 12px #96a58d33}.btn-download-csv:hover{background-color:#7d8e75;transform:translateY(-2px);box-shadow:0 6px 16px #96a58d4d}.btn-icon{width:16px;height:16px}.rsvp-badge{font-family:var(--font-sans-ui);font-size:.75rem;font-weight:600;letter-spacing:.05em;color:var(--color-brown-primary);background-color:#58442e14;padding:.4rem 1rem;border-radius:20px}.admin-table-container{width:100%;max-height:60vh;overflow-y:auto;overflow-x:auto;border:1px solid rgba(88,68,46,.1);border-radius:8px;background-color:var(--color-white);box-shadow:0 4px 12px #58442e05}.admin-table{width:100%;border-collapse:collapse;text-align:left;font-family:var(--font-sans-ui);font-size:.82rem}.admin-table th{background-color:var(--color-cream-bg);color:var(--color-brown-primary);font-weight:600;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;padding:1.1rem 1.25rem;border-bottom:2px solid rgba(88,68,46,.1);position:sticky;top:0;z-index:5}.admin-table td{padding:1.1rem 1.25rem;border-bottom:1px solid rgba(88,68,46,.05);color:var(--color-text-dark);line-height:1.4;vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background-color:#faf9f6b3}.attendance-badge{display:inline-flex;align-items:center;font-size:.68rem;font-weight:600;letter-spacing:.05em;padding:.25rem .6rem;border-radius:12px;text-transform:uppercase}.attendance-badge.attending{background-color:#96a58d26;color:#4a5d43}.attendance-badge.declined{background-color:#a944421a;color:#8a3331}.plusone-badge{display:inline-block;font-size:.65rem;font-weight:600;letter-spacing:.05em;padding:.15rem .45rem;border-radius:4px;text-transform:uppercase;margin-bottom:2px}.plusone-badge.yes{background-color:#96a58d1f;color:#4a5d43;border:1px solid rgba(150,165,141,.25)}.plusone-badge.no{background-color:#72675c14;color:var(--color-text-muted)}.plusone-name-sub{font-size:.78rem;font-weight:500;color:var(--color-brown-primary);margin-top:1px}.diet-row{display:flex;align-items:baseline;font-size:.8rem;margin-bottom:4px}.diet-row:last-child{margin-bottom:0}.diet-owner{font-weight:600;font-size:.65rem;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);margin-right:6px;min-width:45px;display:inline-block}.diet-desc{color:var(--color-text-dark)}.song-cell{display:inline-flex;align-items:center;gap:6px;color:var(--color-brown-primary);font-weight:500;font-size:.8rem}.song-icon{width:14px;height:14px;color:var(--color-gold)}.diet-text-muted{font-style:italic;color:var(--color-text-muted)}.admin-actions-cell{display:flex;gap:10px;align-items:center;white-space:nowrap}.btn-action-edit,.btn-action-delete{background:none;border:none;font-family:var(--font-sans-ui);font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;padding:.3rem .6rem;border-radius:4px;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.btn-action-edit{color:#4a5d43;background-color:#96a58d1f;border:1px solid rgba(150,165,141,.2)}.btn-action-edit:hover{background-color:#96a58d40;color:#384833}.btn-action-delete{color:#8a3331;background-color:#a9444214;border:1px solid rgba(169,68,66,.15)}.btn-action-delete:hover{background-color:#a944422e;color:#6d2524}@media (max-width: 600px){.admin-modal-card{padding:2.5rem 1.5rem}.admin-controls{flex-direction:column;align-items:flex-start}.btn-download-csv{width:100%;justify-content:center}}
