.stationery{--linen: #e6ded2;--linen-dark: #d6cab9;--paper: #f7f3eb;--paper-dark: #ece4d7;--surface: #fdfbf7;--surface-soft: #f4efe6;--ink: #45403b;--ink-soft: #6f665d;--gold: #b38d4a;--gold-dark: #856427;--gold-light: #e3cc93;--gold-line: rgba(179, 141, 74, .38);--sage: #8fa18f;--sage-dark: #5f735f;--lavender: #6f6aa8;--shadow-soft: 0 12px 30px rgba(69, 64, 59, .12);--script: "Allura", "Great Vibes", cursive;--serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;--linen-texture: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='h'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9 0.04' numOctaves='2' seed='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.36 0 0 0 0 0.31 0 0 0 0 0.25 0 0 0 0.16 0'/%3E%3C/filter%3E%3Cfilter id='v'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04 0.9' numOctaves='2' seed='8' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.36 0 0 0 0 0.31 0 0 0 0 0.25 0 0 0 0.12 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23h)'/%3E%3Crect width='100%25' height='100%25' filter='url(%23v)'/%3E%3C/svg%3E");--paper-texture: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.3 0 0 0 0 0.26 0 0 0 0 0.2 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--dur-fast: .3s;--dur-med: .5s;--dur-slow: .65s;position:relative;min-height:100dvh;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.65;overflow-x:clip;isolation:isolate}.stationery:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:var(--paper-texture);background-size:220px 220px;mix-blend-mode:multiply}.stationery *{box-sizing:border-box}.stationery .letter{position:relative;z-index:1;max-width:640px;margin:0 auto}@media (prefers-reduced-motion: reduce){.stationery,.stationery *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.stationery h1,.stationery h2,.stationery h3{font-family:var(--serif);font-weight:600;color:var(--ink);margin:0}.stationery .script{font-family:var(--script);font-weight:400;line-height:1.2;color:var(--ink)}.stationery p{margin:0 0 1em}.stationery a{color:var(--gold-dark)}.ornament{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:.6rem 0 1.6rem}.ornament:before,.ornament:after{content:"";height:1px;flex:1 1 40px;max-width:70px;background:linear-gradient(90deg,transparent,var(--gold-line))}.ornament:after{background:linear-gradient(90deg,var(--gold-line),transparent)}.ornament svg{width:150px;height:auto;flex-shrink:0}.arch-frame{position:relative;overflow:hidden;border-radius:50% 50% 6px 6px/34% 34% 6px 6px;box-shadow:var(--shadow-soft),0 0 0 1px var(--gold-line),0 0 0 6px var(--surface);background:var(--surface-soft)}.arch-frame img{display:block;width:100%;height:100%;object-fit:cover}.reveal{opacity:0;transform:translateY(22px);transition:opacity var(--dur-slow) ease,transform var(--dur-slow) ease}.reveal.in-view{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none}}.envelope-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:6vh 14px;overflow:hidden;background:radial-gradient(ellipse at center,#ffffff2e,#0000,#45382829),var(--linen-texture),var(--linen);background-size:100% 100%,240px 240px,auto;transition:opacity var(--dur-slow) ease}.envelope-overlay[data-stage=open]{opacity:0;pointer-events:none}.linen-deco{position:absolute;width:min(42vw,240px);height:auto;pointer-events:none;opacity:0;animation:fade-in-soft .9s ease .1s forwards}.linen-deco--tl{top:-4px;left:-4px}.linen-deco--tr{top:-4px;right:-4px;scale:-1 1}.linen-deco--br{bottom:-4px;right:-4px;rotate:180deg}.linen-deco--bl{bottom:-4px;left:-4px;scale:1 -1;width:min(30vw,170px)}.envelope-scene{position:relative;display:flex;flex-direction:column;align-items:center;gap:1.4rem;width:100%;max-width:560px}.envelope-personal{display:flex;flex-direction:column;align-items:center;gap:.35rem}.envelope-guest-name{font-family:var(--script);color:var(--ink);text-align:center;font-size:clamp(1.9rem,10vw,2.8rem);line-height:1.1;max-width:min(88vw,340px);margin:0;overflow-wrap:break-word;opacity:0;animation:fade-in-soft var(--dur-slow) ease .1s forwards}.envelope-guest-subtitle{font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--ink-soft);text-align:center;max-width:min(88vw,320px);margin:0;opacity:0;animation:fade-in-soft var(--dur-slow) ease .25s forwards}.envelope-hint{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);text-align:center;margin:0}.envelope-hint .pulse-dot{display:inline-block;margin-left:.5em;color:var(--gold);font-size:.7em;animation:hint-pulse 1.8s ease-in-out infinite}.envelope-box{position:relative;width:100%;aspect-ratio:3 / 2;perspective:1400px;filter:drop-shadow(0 14px 22px rgba(69,56,40,.22)) drop-shadow(0 2px 3px rgba(69,56,40,.12))}.envelope-back{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;background:#f3eee5}.envelope-liner{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;background-color:#c3ccbb;background-image:radial-gradient(circle at 25% 30%,rgba(111,106,168,.35) 0 2.5px,transparent 3.5px),radial-gradient(circle at 70% 20%,rgba(255,255,255,.7) 0 2.5px,transparent 3.5px),radial-gradient(circle at 45% 65%,rgba(255,255,255,.7) 0 2px,transparent 3px),radial-gradient(circle at 85% 75%,rgba(111,106,168,.35) 0 2.5px,transparent 3.5px);background-size:46px 46px;z-index:1}.letter-card{position:absolute;left:12%;right:12%;top:18%;bottom:10%;border-radius:2px;background:var(--surface);box-shadow:0 8px 20px #45382840,0 0 0 1px var(--gold-line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;z-index:2;transition:transform var(--dur-slow) ease,opacity var(--dur-slow) ease}.letter-card:before{content:"";position:absolute;top:8%;right:6%;bottom:8%;left:6%;border:1px solid var(--gold-line)}.letter-card__initial{font-family:var(--script);font-size:clamp(2.2rem,12vw,3.2rem);line-height:1;color:var(--ink)}.letter-card__sprig{width:44%;height:auto}.envelope-overlay[data-stage=rising] .letter-card,.envelope-overlay[data-stage=open] .letter-card{transform:translateY(-150%);opacity:0;transition-delay:.05s}.envelope-flap{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none}.flap-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px}.envelope-flap--left{filter:drop-shadow(1px 0 1.5px rgba(69,56,40,.14))}.envelope-flap--left .flap-face{background:linear-gradient(95deg,#eee8dd,#f6f2ea 75%);clip-path:polygon(0% 0%,0% 100%,48% 54%)}.envelope-flap--right{filter:drop-shadow(-1px 0 1.5px rgba(69,56,40,.14))}.envelope-flap--right .flap-face{background:linear-gradient(265deg,#eee8dd,#f6f2ea 75%);clip-path:polygon(100% 0%,100% 100%,52% 54%)}.envelope-flap--bottom{filter:drop-shadow(0 -1px 2px rgba(69,56,40,.16))}.envelope-flap--bottom .flap-face{background:linear-gradient(0deg,#efe9de,#f7f3eb 85%);clip-path:polygon(0% 100%,100% 100%,50% 46%)}.envelope-flap--top{z-index:4;transform-origin:top center;transform:rotateX(0);filter:drop-shadow(0 3px 4px rgba(69,56,40,.2));transition:transform var(--dur-slow) cubic-bezier(.6,.05,.35,1)}.envelope-flap--top .flap-face{background:linear-gradient(180deg,#f9f6ef,#f1ebe0);clip-path:polygon(0% 0%,100% 0%,50% 61%)}.envelope-overlay[data-stage=opening] .envelope-flap--top,.envelope-overlay[data-stage=rising] .envelope-flap--top,.envelope-overlay[data-stage=open] .envelope-flap--top{transform:rotateX(-172deg)}.envelope-overlay[data-stage=rising] .envelope-flap--top,.envelope-overlay[data-stage=open] .envelope-flap--top{z-index:1}.envelope-bouquet{position:absolute;z-index:5;top:0;left:0;width:40%;height:auto;pointer-events:none;filter:drop-shadow(0 2px 2px rgba(69,56,40,.18))}.wax-seal{position:absolute;top:61%;left:50%;transform:translate(-50%,-50%);width:clamp(70px,21vw,92px);height:clamp(70px,21vw,92px);border:none;cursor:pointer;z-index:6;border-radius:48% 52% 47% 53%/53% 47%;background:radial-gradient(circle at 34% 28%,#f6e2a8,#dcb96a 28%,#bf9845 62%,#94702b);box-shadow:0 6px 12px #5e441861,inset 0 -4px 6px #5e3e1061,inset 0 3px 5px #fff6d699;display:flex;align-items:center;justify-content:center;padding:0;animation:seal-idle 2.6s ease-in-out infinite;transition:transform var(--dur-fast) ease,opacity var(--dur-fast) ease}.wax-seal:before{content:"";position:absolute;top:15%;right:15%;bottom:15%;left:15%;border-radius:50%;background:radial-gradient(circle at 40% 35%,#e9cc80,#caa250 70%,#b48a3b);box-shadow:inset 0 2px 4px #68481480,inset 0 -1px 2px #fff0c88c,0 1px #fff2ce8c}.wax-seal__initials{position:relative;font-family:var(--script);font-size:clamp(1.45rem,6.4vw,1.95rem);line-height:1;color:#7a5920;text-shadow:0 1px 0 rgba(255,238,190,.75),0 -1px 0 rgba(90,60,15,.35);white-space:nowrap;padding-top:.12em}.wax-seal:hover,.wax-seal:focus-visible{animation-play-state:paused;transform:translate(-50%,-50%) scale(1.05)}.wax-seal:focus-visible{outline:2px solid var(--gold-dark);outline-offset:3px}.envelope-overlay[data-stage=cracking] .wax-seal{animation:none;transform:translate(-50%,-50%) scale(1.2) rotate(-6deg);opacity:0;transition:transform .4s ease,opacity .4s ease .05s}.envelope-overlay[data-stage=opening] .wax-seal,.envelope-overlay[data-stage=rising] .wax-seal,.envelope-overlay[data-stage=open] .wax-seal{opacity:0;pointer-events:none}@keyframes seal-idle{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.045)}}@keyframes hint-pulse{0%,to{opacity:.35}50%{opacity:1}}@keyframes fade-in-soft{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.inv-hero{position:relative;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;padding:2.5rem var(--inv-gutter, 1.25rem) calc(1.2rem + env(safe-area-inset-bottom,0px));color:var(--ink);background:var(--linen-texture),var(--linen);background-size:240px 240px,auto}.inv-hero--photo{width:100vw;margin-left:calc(50% - 50vw);color:#fff;background:#3a322b;overflow:hidden}.inv-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}.inv-hero--photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#1e18141f,#1e181400 30%,#1e181459 55%,#1e1814a8)}.inv-hero-content{position:relative;z-index:1;width:100%;max-width:440px;display:flex;flex-direction:column;align-items:center;margin-bottom:1.4rem}.inv-hero-branch{width:120px;height:auto;margin-bottom:.7rem;color:currentColor;opacity:.95}.inv-hero-frame{width:100%;border:1px solid currentColor;border-bottom:none;padding:1rem .9rem 0}.inv-hero--photo .inv-hero-frame{border-color:#ffffffd9}.stationery .inv-hero-names{font-family:var(--serif);font-weight:500;color:inherit;text-transform:uppercase;letter-spacing:.12em;font-size:clamp(1.15rem,5.4vw,1.9rem);line-height:1.3;text-wrap:balance}.inv-hero--photo .inv-hero-names{text-shadow:0 1px 12px rgba(0,0,0,.35)}.inv-hero-names .inv-amp{font-weight:400;padding:0 .1em}.stationery .inv-hero-tag{display:flex;align-items:center;gap:.55em;margin:.8rem calc(-.9rem - 1px) 0;transform:translateY(50%);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}.inv-hero-tag:before,.inv-hero-tag:after{content:"";flex:1 1 0;min-width:10px;height:1px;background:currentColor}.inv-hero--photo .inv-hero-tag:before,.inv-hero--photo .inv-hero-tag:after{background:#ffffffd9}.inv-hero-tag>span[aria-hidden]{font-size:.75em}.inv-hero-tag-sep{opacity:.8}.hero-scroll-hint{position:relative;z-index:1;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:.25rem;opacity:.85}.hero-scroll-hint svg{width:16px;height:16px;animation:bob 1.6s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.inv-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:340px;margin:2.2rem auto 0}.countdown-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-width:0}.countdown-cell strong{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,8vw,2.3rem);line-height:1;font-variant-numeric:tabular-nums;color:inherit}.countdown-cell span{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:inherit;opacity:.9}.inv-section.inv-intro{text-align:center;padding-top:calc(min(30vw,170px)/.8);overflow:hidden}.inv-intro-bouquet{position:absolute;top:-6px;width:min(30vw,170px);height:auto;pointer-events:none}.inv-intro-bouquet--left{left:-6px}.inv-intro-bouquet--right{right:-6px}.stationery .inv-intro-title{font-size:clamp(2rem,9vw,2.7rem);color:var(--ink-soft);max-width:16ch;margin:0 auto .8rem}.stationery .inv-intro-names{font-size:clamp(3rem,15vw,4.6rem);line-height:1.05;margin:0}.inv-intro-names .inv-amp{font-family:var(--script);color:var(--gold);padding:0 .08em}.inv-intro-sprig{display:block;width:150px;height:auto;margin:.9rem auto .7rem}.stationery .inv-intro-date{font-size:.9rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin:0}.inv-section{position:relative;z-index:1;padding:3rem var(--inv-gutter, 1.25rem)}.stationery .inv-section-title{text-align:center;font-family:var(--script);font-weight:400;color:var(--ink);font-size:clamp(2.6rem,12vw,3.4rem);line-height:1.1;margin-bottom:0}.inv-section-intro{text-align:center;font-style:italic;color:var(--ink-soft);max-width:46ch;margin:0 auto 1.6rem}.timeline{display:flex;flex-direction:column;gap:2.4rem}.timeline-item{display:flex;flex-direction:column;gap:1rem;text-align:center}.timeline-item .arch-frame{width:min(70vw,260px);aspect-ratio:3 / 4;margin:0 auto}.timeline-date{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dark)}.timeline-item h3{font-size:1.3rem;margin:.1rem 0 .3rem}.timeline-item p{color:var(--ink-soft);margin:0}.fold{background:var(--surface);border:1px solid var(--gold-line);border-radius:6px;overflow:hidden;box-shadow:var(--shadow-soft);margin-top:1rem}.fold-trigger{width:100%;display:flex;align-items:center;gap:.9rem;background:none;border:none;padding:1.1rem 1.2rem;text-align:left;font:inherit;color:inherit;cursor:pointer;min-height:44px}.fold-trigger-text{flex:1;min-width:0}.fold-trigger-text h3{font-size:1.25rem;margin:0 0 .15rem}.fold-trigger-meta{font-size:.85rem;color:var(--ink-soft);overflow-wrap:anywhere}.fold-chevron{flex-shrink:0;width:20px;height:20px;color:var(--gold);transition:transform var(--dur-med) ease}.fold[data-open=true] .fold-chevron{transform:rotate(180deg)}.fold-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-med) ease}.fold[data-open=true] .fold-panel{grid-template-rows:1fr}.fold-panel-inner{min-height:0;overflow:hidden}.fold-preview{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.3rem}.fold-preview-icon{font-size:1.05rem;line-height:1}.fold-preview-swatch{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--surface);box-shadow:0 0 0 1px var(--gold-line)}.fold-body{padding:0 1.2rem 1.3rem}.venue-body{padding:0 1.2rem 1.3rem;display:flex;flex-direction:column;gap:1rem}.venue-body .arch-frame{width:min(60vw,220px);aspect-ratio:1;margin:0 auto}.venue-address{color:var(--ink-soft);font-size:.95rem}.venue-map{width:100%;aspect-ratio:16 / 10;border:0;border-radius:4px;box-shadow:inset 0 0 0 1px var(--gold-line)}.venue-actions{display:flex;flex-wrap:wrap;gap:.6rem}.inv-btn,.inv-btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:46px;padding:.6rem 1.5rem;border-radius:999px;font:inherit;font-size:.95rem;letter-spacing:.04em;cursor:pointer;text-decoration:none;text-align:center;border:1px solid var(--gold-dark);touch-action:manipulation;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-fast) ease}.inv-btn{background:var(--gold-dark);color:#fff}.inv-btn:active{transform:scale(.98)}.inv-btn-outline{background:transparent;color:var(--gold-dark)}.inv-btn:disabled,.inv-btn-outline:disabled{opacity:.55;cursor:default}.inv-btn svg,.inv-btn-outline svg{width:15px;height:15px;flex-shrink:0}@media (hover: hover){.inv-btn:hover{background:#6f5220}.inv-btn-outline:hover{background:#b38d4a1a}}.rsvp-panel{max-width:460px;margin:0 auto;text-align:center}.rsvp-deadline{font-size:.8rem;color:var(--gold-dark);letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.2rem}.rsvp-closed{background:var(--surface);border:1px dashed var(--gold-line);border-radius:6px;padding:1.2rem;color:var(--ink-soft)}.rsvp-thanks{background:var(--surface);border:1px solid var(--gold-line);border-radius:6px;padding:1.6rem 1.3rem;box-shadow:var(--shadow-soft)}.rsvp-thanks p{font-size:1.1rem;font-style:italic}.rsvp-thanks-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:.4rem}.rsvp-personal-note{font-style:italic;color:var(--gold-dark);font-size:1rem;margin:-.5rem 0 1.1rem}.rsvp-summary{background:var(--surface);border:1px solid var(--gold-line);border-radius:6px;padding:1.4rem 1.2rem;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;align-items:center;gap:1rem}.rsvp-summary p{font-size:1.05rem;font-style:italic;margin:0}.rsvp-seats-limit{text-align:center;font-size:.85rem;color:var(--ink-soft);font-style:italic;margin:0}.inv-personal-notice{max-width:460px;margin:-1rem auto 1.5rem;text-align:center;font-size:.85rem;font-style:italic;color:var(--ink-soft)}.rsvp-form{text-align:left;display:flex;flex-direction:column;gap:1.4rem}.attend-choice{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.attend-card{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.1rem .6rem;border-radius:6px;border:1px solid var(--gold-line);background:var(--surface);color:var(--ink);cursor:pointer;font:inherit;min-height:88px}.attend-card svg{width:26px;height:26px;color:var(--gold)}.attend-card[aria-pressed=true] svg{color:var(--sage-dark)}.attend-card[aria-pressed=true]{border-color:var(--sage-dark);background:#eef1ea;box-shadow:0 0 0 1px var(--sage-dark)}.field{display:flex;flex-direction:column;gap:.35rem}.field label,.field-label{font-size:.85rem;color:var(--ink-soft);letter-spacing:.02em}.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea,.rsvp-form input[type=text],.rsvp-form input[type=email],.rsvp-form input[type=tel],.rsvp-form textarea{font:inherit;font-size:16px;min-height:46px;padding:.55rem .8rem;border:1px solid var(--gold-line);border-radius:4px;background:var(--surface);color:var(--ink);width:100%}.rsvp-form input:focus-visible,.rsvp-form textarea:focus-visible{outline:2px solid rgba(179,141,74,.45);outline-offset:1px;border-color:var(--gold)}.rsvp-form textarea{resize:vertical;min-height:72px}.field-row{display:grid;grid-template-columns:1fr;gap:1rem}.segmented{display:flex;flex-wrap:wrap;gap:.4rem}.segmented button{flex:1 1 auto;min-height:44px;padding:.4rem .8rem;border-radius:999px;border:1px solid var(--gold-line);background:var(--surface);font:inherit;font-size:.88rem;cursor:pointer;color:var(--ink-soft);white-space:nowrap}.segmented button[aria-pressed=true]{background:var(--sage-dark);border-color:var(--sage-dark);color:#fff}.chip-set{display:flex;flex-wrap:wrap;gap:.45rem}.inv-chip-toggle{min-height:40px;padding:.3rem .85rem;border-radius:999px;border:1px solid var(--gold-line);background:var(--surface);font:inherit;font-size:.82rem;cursor:pointer;color:var(--ink-soft)}.inv-chip-toggle[aria-pressed=true]{background:var(--lavender);border-color:var(--lavender);color:#fff}.attendee-card{position:relative;background:var(--surface);border:1px solid var(--gold-line);border-radius:6px;padding:1.1rem 1rem;display:flex;flex-direction:column;gap:.9rem;scroll-margin-top:20px}.attendee-card-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.attendee-card-head h3{font-size:.85rem;color:var(--gold-dark);letter-spacing:.14em;text-transform:uppercase;margin:0}.attendee-remove{width:32px;height:32px;border-radius:50%;border:1px solid var(--gold-line);background:var(--surface);color:var(--ink-soft);cursor:pointer;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0}.attendees-list{display:flex;flex-direction:column;gap:1rem}.add-attendee{align-self:center}.form-error{color:#8a2b22;background:#8a2b2212;border:1px solid rgba(138,43,34,.25);border-radius:6px;padding:.7rem .9rem;font-size:.9rem;margin:0}.checkbox-row{display:flex;align-items:center;gap:.6rem;min-height:44px}.checkbox-row input{width:22px;height:22px;accent-color:var(--sage-dark);flex-shrink:0}.rules-grid{display:flex;flex-direction:column;gap:.8rem}.rule-card{display:flex;gap:.9rem;align-items:flex-start;background:var(--surface-soft);border:1px solid var(--gold-line);border-radius:6px;padding:1rem 1.1rem}.rule-icon{font-size:1.5rem;line-height:1}.rule-card h3{font-size:1.05rem;margin:0 0 .2rem}.rule-card p{color:var(--ink-soft);margin:0;font-size:.95rem}.dress-code{text-align:center}.dress-palette{display:flex;justify-content:center;gap:.7rem;margin-top:1rem}.dress-palette span{width:38px;height:38px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--gold-line)}.gift-panel{max-width:420px;margin:0 auto;text-align:center}.gift-card{background:var(--surface);border-radius:6px;border:1px solid var(--gold-line);box-shadow:var(--shadow-soft);padding:1.4rem 1.2rem;display:flex;flex-direction:column;align-items:center;gap:.7rem}.gift-iban{font-family:var(--serif);font-size:1.1rem;letter-spacing:.03em;background:var(--surface-soft);border-radius:4px;padding:.7rem .9rem;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.gift-holder{color:var(--ink-soft);font-size:.9rem;margin:0}.stationery .gift-closing{font-family:var(--script);font-size:2.1rem;line-height:1.2;color:var(--ink);text-align:center;margin:0;padding-top:2.8rem}.inv-footer{position:relative;z-index:1;text-align:center;padding:1rem var(--inv-gutter, 1.25rem) calc(5.5rem + env(safe-area-inset-bottom,0px))}.inv-footer-sprig{display:block;width:190px;height:auto;margin:0 auto -.4rem}.inv-footer-seal{position:relative;width:60px;height:60px;margin:0 auto 1rem;border-radius:48% 52% 47% 53%/53% 47%;background:radial-gradient(circle at 34% 28%,#f6e2a8,#dcb96a 28%,#bf9845 62%,#94702b);box-shadow:0 4px 8px #5e44184d,inset 0 -3px 4px #5e3e1059,inset 0 2px 4px #fff6d699;display:flex;align-items:center;justify-content:center}.inv-footer-seal:before{content:"";position:absolute;top:15%;right:15%;bottom:15%;left:15%;border-radius:50%;background:radial-gradient(circle at 40% 35%,#e9cc80,#caa250 70%,#b48a3b);box-shadow:inset 0 2px 3px #68481480,0 1px #fff2ce8c}.inv-footer-seal span{position:relative;font-family:var(--script);font-size:1.3rem;color:#7a5920;text-shadow:0 1px 0 rgba(255,238,190,.75);white-space:nowrap}.inv-footer a{font-size:.9rem}.inv-footer{overflow:hidden}.inv-footer-bouquet{position:absolute;bottom:-6px;width:min(26vw,150px);height:auto;pointer-events:none;z-index:-1}.inv-footer-bouquet--left{left:-6px;scale:1 -1}.inv-footer-bouquet--right{right:-6px;rotate:180deg}.inv-music-toggle{position:fixed;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:90;width:48px;height:48px;border-radius:50%;border:1px solid var(--gold-line);background:var(--surface);color:var(--gold-dark);font-size:1.1rem;box-shadow:var(--shadow-soft);cursor:pointer}.inv-add-calendar{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:.5rem}.add-calendar-menu{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}@media (min-width: 720px){.stationery{font-size:18px;--inv-gutter: 2rem}.stationery .letter{max-width:760px}.envelope-overlay{padding:6vh 6vw}.inv-hero-branch{width:150px}.inv-countdown{max-width:400px}.inv-section.inv-intro{padding-top:7rem}.inv-hero-content{max-width:600px}.inv-hero-bg{object-position:center 20%}.inv-footer-bouquet{width:180px}.inv-intro-bouquet{width:200px}.inv-section{padding:4.5rem var(--inv-gutter, 2rem)}.timeline{gap:3rem}.timeline-item{flex-direction:row;text-align:left;align-items:center;gap:2.2rem}.timeline-item:nth-child(2n){flex-direction:row-reverse;text-align:right}.timeline-item .arch-frame{width:260px;flex-shrink:0;margin:0}.timeline-item:nth-child(2n) .timeline-date{display:block}.venue-body{flex-direction:row;align-items:flex-start}.venue-body .arch-frame{width:220px;flex-shrink:0;margin:0}.venue-body-text{flex:1;min-width:0}.attend-choice{max-width:340px;margin:0 auto}.field-row{grid-template-columns:1fr 1fr}.rules-grid{display:grid;grid-template-columns:repeat(2,1fr)}}.inv-footer-song{margin-top:1.2rem;font-size:.8rem;font-style:italic;color:var(--ink-soft);overflow-wrap:anywhere}:root{--bg: #f7f3eb;--surface: #ffffff;--text: #45403b;--muted: #6f665d;--accent: #9c7a3c;--accent-dark: #856427;--border: #e3d9c8;--danger: #b3261e;--success-bg: #eef6ee;--radius: 10px;--gutter: 16px;--tap: 44px;--serif: Georgia, "Times New Roman", serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:hidden;-webkit-tap-highlight-color:transparent}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.2;overflow-wrap:anywhere}a{color:var(--accent-dark)}img{max-width:100%;display:block}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.error{color:var(--danger)}.notice{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;text-align:center}.notice.success{background:var(--success-bg)}.btn,.btn-secondary,.btn-danger{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);border:none;border-radius:999px;padding:.6rem 1.4rem;font:inherit;cursor:pointer;text-decoration:none;text-align:center;touch-action:manipulation}.btn{background:var(--accent);color:#fff}.btn:active{background:var(--accent-dark)}.btn:disabled,.btn.disabled{opacity:.6;cursor:default}.btn-secondary{background:transparent;color:var(--accent-dark);border:1px solid var(--accent)}.btn-danger{background:var(--danger);color:#fff}.btn-danger.small{min-height:32px;padding:.2rem .8rem;font-size:.8rem}.btn-link{background:none;border:none;color:var(--accent-dark);cursor:pointer;font:inherit;min-height:var(--tap);padding:0 .5rem;text-decoration:underline}.btn-link.danger{color:var(--danger)}.form{display:flex;flex-direction:column;gap:1rem}.form label{display:flex;flex-direction:column;gap:.3rem}.form label.checkbox,fieldset.choice label{flex-direction:row;align-items:center;gap:.6rem;min-height:var(--tap)}.form .btn{width:100%}.row{display:grid;grid-template-columns:1fr;gap:1rem}input,textarea,select{font:inherit;font-size:16px;min-height:var(--tap);padding:.6rem .8rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);width:100%}textarea{resize:vertical}input[type=checkbox],input[type=radio]{width:22px;height:22px;min-height:0;accent-color:var(--accent);flex-shrink:0}fieldset.choice{border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:.2rem;margin:0}.invitation{max-width:760px;margin:0 auto;padding:0 var(--gutter)}.hero{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1rem;padding:2rem 0}.hero h1{font-size:clamp(2.4rem,11vw,4.5rem);margin:0}.hero-kicker{letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.85rem}.hero-date{font-size:1.1rem;margin:0}.amp{color:var(--accent);display:block}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:1rem 0;width:100%;max-width:340px}.countdown div{display:flex;flex-direction:column;align-items:center}.countdown span{font-family:var(--serif);font-size:1.8rem;font-variant-numeric:tabular-nums}.countdown small{color:var(--muted);font-size:.8rem}.section{padding:2.5rem 0;border-top:1px solid var(--border)}.section h2{text-align:center;font-size:1.8rem;margin-top:0}.lead{font-size:1.15rem;text-align:center;font-family:var(--serif)}.cards{display:grid;grid-template-columns:1fr;gap:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.card h3{margin-top:0}.card-time{font-size:1.3rem;color:var(--accent-dark);margin:0}.card a{display:inline-flex;align-items:center;min-height:var(--tap)}.plain-list{list-style:none;padding:0}.iban{font-family:monospace;font-size:1rem;text-align:center;background:var(--surface);padding:.8rem;border-radius:var(--radius);border:1px dashed var(--border);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.footer{text-align:center;padding:2rem 0 calc(2.5rem + var(--safe-bottom));border-top:1px solid var(--border)}.add-calendar{display:flex;flex-direction:column;align-items:center;gap:.5rem}.add-calendar-options{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.section-nav{position:sticky;top:0;z-index:15;display:flex;gap:.3rem;overflow-x:auto;margin:0 calc(-1 * var(--gutter));padding:.4rem var(--gutter);background:var(--bg);border-bottom:1px solid var(--border);scrollbar-width:none;-webkit-overflow-scrolling:touch}.section-nav::-webkit-scrollbar{display:none}.section-nav a{flex-shrink:0;display:inline-flex;align-items:center;min-height:36px;padding:0 .9rem;border-radius:999px;text-decoration:none;color:var(--muted);font-size:.9rem;border:1px solid var(--border)}.section{scroll-margin-top:56px}.section h3{font-size:1.2rem;margin-bottom:.3rem}.story-photos{display:flex;gap:.6rem;overflow-x:auto;scroll-snap-type:x mandatory;margin:1.5rem calc(-1 * var(--gutter));padding:0 var(--gutter)}.story-photos img{flex:0 0 75%;aspect-ratio:4 / 5;object-fit:cover;border-radius:var(--radius);scroll-snap-align:center}.story-video{width:100%;border-radius:var(--radius);background:#000}.palette{display:flex;justify-content:center;gap:.8rem;margin:1.5rem 0 1rem}.palette span{width:44px;height:44px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--border)}.faq details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.5rem}.faq summary{cursor:pointer;padding:.8rem 1rem;min-height:var(--tap);font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:1.4rem;color:var(--accent)}.faq details[open] summary:after{content:"−"}.faq details p{margin:0;padding:0 1rem 1rem}.iban-box{display:flex;flex-direction:column;align-items:center;gap:.5rem}.iban-box .iban{width:100%;margin:0}.iban-box p.small{margin:0}.music-toggle{position:fixed;right:var(--gutter);bottom:calc(var(--gutter) + var(--safe-bottom));z-index:30;width:48px;height:48px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:1.2rem;box-shadow:0 4px 12px #0003;cursor:pointer}.wall-page{max-width:720px;margin:0 auto;padding:1rem 0 calc(6rem + var(--safe-bottom))}.page-header{text-align:center;margin-bottom:1rem;padding:0 var(--gutter)}.page-header h1{font-size:1.8rem;margin:.3rem 0}.page-header a{display:inline-flex;align-items:center;min-height:var(--tap)}.wall-page .notice{margin:0 var(--gutter) 1rem}.fab-upload{position:fixed;left:var(--gutter);right:var(--gutter);bottom:calc(var(--gutter) + var(--safe-bottom));z-index:20;min-height:52px;font-size:1.05rem;box-shadow:0 4px 16px #00000040}.feed{display:flex;flex-direction:column;gap:.8rem}.post{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.post-header{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 .6rem;padding:.7rem var(--gutter) 0}.post-header .btn-link{margin-left:auto;min-height:32px}.post-message{margin:.3rem 0 0;padding:0 var(--gutter);white-space:pre-line;overflow-wrap:anywhere}.post-media{display:grid;gap:2px;margin-top:.6rem}.post-media.count-1{grid-template-columns:1fr}.post-media.count-2{grid-template-columns:1fr 1fr}.post-media.count-3{grid-template-columns:repeat(3,1fr)}.post-media-item{position:relative}.media-tile{position:relative;display:block;width:100%;aspect-ratio:1;padding:0;border:none;background:#eee;cursor:zoom-in;overflow:hidden}.post-media.count-1 .media-tile{aspect-ratio:4 / 3}.media-tile img,.media-tile video{width:100%;height:100%;object-fit:cover;pointer-events:none}.play-badge{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0000008c;color:#fff;font-size:1.2rem}.tile-delete{position:absolute;top:6px;right:6px;width:36px;height:36px;border-radius:50%;border:none;background:#b3261ee6;color:#fff;font-size:1rem;cursor:pointer}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:100;display:flex;flex-direction:column;padding:env(safe-area-inset-top,0px) 0 var(--safe-bottom);touch-action:pan-y}.lightbox-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.lightbox-stage img,.lightbox-stage video{max-width:100%;max-height:100%;object-fit:contain}.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:64px;border:none;background:#00000059;color:#fff;font-size:2rem;cursor:pointer;display:none}.lightbox-arrow.left{left:0;border-radius:0 8px 8px 0}.lightbox-arrow.right{right:0;border-radius:8px 0 0 8px}.lightbox-bar{display:flex;gap:.8rem;align-items:center;color:#fff;padding:.3rem var(--gutter)}.lightbox-caption{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lightbox-bar a,.lightbox-bar button{color:#fff;background:none;border:none;font:inherit;cursor:pointer;text-decoration:underline;min-height:var(--tap);display:inline-flex;align-items:center;padding:0 .3rem}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#00000073;display:flex;align-items:flex-end}.sheet{width:100%;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border-radius:16px 16px 0 0;padding:.5rem var(--gutter) calc(1rem + var(--safe-bottom))}.sheet h2{margin:.3rem 0 0;text-align:center;font-size:1.4rem}.sheet-handle{width:40px;height:4px;border-radius:2px;background:var(--border);margin:0 auto}.file-pick{cursor:pointer;width:100%;min-height:52px}.sheet .muted.small{margin:-.5rem 0 0}.picked{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem;max-height:35dvh;overflow-y:auto}.picked li{display:flex;align-items:center;gap:.6rem}.picked img,.picked-icon{width:48px;height:48px;object-fit:cover;border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg);font-size:1.4rem}.picked-name{flex:1;min-width:0;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picked-name small{display:block;color:var(--muted)}.picked li.has-error .picked-name small{color:var(--danger)}.progress{position:relative;height:32px;border-radius:8px;background:var(--bg);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:.9rem}.progress-bar{position:absolute;inset:0 auto 0 0;background:#e3d5c2;transition:width .2s}.progress span{position:relative}.sheet-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:.6rem}.sheet .btn{width:100%}.error ul{margin:.3rem 0 0;padding-left:1.2rem;font-size:.85rem}.login{min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:var(--gutter)}.login .card{width:100%;max-width:380px}.login h1{margin:0;text-align:center}.admin-top{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:env(safe-area-inset-top,0px) var(--gutter) 0;min-height:48px;background:var(--surface);border-bottom:1px solid var(--border)}.admin-tabs{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);background:var(--surface);border-top:1px solid var(--border);padding-bottom:var(--safe-bottom)}.admin-tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;min-height:56px;text-decoration:none;color:var(--muted);font-size:.72rem}.admin-tabs a.active{color:var(--accent-dark);font-weight:600}.tab-icon{position:relative;font-size:1.3rem;line-height:1}.badge{position:absolute;top:-6px;right:-12px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--danger);color:#fff;font-size:.68rem;font-weight:700;display:flex;align-items:center;justify-content:center}.badge.inline{position:static;display:inline-flex;vertical-align:middle}.admin-main{max-width:1300px;margin:0 auto;padding:.5rem var(--gutter) calc(80px + var(--safe-bottom))}.admin-main h1{font-size:1.6rem}.admin-main h2{font-size:1.3rem}.panel-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.panel-actions{display:flex;gap:.5rem}.text-warning{color:#a15c00}.text-danger{color:var(--danger)}.block{display:block}.spacer{flex:1}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1.2rem}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem;text-align:center}.stat span{display:block;font-size:1.6rem;font-family:var(--serif)}.stat small{color:var(--muted);font-size:.8rem}.toolbar{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.8rem}.toolbar input{grid-column:1 / -1}.toolbar .btn,.toolbar .btn-secondary{padding-left:.8rem;padding-right:.8rem}.chip-row{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.3rem;margin-bottom:.4rem;scrollbar-width:none}.chip-row.compact{flex-wrap:wrap;overflow:visible;margin:.3rem 0 0}.chip{flex-shrink:0;display:inline-flex;align-items:center;min-height:32px;padding:0 .8rem;border-radius:999px;border:1.5px solid;background:transparent;font:inherit;font-size:.85rem;cursor:pointer;white-space:nowrap}span.chip{min-height:22px;padding:0 .6rem;font-size:.75rem;cursor:default}.plain-fieldset{border:none;padding:0;margin:0}.plain-fieldset legend{padding:0;margin-bottom:.3rem}.tag-list{list-style:none;padding:0;margin:0}.tag-list li{display:flex;align-items:center;gap:.3rem;border-bottom:1px solid var(--border);min-height:var(--tap)}.color-row{display:flex;flex-wrap:wrap;gap:.6rem}.color-dot{width:36px;height:36px;border-radius:50%;border:3px solid var(--surface);box-shadow:0 0 0 1px var(--border);cursor:pointer}.color-dot.selected{box-shadow:0 0 0 3px var(--text)}.guests-table,.guests-table tbody{display:block}.guests-table thead{display:none}.guests-table tr{display:grid;grid-template-columns:1fr 1fr;gap:.2rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem;margin-bottom:.6rem}.guests-table td{display:block;padding:0;border:none;font-size:.9rem;min-width:0;overflow-wrap:anywhere}.guests-table td[data-label]:before{content:attr(data-label) ": ";color:var(--muted)}.guests-table td.empty{display:none}.guests-table .cell-name,.guests-table td[data-label=Dieta],.guests-table td[data-label=Contacto],.guests-table .actions{grid-column:1 / -1}.guests-table .cell-name{font-size:1rem;margin-bottom:.3rem}.guests-table .actions{display:flex;justify-content:flex-end;gap:.5rem;border-top:1px solid var(--border);margin-top:.4rem;padding-top:.2rem}.guests-table td[colspan]{grid-column:1 / -1}.guests-table tr.row-declined{color:var(--muted)}.unseated{margin-bottom:1rem;border-color:#e8c58a;background:#fffaf0}.unseated h2{margin:0 0 .5rem}.tables-grid{display:grid;grid-template-columns:1fr;gap:.8rem}.table-card header{display:flex;justify-content:space-between;align-items:baseline}.table-card h3{margin:0}.table-card footer{display:flex;justify-content:flex-end;border-top:1px solid var(--border);margin-top:.5rem}.table-card.over{border-color:var(--danger)}.meter{height:6px;border-radius:3px;background:var(--bg);margin:.5rem 0;overflow:hidden}.meter div{height:100%;background:var(--accent)}.table-card.over .meter div{background:var(--danger)}.seat-list{list-style:none;padding:0;margin:0}.seat-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.3rem 0;border-bottom:1px solid var(--border)}.seat-list li:last-child{border-bottom:none}.seat-select{width:auto;max-width:45%;min-height:38px;padding:.3rem .5rem;font-size:16px}.print-only{display:none}.qr-grid{display:grid;grid-template-columns:1fr;gap:1rem}.qr-card{text-align:center}.qr-card h2{margin-top:0}.qr-card img,.qr-placeholder{width:100%;max-width:280px;aspect-ratio:1;margin:0 auto;background:var(--bg)}.qr-url{overflow-wrap:anywhere}.qr-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.attention{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.alert{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .8rem;border-radius:var(--radius);border:1px solid;min-height:var(--tap)}.alert.warning{background:#fff6e5;border-color:#e8c58a}.alert.info{background:#eef3fa;border-color:#b9cbe4}.alert a{white-space:nowrap}.reminder-list{list-style:none;padding:0;margin:.5rem 0 1rem}.reminder-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.4rem .6rem;margin-bottom:.4rem;flex-wrap:wrap}.reminder-list li.done>label>span{text-decoration:line-through;color:var(--muted)}.reminder-list .checkbox{display:flex;align-items:flex-start;gap:.6rem;min-height:var(--tap);padding-top:.6rem;flex:1;min-width:60%}.reminder-actions{display:flex;margin-left:auto}.done-reminders summary{cursor:pointer;min-height:var(--tap);display:flex;align-items:center;color:var(--muted)}.activity{list-style:none;padding:0;margin:.5rem 0}.activity li{display:flex;gap:.7rem;padding:.6rem 0;border-bottom:1px solid var(--border)}.activity li.unread{background:#fbf3e8;margin:0 calc(-1 * var(--gutter));padding-left:var(--gutter);padding-right:var(--gutter)}.activity p{margin:0}.activity-icon{font-size:1.2rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:50;overflow-y:auto;overscroll-behavior:contain}.modal{background:var(--surface);min-height:100%;width:100%;padding:calc(1.2rem + env(safe-area-inset-top,0px)) var(--gutter) calc(1.2rem + var(--safe-bottom))}.modal h2{margin:0}.modal-actions{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:.6rem;background:var(--surface);padding:.6rem 0 var(--safe-bottom)}.modal-actions .btn,.modal-actions .btn-secondary{width:100%}@media (hover: hover){.btn:hover{background:var(--accent-dark)}.lightbox-arrow{display:block}}@media (min-width: 600px){.row{grid-template-columns:1fr 1fr}.form .btn{width:auto;align-self:flex-start}fieldset.choice{flex-direction:row;gap:1.5rem}.amp{display:inline}.countdown{gap:1.2rem}.countdown span{font-size:2.2rem}.section{padding:3.5rem 0}.section h2{font-size:2rem}.section-nav{justify-content:center}.cards{grid-template-columns:repeat(2,1fr)}.story-photos{overflow:visible;margin:1.5rem 0;padding:0}.story-photos img{flex:1 1 0;min-width:0}.wall-page{padding-top:1.5rem}.post{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.fab-upload{left:50%;right:auto;transform:translate(-50%);padding:0 2rem}.sheet-backdrop{align-items:center;justify-content:center}.sheet{max-width:520px;border-radius:16px}.sheet .btn{width:100%;align-self:auto}.stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.toolbar{display:flex;flex-wrap:wrap}.toolbar input{flex:1;min-width:200px}.toolbar select{width:auto}.tables-grid,.qr-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.modal-backdrop{display:flex;align-items:flex-start;justify-content:center;padding:2rem var(--gutter)}.modal{min-height:0;max-width:640px;border-radius:var(--radius);padding:1.5rem}.modal-actions{position:static;display:flex;justify-content:flex-end}.modal-actions .btn,.modal-actions .btn-secondary{width:auto}}@media (min-width: 900px){.admin-tabs{position:sticky;top:48px;bottom:auto;display:flex;justify-content:center;gap:.5rem;border-top:none;border-bottom:1px solid var(--border);padding:0}.admin-tabs a{flex-direction:row;gap:.4rem;min-height:48px;padding:0 1rem;font-size:.95rem}.tab-icon{font-size:1rem}.admin-main{padding-bottom:3rem}.guests-table{display:table;width:100%;border-collapse:collapse;font-size:.92rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.guests-table thead{display:table-header-group}.guests-table tbody{display:table-row-group}.guests-table tr{display:table-row;padding:0;margin:0;border:none;background:none}.guests-table td,.guests-table th{display:table-cell;padding:.6rem .8rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.guests-table th{background:var(--bg);font-weight:600;white-space:nowrap}.guests-table td[data-label]:before{content:none}.guests-table td.empty{display:table-cell}.guests-table .cell-name{font-size:inherit;margin:0}.guests-table .actions{display:table-cell;border-top:none;margin:0;white-space:nowrap}}@media print{.admin-top,.admin-tabs,.no-print,.music-toggle{display:none!important}.print-only{display:inline}body{background:#fff}.admin-main{padding:0;max-width:none}.tables-grid{grid-template-columns:repeat(2,1fr)}.table-card{break-inside:avoid}}.admin-tabs{grid-template-columns:repeat(6,1fr)}.admin-tabs a{font-size:.62rem;padding:0 .1rem}.admin-tabs .tab-icon{font-size:1.15rem}@media (min-width: 900px){.admin-tabs a{font-size:.95rem;padding:0 1rem}.admin-tabs .tab-icon{font-size:1rem}}.attendee-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.15rem}.attendee-list li{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;font-size:.85rem;color:var(--muted)}.attendee-list li.primary{font-size:1rem;color:var(--text);font-weight:600}.mini-badge{font-size:.85rem;line-height:1;cursor:default}.diet-chip{border-color:var(--border);color:var(--text);cursor:default}.chip-toggle{border-color:var(--border);color:var(--text);background:var(--surface)}.chip-toggle.active{background:var(--accent);border-color:var(--accent);color:#fff}.guests-table td[data-label=Necesidades]{grid-column:1 / -1}.guests-table td[data-label=Necesidades].empty{display:none}.subsection-list{display:flex;flex-direction:column;gap:.8rem;margin-bottom:.8rem}.subitem-fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:.8rem;display:flex;flex-direction:column;gap:.7rem;margin:0}.subitem-fieldset legend{padding:0 .3rem;color:var(--muted);font-size:.85rem}.subitem-actions{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:flex-end;border-top:1px solid var(--border);padding-top:.4rem}.content-panel{padding-bottom:calc(70px + var(--safe-bottom))}@media (min-width: 900px){.content-panel{padding-bottom:1rem}}.content-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.6rem;padding:0 1rem}.content-section summary{cursor:pointer;padding:.9rem 0;min-height:var(--tap);font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-family:var(--serif);font-size:1.05rem}.content-section summary::-webkit-details-marker{display:none}.content-section summary:after{content:"+";font-size:1.4rem;color:var(--accent);flex-shrink:0}.content-section[open] summary:after{content:"−"}.content-section>*:not(summary){margin-top:.9rem}.content-section>.form-row:last-child,.content-section>label:last-child{margin-bottom:.9rem}.content-restore{text-align:center;margin:.8rem 0}.image-field{display:flex;flex-direction:column;gap:.4rem}.image-field-label{font-size:.9rem}.image-field-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.image-field-thumb{width:72px;height:72px;border-radius:8px;object-fit:cover;background:var(--bg);border:1px solid var(--border);flex-shrink:0}.image-field-empty{display:flex;align-items:center;justify-content:center;text-align:center;font-size:.7rem;color:var(--muted);padding:.2rem}.image-field-btn{cursor:pointer}.palette-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.palette-item{display:flex;align-items:center;gap:.2rem}.palette-item input[type=color]{width:44px;height:44px;min-height:0;padding:2px;border-radius:50%;cursor:pointer}.save-bar{position:fixed;left:0;right:0;bottom:calc(56px + var(--safe-bottom));z-index:41;display:flex;align-items:center;justify-content:space-between;gap:.8rem;background:var(--surface);border-top:1px solid var(--border);padding:.6rem var(--gutter)}.save-bar .btn{flex-shrink:0}.save-status{font-size:.85rem;overflow-wrap:anywhere}.save-pending{color:#a15c00}.save-ok{color:#2e7d5b}@media (min-width: 900px){.save-bar{position:sticky;bottom:0;border-radius:var(--radius) var(--radius) 0 0}}.audio-field{display:flex;flex-direction:column;gap:.6rem}.audio-field-player{width:100%}.audio-field-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.audio-field-actions .btn-secondary{cursor:pointer}.invitation-badge{display:block;margin-bottom:.2rem}.invitation-grid{display:grid;grid-template-columns:1fr;gap:.8rem;margin-bottom:1rem}.invitation-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.invitation-card-header h3{margin:0;font-size:1.05rem;overflow-wrap:anywhere}.invitation-phone{margin:.2rem 0}.invitation-phone a{display:inline-flex;align-items:center;min-height:32px}.invitation-notes{white-space:pre-line;overflow-wrap:anywhere}.invitation-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem;border-top:1px solid var(--border);padding-top:.5rem}.invitation-actions .btn,.invitation-actions .btn-secondary{flex:1 1 auto;min-width:140px}.invitation-actions .btn-link{flex-shrink:0}.status-pill{display:inline-flex;align-items:center;min-height:24px;padding:.15rem .7rem;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap;flex-shrink:0}.status-draft{background:var(--bg);color:var(--muted);border:1px solid var(--border)}.status-sent{background:#eef3fa;color:#3b5c85}.status-opened{background:#fff6e5;color:#a15c00}.status-confirmed{background:var(--success-bg);color:#2e7d5b}.status-declined{background:#fbeceb;color:var(--danger)}.status-chip.status-draft{border-color:var(--border);color:var(--muted)}.status-chip.status-sent{border-color:#b9cbe4;color:#3b5c85}.status-chip.status-opened{border-color:#e8c58a;color:#a15c00}.status-chip.status-confirmed{border-color:#8fcbb0;color:#2e7d5b}.status-chip.status-declined{border-color:#e7b3af;color:var(--danger)}.status-chip.active.status-draft{background:var(--muted);border-color:var(--muted);color:#fff}.status-chip.active.status-sent{background:#3b5c85;border-color:#3b5c85;color:#fff}.status-chip.active.status-opened{background:#a15c00;border-color:#a15c00;color:#fff}.status-chip.active.status-confirmed{background:#2e7d5b;border-color:#2e7d5b;color:#fff}.status-chip.active.status-declined{background:var(--danger);border-color:var(--danger);color:#fff}.field-hint{margin-top:-.6rem}.import-result{margin-top:.3rem}.import-errors{margin:.5rem 0 0;padding-left:1.2rem;color:var(--danger);font-size:.85rem}.template-preview{margin-bottom:.5rem}.whatsapp-preview{background:#dcf3d9;border-radius:8px;padding:.6rem .8rem;white-space:pre-line;overflow-wrap:anywhere;font-size:.9rem;margin:.3rem 0 0}.template-save-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.qr-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.qr-section h1{font-size:1.3rem}@media (min-width: 600px){.invitation-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}
