@font-face{font-family:Angella White;src:url(/fonts/angella-white.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--color-ivory: #F4F1ED;--color-sand: #D8CFC6;--color-terracotta: #A87454;--color-olive: #7A7A5E;--color-cocoa: #5B3A29;--color-charcoal: #3A3A3A;--color-text-light: #6B6B6B;--color-white: #FFFFFF;--color-terracotta-hover: #8F6248;--color-terracotta-light: rgba(168, 116, 84, .08);--color-success: #7A7A5E;--color-error: #C85A45;--color-error-hover: #B04936;--font-display: "Angella White", cursive;--font-heading: "Montserrat", sans-serif;--font-body: "Montserrat", system-ui, sans-serif;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--spacing-xs: 8px;--spacing-sm: 16px;--spacing-md: 24px;--spacing-lg: 40px;--spacing-xl: 64px;--spacing-2xl: 96px;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(90, 58, 41, .04);--shadow-md: 0 4px 16px rgba(90, 58, 41, .08);--shadow-lg: 0 8px 24px rgba(90, 58, 41, .12);--shadow-button: 0 4px 12px rgba(168, 116, 84, .2);--shadow-button-hover: 0 6px 20px rgba(168, 116, 84, .3);--color-bg: var(--color-ivory);--color-bg-admin: #fafafa;--color-text: var(--color-charcoal);--color-text-muted: var(--color-text-light);--color-accent: var(--color-terracotta);--color-accent-hover: var(--color-terracotta-hover);--color-secondary: #F5F5F5;--color-secondary-alt: #f9f9f9;--color-border: var(--color-sand);--font-primary: var(--font-body);--font-names: var(--font-display)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background-color:var(--color-ivory);color:var(--color-charcoal);line-height:1.7;font-weight:var(--font-weight-regular)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-weight-semibold);color:var(--color-cocoa);line-height:1.3}a{color:var(--color-terracotta);text-decoration:none;transition:color .3s ease}a:hover{color:var(--color-terracotta-hover)}button,input,textarea,select{font-family:var(--font-body)}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .8s cubic-bezier(.4,0,.2,1) forwards}.fade-in-up{opacity:0;transform:translateY(50px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}.fade-in-up.visible{opacity:1;transform:translateY(0)}.app{min-height:100vh;min-height:100svh;background-color:var(--color-ivory)}section{padding:var(--spacing-2xl) var(--spacing-md);width:100%}section:first-of-type{padding-top:0}.section-title{font-family:var(--font-heading);font-size:clamp(1.6rem,4vw,2.2rem);font-weight:var(--font-weight-bold);text-align:center;color:var(--color-cocoa);margin-bottom:var(--spacing-md);letter-spacing:-.01em;line-height:1.2;max-width:1200px;margin-left:auto;margin-right:auto}@media(min-width:769px){section{padding:var(--spacing-2xl) var(--spacing-xl)}.section-title{font-size:clamp(1.8rem,4vw,2.4rem);margin-bottom:var(--spacing-lg)}}@media(max-width:768px){section{padding:var(--spacing-xl) var(--spacing-sm)}.section-title{margin-bottom:var(--spacing-sm)}}@media(max-width:480px){section{padding:56px 16px}.section-title{margin-bottom:var(--spacing-sm)}}.error-boundary{min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg);padding:20px}.error-content{text-align:center;max-width:400px}.error-content h1{font-family:var(--font-primary);font-size:2rem;color:var(--color-text);margin-bottom:16px}.error-content p{font-size:1rem;color:var(--color-text-muted);margin-bottom:24px}.reload-btn{padding:14px 32px;background-color:var(--color-accent);color:#fff;font-size:1rem;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.reload-btn:hover{background-color:var(--color-accent-hover)}.hero{min-height:110vh;min-height:110svh;display:flex;align-items:center;justify-content:center;text-align:center;padding:0;position:relative;overflow:hidden;background-color:var(--color-ivory)}.hero .parallax-banner-layer-0{opacity:1}.hero .parallax-banner-layer-1{opacity:0;transition:opacity 1s ease-in-out}.hero.firebase-image-ready .parallax-banner-layer-1{opacity:1}.hero .parallax-banner-layer-0 img,.hero .parallax-banner-layer-0>div,.hero .parallax-banner-layer-1 img,.hero .parallax-banner-layer-1>div{object-fit:cover;object-position:center 35%;filter:saturate(1) brightness(1.05)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#fff0 0% 40%,#a0695014 50%,#8c5a4626,#a0826959 66%,#b4947a8c 73%,#c8a58cad 79%,#d7b9a0c7 84%,#e2c6aedb,#ead2beeb 92%,#efdccdf5 95%,#f2e6dafa 97%,#f4f1ed);z-index:1;pointer-events:none;opacity:0;transition:opacity 1.2s cubic-bezier(.4,0,.2,1)}.hero.hero-image-ready .hero-overlay{opacity:1}.hero-content{max-width:900px;width:100%;min-height:110vh;min-height:110svh;opacity:0;position:relative;z-index:2;padding:0 var(--spacing-md);display:flex;flex-direction:column;justify-content:space-between}.hero-content.fade-in{animation:fadeIn 1.4s cubic-bezier(.4,0,.2,1) .3s forwards}.hero-top{padding-top:calc(var(--spacing-xl) * .8 + env(safe-area-inset-top))}.hero-names{font-family:var(--font-display);font-size:clamp(4.5rem,15vw,9rem);font-weight:400;line-height:1;margin-bottom:0;letter-spacing:.02em;background:linear-gradient(135deg,#fffffff2,#fffc,#fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 8px rgba(0,0,0,.15));-webkit-text-stroke:.5px rgba(255,255,255,.3)}.hero-names span{display:block}.hero-ampersand{font-size:.35em;margin:var(--spacing-xs) 0;font-style:italic;background:linear-gradient(135deg,#ffffffe6,#ffffffbf,#fffffff2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 1px 4px rgba(0,0,0,.12));-webkit-text-stroke:.3px rgba(255,255,255,.2)}.hero-bottom{padding-bottom:calc(var(--spacing-xl) + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg)}.hero-date{margin-top:var(--spacing-sm);margin-bottom:0}.hero-date-text{font-family:var(--font-body);font-size:clamp(.95rem,2vw,1.15rem);font-weight:var(--font-weight-medium);letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(135deg,#fffffff2,#fffc,#fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 6px rgba(0,0,0,.15));-webkit-text-stroke:.5px rgba(255,255,255,.3)}.hero-countdown{display:flex;justify-content:center;gap:clamp(9px,2.5vw,13px);margin-bottom:0}.countdown-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:0;background:transparent;min-width:auto}.countdown-number{font-family:var(--font-heading);font-size:clamp(3rem,8vw,4.5rem);font-weight:var(--font-weight-light);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;background:linear-gradient(135deg,#fffffff2,#fffc,#fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15));-webkit-text-stroke:.5px rgba(255,255,255,.3)}.countdown-label{font-family:var(--font-body);font-size:clamp(.65rem,1.5vw,.75rem);text-transform:uppercase;letter-spacing:.15em;font-weight:var(--font-weight-medium);background:linear-gradient(135deg,#ffffffe6,#ffffffbf,#fffffff2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 1px 3px rgba(0,0,0,.12));-webkit-text-stroke:.3px rgba(255,255,255,.2)}.countdown-separator{font-family:var(--font-heading);font-size:clamp(2rem,6vw,3rem);font-weight:var(--font-weight-light);line-height:1;align-self:center;margin-bottom:clamp(1.5rem,3vw,2rem);background:linear-gradient(135deg,#ffffffd9,#ffffffb3,#ffffffe6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 1px 3px rgba(0,0,0,.1));-webkit-text-stroke:.4px rgba(255,255,255,.2)}.hero-cta{display:inline-block;padding:var(--spacing-sm) clamp(var(--spacing-lg),8vw,64px);margin-bottom:var(--spacing-md);background-color:var(--color-white);color:var(--color-terracotta);font-family:var(--font-body);font-size:clamp(.9rem,2vw,1rem);font-weight:var(--font-weight-medium);letter-spacing:.12em;text-transform:uppercase;border-radius:var(--radius-full);transition:all .4s cubic-bezier(.4,0,.2,1);animation:gentleBounce 3.5s ease-in-out infinite;-webkit-tap-highlight-color:transparent}.hero-cta:hover{transform:translateY(-4px);box-shadow:var(--shadow-button-hover);background-color:var(--color-ivory);text-decoration:none}.hero-cta:active{transform:translateY(-2px)}@media(min-width:769px){.hero-top{padding-top:calc(var(--spacing-xl) + env(safe-area-inset-top))}.hero-bottom{padding-bottom:calc(var(--spacing-2xl) + env(safe-area-inset-bottom));gap:var(--spacing-lg)}.hero-names{font-size:clamp(6.5rem,11vw,9rem)}.hero-countdown{gap:17px}.countdown-number{font-size:clamp(3.5rem,6vw,4.5rem)}.countdown-label{font-size:.75rem}.countdown-separator{font-size:clamp(2.5rem,5vw,3.5rem);margin-bottom:2rem}}@media(max-width:768px){.hero,.hero-content{min-height:105vh;min-height:105svh}.hero-top{padding-top:calc(var(--spacing-md) * 1.5 + env(safe-area-inset-top))}.hero-bottom{padding-bottom:calc(var(--spacing-lg) + env(safe-area-inset-bottom));gap:var(--spacing-md)}.hero-countdown{gap:9px}.countdown-number{font-size:clamp(2.5rem,10vw,3.5rem)}.countdown-label{font-size:.65rem}.countdown-separator{font-size:clamp(1.5rem,7vw,2.5rem);margin-bottom:1.5rem}.hero-cta{padding:14px var(--spacing-lg);font-size:.85rem}}@media(max-width:480px){.hero-bottom{gap:var(--spacing-sm)}.hero-countdown{gap:7px}.countdown-number{font-size:clamp(1.8rem,8vw,2.2rem)}.countdown-label{font-size:.55rem}.countdown-separator{font-size:clamp(1.2rem,6vw,1.8rem);margin-bottom:1rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes gentleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.event-details{background-color:var(--color-ivory);padding-top:calc(var(--spacing-2xl) + var(--spacing-lg))}.event-details .section-title{margin-bottom:calc(var(--spacing-md) + var(--spacing-xs))}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--spacing-lg);max-width:1000px;margin:0 auto}.detail-card{text-align:center;padding:var(--spacing-md) var(--spacing-md);background:var(--color-white);border-radius:var(--radius-md);border:1px solid rgba(122,122,94,.12);box-shadow:var(--shadow-sm);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.detail-icon{font-size:1.5rem;display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0;background:#7a7a5e14;color:var(--color-olive);border-radius:var(--radius-full);flex-shrink:0}.detail-title{font-family:var(--font-heading);font-size:1.3rem;font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm);color:var(--color-cocoa)}.detail-content{font-size:.95rem;line-height:1.6;color:var(--color-charcoal);font-weight:var(--font-weight-regular)}.combined-header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.combined-header .detail-icon,.combined-header .detail-title{margin:0}.event-info-grid{display:flex;flex-direction:column;gap:0;align-items:center;width:100%}.event-info-item{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;padding:var(--spacing-sm) 0;border-bottom:1px solid rgba(122,122,94,.12)}.event-info-item:last-child{border-bottom:none}.event-info-item>div{display:flex;flex-direction:column;align-items:center}.event-info-icon{font-size:.85rem;color:var(--color-olive);margin-right:4px}.info-label{font-size:.8rem;font-weight:var(--font-weight-semibold);color:var(--color-cocoa);margin:0 0 4px;text-transform:uppercase;letter-spacing:.05em;display:inline-flex;align-items:center;gap:4px}.info-value{font-size:.95rem;font-weight:var(--font-weight-regular);color:var(--color-charcoal);margin:0;line-height:1.5}.color-palette{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid rgba(122,122,94,.12)}.palette-label{font-size:.9rem;font-weight:var(--font-weight-medium);color:var(--color-cocoa);margin-bottom:var(--spacing-sm);text-align:center}.color-swatches{display:flex;justify-content:center;gap:var(--spacing-sm);flex-wrap:wrap}.color-swatch{display:flex;flex-direction:column;align-items:center;gap:6px}.color-circle{width:48px;height:48px;border-radius:var(--radius-full);border:2px solid rgba(122,122,94,.2);box-shadow:0 2px 6px #0000001a;cursor:default;transition:transform .2s ease;position:relative}.color-circle:after{content:"";position:absolute;inset:0;border-radius:var(--radius-full);background:linear-gradient(135deg,transparent 48%,rgba(200,90,69,.12) 49%,rgba(200,90,69,.12) 51%,transparent 52%);pointer-events:none}.color-circle:hover{transform:scale(1.1)}.color-name{font-size:.75rem;color:var(--color-text-light);text-align:center;font-weight:var(--font-weight-regular)}@media(min-width:769px){.details-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl)}.detail-card{padding:var(--spacing-md) var(--spacing-lg)}}@media(max-width:768px){.details-grid{gap:var(--spacing-md);grid-template-columns:1fr}.detail-card{padding:var(--spacing-md) var(--spacing-sm)}.detail-icon{width:64px;height:64px;font-size:1.6rem}}.location{background-color:var(--color-white)}.location-container{max-width:1000px;margin:0 auto}.location-info{text-align:center;margin-bottom:var(--spacing-lg)}.location-info h3{font-family:var(--font-heading);font-size:1.1rem;font-weight:var(--font-weight-semibold);margin-bottom:4px;color:var(--color-text-light)}.location-info p{font-size:1rem;color:var(--color-text-light);margin-bottom:4px}.directions-link{display:inline-block;margin-top:var(--spacing-sm);padding:14px var(--spacing-lg);background-color:var(--color-olive);color:var(--color-white);font-size:.95rem;font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-full);transition:all .4s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent}.directions-link:hover{transform:translateY(-3px);box-shadow:var(--shadow-button-hover);color:var(--color-ivory);text-decoration:none}.directions-link:active{transform:translateY(-1px)}.map-container{border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);position:relative;border:1px solid rgba(122,122,94,.12)}.map-container iframe{display:block;transition:opacity .3s ease}.map-skeleton{position:absolute;top:0;left:0;width:100%;height:400px;background:linear-gradient(90deg,var(--color-sand) 25%,var(--color-ivory) 50%,var(--color-sand) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;display:flex;align-items:center;justify-content:center}.map-retrying{background-color:#ffffffe6;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:.9rem;color:var(--color-text-light)}.map-error{position:absolute;top:0;left:0;width:100%;height:400px;background-color:var(--color-ivory);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm)}.map-error-message{font-size:1rem;color:var(--color-text-light)}.map-retry-button{padding:12px var(--spacing-md);background-color:var(--color-olive);color:var(--color-white);border:none;border-radius:var(--radius-full);font-size:.9rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent}.map-retry-button:hover{transform:translateY(-3px);box-shadow:var(--shadow-button-hover)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(min-width:769px){.map-container iframe,.map-skeleton,.map-error{height:450px}}@media(max-width:768px){.map-container iframe,.map-skeleton,.map-error{height:300px}.directions-link{padding:12px var(--spacing-md);font-size:.85rem}}.gift-registry{background-color:var(--color-ivory)}.gift-intro{text-align:center;max-width:600px;margin:0 auto var(--spacing-xl);color:var(--color-text-light);font-size:1rem;font-weight:var(--font-weight-regular);line-height:1.7}.gift-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);max-width:800px;margin:0 auto;align-items:stretch}.gift-card,.bank-card{min-width:0;justify-self:stretch}.gift-card{background:var(--color-white);border-radius:var(--radius-md);padding:var(--spacing-lg);text-align:center;box-shadow:var(--shadow-sm);border:1px solid rgba(122,122,94,.12);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.bank-card{perspective:1000px;background:transparent;padding:0;box-shadow:none}.card-inner{position:relative;width:100%;height:100%;transition:transform .6s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.bank-card.flipped .card-inner{transform:rotateY(180deg)}.card-front{width:100%;min-height:320px;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--color-white);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid rgba(122,122,94,.12);display:flex;flex-direction:column;text-align:center;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.card-back{position:absolute;inset:0;min-height:320px;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--color-white);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid rgba(122,122,94,.12);display:flex;flex-direction:column;transform:rotateY(180deg);text-align:left;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.gift-icon{width:72px;height:72px;margin:0 auto var(--spacing-md);display:flex;align-items:center;justify-content:center;background:#7a7a5e14;border-radius:var(--radius-full)}.gift-icon i{font-size:1.8rem;color:var(--color-olive)}.gift-card h3,.card-front h3{font-family:var(--font-heading);font-size:1.4rem;font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm);color:var(--color-cocoa)}.gift-card>p,.card-front>p{color:var(--color-text-light);margin-bottom:var(--spacing-md);font-size:.95rem;line-height:1.6}.gift-btn{display:inline-block;padding:14px var(--spacing-lg);border-radius:var(--radius-full);font-weight:var(--font-weight-semibold);font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;transition:all .4s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent}.amazon-btn{background-color:var(--color-olive);color:var(--color-white)}.amazon-btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-button-hover);color:var(--color-ivory);text-decoration:none}.email-copy{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-sm);background-color:var(--color-ivory);border-radius:var(--radius-md);border:1px solid rgba(122,122,94,.12)}.email-copy p{color:var(--color-charcoal);font-size:.95rem;font-weight:600;margin:0;text-decoration:none;word-break:break-all;overflow-wrap:break-word}.email-copy .copy-btn{background:none;border:none;color:var(--color-terracotta);cursor:pointer;padding:4px var(--spacing-xs);font-size:1rem;transition:color .2s}.email-copy .copy-btn:hover{color:var(--color-terracotta-hover)}.bank-options{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:auto}.bank-option-btn{padding:14px var(--spacing-md);background-color:var(--color-ivory);color:var(--color-charcoal);border:1.5px solid rgba(122,122,94,.12);border-radius:var(--radius-md);font-size:.95rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent}.bank-option-btn:hover{background-color:var(--color-olive);color:var(--color-white);border-color:transparent}.bank-loading,.no-banks{color:var(--color-text-light);font-size:.9rem;padding:var(--spacing-md)}.back-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:none;border:none;color:var(--color-terracotta);font-size:.9rem;cursor:pointer;margin-bottom:var(--spacing-sm);align-self:flex-start;transition:color .2s}.back-btn:hover{color:var(--color-terracotta-hover);text-decoration:underline}.selected-bank-name{font-family:var(--font-heading);font-size:1.3rem;font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md);color:var(--color-cocoa);text-align:center}.bank-details{border-radius:var(--radius-md);padding:var(--spacing-xs);flex:1}.bank-detail{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid rgba(122,122,94,.12)}.bank-detail:last-child{border-bottom:none}.bank-label{font-size:.85rem;color:var(--color-text-light);text-align:left}.bank-value{font-weight:var(--font-weight-medium);color:var(--color-charcoal);text-align:right;display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-xs);flex:1;margin-left:var(--spacing-sm)}.bank-detail .copy-btn{background:none;border:none;color:var(--color-terracotta);cursor:pointer;padding:4px var(--spacing-xs);font-size:.9rem;transition:color .2s}.bank-detail .copy-btn:hover{color:var(--color-terracotta-hover)}@media(min-width:769px){.gift-options{grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl)}.gift-card,.card-front,.card-back{min-height:380px}}@media(max-width:768px){.gift-options{grid-template-columns:1fr}.gift-intro{font-size:1rem;margin-bottom:var(--spacing-lg)}.gift-card{padding:var(--spacing-md)}.bank-card{width:100%}.card-inner{width:100%;min-height:300px}.card-front{padding:var(--spacing-md);width:100%}.card-back{padding:var(--spacing-md)}.bank-label{min-width:80px;font-size:.8rem}.bank-value{font-size:.9rem}.gift-icon{width:64px;height:64px}}.faq{background-color:var(--color-ivory)}.faq-list{max-width:700px;margin:0 auto;margin-top:calc(var(--spacing-md) + 20px)}.faq-loading{text-align:center;color:var(--color-text-light);padding:var(--spacing-lg) 0}.faq-item{border-bottom:1px solid rgba(122,122,94,.12)}.faq-item:first-child{border-top:1px solid rgba(122,122,94,.12)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) 0;background:none;border:none;text-align:left;font-family:var(--font-body);font-size:1.05rem;font-weight:var(--font-weight-medium);color:var(--color-charcoal);cursor:pointer;transition:color .3s ease;-webkit-tap-highlight-color:transparent}.faq-question:focus{outline:none}.faq-question:focus-visible{outline:2px solid var(--color-terracotta);outline-offset:2px}.faq-item.open .faq-question{color:#6b7a4e;font-weight:var(--font-weight-semibold)}@media(hover:hover){.faq-question:hover{color:var(--color-olive)}}.faq-question span{flex:1;padding-right:var(--spacing-sm)}.faq-icon{font-size:.85rem;color:var(--color-text-light);transition:transform .3s cubic-bezier(.4,0,.2,1)}.faq-item.open .faq-icon{transform:rotate(180deg);color:#6b7a4e}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.faq-item.open .faq-answer{max-height:300px;padding-bottom:var(--spacing-md)}.faq-answer p{color:var(--color-text-light);line-height:1.7;font-size:.95rem}@media(min-width:769px){.faq-list{max-width:800px}.faq-question{font-size:1.1rem;padding:var(--spacing-md) 0}.faq-answer p{font-size:1rem}.faq-item.open .faq-answer{padding-bottom:var(--spacing-md)}}@media(max-width:768px){.faq-question{font-size:.95rem;padding:var(--spacing-sm) 0}.faq-answer p{font-size:.9rem}.faq-item.open .faq-answer{padding-bottom:var(--spacing-sm)}}.rsvp{background-color:var(--color-white)}.rsvp-deadline{text-align:center;font-size:.95rem;font-weight:var(--font-weight-regular);color:var(--color-cocoa);margin:0 auto;margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);line-height:1.6;position:relative;background:#7a7a5e0f;border-radius:var(--radius-md);width:fit-content;max-width:500px}.rsvp-form{max-width:700px;margin:0 auto;padding:0}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-medium);color:var(--color-cocoa);font-size:.95rem;letter-spacing:.02em}.required{color:var(--color-terracotta);margin-left:2px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:14px var(--spacing-sm);font-size:1rem;border:1.5px solid rgba(122,122,94,.12);border-radius:var(--radius-md);background-color:var(--color-ivory);color:var(--color-charcoal);transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:var(--font-weight-regular)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-terracotta);background-color:var(--color-white)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-light)}.form-group textarea{resize:vertical;min-height:100px;line-height:1.6}.checkbox-group{margin-bottom:var(--spacing-sm)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-weight:var(--font-weight-regular)}.checkbox-label input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-terracotta);cursor:pointer}.checkbox-label span{font-size:1rem;color:var(--color-charcoal);margin-left:var(--spacing-xs);position:relative;top:-1px}.checkbox-label.disabled{cursor:not-allowed;opacity:.5}.checkbox-label.disabled input[type=checkbox]{cursor:not-allowed}.code-input-group{display:flex;gap:var(--spacing-xs)}.code-input-group input{flex:1}.code-input-group input.valid{border-color:var(--color-success)}.code-input-group input.invalid{border-color:var(--color-error)}.validate-btn{padding:14px var(--spacing-md);background-color:var(--color-olive);color:var(--color-white);font-size:.9rem;font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);white-space:nowrap;-webkit-tap-highlight-color:transparent}.validate-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:var(--shadow-button-hover);color:var(--color-ivory)}.validate-btn:active:not(:disabled){transform:translateY(-1px)}.validate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.error-message{display:block;margin-top:6px;font-size:.85rem;color:var(--color-error)}.success-message{display:block;margin-top:6px;font-size:.85rem;color:var(--color-success)}.disabled-input{opacity:.6;cursor:not-allowed;background-color:var(--color-secondary)}.readonly-input{background-color:var(--color-secondary);cursor:default;color:var(--color-charcoal);pointer-events:none}.readonly-input:focus{border-color:#7a7a5e1f;background-color:var(--color-secondary)}.form-group input:not(:disabled):not(.readonly-input):not(.disabled-input),.form-group textarea:not(:disabled){background-color:var(--color-white)}.attendance-chips{display:flex;gap:var(--spacing-sm)}.attendance-chips.disabled{opacity:.5;pointer-events:none}.chip{flex:1;padding:14px var(--spacing-sm);background-color:var(--color-ivory);color:var(--color-charcoal);font-size:.95rem;font-weight:var(--font-weight-medium);border:1.5px solid rgba(122,122,94,.12);border-radius:var(--radius-md);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center;-webkit-tap-highlight-color:transparent}.chip:first-child:hover:not(:disabled):not(.active){background-color:var(--color-olive);color:var(--color-white);border-color:transparent}.chip:last-child:hover:not(:disabled):not(.active){background-color:var(--color-error);color:var(--color-white);border-color:transparent}.chip.active{background-color:var(--color-olive);color:var(--color-white);border-color:transparent}.chip.active.decline{background-color:var(--color-error);border-color:transparent}.chip:disabled,.chip.disabled{cursor:not-allowed;opacity:.5;background-color:var(--color-secondary);color:var(--color-text-light)}.chip:disabled:hover,.chip.disabled:hover{background-color:var(--color-secondary);color:var(--color-text-light);border-color:#7a7a5e26}.submit-btn{width:100%;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-olive);color:var(--color-white);font-size:1rem;font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;border:none;border-radius:var(--radius-full);transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;-webkit-tap-highlight-color:transparent}.submit-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:var(--shadow-button-hover)}.submit-btn:active:not(:disabled){transform:translateY(-1px)}.submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.submit-btn.decline-btn{background-color:var(--color-error)}.submit-btn.decline-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:var(--shadow-button-hover)}.form-hint{text-align:center;font-size:14px;color:var(--color-text-light);margin-top:var(--spacing-sm)}.rsvp-success{text-align:center;padding:var(--spacing-lg);margin:0 auto;max-width:700px}.rsvp-success h2{font-family:var(--font-heading);font-size:clamp(1.8rem,4vw,2.2rem);font-weight:var(--font-weight-semibold);color:var(--color-cocoa);margin-bottom:var(--spacing-md);line-height:1.3}.rsvp-success p{font-size:1.05rem;color:var(--color-charcoal);line-height:1.7;font-weight:var(--font-weight-regular)}.existing-rsvp-notice{background-color:var(--color-secondary);border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-md)}.existing-rsvp-notice p{margin:0;font-size:.95rem;font-weight:var(--font-weight-regular);color:var(--color-cocoa);text-align:center;line-height:1.6}.cancel-attendance-btn{margin-top:var(--spacing-xs)}.companion-summary{background-color:var(--color-ivory);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-sm)}.companion-summary-label{font-size:.85rem;color:var(--color-text-light);margin:0 0 4px}.companion-summary-value{font-size:1rem;color:var(--color-charcoal);font-weight:var(--font-weight-medium);margin:0}.rsvp-closed-notice{text-align:center;max-width:600px;margin:0 auto var(--spacing-xl)}.rsvp-closed-notice p{font-size:1rem;font-weight:var(--font-weight-regular);color:var(--color-cocoa);background:linear-gradient(135deg,#c85a4514,#a874540f);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);border-left:4px solid var(--color-error);box-shadow:0 2px 8px #c85a451a;margin:0;line-height:1.6}@media(min-width:769px){.rsvp-form,.rsvp-success{padding:0}}@media(max-width:768px){.rsvp-deadline{padding:var(--spacing-sm) var(--spacing-md)}.rsvp-form,.rsvp-success{padding:0}.submit-btn{padding:15px var(--spacing-md)}.chip{font-size:.9rem}.rsvp-closed-notice,.existing-rsvp-notice{padding:var(--spacing-sm) var(--spacing-md);margin-left:var(--spacing-sm);margin-right:var(--spacing-sm)}.rsvp-success h2{font-size:1.6rem}.rsvp-success p{font-size:1rem;padding:var(--spacing-sm) var(--spacing-md)}}@media(max-width:480px){.rsvp-deadline{padding:var(--spacing-xs) var(--spacing-sm)}.rsvp-form,.rsvp-success{padding:0}.form-group input,.form-group select,.form-group textarea{padding:12px var(--spacing-sm)}.validate-btn{padding:12px;font-size:.85rem}.attendance-chips{gap:var(--spacing-xs)}.rsvp-closed-notice,.existing-rsvp-notice{padding:var(--spacing-sm);margin:0}}.footer{background-color:var(--color-cocoa);color:var(--color-white);padding:var(--spacing-lg) var(--spacing-md);text-align:center}.footer-content{max-width:600px;margin:0 auto}.footer-names{font-family:var(--font-display);font-size:2.2rem;margin-bottom:var(--spacing-xs);color:var(--color-white)}.footer-date{font-size:.9rem;opacity:.8;margin-bottom:var(--spacing-md);font-weight:var(--font-weight-light)}.footer-nav{display:flex;justify-content:center;gap:var(--spacing-md);margin-bottom:0}.footer-nav a{color:var(--color-white);font-size:.9rem;opacity:.8;transition:opacity .3s ease;font-weight:var(--font-weight-regular)}.footer-nav a:hover{opacity:1;text-decoration:none}@media(max-width:768px){.footer{padding:var(--spacing-md) var(--spacing-sm)}.footer-nav{gap:var(--spacing-sm);flex-wrap:wrap}.footer-nav a{font-size:.85rem}.footer-names{font-size:1.8rem}}.admin-login{min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-admin);padding:20px}.login-container{background:#fff;padding:40px;border-radius:12px;box-shadow:0 4px 20px #0000001a;width:100%;max-width:400px}.login-container h1{font-family:var(--font-primary);font-size:1.5rem;text-align:center;margin-bottom:30px;color:var(--color-text)}.login-container .form-group{margin-bottom:20px}.login-container label{display:block;margin-bottom:8px;font-weight:500;color:var(--color-text)}.login-container input{width:100%;padding:12px 16px;font-size:1rem;border:1px solid var(--color-border);border-radius:6px;background-color:var(--color-bg)}.login-container input:focus{outline:none;border-color:var(--color-accent)}.login-container button{width:100%;padding:14px;background-color:var(--color-accent);color:#fff;font-size:1rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:background-color .3s}.login-container button:hover:not(:disabled){background-color:var(--color-accent-hover)}.login-container button:disabled{opacity:.6;cursor:not-allowed}.login-container .error-message{color:var(--color-error);font-size:.9rem;margin-bottom:16px;text-align:center}.admin-dashboard{min-height:100vh;min-height:100svh;background-color:var(--color-bg-admin);padding:20px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid var(--color-border)}.admin-header h1{font-family:var(--font-primary);font-size:1.5rem;color:var(--color-text)}.header-menu{position:relative}.menu-toggle{display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:#fff;border:1px solid var(--color-border);border-radius:8px;cursor:pointer;transition:all .2s}.menu-toggle:hover{background-color:var(--color-secondary)}.menu-user{font-size:.9rem;color:var(--color-text);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-arrow{font-size:.8rem;color:var(--color-text-muted);transition:transform .2s}.menu-arrow.open{transform:rotate(180deg)}.menu-backdrop{position:fixed;inset:0;z-index:99}.menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:#fff;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 20px #00000026;z-index:100;overflow:hidden}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;font-size:.9rem;text-align:left;text-decoration:none;background:none;border:none;cursor:pointer;transition:background-color .2s}.menu-icon{font-size:.85rem;width:16px;text-align:center}.menu-site-link{color:var(--color-accent);font-weight:500}.menu-site-link:hover{background-color:var(--color-secondary)}.menu-divider{height:1px;background-color:var(--color-border);margin:4px 0}.menu-logout{color:var(--color-error)}.menu-logout:hover{background-color:#ffebee}.stats-summary{background:#fff;border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:0 2px 8px #0000000d}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.stat-item{text-align:center;padding:12px;background-color:var(--color-bg);border-radius:8px}.stat-number{display:block;font-size:1.75rem;font-weight:600;color:var(--color-text)}.stat-secondary{font-size:1rem;font-weight:400;color:var(--color-text-muted)}.stat-label{display:block;font-size:.75rem;color:var(--color-text-muted);margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.stat-item.confirmed .stat-number{color:var(--color-success)}.stat-item.declined .stat-number{color:var(--color-error)}.stat-item.pending .stat-number{color:#f9a825}.stat-item.total .stat-number{color:var(--color-accent)}.stat-item.companion .stat-number{color:#9c27b0}.tabs{display:flex;gap:8px;margin-bottom:20px}.tabs button{padding:12px 24px;background-color:#fff;color:var(--color-text-muted);font-size:.95rem;font-weight:500;border:1px solid var(--color-border);border-radius:8px;cursor:pointer;transition:all .3s}.tabs button:hover{background-color:var(--color-secondary)}.tabs button.active{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent)}.table-container{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000d;overflow-x:auto}.table-actions{display:flex;gap:12px;margin-bottom:20px}.add-btn,.refresh-btn,.export-btn{padding:10px 20px;font-size:.9rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .3s}.add-btn{background-color:var(--color-accent);color:#fff;border:none}.add-btn:hover:not(:disabled){background-color:var(--color-accent-hover)}.add-btn:disabled{opacity:.5;cursor:not-allowed}.limit-warning{font-size:.85rem;color:#f9a825;display:flex;align-items:center}.settings-section{margin-bottom:20px}.settings-section h4{font-size:.9rem;font-weight:500;color:var(--color-text-muted);margin-bottom:12px}.inline-edit{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-input{flex:1;min-width:200px;padding:10px 14px;font-size:.9rem;border:1px solid var(--color-border);border-radius:6px;background-color:var(--color-bg)}.inline-input:focus{outline:none;border-color:var(--color-accent)}.inline-display{display:flex;gap:12px;align-items:center}.display-value{font-size:.95rem;color:var(--color-text);padding:10px 14px;background-color:var(--color-bg);border-radius:6px;min-width:200px}.save-btn.small,.cancel-btn.small{padding:8px 16px;font-size:.85rem}.section-divider{height:1px;background-color:var(--color-border);margin:24px 0}.settings-help{font-size:.8rem;color:var(--color-text-muted);margin-top:8px;margin-bottom:0}.export-btn{background-color:#fff;color:var(--color-text);border:1px solid var(--color-border);display:flex;align-items:center;gap:8px}.export-btn:hover{background-color:var(--color-secondary);border-color:var(--color-text-muted)}.export-btn i{font-size:.85rem}.filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;align-items:center}.filter-input{flex:1;min-width:200px;padding:10px 14px;font-size:.9rem;border:1px solid var(--color-border);border-radius:6px;background-color:#fff}.filter-input:focus{outline:none;border-color:var(--color-accent)}.filter-select{padding:10px 14px;font-size:.9rem;border:1px solid var(--color-border);border-radius:6px;background-color:#fff;color:var(--color-text);cursor:pointer;min-width:160px}.filter-select:focus{outline:none;border-color:var(--color-accent)}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.filter-buttons button{padding:8px 14px;font-size:.85rem;font-weight:500;background-color:var(--color-secondary);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:20px;cursor:pointer;transition:all .2s}.filter-buttons button:hover{background-color:var(--color-border)}.filter-buttons button.filter-all.active{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent)}.filter-buttons button.filter-confirmed.active{background-color:var(--color-success);color:#fff;border-color:var(--color-success)}.filter-buttons button.filter-declined.active{background-color:var(--color-error);color:#fff;border-color:var(--color-error)}.filter-buttons button.filter-pending.active{background-color:#f9a825;color:#fff;border-color:#f9a825}.no-results{text-align:center;color:var(--color-text-muted);padding:40px 20px!important}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:#fff;border-radius:12px;width:100%;max-width:450px;box-shadow:0 10px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-text)}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--color-text-muted);cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:var(--color-text)}.modal-form{padding:24px}.modal-form .form-group{margin-bottom:20px}.modal-form label{display:block;margin-bottom:8px;font-size:.9rem;font-weight:500;color:var(--color-text)}.modal-form input{width:100%;padding:12px 14px;font-size:.95rem;border:1px solid var(--color-border);border-radius:6px;background-color:var(--color-bg)}.modal-form input:focus{outline:none;border-color:var(--color-accent)}.modal-form input.readonly-input{background-color:var(--color-secondary);color:var(--color-text-muted);cursor:not-allowed}.modal-form select{width:100%;padding:12px 14px;font-size:.95rem;border:1px solid var(--color-border);border-radius:6px;background-color:var(--color-bg);cursor:pointer}.modal-form select:focus{outline:none;border-color:var(--color-accent)}.checkbox-group{margin-top:16px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-label span{font-size:.95rem;color:var(--color-text)}.email-warning{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-top:16px;background-color:#fff3cd;border:1px solid #ffc107;border-radius:6px;font-size:.9rem;color:#856404}.email-warning i{color:#856404}.input-with-button{display:flex;gap:8px}.input-with-button input{flex:1}.input-with-button button{padding:12px 16px;font-size:.85rem;font-weight:500;background-color:var(--color-secondary);color:var(--color-text);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;white-space:nowrap}.input-with-button button:hover{background-color:var(--color-border)}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.modal-actions button{padding:12px 24px;font-size:.95rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.cancel-btn{background-color:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.cancel-btn:hover{background-color:var(--color-secondary)}.save-btn{background-color:var(--color-accent);color:#fff;border:none}.save-btn:hover{background-color:var(--color-accent-hover)}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th,.admin-table td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--color-border)}.admin-table th{font-weight:600;color:var(--color-text-muted);background-color:var(--color-secondary)}.admin-table td{color:var(--color-text)}.admin-table code{background-color:var(--color-secondary);padding:4px 8px;border-radius:4px;font-size:.85rem}.code-cell .code-wrapper{display:inline-flex;align-items:center;gap:8px}.copy-btn{padding:4px 8px;font-size:.85rem;background-color:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;transition:all .2s}.copy-btn:hover{background-color:var(--color-secondary);color:var(--color-text)}.copy-btn.copied{background-color:var(--color-success);color:#fff;border-color:var(--color-success)}.name-cell .name-wrapper{display:inline-flex;align-items:center;gap:8px}.share-btn{padding:4px 8px;font-size:.85rem;background-color:transparent;color:var(--color-accent);border:1px solid var(--color-accent);border-radius:4px;cursor:pointer;transition:all .2s}.share-btn:hover{background-color:var(--color-accent);color:#fff}.share-modal{max-width:500px}.share-modal .modal-actions{padding:0 24px 24px;justify-content:center}.share-modal .modal-actions .save-btn{width:100%}.share-content{padding:16px 24px}.share-message{background-color:var(--color-bg-admin);padding:16px;border-radius:8px;font-size:.9rem;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;font-family:inherit;color:var(--color-text);max-height:300px;overflow-y:auto;margin:0}.admin-table .message-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{display:inline-block;padding:4px 12px;font-size:.8rem;font-weight:500;border-radius:20px}.status-badge.confirmed{background-color:#e8f5e9;color:var(--color-success)}.status-badge.declined{background-color:#ffebee;color:var(--color-error)}.status-badge.pending{background-color:#fff8e1;color:#f9a825}.status-badge.auto-cancelled{background-color:#f3e5f5;color:#7b1fa2}.couple-not-attending{text-decoration:line-through;color:var(--color-text-muted)}.action-buttons{display:flex;gap:8px}.edit-btn{padding:6px 12px;font-size:.8rem;background-color:transparent;color:var(--color-accent);border:1px solid var(--color-accent);border-radius:4px;cursor:pointer;transition:all .3s}.edit-btn:hover{background-color:var(--color-accent);color:#fff}.delete-btn{padding:6px 12px;font-size:.8rem;background-color:transparent;color:var(--color-error);border:1px solid var(--color-error);border-radius:4px;cursor:pointer;transition:all .3s}.delete-btn:hover{background-color:var(--color-error);color:#fff}.email-action-btn{padding:6px 10px;font-size:.75rem;background-color:transparent;border:1px solid var(--color-border);border-radius:4px;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:4px;color:var(--color-text-muted)}.email-action-btn:hover:not(:disabled){background-color:var(--color-secondary);border-color:var(--color-text-muted);color:var(--color-text)}.email-action-btn:disabled{opacity:.5;cursor:not-allowed}.email-action-btn.sending{background-color:var(--color-secondary)}.email-action-btn.success{background-color:#e8f5e9;border-color:var(--color-success);color:var(--color-success)}.email-action-btn.error{background-color:#ffebee;border-color:var(--color-error);color:var(--color-error)}.email-action-btn i{font-size:.8rem}.email-action-btn .fa-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.email-cell .email-wrapper{display:inline-flex;align-items:center;gap:8px}.email-cell .email-actions{display:inline-flex;gap:4px}.faq-question-cell{max-width:300px;font-weight:500}.faq-question-wrapper{display:inline-flex;align-items:flex-start;gap:6px}.faq-answer-cell{max-width:400px;color:var(--color-text-muted);white-space:pre-wrap}.admin-loading{min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--color-text-muted)}@media(max-width:768px){.admin-header{flex-direction:column;gap:16px;text-align:center}.admin-header h1{font-size:1.25rem}.menu-user{max-width:150px}.menu-dropdown{min-width:200px}.stats-grid{grid-template-columns:repeat(2,1fr)}.tabs,.add-form{flex-direction:column}.add-form input{width:100%}}.hero-container{max-width:900px}.hero-section-title{font-size:1.1rem;font-weight:600;margin-bottom:24px;color:var(--color-text)}.hero-current{margin-bottom:20px}.hero-current h4{font-size:.9rem;font-weight:500;color:var(--color-text-muted);margin-bottom:12px}.hero-current-image{border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;max-width:400px}.hero-current-image img{width:100%;height:200px;object-fit:cover;display:block}.hero-upload{display:flex;align-items:center;gap:12px;margin-bottom:20px}.upload-hint{font-size:.85rem;color:var(--color-text-muted)}.upload-progress{height:4px;background-color:var(--color-border);border-radius:2px;overflow:hidden;margin-bottom:20px}.upload-progress .progress-bar{height:100%;background-color:var(--color-accent);transition:width .3s ease}.hero-gallery{margin-top:24px}.hero-gallery h4{font-size:.9rem;font-weight:500;color:var(--color-text-muted);margin-bottom:16px}.hero-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.hero-gallery-item{background:var(--color-bg-admin);border-radius:8px;overflow:hidden;border:2px solid transparent;transition:border-color .3s}.hero-gallery-item.selected{border-color:var(--color-accent)}.hero-gallery-image{position:relative;cursor:pointer;aspect-ratio:16/10;overflow:hidden}.hero-gallery-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.hero-gallery-image:hover img{transform:scale(1.05)}.selected-badge{position:absolute;top:8px;right:8px;width:28px;height:28px;background-color:var(--color-accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700}.hero-gallery-info{padding:12px;display:flex;flex-direction:column;gap:4px}.hero-gallery-uploader{font-size:.8rem;color:var(--color-text-muted)}.hero-gallery-date{font-size:.75rem;color:var(--color-text-light)}.hero-gallery-actions{padding:0 12px 12px;display:flex;gap:8px}.hero-gallery-actions .select-btn{flex:1;min-width:0;padding:8px 10px;font-size:.75rem;font-weight:500;background-color:transparent;color:var(--color-accent);border:1px solid var(--color-accent);border-radius:4px;cursor:pointer;transition:all .3s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-gallery-actions .select-btn:hover:not(:disabled){background-color:var(--color-accent);color:#fff}.hero-gallery-actions .select-btn.selected{background-color:var(--color-accent);color:#fff;cursor:default}.hero-gallery-actions .select-btn:disabled{opacity:.7}.hero-gallery-actions .delete-btn{padding:8px 10px;font-size:.75rem;flex-shrink:0}.bank-name-cell{display:inline-flex;align-items:center;gap:6px}.info-tooltip-wrapper{position:relative;display:inline-flex;align-items:center}.info-icon{font-size:.85rem;color:var(--color-text-muted);cursor:pointer;opacity:.6;transition:opacity .2s}.info-icon:hover{opacity:1}.info-tooltip{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background-color:var(--color-text);color:#fff;padding:12px 14px;border-radius:8px;font-size:.8rem;white-space:nowrap;z-index:100;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;box-shadow:0 4px 12px #00000026}.info-tooltip:before{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:var(--color-text)}.info-tooltip-wrapper:hover .info-tooltip{opacity:1;visibility:visible}.tooltip-row{display:flex;gap:8px;margin-bottom:6px}.tooltip-row:last-child{margin-bottom:0}.tooltip-label{color:#ffffffb3;font-weight:500}.tooltip-value{color:#fff}@media(max-width:768px){.info-tooltip{left:50%;top:calc(100% + 8px);transform:translate(-50%)}.info-tooltip:before{left:50%;top:-6px;transform:translate(-50%);border:6px solid transparent;border-bottom-color:var(--color-text)}}@media(max-width:768px){.hero-gallery-grid{grid-template-columns:1fr}.hero-upload{flex-direction:column;align-items:flex-start}.hero-current-image{max-width:100%}}
